APT:SendCaptureBufferInfo

From 3dbrew
Jump to navigation Jump to search

Request

Index Word Description
0 Header code [0x00400042]
1 Size
2 (Size<<14) | 2
3 Input buffer ptr

Response

Index Word Description
0 Header code
1 Result code


Capture info structure

Index Word Description
0 Pixel bytesize * 0x7000 + base0. (main-screen. base0 = Pixel bytesize * 0x19000 + base1, base1 = indexword3 value)
1 u8: 0 = framebuffer addresses from GSP captureinfo+0 / captureinfo+4 match, otherwise this is value 1 when those addresses don't match.
2 Pixel bytesize * 0x14000 + base. (base = 0, sub-screen)
3 Same as wordindex 2. When the above u8 flag!=0, this is: Pixel bytesize * 0x19000 + base. (base = indexword2 value, main-screen)
4 Low 3-bits of main-screen 0x1EF00X70 value(color format).
5 Normally zero.
6 Normally zero.
7 Low 3-bits of sub-screen 0x1EF00X70 value(color format).

The user process initializes this structure using data from GSPGPU:ImportDisplayCaptureInfo. The pixel bytesize is determined by the color format for that screen. When the color-format is RGBA, the pixel bytesize used is value 3.

Description

The input size is clamped to 0x20-bytes by NS. The input buffer with the clamped size is then copied to a NS state buffer. The size field for this state buffer is also set to this clamped size.