53static void drawLS_oct2(
void) {
55 rasterClearTestRegion(0, 0, 16, 16);
57 rasterFlushPrimitive();
61static void drawLS_oct3(
void) {
63 rasterClearTestRegion(0, 0, 16, 16);
65 rasterFlushPrimitive();
69static void drawLS_oct4(
void) {
71 rasterClearTestRegion(0, 0, 16, 8);
73 rasterFlushPrimitive();
77static void drawLS_oct5(
void) {
79 rasterClearTestRegion(0, 0, 16, 16);
81 rasterFlushPrimitive();
85static void drawLS_oct6(
void) {
87 rasterClearTestRegion(0, 0, 16, 16);
89 rasterFlushPrimitive();
93static void drawLS_oct7(
void) {
95 rasterClearTestRegion(0, 0, 16, 16);
97 rasterFlushPrimitive();
101static void drawLS_oct8(
void) {
103 rasterClearTestRegion(0, 0, 16, 8);
105 rasterFlushPrimitive();
109static void drawLR_horiz(
void) {
111 rasterClearTestRegion(0, 0, 16, 8);
113 rasterFlushPrimitive();
117static void drawLR_vert(
void) {
119 rasterClearTestRegion(0, 0, 8, 16);
121 rasterFlushPrimitive();
127static void drawLC_right(
void) {
129 rasterClearTestRegion(0, 0, 24, 8);
130 setDrawingArea(0, 0, 12, 8);
132 rasterFlushPrimitive();
139static void drawLC_bottom(
void) {
141 rasterClearTestRegion(0, 0, 8, 24);
142 setDrawingArea(0, 0, 8, 12);
144 rasterFlushPrimitive();
150static void drawLZ_at(int16_t x, int16_t y) {
152 rasterClearTestRegion(0, 0, 32, 16);
154 rasterFlushPrimitive();
158static void drawLG(
void) {
160 rasterClearTestRegion(0, 0, 16, 8);
163 rasterFlushPrimitive();
168static void drawLP(
void) {
170 rasterClearTestRegion(0, 0, 16, 16);
175 rasterFlushPrimitive();
179static void drawLST(
void) {
183 rasterFlushPrimitive();
318CESTER_TEST(lr_horiz_start_10_5, gpu_raster_phase10,
354CESTER_TEST(lc_right_just_inside_edge_11, gpu_raster_phase10,
359CESTER_TEST(lc_right_clipped_15, gpu_raster_phase10,
369CESTER_TEST(lc_bottom_just_inside_edge_11, gpu_raster_phase10,
373CESTER_TEST(lc_bottom_clipped_15, gpu_raster_phase10,
386CESTER_TEST(lz_at_origin_neighbor, gpu_raster_phase10,
422CESTER_TEST(lp_first_segment_start, gpu_raster_phase10,
426CESTER_TEST(lp_first_segment_mid, gpu_raster_phase10,
435CESTER_TEST(lp_second_segment_mid, gpu_raster_phase10,
439CESTER_TEST(lp_second_segment_end, gpu_raster_phase10,
457CESTER_TEST(lst_neighbor_unblended, gpu_raster_phase10,
CESTER_BODY(static int s_got40;static int s_got80;static uint32_t s_cause;static uint32_t s_epc;static uint32_t s_from;static uint32_t *s_resume;static uint32_t *s_regs;static uint32_t(*s_customhandler)()=NULL;static uint32_t s_oldIMASK;static uint32_t s_oldDPCR;static uint32_t s_oldDICR;uint32_t handler(uint32_t *regs, uint32_t from) { if(from==0x40) s_got40=1;if(from==0x80) s_got80=1;uint32_t cause;uint32_t epc;s_from=from;asm("mfc0 %0, $13\nnop\nmfc0 %1, $14\nnop" :"=r"(cause), "=r"(epc));s_cause=cause;s_epc=epc;if(s_customhandler) { return s_customhandler();} else { return s_resume ?((uint32_t) s_resume) :(epc+4);} } void installExceptionHandlers(uint32_t(*handler)(uint32_t *regs, uint32_t from));void uninstallExceptionHandlers();uint32_t branchbranch1();uint32_t branchbranch2();uint32_t jumpjump1();uint32_t jumpjump2();uint32_t cpu_LWR_LWL_half(uint32_t buff[], uint32_t initial);uint32_t cpu_LWR_LWL_nodelay(uint32_t buff[], uint32_t initial);uint32_t cpu_LWR_LWL_delayed(uint32_t buff[], uint32_t initial);uint32_t cpu_LWR_LWL_load_different(uint32_t buff[], uint32_t initial);uint32_t cpu_LW_LWR(uint32_t buff[], uint32_t initial);uint32_t cpu_delayed_load(uint32_t buff[], uint32_t override);uint32_t cpu_delayed_load_cancelled(uint32_t buff[], uint32_t override);uint64_t cpu_delayed_load_load(uint32_t buff[], uint32_t override);uint32_t linkandload();uint32_t lwandlink();uint32_t nolink();static int s_interruptsWereEnabled;) CESTER_BEFORE_EACH(cpu_tests
CESTER_TEST(cpu_cop0_basic_write_bp, cpu_tests, uint32_t expectedEPC;uint32_t t;volatile uint32_t *ptr=(volatile uint32_t *) 0x58; *ptr=1;__asm__ volatile("" " lui %0, 0b1100101010000000\n" " mtc0 %0, $7\n" " li %0, 0x58\n" " mtc0 %0, $5\n" " li %0, 0xfffffff0\n" " mtc0 %0, $9\n" :"=r"(t));cester_assert_uint_eq(1, *ptr);__asm__ volatile("la %0, 1f\n1:\nsw $0, 0x58($0)" :"=r"(expectedEPC));__asm__ volatile("mtc0 $0, $7\n");cester_assert_uint_eq(0, *ptr);cester_assert_uint_eq(1, s_got40);cester_assert_uint_eq(0, s_got80);cester_assert_uint_eq(0x40, s_from);cester_assert_uint_eq(expectedEPC, s_epc);) CESTER_TEST(cpu_cop0_kseg_write_bp
#define LS_OCT2_END
Definition raster-expected-phase10.h:47
#define LS_OCT7_MID
Definition raster-expected-phase10.h:68
#define LC_RIGHT_JUST_INSIDE
Definition raster-expected-phase10.h:85
#define LS_OCT3_END
Definition raster-expected-phase10.h:52
#define LS_OCT6_MID
Definition raster-expected-phase10.h:64
#define LS_OCT5_END
Definition raster-expected-phase10.h:60
#define LS_OCT3_MID
Definition raster-expected-phase10.h:51
#define LG_START
Definition raster-expected-phase10.h:95
#define LS_OCT6_END
Definition raster-expected-phase10.h:65
#define LR_VERT_END
Definition raster-expected-phase10.h:81
#define LST_MID
Definition raster-expected-phase10.h:110
#define LS_OCT5_MID
Definition raster-expected-phase10.h:59
#define LP_END
Definition raster-expected-phase10.h:100
#define LS_OCT4_MID
Definition raster-expected-phase10.h:55
#define LS_OCT2_Y5_X1
Definition raster-expected-phase10.h:45
#define LS_OCT2_Y5_X2
Definition raster-expected-phase10.h:46
#define LS_OCT4_END
Definition raster-expected-phase10.h:56
#define LG_MID
Definition raster-expected-phase10.h:96
#define LC_BOTTOM_JUST_INSIDE
Definition raster-expected-phase10.h:86
#define LS_OCT8_END
Definition raster-expected-phase10.h:74
#define LR_HORIZ_END
Definition raster-expected-phase10.h:80
#define LS_OCT8_MID
Definition raster-expected-phase10.h:73
#define LG_END
Definition raster-expected-phase10.h:97
#define LS_OCT7_END
Definition raster-expected-phase10.h:69
#define RASTER_VRAM_GREEN
Definition raster-helpers.h:126
#define RASTER_DRAW_AREA_Y2
Definition raster-helpers.h:69
#define RASTER_VRAM_BLUE
Definition raster-helpers.h:128
#define RASTER_VRAM_WHITE
Definition raster-helpers.h:130
#define RASTER_DRAW_AREA_X1
Definition raster-helpers.h:66
#define ASSERT_PIXEL_UNTOUCHED(x_, y_)
Definition raster-helpers.h:485
#define RASTER_DRAW_AREA_Y1
Definition raster-helpers.h:67
#define RASTER_VRAM_RED
Definition raster-helpers.h:124
#define RASTER_CMD_BLUE
Definition raster-helpers.h:127
#define RASTER_CMD_RED
Definition raster-helpers.h:123
#define RASTER_CMD_WHITE
Definition raster-helpers.h:129
#define RASTER_CMD_GREEN
Definition raster-helpers.h:125
#define ASSERT_PIXEL_EQ(expected, x_, y_)
Definition raster-helpers.h:472
#define RASTER_DRAW_AREA_X2
Definition raster-helpers.h:68