Gfx GX Fn GXSetTevIndBumpXYZ - wowjinxy/libPorpoise GitHub Wiki
GXSetTevIndBumpXYZ
- Category:
Indirect Texturing
- Matrix Status:
Implemented
- Matrix Notes: Parity-checked single-stage EMBM helper as canonical
GXSetTevIndirect wrapper (GX_ITF_8, GX_ITB_STU, wrap off).
- Matrix Link: Gfx-GX-API-Matrix
Official SDK (Reference)
- Manual page:
reference/man/gfx/gx/Indirect/GXSetTevIndBumpXYZ.html
- SDK source:
reference/gx/GXBump.c (GXSetTevIndBumpXYZ, around lines 559+)
- Verified SDK behavior:
- Convenience helper that forwards to
GXSetTevIndirect with:
format = GX_ITF_8
bias_sel = GX_ITB_STU
matrix_sel = matrix_sel (caller-selected)
wrap_s = GX_ITW_OFF, wrap_t = GX_ITW_OFF
add_prev = FALSE
utc_lod = FALSE
alpha_sel = GX_ITBA_OFF
- Uses
CHECK_IN_BGN semantics via wrapper/callee path.
libPorpoise Implementation
- Runtime implementation area:
src/gx
- Public API surface:
include/dolphin/gx
- Current implementation:
src/gx/pc_gx.c: GXSetTevIndBumpXYZ matches the SDK forwarding tuple exactly and routes through GXSetTevIndirect.
- Begin-safe state mutation is inherited from
GXSetTevIndirect.
SDK vs Porpoise Diff
- Signature parity:
- SDK:
void GXSetTevIndBumpXYZ(GXTevStageID tev_stage, GXIndTexStageID ind_stage, GXIndTexMtxID matrix_sel)
- Porpoise: same
- Behavioral parity:
- SDK and Porpoise helper behavior matches.
- Known divergence:
- None for this helper wrapper.
Validation Checklist
Working Notes
- No runtime patch required for this function; implementation already matched SDK helper behavior.