Gfx GX API Matrix - wowjinxy/libPorpoise GitHub Wiki

Gfx - GX API Matrix

Function-by-function tracking list for libPorpoise GX coverage.

Legend:

  • Status: Untriaged / Implemented / Partial / Stub / Missing
  • Check the box when status + notes are verified against behavior and tests.

Geometry and Vertex

  • GXSetVtxDesc - Status: Implemented - Notes: SDK parity pass done: typed signature alignment and NRM/NBT mutual exclusion now match Dolphin GXAttr.c.
  • GXSetVtxDescv - Status: Implemented - Notes: SDK/manual parity pass done: iterates {attr,type} list to GX_VA_NULL and applies per-entry GXSetVtxDesc semantics.
  • GXClearVtxDesc - Status: Implemented - Notes: SDK parity pass done: clear now restores default GX_VA_POS = GX_DIRECT (instead of all NONE).
  • GXSetVtxAttrFmt - Status: Implemented - Notes: SDK parity pass done: typed signature, VAT-only attr handling, and NRM/NBT shared VAT semantics (type/frac sharing + count behavior).
  • GXSetVtxAttrFmtv - Status: Implemented - Notes: SDK parity pass done: typed const GXVtxAttrFmtList*, iterates to GX_VA_NULL, applies per-entry GXSetVtxAttrFmt semantics.
  • GXSetArray - Status: Implemented - Notes: SDK parity pass done: typed signature, GX_VA_NBT -> GX_VA_NRM aliasing, and attr-domain guard (GX_VA_POS .. GX_LIGHT_ARRAY).
  • GXBegin - Status: Implemented - Notes: SDK parity pass done: typed signature, explicit primitive/vtxfmt fail-soft guards, and documented max-count handling (nverts==0 -> 65536).
  • GXEnd - Status: Implemented - Notes: SDK/manual parity reviewed: typed API matches; PC backend finalizes pending vertex data by commit+flush on end.
  • GXMatrixIndex1u8 - Status: Partial - Notes: SDK/manual parity reviewed for 1u8/1x8; PN row-index mapping is implemented (index/3) and now updates pending vertex matrix index, but full texture-matrix-index attribute handling remains incomplete.
  • GXPosition[n][t] - Status: Implemented - Notes: SDK/manual parity reviewed: direct+indexed variants align with descriptor/VAT usage; integer direct/indexed paths apply POS frac inverse-quantization.
  • GXNormal[n][t] - Status: Partial - Notes: SDK/manual parity reviewed for direct+indexed NRM path (S8/S16 implied scaling verified). Added direct-NBT phase handling to retain primary normal; full NBT/NBT3 vector fidelity remains incomplete.
  • GXColor[n][t] - Status: Partial - Notes: SDK/manual parity reviewed: direct/indexed packed decode verified; color writes now route by descriptor/call-order across CLR0/CLR1, and shader path consumes per-vertex color1 for channel1 sources.
  • GXTexCoord[n][t] - Status: Implemented - Notes: Verified descriptor-ordered TEX0..TEX7 routing for immediate direct/indexed family, per-attribute fixed-point scaling, and per-vertex phase reset.
  • GXSetLineWidth - Status: Partial - Notes: Width units corrected to GX 1/6-pixel semantics and state is tracked; textured line offset behavior is not rasterized.
  • GXSetPointSize - Status: Partial - Notes: Size units corrected to GX 1/6-pixel semantics and state is tracked; textured point offset behavior is not rasterized.
  • GXEnableTexOffsets - Status: Partial - Notes: Enable bits are stored per texcoord for line/point paths, but offset effect is not yet applied during primitive expansion/rasterization.
  • GXInvalidateVtxCache - Status: Implemented - Notes: Implemented as backend no-op (expected on modern GL path).
  • GXGetVtxDesc - Status: Implemented - Notes: Returns current descriptor type per attribute.
  • GXGetVtxDescv - Status: Implemented - Notes: Returns full descriptor snapshot in SDK order (GX_VA_PNMTXIDX..GX_VA_TEX7, then GX_VA_NBT) and terminates with GX_VA_NULL.
  • GXGetVtxAttrFmt - Status: Implemented - Notes: SDK parity pass done: NRM/NBT implied frac (S8->6, S16->14) and default fallback branch (cnt=1, type=GX_U8, frac=0).
  • GXGetVtxAttrFmtv - Status: Implemented - Notes: SDK parity pass done: iterates GX_VA_POS .. GX_VA_TEX7 and appends GX_VA_NULL.
  • GXGetArray - Status: Implemented - Notes: Returns base/stride for SDK-style array attrs (GX_VA_POS..GX_LIGHT_ARRAY) with GX_VA_NBT -> GX_VA_NRM aliasing.
  • GXGetLineWidth - Status: Implemented - Notes: Returns tracked GX line width and texture-offset enum.
  • GXGetPointSize - Status: Implemented - Notes: Returns tracked GX point size and texture-offset enum.

Display List

  • GXBeginDisplayList - Status: Implemented - Notes: Verified ACPC backend behavior against docs: recording mode start, nested-call guard, and 32-byte alignment/size validation for list buffer.
  • GXEndDisplayList - Status: Implemented - Notes: Verified docs behavior: returns padded 32-byte size with GX_NOP tail, returns 0 on overflow/error path, restores normal submission, and now explicitly flushes on end.
  • GXCallDisplayList - Status: Partial - Notes: Verified required 32-byte alignment/length checks and non-nested guard; execution path supports recorded custom ops plus a substantial raw-command decode path, but not the full hardware command space.

Transformation and Matrix

  • GXSetProjection - Status: Implemented - Notes: Verified doc layout semantics: only p0-p5 are consumed and reconstructed per GX_PERSPECTIVE / GX_ORTHOGRAPHIC.
  • GXProject - Status: Implemented - Notes: Verified modelview+projection+viewport projection math using GXGetProjectionv and GXGetViewportv parameter formats.
  • GXLoadPosMtxImm - Status: Implemented - Notes: Verified 3x4 row-major load into PN matrix slot; tightened to documented GXPosNrmMtx IDs.
  • GXLoadPosMtxIndx - Status: Implemented - Notes: Verified indexed 3x4 load from GX_POS_MTX_ARRAY with documented default stride behavior.
  • GXLoadNrmMtxImm - Status: Implemented - Notes: Verified 3x4 input path loads only upper-left 3x3 (translation ignored), with GXPosNrmMtx ID validation.
  • GXLoadNrmMtxImm3x3 - Status: Implemented - Notes: Added missing API and verified direct 3x3 normal-matrix load path.
  • GXLoadNrmMtxIndx3x3 - Status: Implemented - Notes: Verified indexed 3x3 load from GX_NRM_MTX_ARRAY; removed non-doc fallback from position-matrix array.
  • GXSetCurrentMtx - Status: Implemented - Notes: Verified current PN matrix selection with documented GXPosNrmMtx validation.
  • GXLoadTexMtxImm - Status: Partial - Notes: Verified first-pass texture matrix load and corrected GX_MTX2x4 vs GX_MTX3x4 size handling; HW2 post-transform (GX_PTTEXMTX*) path remains unimplemented.
  • GXLoadTexMtxIndx - Status: Partial - Notes: Verified indexed texture-matrix load from GX_TEX_MTX_ARRAY; default stride now respects 2x4 vs 3x4; HW2 post-transform path remains unimplemented.
  • GXSetViewport - Status: Implemented - Notes: Verified viewport/depth-range storage and GL viewport application in GX top-left coordinate convention.
  • GXSetViewportJitter - Status: Implemented - Notes: SDK parity pass done: applies documented jitter rule (VI_FIELD_BELOW shifts top by -0.5f) before normal viewport update.
  • GXSetViewportv - Status: Implemented - Notes: SDK parity pass done: direct vp[0..5] forward into GXSetViewport(...) with no NULL guard.
  • GXGetProjectionv - Status: Implemented - Notes: SDK parity pass done: verified projection vector layout (type, then p0-p5) and strict pointer contract (no fail-soft NULL return).
  • GXGetViewportv - Status: Implemented - Notes: SDK parity pass done: verified vp[0..5] layout/order and strict pointer contract (no fail-soft NULL return).

Clipping and Culling

  • GXSetScissor - Status: Implemented - Notes: SDK parity pass done: top-left screen-space scissor mapping verified; pending vertices are flushed before scissor-state changes to preserve GX state ordering.
  • GXSetCullMode - Status: Implemented - Notes: SDK parity pass done: API-space cull behavior matches by combining CW front-face convention with direct GL cull-face mapping (equivalent to SDK FRONT/BACK translation).
  • GXSetClipMode - Status: Partial - Notes: SDK parity pass done for API domain/state tracking; backend intentionally keeps standard clipping and does not fully emulate GX clip-disable behavior.
  • GXSetCoPlanar - Status: Partial - Notes: SDK parity pass done for API/state behavior; backend uses polygon-offset approximation and does not fully emulate hardware reference-plane freeze semantics.
  • GXSetScissorBoxOffset (HW2) - Status: Partial - Notes: SDK parity pass done for even-offset quantization and state ordering (flush before offset apply); HW register packing/domain asserts remain approximate on PC backend.
  • GXGetScissor - Status: Implemented - Notes: SDK parity pass done: returns current screen-space scissor rectangle values and now follows strict output-pointer contract.
  • GXGetCullMode - Status: Implemented - Notes: SDK parity pass done: returns current API-space culling mode and now follows strict output-pointer contract.

Lighting

  • GXInitLightAttn - Status: Implemented - Notes: SDK parity pass done: direct write-through of angular (a0..a2) and distance (k0..k2) attenuation coefficients in light object storage.
  • GXInitLightAttnA - Status: Implemented - Notes: SDK parity pass done: updates only angular attenuation coefficients (a0..a2) and preserves distance terms (k0..k2).
  • GXInitLightAttnK - Status: Implemented - Notes: SDK parity pass done: updates only distance attenuation coefficients (k0..k2) and preserves angular terms (a0..a2).
  • GXInitLightSpot - Status: Implemented - Notes: SDK parity pass done: invalid-cutoff fallback (GX_SP_OFF) and all GX_SP_* coefficient formulas match SDK behavior.
  • GXInitLightDistAttn - Status: Implemented - Notes: SDK parity pass done: invalid reference inputs force GX_DA_OFF, and all GX_DA_* distance-attenuation formulas match SDK behavior.
  • GXInitLightShininess - Status: Implemented - Notes: Official macro API; added SDK-compatible macro mapping to GXInitLightAttn.
  • GXInitLightPos - Status: Implemented - Notes: Verified light position vector write.
  • GXInitLightPosv - Status: Implemented - Notes: Official macro API; added SDK-compatible vector macro wrapper.
  • GXInitLightDir - Status: Implemented - Notes: Verified GX sign convention (stores negated direction for HW-facing vector).
  • GXInitLightDirv - Status: Implemented - Notes: Official macro API; added SDK-compatible vector macro wrapper.
  • GXInitSpecularDir - Status: Implemented - Notes: Verified half-vector setup and effectively-infinite light position behavior.
  • GXInitSpecularDirv - Status: Implemented - Notes: Official macro API; added SDK-compatible vector macro wrapper.
  • GXInitSpecularDirHA - Status: Implemented - Notes: Verified user-provided half-angle setup and infinite-position behavior.
  • GXInitSpecularDirHAv - Status: Implemented - Notes: Official macro API; added SDK-compatible dual-vector macro wrapper.
  • GXInitLightColor - Status: Implemented - Notes: Verified color storage/packing in light object.
  • GXLoadLightObjImm - Status: Implemented - Notes: Verified immediate light-object load into selected hardware light slot/state.
  • GXLoadLightObjIndx - Status: Partial - Notes: Added indexed load via GXSetArray(GX_LIGHT_ARRAY, ...) source; cache-coherency/hardware fetch semantics are approximated on PC.
  • GXSetChanAmbColor - Status: Implemented - Notes: Verified channel ambient color updates including packed GX_COLOR0A0/GX_COLOR1A1 handling.
  • GXSetChanMatColor - Status: Implemented - Notes: Verified channel material color updates including packed GX_COLOR0A0/GX_COLOR1A1 handling.
  • GXSetChanCtrl - Status: Implemented - Notes: Verified channel control state (enable/src/mask/diffuse/attenuation) update path.
  • GXSetNumChans - Status: Implemented - Notes: Verified SDK range (0..2) semantics and added fail-soft clamp for out-of-range values.
  • GXGetLightAttnA - Status: Implemented - Notes: Verified angular attenuation getter output.
  • GXGetLightAttnK - Status: Implemented - Notes: Verified distance attenuation getter reads k0/k1/k2 from light object state.
  • GXGetLightPos - Status: Implemented - Notes: Verified light position getter returns x/y/z directly from light object state.
  • GXGetLightPosv - Status: Implemented - Notes: Verified macro-only API forwarding to GXGetLightPos with vector component pointers.
  • GXGetLightDir - Status: Implemented - Notes: Verified direction getter returns API-space direction (negated stored vector).
  • GXGetLightDirv - Status: Implemented - Notes: Verified macro-only API forwarding to GXGetLightDir with vector component pointers.
  • GXGetLightColor - Status: Implemented - Notes: Verified light color getter returns RGBA channels from light object state.

Texture Coordinate Generation

  • GXSetTexCoordGen - Status: Partial - Notes: Verified 4-arg SDK wrapper semantics (GX_FALSE + GX_PTIDENTITY via GXSetTexCoordGen2), accepted-domain validation, per-vertex TEXnMTXIDX override path, and active SRTG/emboss texgen behavior; remaining gaps are non-bit-exact emboss edge cases and unenforced manual ordering constraints.
  • GXSetNumTexGens - Status: Partial - Notes: Verified docs-range clamp (0..8) and state update semantics; count now gates TEV texture-coordinate availability on PC path including GX_TEXCOORD0..7 routing for implemented TEV stages, with remaining full 16-stage backend parity still pending.
  • GXSetTexCoordGen2 (HW2) - Status: Partial - Notes: Implemented normalize/postmtx handling for regular texgens (shader plumb-through, 8-texgen uniform upload, and documented MTX2x4 fast-path behavior), plus active SRTG/emboss paths; remaining gaps are non-bit-exact emboss edge cases and unenforced manual ordering constraints.
  • GXSetTexCoordScaleManually - Status: Partial - Notes: Verified SDK semantics and implemented per-texcoord manual scale override (enable/ss/ts) in runtime+shader before TEV sampling; automatic SU map-size scaling behavior remains approximate on PC backend.
  • GXSetTexCoordCylWrap - Status: Partial - Notes: Implemented API/runtime symbol and per-texcoord S/T cylindrical-wrap state with shader-side seam remap approximation; hardware SU interpolation/clipping edge behavior remains non-bit-exact.

Texture

  • GXInitTexObj - Status: Implemented - Notes: Verified against SDK docs/source; initializes object state/pointer/size/format/wrap, applies correct mip/non-mip default min-filter behavior (including CI mipmap default), and computes default max LOD from dimensions.
  • GXInitTexObjCI - Status: Implemented - Notes: Verified SDK parity: delegates to GXInitTexObj, then records CI format + TLUT name; CI mipmap default filter behavior is preserved via base init path.
  • GXInitTexObjLOD - Status: Partial - Notes: Verified SDK-style input/range handling (filter/lod/aniso clamps) and state writes; backend still has emulator-style limitations for full lod_bias/bias_clamp/edge/aniso effect.
  • GXInitTexObjUserData - Status: Implemented - Notes: Verified SDK parity for signature + behavior (void* attachment); pointer is stored per GXTexObj and returned by GXGetTexObjUserData.
  • GXLoadTexObj - Status: Partial - Notes: Verified callback-driven load semantics and fixed GX sampler parity (min/mag filters, LOD, aniso mapping); still partial due to TMEM/HW-specific behavior approximations.
  • GXInitTlutObj - Status: Implemented - Notes: Verified SDK-style TLUT object init (pointer/format/entry-count) with fail-soft entry clamp (<=0x4000) and format bounds on PC.
  • GXLoadTlut - Status: Implemented - Notes: Verified callback-driven TLUT load semantics (GXSetTlutRegionCallBack) and backend TLUT state binding; added fail-soft callback fallback and region-size safety clamp.
  • GXInitTexCacheRegion - Status: Partial - Notes: SDK-style cache-region packing/normalization added (32B alignment masking + valid size-domain mapping, including odd NONE); TMEM hardware/banking semantics remain approximated on PC backend.
  • GXInitTexPreLoadRegion - Status: Partial - Notes: SDK-style preload-region packing/metadata added (32B-aligned TMEM/size normalization, preload image1/image2, and size-unit storage); TMEM hardware semantics remain approximated on PC backend.
  • GXInitTlutRegion - Status: Partial - Notes: SDK-style TLUT-region packing/normalization added (512B TMEM alignment, size clamp, packed loadTlut1-equivalent state); TMEM allocator/hardware semantics remain approximated on PC backend.
  • GXInvalidateTexRegion - Status: Partial - Notes: Replaced stub with region-overlap based software cache eviction (captures region metadata on load and invalidates matching entries); remains approximate versus hardware TMEM tag invalidation.
  • GXInvalidateTexAll - Status: Implemented - Notes: Replaced no-op with full software texture-cache invalidation and active texmap unbind, matching SDK intent to force texture reload.
  • GXSetTexRegionCallBack - Status: Partial - Notes: Added compatibility alias + callback registration/return-old behavior; NULL restores default callback and callback is invoked from GXLoadTexObj, but TMEM region policy is approximated on PC backend.
  • GXSetTlutRegionCallBack - Status: Partial - Notes: Implemented callback registration/return-old behavior with default fallback; both SDK spelling variants (Callback/CallBack) are source-compatible via aliasing, and callback is invoked from TLUT/CI load paths while TMEM region semantics remain approximate.
  • GXPreLoadEntireTexture - Status: Partial - Notes: Implemented API with PC approximation (forces upload path, restores prior texmap-0 binding, and records explicit preload-region metadata for region-based invalidation); true TMEM preloading is not emulated.
  • GXLoadTexObjPreLoaded - Status: Partial - Notes: Implemented explicit-region texture load path with SDK-aligned texture-region callback bypass (explicit region forced) while retaining TLUT callback path for CI textures; preload/TMEM behavior remains approximated.
  • GXGetTexObjData - Status: Implemented - Notes: Getter returns texture image pointer from object state.
  • GXGetTexObjWidth - Status: Implemented - Notes: Parity-checked vs SDK; getter returns texture width from object state.
  • GXGetTexObjHeight - Status: Implemented - Notes: Parity-checked vs SDK; getter returns texture height from object state.
  • GXGetTexObjFmt - Status: Implemented - Notes: Parity-checked vs SDK; getter returns texture format.
  • GXGetTexObjWrapS - Status: Implemented - Notes: Parity-checked vs SDK; getter returns S wrap mode.
  • GXGetTexObjWrapT - Status: Implemented - Notes: Parity-checked vs SDK; getter returns T wrap mode.
  • GXGetTexObjMipMap - Status: Implemented - Notes: Parity-checked vs SDK; getter returns mipmap enable flag.
  • GXGetTexObjUserData - Status: Implemented - Notes: Parity-checked vs SDK; returns pointer set by GXInitTexObjUserData (Porpoise null-object path returns NULL).
  • GXGetTexObjAll - Status: Implemented - Notes: Parity-checked vs SDK; aggregate getter (data/size/format/wrap/mipmap) with nullable-out-pointer convenience.
  • GXGetTlutObjData - Status: Implemented - Notes: Parity-checked vs SDK; getter returns TLUT data pointer.
  • GXGetTlutObjFmt - Status: Implemented - Notes: Parity-checked vs SDK; getter returns TLUT format.
  • GXGetTlutObjNumEntries - Status: Implemented - Notes: Parity-checked vs SDK; getter returns TLUT entry count.
  • GXGetTlutObjAll - Status: Implemented - Notes: Parity-checked vs SDK; aggregate TLUT getter (lut/fmt/n_entries) with nullable-out-pointer convenience.
  • GXGetTexBufferSize - Status: Implemented - Notes: Parity-checked vs SDK tile/block math + mip accumulation; known divergence: fail-soft validation and explicit GX_CTF_YUVA8 handling.

Texture Environment

  • GXSetTevOp - Status: Implemented - Notes: Parity-checked vs SDK helper wiring for MODULATE/DECAL/BLEND/REPLACE/PASSCLR; stage 0 uses raster color/alpha and later stages use CPREV/APREV (invalid-mode path is fail-soft vs SDK assert).
  • GXSetTevColorIn - Status: Implemented - Notes: Parity-checked vs SDK stage arg wiring; HW2-style no implicit swap-mode mutation; invalid-range handling is fail-soft vs SDK assert.
  • GXSetTevAlphaIn - Status: Implemented - Notes: Parity-checked vs SDK stage arg wiring; invalid-range handling is fail-soft vs SDK assert.
  • GXSetTevColorOp - Status: Implemented - Notes: Parity-checked for state wiring; known divergence: PC shader path does not yet fully emulate GX_TEV_COMP_* compare semantics.
  • GXSetTevAlphaOp - Status: Implemented - Notes: Parity-checked for state wiring; known divergence: PC shader path does not yet fully emulate GX_TEV_COMP_* compare semantics.
  • GXSetTevColor - Status: Implemented - Notes: Parity-checked vs SDK constant-register update semantics; PC backend stores normalized float state for shader path.
  • GXSetTevColorS10 - Status: Implemented - Notes: Parity-checked signed-10-bit handling: components are wrapped through TEV 11-bit register semantics (& 0x7FF + sign extension) before backend /255 normalization.
  • GXSetTevClampMode (HW1) - Status: Implemented - Notes: Parity-checked HW1 clamp-mode emulation (GX_TC_LINEAR/LE/GE/EQ) now applied at TEV register writeout in shader, driven by per-stage mode + color/alpha clamp flags.
  • GXSetAlphaCompare - Status: Implemented - Notes: Parity-checked dual alpha compare + combine (comp0/ref0 op comp1/ref1); compare/op fields are masked to hardware bit widths before shader evaluation.
  • GXSetTevKColorSel (HW2) - Status: Implemented - Notes: Parity-checked per-stage konst-color selector state with hardware-width masking (sel & 0x1F).
  • GXSetTevKAlphaSel (HW2) - Status: Implemented - Notes: Parity-checked per-stage konst-alpha selector state with hardware-width masking (sel & 0x1F).
  • GXSetTevKColor (HW2) - Status: Implemented - Notes: Parity-checked konst-color register update (GX_KCOLOR0..3), stored for TEV shader evaluation via u_kcolor.
  • GXSetTevSwapMode (HW2) - Status: Implemented - Notes: Parity-checked per-stage raster/texture swap selectors with hardware-width masking (ras_sel/tex_sel & 0x3).
  • GXSetTevSwapModeTable (HW2) - Status: Implemented - Notes: Parity-checked swap-table channel routing for all four tables with hardware-width masking on per-channel selectors (& 0x3).
  • GXSetTevOrder - Status: Implemented - Notes: Parity-checked vs SDK GXTev.c: applies map normalization (map & ~GX_TEX_DISABLE, fallback to GX_TEXMAP0), coord normalization (GX_TEXCOORD_NULL -> GX_TEXCOORD0), and explicit texture-lookup enable from map != GX_TEXMAP_NULL && !(map & GX_TEX_DISABLE).
  • GXSetZTexture - Status: Partial - Notes: Parity-checked vs SDK: validates op (DISABLE/ADD/REPLACE), validates fmt (Z8/Z16/Z24X8, fail-soft fallback), keeps bias as unsigned u24, sources z-texture from last active TEV stage, and applies add/replace+bias in u24-style depth arithmetic before depth write.
  • GXSetNumTevStages - Status: Implemented - Notes: Parity-checked vs SDK/manual: enforces minimum 1 stage and maximum 16 stages (PC_GX_MAX_TEV_STAGES = 16) with fail-soft clamp in PC backend (SDK asserts in debug); updates active TEV stage count used by shader/runtime.

Indirect Texturing

  • GXSetNumIndStages - Status: Implemented - Notes: Parity-checked vs SDK GXBump.c: sets active indirect-stage count (0..GX_MAX_INDTEXSTAGE), now flushes pending begin state before update, and uses fail-soft clamp where SDK uses debug assert.
  • GXSetIndTexOrder - Status: Implemented - Notes: Parity-checked vs SDK GXBump.c: maps GX_TEXMAP_NULL/GX_TEXCOORD_NULL to stage-0 selectors, validates ranges, and updates indirect stage mapping (fail-soft where SDK uses debug asserts).
  • GXSetIndTexCoordScale - Status: Implemented - Notes: Parity-checked vs SDK GXBump.c: begin-safe stage programming for indirect S/T scale selectors (GX_INDTEXSTAGE0..3) with fail-soft clamp for out-of-range scale enums.
  • GXSetIndTexMtx - Status: Implemented - Notes: Parity-checked vs SDK GXBump.c: begin-safe update, matrix-id decode with invalid-id fallback to slot 0, fixed-point-equivalent coefficient quantization, and (scale_exp+17) exponent semantics reflected in runtime.
  • GXSetTevIndWarp - Status: Implemented - Notes: Parity-checked vs SDK GXBump.c: canonical wrapper (GX_ITF_8) with signed_offset -> GX_ITB_STU/NONE, replace_mode -> GX_ITW_0/OFF, and no add-prev/utc-lod/bump-alpha.
  • GXSetTevIndTile - Status: Partial - Notes: Parity-checked vs SDK GXBump.c: tile-size->wrap decode, tilespacing/1024 matrix construction, GXSetIndTexMtx(...,10), and GXSetTevIndirect(..., add_prev=FALSE, utc_lod=TRUE) match; overall status remains Partial due shared GXSetTevIndirect backend approximation.
  • GXSetTevIndBumpST - Status: Implemented - Notes: Parity-checked vs SDK GXBump.c: 3-stage helper sequence (S*, T*, feedback stage) and parameters match; invalid matrix selection remains fail-soft (SDK debug assert equivalent).
  • GXSetTevIndRepeat - Status: Implemented - Notes: Parity-checked vs SDK GXBump.c: wrapper over GXSetTevIndirect using add_prev=TRUE, GX_ITW_0/GX_ITW_0, GX_ITM_OFF, and GX_ITBA_OFF.
  • GXSetTevIndBumpXYZ - Status: Implemented - Notes: Parity-checked vs SDK GXBump.c: single-stage wrapper over GXSetTevIndirect using GX_ITF_8, GX_ITB_STU, wrap OFF/OFF, no add-prev, no utc-lod, and bump alpha OFF.
  • GXSetTevIndirect - Status: Partial - Notes: Parity pass added begin-safe update plus shader-side GX_ITF_* quantization, per-component bias behavior, add_prev chaining, and utc_lod (LOD from unmodified coords); bump-alpha (alpha_sel) remains approximate.
  • GXSetTevDirect - Status: Implemented - Notes: Parity-checked vs SDK GXBump.c: canonical wrapper over GXSetTevIndirect with direct-mode settings (GX_ITM_OFF, wrap off, no add-prev, no utc_lod, no bump alpha).

Pixel Processing

  • GXSetFog - Status: Implemented - Notes: Implemented typed fog state programming (type/start/end/near/far/color) and shader uniform upload path.
  • GXInitFogAdjTable - Status: Partial - Notes: API implemented, but backend currently uses simplified/no-op fog adjustment table behavior rather than full hardware projection-derived table.
  • GXSetFogRangeAdj - Status: Partial - Notes: API/state path implemented; range-adjust effect is currently approximated/not fully emulated on PC backend.
  • GXSetBlendMode - Status: Implemented - Notes: Implemented blend mode/factors/op state tracking with GL blend-state application.
  • GXSetColorUpdate - Status: Implemented - Notes: Implemented EFB color write mask control via GL color mask state.
  • GXSetAlphaUpdate - Status: Implemented - Notes: Implemented EFB alpha write mask control via GL color mask alpha channel state.
  • GXSetZMode - Status: Implemented - Notes: Implemented depth compare enable/function and depth write enable mapping to GL depth state.
  • GXSetZCompLoc - Status: Partial - Notes: API implemented and tracked (before_tex), but compare-before/after-texture hardware nuance is not fully emulated.
  • GXSetPixelFmt - Status: Partial - Notes: API implemented and tracked (pix_fmt/z_fmt), but PC backend currently renders to a fixed GL framebuffer format.
  • GXSetDither - Status: Implemented - Notes: Implemented dither enable/disable state and GL dither toggling.
  • GXSetDstAlpha - Status: Partial - Notes: API/state implemented (enable/value tracked); full EFB constant destination-alpha semantics are not fully emulated.
  • GXSetFieldMode - Status: Partial - Notes: API/state implemented and tracked (field_mode/half_aspect_ratio); field-render specific behavior is not fully emulated on PC.
  • GXSetFieldMask - Status: Partial - Notes: API/state implemented and tracked (odd/even field masks); field-mask raster behavior is not fully emulated on PC.

Frame Buffer

Render Modes

  • GXAdjustForOverscan - Status: Implemented - Notes: Implemented docs-style overscan reduction for fb/efb/xfb/vi sizes and origin offsets, including SF interlace handling.
  • GXSetDispCopySrc - Status: Implemented - Notes: Implemented source rectangle state used by GXCopyDisp.
  • GXSetDispCopyDst - Status: Implemented - Notes: Implemented destination XFB dimensions used by GXCopyDisp output packing.
  • GXSetDispCopyFrame2Field - Status: Implemented - Notes: Implemented GXCopyMode state (PROGRESSIVE/INTLC_EVEN/INTLC_ODD) and applied during display-copy sampling.
  • GXSetDispCopyGamma - Status: Partial - Notes: Implemented gamma state and applied on GXCopyDisp RGB565 packing path; hardware-exact EFB/XFB gamma pipeline behavior is approximated.
  • GXSetDispCopyYScale - Status: Partial - Notes: Implemented yscale register packing + returned XFB-line count via GXGetNumXfbLines-style math; exact hardware quantization nuances are approximated.
  • GXSetTexCopySrc - Status: Implemented - Notes: Implemented texture-copy source rectangle state.
  • GXSetTexCopyDst - Status: Partial - Notes: Implemented destination size/format/mipmap state; backend behavior is split between software texture packing and PC enhancement capture paths.
  • GXSetCopyClear - Status: Implemented - Notes: Implemented copy clear color/depth state used by GXCopyDisp/GXCopyTex clear operations.
  • GXSetCopyFilter - Status: Partial - Notes: Implemented API/state capture for AA sample pattern + vertical filter; filtering effect is approximated in PC backend.
  • GXSetCopyClamp - Status: Partial - Notes: Implemented clamp mode state with practical handling in copy paths; full hardware clamp semantics are approximated.
  • GXCopyDisp - Status: Partial - Notes: Implemented display-copy readback/packing path (including frame2field + gamma state usage); behavior is emulated from GL framebuffer readback.
  • GXCopyTex - Status: Partial - Notes: Implemented EFB-to-texture copy with broad format support and clear option; format/layout behavior is emulated/approximated on PC.
  • GXClearBoundingBox - Status: Partial - Notes: Implemented API and state reset; bounding box is emulated, not hardware rasterized.
  • GXReadBoundingBox - Status: Partial - Notes: Implemented API readback from emulated bounding-box state; values are approximation-based on draw coverage.

CPU Direct EFB Access

  • GXPokeAlphaMode - Status: Implemented - Notes: Implemented CPU-EFB alpha-compare state (func + threshold) and applied in GXPokeARGB.
  • GXPokeAlphaRead - Status: Implemented - Notes: Implemented alpha-read mode state (GX_READ_00, GX_READ_FF, GX_READ_NONE) and applied in GXPeekARGB for no-alpha pixel formats.
  • GXPokeAlphaUpdate - Status: Implemented - Notes: Implemented CPU-EFB alpha write-mask state and applied in GXPokeARGB.
  • GXPokeBlendMode - Status: Partial - Notes: Implemented mode/factor/op state and software blend path for GXPokeARGB; behavior is emulated, not hardware-identical.
  • GXPokeColorUpdate - Status: Implemented - Notes: Implemented CPU-EFB color write-mask state and applied in GXPokeARGB.
  • GXPokeDstAlpha - Status: Implemented - Notes: Implemented constant destination-alpha state and applied on CPU color pokes.
  • GXPokeDither - Status: Partial - Notes: Implemented poke-dither state with RGB565 quantization approximation for CPU color poke writes.
  • GXPokeZMode - Status: Implemented - Notes: Implemented CPU-EFB depth compare/update state and applied in GXPokeZ.
  • GXPokeARGB - Status: Partial - Notes: Implemented CPU direct EFB color poke path via per-pixel read/modify/write emulation (alpha test, blend, masks, dst alpha).
  • GXPeekARGB - Status: Partial - Notes: Implemented CPU EFB color readback via GL readback with alpha-read-mode handling for no-alpha formats.
  • GXPokeZ - Status: Partial - Notes: Implemented CPU direct EFB depth poke with compare/update control; uses emulated per-pixel GL depth write.
  • GXPeekZ - Status: Partial - Notes: Implemented CPU EFB depth readback and 16-bit compression path selection when EFB format is Z16.
  • GXCompressZ16 - Status: Implemented - Notes: Implemented docs/SDK-style 24-bit to 16-bit Z compression for GX_ZC_LINEAR/NEAR/MID/FAR.
  • GXDecompressZ16 - Status: Implemented - Notes: Implemented docs/SDK-style 16-bit to 24-bit Z decompression for GX_ZC_LINEAR/NEAR/MID/FAR.

Graphics FIFO

  • GXInitFifoBase - Status: Implemented - Notes: Implemented FIFO base/size init, pointer reset, and SDK-style default watermark initialization.
  • GXInitFifoPtrs - Status: Implemented - Notes: Implemented read/write pointer initialization (defaults to base when null).
  • GXInitFifoLimits - Status: Implemented - Notes: Implemented high/low watermark state programming.
  • GXSetCPUFifo - Status: Implemented - Notes: Implemented CPU FIFO attachment state.
  • GXGetCPUFifo - Status: Implemented - Notes: Implemented current CPU FIFO getter.
  • GXSetGPFifo - Status: Implemented - Notes: Implemented GP FIFO attachment state.
  • GXGetGPFIfo - Status: Partial - Notes: Added compatibility alias for typo-cased symbol; official SDK API name is GXGetGPFifo.
  • GXSaveCPUFifo - Status: Partial - Notes: Implemented flush + CPU FIFO state snapshot; hardware register-level save semantics are approximated.
  • GXGetFifoStatus - Status: Partial - Notes: Implemented count/overhi/underlow/cpu_write/gp_read/fifowrap using emulated FIFO state.
  • GXGetFifoPtrs - Status: Implemented - Notes: Implemented read/write pointer getters from current FIFO object.
  • GXGetGPStatus - Status: Partial - Notes: Implemented status reporting (watermarks/idle/breakpoint) from emulated GP/FIFO state.
  • GXEnableBreakPt - Status: Partial - Notes: Implemented breakpoint address tracking and callback trigger in emulated FIFO path.
  • GXDisableBreakPt - Status: Implemented - Notes: Implemented breakpoint disable/reset state.
  • GXSetBreakPtCallback - Status: Implemented - Notes: Implemented callback registration with previous callback return.
  • GXGetCurrentGXThread - Status: Implemented - Notes: Implemented getter for tracked current GX thread.
  • GXSetCurrentGXThread - Status: Implemented - Notes: Implemented set-to-calling-thread behavior with previous thread return.

Graphics Pipeline Management

  • GXInit - Status: Implemented - Notes: Verified header/API coverage for pipeline-management callbacks and sync state; PC backend initializes draw-sync/draw-done/verify defaults.
  • GXAbortFrame - Status: Partial - Notes: Verified it aborts current in-flight immediate submission state; full hardware GP reset/FIFO scrub behavior is not emulated.
  • GXSetDrawSync - Status: Partial - Notes: Verified token is stored and flushed; callback is delivered on PC backend, but interrupt-driven end-of-pipe timing is approximated.
  • GXReadDrawSync - Status: Implemented - Notes: Verified returns latest draw-sync token value per emulator-style semantics.
  • GXSetDrawSyncCallback - Status: Implemented - Notes: Verified callback registration API and previous-callback return behavior.
  • GXDrawDone - Status: Implemented - Notes: Verified composed sync path (SetDrawDone + WaitDrawDone) with backend flush/finish.
  • GXSetDrawDone - Status: Partial - Notes: Verified draw-done marker/pending state setup and command flush; hardware interrupt behavior is approximated.
  • GXWaitDrawDone - Status: Implemented - Notes: Verified wait path drains pending draw-done with glFinish and then fires registered callback once.
  • GXSetDrawDoneCallback - Status: Implemented - Notes: Verified callback registration + return-old semantics.
  • GXFlush - Status: Implemented - Notes: Verified pending primitive commit + GL flush path.
  • GXPixModeSync - Status: Partial - Notes: Verified explicit pipeline sync point exists (glFinish barrier); hardware command-stream sync semantics are approximated.
  • GXTexModeSync - Status: Partial - Notes: Verified explicit texture-pipeline sync barrier behavior on PC backend (glFinish approximation).
  • GXSetVerifyLevel - Status: Partial - Notes: Verified verify level enum/type and state storage are implemented; full GX debug warning generation is not yet wired.
  • GXSetVerifyCallback - Status: Partial - Notes: Verified callback registration/return-old behavior; warning callback dispatch depends on future verify warning emitters.
  • GXRedirectWriteGatherPipe - Status: Partial - Notes: Verified API/state surface and sync points; hardware write-gather port remap semantics are emulated as lightweight state only.
  • GXRestoreWriteGatherPipe - Status: Partial - Notes: Verified restore/sync API path; hardware write-gather flush/rebind behavior is approximated on PC.

Performance Metrics

  • GXSetGPMetric - Status: Implemented - Notes: Added SDK-compatible API + metric selector state (GXPerf0/GXPerf1) and counter reset behavior.
  • GXReadGPMetric - Status: Partial - Notes: API implemented and returns emulated GP counters; hardware perf registers are not available on PC backend.
  • GXClearGPMetric - Status: Implemented - Notes: Added counter clear/reset behavior.
  • GXSetGP0Metric - Status: Implemented - Notes: Added SDK-compatible convenience macro wrapper to GXSetGPMetric(perf0, GX_PERF1_NONE).
  • GXReadGP0Metric - Status: Partial - Notes: API implemented and returns emulated counter-0 value.
  • GXClearGP0Metric - Status: Implemented - Notes: Added SDK-compatible convenience macro wrapper to GXClearGPMetric().
  • GXSetGP1Metric - Status: Implemented - Notes: Added SDK-compatible convenience macro wrapper to GXSetGPMetric(GX_PERF0_NONE, perf1).
  • GXReadGP1Metric - Status: Partial - Notes: API implemented and returns emulated counter-1 value.
  • GXClearGP1Metric - Status: Implemented - Notes: Added SDK-compatible convenience macro wrapper to GXClearGPMetric().
  • GXSetVCacheMetric - Status: Implemented - Notes: Added vertex-cache metric selector state (GXVCachePerf) and API surface.
  • GXReadVCacheMetric - Status: Partial - Notes: API implemented and returns emulated counters (check/miss/stall), currently zeroed on PC backend.
  • GXClearVCacheMetric - Status: Implemented - Notes: Added vertex-cache metric counter clear path.
  • GXReadMemMetric - Status: Partial - Notes: Added API surface for all ten memory counters with emulated values.
  • GXClearMemMetric - Status: Implemented - Notes: Added memory counter clear/reset behavior.
  • GXReadPixMetric - Status: Partial - Notes: Added API surface for six pixel counters with emulated values.
  • GXClearPixMetric - Status: Implemented - Notes: Added pixel counter clear/reset behavior.

Vertex Performance Calculator

Procedural Models

  • GXDrawCube - Status: Implemented - Notes: Verified against SDK source/docs; normalized cube (edge length 2/sqrt(3)), saves/restores VCD+VAT state, optional NBT/TEX0 generation matches Nintendo path.
  • GXDrawCylinder - Status: Implemented - Notes: Verified unit cylinder generation (r=1, h=2) with side strip + cap fans and VCD/VAT state save/restore behavior.
  • GXDrawDodeca - Status: Implemented - Notes: Verified fixed dodecahedron vertex/polygon tables and flat-shaded face normals (triangle-fan per pentagon) with state preservation.
  • GXDrawIcosahedron - Status: Implemented - Notes: Verified SDK icosahedron tables + smooth normal emission through shared subdivision helper.
  • GXDrawOctahedron - Status: Implemented - Notes: Verified SDK octahedron table path through subdivision helper at depth 0 with state preservation.
  • GXDrawSphere - Status: Implemented - Notes: Verified latitude/longitude strip sphere and optional TEX0 generation path per docs.
  • GXDrawSphere1 - Status: Implemented - Notes: Verified recursive icosahedron subdivision sphere (depth levels) and state save/restore semantics.
  • GXDrawTorus - Status: Implemented - Notes: Updated to SDK-compatible triangle-strip formulation/sign conventions (position, normal, optional TEX0), preserving VCD/VAT save/restore behavior.

Structures

  • GXColor - Status: Implemented - Notes: Verified 1:1 RGBA u8 layout in public header.
  • GXColorS10 - Status: Implemented - Notes: Verified 1:1 signed TEV color layout (s16 r/g/b/a).
  • GXFifoObj - Status: Partial - Notes: Public API exposes opaque handle type (forward declaration) and concrete storage is private in backend (pc_gx.c); differs from SDK placeholder-style public struct layout.
  • GXLightObj - Status: Implemented - Notes: Verified 16-word opaque light object storage (u32[16]) matching SDK-style abstraction.
  • GXRenderModeObj - Status: Implemented - Notes: Verified field order/shape (VI mode, FB/EFB/XFB sizes, AA sample pattern, vfilter) against Dolphin headers.
  • GXTexObj - Status: Partial - Notes: API/behavior implemented; PC build uses extended backing storage (u32[22]) instead of hardware-sized object (u32[8]).
  • GXTexRegion - Status: Partial - Notes: API/behavior implemented; PC build uses extended region backing (u32[8]) for cache/preload bookkeeping vs hardware-sized region (u32[4]).
  • GXTlutObj - Status: Partial - Notes: API/behavior implemented; PC build uses u32[4] backing while hardware docs describe u32[3].
  • GXTlutRegion - Status: Implemented - Notes: Verified 4-word region object layout (u32[4]) in public header.
  • GXVtxAttrFmtList - Status: Implemented - Notes: Verified attribute format tuple layout (attr/cnt/type/frac) matches SDK signatures.
  • GXVtxDescList - Status: Implemented - Notes: Verified descriptor pair layout (attr/type) matches SDK signatures.
  • GXFogAdjTable - Status: Implemented - Notes: Verified fog adjustment table layout (u16 r[10]) in public header.

Enumerated Types

  • GXAlphaOp - Status: Implemented - Notes: Verified enum + constants (GX_AOP_*) in GXEnum.h, matching Dolphin reference ordering.
  • GXAlphaReadMode - Status: Implemented - Notes: Verified enum exists with expected values (GX_READ_00=0, GX_READ_FF=1, GX_READ_NONE=2).
  • GXAnisotropy - Status: Implemented - Notes: Verified enum + constants (GX_ANISO_1/2/4) in GXEnum.h.
  • GXAttnFn - Status: Implemented - Notes: Verified enum + constants (GX_AF_SPEC/SPOT/NONE) in GXEnum.h.
  • GXAttr - Status: Implemented - Notes: Verified vertex attribute enum set (GX_VA_*) and sentinel (GX_VA_NULL=0xFF).
  • GXAttrType - Status: Implemented - Notes: Verified enum constants (GX_NONE, GX_DIRECT, GX_INDEX8, GX_INDEX16).
  • GXBlendFactor - Status: Implemented - Notes: Verified blend-factor enum + compatibility aliases (GX_BL_DSTCOL, etc.).
  • GXBlendMode - Status: Implemented - Notes: Verified blend-mode enum (GX_BM_*) in GXEnum.h.
  • GXBool - Status: Implemented - Notes: Verified platform typedef (bool on TARGET_PC, u8 otherwise) and GX_TRUE/GX_FALSE.
  • GXChannelID - Status: Implemented - Notes: Verified channel-id enum (GX_COLOR0..GX_COLOR_NULL) in GXEnum.h.
  • GXCITexFmt - Status: Implemented - Notes: Verified CI texture-format enum (GX_TF_C4/C8/C14X2).
  • GXClipMode - Status: Implemented - Notes: Verified clip-mode enum (GX_CLIP_ENABLE, GX_CLIP_DISABLE) in GXEnum.h.
  • GXColorSrc - Status: Implemented - Notes: Verified enum (GX_SRC_REG, GX_SRC_VTX) in GXEnum.h.
  • GXCompare - Status: Implemented - Notes: Verified compare-function enum (GX_NEVER..GX_ALWAYS) in GXEnum.h.
  • GXCompCnt - Status: Implemented - Notes: Verified component-count enum values for POS/NRM/CLR/TEX paths.
  • GXCompType - Status: Implemented - Notes: Verified component-type enum values (numeric + packed color formats).
  • GXCopyMode - Status: Implemented - Notes: Verified enum exists (GX_COPY_PROGRESSIVE, GX_COPY_INTLC_EVEN, GX_COPY_INTLC_ODD) with SDK-compatible values.
  • GXCullMode - Status: Implemented - Notes: Verified enum set (GX_CULL_NONE/FRONT/BACK/ALL) in GXEnum.h, matching Dolphin reference.
  • GXDiffuseFn - Status: Implemented - Notes: Verified enum set (GX_DF_NONE/SIGN/CLAMP) in GXEnum.h.
  • GXDistAttnFn - Status: Implemented - Notes: Verified enum set (GX_DA_OFF/GENTLE/MEDIUM/STEEP) in GXEnum.h.
  • GXFBClamp - Status: Implemented - Notes: Verified framebuffer clamp flags (GX_CLAMP_TOP=1, GX_CLAMP_BOTTOM=2) in GXEnum.h.
  • GXFogType - Status: Implemented - Notes: Verified full fog type enum (perspective/ortho variants + aliases) in GXEnum.h.
  • GXGamma - Status: Implemented - Notes: Verified gamma enum (GX_GM_1_0, GX_GM_1_7, GX_GM_2_2) in GXEnum.h.
  • GXIndTexAlphaSel - Status: Implemented - Notes: Verified indirect alpha select enum (GX_ITBA_*) in GXEnum.h.
  • GXIndTexBiasSel - Status: Implemented - Notes: Verified indirect bias select enum (GX_ITB_*) in GXEnum.h.
  • GXIndTexFormat - Status: Implemented - Notes: Verified indirect texture format enum (GX_ITF_*) in GXEnum.h.
  • GXIndTexMtxID - Status: Implemented - Notes: Verified indirect matrix id enum (GX_ITM_*) in GXEnum.h.
  • GXIndTexScale - Status: Implemented - Notes: Verified indirect scale enum (GX_ITS_*) in GXEnum.h.
  • GXIndTexStageID - Status: Implemented - Notes: Verified indirect stage id enum (GX_INDTEXSTAGE0..3) in GXEnum.h.
  • GXIndTexWrap - Status: Implemented - Notes: Verified indirect wrap enum (GX_ITW_*) in GXEnum.h.
  • GXLightID - Status: Implemented - Notes: Verified light bitmask enum (GX_LIGHT0..GX_LIGHT7, GX_LIGHT_NULL) in GXEnum.h.
  • GXLogicOp - Status: Implemented - Notes: Verified full logic-op enum (GX_LO_*) in GXEnum.h.
  • GXPerf0 - Status: Implemented - Notes: Verified perf counter-0 selector enum exists in GXEnum.h (including GX_PERF0_NONE).
  • GXPerf1 - Status: Implemented - Notes: Verified perf counter-1 selector enum exists in GXEnum.h (including GX_PERF1_NONE).
  • GXPixelFmt - Status: Implemented - Notes: Verified pixel format enum (GX_PF_*) in GXEnum.h.
  • GXPosNrmMtx - Status: Implemented - Notes: Verified position/normal matrix register enum (GX_PNMTX0..9) in GXEnum.h.
  • GXPrimitive - Status: Implemented - Notes: Verified primitive command enum with SDK opcode values (0x80..0xB8) in GXEnum.h.
  • GXProjectionType - Status: Implemented - Notes: Verified projection enum (GX_PERSPECTIVE, GX_ORTHOGRAPHIC) in GXEnum.h.
  • GXPTTexMtx - Status: Implemented - Notes: Verified post-transform texture matrix enum (GX_PTTEXMTX*, GX_PTIDENTITY) in GXEnum.h.
  • GXSpotFn - Status: Implemented - Notes: Verified spotlight function enum (GX_SP_*) in GXEnum.h.
  • GXTevAlphaArg - Status: Implemented - Notes: Verified TEV alpha argument enum (GX_CA_*) in GXEnum.h.
  • GXTevBias - Status: Implemented - Notes: Verified TEV bias enum (GX_TB_*) in GXEnum.h.
  • GXTevClampMode - Status: Implemented - Notes: Verified TEV clamp mode enum (GX_TC_LINEAR/LE/GE/EQ) in GXEnum.h.
  • GXTevColorArg - Status: Implemented - Notes: Verified TEV color argument enum (GX_CC_*) in GXEnum.h.
  • GXTevColorChan - Status: Implemented - Notes: Verified TEV swap-channel enum (GX_CH_RED/GREEN/BLUE/ALPHA) in GXEnum.h.
  • GXTevKAlphaSel - Status: Implemented - Notes: Verified TEV konst alpha selector enum (GX_TEV_KASEL_*) in GXEnum.h.
  • GXTevKColorID - Status: Implemented - Notes: Verified konst color register id enum (GX_KCOLOR0..3) in GXEnum.h.
  • GXTevKColorSel - Status: Implemented - Notes: Verified TEV konst color selector enum (GX_TEV_KCSEL_*) in GXEnum.h.
  • GXTevMode - Status: Implemented - Notes: Verified TEV convenience mode enum (GX_MODULATE, GX_DECAL, GX_BLEND, GX_REPLACE, GX_PASSCLR).
  • GXTevOp - Status: Implemented - Notes: Verified TEV operation enum (GX_TEV_ADD/SUB and compare ops) in GXEnum.h.
  • GXTevRegID - Status: Implemented - Notes: Verified TEV register-id enum (GX_TEVPREV, GX_TEVREG0..2) in GXEnum.h.
  • GXTevScale - Status: Implemented - Notes: Verified TEV scale enum (GX_CS_SCALE_*, GX_CS_DIVIDE_2) in GXEnum.h.
  • GXTevStageID - Status: Implemented - Notes: Verified TEV stage enum (GX_TEVSTAGE0..15) in GXEnum.h.
  • GXTevSwapSel - Status: Implemented - Notes: Verified TEV swap selector enum (GX_TEV_SWAP0..3) in GXEnum.h.
  • GXTexCacheSize - Status: Implemented - Notes: Verified texture cache size enum (GX_TEXCACHE_*) in GXEnum.h.
  • GXTexCoordID - Status: Implemented - Notes: Verified texture coordinate id enum (GX_TEXCOORD0..7, GX_TEXCOORD_NULL) in GXEnum.h.
  • GXTexFilter - Status: Implemented - Notes: Verified texture filter enum (GX_NEAR, GX_LINEAR, mip variants) in GXEnum.h.
  • GXTexFmt - Status: Implemented - Notes: Verified base/copy/depth texture format enum (GX_TF_*, GX_CTF_*) in GXEnum.h.
  • GXTexGenSrc - Status: Implemented - Notes: Verified texture generation source enum (GX_TG_*) in GXEnum.h.
  • GXTexGenType - Status: Implemented - Notes: Verified texture generation type enum (GX_TG_MTX*, bump, SRTG) in GXEnum.h.
  • GXTexMapID - Status: Implemented - Notes: Verified texture map id enum (GX_TEXMAP0..7, GX_TEXMAP_NULL, GX_TEX_DISABLE) in GXEnum.h.
  • GXTexMtx - Status: Implemented - Notes: Verified texture matrix enum (GX_TEXMTX0..9, GX_IDENTITY) in GXEnum.h.
  • GXTexMtxType - Status: Implemented - Notes: Verified texture matrix type enum (GX_MTX3x4, GX_MTX2x4) in GXEnum.h.
  • GXTexOffset - Status: Implemented - Notes: Verified texcoord offset enum (GX_TO_*) in GXEnum.h.
  • GXTexWrapMode - Status: Implemented - Notes: Verified texture wrap enum (GX_CLAMP, GX_REPEAT, GX_MIRROR) in GXEnum.h.
  • GXTlut - Status: Implemented - Notes: Verified TLUT name/id enum (GX_TLUT0..15, GX_BIGTLUT0..3) in GXEnum.h.
  • GXTlutFmt - Status: Implemented - Notes: Verified TLUT format enum (GX_TL_IA8, GX_TL_RGB565, GX_TL_RGB5A3) in GXEnum.h.
  • GXTlutSize - Status: Implemented - Notes: Added/verified SDK-compatible TLUT size enum (GX_TLUT_16..GX_TLUT_16K) in GXEnum.h.
  • GXVCachePerf - Status: Implemented - Notes: Verified vertex-cache perf selector enum (GX_VC_*) in GXEnum.h.
  • GXVerifyLevel - Status: Implemented - Notes: Verified verify-level enum (GX_WARN_NONE/SEVERE/MEDIUM/ALL) in GXEnum.h.
  • GXVtxFmt - Status: Implemented - Notes: Verified vertex-format enum (GX_VTXFMT0..7) in GXEnum.h.
  • GXZFmt16 - Status: Implemented - Notes: Verified 16-bit Z compression enum (GX_ZC_LINEAR/NEAR/MID/FAR) in GXEnum.h.
  • GXZTexOp - Status: Implemented - Notes: Verified Z-texture operation enum (GX_ZT_DISABLE/ADD/REPLACE) in GXEnum.h.

Color Format

  • GXPackedRGB565 - Status: Implemented - Notes: Added SDK-compatible macro in GXVert.h (packs 8-bit RGB into 16-bit RGB565).
  • GXPackedRGB5A3 - Status: Implemented - Notes: Added SDK-compatible macro in GXVert.h (switches RGB555 vs RGBA3443 path by alpha threshold).
  • GXPackedRGBA4 - Status: Implemented - Notes: Added SDK-compatible macro in GXVert.h (packs 8-bit RGBA into 16-bit RGBA4).