Changes

560 bytes added ,  01:07, 20 September 2014
Line 221: Line 221:  
|}
 
|}
   −
This command converts the specified addresses to physical addresses, then writes these physical addresses and parameters to the [[GPU]] registers at 0x1EF00C00. This GPU command copies the already rendered framebuffer data from the input GPU framebuffer address to the specified output LCD framebuffer. The input framebuffer is normally located in VRAM. Note that unlike the LCD framebuffers, the GPU framebuffer seems to use fixed-point/floats for the color format.
+
This command converts the specified addresses to physical addresses, then writes these physical addresses and parameters to the [[GPU]] registers at 0x1EF00C00. This GPU command copies the already rendered framebuffer data from the input GPU framebuffer address to the specified output LCD framebuffer. The input framebuffer is normally located in VRAM.
 +
 
 +
The GPU color buffer is stored in the same Z-curve (tiled) format as textures. By default, SetDisplayTransfer converts the given buffer from the tiled format to a linear format adapted to the LCD framebuffers.
 +
 
 +
Flags:
 +
* bit12-14 seem to be the output color format. Unknown if there are also bits for the input color format or if it's always RGBA8888.
 +
* when bit3 is set, no tiled->linear conversion is done, instead the buffer is copied linearly.
 +
* when bit1 is set, the buffer is converted from linear to tiled. This can be used to upload textures stored linearly. (bit3 has priority over bit1)
 +
* when bit0 is set, the buffer is mirrored vertically during the copy.
    
==GX SetTextureCopy==
 
==GX SetTextureCopy==
136

edits