Adapt to latest GPU register name changes
This commit is contained in:
parent
c188bcf5df
commit
43bdd7e339
@ -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);
|
||||||
}
|
}
|
||||||
|
@ -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();
|
||||||
|
@ -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;
|
||||||
}
|
}
|
||||||
|
@ -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;
|
||||||
}
|
}
|
||||||
|
@ -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);
|
||||||
}
|
}
|
||||||
|
@ -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;
|
||||||
}
|
}
|
||||||
|
@ -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); //?
|
||||||
|
Loading…
Reference in New Issue
Block a user