Gfx GX Fn GXGetTexObjAll - wowjinxy/libPorpoise GitHub Wiki
GXGetTexObjAll
- Category:
Texture
- Matrix Status:
Implemented
- Matrix Notes: Implemented full texture-object aggregate getter (
data/size/format/wrap/mipmap).
- Matrix Link: Gfx-GX-API-Matrix
Official SDK (Reference)
- Manual page:
reference/man/gfx/gx/Texture/GXGetTexObjAll.html
- SDK source:
reference/ACGC-PC-Port/src/static/dolphin/gx/GXTexture.c (GXGetTexObjAll)
- SDK behavior:
- Returns all core texture-object fields: image pointer, width, height, format, wrap S/T, mipmap flag.
- No state mutation; pure accessor.
- SDK debug path asserts non-null texture object pointer, and then writes all output pointers directly.
libPorpoise Implementation
- Public API declaration:
include/dolphin/gx/GXGet.h
- Runtime implementation:
src/gx/pc_gx_texture.c (GXGetTexObjAll)
- Behavior:
- Returns the same aggregate fields from PC texture object storage.
- No side effects.
- Supports nullable output pointers (fills only pointers that are non-null).
SDK vs Porpoise Diff
- Signature parity:
- Manual documents
GXTexObj*; SDK source uses const GXTexObj*.
- Porpoise uses
GXTexObj*; call-site semantics are equivalent for reads.
- Behavioral parity:
- SDK: aggregate getter for object fields (
data/size/format/wrap/mipmap).
- Porpoise: same aggregate fields.
- Known divergence:
- SDK writes all output pointers unconditionally; Porpoise permits null output pointers and skips those writes.
Validation Checklist
Working Notes
- No runtime code change required in this pass.