// // Generated By: dol2asm // Translation Unit: GXTexture // #include "dolphin/gx/GXTexture.h" #include "dol2asm.h" #include "dolphin/types.h" // // Forward References: // void __GetImageTileCount(); static void GXLoadTexObjPreLoaded(); void GXLoadTexObj(); void GXLoadTlut(); void GXInitTlutRegion(); void GXInvalidateTexAll(); void __SetSURegs(); void __GXSetSUTexRegs(); void __GXSetTmemConfig(); // // External References: // SECTION_INIT void memset(); void __GXFlushTextureState(); // // Declarations: // /* ############################################################################################## */ /* 803D2598-803D268C -00001 00F4+00 1/1 0/0 0/0 .data @104 */ SECTION_DATA static void* lit_104[61] = { (void*)(((char*)GXGetTexBufferSize) + 0x28), (void*)(((char*)GXGetTexBufferSize) + 0x34), (void*)(((char*)GXGetTexBufferSize) + 0x34), (void*)(((char*)GXGetTexBufferSize) + 0x40), (void*)(((char*)GXGetTexBufferSize) + 0x40), (void*)(((char*)GXGetTexBufferSize) + 0x40), (void*)(((char*)GXGetTexBufferSize) + 0x40), (void*)(((char*)GXGetTexBufferSize) + 0x4C), (void*)(((char*)GXGetTexBufferSize) + 0x28), (void*)(((char*)GXGetTexBufferSize) + 0x34), (void*)(((char*)GXGetTexBufferSize) + 0x40), (void*)(((char*)GXGetTexBufferSize) + 0x4C), (void*)(((char*)GXGetTexBufferSize) + 0x4C), (void*)(((char*)GXGetTexBufferSize) + 0x4C), (void*)(((char*)GXGetTexBufferSize) + 0x28), (void*)(((char*)GXGetTexBufferSize) + 0x4C), (void*)(((char*)GXGetTexBufferSize) + 0x4C), (void*)(((char*)GXGetTexBufferSize) + 0x34), (void*)(((char*)GXGetTexBufferSize) + 0x4C), (void*)(((char*)GXGetTexBufferSize) + 0x40), (void*)(((char*)GXGetTexBufferSize) + 0x4C), (void*)(((char*)GXGetTexBufferSize) + 0x4C), (void*)(((char*)GXGetTexBufferSize) + 0x40), (void*)(((char*)GXGetTexBufferSize) + 0x4C), (void*)(((char*)GXGetTexBufferSize) + 0x4C), (void*)(((char*)GXGetTexBufferSize) + 0x4C), (void*)(((char*)GXGetTexBufferSize) + 0x4C), (void*)(((char*)GXGetTexBufferSize) + 0x4C), (void*)(((char*)GXGetTexBufferSize) + 0x4C), (void*)(((char*)GXGetTexBufferSize) + 0x4C), (void*)(((char*)GXGetTexBufferSize) + 0x4C), (void*)(((char*)GXGetTexBufferSize) + 0x4C), (void*)(((char*)GXGetTexBufferSize) + 0x28), (void*)(((char*)GXGetTexBufferSize) + 0x4C), (void*)(((char*)GXGetTexBufferSize) + 0x34), (void*)(((char*)GXGetTexBufferSize) + 0x40), (void*)(((char*)GXGetTexBufferSize) + 0x4C), (void*)(((char*)GXGetTexBufferSize) + 0x4C), (void*)(((char*)GXGetTexBufferSize) + 0x4C), (void*)(((char*)GXGetTexBufferSize) + 0x34), (void*)(((char*)GXGetTexBufferSize) + 0x34), (void*)(((char*)GXGetTexBufferSize) + 0x34), (void*)(((char*)GXGetTexBufferSize) + 0x34), (void*)(((char*)GXGetTexBufferSize) + 0x40), (void*)(((char*)GXGetTexBufferSize) + 0x40), (void*)(((char*)GXGetTexBufferSize) + 0x4C), (void*)(((char*)GXGetTexBufferSize) + 0x4C), (void*)(((char*)GXGetTexBufferSize) + 0x4C), (void*)(((char*)GXGetTexBufferSize) + 0x28), (void*)(((char*)GXGetTexBufferSize) + 0x4C), (void*)(((char*)GXGetTexBufferSize) + 0x4C), (void*)(((char*)GXGetTexBufferSize) + 0x4C), (void*)(((char*)GXGetTexBufferSize) + 0x4C), (void*)(((char*)GXGetTexBufferSize) + 0x4C), (void*)(((char*)GXGetTexBufferSize) + 0x4C), (void*)(((char*)GXGetTexBufferSize) + 0x4C), (void*)(((char*)GXGetTexBufferSize) + 0x4C), (void*)(((char*)GXGetTexBufferSize) + 0x34), (void*)(((char*)GXGetTexBufferSize) + 0x34), (void*)(((char*)GXGetTexBufferSize) + 0x4C), (void*)(((char*)GXGetTexBufferSize) + 0x40), }; /* 8035DC1C-8035DD78 35855C 015C+00 1/0 8/8 0/0 .text GXGetTexBufferSize */ #pragma push #pragma optimization_level 0 #pragma optimizewithasm off asm u32 GXGetTexBufferSize(u16 width, u16 height, u32 format, GXBool mipmap, u8 max_lod) { nofralloc #include "asm/dolphin/gx/GXTexture/GXGetTexBufferSize.s" } #pragma pop /* ############################################################################################## */ /* 803D268C-803D2780 -00001 00F4+00 1/1 0/0 0/0 .data @145 */ SECTION_DATA static void* lit_145[61] = { (void*)(((char*)__GetImageTileCount) + 0x20), (void*)(((char*)__GetImageTileCount) + 0x2C), (void*)(((char*)__GetImageTileCount) + 0x2C), (void*)(((char*)__GetImageTileCount) + 0x38), (void*)(((char*)__GetImageTileCount) + 0x38), (void*)(((char*)__GetImageTileCount) + 0x38), (void*)(((char*)__GetImageTileCount) + 0x38), (void*)(((char*)__GetImageTileCount) + 0x44), (void*)(((char*)__GetImageTileCount) + 0x20), (void*)(((char*)__GetImageTileCount) + 0x2C), (void*)(((char*)__GetImageTileCount) + 0x38), (void*)(((char*)__GetImageTileCount) + 0x44), (void*)(((char*)__GetImageTileCount) + 0x44), (void*)(((char*)__GetImageTileCount) + 0x44), (void*)(((char*)__GetImageTileCount) + 0x20), (void*)(((char*)__GetImageTileCount) + 0x44), (void*)(((char*)__GetImageTileCount) + 0x44), (void*)(((char*)__GetImageTileCount) + 0x2C), (void*)(((char*)__GetImageTileCount) + 0x44), (void*)(((char*)__GetImageTileCount) + 0x38), (void*)(((char*)__GetImageTileCount) + 0x44), (void*)(((char*)__GetImageTileCount) + 0x44), (void*)(((char*)__GetImageTileCount) + 0x38), (void*)(((char*)__GetImageTileCount) + 0x44), (void*)(((char*)__GetImageTileCount) + 0x44), (void*)(((char*)__GetImageTileCount) + 0x44), (void*)(((char*)__GetImageTileCount) + 0x44), (void*)(((char*)__GetImageTileCount) + 0x44), (void*)(((char*)__GetImageTileCount) + 0x44), (void*)(((char*)__GetImageTileCount) + 0x44), (void*)(((char*)__GetImageTileCount) + 0x44), (void*)(((char*)__GetImageTileCount) + 0x44), (void*)(((char*)__GetImageTileCount) + 0x20), (void*)(((char*)__GetImageTileCount) + 0x44), (void*)(((char*)__GetImageTileCount) + 0x2C), (void*)(((char*)__GetImageTileCount) + 0x38), (void*)(((char*)__GetImageTileCount) + 0x44), (void*)(((char*)__GetImageTileCount) + 0x44), (void*)(((char*)__GetImageTileCount) + 0x44), (void*)(((char*)__GetImageTileCount) + 0x2C), (void*)(((char*)__GetImageTileCount) + 0x2C), (void*)(((char*)__GetImageTileCount) + 0x2C), (void*)(((char*)__GetImageTileCount) + 0x2C), (void*)(((char*)__GetImageTileCount) + 0x38), (void*)(((char*)__GetImageTileCount) + 0x38), (void*)(((char*)__GetImageTileCount) + 0x44), (void*)(((char*)__GetImageTileCount) + 0x44), (void*)(((char*)__GetImageTileCount) + 0x44), (void*)(((char*)__GetImageTileCount) + 0x20), (void*)(((char*)__GetImageTileCount) + 0x44), (void*)(((char*)__GetImageTileCount) + 0x44), (void*)(((char*)__GetImageTileCount) + 0x44), (void*)(((char*)__GetImageTileCount) + 0x44), (void*)(((char*)__GetImageTileCount) + 0x44), (void*)(((char*)__GetImageTileCount) + 0x44), (void*)(((char*)__GetImageTileCount) + 0x44), (void*)(((char*)__GetImageTileCount) + 0x44), (void*)(((char*)__GetImageTileCount) + 0x2C), (void*)(((char*)__GetImageTileCount) + 0x2C), (void*)(((char*)__GetImageTileCount) + 0x44), (void*)(((char*)__GetImageTileCount) + 0x38), }; /* 8035DD78-8035DE40 3586B8 00C8+00 1/0 1/1 0/0 .text __GetImageTileCount */ #pragma push #pragma optimization_level 0 #pragma optimizewithasm off asm void __GetImageTileCount() { nofralloc #include "asm/dolphin/gx/GXTexture/__GetImageTileCount.s" } #pragma pop /* ############################################################################################## */ /* 803D2780-803D27C0 -00001 003C+04 1/1 0/0 0/0 .data @224 */ SECTION_DATA static void* lit_224[15 + 1 /* padding */] = { (void*)(((char*)GXInitTexObj) + 0x180), (void*)(((char*)GXInitTexObj) + 0x194), (void*)(((char*)GXInitTexObj) + 0x194), (void*)(((char*)GXInitTexObj) + 0x1A8), (void*)(((char*)GXInitTexObj) + 0x1A8), (void*)(((char*)GXInitTexObj) + 0x1A8), (void*)(((char*)GXInitTexObj) + 0x1BC), (void*)(((char*)GXInitTexObj) + 0x1E4), (void*)(((char*)GXInitTexObj) + 0x180), (void*)(((char*)GXInitTexObj) + 0x194), (void*)(((char*)GXInitTexObj) + 0x1A8), (void*)(((char*)GXInitTexObj) + 0x1E4), (void*)(((char*)GXInitTexObj) + 0x1E4), (void*)(((char*)GXInitTexObj) + 0x1E4), (void*)(((char*)GXInitTexObj) + 0x1D0), /* padding */ NULL, }; /* 804565E8-804565F0 004BE8 0004+04 2/2 0/0 0/0 .sdata2 @220 */ SECTION_SDATA2 static f32 lit_220[1 + 1 /* padding */] = { 16.0f, /* padding */ 0.0f, }; /* 804565F0-804565F8 004BF0 0008+00 1/1 0/0 0/0 .sdata2 @222 */ SECTION_SDATA2 static f64 lit_222 = 4503599627370496.0 /* cast u32 to float */; /* 8035DE40-8035E08C 358780 024C+00 2/1 22/22 3/3 .text GXInitTexObj */ #pragma push #pragma optimization_level 0 #pragma optimizewithasm off asm void GXInitTexObj(GXTexObj* obj, void* image, u16 width, u16 height, GXTexFmt fmt, GXTexWrapMode wrapS, GXTexWrapMode wrapT, GXBool mipmap) { nofralloc #include "asm/dolphin/gx/GXTexture/GXInitTexObj.s" } #pragma pop /* 8035E08C-8035E0D4 3589CC 0048+00 0/0 3/3 1/1 .text GXInitTexObjCI */ #pragma push #pragma optimization_level 0 #pragma optimizewithasm off asm void GXInitTexObjCI(GXTexObj* obj, void* image, u16 width, u16 height, GXCITexFmt format, GXTexWrapMode wrapS, GXTexWrapMode wrapT, GXBool mipmap, u32 tlut_name) { nofralloc #include "asm/dolphin/gx/GXTexture/GXInitTexObjCI.s" } #pragma pop /* ############################################################################################## */ /* 80450A90-80450A98 000510 0008+00 1/1 0/0 0/0 .sdata GXTexMode0Ids */ SECTION_SDATA static u8 GXTexMode0Ids[8] = { 0x80, 0x81, 0x82, 0x83, 0xA0, 0xA1, 0xA2, 0xA3, }; /* 80450A98-80450AA0 000518 0008+00 1/1 0/0 0/0 .sdata GXTexMode1Ids */ SECTION_SDATA static u8 GXTexMode1Ids[8] = { 0x84, 0x85, 0x86, 0x87, 0xA4, 0xA5, 0xA6, 0xA7, }; /* 80450AA0-80450AA8 000520 0008+00 1/1 0/0 0/0 .sdata GXTexImage0Ids */ SECTION_SDATA static u8 GXTexImage0Ids[8] = { 0x88, 0x89, 0x8A, 0x8B, 0xA8, 0xA9, 0xAA, 0xAB, }; /* 80450AA8-80450AB0 000528 0008+00 1/1 0/0 0/0 .sdata GXTexImage1Ids */ SECTION_SDATA static u8 GXTexImage1Ids[8] = { 0x8C, 0x8D, 0x8E, 0x8F, 0xAC, 0xAD, 0xAE, 0xAF, }; /* 80450AB0-80450AB8 000530 0008+00 1/1 0/0 0/0 .sdata GXTexImage2Ids */ SECTION_SDATA static u8 GXTexImage2Ids[8] = { 0x90, 0x91, 0x92, 0x93, 0xB0, 0xB1, 0xB2, 0xB3, }; /* 80450AB8-80450AC0 000538 0008+00 1/1 0/0 0/0 .sdata GXTexImage3Ids */ SECTION_SDATA static u8 GXTexImage3Ids[8] = { 0x94, 0x95, 0x96, 0x97, 0xB4, 0xB5, 0xB6, 0xB7, }; /* 80450AC0-80450AC8 000540 0008+00 1/1 0/0 0/0 .sdata GXTexTlutIds */ SECTION_SDATA static u8 GXTexTlutIds[8] = { 0x98, 0x99, 0x9A, 0x9B, 0xB8, 0xB9, 0xBA, 0xBB, }; /* 80450AC8-80450AD0 000548 0006+02 1/1 0/0 0/0 .sdata GX2HWFiltConv */ SECTION_SDATA static u8 GX2HWFiltConv[6 + 2 /* padding */] = { 0x00, 0x04, 0x01, 0x05, 0x02, 0x06, /* padding */ 0x00, 0x00, }; /* 804565F8-804565FC 004BF8 0004+00 1/1 0/0 0/0 .sdata2 @288 */ SECTION_SDATA2 static f32 lit_288 = -4.0f; /* 804565FC-80456600 004BFC 0004+00 1/1 0/0 0/0 .sdata2 @289 */ SECTION_SDATA2 static f32 lit_289 = 4.0f; /* 80456600-80456604 004C00 0004+00 1/1 0/0 0/0 .sdata2 @290 */ SECTION_SDATA2 static f32 lit_290 = 3.990000009536743f; /* 80456604-80456608 004C04 0004+00 1/1 0/0 0/0 .sdata2 @291 */ SECTION_SDATA2 static f32 lit_291 = 32.0f; /* 80456608-8045660C 004C08 0004+00 1/1 0/0 0/0 .sdata2 @292 */ SECTION_SDATA2 static u8 lit_292[4] = { 0x00, 0x00, 0x00, 0x00, }; /* 8045660C-80456610 004C0C 0004+00 1/1 0/0 0/0 .sdata2 @293 */ SECTION_SDATA2 static f32 lit_293 = 10.0f; /* 8035E0D4-8035E238 358A14 0164+00 0/0 21/21 4/4 .text GXInitTexObjLOD */ #pragma push #pragma optimization_level 0 #pragma optimizewithasm off asm void GXInitTexObjLOD(GXTexObj* obj, GXTexFilter min_filter, GXTexFilter max_filter, f32 min_lod, f32 max_lod, f32 lod_bias, GXBool bias_clamp, GXBool edge_lod, GXAnisotropy aniso) { nofralloc #include "asm/dolphin/gx/GXTexture/GXInitTexObjLOD.s" } #pragma pop /* 8035E238-8035E248 358B78 0010+00 0/0 4/4 1/1 .text GXGetTexObjWidth */ #pragma push #pragma optimization_level 0 #pragma optimizewithasm off asm u16 GXGetTexObjWidth(GXTexObj* obj) { nofralloc #include "asm/dolphin/gx/GXTexture/GXGetTexObjWidth.s" } #pragma pop /* 8035E248-8035E258 358B88 0010+00 0/0 3/3 0/0 .text GXGetTexObjHeight */ #pragma push #pragma optimization_level 0 #pragma optimizewithasm off asm u16 GXGetTexObjHeight(GXTexObj* obj) { nofralloc #include "asm/dolphin/gx/GXTexture/GXGetTexObjHeight.s" } #pragma pop /* 8035E258-8035E260 358B98 0008+00 0/0 1/1 0/0 .text GXGetTexObjFmt */ #pragma push #pragma optimization_level 0 #pragma optimizewithasm off asm GXTexFmt GXGetTexObjFmt(GXTexObj* obj) { nofralloc #include "asm/dolphin/gx/GXTexture/GXGetTexObjFmt.s" } #pragma pop /* 8035E260-8035E26C 358BA0 000C+00 0/0 1/1 0/0 .text GXGetTexObjWrapS */ #pragma push #pragma optimization_level 0 #pragma optimizewithasm off asm GXTexWrapMode GXGetTexObjWrapS(GXTexObj* obj) { nofralloc #include "asm/dolphin/gx/GXTexture/GXGetTexObjWrapS.s" } #pragma pop /* 8035E26C-8035E278 358BAC 000C+00 0/0 1/1 0/0 .text GXGetTexObjWrapT */ #pragma push #pragma optimization_level 0 #pragma optimizewithasm off asm GXTexWrapMode GXGetTexObjWrapT(GXTexObj* obj) { nofralloc #include "asm/dolphin/gx/GXTexture/GXGetTexObjWrapT.s" } #pragma pop /* 8035E278-8035E290 358BB8 0018+00 0/0 1/1 0/0 .text GXGetTexObjMipMap */ #pragma push #pragma optimization_level 0 #pragma optimizewithasm off asm GXBool GXGetTexObjMipMap(GXTexObj* obj) { nofralloc #include "asm/dolphin/gx/GXTexture/GXGetTexObjMipMap.s" } #pragma pop /* 8035E290-8035E298 358BD0 0008+00 0/0 1/1 0/0 .text GXGetTexObjTlut */ #pragma push #pragma optimization_level 0 #pragma optimizewithasm off asm u32 GXGetTexObjTlut(GXTexObj* obj) { nofralloc #include "asm/dolphin/gx/GXTexture/GXGetTexObjTlut.s" } #pragma pop /* 8035E298-8035E414 358BD8 017C+00 1/1 0/0 0/0 .text GXLoadTexObjPreLoaded */ #pragma push #pragma optimization_level 0 #pragma optimizewithasm off static asm void GXLoadTexObjPreLoaded(GXTexObj* obj, GXTexRegion* region, GXTexMapID id) { nofralloc #include "asm/dolphin/gx/GXTexture/GXLoadTexObjPreLoaded.s" } #pragma pop /* 8035E414-8035E468 358D54 0054+00 0/0 33/33 5/5 .text GXLoadTexObj */ #pragma push #pragma optimization_level 0 #pragma optimizewithasm off asm void GXLoadTexObj(GXTexObj* obj, GXTexMapID id) { nofralloc #include "asm/dolphin/gx/GXTexture/GXLoadTexObj.s" } #pragma pop /* 8035E468-8035E4A0 358DA8 0038+00 0/0 4/4 1/1 .text GXInitTlutObj */ #pragma push #pragma optimization_level 0 #pragma optimizewithasm off asm void GXInitTlutObj(GXTlutObj* obj, void* lut, GXTlutFmt fmt, u16 entry_num) { nofralloc #include "asm/dolphin/gx/GXTexture/GXInitTlutObj.s" } #pragma pop /* 8035E4A0-8035E538 358DE0 0098+00 0/0 4/4 1/1 .text GXLoadTlut */ #pragma push #pragma optimization_level 0 #pragma optimizewithasm off asm void GXLoadTlut(GXTlutObj* obj, u32 tlut_name) { nofralloc #include "asm/dolphin/gx/GXTexture/GXLoadTlut.s" } #pragma pop /* 8035E538-8035E62C 358E78 00F4+00 0/0 2/2 0/0 .text GXInitTexCacheRegion */ #pragma push #pragma optimization_level 0 #pragma optimizewithasm off asm void GXInitTexCacheRegion(GXTexRegion* region, GXBool is_32b_mipmap, u32 tmem_even, GXTexCacheSize size_even, u32 tmem_odd, GXTexCacheSize size_odd) { nofralloc #include "asm/dolphin/gx/GXTexture/GXInitTexCacheRegion.s" } #pragma pop /* 8035E62C-8035E664 358F6C 0038+00 0/0 1/1 0/0 .text GXInitTlutRegion */ #pragma push #pragma optimization_level 0 #pragma optimizewithasm off asm void GXInitTlutRegion(GXTlutRegion* region, u32 tmem_addr, GXTlutSize tlut_size) { nofralloc #include "asm/dolphin/gx/GXTexture/GXInitTlutRegion.s" } #pragma pop /* 8035E664-8035E6AC 358FA4 0048+00 0/0 8/8 1/1 .text GXInvalidateTexAll */ #pragma push #pragma optimization_level 0 #pragma optimizewithasm off asm void GXInvalidateTexAll(void) { nofralloc #include "asm/dolphin/gx/GXTexture/GXInvalidateTexAll.s" } #pragma pop /* 8035E6AC-8035E6C0 358FEC 0014+00 0/0 1/1 0/0 .text GXSetTexRegionCallback */ #pragma push #pragma optimization_level 0 #pragma optimizewithasm off asm GXTexRegionCallback GXSetTexRegionCallback(GXTexRegionCallback callback) { nofralloc #include "asm/dolphin/gx/GXTexture/GXSetTexRegionCallback.s" } #pragma pop /* 8035E6C0-8035E6D4 359000 0014+00 0/0 1/1 0/0 .text GXSetTlutRegionCallback */ #pragma push #pragma optimization_level 0 #pragma optimizewithasm off asm GXTlutRegionCallback GXSetTlutRegionCallback(GXTlutRegionCallback callback) { nofralloc #include "asm/dolphin/gx/GXTexture/GXSetTlutRegionCallback.s" } #pragma pop /* 8035E6D4-8035E750 359014 007C+00 0/0 1/1 0/0 .text GXSetTexCoordScaleManually */ #pragma push #pragma optimization_level 0 #pragma optimizewithasm off asm void GXSetTexCoordScaleManually(GXTexCoordID coord, GXBool enable, u16 s_scale, u16 t_scale) { nofralloc #include "asm/dolphin/gx/GXTexture/GXSetTexCoordScaleManually.s" } #pragma pop /* 8035E750-8035E7F0 359090 00A0+00 1/1 0/0 0/0 .text __SetSURegs */ #pragma push #pragma optimization_level 0 #pragma optimizewithasm off asm void __SetSURegs() { nofralloc #include "asm/dolphin/gx/GXTexture/__SetSURegs.s" } #pragma pop /* 8035E7F0-8035E96C 359130 017C+00 0/0 2/2 0/0 .text __GXSetSUTexRegs */ #pragma push #pragma optimization_level 0 #pragma optimizewithasm off asm void __GXSetSUTexRegs() { nofralloc #include "asm/dolphin/gx/GXTexture/__GXSetSUTexRegs.s" } #pragma pop /* 8035E96C-8035ECC0 3592AC 0354+00 0/0 1/1 0/0 .text __GXSetTmemConfig */ #pragma push #pragma optimization_level 0 #pragma optimizewithasm off asm void __GXSetTmemConfig() { nofralloc #include "asm/dolphin/gx/GXTexture/__GXSetTmemConfig.s" } #pragma pop