APT:SendCaptureBufferInfo: Difference between revisions
		
		
		
		Jump to navigation
		Jump to search
		
Steveice10 (talk | contribs) mNo edit summary  | 
				|||
| Line 12: | Line 12: | ||
|-  | |-  | ||
| 2  | | 2  | ||
| <nowiki>(Size<<14) | 2</nowiki>  | | <nowiki>(Size << 14) | 2</nowiki>  | ||
|-  | |-  | ||
| 3  | | 3  | ||
| Input   | | void*, Input Buffer  | ||
|}  | |}  | ||
| Line 31: | Line 31: | ||
|}  | |}  | ||
=Capture Info=  | |||
=Capture   | |||
{| class="wikitable" border="1"  | {| class="wikitable" border="1"  | ||
|-  | |-  | ||
Revision as of 04:33, 22 November 2015
Request
| Index Word | Description | 
|---|---|
| 0 | Header code [0x00400042] | 
| 1 | Size | 
| 2 | (Size << 14) | 2 | 
| 3 | void*, Input Buffer | 
Response
| Index Word | Description | 
|---|---|
| 0 | Header code | 
| 1 | Result code | 
Capture Info
| 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.