GSPGPU:ImportDisplayCaptureInfo: Difference between revisions

No edit summary
 
(5 intermediate revisions by 4 users not shown)
Line 16: Line 16:
|-
|-
| 0
| 0
| Header code
| Header code [0x00180240]
|-
|-
| 1
| 1
| Result code
| Result code
|-
|-
| 2-9
| 2-5
| Output 0x20-byte capture info structure.
| Capture info for the top screen
|-
| 6-9
| Capture info for the bottom screen
|}
|}


=Capture info entry=
=Capture info=
{| class="wikitable" border="1"
{| class="wikitable" border="1"
|-
|-
Line 32: Line 35:
|-
|-
| 0
| 0
| [[LCD#Framebuffers|Framebuffer]] process virtual address, for the main screen this is the 3D left framebuffer
| Left framebuffer VA
|-
|-
| 1
| 1
| For the main screen: 3D right framebuffer process vaddr
| Right framebuffer VA (top screen only)
|-
|-
| 2
| 2
| Framebuffer [[LCD|format]], this u16 is stored in the low u16 for LCD register 0x1EF00X70.
| [[GPU/External_Registers#Framebuffer_format|Format]]
|-
|-
| 3
| 3
| Value for [[LCD|0x1EF00X90]], controls framebuffer width
| [[GPU/External_Registers#LCD_Source_Framebuffer_Setup|Stride]] (offset 0x90)
|}
 
=Capture info structure=
{| class="wikitable" border="1"
|-
!  Index Word
!  Description
|-
| 0-3
| Capture info entry for the main screen.
|-
| 4-7
| Capture info entry for the sub screen.
|}
|}


=Description=
=Description=
This returns the current framebuffer state. The returned framebuffer addresses are for the currently used(first/second) framebuffers.
This returns the current framebuffer state. The returned framebuffer addresses are for the new framebuffers (the ones that will be displayed next frame, after VBlank) for the process with GPU rights.