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 DolphinGXAttr.c. -
GXSetVtxDescv- Status: Implemented - Notes: SDK/manual parity pass done: iterates{attr,type}list toGX_VA_NULLand applies per-entryGXSetVtxDescsemantics. -
GXClearVtxDesc- Status: Implemented - Notes: SDK parity pass done: clear now restores defaultGX_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: typedconst GXVtxAttrFmtList*, iterates toGX_VA_NULL, applies per-entryGXSetVtxAttrFmtsemantics. -
GXSetArray- Status: Implemented - Notes: SDK parity pass done: typed signature,GX_VA_NBT -> GX_VA_NRMaliasing, 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 for1u8/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 POSfracinverse-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 acrossCLR0/CLR1, and shader path consumes per-vertexcolor1for 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, thenGX_VA_NBT) and terminates withGX_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: iteratesGX_VA_POS .. GX_VA_TEX7and appendsGX_VA_NULL. -
GXGetArray- Status: Implemented - Notes: Returns base/stride for SDK-style array attrs (GX_VA_POS..GX_LIGHT_ARRAY) withGX_VA_NBT -> GX_VA_NRMaliasing. -
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 withGX_NOPtail, returns0on 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 perGX_PERSPECTIVE/GX_ORTHOGRAPHIC. -
GXProject- Status: Implemented - Notes: Verified modelview+projection+viewport projection math usingGXGetProjectionvandGXGetViewportvparameter formats. -
GXLoadPosMtxImm- Status: Implemented - Notes: Verified 3x4 row-major load into PN matrix slot; tightened to documentedGXPosNrmMtxIDs. -
GXLoadPosMtxIndx- Status: Implemented - Notes: Verified indexed 3x4 load fromGX_POS_MTX_ARRAYwith documented default stride behavior. -
GXLoadNrmMtxImm- Status: Implemented - Notes: Verified 3x4 input path loads only upper-left 3x3 (translation ignored), withGXPosNrmMtxID validation. -
GXLoadNrmMtxImm3x3- Status: Implemented - Notes: Added missing API and verified direct 3x3 normal-matrix load path. -
GXLoadNrmMtxIndx3x3- Status: Implemented - Notes: Verified indexed 3x3 load fromGX_NRM_MTX_ARRAY; removed non-doc fallback from position-matrix array. -
GXSetCurrentMtx- Status: Implemented - Notes: Verified current PN matrix selection with documentedGXPosNrmMtxvalidation. -
GXLoadTexMtxImm- Status: Partial - Notes: Verified first-pass texture matrix load and correctedGX_MTX2x4vsGX_MTX3x4size handling; HW2 post-transform (GX_PTTEXMTX*) path remains unimplemented. -
GXLoadTexMtxIndx- Status: Partial - Notes: Verified indexed texture-matrix load fromGX_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_BELOWshifts top by-0.5f) before normal viewport update. -
GXSetViewportv- Status: Implemented - Notes: SDK parity pass done: directvp[0..5]forward intoGXSetViewport(...)with noNULLguard. -
GXGetProjectionv- Status: Implemented - Notes: SDK parity pass done: verified projection vector layout (type, then p0-p5) and strict pointer contract (no fail-softNULLreturn). -
GXGetViewportv- Status: Implemented - Notes: SDK parity pass done: verifiedvp[0..5]layout/order and strict pointer contract (no fail-softNULLreturn).
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 allGX_SP_*coefficient formulas match SDK behavior. -
GXInitLightDistAttn- Status: Implemented - Notes: SDK parity pass done: invalid reference inputs forceGX_DA_OFF, and allGX_DA_*distance-attenuation formulas match SDK behavior. -
GXInitLightShininess- Status: Implemented - Notes: Official macro API; added SDK-compatible macro mapping toGXInitLightAttn. -
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 viaGXSetArray(GX_LIGHT_ARRAY, ...)source; cache-coherency/hardware fetch semantics are approximated on PC. -
GXSetChanAmbColor- Status: Implemented - Notes: Verified channel ambient color updates including packedGX_COLOR0A0/GX_COLOR1A1handling. -
GXSetChanMatColor- Status: Implemented - Notes: Verified channel material color updates including packedGX_COLOR0A0/GX_COLOR1A1handling. -
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 readsk0/k1/k2from light object state. -
GXGetLightPos- Status: Implemented - Notes: Verified light position getter returnsx/y/zdirectly from light object state. -
GXGetLightPosv- Status: Implemented - Notes: Verified macro-only API forwarding toGXGetLightPoswith 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 toGXGetLightDirwith 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_PTIDENTITYviaGXSetTexCoordGen2), accepted-domain validation, per-vertexTEXnMTXIDXoverride 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 includingGX_TEXCOORD0..7routing for implemented TEV stages, with remaining full16-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 toGXInitTexObj, 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 perGXTexObjand returned byGXGetTexObjUserData. -
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 oddNONE); 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, preloadimage1/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, packedloadTlut1-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;NULLrestores default callback and callback is invoked fromGXLoadTexObj, 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 byGXInitTexObjUserData(Porpoise null-object path returnsNULL). -
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 explicitGX_CTF_YUVA8handling.
Texture Environment
-
GXSetTevOp- Status: Implemented - Notes: Parity-checked vs SDK helper wiring forMODULATE/DECAL/BLEND/REPLACE/PASSCLR; stage 0 uses raster color/alpha and later stages useCPREV/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 emulateGX_TEV_COMP_*compare semantics. -
GXSetTevAlphaOp- Status: Implemented - Notes: Parity-checked for state wiring; known divergence: PC shader path does not yet fully emulateGX_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/255normalization. -
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 viau_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 SDKGXTev.c: applies map normalization (map & ~GX_TEX_DISABLE, fallback toGX_TEXMAP0), coord normalization (GX_TEXCOORD_NULL->GX_TEXCOORD0), and explicit texture-lookup enable frommap != GX_TEXMAP_NULL && !(map & GX_TEX_DISABLE). -
GXSetZTexture- Status: Partial - Notes: Parity-checked vs SDK: validatesop(DISABLE/ADD/REPLACE), validatesfmt(Z8/Z16/Z24X8, fail-soft fallback), keepsbiasas 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 SDKGXBump.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 SDKGXBump.c: mapsGX_TEXMAP_NULL/GX_TEXCOORD_NULLto stage-0 selectors, validates ranges, and updates indirect stage mapping (fail-soft where SDK uses debug asserts). -
GXSetIndTexCoordScale- Status: Implemented - Notes: Parity-checked vs SDKGXBump.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 SDKGXBump.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 SDKGXBump.c: canonical wrapper (GX_ITF_8) withsigned_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 SDKGXBump.c: tile-size->wrap decode,tilespacing/1024matrix construction,GXSetIndTexMtx(...,10), andGXSetTevIndirect(..., add_prev=FALSE, utc_lod=TRUE)match; overall status remains Partial due sharedGXSetTevIndirectbackend approximation. -
GXSetTevIndBumpST- Status: Implemented - Notes: Parity-checked vs SDKGXBump.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 SDKGXBump.c: wrapper overGXSetTevIndirectusingadd_prev=TRUE,GX_ITW_0/GX_ITW_0,GX_ITM_OFF, andGX_ITBA_OFF. -
GXSetTevIndBumpXYZ- Status: Implemented - Notes: Parity-checked vs SDKGXBump.c: single-stage wrapper overGXSetTevIndirectusingGX_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-sideGX_ITF_*quantization, per-component bias behavior,add_prevchaining, andutc_lod(LOD from unmodified coords); bump-alpha (alpha_sel) remains approximate. -
GXSetTevDirect- Status: Implemented - Notes: Parity-checked vs SDKGXBump.c: canonical wrapper overGXSetTevIndirectwith 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 byGXCopyDisp. -
GXSetDispCopyDst- Status: Implemented - Notes: Implemented destination XFB dimensions used byGXCopyDispoutput packing. -
GXSetDispCopyFrame2Field- Status: Implemented - Notes: ImplementedGXCopyModestate (PROGRESSIVE/INTLC_EVEN/INTLC_ODD) and applied during display-copy sampling. -
GXSetDispCopyGamma- Status: Partial - Notes: Implemented gamma state and applied onGXCopyDispRGB565 packing path; hardware-exact EFB/XFB gamma pipeline behavior is approximated. -
GXSetDispCopyYScale- Status: Partial - Notes: Implemented yscale register packing + returned XFB-line count viaGXGetNumXfbLines-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 byGXCopyDisp/GXCopyTexclear 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 inGXPokeARGB. -
GXPokeAlphaRead- Status: Implemented - Notes: Implemented alpha-read mode state (GX_READ_00,GX_READ_FF,GX_READ_NONE) and applied inGXPeekARGBfor no-alpha pixel formats. -
GXPokeAlphaUpdate- Status: Implemented - Notes: Implemented CPU-EFB alpha write-mask state and applied inGXPokeARGB. -
GXPokeBlendMode- Status: Partial - Notes: Implemented mode/factor/op state and software blend path forGXPokeARGB; behavior is emulated, not hardware-identical. -
GXPokeColorUpdate- Status: Implemented - Notes: Implemented CPU-EFB color write-mask state and applied inGXPokeARGB. -
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 inGXPokeZ. -
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 forGX_ZC_LINEAR/NEAR/MID/FAR. -
GXDecompressZ16- Status: Implemented - Notes: Implemented docs/SDK-style 16-bit to 24-bit Z decompression forGX_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 isGXGetGPFifo. -
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 withglFinishand 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 (glFinishbarrier); hardware command-stream sync semantics are approximated. -
GXTexModeSync- Status: Partial - Notes: Verified explicit texture-pipeline sync barrier behavior on PC backend (glFinishapproximation). -
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 toGXSetGPMetric(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 toGXClearGPMetric(). -
GXSetGP1Metric- Status: Implemented - Notes: Added SDK-compatible convenience macro wrapper toGXSetGPMetric(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 toGXClearGPMetric(). -
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 length2/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 (depthlevels) 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 RGBAu8layout 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 usesu32[4]backing while hardware docs describeu32[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_*) inGXEnum.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) inGXEnum.h. -
GXAttnFn- Status: Implemented - Notes: Verified enum + constants (GX_AF_SPEC/SPOT/NONE) inGXEnum.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_*) inGXEnum.h. -
GXBool- Status: Implemented - Notes: Verified platform typedef (boolonTARGET_PC,u8otherwise) andGX_TRUE/GX_FALSE. -
GXChannelID- Status: Implemented - Notes: Verified channel-id enum (GX_COLOR0..GX_COLOR_NULL) inGXEnum.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) inGXEnum.h. -
GXColorSrc- Status: Implemented - Notes: Verified enum (GX_SRC_REG,GX_SRC_VTX) inGXEnum.h. -
GXCompare- Status: Implemented - Notes: Verified compare-function enum (GX_NEVER..GX_ALWAYS) inGXEnum.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) inGXEnum.h, matching Dolphin reference. -
GXDiffuseFn- Status: Implemented - Notes: Verified enum set (GX_DF_NONE/SIGN/CLAMP) inGXEnum.h. -
GXDistAttnFn- Status: Implemented - Notes: Verified enum set (GX_DA_OFF/GENTLE/MEDIUM/STEEP) inGXEnum.h. -
GXFBClamp- Status: Implemented - Notes: Verified framebuffer clamp flags (GX_CLAMP_TOP=1,GX_CLAMP_BOTTOM=2) inGXEnum.h. -
GXFogType- Status: Implemented - Notes: Verified full fog type enum (perspective/ortho variants + aliases) inGXEnum.h. -
GXGamma- Status: Implemented - Notes: Verified gamma enum (GX_GM_1_0,GX_GM_1_7,GX_GM_2_2) inGXEnum.h. -
GXIndTexAlphaSel- Status: Implemented - Notes: Verified indirect alpha select enum (GX_ITBA_*) inGXEnum.h. -
GXIndTexBiasSel- Status: Implemented - Notes: Verified indirect bias select enum (GX_ITB_*) inGXEnum.h. -
GXIndTexFormat- Status: Implemented - Notes: Verified indirect texture format enum (GX_ITF_*) inGXEnum.h. -
GXIndTexMtxID- Status: Implemented - Notes: Verified indirect matrix id enum (GX_ITM_*) inGXEnum.h. -
GXIndTexScale- Status: Implemented - Notes: Verified indirect scale enum (GX_ITS_*) inGXEnum.h. -
GXIndTexStageID- Status: Implemented - Notes: Verified indirect stage id enum (GX_INDTEXSTAGE0..3) inGXEnum.h. -
GXIndTexWrap- Status: Implemented - Notes: Verified indirect wrap enum (GX_ITW_*) inGXEnum.h. -
GXLightID- Status: Implemented - Notes: Verified light bitmask enum (GX_LIGHT0..GX_LIGHT7,GX_LIGHT_NULL) inGXEnum.h. -
GXLogicOp- Status: Implemented - Notes: Verified full logic-op enum (GX_LO_*) inGXEnum.h. -
GXPerf0- Status: Implemented - Notes: Verified perf counter-0 selector enum exists inGXEnum.h(includingGX_PERF0_NONE). -
GXPerf1- Status: Implemented - Notes: Verified perf counter-1 selector enum exists inGXEnum.h(includingGX_PERF1_NONE). -
GXPixelFmt- Status: Implemented - Notes: Verified pixel format enum (GX_PF_*) inGXEnum.h. -
GXPosNrmMtx- Status: Implemented - Notes: Verified position/normal matrix register enum (GX_PNMTX0..9) inGXEnum.h. -
GXPrimitive- Status: Implemented - Notes: Verified primitive command enum with SDK opcode values (0x80..0xB8) inGXEnum.h. -
GXProjectionType- Status: Implemented - Notes: Verified projection enum (GX_PERSPECTIVE,GX_ORTHOGRAPHIC) inGXEnum.h. -
GXPTTexMtx- Status: Implemented - Notes: Verified post-transform texture matrix enum (GX_PTTEXMTX*,GX_PTIDENTITY) inGXEnum.h. -
GXSpotFn- Status: Implemented - Notes: Verified spotlight function enum (GX_SP_*) inGXEnum.h. -
GXTevAlphaArg- Status: Implemented - Notes: Verified TEV alpha argument enum (GX_CA_*) inGXEnum.h. -
GXTevBias- Status: Implemented - Notes: Verified TEV bias enum (GX_TB_*) inGXEnum.h. -
GXTevClampMode- Status: Implemented - Notes: Verified TEV clamp mode enum (GX_TC_LINEAR/LE/GE/EQ) inGXEnum.h. -
GXTevColorArg- Status: Implemented - Notes: Verified TEV color argument enum (GX_CC_*) inGXEnum.h. -
GXTevColorChan- Status: Implemented - Notes: Verified TEV swap-channel enum (GX_CH_RED/GREEN/BLUE/ALPHA) inGXEnum.h. -
GXTevKAlphaSel- Status: Implemented - Notes: Verified TEV konst alpha selector enum (GX_TEV_KASEL_*) inGXEnum.h. -
GXTevKColorID- Status: Implemented - Notes: Verified konst color register id enum (GX_KCOLOR0..3) inGXEnum.h. -
GXTevKColorSel- Status: Implemented - Notes: Verified TEV konst color selector enum (GX_TEV_KCSEL_*) inGXEnum.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/SUBand compare ops) inGXEnum.h. -
GXTevRegID- Status: Implemented - Notes: Verified TEV register-id enum (GX_TEVPREV,GX_TEVREG0..2) inGXEnum.h. -
GXTevScale- Status: Implemented - Notes: Verified TEV scale enum (GX_CS_SCALE_*,GX_CS_DIVIDE_2) inGXEnum.h. -
GXTevStageID- Status: Implemented - Notes: Verified TEV stage enum (GX_TEVSTAGE0..15) inGXEnum.h. -
GXTevSwapSel- Status: Implemented - Notes: Verified TEV swap selector enum (GX_TEV_SWAP0..3) inGXEnum.h. -
GXTexCacheSize- Status: Implemented - Notes: Verified texture cache size enum (GX_TEXCACHE_*) inGXEnum.h. -
GXTexCoordID- Status: Implemented - Notes: Verified texture coordinate id enum (GX_TEXCOORD0..7,GX_TEXCOORD_NULL) inGXEnum.h. -
GXTexFilter- Status: Implemented - Notes: Verified texture filter enum (GX_NEAR,GX_LINEAR, mip variants) inGXEnum.h. -
GXTexFmt- Status: Implemented - Notes: Verified base/copy/depth texture format enum (GX_TF_*,GX_CTF_*) inGXEnum.h. -
GXTexGenSrc- Status: Implemented - Notes: Verified texture generation source enum (GX_TG_*) inGXEnum.h. -
GXTexGenType- Status: Implemented - Notes: Verified texture generation type enum (GX_TG_MTX*, bump, SRTG) inGXEnum.h. -
GXTexMapID- Status: Implemented - Notes: Verified texture map id enum (GX_TEXMAP0..7,GX_TEXMAP_NULL,GX_TEX_DISABLE) inGXEnum.h. -
GXTexMtx- Status: Implemented - Notes: Verified texture matrix enum (GX_TEXMTX0..9,GX_IDENTITY) inGXEnum.h. -
GXTexMtxType- Status: Implemented - Notes: Verified texture matrix type enum (GX_MTX3x4,GX_MTX2x4) inGXEnum.h. -
GXTexOffset- Status: Implemented - Notes: Verified texcoord offset enum (GX_TO_*) inGXEnum.h. -
GXTexWrapMode- Status: Implemented - Notes: Verified texture wrap enum (GX_CLAMP,GX_REPEAT,GX_MIRROR) inGXEnum.h. -
GXTlut- Status: Implemented - Notes: Verified TLUT name/id enum (GX_TLUT0..15,GX_BIGTLUT0..3) inGXEnum.h. -
GXTlutFmt- Status: Implemented - Notes: Verified TLUT format enum (GX_TL_IA8,GX_TL_RGB565,GX_TL_RGB5A3) inGXEnum.h. -
GXTlutSize- Status: Implemented - Notes: Added/verified SDK-compatible TLUT size enum (GX_TLUT_16..GX_TLUT_16K) inGXEnum.h. -
GXVCachePerf- Status: Implemented - Notes: Verified vertex-cache perf selector enum (GX_VC_*) inGXEnum.h. -
GXVerifyLevel- Status: Implemented - Notes: Verified verify-level enum (GX_WARN_NONE/SEVERE/MEDIUM/ALL) inGXEnum.h. -
GXVtxFmt- Status: Implemented - Notes: Verified vertex-format enum (GX_VTXFMT0..7) inGXEnum.h. -
GXZFmt16- Status: Implemented - Notes: Verified 16-bit Z compression enum (GX_ZC_LINEAR/NEAR/MID/FAR) inGXEnum.h. -
GXZTexOp- Status: Implemented - Notes: Verified Z-texture operation enum (GX_ZT_DISABLE/ADD/REPLACE) inGXEnum.h.
Color Format
-
GXPackedRGB565- Status: Implemented - Notes: Added SDK-compatible macro inGXVert.h(packs 8-bit RGB into 16-bit RGB565). -
GXPackedRGB5A3- Status: Implemented - Notes: Added SDK-compatible macro inGXVert.h(switches RGB555 vs RGBA3443 path by alpha threshold). -
GXPackedRGBA4- Status: Implemented - Notes: Added SDK-compatible macro inGXVert.h(packs 8-bit RGBA into 16-bit RGBA4).