Adapt to latest GPU register name changes

This commit is contained in:
fincs 2015-12-01 13:01:16 +01:00
parent c188bcf5df
commit 43bdd7e339
7 changed files with 24 additions and 24 deletions

View File

@ -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_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_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); GPUCMD_AddIncrementalWrites(GPUREG_VSH_ATTRIBUTES_PERMUTATION_LOW, (u32*)&info->permutation, 2);
} }

View File

@ -14,19 +14,19 @@ static void C3Di_SetTex(GPU_TEXUNIT unit, C3D_Tex* tex)
{ {
case GPU_TEXUNIT0: case GPU_TEXUNIT0:
GPUCMD_AddWrite(GPUREG_TEXUNIT0_TYPE, reg[0]); 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_DIM, reg[2]);
GPUCMD_AddWrite(GPUREG_TEXUNIT0_PARAM, reg[3]); GPUCMD_AddWrite(GPUREG_TEXUNIT0_PARAM, reg[3]);
break; break;
case GPU_TEXUNIT1: case GPU_TEXUNIT1:
GPUCMD_AddWrite(GPUREG_TEXUNIT1_TYPE, reg[0]); 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_DIM, reg[2]);
GPUCMD_AddWrite(GPUREG_TEXUNIT1_PARAM, reg[3]); GPUCMD_AddWrite(GPUREG_TEXUNIT1_PARAM, reg[3]);
break; break;
case GPU_TEXUNIT2: case GPU_TEXUNIT2:
GPUCMD_AddWrite(GPUREG_TEXUNIT2_TYPE, reg[0]); 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_DIM, reg[2]);
GPUCMD_AddWrite(GPUREG_TEXUNIT2_PARAM, reg[3]); GPUCMD_AddWrite(GPUREG_TEXUNIT2_PARAM, reg[3]);
break; break;
@ -201,8 +201,8 @@ void C3Di_UpdateContext(void)
} }
ctx->flags &= ~C3DiF_TexAll; ctx->flags &= ~C3DiF_TexAll;
GPUCMD_AddMaskedWrite(GPUREG_006F, 0x2, units<<8); // enables texcoord outputs GPUCMD_AddMaskedWrite(GPUREG_SH_OUTATTR_CLOCK, 0x2, units<<8); // enables texcoord outputs
GPUCMD_AddWrite(GPUREG_TEXUNIT_ENABLE, 0x00011000|units); // enables texture units GPUCMD_AddWrite(GPUREG_TEXUNIT_CONFIG, 0x00011000|units); // enables texture units
} }
if (ctx->flags & C3DiF_TexEnvBuf) if (ctx->flags & C3DiF_TexEnvBuf)
@ -229,7 +229,7 @@ void C3Di_UpdateContext(void)
u32 enable = env != NULL; u32 enable = env != NULL;
GPUCMD_AddWrite(GPUREG_LIGHTING_ENABLE0, enable); GPUCMD_AddWrite(GPUREG_LIGHTING_ENABLE0, enable);
GPUCMD_AddWrite(GPUREG_LIGHTING_ENABLE1, !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; ctx->flags &= ~C3DiF_LightEnv;
} }
@ -265,7 +265,7 @@ void C3D_FlushAsync(void)
ctx->flags &= ~C3DiF_DrawUsed; ctx->flags &= ~C3DiF_DrawUsed;
GPUCMD_AddWrite(GPUREG_FRAMEBUFFER_FLUSH, 1); GPUCMD_AddWrite(GPUREG_FRAMEBUFFER_FLUSH, 1);
GPUCMD_AddWrite(GPUREG_FRAMEBUFFER_INVALIDATE, 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(); GPUCMD_Finalize();

View File

@ -15,12 +15,12 @@ void C3D_DrawArrays(GPU_Primitive_t primitive, int first, int size)
GPUCMD_AddWrite(GPUREG_VERTEX_OFFSET, first); GPUCMD_AddWrite(GPUREG_VERTEX_OFFSET, first);
// Unknown commands // 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_AddWrite(GPUREG_DRAWARRAYS, 0x00000001);
GPUCMD_AddMaskedWrite(GPUREG_0245, 1, 0x00000001); GPUCMD_AddMaskedWrite(GPUREG_START_DRAW_FUNC0, 1, 0x00000001);
GPUCMD_AddWrite(GPUREG_0231, 0x00000001); GPUCMD_AddWrite(GPUREG_VTX_FUNC, 0x00000001);
C3Di_GetContext()->flags |= C3DiF_DrawUsed; C3Di_GetContext()->flags |= C3DiF_DrawUsed;
} }

View File

@ -21,12 +21,12 @@ void C3D_DrawElements(GPU_Primitive_t primitive, int count, int type, const void
// Unknown commands // Unknown commands
//GPUCMD_AddMaskedWrite(GPUREG_GEOSTAGE_CONFIG, 2, 0x00000100); //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_AddWrite(GPUREG_DRAWELEMENTS, 0x00000001);
GPUCMD_AddMaskedWrite(GPUREG_0245, 1, 0x00000001); GPUCMD_AddMaskedWrite(GPUREG_START_DRAW_FUNC0, 1, 0x00000001);
GPUCMD_AddWrite(GPUREG_0231, 0x00000001); GPUCMD_AddWrite(GPUREG_VTX_FUNC, 0x00000001);
C3Di_GetContext()->flags |= C3DiF_DrawUsed; C3Di_GetContext()->flags |= C3DiF_DrawUsed;
} }

View File

@ -74,7 +74,7 @@ void C3D_FragOpMode(GPU_FRAGOPMODE mode)
void C3Di_EffectBind(C3D_Effect* e) 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_AddWrite(GPUREG_FACECULLING_CONFIG, e->cullMode & 0x3);
GPUCMD_AddIncrementalWrites(GPUREG_DEPTHMAP_SCALE, (u32*)&e->zScale, 2); GPUCMD_AddIncrementalWrites(GPUREG_DEPTHMAP_SCALE, (u32*)&e->zScale, 2);
GPUCMD_AddIncrementalWrites(GPUREG_ALPHATEST_CONFIG, (u32*)&e->alphaTest, 4); 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); GPUCMD_AddMaskedWrite(GPUREG_BLEND_ENABLE, 7, e->fragOpMode);
// Disable early depth test? // Disable early depth test?
GPUCMD_AddMaskedWrite(GPUREG_0062, 1, 0); GPUCMD_AddMaskedWrite(GPUREG_EARLYDEPTH_TEST1, 1, 0);
GPUCMD_AddWrite(GPUREG_0118, 0); GPUCMD_AddWrite(GPUREG_EARLYDEPTH_TEST2, 0);
} }

View File

@ -11,8 +11,8 @@ void C3D_ImmDrawBegin(GPU_Primitive_t primitive)
GPUCMD_AddWrite(GPUREG_INDEXBUFFER_CONFIG, 0x80000000); GPUCMD_AddWrite(GPUREG_INDEXBUFFER_CONFIG, 0x80000000);
// Unknown commands // 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);
// Begin immediate-mode vertex submission // Begin immediate-mode vertex submission
GPUCMD_AddWrite(GPUREG_FIXEDATTRIB_INDEX, 0xF); 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) void C3D_ImmDrawEnd(void)
{ {
GPUCMD_AddMaskedWrite(GPUREG_0245, 1, 0x00000001); GPUCMD_AddMaskedWrite(GPUREG_START_DRAW_FUNC0, 1, 0x00000001);
GPUCMD_AddWrite(GPUREG_0231, 0x00000001); GPUCMD_AddWrite(GPUREG_VTX_FUNC, 0x00000001);
C3Di_GetContext()->flags |= C3DiF_DrawUsed; C3Di_GetContext()->flags |= C3DiF_DrawUsed;
} }

View File

@ -92,7 +92,7 @@ void C3Di_RenderBufBind(C3D_RenderBuf* rb)
param[2] = 0x01000000 | (((u32)(rb->colorBuf.height-1) & 0xFFF) << 12) | (rb->colorBuf.width & 0xFFF); param[2] = 0x01000000 | (((u32)(rb->colorBuf.height-1) & 0xFFF) << 12) | (rb->colorBuf.width & 0xFFF);
GPUCMD_AddIncrementalWrites(GPUREG_DEPTHBUFFER_LOC, param, 3); 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_DEPTHBUFFER_FORMAT, rb->depthFmt >= 0 ? rb->depthFmt : GPU_RB_DEPTH16);
GPUCMD_AddWrite(GPUREG_COLORBUFFER_FORMAT, getColorBufFormatReg(rb->colorBuf.fmt)); GPUCMD_AddWrite(GPUREG_COLORBUFFER_FORMAT, getColorBufFormatReg(rb->colorBuf.fmt));
GPUCMD_AddWrite(GPUREG_FRAMEBUFFER_BLOCK32, 0x00000000); //? GPUCMD_AddWrite(GPUREG_FRAMEBUFFER_BLOCK32, 0x00000000); //?