14 e->
zScale = f32tof24(zScale);
24void C3D_StencilTest(
bool enable, GPU_TESTFUNC function,
int ref,
int inputMask,
int writeMask)
27 e->
stencilMode = (!!enable) | ((function & 7) << 4) | (writeMask << 8) | (ref << 16) | (inputMask << 24);
30void C3D_StencilOp(GPU_STENCILOP sfail, GPU_STENCILOP dfail, GPU_STENCILOP pass)
33 e->
stencilOp = sfail | (dfail << 4) | (pass << 8);
50void C3D_DepthTest(
bool enable, GPU_TESTFUNC function, GPU_WRITEMASK writemask)
53 e->
depthTest = (!!enable) | ((function & 7) << 4) | (writemask << 8);
59 e->
alphaTest = (!!enable) | ((function & 7) << 4) | (ref << 8);
62void C3D_AlphaBlend(GPU_BLENDEQUATION colorEq, GPU_BLENDEQUATION alphaEq, GPU_BLENDFACTOR srcClr, GPU_BLENDFACTOR dstClr, GPU_BLENDFACTOR srcAlpha, GPU_BLENDFACTOR dstAlpha)
65 e->
alphaBlend = colorEq | (alphaEq << 8) | (srcClr << 16) | (dstClr << 20) | (srcAlpha << 24) | (dstAlpha << 28);
87 e->
fragOpShadow = f32tof16(scale+bias) | (f32tof16(-scale)<<16);
92 GPUCMD_AddWrite(GPUREG_DEPTHMAP_ENABLE, e->
zBuffer ? 1 : 0);
93 GPUCMD_AddWrite(GPUREG_FACECULLING_CONFIG, e->
cullMode & 0x3);
94 GPUCMD_AddIncrementalWrites(GPUREG_DEPTHMAP_SCALE, (u32*)&e->
zScale, 2);
95 GPUCMD_AddIncrementalWrites(GPUREG_FRAGOP_ALPHA_TEST, (u32*)&e->
alphaTest, 4);
96 GPUCMD_AddMaskedWrite(GPUREG_GAS_DELTAZ_DEPTH, 0x8, (u32)GPU_MAKEGASDEPTHFUNC((e->
depthTest>>4)&7) << 24);
97 GPUCMD_AddWrite(GPUREG_BLEND_COLOR, e->
blendClr);
98 GPUCMD_AddWrite(GPUREG_BLEND_FUNC, e->
alphaBlend);
99 GPUCMD_AddWrite(GPUREG_LOGIC_OP, e->
clrLogicOp);
100 GPUCMD_AddMaskedWrite(GPUREG_COLOR_OPERATION, 7, e->
fragOpMode);
102 GPUCMD_AddMaskedWrite(GPUREG_EARLYDEPTH_TEST1, 1, e->
earlyDepth ? 1 : 0);
103 GPUCMD_AddWrite(GPUREG_EARLYDEPTH_TEST2, e->
earlyDepth ? 1 : 0);
104 GPUCMD_AddMaskedWrite(GPUREG_EARLYDEPTH_FUNC, 1, e->
earlyDepthFunc);
105 GPUCMD_AddMaskedWrite(GPUREG_EARLYDEPTH_DATA, 0x7, e->
earlyDepthRef);
void C3D_DepthMap(bool bIsZBuffer, float zScale, float zOffset)
void C3D_AlphaTest(bool enable, GPU_TESTFUNC function, int ref)
void C3Di_EffectBind(C3D_Effect *e)
void C3D_CullFace(GPU_CULLMODE mode)
void C3D_FragOpMode(GPU_FRAGOPMODE mode)
void C3D_StencilTest(bool enable, GPU_TESTFUNC function, int ref, int inputMask, int writeMask)
void C3D_FragOpShadow(float scale, float bias)
void C3D_StencilOp(GPU_STENCILOP sfail, GPU_STENCILOP dfail, GPU_STENCILOP pass)
void C3D_ColorLogicOp(GPU_LOGICOP op)
void C3D_AlphaBlend(GPU_BLENDEQUATION colorEq, GPU_BLENDEQUATION alphaEq, GPU_BLENDFACTOR srcClr, GPU_BLENDFACTOR dstClr, GPU_BLENDFACTOR srcAlpha, GPU_BLENDFACTOR dstAlpha)
void C3D_BlendingColor(u32 color)
void C3D_DepthTest(bool enable, GPU_TESTFUNC function, GPU_WRITEMASK writemask)
void C3D_EarlyDepthTest(bool enable, GPU_EARLYDEPTHFUNC function, u32 ref)
GPU_EARLYDEPTHFUNC earlyDepthFunc