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