Texture
Textures are images used in-game, generally either displayed directly or applied to a model. In Burnout Paradise, their format differs heavily between platforms. Despite this, they generally use variations of the same codecs—DXT1, DXT5 and A8R8G8B8. Mipmaps are used systematically throughout the game as well.
Layout
PlayStation 3
The majority of this information is from the SCE PS3 SDK: CellGcmTexture datatype reference, though Burnout's debugging symbols were also referenced.
renderengine::Texture
Offset | Length | Type | Name | Description | Comments |
---|---|---|---|---|---|
0x0 | 0x1 | uint8_t | m_format | Texture format | See format |
0x1 | 0x1 | uint8_t | m_mipmap | Number of mipmap levels (1-13) | Sum of the maximum number of mipmap levels for the texture + 1 |
0x2 | 0x1 | uint8_t | m_dimension | Texture dimension | See dimension |
0x3 | 0x1 | uint8_t | m_cubemap | Enable or disable cube mapping | See CubeMapEnable |
0x4 | 0x4 | uint32_t | m_remap | Method of selecting each element of the color value | See remap |
0x8 | 0x2 | uint16_t | m_width | Width of texture (1-4096) | |
0xA | 0x2 | uint16_t | m_height | Height of texture (1-4096) | |
0xC | 0x2 | uint16_t | m_depth | Depth of texture (1-512) | Always 1 in Burnout as 3D textures are not used |
0xE | 0x1 | uint8_t | m_location | Location of texture data (main memory or local memory) | See location |
0xF | 0x1 | uint8_t | m_padding | ||
0x10 | 0x4 | uint32_t | m_pitch | Pitch size of texture | See pitch |
0x14 | 0x4 | uint32_t | m_offset | Offset value from the base address of the texture data location | |
0x18 | 0x4 | void * | m_buffer | Texture | |
0x1C | 0x4 | Type | m_storeType | Store type | See type |
0x20 | 0x4 | uint32_t | m_storeFlags | Store flags | Seemingly unused |
Format
Swizzling and normalization is not used in Burnout, so these flags are unused.
Below is the bitwise structure for the format field.
Bit | Length | Comments |
---|---|---|
0 | 5 | Color format. See color format |
5 | 1 | Swizzle flag. See swizzle flag |
6 | 1 | Normalization flag. See normalization flag |
7 | 1 | Unused, always 1 |
For example, the following is the DXT5 format as found in Burnout:
1 | 0 | 0 | 0 | 1 | 0 | 0 | 0 |
---|---|---|---|---|---|---|---|
Unused | CELL_GCM_TEXTURE_NR | CELL_GCM_TEXTURE_SZ | CELL_GCM_TEXTURE_COMPRESSED_DXT45 |
Remap
The remap order is only used when one of the following color formats is specified:
- CELL_GCM_TEXTURE_COMPRESSED_HILO8
- CELL_GCM_TEXTURE_COMPRESSED_HILO_S8
- CELL_GCM_TEXTURE_X16
- CELL_GCM_TEXTURE_Y16_X16
- CELL_GCM_TEXTURE_Y16_X16_FLOAT
These are not used in Burnout, so the remap field is unused.
Below is the bitwise structure for the remap field.
Bit | Length | Comments |
---|---|---|
0 | 16 | Remap order |
16 | 2 | Output blue element |
18 | 2 | Output green element |
20 | 2 | Output red element |
22 | 2 | Output alpha element |
24 | 2 | Input blue element |
26 | 2 | Input green element |
28 | 2 | Input red element |
30 | 2 | Input alpha element |
Pitch
Pitch is the texture width multiplied by the bytes per texel. It must be specified when using linear texture formats or DXT compression. If the texture is swizzled or the DXT texture width is a power of 2, pitch is ignored. Otherwise, it must be 16 or more.
Burnout only uses textures with widths at powers of 2, so pitch is unused. However, if it becomes necessary to calculate pitch, the following formula may be used for DXT textures:
pitch = floor((width+3)/4)* block_size
Where block_size
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
Offset | Length | Type | Name | Description | Comments |
---|---|---|---|---|---|
0x0 | 0x4 | DWORD | Common | See 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 |
Common
Based on information from indirivacua.
Bit | Length | Name | Description | Comments |
---|---|---|---|---|
0 | 4 | Type | D3D resource type | See 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.
Bit | Length | Name | Description | Comments |
---|---|---|---|---|
0 | 2 | Type | See GPUCONSTANTTYPE | |
2 | 2 | SignX | See GPUSIGN | |
4 | 2 | SignY | See GPUSIGN | |
6 | 2 | SignZ | See GPUSIGN | |
8 | 2 | SignW | See GPUSIGN | |
10 | 3 | ClampX | See GPUCLAMP | |
13 | 3 | ClampY | See GPUCLAMP | |
16 | 3 | ClampZ | See GPUCLAMP | |
19 | 2 | MultiSample | D3D construct: not used by hardware See GPUMULTISAMPLE_TYPE | |
21 | 1 | padding | ||
22 | 9 | Pitch | ||
31 | 1 | Tiled |
Bit | Length | Name | Description | Comments |
---|---|---|---|---|
0 | 6 | DataFormat | See GPUTEXTUREFORMAT | |
6 | 2 | Endian | See GPUENDIAN | |
8 | 2 | RequestSize | See GPUREQUESTSIZE | |
10 | 1 | Stacked | ||
11 | 1 | ClampPolicy | See GPUCLAMPPOLICY | |
12 | 20 | BaseAddress |
Bit | Length | Name | Description | Comments |
---|---|---|---|---|
0 | 32 | Size | See GPUTEXTURESIZE |
Bit | Length | Name | Description | Comments |
---|---|---|---|---|
0 | 1 | NumFormat | See GPUNUMFORMAT | |
1 | 3 | SwizzleX | See GPUSWIZZLE | |
4 | 3 | SwizzleY | See GPUSWIZZLE | |
7 | 3 | SwizzleZ | See GPUSWIZZLE | |
10 | 3 | SwizzleW | See GPUSWIZZLE | |
13 | 6 | ExpAdjust | ||
19 | 2 | MagFilter | See GPUMINMAGFILTER | |
21 | 2 | MinFilter | See GPUMINMAGFILTER | |
23 | 2 | MipFilter | See GPUMIPFILTER | |
25 | 3 | AnisoFilter | See GPUANISOFILTER | |
28 | 3 | padding | ||
31 | 1 | BorderSize |
Bit | Length | Name | Description | Comments |
---|---|---|---|---|
0 | 1 | VolMagFilter | See GPUMINMAGFILTER | |
1 | 1 | VolMinFilter | See GPUMINMAGFILTER | |
2 | 4 | MinMipLevel | ||
6 | 4 | MaxMipLevel | ||
10 | 1 | MagAnisoWalk | ||
11 | 1 | MinAnisoWalk | ||
12 | 10 | LODBias | ||
22 | 5 | GradExpAdjustH | ||
27 | 5 | GradExpAdjustV |
Bit | Length | Name | Description | Comments |
---|---|---|---|---|
0 | 2 | BorderColor | See GPUBORDERCOLOR | |
2 | 1 | ForceBCWToMax | ||
3 | 2 | TriClamp | See GPUTRICLAMP | |
5 | 4 | AnisoBias | ||
9 | 2 | Dimension | See GPUDIMENSION | |
11 | 1 | PackedMips | ||
12 | 20 | MipAddress |
GPUTEXTURESIZE
Four structures used in the union Size
:
Type | Name | Description | Comments |
---|---|---|---|
GPUTEXTURESIZE_1D | OneD | See GPUTEXTURESIZE_1D | |
GPUTEXTURESIZE_2D | TwoD | See GPUTEXTURESIZE_2D | |
GPUTEXTURESIZE_3D | ThreeD | See GPUTEXTURESIZE_3D | |
GPUTEXTURESIZE_STACK | Stack | See GPUTEXTURESIZE_STACK |
GPUTEXTURESIZE_1D
Bit | Length | Name | Description | Comments |
---|---|---|---|---|
0 | 24 | Width | ||
24 | 8 | padding |
GPUTEXTURESIZE_2D
Bit | Length | Name | Description | Comments |
---|---|---|---|---|
0 | 13 | Width | ||
13 | 13 | Height | ||
26 | 6 | padding |
GPUTEXTURESIZE_3D
Bit | Length | Name | Description | Comments |
---|---|---|---|---|
0 | 11 | Width | ||
11 | 11 | Height | ||
22 | 10 | Depth |
GPUTEXTURESIZE_STACK
Bit | Length | Name | Description | Comments |
---|---|---|---|---|
0 | 13 | Width | ||
13 | 13 | Height | ||
26 | 6 | Depth |
Enumerations
PlayStation 3
Much of this information is from the SCE PS3 SDK: GCM Method Macros Overview, section 6.4: TextureFormat. Some information is also from the CellGcmTexture datatype documentation. Various other sources are used.
Color format
Name | Value | Comments |
---|---|---|
CELL_GCM_TEXTURE_B8 | 0x81 | One 8-bit unsigned integer |
CELL_GCM_TEXTURE_A1R5G5B5 | 0x82 | One 1-bit value and three unsigned 5-bit integers |
CELL_GCM_TEXTURE_A4R4G4B4 | 0x83 | Four unsigned 4-bit values |
CELL_GCM_TEXTURE_R5G6B5 | 0x84 | 5-bit, 6-bit, and 5-bit unsigned integers |
CELL_GCM_TEXTURE_A8R8G8B8 | 0x85 | Four 8-bit unsigned integers |
CELL_GCM_TEXTURE_COMPRESSED_DXT1 | 0x86 | 4x4 pixels compressed to 8 bytes |
CELL_GCM_TEXTURE_COMPRESSED_DXT23 | 0x87 | 4x4 pixels compressed to 16 bytes |
CELL_GCM_TEXTURE_COMPRESSED_DXT45 | 0x88 | 4x4 pixels compressed to 16 bytes |
CELL_GCM_TEXTURE_G8B8 | 0x8B | Two 8-bit unsigned integers |
CELL_GCM_TEXTURE_R6G5B5 | 0x8F | 6-bit, 5-bit, and 5-bit unsigned integers |
CELL_GCM_TEXTURE_DEPTH24_D8 | 0x90 | One 24-bit fixed, and 8-bit dummy data |
CELL_GCM_TEXTURE_DEPTH24_D8_FLOAT | 0x91 | One 24-bit float, and 8-bit dummy data |
CELL_GCM_TEXTURE_DEPTH16 | 0x92 | One 16-bit fixed |
CELL_GCM_TEXTURE_DEPTH16_FLOAT | 0x93 | One 16-bit float value |
CELL_GCM_TEXTURE_X16 | 0x94 | One 16-bit integer |
CELL_GCM_TEXTURE_Y16_X16 | 0x95 | Two 16-bit integer |
CELL_GCM_TEXTURE_R5G5B5A1 | 0x97 | Three 5-bit unsigned integers, and one 1-bit value |
CELL_GCM_TEXTURE_COMPRESSED_HILO8 | 0x98 | Two unsigned 16-bit values compressed to two 8-bit values |
CELL_GCM_TEXTURE_COMPRESSED_HILO_S8 | 0x99 | Two signed 16-bit values compressed to two 8-bit values |
CELL_GCM_TEXTURE_W16_Z16_Y16_X16_FLOAT | 0x9A | Four 16-bit float values |
CELL_GCM_TEXTURE_W32_Z32_Y32_X32_FLOAT | 0x9B | Four 32-bit float values |
CELL_GCM_TEXTURE_X32_FLOAT | 0x9C | One 32-bit float value |
CELL_GCM_TEXTURE_D1R5G5B5 | 0x9D | 1-bit dummy data, and three 5-bit unsigned integers |
CELL_GCM_TEXTURE_D8R8G8B8 | 0x9E | 8-bit dummy data, and three 8-bit unsigned integers |
CELL_GCM_TEXTURE_Y16_X16_FLOAT | 0x9F | Two 16-bit float values |
CELL_GCM_TEXTURE_COMPRESSED_B8R8_G8R8 | 0xAD | Two pixels compressed in the YUV format to 32 bits |
CELL_GCM_TEXTURE_COMPRESSED_R8B8_R8G8 | 0xAE | Two pixels compressed in the YUV format to 32 bits |
Swizzle flag
Swizzle can only be used when the width is not a power of two. Pitch must be specified.
Name | Value | Comments |
---|---|---|
CELL_GCM_TEXTURE_SZ | 0x0 | Use the swizzle format |
CELL_GCM_TEXTURE_LN | 0x20 | Use the linear format |
Normalization flag
Name | Value | Comments |
---|---|---|
CELL_GCM_TEXTURE_NR | 0x0 | Normalize texture coordinates |
CELL_GCM_TEXTURE_UN | 0x40 | Do not normalize texture coordinates |
Dimension
Depth textures cannot be 3D.
Name | Value | Comments |
---|---|---|
CELL_GCM_TEXTURE_DIMENSION_1 | 1 | 1D texture |
CELL_GCM_TEXTURE_DIMENSION_2 | 2 | 2D texture |
CELL_GCM_TEXTURE_DIMENSION_3 | 3 | 3D texture |
CubeMapEnable
Name | Value | Comments |
---|---|---|
CELL_GCM_FALSE | 0 | Disable |
CELL_GCM_TRUE | 1 | Enable |
Location
Name | Value | Comments |
---|---|---|
CELL_GCM_LOCATION_LOCAL + 1 | 1 | Local memory |
CELL_GCM_LOCATION_MAIN + 1 | 2 | Main memory |
renderengine::Texture::Type
Name | Value | Comments |
---|---|---|
TYPE_NA | -1 | |
TYPE_1D | 1 | |
TYPE_2D | 2 | |
TYPE_3D | 3 | |
TYPE_CUBE | 0x10002 | |
TYPE_FORCEENUMSIZEINT | 0x7FFFFFFF |
Xbox 360
From the MS Xbox 360 SDK and Burnout Paradise (2008-01-30 build)'s XDB.
D3DRESOURCETYPE
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
Name | Value | Comments |
---|---|---|
GPUCONSTANTTYPE_INVALID_TEXTURE | 0 | |
GPUCONSTANTTYPE_INVALID_VERTEX | 1 | |
GPUCONSTANTTYPE_TEXTURE | 2 | |
GPUCONSTANTTYPE_VERTEX | 3 |
GPUSIGN
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
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
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.
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
Name | Value | Comments |
---|---|---|
GPUENDIAN_NONE | 0 | |
GPUENDIAN_8IN16 | 1 | |
GPUENDIAN_8IN32 | 2 | |
GPUENDIAN_16IN32 | 3 |
GPUREQUESTSIZE
Name | Value | Comments |
---|---|---|
GPUREQUESTSIZE_256BIT | 0 | |
GPUREQUESTSIZE_512BIT | 1 |
GPUCLAMPPOLICY
Name | Value | Comments |
---|---|---|
GPUCLAMPPOLICY_D3D | 0 | |
GPUCLAMPPOLICY_OGL | 1 |
GPUNUMFORMAT
Name | Value | Comments |
---|---|---|
GPUNUMFORMAT_FRACTION | 0 | Indicates that a value is a fraction. |
GPUNUMFORMAT_INTEGER | 1 | Indicates that a value is an integer. |
GPUSWIZZLE
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
Name | Value | Comments |
---|---|---|
GPUMINMAGFILTER_POINT | 0 | |
GPUMINMAGFILTER_LINEAR | 1 | |
GPUMINMAGFILTER_KEEP | 2 |
GPUMIPFILTER
Name | Value | Comments |
---|---|---|
GPUMIPFILTER_POINT | 0 | |
GPUMIPFILTER_LINEAR | 1 | |
GPUMIPFILTER_BASEMAP | 2 | |
GPUMIPFILTER_KEEP | 3 |
GPUANISOFILTER
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
Name | Value | Comments |
---|---|---|
GPUBORDERCOLOR_ABGR_BLACK | 0 | |
GPUBORDERCOLOR_ABGR_WHITE | 1 | |
GPUBORDERCOLOR_ACBYCR_BLACK | 2 | |
GPUBORDERCOLOR_ACBCRY_BLACK | 3 |
GPUTRICLAMP
Name | Value | Comments |
---|---|---|
GPUTRICLAMP_NORMAL | 0 | |
GPUTRICLAMP_ONE_SIXTH | 1 | |
GPUTRICLAMP_ONE_FOURTH | 2 | |
GPUTRICLAMP_THREE_EIGHTHS | 3 |
GPUDIMENSION
Name | Value | Comments |
---|---|---|
GPUDIMENSION_1D | 0 | |
GPUDIMENSION_2D | 1 | |
GPUDIMENSION_3D | 2 | |
GPUDIMENSION_CUBEMAP | 3 |