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