xref: /aosp_15_r20/external/mesa3d/src/nouveau/headers/nvidia/classes/clc397.h (revision 6104692788411f58d303aa86923a9ff6ecaded22)
1 /*******************************************************************************
2     Copyright (c) 2020, NVIDIA CORPORATION. All rights reserved.
3 
4     Permission is hereby granted, free of charge, to any person obtaining a
5     copy of this software and associated documentation files (the "Software"),
6     to deal in the Software without restriction, including without limitation
7     the rights to use, copy, modify, merge, publish, distribute, sublicense,
8     and/or sell copies of the Software, and to permit persons to whom the
9     Software is furnished to do so, subject to the following conditions:
10 
11     The above copyright notice and this permission notice shall be included in
12     all copies or substantial portions of the Software.
13 
14     THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
15     IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
16     FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.  IN NO EVENT SHALL
17     THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
18     LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
19     FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
20     DEALINGS IN THE SOFTWARE.
21 
22 *******************************************************************************/
23 
24 #ifndef _cl_volta_a_h_
25 #define _cl_volta_a_h_
26 
27 /* AUTO GENERATED FILE -- DO NOT EDIT */
28 /* Command: ../../../../class/bin/sw_header.pl volta_a */
29 
30 #include "nvtypes.h"
31 
32 #define VOLTA_A    0xC397
33 
34 #define NVC397_SET_OBJECT                                                                                  0x0000
35 #define NVC397_SET_OBJECT_CLASS_ID                                                                           15:0
36 #define NVC397_SET_OBJECT_ENGINE_ID                                                                         20:16
37 
38 #define NVC397_NO_OPERATION                                                                                0x0100
39 #define NVC397_NO_OPERATION_V                                                                                31:0
40 
41 #define NVC397_SET_NOTIFY_A                                                                                0x0104
42 #define NVC397_SET_NOTIFY_A_ADDRESS_UPPER                                                                     7:0
43 
44 #define NVC397_SET_NOTIFY_B                                                                                0x0108
45 #define NVC397_SET_NOTIFY_B_ADDRESS_LOWER                                                                    31:0
46 
47 #define NVC397_NOTIFY                                                                                      0x010c
48 #define NVC397_NOTIFY_TYPE                                                                                   31:0
49 #define NVC397_NOTIFY_TYPE_WRITE_ONLY                                                                  0x00000000
50 #define NVC397_NOTIFY_TYPE_WRITE_THEN_AWAKEN                                                           0x00000001
51 
52 #define NVC397_WAIT_FOR_IDLE                                                                               0x0110
53 #define NVC397_WAIT_FOR_IDLE_V                                                                               31:0
54 
55 #define NVC397_LOAD_MME_INSTRUCTION_RAM_POINTER                                                            0x0114
56 #define NVC397_LOAD_MME_INSTRUCTION_RAM_POINTER_V                                                            31:0
57 
58 #define NVC397_LOAD_MME_INSTRUCTION_RAM                                                                    0x0118
59 #define NVC397_LOAD_MME_INSTRUCTION_RAM_V                                                                    31:0
60 
61 #define NVC397_LOAD_MME_START_ADDRESS_RAM_POINTER                                                          0x011c
62 #define NVC397_LOAD_MME_START_ADDRESS_RAM_POINTER_V                                                          31:0
63 
64 #define NVC397_LOAD_MME_START_ADDRESS_RAM                                                                  0x0120
65 #define NVC397_LOAD_MME_START_ADDRESS_RAM_V                                                                  31:0
66 
67 #define NVC397_SET_MME_SHADOW_RAM_CONTROL                                                                  0x0124
68 #define NVC397_SET_MME_SHADOW_RAM_CONTROL_MODE                                                                1:0
69 #define NVC397_SET_MME_SHADOW_RAM_CONTROL_MODE_METHOD_TRACK                                            0x00000000
70 #define NVC397_SET_MME_SHADOW_RAM_CONTROL_MODE_METHOD_TRACK_WITH_FILTER                                0x00000001
71 #define NVC397_SET_MME_SHADOW_RAM_CONTROL_MODE_METHOD_PASSTHROUGH                                      0x00000002
72 #define NVC397_SET_MME_SHADOW_RAM_CONTROL_MODE_METHOD_REPLAY                                           0x00000003
73 
74 #define NVC397_PEER_SEMAPHORE_RELEASE_OFFSET_UPPER                                                         0x0128
75 #define NVC397_PEER_SEMAPHORE_RELEASE_OFFSET_UPPER_V                                                          7:0
76 
77 #define NVC397_PEER_SEMAPHORE_RELEASE_OFFSET                                                               0x012c
78 #define NVC397_PEER_SEMAPHORE_RELEASE_OFFSET_V                                                               31:0
79 
80 #define NVC397_SET_GLOBAL_RENDER_ENABLE_A                                                                  0x0130
81 #define NVC397_SET_GLOBAL_RENDER_ENABLE_A_OFFSET_UPPER                                                        7:0
82 
83 #define NVC397_SET_GLOBAL_RENDER_ENABLE_B                                                                  0x0134
84 #define NVC397_SET_GLOBAL_RENDER_ENABLE_B_OFFSET_LOWER                                                       31:0
85 
86 #define NVC397_SET_GLOBAL_RENDER_ENABLE_C                                                                  0x0138
87 #define NVC397_SET_GLOBAL_RENDER_ENABLE_C_MODE                                                                2:0
88 #define NVC397_SET_GLOBAL_RENDER_ENABLE_C_MODE_FALSE                                                   0x00000000
89 #define NVC397_SET_GLOBAL_RENDER_ENABLE_C_MODE_TRUE                                                    0x00000001
90 #define NVC397_SET_GLOBAL_RENDER_ENABLE_C_MODE_CONDITIONAL                                             0x00000002
91 #define NVC397_SET_GLOBAL_RENDER_ENABLE_C_MODE_RENDER_IF_EQUAL                                         0x00000003
92 #define NVC397_SET_GLOBAL_RENDER_ENABLE_C_MODE_RENDER_IF_NOT_EQUAL                                     0x00000004
93 
94 #define NVC397_SEND_GO_IDLE                                                                                0x013c
95 #define NVC397_SEND_GO_IDLE_V                                                                                31:0
96 
97 #define NVC397_PM_TRIGGER                                                                                  0x0140
98 #define NVC397_PM_TRIGGER_V                                                                                  31:0
99 
100 #define NVC397_PM_TRIGGER_WFI                                                                              0x0144
101 #define NVC397_PM_TRIGGER_WFI_V                                                                              31:0
102 
103 #define NVC397_FE_ATOMIC_SEQUENCE_BEGIN                                                                    0x0148
104 #define NVC397_FE_ATOMIC_SEQUENCE_BEGIN_V                                                                    31:0
105 
106 #define NVC397_FE_ATOMIC_SEQUENCE_END                                                                      0x014c
107 #define NVC397_FE_ATOMIC_SEQUENCE_END_V                                                                      31:0
108 
109 #define NVC397_SET_INSTRUMENTATION_METHOD_HEADER                                                           0x0150
110 #define NVC397_SET_INSTRUMENTATION_METHOD_HEADER_V                                                           31:0
111 
112 #define NVC397_SET_INSTRUMENTATION_METHOD_DATA                                                             0x0154
113 #define NVC397_SET_INSTRUMENTATION_METHOD_DATA_V                                                             31:0
114 
115 #define NVC397_LINE_LENGTH_IN                                                                              0x0180
116 #define NVC397_LINE_LENGTH_IN_VALUE                                                                          31:0
117 
118 #define NVC397_LINE_COUNT                                                                                  0x0184
119 #define NVC397_LINE_COUNT_VALUE                                                                              31:0
120 
121 #define NVC397_OFFSET_OUT_UPPER                                                                            0x0188
122 #define NVC397_OFFSET_OUT_UPPER_VALUE                                                                         7:0
123 
124 #define NVC397_OFFSET_OUT                                                                                  0x018c
125 #define NVC397_OFFSET_OUT_VALUE                                                                              31:0
126 
127 #define NVC397_PITCH_OUT                                                                                   0x0190
128 #define NVC397_PITCH_OUT_VALUE                                                                               31:0
129 
130 #define NVC397_SET_DST_BLOCK_SIZE                                                                          0x0194
131 #define NVC397_SET_DST_BLOCK_SIZE_WIDTH                                                                       3:0
132 #define NVC397_SET_DST_BLOCK_SIZE_WIDTH_ONE_GOB                                                        0x00000000
133 #define NVC397_SET_DST_BLOCK_SIZE_HEIGHT                                                                      7:4
134 #define NVC397_SET_DST_BLOCK_SIZE_HEIGHT_ONE_GOB                                                       0x00000000
135 #define NVC397_SET_DST_BLOCK_SIZE_HEIGHT_TWO_GOBS                                                      0x00000001
136 #define NVC397_SET_DST_BLOCK_SIZE_HEIGHT_FOUR_GOBS                                                     0x00000002
137 #define NVC397_SET_DST_BLOCK_SIZE_HEIGHT_EIGHT_GOBS                                                    0x00000003
138 #define NVC397_SET_DST_BLOCK_SIZE_HEIGHT_SIXTEEN_GOBS                                                  0x00000004
139 #define NVC397_SET_DST_BLOCK_SIZE_HEIGHT_THIRTYTWO_GOBS                                                0x00000005
140 #define NVC397_SET_DST_BLOCK_SIZE_DEPTH                                                                      11:8
141 #define NVC397_SET_DST_BLOCK_SIZE_DEPTH_ONE_GOB                                                        0x00000000
142 #define NVC397_SET_DST_BLOCK_SIZE_DEPTH_TWO_GOBS                                                       0x00000001
143 #define NVC397_SET_DST_BLOCK_SIZE_DEPTH_FOUR_GOBS                                                      0x00000002
144 #define NVC397_SET_DST_BLOCK_SIZE_DEPTH_EIGHT_GOBS                                                     0x00000003
145 #define NVC397_SET_DST_BLOCK_SIZE_DEPTH_SIXTEEN_GOBS                                                   0x00000004
146 #define NVC397_SET_DST_BLOCK_SIZE_DEPTH_THIRTYTWO_GOBS                                                 0x00000005
147 
148 #define NVC397_SET_DST_WIDTH                                                                               0x0198
149 #define NVC397_SET_DST_WIDTH_V                                                                               31:0
150 
151 #define NVC397_SET_DST_HEIGHT                                                                              0x019c
152 #define NVC397_SET_DST_HEIGHT_V                                                                              31:0
153 
154 #define NVC397_SET_DST_DEPTH                                                                               0x01a0
155 #define NVC397_SET_DST_DEPTH_V                                                                               31:0
156 
157 #define NVC397_SET_DST_LAYER                                                                               0x01a4
158 #define NVC397_SET_DST_LAYER_V                                                                               31:0
159 
160 #define NVC397_SET_DST_ORIGIN_BYTES_X                                                                      0x01a8
161 #define NVC397_SET_DST_ORIGIN_BYTES_X_V                                                                      20:0
162 
163 #define NVC397_SET_DST_ORIGIN_SAMPLES_Y                                                                    0x01ac
164 #define NVC397_SET_DST_ORIGIN_SAMPLES_Y_V                                                                    16:0
165 
166 #define NVC397_LAUNCH_DMA                                                                                  0x01b0
167 #define NVC397_LAUNCH_DMA_DST_MEMORY_LAYOUT                                                                   0:0
168 #define NVC397_LAUNCH_DMA_DST_MEMORY_LAYOUT_BLOCKLINEAR                                                0x00000000
169 #define NVC397_LAUNCH_DMA_DST_MEMORY_LAYOUT_PITCH                                                      0x00000001
170 #define NVC397_LAUNCH_DMA_COMPLETION_TYPE                                                                     5:4
171 #define NVC397_LAUNCH_DMA_COMPLETION_TYPE_FLUSH_DISABLE                                                0x00000000
172 #define NVC397_LAUNCH_DMA_COMPLETION_TYPE_FLUSH_ONLY                                                   0x00000001
173 #define NVC397_LAUNCH_DMA_COMPLETION_TYPE_RELEASE_SEMAPHORE                                            0x00000002
174 #define NVC397_LAUNCH_DMA_INTERRUPT_TYPE                                                                      9:8
175 #define NVC397_LAUNCH_DMA_INTERRUPT_TYPE_NONE                                                          0x00000000
176 #define NVC397_LAUNCH_DMA_INTERRUPT_TYPE_INTERRUPT                                                     0x00000001
177 #define NVC397_LAUNCH_DMA_SEMAPHORE_STRUCT_SIZE                                                             12:12
178 #define NVC397_LAUNCH_DMA_SEMAPHORE_STRUCT_SIZE_FOUR_WORDS                                             0x00000000
179 #define NVC397_LAUNCH_DMA_SEMAPHORE_STRUCT_SIZE_ONE_WORD                                               0x00000001
180 #define NVC397_LAUNCH_DMA_REDUCTION_ENABLE                                                                    1:1
181 #define NVC397_LAUNCH_DMA_REDUCTION_ENABLE_FALSE                                                       0x00000000
182 #define NVC397_LAUNCH_DMA_REDUCTION_ENABLE_TRUE                                                        0x00000001
183 #define NVC397_LAUNCH_DMA_REDUCTION_OP                                                                      15:13
184 #define NVC397_LAUNCH_DMA_REDUCTION_OP_RED_ADD                                                         0x00000000
185 #define NVC397_LAUNCH_DMA_REDUCTION_OP_RED_MIN                                                         0x00000001
186 #define NVC397_LAUNCH_DMA_REDUCTION_OP_RED_MAX                                                         0x00000002
187 #define NVC397_LAUNCH_DMA_REDUCTION_OP_RED_INC                                                         0x00000003
188 #define NVC397_LAUNCH_DMA_REDUCTION_OP_RED_DEC                                                         0x00000004
189 #define NVC397_LAUNCH_DMA_REDUCTION_OP_RED_AND                                                         0x00000005
190 #define NVC397_LAUNCH_DMA_REDUCTION_OP_RED_OR                                                          0x00000006
191 #define NVC397_LAUNCH_DMA_REDUCTION_OP_RED_XOR                                                         0x00000007
192 #define NVC397_LAUNCH_DMA_REDUCTION_FORMAT                                                                    3:2
193 #define NVC397_LAUNCH_DMA_REDUCTION_FORMAT_UNSIGNED_32                                                 0x00000000
194 #define NVC397_LAUNCH_DMA_REDUCTION_FORMAT_SIGNED_32                                                   0x00000001
195 #define NVC397_LAUNCH_DMA_SYSMEMBAR_DISABLE                                                                   6:6
196 #define NVC397_LAUNCH_DMA_SYSMEMBAR_DISABLE_FALSE                                                      0x00000000
197 #define NVC397_LAUNCH_DMA_SYSMEMBAR_DISABLE_TRUE                                                       0x00000001
198 
199 #define NVC397_LOAD_INLINE_DATA                                                                            0x01b4
200 #define NVC397_LOAD_INLINE_DATA_V                                                                            31:0
201 
202 #define NVC397_SET_I2M_SEMAPHORE_A                                                                         0x01dc
203 #define NVC397_SET_I2M_SEMAPHORE_A_OFFSET_UPPER                                                               7:0
204 
205 #define NVC397_SET_I2M_SEMAPHORE_B                                                                         0x01e0
206 #define NVC397_SET_I2M_SEMAPHORE_B_OFFSET_LOWER                                                              31:0
207 
208 #define NVC397_SET_I2M_SEMAPHORE_C                                                                         0x01e4
209 #define NVC397_SET_I2M_SEMAPHORE_C_PAYLOAD                                                                   31:0
210 
211 #define NVC397_SET_I2M_SPARE_NOOP00                                                                        0x01f0
212 #define NVC397_SET_I2M_SPARE_NOOP00_V                                                                        31:0
213 
214 #define NVC397_SET_I2M_SPARE_NOOP01                                                                        0x01f4
215 #define NVC397_SET_I2M_SPARE_NOOP01_V                                                                        31:0
216 
217 #define NVC397_SET_I2M_SPARE_NOOP02                                                                        0x01f8
218 #define NVC397_SET_I2M_SPARE_NOOP02_V                                                                        31:0
219 
220 #define NVC397_SET_I2M_SPARE_NOOP03                                                                        0x01fc
221 #define NVC397_SET_I2M_SPARE_NOOP03_V                                                                        31:0
222 
223 #define NVC397_RUN_DS_NOW                                                                                  0x0200
224 #define NVC397_RUN_DS_NOW_V                                                                                  31:0
225 
226 #define NVC397_SET_OPPORTUNISTIC_EARLY_Z_HYSTERESIS                                                        0x0204
227 #define NVC397_SET_OPPORTUNISTIC_EARLY_Z_HYSTERESIS_ACCUMULATED_PRIM_AREA_THRESHOLD                           4:0
228 #define NVC397_SET_OPPORTUNISTIC_EARLY_Z_HYSTERESIS_ACCUMULATED_PRIM_AREA_THRESHOLD_INSTANTANEOUS             0x00000000
229 #define NVC397_SET_OPPORTUNISTIC_EARLY_Z_HYSTERESIS_ACCUMULATED_PRIM_AREA_THRESHOLD__16                0x00000001
230 #define NVC397_SET_OPPORTUNISTIC_EARLY_Z_HYSTERESIS_ACCUMULATED_PRIM_AREA_THRESHOLD__32                0x00000002
231 #define NVC397_SET_OPPORTUNISTIC_EARLY_Z_HYSTERESIS_ACCUMULATED_PRIM_AREA_THRESHOLD__64                0x00000003
232 #define NVC397_SET_OPPORTUNISTIC_EARLY_Z_HYSTERESIS_ACCUMULATED_PRIM_AREA_THRESHOLD__128               0x00000004
233 #define NVC397_SET_OPPORTUNISTIC_EARLY_Z_HYSTERESIS_ACCUMULATED_PRIM_AREA_THRESHOLD__256               0x00000005
234 #define NVC397_SET_OPPORTUNISTIC_EARLY_Z_HYSTERESIS_ACCUMULATED_PRIM_AREA_THRESHOLD__512               0x00000006
235 #define NVC397_SET_OPPORTUNISTIC_EARLY_Z_HYSTERESIS_ACCUMULATED_PRIM_AREA_THRESHOLD__1024              0x00000007
236 #define NVC397_SET_OPPORTUNISTIC_EARLY_Z_HYSTERESIS_ACCUMULATED_PRIM_AREA_THRESHOLD__2048              0x00000008
237 #define NVC397_SET_OPPORTUNISTIC_EARLY_Z_HYSTERESIS_ACCUMULATED_PRIM_AREA_THRESHOLD__4096              0x00000009
238 #define NVC397_SET_OPPORTUNISTIC_EARLY_Z_HYSTERESIS_ACCUMULATED_PRIM_AREA_THRESHOLD__8192              0x0000000A
239 #define NVC397_SET_OPPORTUNISTIC_EARLY_Z_HYSTERESIS_ACCUMULATED_PRIM_AREA_THRESHOLD__16384             0x0000000B
240 #define NVC397_SET_OPPORTUNISTIC_EARLY_Z_HYSTERESIS_ACCUMULATED_PRIM_AREA_THRESHOLD__32768             0x0000000C
241 #define NVC397_SET_OPPORTUNISTIC_EARLY_Z_HYSTERESIS_ACCUMULATED_PRIM_AREA_THRESHOLD__65536             0x0000000D
242 #define NVC397_SET_OPPORTUNISTIC_EARLY_Z_HYSTERESIS_ACCUMULATED_PRIM_AREA_THRESHOLD__131072             0x0000000E
243 #define NVC397_SET_OPPORTUNISTIC_EARLY_Z_HYSTERESIS_ACCUMULATED_PRIM_AREA_THRESHOLD__262144             0x0000000F
244 #define NVC397_SET_OPPORTUNISTIC_EARLY_Z_HYSTERESIS_ACCUMULATED_PRIM_AREA_THRESHOLD__524288             0x00000010
245 #define NVC397_SET_OPPORTUNISTIC_EARLY_Z_HYSTERESIS_ACCUMULATED_PRIM_AREA_THRESHOLD__1048576             0x00000011
246 #define NVC397_SET_OPPORTUNISTIC_EARLY_Z_HYSTERESIS_ACCUMULATED_PRIM_AREA_THRESHOLD__2097152             0x00000012
247 #define NVC397_SET_OPPORTUNISTIC_EARLY_Z_HYSTERESIS_ACCUMULATED_PRIM_AREA_THRESHOLD__4194304             0x00000013
248 #define NVC397_SET_OPPORTUNISTIC_EARLY_Z_HYSTERESIS_ACCUMULATED_PRIM_AREA_THRESHOLD_LATEZ_ALWAYS             0x0000001F
249 
250 #define NVC397_SET_GS_MODE                                                                                 0x0208
251 #define NVC397_SET_GS_MODE_TYPE                                                                               0:0
252 #define NVC397_SET_GS_MODE_TYPE_ANY                                                                    0x00000000
253 #define NVC397_SET_GS_MODE_TYPE_FAST_GS                                                                0x00000001
254 
255 #define NVC397_SET_ALIASED_LINE_WIDTH_ENABLE                                                               0x020c
256 #define NVC397_SET_ALIASED_LINE_WIDTH_ENABLE_V                                                                0:0
257 #define NVC397_SET_ALIASED_LINE_WIDTH_ENABLE_V_FALSE                                                   0x00000000
258 #define NVC397_SET_ALIASED_LINE_WIDTH_ENABLE_V_TRUE                                                    0x00000001
259 
260 #define NVC397_SET_API_MANDATED_EARLY_Z                                                                    0x0210
261 #define NVC397_SET_API_MANDATED_EARLY_Z_ENABLE                                                                0:0
262 #define NVC397_SET_API_MANDATED_EARLY_Z_ENABLE_FALSE                                                   0x00000000
263 #define NVC397_SET_API_MANDATED_EARLY_Z_ENABLE_TRUE                                                    0x00000001
264 
265 #define NVC397_SET_GS_DM_FIFO                                                                              0x0214
266 #define NVC397_SET_GS_DM_FIFO_SIZE_RASTER_ON                                                                 12:0
267 #define NVC397_SET_GS_DM_FIFO_SIZE_RASTER_OFF                                                               28:16
268 #define NVC397_SET_GS_DM_FIFO_SPILL_ENABLED                                                                 31:31
269 #define NVC397_SET_GS_DM_FIFO_SPILL_ENABLED_FALSE                                                      0x00000000
270 #define NVC397_SET_GS_DM_FIFO_SPILL_ENABLED_TRUE                                                       0x00000001
271 
272 #define NVC397_SET_L2_CACHE_CONTROL_FOR_ROP_PREFETCH_READ_REQUESTS                                         0x0218
273 #define NVC397_SET_L2_CACHE_CONTROL_FOR_ROP_PREFETCH_READ_REQUESTS_POLICY                                     5:4
274 #define NVC397_SET_L2_CACHE_CONTROL_FOR_ROP_PREFETCH_READ_REQUESTS_POLICY_EVICT_FIRST                  0x00000000
275 #define NVC397_SET_L2_CACHE_CONTROL_FOR_ROP_PREFETCH_READ_REQUESTS_POLICY_EVICT_NORMAL                 0x00000001
276 #define NVC397_SET_L2_CACHE_CONTROL_FOR_ROP_PREFETCH_READ_REQUESTS_POLICY_EVICT_LAST                   0x00000002
277 
278 #define NVC397_INVALIDATE_SHADER_CACHES                                                                    0x021c
279 #define NVC397_INVALIDATE_SHADER_CACHES_INSTRUCTION                                                           0:0
280 #define NVC397_INVALIDATE_SHADER_CACHES_INSTRUCTION_FALSE                                              0x00000000
281 #define NVC397_INVALIDATE_SHADER_CACHES_INSTRUCTION_TRUE                                               0x00000001
282 #define NVC397_INVALIDATE_SHADER_CACHES_DATA                                                                  4:4
283 #define NVC397_INVALIDATE_SHADER_CACHES_DATA_FALSE                                                     0x00000000
284 #define NVC397_INVALIDATE_SHADER_CACHES_DATA_TRUE                                                      0x00000001
285 #define NVC397_INVALIDATE_SHADER_CACHES_CONSTANT                                                            12:12
286 #define NVC397_INVALIDATE_SHADER_CACHES_CONSTANT_FALSE                                                 0x00000000
287 #define NVC397_INVALIDATE_SHADER_CACHES_CONSTANT_TRUE                                                  0x00000001
288 #define NVC397_INVALIDATE_SHADER_CACHES_LOCKS                                                                 1:1
289 #define NVC397_INVALIDATE_SHADER_CACHES_LOCKS_FALSE                                                    0x00000000
290 #define NVC397_INVALIDATE_SHADER_CACHES_LOCKS_TRUE                                                     0x00000001
291 #define NVC397_INVALIDATE_SHADER_CACHES_FLUSH_DATA                                                            2:2
292 #define NVC397_INVALIDATE_SHADER_CACHES_FLUSH_DATA_FALSE                                               0x00000000
293 #define NVC397_INVALIDATE_SHADER_CACHES_FLUSH_DATA_TRUE                                                0x00000001
294 
295 #define NVC397_SET_INSTANCE_COUNT                                                                          0x0220
296 #define NVC397_SET_INSTANCE_COUNT_V                                                                          31:0
297 
298 #define NVC397_SET_POSITION_W_SCALED_OFFSET_ENABLE                                                         0x0224
299 #define NVC397_SET_POSITION_W_SCALED_OFFSET_ENABLE_ENABLE                                                     0:0
300 #define NVC397_SET_POSITION_W_SCALED_OFFSET_ENABLE_ENABLE_FALSE                                        0x00000000
301 #define NVC397_SET_POSITION_W_SCALED_OFFSET_ENABLE_ENABLE_TRUE                                         0x00000001
302 
303 #define NVC397_SET_MULTI_VIEW                                                                              0x0228
304 #define NVC397_SET_MULTI_VIEW_VIEW_COUNT                                                                      3:0
305 #define NVC397_SET_MULTI_VIEW_RENDER_TARGET_INDEX_OFFSET                                                     14:4
306 #define NVC397_SET_MULTI_VIEW_INDEPENDENT_VIEWPORT_MASK_ENABLE                                              16:16
307 #define NVC397_SET_MULTI_VIEW_INDEPENDENT_VIEWPORT_MASK_ENABLE_FALSE                                   0x00000000
308 #define NVC397_SET_MULTI_VIEW_INDEPENDENT_VIEWPORT_MASK_ENABLE_TRUE                                    0x00000001
309 
310 #define NVC397_SET_GO_IDLE_TIMEOUT                                                                         0x022c
311 #define NVC397_SET_GO_IDLE_TIMEOUT_V                                                                         31:0
312 
313 #define NVC397_SET_CONSERVATIVE_RASTER_CONTROL                                                             0x0230
314 #define NVC397_SET_CONSERVATIVE_RASTER_CONTROL_EXTRA_PRIM_BLOAT                                               3:0
315 #define NVC397_SET_CONSERVATIVE_RASTER_CONTROL_EXTRA_PRIM_BLOAT_BLOAT_0                                0x00000000
316 #define NVC397_SET_CONSERVATIVE_RASTER_CONTROL_EXTRA_PRIM_BLOAT_BLOAT_25                               0x00000001
317 #define NVC397_SET_CONSERVATIVE_RASTER_CONTROL_EXTRA_PRIM_BLOAT_BLOAT_50                               0x00000002
318 #define NVC397_SET_CONSERVATIVE_RASTER_CONTROL_EXTRA_PRIM_BLOAT_BLOAT_75                               0x00000003
319 #define NVC397_SET_CONSERVATIVE_RASTER_CONTROL_EXTRA_PRIM_BLOAT_BLOAT_PRI                              0x00000004
320 #define NVC397_SET_CONSERVATIVE_RASTER_CONTROL_COPY_INNER_TO_OUTER                                            4:4
321 #define NVC397_SET_CONSERVATIVE_RASTER_CONTROL_COPY_INNER_TO_OUTER_FALSE                               0x00000000
322 #define NVC397_SET_CONSERVATIVE_RASTER_CONTROL_COPY_INNER_TO_OUTER_TRUE                                0x00000001
323 #define NVC397_SET_CONSERVATIVE_RASTER_CONTROL_TRIANGLE_SNAP_MODE                                            10:8
324 #define NVC397_SET_CONSERVATIVE_RASTER_CONTROL_TRIANGLE_SNAP_MODE_MODE_POST_SNAP                       0x00000000
325 #define NVC397_SET_CONSERVATIVE_RASTER_CONTROL_TRIANGLE_SNAP_MODE_MODE_PRE_SNAP                        0x00000001
326 #define NVC397_SET_CONSERVATIVE_RASTER_CONTROL_TRIANGLE_SNAP_MODE_MODE_PRI                             0x00000002
327 #define NVC397_SET_CONSERVATIVE_RASTER_CONTROL_LINE_AND_POINT_SNAP_MODE                                     14:12
328 #define NVC397_SET_CONSERVATIVE_RASTER_CONTROL_LINE_AND_POINT_SNAP_MODE_MODE_POST_SNAP                 0x00000000
329 #define NVC397_SET_CONSERVATIVE_RASTER_CONTROL_LINE_AND_POINT_SNAP_MODE_MODE_PRE_SNAP                  0x00000001
330 #define NVC397_SET_CONSERVATIVE_RASTER_CONTROL_LINE_AND_POINT_SNAP_MODE_MODE_PRI                       0x00000002
331 #define NVC397_SET_CONSERVATIVE_RASTER_CONTROL_UNCERTAINTY_REGION_SIZE                                      19:16
332 #define NVC397_SET_CONSERVATIVE_RASTER_CONTROL_UNCERTAINTY_REGION_SIZE_SIZE_64                         0x00000000
333 #define NVC397_SET_CONSERVATIVE_RASTER_CONTROL_UNCERTAINTY_REGION_SIZE_SIZE_128                        0x00000001
334 #define NVC397_SET_CONSERVATIVE_RASTER_CONTROL_UNCERTAINTY_REGION_SIZE_SIZE_256                        0x00000002
335 #define NVC397_SET_CONSERVATIVE_RASTER_CONTROL_UNCERTAINTY_REGION_SIZE_SIZE_512                        0x00000003
336 
337 #define NVC397_SET_MME_VERSION                                                                             0x0234
338 #define NVC397_SET_MME_VERSION_MAJOR                                                                          7:0
339 
340 #define NVC397_INCREMENT_SYNC_POINT                                                                        0x02c8
341 #define NVC397_INCREMENT_SYNC_POINT_INDEX                                                                    11:0
342 #define NVC397_INCREMENT_SYNC_POINT_CLEAN_L2                                                                16:16
343 #define NVC397_INCREMENT_SYNC_POINT_CLEAN_L2_FALSE                                                     0x00000000
344 #define NVC397_INCREMENT_SYNC_POINT_CLEAN_L2_TRUE                                                      0x00000001
345 #define NVC397_INCREMENT_SYNC_POINT_CONDITION                                                               20:20
346 #define NVC397_INCREMENT_SYNC_POINT_CONDITION_STREAM_OUT_WRITES_DONE                                   0x00000000
347 #define NVC397_INCREMENT_SYNC_POINT_CONDITION_ROP_WRITES_DONE                                          0x00000001
348 
349 #define NVC397_FLUSH_AND_INVALIDATE_ROP_MINI_CACHE                                                         0x02d4
350 #define NVC397_FLUSH_AND_INVALIDATE_ROP_MINI_CACHE_V                                                          0:0
351 
352 #define NVC397_SET_SURFACE_CLIP_ID_BLOCK_SIZE                                                              0x02d8
353 #define NVC397_SET_SURFACE_CLIP_ID_BLOCK_SIZE_WIDTH                                                           3:0
354 #define NVC397_SET_SURFACE_CLIP_ID_BLOCK_SIZE_WIDTH_ONE_GOB                                            0x00000000
355 #define NVC397_SET_SURFACE_CLIP_ID_BLOCK_SIZE_HEIGHT                                                          7:4
356 #define NVC397_SET_SURFACE_CLIP_ID_BLOCK_SIZE_HEIGHT_ONE_GOB                                           0x00000000
357 #define NVC397_SET_SURFACE_CLIP_ID_BLOCK_SIZE_HEIGHT_TWO_GOBS                                          0x00000001
358 #define NVC397_SET_SURFACE_CLIP_ID_BLOCK_SIZE_HEIGHT_FOUR_GOBS                                         0x00000002
359 #define NVC397_SET_SURFACE_CLIP_ID_BLOCK_SIZE_HEIGHT_EIGHT_GOBS                                        0x00000003
360 #define NVC397_SET_SURFACE_CLIP_ID_BLOCK_SIZE_HEIGHT_SIXTEEN_GOBS                                      0x00000004
361 #define NVC397_SET_SURFACE_CLIP_ID_BLOCK_SIZE_HEIGHT_THIRTYTWO_GOBS                                    0x00000005
362 #define NVC397_SET_SURFACE_CLIP_ID_BLOCK_SIZE_DEPTH                                                          11:8
363 #define NVC397_SET_SURFACE_CLIP_ID_BLOCK_SIZE_DEPTH_ONE_GOB                                            0x00000000
364 
365 #define NVC397_SET_ALPHA_CIRCULAR_BUFFER_SIZE                                                              0x02dc
366 #define NVC397_SET_ALPHA_CIRCULAR_BUFFER_SIZE_CACHE_LINES_PER_SM                                             13:0
367 
368 #define NVC397_DECOMPRESS_SURFACE                                                                          0x02e0
369 #define NVC397_DECOMPRESS_SURFACE_MRT_SELECT                                                                  2:0
370 #define NVC397_DECOMPRESS_SURFACE_RT_ARRAY_INDEX                                                             19:4
371 
372 #define NVC397_SET_ZCULL_ROP_BYPASS                                                                        0x02e4
373 #define NVC397_SET_ZCULL_ROP_BYPASS_ENABLE                                                                    0:0
374 #define NVC397_SET_ZCULL_ROP_BYPASS_ENABLE_FALSE                                                       0x00000000
375 #define NVC397_SET_ZCULL_ROP_BYPASS_ENABLE_TRUE                                                        0x00000001
376 #define NVC397_SET_ZCULL_ROP_BYPASS_NO_STALL                                                                  4:4
377 #define NVC397_SET_ZCULL_ROP_BYPASS_NO_STALL_FALSE                                                     0x00000000
378 #define NVC397_SET_ZCULL_ROP_BYPASS_NO_STALL_TRUE                                                      0x00000001
379 #define NVC397_SET_ZCULL_ROP_BYPASS_CULL_EVERYTHING                                                           8:8
380 #define NVC397_SET_ZCULL_ROP_BYPASS_CULL_EVERYTHING_FALSE                                              0x00000000
381 #define NVC397_SET_ZCULL_ROP_BYPASS_CULL_EVERYTHING_TRUE                                               0x00000001
382 #define NVC397_SET_ZCULL_ROP_BYPASS_THRESHOLD                                                               15:12
383 
384 #define NVC397_SET_ZCULL_SUBREGION                                                                         0x02e8
385 #define NVC397_SET_ZCULL_SUBREGION_ENABLE                                                                     0:0
386 #define NVC397_SET_ZCULL_SUBREGION_ENABLE_FALSE                                                        0x00000000
387 #define NVC397_SET_ZCULL_SUBREGION_ENABLE_TRUE                                                         0x00000001
388 #define NVC397_SET_ZCULL_SUBREGION_NORMALIZED_ALIQUOTS                                                       27:4
389 
390 #define NVC397_SET_RASTER_BOUNDING_BOX                                                                     0x02ec
391 #define NVC397_SET_RASTER_BOUNDING_BOX_MODE                                                                   0:0
392 #define NVC397_SET_RASTER_BOUNDING_BOX_MODE_BOUNDING_BOX                                               0x00000000
393 #define NVC397_SET_RASTER_BOUNDING_BOX_MODE_FULL_VIEWPORT                                              0x00000001
394 #define NVC397_SET_RASTER_BOUNDING_BOX_PAD                                                                   11:4
395 
396 #define NVC397_PEER_SEMAPHORE_RELEASE                                                                      0x02f0
397 #define NVC397_PEER_SEMAPHORE_RELEASE_V                                                                      31:0
398 
399 #define NVC397_SET_ITERATED_BLEND_OPTIMIZATION                                                             0x02f4
400 #define NVC397_SET_ITERATED_BLEND_OPTIMIZATION_NOOP                                                           1:0
401 #define NVC397_SET_ITERATED_BLEND_OPTIMIZATION_NOOP_NEVER                                              0x00000000
402 #define NVC397_SET_ITERATED_BLEND_OPTIMIZATION_NOOP_SOURCE_RGBA_0000                                   0x00000001
403 #define NVC397_SET_ITERATED_BLEND_OPTIMIZATION_NOOP_SOURCE_ALPHA_0                                     0x00000002
404 #define NVC397_SET_ITERATED_BLEND_OPTIMIZATION_NOOP_SOURCE_RGBA_0001                                   0x00000003
405 
406 #define NVC397_SET_ZCULL_SUBREGION_ALLOCATION                                                              0x02f8
407 #define NVC397_SET_ZCULL_SUBREGION_ALLOCATION_SUBREGION_ID                                                    7:0
408 #define NVC397_SET_ZCULL_SUBREGION_ALLOCATION_ALIQUOTS                                                       23:8
409 #define NVC397_SET_ZCULL_SUBREGION_ALLOCATION_FORMAT                                                        27:24
410 #define NVC397_SET_ZCULL_SUBREGION_ALLOCATION_FORMAT_Z_16X16X2_4X4                                     0x00000000
411 #define NVC397_SET_ZCULL_SUBREGION_ALLOCATION_FORMAT_ZS_16X16_4X4                                      0x00000001
412 #define NVC397_SET_ZCULL_SUBREGION_ALLOCATION_FORMAT_Z_16X16_4X2                                       0x00000002
413 #define NVC397_SET_ZCULL_SUBREGION_ALLOCATION_FORMAT_Z_16X16_2X4                                       0x00000003
414 #define NVC397_SET_ZCULL_SUBREGION_ALLOCATION_FORMAT_Z_16X8_4X4                                        0x00000004
415 #define NVC397_SET_ZCULL_SUBREGION_ALLOCATION_FORMAT_Z_8X8_4X2                                         0x00000005
416 #define NVC397_SET_ZCULL_SUBREGION_ALLOCATION_FORMAT_Z_8X8_2X4                                         0x00000006
417 #define NVC397_SET_ZCULL_SUBREGION_ALLOCATION_FORMAT_Z_16X16_4X8                                       0x00000007
418 #define NVC397_SET_ZCULL_SUBREGION_ALLOCATION_FORMAT_Z_4X8_2X2                                         0x00000008
419 #define NVC397_SET_ZCULL_SUBREGION_ALLOCATION_FORMAT_ZS_16X8_4X2                                       0x00000009
420 #define NVC397_SET_ZCULL_SUBREGION_ALLOCATION_FORMAT_ZS_16X8_2X4                                       0x0000000A
421 #define NVC397_SET_ZCULL_SUBREGION_ALLOCATION_FORMAT_ZS_8X8_2X2                                        0x0000000B
422 #define NVC397_SET_ZCULL_SUBREGION_ALLOCATION_FORMAT_Z_4X8_1X1                                         0x0000000C
423 #define NVC397_SET_ZCULL_SUBREGION_ALLOCATION_FORMAT_NONE                                              0x0000000F
424 
425 #define NVC397_ASSIGN_ZCULL_SUBREGIONS                                                                     0x02fc
426 #define NVC397_ASSIGN_ZCULL_SUBREGIONS_ALGORITHM                                                              1:0
427 #define NVC397_ASSIGN_ZCULL_SUBREGIONS_ALGORITHM_Static                                                0x00000000
428 #define NVC397_ASSIGN_ZCULL_SUBREGIONS_ALGORITHM_Adaptive                                              0x00000001
429 
430 #define NVC397_SET_PS_OUTPUT_SAMPLE_MASK_USAGE                                                             0x0300
431 #define NVC397_SET_PS_OUTPUT_SAMPLE_MASK_USAGE_ENABLE                                                         0:0
432 #define NVC397_SET_PS_OUTPUT_SAMPLE_MASK_USAGE_ENABLE_FALSE                                            0x00000000
433 #define NVC397_SET_PS_OUTPUT_SAMPLE_MASK_USAGE_ENABLE_TRUE                                             0x00000001
434 #define NVC397_SET_PS_OUTPUT_SAMPLE_MASK_USAGE_QUALIFY_BY_ANTI_ALIAS_ENABLE                                   1:1
435 #define NVC397_SET_PS_OUTPUT_SAMPLE_MASK_USAGE_QUALIFY_BY_ANTI_ALIAS_ENABLE_DISABLE                    0x00000000
436 #define NVC397_SET_PS_OUTPUT_SAMPLE_MASK_USAGE_QUALIFY_BY_ANTI_ALIAS_ENABLE_ENABLE                     0x00000001
437 
438 #define NVC397_DRAW_ZERO_INDEX                                                                             0x0304
439 #define NVC397_DRAW_ZERO_INDEX_COUNT                                                                         31:0
440 
441 #define NVC397_SET_L1_CONFIGURATION                                                                        0x0308
442 #define NVC397_SET_L1_CONFIGURATION_DIRECTLY_ADDRESSABLE_MEMORY                                               2:0
443 #define NVC397_SET_L1_CONFIGURATION_DIRECTLY_ADDRESSABLE_MEMORY_SIZE_16KB                              0x00000001
444 #define NVC397_SET_L1_CONFIGURATION_DIRECTLY_ADDRESSABLE_MEMORY_SIZE_48KB                              0x00000003
445 
446 #define NVC397_SET_RENDER_ENABLE_CONTROL                                                                   0x030c
447 #define NVC397_SET_RENDER_ENABLE_CONTROL_CONDITIONAL_LOAD_CONSTANT_BUFFER                                     0:0
448 #define NVC397_SET_RENDER_ENABLE_CONTROL_CONDITIONAL_LOAD_CONSTANT_BUFFER_FALSE                        0x00000000
449 #define NVC397_SET_RENDER_ENABLE_CONTROL_CONDITIONAL_LOAD_CONSTANT_BUFFER_TRUE                         0x00000001
450 
451 #define NVC397_SET_SPA_VERSION                                                                             0x0310
452 #define NVC397_SET_SPA_VERSION_MINOR                                                                          7:0
453 #define NVC397_SET_SPA_VERSION_MAJOR                                                                         15:8
454 
455 #define NVC397_SET_SNAP_GRID_LINE                                                                          0x0318
456 #define NVC397_SET_SNAP_GRID_LINE_LOCATIONS_PER_PIXEL                                                         3:0
457 #define NVC397_SET_SNAP_GRID_LINE_LOCATIONS_PER_PIXEL__2X2                                             0x00000001
458 #define NVC397_SET_SNAP_GRID_LINE_LOCATIONS_PER_PIXEL__4X4                                             0x00000002
459 #define NVC397_SET_SNAP_GRID_LINE_LOCATIONS_PER_PIXEL__8X8                                             0x00000003
460 #define NVC397_SET_SNAP_GRID_LINE_LOCATIONS_PER_PIXEL__16X16                                           0x00000004
461 #define NVC397_SET_SNAP_GRID_LINE_LOCATIONS_PER_PIXEL__32X32                                           0x00000005
462 #define NVC397_SET_SNAP_GRID_LINE_LOCATIONS_PER_PIXEL__64X64                                           0x00000006
463 #define NVC397_SET_SNAP_GRID_LINE_LOCATIONS_PER_PIXEL__128X128                                         0x00000007
464 #define NVC397_SET_SNAP_GRID_LINE_LOCATIONS_PER_PIXEL__256X256                                         0x00000008
465 #define NVC397_SET_SNAP_GRID_LINE_ROUNDING_MODE                                                               8:8
466 #define NVC397_SET_SNAP_GRID_LINE_ROUNDING_MODE_RTNE                                                   0x00000000
467 #define NVC397_SET_SNAP_GRID_LINE_ROUNDING_MODE_TESLA                                                  0x00000001
468 
469 #define NVC397_SET_SNAP_GRID_NON_LINE                                                                      0x031c
470 #define NVC397_SET_SNAP_GRID_NON_LINE_LOCATIONS_PER_PIXEL                                                     3:0
471 #define NVC397_SET_SNAP_GRID_NON_LINE_LOCATIONS_PER_PIXEL__2X2                                         0x00000001
472 #define NVC397_SET_SNAP_GRID_NON_LINE_LOCATIONS_PER_PIXEL__4X4                                         0x00000002
473 #define NVC397_SET_SNAP_GRID_NON_LINE_LOCATIONS_PER_PIXEL__8X8                                         0x00000003
474 #define NVC397_SET_SNAP_GRID_NON_LINE_LOCATIONS_PER_PIXEL__16X16                                       0x00000004
475 #define NVC397_SET_SNAP_GRID_NON_LINE_LOCATIONS_PER_PIXEL__32X32                                       0x00000005
476 #define NVC397_SET_SNAP_GRID_NON_LINE_LOCATIONS_PER_PIXEL__64X64                                       0x00000006
477 #define NVC397_SET_SNAP_GRID_NON_LINE_LOCATIONS_PER_PIXEL__128X128                                     0x00000007
478 #define NVC397_SET_SNAP_GRID_NON_LINE_LOCATIONS_PER_PIXEL__256X256                                     0x00000008
479 #define NVC397_SET_SNAP_GRID_NON_LINE_ROUNDING_MODE                                                           8:8
480 #define NVC397_SET_SNAP_GRID_NON_LINE_ROUNDING_MODE_RTNE                                               0x00000000
481 #define NVC397_SET_SNAP_GRID_NON_LINE_ROUNDING_MODE_TESLA                                              0x00000001
482 
483 #define NVC397_SET_TESSELLATION_PARAMETERS                                                                 0x0320
484 #define NVC397_SET_TESSELLATION_PARAMETERS_DOMAIN_TYPE                                                        1:0
485 #define NVC397_SET_TESSELLATION_PARAMETERS_DOMAIN_TYPE_ISOLINE                                         0x00000000
486 #define NVC397_SET_TESSELLATION_PARAMETERS_DOMAIN_TYPE_TRIANGLE                                        0x00000001
487 #define NVC397_SET_TESSELLATION_PARAMETERS_DOMAIN_TYPE_QUAD                                            0x00000002
488 #define NVC397_SET_TESSELLATION_PARAMETERS_SPACING                                                            5:4
489 #define NVC397_SET_TESSELLATION_PARAMETERS_SPACING_INTEGER                                             0x00000000
490 #define NVC397_SET_TESSELLATION_PARAMETERS_SPACING_FRACTIONAL_ODD                                      0x00000001
491 #define NVC397_SET_TESSELLATION_PARAMETERS_SPACING_FRACTIONAL_EVEN                                     0x00000002
492 #define NVC397_SET_TESSELLATION_PARAMETERS_OUTPUT_PRIMITIVES                                                  9:8
493 #define NVC397_SET_TESSELLATION_PARAMETERS_OUTPUT_PRIMITIVES_POINTS                                    0x00000000
494 #define NVC397_SET_TESSELLATION_PARAMETERS_OUTPUT_PRIMITIVES_LINES                                     0x00000001
495 #define NVC397_SET_TESSELLATION_PARAMETERS_OUTPUT_PRIMITIVES_TRIANGLES_CW                              0x00000002
496 #define NVC397_SET_TESSELLATION_PARAMETERS_OUTPUT_PRIMITIVES_TRIANGLES_CCW                             0x00000003
497 
498 #define NVC397_SET_TESSELLATION_LOD_U0_OR_DENSITY                                                          0x0324
499 #define NVC397_SET_TESSELLATION_LOD_U0_OR_DENSITY_V                                                          31:0
500 
501 #define NVC397_SET_TESSELLATION_LOD_V0_OR_DETAIL                                                           0x0328
502 #define NVC397_SET_TESSELLATION_LOD_V0_OR_DETAIL_V                                                           31:0
503 
504 #define NVC397_SET_TESSELLATION_LOD_U1_OR_W0                                                               0x032c
505 #define NVC397_SET_TESSELLATION_LOD_U1_OR_W0_V                                                               31:0
506 
507 #define NVC397_SET_TESSELLATION_LOD_V1                                                                     0x0330
508 #define NVC397_SET_TESSELLATION_LOD_V1_V                                                                     31:0
509 
510 #define NVC397_SET_TG_LOD_INTERIOR_U                                                                       0x0334
511 #define NVC397_SET_TG_LOD_INTERIOR_U_V                                                                       31:0
512 
513 #define NVC397_SET_TG_LOD_INTERIOR_V                                                                       0x0338
514 #define NVC397_SET_TG_LOD_INTERIOR_V_V                                                                       31:0
515 
516 #define NVC397_RESERVED_TG07                                                                               0x033c
517 #define NVC397_RESERVED_TG07_V                                                                                0:0
518 
519 #define NVC397_RESERVED_TG08                                                                               0x0340
520 #define NVC397_RESERVED_TG08_V                                                                                0:0
521 
522 #define NVC397_RESERVED_TG09                                                                               0x0344
523 #define NVC397_RESERVED_TG09_V                                                                                0:0
524 
525 #define NVC397_RESERVED_TG10                                                                               0x0348
526 #define NVC397_RESERVED_TG10_V                                                                                0:0
527 
528 #define NVC397_RESERVED_TG11                                                                               0x034c
529 #define NVC397_RESERVED_TG11_V                                                                                0:0
530 
531 #define NVC397_RESERVED_TG12                                                                               0x0350
532 #define NVC397_RESERVED_TG12_V                                                                                0:0
533 
534 #define NVC397_RESERVED_TG13                                                                               0x0354
535 #define NVC397_RESERVED_TG13_V                                                                                0:0
536 
537 #define NVC397_RESERVED_TG14                                                                               0x0358
538 #define NVC397_RESERVED_TG14_V                                                                                0:0
539 
540 #define NVC397_RESERVED_TG15                                                                               0x035c
541 #define NVC397_RESERVED_TG15_V                                                                                0:0
542 
543 #define NVC397_SET_SUBTILING_PERF_KNOB_A                                                                   0x0360
544 #define NVC397_SET_SUBTILING_PERF_KNOB_A_FRACTION_OF_SPM_REGISTER_FILE_PER_SUBTILE                            7:0
545 #define NVC397_SET_SUBTILING_PERF_KNOB_A_FRACTION_OF_SPM_PIXEL_OUTPUT_BUFFER_PER_SUBTILE                     15:8
546 #define NVC397_SET_SUBTILING_PERF_KNOB_A_FRACTION_OF_SPM_TRIANGLE_RAM_PER_SUBTILE                           23:16
547 #define NVC397_SET_SUBTILING_PERF_KNOB_A_FRACTION_OF_MAX_QUADS_PER_SUBTILE                                  31:24
548 
549 #define NVC397_SET_SUBTILING_PERF_KNOB_B                                                                   0x0364
550 #define NVC397_SET_SUBTILING_PERF_KNOB_B_FRACTION_OF_MAX_PRIMITIVES_PER_SUBTILE                               7:0
551 
552 #define NVC397_SET_SUBTILING_PERF_KNOB_C                                                                   0x0368
553 #define NVC397_SET_SUBTILING_PERF_KNOB_C_RESERVED                                                             0:0
554 
555 #define NVC397_SET_ZCULL_SUBREGION_TO_REPORT                                                               0x036c
556 #define NVC397_SET_ZCULL_SUBREGION_TO_REPORT_ENABLE                                                           0:0
557 #define NVC397_SET_ZCULL_SUBREGION_TO_REPORT_ENABLE_FALSE                                              0x00000000
558 #define NVC397_SET_ZCULL_SUBREGION_TO_REPORT_ENABLE_TRUE                                               0x00000001
559 #define NVC397_SET_ZCULL_SUBREGION_TO_REPORT_SUBREGION_ID                                                    11:4
560 
561 #define NVC397_SET_ZCULL_SUBREGION_REPORT_TYPE                                                             0x0370
562 #define NVC397_SET_ZCULL_SUBREGION_REPORT_TYPE_ENABLE                                                         0:0
563 #define NVC397_SET_ZCULL_SUBREGION_REPORT_TYPE_ENABLE_FALSE                                            0x00000000
564 #define NVC397_SET_ZCULL_SUBREGION_REPORT_TYPE_ENABLE_TRUE                                             0x00000001
565 #define NVC397_SET_ZCULL_SUBREGION_REPORT_TYPE_TYPE                                                           6:4
566 #define NVC397_SET_ZCULL_SUBREGION_REPORT_TYPE_TYPE_DEPTH_TEST                                         0x00000000
567 #define NVC397_SET_ZCULL_SUBREGION_REPORT_TYPE_TYPE_DEPTH_TEST_NO_ACCEPT                               0x00000001
568 #define NVC397_SET_ZCULL_SUBREGION_REPORT_TYPE_TYPE_DEPTH_TEST_LATE_Z                                  0x00000002
569 #define NVC397_SET_ZCULL_SUBREGION_REPORT_TYPE_TYPE_STENCIL_TEST                                       0x00000003
570 
571 #define NVC397_SET_BALANCED_PRIMITIVE_WORKLOAD                                                             0x0374
572 #define NVC397_SET_BALANCED_PRIMITIVE_WORKLOAD_IN_UNPARTITIONED_MODE                                          0:0
573 #define NVC397_SET_BALANCED_PRIMITIVE_WORKLOAD_IN_UNPARTITIONED_MODE_FALSE                             0x00000000
574 #define NVC397_SET_BALANCED_PRIMITIVE_WORKLOAD_IN_UNPARTITIONED_MODE_TRUE                              0x00000001
575 #define NVC397_SET_BALANCED_PRIMITIVE_WORKLOAD_IN_TIMESLICED_MODE                                             4:4
576 #define NVC397_SET_BALANCED_PRIMITIVE_WORKLOAD_IN_TIMESLICED_MODE_FALSE                                0x00000000
577 #define NVC397_SET_BALANCED_PRIMITIVE_WORKLOAD_IN_TIMESLICED_MODE_TRUE                                 0x00000001
578 #define NVC397_SET_BALANCED_PRIMITIVE_WORKLOAD_BY_PES_IN_UNPARTITIONED_MODE                                   8:8
579 #define NVC397_SET_BALANCED_PRIMITIVE_WORKLOAD_BY_PES_IN_UNPARTITIONED_MODE_FALSE                      0x00000000
580 #define NVC397_SET_BALANCED_PRIMITIVE_WORKLOAD_BY_PES_IN_UNPARTITIONED_MODE_TRUE                       0x00000001
581 #define NVC397_SET_BALANCED_PRIMITIVE_WORKLOAD_BY_PES_IN_TIMESLICED_MODE                                      9:9
582 #define NVC397_SET_BALANCED_PRIMITIVE_WORKLOAD_BY_PES_IN_TIMESLICED_MODE_FALSE                         0x00000000
583 #define NVC397_SET_BALANCED_PRIMITIVE_WORKLOAD_BY_PES_IN_TIMESLICED_MODE_TRUE                          0x00000001
584 
585 #define NVC397_SET_MAX_PATCHES_PER_BATCH                                                                   0x0378
586 #define NVC397_SET_MAX_PATCHES_PER_BATCH_V                                                                    5:0
587 
588 #define NVC397_SET_RASTER_ENABLE                                                                           0x037c
589 #define NVC397_SET_RASTER_ENABLE_V                                                                            0:0
590 #define NVC397_SET_RASTER_ENABLE_V_FALSE                                                               0x00000000
591 #define NVC397_SET_RASTER_ENABLE_V_TRUE                                                                0x00000001
592 
593 #define NVC397_SET_STREAM_OUT_BUFFER_ENABLE(j)                                                    (0x0380+(j)*32)
594 #define NVC397_SET_STREAM_OUT_BUFFER_ENABLE_V                                                                 0:0
595 #define NVC397_SET_STREAM_OUT_BUFFER_ENABLE_V_FALSE                                                    0x00000000
596 #define NVC397_SET_STREAM_OUT_BUFFER_ENABLE_V_TRUE                                                     0x00000001
597 
598 #define NVC397_SET_STREAM_OUT_BUFFER_ADDRESS_A(j)                                                 (0x0384+(j)*32)
599 #define NVC397_SET_STREAM_OUT_BUFFER_ADDRESS_A_UPPER                                                          7:0
600 
601 #define NVC397_SET_STREAM_OUT_BUFFER_ADDRESS_B(j)                                                 (0x0388+(j)*32)
602 #define NVC397_SET_STREAM_OUT_BUFFER_ADDRESS_B_LOWER                                                         31:0
603 
604 #define NVC397_SET_STREAM_OUT_BUFFER_SIZE(j)                                                      (0x038c+(j)*32)
605 #define NVC397_SET_STREAM_OUT_BUFFER_SIZE_BYTES                                                              31:0
606 
607 #define NVC397_SET_STREAM_OUT_BUFFER_LOAD_WRITE_POINTER(j)                                        (0x0390+(j)*32)
608 #define NVC397_SET_STREAM_OUT_BUFFER_LOAD_WRITE_POINTER_START_OFFSET                                         31:0
609 
610 #define NVC397_SET_POSITION_W_SCALED_OFFSET_SCALE_A(j)                                            (0x0400+(j)*16)
611 #define NVC397_SET_POSITION_W_SCALED_OFFSET_SCALE_A_V                                                        31:0
612 
613 #define NVC397_SET_POSITION_W_SCALED_OFFSET_SCALE_B(j)                                            (0x0404+(j)*16)
614 #define NVC397_SET_POSITION_W_SCALED_OFFSET_SCALE_B_V                                                        31:0
615 
616 #define NVC397_SET_POSITION_W_SCALED_OFFSET_RESERVED_A(j)                                         (0x0408+(j)*16)
617 #define NVC397_SET_POSITION_W_SCALED_OFFSET_RESERVED_A_V                                                     31:0
618 
619 #define NVC397_SET_POSITION_W_SCALED_OFFSET_RESERVED_B(j)                                         (0x040c+(j)*16)
620 #define NVC397_SET_POSITION_W_SCALED_OFFSET_RESERVED_B_V                                                     31:0
621 
622 #define NVC397_SET_STREAM_OUT_CONTROL_STREAM(j)                                                   (0x0700+(j)*16)
623 #define NVC397_SET_STREAM_OUT_CONTROL_STREAM_SELECT                                                           1:0
624 
625 #define NVC397_SET_STREAM_OUT_CONTROL_COMPONENT_COUNT(j)                                          (0x0704+(j)*16)
626 #define NVC397_SET_STREAM_OUT_CONTROL_COMPONENT_COUNT_MAX                                                     7:0
627 
628 #define NVC397_SET_STREAM_OUT_CONTROL_STRIDE(j)                                                   (0x0708+(j)*16)
629 #define NVC397_SET_STREAM_OUT_CONTROL_STRIDE_BYTES                                                           31:0
630 
631 #define NVC397_SET_RASTER_INPUT                                                                            0x0740
632 #define NVC397_SET_RASTER_INPUT_STREAM_SELECT                                                                 1:0
633 
634 #define NVC397_SET_STREAM_OUTPUT                                                                           0x0744
635 #define NVC397_SET_STREAM_OUTPUT_ENABLE                                                                       0:0
636 #define NVC397_SET_STREAM_OUTPUT_ENABLE_FALSE                                                          0x00000000
637 #define NVC397_SET_STREAM_OUTPUT_ENABLE_TRUE                                                           0x00000001
638 
639 #define NVC397_SET_DA_PRIMITIVE_RESTART_TOPOLOGY_CHANGE                                                    0x0748
640 #define NVC397_SET_DA_PRIMITIVE_RESTART_TOPOLOGY_CHANGE_ENABLE                                                0:0
641 #define NVC397_SET_DA_PRIMITIVE_RESTART_TOPOLOGY_CHANGE_ENABLE_FALSE                                   0x00000000
642 #define NVC397_SET_DA_PRIMITIVE_RESTART_TOPOLOGY_CHANGE_ENABLE_TRUE                                    0x00000001
643 
644 #define NVC397_SET_HYBRID_ANTI_ALIAS_CONTROL                                                               0x0754
645 #define NVC397_SET_HYBRID_ANTI_ALIAS_CONTROL_PASSES                                                           3:0
646 #define NVC397_SET_HYBRID_ANTI_ALIAS_CONTROL_CENTROID                                                         4:4
647 #define NVC397_SET_HYBRID_ANTI_ALIAS_CONTROL_CENTROID_PER_FRAGMENT                                     0x00000000
648 #define NVC397_SET_HYBRID_ANTI_ALIAS_CONTROL_CENTROID_PER_PASS                                         0x00000001
649 #define NVC397_SET_HYBRID_ANTI_ALIAS_CONTROL_PASSES_EXTENDED                                                  5:5
650 
651 #define NVC397_SET_SHADER_LOCAL_MEMORY_WINDOW                                                              0x077c
652 #define NVC397_SET_SHADER_LOCAL_MEMORY_WINDOW_BASE_ADDRESS                                                   31:0
653 
654 #define NVC397_SET_SHADER_LOCAL_MEMORY_A                                                                   0x0790
655 #define NVC397_SET_SHADER_LOCAL_MEMORY_A_ADDRESS_UPPER                                                        7:0
656 
657 #define NVC397_SET_SHADER_LOCAL_MEMORY_B                                                                   0x0794
658 #define NVC397_SET_SHADER_LOCAL_MEMORY_B_ADDRESS_LOWER                                                       31:0
659 
660 #define NVC397_SET_SHADER_LOCAL_MEMORY_C                                                                   0x0798
661 #define NVC397_SET_SHADER_LOCAL_MEMORY_C_SIZE_UPPER                                                           5:0
662 
663 #define NVC397_SET_SHADER_LOCAL_MEMORY_D                                                                   0x079c
664 #define NVC397_SET_SHADER_LOCAL_MEMORY_D_SIZE_LOWER                                                          31:0
665 
666 #define NVC397_SET_SHADER_LOCAL_MEMORY_E                                                                   0x07a0
667 #define NVC397_SET_SHADER_LOCAL_MEMORY_E_DEFAULT_SIZE_PER_WARP                                               25:0
668 
669 #define NVC397_SET_COLOR_ZERO_BANDWIDTH_CLEAR                                                              0x07a4
670 #define NVC397_SET_COLOR_ZERO_BANDWIDTH_CLEAR_SLOT_DISABLE_MASK                                              14:0
671 
672 #define NVC397_SET_Z_ZERO_BANDWIDTH_CLEAR                                                                  0x07a8
673 #define NVC397_SET_Z_ZERO_BANDWIDTH_CLEAR_SLOT_DISABLE_MASK                                                  14:0
674 
675 #define NVC397_SET_STENCIL_ZERO_BANDWIDTH_CLEAR                                                            0x07b0
676 #define NVC397_SET_STENCIL_ZERO_BANDWIDTH_CLEAR_SLOT_DISABLE_MASK                                            14:0
677 
678 #define NVC397_SET_ZCULL_REGION_SIZE_A                                                                     0x07c0
679 #define NVC397_SET_ZCULL_REGION_SIZE_A_WIDTH                                                                 15:0
680 
681 #define NVC397_SET_ZCULL_REGION_SIZE_B                                                                     0x07c4
682 #define NVC397_SET_ZCULL_REGION_SIZE_B_HEIGHT                                                                15:0
683 
684 #define NVC397_SET_ZCULL_REGION_SIZE_C                                                                     0x07c8
685 #define NVC397_SET_ZCULL_REGION_SIZE_C_DEPTH                                                                 15:0
686 
687 #define NVC397_SET_ZCULL_REGION_PIXEL_OFFSET_C                                                             0x07cc
688 #define NVC397_SET_ZCULL_REGION_PIXEL_OFFSET_C_DEPTH                                                         15:0
689 
690 #define NVC397_SET_CULL_BEFORE_FETCH                                                                       0x07dc
691 #define NVC397_SET_CULL_BEFORE_FETCH_FETCH_STREAMS_ONCE                                                       0:0
692 #define NVC397_SET_CULL_BEFORE_FETCH_FETCH_STREAMS_ONCE_FALSE                                          0x00000000
693 #define NVC397_SET_CULL_BEFORE_FETCH_FETCH_STREAMS_ONCE_TRUE                                           0x00000001
694 
695 #define NVC397_SET_ZCULL_REGION_LOCATION                                                                   0x07e0
696 #define NVC397_SET_ZCULL_REGION_LOCATION_START_ALIQUOT                                                       15:0
697 #define NVC397_SET_ZCULL_REGION_LOCATION_ALIQUOT_COUNT                                                      31:16
698 
699 #define NVC397_SET_ZCULL_REGION_ALIQUOTS                                                                   0x07e4
700 #define NVC397_SET_ZCULL_REGION_ALIQUOTS_PER_LAYER                                                           15:0
701 
702 #define NVC397_SET_ZCULL_STORAGE_A                                                                         0x07e8
703 #define NVC397_SET_ZCULL_STORAGE_A_ADDRESS_UPPER                                                              7:0
704 
705 #define NVC397_SET_ZCULL_STORAGE_B                                                                         0x07ec
706 #define NVC397_SET_ZCULL_STORAGE_B_ADDRESS_LOWER                                                             31:0
707 
708 #define NVC397_SET_ZCULL_STORAGE_C                                                                         0x07f0
709 #define NVC397_SET_ZCULL_STORAGE_C_LIMIT_ADDRESS_UPPER                                                        7:0
710 
711 #define NVC397_SET_ZCULL_STORAGE_D                                                                         0x07f4
712 #define NVC397_SET_ZCULL_STORAGE_D_LIMIT_ADDRESS_LOWER                                                       31:0
713 
714 #define NVC397_SET_ZT_READ_ONLY                                                                            0x07f8
715 #define NVC397_SET_ZT_READ_ONLY_ENABLE_Z                                                                      0:0
716 #define NVC397_SET_ZT_READ_ONLY_ENABLE_Z_FALSE                                                         0x00000000
717 #define NVC397_SET_ZT_READ_ONLY_ENABLE_Z_TRUE                                                          0x00000001
718 #define NVC397_SET_ZT_READ_ONLY_ENABLE_STENCIL                                                                4:4
719 #define NVC397_SET_ZT_READ_ONLY_ENABLE_STENCIL_FALSE                                                   0x00000000
720 #define NVC397_SET_ZT_READ_ONLY_ENABLE_STENCIL_TRUE                                                    0x00000001
721 
722 #define NVC397_SET_COLOR_TARGET_A(j)                                                              (0x0800+(j)*64)
723 #define NVC397_SET_COLOR_TARGET_A_OFFSET_UPPER                                                                7:0
724 
725 #define NVC397_SET_COLOR_TARGET_B(j)                                                              (0x0804+(j)*64)
726 #define NVC397_SET_COLOR_TARGET_B_OFFSET_LOWER                                                               31:0
727 
728 #define NVC397_SET_COLOR_TARGET_WIDTH(j)                                                          (0x0808+(j)*64)
729 #define NVC397_SET_COLOR_TARGET_WIDTH_V                                                                      27:0
730 
731 #define NVC397_SET_COLOR_TARGET_HEIGHT(j)                                                         (0x080c+(j)*64)
732 #define NVC397_SET_COLOR_TARGET_HEIGHT_V                                                                     16:0
733 
734 #define NVC397_SET_COLOR_TARGET_FORMAT(j)                                                         (0x0810+(j)*64)
735 #define NVC397_SET_COLOR_TARGET_FORMAT_V                                                                      7:0
736 #define NVC397_SET_COLOR_TARGET_FORMAT_V_DISABLED                                                      0x00000000
737 #define NVC397_SET_COLOR_TARGET_FORMAT_V_RF32_GF32_BF32_AF32                                           0x000000C0
738 #define NVC397_SET_COLOR_TARGET_FORMAT_V_RS32_GS32_BS32_AS32                                           0x000000C1
739 #define NVC397_SET_COLOR_TARGET_FORMAT_V_RU32_GU32_BU32_AU32                                           0x000000C2
740 #define NVC397_SET_COLOR_TARGET_FORMAT_V_RF32_GF32_BF32_X32                                            0x000000C3
741 #define NVC397_SET_COLOR_TARGET_FORMAT_V_RS32_GS32_BS32_X32                                            0x000000C4
742 #define NVC397_SET_COLOR_TARGET_FORMAT_V_RU32_GU32_BU32_X32                                            0x000000C5
743 #define NVC397_SET_COLOR_TARGET_FORMAT_V_R16_G16_B16_A16                                               0x000000C6
744 #define NVC397_SET_COLOR_TARGET_FORMAT_V_RN16_GN16_BN16_AN16                                           0x000000C7
745 #define NVC397_SET_COLOR_TARGET_FORMAT_V_RS16_GS16_BS16_AS16                                           0x000000C8
746 #define NVC397_SET_COLOR_TARGET_FORMAT_V_RU16_GU16_BU16_AU16                                           0x000000C9
747 #define NVC397_SET_COLOR_TARGET_FORMAT_V_RF16_GF16_BF16_AF16                                           0x000000CA
748 #define NVC397_SET_COLOR_TARGET_FORMAT_V_RF32_GF32                                                     0x000000CB
749 #define NVC397_SET_COLOR_TARGET_FORMAT_V_RS32_GS32                                                     0x000000CC
750 #define NVC397_SET_COLOR_TARGET_FORMAT_V_RU32_GU32                                                     0x000000CD
751 #define NVC397_SET_COLOR_TARGET_FORMAT_V_RF16_GF16_BF16_X16                                            0x000000CE
752 #define NVC397_SET_COLOR_TARGET_FORMAT_V_A8R8G8B8                                                      0x000000CF
753 #define NVC397_SET_COLOR_TARGET_FORMAT_V_A8RL8GL8BL8                                                   0x000000D0
754 #define NVC397_SET_COLOR_TARGET_FORMAT_V_A2B10G10R10                                                   0x000000D1
755 #define NVC397_SET_COLOR_TARGET_FORMAT_V_AU2BU10GU10RU10                                               0x000000D2
756 #define NVC397_SET_COLOR_TARGET_FORMAT_V_A8B8G8R8                                                      0x000000D5
757 #define NVC397_SET_COLOR_TARGET_FORMAT_V_A8BL8GL8RL8                                                   0x000000D6
758 #define NVC397_SET_COLOR_TARGET_FORMAT_V_AN8BN8GN8RN8                                                  0x000000D7
759 #define NVC397_SET_COLOR_TARGET_FORMAT_V_AS8BS8GS8RS8                                                  0x000000D8
760 #define NVC397_SET_COLOR_TARGET_FORMAT_V_AU8BU8GU8RU8                                                  0x000000D9
761 #define NVC397_SET_COLOR_TARGET_FORMAT_V_R16_G16                                                       0x000000DA
762 #define NVC397_SET_COLOR_TARGET_FORMAT_V_RN16_GN16                                                     0x000000DB
763 #define NVC397_SET_COLOR_TARGET_FORMAT_V_RS16_GS16                                                     0x000000DC
764 #define NVC397_SET_COLOR_TARGET_FORMAT_V_RU16_GU16                                                     0x000000DD
765 #define NVC397_SET_COLOR_TARGET_FORMAT_V_RF16_GF16                                                     0x000000DE
766 #define NVC397_SET_COLOR_TARGET_FORMAT_V_A2R10G10B10                                                   0x000000DF
767 #define NVC397_SET_COLOR_TARGET_FORMAT_V_BF10GF11RF11                                                  0x000000E0
768 #define NVC397_SET_COLOR_TARGET_FORMAT_V_RS32                                                          0x000000E3
769 #define NVC397_SET_COLOR_TARGET_FORMAT_V_RU32                                                          0x000000E4
770 #define NVC397_SET_COLOR_TARGET_FORMAT_V_RF32                                                          0x000000E5
771 #define NVC397_SET_COLOR_TARGET_FORMAT_V_X8R8G8B8                                                      0x000000E6
772 #define NVC397_SET_COLOR_TARGET_FORMAT_V_X8RL8GL8BL8                                                   0x000000E7
773 #define NVC397_SET_COLOR_TARGET_FORMAT_V_R5G6B5                                                        0x000000E8
774 #define NVC397_SET_COLOR_TARGET_FORMAT_V_A1R5G5B5                                                      0x000000E9
775 #define NVC397_SET_COLOR_TARGET_FORMAT_V_G8R8                                                          0x000000EA
776 #define NVC397_SET_COLOR_TARGET_FORMAT_V_GN8RN8                                                        0x000000EB
777 #define NVC397_SET_COLOR_TARGET_FORMAT_V_GS8RS8                                                        0x000000EC
778 #define NVC397_SET_COLOR_TARGET_FORMAT_V_GU8RU8                                                        0x000000ED
779 #define NVC397_SET_COLOR_TARGET_FORMAT_V_R16                                                           0x000000EE
780 #define NVC397_SET_COLOR_TARGET_FORMAT_V_RN16                                                          0x000000EF
781 #define NVC397_SET_COLOR_TARGET_FORMAT_V_RS16                                                          0x000000F0
782 #define NVC397_SET_COLOR_TARGET_FORMAT_V_RU16                                                          0x000000F1
783 #define NVC397_SET_COLOR_TARGET_FORMAT_V_RF16                                                          0x000000F2
784 #define NVC397_SET_COLOR_TARGET_FORMAT_V_R8                                                            0x000000F3
785 #define NVC397_SET_COLOR_TARGET_FORMAT_V_RN8                                                           0x000000F4
786 #define NVC397_SET_COLOR_TARGET_FORMAT_V_RS8                                                           0x000000F5
787 #define NVC397_SET_COLOR_TARGET_FORMAT_V_RU8                                                           0x000000F6
788 #define NVC397_SET_COLOR_TARGET_FORMAT_V_A8                                                            0x000000F7
789 #define NVC397_SET_COLOR_TARGET_FORMAT_V_X1R5G5B5                                                      0x000000F8
790 #define NVC397_SET_COLOR_TARGET_FORMAT_V_X8B8G8R8                                                      0x000000F9
791 #define NVC397_SET_COLOR_TARGET_FORMAT_V_X8BL8GL8RL8                                                   0x000000FA
792 #define NVC397_SET_COLOR_TARGET_FORMAT_V_Z1R5G5B5                                                      0x000000FB
793 #define NVC397_SET_COLOR_TARGET_FORMAT_V_O1R5G5B5                                                      0x000000FC
794 #define NVC397_SET_COLOR_TARGET_FORMAT_V_Z8R8G8B8                                                      0x000000FD
795 #define NVC397_SET_COLOR_TARGET_FORMAT_V_O8R8G8B8                                                      0x000000FE
796 #define NVC397_SET_COLOR_TARGET_FORMAT_V_R32                                                           0x000000FF
797 #define NVC397_SET_COLOR_TARGET_FORMAT_V_A16                                                           0x00000040
798 #define NVC397_SET_COLOR_TARGET_FORMAT_V_AF16                                                          0x00000041
799 #define NVC397_SET_COLOR_TARGET_FORMAT_V_AF32                                                          0x00000042
800 #define NVC397_SET_COLOR_TARGET_FORMAT_V_A8R8                                                          0x00000043
801 #define NVC397_SET_COLOR_TARGET_FORMAT_V_R16_A16                                                       0x00000044
802 #define NVC397_SET_COLOR_TARGET_FORMAT_V_RF16_AF16                                                     0x00000045
803 #define NVC397_SET_COLOR_TARGET_FORMAT_V_RF32_AF32                                                     0x00000046
804 #define NVC397_SET_COLOR_TARGET_FORMAT_V_B8G8R8A8                                                      0x00000047
805 
806 #define NVC397_SET_COLOR_TARGET_MEMORY(j)                                                         (0x0814+(j)*64)
807 #define NVC397_SET_COLOR_TARGET_MEMORY_BLOCK_WIDTH                                                            3:0
808 #define NVC397_SET_COLOR_TARGET_MEMORY_BLOCK_WIDTH_ONE_GOB                                             0x00000000
809 #define NVC397_SET_COLOR_TARGET_MEMORY_BLOCK_HEIGHT                                                           7:4
810 #define NVC397_SET_COLOR_TARGET_MEMORY_BLOCK_HEIGHT_ONE_GOB                                            0x00000000
811 #define NVC397_SET_COLOR_TARGET_MEMORY_BLOCK_HEIGHT_TWO_GOBS                                           0x00000001
812 #define NVC397_SET_COLOR_TARGET_MEMORY_BLOCK_HEIGHT_FOUR_GOBS                                          0x00000002
813 #define NVC397_SET_COLOR_TARGET_MEMORY_BLOCK_HEIGHT_EIGHT_GOBS                                         0x00000003
814 #define NVC397_SET_COLOR_TARGET_MEMORY_BLOCK_HEIGHT_SIXTEEN_GOBS                                       0x00000004
815 #define NVC397_SET_COLOR_TARGET_MEMORY_BLOCK_HEIGHT_THIRTYTWO_GOBS                                     0x00000005
816 #define NVC397_SET_COLOR_TARGET_MEMORY_BLOCK_DEPTH                                                           11:8
817 #define NVC397_SET_COLOR_TARGET_MEMORY_BLOCK_DEPTH_ONE_GOB                                             0x00000000
818 #define NVC397_SET_COLOR_TARGET_MEMORY_BLOCK_DEPTH_TWO_GOBS                                            0x00000001
819 #define NVC397_SET_COLOR_TARGET_MEMORY_BLOCK_DEPTH_FOUR_GOBS                                           0x00000002
820 #define NVC397_SET_COLOR_TARGET_MEMORY_BLOCK_DEPTH_EIGHT_GOBS                                          0x00000003
821 #define NVC397_SET_COLOR_TARGET_MEMORY_BLOCK_DEPTH_SIXTEEN_GOBS                                        0x00000004
822 #define NVC397_SET_COLOR_TARGET_MEMORY_BLOCK_DEPTH_THIRTYTWO_GOBS                                      0x00000005
823 #define NVC397_SET_COLOR_TARGET_MEMORY_LAYOUT                                                               12:12
824 #define NVC397_SET_COLOR_TARGET_MEMORY_LAYOUT_BLOCKLINEAR                                              0x00000000
825 #define NVC397_SET_COLOR_TARGET_MEMORY_LAYOUT_PITCH                                                    0x00000001
826 #define NVC397_SET_COLOR_TARGET_MEMORY_THIRD_DIMENSION_CONTROL                                              16:16
827 #define NVC397_SET_COLOR_TARGET_MEMORY_THIRD_DIMENSION_CONTROL_THIRD_DIMENSION_DEFINES_ARRAY_SIZE             0x00000000
828 #define NVC397_SET_COLOR_TARGET_MEMORY_THIRD_DIMENSION_CONTROL_THIRD_DIMENSION_DEFINES_DEPTH_SIZE             0x00000001
829 
830 #define NVC397_SET_COLOR_TARGET_THIRD_DIMENSION(j)                                                (0x0818+(j)*64)
831 #define NVC397_SET_COLOR_TARGET_THIRD_DIMENSION_V                                                            27:0
832 
833 #define NVC397_SET_COLOR_TARGET_ARRAY_PITCH(j)                                                    (0x081c+(j)*64)
834 #define NVC397_SET_COLOR_TARGET_ARRAY_PITCH_V                                                                31:0
835 
836 #define NVC397_SET_COLOR_TARGET_LAYER(j)                                                          (0x0820+(j)*64)
837 #define NVC397_SET_COLOR_TARGET_LAYER_OFFSET                                                                 15:0
838 
839 #define NVC397_SET_VIEWPORT_SCALE_X(j)                                                            (0x0a00+(j)*32)
840 #define NVC397_SET_VIEWPORT_SCALE_X_V                                                                        31:0
841 
842 #define NVC397_SET_VIEWPORT_SCALE_Y(j)                                                            (0x0a04+(j)*32)
843 #define NVC397_SET_VIEWPORT_SCALE_Y_V                                                                        31:0
844 
845 #define NVC397_SET_VIEWPORT_SCALE_Z(j)                                                            (0x0a08+(j)*32)
846 #define NVC397_SET_VIEWPORT_SCALE_Z_V                                                                        31:0
847 
848 #define NVC397_SET_VIEWPORT_OFFSET_X(j)                                                           (0x0a0c+(j)*32)
849 #define NVC397_SET_VIEWPORT_OFFSET_X_V                                                                       31:0
850 
851 #define NVC397_SET_VIEWPORT_OFFSET_Y(j)                                                           (0x0a10+(j)*32)
852 #define NVC397_SET_VIEWPORT_OFFSET_Y_V                                                                       31:0
853 
854 #define NVC397_SET_VIEWPORT_OFFSET_Z(j)                                                           (0x0a14+(j)*32)
855 #define NVC397_SET_VIEWPORT_OFFSET_Z_V                                                                       31:0
856 
857 #define NVC397_SET_VIEWPORT_COORDINATE_SWIZZLE(j)                                                 (0x0a18+(j)*32)
858 #define NVC397_SET_VIEWPORT_COORDINATE_SWIZZLE_X                                                              2:0
859 #define NVC397_SET_VIEWPORT_COORDINATE_SWIZZLE_X_POS_X                                                 0x00000000
860 #define NVC397_SET_VIEWPORT_COORDINATE_SWIZZLE_X_NEG_X                                                 0x00000001
861 #define NVC397_SET_VIEWPORT_COORDINATE_SWIZZLE_X_POS_Y                                                 0x00000002
862 #define NVC397_SET_VIEWPORT_COORDINATE_SWIZZLE_X_NEG_Y                                                 0x00000003
863 #define NVC397_SET_VIEWPORT_COORDINATE_SWIZZLE_X_POS_Z                                                 0x00000004
864 #define NVC397_SET_VIEWPORT_COORDINATE_SWIZZLE_X_NEG_Z                                                 0x00000005
865 #define NVC397_SET_VIEWPORT_COORDINATE_SWIZZLE_X_POS_W                                                 0x00000006
866 #define NVC397_SET_VIEWPORT_COORDINATE_SWIZZLE_X_NEG_W                                                 0x00000007
867 #define NVC397_SET_VIEWPORT_COORDINATE_SWIZZLE_Y                                                              6:4
868 #define NVC397_SET_VIEWPORT_COORDINATE_SWIZZLE_Y_POS_X                                                 0x00000000
869 #define NVC397_SET_VIEWPORT_COORDINATE_SWIZZLE_Y_NEG_X                                                 0x00000001
870 #define NVC397_SET_VIEWPORT_COORDINATE_SWIZZLE_Y_POS_Y                                                 0x00000002
871 #define NVC397_SET_VIEWPORT_COORDINATE_SWIZZLE_Y_NEG_Y                                                 0x00000003
872 #define NVC397_SET_VIEWPORT_COORDINATE_SWIZZLE_Y_POS_Z                                                 0x00000004
873 #define NVC397_SET_VIEWPORT_COORDINATE_SWIZZLE_Y_NEG_Z                                                 0x00000005
874 #define NVC397_SET_VIEWPORT_COORDINATE_SWIZZLE_Y_POS_W                                                 0x00000006
875 #define NVC397_SET_VIEWPORT_COORDINATE_SWIZZLE_Y_NEG_W                                                 0x00000007
876 #define NVC397_SET_VIEWPORT_COORDINATE_SWIZZLE_Z                                                             10:8
877 #define NVC397_SET_VIEWPORT_COORDINATE_SWIZZLE_Z_POS_X                                                 0x00000000
878 #define NVC397_SET_VIEWPORT_COORDINATE_SWIZZLE_Z_NEG_X                                                 0x00000001
879 #define NVC397_SET_VIEWPORT_COORDINATE_SWIZZLE_Z_POS_Y                                                 0x00000002
880 #define NVC397_SET_VIEWPORT_COORDINATE_SWIZZLE_Z_NEG_Y                                                 0x00000003
881 #define NVC397_SET_VIEWPORT_COORDINATE_SWIZZLE_Z_POS_Z                                                 0x00000004
882 #define NVC397_SET_VIEWPORT_COORDINATE_SWIZZLE_Z_NEG_Z                                                 0x00000005
883 #define NVC397_SET_VIEWPORT_COORDINATE_SWIZZLE_Z_POS_W                                                 0x00000006
884 #define NVC397_SET_VIEWPORT_COORDINATE_SWIZZLE_Z_NEG_W                                                 0x00000007
885 #define NVC397_SET_VIEWPORT_COORDINATE_SWIZZLE_W                                                            14:12
886 #define NVC397_SET_VIEWPORT_COORDINATE_SWIZZLE_W_POS_X                                                 0x00000000
887 #define NVC397_SET_VIEWPORT_COORDINATE_SWIZZLE_W_NEG_X                                                 0x00000001
888 #define NVC397_SET_VIEWPORT_COORDINATE_SWIZZLE_W_POS_Y                                                 0x00000002
889 #define NVC397_SET_VIEWPORT_COORDINATE_SWIZZLE_W_NEG_Y                                                 0x00000003
890 #define NVC397_SET_VIEWPORT_COORDINATE_SWIZZLE_W_POS_Z                                                 0x00000004
891 #define NVC397_SET_VIEWPORT_COORDINATE_SWIZZLE_W_NEG_Z                                                 0x00000005
892 #define NVC397_SET_VIEWPORT_COORDINATE_SWIZZLE_W_POS_W                                                 0x00000006
893 #define NVC397_SET_VIEWPORT_COORDINATE_SWIZZLE_W_NEG_W                                                 0x00000007
894 
895 #define NVC397_SET_VIEWPORT_INCREASE_SNAP_GRID_PRECISION(j)                                       (0x0a1c+(j)*32)
896 #define NVC397_SET_VIEWPORT_INCREASE_SNAP_GRID_PRECISION_X_BITS                                               4:0
897 #define NVC397_SET_VIEWPORT_INCREASE_SNAP_GRID_PRECISION_Y_BITS                                              12:8
898 
899 #define NVC397_SET_VIEWPORT_CLIP_HORIZONTAL(j)                                                    (0x0c00+(j)*16)
900 #define NVC397_SET_VIEWPORT_CLIP_HORIZONTAL_X0                                                               15:0
901 #define NVC397_SET_VIEWPORT_CLIP_HORIZONTAL_WIDTH                                                           31:16
902 
903 #define NVC397_SET_VIEWPORT_CLIP_VERTICAL(j)                                                      (0x0c04+(j)*16)
904 #define NVC397_SET_VIEWPORT_CLIP_VERTICAL_Y0                                                                 15:0
905 #define NVC397_SET_VIEWPORT_CLIP_VERTICAL_HEIGHT                                                            31:16
906 
907 #define NVC397_SET_VIEWPORT_CLIP_MIN_Z(j)                                                         (0x0c08+(j)*16)
908 #define NVC397_SET_VIEWPORT_CLIP_MIN_Z_V                                                                     31:0
909 
910 #define NVC397_SET_VIEWPORT_CLIP_MAX_Z(j)                                                         (0x0c0c+(j)*16)
911 #define NVC397_SET_VIEWPORT_CLIP_MAX_Z_V                                                                     31:0
912 
913 #define NVC397_SET_WINDOW_CLIP_HORIZONTAL(j)                                                       (0x0d00+(j)*8)
914 #define NVC397_SET_WINDOW_CLIP_HORIZONTAL_XMIN                                                               15:0
915 #define NVC397_SET_WINDOW_CLIP_HORIZONTAL_XMAX                                                              31:16
916 
917 #define NVC397_SET_WINDOW_CLIP_VERTICAL(j)                                                         (0x0d04+(j)*8)
918 #define NVC397_SET_WINDOW_CLIP_VERTICAL_YMIN                                                                 15:0
919 #define NVC397_SET_WINDOW_CLIP_VERTICAL_YMAX                                                                31:16
920 
921 #define NVC397_SET_CLIP_ID_EXTENT_X(j)                                                             (0x0d40+(j)*8)
922 #define NVC397_SET_CLIP_ID_EXTENT_X_MINX                                                                     15:0
923 #define NVC397_SET_CLIP_ID_EXTENT_X_WIDTH                                                                   31:16
924 
925 #define NVC397_SET_CLIP_ID_EXTENT_Y(j)                                                             (0x0d44+(j)*8)
926 #define NVC397_SET_CLIP_ID_EXTENT_Y_MINY                                                                     15:0
927 #define NVC397_SET_CLIP_ID_EXTENT_Y_HEIGHT                                                                  31:16
928 
929 #define NVC397_SET_MAX_STREAM_OUTPUT_GS_INSTANCES_PER_TASK                                                 0x0d60
930 #define NVC397_SET_MAX_STREAM_OUTPUT_GS_INSTANCES_PER_TASK_V                                                 10:0
931 
932 #define NVC397_SET_API_VISIBLE_CALL_LIMIT                                                                  0x0d64
933 #define NVC397_SET_API_VISIBLE_CALL_LIMIT_V                                                                   3:0
934 #define NVC397_SET_API_VISIBLE_CALL_LIMIT_V__0                                                         0x00000000
935 #define NVC397_SET_API_VISIBLE_CALL_LIMIT_V__1                                                         0x00000001
936 #define NVC397_SET_API_VISIBLE_CALL_LIMIT_V__2                                                         0x00000002
937 #define NVC397_SET_API_VISIBLE_CALL_LIMIT_V__4                                                         0x00000003
938 #define NVC397_SET_API_VISIBLE_CALL_LIMIT_V__8                                                         0x00000004
939 #define NVC397_SET_API_VISIBLE_CALL_LIMIT_V__16                                                        0x00000005
940 #define NVC397_SET_API_VISIBLE_CALL_LIMIT_V__32                                                        0x00000006
941 #define NVC397_SET_API_VISIBLE_CALL_LIMIT_V__64                                                        0x00000007
942 #define NVC397_SET_API_VISIBLE_CALL_LIMIT_V__128                                                       0x00000008
943 #define NVC397_SET_API_VISIBLE_CALL_LIMIT_V_NO_CHECK                                                   0x0000000F
944 
945 #define NVC397_SET_STATISTICS_COUNTER                                                                      0x0d68
946 #define NVC397_SET_STATISTICS_COUNTER_DA_VERTICES_GENERATED_ENABLE                                            0:0
947 #define NVC397_SET_STATISTICS_COUNTER_DA_VERTICES_GENERATED_ENABLE_FALSE                               0x00000000
948 #define NVC397_SET_STATISTICS_COUNTER_DA_VERTICES_GENERATED_ENABLE_TRUE                                0x00000001
949 #define NVC397_SET_STATISTICS_COUNTER_DA_PRIMITIVES_GENERATED_ENABLE                                          1:1
950 #define NVC397_SET_STATISTICS_COUNTER_DA_PRIMITIVES_GENERATED_ENABLE_FALSE                             0x00000000
951 #define NVC397_SET_STATISTICS_COUNTER_DA_PRIMITIVES_GENERATED_ENABLE_TRUE                              0x00000001
952 #define NVC397_SET_STATISTICS_COUNTER_VS_INVOCATIONS_ENABLE                                                   2:2
953 #define NVC397_SET_STATISTICS_COUNTER_VS_INVOCATIONS_ENABLE_FALSE                                      0x00000000
954 #define NVC397_SET_STATISTICS_COUNTER_VS_INVOCATIONS_ENABLE_TRUE                                       0x00000001
955 #define NVC397_SET_STATISTICS_COUNTER_GS_INVOCATIONS_ENABLE                                                   3:3
956 #define NVC397_SET_STATISTICS_COUNTER_GS_INVOCATIONS_ENABLE_FALSE                                      0x00000000
957 #define NVC397_SET_STATISTICS_COUNTER_GS_INVOCATIONS_ENABLE_TRUE                                       0x00000001
958 #define NVC397_SET_STATISTICS_COUNTER_GS_PRIMITIVES_GENERATED_ENABLE                                          4:4
959 #define NVC397_SET_STATISTICS_COUNTER_GS_PRIMITIVES_GENERATED_ENABLE_FALSE                             0x00000000
960 #define NVC397_SET_STATISTICS_COUNTER_GS_PRIMITIVES_GENERATED_ENABLE_TRUE                              0x00000001
961 #define NVC397_SET_STATISTICS_COUNTER_STREAMING_PRIMITIVES_SUCCEEDED_ENABLE                                   5:5
962 #define NVC397_SET_STATISTICS_COUNTER_STREAMING_PRIMITIVES_SUCCEEDED_ENABLE_FALSE                      0x00000000
963 #define NVC397_SET_STATISTICS_COUNTER_STREAMING_PRIMITIVES_SUCCEEDED_ENABLE_TRUE                       0x00000001
964 #define NVC397_SET_STATISTICS_COUNTER_STREAMING_PRIMITIVES_NEEDED_ENABLE                                      6:6
965 #define NVC397_SET_STATISTICS_COUNTER_STREAMING_PRIMITIVES_NEEDED_ENABLE_FALSE                         0x00000000
966 #define NVC397_SET_STATISTICS_COUNTER_STREAMING_PRIMITIVES_NEEDED_ENABLE_TRUE                          0x00000001
967 #define NVC397_SET_STATISTICS_COUNTER_CLIPPER_INVOCATIONS_ENABLE                                              7:7
968 #define NVC397_SET_STATISTICS_COUNTER_CLIPPER_INVOCATIONS_ENABLE_FALSE                                 0x00000000
969 #define NVC397_SET_STATISTICS_COUNTER_CLIPPER_INVOCATIONS_ENABLE_TRUE                                  0x00000001
970 #define NVC397_SET_STATISTICS_COUNTER_CLIPPER_PRIMITIVES_GENERATED_ENABLE                                     8:8
971 #define NVC397_SET_STATISTICS_COUNTER_CLIPPER_PRIMITIVES_GENERATED_ENABLE_FALSE                        0x00000000
972 #define NVC397_SET_STATISTICS_COUNTER_CLIPPER_PRIMITIVES_GENERATED_ENABLE_TRUE                         0x00000001
973 #define NVC397_SET_STATISTICS_COUNTER_PS_INVOCATIONS_ENABLE                                                   9:9
974 #define NVC397_SET_STATISTICS_COUNTER_PS_INVOCATIONS_ENABLE_FALSE                                      0x00000000
975 #define NVC397_SET_STATISTICS_COUNTER_PS_INVOCATIONS_ENABLE_TRUE                                       0x00000001
976 #define NVC397_SET_STATISTICS_COUNTER_TI_INVOCATIONS_ENABLE                                                 11:11
977 #define NVC397_SET_STATISTICS_COUNTER_TI_INVOCATIONS_ENABLE_FALSE                                      0x00000000
978 #define NVC397_SET_STATISTICS_COUNTER_TI_INVOCATIONS_ENABLE_TRUE                                       0x00000001
979 #define NVC397_SET_STATISTICS_COUNTER_TS_INVOCATIONS_ENABLE                                                 12:12
980 #define NVC397_SET_STATISTICS_COUNTER_TS_INVOCATIONS_ENABLE_FALSE                                      0x00000000
981 #define NVC397_SET_STATISTICS_COUNTER_TS_INVOCATIONS_ENABLE_TRUE                                       0x00000001
982 #define NVC397_SET_STATISTICS_COUNTER_TS_PRIMITIVES_GENERATED_ENABLE                                        13:13
983 #define NVC397_SET_STATISTICS_COUNTER_TS_PRIMITIVES_GENERATED_ENABLE_FALSE                             0x00000000
984 #define NVC397_SET_STATISTICS_COUNTER_TS_PRIMITIVES_GENERATED_ENABLE_TRUE                              0x00000001
985 #define NVC397_SET_STATISTICS_COUNTER_TOTAL_STREAMING_PRIMITIVES_NEEDED_SUCCEEDED_ENABLE                    14:14
986 #define NVC397_SET_STATISTICS_COUNTER_TOTAL_STREAMING_PRIMITIVES_NEEDED_SUCCEEDED_ENABLE_FALSE             0x00000000
987 #define NVC397_SET_STATISTICS_COUNTER_TOTAL_STREAMING_PRIMITIVES_NEEDED_SUCCEEDED_ENABLE_TRUE             0x00000001
988 #define NVC397_SET_STATISTICS_COUNTER_VTG_PRIMITIVES_OUT_ENABLE                                             10:10
989 #define NVC397_SET_STATISTICS_COUNTER_VTG_PRIMITIVES_OUT_ENABLE_FALSE                                  0x00000000
990 #define NVC397_SET_STATISTICS_COUNTER_VTG_PRIMITIVES_OUT_ENABLE_TRUE                                   0x00000001
991 #define NVC397_SET_STATISTICS_COUNTER_ALPHA_BETA_CLOCKS_ENABLE                                              15:15
992 #define NVC397_SET_STATISTICS_COUNTER_ALPHA_BETA_CLOCKS_ENABLE_FALSE                                   0x00000000
993 #define NVC397_SET_STATISTICS_COUNTER_ALPHA_BETA_CLOCKS_ENABLE_TRUE                                    0x00000001
994 #define NVC397_SET_STATISTICS_COUNTER_SCG_CLOCKS_ENABLE                                                     16:16
995 #define NVC397_SET_STATISTICS_COUNTER_SCG_CLOCKS_ENABLE_FALSE                                          0x00000000
996 #define NVC397_SET_STATISTICS_COUNTER_SCG_CLOCKS_ENABLE_TRUE                                           0x00000001
997 
998 #define NVC397_SET_CLEAR_RECT_HORIZONTAL                                                                   0x0d6c
999 #define NVC397_SET_CLEAR_RECT_HORIZONTAL_XMIN                                                                15:0
1000 #define NVC397_SET_CLEAR_RECT_HORIZONTAL_XMAX                                                               31:16
1001 
1002 #define NVC397_SET_CLEAR_RECT_VERTICAL                                                                     0x0d70
1003 #define NVC397_SET_CLEAR_RECT_VERTICAL_YMIN                                                                  15:0
1004 #define NVC397_SET_CLEAR_RECT_VERTICAL_YMAX                                                                 31:16
1005 
1006 #define NVC397_SET_VERTEX_ARRAY_START                                                                      0x0d74
1007 #define NVC397_SET_VERTEX_ARRAY_START_V                                                                      31:0
1008 
1009 #define NVC397_DRAW_VERTEX_ARRAY                                                                           0x0d78
1010 #define NVC397_DRAW_VERTEX_ARRAY_COUNT                                                                       31:0
1011 
1012 #define NVC397_SET_VIEWPORT_Z_CLIP                                                                         0x0d7c
1013 #define NVC397_SET_VIEWPORT_Z_CLIP_RANGE                                                                      0:0
1014 #define NVC397_SET_VIEWPORT_Z_CLIP_RANGE_NEGATIVE_W_TO_POSITIVE_W                                      0x00000000
1015 #define NVC397_SET_VIEWPORT_Z_CLIP_RANGE_ZERO_TO_POSITIVE_W                                            0x00000001
1016 
1017 #define NVC397_SET_COLOR_CLEAR_VALUE(i)                                                            (0x0d80+(i)*4)
1018 #define NVC397_SET_COLOR_CLEAR_VALUE_V                                                                       31:0
1019 
1020 #define NVC397_SET_Z_CLEAR_VALUE                                                                           0x0d90
1021 #define NVC397_SET_Z_CLEAR_VALUE_V                                                                           31:0
1022 
1023 #define NVC397_SET_SHADER_CACHE_CONTROL                                                                    0x0d94
1024 #define NVC397_SET_SHADER_CACHE_CONTROL_ICACHE_PREFETCH_ENABLE                                                0:0
1025 #define NVC397_SET_SHADER_CACHE_CONTROL_ICACHE_PREFETCH_ENABLE_FALSE                                   0x00000000
1026 #define NVC397_SET_SHADER_CACHE_CONTROL_ICACHE_PREFETCH_ENABLE_TRUE                                    0x00000001
1027 
1028 #define NVC397_FORCE_TRANSITION_TO_BETA                                                                    0x0d98
1029 #define NVC397_FORCE_TRANSITION_TO_BETA_V                                                                     0:0
1030 
1031 #define NVC397_SET_REDUCE_COLOR_THRESHOLDS_ENABLE                                                          0x0d9c
1032 #define NVC397_SET_REDUCE_COLOR_THRESHOLDS_ENABLE_V                                                           0:0
1033 #define NVC397_SET_REDUCE_COLOR_THRESHOLDS_ENABLE_V_FALSE                                              0x00000000
1034 #define NVC397_SET_REDUCE_COLOR_THRESHOLDS_ENABLE_V_TRUE                                               0x00000001
1035 
1036 #define NVC397_SET_STENCIL_CLEAR_VALUE                                                                     0x0da0
1037 #define NVC397_SET_STENCIL_CLEAR_VALUE_V                                                                      7:0
1038 
1039 #define NVC397_INVALIDATE_SHADER_CACHES_NO_WFI                                                             0x0da4
1040 #define NVC397_INVALIDATE_SHADER_CACHES_NO_WFI_INSTRUCTION                                                    0:0
1041 #define NVC397_INVALIDATE_SHADER_CACHES_NO_WFI_INSTRUCTION_FALSE                                       0x00000000
1042 #define NVC397_INVALIDATE_SHADER_CACHES_NO_WFI_INSTRUCTION_TRUE                                        0x00000001
1043 #define NVC397_INVALIDATE_SHADER_CACHES_NO_WFI_GLOBAL_DATA                                                    4:4
1044 #define NVC397_INVALIDATE_SHADER_CACHES_NO_WFI_GLOBAL_DATA_FALSE                                       0x00000000
1045 #define NVC397_INVALIDATE_SHADER_CACHES_NO_WFI_GLOBAL_DATA_TRUE                                        0x00000001
1046 #define NVC397_INVALIDATE_SHADER_CACHES_NO_WFI_CONSTANT                                                     12:12
1047 #define NVC397_INVALIDATE_SHADER_CACHES_NO_WFI_CONSTANT_FALSE                                          0x00000000
1048 #define NVC397_INVALIDATE_SHADER_CACHES_NO_WFI_CONSTANT_TRUE                                           0x00000001
1049 
1050 #define NVC397_SET_ZCULL_SERIALIZATION                                                                     0x0da8
1051 #define NVC397_SET_ZCULL_SERIALIZATION_ENABLE                                                                 0:0
1052 #define NVC397_SET_ZCULL_SERIALIZATION_ENABLE_FALSE                                                    0x00000000
1053 #define NVC397_SET_ZCULL_SERIALIZATION_ENABLE_TRUE                                                     0x00000001
1054 #define NVC397_SET_ZCULL_SERIALIZATION_APPLIED                                                                5:4
1055 #define NVC397_SET_ZCULL_SERIALIZATION_APPLIED_ALWAYS                                                  0x00000000
1056 #define NVC397_SET_ZCULL_SERIALIZATION_APPLIED_LATE_Z                                                  0x00000001
1057 #define NVC397_SET_ZCULL_SERIALIZATION_APPLIED_OUT_OF_GAMUT_Z                                          0x00000002
1058 #define NVC397_SET_ZCULL_SERIALIZATION_APPLIED_LATE_Z_OR_OUT_OF_GAMUT_Z                                0x00000003
1059 
1060 #define NVC397_SET_FRONT_POLYGON_MODE                                                                      0x0dac
1061 #define NVC397_SET_FRONT_POLYGON_MODE_V                                                                      31:0
1062 #define NVC397_SET_FRONT_POLYGON_MODE_V_POINT                                                          0x00001B00
1063 #define NVC397_SET_FRONT_POLYGON_MODE_V_LINE                                                           0x00001B01
1064 #define NVC397_SET_FRONT_POLYGON_MODE_V_FILL                                                           0x00001B02
1065 
1066 #define NVC397_SET_BACK_POLYGON_MODE                                                                       0x0db0
1067 #define NVC397_SET_BACK_POLYGON_MODE_V                                                                       31:0
1068 #define NVC397_SET_BACK_POLYGON_MODE_V_POINT                                                           0x00001B00
1069 #define NVC397_SET_BACK_POLYGON_MODE_V_LINE                                                            0x00001B01
1070 #define NVC397_SET_BACK_POLYGON_MODE_V_FILL                                                            0x00001B02
1071 
1072 #define NVC397_SET_POLY_SMOOTH                                                                             0x0db4
1073 #define NVC397_SET_POLY_SMOOTH_ENABLE                                                                         0:0
1074 #define NVC397_SET_POLY_SMOOTH_ENABLE_FALSE                                                            0x00000000
1075 #define NVC397_SET_POLY_SMOOTH_ENABLE_TRUE                                                             0x00000001
1076 
1077 #define NVC397_SET_ZCULL_DIR_FORMAT                                                                        0x0dbc
1078 #define NVC397_SET_ZCULL_DIR_FORMAT_ZDIR                                                                     15:0
1079 #define NVC397_SET_ZCULL_DIR_FORMAT_ZDIR_LESS                                                          0x00000000
1080 #define NVC397_SET_ZCULL_DIR_FORMAT_ZDIR_GREATER                                                       0x00000001
1081 #define NVC397_SET_ZCULL_DIR_FORMAT_ZFORMAT                                                                 31:16
1082 #define NVC397_SET_ZCULL_DIR_FORMAT_ZFORMAT_MSB                                                        0x00000000
1083 #define NVC397_SET_ZCULL_DIR_FORMAT_ZFORMAT_FP                                                         0x00000001
1084 #define NVC397_SET_ZCULL_DIR_FORMAT_ZFORMAT_ZTRICK                                                     0x00000002
1085 #define NVC397_SET_ZCULL_DIR_FORMAT_ZFORMAT_ZF32_1                                                     0x00000003
1086 
1087 #define NVC397_SET_POLY_OFFSET_POINT                                                                       0x0dc0
1088 #define NVC397_SET_POLY_OFFSET_POINT_ENABLE                                                                   0:0
1089 #define NVC397_SET_POLY_OFFSET_POINT_ENABLE_FALSE                                                      0x00000000
1090 #define NVC397_SET_POLY_OFFSET_POINT_ENABLE_TRUE                                                       0x00000001
1091 
1092 #define NVC397_SET_POLY_OFFSET_LINE                                                                        0x0dc4
1093 #define NVC397_SET_POLY_OFFSET_LINE_ENABLE                                                                    0:0
1094 #define NVC397_SET_POLY_OFFSET_LINE_ENABLE_FALSE                                                       0x00000000
1095 #define NVC397_SET_POLY_OFFSET_LINE_ENABLE_TRUE                                                        0x00000001
1096 
1097 #define NVC397_SET_POLY_OFFSET_FILL                                                                        0x0dc8
1098 #define NVC397_SET_POLY_OFFSET_FILL_ENABLE                                                                    0:0
1099 #define NVC397_SET_POLY_OFFSET_FILL_ENABLE_FALSE                                                       0x00000000
1100 #define NVC397_SET_POLY_OFFSET_FILL_ENABLE_TRUE                                                        0x00000001
1101 
1102 #define NVC397_SET_PATCH                                                                                   0x0dcc
1103 #define NVC397_SET_PATCH_SIZE                                                                                 7:0
1104 
1105 #define NVC397_SET_ITERATED_BLEND                                                                          0x0dd0
1106 #define NVC397_SET_ITERATED_BLEND_ENABLE                                                                      0:0
1107 #define NVC397_SET_ITERATED_BLEND_ENABLE_FALSE                                                         0x00000000
1108 #define NVC397_SET_ITERATED_BLEND_ENABLE_TRUE                                                          0x00000001
1109 #define NVC397_SET_ITERATED_BLEND_ALPHA_ENABLE                                                                1:1
1110 #define NVC397_SET_ITERATED_BLEND_ALPHA_ENABLE_FALSE                                                   0x00000000
1111 #define NVC397_SET_ITERATED_BLEND_ALPHA_ENABLE_TRUE                                                    0x00000001
1112 
1113 #define NVC397_SET_ITERATED_BLEND_PASS                                                                     0x0dd4
1114 #define NVC397_SET_ITERATED_BLEND_PASS_COUNT                                                                  7:0
1115 
1116 #define NVC397_SET_ZCULL_CRITERION                                                                         0x0dd8
1117 #define NVC397_SET_ZCULL_CRITERION_SFUNC                                                                      7:0
1118 #define NVC397_SET_ZCULL_CRITERION_SFUNC_NEVER                                                         0x00000000
1119 #define NVC397_SET_ZCULL_CRITERION_SFUNC_LESS                                                          0x00000001
1120 #define NVC397_SET_ZCULL_CRITERION_SFUNC_EQUAL                                                         0x00000002
1121 #define NVC397_SET_ZCULL_CRITERION_SFUNC_LEQUAL                                                        0x00000003
1122 #define NVC397_SET_ZCULL_CRITERION_SFUNC_GREATER                                                       0x00000004
1123 #define NVC397_SET_ZCULL_CRITERION_SFUNC_NOTEQUAL                                                      0x00000005
1124 #define NVC397_SET_ZCULL_CRITERION_SFUNC_GEQUAL                                                        0x00000006
1125 #define NVC397_SET_ZCULL_CRITERION_SFUNC_ALWAYS                                                        0x00000007
1126 #define NVC397_SET_ZCULL_CRITERION_NO_INVALIDATE                                                              8:8
1127 #define NVC397_SET_ZCULL_CRITERION_NO_INVALIDATE_FALSE                                                 0x00000000
1128 #define NVC397_SET_ZCULL_CRITERION_NO_INVALIDATE_TRUE                                                  0x00000001
1129 #define NVC397_SET_ZCULL_CRITERION_FORCE_MATCH                                                                9:9
1130 #define NVC397_SET_ZCULL_CRITERION_FORCE_MATCH_FALSE                                                   0x00000000
1131 #define NVC397_SET_ZCULL_CRITERION_FORCE_MATCH_TRUE                                                    0x00000001
1132 #define NVC397_SET_ZCULL_CRITERION_SREF                                                                     23:16
1133 #define NVC397_SET_ZCULL_CRITERION_SMASK                                                                    31:24
1134 
1135 #define NVC397_PIXEL_SHADER_BARRIER                                                                        0x0de0
1136 #define NVC397_PIXEL_SHADER_BARRIER_SYSMEMBAR_ENABLE                                                          0:0
1137 #define NVC397_PIXEL_SHADER_BARRIER_SYSMEMBAR_ENABLE_FALSE                                             0x00000000
1138 #define NVC397_PIXEL_SHADER_BARRIER_SYSMEMBAR_ENABLE_TRUE                                              0x00000001
1139 
1140 #define NVC397_SET_SM_TIMEOUT_INTERVAL                                                                     0x0de4
1141 #define NVC397_SET_SM_TIMEOUT_INTERVAL_COUNTER_BIT                                                            5:0
1142 
1143 #define NVC397_SET_DA_PRIMITIVE_RESTART_VERTEX_ARRAY                                                       0x0de8
1144 #define NVC397_SET_DA_PRIMITIVE_RESTART_VERTEX_ARRAY_ENABLE                                                   0:0
1145 #define NVC397_SET_DA_PRIMITIVE_RESTART_VERTEX_ARRAY_ENABLE_FALSE                                      0x00000000
1146 #define NVC397_SET_DA_PRIMITIVE_RESTART_VERTEX_ARRAY_ENABLE_TRUE                                       0x00000001
1147 
1148 #define NVC397_LOAD_ITERATED_BLEND_INSTRUCTION_POINTER                                                     0x0df0
1149 #define NVC397_LOAD_ITERATED_BLEND_INSTRUCTION_POINTER_V                                                      7:0
1150 
1151 #define NVC397_LOAD_ITERATED_BLEND_INSTRUCTION                                                             0x0df4
1152 #define NVC397_LOAD_ITERATED_BLEND_INSTRUCTION_TEST_CC                                                        2:0
1153 #define NVC397_LOAD_ITERATED_BLEND_INSTRUCTION_TEST_CC_FALSE                                           0x00000000
1154 #define NVC397_LOAD_ITERATED_BLEND_INSTRUCTION_TEST_CC_TRUE                                            0x00000001
1155 #define NVC397_LOAD_ITERATED_BLEND_INSTRUCTION_TEST_CC_EQ                                              0x00000002
1156 #define NVC397_LOAD_ITERATED_BLEND_INSTRUCTION_TEST_CC_NE                                              0x00000003
1157 #define NVC397_LOAD_ITERATED_BLEND_INSTRUCTION_TEST_CC_LT                                              0x00000004
1158 #define NVC397_LOAD_ITERATED_BLEND_INSTRUCTION_TEST_CC_LE                                              0x00000005
1159 #define NVC397_LOAD_ITERATED_BLEND_INSTRUCTION_TEST_CC_GT                                              0x00000006
1160 #define NVC397_LOAD_ITERATED_BLEND_INSTRUCTION_TEST_CC_GE                                              0x00000007
1161 #define NVC397_LOAD_ITERATED_BLEND_INSTRUCTION_OPERATION                                                      5:3
1162 #define NVC397_LOAD_ITERATED_BLEND_INSTRUCTION_OPERATION_ADD_PRODUCTS                                  0x00000000
1163 #define NVC397_LOAD_ITERATED_BLEND_INSTRUCTION_OPERATION_SUB_PRODUCTS                                  0x00000001
1164 #define NVC397_LOAD_ITERATED_BLEND_INSTRUCTION_OPERATION_MIN                                           0x00000002
1165 #define NVC397_LOAD_ITERATED_BLEND_INSTRUCTION_OPERATION_MAX                                           0x00000003
1166 #define NVC397_LOAD_ITERATED_BLEND_INSTRUCTION_OPERATION_RCP                                           0x00000004
1167 #define NVC397_LOAD_ITERATED_BLEND_INSTRUCTION_OPERATION_ADD                                           0x00000005
1168 #define NVC397_LOAD_ITERATED_BLEND_INSTRUCTION_OPERATION_SUBTRACT                                      0x00000006
1169 #define NVC397_LOAD_ITERATED_BLEND_INSTRUCTION_CONSTANT_INPUT_SELECT                                          8:6
1170 #define NVC397_LOAD_ITERATED_BLEND_INSTRUCTION_CONSTANT_INPUT_SELECT_CONSTANT0                         0x00000000
1171 #define NVC397_LOAD_ITERATED_BLEND_INSTRUCTION_CONSTANT_INPUT_SELECT_CONSTANT1                         0x00000001
1172 #define NVC397_LOAD_ITERATED_BLEND_INSTRUCTION_CONSTANT_INPUT_SELECT_CONSTANT2                         0x00000002
1173 #define NVC397_LOAD_ITERATED_BLEND_INSTRUCTION_CONSTANT_INPUT_SELECT_CONSTANT3                         0x00000003
1174 #define NVC397_LOAD_ITERATED_BLEND_INSTRUCTION_CONSTANT_INPUT_SELECT_CONSTANT4                         0x00000004
1175 #define NVC397_LOAD_ITERATED_BLEND_INSTRUCTION_CONSTANT_INPUT_SELECT_CONSTANT5                         0x00000005
1176 #define NVC397_LOAD_ITERATED_BLEND_INSTRUCTION_CONSTANT_INPUT_SELECT_CONSTANT6                         0x00000006
1177 #define NVC397_LOAD_ITERATED_BLEND_INSTRUCTION_CONSTANT_INPUT_SELECT_CONSTANT7                         0x00000007
1178 #define NVC397_LOAD_ITERATED_BLEND_INSTRUCTION_OPERAND_A_SELECT                                              11:9
1179 #define NVC397_LOAD_ITERATED_BLEND_INSTRUCTION_OPERAND_A_SELECT_SRC_RGB                                0x00000000
1180 #define NVC397_LOAD_ITERATED_BLEND_INSTRUCTION_OPERAND_A_SELECT_DEST_RGB                               0x00000001
1181 #define NVC397_LOAD_ITERATED_BLEND_INSTRUCTION_OPERAND_A_SELECT_SRC_AAA                                0x00000002
1182 #define NVC397_LOAD_ITERATED_BLEND_INSTRUCTION_OPERAND_A_SELECT_DEST_AAA                               0x00000003
1183 #define NVC397_LOAD_ITERATED_BLEND_INSTRUCTION_OPERAND_A_SELECT_TEMP0_RGB                              0x00000004
1184 #define NVC397_LOAD_ITERATED_BLEND_INSTRUCTION_OPERAND_A_SELECT_TEMP1_RGB                              0x00000005
1185 #define NVC397_LOAD_ITERATED_BLEND_INSTRUCTION_OPERAND_A_SELECT_TEMP2_RGB                              0x00000006
1186 #define NVC397_LOAD_ITERATED_BLEND_INSTRUCTION_OPERAND_A_SELECT_PBR_RGB                                0x00000007
1187 #define NVC397_LOAD_ITERATED_BLEND_INSTRUCTION_OPERAND_B_SELECT                                             15:12
1188 #define NVC397_LOAD_ITERATED_BLEND_INSTRUCTION_OPERAND_B_SELECT_ZERO                                   0x00000000
1189 #define NVC397_LOAD_ITERATED_BLEND_INSTRUCTION_OPERAND_B_SELECT_ONE                                    0x00000001
1190 #define NVC397_LOAD_ITERATED_BLEND_INSTRUCTION_OPERAND_B_SELECT_SRC_RGB                                0x00000002
1191 #define NVC397_LOAD_ITERATED_BLEND_INSTRUCTION_OPERAND_B_SELECT_SRC_AAA                                0x00000003
1192 #define NVC397_LOAD_ITERATED_BLEND_INSTRUCTION_OPERAND_B_SELECT_ONE_MINUS_SRC_AAA                      0x00000004
1193 #define NVC397_LOAD_ITERATED_BLEND_INSTRUCTION_OPERAND_B_SELECT_DEST_RGB                               0x00000005
1194 #define NVC397_LOAD_ITERATED_BLEND_INSTRUCTION_OPERAND_B_SELECT_DEST_AAA                               0x00000006
1195 #define NVC397_LOAD_ITERATED_BLEND_INSTRUCTION_OPERAND_B_SELECT_ONE_MINUS_DEST_AAA                     0x00000007
1196 #define NVC397_LOAD_ITERATED_BLEND_INSTRUCTION_OPERAND_B_SELECT_TEMP0_RGB                              0x00000009
1197 #define NVC397_LOAD_ITERATED_BLEND_INSTRUCTION_OPERAND_B_SELECT_TEMP1_RGB                              0x0000000A
1198 #define NVC397_LOAD_ITERATED_BLEND_INSTRUCTION_OPERAND_B_SELECT_TEMP2_RGB                              0x0000000B
1199 #define NVC397_LOAD_ITERATED_BLEND_INSTRUCTION_OPERAND_B_SELECT_PBR_RGB                                0x0000000C
1200 #define NVC397_LOAD_ITERATED_BLEND_INSTRUCTION_OPERAND_B_SELECT_CONSTANT_RGB                           0x0000000D
1201 #define NVC397_LOAD_ITERATED_BLEND_INSTRUCTION_OPERAND_B_SELECT_ZERO_A_TIMES_B                         0x0000000E
1202 #define NVC397_LOAD_ITERATED_BLEND_INSTRUCTION_OPERAND_C_SELECT                                             18:16
1203 #define NVC397_LOAD_ITERATED_BLEND_INSTRUCTION_OPERAND_C_SELECT_SRC_RGB                                0x00000000
1204 #define NVC397_LOAD_ITERATED_BLEND_INSTRUCTION_OPERAND_C_SELECT_DEST_RGB                               0x00000001
1205 #define NVC397_LOAD_ITERATED_BLEND_INSTRUCTION_OPERAND_C_SELECT_SRC_AAA                                0x00000002
1206 #define NVC397_LOAD_ITERATED_BLEND_INSTRUCTION_OPERAND_C_SELECT_DEST_AAA                               0x00000003
1207 #define NVC397_LOAD_ITERATED_BLEND_INSTRUCTION_OPERAND_C_SELECT_TEMP0_RGB                              0x00000004
1208 #define NVC397_LOAD_ITERATED_BLEND_INSTRUCTION_OPERAND_C_SELECT_TEMP1_RGB                              0x00000005
1209 #define NVC397_LOAD_ITERATED_BLEND_INSTRUCTION_OPERAND_C_SELECT_TEMP2_RGB                              0x00000006
1210 #define NVC397_LOAD_ITERATED_BLEND_INSTRUCTION_OPERAND_C_SELECT_PBR_RGB                                0x00000007
1211 #define NVC397_LOAD_ITERATED_BLEND_INSTRUCTION_OPERAND_D_SELECT                                             22:19
1212 #define NVC397_LOAD_ITERATED_BLEND_INSTRUCTION_OPERAND_D_SELECT_ZERO                                   0x00000000
1213 #define NVC397_LOAD_ITERATED_BLEND_INSTRUCTION_OPERAND_D_SELECT_ONE                                    0x00000001
1214 #define NVC397_LOAD_ITERATED_BLEND_INSTRUCTION_OPERAND_D_SELECT_SRC_RGB                                0x00000002
1215 #define NVC397_LOAD_ITERATED_BLEND_INSTRUCTION_OPERAND_D_SELECT_SRC_AAA                                0x00000003
1216 #define NVC397_LOAD_ITERATED_BLEND_INSTRUCTION_OPERAND_D_SELECT_ONE_MINUS_SRC_AAA                      0x00000004
1217 #define NVC397_LOAD_ITERATED_BLEND_INSTRUCTION_OPERAND_D_SELECT_DEST_RGB                               0x00000005
1218 #define NVC397_LOAD_ITERATED_BLEND_INSTRUCTION_OPERAND_D_SELECT_DEST_AAA                               0x00000006
1219 #define NVC397_LOAD_ITERATED_BLEND_INSTRUCTION_OPERAND_D_SELECT_ONE_MINUS_DEST_AAA                     0x00000007
1220 #define NVC397_LOAD_ITERATED_BLEND_INSTRUCTION_OPERAND_D_SELECT_TEMP0_RGB                              0x00000009
1221 #define NVC397_LOAD_ITERATED_BLEND_INSTRUCTION_OPERAND_D_SELECT_TEMP1_RGB                              0x0000000A
1222 #define NVC397_LOAD_ITERATED_BLEND_INSTRUCTION_OPERAND_D_SELECT_TEMP2_RGB                              0x0000000B
1223 #define NVC397_LOAD_ITERATED_BLEND_INSTRUCTION_OPERAND_D_SELECT_PBR_RGB                                0x0000000C
1224 #define NVC397_LOAD_ITERATED_BLEND_INSTRUCTION_OPERAND_D_SELECT_CONSTANT_RGB                           0x0000000D
1225 #define NVC397_LOAD_ITERATED_BLEND_INSTRUCTION_OPERAND_D_SELECT_ZERO_C_TIMES_D                         0x0000000E
1226 #define NVC397_LOAD_ITERATED_BLEND_INSTRUCTION_OUTPUT_SWIZZLE                                               25:23
1227 #define NVC397_LOAD_ITERATED_BLEND_INSTRUCTION_OUTPUT_SWIZZLE_RGB                                      0x00000000
1228 #define NVC397_LOAD_ITERATED_BLEND_INSTRUCTION_OUTPUT_SWIZZLE_GBR                                      0x00000001
1229 #define NVC397_LOAD_ITERATED_BLEND_INSTRUCTION_OUTPUT_SWIZZLE_RRR                                      0x00000002
1230 #define NVC397_LOAD_ITERATED_BLEND_INSTRUCTION_OUTPUT_SWIZZLE_GGG                                      0x00000003
1231 #define NVC397_LOAD_ITERATED_BLEND_INSTRUCTION_OUTPUT_SWIZZLE_BBB                                      0x00000004
1232 #define NVC397_LOAD_ITERATED_BLEND_INSTRUCTION_OUTPUT_SWIZZLE_R_TO_A                                   0x00000005
1233 #define NVC397_LOAD_ITERATED_BLEND_INSTRUCTION_OUTPUT_WRITE_MASK                                            27:26
1234 #define NVC397_LOAD_ITERATED_BLEND_INSTRUCTION_OUTPUT_WRITE_MASK_RGB                                   0x00000000
1235 #define NVC397_LOAD_ITERATED_BLEND_INSTRUCTION_OUTPUT_WRITE_MASK_R_ONLY                                0x00000001
1236 #define NVC397_LOAD_ITERATED_BLEND_INSTRUCTION_OUTPUT_WRITE_MASK_G_ONLY                                0x00000002
1237 #define NVC397_LOAD_ITERATED_BLEND_INSTRUCTION_OUTPUT_WRITE_MASK_B_ONLY                                0x00000003
1238 #define NVC397_LOAD_ITERATED_BLEND_INSTRUCTION_PASS_OUTPUT                                                  29:28
1239 #define NVC397_LOAD_ITERATED_BLEND_INSTRUCTION_PASS_OUTPUT_TEMP0                                       0x00000000
1240 #define NVC397_LOAD_ITERATED_BLEND_INSTRUCTION_PASS_OUTPUT_TEMP1                                       0x00000001
1241 #define NVC397_LOAD_ITERATED_BLEND_INSTRUCTION_PASS_OUTPUT_TEMP2                                       0x00000002
1242 #define NVC397_LOAD_ITERATED_BLEND_INSTRUCTION_PASS_OUTPUT_NONE                                        0x00000003
1243 #define NVC397_LOAD_ITERATED_BLEND_INSTRUCTION_SET_CC                                                       31:31
1244 #define NVC397_LOAD_ITERATED_BLEND_INSTRUCTION_SET_CC_FALSE                                            0x00000000
1245 #define NVC397_LOAD_ITERATED_BLEND_INSTRUCTION_SET_CC_TRUE                                             0x00000001
1246 
1247 #define NVC397_SET_WINDOW_OFFSET_X                                                                         0x0df8
1248 #define NVC397_SET_WINDOW_OFFSET_X_V                                                                         16:0
1249 
1250 #define NVC397_SET_WINDOW_OFFSET_Y                                                                         0x0dfc
1251 #define NVC397_SET_WINDOW_OFFSET_Y_V                                                                         17:0
1252 
1253 #define NVC397_SET_SCISSOR_ENABLE(j)                                                              (0x0e00+(j)*16)
1254 #define NVC397_SET_SCISSOR_ENABLE_V                                                                           0:0
1255 #define NVC397_SET_SCISSOR_ENABLE_V_FALSE                                                              0x00000000
1256 #define NVC397_SET_SCISSOR_ENABLE_V_TRUE                                                               0x00000001
1257 
1258 #define NVC397_SET_SCISSOR_HORIZONTAL(j)                                                          (0x0e04+(j)*16)
1259 #define NVC397_SET_SCISSOR_HORIZONTAL_XMIN                                                                   15:0
1260 #define NVC397_SET_SCISSOR_HORIZONTAL_XMAX                                                                  31:16
1261 
1262 #define NVC397_SET_SCISSOR_VERTICAL(j)                                                            (0x0e08+(j)*16)
1263 #define NVC397_SET_SCISSOR_VERTICAL_YMIN                                                                     15:0
1264 #define NVC397_SET_SCISSOR_VERTICAL_YMAX                                                                    31:16
1265 
1266 #define NVC397_SET_VPC_PERF_KNOB                                                                           0x0f14
1267 #define NVC397_SET_VPC_PERF_KNOB_CULLED_SMALL_LINES                                                           7:0
1268 #define NVC397_SET_VPC_PERF_KNOB_CULLED_SMALL_TRIANGLES                                                      15:8
1269 #define NVC397_SET_VPC_PERF_KNOB_NONCULLED_LINES_AND_POINTS                                                 23:16
1270 #define NVC397_SET_VPC_PERF_KNOB_NONCULLED_TRIANGLES                                                        31:24
1271 
1272 #define NVC397_PM_LOCAL_TRIGGER                                                                            0x0f18
1273 #define NVC397_PM_LOCAL_TRIGGER_BOOKMARK                                                                     15:0
1274 
1275 #define NVC397_SET_POST_Z_PS_IMASK                                                                         0x0f1c
1276 #define NVC397_SET_POST_Z_PS_IMASK_ENABLE                                                                     0:0
1277 #define NVC397_SET_POST_Z_PS_IMASK_ENABLE_FALSE                                                        0x00000000
1278 #define NVC397_SET_POST_Z_PS_IMASK_ENABLE_TRUE                                                         0x00000001
1279 
1280 #define NVC397_SET_CONSTANT_COLOR_RENDERING                                                                0x0f40
1281 #define NVC397_SET_CONSTANT_COLOR_RENDERING_ENABLE                                                            0:0
1282 #define NVC397_SET_CONSTANT_COLOR_RENDERING_ENABLE_FALSE                                               0x00000000
1283 #define NVC397_SET_CONSTANT_COLOR_RENDERING_ENABLE_TRUE                                                0x00000001
1284 
1285 #define NVC397_SET_CONSTANT_COLOR_RENDERING_RED                                                            0x0f44
1286 #define NVC397_SET_CONSTANT_COLOR_RENDERING_RED_V                                                            31:0
1287 
1288 #define NVC397_SET_CONSTANT_COLOR_RENDERING_GREEN                                                          0x0f48
1289 #define NVC397_SET_CONSTANT_COLOR_RENDERING_GREEN_V                                                          31:0
1290 
1291 #define NVC397_SET_CONSTANT_COLOR_RENDERING_BLUE                                                           0x0f4c
1292 #define NVC397_SET_CONSTANT_COLOR_RENDERING_BLUE_V                                                           31:0
1293 
1294 #define NVC397_SET_CONSTANT_COLOR_RENDERING_ALPHA                                                          0x0f50
1295 #define NVC397_SET_CONSTANT_COLOR_RENDERING_ALPHA_V                                                          31:0
1296 
1297 #define NVC397_SET_BACK_STENCIL_FUNC_REF                                                                   0x0f54
1298 #define NVC397_SET_BACK_STENCIL_FUNC_REF_V                                                                    7:0
1299 
1300 #define NVC397_SET_BACK_STENCIL_MASK                                                                       0x0f58
1301 #define NVC397_SET_BACK_STENCIL_MASK_V                                                                        7:0
1302 
1303 #define NVC397_SET_BACK_STENCIL_FUNC_MASK                                                                  0x0f5c
1304 #define NVC397_SET_BACK_STENCIL_FUNC_MASK_V                                                                   7:0
1305 
1306 #define NVC397_SET_VERTEX_STREAM_SUBSTITUTE_A                                                              0x0f84
1307 #define NVC397_SET_VERTEX_STREAM_SUBSTITUTE_A_ADDRESS_UPPER                                                   7:0
1308 
1309 #define NVC397_SET_VERTEX_STREAM_SUBSTITUTE_B                                                              0x0f88
1310 #define NVC397_SET_VERTEX_STREAM_SUBSTITUTE_B_ADDRESS_LOWER                                                  31:0
1311 
1312 #define NVC397_SET_LINE_MODE_POLYGON_CLIP                                                                  0x0f8c
1313 #define NVC397_SET_LINE_MODE_POLYGON_CLIP_GENERATED_EDGE                                                      0:0
1314 #define NVC397_SET_LINE_MODE_POLYGON_CLIP_GENERATED_EDGE_DRAW_LINE                                     0x00000000
1315 #define NVC397_SET_LINE_MODE_POLYGON_CLIP_GENERATED_EDGE_DO_NOT_DRAW_LINE                              0x00000001
1316 
1317 #define NVC397_SET_SINGLE_CT_WRITE_CONTROL                                                                 0x0f90
1318 #define NVC397_SET_SINGLE_CT_WRITE_CONTROL_ENABLE                                                             0:0
1319 #define NVC397_SET_SINGLE_CT_WRITE_CONTROL_ENABLE_FALSE                                                0x00000000
1320 #define NVC397_SET_SINGLE_CT_WRITE_CONTROL_ENABLE_TRUE                                                 0x00000001
1321 
1322 #define NVC397_SET_VTG_WARP_WATERMARKS                                                                     0x0f98
1323 #define NVC397_SET_VTG_WARP_WATERMARKS_LOW                                                                   15:0
1324 #define NVC397_SET_VTG_WARP_WATERMARKS_HIGH                                                                 31:16
1325 
1326 #define NVC397_SET_DEPTH_BOUNDS_MIN                                                                        0x0f9c
1327 #define NVC397_SET_DEPTH_BOUNDS_MIN_V                                                                        31:0
1328 
1329 #define NVC397_SET_DEPTH_BOUNDS_MAX                                                                        0x0fa0
1330 #define NVC397_SET_DEPTH_BOUNDS_MAX_V                                                                        31:0
1331 
1332 #define NVC397_SET_SAMPLE_MASK                                                                             0x0fa4
1333 #define NVC397_SET_SAMPLE_MASK_RASTER_OUT_ENABLE                                                              0:0
1334 #define NVC397_SET_SAMPLE_MASK_RASTER_OUT_ENABLE_FALSE                                                 0x00000000
1335 #define NVC397_SET_SAMPLE_MASK_RASTER_OUT_ENABLE_TRUE                                                  0x00000001
1336 #define NVC397_SET_SAMPLE_MASK_COLOR_TARGET_ENABLE                                                            4:4
1337 #define NVC397_SET_SAMPLE_MASK_COLOR_TARGET_ENABLE_FALSE                                               0x00000000
1338 #define NVC397_SET_SAMPLE_MASK_COLOR_TARGET_ENABLE_TRUE                                                0x00000001
1339 
1340 #define NVC397_SET_COLOR_TARGET_SAMPLE_MASK                                                                0x0fa8
1341 #define NVC397_SET_COLOR_TARGET_SAMPLE_MASK_V                                                                15:0
1342 
1343 #define NVC397_SET_CT_MRT_ENABLE                                                                           0x0fac
1344 #define NVC397_SET_CT_MRT_ENABLE_V                                                                            0:0
1345 #define NVC397_SET_CT_MRT_ENABLE_V_FALSE                                                               0x00000000
1346 #define NVC397_SET_CT_MRT_ENABLE_V_TRUE                                                                0x00000001
1347 
1348 #define NVC397_SET_NONMULTISAMPLED_Z                                                                       0x0fb0
1349 #define NVC397_SET_NONMULTISAMPLED_Z_V                                                                        0:0
1350 #define NVC397_SET_NONMULTISAMPLED_Z_V_PER_SAMPLE                                                      0x00000000
1351 #define NVC397_SET_NONMULTISAMPLED_Z_V_AT_PIXEL_CENTER                                                 0x00000001
1352 
1353 #define NVC397_SET_TIR                                                                                     0x0fb4
1354 #define NVC397_SET_TIR_MODE                                                                                   1:0
1355 #define NVC397_SET_TIR_MODE_DISABLED                                                                   0x00000000
1356 #define NVC397_SET_TIR_MODE_RASTER_N_TARGET_M                                                          0x00000001
1357 
1358 #define NVC397_SET_ANTI_ALIAS_RASTER                                                                       0x0fb8
1359 #define NVC397_SET_ANTI_ALIAS_RASTER_SAMPLES                                                                  2:0
1360 #define NVC397_SET_ANTI_ALIAS_RASTER_SAMPLES_MODE_1X1                                                  0x00000000
1361 #define NVC397_SET_ANTI_ALIAS_RASTER_SAMPLES_MODE_2X2                                                  0x00000002
1362 #define NVC397_SET_ANTI_ALIAS_RASTER_SAMPLES_MODE_4X2_D3D                                              0x00000004
1363 #define NVC397_SET_ANTI_ALIAS_RASTER_SAMPLES_MODE_2X1_D3D                                              0x00000005
1364 #define NVC397_SET_ANTI_ALIAS_RASTER_SAMPLES_MODE_4X4                                                  0x00000006
1365 
1366 #define NVC397_SET_SAMPLE_MASK_X0_Y0                                                                       0x0fbc
1367 #define NVC397_SET_SAMPLE_MASK_X0_Y0_V                                                                       15:0
1368 
1369 #define NVC397_SET_SAMPLE_MASK_X1_Y0                                                                       0x0fc0
1370 #define NVC397_SET_SAMPLE_MASK_X1_Y0_V                                                                       15:0
1371 
1372 #define NVC397_SET_SAMPLE_MASK_X0_Y1                                                                       0x0fc4
1373 #define NVC397_SET_SAMPLE_MASK_X0_Y1_V                                                                       15:0
1374 
1375 #define NVC397_SET_SAMPLE_MASK_X1_Y1                                                                       0x0fc8
1376 #define NVC397_SET_SAMPLE_MASK_X1_Y1_V                                                                       15:0
1377 
1378 #define NVC397_SET_SURFACE_CLIP_ID_MEMORY_A                                                                0x0fcc
1379 #define NVC397_SET_SURFACE_CLIP_ID_MEMORY_A_OFFSET_UPPER                                                      7:0
1380 
1381 #define NVC397_SET_SURFACE_CLIP_ID_MEMORY_B                                                                0x0fd0
1382 #define NVC397_SET_SURFACE_CLIP_ID_MEMORY_B_OFFSET_LOWER                                                     31:0
1383 
1384 #define NVC397_SET_TIR_MODULATION                                                                          0x0fd4
1385 #define NVC397_SET_TIR_MODULATION_COMPONENT_SELECT                                                            1:0
1386 #define NVC397_SET_TIR_MODULATION_COMPONENT_SELECT_NO_MODULATION                                       0x00000000
1387 #define NVC397_SET_TIR_MODULATION_COMPONENT_SELECT_MODULATE_RGB                                        0x00000001
1388 #define NVC397_SET_TIR_MODULATION_COMPONENT_SELECT_MODULATE_ALPHA_ONLY                                 0x00000002
1389 #define NVC397_SET_TIR_MODULATION_COMPONENT_SELECT_MODULATE_RGBA                                       0x00000003
1390 
1391 #define NVC397_SET_TIR_MODULATION_FUNCTION                                                                 0x0fd8
1392 #define NVC397_SET_TIR_MODULATION_FUNCTION_SELECT                                                             0:0
1393 #define NVC397_SET_TIR_MODULATION_FUNCTION_SELECT_LINEAR                                               0x00000000
1394 #define NVC397_SET_TIR_MODULATION_FUNCTION_SELECT_TABLE                                                0x00000001
1395 
1396 #define NVC397_SET_BLEND_OPT_CONTROL                                                                       0x0fdc
1397 #define NVC397_SET_BLEND_OPT_CONTROL_ALLOW_FLOAT_PIXEL_KILLS                                                  0:0
1398 #define NVC397_SET_BLEND_OPT_CONTROL_ALLOW_FLOAT_PIXEL_KILLS_FALSE                                     0x00000000
1399 #define NVC397_SET_BLEND_OPT_CONTROL_ALLOW_FLOAT_PIXEL_KILLS_TRUE                                      0x00000001
1400 
1401 #define NVC397_SET_ZT_A                                                                                    0x0fe0
1402 #define NVC397_SET_ZT_A_OFFSET_UPPER                                                                          7:0
1403 
1404 #define NVC397_SET_ZT_B                                                                                    0x0fe4
1405 #define NVC397_SET_ZT_B_OFFSET_LOWER                                                                         31:0
1406 
1407 #define NVC397_SET_ZT_FORMAT                                                                               0x0fe8
1408 #define NVC397_SET_ZT_FORMAT_V                                                                                4:0
1409 #define NVC397_SET_ZT_FORMAT_V_Z16                                                                     0x00000013
1410 #define NVC397_SET_ZT_FORMAT_V_Z24S8                                                                   0x00000014
1411 #define NVC397_SET_ZT_FORMAT_V_X8Z24                                                                   0x00000015
1412 #define NVC397_SET_ZT_FORMAT_V_S8Z24                                                                   0x00000016
1413 #define NVC397_SET_ZT_FORMAT_V_S8                                                                      0x00000017
1414 #define NVC397_SET_ZT_FORMAT_V_V8Z24                                                                   0x00000018
1415 #define NVC397_SET_ZT_FORMAT_V_ZF32                                                                    0x0000000A
1416 #define NVC397_SET_ZT_FORMAT_V_ZF32_X24S8                                                              0x00000019
1417 #define NVC397_SET_ZT_FORMAT_V_X8Z24_X16V8S8                                                           0x0000001D
1418 #define NVC397_SET_ZT_FORMAT_V_ZF32_X16V8X8                                                            0x0000001E
1419 #define NVC397_SET_ZT_FORMAT_V_ZF32_X16V8S8                                                            0x0000001F
1420 
1421 #define NVC397_SET_ZT_BLOCK_SIZE                                                                           0x0fec
1422 #define NVC397_SET_ZT_BLOCK_SIZE_WIDTH                                                                        3:0
1423 #define NVC397_SET_ZT_BLOCK_SIZE_WIDTH_ONE_GOB                                                         0x00000000
1424 #define NVC397_SET_ZT_BLOCK_SIZE_HEIGHT                                                                       7:4
1425 #define NVC397_SET_ZT_BLOCK_SIZE_HEIGHT_ONE_GOB                                                        0x00000000
1426 #define NVC397_SET_ZT_BLOCK_SIZE_HEIGHT_TWO_GOBS                                                       0x00000001
1427 #define NVC397_SET_ZT_BLOCK_SIZE_HEIGHT_FOUR_GOBS                                                      0x00000002
1428 #define NVC397_SET_ZT_BLOCK_SIZE_HEIGHT_EIGHT_GOBS                                                     0x00000003
1429 #define NVC397_SET_ZT_BLOCK_SIZE_HEIGHT_SIXTEEN_GOBS                                                   0x00000004
1430 #define NVC397_SET_ZT_BLOCK_SIZE_HEIGHT_THIRTYTWO_GOBS                                                 0x00000005
1431 #define NVC397_SET_ZT_BLOCK_SIZE_DEPTH                                                                       11:8
1432 #define NVC397_SET_ZT_BLOCK_SIZE_DEPTH_ONE_GOB                                                         0x00000000
1433 
1434 #define NVC397_SET_ZT_ARRAY_PITCH                                                                          0x0ff0
1435 #define NVC397_SET_ZT_ARRAY_PITCH_V                                                                          31:0
1436 
1437 #define NVC397_SET_SURFACE_CLIP_HORIZONTAL                                                                 0x0ff4
1438 #define NVC397_SET_SURFACE_CLIP_HORIZONTAL_X                                                                 15:0
1439 #define NVC397_SET_SURFACE_CLIP_HORIZONTAL_WIDTH                                                            31:16
1440 
1441 #define NVC397_SET_SURFACE_CLIP_VERTICAL                                                                   0x0ff8
1442 #define NVC397_SET_SURFACE_CLIP_VERTICAL_Y                                                                   15:0
1443 #define NVC397_SET_SURFACE_CLIP_VERTICAL_HEIGHT                                                             31:16
1444 
1445 #define NVC397_SET_L2_CACHE_CONTROL_FOR_VAF_REQUESTS                                                       0x1000
1446 #define NVC397_SET_L2_CACHE_CONTROL_FOR_VAF_REQUESTS_SYSTEM_MEMORY_VOLATILE                                   0:0
1447 #define NVC397_SET_L2_CACHE_CONTROL_FOR_VAF_REQUESTS_SYSTEM_MEMORY_VOLATILE_FALSE                      0x00000000
1448 #define NVC397_SET_L2_CACHE_CONTROL_FOR_VAF_REQUESTS_SYSTEM_MEMORY_VOLATILE_TRUE                       0x00000001
1449 #define NVC397_SET_L2_CACHE_CONTROL_FOR_VAF_REQUESTS_POLICY                                                   5:4
1450 #define NVC397_SET_L2_CACHE_CONTROL_FOR_VAF_REQUESTS_POLICY_EVICT_FIRST                                0x00000000
1451 #define NVC397_SET_L2_CACHE_CONTROL_FOR_VAF_REQUESTS_POLICY_EVICT_NORMAL                               0x00000001
1452 #define NVC397_SET_L2_CACHE_CONTROL_FOR_VAF_REQUESTS_POLICY_EVICT_LAST                                 0x00000002
1453 
1454 #define NVC397_SET_VIEWPORT_MULTICAST                                                                      0x1004
1455 #define NVC397_SET_VIEWPORT_MULTICAST_ORDER                                                                   0:0
1456 #define NVC397_SET_VIEWPORT_MULTICAST_ORDER_VIEWPORT_ORDER                                             0x00000000
1457 #define NVC397_SET_VIEWPORT_MULTICAST_ORDER_PRIMITIVE_ORDER                                            0x00000001
1458 
1459 #define NVC397_SET_TESSELLATION_CUT_HEIGHT                                                                 0x1008
1460 #define NVC397_SET_TESSELLATION_CUT_HEIGHT_V                                                                  4:0
1461 
1462 #define NVC397_SET_MAX_GS_INSTANCES_PER_TASK                                                               0x100c
1463 #define NVC397_SET_MAX_GS_INSTANCES_PER_TASK_V                                                               10:0
1464 
1465 #define NVC397_SET_MAX_GS_OUTPUT_VERTICES_PER_TASK                                                         0x1010
1466 #define NVC397_SET_MAX_GS_OUTPUT_VERTICES_PER_TASK_V                                                         15:0
1467 
1468 #define NVC397_SET_RESERVED_SW_METHOD00                                                                    0x1014
1469 #define NVC397_SET_RESERVED_SW_METHOD00_V                                                                    31:0
1470 
1471 #define NVC397_SET_GS_OUTPUT_CB_STORAGE_MULTIPLIER                                                         0x1018
1472 #define NVC397_SET_GS_OUTPUT_CB_STORAGE_MULTIPLIER_V                                                          9:0
1473 
1474 #define NVC397_SET_BETA_CB_STORAGE_CONSTRAINT                                                              0x101c
1475 #define NVC397_SET_BETA_CB_STORAGE_CONSTRAINT_ENABLE                                                          0:0
1476 #define NVC397_SET_BETA_CB_STORAGE_CONSTRAINT_ENABLE_FALSE                                             0x00000000
1477 #define NVC397_SET_BETA_CB_STORAGE_CONSTRAINT_ENABLE_TRUE                                              0x00000001
1478 
1479 #define NVC397_SET_TI_OUTPUT_CB_STORAGE_MULTIPLIER                                                         0x1020
1480 #define NVC397_SET_TI_OUTPUT_CB_STORAGE_MULTIPLIER_V                                                          9:0
1481 
1482 #define NVC397_SET_ALPHA_CB_STORAGE_CONSTRAINT                                                             0x1024
1483 #define NVC397_SET_ALPHA_CB_STORAGE_CONSTRAINT_ENABLE                                                         0:0
1484 #define NVC397_SET_ALPHA_CB_STORAGE_CONSTRAINT_ENABLE_FALSE                                            0x00000000
1485 #define NVC397_SET_ALPHA_CB_STORAGE_CONSTRAINT_ENABLE_TRUE                                             0x00000001
1486 
1487 #define NVC397_SET_RESERVED_SW_METHOD01                                                                    0x1028
1488 #define NVC397_SET_RESERVED_SW_METHOD01_V                                                                    31:0
1489 
1490 #define NVC397_SET_RESERVED_SW_METHOD02                                                                    0x102c
1491 #define NVC397_SET_RESERVED_SW_METHOD02_V                                                                    31:0
1492 
1493 #define NVC397_SET_TIR_MODULATION_COEFFICIENT_TABLE(i)                                             (0x1030+(i)*4)
1494 #define NVC397_SET_TIR_MODULATION_COEFFICIENT_TABLE_V0                                                        7:0
1495 #define NVC397_SET_TIR_MODULATION_COEFFICIENT_TABLE_V1                                                       15:8
1496 #define NVC397_SET_TIR_MODULATION_COEFFICIENT_TABLE_V2                                                      23:16
1497 #define NVC397_SET_TIR_MODULATION_COEFFICIENT_TABLE_V3                                                      31:24
1498 
1499 #define NVC397_SET_SPARE_NOOP01                                                                            0x1044
1500 #define NVC397_SET_SPARE_NOOP01_V                                                                            31:0
1501 
1502 #define NVC397_SET_SPARE_NOOP02                                                                            0x1048
1503 #define NVC397_SET_SPARE_NOOP02_V                                                                            31:0
1504 
1505 #define NVC397_SET_SPARE_NOOP03                                                                            0x104c
1506 #define NVC397_SET_SPARE_NOOP03_V                                                                            31:0
1507 
1508 #define NVC397_SET_SPARE_NOOP04                                                                            0x1050
1509 #define NVC397_SET_SPARE_NOOP04_V                                                                            31:0
1510 
1511 #define NVC397_SET_SPARE_NOOP05                                                                            0x1054
1512 #define NVC397_SET_SPARE_NOOP05_V                                                                            31:0
1513 
1514 #define NVC397_SET_SPARE_NOOP06                                                                            0x1058
1515 #define NVC397_SET_SPARE_NOOP06_V                                                                            31:0
1516 
1517 #define NVC397_SET_SPARE_NOOP07                                                                            0x105c
1518 #define NVC397_SET_SPARE_NOOP07_V                                                                            31:0
1519 
1520 #define NVC397_SET_SPARE_NOOP08                                                                            0x1060
1521 #define NVC397_SET_SPARE_NOOP08_V                                                                            31:0
1522 
1523 #define NVC397_SET_SPARE_NOOP09                                                                            0x1064
1524 #define NVC397_SET_SPARE_NOOP09_V                                                                            31:0
1525 
1526 #define NVC397_SET_SPARE_NOOP10                                                                            0x1068
1527 #define NVC397_SET_SPARE_NOOP10_V                                                                            31:0
1528 
1529 #define NVC397_SET_SPARE_NOOP11                                                                            0x106c
1530 #define NVC397_SET_SPARE_NOOP11_V                                                                            31:0
1531 
1532 #define NVC397_SET_SPARE_NOOP12                                                                            0x1070
1533 #define NVC397_SET_SPARE_NOOP12_V                                                                            31:0
1534 
1535 #define NVC397_SET_SPARE_NOOP13                                                                            0x1074
1536 #define NVC397_SET_SPARE_NOOP13_V                                                                            31:0
1537 
1538 #define NVC397_SET_SPARE_NOOP14                                                                            0x1078
1539 #define NVC397_SET_SPARE_NOOP14_V                                                                            31:0
1540 
1541 #define NVC397_SET_SPARE_NOOP15                                                                            0x107c
1542 #define NVC397_SET_SPARE_NOOP15_V                                                                            31:0
1543 
1544 #define NVC397_SET_RESERVED_SW_METHOD03                                                                    0x10b0
1545 #define NVC397_SET_RESERVED_SW_METHOD03_V                                                                    31:0
1546 
1547 #define NVC397_SET_RESERVED_SW_METHOD04                                                                    0x10b4
1548 #define NVC397_SET_RESERVED_SW_METHOD04_V                                                                    31:0
1549 
1550 #define NVC397_SET_RESERVED_SW_METHOD05                                                                    0x10b8
1551 #define NVC397_SET_RESERVED_SW_METHOD05_V                                                                    31:0
1552 
1553 #define NVC397_SET_RESERVED_SW_METHOD06                                                                    0x10bc
1554 #define NVC397_SET_RESERVED_SW_METHOD06_V                                                                    31:0
1555 
1556 #define NVC397_SET_RESERVED_SW_METHOD07                                                                    0x10c0
1557 #define NVC397_SET_RESERVED_SW_METHOD07_V                                                                    31:0
1558 
1559 #define NVC397_SET_RESERVED_SW_METHOD08                                                                    0x10c4
1560 #define NVC397_SET_RESERVED_SW_METHOD08_V                                                                    31:0
1561 
1562 #define NVC397_SET_RESERVED_SW_METHOD09                                                                    0x10c8
1563 #define NVC397_SET_RESERVED_SW_METHOD09_V                                                                    31:0
1564 
1565 #define NVC397_SET_REDUCE_COLOR_THRESHOLDS_UNORM8                                                          0x10cc
1566 #define NVC397_SET_REDUCE_COLOR_THRESHOLDS_UNORM8_ALL_COVERED_ALL_HIT_ONCE                                    7:0
1567 #define NVC397_SET_REDUCE_COLOR_THRESHOLDS_UNORM8_ALL_COVERED                                               23:16
1568 
1569 #define NVC397_SET_RESERVED_SW_METHOD10                                                                    0x10d0
1570 #define NVC397_SET_RESERVED_SW_METHOD10_V                                                                    31:0
1571 
1572 #define NVC397_SET_RESERVED_SW_METHOD11                                                                    0x10d4
1573 #define NVC397_SET_RESERVED_SW_METHOD11_V                                                                    31:0
1574 
1575 #define NVC397_SET_RESERVED_SW_METHOD12                                                                    0x10d8
1576 #define NVC397_SET_RESERVED_SW_METHOD12_V                                                                    31:0
1577 
1578 #define NVC397_SET_RESERVED_SW_METHOD13                                                                    0x10dc
1579 #define NVC397_SET_RESERVED_SW_METHOD13_V                                                                    31:0
1580 
1581 #define NVC397_SET_REDUCE_COLOR_THRESHOLDS_UNORM10                                                         0x10e0
1582 #define NVC397_SET_REDUCE_COLOR_THRESHOLDS_UNORM10_ALL_COVERED_ALL_HIT_ONCE                                   7:0
1583 #define NVC397_SET_REDUCE_COLOR_THRESHOLDS_UNORM10_ALL_COVERED                                              23:16
1584 
1585 #define NVC397_SET_REDUCE_COLOR_THRESHOLDS_UNORM16                                                         0x10e4
1586 #define NVC397_SET_REDUCE_COLOR_THRESHOLDS_UNORM16_ALL_COVERED_ALL_HIT_ONCE                                   7:0
1587 #define NVC397_SET_REDUCE_COLOR_THRESHOLDS_UNORM16_ALL_COVERED                                              23:16
1588 
1589 #define NVC397_SET_REDUCE_COLOR_THRESHOLDS_FP11                                                            0x10e8
1590 #define NVC397_SET_REDUCE_COLOR_THRESHOLDS_FP11_ALL_COVERED_ALL_HIT_ONCE                                      5:0
1591 #define NVC397_SET_REDUCE_COLOR_THRESHOLDS_FP11_ALL_COVERED                                                 21:16
1592 
1593 #define NVC397_SET_REDUCE_COLOR_THRESHOLDS_FP16                                                            0x10ec
1594 #define NVC397_SET_REDUCE_COLOR_THRESHOLDS_FP16_ALL_COVERED_ALL_HIT_ONCE                                      7:0
1595 #define NVC397_SET_REDUCE_COLOR_THRESHOLDS_FP16_ALL_COVERED                                                 23:16
1596 
1597 #define NVC397_SET_REDUCE_COLOR_THRESHOLDS_SRGB8                                                           0x10f0
1598 #define NVC397_SET_REDUCE_COLOR_THRESHOLDS_SRGB8_ALL_COVERED_ALL_HIT_ONCE                                     7:0
1599 #define NVC397_SET_REDUCE_COLOR_THRESHOLDS_SRGB8_ALL_COVERED                                                23:16
1600 
1601 #define NVC397_UNBIND_ALL                                                                                  0x10f4
1602 #define NVC397_UNBIND_ALL_CONSTANT_BUFFERS                                                                    8:8
1603 #define NVC397_UNBIND_ALL_CONSTANT_BUFFERS_FALSE                                                       0x00000000
1604 #define NVC397_UNBIND_ALL_CONSTANT_BUFFERS_TRUE                                                        0x00000001
1605 
1606 #define NVC397_SET_CLEAR_SURFACE_CONTROL                                                                   0x10f8
1607 #define NVC397_SET_CLEAR_SURFACE_CONTROL_RESPECT_STENCIL_MASK                                                 0:0
1608 #define NVC397_SET_CLEAR_SURFACE_CONTROL_RESPECT_STENCIL_MASK_FALSE                                    0x00000000
1609 #define NVC397_SET_CLEAR_SURFACE_CONTROL_RESPECT_STENCIL_MASK_TRUE                                     0x00000001
1610 #define NVC397_SET_CLEAR_SURFACE_CONTROL_USE_CLEAR_RECT                                                       4:4
1611 #define NVC397_SET_CLEAR_SURFACE_CONTROL_USE_CLEAR_RECT_FALSE                                          0x00000000
1612 #define NVC397_SET_CLEAR_SURFACE_CONTROL_USE_CLEAR_RECT_TRUE                                           0x00000001
1613 #define NVC397_SET_CLEAR_SURFACE_CONTROL_USE_SCISSOR0                                                         8:8
1614 #define NVC397_SET_CLEAR_SURFACE_CONTROL_USE_SCISSOR0_FALSE                                            0x00000000
1615 #define NVC397_SET_CLEAR_SURFACE_CONTROL_USE_SCISSOR0_TRUE                                             0x00000001
1616 #define NVC397_SET_CLEAR_SURFACE_CONTROL_USE_VIEWPORT_CLIP0                                                 12:12
1617 #define NVC397_SET_CLEAR_SURFACE_CONTROL_USE_VIEWPORT_CLIP0_FALSE                                      0x00000000
1618 #define NVC397_SET_CLEAR_SURFACE_CONTROL_USE_VIEWPORT_CLIP0_TRUE                                       0x00000001
1619 
1620 #define NVC397_SET_L2_CACHE_CONTROL_FOR_ROP_NONINTERLOCKED_READ_REQUESTS                                   0x10fc
1621 #define NVC397_SET_L2_CACHE_CONTROL_FOR_ROP_NONINTERLOCKED_READ_REQUESTS_POLICY                               5:4
1622 #define NVC397_SET_L2_CACHE_CONTROL_FOR_ROP_NONINTERLOCKED_READ_REQUESTS_POLICY_EVICT_FIRST             0x00000000
1623 #define NVC397_SET_L2_CACHE_CONTROL_FOR_ROP_NONINTERLOCKED_READ_REQUESTS_POLICY_EVICT_NORMAL             0x00000001
1624 #define NVC397_SET_L2_CACHE_CONTROL_FOR_ROP_NONINTERLOCKED_READ_REQUESTS_POLICY_EVICT_LAST             0x00000002
1625 
1626 #define NVC397_SET_RESERVED_SW_METHOD14                                                                    0x1100
1627 #define NVC397_SET_RESERVED_SW_METHOD14_V                                                                    31:0
1628 
1629 #define NVC397_SET_RESERVED_SW_METHOD15                                                                    0x1104
1630 #define NVC397_SET_RESERVED_SW_METHOD15_V                                                                    31:0
1631 
1632 #define NVC397_NO_OPERATION_DATA_HI                                                                        0x110c
1633 #define NVC397_NO_OPERATION_DATA_HI_V                                                                        31:0
1634 
1635 #define NVC397_SET_DEPTH_BIAS_CONTROL                                                                      0x1110
1636 #define NVC397_SET_DEPTH_BIAS_CONTROL_DEPTH_FORMAT_DEPENDENT                                                  0:0
1637 #define NVC397_SET_DEPTH_BIAS_CONTROL_DEPTH_FORMAT_DEPENDENT_FALSE                                     0x00000000
1638 #define NVC397_SET_DEPTH_BIAS_CONTROL_DEPTH_FORMAT_DEPENDENT_TRUE                                      0x00000001
1639 
1640 #define NVC397_PM_TRIGGER_END                                                                              0x1114
1641 #define NVC397_PM_TRIGGER_END_V                                                                              31:0
1642 
1643 #define NVC397_SET_VERTEX_ID_BASE                                                                          0x1118
1644 #define NVC397_SET_VERTEX_ID_BASE_V                                                                          31:0
1645 
1646 #define NVC397_SET_STENCIL_COMPRESSION                                                                     0x111c
1647 #define NVC397_SET_STENCIL_COMPRESSION_ENABLE                                                                 0:0
1648 #define NVC397_SET_STENCIL_COMPRESSION_ENABLE_FALSE                                                    0x00000000
1649 #define NVC397_SET_STENCIL_COMPRESSION_ENABLE_TRUE                                                     0x00000001
1650 
1651 #define NVC397_SET_DA_OUTPUT_ATTRIBUTE_SKIP_MASK_A(i)                                              (0x1120+(i)*4)
1652 #define NVC397_SET_DA_OUTPUT_ATTRIBUTE_SKIP_MASK_A_ATTRIBUTE0_COMP0                                           0:0
1653 #define NVC397_SET_DA_OUTPUT_ATTRIBUTE_SKIP_MASK_A_ATTRIBUTE0_COMP0_FALSE                              0x00000000
1654 #define NVC397_SET_DA_OUTPUT_ATTRIBUTE_SKIP_MASK_A_ATTRIBUTE0_COMP0_TRUE                               0x00000001
1655 #define NVC397_SET_DA_OUTPUT_ATTRIBUTE_SKIP_MASK_A_ATTRIBUTE0_COMP1                                           1:1
1656 #define NVC397_SET_DA_OUTPUT_ATTRIBUTE_SKIP_MASK_A_ATTRIBUTE0_COMP1_FALSE                              0x00000000
1657 #define NVC397_SET_DA_OUTPUT_ATTRIBUTE_SKIP_MASK_A_ATTRIBUTE0_COMP1_TRUE                               0x00000001
1658 #define NVC397_SET_DA_OUTPUT_ATTRIBUTE_SKIP_MASK_A_ATTRIBUTE0_COMP2                                           2:2
1659 #define NVC397_SET_DA_OUTPUT_ATTRIBUTE_SKIP_MASK_A_ATTRIBUTE0_COMP2_FALSE                              0x00000000
1660 #define NVC397_SET_DA_OUTPUT_ATTRIBUTE_SKIP_MASK_A_ATTRIBUTE0_COMP2_TRUE                               0x00000001
1661 #define NVC397_SET_DA_OUTPUT_ATTRIBUTE_SKIP_MASK_A_ATTRIBUTE0_COMP3                                           3:3
1662 #define NVC397_SET_DA_OUTPUT_ATTRIBUTE_SKIP_MASK_A_ATTRIBUTE0_COMP3_FALSE                              0x00000000
1663 #define NVC397_SET_DA_OUTPUT_ATTRIBUTE_SKIP_MASK_A_ATTRIBUTE0_COMP3_TRUE                               0x00000001
1664 #define NVC397_SET_DA_OUTPUT_ATTRIBUTE_SKIP_MASK_A_ATTRIBUTE1_COMP0                                           4:4
1665 #define NVC397_SET_DA_OUTPUT_ATTRIBUTE_SKIP_MASK_A_ATTRIBUTE1_COMP0_FALSE                              0x00000000
1666 #define NVC397_SET_DA_OUTPUT_ATTRIBUTE_SKIP_MASK_A_ATTRIBUTE1_COMP0_TRUE                               0x00000001
1667 #define NVC397_SET_DA_OUTPUT_ATTRIBUTE_SKIP_MASK_A_ATTRIBUTE1_COMP1                                           5:5
1668 #define NVC397_SET_DA_OUTPUT_ATTRIBUTE_SKIP_MASK_A_ATTRIBUTE1_COMP1_FALSE                              0x00000000
1669 #define NVC397_SET_DA_OUTPUT_ATTRIBUTE_SKIP_MASK_A_ATTRIBUTE1_COMP1_TRUE                               0x00000001
1670 #define NVC397_SET_DA_OUTPUT_ATTRIBUTE_SKIP_MASK_A_ATTRIBUTE1_COMP2                                           6:6
1671 #define NVC397_SET_DA_OUTPUT_ATTRIBUTE_SKIP_MASK_A_ATTRIBUTE1_COMP2_FALSE                              0x00000000
1672 #define NVC397_SET_DA_OUTPUT_ATTRIBUTE_SKIP_MASK_A_ATTRIBUTE1_COMP2_TRUE                               0x00000001
1673 #define NVC397_SET_DA_OUTPUT_ATTRIBUTE_SKIP_MASK_A_ATTRIBUTE1_COMP3                                           7:7
1674 #define NVC397_SET_DA_OUTPUT_ATTRIBUTE_SKIP_MASK_A_ATTRIBUTE1_COMP3_FALSE                              0x00000000
1675 #define NVC397_SET_DA_OUTPUT_ATTRIBUTE_SKIP_MASK_A_ATTRIBUTE1_COMP3_TRUE                               0x00000001
1676 #define NVC397_SET_DA_OUTPUT_ATTRIBUTE_SKIP_MASK_A_ATTRIBUTE2_COMP0                                           8:8
1677 #define NVC397_SET_DA_OUTPUT_ATTRIBUTE_SKIP_MASK_A_ATTRIBUTE2_COMP0_FALSE                              0x00000000
1678 #define NVC397_SET_DA_OUTPUT_ATTRIBUTE_SKIP_MASK_A_ATTRIBUTE2_COMP0_TRUE                               0x00000001
1679 #define NVC397_SET_DA_OUTPUT_ATTRIBUTE_SKIP_MASK_A_ATTRIBUTE2_COMP1                                           9:9
1680 #define NVC397_SET_DA_OUTPUT_ATTRIBUTE_SKIP_MASK_A_ATTRIBUTE2_COMP1_FALSE                              0x00000000
1681 #define NVC397_SET_DA_OUTPUT_ATTRIBUTE_SKIP_MASK_A_ATTRIBUTE2_COMP1_TRUE                               0x00000001
1682 #define NVC397_SET_DA_OUTPUT_ATTRIBUTE_SKIP_MASK_A_ATTRIBUTE2_COMP2                                         10:10
1683 #define NVC397_SET_DA_OUTPUT_ATTRIBUTE_SKIP_MASK_A_ATTRIBUTE2_COMP2_FALSE                              0x00000000
1684 #define NVC397_SET_DA_OUTPUT_ATTRIBUTE_SKIP_MASK_A_ATTRIBUTE2_COMP2_TRUE                               0x00000001
1685 #define NVC397_SET_DA_OUTPUT_ATTRIBUTE_SKIP_MASK_A_ATTRIBUTE2_COMP3                                         11:11
1686 #define NVC397_SET_DA_OUTPUT_ATTRIBUTE_SKIP_MASK_A_ATTRIBUTE2_COMP3_FALSE                              0x00000000
1687 #define NVC397_SET_DA_OUTPUT_ATTRIBUTE_SKIP_MASK_A_ATTRIBUTE2_COMP3_TRUE                               0x00000001
1688 #define NVC397_SET_DA_OUTPUT_ATTRIBUTE_SKIP_MASK_A_ATTRIBUTE3_COMP0                                         12:12
1689 #define NVC397_SET_DA_OUTPUT_ATTRIBUTE_SKIP_MASK_A_ATTRIBUTE3_COMP0_FALSE                              0x00000000
1690 #define NVC397_SET_DA_OUTPUT_ATTRIBUTE_SKIP_MASK_A_ATTRIBUTE3_COMP0_TRUE                               0x00000001
1691 #define NVC397_SET_DA_OUTPUT_ATTRIBUTE_SKIP_MASK_A_ATTRIBUTE3_COMP1                                         13:13
1692 #define NVC397_SET_DA_OUTPUT_ATTRIBUTE_SKIP_MASK_A_ATTRIBUTE3_COMP1_FALSE                              0x00000000
1693 #define NVC397_SET_DA_OUTPUT_ATTRIBUTE_SKIP_MASK_A_ATTRIBUTE3_COMP1_TRUE                               0x00000001
1694 #define NVC397_SET_DA_OUTPUT_ATTRIBUTE_SKIP_MASK_A_ATTRIBUTE3_COMP2                                         14:14
1695 #define NVC397_SET_DA_OUTPUT_ATTRIBUTE_SKIP_MASK_A_ATTRIBUTE3_COMP2_FALSE                              0x00000000
1696 #define NVC397_SET_DA_OUTPUT_ATTRIBUTE_SKIP_MASK_A_ATTRIBUTE3_COMP2_TRUE                               0x00000001
1697 #define NVC397_SET_DA_OUTPUT_ATTRIBUTE_SKIP_MASK_A_ATTRIBUTE3_COMP3                                         15:15
1698 #define NVC397_SET_DA_OUTPUT_ATTRIBUTE_SKIP_MASK_A_ATTRIBUTE3_COMP3_FALSE                              0x00000000
1699 #define NVC397_SET_DA_OUTPUT_ATTRIBUTE_SKIP_MASK_A_ATTRIBUTE3_COMP3_TRUE                               0x00000001
1700 #define NVC397_SET_DA_OUTPUT_ATTRIBUTE_SKIP_MASK_A_ATTRIBUTE4_COMP0                                         16:16
1701 #define NVC397_SET_DA_OUTPUT_ATTRIBUTE_SKIP_MASK_A_ATTRIBUTE4_COMP0_FALSE                              0x00000000
1702 #define NVC397_SET_DA_OUTPUT_ATTRIBUTE_SKIP_MASK_A_ATTRIBUTE4_COMP0_TRUE                               0x00000001
1703 #define NVC397_SET_DA_OUTPUT_ATTRIBUTE_SKIP_MASK_A_ATTRIBUTE4_COMP1                                         17:17
1704 #define NVC397_SET_DA_OUTPUT_ATTRIBUTE_SKIP_MASK_A_ATTRIBUTE4_COMP1_FALSE                              0x00000000
1705 #define NVC397_SET_DA_OUTPUT_ATTRIBUTE_SKIP_MASK_A_ATTRIBUTE4_COMP1_TRUE                               0x00000001
1706 #define NVC397_SET_DA_OUTPUT_ATTRIBUTE_SKIP_MASK_A_ATTRIBUTE4_COMP2                                         18:18
1707 #define NVC397_SET_DA_OUTPUT_ATTRIBUTE_SKIP_MASK_A_ATTRIBUTE4_COMP2_FALSE                              0x00000000
1708 #define NVC397_SET_DA_OUTPUT_ATTRIBUTE_SKIP_MASK_A_ATTRIBUTE4_COMP2_TRUE                               0x00000001
1709 #define NVC397_SET_DA_OUTPUT_ATTRIBUTE_SKIP_MASK_A_ATTRIBUTE4_COMP3                                         19:19
1710 #define NVC397_SET_DA_OUTPUT_ATTRIBUTE_SKIP_MASK_A_ATTRIBUTE4_COMP3_FALSE                              0x00000000
1711 #define NVC397_SET_DA_OUTPUT_ATTRIBUTE_SKIP_MASK_A_ATTRIBUTE4_COMP3_TRUE                               0x00000001
1712 #define NVC397_SET_DA_OUTPUT_ATTRIBUTE_SKIP_MASK_A_ATTRIBUTE5_COMP0                                         20:20
1713 #define NVC397_SET_DA_OUTPUT_ATTRIBUTE_SKIP_MASK_A_ATTRIBUTE5_COMP0_FALSE                              0x00000000
1714 #define NVC397_SET_DA_OUTPUT_ATTRIBUTE_SKIP_MASK_A_ATTRIBUTE5_COMP0_TRUE                               0x00000001
1715 #define NVC397_SET_DA_OUTPUT_ATTRIBUTE_SKIP_MASK_A_ATTRIBUTE5_COMP1                                         21:21
1716 #define NVC397_SET_DA_OUTPUT_ATTRIBUTE_SKIP_MASK_A_ATTRIBUTE5_COMP1_FALSE                              0x00000000
1717 #define NVC397_SET_DA_OUTPUT_ATTRIBUTE_SKIP_MASK_A_ATTRIBUTE5_COMP1_TRUE                               0x00000001
1718 #define NVC397_SET_DA_OUTPUT_ATTRIBUTE_SKIP_MASK_A_ATTRIBUTE5_COMP2                                         22:22
1719 #define NVC397_SET_DA_OUTPUT_ATTRIBUTE_SKIP_MASK_A_ATTRIBUTE5_COMP2_FALSE                              0x00000000
1720 #define NVC397_SET_DA_OUTPUT_ATTRIBUTE_SKIP_MASK_A_ATTRIBUTE5_COMP2_TRUE                               0x00000001
1721 #define NVC397_SET_DA_OUTPUT_ATTRIBUTE_SKIP_MASK_A_ATTRIBUTE5_COMP3                                         23:23
1722 #define NVC397_SET_DA_OUTPUT_ATTRIBUTE_SKIP_MASK_A_ATTRIBUTE5_COMP3_FALSE                              0x00000000
1723 #define NVC397_SET_DA_OUTPUT_ATTRIBUTE_SKIP_MASK_A_ATTRIBUTE5_COMP3_TRUE                               0x00000001
1724 #define NVC397_SET_DA_OUTPUT_ATTRIBUTE_SKIP_MASK_A_ATTRIBUTE6_COMP0                                         24:24
1725 #define NVC397_SET_DA_OUTPUT_ATTRIBUTE_SKIP_MASK_A_ATTRIBUTE6_COMP0_FALSE                              0x00000000
1726 #define NVC397_SET_DA_OUTPUT_ATTRIBUTE_SKIP_MASK_A_ATTRIBUTE6_COMP0_TRUE                               0x00000001
1727 #define NVC397_SET_DA_OUTPUT_ATTRIBUTE_SKIP_MASK_A_ATTRIBUTE6_COMP1                                         25:25
1728 #define NVC397_SET_DA_OUTPUT_ATTRIBUTE_SKIP_MASK_A_ATTRIBUTE6_COMP1_FALSE                              0x00000000
1729 #define NVC397_SET_DA_OUTPUT_ATTRIBUTE_SKIP_MASK_A_ATTRIBUTE6_COMP1_TRUE                               0x00000001
1730 #define NVC397_SET_DA_OUTPUT_ATTRIBUTE_SKIP_MASK_A_ATTRIBUTE6_COMP2                                         26:26
1731 #define NVC397_SET_DA_OUTPUT_ATTRIBUTE_SKIP_MASK_A_ATTRIBUTE6_COMP2_FALSE                              0x00000000
1732 #define NVC397_SET_DA_OUTPUT_ATTRIBUTE_SKIP_MASK_A_ATTRIBUTE6_COMP2_TRUE                               0x00000001
1733 #define NVC397_SET_DA_OUTPUT_ATTRIBUTE_SKIP_MASK_A_ATTRIBUTE6_COMP3                                         27:27
1734 #define NVC397_SET_DA_OUTPUT_ATTRIBUTE_SKIP_MASK_A_ATTRIBUTE6_COMP3_FALSE                              0x00000000
1735 #define NVC397_SET_DA_OUTPUT_ATTRIBUTE_SKIP_MASK_A_ATTRIBUTE6_COMP3_TRUE                               0x00000001
1736 #define NVC397_SET_DA_OUTPUT_ATTRIBUTE_SKIP_MASK_A_ATTRIBUTE7_COMP0                                         28:28
1737 #define NVC397_SET_DA_OUTPUT_ATTRIBUTE_SKIP_MASK_A_ATTRIBUTE7_COMP0_FALSE                              0x00000000
1738 #define NVC397_SET_DA_OUTPUT_ATTRIBUTE_SKIP_MASK_A_ATTRIBUTE7_COMP0_TRUE                               0x00000001
1739 #define NVC397_SET_DA_OUTPUT_ATTRIBUTE_SKIP_MASK_A_ATTRIBUTE7_COMP1                                         29:29
1740 #define NVC397_SET_DA_OUTPUT_ATTRIBUTE_SKIP_MASK_A_ATTRIBUTE7_COMP1_FALSE                              0x00000000
1741 #define NVC397_SET_DA_OUTPUT_ATTRIBUTE_SKIP_MASK_A_ATTRIBUTE7_COMP1_TRUE                               0x00000001
1742 #define NVC397_SET_DA_OUTPUT_ATTRIBUTE_SKIP_MASK_A_ATTRIBUTE7_COMP2                                         30:30
1743 #define NVC397_SET_DA_OUTPUT_ATTRIBUTE_SKIP_MASK_A_ATTRIBUTE7_COMP2_FALSE                              0x00000000
1744 #define NVC397_SET_DA_OUTPUT_ATTRIBUTE_SKIP_MASK_A_ATTRIBUTE7_COMP2_TRUE                               0x00000001
1745 #define NVC397_SET_DA_OUTPUT_ATTRIBUTE_SKIP_MASK_A_ATTRIBUTE7_COMP3                                         31:31
1746 #define NVC397_SET_DA_OUTPUT_ATTRIBUTE_SKIP_MASK_A_ATTRIBUTE7_COMP3_FALSE                              0x00000000
1747 #define NVC397_SET_DA_OUTPUT_ATTRIBUTE_SKIP_MASK_A_ATTRIBUTE7_COMP3_TRUE                               0x00000001
1748 
1749 #define NVC397_SET_DA_OUTPUT_ATTRIBUTE_SKIP_MASK_B(i)                                              (0x1128+(i)*4)
1750 #define NVC397_SET_DA_OUTPUT_ATTRIBUTE_SKIP_MASK_B_ATTRIBUTE0_COMP0                                           0:0
1751 #define NVC397_SET_DA_OUTPUT_ATTRIBUTE_SKIP_MASK_B_ATTRIBUTE0_COMP0_FALSE                              0x00000000
1752 #define NVC397_SET_DA_OUTPUT_ATTRIBUTE_SKIP_MASK_B_ATTRIBUTE0_COMP0_TRUE                               0x00000001
1753 #define NVC397_SET_DA_OUTPUT_ATTRIBUTE_SKIP_MASK_B_ATTRIBUTE0_COMP1                                           1:1
1754 #define NVC397_SET_DA_OUTPUT_ATTRIBUTE_SKIP_MASK_B_ATTRIBUTE0_COMP1_FALSE                              0x00000000
1755 #define NVC397_SET_DA_OUTPUT_ATTRIBUTE_SKIP_MASK_B_ATTRIBUTE0_COMP1_TRUE                               0x00000001
1756 #define NVC397_SET_DA_OUTPUT_ATTRIBUTE_SKIP_MASK_B_ATTRIBUTE0_COMP2                                           2:2
1757 #define NVC397_SET_DA_OUTPUT_ATTRIBUTE_SKIP_MASK_B_ATTRIBUTE0_COMP2_FALSE                              0x00000000
1758 #define NVC397_SET_DA_OUTPUT_ATTRIBUTE_SKIP_MASK_B_ATTRIBUTE0_COMP2_TRUE                               0x00000001
1759 #define NVC397_SET_DA_OUTPUT_ATTRIBUTE_SKIP_MASK_B_ATTRIBUTE0_COMP3                                           3:3
1760 #define NVC397_SET_DA_OUTPUT_ATTRIBUTE_SKIP_MASK_B_ATTRIBUTE0_COMP3_FALSE                              0x00000000
1761 #define NVC397_SET_DA_OUTPUT_ATTRIBUTE_SKIP_MASK_B_ATTRIBUTE0_COMP3_TRUE                               0x00000001
1762 #define NVC397_SET_DA_OUTPUT_ATTRIBUTE_SKIP_MASK_B_ATTRIBUTE1_COMP0                                           4:4
1763 #define NVC397_SET_DA_OUTPUT_ATTRIBUTE_SKIP_MASK_B_ATTRIBUTE1_COMP0_FALSE                              0x00000000
1764 #define NVC397_SET_DA_OUTPUT_ATTRIBUTE_SKIP_MASK_B_ATTRIBUTE1_COMP0_TRUE                               0x00000001
1765 #define NVC397_SET_DA_OUTPUT_ATTRIBUTE_SKIP_MASK_B_ATTRIBUTE1_COMP1                                           5:5
1766 #define NVC397_SET_DA_OUTPUT_ATTRIBUTE_SKIP_MASK_B_ATTRIBUTE1_COMP1_FALSE                              0x00000000
1767 #define NVC397_SET_DA_OUTPUT_ATTRIBUTE_SKIP_MASK_B_ATTRIBUTE1_COMP1_TRUE                               0x00000001
1768 #define NVC397_SET_DA_OUTPUT_ATTRIBUTE_SKIP_MASK_B_ATTRIBUTE1_COMP2                                           6:6
1769 #define NVC397_SET_DA_OUTPUT_ATTRIBUTE_SKIP_MASK_B_ATTRIBUTE1_COMP2_FALSE                              0x00000000
1770 #define NVC397_SET_DA_OUTPUT_ATTRIBUTE_SKIP_MASK_B_ATTRIBUTE1_COMP2_TRUE                               0x00000001
1771 #define NVC397_SET_DA_OUTPUT_ATTRIBUTE_SKIP_MASK_B_ATTRIBUTE1_COMP3                                           7:7
1772 #define NVC397_SET_DA_OUTPUT_ATTRIBUTE_SKIP_MASK_B_ATTRIBUTE1_COMP3_FALSE                              0x00000000
1773 #define NVC397_SET_DA_OUTPUT_ATTRIBUTE_SKIP_MASK_B_ATTRIBUTE1_COMP3_TRUE                               0x00000001
1774 #define NVC397_SET_DA_OUTPUT_ATTRIBUTE_SKIP_MASK_B_ATTRIBUTE2_COMP0                                           8:8
1775 #define NVC397_SET_DA_OUTPUT_ATTRIBUTE_SKIP_MASK_B_ATTRIBUTE2_COMP0_FALSE                              0x00000000
1776 #define NVC397_SET_DA_OUTPUT_ATTRIBUTE_SKIP_MASK_B_ATTRIBUTE2_COMP0_TRUE                               0x00000001
1777 #define NVC397_SET_DA_OUTPUT_ATTRIBUTE_SKIP_MASK_B_ATTRIBUTE2_COMP1                                           9:9
1778 #define NVC397_SET_DA_OUTPUT_ATTRIBUTE_SKIP_MASK_B_ATTRIBUTE2_COMP1_FALSE                              0x00000000
1779 #define NVC397_SET_DA_OUTPUT_ATTRIBUTE_SKIP_MASK_B_ATTRIBUTE2_COMP1_TRUE                               0x00000001
1780 #define NVC397_SET_DA_OUTPUT_ATTRIBUTE_SKIP_MASK_B_ATTRIBUTE2_COMP2                                         10:10
1781 #define NVC397_SET_DA_OUTPUT_ATTRIBUTE_SKIP_MASK_B_ATTRIBUTE2_COMP2_FALSE                              0x00000000
1782 #define NVC397_SET_DA_OUTPUT_ATTRIBUTE_SKIP_MASK_B_ATTRIBUTE2_COMP2_TRUE                               0x00000001
1783 #define NVC397_SET_DA_OUTPUT_ATTRIBUTE_SKIP_MASK_B_ATTRIBUTE2_COMP3                                         11:11
1784 #define NVC397_SET_DA_OUTPUT_ATTRIBUTE_SKIP_MASK_B_ATTRIBUTE2_COMP3_FALSE                              0x00000000
1785 #define NVC397_SET_DA_OUTPUT_ATTRIBUTE_SKIP_MASK_B_ATTRIBUTE2_COMP3_TRUE                               0x00000001
1786 #define NVC397_SET_DA_OUTPUT_ATTRIBUTE_SKIP_MASK_B_ATTRIBUTE3_COMP0                                         12:12
1787 #define NVC397_SET_DA_OUTPUT_ATTRIBUTE_SKIP_MASK_B_ATTRIBUTE3_COMP0_FALSE                              0x00000000
1788 #define NVC397_SET_DA_OUTPUT_ATTRIBUTE_SKIP_MASK_B_ATTRIBUTE3_COMP0_TRUE                               0x00000001
1789 #define NVC397_SET_DA_OUTPUT_ATTRIBUTE_SKIP_MASK_B_ATTRIBUTE3_COMP1                                         13:13
1790 #define NVC397_SET_DA_OUTPUT_ATTRIBUTE_SKIP_MASK_B_ATTRIBUTE3_COMP1_FALSE                              0x00000000
1791 #define NVC397_SET_DA_OUTPUT_ATTRIBUTE_SKIP_MASK_B_ATTRIBUTE3_COMP1_TRUE                               0x00000001
1792 #define NVC397_SET_DA_OUTPUT_ATTRIBUTE_SKIP_MASK_B_ATTRIBUTE3_COMP2                                         14:14
1793 #define NVC397_SET_DA_OUTPUT_ATTRIBUTE_SKIP_MASK_B_ATTRIBUTE3_COMP2_FALSE                              0x00000000
1794 #define NVC397_SET_DA_OUTPUT_ATTRIBUTE_SKIP_MASK_B_ATTRIBUTE3_COMP2_TRUE                               0x00000001
1795 #define NVC397_SET_DA_OUTPUT_ATTRIBUTE_SKIP_MASK_B_ATTRIBUTE3_COMP3                                         15:15
1796 #define NVC397_SET_DA_OUTPUT_ATTRIBUTE_SKIP_MASK_B_ATTRIBUTE3_COMP3_FALSE                              0x00000000
1797 #define NVC397_SET_DA_OUTPUT_ATTRIBUTE_SKIP_MASK_B_ATTRIBUTE3_COMP3_TRUE                               0x00000001
1798 #define NVC397_SET_DA_OUTPUT_ATTRIBUTE_SKIP_MASK_B_ATTRIBUTE4_COMP0                                         16:16
1799 #define NVC397_SET_DA_OUTPUT_ATTRIBUTE_SKIP_MASK_B_ATTRIBUTE4_COMP0_FALSE                              0x00000000
1800 #define NVC397_SET_DA_OUTPUT_ATTRIBUTE_SKIP_MASK_B_ATTRIBUTE4_COMP0_TRUE                               0x00000001
1801 #define NVC397_SET_DA_OUTPUT_ATTRIBUTE_SKIP_MASK_B_ATTRIBUTE4_COMP1                                         17:17
1802 #define NVC397_SET_DA_OUTPUT_ATTRIBUTE_SKIP_MASK_B_ATTRIBUTE4_COMP1_FALSE                              0x00000000
1803 #define NVC397_SET_DA_OUTPUT_ATTRIBUTE_SKIP_MASK_B_ATTRIBUTE4_COMP1_TRUE                               0x00000001
1804 #define NVC397_SET_DA_OUTPUT_ATTRIBUTE_SKIP_MASK_B_ATTRIBUTE4_COMP2                                         18:18
1805 #define NVC397_SET_DA_OUTPUT_ATTRIBUTE_SKIP_MASK_B_ATTRIBUTE4_COMP2_FALSE                              0x00000000
1806 #define NVC397_SET_DA_OUTPUT_ATTRIBUTE_SKIP_MASK_B_ATTRIBUTE4_COMP2_TRUE                               0x00000001
1807 #define NVC397_SET_DA_OUTPUT_ATTRIBUTE_SKIP_MASK_B_ATTRIBUTE4_COMP3                                         19:19
1808 #define NVC397_SET_DA_OUTPUT_ATTRIBUTE_SKIP_MASK_B_ATTRIBUTE4_COMP3_FALSE                              0x00000000
1809 #define NVC397_SET_DA_OUTPUT_ATTRIBUTE_SKIP_MASK_B_ATTRIBUTE4_COMP3_TRUE                               0x00000001
1810 #define NVC397_SET_DA_OUTPUT_ATTRIBUTE_SKIP_MASK_B_ATTRIBUTE5_COMP0                                         20:20
1811 #define NVC397_SET_DA_OUTPUT_ATTRIBUTE_SKIP_MASK_B_ATTRIBUTE5_COMP0_FALSE                              0x00000000
1812 #define NVC397_SET_DA_OUTPUT_ATTRIBUTE_SKIP_MASK_B_ATTRIBUTE5_COMP0_TRUE                               0x00000001
1813 #define NVC397_SET_DA_OUTPUT_ATTRIBUTE_SKIP_MASK_B_ATTRIBUTE5_COMP1                                         21:21
1814 #define NVC397_SET_DA_OUTPUT_ATTRIBUTE_SKIP_MASK_B_ATTRIBUTE5_COMP1_FALSE                              0x00000000
1815 #define NVC397_SET_DA_OUTPUT_ATTRIBUTE_SKIP_MASK_B_ATTRIBUTE5_COMP1_TRUE                               0x00000001
1816 #define NVC397_SET_DA_OUTPUT_ATTRIBUTE_SKIP_MASK_B_ATTRIBUTE5_COMP2                                         22:22
1817 #define NVC397_SET_DA_OUTPUT_ATTRIBUTE_SKIP_MASK_B_ATTRIBUTE5_COMP2_FALSE                              0x00000000
1818 #define NVC397_SET_DA_OUTPUT_ATTRIBUTE_SKIP_MASK_B_ATTRIBUTE5_COMP2_TRUE                               0x00000001
1819 #define NVC397_SET_DA_OUTPUT_ATTRIBUTE_SKIP_MASK_B_ATTRIBUTE5_COMP3                                         23:23
1820 #define NVC397_SET_DA_OUTPUT_ATTRIBUTE_SKIP_MASK_B_ATTRIBUTE5_COMP3_FALSE                              0x00000000
1821 #define NVC397_SET_DA_OUTPUT_ATTRIBUTE_SKIP_MASK_B_ATTRIBUTE5_COMP3_TRUE                               0x00000001
1822 #define NVC397_SET_DA_OUTPUT_ATTRIBUTE_SKIP_MASK_B_ATTRIBUTE6_COMP0                                         24:24
1823 #define NVC397_SET_DA_OUTPUT_ATTRIBUTE_SKIP_MASK_B_ATTRIBUTE6_COMP0_FALSE                              0x00000000
1824 #define NVC397_SET_DA_OUTPUT_ATTRIBUTE_SKIP_MASK_B_ATTRIBUTE6_COMP0_TRUE                               0x00000001
1825 #define NVC397_SET_DA_OUTPUT_ATTRIBUTE_SKIP_MASK_B_ATTRIBUTE6_COMP1                                         25:25
1826 #define NVC397_SET_DA_OUTPUT_ATTRIBUTE_SKIP_MASK_B_ATTRIBUTE6_COMP1_FALSE                              0x00000000
1827 #define NVC397_SET_DA_OUTPUT_ATTRIBUTE_SKIP_MASK_B_ATTRIBUTE6_COMP1_TRUE                               0x00000001
1828 #define NVC397_SET_DA_OUTPUT_ATTRIBUTE_SKIP_MASK_B_ATTRIBUTE6_COMP2                                         26:26
1829 #define NVC397_SET_DA_OUTPUT_ATTRIBUTE_SKIP_MASK_B_ATTRIBUTE6_COMP2_FALSE                              0x00000000
1830 #define NVC397_SET_DA_OUTPUT_ATTRIBUTE_SKIP_MASK_B_ATTRIBUTE6_COMP2_TRUE                               0x00000001
1831 #define NVC397_SET_DA_OUTPUT_ATTRIBUTE_SKIP_MASK_B_ATTRIBUTE6_COMP3                                         27:27
1832 #define NVC397_SET_DA_OUTPUT_ATTRIBUTE_SKIP_MASK_B_ATTRIBUTE6_COMP3_FALSE                              0x00000000
1833 #define NVC397_SET_DA_OUTPUT_ATTRIBUTE_SKIP_MASK_B_ATTRIBUTE6_COMP3_TRUE                               0x00000001
1834 #define NVC397_SET_DA_OUTPUT_ATTRIBUTE_SKIP_MASK_B_ATTRIBUTE7_COMP0                                         28:28
1835 #define NVC397_SET_DA_OUTPUT_ATTRIBUTE_SKIP_MASK_B_ATTRIBUTE7_COMP0_FALSE                              0x00000000
1836 #define NVC397_SET_DA_OUTPUT_ATTRIBUTE_SKIP_MASK_B_ATTRIBUTE7_COMP0_TRUE                               0x00000001
1837 #define NVC397_SET_DA_OUTPUT_ATTRIBUTE_SKIP_MASK_B_ATTRIBUTE7_COMP1                                         29:29
1838 #define NVC397_SET_DA_OUTPUT_ATTRIBUTE_SKIP_MASK_B_ATTRIBUTE7_COMP1_FALSE                              0x00000000
1839 #define NVC397_SET_DA_OUTPUT_ATTRIBUTE_SKIP_MASK_B_ATTRIBUTE7_COMP1_TRUE                               0x00000001
1840 #define NVC397_SET_DA_OUTPUT_ATTRIBUTE_SKIP_MASK_B_ATTRIBUTE7_COMP2                                         30:30
1841 #define NVC397_SET_DA_OUTPUT_ATTRIBUTE_SKIP_MASK_B_ATTRIBUTE7_COMP2_FALSE                              0x00000000
1842 #define NVC397_SET_DA_OUTPUT_ATTRIBUTE_SKIP_MASK_B_ATTRIBUTE7_COMP2_TRUE                               0x00000001
1843 #define NVC397_SET_DA_OUTPUT_ATTRIBUTE_SKIP_MASK_B_ATTRIBUTE7_COMP3                                         31:31
1844 #define NVC397_SET_DA_OUTPUT_ATTRIBUTE_SKIP_MASK_B_ATTRIBUTE7_COMP3_FALSE                              0x00000000
1845 #define NVC397_SET_DA_OUTPUT_ATTRIBUTE_SKIP_MASK_B_ATTRIBUTE7_COMP3_TRUE                               0x00000001
1846 
1847 #define NVC397_SET_TIR_CONTROL                                                                             0x1130
1848 #define NVC397_SET_TIR_CONTROL_Z_PASS_PIXEL_COUNT_USE_RASTER_SAMPLES                                          0:0
1849 #define NVC397_SET_TIR_CONTROL_Z_PASS_PIXEL_COUNT_USE_RASTER_SAMPLES_DISABLE                           0x00000000
1850 #define NVC397_SET_TIR_CONTROL_Z_PASS_PIXEL_COUNT_USE_RASTER_SAMPLES_ENABLE                            0x00000001
1851 #define NVC397_SET_TIR_CONTROL_ALPHA_TO_COVERAGE_USE_RASTER_SAMPLES                                           4:4
1852 #define NVC397_SET_TIR_CONTROL_ALPHA_TO_COVERAGE_USE_RASTER_SAMPLES_DISABLE                            0x00000000
1853 #define NVC397_SET_TIR_CONTROL_ALPHA_TO_COVERAGE_USE_RASTER_SAMPLES_ENABLE                             0x00000001
1854 #define NVC397_SET_TIR_CONTROL_REDUCE_COVERAGE                                                                1:1
1855 #define NVC397_SET_TIR_CONTROL_REDUCE_COVERAGE_DISABLE                                                 0x00000000
1856 #define NVC397_SET_TIR_CONTROL_REDUCE_COVERAGE_ENABLE                                                  0x00000001
1857 
1858 #define NVC397_SET_MUTABLE_METHOD_CONTROL                                                                  0x1134
1859 #define NVC397_SET_MUTABLE_METHOD_CONTROL_TREAT_MUTABLE_AS_HEAVYWEIGHT                                        0:0
1860 #define NVC397_SET_MUTABLE_METHOD_CONTROL_TREAT_MUTABLE_AS_HEAVYWEIGHT_FALSE                           0x00000000
1861 #define NVC397_SET_MUTABLE_METHOD_CONTROL_TREAT_MUTABLE_AS_HEAVYWEIGHT_TRUE                            0x00000001
1862 
1863 #define NVC397_SET_POST_PS_INITIAL_COVERAGE                                                                0x1138
1864 #define NVC397_SET_POST_PS_INITIAL_COVERAGE_USE_PRE_PS_COVERAGE                                               0:0
1865 #define NVC397_SET_POST_PS_INITIAL_COVERAGE_USE_PRE_PS_COVERAGE_FALSE                                  0x00000000
1866 #define NVC397_SET_POST_PS_INITIAL_COVERAGE_USE_PRE_PS_COVERAGE_TRUE                                   0x00000001
1867 
1868 #define NVC397_SET_FILL_VIA_TRIANGLE                                                                       0x113c
1869 #define NVC397_SET_FILL_VIA_TRIANGLE_MODE                                                                     1:0
1870 #define NVC397_SET_FILL_VIA_TRIANGLE_MODE_DISABLED                                                     0x00000000
1871 #define NVC397_SET_FILL_VIA_TRIANGLE_MODE_FILL_ALL                                                     0x00000001
1872 #define NVC397_SET_FILL_VIA_TRIANGLE_MODE_FILL_BBOX                                                    0x00000002
1873 
1874 #define NVC397_SET_BLEND_PER_FORMAT_ENABLE                                                                 0x1140
1875 #define NVC397_SET_BLEND_PER_FORMAT_ENABLE_SNORM8_UNORM16_SNORM16                                             4:4
1876 #define NVC397_SET_BLEND_PER_FORMAT_ENABLE_SNORM8_UNORM16_SNORM16_FALSE                                0x00000000
1877 #define NVC397_SET_BLEND_PER_FORMAT_ENABLE_SNORM8_UNORM16_SNORM16_TRUE                                 0x00000001
1878 
1879 #define NVC397_FLUSH_PENDING_WRITES                                                                        0x1144
1880 #define NVC397_FLUSH_PENDING_WRITES_SM_DOES_GLOBAL_STORE                                                      0:0
1881 
1882 #define NVC397_SET_CONSERVATIVE_RASTER                                                                     0x1148
1883 #define NVC397_SET_CONSERVATIVE_RASTER_ENABLE                                                                 0:0
1884 #define NVC397_SET_CONSERVATIVE_RASTER_ENABLE_FALSE                                                    0x00000000
1885 #define NVC397_SET_CONSERVATIVE_RASTER_ENABLE_TRUE                                                     0x00000001
1886 
1887 #define NVC397_SET_VERTEX_ATTRIBUTE_A(i)                                                           (0x1160+(i)*4)
1888 #define NVC397_SET_VERTEX_ATTRIBUTE_A_STREAM                                                                  4:0
1889 #define NVC397_SET_VERTEX_ATTRIBUTE_A_SOURCE                                                                  6:6
1890 #define NVC397_SET_VERTEX_ATTRIBUTE_A_SOURCE_ACTIVE                                                    0x00000000
1891 #define NVC397_SET_VERTEX_ATTRIBUTE_A_SOURCE_INACTIVE                                                  0x00000001
1892 #define NVC397_SET_VERTEX_ATTRIBUTE_A_OFFSET                                                                 20:7
1893 #define NVC397_SET_VERTEX_ATTRIBUTE_A_COMPONENT_BIT_WIDTHS                                                  26:21
1894 #define NVC397_SET_VERTEX_ATTRIBUTE_A_COMPONENT_BIT_WIDTHS_R32_G32_B32_A32                             0x00000001
1895 #define NVC397_SET_VERTEX_ATTRIBUTE_A_COMPONENT_BIT_WIDTHS_R32_G32_B32                                 0x00000002
1896 #define NVC397_SET_VERTEX_ATTRIBUTE_A_COMPONENT_BIT_WIDTHS_R16_G16_B16_A16                             0x00000003
1897 #define NVC397_SET_VERTEX_ATTRIBUTE_A_COMPONENT_BIT_WIDTHS_R32_G32                                     0x00000004
1898 #define NVC397_SET_VERTEX_ATTRIBUTE_A_COMPONENT_BIT_WIDTHS_R16_G16_B16                                 0x00000005
1899 #define NVC397_SET_VERTEX_ATTRIBUTE_A_COMPONENT_BIT_WIDTHS_A8B8G8R8                                    0x0000002F
1900 #define NVC397_SET_VERTEX_ATTRIBUTE_A_COMPONENT_BIT_WIDTHS_R8_G8_B8_A8                                 0x0000000A
1901 #define NVC397_SET_VERTEX_ATTRIBUTE_A_COMPONENT_BIT_WIDTHS_X8B8G8R8                                    0x00000033
1902 #define NVC397_SET_VERTEX_ATTRIBUTE_A_COMPONENT_BIT_WIDTHS_A2B10G10R10                                 0x00000030
1903 #define NVC397_SET_VERTEX_ATTRIBUTE_A_COMPONENT_BIT_WIDTHS_B10G11R11                                   0x00000031
1904 #define NVC397_SET_VERTEX_ATTRIBUTE_A_COMPONENT_BIT_WIDTHS_R16_G16                                     0x0000000F
1905 #define NVC397_SET_VERTEX_ATTRIBUTE_A_COMPONENT_BIT_WIDTHS_R32                                         0x00000012
1906 #define NVC397_SET_VERTEX_ATTRIBUTE_A_COMPONENT_BIT_WIDTHS_R8_G8_B8                                    0x00000013
1907 #define NVC397_SET_VERTEX_ATTRIBUTE_A_COMPONENT_BIT_WIDTHS_G8R8                                        0x00000032
1908 #define NVC397_SET_VERTEX_ATTRIBUTE_A_COMPONENT_BIT_WIDTHS_R8_G8                                       0x00000018
1909 #define NVC397_SET_VERTEX_ATTRIBUTE_A_COMPONENT_BIT_WIDTHS_R16                                         0x0000001B
1910 #define NVC397_SET_VERTEX_ATTRIBUTE_A_COMPONENT_BIT_WIDTHS_R8                                          0x0000001D
1911 #define NVC397_SET_VERTEX_ATTRIBUTE_A_COMPONENT_BIT_WIDTHS_A8                                          0x00000034
1912 #define NVC397_SET_VERTEX_ATTRIBUTE_A_NUMERICAL_TYPE                                                        29:27
1913 #define NVC397_SET_VERTEX_ATTRIBUTE_A_NUMERICAL_TYPE_UNUSED_ENUM_DO_NOT_USE_BECAUSE_IT_WILL_GO_AWAY             0x00000000
1914 #define NVC397_SET_VERTEX_ATTRIBUTE_A_NUMERICAL_TYPE_NUM_SNORM                                         0x00000001
1915 #define NVC397_SET_VERTEX_ATTRIBUTE_A_NUMERICAL_TYPE_NUM_UNORM                                         0x00000002
1916 #define NVC397_SET_VERTEX_ATTRIBUTE_A_NUMERICAL_TYPE_NUM_SINT                                          0x00000003
1917 #define NVC397_SET_VERTEX_ATTRIBUTE_A_NUMERICAL_TYPE_NUM_UINT                                          0x00000004
1918 #define NVC397_SET_VERTEX_ATTRIBUTE_A_NUMERICAL_TYPE_NUM_USCALED                                       0x00000005
1919 #define NVC397_SET_VERTEX_ATTRIBUTE_A_NUMERICAL_TYPE_NUM_SSCALED                                       0x00000006
1920 #define NVC397_SET_VERTEX_ATTRIBUTE_A_NUMERICAL_TYPE_NUM_FLOAT                                         0x00000007
1921 #define NVC397_SET_VERTEX_ATTRIBUTE_A_SWAP_R_AND_B                                                          31:31
1922 #define NVC397_SET_VERTEX_ATTRIBUTE_A_SWAP_R_AND_B_FALSE                                               0x00000000
1923 #define NVC397_SET_VERTEX_ATTRIBUTE_A_SWAP_R_AND_B_TRUE                                                0x00000001
1924 
1925 #define NVC397_SET_VERTEX_ATTRIBUTE_B(i)                                                           (0x11a0+(i)*4)
1926 #define NVC397_SET_VERTEX_ATTRIBUTE_B_STREAM                                                                  4:0
1927 #define NVC397_SET_VERTEX_ATTRIBUTE_B_SOURCE                                                                  6:6
1928 #define NVC397_SET_VERTEX_ATTRIBUTE_B_SOURCE_ACTIVE                                                    0x00000000
1929 #define NVC397_SET_VERTEX_ATTRIBUTE_B_SOURCE_INACTIVE                                                  0x00000001
1930 #define NVC397_SET_VERTEX_ATTRIBUTE_B_OFFSET                                                                 20:7
1931 #define NVC397_SET_VERTEX_ATTRIBUTE_B_COMPONENT_BIT_WIDTHS                                                  26:21
1932 #define NVC397_SET_VERTEX_ATTRIBUTE_B_COMPONENT_BIT_WIDTHS_R32_G32_B32_A32                             0x00000001
1933 #define NVC397_SET_VERTEX_ATTRIBUTE_B_COMPONENT_BIT_WIDTHS_R32_G32_B32                                 0x00000002
1934 #define NVC397_SET_VERTEX_ATTRIBUTE_B_COMPONENT_BIT_WIDTHS_R16_G16_B16_A16                             0x00000003
1935 #define NVC397_SET_VERTEX_ATTRIBUTE_B_COMPONENT_BIT_WIDTHS_R32_G32                                     0x00000004
1936 #define NVC397_SET_VERTEX_ATTRIBUTE_B_COMPONENT_BIT_WIDTHS_R16_G16_B16                                 0x00000005
1937 #define NVC397_SET_VERTEX_ATTRIBUTE_B_COMPONENT_BIT_WIDTHS_A8B8G8R8                                    0x0000002F
1938 #define NVC397_SET_VERTEX_ATTRIBUTE_B_COMPONENT_BIT_WIDTHS_R8_G8_B8_A8                                 0x0000000A
1939 #define NVC397_SET_VERTEX_ATTRIBUTE_B_COMPONENT_BIT_WIDTHS_X8B8G8R8                                    0x00000033
1940 #define NVC397_SET_VERTEX_ATTRIBUTE_B_COMPONENT_BIT_WIDTHS_A2B10G10R10                                 0x00000030
1941 #define NVC397_SET_VERTEX_ATTRIBUTE_B_COMPONENT_BIT_WIDTHS_B10G11R11                                   0x00000031
1942 #define NVC397_SET_VERTEX_ATTRIBUTE_B_COMPONENT_BIT_WIDTHS_R16_G16                                     0x0000000F
1943 #define NVC397_SET_VERTEX_ATTRIBUTE_B_COMPONENT_BIT_WIDTHS_R32                                         0x00000012
1944 #define NVC397_SET_VERTEX_ATTRIBUTE_B_COMPONENT_BIT_WIDTHS_R8_G8_B8                                    0x00000013
1945 #define NVC397_SET_VERTEX_ATTRIBUTE_B_COMPONENT_BIT_WIDTHS_G8R8                                        0x00000032
1946 #define NVC397_SET_VERTEX_ATTRIBUTE_B_COMPONENT_BIT_WIDTHS_R8_G8                                       0x00000018
1947 #define NVC397_SET_VERTEX_ATTRIBUTE_B_COMPONENT_BIT_WIDTHS_R16                                         0x0000001B
1948 #define NVC397_SET_VERTEX_ATTRIBUTE_B_COMPONENT_BIT_WIDTHS_R8                                          0x0000001D
1949 #define NVC397_SET_VERTEX_ATTRIBUTE_B_COMPONENT_BIT_WIDTHS_A8                                          0x00000034
1950 #define NVC397_SET_VERTEX_ATTRIBUTE_B_NUMERICAL_TYPE                                                        29:27
1951 #define NVC397_SET_VERTEX_ATTRIBUTE_B_NUMERICAL_TYPE_UNUSED_ENUM_DO_NOT_USE_BECAUSE_IT_WILL_GO_AWAY             0x00000000
1952 #define NVC397_SET_VERTEX_ATTRIBUTE_B_NUMERICAL_TYPE_NUM_SNORM                                         0x00000001
1953 #define NVC397_SET_VERTEX_ATTRIBUTE_B_NUMERICAL_TYPE_NUM_UNORM                                         0x00000002
1954 #define NVC397_SET_VERTEX_ATTRIBUTE_B_NUMERICAL_TYPE_NUM_SINT                                          0x00000003
1955 #define NVC397_SET_VERTEX_ATTRIBUTE_B_NUMERICAL_TYPE_NUM_UINT                                          0x00000004
1956 #define NVC397_SET_VERTEX_ATTRIBUTE_B_NUMERICAL_TYPE_NUM_USCALED                                       0x00000005
1957 #define NVC397_SET_VERTEX_ATTRIBUTE_B_NUMERICAL_TYPE_NUM_SSCALED                                       0x00000006
1958 #define NVC397_SET_VERTEX_ATTRIBUTE_B_NUMERICAL_TYPE_NUM_FLOAT                                         0x00000007
1959 #define NVC397_SET_VERTEX_ATTRIBUTE_B_SWAP_R_AND_B                                                          31:31
1960 #define NVC397_SET_VERTEX_ATTRIBUTE_B_SWAP_R_AND_B_FALSE                                               0x00000000
1961 #define NVC397_SET_VERTEX_ATTRIBUTE_B_SWAP_R_AND_B_TRUE                                                0x00000001
1962 
1963 #define NVC397_SET_ANTI_ALIAS_SAMPLE_POSITIONS(i)                                                  (0x11e0+(i)*4)
1964 #define NVC397_SET_ANTI_ALIAS_SAMPLE_POSITIONS_X0                                                             3:0
1965 #define NVC397_SET_ANTI_ALIAS_SAMPLE_POSITIONS_Y0                                                             7:4
1966 #define NVC397_SET_ANTI_ALIAS_SAMPLE_POSITIONS_X1                                                            11:8
1967 #define NVC397_SET_ANTI_ALIAS_SAMPLE_POSITIONS_Y1                                                           15:12
1968 #define NVC397_SET_ANTI_ALIAS_SAMPLE_POSITIONS_X2                                                           19:16
1969 #define NVC397_SET_ANTI_ALIAS_SAMPLE_POSITIONS_Y2                                                           23:20
1970 #define NVC397_SET_ANTI_ALIAS_SAMPLE_POSITIONS_X3                                                           27:24
1971 #define NVC397_SET_ANTI_ALIAS_SAMPLE_POSITIONS_Y3                                                           31:28
1972 
1973 #define NVC397_SET_OFFSET_RENDER_TARGET_INDEX                                                              0x11f0
1974 #define NVC397_SET_OFFSET_RENDER_TARGET_INDEX_BY_VIEWPORT_INDEX                                               0:0
1975 #define NVC397_SET_OFFSET_RENDER_TARGET_INDEX_BY_VIEWPORT_INDEX_FALSE                                  0x00000000
1976 #define NVC397_SET_OFFSET_RENDER_TARGET_INDEX_BY_VIEWPORT_INDEX_TRUE                                   0x00000001
1977 
1978 #define NVC397_FORCE_HEAVYWEIGHT_METHOD_SYNC                                                               0x11f4
1979 #define NVC397_FORCE_HEAVYWEIGHT_METHOD_SYNC_V                                                               31:0
1980 
1981 #define NVC397_SET_COVERAGE_TO_COLOR                                                                       0x11f8
1982 #define NVC397_SET_COVERAGE_TO_COLOR_ENABLE                                                                   0:0
1983 #define NVC397_SET_COVERAGE_TO_COLOR_ENABLE_FALSE                                                      0x00000000
1984 #define NVC397_SET_COVERAGE_TO_COLOR_ENABLE_TRUE                                                       0x00000001
1985 #define NVC397_SET_COVERAGE_TO_COLOR_CT_SELECT                                                                6:4
1986 
1987 #define NVC397_DECOMPRESS_ZETA_SURFACE                                                                     0x11fc
1988 #define NVC397_DECOMPRESS_ZETA_SURFACE_Z_ENABLE                                                               0:0
1989 #define NVC397_DECOMPRESS_ZETA_SURFACE_Z_ENABLE_FALSE                                                  0x00000000
1990 #define NVC397_DECOMPRESS_ZETA_SURFACE_Z_ENABLE_TRUE                                                   0x00000001
1991 #define NVC397_DECOMPRESS_ZETA_SURFACE_STENCIL_ENABLE                                                         4:4
1992 #define NVC397_DECOMPRESS_ZETA_SURFACE_STENCIL_ENABLE_FALSE                                            0x00000000
1993 #define NVC397_DECOMPRESS_ZETA_SURFACE_STENCIL_ENABLE_TRUE                                             0x00000001
1994 
1995 #define NVC397_SET_SCREEN_STATE_MASK                                                                       0x1204
1996 #define NVC397_SET_SCREEN_STATE_MASK_MASK                                                                     3:0
1997 
1998 #define NVC397_SET_ZT_SPARSE                                                                               0x1208
1999 #define NVC397_SET_ZT_SPARSE_ENABLE                                                                           0:0
2000 #define NVC397_SET_ZT_SPARSE_ENABLE_FALSE                                                              0x00000000
2001 #define NVC397_SET_ZT_SPARSE_ENABLE_TRUE                                                               0x00000001
2002 #define NVC397_SET_ZT_SPARSE_UNMAPPED_COMPARE                                                                 1:1
2003 #define NVC397_SET_ZT_SPARSE_UNMAPPED_COMPARE_ZT_SPARSE_UNMAPPED_0                                     0x00000000
2004 #define NVC397_SET_ZT_SPARSE_UNMAPPED_COMPARE_ZT_SPARSE_FAIL_ALWAYS                                    0x00000001
2005 
2006 #define NVC397_INVALIDATE_SAMPLER_CACHE_ALL                                                                0x120c
2007 #define NVC397_INVALIDATE_SAMPLER_CACHE_ALL_V                                                                 0:0
2008 
2009 #define NVC397_INVALIDATE_TEXTURE_HEADER_CACHE_ALL                                                         0x1210
2010 #define NVC397_INVALIDATE_TEXTURE_HEADER_CACHE_ALL_V                                                          0:0
2011 
2012 #define NVC397_DRAW_VERTEX_ARRAY_BEGIN_END_INSTANCE_FIRST                                                  0x1214
2013 #define NVC397_DRAW_VERTEX_ARRAY_BEGIN_END_INSTANCE_FIRST_START_INDEX                                        15:0
2014 #define NVC397_DRAW_VERTEX_ARRAY_BEGIN_END_INSTANCE_FIRST_COUNT                                             27:16
2015 #define NVC397_DRAW_VERTEX_ARRAY_BEGIN_END_INSTANCE_FIRST_TOPOLOGY                                          31:28
2016 #define NVC397_DRAW_VERTEX_ARRAY_BEGIN_END_INSTANCE_FIRST_TOPOLOGY_POINTS                              0x00000000
2017 #define NVC397_DRAW_VERTEX_ARRAY_BEGIN_END_INSTANCE_FIRST_TOPOLOGY_LINES                               0x00000001
2018 #define NVC397_DRAW_VERTEX_ARRAY_BEGIN_END_INSTANCE_FIRST_TOPOLOGY_LINE_LOOP                           0x00000002
2019 #define NVC397_DRAW_VERTEX_ARRAY_BEGIN_END_INSTANCE_FIRST_TOPOLOGY_LINE_STRIP                          0x00000003
2020 #define NVC397_DRAW_VERTEX_ARRAY_BEGIN_END_INSTANCE_FIRST_TOPOLOGY_TRIANGLES                           0x00000004
2021 #define NVC397_DRAW_VERTEX_ARRAY_BEGIN_END_INSTANCE_FIRST_TOPOLOGY_TRIANGLE_STRIP                      0x00000005
2022 #define NVC397_DRAW_VERTEX_ARRAY_BEGIN_END_INSTANCE_FIRST_TOPOLOGY_TRIANGLE_FAN                        0x00000006
2023 #define NVC397_DRAW_VERTEX_ARRAY_BEGIN_END_INSTANCE_FIRST_TOPOLOGY_QUADS                               0x00000007
2024 #define NVC397_DRAW_VERTEX_ARRAY_BEGIN_END_INSTANCE_FIRST_TOPOLOGY_QUAD_STRIP                          0x00000008
2025 #define NVC397_DRAW_VERTEX_ARRAY_BEGIN_END_INSTANCE_FIRST_TOPOLOGY_POLYGON                             0x00000009
2026 #define NVC397_DRAW_VERTEX_ARRAY_BEGIN_END_INSTANCE_FIRST_TOPOLOGY_LINELIST_ADJCY                      0x0000000A
2027 #define NVC397_DRAW_VERTEX_ARRAY_BEGIN_END_INSTANCE_FIRST_TOPOLOGY_LINESTRIP_ADJCY                     0x0000000B
2028 #define NVC397_DRAW_VERTEX_ARRAY_BEGIN_END_INSTANCE_FIRST_TOPOLOGY_TRIANGLELIST_ADJCY                  0x0000000C
2029 #define NVC397_DRAW_VERTEX_ARRAY_BEGIN_END_INSTANCE_FIRST_TOPOLOGY_TRIANGLESTRIP_ADJCY                 0x0000000D
2030 #define NVC397_DRAW_VERTEX_ARRAY_BEGIN_END_INSTANCE_FIRST_TOPOLOGY_PATCH                               0x0000000E
2031 
2032 #define NVC397_DRAW_VERTEX_ARRAY_BEGIN_END_INSTANCE_SUBSEQUENT                                             0x1218
2033 #define NVC397_DRAW_VERTEX_ARRAY_BEGIN_END_INSTANCE_SUBSEQUENT_START_INDEX                                   15:0
2034 #define NVC397_DRAW_VERTEX_ARRAY_BEGIN_END_INSTANCE_SUBSEQUENT_COUNT                                        27:16
2035 #define NVC397_DRAW_VERTEX_ARRAY_BEGIN_END_INSTANCE_SUBSEQUENT_TOPOLOGY                                     31:28
2036 #define NVC397_DRAW_VERTEX_ARRAY_BEGIN_END_INSTANCE_SUBSEQUENT_TOPOLOGY_POINTS                         0x00000000
2037 #define NVC397_DRAW_VERTEX_ARRAY_BEGIN_END_INSTANCE_SUBSEQUENT_TOPOLOGY_LINES                          0x00000001
2038 #define NVC397_DRAW_VERTEX_ARRAY_BEGIN_END_INSTANCE_SUBSEQUENT_TOPOLOGY_LINE_LOOP                      0x00000002
2039 #define NVC397_DRAW_VERTEX_ARRAY_BEGIN_END_INSTANCE_SUBSEQUENT_TOPOLOGY_LINE_STRIP                     0x00000003
2040 #define NVC397_DRAW_VERTEX_ARRAY_BEGIN_END_INSTANCE_SUBSEQUENT_TOPOLOGY_TRIANGLES                      0x00000004
2041 #define NVC397_DRAW_VERTEX_ARRAY_BEGIN_END_INSTANCE_SUBSEQUENT_TOPOLOGY_TRIANGLE_STRIP                 0x00000005
2042 #define NVC397_DRAW_VERTEX_ARRAY_BEGIN_END_INSTANCE_SUBSEQUENT_TOPOLOGY_TRIANGLE_FAN                   0x00000006
2043 #define NVC397_DRAW_VERTEX_ARRAY_BEGIN_END_INSTANCE_SUBSEQUENT_TOPOLOGY_QUADS                          0x00000007
2044 #define NVC397_DRAW_VERTEX_ARRAY_BEGIN_END_INSTANCE_SUBSEQUENT_TOPOLOGY_QUAD_STRIP                     0x00000008
2045 #define NVC397_DRAW_VERTEX_ARRAY_BEGIN_END_INSTANCE_SUBSEQUENT_TOPOLOGY_POLYGON                        0x00000009
2046 #define NVC397_DRAW_VERTEX_ARRAY_BEGIN_END_INSTANCE_SUBSEQUENT_TOPOLOGY_LINELIST_ADJCY                 0x0000000A
2047 #define NVC397_DRAW_VERTEX_ARRAY_BEGIN_END_INSTANCE_SUBSEQUENT_TOPOLOGY_LINESTRIP_ADJCY                0x0000000B
2048 #define NVC397_DRAW_VERTEX_ARRAY_BEGIN_END_INSTANCE_SUBSEQUENT_TOPOLOGY_TRIANGLELIST_ADJCY             0x0000000C
2049 #define NVC397_DRAW_VERTEX_ARRAY_BEGIN_END_INSTANCE_SUBSEQUENT_TOPOLOGY_TRIANGLESTRIP_ADJCY             0x0000000D
2050 #define NVC397_DRAW_VERTEX_ARRAY_BEGIN_END_INSTANCE_SUBSEQUENT_TOPOLOGY_PATCH                          0x0000000E
2051 
2052 #define NVC397_SET_CT_SELECT                                                                               0x121c
2053 #define NVC397_SET_CT_SELECT_TARGET_COUNT                                                                     3:0
2054 #define NVC397_SET_CT_SELECT_TARGET0                                                                          6:4
2055 #define NVC397_SET_CT_SELECT_TARGET1                                                                          9:7
2056 #define NVC397_SET_CT_SELECT_TARGET2                                                                        12:10
2057 #define NVC397_SET_CT_SELECT_TARGET3                                                                        15:13
2058 #define NVC397_SET_CT_SELECT_TARGET4                                                                        18:16
2059 #define NVC397_SET_CT_SELECT_TARGET5                                                                        21:19
2060 #define NVC397_SET_CT_SELECT_TARGET6                                                                        24:22
2061 #define NVC397_SET_CT_SELECT_TARGET7                                                                        27:25
2062 
2063 #define NVC397_SET_COMPRESSION_THRESHOLD                                                                   0x1220
2064 #define NVC397_SET_COMPRESSION_THRESHOLD_SAMPLES                                                              3:0
2065 #define NVC397_SET_COMPRESSION_THRESHOLD_SAMPLES__0                                                    0x00000000
2066 #define NVC397_SET_COMPRESSION_THRESHOLD_SAMPLES__1                                                    0x00000001
2067 #define NVC397_SET_COMPRESSION_THRESHOLD_SAMPLES__2                                                    0x00000002
2068 #define NVC397_SET_COMPRESSION_THRESHOLD_SAMPLES__4                                                    0x00000003
2069 #define NVC397_SET_COMPRESSION_THRESHOLD_SAMPLES__8                                                    0x00000004
2070 #define NVC397_SET_COMPRESSION_THRESHOLD_SAMPLES__16                                                   0x00000005
2071 #define NVC397_SET_COMPRESSION_THRESHOLD_SAMPLES__32                                                   0x00000006
2072 #define NVC397_SET_COMPRESSION_THRESHOLD_SAMPLES__64                                                   0x00000007
2073 #define NVC397_SET_COMPRESSION_THRESHOLD_SAMPLES__128                                                  0x00000008
2074 #define NVC397_SET_COMPRESSION_THRESHOLD_SAMPLES__256                                                  0x00000009
2075 #define NVC397_SET_COMPRESSION_THRESHOLD_SAMPLES__512                                                  0x0000000A
2076 #define NVC397_SET_COMPRESSION_THRESHOLD_SAMPLES__1024                                                 0x0000000B
2077 #define NVC397_SET_COMPRESSION_THRESHOLD_SAMPLES__2048                                                 0x0000000C
2078 
2079 #define NVC397_SET_PIXEL_SHADER_INTERLOCK_CONTROL                                                          0x1224
2080 #define NVC397_SET_PIXEL_SHADER_INTERLOCK_CONTROL_TILE_COALESCER_MODE                                         1:0
2081 #define NVC397_SET_PIXEL_SHADER_INTERLOCK_CONTROL_TILE_COALESCER_MODE_NO_CONFLICT_DETECT               0x00000000
2082 #define NVC397_SET_PIXEL_SHADER_INTERLOCK_CONTROL_TILE_COALESCER_MODE_CONFLICT_DETECT_SAMPLE             0x00000001
2083 #define NVC397_SET_PIXEL_SHADER_INTERLOCK_CONTROL_TILE_COALESCER_MODE_CONFLICT_DETECT_PIXEL             0x00000002
2084 #define NVC397_SET_PIXEL_SHADER_INTERLOCK_CONTROL_TILE_COALESCER_TILE_SIZE                                    2:2
2085 #define NVC397_SET_PIXEL_SHADER_INTERLOCK_CONTROL_TILE_COALESCER_TILE_SIZE_TC_TILE_SIZE_16X16             0x00000000
2086 #define NVC397_SET_PIXEL_SHADER_INTERLOCK_CONTROL_TILE_COALESCER_TILE_SIZE_TC_TILE_SIZE_8X8             0x00000001
2087 #define NVC397_SET_PIXEL_SHADER_INTERLOCK_CONTROL_TILE_COALESCER_FRAGMENT_ORDER                               3:3
2088 #define NVC397_SET_PIXEL_SHADER_INTERLOCK_CONTROL_TILE_COALESCER_FRAGMENT_ORDER_TC_FRAGMENT_ORDERED             0x00000000
2089 #define NVC397_SET_PIXEL_SHADER_INTERLOCK_CONTROL_TILE_COALESCER_FRAGMENT_ORDER_TC_FRAGMENT_UNORDERED             0x00000001
2090 
2091 #define NVC397_SET_ZT_SIZE_A                                                                               0x1228
2092 #define NVC397_SET_ZT_SIZE_A_WIDTH                                                                           27:0
2093 
2094 #define NVC397_SET_ZT_SIZE_B                                                                               0x122c
2095 #define NVC397_SET_ZT_SIZE_B_HEIGHT                                                                          17:0
2096 
2097 #define NVC397_SET_ZT_SIZE_C                                                                               0x1230
2098 #define NVC397_SET_ZT_SIZE_C_THIRD_DIMENSION                                                                 15:0
2099 #define NVC397_SET_ZT_SIZE_C_CONTROL                                                                        16:16
2100 #define NVC397_SET_ZT_SIZE_C_CONTROL_THIRD_DIMENSION_DEFINES_ARRAY_SIZE                                0x00000000
2101 #define NVC397_SET_ZT_SIZE_C_CONTROL_ARRAY_SIZE_IS_ONE                                                 0x00000001
2102 
2103 #define NVC397_SET_SAMPLER_BINDING                                                                         0x1234
2104 #define NVC397_SET_SAMPLER_BINDING_V                                                                          0:0
2105 #define NVC397_SET_SAMPLER_BINDING_V_INDEPENDENTLY                                                     0x00000000
2106 #define NVC397_SET_SAMPLER_BINDING_V_VIA_HEADER_BINDING                                                0x00000001
2107 
2108 #define NVC397_DRAW_AUTO                                                                                   0x123c
2109 #define NVC397_DRAW_AUTO_BYTE_COUNT                                                                          31:0
2110 
2111 #define NVC397_SET_POST_VTG_SHADER_ATTRIBUTE_SKIP_MASK(i)                                          (0x1240+(i)*4)
2112 #define NVC397_SET_POST_VTG_SHADER_ATTRIBUTE_SKIP_MASK_V                                                     31:0
2113 
2114 #define NVC397_SET_PIXEL_SHADER_TICKET_DISPENSER_VALUE                                                     0x1260
2115 #define NVC397_SET_PIXEL_SHADER_TICKET_DISPENSER_VALUE_TICKET_DISPENSER_INDEX                                 7:0
2116 #define NVC397_SET_PIXEL_SHADER_TICKET_DISPENSER_VALUE_TICKET_DISPENSER_VALUE                                23:8
2117 
2118 #define NVC397_SET_BACK_END_COPY_A                                                                         0x1264
2119 #define NVC397_SET_BACK_END_COPY_A_DWORDS                                                                     7:0
2120 #define NVC397_SET_BACK_END_COPY_A_SATURATE32_ENABLE                                                          8:8
2121 #define NVC397_SET_BACK_END_COPY_A_SATURATE32_ENABLE_FALSE                                             0x00000000
2122 #define NVC397_SET_BACK_END_COPY_A_SATURATE32_ENABLE_TRUE                                              0x00000001
2123 #define NVC397_SET_BACK_END_COPY_A_TIMESTAMP_ENABLE                                                         12:12
2124 #define NVC397_SET_BACK_END_COPY_A_TIMESTAMP_ENABLE_FALSE                                              0x00000000
2125 #define NVC397_SET_BACK_END_COPY_A_TIMESTAMP_ENABLE_TRUE                                               0x00000001
2126 
2127 #define NVC397_SET_BACK_END_COPY_B                                                                         0x1268
2128 #define NVC397_SET_BACK_END_COPY_B_SRC_ADDRESS_UPPER                                                          7:0
2129 
2130 #define NVC397_SET_BACK_END_COPY_C                                                                         0x126c
2131 #define NVC397_SET_BACK_END_COPY_C_SRC_ADDRESS_LOWER                                                         31:0
2132 
2133 #define NVC397_SET_BACK_END_COPY_D                                                                         0x1270
2134 #define NVC397_SET_BACK_END_COPY_D_DEST_ADDRESS_UPPER                                                         7:0
2135 
2136 #define NVC397_SET_BACK_END_COPY_E                                                                         0x1274
2137 #define NVC397_SET_BACK_END_COPY_E_DEST_ADDRESS_LOWER                                                        31:0
2138 
2139 #define NVC397_SET_CIRCULAR_BUFFER_SIZE                                                                    0x1280
2140 #define NVC397_SET_CIRCULAR_BUFFER_SIZE_CACHE_LINES_PER_SM                                                   19:0
2141 
2142 #define NVC397_SET_VTG_REGISTER_WATERMARKS                                                                 0x1284
2143 #define NVC397_SET_VTG_REGISTER_WATERMARKS_LOW                                                               15:0
2144 #define NVC397_SET_VTG_REGISTER_WATERMARKS_HIGH                                                             31:16
2145 
2146 #define NVC397_INVALIDATE_TEXTURE_DATA_CACHE_NO_WFI                                                        0x1288
2147 #define NVC397_INVALIDATE_TEXTURE_DATA_CACHE_NO_WFI_LINES                                                     0:0
2148 #define NVC397_INVALIDATE_TEXTURE_DATA_CACHE_NO_WFI_LINES_ALL                                          0x00000000
2149 #define NVC397_INVALIDATE_TEXTURE_DATA_CACHE_NO_WFI_LINES_ONE                                          0x00000001
2150 #define NVC397_INVALIDATE_TEXTURE_DATA_CACHE_NO_WFI_TAG                                                      25:4
2151 
2152 #define NVC397_SET_L2_CACHE_CONTROL_FOR_ROP_INTERLOCKED_READ_REQUESTS                                      0x1290
2153 #define NVC397_SET_L2_CACHE_CONTROL_FOR_ROP_INTERLOCKED_READ_REQUESTS_POLICY                                  5:4
2154 #define NVC397_SET_L2_CACHE_CONTROL_FOR_ROP_INTERLOCKED_READ_REQUESTS_POLICY_EVICT_FIRST               0x00000000
2155 #define NVC397_SET_L2_CACHE_CONTROL_FOR_ROP_INTERLOCKED_READ_REQUESTS_POLICY_EVICT_NORMAL              0x00000001
2156 #define NVC397_SET_L2_CACHE_CONTROL_FOR_ROP_INTERLOCKED_READ_REQUESTS_POLICY_EVICT_LAST                0x00000002
2157 
2158 #define NVC397_SET_DA_PRIMITIVE_RESTART_INDEX_TOPOLOGY_CHANGE                                              0x12a4
2159 #define NVC397_SET_DA_PRIMITIVE_RESTART_INDEX_TOPOLOGY_CHANGE_V                                              31:0
2160 
2161 #define NVC397_CLEAR_ZCULL_REGION                                                                          0x12c8
2162 #define NVC397_CLEAR_ZCULL_REGION_Z_ENABLE                                                                    0:0
2163 #define NVC397_CLEAR_ZCULL_REGION_Z_ENABLE_FALSE                                                       0x00000000
2164 #define NVC397_CLEAR_ZCULL_REGION_Z_ENABLE_TRUE                                                        0x00000001
2165 #define NVC397_CLEAR_ZCULL_REGION_STENCIL_ENABLE                                                              4:4
2166 #define NVC397_CLEAR_ZCULL_REGION_STENCIL_ENABLE_FALSE                                                 0x00000000
2167 #define NVC397_CLEAR_ZCULL_REGION_STENCIL_ENABLE_TRUE                                                  0x00000001
2168 #define NVC397_CLEAR_ZCULL_REGION_USE_CLEAR_RECT                                                              1:1
2169 #define NVC397_CLEAR_ZCULL_REGION_USE_CLEAR_RECT_FALSE                                                 0x00000000
2170 #define NVC397_CLEAR_ZCULL_REGION_USE_CLEAR_RECT_TRUE                                                  0x00000001
2171 #define NVC397_CLEAR_ZCULL_REGION_USE_RT_ARRAY_INDEX                                                          2:2
2172 #define NVC397_CLEAR_ZCULL_REGION_USE_RT_ARRAY_INDEX_FALSE                                             0x00000000
2173 #define NVC397_CLEAR_ZCULL_REGION_USE_RT_ARRAY_INDEX_TRUE                                              0x00000001
2174 #define NVC397_CLEAR_ZCULL_REGION_RT_ARRAY_INDEX                                                             20:5
2175 #define NVC397_CLEAR_ZCULL_REGION_MAKE_CONSERVATIVE                                                           3:3
2176 #define NVC397_CLEAR_ZCULL_REGION_MAKE_CONSERVATIVE_FALSE                                              0x00000000
2177 #define NVC397_CLEAR_ZCULL_REGION_MAKE_CONSERVATIVE_TRUE                                               0x00000001
2178 
2179 #define NVC397_SET_DEPTH_TEST                                                                              0x12cc
2180 #define NVC397_SET_DEPTH_TEST_ENABLE                                                                          0:0
2181 #define NVC397_SET_DEPTH_TEST_ENABLE_FALSE                                                             0x00000000
2182 #define NVC397_SET_DEPTH_TEST_ENABLE_TRUE                                                              0x00000001
2183 
2184 #define NVC397_SET_FILL_MODE                                                                               0x12d0
2185 #define NVC397_SET_FILL_MODE_V                                                                               31:0
2186 #define NVC397_SET_FILL_MODE_V_POINT                                                                   0x00000001
2187 #define NVC397_SET_FILL_MODE_V_WIREFRAME                                                               0x00000002
2188 #define NVC397_SET_FILL_MODE_V_SOLID                                                                   0x00000003
2189 
2190 #define NVC397_SET_SHADE_MODE                                                                              0x12d4
2191 #define NVC397_SET_SHADE_MODE_V                                                                              31:0
2192 #define NVC397_SET_SHADE_MODE_V_FLAT                                                                   0x00000001
2193 #define NVC397_SET_SHADE_MODE_V_GOURAUD                                                                0x00000002
2194 #define NVC397_SET_SHADE_MODE_V_OGL_FLAT                                                               0x00001D00
2195 #define NVC397_SET_SHADE_MODE_V_OGL_SMOOTH                                                             0x00001D01
2196 
2197 #define NVC397_SET_L2_CACHE_CONTROL_FOR_ROP_NONINTERLOCKED_WRITE_REQUESTS                                  0x12d8
2198 #define NVC397_SET_L2_CACHE_CONTROL_FOR_ROP_NONINTERLOCKED_WRITE_REQUESTS_POLICY                              5:4
2199 #define NVC397_SET_L2_CACHE_CONTROL_FOR_ROP_NONINTERLOCKED_WRITE_REQUESTS_POLICY_EVICT_FIRST             0x00000000
2200 #define NVC397_SET_L2_CACHE_CONTROL_FOR_ROP_NONINTERLOCKED_WRITE_REQUESTS_POLICY_EVICT_NORMAL             0x00000001
2201 #define NVC397_SET_L2_CACHE_CONTROL_FOR_ROP_NONINTERLOCKED_WRITE_REQUESTS_POLICY_EVICT_LAST             0x00000002
2202 
2203 #define NVC397_SET_L2_CACHE_CONTROL_FOR_ROP_INTERLOCKED_WRITE_REQUESTS                                     0x12dc
2204 #define NVC397_SET_L2_CACHE_CONTROL_FOR_ROP_INTERLOCKED_WRITE_REQUESTS_POLICY                                 5:4
2205 #define NVC397_SET_L2_CACHE_CONTROL_FOR_ROP_INTERLOCKED_WRITE_REQUESTS_POLICY_EVICT_FIRST              0x00000000
2206 #define NVC397_SET_L2_CACHE_CONTROL_FOR_ROP_INTERLOCKED_WRITE_REQUESTS_POLICY_EVICT_NORMAL             0x00000001
2207 #define NVC397_SET_L2_CACHE_CONTROL_FOR_ROP_INTERLOCKED_WRITE_REQUESTS_POLICY_EVICT_LAST               0x00000002
2208 
2209 #define NVC397_SET_ALPHA_TO_COVERAGE_DITHER_CONTROL                                                        0x12e0
2210 #define NVC397_SET_ALPHA_TO_COVERAGE_DITHER_CONTROL_DITHER_FOOTPRINT                                          3:0
2211 #define NVC397_SET_ALPHA_TO_COVERAGE_DITHER_CONTROL_DITHER_FOOTPRINT_PIXELS_1X1                        0x00000000
2212 #define NVC397_SET_ALPHA_TO_COVERAGE_DITHER_CONTROL_DITHER_FOOTPRINT_PIXELS_2X2                        0x00000001
2213 #define NVC397_SET_ALPHA_TO_COVERAGE_DITHER_CONTROL_DITHER_FOOTPRINT_PIXELS_1X1_VIRTUAL_SAMPLES             0x00000002
2214 
2215 #define NVC397_SET_BLEND_STATE_PER_TARGET                                                                  0x12e4
2216 #define NVC397_SET_BLEND_STATE_PER_TARGET_ENABLE                                                              0:0
2217 #define NVC397_SET_BLEND_STATE_PER_TARGET_ENABLE_FALSE                                                 0x00000000
2218 #define NVC397_SET_BLEND_STATE_PER_TARGET_ENABLE_TRUE                                                  0x00000001
2219 
2220 #define NVC397_SET_DEPTH_WRITE                                                                             0x12e8
2221 #define NVC397_SET_DEPTH_WRITE_ENABLE                                                                         0:0
2222 #define NVC397_SET_DEPTH_WRITE_ENABLE_FALSE                                                            0x00000000
2223 #define NVC397_SET_DEPTH_WRITE_ENABLE_TRUE                                                             0x00000001
2224 
2225 #define NVC397_SET_ALPHA_TEST                                                                              0x12ec
2226 #define NVC397_SET_ALPHA_TEST_ENABLE                                                                          0:0
2227 #define NVC397_SET_ALPHA_TEST_ENABLE_FALSE                                                             0x00000000
2228 #define NVC397_SET_ALPHA_TEST_ENABLE_TRUE                                                              0x00000001
2229 
2230 #define NVC397_SET_INLINE_INDEX4X8_ALIGN                                                                   0x1300
2231 #define NVC397_SET_INLINE_INDEX4X8_ALIGN_COUNT                                                               29:0
2232 #define NVC397_SET_INLINE_INDEX4X8_ALIGN_START                                                              31:30
2233 
2234 #define NVC397_DRAW_INLINE_INDEX4X8                                                                        0x1304
2235 #define NVC397_DRAW_INLINE_INDEX4X8_INDEX0                                                                    7:0
2236 #define NVC397_DRAW_INLINE_INDEX4X8_INDEX1                                                                   15:8
2237 #define NVC397_DRAW_INLINE_INDEX4X8_INDEX2                                                                  23:16
2238 #define NVC397_DRAW_INLINE_INDEX4X8_INDEX3                                                                  31:24
2239 
2240 #define NVC397_D3D_SET_CULL_MODE                                                                           0x1308
2241 #define NVC397_D3D_SET_CULL_MODE_V                                                                           31:0
2242 #define NVC397_D3D_SET_CULL_MODE_V_NONE                                                                0x00000001
2243 #define NVC397_D3D_SET_CULL_MODE_V_CW                                                                  0x00000002
2244 #define NVC397_D3D_SET_CULL_MODE_V_CCW                                                                 0x00000003
2245 
2246 #define NVC397_SET_DEPTH_FUNC                                                                              0x130c
2247 #define NVC397_SET_DEPTH_FUNC_V                                                                              31:0
2248 #define NVC397_SET_DEPTH_FUNC_V_OGL_NEVER                                                              0x00000200
2249 #define NVC397_SET_DEPTH_FUNC_V_OGL_LESS                                                               0x00000201
2250 #define NVC397_SET_DEPTH_FUNC_V_OGL_EQUAL                                                              0x00000202
2251 #define NVC397_SET_DEPTH_FUNC_V_OGL_LEQUAL                                                             0x00000203
2252 #define NVC397_SET_DEPTH_FUNC_V_OGL_GREATER                                                            0x00000204
2253 #define NVC397_SET_DEPTH_FUNC_V_OGL_NOTEQUAL                                                           0x00000205
2254 #define NVC397_SET_DEPTH_FUNC_V_OGL_GEQUAL                                                             0x00000206
2255 #define NVC397_SET_DEPTH_FUNC_V_OGL_ALWAYS                                                             0x00000207
2256 #define NVC397_SET_DEPTH_FUNC_V_D3D_NEVER                                                              0x00000001
2257 #define NVC397_SET_DEPTH_FUNC_V_D3D_LESS                                                               0x00000002
2258 #define NVC397_SET_DEPTH_FUNC_V_D3D_EQUAL                                                              0x00000003
2259 #define NVC397_SET_DEPTH_FUNC_V_D3D_LESSEQUAL                                                          0x00000004
2260 #define NVC397_SET_DEPTH_FUNC_V_D3D_GREATER                                                            0x00000005
2261 #define NVC397_SET_DEPTH_FUNC_V_D3D_NOTEQUAL                                                           0x00000006
2262 #define NVC397_SET_DEPTH_FUNC_V_D3D_GREATEREQUAL                                                       0x00000007
2263 #define NVC397_SET_DEPTH_FUNC_V_D3D_ALWAYS                                                             0x00000008
2264 
2265 #define NVC397_SET_ALPHA_REF                                                                               0x1310
2266 #define NVC397_SET_ALPHA_REF_V                                                                               31:0
2267 
2268 #define NVC397_SET_ALPHA_FUNC                                                                              0x1314
2269 #define NVC397_SET_ALPHA_FUNC_V                                                                              31:0
2270 #define NVC397_SET_ALPHA_FUNC_V_OGL_NEVER                                                              0x00000200
2271 #define NVC397_SET_ALPHA_FUNC_V_OGL_LESS                                                               0x00000201
2272 #define NVC397_SET_ALPHA_FUNC_V_OGL_EQUAL                                                              0x00000202
2273 #define NVC397_SET_ALPHA_FUNC_V_OGL_LEQUAL                                                             0x00000203
2274 #define NVC397_SET_ALPHA_FUNC_V_OGL_GREATER                                                            0x00000204
2275 #define NVC397_SET_ALPHA_FUNC_V_OGL_NOTEQUAL                                                           0x00000205
2276 #define NVC397_SET_ALPHA_FUNC_V_OGL_GEQUAL                                                             0x00000206
2277 #define NVC397_SET_ALPHA_FUNC_V_OGL_ALWAYS                                                             0x00000207
2278 #define NVC397_SET_ALPHA_FUNC_V_D3D_NEVER                                                              0x00000001
2279 #define NVC397_SET_ALPHA_FUNC_V_D3D_LESS                                                               0x00000002
2280 #define NVC397_SET_ALPHA_FUNC_V_D3D_EQUAL                                                              0x00000003
2281 #define NVC397_SET_ALPHA_FUNC_V_D3D_LESSEQUAL                                                          0x00000004
2282 #define NVC397_SET_ALPHA_FUNC_V_D3D_GREATER                                                            0x00000005
2283 #define NVC397_SET_ALPHA_FUNC_V_D3D_NOTEQUAL                                                           0x00000006
2284 #define NVC397_SET_ALPHA_FUNC_V_D3D_GREATEREQUAL                                                       0x00000007
2285 #define NVC397_SET_ALPHA_FUNC_V_D3D_ALWAYS                                                             0x00000008
2286 
2287 #define NVC397_SET_DRAW_AUTO_STRIDE                                                                        0x1318
2288 #define NVC397_SET_DRAW_AUTO_STRIDE_V                                                                        11:0
2289 
2290 #define NVC397_SET_BLEND_CONST_RED                                                                         0x131c
2291 #define NVC397_SET_BLEND_CONST_RED_V                                                                         31:0
2292 
2293 #define NVC397_SET_BLEND_CONST_GREEN                                                                       0x1320
2294 #define NVC397_SET_BLEND_CONST_GREEN_V                                                                       31:0
2295 
2296 #define NVC397_SET_BLEND_CONST_BLUE                                                                        0x1324
2297 #define NVC397_SET_BLEND_CONST_BLUE_V                                                                        31:0
2298 
2299 #define NVC397_SET_BLEND_CONST_ALPHA                                                                       0x1328
2300 #define NVC397_SET_BLEND_CONST_ALPHA_V                                                                       31:0
2301 
2302 #define NVC397_INVALIDATE_SAMPLER_CACHE                                                                    0x1330
2303 #define NVC397_INVALIDATE_SAMPLER_CACHE_LINES                                                                 0:0
2304 #define NVC397_INVALIDATE_SAMPLER_CACHE_LINES_ALL                                                      0x00000000
2305 #define NVC397_INVALIDATE_SAMPLER_CACHE_LINES_ONE                                                      0x00000001
2306 #define NVC397_INVALIDATE_SAMPLER_CACHE_TAG                                                                  25:4
2307 
2308 #define NVC397_INVALIDATE_TEXTURE_HEADER_CACHE                                                             0x1334
2309 #define NVC397_INVALIDATE_TEXTURE_HEADER_CACHE_LINES                                                          0:0
2310 #define NVC397_INVALIDATE_TEXTURE_HEADER_CACHE_LINES_ALL                                               0x00000000
2311 #define NVC397_INVALIDATE_TEXTURE_HEADER_CACHE_LINES_ONE                                               0x00000001
2312 #define NVC397_INVALIDATE_TEXTURE_HEADER_CACHE_TAG                                                           25:4
2313 
2314 #define NVC397_INVALIDATE_TEXTURE_DATA_CACHE                                                               0x1338
2315 #define NVC397_INVALIDATE_TEXTURE_DATA_CACHE_LINES                                                            0:0
2316 #define NVC397_INVALIDATE_TEXTURE_DATA_CACHE_LINES_ALL                                                 0x00000000
2317 #define NVC397_INVALIDATE_TEXTURE_DATA_CACHE_LINES_ONE                                                 0x00000001
2318 #define NVC397_INVALIDATE_TEXTURE_DATA_CACHE_TAG                                                             25:4
2319 
2320 #define NVC397_SET_BLEND_SEPARATE_FOR_ALPHA                                                                0x133c
2321 #define NVC397_SET_BLEND_SEPARATE_FOR_ALPHA_ENABLE                                                            0:0
2322 #define NVC397_SET_BLEND_SEPARATE_FOR_ALPHA_ENABLE_FALSE                                               0x00000000
2323 #define NVC397_SET_BLEND_SEPARATE_FOR_ALPHA_ENABLE_TRUE                                                0x00000001
2324 
2325 #define NVC397_SET_BLEND_COLOR_OP                                                                          0x1340
2326 #define NVC397_SET_BLEND_COLOR_OP_V                                                                          31:0
2327 #define NVC397_SET_BLEND_COLOR_OP_V_OGL_FUNC_SUBTRACT                                                  0x0000800A
2328 #define NVC397_SET_BLEND_COLOR_OP_V_OGL_FUNC_REVERSE_SUBTRACT                                          0x0000800B
2329 #define NVC397_SET_BLEND_COLOR_OP_V_OGL_FUNC_ADD                                                       0x00008006
2330 #define NVC397_SET_BLEND_COLOR_OP_V_OGL_MIN                                                            0x00008007
2331 #define NVC397_SET_BLEND_COLOR_OP_V_OGL_MAX                                                            0x00008008
2332 #define NVC397_SET_BLEND_COLOR_OP_V_D3D_ADD                                                            0x00000001
2333 #define NVC397_SET_BLEND_COLOR_OP_V_D3D_SUBTRACT                                                       0x00000002
2334 #define NVC397_SET_BLEND_COLOR_OP_V_D3D_REVSUBTRACT                                                    0x00000003
2335 #define NVC397_SET_BLEND_COLOR_OP_V_D3D_MIN                                                            0x00000004
2336 #define NVC397_SET_BLEND_COLOR_OP_V_D3D_MAX                                                            0x00000005
2337 
2338 #define NVC397_SET_BLEND_COLOR_SOURCE_COEFF                                                                0x1344
2339 #define NVC397_SET_BLEND_COLOR_SOURCE_COEFF_V                                                                31:0
2340 #define NVC397_SET_BLEND_COLOR_SOURCE_COEFF_V_OGL_ZERO                                                 0x00004000
2341 #define NVC397_SET_BLEND_COLOR_SOURCE_COEFF_V_OGL_ONE                                                  0x00004001
2342 #define NVC397_SET_BLEND_COLOR_SOURCE_COEFF_V_OGL_SRC_COLOR                                            0x00004300
2343 #define NVC397_SET_BLEND_COLOR_SOURCE_COEFF_V_OGL_ONE_MINUS_SRC_COLOR                                  0x00004301
2344 #define NVC397_SET_BLEND_COLOR_SOURCE_COEFF_V_OGL_SRC_ALPHA                                            0x00004302
2345 #define NVC397_SET_BLEND_COLOR_SOURCE_COEFF_V_OGL_ONE_MINUS_SRC_ALPHA                                  0x00004303
2346 #define NVC397_SET_BLEND_COLOR_SOURCE_COEFF_V_OGL_DST_ALPHA                                            0x00004304
2347 #define NVC397_SET_BLEND_COLOR_SOURCE_COEFF_V_OGL_ONE_MINUS_DST_ALPHA                                  0x00004305
2348 #define NVC397_SET_BLEND_COLOR_SOURCE_COEFF_V_OGL_DST_COLOR                                            0x00004306
2349 #define NVC397_SET_BLEND_COLOR_SOURCE_COEFF_V_OGL_ONE_MINUS_DST_COLOR                                  0x00004307
2350 #define NVC397_SET_BLEND_COLOR_SOURCE_COEFF_V_OGL_SRC_ALPHA_SATURATE                                   0x00004308
2351 #define NVC397_SET_BLEND_COLOR_SOURCE_COEFF_V_OGL_CONSTANT_COLOR                                       0x0000C001
2352 #define NVC397_SET_BLEND_COLOR_SOURCE_COEFF_V_OGL_ONE_MINUS_CONSTANT_COLOR                             0x0000C002
2353 #define NVC397_SET_BLEND_COLOR_SOURCE_COEFF_V_OGL_CONSTANT_ALPHA                                       0x0000C003
2354 #define NVC397_SET_BLEND_COLOR_SOURCE_COEFF_V_OGL_ONE_MINUS_CONSTANT_ALPHA                             0x0000C004
2355 #define NVC397_SET_BLEND_COLOR_SOURCE_COEFF_V_OGL_SRC1COLOR                                            0x0000C900
2356 #define NVC397_SET_BLEND_COLOR_SOURCE_COEFF_V_OGL_INVSRC1COLOR                                         0x0000C901
2357 #define NVC397_SET_BLEND_COLOR_SOURCE_COEFF_V_OGL_SRC1ALPHA                                            0x0000C902
2358 #define NVC397_SET_BLEND_COLOR_SOURCE_COEFF_V_OGL_INVSRC1ALPHA                                         0x0000C903
2359 #define NVC397_SET_BLEND_COLOR_SOURCE_COEFF_V_D3D_ZERO                                                 0x00000001
2360 #define NVC397_SET_BLEND_COLOR_SOURCE_COEFF_V_D3D_ONE                                                  0x00000002
2361 #define NVC397_SET_BLEND_COLOR_SOURCE_COEFF_V_D3D_SRCCOLOR                                             0x00000003
2362 #define NVC397_SET_BLEND_COLOR_SOURCE_COEFF_V_D3D_INVSRCCOLOR                                          0x00000004
2363 #define NVC397_SET_BLEND_COLOR_SOURCE_COEFF_V_D3D_SRCALPHA                                             0x00000005
2364 #define NVC397_SET_BLEND_COLOR_SOURCE_COEFF_V_D3D_INVSRCALPHA                                          0x00000006
2365 #define NVC397_SET_BLEND_COLOR_SOURCE_COEFF_V_D3D_DESTALPHA                                            0x00000007
2366 #define NVC397_SET_BLEND_COLOR_SOURCE_COEFF_V_D3D_INVDESTALPHA                                         0x00000008
2367 #define NVC397_SET_BLEND_COLOR_SOURCE_COEFF_V_D3D_DESTCOLOR                                            0x00000009
2368 #define NVC397_SET_BLEND_COLOR_SOURCE_COEFF_V_D3D_INVDESTCOLOR                                         0x0000000A
2369 #define NVC397_SET_BLEND_COLOR_SOURCE_COEFF_V_D3D_SRCALPHASAT                                          0x0000000B
2370 #define NVC397_SET_BLEND_COLOR_SOURCE_COEFF_V_D3D_BOTHSRCALPHA                                         0x0000000C
2371 #define NVC397_SET_BLEND_COLOR_SOURCE_COEFF_V_D3D_BOTHINVSRCALPHA                                      0x0000000D
2372 #define NVC397_SET_BLEND_COLOR_SOURCE_COEFF_V_D3D_BLENDFACTOR                                          0x0000000E
2373 #define NVC397_SET_BLEND_COLOR_SOURCE_COEFF_V_D3D_INVBLENDFACTOR                                       0x0000000F
2374 #define NVC397_SET_BLEND_COLOR_SOURCE_COEFF_V_D3D_SRC1COLOR                                            0x00000010
2375 #define NVC397_SET_BLEND_COLOR_SOURCE_COEFF_V_D3D_INVSRC1COLOR                                         0x00000011
2376 #define NVC397_SET_BLEND_COLOR_SOURCE_COEFF_V_D3D_SRC1ALPHA                                            0x00000012
2377 #define NVC397_SET_BLEND_COLOR_SOURCE_COEFF_V_D3D_INVSRC1ALPHA                                         0x00000013
2378 
2379 #define NVC397_SET_BLEND_COLOR_DEST_COEFF                                                                  0x1348
2380 #define NVC397_SET_BLEND_COLOR_DEST_COEFF_V                                                                  31:0
2381 #define NVC397_SET_BLEND_COLOR_DEST_COEFF_V_OGL_ZERO                                                   0x00004000
2382 #define NVC397_SET_BLEND_COLOR_DEST_COEFF_V_OGL_ONE                                                    0x00004001
2383 #define NVC397_SET_BLEND_COLOR_DEST_COEFF_V_OGL_SRC_COLOR                                              0x00004300
2384 #define NVC397_SET_BLEND_COLOR_DEST_COEFF_V_OGL_ONE_MINUS_SRC_COLOR                                    0x00004301
2385 #define NVC397_SET_BLEND_COLOR_DEST_COEFF_V_OGL_SRC_ALPHA                                              0x00004302
2386 #define NVC397_SET_BLEND_COLOR_DEST_COEFF_V_OGL_ONE_MINUS_SRC_ALPHA                                    0x00004303
2387 #define NVC397_SET_BLEND_COLOR_DEST_COEFF_V_OGL_DST_ALPHA                                              0x00004304
2388 #define NVC397_SET_BLEND_COLOR_DEST_COEFF_V_OGL_ONE_MINUS_DST_ALPHA                                    0x00004305
2389 #define NVC397_SET_BLEND_COLOR_DEST_COEFF_V_OGL_DST_COLOR                                              0x00004306
2390 #define NVC397_SET_BLEND_COLOR_DEST_COEFF_V_OGL_ONE_MINUS_DST_COLOR                                    0x00004307
2391 #define NVC397_SET_BLEND_COLOR_DEST_COEFF_V_OGL_SRC_ALPHA_SATURATE                                     0x00004308
2392 #define NVC397_SET_BLEND_COLOR_DEST_COEFF_V_OGL_CONSTANT_COLOR                                         0x0000C001
2393 #define NVC397_SET_BLEND_COLOR_DEST_COEFF_V_OGL_ONE_MINUS_CONSTANT_COLOR                               0x0000C002
2394 #define NVC397_SET_BLEND_COLOR_DEST_COEFF_V_OGL_CONSTANT_ALPHA                                         0x0000C003
2395 #define NVC397_SET_BLEND_COLOR_DEST_COEFF_V_OGL_ONE_MINUS_CONSTANT_ALPHA                               0x0000C004
2396 #define NVC397_SET_BLEND_COLOR_DEST_COEFF_V_OGL_SRC1COLOR                                              0x0000C900
2397 #define NVC397_SET_BLEND_COLOR_DEST_COEFF_V_OGL_INVSRC1COLOR                                           0x0000C901
2398 #define NVC397_SET_BLEND_COLOR_DEST_COEFF_V_OGL_SRC1ALPHA                                              0x0000C902
2399 #define NVC397_SET_BLEND_COLOR_DEST_COEFF_V_OGL_INVSRC1ALPHA                                           0x0000C903
2400 #define NVC397_SET_BLEND_COLOR_DEST_COEFF_V_D3D_ZERO                                                   0x00000001
2401 #define NVC397_SET_BLEND_COLOR_DEST_COEFF_V_D3D_ONE                                                    0x00000002
2402 #define NVC397_SET_BLEND_COLOR_DEST_COEFF_V_D3D_SRCCOLOR                                               0x00000003
2403 #define NVC397_SET_BLEND_COLOR_DEST_COEFF_V_D3D_INVSRCCOLOR                                            0x00000004
2404 #define NVC397_SET_BLEND_COLOR_DEST_COEFF_V_D3D_SRCALPHA                                               0x00000005
2405 #define NVC397_SET_BLEND_COLOR_DEST_COEFF_V_D3D_INVSRCALPHA                                            0x00000006
2406 #define NVC397_SET_BLEND_COLOR_DEST_COEFF_V_D3D_DESTALPHA                                              0x00000007
2407 #define NVC397_SET_BLEND_COLOR_DEST_COEFF_V_D3D_INVDESTALPHA                                           0x00000008
2408 #define NVC397_SET_BLEND_COLOR_DEST_COEFF_V_D3D_DESTCOLOR                                              0x00000009
2409 #define NVC397_SET_BLEND_COLOR_DEST_COEFF_V_D3D_INVDESTCOLOR                                           0x0000000A
2410 #define NVC397_SET_BLEND_COLOR_DEST_COEFF_V_D3D_SRCALPHASAT                                            0x0000000B
2411 #define NVC397_SET_BLEND_COLOR_DEST_COEFF_V_D3D_BLENDFACTOR                                            0x0000000E
2412 #define NVC397_SET_BLEND_COLOR_DEST_COEFF_V_D3D_INVBLENDFACTOR                                         0x0000000F
2413 #define NVC397_SET_BLEND_COLOR_DEST_COEFF_V_D3D_SRC1COLOR                                              0x00000010
2414 #define NVC397_SET_BLEND_COLOR_DEST_COEFF_V_D3D_INVSRC1COLOR                                           0x00000011
2415 #define NVC397_SET_BLEND_COLOR_DEST_COEFF_V_D3D_SRC1ALPHA                                              0x00000012
2416 #define NVC397_SET_BLEND_COLOR_DEST_COEFF_V_D3D_INVSRC1ALPHA                                           0x00000013
2417 
2418 #define NVC397_SET_BLEND_ALPHA_OP                                                                          0x134c
2419 #define NVC397_SET_BLEND_ALPHA_OP_V                                                                          31:0
2420 #define NVC397_SET_BLEND_ALPHA_OP_V_OGL_FUNC_SUBTRACT                                                  0x0000800A
2421 #define NVC397_SET_BLEND_ALPHA_OP_V_OGL_FUNC_REVERSE_SUBTRACT                                          0x0000800B
2422 #define NVC397_SET_BLEND_ALPHA_OP_V_OGL_FUNC_ADD                                                       0x00008006
2423 #define NVC397_SET_BLEND_ALPHA_OP_V_OGL_MIN                                                            0x00008007
2424 #define NVC397_SET_BLEND_ALPHA_OP_V_OGL_MAX                                                            0x00008008
2425 #define NVC397_SET_BLEND_ALPHA_OP_V_D3D_ADD                                                            0x00000001
2426 #define NVC397_SET_BLEND_ALPHA_OP_V_D3D_SUBTRACT                                                       0x00000002
2427 #define NVC397_SET_BLEND_ALPHA_OP_V_D3D_REVSUBTRACT                                                    0x00000003
2428 #define NVC397_SET_BLEND_ALPHA_OP_V_D3D_MIN                                                            0x00000004
2429 #define NVC397_SET_BLEND_ALPHA_OP_V_D3D_MAX                                                            0x00000005
2430 
2431 #define NVC397_SET_BLEND_ALPHA_SOURCE_COEFF                                                                0x1350
2432 #define NVC397_SET_BLEND_ALPHA_SOURCE_COEFF_V                                                                31:0
2433 #define NVC397_SET_BLEND_ALPHA_SOURCE_COEFF_V_OGL_ZERO                                                 0x00004000
2434 #define NVC397_SET_BLEND_ALPHA_SOURCE_COEFF_V_OGL_ONE                                                  0x00004001
2435 #define NVC397_SET_BLEND_ALPHA_SOURCE_COEFF_V_OGL_SRC_COLOR                                            0x00004300
2436 #define NVC397_SET_BLEND_ALPHA_SOURCE_COEFF_V_OGL_ONE_MINUS_SRC_COLOR                                  0x00004301
2437 #define NVC397_SET_BLEND_ALPHA_SOURCE_COEFF_V_OGL_SRC_ALPHA                                            0x00004302
2438 #define NVC397_SET_BLEND_ALPHA_SOURCE_COEFF_V_OGL_ONE_MINUS_SRC_ALPHA                                  0x00004303
2439 #define NVC397_SET_BLEND_ALPHA_SOURCE_COEFF_V_OGL_DST_ALPHA                                            0x00004304
2440 #define NVC397_SET_BLEND_ALPHA_SOURCE_COEFF_V_OGL_ONE_MINUS_DST_ALPHA                                  0x00004305
2441 #define NVC397_SET_BLEND_ALPHA_SOURCE_COEFF_V_OGL_DST_COLOR                                            0x00004306
2442 #define NVC397_SET_BLEND_ALPHA_SOURCE_COEFF_V_OGL_ONE_MINUS_DST_COLOR                                  0x00004307
2443 #define NVC397_SET_BLEND_ALPHA_SOURCE_COEFF_V_OGL_SRC_ALPHA_SATURATE                                   0x00004308
2444 #define NVC397_SET_BLEND_ALPHA_SOURCE_COEFF_V_OGL_CONSTANT_COLOR                                       0x0000C001
2445 #define NVC397_SET_BLEND_ALPHA_SOURCE_COEFF_V_OGL_ONE_MINUS_CONSTANT_COLOR                             0x0000C002
2446 #define NVC397_SET_BLEND_ALPHA_SOURCE_COEFF_V_OGL_CONSTANT_ALPHA                                       0x0000C003
2447 #define NVC397_SET_BLEND_ALPHA_SOURCE_COEFF_V_OGL_ONE_MINUS_CONSTANT_ALPHA                             0x0000C004
2448 #define NVC397_SET_BLEND_ALPHA_SOURCE_COEFF_V_OGL_SRC1COLOR                                            0x0000C900
2449 #define NVC397_SET_BLEND_ALPHA_SOURCE_COEFF_V_OGL_INVSRC1COLOR                                         0x0000C901
2450 #define NVC397_SET_BLEND_ALPHA_SOURCE_COEFF_V_OGL_SRC1ALPHA                                            0x0000C902
2451 #define NVC397_SET_BLEND_ALPHA_SOURCE_COEFF_V_OGL_INVSRC1ALPHA                                         0x0000C903
2452 #define NVC397_SET_BLEND_ALPHA_SOURCE_COEFF_V_D3D_ZERO                                                 0x00000001
2453 #define NVC397_SET_BLEND_ALPHA_SOURCE_COEFF_V_D3D_ONE                                                  0x00000002
2454 #define NVC397_SET_BLEND_ALPHA_SOURCE_COEFF_V_D3D_SRCCOLOR                                             0x00000003
2455 #define NVC397_SET_BLEND_ALPHA_SOURCE_COEFF_V_D3D_INVSRCCOLOR                                          0x00000004
2456 #define NVC397_SET_BLEND_ALPHA_SOURCE_COEFF_V_D3D_SRCALPHA                                             0x00000005
2457 #define NVC397_SET_BLEND_ALPHA_SOURCE_COEFF_V_D3D_INVSRCALPHA                                          0x00000006
2458 #define NVC397_SET_BLEND_ALPHA_SOURCE_COEFF_V_D3D_DESTALPHA                                            0x00000007
2459 #define NVC397_SET_BLEND_ALPHA_SOURCE_COEFF_V_D3D_INVDESTALPHA                                         0x00000008
2460 #define NVC397_SET_BLEND_ALPHA_SOURCE_COEFF_V_D3D_DESTCOLOR                                            0x00000009
2461 #define NVC397_SET_BLEND_ALPHA_SOURCE_COEFF_V_D3D_INVDESTCOLOR                                         0x0000000A
2462 #define NVC397_SET_BLEND_ALPHA_SOURCE_COEFF_V_D3D_SRCALPHASAT                                          0x0000000B
2463 #define NVC397_SET_BLEND_ALPHA_SOURCE_COEFF_V_D3D_BOTHSRCALPHA                                         0x0000000C
2464 #define NVC397_SET_BLEND_ALPHA_SOURCE_COEFF_V_D3D_BOTHINVSRCALPHA                                      0x0000000D
2465 #define NVC397_SET_BLEND_ALPHA_SOURCE_COEFF_V_D3D_BLENDFACTOR                                          0x0000000E
2466 #define NVC397_SET_BLEND_ALPHA_SOURCE_COEFF_V_D3D_INVBLENDFACTOR                                       0x0000000F
2467 #define NVC397_SET_BLEND_ALPHA_SOURCE_COEFF_V_D3D_SRC1COLOR                                            0x00000010
2468 #define NVC397_SET_BLEND_ALPHA_SOURCE_COEFF_V_D3D_INVSRC1COLOR                                         0x00000011
2469 #define NVC397_SET_BLEND_ALPHA_SOURCE_COEFF_V_D3D_SRC1ALPHA                                            0x00000012
2470 #define NVC397_SET_BLEND_ALPHA_SOURCE_COEFF_V_D3D_INVSRC1ALPHA                                         0x00000013
2471 
2472 #define NVC397_SET_GLOBAL_COLOR_KEY                                                                        0x1354
2473 #define NVC397_SET_GLOBAL_COLOR_KEY_ENABLE                                                                    0:0
2474 #define NVC397_SET_GLOBAL_COLOR_KEY_ENABLE_FALSE                                                       0x00000000
2475 #define NVC397_SET_GLOBAL_COLOR_KEY_ENABLE_TRUE                                                        0x00000001
2476 
2477 #define NVC397_SET_BLEND_ALPHA_DEST_COEFF                                                                  0x1358
2478 #define NVC397_SET_BLEND_ALPHA_DEST_COEFF_V                                                                  31:0
2479 #define NVC397_SET_BLEND_ALPHA_DEST_COEFF_V_OGL_ZERO                                                   0x00004000
2480 #define NVC397_SET_BLEND_ALPHA_DEST_COEFF_V_OGL_ONE                                                    0x00004001
2481 #define NVC397_SET_BLEND_ALPHA_DEST_COEFF_V_OGL_SRC_COLOR                                              0x00004300
2482 #define NVC397_SET_BLEND_ALPHA_DEST_COEFF_V_OGL_ONE_MINUS_SRC_COLOR                                    0x00004301
2483 #define NVC397_SET_BLEND_ALPHA_DEST_COEFF_V_OGL_SRC_ALPHA                                              0x00004302
2484 #define NVC397_SET_BLEND_ALPHA_DEST_COEFF_V_OGL_ONE_MINUS_SRC_ALPHA                                    0x00004303
2485 #define NVC397_SET_BLEND_ALPHA_DEST_COEFF_V_OGL_DST_ALPHA                                              0x00004304
2486 #define NVC397_SET_BLEND_ALPHA_DEST_COEFF_V_OGL_ONE_MINUS_DST_ALPHA                                    0x00004305
2487 #define NVC397_SET_BLEND_ALPHA_DEST_COEFF_V_OGL_DST_COLOR                                              0x00004306
2488 #define NVC397_SET_BLEND_ALPHA_DEST_COEFF_V_OGL_ONE_MINUS_DST_COLOR                                    0x00004307
2489 #define NVC397_SET_BLEND_ALPHA_DEST_COEFF_V_OGL_SRC_ALPHA_SATURATE                                     0x00004308
2490 #define NVC397_SET_BLEND_ALPHA_DEST_COEFF_V_OGL_CONSTANT_COLOR                                         0x0000C001
2491 #define NVC397_SET_BLEND_ALPHA_DEST_COEFF_V_OGL_ONE_MINUS_CONSTANT_COLOR                               0x0000C002
2492 #define NVC397_SET_BLEND_ALPHA_DEST_COEFF_V_OGL_CONSTANT_ALPHA                                         0x0000C003
2493 #define NVC397_SET_BLEND_ALPHA_DEST_COEFF_V_OGL_ONE_MINUS_CONSTANT_ALPHA                               0x0000C004
2494 #define NVC397_SET_BLEND_ALPHA_DEST_COEFF_V_OGL_SRC1COLOR                                              0x0000C900
2495 #define NVC397_SET_BLEND_ALPHA_DEST_COEFF_V_OGL_INVSRC1COLOR                                           0x0000C901
2496 #define NVC397_SET_BLEND_ALPHA_DEST_COEFF_V_OGL_SRC1ALPHA                                              0x0000C902
2497 #define NVC397_SET_BLEND_ALPHA_DEST_COEFF_V_OGL_INVSRC1ALPHA                                           0x0000C903
2498 #define NVC397_SET_BLEND_ALPHA_DEST_COEFF_V_D3D_ZERO                                                   0x00000001
2499 #define NVC397_SET_BLEND_ALPHA_DEST_COEFF_V_D3D_ONE                                                    0x00000002
2500 #define NVC397_SET_BLEND_ALPHA_DEST_COEFF_V_D3D_SRCCOLOR                                               0x00000003
2501 #define NVC397_SET_BLEND_ALPHA_DEST_COEFF_V_D3D_INVSRCCOLOR                                            0x00000004
2502 #define NVC397_SET_BLEND_ALPHA_DEST_COEFF_V_D3D_SRCALPHA                                               0x00000005
2503 #define NVC397_SET_BLEND_ALPHA_DEST_COEFF_V_D3D_INVSRCALPHA                                            0x00000006
2504 #define NVC397_SET_BLEND_ALPHA_DEST_COEFF_V_D3D_DESTALPHA                                              0x00000007
2505 #define NVC397_SET_BLEND_ALPHA_DEST_COEFF_V_D3D_INVDESTALPHA                                           0x00000008
2506 #define NVC397_SET_BLEND_ALPHA_DEST_COEFF_V_D3D_DESTCOLOR                                              0x00000009
2507 #define NVC397_SET_BLEND_ALPHA_DEST_COEFF_V_D3D_INVDESTCOLOR                                           0x0000000A
2508 #define NVC397_SET_BLEND_ALPHA_DEST_COEFF_V_D3D_SRCALPHASAT                                            0x0000000B
2509 #define NVC397_SET_BLEND_ALPHA_DEST_COEFF_V_D3D_BLENDFACTOR                                            0x0000000E
2510 #define NVC397_SET_BLEND_ALPHA_DEST_COEFF_V_D3D_INVBLENDFACTOR                                         0x0000000F
2511 #define NVC397_SET_BLEND_ALPHA_DEST_COEFF_V_D3D_SRC1COLOR                                              0x00000010
2512 #define NVC397_SET_BLEND_ALPHA_DEST_COEFF_V_D3D_INVSRC1COLOR                                           0x00000011
2513 #define NVC397_SET_BLEND_ALPHA_DEST_COEFF_V_D3D_SRC1ALPHA                                              0x00000012
2514 #define NVC397_SET_BLEND_ALPHA_DEST_COEFF_V_D3D_INVSRC1ALPHA                                           0x00000013
2515 
2516 #define NVC397_SET_SINGLE_ROP_CONTROL                                                                      0x135c
2517 #define NVC397_SET_SINGLE_ROP_CONTROL_ENABLE                                                                  0:0
2518 #define NVC397_SET_SINGLE_ROP_CONTROL_ENABLE_FALSE                                                     0x00000000
2519 #define NVC397_SET_SINGLE_ROP_CONTROL_ENABLE_TRUE                                                      0x00000001
2520 
2521 #define NVC397_SET_BLEND(i)                                                                        (0x1360+(i)*4)
2522 #define NVC397_SET_BLEND_ENABLE                                                                               0:0
2523 #define NVC397_SET_BLEND_ENABLE_FALSE                                                                  0x00000000
2524 #define NVC397_SET_BLEND_ENABLE_TRUE                                                                   0x00000001
2525 
2526 #define NVC397_SET_STENCIL_TEST                                                                            0x1380
2527 #define NVC397_SET_STENCIL_TEST_ENABLE                                                                        0:0
2528 #define NVC397_SET_STENCIL_TEST_ENABLE_FALSE                                                           0x00000000
2529 #define NVC397_SET_STENCIL_TEST_ENABLE_TRUE                                                            0x00000001
2530 
2531 #define NVC397_SET_STENCIL_OP_FAIL                                                                         0x1384
2532 #define NVC397_SET_STENCIL_OP_FAIL_V                                                                         31:0
2533 #define NVC397_SET_STENCIL_OP_FAIL_V_OGL_KEEP                                                          0x00001E00
2534 #define NVC397_SET_STENCIL_OP_FAIL_V_OGL_ZERO                                                          0x00000000
2535 #define NVC397_SET_STENCIL_OP_FAIL_V_OGL_REPLACE                                                       0x00001E01
2536 #define NVC397_SET_STENCIL_OP_FAIL_V_OGL_INCRSAT                                                       0x00001E02
2537 #define NVC397_SET_STENCIL_OP_FAIL_V_OGL_DECRSAT                                                       0x00001E03
2538 #define NVC397_SET_STENCIL_OP_FAIL_V_OGL_INVERT                                                        0x0000150A
2539 #define NVC397_SET_STENCIL_OP_FAIL_V_OGL_INCR                                                          0x00008507
2540 #define NVC397_SET_STENCIL_OP_FAIL_V_OGL_DECR                                                          0x00008508
2541 #define NVC397_SET_STENCIL_OP_FAIL_V_D3D_KEEP                                                          0x00000001
2542 #define NVC397_SET_STENCIL_OP_FAIL_V_D3D_ZERO                                                          0x00000002
2543 #define NVC397_SET_STENCIL_OP_FAIL_V_D3D_REPLACE                                                       0x00000003
2544 #define NVC397_SET_STENCIL_OP_FAIL_V_D3D_INCRSAT                                                       0x00000004
2545 #define NVC397_SET_STENCIL_OP_FAIL_V_D3D_DECRSAT                                                       0x00000005
2546 #define NVC397_SET_STENCIL_OP_FAIL_V_D3D_INVERT                                                        0x00000006
2547 #define NVC397_SET_STENCIL_OP_FAIL_V_D3D_INCR                                                          0x00000007
2548 #define NVC397_SET_STENCIL_OP_FAIL_V_D3D_DECR                                                          0x00000008
2549 
2550 #define NVC397_SET_STENCIL_OP_ZFAIL                                                                        0x1388
2551 #define NVC397_SET_STENCIL_OP_ZFAIL_V                                                                        31:0
2552 #define NVC397_SET_STENCIL_OP_ZFAIL_V_OGL_KEEP                                                         0x00001E00
2553 #define NVC397_SET_STENCIL_OP_ZFAIL_V_OGL_ZERO                                                         0x00000000
2554 #define NVC397_SET_STENCIL_OP_ZFAIL_V_OGL_REPLACE                                                      0x00001E01
2555 #define NVC397_SET_STENCIL_OP_ZFAIL_V_OGL_INCRSAT                                                      0x00001E02
2556 #define NVC397_SET_STENCIL_OP_ZFAIL_V_OGL_DECRSAT                                                      0x00001E03
2557 #define NVC397_SET_STENCIL_OP_ZFAIL_V_OGL_INVERT                                                       0x0000150A
2558 #define NVC397_SET_STENCIL_OP_ZFAIL_V_OGL_INCR                                                         0x00008507
2559 #define NVC397_SET_STENCIL_OP_ZFAIL_V_OGL_DECR                                                         0x00008508
2560 #define NVC397_SET_STENCIL_OP_ZFAIL_V_D3D_KEEP                                                         0x00000001
2561 #define NVC397_SET_STENCIL_OP_ZFAIL_V_D3D_ZERO                                                         0x00000002
2562 #define NVC397_SET_STENCIL_OP_ZFAIL_V_D3D_REPLACE                                                      0x00000003
2563 #define NVC397_SET_STENCIL_OP_ZFAIL_V_D3D_INCRSAT                                                      0x00000004
2564 #define NVC397_SET_STENCIL_OP_ZFAIL_V_D3D_DECRSAT                                                      0x00000005
2565 #define NVC397_SET_STENCIL_OP_ZFAIL_V_D3D_INVERT                                                       0x00000006
2566 #define NVC397_SET_STENCIL_OP_ZFAIL_V_D3D_INCR                                                         0x00000007
2567 #define NVC397_SET_STENCIL_OP_ZFAIL_V_D3D_DECR                                                         0x00000008
2568 
2569 #define NVC397_SET_STENCIL_OP_ZPASS                                                                        0x138c
2570 #define NVC397_SET_STENCIL_OP_ZPASS_V                                                                        31:0
2571 #define NVC397_SET_STENCIL_OP_ZPASS_V_OGL_KEEP                                                         0x00001E00
2572 #define NVC397_SET_STENCIL_OP_ZPASS_V_OGL_ZERO                                                         0x00000000
2573 #define NVC397_SET_STENCIL_OP_ZPASS_V_OGL_REPLACE                                                      0x00001E01
2574 #define NVC397_SET_STENCIL_OP_ZPASS_V_OGL_INCRSAT                                                      0x00001E02
2575 #define NVC397_SET_STENCIL_OP_ZPASS_V_OGL_DECRSAT                                                      0x00001E03
2576 #define NVC397_SET_STENCIL_OP_ZPASS_V_OGL_INVERT                                                       0x0000150A
2577 #define NVC397_SET_STENCIL_OP_ZPASS_V_OGL_INCR                                                         0x00008507
2578 #define NVC397_SET_STENCIL_OP_ZPASS_V_OGL_DECR                                                         0x00008508
2579 #define NVC397_SET_STENCIL_OP_ZPASS_V_D3D_KEEP                                                         0x00000001
2580 #define NVC397_SET_STENCIL_OP_ZPASS_V_D3D_ZERO                                                         0x00000002
2581 #define NVC397_SET_STENCIL_OP_ZPASS_V_D3D_REPLACE                                                      0x00000003
2582 #define NVC397_SET_STENCIL_OP_ZPASS_V_D3D_INCRSAT                                                      0x00000004
2583 #define NVC397_SET_STENCIL_OP_ZPASS_V_D3D_DECRSAT                                                      0x00000005
2584 #define NVC397_SET_STENCIL_OP_ZPASS_V_D3D_INVERT                                                       0x00000006
2585 #define NVC397_SET_STENCIL_OP_ZPASS_V_D3D_INCR                                                         0x00000007
2586 #define NVC397_SET_STENCIL_OP_ZPASS_V_D3D_DECR                                                         0x00000008
2587 
2588 #define NVC397_SET_STENCIL_FUNC                                                                            0x1390
2589 #define NVC397_SET_STENCIL_FUNC_V                                                                            31:0
2590 #define NVC397_SET_STENCIL_FUNC_V_OGL_NEVER                                                            0x00000200
2591 #define NVC397_SET_STENCIL_FUNC_V_OGL_LESS                                                             0x00000201
2592 #define NVC397_SET_STENCIL_FUNC_V_OGL_EQUAL                                                            0x00000202
2593 #define NVC397_SET_STENCIL_FUNC_V_OGL_LEQUAL                                                           0x00000203
2594 #define NVC397_SET_STENCIL_FUNC_V_OGL_GREATER                                                          0x00000204
2595 #define NVC397_SET_STENCIL_FUNC_V_OGL_NOTEQUAL                                                         0x00000205
2596 #define NVC397_SET_STENCIL_FUNC_V_OGL_GEQUAL                                                           0x00000206
2597 #define NVC397_SET_STENCIL_FUNC_V_OGL_ALWAYS                                                           0x00000207
2598 #define NVC397_SET_STENCIL_FUNC_V_D3D_NEVER                                                            0x00000001
2599 #define NVC397_SET_STENCIL_FUNC_V_D3D_LESS                                                             0x00000002
2600 #define NVC397_SET_STENCIL_FUNC_V_D3D_EQUAL                                                            0x00000003
2601 #define NVC397_SET_STENCIL_FUNC_V_D3D_LESSEQUAL                                                        0x00000004
2602 #define NVC397_SET_STENCIL_FUNC_V_D3D_GREATER                                                          0x00000005
2603 #define NVC397_SET_STENCIL_FUNC_V_D3D_NOTEQUAL                                                         0x00000006
2604 #define NVC397_SET_STENCIL_FUNC_V_D3D_GREATEREQUAL                                                     0x00000007
2605 #define NVC397_SET_STENCIL_FUNC_V_D3D_ALWAYS                                                           0x00000008
2606 
2607 #define NVC397_SET_STENCIL_FUNC_REF                                                                        0x1394
2608 #define NVC397_SET_STENCIL_FUNC_REF_V                                                                         7:0
2609 
2610 #define NVC397_SET_STENCIL_FUNC_MASK                                                                       0x1398
2611 #define NVC397_SET_STENCIL_FUNC_MASK_V                                                                        7:0
2612 
2613 #define NVC397_SET_STENCIL_MASK                                                                            0x139c
2614 #define NVC397_SET_STENCIL_MASK_V                                                                             7:0
2615 
2616 #define NVC397_SET_DRAW_AUTO_START                                                                         0x13a4
2617 #define NVC397_SET_DRAW_AUTO_START_BYTE_COUNT                                                                31:0
2618 
2619 #define NVC397_SET_PS_SATURATE                                                                             0x13a8
2620 #define NVC397_SET_PS_SATURATE_OUTPUT0                                                                        0:0
2621 #define NVC397_SET_PS_SATURATE_OUTPUT0_FALSE                                                           0x00000000
2622 #define NVC397_SET_PS_SATURATE_OUTPUT0_TRUE                                                            0x00000001
2623 #define NVC397_SET_PS_SATURATE_CLAMP_RANGE0                                                                   1:1
2624 #define NVC397_SET_PS_SATURATE_CLAMP_RANGE0_ZERO_TO_PLUS_ONE                                           0x00000000
2625 #define NVC397_SET_PS_SATURATE_CLAMP_RANGE0_MINUS_ONE_TO_PLUS_ONE                                      0x00000001
2626 #define NVC397_SET_PS_SATURATE_OUTPUT1                                                                        4:4
2627 #define NVC397_SET_PS_SATURATE_OUTPUT1_FALSE                                                           0x00000000
2628 #define NVC397_SET_PS_SATURATE_OUTPUT1_TRUE                                                            0x00000001
2629 #define NVC397_SET_PS_SATURATE_CLAMP_RANGE1                                                                   5:5
2630 #define NVC397_SET_PS_SATURATE_CLAMP_RANGE1_ZERO_TO_PLUS_ONE                                           0x00000000
2631 #define NVC397_SET_PS_SATURATE_CLAMP_RANGE1_MINUS_ONE_TO_PLUS_ONE                                      0x00000001
2632 #define NVC397_SET_PS_SATURATE_OUTPUT2                                                                        8:8
2633 #define NVC397_SET_PS_SATURATE_OUTPUT2_FALSE                                                           0x00000000
2634 #define NVC397_SET_PS_SATURATE_OUTPUT2_TRUE                                                            0x00000001
2635 #define NVC397_SET_PS_SATURATE_CLAMP_RANGE2                                                                   9:9
2636 #define NVC397_SET_PS_SATURATE_CLAMP_RANGE2_ZERO_TO_PLUS_ONE                                           0x00000000
2637 #define NVC397_SET_PS_SATURATE_CLAMP_RANGE2_MINUS_ONE_TO_PLUS_ONE                                      0x00000001
2638 #define NVC397_SET_PS_SATURATE_OUTPUT3                                                                      12:12
2639 #define NVC397_SET_PS_SATURATE_OUTPUT3_FALSE                                                           0x00000000
2640 #define NVC397_SET_PS_SATURATE_OUTPUT3_TRUE                                                            0x00000001
2641 #define NVC397_SET_PS_SATURATE_CLAMP_RANGE3                                                                 13:13
2642 #define NVC397_SET_PS_SATURATE_CLAMP_RANGE3_ZERO_TO_PLUS_ONE                                           0x00000000
2643 #define NVC397_SET_PS_SATURATE_CLAMP_RANGE3_MINUS_ONE_TO_PLUS_ONE                                      0x00000001
2644 #define NVC397_SET_PS_SATURATE_OUTPUT4                                                                      16:16
2645 #define NVC397_SET_PS_SATURATE_OUTPUT4_FALSE                                                           0x00000000
2646 #define NVC397_SET_PS_SATURATE_OUTPUT4_TRUE                                                            0x00000001
2647 #define NVC397_SET_PS_SATURATE_CLAMP_RANGE4                                                                 17:17
2648 #define NVC397_SET_PS_SATURATE_CLAMP_RANGE4_ZERO_TO_PLUS_ONE                                           0x00000000
2649 #define NVC397_SET_PS_SATURATE_CLAMP_RANGE4_MINUS_ONE_TO_PLUS_ONE                                      0x00000001
2650 #define NVC397_SET_PS_SATURATE_OUTPUT5                                                                      20:20
2651 #define NVC397_SET_PS_SATURATE_OUTPUT5_FALSE                                                           0x00000000
2652 #define NVC397_SET_PS_SATURATE_OUTPUT5_TRUE                                                            0x00000001
2653 #define NVC397_SET_PS_SATURATE_CLAMP_RANGE5                                                                 21:21
2654 #define NVC397_SET_PS_SATURATE_CLAMP_RANGE5_ZERO_TO_PLUS_ONE                                           0x00000000
2655 #define NVC397_SET_PS_SATURATE_CLAMP_RANGE5_MINUS_ONE_TO_PLUS_ONE                                      0x00000001
2656 #define NVC397_SET_PS_SATURATE_OUTPUT6                                                                      24:24
2657 #define NVC397_SET_PS_SATURATE_OUTPUT6_FALSE                                                           0x00000000
2658 #define NVC397_SET_PS_SATURATE_OUTPUT6_TRUE                                                            0x00000001
2659 #define NVC397_SET_PS_SATURATE_CLAMP_RANGE6                                                                 25:25
2660 #define NVC397_SET_PS_SATURATE_CLAMP_RANGE6_ZERO_TO_PLUS_ONE                                           0x00000000
2661 #define NVC397_SET_PS_SATURATE_CLAMP_RANGE6_MINUS_ONE_TO_PLUS_ONE                                      0x00000001
2662 #define NVC397_SET_PS_SATURATE_OUTPUT7                                                                      28:28
2663 #define NVC397_SET_PS_SATURATE_OUTPUT7_FALSE                                                           0x00000000
2664 #define NVC397_SET_PS_SATURATE_OUTPUT7_TRUE                                                            0x00000001
2665 #define NVC397_SET_PS_SATURATE_CLAMP_RANGE7                                                                 29:29
2666 #define NVC397_SET_PS_SATURATE_CLAMP_RANGE7_ZERO_TO_PLUS_ONE                                           0x00000000
2667 #define NVC397_SET_PS_SATURATE_CLAMP_RANGE7_MINUS_ONE_TO_PLUS_ONE                                      0x00000001
2668 
2669 #define NVC397_SET_WINDOW_ORIGIN                                                                           0x13ac
2670 #define NVC397_SET_WINDOW_ORIGIN_MODE                                                                         0:0
2671 #define NVC397_SET_WINDOW_ORIGIN_MODE_UPPER_LEFT                                                       0x00000000
2672 #define NVC397_SET_WINDOW_ORIGIN_MODE_LOWER_LEFT                                                       0x00000001
2673 #define NVC397_SET_WINDOW_ORIGIN_FLIP_Y                                                                       4:4
2674 #define NVC397_SET_WINDOW_ORIGIN_FLIP_Y_FALSE                                                          0x00000000
2675 #define NVC397_SET_WINDOW_ORIGIN_FLIP_Y_TRUE                                                           0x00000001
2676 
2677 #define NVC397_SET_LINE_WIDTH_FLOAT                                                                        0x13b0
2678 #define NVC397_SET_LINE_WIDTH_FLOAT_V                                                                        31:0
2679 
2680 #define NVC397_SET_ALIASED_LINE_WIDTH_FLOAT                                                                0x13b4
2681 #define NVC397_SET_ALIASED_LINE_WIDTH_FLOAT_V                                                                31:0
2682 
2683 #define NVC397_SET_LINE_MULTISAMPLE_OVERRIDE                                                               0x1418
2684 #define NVC397_SET_LINE_MULTISAMPLE_OVERRIDE_ENABLE                                                           0:0
2685 #define NVC397_SET_LINE_MULTISAMPLE_OVERRIDE_ENABLE_FALSE                                              0x00000000
2686 #define NVC397_SET_LINE_MULTISAMPLE_OVERRIDE_ENABLE_TRUE                                               0x00000001
2687 
2688 #define NVC397_INVALIDATE_SAMPLER_CACHE_NO_WFI                                                             0x1424
2689 #define NVC397_INVALIDATE_SAMPLER_CACHE_NO_WFI_LINES                                                          0:0
2690 #define NVC397_INVALIDATE_SAMPLER_CACHE_NO_WFI_LINES_ALL                                               0x00000000
2691 #define NVC397_INVALIDATE_SAMPLER_CACHE_NO_WFI_LINES_ONE                                               0x00000001
2692 #define NVC397_INVALIDATE_SAMPLER_CACHE_NO_WFI_TAG                                                           25:4
2693 
2694 #define NVC397_INVALIDATE_TEXTURE_HEADER_CACHE_NO_WFI                                                      0x1428
2695 #define NVC397_INVALIDATE_TEXTURE_HEADER_CACHE_NO_WFI_LINES                                                   0:0
2696 #define NVC397_INVALIDATE_TEXTURE_HEADER_CACHE_NO_WFI_LINES_ALL                                        0x00000000
2697 #define NVC397_INVALIDATE_TEXTURE_HEADER_CACHE_NO_WFI_LINES_ONE                                        0x00000001
2698 #define NVC397_INVALIDATE_TEXTURE_HEADER_CACHE_NO_WFI_TAG                                                    25:4
2699 
2700 #define NVC397_SET_GLOBAL_BASE_VERTEX_INDEX                                                                0x1434
2701 #define NVC397_SET_GLOBAL_BASE_VERTEX_INDEX_V                                                                31:0
2702 
2703 #define NVC397_SET_GLOBAL_BASE_INSTANCE_INDEX                                                              0x1438
2704 #define NVC397_SET_GLOBAL_BASE_INSTANCE_INDEX_V                                                              31:0
2705 
2706 #define NVC397_SET_PS_WARP_WATERMARKS                                                                      0x1450
2707 #define NVC397_SET_PS_WARP_WATERMARKS_LOW                                                                    15:0
2708 #define NVC397_SET_PS_WARP_WATERMARKS_HIGH                                                                  31:16
2709 
2710 #define NVC397_SET_PS_REGISTER_WATERMARKS                                                                  0x1454
2711 #define NVC397_SET_PS_REGISTER_WATERMARKS_LOW                                                                15:0
2712 #define NVC397_SET_PS_REGISTER_WATERMARKS_HIGH                                                              31:16
2713 
2714 #define NVC397_STORE_ZCULL                                                                                 0x1464
2715 #define NVC397_STORE_ZCULL_V                                                                                  0:0
2716 
2717 #define NVC397_SET_ITERATED_BLEND_CONSTANT_RED(j)                                                 (0x1480+(j)*16)
2718 #define NVC397_SET_ITERATED_BLEND_CONSTANT_RED_V                                                             15:0
2719 
2720 #define NVC397_SET_ITERATED_BLEND_CONSTANT_GREEN(j)                                               (0x1484+(j)*16)
2721 #define NVC397_SET_ITERATED_BLEND_CONSTANT_GREEN_V                                                           15:0
2722 
2723 #define NVC397_SET_ITERATED_BLEND_CONSTANT_BLUE(j)                                                (0x1488+(j)*16)
2724 #define NVC397_SET_ITERATED_BLEND_CONSTANT_BLUE_V                                                            15:0
2725 
2726 #define NVC397_LOAD_ZCULL                                                                                  0x1500
2727 #define NVC397_LOAD_ZCULL_V                                                                                   0:0
2728 
2729 #define NVC397_SET_SURFACE_CLIP_ID_HEIGHT                                                                  0x1504
2730 #define NVC397_SET_SURFACE_CLIP_ID_HEIGHT_V                                                                  31:0
2731 
2732 #define NVC397_SET_CLIP_ID_CLEAR_RECT_HORIZONTAL                                                           0x1508
2733 #define NVC397_SET_CLIP_ID_CLEAR_RECT_HORIZONTAL_XMIN                                                        15:0
2734 #define NVC397_SET_CLIP_ID_CLEAR_RECT_HORIZONTAL_XMAX                                                       31:16
2735 
2736 #define NVC397_SET_CLIP_ID_CLEAR_RECT_VERTICAL                                                             0x150c
2737 #define NVC397_SET_CLIP_ID_CLEAR_RECT_VERTICAL_YMIN                                                          15:0
2738 #define NVC397_SET_CLIP_ID_CLEAR_RECT_VERTICAL_YMAX                                                         31:16
2739 
2740 #define NVC397_SET_USER_CLIP_ENABLE                                                                        0x1510
2741 #define NVC397_SET_USER_CLIP_ENABLE_PLANE0                                                                    0:0
2742 #define NVC397_SET_USER_CLIP_ENABLE_PLANE0_FALSE                                                       0x00000000
2743 #define NVC397_SET_USER_CLIP_ENABLE_PLANE0_TRUE                                                        0x00000001
2744 #define NVC397_SET_USER_CLIP_ENABLE_PLANE1                                                                    1:1
2745 #define NVC397_SET_USER_CLIP_ENABLE_PLANE1_FALSE                                                       0x00000000
2746 #define NVC397_SET_USER_CLIP_ENABLE_PLANE1_TRUE                                                        0x00000001
2747 #define NVC397_SET_USER_CLIP_ENABLE_PLANE2                                                                    2:2
2748 #define NVC397_SET_USER_CLIP_ENABLE_PLANE2_FALSE                                                       0x00000000
2749 #define NVC397_SET_USER_CLIP_ENABLE_PLANE2_TRUE                                                        0x00000001
2750 #define NVC397_SET_USER_CLIP_ENABLE_PLANE3                                                                    3:3
2751 #define NVC397_SET_USER_CLIP_ENABLE_PLANE3_FALSE                                                       0x00000000
2752 #define NVC397_SET_USER_CLIP_ENABLE_PLANE3_TRUE                                                        0x00000001
2753 #define NVC397_SET_USER_CLIP_ENABLE_PLANE4                                                                    4:4
2754 #define NVC397_SET_USER_CLIP_ENABLE_PLANE4_FALSE                                                       0x00000000
2755 #define NVC397_SET_USER_CLIP_ENABLE_PLANE4_TRUE                                                        0x00000001
2756 #define NVC397_SET_USER_CLIP_ENABLE_PLANE5                                                                    5:5
2757 #define NVC397_SET_USER_CLIP_ENABLE_PLANE5_FALSE                                                       0x00000000
2758 #define NVC397_SET_USER_CLIP_ENABLE_PLANE5_TRUE                                                        0x00000001
2759 #define NVC397_SET_USER_CLIP_ENABLE_PLANE6                                                                    6:6
2760 #define NVC397_SET_USER_CLIP_ENABLE_PLANE6_FALSE                                                       0x00000000
2761 #define NVC397_SET_USER_CLIP_ENABLE_PLANE6_TRUE                                                        0x00000001
2762 #define NVC397_SET_USER_CLIP_ENABLE_PLANE7                                                                    7:7
2763 #define NVC397_SET_USER_CLIP_ENABLE_PLANE7_FALSE                                                       0x00000000
2764 #define NVC397_SET_USER_CLIP_ENABLE_PLANE7_TRUE                                                        0x00000001
2765 
2766 #define NVC397_SET_ZPASS_PIXEL_COUNT                                                                       0x1514
2767 #define NVC397_SET_ZPASS_PIXEL_COUNT_ENABLE                                                                   0:0
2768 #define NVC397_SET_ZPASS_PIXEL_COUNT_ENABLE_FALSE                                                      0x00000000
2769 #define NVC397_SET_ZPASS_PIXEL_COUNT_ENABLE_TRUE                                                       0x00000001
2770 
2771 #define NVC397_SET_POINT_SIZE                                                                              0x1518
2772 #define NVC397_SET_POINT_SIZE_V                                                                              31:0
2773 
2774 #define NVC397_SET_ZCULL_STATS                                                                             0x151c
2775 #define NVC397_SET_ZCULL_STATS_ENABLE                                                                         0:0
2776 #define NVC397_SET_ZCULL_STATS_ENABLE_FALSE                                                            0x00000000
2777 #define NVC397_SET_ZCULL_STATS_ENABLE_TRUE                                                             0x00000001
2778 
2779 #define NVC397_SET_POINT_SPRITE                                                                            0x1520
2780 #define NVC397_SET_POINT_SPRITE_ENABLE                                                                        0:0
2781 #define NVC397_SET_POINT_SPRITE_ENABLE_FALSE                                                           0x00000000
2782 #define NVC397_SET_POINT_SPRITE_ENABLE_TRUE                                                            0x00000001
2783 
2784 #define NVC397_SET_SHADER_EXCEPTIONS                                                                       0x1528
2785 #define NVC397_SET_SHADER_EXCEPTIONS_ENABLE                                                                   0:0
2786 #define NVC397_SET_SHADER_EXCEPTIONS_ENABLE_FALSE                                                      0x00000000
2787 #define NVC397_SET_SHADER_EXCEPTIONS_ENABLE_TRUE                                                       0x00000001
2788 
2789 #define NVC397_CLEAR_REPORT_VALUE                                                                          0x1530
2790 #define NVC397_CLEAR_REPORT_VALUE_TYPE                                                                        4:0
2791 #define NVC397_CLEAR_REPORT_VALUE_TYPE_DA_VERTICES_GENERATED                                           0x00000012
2792 #define NVC397_CLEAR_REPORT_VALUE_TYPE_DA_PRIMITIVES_GENERATED                                         0x00000013
2793 #define NVC397_CLEAR_REPORT_VALUE_TYPE_VS_INVOCATIONS                                                  0x00000015
2794 #define NVC397_CLEAR_REPORT_VALUE_TYPE_TI_INVOCATIONS                                                  0x00000016
2795 #define NVC397_CLEAR_REPORT_VALUE_TYPE_TS_INVOCATIONS                                                  0x00000017
2796 #define NVC397_CLEAR_REPORT_VALUE_TYPE_TS_PRIMITIVES_GENERATED                                         0x00000018
2797 #define NVC397_CLEAR_REPORT_VALUE_TYPE_GS_INVOCATIONS                                                  0x0000001A
2798 #define NVC397_CLEAR_REPORT_VALUE_TYPE_GS_PRIMITIVES_GENERATED                                         0x0000001B
2799 #define NVC397_CLEAR_REPORT_VALUE_TYPE_VTG_PRIMITIVES_OUT                                              0x0000001F
2800 #define NVC397_CLEAR_REPORT_VALUE_TYPE_STREAMING_PRIMITIVES_SUCCEEDED                                  0x00000010
2801 #define NVC397_CLEAR_REPORT_VALUE_TYPE_STREAMING_PRIMITIVES_NEEDED                                     0x00000011
2802 #define NVC397_CLEAR_REPORT_VALUE_TYPE_TOTAL_STREAMING_PRIMITIVES_NEEDED_MINUS_SUCCEEDED               0x00000003
2803 #define NVC397_CLEAR_REPORT_VALUE_TYPE_CLIPPER_INVOCATIONS                                             0x0000001C
2804 #define NVC397_CLEAR_REPORT_VALUE_TYPE_CLIPPER_PRIMITIVES_GENERATED                                    0x0000001D
2805 #define NVC397_CLEAR_REPORT_VALUE_TYPE_ZCULL_STATS                                                     0x00000002
2806 #define NVC397_CLEAR_REPORT_VALUE_TYPE_PS_INVOCATIONS                                                  0x0000001E
2807 #define NVC397_CLEAR_REPORT_VALUE_TYPE_ZPASS_PIXEL_CNT                                                 0x00000001
2808 #define NVC397_CLEAR_REPORT_VALUE_TYPE_ALPHA_BETA_CLOCKS                                               0x00000004
2809 #define NVC397_CLEAR_REPORT_VALUE_TYPE_SCG_CLOCKS                                                      0x00000009
2810 
2811 #define NVC397_SET_ANTI_ALIAS_ENABLE                                                                       0x1534
2812 #define NVC397_SET_ANTI_ALIAS_ENABLE_V                                                                        0:0
2813 #define NVC397_SET_ANTI_ALIAS_ENABLE_V_FALSE                                                           0x00000000
2814 #define NVC397_SET_ANTI_ALIAS_ENABLE_V_TRUE                                                            0x00000001
2815 
2816 #define NVC397_SET_ZT_SELECT                                                                               0x1538
2817 #define NVC397_SET_ZT_SELECT_TARGET_COUNT                                                                     0:0
2818 
2819 #define NVC397_SET_ANTI_ALIAS_ALPHA_CONTROL                                                                0x153c
2820 #define NVC397_SET_ANTI_ALIAS_ALPHA_CONTROL_ALPHA_TO_COVERAGE                                                 0:0
2821 #define NVC397_SET_ANTI_ALIAS_ALPHA_CONTROL_ALPHA_TO_COVERAGE_DISABLE                                  0x00000000
2822 #define NVC397_SET_ANTI_ALIAS_ALPHA_CONTROL_ALPHA_TO_COVERAGE_ENABLE                                   0x00000001
2823 #define NVC397_SET_ANTI_ALIAS_ALPHA_CONTROL_ALPHA_TO_ONE                                                      4:4
2824 #define NVC397_SET_ANTI_ALIAS_ALPHA_CONTROL_ALPHA_TO_ONE_DISABLE                                       0x00000000
2825 #define NVC397_SET_ANTI_ALIAS_ALPHA_CONTROL_ALPHA_TO_ONE_ENABLE                                        0x00000001
2826 
2827 #define NVC397_SET_RENDER_ENABLE_A                                                                         0x1550
2828 #define NVC397_SET_RENDER_ENABLE_A_OFFSET_UPPER                                                               7:0
2829 
2830 #define NVC397_SET_RENDER_ENABLE_B                                                                         0x1554
2831 #define NVC397_SET_RENDER_ENABLE_B_OFFSET_LOWER                                                              31:0
2832 
2833 #define NVC397_SET_RENDER_ENABLE_C                                                                         0x1558
2834 #define NVC397_SET_RENDER_ENABLE_C_MODE                                                                       2:0
2835 #define NVC397_SET_RENDER_ENABLE_C_MODE_FALSE                                                          0x00000000
2836 #define NVC397_SET_RENDER_ENABLE_C_MODE_TRUE                                                           0x00000001
2837 #define NVC397_SET_RENDER_ENABLE_C_MODE_CONDITIONAL                                                    0x00000002
2838 #define NVC397_SET_RENDER_ENABLE_C_MODE_RENDER_IF_EQUAL                                                0x00000003
2839 #define NVC397_SET_RENDER_ENABLE_C_MODE_RENDER_IF_NOT_EQUAL                                            0x00000004
2840 
2841 #define NVC397_SET_TEX_SAMPLER_POOL_A                                                                      0x155c
2842 #define NVC397_SET_TEX_SAMPLER_POOL_A_OFFSET_UPPER                                                            7:0
2843 
2844 #define NVC397_SET_TEX_SAMPLER_POOL_B                                                                      0x1560
2845 #define NVC397_SET_TEX_SAMPLER_POOL_B_OFFSET_LOWER                                                           31:0
2846 
2847 #define NVC397_SET_TEX_SAMPLER_POOL_C                                                                      0x1564
2848 #define NVC397_SET_TEX_SAMPLER_POOL_C_MAXIMUM_INDEX                                                          19:0
2849 
2850 #define NVC397_SET_SLOPE_SCALE_DEPTH_BIAS                                                                  0x156c
2851 #define NVC397_SET_SLOPE_SCALE_DEPTH_BIAS_V                                                                  31:0
2852 
2853 #define NVC397_SET_ANTI_ALIASED_LINE                                                                       0x1570
2854 #define NVC397_SET_ANTI_ALIASED_LINE_ENABLE                                                                   0:0
2855 #define NVC397_SET_ANTI_ALIASED_LINE_ENABLE_FALSE                                                      0x00000000
2856 #define NVC397_SET_ANTI_ALIASED_LINE_ENABLE_TRUE                                                       0x00000001
2857 
2858 #define NVC397_SET_TEX_HEADER_POOL_A                                                                       0x1574
2859 #define NVC397_SET_TEX_HEADER_POOL_A_OFFSET_UPPER                                                             7:0
2860 
2861 #define NVC397_SET_TEX_HEADER_POOL_B                                                                       0x1578
2862 #define NVC397_SET_TEX_HEADER_POOL_B_OFFSET_LOWER                                                            31:0
2863 
2864 #define NVC397_SET_TEX_HEADER_POOL_C                                                                       0x157c
2865 #define NVC397_SET_TEX_HEADER_POOL_C_MAXIMUM_INDEX                                                           21:0
2866 
2867 #define NVC397_SET_ACTIVE_ZCULL_REGION                                                                     0x1590
2868 #define NVC397_SET_ACTIVE_ZCULL_REGION_ID                                                                     5:0
2869 
2870 #define NVC397_SET_TWO_SIDED_STENCIL_TEST                                                                  0x1594
2871 #define NVC397_SET_TWO_SIDED_STENCIL_TEST_ENABLE                                                              0:0
2872 #define NVC397_SET_TWO_SIDED_STENCIL_TEST_ENABLE_FALSE                                                 0x00000000
2873 #define NVC397_SET_TWO_SIDED_STENCIL_TEST_ENABLE_TRUE                                                  0x00000001
2874 
2875 #define NVC397_SET_BACK_STENCIL_OP_FAIL                                                                    0x1598
2876 #define NVC397_SET_BACK_STENCIL_OP_FAIL_V                                                                    31:0
2877 #define NVC397_SET_BACK_STENCIL_OP_FAIL_V_OGL_KEEP                                                     0x00001E00
2878 #define NVC397_SET_BACK_STENCIL_OP_FAIL_V_OGL_ZERO                                                     0x00000000
2879 #define NVC397_SET_BACK_STENCIL_OP_FAIL_V_OGL_REPLACE                                                  0x00001E01
2880 #define NVC397_SET_BACK_STENCIL_OP_FAIL_V_OGL_INCRSAT                                                  0x00001E02
2881 #define NVC397_SET_BACK_STENCIL_OP_FAIL_V_OGL_DECRSAT                                                  0x00001E03
2882 #define NVC397_SET_BACK_STENCIL_OP_FAIL_V_OGL_INVERT                                                   0x0000150A
2883 #define NVC397_SET_BACK_STENCIL_OP_FAIL_V_OGL_INCR                                                     0x00008507
2884 #define NVC397_SET_BACK_STENCIL_OP_FAIL_V_OGL_DECR                                                     0x00008508
2885 #define NVC397_SET_BACK_STENCIL_OP_FAIL_V_D3D_KEEP                                                     0x00000001
2886 #define NVC397_SET_BACK_STENCIL_OP_FAIL_V_D3D_ZERO                                                     0x00000002
2887 #define NVC397_SET_BACK_STENCIL_OP_FAIL_V_D3D_REPLACE                                                  0x00000003
2888 #define NVC397_SET_BACK_STENCIL_OP_FAIL_V_D3D_INCRSAT                                                  0x00000004
2889 #define NVC397_SET_BACK_STENCIL_OP_FAIL_V_D3D_DECRSAT                                                  0x00000005
2890 #define NVC397_SET_BACK_STENCIL_OP_FAIL_V_D3D_INVERT                                                   0x00000006
2891 #define NVC397_SET_BACK_STENCIL_OP_FAIL_V_D3D_INCR                                                     0x00000007
2892 #define NVC397_SET_BACK_STENCIL_OP_FAIL_V_D3D_DECR                                                     0x00000008
2893 
2894 #define NVC397_SET_BACK_STENCIL_OP_ZFAIL                                                                   0x159c
2895 #define NVC397_SET_BACK_STENCIL_OP_ZFAIL_V                                                                   31:0
2896 #define NVC397_SET_BACK_STENCIL_OP_ZFAIL_V_OGL_KEEP                                                    0x00001E00
2897 #define NVC397_SET_BACK_STENCIL_OP_ZFAIL_V_OGL_ZERO                                                    0x00000000
2898 #define NVC397_SET_BACK_STENCIL_OP_ZFAIL_V_OGL_REPLACE                                                 0x00001E01
2899 #define NVC397_SET_BACK_STENCIL_OP_ZFAIL_V_OGL_INCRSAT                                                 0x00001E02
2900 #define NVC397_SET_BACK_STENCIL_OP_ZFAIL_V_OGL_DECRSAT                                                 0x00001E03
2901 #define NVC397_SET_BACK_STENCIL_OP_ZFAIL_V_OGL_INVERT                                                  0x0000150A
2902 #define NVC397_SET_BACK_STENCIL_OP_ZFAIL_V_OGL_INCR                                                    0x00008507
2903 #define NVC397_SET_BACK_STENCIL_OP_ZFAIL_V_OGL_DECR                                                    0x00008508
2904 #define NVC397_SET_BACK_STENCIL_OP_ZFAIL_V_D3D_KEEP                                                    0x00000001
2905 #define NVC397_SET_BACK_STENCIL_OP_ZFAIL_V_D3D_ZERO                                                    0x00000002
2906 #define NVC397_SET_BACK_STENCIL_OP_ZFAIL_V_D3D_REPLACE                                                 0x00000003
2907 #define NVC397_SET_BACK_STENCIL_OP_ZFAIL_V_D3D_INCRSAT                                                 0x00000004
2908 #define NVC397_SET_BACK_STENCIL_OP_ZFAIL_V_D3D_DECRSAT                                                 0x00000005
2909 #define NVC397_SET_BACK_STENCIL_OP_ZFAIL_V_D3D_INVERT                                                  0x00000006
2910 #define NVC397_SET_BACK_STENCIL_OP_ZFAIL_V_D3D_INCR                                                    0x00000007
2911 #define NVC397_SET_BACK_STENCIL_OP_ZFAIL_V_D3D_DECR                                                    0x00000008
2912 
2913 #define NVC397_SET_BACK_STENCIL_OP_ZPASS                                                                   0x15a0
2914 #define NVC397_SET_BACK_STENCIL_OP_ZPASS_V                                                                   31:0
2915 #define NVC397_SET_BACK_STENCIL_OP_ZPASS_V_OGL_KEEP                                                    0x00001E00
2916 #define NVC397_SET_BACK_STENCIL_OP_ZPASS_V_OGL_ZERO                                                    0x00000000
2917 #define NVC397_SET_BACK_STENCIL_OP_ZPASS_V_OGL_REPLACE                                                 0x00001E01
2918 #define NVC397_SET_BACK_STENCIL_OP_ZPASS_V_OGL_INCRSAT                                                 0x00001E02
2919 #define NVC397_SET_BACK_STENCIL_OP_ZPASS_V_OGL_DECRSAT                                                 0x00001E03
2920 #define NVC397_SET_BACK_STENCIL_OP_ZPASS_V_OGL_INVERT                                                  0x0000150A
2921 #define NVC397_SET_BACK_STENCIL_OP_ZPASS_V_OGL_INCR                                                    0x00008507
2922 #define NVC397_SET_BACK_STENCIL_OP_ZPASS_V_OGL_DECR                                                    0x00008508
2923 #define NVC397_SET_BACK_STENCIL_OP_ZPASS_V_D3D_KEEP                                                    0x00000001
2924 #define NVC397_SET_BACK_STENCIL_OP_ZPASS_V_D3D_ZERO                                                    0x00000002
2925 #define NVC397_SET_BACK_STENCIL_OP_ZPASS_V_D3D_REPLACE                                                 0x00000003
2926 #define NVC397_SET_BACK_STENCIL_OP_ZPASS_V_D3D_INCRSAT                                                 0x00000004
2927 #define NVC397_SET_BACK_STENCIL_OP_ZPASS_V_D3D_DECRSAT                                                 0x00000005
2928 #define NVC397_SET_BACK_STENCIL_OP_ZPASS_V_D3D_INVERT                                                  0x00000006
2929 #define NVC397_SET_BACK_STENCIL_OP_ZPASS_V_D3D_INCR                                                    0x00000007
2930 #define NVC397_SET_BACK_STENCIL_OP_ZPASS_V_D3D_DECR                                                    0x00000008
2931 
2932 #define NVC397_SET_BACK_STENCIL_FUNC                                                                       0x15a4
2933 #define NVC397_SET_BACK_STENCIL_FUNC_V                                                                       31:0
2934 #define NVC397_SET_BACK_STENCIL_FUNC_V_OGL_NEVER                                                       0x00000200
2935 #define NVC397_SET_BACK_STENCIL_FUNC_V_OGL_LESS                                                        0x00000201
2936 #define NVC397_SET_BACK_STENCIL_FUNC_V_OGL_EQUAL                                                       0x00000202
2937 #define NVC397_SET_BACK_STENCIL_FUNC_V_OGL_LEQUAL                                                      0x00000203
2938 #define NVC397_SET_BACK_STENCIL_FUNC_V_OGL_GREATER                                                     0x00000204
2939 #define NVC397_SET_BACK_STENCIL_FUNC_V_OGL_NOTEQUAL                                                    0x00000205
2940 #define NVC397_SET_BACK_STENCIL_FUNC_V_OGL_GEQUAL                                                      0x00000206
2941 #define NVC397_SET_BACK_STENCIL_FUNC_V_OGL_ALWAYS                                                      0x00000207
2942 #define NVC397_SET_BACK_STENCIL_FUNC_V_D3D_NEVER                                                       0x00000001
2943 #define NVC397_SET_BACK_STENCIL_FUNC_V_D3D_LESS                                                        0x00000002
2944 #define NVC397_SET_BACK_STENCIL_FUNC_V_D3D_EQUAL                                                       0x00000003
2945 #define NVC397_SET_BACK_STENCIL_FUNC_V_D3D_LESSEQUAL                                                   0x00000004
2946 #define NVC397_SET_BACK_STENCIL_FUNC_V_D3D_GREATER                                                     0x00000005
2947 #define NVC397_SET_BACK_STENCIL_FUNC_V_D3D_NOTEQUAL                                                    0x00000006
2948 #define NVC397_SET_BACK_STENCIL_FUNC_V_D3D_GREATEREQUAL                                                0x00000007
2949 #define NVC397_SET_BACK_STENCIL_FUNC_V_D3D_ALWAYS                                                      0x00000008
2950 
2951 #define NVC397_SET_SRGB_WRITE                                                                              0x15b8
2952 #define NVC397_SET_SRGB_WRITE_ENABLE                                                                          0:0
2953 #define NVC397_SET_SRGB_WRITE_ENABLE_FALSE                                                             0x00000000
2954 #define NVC397_SET_SRGB_WRITE_ENABLE_TRUE                                                              0x00000001
2955 
2956 #define NVC397_SET_DEPTH_BIAS                                                                              0x15bc
2957 #define NVC397_SET_DEPTH_BIAS_V                                                                              31:0
2958 
2959 #define NVC397_SET_ZCULL_REGION_FORMAT                                                                     0x15c8
2960 #define NVC397_SET_ZCULL_REGION_FORMAT_TYPE                                                                   3:0
2961 #define NVC397_SET_ZCULL_REGION_FORMAT_TYPE_Z_4X4                                                      0x00000000
2962 #define NVC397_SET_ZCULL_REGION_FORMAT_TYPE_ZS_4X4                                                     0x00000001
2963 #define NVC397_SET_ZCULL_REGION_FORMAT_TYPE_Z_4X2                                                      0x00000002
2964 #define NVC397_SET_ZCULL_REGION_FORMAT_TYPE_Z_2X4                                                      0x00000003
2965 #define NVC397_SET_ZCULL_REGION_FORMAT_TYPE_Z_16X8_4X4                                                 0x00000004
2966 #define NVC397_SET_ZCULL_REGION_FORMAT_TYPE_Z_8X8_4X2                                                  0x00000005
2967 #define NVC397_SET_ZCULL_REGION_FORMAT_TYPE_Z_8X8_2X4                                                  0x00000006
2968 #define NVC397_SET_ZCULL_REGION_FORMAT_TYPE_Z_16X16_4X8                                                0x00000007
2969 #define NVC397_SET_ZCULL_REGION_FORMAT_TYPE_Z_4X8_2X2                                                  0x00000008
2970 #define NVC397_SET_ZCULL_REGION_FORMAT_TYPE_ZS_16X8_4X2                                                0x00000009
2971 #define NVC397_SET_ZCULL_REGION_FORMAT_TYPE_ZS_16X8_2X4                                                0x0000000A
2972 #define NVC397_SET_ZCULL_REGION_FORMAT_TYPE_ZS_8X8_2X2                                                 0x0000000B
2973 #define NVC397_SET_ZCULL_REGION_FORMAT_TYPE_Z_4X8_1X1                                                  0x0000000C
2974 
2975 #define NVC397_SET_RT_LAYER                                                                                0x15cc
2976 #define NVC397_SET_RT_LAYER_V                                                                                15:0
2977 #define NVC397_SET_RT_LAYER_CONTROL                                                                         16:16
2978 #define NVC397_SET_RT_LAYER_CONTROL_V_SELECTS_LAYER                                                    0x00000000
2979 #define NVC397_SET_RT_LAYER_CONTROL_GEOMETRY_SHADER_SELECTS_LAYER                                      0x00000001
2980 
2981 #define NVC397_SET_ANTI_ALIAS                                                                              0x15d0
2982 #define NVC397_SET_ANTI_ALIAS_SAMPLES                                                                         3:0
2983 #define NVC397_SET_ANTI_ALIAS_SAMPLES_MODE_1X1                                                         0x00000000
2984 #define NVC397_SET_ANTI_ALIAS_SAMPLES_MODE_2X1                                                         0x00000001
2985 #define NVC397_SET_ANTI_ALIAS_SAMPLES_MODE_2X2                                                         0x00000002
2986 #define NVC397_SET_ANTI_ALIAS_SAMPLES_MODE_4X2                                                         0x00000003
2987 #define NVC397_SET_ANTI_ALIAS_SAMPLES_MODE_4X2_D3D                                                     0x00000004
2988 #define NVC397_SET_ANTI_ALIAS_SAMPLES_MODE_2X1_D3D                                                     0x00000005
2989 #define NVC397_SET_ANTI_ALIAS_SAMPLES_MODE_4X4                                                         0x00000006
2990 #define NVC397_SET_ANTI_ALIAS_SAMPLES_MODE_2X2_VC_4                                                    0x00000008
2991 #define NVC397_SET_ANTI_ALIAS_SAMPLES_MODE_2X2_VC_12                                                   0x00000009
2992 #define NVC397_SET_ANTI_ALIAS_SAMPLES_MODE_4X2_VC_8                                                    0x0000000A
2993 #define NVC397_SET_ANTI_ALIAS_SAMPLES_MODE_4X2_VC_24                                                   0x0000000B
2994 
2995 #define NVC397_SET_EDGE_FLAG                                                                               0x15e4
2996 #define NVC397_SET_EDGE_FLAG_V                                                                                0:0
2997 #define NVC397_SET_EDGE_FLAG_V_FALSE                                                                   0x00000000
2998 #define NVC397_SET_EDGE_FLAG_V_TRUE                                                                    0x00000001
2999 
3000 #define NVC397_DRAW_INLINE_INDEX                                                                           0x15e8
3001 #define NVC397_DRAW_INLINE_INDEX_V                                                                           31:0
3002 
3003 #define NVC397_SET_INLINE_INDEX2X16_ALIGN                                                                  0x15ec
3004 #define NVC397_SET_INLINE_INDEX2X16_ALIGN_COUNT                                                              30:0
3005 #define NVC397_SET_INLINE_INDEX2X16_ALIGN_START_ODD                                                         31:31
3006 #define NVC397_SET_INLINE_INDEX2X16_ALIGN_START_ODD_FALSE                                              0x00000000
3007 #define NVC397_SET_INLINE_INDEX2X16_ALIGN_START_ODD_TRUE                                               0x00000001
3008 
3009 #define NVC397_DRAW_INLINE_INDEX2X16                                                                       0x15f0
3010 #define NVC397_DRAW_INLINE_INDEX2X16_EVEN                                                                    15:0
3011 #define NVC397_DRAW_INLINE_INDEX2X16_ODD                                                                    31:16
3012 
3013 #define NVC397_SET_VERTEX_GLOBAL_BASE_OFFSET_A                                                             0x15f4
3014 #define NVC397_SET_VERTEX_GLOBAL_BASE_OFFSET_A_UPPER                                                          7:0
3015 
3016 #define NVC397_SET_VERTEX_GLOBAL_BASE_OFFSET_B                                                             0x15f8
3017 #define NVC397_SET_VERTEX_GLOBAL_BASE_OFFSET_B_LOWER                                                         31:0
3018 
3019 #define NVC397_SET_ZCULL_REGION_PIXEL_OFFSET_A                                                             0x15fc
3020 #define NVC397_SET_ZCULL_REGION_PIXEL_OFFSET_A_WIDTH                                                         15:0
3021 
3022 #define NVC397_SET_ZCULL_REGION_PIXEL_OFFSET_B                                                             0x1600
3023 #define NVC397_SET_ZCULL_REGION_PIXEL_OFFSET_B_HEIGHT                                                        15:0
3024 
3025 #define NVC397_SET_POINT_SPRITE_SELECT                                                                     0x1604
3026 #define NVC397_SET_POINT_SPRITE_SELECT_RMODE                                                                  1:0
3027 #define NVC397_SET_POINT_SPRITE_SELECT_RMODE_ZERO                                                      0x00000000
3028 #define NVC397_SET_POINT_SPRITE_SELECT_RMODE_FROM_R                                                    0x00000001
3029 #define NVC397_SET_POINT_SPRITE_SELECT_RMODE_FROM_S                                                    0x00000002
3030 #define NVC397_SET_POINT_SPRITE_SELECT_ORIGIN                                                                 2:2
3031 #define NVC397_SET_POINT_SPRITE_SELECT_ORIGIN_BOTTOM                                                   0x00000000
3032 #define NVC397_SET_POINT_SPRITE_SELECT_ORIGIN_TOP                                                      0x00000001
3033 #define NVC397_SET_POINT_SPRITE_SELECT_TEXTURE0                                                               3:3
3034 #define NVC397_SET_POINT_SPRITE_SELECT_TEXTURE0_PASSTHROUGH                                            0x00000000
3035 #define NVC397_SET_POINT_SPRITE_SELECT_TEXTURE0_GENERATE                                               0x00000001
3036 #define NVC397_SET_POINT_SPRITE_SELECT_TEXTURE1                                                               4:4
3037 #define NVC397_SET_POINT_SPRITE_SELECT_TEXTURE1_PASSTHROUGH                                            0x00000000
3038 #define NVC397_SET_POINT_SPRITE_SELECT_TEXTURE1_GENERATE                                               0x00000001
3039 #define NVC397_SET_POINT_SPRITE_SELECT_TEXTURE2                                                               5:5
3040 #define NVC397_SET_POINT_SPRITE_SELECT_TEXTURE2_PASSTHROUGH                                            0x00000000
3041 #define NVC397_SET_POINT_SPRITE_SELECT_TEXTURE2_GENERATE                                               0x00000001
3042 #define NVC397_SET_POINT_SPRITE_SELECT_TEXTURE3                                                               6:6
3043 #define NVC397_SET_POINT_SPRITE_SELECT_TEXTURE3_PASSTHROUGH                                            0x00000000
3044 #define NVC397_SET_POINT_SPRITE_SELECT_TEXTURE3_GENERATE                                               0x00000001
3045 #define NVC397_SET_POINT_SPRITE_SELECT_TEXTURE4                                                               7:7
3046 #define NVC397_SET_POINT_SPRITE_SELECT_TEXTURE4_PASSTHROUGH                                            0x00000000
3047 #define NVC397_SET_POINT_SPRITE_SELECT_TEXTURE4_GENERATE                                               0x00000001
3048 #define NVC397_SET_POINT_SPRITE_SELECT_TEXTURE5                                                               8:8
3049 #define NVC397_SET_POINT_SPRITE_SELECT_TEXTURE5_PASSTHROUGH                                            0x00000000
3050 #define NVC397_SET_POINT_SPRITE_SELECT_TEXTURE5_GENERATE                                               0x00000001
3051 #define NVC397_SET_POINT_SPRITE_SELECT_TEXTURE6                                                               9:9
3052 #define NVC397_SET_POINT_SPRITE_SELECT_TEXTURE6_PASSTHROUGH                                            0x00000000
3053 #define NVC397_SET_POINT_SPRITE_SELECT_TEXTURE6_GENERATE                                               0x00000001
3054 #define NVC397_SET_POINT_SPRITE_SELECT_TEXTURE7                                                             10:10
3055 #define NVC397_SET_POINT_SPRITE_SELECT_TEXTURE7_PASSTHROUGH                                            0x00000000
3056 #define NVC397_SET_POINT_SPRITE_SELECT_TEXTURE7_GENERATE                                               0x00000001
3057 #define NVC397_SET_POINT_SPRITE_SELECT_TEXTURE8                                                             11:11
3058 #define NVC397_SET_POINT_SPRITE_SELECT_TEXTURE8_PASSTHROUGH                                            0x00000000
3059 #define NVC397_SET_POINT_SPRITE_SELECT_TEXTURE8_GENERATE                                               0x00000001
3060 #define NVC397_SET_POINT_SPRITE_SELECT_TEXTURE9                                                             12:12
3061 #define NVC397_SET_POINT_SPRITE_SELECT_TEXTURE9_PASSTHROUGH                                            0x00000000
3062 #define NVC397_SET_POINT_SPRITE_SELECT_TEXTURE9_GENERATE                                               0x00000001
3063 
3064 #define NVC397_SET_ATTRIBUTE_DEFAULT                                                                       0x1610
3065 #define NVC397_SET_ATTRIBUTE_DEFAULT_COLOR_FRONT_DIFFUSE                                                      0:0
3066 #define NVC397_SET_ATTRIBUTE_DEFAULT_COLOR_FRONT_DIFFUSE_VECTOR_0001                                   0x00000000
3067 #define NVC397_SET_ATTRIBUTE_DEFAULT_COLOR_FRONT_DIFFUSE_VECTOR_1111                                   0x00000001
3068 #define NVC397_SET_ATTRIBUTE_DEFAULT_COLOR_FRONT_SPECULAR                                                     1:1
3069 #define NVC397_SET_ATTRIBUTE_DEFAULT_COLOR_FRONT_SPECULAR_VECTOR_0000                                  0x00000000
3070 #define NVC397_SET_ATTRIBUTE_DEFAULT_COLOR_FRONT_SPECULAR_VECTOR_0001                                  0x00000001
3071 #define NVC397_SET_ATTRIBUTE_DEFAULT_GENERIC_VECTOR                                                           2:2
3072 #define NVC397_SET_ATTRIBUTE_DEFAULT_GENERIC_VECTOR_VECTOR_0000                                        0x00000000
3073 #define NVC397_SET_ATTRIBUTE_DEFAULT_GENERIC_VECTOR_VECTOR_0001                                        0x00000001
3074 #define NVC397_SET_ATTRIBUTE_DEFAULT_FIXED_FNC_TEXTURE                                                        3:3
3075 #define NVC397_SET_ATTRIBUTE_DEFAULT_FIXED_FNC_TEXTURE_VECTOR_0000                                     0x00000000
3076 #define NVC397_SET_ATTRIBUTE_DEFAULT_FIXED_FNC_TEXTURE_VECTOR_0001                                     0x00000001
3077 #define NVC397_SET_ATTRIBUTE_DEFAULT_DX9_COLOR0                                                               4:4
3078 #define NVC397_SET_ATTRIBUTE_DEFAULT_DX9_COLOR0_VECTOR_0001                                            0x00000000
3079 #define NVC397_SET_ATTRIBUTE_DEFAULT_DX9_COLOR0_VECTOR_1111                                            0x00000001
3080 #define NVC397_SET_ATTRIBUTE_DEFAULT_DX9_COLOR1_TO_COLOR15                                                    5:5
3081 #define NVC397_SET_ATTRIBUTE_DEFAULT_DX9_COLOR1_TO_COLOR15_VECTOR_0000                                 0x00000000
3082 #define NVC397_SET_ATTRIBUTE_DEFAULT_DX9_COLOR1_TO_COLOR15_VECTOR_0001                                 0x00000001
3083 
3084 #define NVC397_END                                                                                         0x1614
3085 #define NVC397_END_V                                                                                          0:0
3086 
3087 #define NVC397_BEGIN                                                                                       0x1618
3088 #define NVC397_BEGIN_OP                                                                                      15:0
3089 #define NVC397_BEGIN_OP_POINTS                                                                         0x00000000
3090 #define NVC397_BEGIN_OP_LINES                                                                          0x00000001
3091 #define NVC397_BEGIN_OP_LINE_LOOP                                                                      0x00000002
3092 #define NVC397_BEGIN_OP_LINE_STRIP                                                                     0x00000003
3093 #define NVC397_BEGIN_OP_TRIANGLES                                                                      0x00000004
3094 #define NVC397_BEGIN_OP_TRIANGLE_STRIP                                                                 0x00000005
3095 #define NVC397_BEGIN_OP_TRIANGLE_FAN                                                                   0x00000006
3096 #define NVC397_BEGIN_OP_QUADS                                                                          0x00000007
3097 #define NVC397_BEGIN_OP_QUAD_STRIP                                                                     0x00000008
3098 #define NVC397_BEGIN_OP_POLYGON                                                                        0x00000009
3099 #define NVC397_BEGIN_OP_LINELIST_ADJCY                                                                 0x0000000A
3100 #define NVC397_BEGIN_OP_LINESTRIP_ADJCY                                                                0x0000000B
3101 #define NVC397_BEGIN_OP_TRIANGLELIST_ADJCY                                                             0x0000000C
3102 #define NVC397_BEGIN_OP_TRIANGLESTRIP_ADJCY                                                            0x0000000D
3103 #define NVC397_BEGIN_OP_PATCH                                                                          0x0000000E
3104 #define NVC397_BEGIN_PRIMITIVE_ID                                                                           24:24
3105 #define NVC397_BEGIN_PRIMITIVE_ID_FIRST                                                                0x00000000
3106 #define NVC397_BEGIN_PRIMITIVE_ID_UNCHANGED                                                            0x00000001
3107 #define NVC397_BEGIN_INSTANCE_ID                                                                            27:26
3108 #define NVC397_BEGIN_INSTANCE_ID_FIRST                                                                 0x00000000
3109 #define NVC397_BEGIN_INSTANCE_ID_SUBSEQUENT                                                            0x00000001
3110 #define NVC397_BEGIN_INSTANCE_ID_UNCHANGED                                                             0x00000002
3111 #define NVC397_BEGIN_SPLIT_MODE                                                                             30:29
3112 #define NVC397_BEGIN_SPLIT_MODE_NORMAL_BEGIN_NORMAL_END                                                0x00000000
3113 #define NVC397_BEGIN_SPLIT_MODE_NORMAL_BEGIN_OPEN_END                                                  0x00000001
3114 #define NVC397_BEGIN_SPLIT_MODE_OPEN_BEGIN_OPEN_END                                                    0x00000002
3115 #define NVC397_BEGIN_SPLIT_MODE_OPEN_BEGIN_NORMAL_END                                                  0x00000003
3116 #define NVC397_BEGIN_INSTANCE_ITERATE_ENABLE                                                                31:31
3117 #define NVC397_BEGIN_INSTANCE_ITERATE_ENABLE_FALSE                                                     0x00000000
3118 #define NVC397_BEGIN_INSTANCE_ITERATE_ENABLE_TRUE                                                      0x00000001
3119 
3120 #define NVC397_SET_VERTEX_ID_COPY                                                                          0x161c
3121 #define NVC397_SET_VERTEX_ID_COPY_ENABLE                                                                      0:0
3122 #define NVC397_SET_VERTEX_ID_COPY_ENABLE_FALSE                                                         0x00000000
3123 #define NVC397_SET_VERTEX_ID_COPY_ENABLE_TRUE                                                          0x00000001
3124 #define NVC397_SET_VERTEX_ID_COPY_ATTRIBUTE_SLOT                                                             11:4
3125 
3126 #define NVC397_ADD_TO_PRIMITIVE_ID                                                                         0x1620
3127 #define NVC397_ADD_TO_PRIMITIVE_ID_V                                                                         31:0
3128 
3129 #define NVC397_LOAD_PRIMITIVE_ID                                                                           0x1624
3130 #define NVC397_LOAD_PRIMITIVE_ID_V                                                                           31:0
3131 
3132 #define NVC397_SET_SHADER_BASED_CULL                                                                       0x162c
3133 #define NVC397_SET_SHADER_BASED_CULL_BATCH_CULL_ENABLE                                                        1:1
3134 #define NVC397_SET_SHADER_BASED_CULL_BATCH_CULL_ENABLE_FALSE                                           0x00000000
3135 #define NVC397_SET_SHADER_BASED_CULL_BATCH_CULL_ENABLE_TRUE                                            0x00000001
3136 #define NVC397_SET_SHADER_BASED_CULL_BEFORE_FETCH_ENABLE                                                      0:0
3137 #define NVC397_SET_SHADER_BASED_CULL_BEFORE_FETCH_ENABLE_FALSE                                         0x00000000
3138 #define NVC397_SET_SHADER_BASED_CULL_BEFORE_FETCH_ENABLE_TRUE                                          0x00000001
3139 
3140 #define NVC397_SET_CLASS_VERSION                                                                           0x1638
3141 #define NVC397_SET_CLASS_VERSION_CURRENT                                                                     15:0
3142 #define NVC397_SET_CLASS_VERSION_OLDEST_SUPPORTED                                                           31:16
3143 
3144 #define NVC397_SET_DA_PRIMITIVE_RESTART                                                                    0x1644
3145 #define NVC397_SET_DA_PRIMITIVE_RESTART_ENABLE                                                                0:0
3146 #define NVC397_SET_DA_PRIMITIVE_RESTART_ENABLE_FALSE                                                   0x00000000
3147 #define NVC397_SET_DA_PRIMITIVE_RESTART_ENABLE_TRUE                                                    0x00000001
3148 
3149 #define NVC397_SET_DA_PRIMITIVE_RESTART_INDEX                                                              0x1648
3150 #define NVC397_SET_DA_PRIMITIVE_RESTART_INDEX_V                                                              31:0
3151 
3152 #define NVC397_SET_DA_OUTPUT                                                                               0x164c
3153 #define NVC397_SET_DA_OUTPUT_VERTEX_ID_USES_ARRAY_START                                                     12:12
3154 #define NVC397_SET_DA_OUTPUT_VERTEX_ID_USES_ARRAY_START_FALSE                                          0x00000000
3155 #define NVC397_SET_DA_OUTPUT_VERTEX_ID_USES_ARRAY_START_TRUE                                           0x00000001
3156 
3157 #define NVC397_SET_ANTI_ALIASED_POINT                                                                      0x1658
3158 #define NVC397_SET_ANTI_ALIASED_POINT_ENABLE                                                                  0:0
3159 #define NVC397_SET_ANTI_ALIASED_POINT_ENABLE_FALSE                                                     0x00000000
3160 #define NVC397_SET_ANTI_ALIASED_POINT_ENABLE_TRUE                                                      0x00000001
3161 
3162 #define NVC397_SET_POINT_CENTER_MODE                                                                       0x165c
3163 #define NVC397_SET_POINT_CENTER_MODE_V                                                                       31:0
3164 #define NVC397_SET_POINT_CENTER_MODE_V_OGL                                                             0x00000000
3165 #define NVC397_SET_POINT_CENTER_MODE_V_D3D                                                             0x00000001
3166 
3167 #define NVC397_SET_LINE_SMOOTH_PARAMETERS                                                                  0x1668
3168 #define NVC397_SET_LINE_SMOOTH_PARAMETERS_FALLOFF                                                            31:0
3169 #define NVC397_SET_LINE_SMOOTH_PARAMETERS_FALLOFF__1_00                                                0x00000000
3170 #define NVC397_SET_LINE_SMOOTH_PARAMETERS_FALLOFF__1_33                                                0x00000001
3171 #define NVC397_SET_LINE_SMOOTH_PARAMETERS_FALLOFF__1_60                                                0x00000002
3172 
3173 #define NVC397_SET_LINE_STIPPLE                                                                            0x166c
3174 #define NVC397_SET_LINE_STIPPLE_ENABLE                                                                        0:0
3175 #define NVC397_SET_LINE_STIPPLE_ENABLE_FALSE                                                           0x00000000
3176 #define NVC397_SET_LINE_STIPPLE_ENABLE_TRUE                                                            0x00000001
3177 
3178 #define NVC397_SET_LINE_SMOOTH_EDGE_TABLE(i)                                                       (0x1670+(i)*4)
3179 #define NVC397_SET_LINE_SMOOTH_EDGE_TABLE_V0                                                                  7:0
3180 #define NVC397_SET_LINE_SMOOTH_EDGE_TABLE_V1                                                                 15:8
3181 #define NVC397_SET_LINE_SMOOTH_EDGE_TABLE_V2                                                                23:16
3182 #define NVC397_SET_LINE_SMOOTH_EDGE_TABLE_V3                                                                31:24
3183 
3184 #define NVC397_SET_LINE_STIPPLE_PARAMETERS                                                                 0x1680
3185 #define NVC397_SET_LINE_STIPPLE_PARAMETERS_FACTOR                                                             7:0
3186 #define NVC397_SET_LINE_STIPPLE_PARAMETERS_PATTERN                                                           23:8
3187 
3188 #define NVC397_SET_PROVOKING_VERTEX                                                                        0x1684
3189 #define NVC397_SET_PROVOKING_VERTEX_V                                                                         0:0
3190 #define NVC397_SET_PROVOKING_VERTEX_V_FIRST                                                            0x00000000
3191 #define NVC397_SET_PROVOKING_VERTEX_V_LAST                                                             0x00000001
3192 
3193 #define NVC397_SET_TWO_SIDED_LIGHT                                                                         0x1688
3194 #define NVC397_SET_TWO_SIDED_LIGHT_ENABLE                                                                     0:0
3195 #define NVC397_SET_TWO_SIDED_LIGHT_ENABLE_FALSE                                                        0x00000000
3196 #define NVC397_SET_TWO_SIDED_LIGHT_ENABLE_TRUE                                                         0x00000001
3197 
3198 #define NVC397_SET_POLYGON_STIPPLE                                                                         0x168c
3199 #define NVC397_SET_POLYGON_STIPPLE_ENABLE                                                                     0:0
3200 #define NVC397_SET_POLYGON_STIPPLE_ENABLE_FALSE                                                        0x00000000
3201 #define NVC397_SET_POLYGON_STIPPLE_ENABLE_TRUE                                                         0x00000001
3202 
3203 #define NVC397_SET_SHADER_CONTROL                                                                          0x1690
3204 #define NVC397_SET_SHADER_CONTROL_DEFAULT_PARTIAL                                                             0:0
3205 #define NVC397_SET_SHADER_CONTROL_DEFAULT_PARTIAL_ZERO                                                 0x00000000
3206 #define NVC397_SET_SHADER_CONTROL_DEFAULT_PARTIAL_INFINITY                                             0x00000001
3207 #define NVC397_SET_SHADER_CONTROL_FP32_NAN_BEHAVIOR                                                           1:1
3208 #define NVC397_SET_SHADER_CONTROL_FP32_NAN_BEHAVIOR_LEGACY                                             0x00000000
3209 #define NVC397_SET_SHADER_CONTROL_FP32_NAN_BEHAVIOR_FP64_COMPATIBLE                                    0x00000001
3210 #define NVC397_SET_SHADER_CONTROL_FP32_F2I_NAN_BEHAVIOR                                                       2:2
3211 #define NVC397_SET_SHADER_CONTROL_FP32_F2I_NAN_BEHAVIOR_PASS_ZERO                                      0x00000000
3212 #define NVC397_SET_SHADER_CONTROL_FP32_F2I_NAN_BEHAVIOR_PASS_INDEFINITE                                0x00000001
3213 
3214 #define NVC397_CHECK_CLASS_VERSION                                                                         0x16a0
3215 #define NVC397_CHECK_CLASS_VERSION_CURRENT                                                                   15:0
3216 #define NVC397_CHECK_CLASS_VERSION_OLDEST_SUPPORTED                                                         31:16
3217 
3218 #define NVC397_SET_SPH_VERSION                                                                             0x16a4
3219 #define NVC397_SET_SPH_VERSION_CURRENT                                                                       15:0
3220 #define NVC397_SET_SPH_VERSION_OLDEST_SUPPORTED                                                             31:16
3221 
3222 #define NVC397_CHECK_SPH_VERSION                                                                           0x16a8
3223 #define NVC397_CHECK_SPH_VERSION_CURRENT                                                                     15:0
3224 #define NVC397_CHECK_SPH_VERSION_OLDEST_SUPPORTED                                                           31:16
3225 
3226 #define NVC397_SET_ALPHA_TO_COVERAGE_OVERRIDE                                                              0x16b4
3227 #define NVC397_SET_ALPHA_TO_COVERAGE_OVERRIDE_QUALIFY_BY_ANTI_ALIAS_ENABLE                                    0:0
3228 #define NVC397_SET_ALPHA_TO_COVERAGE_OVERRIDE_QUALIFY_BY_ANTI_ALIAS_ENABLE_DISABLE                     0x00000000
3229 #define NVC397_SET_ALPHA_TO_COVERAGE_OVERRIDE_QUALIFY_BY_ANTI_ALIAS_ENABLE_ENABLE                      0x00000001
3230 #define NVC397_SET_ALPHA_TO_COVERAGE_OVERRIDE_QUALIFY_BY_PS_SAMPLE_MASK_OUTPUT                                1:1
3231 #define NVC397_SET_ALPHA_TO_COVERAGE_OVERRIDE_QUALIFY_BY_PS_SAMPLE_MASK_OUTPUT_DISABLE                 0x00000000
3232 #define NVC397_SET_ALPHA_TO_COVERAGE_OVERRIDE_QUALIFY_BY_PS_SAMPLE_MASK_OUTPUT_ENABLE                  0x00000001
3233 
3234 #define NVC397_SET_POLYGON_STIPPLE_PATTERN(i)                                                      (0x1700+(i)*4)
3235 #define NVC397_SET_POLYGON_STIPPLE_PATTERN_V                                                                 31:0
3236 
3237 #define NVC397_SET_AAM_VERSION                                                                             0x1790
3238 #define NVC397_SET_AAM_VERSION_CURRENT                                                                       15:0
3239 #define NVC397_SET_AAM_VERSION_OLDEST_SUPPORTED                                                             31:16
3240 
3241 #define NVC397_CHECK_AAM_VERSION                                                                           0x1794
3242 #define NVC397_CHECK_AAM_VERSION_CURRENT                                                                     15:0
3243 #define NVC397_CHECK_AAM_VERSION_OLDEST_SUPPORTED                                                           31:16
3244 
3245 #define NVC397_SET_ZT_LAYER                                                                                0x179c
3246 #define NVC397_SET_ZT_LAYER_OFFSET                                                                           15:0
3247 
3248 #define NVC397_SET_INDEX_BUFFER_A                                                                          0x17c8
3249 #define NVC397_SET_INDEX_BUFFER_A_ADDRESS_UPPER                                                               7:0
3250 
3251 #define NVC397_SET_INDEX_BUFFER_B                                                                          0x17cc
3252 #define NVC397_SET_INDEX_BUFFER_B_ADDRESS_LOWER                                                              31:0
3253 
3254 #define NVC397_SET_INDEX_BUFFER_C                                                                          0x17d0
3255 #define NVC397_SET_INDEX_BUFFER_C_LIMIT_ADDRESS_UPPER                                                         7:0
3256 
3257 #define NVC397_SET_INDEX_BUFFER_D                                                                          0x17d4
3258 #define NVC397_SET_INDEX_BUFFER_D_LIMIT_ADDRESS_LOWER                                                        31:0
3259 
3260 #define NVC397_SET_INDEX_BUFFER_E                                                                          0x17d8
3261 #define NVC397_SET_INDEX_BUFFER_E_INDEX_SIZE                                                                  1:0
3262 #define NVC397_SET_INDEX_BUFFER_E_INDEX_SIZE_ONE_BYTE                                                  0x00000000
3263 #define NVC397_SET_INDEX_BUFFER_E_INDEX_SIZE_TWO_BYTES                                                 0x00000001
3264 #define NVC397_SET_INDEX_BUFFER_E_INDEX_SIZE_FOUR_BYTES                                                0x00000002
3265 
3266 #define NVC397_SET_INDEX_BUFFER_F                                                                          0x17dc
3267 #define NVC397_SET_INDEX_BUFFER_F_FIRST                                                                      31:0
3268 
3269 #define NVC397_DRAW_INDEX_BUFFER                                                                           0x17e0
3270 #define NVC397_DRAW_INDEX_BUFFER_COUNT                                                                       31:0
3271 
3272 #define NVC397_DRAW_INDEX_BUFFER32_BEGIN_END_INSTANCE_FIRST                                                0x17e4
3273 #define NVC397_DRAW_INDEX_BUFFER32_BEGIN_END_INSTANCE_FIRST_FIRST                                            15:0
3274 #define NVC397_DRAW_INDEX_BUFFER32_BEGIN_END_INSTANCE_FIRST_COUNT                                           27:16
3275 #define NVC397_DRAW_INDEX_BUFFER32_BEGIN_END_INSTANCE_FIRST_TOPOLOGY                                        31:28
3276 #define NVC397_DRAW_INDEX_BUFFER32_BEGIN_END_INSTANCE_FIRST_TOPOLOGY_POINTS                            0x00000000
3277 #define NVC397_DRAW_INDEX_BUFFER32_BEGIN_END_INSTANCE_FIRST_TOPOLOGY_LINES                             0x00000001
3278 #define NVC397_DRAW_INDEX_BUFFER32_BEGIN_END_INSTANCE_FIRST_TOPOLOGY_LINE_LOOP                         0x00000002
3279 #define NVC397_DRAW_INDEX_BUFFER32_BEGIN_END_INSTANCE_FIRST_TOPOLOGY_LINE_STRIP                        0x00000003
3280 #define NVC397_DRAW_INDEX_BUFFER32_BEGIN_END_INSTANCE_FIRST_TOPOLOGY_TRIANGLES                         0x00000004
3281 #define NVC397_DRAW_INDEX_BUFFER32_BEGIN_END_INSTANCE_FIRST_TOPOLOGY_TRIANGLE_STRIP                    0x00000005
3282 #define NVC397_DRAW_INDEX_BUFFER32_BEGIN_END_INSTANCE_FIRST_TOPOLOGY_TRIANGLE_FAN                      0x00000006
3283 #define NVC397_DRAW_INDEX_BUFFER32_BEGIN_END_INSTANCE_FIRST_TOPOLOGY_QUADS                             0x00000007
3284 #define NVC397_DRAW_INDEX_BUFFER32_BEGIN_END_INSTANCE_FIRST_TOPOLOGY_QUAD_STRIP                        0x00000008
3285 #define NVC397_DRAW_INDEX_BUFFER32_BEGIN_END_INSTANCE_FIRST_TOPOLOGY_POLYGON                           0x00000009
3286 #define NVC397_DRAW_INDEX_BUFFER32_BEGIN_END_INSTANCE_FIRST_TOPOLOGY_LINELIST_ADJCY                    0x0000000A
3287 #define NVC397_DRAW_INDEX_BUFFER32_BEGIN_END_INSTANCE_FIRST_TOPOLOGY_LINESTRIP_ADJCY                   0x0000000B
3288 #define NVC397_DRAW_INDEX_BUFFER32_BEGIN_END_INSTANCE_FIRST_TOPOLOGY_TRIANGLELIST_ADJCY                0x0000000C
3289 #define NVC397_DRAW_INDEX_BUFFER32_BEGIN_END_INSTANCE_FIRST_TOPOLOGY_TRIANGLESTRIP_ADJCY               0x0000000D
3290 #define NVC397_DRAW_INDEX_BUFFER32_BEGIN_END_INSTANCE_FIRST_TOPOLOGY_PATCH                             0x0000000E
3291 
3292 #define NVC397_DRAW_INDEX_BUFFER16_BEGIN_END_INSTANCE_FIRST                                                0x17e8
3293 #define NVC397_DRAW_INDEX_BUFFER16_BEGIN_END_INSTANCE_FIRST_FIRST                                            15:0
3294 #define NVC397_DRAW_INDEX_BUFFER16_BEGIN_END_INSTANCE_FIRST_COUNT                                           27:16
3295 #define NVC397_DRAW_INDEX_BUFFER16_BEGIN_END_INSTANCE_FIRST_TOPOLOGY                                        31:28
3296 #define NVC397_DRAW_INDEX_BUFFER16_BEGIN_END_INSTANCE_FIRST_TOPOLOGY_POINTS                            0x00000000
3297 #define NVC397_DRAW_INDEX_BUFFER16_BEGIN_END_INSTANCE_FIRST_TOPOLOGY_LINES                             0x00000001
3298 #define NVC397_DRAW_INDEX_BUFFER16_BEGIN_END_INSTANCE_FIRST_TOPOLOGY_LINE_LOOP                         0x00000002
3299 #define NVC397_DRAW_INDEX_BUFFER16_BEGIN_END_INSTANCE_FIRST_TOPOLOGY_LINE_STRIP                        0x00000003
3300 #define NVC397_DRAW_INDEX_BUFFER16_BEGIN_END_INSTANCE_FIRST_TOPOLOGY_TRIANGLES                         0x00000004
3301 #define NVC397_DRAW_INDEX_BUFFER16_BEGIN_END_INSTANCE_FIRST_TOPOLOGY_TRIANGLE_STRIP                    0x00000005
3302 #define NVC397_DRAW_INDEX_BUFFER16_BEGIN_END_INSTANCE_FIRST_TOPOLOGY_TRIANGLE_FAN                      0x00000006
3303 #define NVC397_DRAW_INDEX_BUFFER16_BEGIN_END_INSTANCE_FIRST_TOPOLOGY_QUADS                             0x00000007
3304 #define NVC397_DRAW_INDEX_BUFFER16_BEGIN_END_INSTANCE_FIRST_TOPOLOGY_QUAD_STRIP                        0x00000008
3305 #define NVC397_DRAW_INDEX_BUFFER16_BEGIN_END_INSTANCE_FIRST_TOPOLOGY_POLYGON                           0x00000009
3306 #define NVC397_DRAW_INDEX_BUFFER16_BEGIN_END_INSTANCE_FIRST_TOPOLOGY_LINELIST_ADJCY                    0x0000000A
3307 #define NVC397_DRAW_INDEX_BUFFER16_BEGIN_END_INSTANCE_FIRST_TOPOLOGY_LINESTRIP_ADJCY                   0x0000000B
3308 #define NVC397_DRAW_INDEX_BUFFER16_BEGIN_END_INSTANCE_FIRST_TOPOLOGY_TRIANGLELIST_ADJCY                0x0000000C
3309 #define NVC397_DRAW_INDEX_BUFFER16_BEGIN_END_INSTANCE_FIRST_TOPOLOGY_TRIANGLESTRIP_ADJCY               0x0000000D
3310 #define NVC397_DRAW_INDEX_BUFFER16_BEGIN_END_INSTANCE_FIRST_TOPOLOGY_PATCH                             0x0000000E
3311 
3312 #define NVC397_DRAW_INDEX_BUFFER8_BEGIN_END_INSTANCE_FIRST                                                 0x17ec
3313 #define NVC397_DRAW_INDEX_BUFFER8_BEGIN_END_INSTANCE_FIRST_FIRST                                             15:0
3314 #define NVC397_DRAW_INDEX_BUFFER8_BEGIN_END_INSTANCE_FIRST_COUNT                                            27:16
3315 #define NVC397_DRAW_INDEX_BUFFER8_BEGIN_END_INSTANCE_FIRST_TOPOLOGY                                         31:28
3316 #define NVC397_DRAW_INDEX_BUFFER8_BEGIN_END_INSTANCE_FIRST_TOPOLOGY_POINTS                             0x00000000
3317 #define NVC397_DRAW_INDEX_BUFFER8_BEGIN_END_INSTANCE_FIRST_TOPOLOGY_LINES                              0x00000001
3318 #define NVC397_DRAW_INDEX_BUFFER8_BEGIN_END_INSTANCE_FIRST_TOPOLOGY_LINE_LOOP                          0x00000002
3319 #define NVC397_DRAW_INDEX_BUFFER8_BEGIN_END_INSTANCE_FIRST_TOPOLOGY_LINE_STRIP                         0x00000003
3320 #define NVC397_DRAW_INDEX_BUFFER8_BEGIN_END_INSTANCE_FIRST_TOPOLOGY_TRIANGLES                          0x00000004
3321 #define NVC397_DRAW_INDEX_BUFFER8_BEGIN_END_INSTANCE_FIRST_TOPOLOGY_TRIANGLE_STRIP                     0x00000005
3322 #define NVC397_DRAW_INDEX_BUFFER8_BEGIN_END_INSTANCE_FIRST_TOPOLOGY_TRIANGLE_FAN                       0x00000006
3323 #define NVC397_DRAW_INDEX_BUFFER8_BEGIN_END_INSTANCE_FIRST_TOPOLOGY_QUADS                              0x00000007
3324 #define NVC397_DRAW_INDEX_BUFFER8_BEGIN_END_INSTANCE_FIRST_TOPOLOGY_QUAD_STRIP                         0x00000008
3325 #define NVC397_DRAW_INDEX_BUFFER8_BEGIN_END_INSTANCE_FIRST_TOPOLOGY_POLYGON                            0x00000009
3326 #define NVC397_DRAW_INDEX_BUFFER8_BEGIN_END_INSTANCE_FIRST_TOPOLOGY_LINELIST_ADJCY                     0x0000000A
3327 #define NVC397_DRAW_INDEX_BUFFER8_BEGIN_END_INSTANCE_FIRST_TOPOLOGY_LINESTRIP_ADJCY                    0x0000000B
3328 #define NVC397_DRAW_INDEX_BUFFER8_BEGIN_END_INSTANCE_FIRST_TOPOLOGY_TRIANGLELIST_ADJCY                 0x0000000C
3329 #define NVC397_DRAW_INDEX_BUFFER8_BEGIN_END_INSTANCE_FIRST_TOPOLOGY_TRIANGLESTRIP_ADJCY                0x0000000D
3330 #define NVC397_DRAW_INDEX_BUFFER8_BEGIN_END_INSTANCE_FIRST_TOPOLOGY_PATCH                              0x0000000E
3331 
3332 #define NVC397_DRAW_INDEX_BUFFER32_BEGIN_END_INSTANCE_SUBSEQUENT                                           0x17f0
3333 #define NVC397_DRAW_INDEX_BUFFER32_BEGIN_END_INSTANCE_SUBSEQUENT_FIRST                                       15:0
3334 #define NVC397_DRAW_INDEX_BUFFER32_BEGIN_END_INSTANCE_SUBSEQUENT_COUNT                                      27:16
3335 #define NVC397_DRAW_INDEX_BUFFER32_BEGIN_END_INSTANCE_SUBSEQUENT_TOPOLOGY                                   31:28
3336 #define NVC397_DRAW_INDEX_BUFFER32_BEGIN_END_INSTANCE_SUBSEQUENT_TOPOLOGY_POINTS                       0x00000000
3337 #define NVC397_DRAW_INDEX_BUFFER32_BEGIN_END_INSTANCE_SUBSEQUENT_TOPOLOGY_LINES                        0x00000001
3338 #define NVC397_DRAW_INDEX_BUFFER32_BEGIN_END_INSTANCE_SUBSEQUENT_TOPOLOGY_LINE_LOOP                    0x00000002
3339 #define NVC397_DRAW_INDEX_BUFFER32_BEGIN_END_INSTANCE_SUBSEQUENT_TOPOLOGY_LINE_STRIP                   0x00000003
3340 #define NVC397_DRAW_INDEX_BUFFER32_BEGIN_END_INSTANCE_SUBSEQUENT_TOPOLOGY_TRIANGLES                    0x00000004
3341 #define NVC397_DRAW_INDEX_BUFFER32_BEGIN_END_INSTANCE_SUBSEQUENT_TOPOLOGY_TRIANGLE_STRIP               0x00000005
3342 #define NVC397_DRAW_INDEX_BUFFER32_BEGIN_END_INSTANCE_SUBSEQUENT_TOPOLOGY_TRIANGLE_FAN                 0x00000006
3343 #define NVC397_DRAW_INDEX_BUFFER32_BEGIN_END_INSTANCE_SUBSEQUENT_TOPOLOGY_QUADS                        0x00000007
3344 #define NVC397_DRAW_INDEX_BUFFER32_BEGIN_END_INSTANCE_SUBSEQUENT_TOPOLOGY_QUAD_STRIP                   0x00000008
3345 #define NVC397_DRAW_INDEX_BUFFER32_BEGIN_END_INSTANCE_SUBSEQUENT_TOPOLOGY_POLYGON                      0x00000009
3346 #define NVC397_DRAW_INDEX_BUFFER32_BEGIN_END_INSTANCE_SUBSEQUENT_TOPOLOGY_LINELIST_ADJCY               0x0000000A
3347 #define NVC397_DRAW_INDEX_BUFFER32_BEGIN_END_INSTANCE_SUBSEQUENT_TOPOLOGY_LINESTRIP_ADJCY              0x0000000B
3348 #define NVC397_DRAW_INDEX_BUFFER32_BEGIN_END_INSTANCE_SUBSEQUENT_TOPOLOGY_TRIANGLELIST_ADJCY             0x0000000C
3349 #define NVC397_DRAW_INDEX_BUFFER32_BEGIN_END_INSTANCE_SUBSEQUENT_TOPOLOGY_TRIANGLESTRIP_ADJCY             0x0000000D
3350 #define NVC397_DRAW_INDEX_BUFFER32_BEGIN_END_INSTANCE_SUBSEQUENT_TOPOLOGY_PATCH                        0x0000000E
3351 
3352 #define NVC397_DRAW_INDEX_BUFFER16_BEGIN_END_INSTANCE_SUBSEQUENT                                           0x17f4
3353 #define NVC397_DRAW_INDEX_BUFFER16_BEGIN_END_INSTANCE_SUBSEQUENT_FIRST                                       15:0
3354 #define NVC397_DRAW_INDEX_BUFFER16_BEGIN_END_INSTANCE_SUBSEQUENT_COUNT                                      27:16
3355 #define NVC397_DRAW_INDEX_BUFFER16_BEGIN_END_INSTANCE_SUBSEQUENT_TOPOLOGY                                   31:28
3356 #define NVC397_DRAW_INDEX_BUFFER16_BEGIN_END_INSTANCE_SUBSEQUENT_TOPOLOGY_POINTS                       0x00000000
3357 #define NVC397_DRAW_INDEX_BUFFER16_BEGIN_END_INSTANCE_SUBSEQUENT_TOPOLOGY_LINES                        0x00000001
3358 #define NVC397_DRAW_INDEX_BUFFER16_BEGIN_END_INSTANCE_SUBSEQUENT_TOPOLOGY_LINE_LOOP                    0x00000002
3359 #define NVC397_DRAW_INDEX_BUFFER16_BEGIN_END_INSTANCE_SUBSEQUENT_TOPOLOGY_LINE_STRIP                   0x00000003
3360 #define NVC397_DRAW_INDEX_BUFFER16_BEGIN_END_INSTANCE_SUBSEQUENT_TOPOLOGY_TRIANGLES                    0x00000004
3361 #define NVC397_DRAW_INDEX_BUFFER16_BEGIN_END_INSTANCE_SUBSEQUENT_TOPOLOGY_TRIANGLE_STRIP               0x00000005
3362 #define NVC397_DRAW_INDEX_BUFFER16_BEGIN_END_INSTANCE_SUBSEQUENT_TOPOLOGY_TRIANGLE_FAN                 0x00000006
3363 #define NVC397_DRAW_INDEX_BUFFER16_BEGIN_END_INSTANCE_SUBSEQUENT_TOPOLOGY_QUADS                        0x00000007
3364 #define NVC397_DRAW_INDEX_BUFFER16_BEGIN_END_INSTANCE_SUBSEQUENT_TOPOLOGY_QUAD_STRIP                   0x00000008
3365 #define NVC397_DRAW_INDEX_BUFFER16_BEGIN_END_INSTANCE_SUBSEQUENT_TOPOLOGY_POLYGON                      0x00000009
3366 #define NVC397_DRAW_INDEX_BUFFER16_BEGIN_END_INSTANCE_SUBSEQUENT_TOPOLOGY_LINELIST_ADJCY               0x0000000A
3367 #define NVC397_DRAW_INDEX_BUFFER16_BEGIN_END_INSTANCE_SUBSEQUENT_TOPOLOGY_LINESTRIP_ADJCY              0x0000000B
3368 #define NVC397_DRAW_INDEX_BUFFER16_BEGIN_END_INSTANCE_SUBSEQUENT_TOPOLOGY_TRIANGLELIST_ADJCY             0x0000000C
3369 #define NVC397_DRAW_INDEX_BUFFER16_BEGIN_END_INSTANCE_SUBSEQUENT_TOPOLOGY_TRIANGLESTRIP_ADJCY             0x0000000D
3370 #define NVC397_DRAW_INDEX_BUFFER16_BEGIN_END_INSTANCE_SUBSEQUENT_TOPOLOGY_PATCH                        0x0000000E
3371 
3372 #define NVC397_DRAW_INDEX_BUFFER8_BEGIN_END_INSTANCE_SUBSEQUENT                                            0x17f8
3373 #define NVC397_DRAW_INDEX_BUFFER8_BEGIN_END_INSTANCE_SUBSEQUENT_FIRST                                        15:0
3374 #define NVC397_DRAW_INDEX_BUFFER8_BEGIN_END_INSTANCE_SUBSEQUENT_COUNT                                       27:16
3375 #define NVC397_DRAW_INDEX_BUFFER8_BEGIN_END_INSTANCE_SUBSEQUENT_TOPOLOGY                                    31:28
3376 #define NVC397_DRAW_INDEX_BUFFER8_BEGIN_END_INSTANCE_SUBSEQUENT_TOPOLOGY_POINTS                        0x00000000
3377 #define NVC397_DRAW_INDEX_BUFFER8_BEGIN_END_INSTANCE_SUBSEQUENT_TOPOLOGY_LINES                         0x00000001
3378 #define NVC397_DRAW_INDEX_BUFFER8_BEGIN_END_INSTANCE_SUBSEQUENT_TOPOLOGY_LINE_LOOP                     0x00000002
3379 #define NVC397_DRAW_INDEX_BUFFER8_BEGIN_END_INSTANCE_SUBSEQUENT_TOPOLOGY_LINE_STRIP                    0x00000003
3380 #define NVC397_DRAW_INDEX_BUFFER8_BEGIN_END_INSTANCE_SUBSEQUENT_TOPOLOGY_TRIANGLES                     0x00000004
3381 #define NVC397_DRAW_INDEX_BUFFER8_BEGIN_END_INSTANCE_SUBSEQUENT_TOPOLOGY_TRIANGLE_STRIP                0x00000005
3382 #define NVC397_DRAW_INDEX_BUFFER8_BEGIN_END_INSTANCE_SUBSEQUENT_TOPOLOGY_TRIANGLE_FAN                  0x00000006
3383 #define NVC397_DRAW_INDEX_BUFFER8_BEGIN_END_INSTANCE_SUBSEQUENT_TOPOLOGY_QUADS                         0x00000007
3384 #define NVC397_DRAW_INDEX_BUFFER8_BEGIN_END_INSTANCE_SUBSEQUENT_TOPOLOGY_QUAD_STRIP                    0x00000008
3385 #define NVC397_DRAW_INDEX_BUFFER8_BEGIN_END_INSTANCE_SUBSEQUENT_TOPOLOGY_POLYGON                       0x00000009
3386 #define NVC397_DRAW_INDEX_BUFFER8_BEGIN_END_INSTANCE_SUBSEQUENT_TOPOLOGY_LINELIST_ADJCY                0x0000000A
3387 #define NVC397_DRAW_INDEX_BUFFER8_BEGIN_END_INSTANCE_SUBSEQUENT_TOPOLOGY_LINESTRIP_ADJCY               0x0000000B
3388 #define NVC397_DRAW_INDEX_BUFFER8_BEGIN_END_INSTANCE_SUBSEQUENT_TOPOLOGY_TRIANGLELIST_ADJCY             0x0000000C
3389 #define NVC397_DRAW_INDEX_BUFFER8_BEGIN_END_INSTANCE_SUBSEQUENT_TOPOLOGY_TRIANGLESTRIP_ADJCY             0x0000000D
3390 #define NVC397_DRAW_INDEX_BUFFER8_BEGIN_END_INSTANCE_SUBSEQUENT_TOPOLOGY_PATCH                         0x0000000E
3391 
3392 #define NVC397_SET_DEPTH_BIAS_CLAMP                                                                        0x187c
3393 #define NVC397_SET_DEPTH_BIAS_CLAMP_V                                                                        31:0
3394 
3395 #define NVC397_SET_VERTEX_STREAM_INSTANCE_A(i)                                                     (0x1880+(i)*4)
3396 #define NVC397_SET_VERTEX_STREAM_INSTANCE_A_IS_INSTANCED                                                      0:0
3397 #define NVC397_SET_VERTEX_STREAM_INSTANCE_A_IS_INSTANCED_FALSE                                         0x00000000
3398 #define NVC397_SET_VERTEX_STREAM_INSTANCE_A_IS_INSTANCED_TRUE                                          0x00000001
3399 
3400 #define NVC397_SET_VERTEX_STREAM_INSTANCE_B(i)                                                     (0x18c0+(i)*4)
3401 #define NVC397_SET_VERTEX_STREAM_INSTANCE_B_IS_INSTANCED                                                      0:0
3402 #define NVC397_SET_VERTEX_STREAM_INSTANCE_B_IS_INSTANCED_FALSE                                         0x00000000
3403 #define NVC397_SET_VERTEX_STREAM_INSTANCE_B_IS_INSTANCED_TRUE                                          0x00000001
3404 
3405 #define NVC397_SET_ATTRIBUTE_POINT_SIZE                                                                    0x1910
3406 #define NVC397_SET_ATTRIBUTE_POINT_SIZE_ENABLE                                                                0:0
3407 #define NVC397_SET_ATTRIBUTE_POINT_SIZE_ENABLE_FALSE                                                   0x00000000
3408 #define NVC397_SET_ATTRIBUTE_POINT_SIZE_ENABLE_TRUE                                                    0x00000001
3409 #define NVC397_SET_ATTRIBUTE_POINT_SIZE_SLOT                                                                 11:4
3410 
3411 #define NVC397_OGL_SET_CULL                                                                                0x1918
3412 #define NVC397_OGL_SET_CULL_ENABLE                                                                            0:0
3413 #define NVC397_OGL_SET_CULL_ENABLE_FALSE                                                               0x00000000
3414 #define NVC397_OGL_SET_CULL_ENABLE_TRUE                                                                0x00000001
3415 
3416 #define NVC397_OGL_SET_FRONT_FACE                                                                          0x191c
3417 #define NVC397_OGL_SET_FRONT_FACE_V                                                                          31:0
3418 #define NVC397_OGL_SET_FRONT_FACE_V_CW                                                                 0x00000900
3419 #define NVC397_OGL_SET_FRONT_FACE_V_CCW                                                                0x00000901
3420 
3421 #define NVC397_OGL_SET_CULL_FACE                                                                           0x1920
3422 #define NVC397_OGL_SET_CULL_FACE_V                                                                           31:0
3423 #define NVC397_OGL_SET_CULL_FACE_V_FRONT                                                               0x00000404
3424 #define NVC397_OGL_SET_CULL_FACE_V_BACK                                                                0x00000405
3425 #define NVC397_OGL_SET_CULL_FACE_V_FRONT_AND_BACK                                                      0x00000408
3426 
3427 #define NVC397_SET_VIEWPORT_PIXEL                                                                          0x1924
3428 #define NVC397_SET_VIEWPORT_PIXEL_CENTER                                                                      0:0
3429 #define NVC397_SET_VIEWPORT_PIXEL_CENTER_AT_HALF_INTEGERS                                              0x00000000
3430 #define NVC397_SET_VIEWPORT_PIXEL_CENTER_AT_INTEGERS                                                   0x00000001
3431 
3432 #define NVC397_SET_VIEWPORT_SCALE_OFFSET                                                                   0x192c
3433 #define NVC397_SET_VIEWPORT_SCALE_OFFSET_ENABLE                                                               0:0
3434 #define NVC397_SET_VIEWPORT_SCALE_OFFSET_ENABLE_FALSE                                                  0x00000000
3435 #define NVC397_SET_VIEWPORT_SCALE_OFFSET_ENABLE_TRUE                                                   0x00000001
3436 
3437 #define NVC397_SET_VIEWPORT_CLIP_CONTROL                                                                   0x193c
3438 #define NVC397_SET_VIEWPORT_CLIP_CONTROL_MIN_Z_ZERO_MAX_Z_ONE                                                 0:0
3439 #define NVC397_SET_VIEWPORT_CLIP_CONTROL_MIN_Z_ZERO_MAX_Z_ONE_FALSE                                    0x00000000
3440 #define NVC397_SET_VIEWPORT_CLIP_CONTROL_MIN_Z_ZERO_MAX_Z_ONE_TRUE                                     0x00000001
3441 #define NVC397_SET_VIEWPORT_CLIP_CONTROL_Z_CLIP_RANGE                                                       17:16
3442 #define NVC397_SET_VIEWPORT_CLIP_CONTROL_Z_CLIP_RANGE_USE_FIELD_MIN_Z_ZERO_MAX_Z_ONE                   0x00000000
3443 #define NVC397_SET_VIEWPORT_CLIP_CONTROL_Z_CLIP_RANGE_MIN_Z_MAX_Z                                      0x00000001
3444 #define NVC397_SET_VIEWPORT_CLIP_CONTROL_Z_CLIP_RANGE_ZERO_ONE                                         0x00000002
3445 #define NVC397_SET_VIEWPORT_CLIP_CONTROL_Z_CLIP_RANGE_MINUS_INF_PLUS_INF                               0x00000003
3446 #define NVC397_SET_VIEWPORT_CLIP_CONTROL_PIXEL_MIN_Z                                                          3:3
3447 #define NVC397_SET_VIEWPORT_CLIP_CONTROL_PIXEL_MIN_Z_CLIP                                              0x00000000
3448 #define NVC397_SET_VIEWPORT_CLIP_CONTROL_PIXEL_MIN_Z_CLAMP                                             0x00000001
3449 #define NVC397_SET_VIEWPORT_CLIP_CONTROL_PIXEL_MAX_Z                                                          4:4
3450 #define NVC397_SET_VIEWPORT_CLIP_CONTROL_PIXEL_MAX_Z_CLIP                                              0x00000000
3451 #define NVC397_SET_VIEWPORT_CLIP_CONTROL_PIXEL_MAX_Z_CLAMP                                             0x00000001
3452 #define NVC397_SET_VIEWPORT_CLIP_CONTROL_GEOMETRY_GUARDBAND                                                   7:7
3453 #define NVC397_SET_VIEWPORT_CLIP_CONTROL_GEOMETRY_GUARDBAND_SCALE_256                                  0x00000000
3454 #define NVC397_SET_VIEWPORT_CLIP_CONTROL_GEOMETRY_GUARDBAND_SCALE_1                                    0x00000001
3455 #define NVC397_SET_VIEWPORT_CLIP_CONTROL_LINE_POINT_CULL_GUARDBAND                                          10:10
3456 #define NVC397_SET_VIEWPORT_CLIP_CONTROL_LINE_POINT_CULL_GUARDBAND_SCALE_256                           0x00000000
3457 #define NVC397_SET_VIEWPORT_CLIP_CONTROL_LINE_POINT_CULL_GUARDBAND_SCALE_1                             0x00000001
3458 #define NVC397_SET_VIEWPORT_CLIP_CONTROL_GEOMETRY_CLIP                                                      13:11
3459 #define NVC397_SET_VIEWPORT_CLIP_CONTROL_GEOMETRY_CLIP_WZERO_CLIP                                      0x00000000
3460 #define NVC397_SET_VIEWPORT_CLIP_CONTROL_GEOMETRY_CLIP_PASSTHRU                                        0x00000001
3461 #define NVC397_SET_VIEWPORT_CLIP_CONTROL_GEOMETRY_CLIP_FRUSTUM_XY_CLIP                                 0x00000002
3462 #define NVC397_SET_VIEWPORT_CLIP_CONTROL_GEOMETRY_CLIP_FRUSTUM_XYZ_CLIP                                0x00000003
3463 #define NVC397_SET_VIEWPORT_CLIP_CONTROL_GEOMETRY_CLIP_WZERO_CLIP_NO_Z_CULL                            0x00000004
3464 #define NVC397_SET_VIEWPORT_CLIP_CONTROL_GEOMETRY_CLIP_FRUSTUM_Z_CLIP                                  0x00000005
3465 #define NVC397_SET_VIEWPORT_CLIP_CONTROL_GEOMETRY_CLIP_WZERO_TRI_FILL_OR_CLIP                          0x00000006
3466 #define NVC397_SET_VIEWPORT_CLIP_CONTROL_GEOMETRY_GUARDBAND_Z                                                 2:1
3467 #define NVC397_SET_VIEWPORT_CLIP_CONTROL_GEOMETRY_GUARDBAND_Z_SAME_AS_XY_GUARDBAND                     0x00000000
3468 #define NVC397_SET_VIEWPORT_CLIP_CONTROL_GEOMETRY_GUARDBAND_Z_SCALE_256                                0x00000001
3469 #define NVC397_SET_VIEWPORT_CLIP_CONTROL_GEOMETRY_GUARDBAND_Z_SCALE_1                                  0x00000002
3470 
3471 #define NVC397_SET_USER_CLIP_OP                                                                            0x1940
3472 #define NVC397_SET_USER_CLIP_OP_PLANE0                                                                        0:0
3473 #define NVC397_SET_USER_CLIP_OP_PLANE0_CLIP                                                            0x00000000
3474 #define NVC397_SET_USER_CLIP_OP_PLANE0_CULL                                                            0x00000001
3475 #define NVC397_SET_USER_CLIP_OP_PLANE1                                                                        4:4
3476 #define NVC397_SET_USER_CLIP_OP_PLANE1_CLIP                                                            0x00000000
3477 #define NVC397_SET_USER_CLIP_OP_PLANE1_CULL                                                            0x00000001
3478 #define NVC397_SET_USER_CLIP_OP_PLANE2                                                                        8:8
3479 #define NVC397_SET_USER_CLIP_OP_PLANE2_CLIP                                                            0x00000000
3480 #define NVC397_SET_USER_CLIP_OP_PLANE2_CULL                                                            0x00000001
3481 #define NVC397_SET_USER_CLIP_OP_PLANE3                                                                      12:12
3482 #define NVC397_SET_USER_CLIP_OP_PLANE3_CLIP                                                            0x00000000
3483 #define NVC397_SET_USER_CLIP_OP_PLANE3_CULL                                                            0x00000001
3484 #define NVC397_SET_USER_CLIP_OP_PLANE4                                                                      16:16
3485 #define NVC397_SET_USER_CLIP_OP_PLANE4_CLIP                                                            0x00000000
3486 #define NVC397_SET_USER_CLIP_OP_PLANE4_CULL                                                            0x00000001
3487 #define NVC397_SET_USER_CLIP_OP_PLANE5                                                                      20:20
3488 #define NVC397_SET_USER_CLIP_OP_PLANE5_CLIP                                                            0x00000000
3489 #define NVC397_SET_USER_CLIP_OP_PLANE5_CULL                                                            0x00000001
3490 #define NVC397_SET_USER_CLIP_OP_PLANE6                                                                      24:24
3491 #define NVC397_SET_USER_CLIP_OP_PLANE6_CLIP                                                            0x00000000
3492 #define NVC397_SET_USER_CLIP_OP_PLANE6_CULL                                                            0x00000001
3493 #define NVC397_SET_USER_CLIP_OP_PLANE7                                                                      28:28
3494 #define NVC397_SET_USER_CLIP_OP_PLANE7_CLIP                                                            0x00000000
3495 #define NVC397_SET_USER_CLIP_OP_PLANE7_CULL                                                            0x00000001
3496 
3497 #define NVC397_SET_RENDER_ENABLE_OVERRIDE                                                                  0x1944
3498 #define NVC397_SET_RENDER_ENABLE_OVERRIDE_MODE                                                                1:0
3499 #define NVC397_SET_RENDER_ENABLE_OVERRIDE_MODE_USE_RENDER_ENABLE                                       0x00000000
3500 #define NVC397_SET_RENDER_ENABLE_OVERRIDE_MODE_ALWAYS_RENDER                                           0x00000001
3501 #define NVC397_SET_RENDER_ENABLE_OVERRIDE_MODE_NEVER_RENDER                                            0x00000002
3502 
3503 #define NVC397_SET_PRIMITIVE_TOPOLOGY_CONTROL                                                              0x1948
3504 #define NVC397_SET_PRIMITIVE_TOPOLOGY_CONTROL_OVERRIDE                                                        0:0
3505 #define NVC397_SET_PRIMITIVE_TOPOLOGY_CONTROL_OVERRIDE_USE_TOPOLOGY_IN_BEGIN_METHODS                   0x00000000
3506 #define NVC397_SET_PRIMITIVE_TOPOLOGY_CONTROL_OVERRIDE_USE_SEPARATE_TOPOLOGY_STATE                     0x00000001
3507 
3508 #define NVC397_SET_WINDOW_CLIP_ENABLE                                                                      0x194c
3509 #define NVC397_SET_WINDOW_CLIP_ENABLE_V                                                                       0:0
3510 #define NVC397_SET_WINDOW_CLIP_ENABLE_V_FALSE                                                          0x00000000
3511 #define NVC397_SET_WINDOW_CLIP_ENABLE_V_TRUE                                                           0x00000001
3512 
3513 #define NVC397_SET_WINDOW_CLIP_TYPE                                                                        0x1950
3514 #define NVC397_SET_WINDOW_CLIP_TYPE_V                                                                         1:0
3515 #define NVC397_SET_WINDOW_CLIP_TYPE_V_INCLUSIVE                                                        0x00000000
3516 #define NVC397_SET_WINDOW_CLIP_TYPE_V_EXCLUSIVE                                                        0x00000001
3517 #define NVC397_SET_WINDOW_CLIP_TYPE_V_CLIPALL                                                          0x00000002
3518 
3519 #define NVC397_INVALIDATE_ZCULL                                                                            0x1958
3520 #define NVC397_INVALIDATE_ZCULL_V                                                                            31:0
3521 #define NVC397_INVALIDATE_ZCULL_V_INVALIDATE                                                           0x00000000
3522 
3523 #define NVC397_SET_ZCULL                                                                                   0x1968
3524 #define NVC397_SET_ZCULL_Z_ENABLE                                                                             0:0
3525 #define NVC397_SET_ZCULL_Z_ENABLE_FALSE                                                                0x00000000
3526 #define NVC397_SET_ZCULL_Z_ENABLE_TRUE                                                                 0x00000001
3527 #define NVC397_SET_ZCULL_STENCIL_ENABLE                                                                       4:4
3528 #define NVC397_SET_ZCULL_STENCIL_ENABLE_FALSE                                                          0x00000000
3529 #define NVC397_SET_ZCULL_STENCIL_ENABLE_TRUE                                                           0x00000001
3530 
3531 #define NVC397_SET_ZCULL_BOUNDS                                                                            0x196c
3532 #define NVC397_SET_ZCULL_BOUNDS_Z_MIN_UNBOUNDED_ENABLE                                                        0:0
3533 #define NVC397_SET_ZCULL_BOUNDS_Z_MIN_UNBOUNDED_ENABLE_FALSE                                           0x00000000
3534 #define NVC397_SET_ZCULL_BOUNDS_Z_MIN_UNBOUNDED_ENABLE_TRUE                                            0x00000001
3535 #define NVC397_SET_ZCULL_BOUNDS_Z_MAX_UNBOUNDED_ENABLE                                                        4:4
3536 #define NVC397_SET_ZCULL_BOUNDS_Z_MAX_UNBOUNDED_ENABLE_FALSE                                           0x00000000
3537 #define NVC397_SET_ZCULL_BOUNDS_Z_MAX_UNBOUNDED_ENABLE_TRUE                                            0x00000001
3538 
3539 #define NVC397_SET_PRIMITIVE_TOPOLOGY                                                                      0x1970
3540 #define NVC397_SET_PRIMITIVE_TOPOLOGY_V                                                                      15:0
3541 #define NVC397_SET_PRIMITIVE_TOPOLOGY_V_POINTLIST                                                      0x00000001
3542 #define NVC397_SET_PRIMITIVE_TOPOLOGY_V_LINELIST                                                       0x00000002
3543 #define NVC397_SET_PRIMITIVE_TOPOLOGY_V_LINESTRIP                                                      0x00000003
3544 #define NVC397_SET_PRIMITIVE_TOPOLOGY_V_TRIANGLELIST                                                   0x00000004
3545 #define NVC397_SET_PRIMITIVE_TOPOLOGY_V_TRIANGLESTRIP                                                  0x00000005
3546 #define NVC397_SET_PRIMITIVE_TOPOLOGY_V_LINELIST_ADJCY                                                 0x0000000A
3547 #define NVC397_SET_PRIMITIVE_TOPOLOGY_V_LINESTRIP_ADJCY                                                0x0000000B
3548 #define NVC397_SET_PRIMITIVE_TOPOLOGY_V_TRIANGLELIST_ADJCY                                             0x0000000C
3549 #define NVC397_SET_PRIMITIVE_TOPOLOGY_V_TRIANGLESTRIP_ADJCY                                            0x0000000D
3550 #define NVC397_SET_PRIMITIVE_TOPOLOGY_V_PATCHLIST                                                      0x0000000E
3551 #define NVC397_SET_PRIMITIVE_TOPOLOGY_V_LEGACY_POINTS                                                  0x00001001
3552 #define NVC397_SET_PRIMITIVE_TOPOLOGY_V_LEGACY_INDEXEDLINELIST                                         0x00001002
3553 #define NVC397_SET_PRIMITIVE_TOPOLOGY_V_LEGACY_INDEXEDTRIANGLELIST                                     0x00001003
3554 #define NVC397_SET_PRIMITIVE_TOPOLOGY_V_LEGACY_LINELIST                                                0x0000100F
3555 #define NVC397_SET_PRIMITIVE_TOPOLOGY_V_LEGACY_LINESTRIP                                               0x00001010
3556 #define NVC397_SET_PRIMITIVE_TOPOLOGY_V_LEGACY_INDEXEDLINESTRIP                                        0x00001011
3557 #define NVC397_SET_PRIMITIVE_TOPOLOGY_V_LEGACY_TRIANGLELIST                                            0x00001012
3558 #define NVC397_SET_PRIMITIVE_TOPOLOGY_V_LEGACY_TRIANGLESTRIP                                           0x00001013
3559 #define NVC397_SET_PRIMITIVE_TOPOLOGY_V_LEGACY_INDEXEDTRIANGLESTRIP                                    0x00001014
3560 #define NVC397_SET_PRIMITIVE_TOPOLOGY_V_LEGACY_TRIANGLEFAN                                             0x00001015
3561 #define NVC397_SET_PRIMITIVE_TOPOLOGY_V_LEGACY_INDEXEDTRIANGLEFAN                                      0x00001016
3562 #define NVC397_SET_PRIMITIVE_TOPOLOGY_V_LEGACY_TRIANGLEFAN_IMM                                         0x00001017
3563 #define NVC397_SET_PRIMITIVE_TOPOLOGY_V_LEGACY_LINELIST_IMM                                            0x00001018
3564 #define NVC397_SET_PRIMITIVE_TOPOLOGY_V_LEGACY_INDEXEDTRIANGLELIST2                                    0x0000101A
3565 #define NVC397_SET_PRIMITIVE_TOPOLOGY_V_LEGACY_INDEXEDLINELIST2                                        0x0000101B
3566 
3567 #define NVC397_ZCULL_SYNC                                                                                  0x1978
3568 #define NVC397_ZCULL_SYNC_V                                                                                  31:0
3569 
3570 #define NVC397_SET_CLIP_ID_TEST                                                                            0x197c
3571 #define NVC397_SET_CLIP_ID_TEST_ENABLE                                                                        0:0
3572 #define NVC397_SET_CLIP_ID_TEST_ENABLE_FALSE                                                           0x00000000
3573 #define NVC397_SET_CLIP_ID_TEST_ENABLE_TRUE                                                            0x00000001
3574 
3575 #define NVC397_SET_SURFACE_CLIP_ID_WIDTH                                                                   0x1980
3576 #define NVC397_SET_SURFACE_CLIP_ID_WIDTH_V                                                                   31:0
3577 
3578 #define NVC397_SET_CLIP_ID                                                                                 0x1984
3579 #define NVC397_SET_CLIP_ID_V                                                                                 31:0
3580 
3581 #define NVC397_SET_DEPTH_BOUNDS_TEST                                                                       0x19bc
3582 #define NVC397_SET_DEPTH_BOUNDS_TEST_ENABLE                                                                   0:0
3583 #define NVC397_SET_DEPTH_BOUNDS_TEST_ENABLE_FALSE                                                      0x00000000
3584 #define NVC397_SET_DEPTH_BOUNDS_TEST_ENABLE_TRUE                                                       0x00000001
3585 
3586 #define NVC397_SET_BLEND_FLOAT_OPTION                                                                      0x19c0
3587 #define NVC397_SET_BLEND_FLOAT_OPTION_ZERO_TIMES_ANYTHING_IS_ZERO                                             0:0
3588 #define NVC397_SET_BLEND_FLOAT_OPTION_ZERO_TIMES_ANYTHING_IS_ZERO_FALSE                                0x00000000
3589 #define NVC397_SET_BLEND_FLOAT_OPTION_ZERO_TIMES_ANYTHING_IS_ZERO_TRUE                                 0x00000001
3590 
3591 #define NVC397_SET_LOGIC_OP                                                                                0x19c4
3592 #define NVC397_SET_LOGIC_OP_ENABLE                                                                            0:0
3593 #define NVC397_SET_LOGIC_OP_ENABLE_FALSE                                                               0x00000000
3594 #define NVC397_SET_LOGIC_OP_ENABLE_TRUE                                                                0x00000001
3595 
3596 #define NVC397_SET_LOGIC_OP_FUNC                                                                           0x19c8
3597 #define NVC397_SET_LOGIC_OP_FUNC_V                                                                           31:0
3598 #define NVC397_SET_LOGIC_OP_FUNC_V_CLEAR                                                               0x00001500
3599 #define NVC397_SET_LOGIC_OP_FUNC_V_AND                                                                 0x00001501
3600 #define NVC397_SET_LOGIC_OP_FUNC_V_AND_REVERSE                                                         0x00001502
3601 #define NVC397_SET_LOGIC_OP_FUNC_V_COPY                                                                0x00001503
3602 #define NVC397_SET_LOGIC_OP_FUNC_V_AND_INVERTED                                                        0x00001504
3603 #define NVC397_SET_LOGIC_OP_FUNC_V_NOOP                                                                0x00001505
3604 #define NVC397_SET_LOGIC_OP_FUNC_V_XOR                                                                 0x00001506
3605 #define NVC397_SET_LOGIC_OP_FUNC_V_OR                                                                  0x00001507
3606 #define NVC397_SET_LOGIC_OP_FUNC_V_NOR                                                                 0x00001508
3607 #define NVC397_SET_LOGIC_OP_FUNC_V_EQUIV                                                               0x00001509
3608 #define NVC397_SET_LOGIC_OP_FUNC_V_INVERT                                                              0x0000150A
3609 #define NVC397_SET_LOGIC_OP_FUNC_V_OR_REVERSE                                                          0x0000150B
3610 #define NVC397_SET_LOGIC_OP_FUNC_V_COPY_INVERTED                                                       0x0000150C
3611 #define NVC397_SET_LOGIC_OP_FUNC_V_OR_INVERTED                                                         0x0000150D
3612 #define NVC397_SET_LOGIC_OP_FUNC_V_NAND                                                                0x0000150E
3613 #define NVC397_SET_LOGIC_OP_FUNC_V_SET                                                                 0x0000150F
3614 
3615 #define NVC397_SET_Z_COMPRESSION                                                                           0x19cc
3616 #define NVC397_SET_Z_COMPRESSION_ENABLE                                                                       0:0
3617 #define NVC397_SET_Z_COMPRESSION_ENABLE_FALSE                                                          0x00000000
3618 #define NVC397_SET_Z_COMPRESSION_ENABLE_TRUE                                                           0x00000001
3619 
3620 #define NVC397_CLEAR_SURFACE                                                                               0x19d0
3621 #define NVC397_CLEAR_SURFACE_Z_ENABLE                                                                         0:0
3622 #define NVC397_CLEAR_SURFACE_Z_ENABLE_FALSE                                                            0x00000000
3623 #define NVC397_CLEAR_SURFACE_Z_ENABLE_TRUE                                                             0x00000001
3624 #define NVC397_CLEAR_SURFACE_STENCIL_ENABLE                                                                   1:1
3625 #define NVC397_CLEAR_SURFACE_STENCIL_ENABLE_FALSE                                                      0x00000000
3626 #define NVC397_CLEAR_SURFACE_STENCIL_ENABLE_TRUE                                                       0x00000001
3627 #define NVC397_CLEAR_SURFACE_R_ENABLE                                                                         2:2
3628 #define NVC397_CLEAR_SURFACE_R_ENABLE_FALSE                                                            0x00000000
3629 #define NVC397_CLEAR_SURFACE_R_ENABLE_TRUE                                                             0x00000001
3630 #define NVC397_CLEAR_SURFACE_G_ENABLE                                                                         3:3
3631 #define NVC397_CLEAR_SURFACE_G_ENABLE_FALSE                                                            0x00000000
3632 #define NVC397_CLEAR_SURFACE_G_ENABLE_TRUE                                                             0x00000001
3633 #define NVC397_CLEAR_SURFACE_B_ENABLE                                                                         4:4
3634 #define NVC397_CLEAR_SURFACE_B_ENABLE_FALSE                                                            0x00000000
3635 #define NVC397_CLEAR_SURFACE_B_ENABLE_TRUE                                                             0x00000001
3636 #define NVC397_CLEAR_SURFACE_A_ENABLE                                                                         5:5
3637 #define NVC397_CLEAR_SURFACE_A_ENABLE_FALSE                                                            0x00000000
3638 #define NVC397_CLEAR_SURFACE_A_ENABLE_TRUE                                                             0x00000001
3639 #define NVC397_CLEAR_SURFACE_MRT_SELECT                                                                       9:6
3640 #define NVC397_CLEAR_SURFACE_RT_ARRAY_INDEX                                                                 25:10
3641 
3642 #define NVC397_CLEAR_CLIP_ID_SURFACE                                                                       0x19d4
3643 #define NVC397_CLEAR_CLIP_ID_SURFACE_V                                                                       31:0
3644 
3645 #define NVC397_SET_COLOR_COMPRESSION(i)                                                            (0x19e0+(i)*4)
3646 #define NVC397_SET_COLOR_COMPRESSION_ENABLE                                                                   0:0
3647 #define NVC397_SET_COLOR_COMPRESSION_ENABLE_FALSE                                                      0x00000000
3648 #define NVC397_SET_COLOR_COMPRESSION_ENABLE_TRUE                                                       0x00000001
3649 
3650 #define NVC397_SET_CT_WRITE(i)                                                                     (0x1a00+(i)*4)
3651 #define NVC397_SET_CT_WRITE_R_ENABLE                                                                          0:0
3652 #define NVC397_SET_CT_WRITE_R_ENABLE_FALSE                                                             0x00000000
3653 #define NVC397_SET_CT_WRITE_R_ENABLE_TRUE                                                              0x00000001
3654 #define NVC397_SET_CT_WRITE_G_ENABLE                                                                          4:4
3655 #define NVC397_SET_CT_WRITE_G_ENABLE_FALSE                                                             0x00000000
3656 #define NVC397_SET_CT_WRITE_G_ENABLE_TRUE                                                              0x00000001
3657 #define NVC397_SET_CT_WRITE_B_ENABLE                                                                          8:8
3658 #define NVC397_SET_CT_WRITE_B_ENABLE_FALSE                                                             0x00000000
3659 #define NVC397_SET_CT_WRITE_B_ENABLE_TRUE                                                              0x00000001
3660 #define NVC397_SET_CT_WRITE_A_ENABLE                                                                        12:12
3661 #define NVC397_SET_CT_WRITE_A_ENABLE_FALSE                                                             0x00000000
3662 #define NVC397_SET_CT_WRITE_A_ENABLE_TRUE                                                              0x00000001
3663 
3664 #define NVC397_PIPE_NOP                                                                                    0x1a2c
3665 #define NVC397_PIPE_NOP_V                                                                                    31:0
3666 
3667 #define NVC397_SET_SPARE00                                                                                 0x1a30
3668 #define NVC397_SET_SPARE00_V                                                                                 31:0
3669 
3670 #define NVC397_SET_SPARE01                                                                                 0x1a34
3671 #define NVC397_SET_SPARE01_V                                                                                 31:0
3672 
3673 #define NVC397_SET_SPARE02                                                                                 0x1a38
3674 #define NVC397_SET_SPARE02_V                                                                                 31:0
3675 
3676 #define NVC397_SET_SPARE03                                                                                 0x1a3c
3677 #define NVC397_SET_SPARE03_V                                                                                 31:0
3678 
3679 #define NVC397_SET_REPORT_SEMAPHORE_A                                                                      0x1b00
3680 #define NVC397_SET_REPORT_SEMAPHORE_A_OFFSET_UPPER                                                            7:0
3681 
3682 #define NVC397_SET_REPORT_SEMAPHORE_B                                                                      0x1b04
3683 #define NVC397_SET_REPORT_SEMAPHORE_B_OFFSET_LOWER                                                           31:0
3684 
3685 #define NVC397_SET_REPORT_SEMAPHORE_C                                                                      0x1b08
3686 #define NVC397_SET_REPORT_SEMAPHORE_C_PAYLOAD                                                                31:0
3687 
3688 #define NVC397_SET_REPORT_SEMAPHORE_D                                                                      0x1b0c
3689 #define NVC397_SET_REPORT_SEMAPHORE_D_OPERATION                                                               1:0
3690 #define NVC397_SET_REPORT_SEMAPHORE_D_OPERATION_RELEASE                                                0x00000000
3691 #define NVC397_SET_REPORT_SEMAPHORE_D_OPERATION_ACQUIRE                                                0x00000001
3692 #define NVC397_SET_REPORT_SEMAPHORE_D_OPERATION_REPORT_ONLY                                            0x00000002
3693 #define NVC397_SET_REPORT_SEMAPHORE_D_OPERATION_TRAP                                                   0x00000003
3694 #define NVC397_SET_REPORT_SEMAPHORE_D_RELEASE                                                                 4:4
3695 #define NVC397_SET_REPORT_SEMAPHORE_D_RELEASE_AFTER_ALL_PRECEEDING_READS_COMPLETE                      0x00000000
3696 #define NVC397_SET_REPORT_SEMAPHORE_D_RELEASE_AFTER_ALL_PRECEEDING_WRITES_COMPLETE                     0x00000001
3697 #define NVC397_SET_REPORT_SEMAPHORE_D_ACQUIRE                                                                 8:8
3698 #define NVC397_SET_REPORT_SEMAPHORE_D_ACQUIRE_BEFORE_ANY_FOLLOWING_WRITES_START                        0x00000000
3699 #define NVC397_SET_REPORT_SEMAPHORE_D_ACQUIRE_BEFORE_ANY_FOLLOWING_READS_START                         0x00000001
3700 #define NVC397_SET_REPORT_SEMAPHORE_D_PIPELINE_LOCATION                                                     15:12
3701 #define NVC397_SET_REPORT_SEMAPHORE_D_PIPELINE_LOCATION_NONE                                           0x00000000
3702 #define NVC397_SET_REPORT_SEMAPHORE_D_PIPELINE_LOCATION_DATA_ASSEMBLER                                 0x00000001
3703 #define NVC397_SET_REPORT_SEMAPHORE_D_PIPELINE_LOCATION_VERTEX_SHADER                                  0x00000002
3704 #define NVC397_SET_REPORT_SEMAPHORE_D_PIPELINE_LOCATION_TESSELATION_INIT_SHADER                        0x00000008
3705 #define NVC397_SET_REPORT_SEMAPHORE_D_PIPELINE_LOCATION_TESSELATION_SHADER                             0x00000009
3706 #define NVC397_SET_REPORT_SEMAPHORE_D_PIPELINE_LOCATION_GEOMETRY_SHADER                                0x00000006
3707 #define NVC397_SET_REPORT_SEMAPHORE_D_PIPELINE_LOCATION_STREAMING_OUTPUT                               0x00000005
3708 #define NVC397_SET_REPORT_SEMAPHORE_D_PIPELINE_LOCATION_VPC                                            0x00000004
3709 #define NVC397_SET_REPORT_SEMAPHORE_D_PIPELINE_LOCATION_ZCULL                                          0x00000007
3710 #define NVC397_SET_REPORT_SEMAPHORE_D_PIPELINE_LOCATION_PIXEL_SHADER                                   0x0000000A
3711 #define NVC397_SET_REPORT_SEMAPHORE_D_PIPELINE_LOCATION_DEPTH_TEST                                     0x0000000C
3712 #define NVC397_SET_REPORT_SEMAPHORE_D_PIPELINE_LOCATION_ALL                                            0x0000000F
3713 #define NVC397_SET_REPORT_SEMAPHORE_D_COMPARISON                                                            16:16
3714 #define NVC397_SET_REPORT_SEMAPHORE_D_COMPARISON_EQ                                                    0x00000000
3715 #define NVC397_SET_REPORT_SEMAPHORE_D_COMPARISON_GE                                                    0x00000001
3716 #define NVC397_SET_REPORT_SEMAPHORE_D_AWAKEN_ENABLE                                                         20:20
3717 #define NVC397_SET_REPORT_SEMAPHORE_D_AWAKEN_ENABLE_FALSE                                              0x00000000
3718 #define NVC397_SET_REPORT_SEMAPHORE_D_AWAKEN_ENABLE_TRUE                                               0x00000001
3719 #define NVC397_SET_REPORT_SEMAPHORE_D_REPORT                                                                27:23
3720 #define NVC397_SET_REPORT_SEMAPHORE_D_REPORT_NONE                                                      0x00000000
3721 #define NVC397_SET_REPORT_SEMAPHORE_D_REPORT_DA_VERTICES_GENERATED                                     0x00000001
3722 #define NVC397_SET_REPORT_SEMAPHORE_D_REPORT_DA_PRIMITIVES_GENERATED                                   0x00000003
3723 #define NVC397_SET_REPORT_SEMAPHORE_D_REPORT_VS_INVOCATIONS                                            0x00000005
3724 #define NVC397_SET_REPORT_SEMAPHORE_D_REPORT_TI_INVOCATIONS                                            0x0000001B
3725 #define NVC397_SET_REPORT_SEMAPHORE_D_REPORT_TS_INVOCATIONS                                            0x0000001D
3726 #define NVC397_SET_REPORT_SEMAPHORE_D_REPORT_TS_PRIMITIVES_GENERATED                                   0x0000001F
3727 #define NVC397_SET_REPORT_SEMAPHORE_D_REPORT_GS_INVOCATIONS                                            0x00000007
3728 #define NVC397_SET_REPORT_SEMAPHORE_D_REPORT_GS_PRIMITIVES_GENERATED                                   0x00000009
3729 #define NVC397_SET_REPORT_SEMAPHORE_D_REPORT_ALPHA_BETA_CLOCKS                                         0x00000004
3730 #define NVC397_SET_REPORT_SEMAPHORE_D_REPORT_SCG_CLOCKS                                                0x00000008
3731 #define NVC397_SET_REPORT_SEMAPHORE_D_REPORT_VTG_PRIMITIVES_OUT                                        0x00000012
3732 #define NVC397_SET_REPORT_SEMAPHORE_D_REPORT_TOTAL_STREAMING_PRIMITIVES_NEEDED_MINUS_SUCCEEDED             0x0000001E
3733 #define NVC397_SET_REPORT_SEMAPHORE_D_REPORT_STREAMING_PRIMITIVES_SUCCEEDED                            0x0000000B
3734 #define NVC397_SET_REPORT_SEMAPHORE_D_REPORT_STREAMING_PRIMITIVES_NEEDED                               0x0000000D
3735 #define NVC397_SET_REPORT_SEMAPHORE_D_REPORT_STREAMING_PRIMITIVES_NEEDED_MINUS_SUCCEEDED               0x00000006
3736 #define NVC397_SET_REPORT_SEMAPHORE_D_REPORT_STREAMING_BYTE_COUNT                                      0x0000001A
3737 #define NVC397_SET_REPORT_SEMAPHORE_D_REPORT_CLIPPER_INVOCATIONS                                       0x0000000F
3738 #define NVC397_SET_REPORT_SEMAPHORE_D_REPORT_CLIPPER_PRIMITIVES_GENERATED                              0x00000011
3739 #define NVC397_SET_REPORT_SEMAPHORE_D_REPORT_ZCULL_STATS0                                              0x0000000A
3740 #define NVC397_SET_REPORT_SEMAPHORE_D_REPORT_ZCULL_STATS1                                              0x0000000C
3741 #define NVC397_SET_REPORT_SEMAPHORE_D_REPORT_ZCULL_STATS2                                              0x0000000E
3742 #define NVC397_SET_REPORT_SEMAPHORE_D_REPORT_ZCULL_STATS3                                              0x00000010
3743 #define NVC397_SET_REPORT_SEMAPHORE_D_REPORT_PS_INVOCATIONS                                            0x00000013
3744 #define NVC397_SET_REPORT_SEMAPHORE_D_REPORT_ZPASS_PIXEL_CNT                                           0x00000002
3745 #define NVC397_SET_REPORT_SEMAPHORE_D_REPORT_ZPASS_PIXEL_CNT64                                         0x00000015
3746 #define NVC397_SET_REPORT_SEMAPHORE_D_REPORT_TILED_ZPASS_PIXEL_CNT64                                   0x00000017
3747 #define NVC397_SET_REPORT_SEMAPHORE_D_REPORT_IEEE_CLEAN_COLOR_TARGET                                   0x00000018
3748 #define NVC397_SET_REPORT_SEMAPHORE_D_REPORT_IEEE_CLEAN_ZETA_TARGET                                    0x00000019
3749 #define NVC397_SET_REPORT_SEMAPHORE_D_REPORT_BOUNDING_RECTANGLE                                        0x0000001C
3750 #define NVC397_SET_REPORT_SEMAPHORE_D_STRUCTURE_SIZE                                                        28:28
3751 #define NVC397_SET_REPORT_SEMAPHORE_D_STRUCTURE_SIZE_FOUR_WORDS                                        0x00000000
3752 #define NVC397_SET_REPORT_SEMAPHORE_D_STRUCTURE_SIZE_ONE_WORD                                          0x00000001
3753 #define NVC397_SET_REPORT_SEMAPHORE_D_SUB_REPORT                                                              7:5
3754 #define NVC397_SET_REPORT_SEMAPHORE_D_REPORT_DWORD_NUMBER                                                   21:21
3755 #define NVC397_SET_REPORT_SEMAPHORE_D_FLUSH_DISABLE                                                           2:2
3756 #define NVC397_SET_REPORT_SEMAPHORE_D_FLUSH_DISABLE_FALSE                                              0x00000000
3757 #define NVC397_SET_REPORT_SEMAPHORE_D_FLUSH_DISABLE_TRUE                                               0x00000001
3758 #define NVC397_SET_REPORT_SEMAPHORE_D_REDUCTION_ENABLE                                                        3:3
3759 #define NVC397_SET_REPORT_SEMAPHORE_D_REDUCTION_ENABLE_FALSE                                           0x00000000
3760 #define NVC397_SET_REPORT_SEMAPHORE_D_REDUCTION_ENABLE_TRUE                                            0x00000001
3761 #define NVC397_SET_REPORT_SEMAPHORE_D_REDUCTION_OP                                                           11:9
3762 #define NVC397_SET_REPORT_SEMAPHORE_D_REDUCTION_OP_RED_ADD                                             0x00000000
3763 #define NVC397_SET_REPORT_SEMAPHORE_D_REDUCTION_OP_RED_MIN                                             0x00000001
3764 #define NVC397_SET_REPORT_SEMAPHORE_D_REDUCTION_OP_RED_MAX                                             0x00000002
3765 #define NVC397_SET_REPORT_SEMAPHORE_D_REDUCTION_OP_RED_INC                                             0x00000003
3766 #define NVC397_SET_REPORT_SEMAPHORE_D_REDUCTION_OP_RED_DEC                                             0x00000004
3767 #define NVC397_SET_REPORT_SEMAPHORE_D_REDUCTION_OP_RED_AND                                             0x00000005
3768 #define NVC397_SET_REPORT_SEMAPHORE_D_REDUCTION_OP_RED_OR                                              0x00000006
3769 #define NVC397_SET_REPORT_SEMAPHORE_D_REDUCTION_OP_RED_XOR                                             0x00000007
3770 #define NVC397_SET_REPORT_SEMAPHORE_D_REDUCTION_FORMAT                                                      18:17
3771 #define NVC397_SET_REPORT_SEMAPHORE_D_REDUCTION_FORMAT_UNSIGNED_32                                     0x00000000
3772 #define NVC397_SET_REPORT_SEMAPHORE_D_REDUCTION_FORMAT_SIGNED_32                                       0x00000001
3773 
3774 #define NVC397_SET_VERTEX_STREAM_A_FORMAT(j)                                                      (0x1c00+(j)*16)
3775 #define NVC397_SET_VERTEX_STREAM_A_FORMAT_STRIDE                                                             11:0
3776 #define NVC397_SET_VERTEX_STREAM_A_FORMAT_ENABLE                                                            12:12
3777 #define NVC397_SET_VERTEX_STREAM_A_FORMAT_ENABLE_FALSE                                                 0x00000000
3778 #define NVC397_SET_VERTEX_STREAM_A_FORMAT_ENABLE_TRUE                                                  0x00000001
3779 
3780 #define NVC397_SET_VERTEX_STREAM_A_LOCATION_A(j)                                                  (0x1c04+(j)*16)
3781 #define NVC397_SET_VERTEX_STREAM_A_LOCATION_A_OFFSET_UPPER                                                    7:0
3782 
3783 #define NVC397_SET_VERTEX_STREAM_A_LOCATION_B(j)                                                  (0x1c08+(j)*16)
3784 #define NVC397_SET_VERTEX_STREAM_A_LOCATION_B_OFFSET_LOWER                                                   31:0
3785 
3786 #define NVC397_SET_VERTEX_STREAM_A_FREQUENCY(j)                                                   (0x1c0c+(j)*16)
3787 #define NVC397_SET_VERTEX_STREAM_A_FREQUENCY_V                                                               31:0
3788 
3789 #define NVC397_SET_VERTEX_STREAM_B_FORMAT(j)                                                      (0x1d00+(j)*16)
3790 #define NVC397_SET_VERTEX_STREAM_B_FORMAT_STRIDE                                                             11:0
3791 #define NVC397_SET_VERTEX_STREAM_B_FORMAT_ENABLE                                                            12:12
3792 #define NVC397_SET_VERTEX_STREAM_B_FORMAT_ENABLE_FALSE                                                 0x00000000
3793 #define NVC397_SET_VERTEX_STREAM_B_FORMAT_ENABLE_TRUE                                                  0x00000001
3794 
3795 #define NVC397_SET_VERTEX_STREAM_B_LOCATION_A(j)                                                  (0x1d04+(j)*16)
3796 #define NVC397_SET_VERTEX_STREAM_B_LOCATION_A_OFFSET_UPPER                                                    7:0
3797 
3798 #define NVC397_SET_VERTEX_STREAM_B_LOCATION_B(j)                                                  (0x1d08+(j)*16)
3799 #define NVC397_SET_VERTEX_STREAM_B_LOCATION_B_OFFSET_LOWER                                                   31:0
3800 
3801 #define NVC397_SET_VERTEX_STREAM_B_FREQUENCY(j)                                                   (0x1d0c+(j)*16)
3802 #define NVC397_SET_VERTEX_STREAM_B_FREQUENCY_V                                                               31:0
3803 
3804 #define NVC397_SET_BLEND_PER_TARGET_SEPARATE_FOR_ALPHA(j)                                         (0x1e00+(j)*32)
3805 #define NVC397_SET_BLEND_PER_TARGET_SEPARATE_FOR_ALPHA_ENABLE                                                 0:0
3806 #define NVC397_SET_BLEND_PER_TARGET_SEPARATE_FOR_ALPHA_ENABLE_FALSE                                    0x00000000
3807 #define NVC397_SET_BLEND_PER_TARGET_SEPARATE_FOR_ALPHA_ENABLE_TRUE                                     0x00000001
3808 
3809 #define NVC397_SET_BLEND_PER_TARGET_COLOR_OP(j)                                                   (0x1e04+(j)*32)
3810 #define NVC397_SET_BLEND_PER_TARGET_COLOR_OP_V                                                               31:0
3811 #define NVC397_SET_BLEND_PER_TARGET_COLOR_OP_V_OGL_FUNC_SUBTRACT                                       0x0000800A
3812 #define NVC397_SET_BLEND_PER_TARGET_COLOR_OP_V_OGL_FUNC_REVERSE_SUBTRACT                               0x0000800B
3813 #define NVC397_SET_BLEND_PER_TARGET_COLOR_OP_V_OGL_FUNC_ADD                                            0x00008006
3814 #define NVC397_SET_BLEND_PER_TARGET_COLOR_OP_V_OGL_MIN                                                 0x00008007
3815 #define NVC397_SET_BLEND_PER_TARGET_COLOR_OP_V_OGL_MAX                                                 0x00008008
3816 #define NVC397_SET_BLEND_PER_TARGET_COLOR_OP_V_D3D_ADD                                                 0x00000001
3817 #define NVC397_SET_BLEND_PER_TARGET_COLOR_OP_V_D3D_SUBTRACT                                            0x00000002
3818 #define NVC397_SET_BLEND_PER_TARGET_COLOR_OP_V_D3D_REVSUBTRACT                                         0x00000003
3819 #define NVC397_SET_BLEND_PER_TARGET_COLOR_OP_V_D3D_MIN                                                 0x00000004
3820 #define NVC397_SET_BLEND_PER_TARGET_COLOR_OP_V_D3D_MAX                                                 0x00000005
3821 
3822 #define NVC397_SET_BLEND_PER_TARGET_COLOR_SOURCE_COEFF(j)                                         (0x1e08+(j)*32)
3823 #define NVC397_SET_BLEND_PER_TARGET_COLOR_SOURCE_COEFF_V                                                     31:0
3824 #define NVC397_SET_BLEND_PER_TARGET_COLOR_SOURCE_COEFF_V_OGL_ZERO                                      0x00004000
3825 #define NVC397_SET_BLEND_PER_TARGET_COLOR_SOURCE_COEFF_V_OGL_ONE                                       0x00004001
3826 #define NVC397_SET_BLEND_PER_TARGET_COLOR_SOURCE_COEFF_V_OGL_SRC_COLOR                                 0x00004300
3827 #define NVC397_SET_BLEND_PER_TARGET_COLOR_SOURCE_COEFF_V_OGL_ONE_MINUS_SRC_COLOR                       0x00004301
3828 #define NVC397_SET_BLEND_PER_TARGET_COLOR_SOURCE_COEFF_V_OGL_SRC_ALPHA                                 0x00004302
3829 #define NVC397_SET_BLEND_PER_TARGET_COLOR_SOURCE_COEFF_V_OGL_ONE_MINUS_SRC_ALPHA                       0x00004303
3830 #define NVC397_SET_BLEND_PER_TARGET_COLOR_SOURCE_COEFF_V_OGL_DST_ALPHA                                 0x00004304
3831 #define NVC397_SET_BLEND_PER_TARGET_COLOR_SOURCE_COEFF_V_OGL_ONE_MINUS_DST_ALPHA                       0x00004305
3832 #define NVC397_SET_BLEND_PER_TARGET_COLOR_SOURCE_COEFF_V_OGL_DST_COLOR                                 0x00004306
3833 #define NVC397_SET_BLEND_PER_TARGET_COLOR_SOURCE_COEFF_V_OGL_ONE_MINUS_DST_COLOR                       0x00004307
3834 #define NVC397_SET_BLEND_PER_TARGET_COLOR_SOURCE_COEFF_V_OGL_SRC_ALPHA_SATURATE                        0x00004308
3835 #define NVC397_SET_BLEND_PER_TARGET_COLOR_SOURCE_COEFF_V_OGL_CONSTANT_COLOR                            0x0000C001
3836 #define NVC397_SET_BLEND_PER_TARGET_COLOR_SOURCE_COEFF_V_OGL_ONE_MINUS_CONSTANT_COLOR                  0x0000C002
3837 #define NVC397_SET_BLEND_PER_TARGET_COLOR_SOURCE_COEFF_V_OGL_CONSTANT_ALPHA                            0x0000C003
3838 #define NVC397_SET_BLEND_PER_TARGET_COLOR_SOURCE_COEFF_V_OGL_ONE_MINUS_CONSTANT_ALPHA                  0x0000C004
3839 #define NVC397_SET_BLEND_PER_TARGET_COLOR_SOURCE_COEFF_V_OGL_SRC1COLOR                                 0x0000C900
3840 #define NVC397_SET_BLEND_PER_TARGET_COLOR_SOURCE_COEFF_V_OGL_INVSRC1COLOR                              0x0000C901
3841 #define NVC397_SET_BLEND_PER_TARGET_COLOR_SOURCE_COEFF_V_OGL_SRC1ALPHA                                 0x0000C902
3842 #define NVC397_SET_BLEND_PER_TARGET_COLOR_SOURCE_COEFF_V_OGL_INVSRC1ALPHA                              0x0000C903
3843 #define NVC397_SET_BLEND_PER_TARGET_COLOR_SOURCE_COEFF_V_D3D_ZERO                                      0x00000001
3844 #define NVC397_SET_BLEND_PER_TARGET_COLOR_SOURCE_COEFF_V_D3D_ONE                                       0x00000002
3845 #define NVC397_SET_BLEND_PER_TARGET_COLOR_SOURCE_COEFF_V_D3D_SRCCOLOR                                  0x00000003
3846 #define NVC397_SET_BLEND_PER_TARGET_COLOR_SOURCE_COEFF_V_D3D_INVSRCCOLOR                               0x00000004
3847 #define NVC397_SET_BLEND_PER_TARGET_COLOR_SOURCE_COEFF_V_D3D_SRCALPHA                                  0x00000005
3848 #define NVC397_SET_BLEND_PER_TARGET_COLOR_SOURCE_COEFF_V_D3D_INVSRCALPHA                               0x00000006
3849 #define NVC397_SET_BLEND_PER_TARGET_COLOR_SOURCE_COEFF_V_D3D_DESTALPHA                                 0x00000007
3850 #define NVC397_SET_BLEND_PER_TARGET_COLOR_SOURCE_COEFF_V_D3D_INVDESTALPHA                              0x00000008
3851 #define NVC397_SET_BLEND_PER_TARGET_COLOR_SOURCE_COEFF_V_D3D_DESTCOLOR                                 0x00000009
3852 #define NVC397_SET_BLEND_PER_TARGET_COLOR_SOURCE_COEFF_V_D3D_INVDESTCOLOR                              0x0000000A
3853 #define NVC397_SET_BLEND_PER_TARGET_COLOR_SOURCE_COEFF_V_D3D_SRCALPHASAT                               0x0000000B
3854 #define NVC397_SET_BLEND_PER_TARGET_COLOR_SOURCE_COEFF_V_D3D_BOTHSRCALPHA                              0x0000000C
3855 #define NVC397_SET_BLEND_PER_TARGET_COLOR_SOURCE_COEFF_V_D3D_BOTHINVSRCALPHA                           0x0000000D
3856 #define NVC397_SET_BLEND_PER_TARGET_COLOR_SOURCE_COEFF_V_D3D_BLENDFACTOR                               0x0000000E
3857 #define NVC397_SET_BLEND_PER_TARGET_COLOR_SOURCE_COEFF_V_D3D_INVBLENDFACTOR                            0x0000000F
3858 #define NVC397_SET_BLEND_PER_TARGET_COLOR_SOURCE_COEFF_V_D3D_SRC1COLOR                                 0x00000010
3859 #define NVC397_SET_BLEND_PER_TARGET_COLOR_SOURCE_COEFF_V_D3D_INVSRC1COLOR                              0x00000011
3860 #define NVC397_SET_BLEND_PER_TARGET_COLOR_SOURCE_COEFF_V_D3D_SRC1ALPHA                                 0x00000012
3861 #define NVC397_SET_BLEND_PER_TARGET_COLOR_SOURCE_COEFF_V_D3D_INVSRC1ALPHA                              0x00000013
3862 
3863 #define NVC397_SET_BLEND_PER_TARGET_COLOR_DEST_COEFF(j)                                           (0x1e0c+(j)*32)
3864 #define NVC397_SET_BLEND_PER_TARGET_COLOR_DEST_COEFF_V                                                       31:0
3865 #define NVC397_SET_BLEND_PER_TARGET_COLOR_DEST_COEFF_V_OGL_ZERO                                        0x00004000
3866 #define NVC397_SET_BLEND_PER_TARGET_COLOR_DEST_COEFF_V_OGL_ONE                                         0x00004001
3867 #define NVC397_SET_BLEND_PER_TARGET_COLOR_DEST_COEFF_V_OGL_SRC_COLOR                                   0x00004300
3868 #define NVC397_SET_BLEND_PER_TARGET_COLOR_DEST_COEFF_V_OGL_ONE_MINUS_SRC_COLOR                         0x00004301
3869 #define NVC397_SET_BLEND_PER_TARGET_COLOR_DEST_COEFF_V_OGL_SRC_ALPHA                                   0x00004302
3870 #define NVC397_SET_BLEND_PER_TARGET_COLOR_DEST_COEFF_V_OGL_ONE_MINUS_SRC_ALPHA                         0x00004303
3871 #define NVC397_SET_BLEND_PER_TARGET_COLOR_DEST_COEFF_V_OGL_DST_ALPHA                                   0x00004304
3872 #define NVC397_SET_BLEND_PER_TARGET_COLOR_DEST_COEFF_V_OGL_ONE_MINUS_DST_ALPHA                         0x00004305
3873 #define NVC397_SET_BLEND_PER_TARGET_COLOR_DEST_COEFF_V_OGL_DST_COLOR                                   0x00004306
3874 #define NVC397_SET_BLEND_PER_TARGET_COLOR_DEST_COEFF_V_OGL_ONE_MINUS_DST_COLOR                         0x00004307
3875 #define NVC397_SET_BLEND_PER_TARGET_COLOR_DEST_COEFF_V_OGL_SRC_ALPHA_SATURATE                          0x00004308
3876 #define NVC397_SET_BLEND_PER_TARGET_COLOR_DEST_COEFF_V_OGL_CONSTANT_COLOR                              0x0000C001
3877 #define NVC397_SET_BLEND_PER_TARGET_COLOR_DEST_COEFF_V_OGL_ONE_MINUS_CONSTANT_COLOR                    0x0000C002
3878 #define NVC397_SET_BLEND_PER_TARGET_COLOR_DEST_COEFF_V_OGL_CONSTANT_ALPHA                              0x0000C003
3879 #define NVC397_SET_BLEND_PER_TARGET_COLOR_DEST_COEFF_V_OGL_ONE_MINUS_CONSTANT_ALPHA                    0x0000C004
3880 #define NVC397_SET_BLEND_PER_TARGET_COLOR_DEST_COEFF_V_OGL_SRC1COLOR                                   0x0000C900
3881 #define NVC397_SET_BLEND_PER_TARGET_COLOR_DEST_COEFF_V_OGL_INVSRC1COLOR                                0x0000C901
3882 #define NVC397_SET_BLEND_PER_TARGET_COLOR_DEST_COEFF_V_OGL_SRC1ALPHA                                   0x0000C902
3883 #define NVC397_SET_BLEND_PER_TARGET_COLOR_DEST_COEFF_V_OGL_INVSRC1ALPHA                                0x0000C903
3884 #define NVC397_SET_BLEND_PER_TARGET_COLOR_DEST_COEFF_V_D3D_ZERO                                        0x00000001
3885 #define NVC397_SET_BLEND_PER_TARGET_COLOR_DEST_COEFF_V_D3D_ONE                                         0x00000002
3886 #define NVC397_SET_BLEND_PER_TARGET_COLOR_DEST_COEFF_V_D3D_SRCCOLOR                                    0x00000003
3887 #define NVC397_SET_BLEND_PER_TARGET_COLOR_DEST_COEFF_V_D3D_INVSRCCOLOR                                 0x00000004
3888 #define NVC397_SET_BLEND_PER_TARGET_COLOR_DEST_COEFF_V_D3D_SRCALPHA                                    0x00000005
3889 #define NVC397_SET_BLEND_PER_TARGET_COLOR_DEST_COEFF_V_D3D_INVSRCALPHA                                 0x00000006
3890 #define NVC397_SET_BLEND_PER_TARGET_COLOR_DEST_COEFF_V_D3D_DESTALPHA                                   0x00000007
3891 #define NVC397_SET_BLEND_PER_TARGET_COLOR_DEST_COEFF_V_D3D_INVDESTALPHA                                0x00000008
3892 #define NVC397_SET_BLEND_PER_TARGET_COLOR_DEST_COEFF_V_D3D_DESTCOLOR                                   0x00000009
3893 #define NVC397_SET_BLEND_PER_TARGET_COLOR_DEST_COEFF_V_D3D_INVDESTCOLOR                                0x0000000A
3894 #define NVC397_SET_BLEND_PER_TARGET_COLOR_DEST_COEFF_V_D3D_SRCALPHASAT                                 0x0000000B
3895 #define NVC397_SET_BLEND_PER_TARGET_COLOR_DEST_COEFF_V_D3D_BLENDFACTOR                                 0x0000000E
3896 #define NVC397_SET_BLEND_PER_TARGET_COLOR_DEST_COEFF_V_D3D_INVBLENDFACTOR                              0x0000000F
3897 #define NVC397_SET_BLEND_PER_TARGET_COLOR_DEST_COEFF_V_D3D_SRC1COLOR                                   0x00000010
3898 #define NVC397_SET_BLEND_PER_TARGET_COLOR_DEST_COEFF_V_D3D_INVSRC1COLOR                                0x00000011
3899 #define NVC397_SET_BLEND_PER_TARGET_COLOR_DEST_COEFF_V_D3D_SRC1ALPHA                                   0x00000012
3900 #define NVC397_SET_BLEND_PER_TARGET_COLOR_DEST_COEFF_V_D3D_INVSRC1ALPHA                                0x00000013
3901 
3902 #define NVC397_SET_BLEND_PER_TARGET_ALPHA_OP(j)                                                   (0x1e10+(j)*32)
3903 #define NVC397_SET_BLEND_PER_TARGET_ALPHA_OP_V                                                               31:0
3904 #define NVC397_SET_BLEND_PER_TARGET_ALPHA_OP_V_OGL_FUNC_SUBTRACT                                       0x0000800A
3905 #define NVC397_SET_BLEND_PER_TARGET_ALPHA_OP_V_OGL_FUNC_REVERSE_SUBTRACT                               0x0000800B
3906 #define NVC397_SET_BLEND_PER_TARGET_ALPHA_OP_V_OGL_FUNC_ADD                                            0x00008006
3907 #define NVC397_SET_BLEND_PER_TARGET_ALPHA_OP_V_OGL_MIN                                                 0x00008007
3908 #define NVC397_SET_BLEND_PER_TARGET_ALPHA_OP_V_OGL_MAX                                                 0x00008008
3909 #define NVC397_SET_BLEND_PER_TARGET_ALPHA_OP_V_D3D_ADD                                                 0x00000001
3910 #define NVC397_SET_BLEND_PER_TARGET_ALPHA_OP_V_D3D_SUBTRACT                                            0x00000002
3911 #define NVC397_SET_BLEND_PER_TARGET_ALPHA_OP_V_D3D_REVSUBTRACT                                         0x00000003
3912 #define NVC397_SET_BLEND_PER_TARGET_ALPHA_OP_V_D3D_MIN                                                 0x00000004
3913 #define NVC397_SET_BLEND_PER_TARGET_ALPHA_OP_V_D3D_MAX                                                 0x00000005
3914 
3915 #define NVC397_SET_BLEND_PER_TARGET_ALPHA_SOURCE_COEFF(j)                                         (0x1e14+(j)*32)
3916 #define NVC397_SET_BLEND_PER_TARGET_ALPHA_SOURCE_COEFF_V                                                     31:0
3917 #define NVC397_SET_BLEND_PER_TARGET_ALPHA_SOURCE_COEFF_V_OGL_ZERO                                      0x00004000
3918 #define NVC397_SET_BLEND_PER_TARGET_ALPHA_SOURCE_COEFF_V_OGL_ONE                                       0x00004001
3919 #define NVC397_SET_BLEND_PER_TARGET_ALPHA_SOURCE_COEFF_V_OGL_SRC_COLOR                                 0x00004300
3920 #define NVC397_SET_BLEND_PER_TARGET_ALPHA_SOURCE_COEFF_V_OGL_ONE_MINUS_SRC_COLOR                       0x00004301
3921 #define NVC397_SET_BLEND_PER_TARGET_ALPHA_SOURCE_COEFF_V_OGL_SRC_ALPHA                                 0x00004302
3922 #define NVC397_SET_BLEND_PER_TARGET_ALPHA_SOURCE_COEFF_V_OGL_ONE_MINUS_SRC_ALPHA                       0x00004303
3923 #define NVC397_SET_BLEND_PER_TARGET_ALPHA_SOURCE_COEFF_V_OGL_DST_ALPHA                                 0x00004304
3924 #define NVC397_SET_BLEND_PER_TARGET_ALPHA_SOURCE_COEFF_V_OGL_ONE_MINUS_DST_ALPHA                       0x00004305
3925 #define NVC397_SET_BLEND_PER_TARGET_ALPHA_SOURCE_COEFF_V_OGL_DST_COLOR                                 0x00004306
3926 #define NVC397_SET_BLEND_PER_TARGET_ALPHA_SOURCE_COEFF_V_OGL_ONE_MINUS_DST_COLOR                       0x00004307
3927 #define NVC397_SET_BLEND_PER_TARGET_ALPHA_SOURCE_COEFF_V_OGL_SRC_ALPHA_SATURATE                        0x00004308
3928 #define NVC397_SET_BLEND_PER_TARGET_ALPHA_SOURCE_COEFF_V_OGL_CONSTANT_COLOR                            0x0000C001
3929 #define NVC397_SET_BLEND_PER_TARGET_ALPHA_SOURCE_COEFF_V_OGL_ONE_MINUS_CONSTANT_COLOR                  0x0000C002
3930 #define NVC397_SET_BLEND_PER_TARGET_ALPHA_SOURCE_COEFF_V_OGL_CONSTANT_ALPHA                            0x0000C003
3931 #define NVC397_SET_BLEND_PER_TARGET_ALPHA_SOURCE_COEFF_V_OGL_ONE_MINUS_CONSTANT_ALPHA                  0x0000C004
3932 #define NVC397_SET_BLEND_PER_TARGET_ALPHA_SOURCE_COEFF_V_OGL_SRC1COLOR                                 0x0000C900
3933 #define NVC397_SET_BLEND_PER_TARGET_ALPHA_SOURCE_COEFF_V_OGL_INVSRC1COLOR                              0x0000C901
3934 #define NVC397_SET_BLEND_PER_TARGET_ALPHA_SOURCE_COEFF_V_OGL_SRC1ALPHA                                 0x0000C902
3935 #define NVC397_SET_BLEND_PER_TARGET_ALPHA_SOURCE_COEFF_V_OGL_INVSRC1ALPHA                              0x0000C903
3936 #define NVC397_SET_BLEND_PER_TARGET_ALPHA_SOURCE_COEFF_V_D3D_ZERO                                      0x00000001
3937 #define NVC397_SET_BLEND_PER_TARGET_ALPHA_SOURCE_COEFF_V_D3D_ONE                                       0x00000002
3938 #define NVC397_SET_BLEND_PER_TARGET_ALPHA_SOURCE_COEFF_V_D3D_SRCCOLOR                                  0x00000003
3939 #define NVC397_SET_BLEND_PER_TARGET_ALPHA_SOURCE_COEFF_V_D3D_INVSRCCOLOR                               0x00000004
3940 #define NVC397_SET_BLEND_PER_TARGET_ALPHA_SOURCE_COEFF_V_D3D_SRCALPHA                                  0x00000005
3941 #define NVC397_SET_BLEND_PER_TARGET_ALPHA_SOURCE_COEFF_V_D3D_INVSRCALPHA                               0x00000006
3942 #define NVC397_SET_BLEND_PER_TARGET_ALPHA_SOURCE_COEFF_V_D3D_DESTALPHA                                 0x00000007
3943 #define NVC397_SET_BLEND_PER_TARGET_ALPHA_SOURCE_COEFF_V_D3D_INVDESTALPHA                              0x00000008
3944 #define NVC397_SET_BLEND_PER_TARGET_ALPHA_SOURCE_COEFF_V_D3D_DESTCOLOR                                 0x00000009
3945 #define NVC397_SET_BLEND_PER_TARGET_ALPHA_SOURCE_COEFF_V_D3D_INVDESTCOLOR                              0x0000000A
3946 #define NVC397_SET_BLEND_PER_TARGET_ALPHA_SOURCE_COEFF_V_D3D_SRCALPHASAT                               0x0000000B
3947 #define NVC397_SET_BLEND_PER_TARGET_ALPHA_SOURCE_COEFF_V_D3D_BOTHSRCALPHA                              0x0000000C
3948 #define NVC397_SET_BLEND_PER_TARGET_ALPHA_SOURCE_COEFF_V_D3D_BOTHINVSRCALPHA                           0x0000000D
3949 #define NVC397_SET_BLEND_PER_TARGET_ALPHA_SOURCE_COEFF_V_D3D_BLENDFACTOR                               0x0000000E
3950 #define NVC397_SET_BLEND_PER_TARGET_ALPHA_SOURCE_COEFF_V_D3D_INVBLENDFACTOR                            0x0000000F
3951 #define NVC397_SET_BLEND_PER_TARGET_ALPHA_SOURCE_COEFF_V_D3D_SRC1COLOR                                 0x00000010
3952 #define NVC397_SET_BLEND_PER_TARGET_ALPHA_SOURCE_COEFF_V_D3D_INVSRC1COLOR                              0x00000011
3953 #define NVC397_SET_BLEND_PER_TARGET_ALPHA_SOURCE_COEFF_V_D3D_SRC1ALPHA                                 0x00000012
3954 #define NVC397_SET_BLEND_PER_TARGET_ALPHA_SOURCE_COEFF_V_D3D_INVSRC1ALPHA                              0x00000013
3955 
3956 #define NVC397_SET_BLEND_PER_TARGET_ALPHA_DEST_COEFF(j)                                           (0x1e18+(j)*32)
3957 #define NVC397_SET_BLEND_PER_TARGET_ALPHA_DEST_COEFF_V                                                       31:0
3958 #define NVC397_SET_BLEND_PER_TARGET_ALPHA_DEST_COEFF_V_OGL_ZERO                                        0x00004000
3959 #define NVC397_SET_BLEND_PER_TARGET_ALPHA_DEST_COEFF_V_OGL_ONE                                         0x00004001
3960 #define NVC397_SET_BLEND_PER_TARGET_ALPHA_DEST_COEFF_V_OGL_SRC_COLOR                                   0x00004300
3961 #define NVC397_SET_BLEND_PER_TARGET_ALPHA_DEST_COEFF_V_OGL_ONE_MINUS_SRC_COLOR                         0x00004301
3962 #define NVC397_SET_BLEND_PER_TARGET_ALPHA_DEST_COEFF_V_OGL_SRC_ALPHA                                   0x00004302
3963 #define NVC397_SET_BLEND_PER_TARGET_ALPHA_DEST_COEFF_V_OGL_ONE_MINUS_SRC_ALPHA                         0x00004303
3964 #define NVC397_SET_BLEND_PER_TARGET_ALPHA_DEST_COEFF_V_OGL_DST_ALPHA                                   0x00004304
3965 #define NVC397_SET_BLEND_PER_TARGET_ALPHA_DEST_COEFF_V_OGL_ONE_MINUS_DST_ALPHA                         0x00004305
3966 #define NVC397_SET_BLEND_PER_TARGET_ALPHA_DEST_COEFF_V_OGL_DST_COLOR                                   0x00004306
3967 #define NVC397_SET_BLEND_PER_TARGET_ALPHA_DEST_COEFF_V_OGL_ONE_MINUS_DST_COLOR                         0x00004307
3968 #define NVC397_SET_BLEND_PER_TARGET_ALPHA_DEST_COEFF_V_OGL_SRC_ALPHA_SATURATE                          0x00004308
3969 #define NVC397_SET_BLEND_PER_TARGET_ALPHA_DEST_COEFF_V_OGL_CONSTANT_COLOR                              0x0000C001
3970 #define NVC397_SET_BLEND_PER_TARGET_ALPHA_DEST_COEFF_V_OGL_ONE_MINUS_CONSTANT_COLOR                    0x0000C002
3971 #define NVC397_SET_BLEND_PER_TARGET_ALPHA_DEST_COEFF_V_OGL_CONSTANT_ALPHA                              0x0000C003
3972 #define NVC397_SET_BLEND_PER_TARGET_ALPHA_DEST_COEFF_V_OGL_ONE_MINUS_CONSTANT_ALPHA                    0x0000C004
3973 #define NVC397_SET_BLEND_PER_TARGET_ALPHA_DEST_COEFF_V_OGL_SRC1COLOR                                   0x0000C900
3974 #define NVC397_SET_BLEND_PER_TARGET_ALPHA_DEST_COEFF_V_OGL_INVSRC1COLOR                                0x0000C901
3975 #define NVC397_SET_BLEND_PER_TARGET_ALPHA_DEST_COEFF_V_OGL_SRC1ALPHA                                   0x0000C902
3976 #define NVC397_SET_BLEND_PER_TARGET_ALPHA_DEST_COEFF_V_OGL_INVSRC1ALPHA                                0x0000C903
3977 #define NVC397_SET_BLEND_PER_TARGET_ALPHA_DEST_COEFF_V_D3D_ZERO                                        0x00000001
3978 #define NVC397_SET_BLEND_PER_TARGET_ALPHA_DEST_COEFF_V_D3D_ONE                                         0x00000002
3979 #define NVC397_SET_BLEND_PER_TARGET_ALPHA_DEST_COEFF_V_D3D_SRCCOLOR                                    0x00000003
3980 #define NVC397_SET_BLEND_PER_TARGET_ALPHA_DEST_COEFF_V_D3D_INVSRCCOLOR                                 0x00000004
3981 #define NVC397_SET_BLEND_PER_TARGET_ALPHA_DEST_COEFF_V_D3D_SRCALPHA                                    0x00000005
3982 #define NVC397_SET_BLEND_PER_TARGET_ALPHA_DEST_COEFF_V_D3D_INVSRCALPHA                                 0x00000006
3983 #define NVC397_SET_BLEND_PER_TARGET_ALPHA_DEST_COEFF_V_D3D_DESTALPHA                                   0x00000007
3984 #define NVC397_SET_BLEND_PER_TARGET_ALPHA_DEST_COEFF_V_D3D_INVDESTALPHA                                0x00000008
3985 #define NVC397_SET_BLEND_PER_TARGET_ALPHA_DEST_COEFF_V_D3D_DESTCOLOR                                   0x00000009
3986 #define NVC397_SET_BLEND_PER_TARGET_ALPHA_DEST_COEFF_V_D3D_INVDESTCOLOR                                0x0000000A
3987 #define NVC397_SET_BLEND_PER_TARGET_ALPHA_DEST_COEFF_V_D3D_SRCALPHASAT                                 0x0000000B
3988 #define NVC397_SET_BLEND_PER_TARGET_ALPHA_DEST_COEFF_V_D3D_BLENDFACTOR                                 0x0000000E
3989 #define NVC397_SET_BLEND_PER_TARGET_ALPHA_DEST_COEFF_V_D3D_INVBLENDFACTOR                              0x0000000F
3990 #define NVC397_SET_BLEND_PER_TARGET_ALPHA_DEST_COEFF_V_D3D_SRC1COLOR                                   0x00000010
3991 #define NVC397_SET_BLEND_PER_TARGET_ALPHA_DEST_COEFF_V_D3D_INVSRC1COLOR                                0x00000011
3992 #define NVC397_SET_BLEND_PER_TARGET_ALPHA_DEST_COEFF_V_D3D_SRC1ALPHA                                   0x00000012
3993 #define NVC397_SET_BLEND_PER_TARGET_ALPHA_DEST_COEFF_V_D3D_INVSRC1ALPHA                                0x00000013
3994 
3995 #define NVC397_SET_VERTEX_STREAM_LIMIT_A_A(j)                                                      (0x1f00+(j)*8)
3996 #define NVC397_SET_VERTEX_STREAM_LIMIT_A_A_UPPER                                                              7:0
3997 
3998 #define NVC397_SET_VERTEX_STREAM_LIMIT_A_B(j)                                                      (0x1f04+(j)*8)
3999 #define NVC397_SET_VERTEX_STREAM_LIMIT_A_B_LOWER                                                             31:0
4000 
4001 #define NVC397_SET_VERTEX_STREAM_LIMIT_B_A(j)                                                      (0x1f80+(j)*8)
4002 #define NVC397_SET_VERTEX_STREAM_LIMIT_B_A_UPPER                                                              7:0
4003 
4004 #define NVC397_SET_VERTEX_STREAM_LIMIT_B_B(j)                                                      (0x1f84+(j)*8)
4005 #define NVC397_SET_VERTEX_STREAM_LIMIT_B_B_LOWER                                                             31:0
4006 
4007 #define NVC397_SET_PIPELINE_SHADER(j)                                                             (0x2000+(j)*64)
4008 #define NVC397_SET_PIPELINE_SHADER_ENABLE                                                                     0:0
4009 #define NVC397_SET_PIPELINE_SHADER_ENABLE_FALSE                                                        0x00000000
4010 #define NVC397_SET_PIPELINE_SHADER_ENABLE_TRUE                                                         0x00000001
4011 #define NVC397_SET_PIPELINE_SHADER_TYPE                                                                       7:4
4012 #define NVC397_SET_PIPELINE_SHADER_TYPE_VERTEX_CULL_BEFORE_FETCH                                       0x00000000
4013 #define NVC397_SET_PIPELINE_SHADER_TYPE_VERTEX                                                         0x00000001
4014 #define NVC397_SET_PIPELINE_SHADER_TYPE_TESSELLATION_INIT                                              0x00000002
4015 #define NVC397_SET_PIPELINE_SHADER_TYPE_TESSELLATION                                                   0x00000003
4016 #define NVC397_SET_PIPELINE_SHADER_TYPE_GEOMETRY                                                       0x00000004
4017 #define NVC397_SET_PIPELINE_SHADER_TYPE_PIXEL                                                          0x00000005
4018 
4019 #define NVC397_SET_PIPELINE_RESERVED_A(j)                                                         (0x2008+(j)*64)
4020 #define NVC397_SET_PIPELINE_RESERVED_A_V                                                                      0:0
4021 
4022 #define NVC397_SET_PIPELINE_REGISTER_COUNT(j)                                                     (0x200c+(j)*64)
4023 #define NVC397_SET_PIPELINE_REGISTER_COUNT_V                                                                  8:0
4024 
4025 #define NVC397_SET_PIPELINE_BINDING(j)                                                            (0x2010+(j)*64)
4026 #define NVC397_SET_PIPELINE_BINDING_GROUP                                                                     2:0
4027 
4028 #define NVC397_SET_PIPELINE_PROGRAM_ADDRESS_A(j)                                                  (0x2014+(j)*64)
4029 #define NVC397_SET_PIPELINE_PROGRAM_ADDRESS_A_UPPER                                                           7:0
4030 
4031 #define NVC397_SET_PIPELINE_PROGRAM_ADDRESS_B(j)                                                  (0x2018+(j)*64)
4032 #define NVC397_SET_PIPELINE_PROGRAM_ADDRESS_B_LOWER                                                          31:0
4033 
4034 #define NVC397_SET_PIPELINE_RESERVED_D(j)                                                         (0x201c+(j)*64)
4035 #define NVC397_SET_PIPELINE_RESERVED_D_V                                                                      0:0
4036 
4037 #define NVC397_SET_PIPELINE_RESERVED_E(j)                                                         (0x2020+(j)*64)
4038 #define NVC397_SET_PIPELINE_RESERVED_E_V                                                                      0:0
4039 
4040 #define NVC397_SET_FALCON00                                                                                0x2300
4041 #define NVC397_SET_FALCON00_V                                                                                31:0
4042 
4043 #define NVC397_SET_FALCON01                                                                                0x2304
4044 #define NVC397_SET_FALCON01_V                                                                                31:0
4045 
4046 #define NVC397_SET_FALCON02                                                                                0x2308
4047 #define NVC397_SET_FALCON02_V                                                                                31:0
4048 
4049 #define NVC397_SET_FALCON03                                                                                0x230c
4050 #define NVC397_SET_FALCON03_V                                                                                31:0
4051 
4052 #define NVC397_SET_FALCON04                                                                                0x2310
4053 #define NVC397_SET_FALCON04_V                                                                                31:0
4054 
4055 #define NVC397_SET_FALCON05                                                                                0x2314
4056 #define NVC397_SET_FALCON05_V                                                                                31:0
4057 
4058 #define NVC397_SET_FALCON06                                                                                0x2318
4059 #define NVC397_SET_FALCON06_V                                                                                31:0
4060 
4061 #define NVC397_SET_FALCON07                                                                                0x231c
4062 #define NVC397_SET_FALCON07_V                                                                                31:0
4063 
4064 #define NVC397_SET_FALCON08                                                                                0x2320
4065 #define NVC397_SET_FALCON08_V                                                                                31:0
4066 
4067 #define NVC397_SET_FALCON09                                                                                0x2324
4068 #define NVC397_SET_FALCON09_V                                                                                31:0
4069 
4070 #define NVC397_SET_FALCON10                                                                                0x2328
4071 #define NVC397_SET_FALCON10_V                                                                                31:0
4072 
4073 #define NVC397_SET_FALCON11                                                                                0x232c
4074 #define NVC397_SET_FALCON11_V                                                                                31:0
4075 
4076 #define NVC397_SET_FALCON12                                                                                0x2330
4077 #define NVC397_SET_FALCON12_V                                                                                31:0
4078 
4079 #define NVC397_SET_FALCON13                                                                                0x2334
4080 #define NVC397_SET_FALCON13_V                                                                                31:0
4081 
4082 #define NVC397_SET_FALCON14                                                                                0x2338
4083 #define NVC397_SET_FALCON14_V                                                                                31:0
4084 
4085 #define NVC397_SET_FALCON15                                                                                0x233c
4086 #define NVC397_SET_FALCON15_V                                                                                31:0
4087 
4088 #define NVC397_SET_FALCON16                                                                                0x2340
4089 #define NVC397_SET_FALCON16_V                                                                                31:0
4090 
4091 #define NVC397_SET_FALCON17                                                                                0x2344
4092 #define NVC397_SET_FALCON17_V                                                                                31:0
4093 
4094 #define NVC397_SET_FALCON18                                                                                0x2348
4095 #define NVC397_SET_FALCON18_V                                                                                31:0
4096 
4097 #define NVC397_SET_FALCON19                                                                                0x234c
4098 #define NVC397_SET_FALCON19_V                                                                                31:0
4099 
4100 #define NVC397_SET_FALCON20                                                                                0x2350
4101 #define NVC397_SET_FALCON20_V                                                                                31:0
4102 
4103 #define NVC397_SET_FALCON21                                                                                0x2354
4104 #define NVC397_SET_FALCON21_V                                                                                31:0
4105 
4106 #define NVC397_SET_FALCON22                                                                                0x2358
4107 #define NVC397_SET_FALCON22_V                                                                                31:0
4108 
4109 #define NVC397_SET_FALCON23                                                                                0x235c
4110 #define NVC397_SET_FALCON23_V                                                                                31:0
4111 
4112 #define NVC397_SET_FALCON24                                                                                0x2360
4113 #define NVC397_SET_FALCON24_V                                                                                31:0
4114 
4115 #define NVC397_SET_FALCON25                                                                                0x2364
4116 #define NVC397_SET_FALCON25_V                                                                                31:0
4117 
4118 #define NVC397_SET_FALCON26                                                                                0x2368
4119 #define NVC397_SET_FALCON26_V                                                                                31:0
4120 
4121 #define NVC397_SET_FALCON27                                                                                0x236c
4122 #define NVC397_SET_FALCON27_V                                                                                31:0
4123 
4124 #define NVC397_SET_FALCON28                                                                                0x2370
4125 #define NVC397_SET_FALCON28_V                                                                                31:0
4126 
4127 #define NVC397_SET_FALCON29                                                                                0x2374
4128 #define NVC397_SET_FALCON29_V                                                                                31:0
4129 
4130 #define NVC397_SET_FALCON30                                                                                0x2378
4131 #define NVC397_SET_FALCON30_V                                                                                31:0
4132 
4133 #define NVC397_SET_FALCON31                                                                                0x237c
4134 #define NVC397_SET_FALCON31_V                                                                                31:0
4135 
4136 #define NVC397_SET_CONSTANT_BUFFER_SELECTOR_A                                                              0x2380
4137 #define NVC397_SET_CONSTANT_BUFFER_SELECTOR_A_SIZE                                                           16:0
4138 
4139 #define NVC397_SET_CONSTANT_BUFFER_SELECTOR_B                                                              0x2384
4140 #define NVC397_SET_CONSTANT_BUFFER_SELECTOR_B_ADDRESS_UPPER                                                   7:0
4141 
4142 #define NVC397_SET_CONSTANT_BUFFER_SELECTOR_C                                                              0x2388
4143 #define NVC397_SET_CONSTANT_BUFFER_SELECTOR_C_ADDRESS_LOWER                                                  31:0
4144 
4145 #define NVC397_LOAD_CONSTANT_BUFFER_OFFSET                                                                 0x238c
4146 #define NVC397_LOAD_CONSTANT_BUFFER_OFFSET_V                                                                 15:0
4147 
4148 #define NVC397_LOAD_CONSTANT_BUFFER(i)                                                             (0x2390+(i)*4)
4149 #define NVC397_LOAD_CONSTANT_BUFFER_V                                                                        31:0
4150 
4151 #define NVC397_BIND_GROUP_RESERVED_A(j)                                                           (0x2400+(j)*32)
4152 #define NVC397_BIND_GROUP_RESERVED_A_V                                                                        0:0
4153 
4154 #define NVC397_BIND_GROUP_RESERVED_B(j)                                                           (0x2404+(j)*32)
4155 #define NVC397_BIND_GROUP_RESERVED_B_V                                                                        0:0
4156 
4157 #define NVC397_BIND_GROUP_RESERVED_C(j)                                                           (0x2408+(j)*32)
4158 #define NVC397_BIND_GROUP_RESERVED_C_V                                                                        0:0
4159 
4160 #define NVC397_BIND_GROUP_RESERVED_D(j)                                                           (0x240c+(j)*32)
4161 #define NVC397_BIND_GROUP_RESERVED_D_V                                                                        0:0
4162 
4163 #define NVC397_BIND_GROUP_CONSTANT_BUFFER(j)                                                      (0x2410+(j)*32)
4164 #define NVC397_BIND_GROUP_CONSTANT_BUFFER_VALID                                                               0:0
4165 #define NVC397_BIND_GROUP_CONSTANT_BUFFER_VALID_FALSE                                                  0x00000000
4166 #define NVC397_BIND_GROUP_CONSTANT_BUFFER_VALID_TRUE                                                   0x00000001
4167 #define NVC397_BIND_GROUP_CONSTANT_BUFFER_SHADER_SLOT                                                         8:4
4168 
4169 #define NVC397_SET_TRAP_HANDLER_A                                                                          0x25f8
4170 #define NVC397_SET_TRAP_HANDLER_A_ADDRESS_UPPER                                                              16:0
4171 
4172 #define NVC397_SET_TRAP_HANDLER_B                                                                          0x25fc
4173 #define NVC397_SET_TRAP_HANDLER_B_ADDRESS_LOWER                                                              31:0
4174 
4175 #define NVC397_SET_COLOR_CLAMP                                                                             0x2600
4176 #define NVC397_SET_COLOR_CLAMP_ENABLE                                                                         0:0
4177 #define NVC397_SET_COLOR_CLAMP_ENABLE_FALSE                                                            0x00000000
4178 #define NVC397_SET_COLOR_CLAMP_ENABLE_TRUE                                                             0x00000001
4179 
4180 #define NVC397_SET_BINDLESS_TEXTURE                                                                        0x2608
4181 #define NVC397_SET_BINDLESS_TEXTURE_CONSTANT_BUFFER_SLOT_SELECT                                               4:0
4182 
4183 #define NVC397_SET_STREAM_OUT_LAYOUT_SELECT(i,j)                                           (0x2800+(i)*128+(j)*4)
4184 #define NVC397_SET_STREAM_OUT_LAYOUT_SELECT_ATTRIBUTE_NUMBER00                                                7:0
4185 #define NVC397_SET_STREAM_OUT_LAYOUT_SELECT_ATTRIBUTE_NUMBER01                                               15:8
4186 #define NVC397_SET_STREAM_OUT_LAYOUT_SELECT_ATTRIBUTE_NUMBER02                                              23:16
4187 #define NVC397_SET_STREAM_OUT_LAYOUT_SELECT_ATTRIBUTE_NUMBER03                                              31:24
4188 
4189 #define NVC397_SET_SHADER_PERFORMANCE_SNAPSHOT_COUNTER_VALUE(i)                                    (0x32f4+(i)*4)
4190 #define NVC397_SET_SHADER_PERFORMANCE_SNAPSHOT_COUNTER_VALUE_V                                               31:0
4191 
4192 #define NVC397_SET_SHADER_PERFORMANCE_SNAPSHOT_COUNTER_VALUE_UPPER(i)                              (0x3314+(i)*4)
4193 #define NVC397_SET_SHADER_PERFORMANCE_SNAPSHOT_COUNTER_VALUE_UPPER_V                                         31:0
4194 
4195 #define NVC397_ENABLE_SHADER_PERFORMANCE_SNAPSHOT_COUNTER                                                  0x3334
4196 #define NVC397_ENABLE_SHADER_PERFORMANCE_SNAPSHOT_COUNTER_V                                                   0:0
4197 
4198 #define NVC397_DISABLE_SHADER_PERFORMANCE_SNAPSHOT_COUNTER                                                 0x3338
4199 #define NVC397_DISABLE_SHADER_PERFORMANCE_SNAPSHOT_COUNTER_V                                                  0:0
4200 
4201 #define NVC397_SET_SHADER_PERFORMANCE_COUNTER_VALUE_UPPER(i)                                       (0x333c+(i)*4)
4202 #define NVC397_SET_SHADER_PERFORMANCE_COUNTER_VALUE_UPPER_V                                                  31:0
4203 
4204 #define NVC397_SET_SHADER_PERFORMANCE_COUNTER_VALUE(i)                                             (0x335c+(i)*4)
4205 #define NVC397_SET_SHADER_PERFORMANCE_COUNTER_VALUE_V                                                        31:0
4206 
4207 #define NVC397_SET_SHADER_PERFORMANCE_COUNTER_EVENT(i)                                             (0x337c+(i)*4)
4208 #define NVC397_SET_SHADER_PERFORMANCE_COUNTER_EVENT_EVENT                                                     7:0
4209 
4210 #define NVC397_SET_SHADER_PERFORMANCE_COUNTER_CONTROL_A(i)                                         (0x339c+(i)*4)
4211 #define NVC397_SET_SHADER_PERFORMANCE_COUNTER_CONTROL_A_EVENT0                                                1:0
4212 #define NVC397_SET_SHADER_PERFORMANCE_COUNTER_CONTROL_A_BIT_SELECT0                                           4:2
4213 #define NVC397_SET_SHADER_PERFORMANCE_COUNTER_CONTROL_A_EVENT1                                                6:5
4214 #define NVC397_SET_SHADER_PERFORMANCE_COUNTER_CONTROL_A_BIT_SELECT1                                           9:7
4215 #define NVC397_SET_SHADER_PERFORMANCE_COUNTER_CONTROL_A_EVENT2                                              11:10
4216 #define NVC397_SET_SHADER_PERFORMANCE_COUNTER_CONTROL_A_BIT_SELECT2                                         14:12
4217 #define NVC397_SET_SHADER_PERFORMANCE_COUNTER_CONTROL_A_EVENT3                                              16:15
4218 #define NVC397_SET_SHADER_PERFORMANCE_COUNTER_CONTROL_A_BIT_SELECT3                                         19:17
4219 #define NVC397_SET_SHADER_PERFORMANCE_COUNTER_CONTROL_A_EVENT4                                              21:20
4220 #define NVC397_SET_SHADER_PERFORMANCE_COUNTER_CONTROL_A_BIT_SELECT4                                         24:22
4221 #define NVC397_SET_SHADER_PERFORMANCE_COUNTER_CONTROL_A_EVENT5                                              26:25
4222 #define NVC397_SET_SHADER_PERFORMANCE_COUNTER_CONTROL_A_BIT_SELECT5                                         29:27
4223 #define NVC397_SET_SHADER_PERFORMANCE_COUNTER_CONTROL_A_SPARE                                               31:30
4224 
4225 #define NVC397_SET_SHADER_PERFORMANCE_COUNTER_CONTROL_B(i)                                         (0x33bc+(i)*4)
4226 #define NVC397_SET_SHADER_PERFORMANCE_COUNTER_CONTROL_B_EDGE                                                  0:0
4227 #define NVC397_SET_SHADER_PERFORMANCE_COUNTER_CONTROL_B_MODE                                                  2:1
4228 #define NVC397_SET_SHADER_PERFORMANCE_COUNTER_CONTROL_B_WINDOWED                                              3:3
4229 #define NVC397_SET_SHADER_PERFORMANCE_COUNTER_CONTROL_B_FUNC                                                 19:4
4230 
4231 #define NVC397_SET_SHADER_PERFORMANCE_COUNTER_TRAP_CONTROL                                                 0x33dc
4232 #define NVC397_SET_SHADER_PERFORMANCE_COUNTER_TRAP_CONTROL_MASK                                               7:0
4233 
4234 #define NVC397_START_SHADER_PERFORMANCE_COUNTER                                                            0x33e0
4235 #define NVC397_START_SHADER_PERFORMANCE_COUNTER_COUNTER_MASK                                                  7:0
4236 
4237 #define NVC397_STOP_SHADER_PERFORMANCE_COUNTER                                                             0x33e4
4238 #define NVC397_STOP_SHADER_PERFORMANCE_COUNTER_COUNTER_MASK                                                   7:0
4239 
4240 #define NVC397_SET_SHADER_PERFORMANCE_COUNTER_SCTL_FILTER                                                  0x33e8
4241 #define NVC397_SET_SHADER_PERFORMANCE_COUNTER_SCTL_FILTER_V                                                  31:0
4242 
4243 #define NVC397_SET_SHADER_PERFORMANCE_COUNTER_CORE_MIO_FILTER                                              0x33ec
4244 #define NVC397_SET_SHADER_PERFORMANCE_COUNTER_CORE_MIO_FILTER_V                                              31:0
4245 
4246 #define NVC397_SET_MME_SHADOW_SCRATCH(i)                                                           (0x3400+(i)*4)
4247 #define NVC397_SET_MME_SHADOW_SCRATCH_V                                                                      31:0
4248 
4249 #define NVC397_CALL_MME_MACRO(j)                                                                   (0x3800+(j)*8)
4250 #define NVC397_CALL_MME_MACRO_V                                                                              31:0
4251 
4252 #define NVC397_CALL_MME_DATA(j)                                                                    (0x3804+(j)*8)
4253 #define NVC397_CALL_MME_DATA_V                                                                               31:0
4254 
4255 #endif /* _cl_volta_a_h_ */
4256