GPU/Commands: Difference between revisions

No edit summary
No edit summary
Line 75: Line 75:
| 0x809F0081
| 0x809F0081
|  
|  
| This is used to set the current texture info used for rendering.
| This is used to set the current texture info used for rendering, see command set [[GPU_Textures|0x809F0081]].
|-
|-
| 0x000F008E
| 0x000F008E
| u32 color type
| u32 color type
| This command is used immediately after CmdID 0x809F0081, for specifying the texture color type.
| This command sets the texture color type, see command set [[GPU_Textures|0x809F0081]].
|-
|-
| 0x00020100
| 0x00020100
Line 449: Line 449:


Normally the width and height is set to the same [[GPU|dimensions]] used with GX [[GSP_Shared_Memory|command]] 3 and 4.
Normally the width and height is set to the same [[GPU|dimensions]] used with GX [[GSP_Shared_Memory|command]] 3 and 4.
=== Texture info parameter structure for CmdID 0x809F0081 ===
{| class="wikitable" border="1"
!  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 data physical address >> 3. This is normally located in VRAM.
|-
| 5-9
| ?
|}
==== Texture parameters ====
{| class="wikitable" border="1"
!  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?
| ?
|-
| 7-4
| 2 = texture color type 0xC, 0 otherwise.(Enable/disable texture data compression?)
|
|-
| 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 type parameter values for CmdID 0x000F008E ===
{| class="wikitable" border="1"
!  Value
!  Description
!  GL Format
!  GL Data Type
|-
| 0x0
| RGBA8888
| GL_RGBA
| GL_UNSIGNED_BYTE
|-
| 0x1
| RGB888
| GL_RGB
| GL_UNSIGNED_BYTE
|-
| 0x2
| RGBA5551
| GL_RGBA
| GL_UNSIGNED_SHORT_5_5_5_1
|-
| 0x3
| RGB565
| GL_RGB
| GL_UNSIGNED_SHORT_5_6_5
|-
| 0x4
| RGBA4444
| GL_RGBA
| GL_UNSIGNED_SHORT_4_4_4_4
|-
| 0x5
|
| GL_LUMINANCE_ALPHA
| GL_UNSIGNED_BYTE
|-
| 0x6
| ?
| ?
| GL_UNSIGNED_BYTE
|-
| 0x7
|
| GL_LUMINANCE
| GL_UNSIGNED_BYTE
|-
| 0x8
|
| GL_ALPHA
| GL_UNSIGNED_BYTE
|-
| 0x9
| ?
| GL_LUMINANCE_ALPHA
| ?
|-
| 0xA
| ?
| GL_LUMINANCE
|
|-
| 0xB
| ?
| GL_ALPHA
|
|-
| 0xC
| Compression related?
| ?
|
|-
| 0xD
| ?
| ?
|
|}


=== Parameter structure for CmdID 0x826F0200 ===
=== Parameter structure for CmdID 0x826F0200 ===