libctru  v2.4.0
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 ///@}