50static void drawAQ_AXIS_BASE(
void) {
52 rasterClearTestRegion(0, 0, 24, 16);
54 setTextureWindow(0, 0, 0, 0);
61 rasterFlushPrimitive();
70static void drawAQ_TWIST_90(
void) {
72 rasterClearTestRegion(0, 0, 24, 20);
74 setTextureWindow(0, 0, 0, 0);
81 rasterFlushPrimitive();
89static void drawAQ_TRAPEZOID(
void) {
91 rasterClearTestRegion(0, 0, 32, 20);
93 setTextureWindow(0, 0, 0, 0);
100 rasterFlushPrimitive();
109static void drawAQ_SKEW_NP(
void) {
111 rasterClearTestRegion(0, 0, 32, 24);
113 setTextureWindow(0, 0, 0, 0);
120 rasterFlushPrimitive();
128static void drawAQ_COMPRESS_UV(
void) {
130 rasterClearTestRegion(0, 0, 32, 24);
132 setTextureWindow(0, 0, 0, 0);
139 rasterFlushPrimitive();
163CESTER_TEST(aq_axis_base_20_5_v1_excluded, gpu_raster_phase17,
182CESTER_TEST(aq_twist_90_12_8_near_seam, gpu_raster_phase17,
187CESTER_TEST(aq_twist_90_12_11_near_seam, gpu_raster_phase17,
235CESTER_TEST(aq_skew_np_18_12_seam, gpu_raster_phase17,
244CESTER_TEST(aq_compress_uv_10_8, gpu_raster_phase17,
245 drawAQ_COMPRESS_UV();
249CESTER_TEST(aq_compress_uv_20_15, gpu_raster_phase17,
250 drawAQ_COMPRESS_UV();
254CESTER_TEST(aq_compress_uv_15_10, gpu_raster_phase17,
255 drawAQ_COMPRESS_UV();
259CESTER_TEST(aq_compress_uv_29_21, gpu_raster_phase17,
260 drawAQ_COMPRESS_UV();
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 EXPECT_AQ_SKEW_NP_10_15
Definition raster-expected-phase17.h:211
#define EXPECT_AQ_COMPRESS_UV_20_15
Definition raster-expected-phase17.h:220
#define EXPECT_AQ_AXIS_BASE_20_5
Definition raster-expected-phase17.h:182
#define EXPECT_AQ_TWIST_90_15_13
Definition raster-expected-phase17.h:190
#define EXPECT_AQ_TWIST_90_8_10
Definition raster-expected-phase17.h:189
#define EXPECT_AQ_TRAPEZOID_14_13
Definition raster-expected-phase17.h:200
#define EXPECT_AQ_SKEW_NP_15_14
Definition raster-expected-phase17.h:210
#define EXPECT_AQ_TRAPEZOID_12_8
Definition raster-expected-phase17.h:199
#define EXPECT_AQ_TRAPEZOID_8_15
Definition raster-expected-phase17.h:201
#define EXPECT_AQ_TWIST_90_12_11
Definition raster-expected-phase17.h:192
#define EXPECT_AQ_AXIS_BASE_15_10
Definition raster-expected-phase17.h:180
#define EXPECT_AQ_COMPRESS_UV_10_8
Definition raster-expected-phase17.h:219
#define EXPECT_AQ_TWIST_90_12_8
Definition raster-expected-phase17.h:191
#define EXPECT_AQ_COMPRESS_UV_29_21
Definition raster-expected-phase17.h:222
#define EXPECT_AQ_COMPRESS_UV_15_10
Definition raster-expected-phase17.h:221
#define EXPECT_AQ_AXIS_BASE_5_14
Definition raster-expected-phase17.h:181
#define EXPECT_AQ_SKEW_NP_18_12
Definition raster-expected-phase17.h:212
#define EXPECT_AQ_TRAPEZOID_20_15
Definition raster-expected-phase17.h:202
#define EXPECT_AQ_AXIS_BASE_8_8
Definition raster-expected-phase17.h:179
#define EXPECT_AQ_SKEW_NP_12_10
Definition raster-expected-phase17.h:209
#define TEX17_TY
Definition texture-fixture-phase17.h:58
#define TEX17_TPAGE
Definition texture-fixture-phase17.h:65
#define TEX17_TX
Definition texture-fixture-phase17.h:57
#define PHASE17_ASSERT_PIXEL_EQ(expected, x_, y_)
Definition texture-fixture-phase17.h:102
#define TEX17_CLUT_FIELD
Definition texture-fixture-phase17.h:66
#define TEX_MOD_NEUTRAL
Definition texture-fixtures.h:328