Texture: Difference between revisions

19,405 bytes added ,  1 year ago
Added Xbox 360 texture details.
m (Table normalization)
(Added Xbox 360 texture details.)
Line 108:
 
Where <code>block_size</code> is 8 for DXT1 and 16 for DXT2 through DXT5.
 
== Xbox 360 ==
Most of this information is derived from the MS Xbox 360 SDK and [[Burnout Paradise (2008-01-30 build)]]'s XDB.
 
=== D3DBaseTexture ===
{| class="wikitable"
|-
! Offset !! Length !! Type !! Name !! Description !! Comments
|-
| 0x0 || 0x4 || DWORD || Common || || See [[#Common | Common]]
|-
| 0x4 || 0x4 || DWORD || ReferenceCount || ||
|-
| 0x8 || 0x4 || DWORD || Fence || ||
|-
| 0xC || 0x4 || DWORD || ReadFence || ||
|-
| 0x10 || 0x4 || DWORD || Identifier || ||
|-
| 0x14 || 0x4 || DWORD || BaseFlush || ||
|-
| 0x18 || 0x4 || DWORD || MipFlush || ||
|-
| 0x1C || 0x18 || DWORD[6] || GPUTEXTURE_FETCH_CONSTANT || || See [[#GPUTEXTURE_FETCH_CONSTANT | GPUTEXTURE_FETCH_CONSTANT]]
|}
 
=== Common ===
Based on [https://github.com/indirivacua/RAGE-Console-Texture-Editor/blob/5f2d00c3f22b0b3754d99663003a68d4ac214f01/Console.Xbox360.Graphics.pas#L31 information from indirivacua].
 
{| class="wikitable"
|-
! Bit !! Length !! Name !! Description !! Comments
|-
| 0 || 4 || Type || D3D resource type || See [[#D3DRESOURCETYPE | D3DRESOURCETYPE]]
|-
| 4 || 28 || Flags || D3D resource flags ||
|}
 
=== GPUTEXTURE_FETCH_CONSTANT ===
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]
|-
! Bit !! Length !! Name !! Description !! Comments
|-
| 0 || 2 || Type || || See [[#GPUCONSTANTTYPE | GPUCONSTANTTYPE]]
|-
| 2 || 2 || SignX || || See [[#GPUSIGN | GPUSIGN]]
|-
| 4 || 2 || SignY || || See [[#GPUSIGN | GPUSIGN]]
|-
| 6 || 2 || SignZ || || See [[#GPUSIGN | GPUSIGN]]
|-
| 8 || 2 || SignW || || See [[#GPUSIGN | GPUSIGN]]
|-
| 10 || 3 || ClampX || || See [[#GPUCLAMP | GPUCLAMP]]
|-
| 13 || 3 || ClampY || || See [[#GPUCLAMP | GPUCLAMP]]
|-
| 16 || 3 || ClampZ || || See [[#GPUCLAMP | GPUCLAMP]]
|-
| 19 || 2 || MultiSample || || D3D construct: not used by hardware<br/>See [[#GPUMULTISAMPLE_TYPE | GPUMULTISAMPLE_TYPE]]
|-
| 21 || 1 || || padding ||
|-
| 22 || 9 || Pitch || ||
|-
| 31 || 1 || Tiled || ||
|}
 
{| class="wikitable"
|+ GPUTEXTURE_FETCH_CONSTANT[1]
|-
! Bit !! Length !! Name !! Description !! Comments
|-
| 0 || 6 || DataFormat || || See [[#GPUTEXTUREFORMAT | GPUTEXTUREFORMAT]]
|-
| 6 || 2 || Endian || || See [[#GPUENDIAN | GPUENDIAN]]
|-
| 8 || 2 || RequestSize || || See [[#GPUREQUESTSIZE | GPUREQUESTSIZE]]
|-
| 10 || 1 || Stacked || ||
|-
| 11 || 1 || ClampPolicy || || See [[#GPUCLAMPPOLICY | GPUCLAMPPOLICY]]
|-
| 12 || 20 || BaseAddress || ||
|}
 
{| class="wikitable"
|+ GPUTEXTURE_FETCH_CONSTANT[2]
|-
! Bit !! Length !! Name !! Description !! Comments
|-
| 0 || 32 || Size || || See [[#GPUTEXTURESIZE | GPUTEXTURESIZE]]
|}
 
{| class="wikitable"
|+ GPUTEXTURE_FETCH_CONSTANT[3]
|-
! Bit !! Length !! Name !! Description !! Comments
|-
| 0 || 1 || NumFormat || || See [[#GPUNUMFORMAT | GPUNUMFORMAT]]
|-
| 1 || 3 || SwizzleX || || See [[#GPUSWIZZLE | GPUSWIZZLE]]
|-
| 4 || 3 || SwizzleY || || See [[#GPUSWIZZLE | GPUSWIZZLE]]
|-
| 7 || 3 || SwizzleZ || || See [[#GPUSWIZZLE | GPUSWIZZLE]]
|-
| 10 || 3 || SwizzleW || || See [[#GPUSWIZZLE | GPUSWIZZLE]]
|-
| 13 || 6 || ExpAdjust || ||
|-
| 19 || 2 || MagFilter || || See [[#GPUMINMAGFILTER | GPUMINMAGFILTER]]
|-
| 21 || 2 || MinFilter || || See [[#GPUMINMAGFILTER | GPUMINMAGFILTER]]
|-
| 23 || 2 || MipFilter || || See [[#GPUMIPFILTER | GPUMIPFILTER]]
|-
| 25 || 3 || AnisoFilter || || See [[#GPUANISOFILTER | GPUANISOFILTER]]
|-
| 28 || 3 || || padding ||
|-
| 31 || 1 || BorderSize || ||
|}
 
{| class="wikitable"
|+ GPUTEXTURE_FETCH_CONSTANT[4]
|-
! Bit !! Length !! Name !! Description !! Comments
|-
| 0 || 1 || VolMagFilter || || See [[#GPUMINMAGFILTER | GPUMINMAGFILTER]]
|-
| 1 || 1 || VolMinFilter || || See [[#GPUMINMAGFILTER | GPUMINMAGFILTER]]
|-
| 2 || 4 || MinMipLevel || ||
|-
| 6 || 4 || MaxMipLevel || ||
|-
| 10 || 1 || MagAnisoWalk || ||
|-
| 11 || 1 || MinAnisoWalk || ||
|-
| 12 || 10 || LODBias || ||
|-
| 22 || 5 || GradExpAdjustH || ||
|-
| 27 || 5 || GradExpAdjustV || ||
|}
 
{| 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 || ||
|-
| 9 || 2 || Dimension || || See [[#GPUDIMENSION | GPUDIMENSION]]
|-
| 11 || 1 || PackedMips || ||
|-
| 12 || 20 || MipAddress || ||
|}
 
=== GPUTEXTURESIZE ===
Four structures used in the union <code>Size</code>:
 
{| 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"
|-
! Bit !! Length !! Name !! Description !! Comments
|-
| 0 || 24 || Width || ||
|-
| 24 || 8 || || padding ||
|}
 
==== GPUTEXTURESIZE_2D ====
{| class="wikitable"
|-
! Bit !! Length !! Name !! Description !! Comments
|-
| 0 || 13 || Width || ||
|-
| 13 || 13 || Height || ||
|-
| 26 || 6 || || padding ||
|}
 
==== GPUTEXTURESIZE_3D ====
{| class="wikitable"
|-
! Bit !! Length !! Name !! Description !! Comments
|-
| 0 || 11 || Width || ||
|-
| 11 || 11 || Height || ||
|-
| 22 || 10 || Depth || ||
|}
 
==== GPUTEXTURESIZE_STACK ====
{| class="wikitable"
|-
! Bit !! Length !! Name !! Description !! Comments
|-
| 0 || 13 || Width || ||
|-
| 13 || 13 || Height || ||
|-
| 26 || 6 || Depth || ||
|}
 
= Enumerations =
Line 237 ⟶ 470:
|-
| TYPE_FORCEENUMSIZEINT || 0x7FFFFFFF ||
|}
 
== Xbox 360 ==
From the MS Xbox 360 SDK and [[Burnout Paradise (2008-01-30 build)]]'s XDB.
 
=== D3DRESOURCETYPE ===
{| class="wikitable"
|-
! Name !! Value !! Comments
|-
| D3DRTYPE_NONE || 0 || No resource is specified.
|-
| D3DRTYPE_VERTEXBUFFER || 1 || Vertex buffer resource.
|-
| D3DRTYPE_INDEXBUFFER || 2 || Index buffer resource.
|-
| D3DRTYPE_TEXTURE || 3 || Texture resource.
|-
| D3DRTYPE_SURFACE || 4 || Surface resource.
|-
| D3DRTYPE_VERTEXDECLARATION || 5 || Vertex declaration resource.
|-
| D3DRTYPE_VERTEXSHADER || 6 || Vertex shader resource.
|-
| D3DRTYPE_PIXELSHADER || 7 || Pixel shader resource.
|-
| D3DRTYPE_CONSTANTBUFFER || 8 || Constant buffer resource.
|-
| D3DRTYPE_COMMANDBUFFER || 9 || Command buffer resource.
|-
| D3DRTYPE_ASYNCCOMMANDBUFFERCALL || 10 || Aysnchronous command buffer call resource.
|-
| D3DRTYPE_PERFCOUNTERBATCH || 11 || Performance counter batch resource.
|-
| D3DRTYPE_OCCLUSIONQUERYBATCH || 12 || Occlusion query batch resource.
|-
| D3DRTYPE_VOLUME || 16 || Volume resource.
|-
| D3DRTYPE_VOLUMETEXTURE || 17 || Volume texture resource.
|-
| D3DRTYPE_CUBETEXTURE || 18 || Cube texture resource.
|-
| D3DRTYPE_ARRAYTEXTURE || 19 || Array texture resource.
|-
| D3DRTYPE_LINETEXTURE || 20 || Line texture resource.
|-
| D3DRTYPE_FORCE_DWORD || 0x7FFFFFFF || Forces this enumeration to compile to 32 bits in size. This value is not used.
|}
 
=== GPUCONSTANTTYPE ===
{| class="wikitable"
|-
! Name !! Value !! Comments
|-
| GPUCONSTANTTYPE_INVALID_TEXTURE || 0 ||
|-
| GPUCONSTANTTYPE_INVALID_VERTEX || 1 ||
|-
| GPUCONSTANTTYPE_TEXTURE || 2 ||
|-
| GPUCONSTANTTYPE_VERTEX || 3 ||
|}
 
=== GPUSIGN ===
{| class="wikitable"
|-
! Name !! Value !! Comments
|-
| GPUSIGN_UNSIGNED || 0 || Indicates that a value is unsigned.
|-
| GPUSIGN_SIGNED || 1 || Indicates that a value is signed.
|-
| GPUSIGN_BIAS || 2 || Indicates that a value is unsigned biased. '''GPUSIGN_BIAS''' maps an UNSIGNED value with a range of 0 to 1 into a range of -1 to 1. The equation used to perform the mapping is 2 * x - 1. For example, the UNSIGNED values 0, 0.5 and 1 would map to -1, 0 and 1.
|-
| GPUSIGN_GAMMA || 3 || Indicates that a value is unsigned gamma corrected.
|}
 
=== GPUCLAMP ===
{| class="wikitable"
|-
! Name !! Value !! Comments
|-
| GPUCLAMP_WRAP || 0 ||
|-
| GPUCLAMP_MIRROR || 1 ||
|-
| GPUCLAMP_CLAMP_TO_LAST || 2 ||
|-
| GPUCLAMP_MIRROR_ONCE_TO_LAST || 3 ||
|-
| GPUCLAMP_CLAMP_HALFWAY || 4 ||
|-
| GPUCLAMP_MIRROR_ONCE_HALFWAY || 5 ||
|-
| GPUCLAMP_CLAMP_TO_BORDER || 6 ||
|-
| GPUCLAMP_MIRROR_TO_BORDER || 7 ||
|}
 
=== GPUMULTISAMPLE_TYPE ===
{| class="wikitable"
|-
! Name !! Value !! Comments
|-
| D3DMULTISAMPLE_NONE || 0 ||
|-
| D3DMULTISAMPLE_2_SAMPLES || 1 ||
|-
| D3DMULTISAMPLE_4_SAMPLES || 2 ||
|-
| D3DMULTISAMPLE_FORCE_DWORD || 0x7FFFFFFF ||
|}
 
=== GPUTEXTUREFORMAT ===
Note that Burnout's textures do not appear to have identical format codes—DXT1 is 52 instead of 51 and DXT5 is 54 instead of 53.
 
{| class="wikitable"
|-
! Name !! Value !! Comments
|-
| GPUTEXTUREFORMAT_1_REVERSE || 0 ||
|-
| GPUTEXTUREFORMAT_1 || 1 || Texture format with a single 1-bit channel.
|-
| GPUTEXTUREFORMAT_8 || 2 || Texture format with a single 8 bit channel.
|-
| GPUTEXTUREFORMAT_1_5_5_5 || 3 || Texture format with a single 1-bit channel and three 5-bit channels.
|-
| GPUTEXTUREFORMAT_5_6_5 || 4 || Texture format with one 6-bit channel and two 5-bit channels.
|-
| GPUTEXTUREFORMAT_6_5_5 || 5 || Texture format with one 6-bit channel and two 5-bit channels.
|-
| GPUTEXTUREFORMAT_8_8_8_8 || 6 || Texture format with four 8-bit channels.
|-
| GPUTEXTUREFORMAT_2_10_10_10 || 7 || Texture format with a single 2-bit channel and three 10-bit channels.
|-
| GPUTEXTUREFORMAT_8_A || 8 || Texture format with a single 8-bit channel.
|-
| GPUTEXTUREFORMAT_8_B || 9 || Texture format with a single 8-bit channel.
|-
| GPUTEXTUREFORMAT_8_8 || 10 || Texture format with two 8-bit channels.
|-
| GPUTEXTUREFORMAT_Cr_Y1_Cb_Y0_REP || 11 || Texture format with two texels stored in each word. Each data value (Cr, Y1, Cb, Y0) is 8 bits. The Cr and Cb specify the chrominance and are shared by both texels. The Y0 and Y1 values specify the luminance of the respective texels.
|-
| GPUTEXTUREFORMAT_Y1_Cr_Y0_Cb_REP || 12 || Texture format with two texels stored in each word. Each data value (Y1, Cr, Y0, Cb) is 8 bits. The Cr and Cb specify the chrominance and are shared by both texels. The Y0 and Y1 values specify the luminance of the respective texels.
|-
| GPUTEXTUREFORMAT_16_16_EDRAM || 13 || Format with two 16-bit channels. Format is not applicable to textures and only applies to render targets in EDRAM.
|-
| GPUTEXTUREFORMAT_8_8_8_8_A || 14 || Texture format with four 8-bit channels.
|-
| GPUTEXTUREFORMAT_4_4_4_4 || 15 || Texture format with four 4-bit channels.
|-
| GPUTEXTUREFORMAT_10_11_11 || 16 || Texture format with a single 10-bit channel and two 11-bit channels.
|-
| GPUTEXTUREFORMAT_11_11_10 || 17 || Texture format with a single 10-bit channel and two 11-bit channels.
|-
| GPUTEXTUREFORMAT_DXT1 || 18 || DXT1 compression texture format with 4 bits per texel.
|-
| GPUTEXTUREFORMAT_DXT2_3 || 19 || DXT2 compression texture format with 8 bits per texel.
|-
| GPUTEXTUREFORMAT_DXT4_5 || 20 || DXT4 compression texture format with 8 bits per texel.
|-
| GPUTEXTUREFORMAT_16_16_16_16_EDRAM || 21 || Format with four 16-bit channels. Format is not applicable to textures and only applies to render targets in EDRAM.
|-
| GPUTEXTUREFORMAT_24_8 || 22 || Texture format with a 24-bit channel and an 8-bit channel. When applied to textures the 8-bit channel is ignored. When applied to depth-stencil targets the 8-bit channel maps to stencil.
|-
| GPUTEXTUREFORMAT_24_8_FLOAT || 23 || Texture format with a 24-bit float channel and an 8-bit integer channel. When applied to textures the 8-bit channel is ignored. When applied to depth-stencil targets the 8-bit channel maps to stencil.
|-
| GPUTEXTUREFORMAT_16 || 24 || Texture format with a single 16-bit channel.
|-
| GPUTEXTUREFORMAT_16_16 || 25 || Texture format with two 16-bit channels.
|-
| GPUTEXTUREFORMAT_16_16_16_16 || 26 || Texture format with four 16-bit channels.
|-
| GPUTEXTUREFORMAT_16_EXPAND || 27 || 16-bit float texture format that is expanded to 32-bit (16.16) fixed point during sampling to allow filtering. This format samples at half the rate of GPUTEXTUREFORMAT_16.
|-
| GPUTEXTUREFORMAT_16_16_EXPAND || 28 || 32-bit float texture format that is expanded to 64-bit (16.16, 16.16) fixed point during sampling to allow filtering. This format samples at half the rate of GPUTEXTUREFORMAT_16_16.
|-
| GPUTEXTUREFORMAT_16_16_16_16_EXPAND || 29 || 64-bit float texture format that is expanded to 128-bit (16.16, 16.16, 16.16, 16.16) fixed point during sampling to allow filtering. This format samples at half the rate of GPUTEXTUREFORMAT_16_16_16_16.
|-
| GPUTEXTUREFORMAT_16_FLOAT || 30 || Texture format with a single 16-bit float channel.
|-
| GPUTEXTUREFORMAT_16_16_FLOAT || 31 || Texture format with two 16-bit float channels.
|-
| GPUTEXTUREFORMAT_16_16_16_16_FLOAT || 32 || Texture format with four 16-bit float channels.
|-
| GPUTEXTUREFORMAT_32 || 33 || Texture format with a single 32-bit channel.
|-
| GPUTEXTUREFORMAT_32_32 || 34 || Texture format with two 32-bit channels.
|-
| GPUTEXTUREFORMAT_32_32_32_32 || 35 || Texture format with four 32-bit channels.
|-
| GPUTEXTUREFORMAT_32_FLOAT || 36 || Texture format with a single 32-bit float channel.
|-
| GPUTEXTUREFORMAT_32_32_FLOAT || 37 || Texture format with two 32-bit float channels.
|-
| GPUTEXTUREFORMAT_32_32_32_32_FLOAT || 38 || Texture format with four 32-bit float channels.
|-
| GPUTEXTUREFORMAT_32_AS_8 || 39 || Texture format with a single 32-bit channel that is stored as an 8-bit channel in the texture cache.
|-
| GPUTEXTUREFORMAT_32_AS_8_8 || 40 || Texture format with a single 32-bit channel that is stored as two 8-bit channels in the texture cache.
|-
| GPUTEXTUREFORMAT_16_MPEG || 41 || Texture format with a single 16-bit channel.
|-
| GPUTEXTUREFORMAT_16_16_MPEG || 42 || Texture format with two 16-bit channels.
|-
| GPUTEXTUREFORMAT_8_INTERLACED || 43 || Texture format with a single 8-bit channel.
|-
| GPUTEXTUREFORMAT_32_AS_8_INTERLACED || 44 || Texture format with a single 32-bit channel that is stored as an 8-bit channel in the texture cache.
|-
| GPUTEXTUREFORMAT_32_AS_8_8_INTERLACED || 45 || Texture format with a single 32-bit channel that is stored as two 8-bit channels in the texture cache.
|-
| GPUTEXTUREFORMAT_16_INTERLACED || 46 || Texture format with a single 16-bit channel.
|-
| GPUTEXTUREFORMAT_16_MPEG_INTERLACED || 47 || Texture format with a single 16-bit channel.
|-
| GPUTEXTUREFORMAT_16_16_MPEG_INTERLACED || 48 || Texture format with two 16-bit channels.
|-
| GPUTEXTUREFORMAT_DXN || 49 || Two-component 8-bit per texel format made up of two DXT4/5 alpha blocks.
|-
| GPUTEXTUREFORMAT_8_8_8_8_AS_16_16_16_16 || 50 || GPUTEXTUREFORMAT_8_8_8_8 texture format that is stored as four 16-bit channels in the texture cache.
|-
| GPUTEXTUREFORMAT_DXT1_AS_16_16_16_16 || 51 || GPUTEXTUREFORMAT_DXT1 texture format that is stored as four 16-bit channels in the texture cache.
|-
| GPUTEXTUREFORMAT_DXT2_3_AS_16_16_16_16 || 52 || GPUTEXTUREFORMAT_DXT2_3 texture format that is stored as four 16-bit channels in the texture cache.
|-
| GPUTEXTUREFORMAT_DXT4_5_AS_16_16_16_16 || 53 || GPUTEXTUREFORMAT_DXT4_5 texture format that is stored as four 16-bit channels in the texture cache.
|-
| GPUTEXTUREFORMAT_2_10_10_10_AS_16_16_16_16 || 54 || GPUTEXTUREFORMAT_2_10_10_10 texture format that is stored as four 16-bit channels in the texture cache.
|-
| GPUTEXTUREFORMAT_10_11_11_AS_16_16_16_16 || 55 || GPUTEXTUREFORMAT_10_11_11 texture format that is stored as four 16-bit channels in the texture cache.
|-
| GPUTEXTUREFORMAT_11_11_10_AS_16_16_16_16 || 56 || GPUTEXTUREFORMAT_11_11_10 texture format that is stored as four 16-bit channels in the texture cache.
|-
| GPUTEXTUREFORMAT_32_32_32_FLOAT || 57 || Texture format with three 32-bit float channels.
|-
| GPUTEXTUREFORMAT_DXT3A || 58 || Single-component 4-bit per texel format made up of a DXT2/3 alpha block.
|-
| GPUTEXTUREFORMAT_DXT5A || 59 || Single-component 4-bit per texel format made up of a DXT4/5 alpha block.
|-
| GPUTEXTUREFORMAT_CTX1 || 60 || Two-component 4-bit per texel format similar to DXT1 but with 8:8 colors instead of 5:6:5 colors.
|-
| GPUTEXTUREFORMAT_DXT3A_AS_1_1_1_1 || 61 || Four-component format encoded in a DXT2/3 alpha block where each bit is expanded into a separate channel.
|-
| GPUTEXTUREFORMAT_8_8_8_8_GAMMA_EDRAM || 62 || Format with four 8-bit channels. Format is not applicable to textures and only applies to render targets in EDRAM.
|-
| GPUTEXTUREFORMAT_2_10_10_10_FLOAT_EDRAM || 63 || Format with a single 2-bit float channel and three 10-bit float channels. Format is not applicable to textures and only applies to render targets in EDRAM.
|}
 
=== GPUENDIAN ===
{| class="wikitable"
|-
! Name !! Value !! Comments
|-
| GPUENDIAN_NONE || 0 ||
|-
| GPUENDIAN_8IN16 || 1 ||
|-
| GPUENDIAN_8IN32 || 2 ||
|-
| GPUENDIAN_16IN32 || 3 ||
|}
 
=== GPUREQUESTSIZE ===
{| class="wikitable"
|-
! Name !! Value !! Comments
|-
| GPUREQUESTSIZE_256BIT || 0 ||
|-
| GPUREQUESTSIZE_512BIT || 1 ||
|}
 
=== GPUCLAMPPOLICY ===
{| class="wikitable"
|-
! Name !! Value !! Comments
|-
| GPUCLAMPPOLICY_D3D || 0 ||
|-
| GPUCLAMPPOLICY_OGL || 1 ||
|}
 
=== GPUNUMFORMAT ===
{| class="wikitable"
|-
! Name !! Value !! Comments
|-
| GPUNUMFORMAT_FRACTION || 0 || Indicates that a value is a fraction.
|-
| GPUNUMFORMAT_INTEGER || 1 || Indicates that a value is an integer.
|}
 
=== GPUSWIZZLE ===
{| class="wikitable"
|-
! Name !! Value !! Comments
|-
| GPUSWIZZLE_X || 0 || Describes the X component of a register.
|-
| GPUSWIZZLE_Y || 1 || Describes the Y component of a register.
|-
| GPUSWIZZLE_Z || 2 || Describes the Z component of a register.
|-
| GPUSWIZZLE_W || 3 || Describes the W component of a register.
|-
| GPUSWIZZLE_0 || 4 || Describes the 0 component of a register.
|-
| GPUSWIZZLE_1 || 5 || Describes the 1 component of a register.
|}
 
=== GPUMINMAGFILTER ===
{| class="wikitable"
|-
! Name !! Value !! Comments
|-
| GPUMINMAGFILTER_POINT || 0 ||
|-
| GPUMINMAGFILTER_LINEAR || 1 ||
|-
| GPUMINMAGFILTER_KEEP || 2 ||
|}
 
=== GPUMIPFILTER ===
{| class="wikitable"
|-
! Name !! Value !! Comments
|-
| GPUMIPFILTER_POINT || 0 ||
|-
| GPUMIPFILTER_LINEAR || 1 ||
|-
| GPUMIPFILTER_BASEMAP || 2 ||
|-
| GPUMIPFILTER_KEEP || 3 ||
|}
 
=== GPUANISOFILTER ===
{| class="wikitable"
|-
! Name !! Value !! Comments
|-
| GPUANISOFILTER_DISABLED || 0 ||
|-
| GPUANISOFILTER_MAX1TO1 || 1 ||
|-
| GPUANISOFILTER_MAX2TO1 || 2 ||
|-
| GPUANISOFILTER_MAX4TO1 || 3 ||
|-
| GPUANISOFILTER_MAX8TO1 || 4 ||
|-
| GPUANISOFILTER_MAX16TO1 || 5 ||
|-
| GPUANISOFILTER_KEEP || 7 ||
|}
 
=== GPUBORDERCOLOR ===
{| class="wikitable"
|-
! Name !! Value !! Comments
|-
| GPUBORDERCOLOR_ABGR_BLACK || 0 ||
|-
| GPUBORDERCOLOR_ABGR_WHITE || 1 ||
|-
| GPUBORDERCOLOR_ACBYCR_BLACK || 2 ||
|-
| GPUBORDERCOLOR_ACBCRY_BLACK || 3 ||
|}
 
=== GPUTRICLAMP ===
{| class="wikitable"
|-
! Name !! Value !! Comments
|-
| GPUTRICLAMP_NORMAL || 0 ||
|-
| GPUTRICLAMP_ONE_SIXTH || 1 ||
|-
| GPUTRICLAMP_ONE_FOURTH || 2 ||
|-
| GPUTRICLAMP_THREE_EIGHTHS || 3 ||
|}
 
=== GPUDIMENSION ===
{| class="wikitable"
|-
! Name !! Value !! Comments
|-
| GPUDIMENSION_1D || 0 ||
|-
| GPUDIMENSION_2D || 1 ||
|-
| GPUDIMENSION_3D || 2 ||
|-
| GPUDIMENSION_CUBEMAP || 3 ||
|}