GSPGPU:WriteHWRegsWithMask: Difference between revisions

From 3dbrew
Jump to navigation Jump to search
Created page with "=Request= {| class="wikitable" border="1" |- ! Index Word ! Description |- | 0 | Header code [0x00020084] |- | 1 | GPU address based at 0x1EB00000, must be word-aligned |- ..."
 
ElementW (talk | contribs)
Convert to IPC templates
Line 1: Line 1:
=Request=
=Request=
{| class="wikitable" border="1"
{{IPC/Request|Request}}
|-
{{IPC/RequestHeader|0x0002|2|4}}
!  Index Word
{{IPC/RequestEntry|[[GPU]] address based at 0x1EB00000, must be word-aligned}}
!  Description
{{IPC/RequestEntry|<nowiki>Size, must be <=0x80 and word-aligned</nowiki>}}
|-
{{IPC/TranslateStaticBuffer|Data pointer|0}}
| 0
{{IPC/TranslateStaticBuffer|Mask data pointer|1}}
| Header code [0x00020084]
{{IPC/RequestEnd}}
|-
| 1
| [[GPU]] address based at 0x1EB00000, must be word-aligned
|-
| 2
| Size, must be <=0x80 and word-aligned
|-
| 3
| (DataSize<<14) <nowiki>|</nowiki> 2
|-
| 4
| Data pointer
|-
| 5
| (MaskDataSize<<14) <nowiki>|</nowiki> 0x402
|-
| 6
| Mask data pointer
|}


=Response=
=Response=
{| class="wikitable" border="1"
{{IPC/Request|Request}}
|-
{{IPC/RequestHeader|0x0002|2|0}}
!  Index Word
{{IPC/RequestEntry|Header code}}
!  Description
{{IPC/RequestEntry|Result code}}
|-
{{IPC/RequestEnd}}
| 0
| Header code
|-
| 1
| Result code
|}


=Description=
=Description=
The GPU register offset must be <0x420000. GPU register = (register & ~maskword) | (data & maskword).
The GPU register offset must be <0x420000. GPU register = (register & ~maskword) | (data & maskword).

Revision as of 10:26, 18 September 2024

Request

Request Word Description
0
Header 0x00020084 Cmd 0x0002 Param 2 Xlat 4
1 GPU address based at 0x1EB00000, must be word-aligned
2 Size, must be <=0x80 and word-aligned
3 Descriptor for static buffer (id 0)
4 Data pointer
5 Descriptor for static buffer (id 1)
6 Mask data pointer

Response

Request Word Description
0
Header 0x00020080 Cmd 0x0002 Param 2 Xlat 0
1 Header code
2 Result code

Description

The GPU register offset must be <0x420000. GPU register = (register & ~maskword) | (data & maskword).