libctru v2.5.0
Loading...
Searching...
No Matches
registers.h
Go to the documentation of this file.
1/**
2 * @file registers.h
3 * @description GPU registers.
4 */
5#pragma once
6
7///@name Miscellaneous registers (0x000-0x03F)
8///@{
9#define GPUREG_0000 0x0000 ///< Unknown.
10#define GPUREG_0001 0x0001 ///< Unknown.
11#define GPUREG_0002 0x0002 ///< Unknown.
12#define GPUREG_0003 0x0003 ///< Unknown.
13#define GPUREG_0004 0x0004 ///< Unknown.
14#define GPUREG_0005 0x0005 ///< Unknown.
15#define GPUREG_0006 0x0006 ///< Unknown.
16#define GPUREG_0007 0x0007 ///< Unknown.
17#define GPUREG_0008 0x0008 ///< Unknown.
18#define GPUREG_0009 0x0009 ///< Unknown.
19#define GPUREG_000A 0x000A ///< Unknown.
20#define GPUREG_000B 0x000B ///< Unknown.
21#define GPUREG_000C 0x000C ///< Unknown.
22#define GPUREG_000D 0x000D ///< Unknown.
23#define GPUREG_000E 0x000E ///< Unknown.
24#define GPUREG_000F 0x000F ///< Unknown.
25#define GPUREG_FINALIZE 0x0010 ///< Used to finalize GPU drawing.
26#define GPUREG_0011 0x0011 ///< Unknown.
27#define GPUREG_0012 0x0012 ///< Unknown.
28#define GPUREG_0013 0x0013 ///< Unknown.
29#define GPUREG_0014 0x0014 ///< Unknown.
30#define GPUREG_0015 0x0015 ///< Unknown.
31#define GPUREG_0016 0x0016 ///< Unknown.
32#define GPUREG_0017 0x0017 ///< Unknown.
33#define GPUREG_0018 0x0018 ///< Unknown.
34#define GPUREG_0019 0x0019 ///< Unknown.
35#define GPUREG_001A 0x001A ///< Unknown.
36#define GPUREG_001B 0x001B ///< Unknown.
37#define GPUREG_001C 0x001C ///< Unknown.
38#define GPUREG_001D 0x001D ///< Unknown.
39#define GPUREG_001E 0x001E ///< Unknown.
40#define GPUREG_001F 0x001F ///< Unknown.
41#define GPUREG_0020 0x0020 ///< Unknown.
42#define GPUREG_0021 0x0021 ///< Unknown.
43#define GPUREG_0022 0x0022 ///< Unknown.
44#define GPUREG_0023 0x0023 ///< Unknown.
45#define GPUREG_0024 0x0024 ///< Unknown.
46#define GPUREG_0025 0x0025 ///< Unknown.
47#define GPUREG_0026 0x0026 ///< Unknown.
48#define GPUREG_0027 0x0027 ///< Unknown.
49#define GPUREG_0028 0x0028 ///< Unknown.
50#define GPUREG_0029 0x0029 ///< Unknown.
51#define GPUREG_002A 0x002A ///< Unknown.
52#define GPUREG_002B 0x002B ///< Unknown.
53#define GPUREG_002C 0x002C ///< Unknown.
54#define GPUREG_002D 0x002D ///< Unknown.
55#define GPUREG_002E 0x002E ///< Unknown.
56#define GPUREG_002F 0x002F ///< Unknown.
57#define GPUREG_0030 0x0030 ///< Unknown.
58#define GPUREG_0031 0x0031 ///< Unknown.
59#define GPUREG_0032 0x0032 ///< Unknown.
60#define GPUREG_0033 0x0033 ///< Unknown.
61#define GPUREG_0034 0x0034 ///< Unknown.
62#define GPUREG_0035 0x0035 ///< Unknown.
63#define GPUREG_0036 0x0036 ///< Unknown.
64#define GPUREG_0037 0x0037 ///< Unknown.
65#define GPUREG_0038 0x0038 ///< Unknown.
66#define GPUREG_0039 0x0039 ///< Unknown.
67#define GPUREG_003A 0x003A ///< Unknown.
68#define GPUREG_003B 0x003B ///< Unknown.
69#define GPUREG_003C 0x003C ///< Unknown.
70#define GPUREG_003D 0x003D ///< Unknown.
71#define GPUREG_003E 0x003E ///< Unknown.
72#define GPUREG_003F 0x003F ///< Unknown.
73///@}
74
75///@name Rasterizer registers (0x040-0x07F)
76///@{
77#define GPUREG_FACECULLING_CONFIG 0x0040 ///< Face culling configuration.
78#define GPUREG_VIEWPORT_WIDTH 0x0041 ///< Viewport width.
79#define GPUREG_VIEWPORT_INVW 0x0042 ///< Inverted viewport width.
80#define GPUREG_VIEWPORT_HEIGHT 0x0043 ///< Viewport height.
81#define GPUREG_VIEWPORT_INVH 0x0044 ///< Inverted viewport height.
82#define GPUREG_0045 0x0045 ///< Unknown
83#define GPUREG_0046 0x0046 ///< Unknown
84#define GPUREG_FRAGOP_CLIP 0x0047 ///< Unknown
85#define GPUREG_FRAGOP_CLIP_DATA0 0x0048 ///< Unknown
86#define GPUREG_FRAGOP_CLIP_DATA1 0x0049 ///< Unknown
87#define GPUREG_FRAGOP_CLIP_DATA2 0x004A ///< Unknown
88#define GPUREG_FRAGOP_CLIP_DATA3 0x004B ///< Unknown
89#define GPUREG_004C 0x004C ///< Unknown
90#define GPUREG_DEPTHMAP_SCALE 0x004D ///< Depth map scale.
91#define GPUREG_DEPTHMAP_OFFSET 0x004E ///< Depth map offset.
92#define GPUREG_SH_OUTMAP_TOTAL 0x004F ///< Shader output map total.
93#define GPUREG_SH_OUTMAP_O0 0x0050 ///< Shader output map 0.
94#define GPUREG_SH_OUTMAP_O1 0x0051 ///< Shader output map 1.
95#define GPUREG_SH_OUTMAP_O2 0x0052 ///< Shader output map 2.
96#define GPUREG_SH_OUTMAP_O3 0x0053 ///< Shader output map 3.
97#define GPUREG_SH_OUTMAP_O4 0x0054 ///< Shader output map 4.
98#define GPUREG_SH_OUTMAP_O5 0x0055 ///< Shader output map 5.
99#define GPUREG_SH_OUTMAP_O6 0x0056 ///< Shader output map 6.
100#define GPUREG_0057 0x0057 ///< Unknown
101#define GPUREG_0058 0x0058 ///< Unknown
102#define GPUREG_0059 0x0059 ///< Unknown
103#define GPUREG_005A 0x005A ///< Unknown
104#define GPUREG_005B 0x005B ///< Unknown
105#define GPUREG_005C 0x005C ///< Unknown
106#define GPUREG_005D 0x005D ///< Unknown
107#define GPUREG_005E 0x005E ///< Unknown
108#define GPUREG_005F 0x005F ///< Unknown
109#define GPUREG_0060 0x0060 ///< Unknown
110#define GPUREG_EARLYDEPTH_FUNC 0x0061 ///< Unknown
111#define GPUREG_EARLYDEPTH_TEST1 0x0062 ///< Unknown
112#define GPUREG_EARLYDEPTH_CLEAR 0x0063 ///< Unknown
113#define GPUREG_SH_OUTATTR_MODE 0x0064 ///< Shader output attributes mode.
114#define GPUREG_SCISSORTEST_MODE 0x0065 ///< Scissor test mode.
115#define GPUREG_SCISSORTEST_POS 0x0066 ///< Scissor test position.
116#define GPUREG_SCISSORTEST_DIM 0x0067 ///< Scissor text dimensions.
117#define GPUREG_VIEWPORT_XY 0x0068 ///< Viewport X and Y.
118#define GPUREG_0069 0x0069 ///< Unknown
119#define GPUREG_EARLYDEPTH_DATA 0x006A ///< Unknown
120#define GPUREG_006B 0x006B ///< Unknown
121#define GPUREG_006C 0x006C ///< Unknown
122#define GPUREG_DEPTHMAP_ENABLE 0x006D ///< Depth map enable.
123#define GPUREG_RENDERBUF_DIM 0x006E ///< Renderbuffer dimensions.
124#define GPUREG_SH_OUTATTR_CLOCK 0x006F ///< Shader output attributes clock enable.
125#define GPUREG_0070 0x0070 ///< Unknown
126#define GPUREG_0071 0x0071 ///< Unknown
127#define GPUREG_0072 0x0072 ///< Unknown
128#define GPUREG_0073 0x0073 ///< Unknown
129#define GPUREG_0074 0x0074 ///< Unknown
130#define GPUREG_0075 0x0075 ///< Unknown
131#define GPUREG_0076 0x0076 ///< Unknown
132#define GPUREG_0077 0x0077 ///< Unknown
133#define GPUREG_0078 0x0078 ///< Unknown
134#define GPUREG_0079 0x0079 ///< Unknown
135#define GPUREG_007A 0x007A ///< Unknown
136#define GPUREG_007B 0x007B ///< Unknown
137#define GPUREG_007C 0x007C ///< Unknown
138#define GPUREG_007D 0x007D ///< Unknown
139#define GPUREG_007E 0x007E ///< Unknown
140#define GPUREG_007F 0x007F ///< Unknown
141///@}
142
143///@name Texturing registers (0x080-0x0FF)
144///@{
145#define GPUREG_TEXUNIT_CONFIG 0x0080 ///< Texture unit configuration.
146#define GPUREG_TEXUNIT0_BORDER_COLOR 0x0081 ///< Texture unit 0 border color.
147#define GPUREG_TEXUNIT0_DIM 0x0082 ///< Texture unit 0 dimensions.
148#define GPUREG_TEXUNIT0_PARAM 0x0083 ///< Texture unit 0 parameters.
149#define GPUREG_TEXUNIT0_LOD 0x0084 ///< Texture unit 0 LOD.
150#define GPUREG_TEXUNIT0_ADDR1 0x0085 ///< Texture unit 0 address.
151#define GPUREG_TEXUNIT0_ADDR2 0x0086 ///< Unknown.
152#define GPUREG_TEXUNIT0_ADDR3 0x0087 ///< Unknown.
153#define GPUREG_TEXUNIT0_ADDR4 0x0088 ///< Unknown.
154#define GPUREG_TEXUNIT0_ADDR5 0x0089 ///< Unknown.
155#define GPUREG_TEXUNIT0_ADDR6 0x008A ///< Unknown.
156#define GPUREG_TEXUNIT0_SHADOW 0x008B ///< Unknown.
157#define GPUREG_008C 0x008C ///< Unknown.
158#define GPUREG_008D 0x008D ///< Unknown.
159#define GPUREG_TEXUNIT0_TYPE 0x008E ///< Texture unit 0 type.
160#define GPUREG_LIGHTING_ENABLE0 0x008F ///< Lighting toggle.
161#define GPUREG_0090 0x0090 ///< Unknown.
162#define GPUREG_TEXUNIT1_BORDER_COLOR 0x0091 ///< Texture unit 1 border color.
163#define GPUREG_TEXUNIT1_DIM 0x0092 ///< Texture unit 1 dimensions.
164#define GPUREG_TEXUNIT1_PARAM 0x0093 ///< Texture unit 1 parameters.
165#define GPUREG_TEXUNIT1_LOD 0x0094 ///< Texture unit 1 LOD.
166#define GPUREG_TEXUNIT1_ADDR 0x0095 ///< Texture unit 1 address.
167#define GPUREG_TEXUNIT1_TYPE 0x0096 ///< Texture unit 1 type.
168#define GPUREG_0097 0x0097 ///< Unknown.
169#define GPUREG_0098 0x0098 ///< Unknown.
170#define GPUREG_TEXUNIT2_BORDER_COLOR 0x0099 ///< Texture unit 2 border color.
171#define GPUREG_TEXUNIT2_DIM 0x009A ///< Texture unit 2 dimensions.
172#define GPUREG_TEXUNIT2_PARAM 0x009B ///< Texture unit 2 parameters.
173#define GPUREG_TEXUNIT2_LOD 0x009C ///< Texture unit 2 LOD.
174#define GPUREG_TEXUNIT2_ADDR 0x009D ///< Texture unit 2 address.
175#define GPUREG_TEXUNIT2_TYPE 0x009E ///< Texture unit 2 type.
176#define GPUREG_009F 0x009F ///< Unknown.
177#define GPUREG_00A0 0x00A0 ///< Unknown.
178#define GPUREG_00A1 0x00A1 ///< Unknown.
179#define GPUREG_00A2 0x00A2 ///< Unknown.
180#define GPUREG_00A3 0x00A3 ///< Unknown.
181#define GPUREG_00A4 0x00A4 ///< Unknown.
182#define GPUREG_00A5 0x00A5 ///< Unknown.
183#define GPUREG_00A6 0x00A6 ///< Unknown.
184#define GPUREG_00A7 0x00A7 ///< Unknown.
185#define GPUREG_TEXUNIT3_PROCTEX0 0x00A8 ///< Unknown.
186#define GPUREG_TEXUNIT3_PROCTEX1 0x00A9 ///< Unknown.
187#define GPUREG_TEXUNIT3_PROCTEX2 0x00AA ///< Unknown.
188#define GPUREG_TEXUNIT3_PROCTEX3 0x00AB ///< Unknown.
189#define GPUREG_TEXUNIT3_PROCTEX4 0x00A ///< Unknown.
190#define GPUREG_TEXUNIT3_PROCTEX5 0x00D ///< Unknown.
191#define GPUREG_00AE 0x00AE ///< Unknown.
192#define GPUREG_PROCTEX_LUT 0x00AF ///< Unknown.
193#define GPUREG_PROCTEX_LUT_DATA0 0x00B0 ///< Unknown.
194#define GPUREG_PROCTEX_LUT_DATA1 0x00B1 ///< Unknown.
195#define GPUREG_PROCTEX_LUT_DATA2 0x00B2 ///< Unknown.
196#define GPUREG_PROCTEX_LUT_DATA3 0x00B3 ///< Unknown.
197#define GPUREG_PROCTEX_LUT_DATA4 0x00B4 ///< Unknown.
198#define GPUREG_PROCTEX_LUT_DATA5 0x00B5 ///< Unknown.
199#define GPUREG_PROCTEX_LUT_DATA6 0x00B6 ///< Unknown.
200#define GPUREG_PROCTEX_LUT_DATA7 0x00B7 ///< Unknown.
201#define GPUREG_00B8 0x00B8 ///< Unknown.
202#define GPUREG_00B9 0x00B9 ///< Unknown.
203#define GPUREG_00BA 0x00BA ///< Unknown.
204#define GPUREG_00BB 0x00BB ///< Unknown.
205#define GPUREG_00BC 0x00BC ///< Unknown.
206#define GPUREG_00BD 0x00BD ///< Unknown.
207#define GPUREG_00BE 0x00BE ///< Unknown.
208#define GPUREG_00BF 0x00BF ///< Unknown.
209#define GPUREG_TEXENV0_SOURCE 0x00C0 ///< Texture env 0 source.
210#define GPUREG_TEXENV0_OPERAND 0x00C1 ///< Texture env 0 operand.
211#define GPUREG_TEXENV0_COMBINER 0x00C2 ///< Texture env 0 combiner.
212#define GPUREG_TEXENV0_COLOR 0x00C3 ///< Texture env 0 color.
213#define GPUREG_TEXENV0_SCALE 0x00C4 ///< Texture env 0 scale.
214#define GPUREG_00C5 0x00C5 ///< Unknown.
215#define GPUREG_00C6 0x00C6 ///< Unknown.
216#define GPUREG_00C7 0x00C7 ///< Unknown.
217#define GPUREG_TEXENV1_SOURCE 0x00C8 ///< Texture env 1 source.
218#define GPUREG_TEXENV1_OPERAND 0x00C9 ///< Texture env 1 operand.
219#define GPUREG_TEXENV1_COMBINER 0x00CA ///< Texture env 1 combiner.
220#define GPUREG_TEXENV1_COLOR 0x00CB ///< Texture env 1 color.
221#define GPUREG_TEXENV1_SCALE 0x00CC ///< Texture env 1 scale.
222#define GPUREG_00CD 0x00CD ///< Unknown.
223#define GPUREG_00CE 0x00CE ///< Unknown.
224#define GPUREG_00CF 0x00CF ///< Unknown.
225#define GPUREG_TEXENV2_SOURCE 0x00D0 ///< Texture env 2 source.
226#define GPUREG_TEXENV2_OPERAND 0x00D1 ///< Texture env 2 operand.
227#define GPUREG_TEXENV2_COMBINER 0x00D2 ///< Texture env 2 combiner.
228#define GPUREG_TEXENV2_COLOR 0x00D3 ///< Texture env 2 color.
229#define GPUREG_TEXENV2_SCALE 0x00D4 ///< Texture env 2 scale.
230#define GPUREG_00D5 0x00D5 ///< Unknown.
231#define GPUREG_00D6 0x00D6 ///< Unknown.
232#define GPUREG_00D7 0x00D7 ///< Unknown.
233#define GPUREG_TEXENV3_SOURCE 0x00D8 ///< Texture env 3 source.
234#define GPUREG_TEXENV3_OPERAND 0x00D9 ///< Texture env 3 operand.
235#define GPUREG_TEXENV3_COMBINER 0x00DA ///< Texture env 3 combiner.
236#define GPUREG_TEXENV3_COLOR 0x00DB ///< Texture env 3 color.
237#define GPUREG_TEXENV3_SCALE 0x00DC ///< Texture env 3 scale.
238#define GPUREG_00DD 0x00DD ///< Unknown.
239#define GPUREG_00DE 0x00DE ///< Unknown.
240#define GPUREG_00DF 0x00DF ///< Unknown.
241#define GPUREG_TEXENV_UPDATE_BUFFER 0x00E0 ///< Texture env buffer update flag.
242#define GPUREG_FOG_COLOR 0x00E1 ///< Unknown.
243#define GPUREG_00E2 0x00E2 ///< Unknown.
244#define GPUREG_00E3 0x00E3 ///< Unknown.
245#define GPUREG_GAS_ATTENUATION 0x00E4 ///< Unknown.
246#define GPUREG_GAS_ACCMAX 0x00E5 ///< Unknown.
247#define GPUREG_FOG_LUT_INDEX 0x00E6 ///< Unknown.
248#define GPUREG_00E7 0x00E7 ///< Unknown.
249#define GPUREG_FOG_LUT_DATA0 0x00E8 ///< Unknown.
250#define GPUREG_FOG_LUT_DATA1 0x00E9 ///< Unknown.
251#define GPUREG_FOG_LUT_DATA2 0x00EA ///< Unknown.
252#define GPUREG_FOG_LUT_DATA3 0x00EB ///< Unknown.
253#define GPUREG_FOG_LUT_DATA4 0x00EC ///< Unknown.
254#define GPUREG_FOG_LUT_DATA5 0x00ED ///< Unknown.
255#define GPUREG_FOG_LUT_DATA6 0x00EE ///< Unknown.
256#define GPUREG_FOG_LUT_DATA7 0x00EF ///< Unknown.
257#define GPUREG_TEXENV4_SOURCE 0x00F0 ///< Texture env 4 source.
258#define GPUREG_TEXENV4_OPERAND 0x00F1 ///< Texture env 4 operand.
259#define GPUREG_TEXENV4_COMBINER 0x00F2 ///< Texture env 4 combiner.
260#define GPUREG_TEXENV4_COLOR 0x00F3 ///< Texture env 4 color.
261#define GPUREG_TEXENV4_SCALE 0x00F4 ///< Texture env 4 scale.
262#define GPUREG_00F5 0x00F5 ///< Unknown.
263#define GPUREG_00F6 0x00F6 ///< Unknown.
264#define GPUREG_00F7 0x00F7 ///< Unknown.
265#define GPUREG_TEXENV5_SOURCE 0x00F8 ///< Texture env 5 source.
266#define GPUREG_TEXENV5_OPERAND 0x00F9 ///< Texture env 5 operand.
267#define GPUREG_TEXENV5_COMBINER 0x00FA ///< Texture env 5 combiner.
268#define GPUREG_TEXENV5_COLOR 0x00FB ///< Texture env 5 color.
269#define GPUREG_TEXENV5_SCALE 0x00FC ///< Texture env 5 scale.
270#define GPUREG_TEXENV_BUFFER_COLOR 0x00FD ///< Texture env buffer color.
271#define GPUREG_00FE 0x00FE ///< Unknown.
272#define GPUREG_00FF 0x00FF ///< Unknown.
273///@}
274
275///@name Framebuffer registers (0x100-0x13F)
276///@{
277#define GPUREG_COLOR_OPERATION 0x0100 ///< Configures fragment operation and blend mode.
278#define GPUREG_BLEND_FUNC 0x0101 ///< Blend function configuration.
279#define GPUREG_LOGIC_OP 0x0102 ///< Logical operator configuration.
280#define GPUREG_BLEND_COLOR 0x0103 ///< Blend color.
281#define GPUREG_FRAGOP_ALPHA_TEST 0x0104 ///< Alpha test configuration.
282#define GPUREG_STENCIL_TEST 0x0105 ///< Stencil test configuration.
283#define GPUREG_STENCIL_OP 0x0106 ///< Stencil test operation.
284#define GPUREG_DEPTH_COLOR_MASK 0x0107 ///< Depth test and color mask configuration.
285#define GPUREG_0108 0x0108 ///< Unknown.
286#define GPUREG_0109 0x0109 ///< Unknown.
287#define GPUREG_010A 0x010A ///< Unknown.
288#define GPUREG_010B 0x010B ///< Unknown.
289#define GPUREG_010C 0x010C ///< Unknown.
290#define GPUREG_010D 0x010D ///< Unknown.
291#define GPUREG_010E 0x010E ///< Unknown.
292#define GPUREG_010F 0x010F ///< Unknown.
293#define GPUREG_FRAMEBUFFER_INVALIDATE 0x0110 ///< Invalidates the frame buffer.
294#define GPUREG_FRAMEBUFFER_FLUSH 0x0111 ///< Flushes the frame buffer.
295#define GPUREG_COLORBUFFER_READ 0x0112 ///< Reads from the color buffer.
296#define GPUREG_COLORBUFFER_WRITE 0x0113 ///< Writes to the color buffer.
297#define GPUREG_DEPTHBUFFER_READ 0x0114 ///< Reads from the depth buffer.
298#define GPUREG_DEPTHBUFFER_WRITE 0x0115 ///< Writes to the depth buffer.
299#define GPUREG_DEPTHBUFFER_FORMAT 0x0116 ///< Depth buffer format.
300#define GPUREG_COLORBUFFER_FORMAT 0x0117 ///< Color buffer format.
301#define GPUREG_EARLYDEPTH_TEST2 0x0118 ///< Unknown.
302#define GPUREG_0119 0x0119 ///< Unknown.
303#define GPUREG_011A 0x011A ///< Unknown.
304#define GPUREG_FRAMEBUFFER_BLOCK32 0x011B ///< Frame buffer block 32.
305#define GPUREG_DEPTHBUFFER_LOC 0x011C ///< Depth buffer location.
306#define GPUREG_COLORBUFFER_LOC 0x011D ///< Color buffer location.
307#define GPUREG_FRAMEBUFFER_DIM 0x011E ///< Frame buffer dimensions.
308#define GPUREG_011F 0x011F ///< Unknown.
309#define GPUREG_GAS_LIGHT_XY 0x0120 ///< Unknown.
310#define GPUREG_GAS_LIGHT_Z 0x0121 ///< Unknown.
311#define GPUREG_GAS_LIGHT_Z_COLOR 0x0122 ///< Unknown.
312#define GPUREG_GAS_LUT_INDEX 0x0123 ///< Unknown.
313#define GPUREG_GAS_LUT_DATA 0x0124 ///< Unknown.
314#define GPUREG_GAS_ACCMAX_FEEDBACK 0x0125 ///< Unknown.
315#define GPUREG_GAS_DELTAZ_DEPTH 0x0126 ///< Unknown.
316#define GPUREG_0127 0x0127 ///< Unknown.
317#define GPUREG_0128 0x0128 ///< Unknown.
318#define GPUREG_0129 0x0129 ///< Unknown.
319#define GPUREG_012A 0x012A ///< Unknown.
320#define GPUREG_012B 0x012B ///< Unknown.
321#define GPUREG_012C 0x012C ///< Unknown.
322#define GPUREG_012D 0x012D ///< Unknown.
323#define GPUREG_012E 0x012E ///< Unknown.
324#define GPUREG_012F 0x012F ///< Unknown.
325#define GPUREG_FRAGOP_SHADOW 0x0130 ///< Unknown.
326#define GPUREG_0131 0x0131 ///< Unknown.
327#define GPUREG_0132 0x0132 ///< Unknown.
328#define GPUREG_0133 0x0133 ///< Unknown.
329#define GPUREG_0134 0x0134 ///< Unknown.
330#define GPUREG_0135 0x0135 ///< Unknown.
331#define GPUREG_0136 0x0136 ///< Unknown.
332#define GPUREG_0137 0x0137 ///< Unknown.
333#define GPUREG_0138 0x0138 ///< Unknown.
334#define GPUREG_0139 0x0139 ///< Unknown.
335#define GPUREG_013A 0x013A ///< Unknown.
336#define GPUREG_013B 0x013B ///< Unknown.
337#define GPUREG_013C 0x013C ///< Unknown.
338#define GPUREG_013D 0x013D ///< Unknown.
339#define GPUREG_013E 0x013E ///< Unknown.
340#define GPUREG_013F 0x013F ///< Unknown.
341///@}
342
343///@name Fragment lighting registers (0x140-0x1FF)
344///@{
345#define GPUREG_LIGHT0_SPECULAR0 0x0140 ///< Light 0 specular lighting.
346#define GPUREG_LIGHT0_SPECULAR1 0x0141 ///< Light 0 specular lighting.
347#define GPUREG_LIGHT0_DIFFUSE 0x0142 ///< Light 0 diffuse lighting.
348#define GPUREG_LIGHT0_AMBIENT 0x0143 ///< Light 0 ambient lighting.
349#define GPUREG_LIGHT0_XY 0x0144 ///< Light 0 X and Y.
350#define GPUREG_LIGHT0_Z 0x0145 ///< Light 0 Z.
351#define GPUREG_LIGHT0_SPOTDIR_XY 0x0146 ///< Light 0 spotlight direction X and Y.
352#define GPUREG_LIGHT0_SPOTDIR_Z 0x0147 ///< Light 0 spotlight direction Z.
353#define GPUREG_0148 0x0148 ///< Unknown.
354#define GPUREG_LIGHT0_CONFIG 0x0149 ///< Light 0 configuration.
355#define GPUREG_LIGHT0_ATTENUATION_BIAS 0x014A ///< Light 0 attenuation bias.
356#define GPUREG_LIGHT0_ATTENUATION_SCALE 0x014B ///< Light 0 attenuation scale.
357#define GPUREG_014C 0x014C ///< Unknown.
358#define GPUREG_014D 0x014D ///< Unknown.
359#define GPUREG_014E 0x014E ///< Unknown.
360#define GPUREG_014F 0x014F ///< Unknown.
361#define GPUREG_LIGHT1_SPECULAR0 0x0150 ///< Light 1 specular lighting.
362#define GPUREG_LIGHT1_SPECULAR1 0x0151 ///< Light 1 specular lighting.
363#define GPUREG_LIGHT1_DIFFUSE 0x0152 ///< Light 1 diffuse lighting.
364#define GPUREG_LIGHT1_AMBIENT 0x0153 ///< Light 1 ambient lighting.
365#define GPUREG_LIGHT1_XY 0x0154 ///< Light 1 X and Y.
366#define GPUREG_LIGHT1_Z 0x0155 ///< Light 1 Z.
367#define GPUREG_LIGHT1_SPOTDIR_XY 0x0156 ///< Light 1 spotlight direction X and Y.
368#define GPUREG_LIGHT1_SPOTDIR_Z 0x0157 ///< Light 1 spotlight direction Z.
369#define GPUREG_0158 0x0158 ///< Unknown.
370#define GPUREG_LIGHT1_CONFIG 0x0159 ///< Light 1 configuration.
371#define GPUREG_LIGHT1_ATTENUATION_BIAS 0x015A ///< Light 1 attenuation bias.
372#define GPUREG_LIGHT1_ATTENUATION_SCALE 0x015B ///< Light 1 attenuation scale.
373#define GPUREG_015C 0x015C ///< Unknown.
374#define GPUREG_015D 0x015D ///< Unknown.
375#define GPUREG_015E 0x015E ///< Unknown.
376#define GPUREG_015F 0x015F ///< Unknown.
377#define GPUREG_LIGHT2_SPECULAR0 0x0160 ///< Light 2 specular lighting.
378#define GPUREG_LIGHT2_SPECULAR1 0x0161 ///< Light 2 specular lighting.
379#define GPUREG_LIGHT2_DIFFUSE 0x0162 ///< Light 2 diffuse lighting.
380#define GPUREG_LIGHT2_AMBIENT 0x0163 ///< Light 2 ambient lighting.
381#define GPUREG_LIGHT2_XY 0x0164 ///< Light 2 X and Y.
382#define GPUREG_LIGHT2_Z 0x0165 ///< Light 2 Z.
383#define GPUREG_LIGHT2_SPOTDIR_XY 0x0166 ///< Light 2 spotlight direction X and Y.
384#define GPUREG_LIGHT2_SPOTDIR_Z 0x0167 ///< Light 2 spotlight direction Z.
385#define GPUREG_0168 0x0168 ///< Unknown.
386#define GPUREG_LIGHT2_CONFIG 0x0169 ///< Light 2 configuration.
387#define GPUREG_LIGHT2_ATTENUATION_BIAS 0x016A ///< Light 2 attenuation bias.
388#define GPUREG_LIGHT2_ATTENUATION_SCALE 0x016B ///< Light 2 attenuation scale.
389#define GPUREG_016C 0x016C ///< Unknown.
390#define GPUREG_016D 0x016D ///< Unknown.
391#define GPUREG_016E 0x016E ///< Unknown.
392#define GPUREG_016F 0x016F ///< Unknown.
393#define GPUREG_LIGHT3_SPECULAR0 0x0170 ///< Light 3 specular lighting.
394#define GPUREG_LIGHT3_SPECULAR1 0x0171 ///< Light 3 specular lighting.
395#define GPUREG_LIGHT3_DIFFUSE 0x0172 ///< Light 3 diffuse lighting.
396#define GPUREG_LIGHT3_AMBIENT 0x0173 ///< Light 3 ambient lighting.
397#define GPUREG_LIGHT3_XY 0x0174 ///< Light 3 X and Y.
398#define GPUREG_LIGHT3_Z 0x0175 ///< Light 3 Z.
399#define GPUREG_LIGHT3_SPOTDIR_XY 0x0176 ///< Light 3 spotlight direction X and Y.
400#define GPUREG_LIGHT3_SPOTDIR_Z 0x0177 ///< Light 3 spotlight direction Z.
401#define GPUREG_0178 0x0178 ///< Unknown.
402#define GPUREG_LIGHT3_CONFIG 0x0179 ///< Light 3 configuration.
403#define GPUREG_LIGHT3_ATTENUATION_BIAS 0x017A ///< Light 3 attenuation bias.
404#define GPUREG_LIGHT3_ATTENUATION_SCALE 0x017B ///< Light 3 attenuation scale.
405#define GPUREG_017C 0x017C ///< Unknown.
406#define GPUREG_017D 0x017D ///< Unknown.
407#define GPUREG_017E 0x017E ///< Unknown.
408#define GPUREG_017F 0x017F ///< Unknown.
409#define GPUREG_LIGHT4_SPECULAR0 0x0180 ///< Light 4 specular lighting.
410#define GPUREG_LIGHT4_SPECULAR1 0x0181 ///< Light 4 specular lighting.
411#define GPUREG_LIGHT4_DIFFUSE 0x0182 ///< Light 4 diffuse lighting.
412#define GPUREG_LIGHT4_AMBIENT 0x0183 ///< Light 4 ambient lighting.
413#define GPUREG_LIGHT4_XY 0x0184 ///< Light 4 X and Y.
414#define GPUREG_LIGHT4_Z 0x0185 ///< Light 4 Z.
415#define GPUREG_LIGHT4_SPOTDIR_XY 0x0186 ///< Light 4 spotlight direction X and Y.
416#define GPUREG_LIGHT4_SPOTDIR_Z 0x0187 ///< Light 4 spotlight direction Z.
417#define GPUREG_0188 0x0188 ///< Unknown.
418#define GPUREG_LIGHT4_CONFIG 0x0189 ///< Light 4 configuration.
419#define GPUREG_LIGHT4_ATTENUATION_BIAS 0x018A ///< Light 4 attenuation bias.
420#define GPUREG_LIGHT4_ATTENUATION_SCALE 0x018B ///< Light 4 attenuation scale.
421#define GPUREG_018C 0x018C ///< Unknown.
422#define GPUREG_018D 0x018D ///< Unknown.
423#define GPUREG_018E 0x018E ///< Unknown.
424#define GPUREG_018F 0x018F ///< Unknown.
425#define GPUREG_LIGHT5_SPECULAR0 0x0190 ///< Light 5 specular lighting.
426#define GPUREG_LIGHT5_SPECULAR1 0x0191 ///< Light 5 specular lighting.
427#define GPUREG_LIGHT5_DIFFUSE 0x0192 ///< Light 5 diffuse lighting.
428#define GPUREG_LIGHT5_AMBIENT 0x0193 ///< Light 5 ambient lighting.
429#define GPUREG_LIGHT5_XY 0x0194 ///< Light 5 X and Y.
430#define GPUREG_LIGHT5_Z 0x0195 ///< Light 5 Z.
431#define GPUREG_LIGHT5_SPOTDIR_XY 0x0196 ///< Light 5 spotlight direction X and Y.
432#define GPUREG_LIGHT5_SPOTDIR_Z 0x0197 ///< Light 5 spotlight direction Z.
433#define GPUREG_0198 0x0198 ///< Unknown.
434#define GPUREG_LIGHT5_CONFIG 0x0199 ///< Light 5 configuration.
435#define GPUREG_LIGHT5_ATTENUATION_BIAS 0x019A ///< Light 5 attenuation bias.
436#define GPUREG_LIGHT5_ATTENUATION_SCALE 0x019B ///< Light 5 attenuation scale.
437#define GPUREG_019C 0x019C ///< Unknown.
438#define GPUREG_019D 0x019D ///< Unknown.
439#define GPUREG_019E 0x019E ///< Unknown.
440#define GPUREG_019F 0x019F ///< Unknown.
441#define GPUREG_LIGHT6_SPECULAR0 0x01A0 ///< Light 6 specular lighting.
442#define GPUREG_LIGHT6_SPECULAR1 0x01A1 ///< Light 6 specular lighting.
443#define GPUREG_LIGHT6_DIFFUSE 0x01A2 ///< Light 6 diffuse lighting.
444#define GPUREG_LIGHT6_AMBIENT 0x01A3 ///< Light 6 ambient lighting.
445#define GPUREG_LIGHT6_XY 0x01A4 ///< Light 6 X and Y.
446#define GPUREG_LIGHT6_Z 0x01A5 ///< Light 6 Z.
447#define GPUREG_LIGHT6_SPOTDIR_XY 0x01A6 ///< Light 6 spotlight direction X and Y.
448#define GPUREG_LIGHT6_SPOTDIR_Z 0x01A7 ///< Light 6 spotlight direction Z.
449#define GPUREG_01A8 0x01A8 ///< Unknown.
450#define GPUREG_LIGHT6_CONFIG 0x01A9 ///< Light 6 configuration.
451#define GPUREG_LIGHT6_ATTENUATION_BIAS 0x01AA ///< Light 6 attenuation bias.
452#define GPUREG_LIGHT6_ATTENUATION_SCALE 0x01AB ///< Light 6 attenuation scale.
453#define GPUREG_01AC 0x01AC ///< Unknown.
454#define GPUREG_01AD 0x01AD ///< Unknown.
455#define GPUREG_01AE 0x01AE ///< Unknown.
456#define GPUREG_01AF 0x01AF ///< Unknown.
457#define GPUREG_LIGHT7_SPECULAR0 0x01B0 ///< Light 7 specular lighting.
458#define GPUREG_LIGHT7_SPECULAR1 0x01B1 ///< Light 7 specular lighting.
459#define GPUREG_LIGHT7_DIFFUSE 0x01B2 ///< Light 7 diffuse lighting.
460#define GPUREG_LIGHT7_AMBIENT 0x01B3 ///< Light 7 ambient lighting.
461#define GPUREG_LIGHT7_XY 0x01B4 ///< Light 7 X and Y.
462#define GPUREG_LIGHT7_Z 0x01B5 ///< Light 7 Z.
463#define GPUREG_LIGHT7_SPOTDIR_XY 0x01B6 ///< Light 7 spotlight direction X and Y.
464#define GPUREG_LIGHT7_SPOTDIR_Z 0x01B7 ///< Light 7 spotlight direction Z.
465#define GPUREG_01B8 0x01B8 ///< Unknown.
466#define GPUREG_LIGHT7_CONFIG 0x01B9 ///< Light 7 configuration.
467#define GPUREG_LIGHT7_ATTENUATION_BIAS 0x01BA ///< Light 7 attenuation bias.
468#define GPUREG_LIGHT7_ATTENUATION_SCALE 0x01BB ///< Light 7 attenuation scale.
469#define GPUREG_01BC 0x01BC ///< Unknown.
470#define GPUREG_01BD 0x01BD ///< Unknown.
471#define GPUREG_01BE 0x01BE ///< Unknown.
472#define GPUREG_01BF 0x01BF ///< Unknown.
473#define GPUREG_LIGHTING_AMBIENT 0x01C0 ///< Ambient lighting.
474#define GPUREG_01C1 0x01C1 ///< Unknown.
475#define GPUREG_LIGHTING_NUM_LIGHTS 0x01C2 ///< Number of lights.
476#define GPUREG_LIGHTING_CONFIG0 0x01C3 ///< Lighting configuration.
477#define GPUREG_LIGHTING_CONFIG1 0x01C4 ///< Lighting configuration.
478#define GPUREG_LIGHTING_LUT_INDEX 0x01C5 ///< LUT index.
479#define GPUREG_LIGHTING_ENABLE1 0x01C6 ///< Lighting toggle.
480#define GPUREG_01C7 0x01C7 ///< Unknown.
481#define GPUREG_LIGHTING_LUT_DATA0 0x01C8 ///< LUT data 0.
482#define GPUREG_LIGHTING_LUT_DATA1 0x01C9 ///< LUT data 1.
483#define GPUREG_LIGHTING_LUT_DATA2 0x01CA ///< LUT data 2.
484#define GPUREG_LIGHTING_LUT_DATA3 0x01CB ///< LUT data 3.
485#define GPUREG_LIGHTING_LUT_DATA4 0x01CC ///< LUT data 4.
486#define GPUREG_LIGHTING_LUT_DATA5 0x01CD ///< LUT data 5.
487#define GPUREG_LIGHTING_LUT_DATA6 0x01CE ///< LUT data 6.
488#define GPUREG_LIGHTING_LUT_DATA7 0x01CF ///< LUT data 7.
489#define GPUREG_LIGHTING_LUTINPUT_ABS 0x01D0 ///< LUT input abs.
490#define GPUREG_LIGHTING_LUTINPUT_SELECT 0x01D1 ///< LUT input selector.
491#define GPUREG_LIGHTING_LUTINPUT_SCALE 0x01D2 ///< LUT input scale.
492#define GPUREG_01D3 0x01D3 ///< Unknown.
493#define GPUREG_01D4 0x01D4 ///< Unknown.
494#define GPUREG_01D5 0x01D5 ///< Unknown.
495#define GPUREG_01D6 0x01D6 ///< Unknown.
496#define GPUREG_01D7 0x01D7 ///< Unknown.
497#define GPUREG_01D8 0x01D8 ///< Unknown.
498#define GPUREG_LIGHTING_LIGHT_PERMUTATION 0x01D9 ///< Light permutation.
499#define GPUREG_01DA 0x01DA ///< Unknown.
500#define GPUREG_01DB 0x01DB ///< Unknown.
501#define GPUREG_01DC 0x01DC ///< Unknown.
502#define GPUREG_01DD 0x01DD ///< Unknown.
503#define GPUREG_01DE 0x01DE ///< Unknown.
504#define GPUREG_01DF 0x01DF ///< Unknown.
505#define GPUREG_01E0 0x01E0 ///< Unknown.
506#define GPUREG_01E1 0x01E1 ///< Unknown.
507#define GPUREG_01E2 0x01E2 ///< Unknown.
508#define GPUREG_01E3 0x01E3 ///< Unknown.
509#define GPUREG_01E4 0x01E4 ///< Unknown.
510#define GPUREG_01E5 0x01E5 ///< Unknown.
511#define GPUREG_01E6 0x01E6 ///< Unknown.
512#define GPUREG_01E7 0x01E7 ///< Unknown.
513#define GPUREG_01E8 0x01E8 ///< Unknown.
514#define GPUREG_01E9 0x01E9 ///< Unknown.
515#define GPUREG_01EA 0x01EA ///< Unknown.
516#define GPUREG_01EB 0x01EB ///< Unknown.
517#define GPUREG_01EC 0x01EC ///< Unknown.
518#define GPUREG_01ED 0x01ED ///< Unknown.
519#define GPUREG_01EE 0x01EE ///< Unknown.
520#define GPUREG_01EF 0x01EF ///< Unknown.
521#define GPUREG_01F0 0x01F0 ///< Unknown.
522#define GPUREG_01F1 0x01F1 ///< Unknown.
523#define GPUREG_01F2 0x01F2 ///< Unknown.
524#define GPUREG_01F3 0x01F3 ///< Unknown.
525#define GPUREG_01F4 0x01F4 ///< Unknown.
526#define GPUREG_01F5 0x01F5 ///< Unknown.
527#define GPUREG_01F6 0x01F6 ///< Unknown.
528#define GPUREG_01F7 0x01F7 ///< Unknown.
529#define GPUREG_01F8 0x01F8 ///< Unknown.
530#define GPUREG_01F9 0x01F9 ///< Unknown.
531#define GPUREG_01FA 0x01FA ///< Unknown.
532#define GPUREG_01FB 0x01FB ///< Unknown.
533#define GPUREG_01FC 0x01FC ///< Unknown.
534#define GPUREG_01FD 0x01FD ///< Unknown.
535#define GPUREG_01FE 0x01FE ///< Unknown.
536#define GPUREG_01FF 0x01FF ///< Unknown.
537///@}
538
539///@name Geometry pipeline registers (0x200-0x27F)
540///@{
541#define GPUREG_ATTRIBBUFFERS_LOC 0x0200 ///< Attribute buffers location.
542#define GPUREG_ATTRIBBUFFERS_FORMAT_LOW 0x0201 ///< Attribute buffers format low.
543#define GPUREG_ATTRIBBUFFERS_FORMAT_HIGH 0x0202 ///< Attribute buffers format high.
544#define GPUREG_ATTRIBBUFFER0_OFFSET 0x0203 ///< Attribute buffers 0 offset.
545#define GPUREG_ATTRIBBUFFER0_CONFIG1 0x0204 ///< Attribute buffers 0 configuration.
546#define GPUREG_ATTRIBBUFFER0_CONFIG2 0x0205 ///< Attribute buffers 0 configuration.
547#define GPUREG_ATTRIBBUFFER1_OFFSET 0x0206 ///< Attribute buffers 1 offset.
548#define GPUREG_ATTRIBBUFFER1_CONFIG1 0x0207 ///< Attribute buffers 1 configuration.
549#define GPUREG_ATTRIBBUFFER1_CONFIG2 0x0208 ///< Attribute buffers 1 configuration.
550#define GPUREG_ATTRIBBUFFER2_OFFSET 0x0209 ///< Attribute buffers 2 offset.
551#define GPUREG_ATTRIBBUFFER2_CONFIG1 0x020A ///< Attribute buffers 2 configuration.
552#define GPUREG_ATTRIBBUFFER2_CONFIG2 0x020B ///< Attribute buffers 2 configuration.
553#define GPUREG_ATTRIBBUFFER3_OFFSET 0x020C ///< Attribute buffers 3 offset.
554#define GPUREG_ATTRIBBUFFER3_CONFIG1 0x020D ///< Attribute buffers 3 configuration.
555#define GPUREG_ATTRIBBUFFER3_CONFIG2 0x020E ///< Attribute buffers 3 configuration.
556#define GPUREG_ATTRIBBUFFER4_OFFSET 0x020F ///< Attribute buffers 4 offset.
557#define GPUREG_ATTRIBBUFFER4_CONFIG1 0x0210 ///< Attribute buffers 4 configuration.
558#define GPUREG_ATTRIBBUFFER4_CONFIG2 0x0211 ///< Attribute buffers 4 configuration.
559#define GPUREG_ATTRIBBUFFER5_OFFSET 0x0212 ///< Attribute buffers 5 offset.
560#define GPUREG_ATTRIBBUFFER5_CONFIG1 0x0213 ///< Attribute buffers 5 configuration.
561#define GPUREG_ATTRIBBUFFER5_CONFIG2 0x0214 ///< Attribute buffers 5 configuration.
562#define GPUREG_ATTRIBBUFFER6_OFFSET 0x0215 ///< Attribute buffers 6 offset.
563#define GPUREG_ATTRIBBUFFER6_CONFIG1 0x0216 ///< Attribute buffers 6 configuration.
564#define GPUREG_ATTRIBBUFFER6_CONFIG2 0x0217 ///< Attribute buffers 6 configuration.
565#define GPUREG_ATTRIBBUFFER7_OFFSET 0x0218 ///< Attribute buffers 7 offset.
566#define GPUREG_ATTRIBBUFFER7_CONFIG1 0x0219 ///< Attribute buffers 7 configuration.
567#define GPUREG_ATTRIBBUFFER7_CONFIG2 0x021A ///< Attribute buffers 7 configuration.
568#define GPUREG_ATTRIBBUFFER8_OFFSET 0x021B ///< Attribute buffers 8 offset.
569#define GPUREG_ATTRIBBUFFER8_CONFIG1 0x021C ///< Attribute buffers 8 configuration.
570#define GPUREG_ATTRIBBUFFER8_CONFIG2 0x021D ///< Attribute buffers 8 configuration.
571#define GPUREG_ATTRIBBUFFER9_OFFSET 0x021E ///< Attribute buffers 9 offset.
572#define GPUREG_ATTRIBBUFFER9_CONFIG1 0x021F ///< Attribute buffers 9 configuration.
573#define GPUREG_ATTRIBBUFFER9_CONFIG2 0x0220 ///< Attribute buffers 9 configuration.
574#define GPUREG_ATTRIBBUFFERA_OFFSET 0x0221 ///< Attribute buffers A offset.
575#define GPUREG_ATTRIBBUFFERA_CONFIG1 0x0222 ///< Attribute buffers A configuration.
576#define GPUREG_ATTRIBBUFFERA_CONFIG2 0x0223 ///< Attribute buffers A configuration.
577#define GPUREG_ATTRIBBUFFERB_OFFSET 0x0224 ///< Attribute buffers B offset.
578#define GPUREG_ATTRIBBUFFERB_CONFIG1 0x0225 ///< Attribute buffers B configuration.
579#define GPUREG_ATTRIBBUFFERB_CONFIG2 0x0226 ///< Attribute buffers B configuration.
580#define GPUREG_INDEXBUFFER_CONFIG 0x0227 ///< Index buffer configuration.
581#define GPUREG_NUMVERTICES 0x0228 ///< Number of vertices.
582#define GPUREG_GEOSTAGE_CONFIG 0x0229 ///< Geometry stage configuration.
583#define GPUREG_VERTEX_OFFSET 0x022A ///< Vertex offset.
584#define GPUREG_022B 0x022B ///< Unknown.
585#define GPUREG_022C 0x022C ///< Unknown.
586#define GPUREG_POST_VERTEX_CACHE_NUM 0x022D ///< Unknown.
587#define GPUREG_DRAWARRAYS 0x022E ///< Draw arrays trigger.
588#define GPUREG_DRAWELEMENTS 0x022F ///< Draw arrays elements.
589#define GPUREG_0230 0x0230 ///< Unknown.
590#define GPUREG_VTX_FUNC 0x0231 ///< Unknown.
591#define GPUREG_FIXEDATTRIB_INDEX 0x0232 ///< Fixed attribute index.
592#define GPUREG_FIXEDATTRIB_DATA0 0x0233 ///< Fixed attribute data 0.
593#define GPUREG_FIXEDATTRIB_DATA1 0x0234 ///< Fixed attribute data 1.
594#define GPUREG_FIXEDATTRIB_DATA2 0x0235 ///< Fixed attribute data 2.
595#define GPUREG_0236 0x0236 ///< Unknown.
596#define GPUREG_0237 0x0237 ///< Unknown.
597#define GPUREG_CMDBUF_SIZE0 0x0238 ///< Command buffer size 0.
598#define GPUREG_CMDBUF_SIZE1 0x0239 ///< Command buffer size 1.
599#define GPUREG_CMDBUF_ADDR0 0x023A ///< Command buffer address 0.
600#define GPUREG_CMDBUF_ADDR1 0x023B ///< Command buffer address 1.
601#define GPUREG_CMDBUF_JUMP0 0x023C ///< Command buffer jump 0.
602#define GPUREG_CMDBUF_JUMP1 0x023D ///< Command buffer jump 1.
603#define GPUREG_023E 0x023E ///< Unknown.
604#define GPUREG_023F 0x023F ///< Unknown.
605#define GPUREG_0240 0x0240 ///< Unknown.
606#define GPUREG_0241 0x0241 ///< Unknown.
607#define GPUREG_VSH_NUM_ATTR 0x0242 ///< Unknown.
608#define GPUREG_0243 0x0243 ///< Unknown.
609#define GPUREG_VSH_COM_MODE 0x0244 ///< Unknown.
610#define GPUREG_START_DRAW_FUNC0 0x0245 ///< Unknown.
611#define GPUREG_0246 0x0246 ///< Unknown.
612#define GPUREG_0247 0x0247 ///< Unknown.
613#define GPUREG_0248 0x0248 ///< Unknown.
614#define GPUREG_0249 0x0249 ///< Unknown.
615#define GPUREG_VSH_OUTMAP_TOTAL1 0x024A ///< Unknown.
616#define GPUREG_024B 0x024B ///< Unknown.
617#define GPUREG_024C 0x024C ///< Unknown.
618#define GPUREG_024D 0x024D ///< Unknown.
619#define GPUREG_024E 0x024E ///< Unknown.
620#define GPUREG_024F 0x024F ///< Unknown.
621#define GPUREG_0250 0x0250 ///< Unknown.
622#define GPUREG_VSH_OUTMAP_TOTAL2 0x0251 ///< Unknown.
623#define GPUREG_GSH_MISC0 0x0252 ///< Unknown.
624#define GPUREG_GEOSTAGE_CONFIG2 0x0253 ///< Unknown.
625#define GPUREG_GSH_MISC1 0x0254 ///< Unknown.
626#define GPUREG_0255 0x0255 ///< Unknown.
627#define GPUREG_0256 0x0256 ///< Unknown.
628#define GPUREG_0257 0x0257 ///< Unknown.
629#define GPUREG_0258 0x0258 ///< Unknown.
630#define GPUREG_0259 0x0259 ///< Unknown.
631#define GPUREG_025A 0x025A ///< Unknown.
632#define GPUREG_025B 0x025B ///< Unknown.
633#define GPUREG_025C 0x025C ///< Unknown.
634#define GPUREG_025D 0x025D ///< Unknown.
635#define GPUREG_PRIMITIVE_CONFIG 0x025E ///< Primitive configuration.
636#define GPUREG_RESTART_PRIMITIVE 0x025F ///< Restart primitive flag.
637#define GPUREG_0260 0x0260 ///< Unknown.
638#define GPUREG_0261 0x0261 ///< Unknown.
639#define GPUREG_0262 0x0262 ///< Unknown.
640#define GPUREG_0263 0x0263 ///< Unknown.
641#define GPUREG_0264 0x0264 ///< Unknown.
642#define GPUREG_0265 0x0265 ///< Unknown.
643#define GPUREG_0266 0x0266 ///< Unknown.
644#define GPUREG_0267 0x0267 ///< Unknown.
645#define GPUREG_0268 0x0268 ///< Unknown.
646#define GPUREG_0269 0x0269 ///< Unknown.
647#define GPUREG_026A 0x026A ///< Unknown.
648#define GPUREG_026B 0x026B ///< Unknown.
649#define GPUREG_026C 0x026C ///< Unknown.
650#define GPUREG_026D 0x026D ///< Unknown.
651#define GPUREG_026E 0x026E ///< Unknown.
652#define GPUREG_026F 0x026F ///< Unknown.
653#define GPUREG_0270 0x0270 ///< Unknown.
654#define GPUREG_0271 0x0271 ///< Unknown.
655#define GPUREG_0272 0x0272 ///< Unknown.
656#define GPUREG_0273 0x0273 ///< Unknown.
657#define GPUREG_0274 0x0274 ///< Unknown.
658#define GPUREG_0275 0x0275 ///< Unknown.
659#define GPUREG_0276 0x0276 ///< Unknown.
660#define GPUREG_0277 0x0277 ///< Unknown.
661#define GPUREG_0278 0x0278 ///< Unknown.
662#define GPUREG_0279 0x0279 ///< Unknown.
663#define GPUREG_027A 0x027A ///< Unknown.
664#define GPUREG_027B 0x027B ///< Unknown.
665#define GPUREG_027C 0x027C ///< Unknown.
666#define GPUREG_027D 0x027D ///< Unknown.
667#define GPUREG_027E 0x027E ///< Unknown.
668#define GPUREG_027F 0x027F ///< Unknown.
669///@}
670
671///@name Geometry shader registers (0x280-0x2AF)
672///@{
673#define GPUREG_GSH_BOOLUNIFORM 0x0280 ///< Geometry shader bool uniforms.
674#define GPUREG_GSH_INTUNIFORM_I0 0x0281 ///< Geometry shader integer uniform 0.
675#define GPUREG_GSH_INTUNIFORM_I1 0x0282 ///< Geometry shader integer uniform 1.
676#define GPUREG_GSH_INTUNIFORM_I2 0x0283 ///< Geometry shader integer uniform 2.
677#define GPUREG_GSH_INTUNIFORM_I3 0x0284 ///< Geometry shader integer uniform 3.
678#define GPUREG_0285 0x0285 ///< Unknown.
679#define GPUREG_0286 0x0286 ///< Unknown.
680#define GPUREG_0287 0x0287 ///< Unknown.
681#define GPUREG_0288 0x0288 ///< Unknown.
682#define GPUREG_GSH_INPUTBUFFER_CONFIG 0x0289 ///< Geometry shader input buffer configuration.
683#define GPUREG_GSH_ENTRYPOINT 0x028A ///< Geometry shader entry point.
684#define GPUREG_GSH_ATTRIBUTES_PERMUTATION_LOW 0x028B ///< Geometry shader attribute permutations low.
685#define GPUREG_GSH_ATTRIBUTES_PERMUTATION_HIGH 0x028C ///< Geometry shader attribute permutations high.
686#define GPUREG_GSH_OUTMAP_MASK 0x028D ///< Geometry shader output map mask.
687#define GPUREG_028E 0x028E ///< Unknown.
688#define GPUREG_GSH_CODETRANSFER_END 0x028F ///< Geometry shader code transfer end trigger.
689#define GPUREG_GSH_FLOATUNIFORM_CONFIG 0x0290 ///< Geometry shader float uniform configuration.
690#define GPUREG_GSH_FLOATUNIFORM_DATA 0x0291 ///< Geometry shader float uniform data.
691#define GPUREG_0299 0x0299 ///< Unknown.
692#define GPUREG_029A 0x029A ///< Unknown.
693#define GPUREG_GSH_CODETRANSFER_CONFIG 0x029B ///< Geometry shader code transfer configuration.
694#define GPUREG_GSH_CODETRANSFER_DATA 0x029C ///< Geometry shader code transfer data.
695#define GPUREG_02A4 0x02A4 ///< Unknown.
696#define GPUREG_GSH_OPDESCS_CONFIG 0x02A5 ///< Geometry shader operand description configuration.
697#define GPUREG_GSH_OPDESCS_DATA 0x02A6 ///< Geometry shader operand description data.
698#define GPUREG_02AE 0x02AE ///< Unknown.
699#define GPUREG_02AF 0x02AF ///< Unknown.
700///@}
701
702///@name Vertex shader registers (0x2B0-0x2DF)
703///@{
704#define GPUREG_VSH_BOOLUNIFORM 0x02B0 ///< Vertex shader bool uniforms.
705#define GPUREG_VSH_INTUNIFORM_I0 0x02B1 ///< Vertex shader integer uniform 0.
706#define GPUREG_VSH_INTUNIFORM_I1 0x02B2 ///< Vertex shader integer uniform 1.
707#define GPUREG_VSH_INTUNIFORM_I2 0x02B3 ///< Vertex shader integer uniform 2.
708#define GPUREG_VSH_INTUNIFORM_I3 0x02B4 ///< Vertex shader integer uniform 3.
709#define GPUREG_02B5 0x02B5 ///< Unknown.
710#define GPUREG_02B6 0x02B6 ///< Unknown.
711#define GPUREG_02B7 0x02B7 ///< Unknown.
712#define GPUREG_02B8 0x02B8 ///< Unknown.
713#define GPUREG_VSH_INPUTBUFFER_CONFIG 0x02B9 ///< Vertex shader input buffer configuration.
714#define GPUREG_VSH_ENTRYPOINT 0x02BA ///< Vertex shader entry point.
715#define GPUREG_VSH_ATTRIBUTES_PERMUTATION_LOW 0x02BB ///< Vertex shader attribute permutations low.
716#define GPUREG_VSH_ATTRIBUTES_PERMUTATION_HIGH 0x02BC ///< Vertex shader attribute permutations high.
717#define GPUREG_VSH_OUTMAP_MASK 0x02BD ///< Vertex shader output map mask.
718#define GPUREG_02BE 0x02BE ///< Unknown.
719#define GPUREG_VSH_CODETRANSFER_END 0x02BF ///< Vertex shader code transfer end trigger.
720#define GPUREG_VSH_FLOATUNIFORM_CONFIG 0x02C0 ///< Vertex shader float uniform configuration.
721#define GPUREG_VSH_FLOATUNIFORM_DATA 0x02C1 ///< Vertex shader float uniform data.
722#define GPUREG_02C9 0x02C9 ///< Unknown.
723#define GPUREG_02CA 0x02CA ///< Unknown.
724#define GPUREG_VSH_CODETRANSFER_CONFIG 0x02CB ///< Vertex shader code transfer configuration.
725#define GPUREG_VSH_CODETRANSFER_DATA 0x02CC ///< Vertex shader code transfer data.
726#define GPUREG_02D4 0x02D4 ///< Unknown.
727#define GPUREG_VSH_OPDESCS_CONFIG 0x02D5 ///< Vertex shader operand description configuration.
728#define GPUREG_VSH_OPDESCS_DATA 0x02D6 ///< Vertex shader operand description data.
729#define GPUREG_02DE 0x02DE ///< Unknown.
730#define GPUREG_02DF 0x02DF ///< Unknown.
731///@}
732
733///@name Unknown registers (0x2E0-0x2FF)
734///@{
735#define GPUREG_02E0 0x02E0 ///< Unknown.
736#define GPUREG_02E1 0x02E1 ///< Unknown.
737#define GPUREG_02E2 0x02E2 ///< Unknown.
738#define GPUREG_02E3 0x02E3 ///< Unknown.
739#define GPUREG_02E4 0x02E4 ///< Unknown.
740#define GPUREG_02E5 0x02E5 ///< Unknown.
741#define GPUREG_02E6 0x02E6 ///< Unknown.
742#define GPUREG_02E7 0x02E7 ///< Unknown.
743#define GPUREG_02E8 0x02E8 ///< Unknown.
744#define GPUREG_02E9 0x02E9 ///< Unknown.
745#define GPUREG_02EA 0x02EA ///< Unknown.
746#define GPUREG_02EB 0x02EB ///< Unknown.
747#define GPUREG_02EC 0x02EC ///< Unknown.
748#define GPUREG_02ED 0x02ED ///< Unknown.
749#define GPUREG_02EE 0x02EE ///< Unknown.
750#define GPUREG_02EF 0x02EF ///< Unknown.
751#define GPUREG_02F0 0x02F0 ///< Unknown.
752#define GPUREG_02F1 0x02F1 ///< Unknown.
753#define GPUREG_02F2 0x02F2 ///< Unknown.
754#define GPUREG_02F3 0x02F3 ///< Unknown.
755#define GPUREG_02F4 0x02F4 ///< Unknown.
756#define GPUREG_02F5 0x02F5 ///< Unknown.
757#define GPUREG_02F6 0x02F6 ///< Unknown.
758#define GPUREG_02F7 0x02F7 ///< Unknown.
759#define GPUREG_02F8 0x02F8 ///< Unknown.
760#define GPUREG_02F9 0x02F9 ///< Unknown.
761#define GPUREG_02FA 0x02FA ///< Unknown.
762#define GPUREG_02FB 0x02FB ///< Unknown.
763#define GPUREG_02FC 0x02FC ///< Unknown.
764#define GPUREG_02FD 0x02FD ///< Unknown.
765#define GPUREG_02FE 0x02FE ///< Unknown.
766#define GPUREG_02FF 0x02FF ///< Unknown.
767///@}