This page describes the GPU commands used for textures.
Command set 0x809F0081
Command Index | CommandID | Parameter | Description |
---|---|---|---|
0 | 0x809F0081 | This is used to set the current texture info used for rendering. | |
1 | 0x000F008E | u32 color type | This sets the current texture color type. |
Textures are initially disabled when beginning rendering for each mesh, this command set also enables textures. This command set is used for index0, commands 0x805F0091 and 0x805F0099 are used for index1-index2.
Texture info parameter structure for CmdID 0x809F0081
Index Word | Description |
---|---|
0 | ? |
1 | The low u16 is the texture image width, and the high u16 is the texture image height. |
2 | Texture parameters, initialized by glTexParameter(). |
3 | ? |
4 | Texture image data physical address >> 3. |
5-9 | Value zero |
Texture info parameter structure for CmdID 0x805F0091 and 0x805F0099
Index Word | Description |
---|---|
4-0 | Same as CmdID 0x809F0081. |
5 | Color type |
Texture parameters
Bit | Description | GL parameter name |
---|---|---|
0 | Normally this is value 0. | |
1 | 0 = GL_NEAREST, 1 = GL_LINEAR. | GL_TEXTURE_MAG_FILTER |
2 | 1 = GL_LINEAR, GL_LINEAR_MIPMAP_NEAREST, or GL_LINEAR_MIPMAP_LINEAR. Value zero otherwise. | GL_TEXTURE_MIN_FILTER |
3 | Unused? | ? |
5-4 | 2 = texture color type 0xC, 0 otherwise.(Enable/disable texture data compression?) 0 = unknown, 1 = unknown, 3 = same effect as value 2. | |
7-6 | Unused | |
11-8 | 0 = GL_CLAMP_TO_EDGE, 1=unknown, 2=GL_REPEAT, 3=unknown. | GL_TEXTURE_WRAP_S |
15-12 | Same values as GL_TEXTURE_WRAP_S. | GL_TEXTURE_WRAP_T |
24 | 1 = GL_NEAREST_MIPMAP_LINEAR, or GL_LINEAR_MIPMAP_LINEAR. Value zero otherwise. | GL_TEXTURE_MIN_FILTER |
27-25 | Unused? | |
30-28 | When some flag=1: value1=GL_TEXTURE_2D, value0 when the input parameter is not GL_TEXTURE_2D. When some flag=0: 0=GL_TEXTURE_2D, 1-4=unknown. | ? |
31 | Unused? | ? |
Texture color types
Value | Description | GL Format | GL Data Type |
---|---|---|---|
0x0 | RGBA8888 | GL_RGBA / DMP-extension constant 0x6752 | GL_UNSIGNED_BYTE |
0x1 | BGR888 | GL_RGB / DMP-extension constant 0x6754 | GL_UNSIGNED_BYTE |
0x2 | RGBA5551 | GL_RGBA / DMP-extension constant 0x6752 | GL_UNSIGNED_SHORT_5_5_5_1 |
0x3 | BGR565 | GL_RGB / DMP-extension constant 0x6754 | GL_UNSIGNED_SHORT_5_6_5 |
0x4 | RGBA4444 | GL_RGBA / DMP-extension constant 0x6752 | GL_UNSIGNED_SHORT_4_4_4_4 |
0x5 | GL_LUMINANCE_ALPHA / DMP-extension constant 0x6758 | GL_UNSIGNED_BYTE | |
0x6 | ? | DMP-extension constants 0x6700 / 0x6759 | GL_UNSIGNED_BYTE |
0x7 | GL_LUMINANCE / DMP-extension constant 0x6757 | GL_UNSIGNED_BYTE | |
0x8 | GL_ALPHA / DMP-extension constant 0x6756 | GL_UNSIGNED_BYTE | |
0x9 | ? | GL_LUMINANCE_ALPHA / DMP-extension constant 0x6758 | DMP-extension constant 0x6760 |
0xA | ? | GL_LUMINANCE / DMP-extension constant 0x6757 | DMP-extension constant 0x6761 |
0xB | ? | GL_ALPHA / DMP-extension constant 0x6756 | DMP-extension constant 0x6761 |
0xC | Compression related? | DMP-extension constant 0x675A | |
0xD | ? | DMP-extension constant 0x675B |