summaryrefslogtreecommitdiff
path: root/src/code/z_rcp.c
diff options
context:
space:
mode:
authorTharo <tharo10600@gmail.com>2026-04-17 08:24:45 +0100
committerGitHub <noreply@github.com>2026-04-17 16:24:45 +0900
commit67f8c8ca7b183bf5e7a58a61c2f5264601d28d74 (patch)
treebd0f203867bcfc4ad763d5f39c5477c2f814551f /src/code/z_rcp.c
parent4ac22d7c49cc23ba10d3b4803f938d76690a6520 (diff)
Simplify or comment on the remaining complex render mode settings (#2713)
* Simplify or comment on the remaining complex render mode settings * Suggested changes * Format
Diffstat (limited to 'src/code/z_rcp.c')
-rw-r--r--src/code/z_rcp.c12
1 files changed, 9 insertions, 3 deletions
diff --git a/src/code/z_rcp.c b/src/code/z_rcp.c
index 657bd9e56..76cc6c467 100644
--- a/src/code/z_rcp.c
+++ b/src/code/z_rcp.c
@@ -223,6 +223,9 @@ Gfx sSetupDL[SETUPDL_MAX][6] = {
gsDPPipeSync(),
gsSPTexture(0xFFFF, 0xFFFF, 0, G_TX_RENDERTILE, G_ON),
gsDPSetCombineMode(G_CC_MODULATEIA_PRIM, G_CC_MODULATEIA_PRIM),
+ // This render mode uses CVG_X_ALPHA to transfer texture alpha to coverage, but the coverage written to the
+ // framebuffer is always full. It also doesn't write depth, but uses an opaque Z mode. It's hard to say what
+ // the intention was here.
gsDPSetOtherMode(G_AD_NOTPATTERN | G_CD_MAGICSQ | G_CK_NONE | G_TC_FILT | G_TF_BILERP | G_TT_NONE | G_TL_TILE |
G_TD_CLAMP | G_TP_PERSP | G_CYC_1CYCLE | G_PM_NPRIMITIVE,
G_AC_NONE | G_ZS_PIXEL | AA_EN | Z_CMP | IM_RD | CVG_DST_FULL | ZMODE_OPA | CVG_X_ALPHA |
@@ -723,9 +726,7 @@ Gfx sSetupDL[SETUPDL_MAX][6] = {
gsDPSetCombineMode(G_CC_MODULATEIA_PRIM, G_CC_MODULATEIA_PRIM),
gsDPSetOtherMode(G_AD_DISABLE | G_CD_MAGICSQ | G_CK_NONE | G_TC_FILT | G_TF_BILERP | G_TT_NONE | G_TL_TILE |
G_TD_CLAMP | G_TP_NONE | G_CYC_1CYCLE | G_PM_NPRIMITIVE,
- G_AC_THRESHOLD | G_ZS_PIXEL | Z_UPD | IM_RD | CVG_DST_SAVE | ZMODE_OPA | FORCE_BL |
- GBL_c1(G_BL_CLR_IN, G_BL_A_IN, G_BL_CLR_MEM, G_BL_1MA) |
- GBL_c2(G_BL_CLR_IN, G_BL_A_IN, G_BL_CLR_MEM, G_BL_1MA)),
+ G_AC_THRESHOLD | G_ZS_PIXEL | G_RM_CLD_SURF | G_RM_CLD_SURF2 | Z_UPD),
gsSPLoadGeometryMode(G_ZBUFFER | G_SHADE | G_SHADING_SMOOTH),
gsSPEndDisplayList(),
},
@@ -756,6 +757,8 @@ Gfx sSetupDL[SETUPDL_MAX][6] = {
gsDPPipeSync(),
gsSPTexture(0xFFFF, 0xFFFF, 0, G_TX_RENDERTILE, G_ON),
gsDPSetCombineMode(G_CC_DECALRGBA, G_CC_DECALRGBA),
+ // This render mode is a non-AA texture edge mode that writes full coverage to the framebuffer for all pixels.
+ // The c2 render mode would be G_RM_PASS2 if it were defined.
gsDPSetOtherMode(G_AD_NOTPATTERN | G_CD_MAGICSQ | G_CK_NONE | G_TC_FILT | G_TF_BILERP | G_TT_NONE | G_TL_TILE |
G_TD_CLAMP | G_TP_PERSP | G_CYC_1CYCLE | G_PM_NPRIMITIVE,
G_AC_THRESHOLD | G_ZS_PIXEL | Z_CMP | Z_UPD | CVG_DST_FULL | ZMODE_OPA | CVG_X_ALPHA |
@@ -768,6 +771,7 @@ Gfx sSetupDL[SETUPDL_MAX][6] = {
gsDPPipeSync(),
gsSPTexture(0xFFFF, 0xFFFF, 0, G_TX_RENDERTILE, G_ON),
gsDPSetCombineMode(G_CC_MODULATEIA_PRIM, G_CC_MODULATEIA_PRIM),
+ // Same as SETUPDL_66
gsDPSetOtherMode(G_AD_NOTPATTERN | G_CD_MAGICSQ | G_CK_NONE | G_TC_FILT | G_TF_BILERP | G_TT_NONE | G_TL_TILE |
G_TD_CLAMP | G_TP_PERSP | G_CYC_1CYCLE | G_PM_NPRIMITIVE,
G_AC_THRESHOLD | G_ZS_PIXEL | Z_CMP | Z_UPD | CVG_DST_FULL | ZMODE_OPA | CVG_X_ALPHA |
@@ -780,6 +784,7 @@ Gfx sSetupDL[SETUPDL_MAX][6] = {
gsDPPipeSync(),
gsSPTexture(0xFFFF, 0xFFFF, 0, G_TX_RENDERTILE, G_ON),
gsDPSetCombineMode(G_CC_DECALRGBA, G_CC_DECALRGBA),
+ // This render mode would be RM_ZB_SUB_SURF if it were defined.
gsDPSetOtherMode(G_AD_NOTPATTERN | G_CD_MAGICSQ | G_CK_NONE | G_TC_FILT | G_TF_BILERP | G_TT_NONE | G_TL_TILE |
G_TD_CLAMP | G_TP_PERSP | G_CYC_1CYCLE | G_PM_NPRIMITIVE,
G_AC_THRESHOLD | G_ZS_PIXEL | Z_CMP | Z_UPD | IM_RD | CVG_DST_FULL | ZMODE_OPA | CVG_X_ALPHA |
@@ -793,6 +798,7 @@ Gfx sSetupDL[SETUPDL_MAX][6] = {
gsDPPipeSync(),
gsSPTexture(0xFFFF, 0xFFFF, 0, G_TX_RENDERTILE, G_ON),
gsDPSetCombineMode(G_CC_MODULATEIA_PRIM, G_CC_MODULATEIA_PRIM),
+ // This render mode would be RM_ZB_SUB_SURF if it were defined.
gsDPSetOtherMode(G_AD_NOTPATTERN | G_CD_MAGICSQ | G_CK_NONE | G_TC_FILT | G_TF_BILERP | G_TT_NONE | G_TL_TILE |
G_TD_CLAMP | G_TP_PERSP | G_CYC_1CYCLE | G_PM_NPRIMITIVE,
G_AC_THRESHOLD | G_ZS_PIXEL | Z_CMP | Z_UPD | IM_RD | CVG_DST_FULL | ZMODE_OPA | CVG_X_ALPHA |