From 43bdd7e3390bae7739ded72266ba73405c8ec66e Mon Sep 17 00:00:00 2001 From: fincs Date: Tue, 1 Dec 2015 13:01:16 +0100 Subject: [PATCH] Adapt to latest GPU register name changes --- source/attribs.c | 2 +- source/base.c | 14 +++++++------- source/drawArrays.c | 8 ++++---- source/drawElements.c | 8 ++++---- source/effect.c | 6 +++--- source/immediate.c | 8 ++++---- source/renderbuffer.c | 2 +- 7 files changed, 24 insertions(+), 24 deletions(-) diff --git a/source/attribs.c b/source/attribs.c index 04ac48d..0a32256 100644 --- a/source/attribs.c +++ b/source/attribs.c @@ -61,6 +61,6 @@ void C3Di_AttrInfoBind(C3D_AttrInfo* info) { GPUCMD_AddIncrementalWrites(GPUREG_ATTRIBBUFFERS_FORMAT_LOW, (u32*)info->flags, sizeof(info->flags)/sizeof(u32)); GPUCMD_AddMaskedWrite(GPUREG_VSH_INPUTBUFFER_CONFIG, 0xB, 0xA0000000 | (info->attrCount - 1)); - GPUCMD_AddWrite(GPUREG_0242, info->attrCount - 1); + GPUCMD_AddWrite(GPUREG_VSH_NUM_ATTR, info->attrCount - 1); GPUCMD_AddIncrementalWrites(GPUREG_VSH_ATTRIBUTES_PERMUTATION_LOW, (u32*)&info->permutation, 2); } diff --git a/source/base.c b/source/base.c index 3b89fca..5ec476b 100644 --- a/source/base.c +++ b/source/base.c @@ -14,19 +14,19 @@ static void C3Di_SetTex(GPU_TEXUNIT unit, C3D_Tex* tex) { case GPU_TEXUNIT0: GPUCMD_AddWrite(GPUREG_TEXUNIT0_TYPE, reg[0]); - GPUCMD_AddWrite(GPUREG_TEXUNIT0_LOC, reg[1]); + GPUCMD_AddWrite(GPUREG_TEXUNIT0_ADDR1, reg[1]); GPUCMD_AddWrite(GPUREG_TEXUNIT0_DIM, reg[2]); GPUCMD_AddWrite(GPUREG_TEXUNIT0_PARAM, reg[3]); break; case GPU_TEXUNIT1: GPUCMD_AddWrite(GPUREG_TEXUNIT1_TYPE, reg[0]); - GPUCMD_AddWrite(GPUREG_TEXUNIT1_LOC, reg[1]); + GPUCMD_AddWrite(GPUREG_TEXUNIT1_ADDR, reg[1]); GPUCMD_AddWrite(GPUREG_TEXUNIT1_DIM, reg[2]); GPUCMD_AddWrite(GPUREG_TEXUNIT1_PARAM, reg[3]); break; case GPU_TEXUNIT2: GPUCMD_AddWrite(GPUREG_TEXUNIT2_TYPE, reg[0]); - GPUCMD_AddWrite(GPUREG_TEXUNIT2_LOC, reg[1]); + GPUCMD_AddWrite(GPUREG_TEXUNIT2_ADDR, reg[1]); GPUCMD_AddWrite(GPUREG_TEXUNIT2_DIM, reg[2]); GPUCMD_AddWrite(GPUREG_TEXUNIT2_PARAM, reg[3]); break; @@ -201,8 +201,8 @@ void C3Di_UpdateContext(void) } ctx->flags &= ~C3DiF_TexAll; - GPUCMD_AddMaskedWrite(GPUREG_006F, 0x2, units<<8); // enables texcoord outputs - GPUCMD_AddWrite(GPUREG_TEXUNIT_ENABLE, 0x00011000|units); // enables texture units + GPUCMD_AddMaskedWrite(GPUREG_SH_OUTATTR_CLOCK, 0x2, units<<8); // enables texcoord outputs + GPUCMD_AddWrite(GPUREG_TEXUNIT_CONFIG, 0x00011000|units); // enables texture units } if (ctx->flags & C3DiF_TexEnvBuf) @@ -229,7 +229,7 @@ void C3Di_UpdateContext(void) u32 enable = env != NULL; GPUCMD_AddWrite(GPUREG_LIGHTING_ENABLE0, enable); GPUCMD_AddWrite(GPUREG_LIGHTING_ENABLE1, !enable); - GPUCMD_AddMaskedWrite(GPUREG_006F, 0x8, enable<<24); // Enable normalquat (& view?) outputs + GPUCMD_AddMaskedWrite(GPUREG_SH_OUTATTR_CLOCK, 0x8, enable<<24); // Enable normalquat (& view?) outputs ctx->flags &= ~C3DiF_LightEnv; } @@ -265,7 +265,7 @@ void C3D_FlushAsync(void) ctx->flags &= ~C3DiF_DrawUsed; GPUCMD_AddWrite(GPUREG_FRAMEBUFFER_FLUSH, 1); GPUCMD_AddWrite(GPUREG_FRAMEBUFFER_INVALIDATE, 1); - GPUCMD_AddWrite(GPUREG_0063, 1); // Does this even do anything at all? + GPUCMD_AddWrite(GPUREG_EARLYDEPTH_CLEAR, 1); } GPUCMD_Finalize(); diff --git a/source/drawArrays.c b/source/drawArrays.c index cb10cb8..f20650d 100644 --- a/source/drawArrays.c +++ b/source/drawArrays.c @@ -15,12 +15,12 @@ void C3D_DrawArrays(GPU_Primitive_t primitive, int first, int size) GPUCMD_AddWrite(GPUREG_VERTEX_OFFSET, first); // Unknown commands - GPUCMD_AddMaskedWrite(GPUREG_0253, 1, 0x00000001); + GPUCMD_AddMaskedWrite(GPUREG_GEOSTAGE_CONFIG2, 1, 0x00000001); - GPUCMD_AddMaskedWrite(GPUREG_0245, 1, 0x00000000); + GPUCMD_AddMaskedWrite(GPUREG_START_DRAW_FUNC0, 1, 0x00000000); GPUCMD_AddWrite(GPUREG_DRAWARRAYS, 0x00000001); - GPUCMD_AddMaskedWrite(GPUREG_0245, 1, 0x00000001); - GPUCMD_AddWrite(GPUREG_0231, 0x00000001); + GPUCMD_AddMaskedWrite(GPUREG_START_DRAW_FUNC0, 1, 0x00000001); + GPUCMD_AddWrite(GPUREG_VTX_FUNC, 0x00000001); C3Di_GetContext()->flags |= C3DiF_DrawUsed; } diff --git a/source/drawElements.c b/source/drawElements.c index 6a2570f..70d4806 100644 --- a/source/drawElements.c +++ b/source/drawElements.c @@ -21,12 +21,12 @@ void C3D_DrawElements(GPU_Primitive_t primitive, int count, int type, const void // Unknown commands //GPUCMD_AddMaskedWrite(GPUREG_GEOSTAGE_CONFIG, 2, 0x00000100); - GPUCMD_AddMaskedWrite(GPUREG_0253, 2, 0x00000100); + GPUCMD_AddMaskedWrite(GPUREG_GEOSTAGE_CONFIG2, 2, 0x00000100); - GPUCMD_AddMaskedWrite(GPUREG_0245, 1, 0x00000000); + GPUCMD_AddMaskedWrite(GPUREG_START_DRAW_FUNC0, 1, 0x00000000); GPUCMD_AddWrite(GPUREG_DRAWELEMENTS, 0x00000001); - GPUCMD_AddMaskedWrite(GPUREG_0245, 1, 0x00000001); - GPUCMD_AddWrite(GPUREG_0231, 0x00000001); + GPUCMD_AddMaskedWrite(GPUREG_START_DRAW_FUNC0, 1, 0x00000001); + GPUCMD_AddWrite(GPUREG_VTX_FUNC, 0x00000001); C3Di_GetContext()->flags |= C3DiF_DrawUsed; } diff --git a/source/effect.c b/source/effect.c index 3489bb3..c5281b0 100644 --- a/source/effect.c +++ b/source/effect.c @@ -74,7 +74,7 @@ void C3D_FragOpMode(GPU_FRAGOPMODE mode) void C3Di_EffectBind(C3D_Effect* e) { - GPUCMD_AddWrite(GPUREG_006D, 0x00000001); + GPUCMD_AddWrite(GPUREG_DEPTHMAP_ENABLE, 1); GPUCMD_AddWrite(GPUREG_FACECULLING_CONFIG, e->cullMode & 0x3); GPUCMD_AddIncrementalWrites(GPUREG_DEPTHMAP_SCALE, (u32*)&e->zScale, 2); GPUCMD_AddIncrementalWrites(GPUREG_ALPHATEST_CONFIG, (u32*)&e->alphaTest, 4); @@ -84,6 +84,6 @@ void C3Di_EffectBind(C3D_Effect* e) GPUCMD_AddMaskedWrite(GPUREG_BLEND_ENABLE, 7, e->fragOpMode); // Disable early depth test? - GPUCMD_AddMaskedWrite(GPUREG_0062, 1, 0); - GPUCMD_AddWrite(GPUREG_0118, 0); + GPUCMD_AddMaskedWrite(GPUREG_EARLYDEPTH_TEST1, 1, 0); + GPUCMD_AddWrite(GPUREG_EARLYDEPTH_TEST2, 0); } diff --git a/source/immediate.c b/source/immediate.c index 0cd785d..8e34560 100644 --- a/source/immediate.c +++ b/source/immediate.c @@ -11,8 +11,8 @@ void C3D_ImmDrawBegin(GPU_Primitive_t primitive) GPUCMD_AddWrite(GPUREG_INDEXBUFFER_CONFIG, 0x80000000); // Unknown commands - GPUCMD_AddMaskedWrite(GPUREG_0253, 1, 0x00000001); - GPUCMD_AddMaskedWrite(GPUREG_0245, 1, 0x00000000); + GPUCMD_AddMaskedWrite(GPUREG_GEOSTAGE_CONFIG2, 1, 0x00000001); + GPUCMD_AddMaskedWrite(GPUREG_START_DRAW_FUNC0, 1, 0x00000000); // Begin immediate-mode vertex submission GPUCMD_AddWrite(GPUREG_FIXEDATTRIB_INDEX, 0xF); @@ -56,8 +56,8 @@ void C3D_ImmSendAttrib(float x, float y, float z, float w) void C3D_ImmDrawEnd(void) { - GPUCMD_AddMaskedWrite(GPUREG_0245, 1, 0x00000001); - GPUCMD_AddWrite(GPUREG_0231, 0x00000001); + GPUCMD_AddMaskedWrite(GPUREG_START_DRAW_FUNC0, 1, 0x00000001); + GPUCMD_AddWrite(GPUREG_VTX_FUNC, 0x00000001); C3Di_GetContext()->flags |= C3DiF_DrawUsed; } diff --git a/source/renderbuffer.c b/source/renderbuffer.c index 6101080..30db0f8 100644 --- a/source/renderbuffer.c +++ b/source/renderbuffer.c @@ -92,7 +92,7 @@ void C3Di_RenderBufBind(C3D_RenderBuf* rb) param[2] = 0x01000000 | (((u32)(rb->colorBuf.height-1) & 0xFFF) << 12) | (rb->colorBuf.width & 0xFFF); GPUCMD_AddIncrementalWrites(GPUREG_DEPTHBUFFER_LOC, param, 3); - GPUCMD_AddWrite(GPUREG_FRAMEBUFFER_DIM2, param[2]); //? + GPUCMD_AddWrite(GPUREG_RENDERBUF_DIM, param[2]); GPUCMD_AddWrite(GPUREG_DEPTHBUFFER_FORMAT, rb->depthFmt >= 0 ? rb->depthFmt : GPU_RB_DEPTH16); GPUCMD_AddWrite(GPUREG_COLORBUFFER_FORMAT, getColorBufFormatReg(rb->colorBuf.fmt)); GPUCMD_AddWrite(GPUREG_FRAMEBUFFER_BLOCK32, 0x00000000); //?