Book a Demo!
CoCalc Logo Icon
StoreFeaturesDocsShareSupportNewsAboutPoliciesSign UpSign In
PojavLauncherTeam
GitHub Repository: PojavLauncherTeam/mesa
Path: blob/21.2-virgl/src/gallium/drivers/svga/include/VGPU10ShaderTokens.h
4574 views
1
/**********************************************************
2
* Copyright 2007-2015 VMware, Inc. All rights reserved.
3
*
4
* Permission is hereby granted, free of charge, to any person
5
* obtaining a copy of this software and associated documentation
6
* files (the "Software"), to deal in the Software without
7
* restriction, including without limitation the rights to use, copy,
8
* modify, merge, publish, distribute, sublicense, and/or sell copies
9
* of the Software, and to permit persons to whom the Software is
10
* furnished to do so, subject to the following conditions:
11
*
12
* The above copyright notice and this permission notice shall be
13
* included in all copies or substantial portions of the Software.
14
*
15
* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
16
* EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
17
* MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
18
* NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS
19
* BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN
20
* ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
21
* CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
22
* SOFTWARE.
23
*
24
**********************************************************/
25
26
/*
27
* VGPU10ShaderTokens.h --
28
*
29
* VGPU10 shader token definitions.
30
*
31
*/
32
33
#ifndef VGPU10SHADERTOKENS_H
34
#define VGPU10SHADERTOKENS_H
35
36
/* Shader limits */
37
#define VGPU10_MAX_VS_INPUTS 16
38
#define VGPU10_MAX_VS_OUTPUTS 16
39
#define VGPU10_MAX_GS_INPUTS 16
40
#define VGPU10_MAX_GS_OUTPUTS 32
41
#define VGPU10_MAX_FS_INPUTS 32
42
#define VGPU10_MAX_FS_OUTPUTS 8
43
#define VGPU10_MAX_TEMPS 4096
44
#define VGPU10_MAX_CONSTANT_BUFFERS (14 + 1)
45
#define VGPU10_MAX_CONSTANT_BUFFER_ELEMENT_COUNT 4096
46
#define VGPU10_MAX_IMMEDIATE_CONSTANT_BUFFER_ELEMENT_COUNT 4096
47
#define VGPU10_MAX_SAMPLERS 16
48
#define VGPU10_MAX_RESOURCES 128
49
#define VGPU10_MIN_TEXEL_FETCH_OFFSET -8
50
#define VGPU10_MAX_TEXEL_FETCH_OFFSET 7
51
52
/* Shader Model 4.1 limits */
53
#define VGPU10_1_MAX_VS_INPUTS 32
54
#define VGPU10_1_MAX_VS_OUTPUTS 32
55
#define VGPU10_1_MAX_GS_INPUTS 32
56
57
/* Shader Model 5.0 limits */
58
#define VGPU11_MAX_HS_INPUTS 32
59
#define VGPU11_MAX_HS_INPUT_CONTROL_POINTS 32
60
#define VGPU11_MAX_HS_INPUT_PATCH_CONSTANTS 32
61
#define VGPU11_MAX_HS_OUTPUTS 32
62
#define VGPU11_MAX_DS_INPUT_CONTROL_POINTS 32
63
#define VGPU11_MAX_DS_INPUT_PATCH_CONSTANTS 32
64
#define VGPU11_MAX_DS_OUTPUTS 32
65
#define VGPU11_MAX_GS_STREAMS 4
66
67
/* Maximums of limits for all stages */
68
#define VGPU10_MAX_INPUTS 32
69
#define VGPU10_MAX_OUTPUTS 32
70
#define VGPU10_MAX_INPUT_PATCH_CONSTANTS 32
71
72
typedef enum {
73
VGPU10_PIXEL_SHADER = 0,
74
VGPU10_VERTEX_SHADER = 1,
75
VGPU10_GEOMETRY_SHADER = 2,
76
77
/* DX11 */
78
VGPU10_HULL_SHADER = 3,
79
VGPU10_DOMAIN_SHADER = 4,
80
VGPU10_COMPUTE_SHADER = 5
81
} VGPU10_PROGRAM_TYPE;
82
83
typedef union {
84
struct {
85
unsigned int minorVersion : 4;
86
unsigned int majorVersion : 4;
87
unsigned int : 8;
88
unsigned int programType : 16; /* VGPU10_PROGRAM_TYPE */
89
};
90
uint32 value;
91
} VGPU10ProgramToken;
92
93
94
typedef enum {
95
VGPU10_OPCODE_ADD = 0,
96
VGPU10_OPCODE_AND = 1,
97
VGPU10_OPCODE_BREAK = 2,
98
VGPU10_OPCODE_BREAKC = 3,
99
VGPU10_OPCODE_CALL = 4,
100
VGPU10_OPCODE_CALLC = 5,
101
VGPU10_OPCODE_CASE = 6,
102
VGPU10_OPCODE_CONTINUE = 7,
103
VGPU10_OPCODE_CONTINUEC = 8,
104
VGPU10_OPCODE_CUT = 9,
105
VGPU10_OPCODE_DEFAULT = 10,
106
VGPU10_OPCODE_DERIV_RTX = 11,
107
VGPU10_OPCODE_DERIV_RTY = 12,
108
VGPU10_OPCODE_DISCARD = 13,
109
VGPU10_OPCODE_DIV = 14,
110
VGPU10_OPCODE_DP2 = 15,
111
VGPU10_OPCODE_DP3 = 16,
112
VGPU10_OPCODE_DP4 = 17,
113
VGPU10_OPCODE_ELSE = 18,
114
VGPU10_OPCODE_EMIT = 19,
115
VGPU10_OPCODE_EMITTHENCUT = 20,
116
VGPU10_OPCODE_ENDIF = 21,
117
VGPU10_OPCODE_ENDLOOP = 22,
118
VGPU10_OPCODE_ENDSWITCH = 23,
119
VGPU10_OPCODE_EQ = 24,
120
VGPU10_OPCODE_EXP = 25,
121
VGPU10_OPCODE_FRC = 26,
122
VGPU10_OPCODE_FTOI = 27,
123
VGPU10_OPCODE_FTOU = 28,
124
VGPU10_OPCODE_GE = 29,
125
VGPU10_OPCODE_IADD = 30,
126
VGPU10_OPCODE_IF = 31,
127
VGPU10_OPCODE_IEQ = 32,
128
VGPU10_OPCODE_IGE = 33,
129
VGPU10_OPCODE_ILT = 34,
130
VGPU10_OPCODE_IMAD = 35,
131
VGPU10_OPCODE_IMAX = 36,
132
VGPU10_OPCODE_IMIN = 37,
133
VGPU10_OPCODE_IMUL = 38,
134
VGPU10_OPCODE_INE = 39,
135
VGPU10_OPCODE_INEG = 40,
136
VGPU10_OPCODE_ISHL = 41,
137
VGPU10_OPCODE_ISHR = 42,
138
VGPU10_OPCODE_ITOF = 43,
139
VGPU10_OPCODE_LABEL = 44,
140
VGPU10_OPCODE_LD = 45,
141
VGPU10_OPCODE_LD_MS = 46,
142
VGPU10_OPCODE_LOG = 47,
143
VGPU10_OPCODE_LOOP = 48,
144
VGPU10_OPCODE_LT = 49,
145
VGPU10_OPCODE_MAD = 50,
146
VGPU10_OPCODE_MIN = 51,
147
VGPU10_OPCODE_MAX = 52,
148
VGPU10_OPCODE_CUSTOMDATA = 53,
149
VGPU10_OPCODE_MOV = 54,
150
VGPU10_OPCODE_MOVC = 55,
151
VGPU10_OPCODE_MUL = 56,
152
VGPU10_OPCODE_NE = 57,
153
VGPU10_OPCODE_NOP = 58,
154
VGPU10_OPCODE_NOT = 59,
155
VGPU10_OPCODE_OR = 60,
156
VGPU10_OPCODE_RESINFO = 61,
157
VGPU10_OPCODE_RET = 62,
158
VGPU10_OPCODE_RETC = 63,
159
VGPU10_OPCODE_ROUND_NE = 64,
160
VGPU10_OPCODE_ROUND_NI = 65,
161
VGPU10_OPCODE_ROUND_PI = 66,
162
VGPU10_OPCODE_ROUND_Z = 67,
163
VGPU10_OPCODE_RSQ = 68,
164
VGPU10_OPCODE_SAMPLE = 69,
165
VGPU10_OPCODE_SAMPLE_C = 70,
166
VGPU10_OPCODE_SAMPLE_C_LZ = 71,
167
VGPU10_OPCODE_SAMPLE_L = 72,
168
VGPU10_OPCODE_SAMPLE_D = 73,
169
VGPU10_OPCODE_SAMPLE_B = 74,
170
VGPU10_OPCODE_SQRT = 75,
171
VGPU10_OPCODE_SWITCH = 76,
172
VGPU10_OPCODE_SINCOS = 77,
173
VGPU10_OPCODE_UDIV = 78,
174
VGPU10_OPCODE_ULT = 79,
175
VGPU10_OPCODE_UGE = 80,
176
VGPU10_OPCODE_UMUL = 81,
177
VGPU10_OPCODE_UMAD = 82,
178
VGPU10_OPCODE_UMAX = 83,
179
VGPU10_OPCODE_UMIN = 84,
180
VGPU10_OPCODE_USHR = 85,
181
VGPU10_OPCODE_UTOF = 86,
182
VGPU10_OPCODE_XOR = 87,
183
VGPU10_OPCODE_DCL_RESOURCE = 88,
184
VGPU10_OPCODE_DCL_CONSTANT_BUFFER = 89,
185
VGPU10_OPCODE_DCL_SAMPLER = 90,
186
VGPU10_OPCODE_DCL_INDEX_RANGE = 91,
187
VGPU10_OPCODE_DCL_GS_OUTPUT_PRIMITIVE_TOPOLOGY = 92,
188
VGPU10_OPCODE_DCL_GS_INPUT_PRIMITIVE = 93,
189
VGPU10_OPCODE_DCL_MAX_OUTPUT_VERTEX_COUNT = 94,
190
VGPU10_OPCODE_DCL_INPUT = 95,
191
VGPU10_OPCODE_DCL_INPUT_SGV = 96,
192
VGPU10_OPCODE_DCL_INPUT_SIV = 97,
193
VGPU10_OPCODE_DCL_INPUT_PS = 98,
194
VGPU10_OPCODE_DCL_INPUT_PS_SGV = 99,
195
VGPU10_OPCODE_DCL_INPUT_PS_SIV = 100,
196
VGPU10_OPCODE_DCL_OUTPUT = 101,
197
VGPU10_OPCODE_DCL_OUTPUT_SGV = 102,
198
VGPU10_OPCODE_DCL_OUTPUT_SIV = 103,
199
VGPU10_OPCODE_DCL_TEMPS = 104,
200
VGPU10_OPCODE_DCL_INDEXABLE_TEMP = 105,
201
VGPU10_OPCODE_DCL_GLOBAL_FLAGS = 106,
202
203
/* GL guest */
204
VGPU10_OPCODE_VMWARE = 107,
205
206
/* DX10.1 */
207
VGPU10_OPCODE_LOD = 108,
208
VGPU10_OPCODE_GATHER4 = 109,
209
VGPU10_OPCODE_SAMPLE_POS = 110,
210
VGPU10_OPCODE_SAMPLE_INFO = 111,
211
212
/* DX11 */
213
VGPU10_OPCODE_RESERVED1 = 112,
214
VGPU10_OPCODE_HS_DECLS = 113,
215
VGPU10_OPCODE_HS_CONTROL_POINT_PHASE = 114,
216
VGPU10_OPCODE_HS_FORK_PHASE = 115,
217
VGPU10_OPCODE_HS_JOIN_PHASE = 116,
218
VGPU10_OPCODE_EMIT_STREAM = 117,
219
VGPU10_OPCODE_CUT_STREAM = 118,
220
VGPU10_OPCODE_EMITTHENCUT_STREAM = 119,
221
VGPU10_OPCODE_INTERFACE_CALL = 120,
222
VGPU10_OPCODE_BUFINFO = 121,
223
VGPU10_OPCODE_DERIV_RTX_COARSE = 122,
224
VGPU10_OPCODE_DERIV_RTX_FINE = 123,
225
VGPU10_OPCODE_DERIV_RTY_COARSE = 124,
226
VGPU10_OPCODE_DERIV_RTY_FINE = 125,
227
VGPU10_OPCODE_GATHER4_C = 126,
228
VGPU10_OPCODE_GATHER4_PO = 127,
229
VGPU10_OPCODE_GATHER4_PO_C = 128,
230
VGPU10_OPCODE_RCP = 129,
231
VGPU10_OPCODE_F32TOF16 = 130,
232
VGPU10_OPCODE_F16TOF32 = 131,
233
VGPU10_OPCODE_UADDC = 132,
234
VGPU10_OPCODE_USUBB = 133,
235
VGPU10_OPCODE_COUNTBITS = 134,
236
VGPU10_OPCODE_FIRSTBIT_HI = 135,
237
VGPU10_OPCODE_FIRSTBIT_LO = 136,
238
VGPU10_OPCODE_FIRSTBIT_SHI = 137,
239
VGPU10_OPCODE_UBFE = 138,
240
VGPU10_OPCODE_IBFE = 139,
241
VGPU10_OPCODE_BFI = 140,
242
VGPU10_OPCODE_BFREV = 141,
243
VGPU10_OPCODE_SWAPC = 142,
244
VGPU10_OPCODE_DCL_STREAM = 143,
245
VGPU10_OPCODE_DCL_FUNCTION_BODY = 144,
246
VGPU10_OPCODE_DCL_FUNCTION_TABLE = 145,
247
VGPU10_OPCODE_DCL_INTERFACE = 146,
248
VGPU10_OPCODE_DCL_INPUT_CONTROL_POINT_COUNT = 147,
249
VGPU10_OPCODE_DCL_OUTPUT_CONTROL_POINT_COUNT = 148,
250
VGPU10_OPCODE_DCL_TESS_DOMAIN = 149,
251
VGPU10_OPCODE_DCL_TESS_PARTITIONING = 150,
252
VGPU10_OPCODE_DCL_TESS_OUTPUT_PRIMITIVE = 151,
253
VGPU10_OPCODE_DCL_HS_MAX_TESSFACTOR = 152,
254
VGPU10_OPCODE_DCL_HS_FORK_PHASE_INSTANCE_COUNT = 153,
255
VGPU10_OPCODE_DCL_HS_JOIN_PHASE_INSTANCE_COUNT = 154,
256
VGPU10_OPCODE_DCL_THREAD_GROUP = 155,
257
VGPU10_OPCODE_DCL_UAV_TYPED = 156,
258
VGPU10_OPCODE_DCL_UAV_RAW = 157,
259
VGPU10_OPCODE_DCL_UAV_STRUCTURED = 158,
260
VGPU10_OPCODE_DCL_TGSM_RAW = 159,
261
VGPU10_OPCODE_DCL_TGSM_STRUCTURED = 160,
262
VGPU10_OPCODE_DCL_RESOURCE_RAW = 161,
263
VGPU10_OPCODE_DCL_RESOURCE_STRUCTURED = 162,
264
VGPU10_OPCODE_LD_UAV_TYPED = 163,
265
VGPU10_OPCODE_STORE_UAV_TYPED = 164,
266
VGPU10_OPCODE_LD_RAW = 165,
267
VGPU10_OPCODE_STORE_RAW = 166,
268
VGPU10_OPCODE_LD_STRUCTURED = 167,
269
VGPU10_OPCODE_STORE_STRUCTURED = 168,
270
VGPU10_OPCODE_ATOMIC_AND = 169,
271
VGPU10_OPCODE_ATOMIC_OR = 170,
272
VGPU10_OPCODE_ATOMIC_XOR = 171,
273
VGPU10_OPCODE_ATOMIC_CMP_STORE = 172,
274
VGPU10_OPCODE_ATOMIC_IADD = 173,
275
VGPU10_OPCODE_ATOMIC_IMAX = 174,
276
VGPU10_OPCODE_ATOMIC_IMIN = 175,
277
VGPU10_OPCODE_ATOMIC_UMAX = 176,
278
VGPU10_OPCODE_ATOMIC_UMIN = 177,
279
VGPU10_OPCODE_IMM_ATOMIC_ALLOC = 178,
280
VGPU10_OPCODE_IMM_ATOMIC_CONSUME = 179,
281
VGPU10_OPCODE_IMM_ATOMIC_IADD = 180,
282
VGPU10_OPCODE_IMM_ATOMIC_AND = 181,
283
VGPU10_OPCODE_IMM_ATOMIC_OR = 182,
284
VGPU10_OPCODE_IMM_ATOMIC_XOR = 183,
285
VGPU10_OPCODE_IMM_ATOMIC_EXCH = 184,
286
VGPU10_OPCODE_IMM_ATOMIC_CMP_EXCH = 185,
287
VGPU10_OPCODE_IMM_ATOMIC_IMAX = 186,
288
VGPU10_OPCODE_IMM_ATOMIC_IMIN = 187,
289
VGPU10_OPCODE_IMM_ATOMIC_UMAX = 188,
290
VGPU10_OPCODE_IMM_ATOMIC_UMIN = 189,
291
VGPU10_OPCODE_SYNC = 190,
292
VGPU10_OPCODE_DADD = 191,
293
VGPU10_OPCODE_DMAX = 192,
294
VGPU10_OPCODE_DMIN = 193,
295
VGPU10_OPCODE_DMUL = 194,
296
VGPU10_OPCODE_DEQ = 195,
297
VGPU10_OPCODE_DGE = 196,
298
VGPU10_OPCODE_DLT = 197,
299
VGPU10_OPCODE_DNE = 198,
300
VGPU10_OPCODE_DMOV = 199,
301
VGPU10_OPCODE_DMOVC = 200,
302
VGPU10_OPCODE_DTOF = 201,
303
VGPU10_OPCODE_FTOD = 202,
304
VGPU10_OPCODE_EVAL_SNAPPED = 203,
305
VGPU10_OPCODE_EVAL_SAMPLE_INDEX = 204,
306
VGPU10_OPCODE_EVAL_CENTROID = 205,
307
VGPU10_OPCODE_DCL_GS_INSTANCE_COUNT = 206,
308
VGPU10_OPCODE_ABORT = 207,
309
VGPU10_OPCODE_DEBUG_BREAK = 208,
310
311
/* DX11.1 */
312
VGPU10_OPCODE_RESERVED0 = 209,
313
VGPU10_OPCODE_DDIV = 210,
314
VGPU10_OPCODE_DFMA = 211,
315
VGPU10_OPCODE_DRCP = 212,
316
VGPU10_OPCODE_MSAD = 213,
317
VGPU10_OPCODE_DTOI = 214,
318
VGPU10_OPCODE_DTOU = 215,
319
VGPU10_OPCODE_ITOD = 216,
320
VGPU10_OPCODE_UTOD = 217,
321
322
VGPU10_NUM_OPCODES /* Should be the last entry. */
323
} VGPU10_OPCODE_TYPE;
324
325
/* Sub-opcode of VGPU10_OPCODE_VMWARE. */
326
typedef enum {
327
VGPU10_VMWARE_OPCODE_IDIV = 0,
328
VGPU10_VMWARE_OPCODE_DFRC = 1,
329
VGPU10_VMWARE_OPCODE_DRSQ = 2,
330
VGPU10_VMWARE_NUM_OPCODES /* Should be the last entry. */
331
} VGPU10_VMWARE_OPCODE_TYPE;
332
333
typedef enum {
334
VGPU10_INTERPOLATION_UNDEFINED = 0,
335
VGPU10_INTERPOLATION_CONSTANT = 1,
336
VGPU10_INTERPOLATION_LINEAR = 2,
337
VGPU10_INTERPOLATION_LINEAR_CENTROID = 3,
338
VGPU10_INTERPOLATION_LINEAR_NOPERSPECTIVE = 4,
339
VGPU10_INTERPOLATION_LINEAR_NOPERSPECTIVE_CENTROID = 5,
340
VGPU10_INTERPOLATION_LINEAR_SAMPLE = 6, /* DX10.1 */
341
VGPU10_INTERPOLATION_LINEAR_NOPERSPECTIVE_SAMPLE = 7 /* DX10.1 */
342
} VGPU10_INTERPOLATION_MODE;
343
344
typedef enum {
345
VGPU10_RESOURCE_DIMENSION_UNKNOWN = 0,
346
VGPU10_RESOURCE_DIMENSION_BUFFER = 1,
347
VGPU10_RESOURCE_DIMENSION_TEXTURE1D = 2,
348
VGPU10_RESOURCE_DIMENSION_TEXTURE2D = 3,
349
VGPU10_RESOURCE_DIMENSION_TEXTURE2DMS = 4,
350
VGPU10_RESOURCE_DIMENSION_TEXTURE3D = 5,
351
VGPU10_RESOURCE_DIMENSION_TEXTURECUBE = 6,
352
VGPU10_RESOURCE_DIMENSION_TEXTURE1DARRAY = 7,
353
VGPU10_RESOURCE_DIMENSION_TEXTURE2DARRAY = 8,
354
VGPU10_RESOURCE_DIMENSION_TEXTURE2DMSARRAY = 9,
355
VGPU10_RESOURCE_DIMENSION_TEXTURECUBEARRAY = 10
356
} VGPU10_RESOURCE_DIMENSION;
357
358
typedef enum {
359
VGPU10_SAMPLER_MODE_DEFAULT = 0,
360
VGPU10_SAMPLER_MODE_COMPARISON = 1,
361
VGPU10_SAMPLER_MODE_MONO = 2
362
} VGPU10_SAMPLER_MODE;
363
364
typedef enum {
365
VGPU10_INSTRUCTION_TEST_ZERO = 0,
366
VGPU10_INSTRUCTION_TEST_NONZERO = 1
367
} VGPU10_INSTRUCTION_TEST_BOOLEAN;
368
369
typedef enum {
370
VGPU10_CB_IMMEDIATE_INDEXED = 0,
371
VGPU10_CB_DYNAMIC_INDEXED = 1
372
} VGPU10_CB_ACCESS_PATTERN;
373
374
typedef enum {
375
VGPU10_PRIMITIVE_UNDEFINED = 0,
376
VGPU10_PRIMITIVE_POINT = 1,
377
VGPU10_PRIMITIVE_LINE = 2,
378
VGPU10_PRIMITIVE_TRIANGLE = 3,
379
VGPU10_PRIMITIVE_LINE_ADJ = 6,
380
VGPU10_PRIMITIVE_TRIANGLE_ADJ = 7,
381
VGPU10_PRIMITIVE_SM40_MAX = 7,
382
383
/* DX11 */
384
VGPU10_PRIMITIVE_1_CONTROL_POINT_PATCH = 8,
385
VGPU10_PRIMITIVE_2_CONTROL_POINT_PATCH = 9,
386
VGPU10_PRIMITIVE_3_CONTROL_POINT_PATCH = 10,
387
VGPU10_PRIMITIVE_4_CONTROL_POINT_PATCH = 11,
388
VGPU10_PRIMITIVE_5_CONTROL_POINT_PATCH = 12,
389
VGPU10_PRIMITIVE_6_CONTROL_POINT_PATCH = 13,
390
VGPU10_PRIMITIVE_7_CONTROL_POINT_PATCH = 14,
391
VGPU10_PRIMITIVE_8_CONTROL_POINT_PATCH = 15,
392
VGPU10_PRIMITIVE_9_CONTROL_POINT_PATCH = 16,
393
VGPU10_PRIMITIVE_10_CONTROL_POINT_PATCH = 17,
394
VGPU10_PRIMITIVE_11_CONTROL_POINT_PATCH = 18,
395
VGPU10_PRIMITIVE_12_CONTROL_POINT_PATCH = 19,
396
VGPU10_PRIMITIVE_13_CONTROL_POINT_PATCH = 20,
397
VGPU10_PRIMITIVE_14_CONTROL_POINT_PATCH = 21,
398
VGPU10_PRIMITIVE_15_CONTROL_POINT_PATCH = 22,
399
VGPU10_PRIMITIVE_16_CONTROL_POINT_PATCH = 23,
400
VGPU10_PRIMITIVE_17_CONTROL_POINT_PATCH = 24,
401
VGPU10_PRIMITIVE_18_CONTROL_POINT_PATCH = 25,
402
VGPU10_PRIMITIVE_19_CONTROL_POINT_PATCH = 26,
403
VGPU10_PRIMITIVE_20_CONTROL_POINT_PATCH = 27,
404
VGPU10_PRIMITIVE_21_CONTROL_POINT_PATCH = 28,
405
VGPU10_PRIMITIVE_22_CONTROL_POINT_PATCH = 29,
406
VGPU10_PRIMITIVE_23_CONTROL_POINT_PATCH = 30,
407
VGPU10_PRIMITIVE_24_CONTROL_POINT_PATCH = 31,
408
VGPU10_PRIMITIVE_25_CONTROL_POINT_PATCH = 32,
409
VGPU10_PRIMITIVE_26_CONTROL_POINT_PATCH = 33,
410
VGPU10_PRIMITIVE_27_CONTROL_POINT_PATCH = 34,
411
VGPU10_PRIMITIVE_28_CONTROL_POINT_PATCH = 35,
412
VGPU10_PRIMITIVE_29_CONTROL_POINT_PATCH = 36,
413
VGPU10_PRIMITIVE_30_CONTROL_POINT_PATCH = 37,
414
VGPU10_PRIMITIVE_31_CONTROL_POINT_PATCH = 38,
415
VGPU10_PRIMITIVE_32_CONTROL_POINT_PATCH = 39,
416
VGPU10_PRIMITIVE_MAX = 39
417
} VGPU10_PRIMITIVE;
418
419
typedef enum {
420
VGPU10_PRIMITIVE_TOPOLOGY_UNDEFINED = 0,
421
VGPU10_PRIMITIVE_TOPOLOGY_POINTLIST = 1,
422
VGPU10_PRIMITIVE_TOPOLOGY_LINELIST = 2,
423
VGPU10_PRIMITIVE_TOPOLOGY_LINESTRIP = 3,
424
VGPU10_PRIMITIVE_TOPOLOGY_TRIANGLELIST = 4,
425
VGPU10_PRIMITIVE_TOPOLOGY_TRIANGLESTRIP = 5,
426
VGPU10_PRIMITIVE_TOPOLOGY_LINELIST_ADJ = 10,
427
VGPU10_PRIMITIVE_TOPOLOGY_LINESTRIP_ADJ = 11,
428
VGPU10_PRIMITIVE_TOPOLOGY_TRIANGLELIST_ADJ = 12,
429
VGPU10_PRIMITIVE_TOPOLOGY_TRIANGLESTRIP_ADJ = 13
430
} VGPU10_PRIMITIVE_TOPOLOGY;
431
432
typedef enum {
433
VGPU10_CUSTOMDATA_COMMENT = 0,
434
VGPU10_CUSTOMDATA_DEBUGINFO = 1,
435
VGPU10_CUSTOMDATA_OPAQUE = 2,
436
VGPU10_CUSTOMDATA_DCL_IMMEDIATE_CONSTANT_BUFFER = 3
437
} VGPU10_CUSTOMDATA_CLASS;
438
439
typedef enum {
440
VGPU10_RESINFO_RETURN_FLOAT = 0,
441
VGPU10_RESINFO_RETURN_RCPFLOAT = 1,
442
VGPU10_RESINFO_RETURN_UINT = 2
443
} VGPU10_RESINFO_RETURN_TYPE;
444
445
446
typedef enum {
447
VGPU10_INSTRUCTION_RETURN_FLOAT = 0,
448
VGPU10_INSTRUCTION_RETURN_UINT = 1
449
} VGPU10_INSTRUCTION_RETURN_TYPE;
450
451
/* DX11 */
452
typedef enum {
453
VGPU10_TESSELLATOR_DOMAIN_UNDEFINED = 0,
454
VGPU10_TESSELLATOR_DOMAIN_ISOLINE = 1,
455
VGPU10_TESSELLATOR_DOMAIN_TRI = 2,
456
VGPU10_TESSELLATOR_DOMAIN_QUAD = 3,
457
VGPU10_TESSELLATOR_DOMAIN_MAX = 3
458
} VGPU10_TESSELLATOR_DOMAIN;
459
460
/* DX11 */
461
typedef enum {
462
VGPU10_TESSELLATOR_PARTITIONING_UNDEFINED = 0,
463
VGPU10_TESSELLATOR_PARTITIONING_INTEGER = 1,
464
VGPU10_TESSELLATOR_PARTITIONING_POW2 = 2,
465
VGPU10_TESSELLATOR_PARTITIONING_FRACTIONAL_ODD = 3,
466
VGPU10_TESSELLATOR_PARTITIONING_FRACTIONAL_EVEN = 4,
467
VGPU10_TESSELLATOR_PARTITIONING_MAX = 4
468
} VGPU10_TESSELLATOR_PARTITIONING;
469
470
/* DX11 */
471
typedef enum {
472
VGPU10_TESSELLATOR_OUTPUT_UNDEFINED = 0,
473
VGPU10_TESSELLATOR_OUTPUT_POINT = 1,
474
VGPU10_TESSELLATOR_OUTPUT_LINE = 2,
475
VGPU10_TESSELLATOR_OUTPUT_TRIANGLE_CW = 3,
476
VGPU10_TESSELLATOR_OUTPUT_TRIANGLE_CCW = 4,
477
VGPU10_TESSELLATOR_OUTPUT_MAX = 4
478
} VGPU10_TESSELLATOR_OUTPUT_PRIMITIVE;
479
480
typedef union {
481
struct {
482
unsigned int opcodeType : 11; /* VGPU10_OPCODE_TYPE */
483
unsigned int interpolationMode : 4; /* VGPU10_INTERPOLATION_MODE */
484
unsigned int : 3;
485
unsigned int testBoolean : 1; /* VGPU10_INSTRUCTION_TEST_BOOLEAN */
486
unsigned int preciseValues : 4; /* DX11 VGPU10_OPERAND_4_COMPONENT_MASK_* */
487
unsigned int : 1;
488
unsigned int instructionLength : 7;
489
unsigned int extended : 1;
490
};
491
/* VGPU10_OPCODE_VMWARE */
492
struct {
493
unsigned int : 11;
494
unsigned int vmwareOpcodeType : 4; /* VGPU10_VMWARE_OPCODE_TYPE */
495
};
496
struct {
497
unsigned int : 11;
498
unsigned int resourceDimension : 5; /* VGPU10_RESOURCE_DIMENSION */
499
unsigned int sampleCount : 7;
500
};
501
struct {
502
unsigned int : 11;
503
unsigned int samplerMode : 4; /* VGPU10_SAMPLER_MODE */
504
};
505
struct {
506
unsigned int : 11;
507
unsigned int accessPattern : 1; /* VGPU10_CB_ACCESS_PATTERN */
508
};
509
struct {
510
unsigned int : 11;
511
unsigned int primitive : 6; /* VGPU10_PRIMITIVE */
512
};
513
struct {
514
unsigned int : 11;
515
unsigned int primitiveTopology : 6; /* VGPU10_PRIMITIVE_TOPOLOGY */
516
};
517
struct {
518
unsigned int : 11;
519
unsigned int customDataClass : 21; /* VGPU10_CUSTOMDATA_CLASS */
520
};
521
struct {
522
unsigned int : 11;
523
unsigned int resinfoReturnType : 2; /* VGPU10_RESINFO_RETURN_TYPE */
524
unsigned int saturate : 1;
525
};
526
struct {
527
unsigned int : 11;
528
unsigned int refactoringAllowed : 1;
529
530
/* DX11 */
531
unsigned int enableDoublePrecisionFloatOps : 1;
532
unsigned int forceEarlyDepthStencil : 1;
533
unsigned int enableRawAndStructuredBuffers : 1;
534
};
535
struct {
536
unsigned int : 11;
537
unsigned int instReturnType : 2; /* VGPU10_INSTRUCTION_RETURN_TYPE */
538
};
539
540
/* DX11 */
541
struct {
542
unsigned int : 11;
543
unsigned int syncThreadsInGroup : 1;
544
unsigned int syncThreadGroupShared : 1;
545
unsigned int syncUAVMemoryGroup : 1;
546
unsigned int syncUAVMemoryGlobal : 1;
547
};
548
struct {
549
unsigned int : 11; /* VGPU10_OPCODE_DCL_INPUT_CONTROL_POINT_COUNT
550
* VGPU10_OPCODE_DCL_OUTPUT_CONTROL_POINT_COUNT */
551
unsigned int controlPointCount : 6;
552
};
553
struct {
554
unsigned int : 11; /* VGPU10_OPCODE_DCL_TESS_DOMAIN */
555
unsigned int tessDomain : 2; /* VGPU10_TESSELLATOR_DOMAIN */
556
};
557
struct {
558
unsigned int : 11; /* VGPU10_OPCODE_DCL_TESS_PARTITIONING */
559
unsigned int tessPartitioning : 3; /* VGPU10_TESSELLATOR_PARTITIONING */
560
};
561
struct {
562
unsigned int : 11; /* VGPU10_OPCODE_DCL_TESS_OUTPUT_PRIMITIVE */
563
unsigned int tessOutputPrimitive : 3; /* VGPU10_TESSELLATOR_OUTPUT_PRIMITIVE */
564
};
565
struct {
566
unsigned int : 11; /* VGPU10_OPCODE_DCL_INTERFACE */
567
unsigned int interfaceIndexedDynamically : 1;
568
};
569
struct {
570
unsigned int : 11; /* VGPU10_OPCODE_DCL_UAV_* */
571
unsigned int uavResourceDimension : 5; /* VGPU10_RESOURCE_DIMENSION */
572
unsigned int globallyCoherent : 1;
573
unsigned int : 6;
574
unsigned int uavHasCounter : 1;
575
};
576
uint32 value;
577
} VGPU10OpcodeToken0;
578
579
580
typedef enum {
581
VGPU10_EXTENDED_OPCODE_EMPTY = 0,
582
VGPU10_EXTENDED_OPCODE_SAMPLE_CONTROLS
583
} VGPU10_EXTENDED_OPCODE_TYPE;
584
585
typedef union {
586
struct {
587
unsigned int opcodeType : 6; /* VGPU10_EXTENDED_OPCODE_TYPE */
588
unsigned int : 3;
589
unsigned int offsetU : 4; /* Two's complement. */
590
unsigned int offsetV : 4; /* Two's complement. */
591
unsigned int offsetW : 4; /* Two's complement. */
592
unsigned int : 10;
593
unsigned int extended : 1;
594
};
595
uint32 value;
596
} VGPU10OpcodeToken1;
597
598
599
typedef enum {
600
VGPU10_OPERAND_0_COMPONENT = 0,
601
VGPU10_OPERAND_1_COMPONENT = 1,
602
VGPU10_OPERAND_4_COMPONENT = 2,
603
VGPU10_OPERAND_N_COMPONENT = 3 /* Unused for now. */
604
} VGPU10_OPERAND_NUM_COMPONENTS;
605
606
typedef enum {
607
VGPU10_OPERAND_4_COMPONENT_MASK_MODE = 0,
608
VGPU10_OPERAND_4_COMPONENT_SWIZZLE_MODE = 1,
609
VGPU10_OPERAND_4_COMPONENT_SELECT_1_MODE = 2
610
} VGPU10_OPERAND_4_COMPONENT_SELECTION_MODE;
611
612
#define VGPU10_OPERAND_4_COMPONENT_MASK_X 0x1
613
#define VGPU10_OPERAND_4_COMPONENT_MASK_Y 0x2
614
#define VGPU10_OPERAND_4_COMPONENT_MASK_Z 0x4
615
#define VGPU10_OPERAND_4_COMPONENT_MASK_W 0x8
616
617
#define VGPU10_OPERAND_4_COMPONENT_MASK_XY (VGPU10_OPERAND_4_COMPONENT_MASK_X | VGPU10_OPERAND_4_COMPONENT_MASK_Y)
618
#define VGPU10_OPERAND_4_COMPONENT_MASK_XZ (VGPU10_OPERAND_4_COMPONENT_MASK_X | VGPU10_OPERAND_4_COMPONENT_MASK_Z)
619
#define VGPU10_OPERAND_4_COMPONENT_MASK_XW (VGPU10_OPERAND_4_COMPONENT_MASK_X | VGPU10_OPERAND_4_COMPONENT_MASK_W)
620
#define VGPU10_OPERAND_4_COMPONENT_MASK_YZ (VGPU10_OPERAND_4_COMPONENT_MASK_Y | VGPU10_OPERAND_4_COMPONENT_MASK_Z)
621
#define VGPU10_OPERAND_4_COMPONENT_MASK_YW (VGPU10_OPERAND_4_COMPONENT_MASK_Y | VGPU10_OPERAND_4_COMPONENT_MASK_W)
622
#define VGPU10_OPERAND_4_COMPONENT_MASK_ZW (VGPU10_OPERAND_4_COMPONENT_MASK_Z | VGPU10_OPERAND_4_COMPONENT_MASK_W)
623
#define VGPU10_OPERAND_4_COMPONENT_MASK_XYZ (VGPU10_OPERAND_4_COMPONENT_MASK_XY | VGPU10_OPERAND_4_COMPONENT_MASK_Z)
624
#define VGPU10_OPERAND_4_COMPONENT_MASK_XYW (VGPU10_OPERAND_4_COMPONENT_MASK_XY | VGPU10_OPERAND_4_COMPONENT_MASK_W)
625
#define VGPU10_OPERAND_4_COMPONENT_MASK_XZW (VGPU10_OPERAND_4_COMPONENT_MASK_XZ | VGPU10_OPERAND_4_COMPONENT_MASK_W)
626
#define VGPU10_OPERAND_4_COMPONENT_MASK_YZW (VGPU10_OPERAND_4_COMPONENT_MASK_YZ | VGPU10_OPERAND_4_COMPONENT_MASK_W)
627
#define VGPU10_OPERAND_4_COMPONENT_MASK_XYZW (VGPU10_OPERAND_4_COMPONENT_MASK_XYZ | VGPU10_OPERAND_4_COMPONENT_MASK_W)
628
#define VGPU10_OPERAND_4_COMPONENT_MASK_ALL VGPU10_OPERAND_4_COMPONENT_MASK_XYZW
629
630
#define VGPU10_REGISTER_INDEX_FROM_SEMANTIC 0xffffffff
631
632
typedef enum {
633
VGPU10_COMPONENT_X = 0,
634
VGPU10_COMPONENT_Y = 1,
635
VGPU10_COMPONENT_Z = 2,
636
VGPU10_COMPONENT_W = 3
637
} VGPU10_COMPONENT_NAME;
638
639
typedef enum {
640
VGPU10_OPERAND_TYPE_TEMP = 0,
641
VGPU10_OPERAND_TYPE_INPUT = 1,
642
VGPU10_OPERAND_TYPE_OUTPUT = 2,
643
VGPU10_OPERAND_TYPE_INDEXABLE_TEMP = 3,
644
VGPU10_OPERAND_TYPE_IMMEDIATE32 = 4,
645
VGPU10_OPERAND_TYPE_IMMEDIATE64 = 5,
646
VGPU10_OPERAND_TYPE_SAMPLER = 6,
647
VGPU10_OPERAND_TYPE_RESOURCE = 7,
648
VGPU10_OPERAND_TYPE_CONSTANT_BUFFER = 8,
649
VGPU10_OPERAND_TYPE_IMMEDIATE_CONSTANT_BUFFER = 9,
650
VGPU10_OPERAND_TYPE_LABEL = 10,
651
VGPU10_OPERAND_TYPE_INPUT_PRIMITIVEID = 11,
652
VGPU10_OPERAND_TYPE_OUTPUT_DEPTH = 12,
653
VGPU10_OPERAND_TYPE_NULL = 13,
654
VGPU10_OPERAND_TYPE_SM40_MAX = 13,
655
656
/* DX10.1 */
657
VGPU10_OPERAND_TYPE_RASTERIZER = 14,
658
VGPU10_OPERAND_TYPE_OUTPUT_COVERAGE_MASK = 15,
659
VGPU10_OPERAND_TYPE_SM41_MAX = 15,
660
661
/* DX11 */
662
VGPU10_OPERAND_TYPE_STREAM = 16,
663
VGPU10_OPERAND_TYPE_FUNCTION_BODY = 17,
664
VGPU10_OPERAND_TYPE_FUNCTION_TABLE = 18,
665
VGPU10_OPERAND_TYPE_INTERFACE = 19,
666
VGPU10_OPERAND_TYPE_FUNCTION_INPUT = 20,
667
VGPU10_OPERAND_TYPE_FUNCTION_OUTPUT = 21,
668
VGPU10_OPERAND_TYPE_OUTPUT_CONTROL_POINT_ID = 22,
669
VGPU10_OPERAND_TYPE_INPUT_FORK_INSTANCE_ID = 23,
670
VGPU10_OPERAND_TYPE_INPUT_JOIN_INSTANCE_ID = 24,
671
VGPU10_OPERAND_TYPE_INPUT_CONTROL_POINT = 25,
672
VGPU10_OPERAND_TYPE_OUTPUT_CONTROL_POINT = 26,
673
VGPU10_OPERAND_TYPE_INPUT_PATCH_CONSTANT = 27,
674
VGPU10_OPERAND_TYPE_INPUT_DOMAIN_POINT = 28,
675
VGPU10_OPERAND_TYPE_THIS_POINTER = 29,
676
VGPU10_OPERAND_TYPE_UAV = 30,
677
VGPU10_OPERAND_TYPE_THREAD_GROUP_SHARED_MEMORY = 31,
678
VGPU10_OPERAND_TYPE_INPUT_THREAD_ID = 32,
679
VGPU10_OPERAND_TYPE_INPUT_THREAD_GROUP_ID = 33,
680
VGPU10_OPERAND_TYPE_INPUT_THREAD_ID_IN_GROUP = 34,
681
VGPU10_OPERAND_TYPE_INPUT_COVERAGE_MASK = 35,
682
VGPU10_OPERAND_TYPE_INPUT_THREAD_ID_IN_GROUP_FLATTENED = 36,
683
VGPU10_OPERAND_TYPE_INPUT_GS_INSTANCE_ID = 37,
684
VGPU10_OPERAND_TYPE_OUTPUT_DEPTH_GREATER_EQUAL = 38,
685
VGPU10_OPERAND_TYPE_OUTPUT_DEPTH_LESS_EQUAL = 39,
686
VGPU10_OPERAND_TYPE_CYCLE_COUNTER = 40,
687
VGPU10_OPERAND_TYPE_SM50_MAX = 40,
688
689
VGPU10_NUM_OPERANDS
690
} VGPU10_OPERAND_TYPE;
691
692
typedef enum {
693
VGPU10_OPERAND_INDEX_0D = 0,
694
VGPU10_OPERAND_INDEX_1D = 1,
695
VGPU10_OPERAND_INDEX_2D = 2,
696
VGPU10_OPERAND_INDEX_3D = 3
697
} VGPU10_OPERAND_INDEX_DIMENSION;
698
699
typedef enum {
700
VGPU10_OPERAND_INDEX_IMMEDIATE32 = 0,
701
VGPU10_OPERAND_INDEX_IMMEDIATE64 = 1,
702
VGPU10_OPERAND_INDEX_RELATIVE = 2,
703
VGPU10_OPERAND_INDEX_IMMEDIATE32_PLUS_RELATIVE = 3,
704
VGPU10_OPERAND_INDEX_IMMEDIATE64_PLUS_RELATIVE = 4
705
} VGPU10_OPERAND_INDEX_REPRESENTATION;
706
707
typedef union {
708
struct {
709
unsigned int numComponents : 2; /* VGPU10_OPERAND_NUM_COMPONENTS */
710
unsigned int selectionMode : 2; /* VGPU10_OPERAND_4_COMPONENT_SELECTION_MODE */
711
unsigned int mask : 4; /* D3D10_SB_OPERAND_4_COMPONENT_MASK_* */
712
unsigned int : 4;
713
unsigned int operandType : 8; /* VGPU10_OPERAND_TYPE */
714
unsigned int indexDimension : 2; /* VGPU10_OPERAND_INDEX_DIMENSION */
715
unsigned int index0Representation : 3; /* VGPU10_OPERAND_INDEX_REPRESENTATION */
716
unsigned int index1Representation : 3; /* VGPU10_OPERAND_INDEX_REPRESENTATION */
717
unsigned int : 3;
718
unsigned int extended : 1;
719
};
720
struct {
721
unsigned int : 4;
722
unsigned int swizzleX : 2; /* VGPU10_COMPONENT_NAME */
723
unsigned int swizzleY : 2; /* VGPU10_COMPONENT_NAME */
724
unsigned int swizzleZ : 2; /* VGPU10_COMPONENT_NAME */
725
unsigned int swizzleW : 2; /* VGPU10_COMPONENT_NAME */
726
};
727
struct {
728
unsigned int : 4;
729
unsigned int selectMask : 2; /* VGPU10_COMPONENT_NAME */
730
};
731
uint32 value;
732
} VGPU10OperandToken0;
733
734
735
typedef enum {
736
VGPU10_EXTENDED_OPERAND_EMPTY = 0,
737
VGPU10_EXTENDED_OPERAND_MODIFIER = 1
738
} VGPU10_EXTENDED_OPERAND_TYPE;
739
740
typedef enum {
741
VGPU10_OPERAND_MODIFIER_NONE = 0,
742
VGPU10_OPERAND_MODIFIER_NEG = 1,
743
VGPU10_OPERAND_MODIFIER_ABS = 2,
744
VGPU10_OPERAND_MODIFIER_ABSNEG = 3
745
} VGPU10_OPERAND_MODIFIER;
746
747
typedef union {
748
struct {
749
unsigned int extendedOperandType : 6; /* VGPU10_EXTENDED_OPERAND_TYPE */
750
unsigned int operandModifier : 8; /* VGPU10_OPERAND_MODIFIER */
751
unsigned int : 17;
752
unsigned int extended : 1;
753
};
754
uint32 value;
755
} VGPU10OperandToken1;
756
757
758
typedef enum {
759
VGPU10_RETURN_TYPE_MIN = 1,
760
VGPU10_RETURN_TYPE_UNORM = 1,
761
VGPU10_RETURN_TYPE_SNORM = 2,
762
VGPU10_RETURN_TYPE_SINT = 3,
763
VGPU10_RETURN_TYPE_UINT = 4,
764
VGPU10_RETURN_TYPE_FLOAT = 5,
765
VGPU10_RETURN_TYPE_MIXED = 6,
766
VGPU10_RETURN_TYPE_MAX = 6
767
} VGPU10_RESOURCE_RETURN_TYPE;
768
769
typedef union {
770
struct {
771
unsigned int component0 : 4; /* VGPU10_RESOURCE_RETURN_TYPE */
772
unsigned int component1 : 4; /* VGPU10_RESOURCE_RETURN_TYPE */
773
unsigned int component2 : 4; /* VGPU10_RESOURCE_RETURN_TYPE */
774
unsigned int component3 : 4; /* VGPU10_RESOURCE_RETURN_TYPE */
775
};
776
uint32 value;
777
} VGPU10ResourceReturnTypeToken;
778
779
780
typedef enum {
781
VGPU10_NAME_MIN = 0,
782
VGPU10_NAME_UNDEFINED = 0,
783
VGPU10_NAME_POSITION = 1,
784
VGPU10_NAME_CLIP_DISTANCE = 2,
785
VGPU10_NAME_CULL_DISTANCE = 3,
786
VGPU10_NAME_RENDER_TARGET_ARRAY_INDEX = 4,
787
VGPU10_NAME_VIEWPORT_ARRAY_INDEX = 5,
788
VGPU10_NAME_VERTEX_ID = 6,
789
VGPU10_NAME_PRIMITIVE_ID = 7,
790
VGPU10_NAME_INSTANCE_ID = 8,
791
VGPU10_NAME_IS_FRONT_FACE = 9,
792
VGPU10_NAME_SAMPLE_INDEX = 10,
793
VGPU10_NAME_SM40_MAX = 10,
794
795
/* DX11 */
796
VGPU10_NAME_FINAL_QUAD_U_EQ_0_EDGE_TESSFACTOR = 11,
797
VGPU10_NAME_FINAL_QUAD_V_EQ_0_EDGE_TESSFACTOR = 12,
798
VGPU10_NAME_FINAL_QUAD_U_EQ_1_EDGE_TESSFACTOR = 13,
799
VGPU10_NAME_FINAL_QUAD_V_EQ_1_EDGE_TESSFACTOR = 14,
800
VGPU10_NAME_FINAL_QUAD_U_INSIDE_TESSFACTOR = 15,
801
VGPU10_NAME_FINAL_QUAD_V_INSIDE_TESSFACTOR = 16,
802
VGPU10_NAME_FINAL_TRI_U_EQ_0_EDGE_TESSFACTOR = 17,
803
VGPU10_NAME_FINAL_TRI_V_EQ_0_EDGE_TESSFACTOR = 18,
804
VGPU10_NAME_FINAL_TRI_W_EQ_0_EDGE_TESSFACTOR = 19,
805
VGPU10_NAME_FINAL_TRI_INSIDE_TESSFACTOR = 20,
806
VGPU10_NAME_FINAL_LINE_DETAIL_TESSFACTOR = 21,
807
VGPU10_NAME_FINAL_LINE_DENSITY_TESSFACTOR = 22,
808
809
VGPU10_NAME_MAX = 22
810
} VGPU10_SYSTEM_NAME;
811
812
typedef union {
813
struct {
814
unsigned int name : 16; /* VGPU10_SYSTEM_NAME */
815
};
816
uint32 value;
817
} VGPU10NameToken;
818
819
#endif
820
821