Texture/Xbox 360: Difference between revisions

Conform to format documentation guidelines.
(Created page.)
 
(Conform to format documentation guidelines.)
Line 1:
= LayoutStructures =
Most of this information is derived from the MS Xbox 360 SDK and [[Burnout Paradise (2008-01-30 build)]]'s XDB.
 
Line 31:
! Bit !! Length !! Name !! Description !! Comments
|-
| 0 || 428 || TypeFlags || D3D resource typeflags || See [[#D3DRESOURCETYPE | D3DRESOURCETYPE]]
|-
| 428 || 284 || FlagsType || D3D resource flagstype || See [[#D3DRESOURCETYPE | D3DRESOURCETYPE]]
|}
 
=== GPUTEXTURE_FETCH_CONSTANT ===
Official documentation is in LSB 0 notation. It has been converted to MSB 0 and its DWORDs have been merged into one table.
To prevent confusion, the structure of GPUTEXTURE_FETCH_CONSTANT is split into its 6 fields and shown in LSB 0 notation.
 
{| class="wikitable"
|+ GPUTEXTURE_FETCH_CONSTANT[0]
|-
! BitOffset (bits) !! Length (bits) !! Name !! Description !! Comments
|-
| 0 || 21 || TypeTiled || || SeeStart [[#GPUCONSTANTTYPEof |DWORD GPUCONSTANTTYPE]]0
|-
| 21 || 29 || SignXPitch || || See [[#GPUSIGN | GPUSIGN]]
|-
| 410 || 21 || SignY || padding || See [[#GPUSIGN | GPUSIGN]]
|-
| 611 || 2 || SignZMultiSample || || D3D construct: not used by hardware<br/>See [[#GPUSIGNGPUMULTISAMPLE_TYPE | GPUSIGNGPUMULTISAMPLE_TYPE]]
|-
| 813 || 23 || SignWClampZ || || See [[#GPUSIGNGPUCLAMP | GPUSIGNGPUCLAMP]]
|-
| 1016 || 3 || ClampXClampY || || See [[#GPUCLAMP | GPUCLAMP]]
|-
| 1319 || 3 || ClampYClampX || || See [[#GPUCLAMP | GPUCLAMP]]
|-
| 1622 || 32 || ClampZSignW || || See [[#GPUCLAMPGPUSIGN | GPUCLAMPGPUSIGN]]
|-
| 1924 || 2 || MultiSampleSignZ || || D3D construct: not used by hardware<br/>See [[#GPUMULTISAMPLE_TYPEGPUSIGN | GPUMULTISAMPLE_TYPEGPUSIGN]]
|-
| 2126 || 12 || SignY || padding || See [[#GPUSIGN | GPUSIGN]]
|-
| 2228 || 92 || PitchSignX || || See [[#GPUSIGN | GPUSIGN]]
|-
| 3130 || 12 || TiledType || || See [[#GPUCONSTANTTYPE | GPUCONSTANTTYPE]]
|}
 
{| class="wikitable"
|+ GPUTEXTURE_FETCH_CONSTANT[1]
|-
| 1232 || 20 || BaseAddress || || Start of DWORD 1
! Bit !! Length !! Name !! Description !! Comments
|-
| 052 || 61 || DataFormatClampPolicy || || See [[#GPUTEXTUREFORMATGPUCLAMPPOLICY | GPUTEXTUREFORMATGPUCLAMPPOLICY]]
|-
| 653 || 21 || EndianStacked || || See [[#GPUENDIAN | GPUENDIAN]]
|-
| 854 || 2 || RequestSize || || See [[#GPUREQUESTSIZE | GPUREQUESTSIZE]]
|-
| 1056 || 12 || StackedEndian || || See [[#GPUENDIAN | GPUENDIAN]]
|-
| 1158 || 16 || ClampPolicyDataFormat || || See [[#GPUCLAMPPOLICYGPUTEXTUREFORMAT | GPUCLAMPPOLICYGPUTEXTUREFORMAT]]
|-
| 64 || 32 || Size || || Start of DWORD 2<br/>See [[#GPUTEXTURESIZE | GPUTEXTURESIZE]]
| 12 || 20 || BaseAddress || ||
|}
 
{| class="wikitable"
|+ GPUTEXTURE_FETCH_CONSTANT[2]
|-
| 96 || 1 || BorderSize || || Start of DWORD 3
! Bit !! Length !! Name !! Description !! Comments
|-
| 097 || 323 || Size || padding || See [[#GPUTEXTURESIZE | GPUTEXTURESIZE]]
|}
 
{| class="wikitable"
|+ GPUTEXTURE_FETCH_CONSTANT[3]
|-
| 0100 || 23 || BorderColorAnisoFilter || || See [[#GPUBORDERCOLORGPUANISOFILTER | GPUBORDERCOLORGPUANISOFILTER]]
! Bit !! Length !! Name !! Description !! Comments
|-
| 0103 || 12 || NumFormatMipFilter || || See [[#GPUNUMFORMATGPUMIPFILTER | GPUNUMFORMATGPUMIPFILTER]]
|-
| 1105 || 32 || SwizzleXMinFilter || || See [[#GPUSWIZZLEGPUMINMAGFILTER | GPUSWIZZLEGPUMINMAGFILTER]]
|-
| 4107 || 32 || SwizzleYMagFilter || || See [[#GPUSWIZZLEGPUMINMAGFILTER | GPUSWIZZLEGPUMINMAGFILTER]]
|-
| 7109 || 36 || SwizzleZExpAdjust || || See [[#GPUSWIZZLE | GPUSWIZZLE]]
|-
| 10115 || 3 || SwizzleW || || See [[#GPUSWIZZLE | GPUSWIZZLE]]
|-
| 13118 || 63 || ExpAdjustSwizzleZ || || See [[#GPUSWIZZLE | GPUSWIZZLE]]
|-
| 19121 || 23 || MagFilterSwizzleY || || See [[#GPUMINMAGFILTERGPUSWIZZLE | GPUMINMAGFILTERGPUSWIZZLE]]
|-
| 21124 || 23 || MinFilterSwizzleX || || See [[#GPUMINMAGFILTERGPUSWIZZLE | GPUMINMAGFILTERGPUSWIZZLE]]
|-
| 23127 || 21 || MipFilterNumFormat || || See [[#GPUMIPFILTERGPUNUMFORMAT | GPUMIPFILTERGPUNUMFORMAT]]
|-
| 25128 || 35 || AnisoFilterGradExpAdjustV || || SeeStart [[#GPUANISOFILTERof |DWORD GPUANISOFILTER]]4
|-
| 28133 || 35 || GradExpAdjustH || padding ||
|-
| 31138 || 110 || BorderSizeLODBias || ||
|}
 
{| class="wikitable"
|+ GPUTEXTURE_FETCH_CONSTANT[4]
|-
| 2148 || 1 || ForceBCWToMaxMinAnisoWalk || ||
! Bit !! Length !! Name !! Description !! Comments
|-
| 0149 || 1 || VolMagFilterMagAnisoWalk || || See [[#GPUMINMAGFILTER | GPUMINMAGFILTER]]
|-
| 1150 || 14 || VolMinFilterMaxMipLevel || || See [[#GPUMINMAGFILTER | GPUMINMAGFILTER]]
|-
| 2154 || 4 || MinMipLevel || ||
|-
| 6158 || 41 || MaxMipLevelVolMinFilter || || See [[#GPUMINMAGFILTER | GPUMINMAGFILTER]]
|-
| 10159 || 1 || MagAnisoWalkVolMagFilter || || See [[#GPUMINMAGFILTER | GPUMINMAGFILTER]]
|-
| 11160 || 120 || MinAnisoWalkMipAddress || || Start of DWORD 5
|-
| 12180 || 101 || LODBiasPackedMips || ||
|-
| 22181 || 52 || GradExpAdjustHDimension || || See [[#GPUDIMENSION | GPUDIMENSION]]
|-
| 27183 || 54 || GradExpAdjustVAnisoBias || ||
|}
 
{| class="wikitable"
|+ GPUTEXTURE_FETCH_CONSTANT[5]
|-
! Bit !! Length !! Name !! Description !! Comments
|-
| 0 || 2 || BorderColor || || See [[#GPUBORDERCOLOR | GPUBORDERCOLOR]]
|-
| 2 || 1 || ForceBCWToMax || ||
|-
| 3 || 2 || TriClamp || || See [[#GPUTRICLAMP | GPUTRICLAMP]]
|-
| 5 || 4 || AnisoBias || ||
|-
| 9187 || 2 || DimensionTriClamp || || See [[#GPUDIMENSIONGPUTRICLAMP | GPUDIMENSIONGPUTRICLAMP]]
|-
| 11189 || 1 || PackedMipsForceBCWToMax || ||
|-
| 12190 || 202 || MipAddressBorderColor || || See [[#GPUBORDERCOLOR | GPUBORDERCOLOR]]
|}
 
=== GPUTEXTURESIZE ===
Four structures used in the union <code>[[#Size</code>: | Size]].
 
{| class="wikitable"
|+ Size
|-
! Type !! Name !! Description !! Comments
|-
| GPUTEXTURESIZE_1D || OneD || || See [[#GPUTEXTURESIZE_1D | GPUTEXTURESIZE_1D]]
|-
| GPUTEXTURESIZE_2D || TwoD || || See [[#GPUTEXTURESIZE_2D | GPUTEXTURESIZE_2D]]
|-
| GPUTEXTURESIZE_3D || ThreeD || || See [[#GPUTEXTURESIZE_3D | GPUTEXTURESIZE_3D]]
|-
| GPUTEXTURESIZE_STACK || Stack || || See [[#GPUTEXTURESIZE_STACK | GPUTEXTURESIZE_STACK]]
|}
 
==== GPUTEXTURESIZE_1D ====
{| class="wikitable"
|-
! BitOffset (bits) !! Length (bits) !! Name !! Description !! Comments
|-
| 0 || 24 || Width || ||
Line 199 ⟶ 154:
{| class="wikitable"
|-
! BitOffset (bits) !! Length (bits) !! Name !! Description !! Comments
|-
| 0 || 13 || Width || ||
Line 211 ⟶ 166:
{| class="wikitable"
|-
! BitOffset (bits) !! Length (bits) !! Name !! Description !! Comments
|-
| 0 || 11 || Width || ||
Line 223 ⟶ 178:
{| class="wikitable"
|-
! BitOffsets (bits) !! Length (bits) !! Name !! Description !! Comments
|-
| 0 || 13 || Width || ||
Line 230 ⟶ 185:
|-
| 26 || 6 || Depth || ||
|}
 
= Unions =
|+=== Size ===
{| class="wikitable"
|}-
! BitLength !! LengthType !! Name !! Description !! Comments
|}-
| 0x4 || [[#GPUTEXTURESIZE_1D | GPUTEXTURESIZE_1D]] || OneD || ||
|}-
| 0x4 || [[#GPUTEXTURESIZE_2D | GPUTEXTURESIZE_2D]] || TwoD || ||
|}-
| 0x4 || [[#GPUTEXTURESIZE_3D | GPUTEXTURESIZE_3D]] || ThreeD || ||
|-
| 0x4 || [[#GPUTEXTURESIZE_STACK | GPUTEXTURESIZE_STACK]] || Stack || ||
|}