1*61046927SAndroid Build Coastguard Worker /* 2*61046927SAndroid Build Coastguard Worker * Copyright © Microsoft Corporation 3*61046927SAndroid Build Coastguard Worker * 4*61046927SAndroid Build Coastguard Worker * Permission is hereby granted, free of charge, to any person obtaining a 5*61046927SAndroid Build Coastguard Worker * copy of this software and associated documentation files (the "Software"), 6*61046927SAndroid Build Coastguard Worker * to deal in the Software without restriction, including without limitation 7*61046927SAndroid Build Coastguard Worker * the rights to use, copy, modify, merge, publish, distribute, sublicense, 8*61046927SAndroid Build Coastguard Worker * and/or sell copies of the Software, and to permit persons to whom the 9*61046927SAndroid Build Coastguard Worker * Software is furnished to do so, subject to the following conditions: 10*61046927SAndroid Build Coastguard Worker * 11*61046927SAndroid Build Coastguard Worker * The above copyright notice and this permission notice (including the next 12*61046927SAndroid Build Coastguard Worker * paragraph) shall be included in all copies or substantial portions of the 13*61046927SAndroid Build Coastguard Worker * Software. 14*61046927SAndroid Build Coastguard Worker * 15*61046927SAndroid Build Coastguard Worker * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 16*61046927SAndroid Build Coastguard Worker * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 17*61046927SAndroid Build Coastguard Worker * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL 18*61046927SAndroid Build Coastguard Worker * THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 19*61046927SAndroid Build Coastguard Worker * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING 20*61046927SAndroid Build Coastguard Worker * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS 21*61046927SAndroid Build Coastguard Worker * IN THE SOFTWARE. 22*61046927SAndroid Build Coastguard Worker */ 23*61046927SAndroid Build Coastguard Worker 24*61046927SAndroid Build Coastguard Worker #ifndef DIXL_ENUMS_H 25*61046927SAndroid Build Coastguard Worker #define DIXL_ENUMS_H 26*61046927SAndroid Build Coastguard Worker 27*61046927SAndroid Build Coastguard Worker #include <stdbool.h> 28*61046927SAndroid Build Coastguard Worker 29*61046927SAndroid Build Coastguard Worker #include "shader_enums.h" 30*61046927SAndroid Build Coastguard Worker 31*61046927SAndroid Build Coastguard Worker enum dxil_signature_kind { 32*61046927SAndroid Build Coastguard Worker DXIL_SIG_INVALID = 0, 33*61046927SAndroid Build Coastguard Worker DXIL_SIG_INPUT, 34*61046927SAndroid Build Coastguard Worker DXIL_SIG_OUTPUT, 35*61046927SAndroid Build Coastguard Worker DXIL_SIG_PATCH_CONST_OR_PRIM 36*61046927SAndroid Build Coastguard Worker }; 37*61046927SAndroid Build Coastguard Worker 38*61046927SAndroid Build Coastguard Worker /* These enums are taken from 39*61046927SAndroid Build Coastguard Worker * DirectXShaderCompiler/lib/dxc/DXIL/DxilConstants.h 40*61046927SAndroid Build Coastguard Worker */ 41*61046927SAndroid Build Coastguard Worker enum dxil_semantic_kind { 42*61046927SAndroid Build Coastguard Worker DXIL_SEM_ARBITRARY, 43*61046927SAndroid Build Coastguard Worker DXIL_SEM_VERTEX_ID, 44*61046927SAndroid Build Coastguard Worker DXIL_SEM_INSTANCE_ID, 45*61046927SAndroid Build Coastguard Worker DXIL_SEM_POSITION, 46*61046927SAndroid Build Coastguard Worker DXIL_SEM_RENDERTARGET_ARRAY_INDEX, 47*61046927SAndroid Build Coastguard Worker DXIL_SEM_VIEWPORT_ARRAY_INDEX, 48*61046927SAndroid Build Coastguard Worker DXIL_SEM_CLIP_DISTANCE, 49*61046927SAndroid Build Coastguard Worker DXIL_SEM_CULL_DISTANCE, 50*61046927SAndroid Build Coastguard Worker DXIL_SEM_OUTPUT_CONTROL_POINT_ID, 51*61046927SAndroid Build Coastguard Worker DXIL_SEM_DOMAIN_LOCATION, 52*61046927SAndroid Build Coastguard Worker DXIL_SEM_PRIMITIVE_ID, 53*61046927SAndroid Build Coastguard Worker DXIL_SEM_GS_INSTANCE_ID, 54*61046927SAndroid Build Coastguard Worker DXIL_SEM_SAMPLE_INDEX, 55*61046927SAndroid Build Coastguard Worker DXIL_SEM_IS_FRONT_FACE, 56*61046927SAndroid Build Coastguard Worker DXIL_SEM_COVERAGE, 57*61046927SAndroid Build Coastguard Worker DXIL_SEM_INNER_COVERAGE, 58*61046927SAndroid Build Coastguard Worker DXIL_SEM_TARGET, 59*61046927SAndroid Build Coastguard Worker DXIL_SEM_DEPTH, 60*61046927SAndroid Build Coastguard Worker DXIL_SEM_DEPTH_LE, 61*61046927SAndroid Build Coastguard Worker DXIL_SEM_DEPTH_GE, 62*61046927SAndroid Build Coastguard Worker DXIL_SEM_STENCIL_REF, 63*61046927SAndroid Build Coastguard Worker DXIL_SEM_DISPATCH_THREAD_ID, 64*61046927SAndroid Build Coastguard Worker DXIL_SEM_GROUP_ID, 65*61046927SAndroid Build Coastguard Worker DXIL_SEM_GROUP_INDEX, 66*61046927SAndroid Build Coastguard Worker DXIL_SEM_GROUP_THREAD_ID, 67*61046927SAndroid Build Coastguard Worker DXIL_SEM_TESS_FACTOR, 68*61046927SAndroid Build Coastguard Worker DXIL_SEM_INSIDE_TESS_FACTOR, 69*61046927SAndroid Build Coastguard Worker DXIL_SEM_VIEW_ID, 70*61046927SAndroid Build Coastguard Worker DXIL_SEM_BARYCENTRICS, 71*61046927SAndroid Build Coastguard Worker DXIL_SEM_SHADING_RATE, 72*61046927SAndroid Build Coastguard Worker DXIL_SEM_CULL_PRIMITIVE, 73*61046927SAndroid Build Coastguard Worker DXIL_SEM_INVALID 74*61046927SAndroid Build Coastguard Worker }; 75*61046927SAndroid Build Coastguard Worker 76*61046927SAndroid Build Coastguard Worker enum dxil_prog_sig_semantic { 77*61046927SAndroid Build Coastguard Worker DXIL_PROG_SEM_UNDEFINED = 0, 78*61046927SAndroid Build Coastguard Worker DXIL_PROG_SEM_POSITION = 1, 79*61046927SAndroid Build Coastguard Worker DXIL_PROG_SEM_CLIP_DISTANCE = 2, 80*61046927SAndroid Build Coastguard Worker DXIL_PROG_SEM_CULL_DISTANCE = 3, 81*61046927SAndroid Build Coastguard Worker DXIL_PROG_SEM_RENDERTARGET_ARRAY_INDEX = 4, 82*61046927SAndroid Build Coastguard Worker DXIL_PROG_SEM_VIEWPORT_ARRAY_INDEX = 5, 83*61046927SAndroid Build Coastguard Worker DXIL_PROG_SEM_VERTEX_ID = 6, 84*61046927SAndroid Build Coastguard Worker DXIL_PROG_SEM_PRIMITIVE_ID = 7, 85*61046927SAndroid Build Coastguard Worker DXIL_PROG_SEM_INSTANCE_ID = 8, 86*61046927SAndroid Build Coastguard Worker DXIL_PROG_SEM_IS_FRONTFACE = 9, 87*61046927SAndroid Build Coastguard Worker DXIL_PROG_SEM_SAMPLE_INDEX = 10, 88*61046927SAndroid Build Coastguard Worker DXIL_PROG_SEM_FINAL_QUAD_EDGE_TESSFACTOR = 11, 89*61046927SAndroid Build Coastguard Worker DXIL_PROG_SEM_FINAL_QUAD_INSIDE_EDGE_TESSFACTOR = 12, 90*61046927SAndroid Build Coastguard Worker DXIL_PROG_SEM_FINAL_TRI_EDGE_TESSFACTOR = 13, 91*61046927SAndroid Build Coastguard Worker DXIL_PROG_SEM_FINAL_TRI_INSIDE_EDGE_TESSFACTOR = 14, 92*61046927SAndroid Build Coastguard Worker DXIL_PROG_SEM_FINAL_LINE_DETAIL_TESSFACTOR = 15, 93*61046927SAndroid Build Coastguard Worker DXIL_PROG_SEM_FINAL_LINE_DENSITY_TESSFACTOR = 16, 94*61046927SAndroid Build Coastguard Worker DXIL_PROG_SEM_BARYCENTRICS = 23, 95*61046927SAndroid Build Coastguard Worker DXIL_PROG_SEM_SHADING_RATE = 24, 96*61046927SAndroid Build Coastguard Worker DXIL_PROG_SEM_CULL_PRIMITIVE = 25, 97*61046927SAndroid Build Coastguard Worker DXIL_PROG_SEM_TARGET = 64, 98*61046927SAndroid Build Coastguard Worker DXIL_PROG_SEM_DEPTH = 65, 99*61046927SAndroid Build Coastguard Worker DXIL_PROG_SEM_COVERAGE = 66, 100*61046927SAndroid Build Coastguard Worker DXIL_PROG_SEM_DEPTH_GE = 67, 101*61046927SAndroid Build Coastguard Worker DXIL_PROG_SEM_DEPTH_LE = 68, 102*61046927SAndroid Build Coastguard Worker DXIL_PROG_SEM_STENCIL_REF = 69, 103*61046927SAndroid Build Coastguard Worker DXIL_PROG_SEM_INNER_COVERAGE = 70 104*61046927SAndroid Build Coastguard Worker }; 105*61046927SAndroid Build Coastguard Worker 106*61046927SAndroid Build Coastguard Worker enum dxil_prog_sig_comp_type { 107*61046927SAndroid Build Coastguard Worker DXIL_PROG_SIG_COMP_TYPE_UNKNOWN = 0, 108*61046927SAndroid Build Coastguard Worker DXIL_PROG_SIG_COMP_TYPE_UINT32 = 1, 109*61046927SAndroid Build Coastguard Worker DXIL_PROG_SIG_COMP_TYPE_SINT32 = 2, 110*61046927SAndroid Build Coastguard Worker DXIL_PROG_SIG_COMP_TYPE_FLOAT32 = 3, 111*61046927SAndroid Build Coastguard Worker DXIL_PROG_SIG_COMP_TYPE_UINT16 = 4, 112*61046927SAndroid Build Coastguard Worker DXIL_PROG_SIG_COMP_TYPE_SINT16 = 5, 113*61046927SAndroid Build Coastguard Worker DXIL_PROG_SIG_COMP_TYPE_FLOAT16 = 6, 114*61046927SAndroid Build Coastguard Worker DXIL_PROG_SIG_COMP_TYPE_UINT64 = 7, 115*61046927SAndroid Build Coastguard Worker DXIL_PROG_SIG_COMP_TYPE_SINT64 = 8, 116*61046927SAndroid Build Coastguard Worker DXIL_PROG_SIG_COMP_TYPE_FLOAT64 = 9, 117*61046927SAndroid Build Coastguard Worker DXIL_PROG_SIG_COMP_TYPE_COUNT 118*61046927SAndroid Build Coastguard Worker }; 119*61046927SAndroid Build Coastguard Worker 120*61046927SAndroid Build Coastguard Worker 121*61046927SAndroid Build Coastguard Worker enum dxil_sig_point_kind { 122*61046927SAndroid Build Coastguard Worker DXIL_SIG_POINT_VSIN, // Ordinary Vertex Shader input from Input Assembler 123*61046927SAndroid Build Coastguard Worker DXIL_SIG_POINT_VSOUT, // Ordinary Vertex Shader output that may feed Rasterizer 124*61046927SAndroid Build Coastguard Worker DXIL_SIG_POINT_PCIN, // Patch Constant function non-patch inputs 125*61046927SAndroid Build Coastguard Worker DXIL_SIG_POINT_HSIN, // Hull Shader function non-patch inputs 126*61046927SAndroid Build Coastguard Worker DXIL_SIG_POINT_HSCPIN, // Hull Shader patch inputs - Control Points 127*61046927SAndroid Build Coastguard Worker DXIL_SIG_POINT_HSCPOut, // Hull Shader function output - Control Point 128*61046927SAndroid Build Coastguard Worker DXIL_SIG_POINT_PCOUT, // Patch Constant function output - Patch Constant data passed to Domain Shader 129*61046927SAndroid Build Coastguard Worker DXIL_SIG_POINT_DSIN, // Domain Shader regular input - Patch Constant data plus system values 130*61046927SAndroid Build Coastguard Worker DXIL_SIG_POINT_DSCPIN, // Domain Shader patch input - Control Points 131*61046927SAndroid Build Coastguard Worker DXIL_SIG_POINT_DSOUT, // Domain Shader output - vertex data that may feed Rasterizer 132*61046927SAndroid Build Coastguard Worker DXIL_SIG_POINT_GSVIN, // Geometry Shader vertex input - qualified with primitive type 133*61046927SAndroid Build Coastguard Worker DXIL_SIG_POINT_GSIN, // Geometry Shader non-vertex inputs (system values) 134*61046927SAndroid Build Coastguard Worker DXIL_SIG_POINT_GSOUT, // Geometry Shader output - vertex data that may feed Rasterizer 135*61046927SAndroid Build Coastguard Worker DXIL_SIG_POINT_PSIN, // Pixel Shader input 136*61046927SAndroid Build Coastguard Worker DXIL_SIG_POINT_PSOUT, // Pixel Shader output 137*61046927SAndroid Build Coastguard Worker DXIL_SIG_POINT_CSIN, // Compute Shader input 138*61046927SAndroid Build Coastguard Worker DXIL_SIG_POINT_MSIN, // Mesh Shader input 139*61046927SAndroid Build Coastguard Worker DXIL_SIG_POINT_MSOUT, // Mesh Shader vertices output 140*61046927SAndroid Build Coastguard Worker DXIL_SIG_POINT_MSPOUT, // Mesh Shader primitives output 141*61046927SAndroid Build Coastguard Worker DXIL_SIG_POINT_ASIN, // Amplification Shader input 142*61046927SAndroid Build Coastguard Worker DXIL_SIG_POINT_INVALID 143*61046927SAndroid Build Coastguard Worker }; 144*61046927SAndroid Build Coastguard Worker 145*61046927SAndroid Build Coastguard Worker enum dxil_min_precision { 146*61046927SAndroid Build Coastguard Worker DXIL_MIN_PREC_DEFAULT = 0, 147*61046927SAndroid Build Coastguard Worker DXIL_MIN_PREC_FLOAT16 = 1, 148*61046927SAndroid Build Coastguard Worker DXIL_MIN_PREC_FLOAT2_8 = 2, 149*61046927SAndroid Build Coastguard Worker DXIL_MIN_PREC_RESERVED = 3, 150*61046927SAndroid Build Coastguard Worker DXIL_MIN_PREC_SINT16 = 4, 151*61046927SAndroid Build Coastguard Worker DXIL_MIN_PREC_UINT16 = 5, 152*61046927SAndroid Build Coastguard Worker DXIL_MIN_PREC_ANY16 = 0xf0, 153*61046927SAndroid Build Coastguard Worker DXIL_MIN_PREC_ANY10 = 0xf1 154*61046927SAndroid Build Coastguard Worker }; 155*61046927SAndroid Build Coastguard Worker 156*61046927SAndroid Build Coastguard Worker enum dxil_semantic_interpret_kind { 157*61046927SAndroid Build Coastguard Worker DXIL_SEM_INTERP_NA, // Not Available 158*61046927SAndroid Build Coastguard Worker DXIL_SEM_INTERP_SV, // Normal System Value 159*61046927SAndroid Build Coastguard Worker DXIL_SEM_INTERP_SGV, // System Generated Value (sorted last) 160*61046927SAndroid Build Coastguard Worker DXIL_SEM_INTERP_ARB, // Treated as Arbitrary 161*61046927SAndroid Build Coastguard Worker DXIL_SEM_INTERP_NOT_IN_SIG, // Not included in signature (intrinsic access) 162*61046927SAndroid Build Coastguard Worker DXIL_SEM_INTERP_NOT_PACKED, // Included in signature, but does not contribute to packing 163*61046927SAndroid Build Coastguard Worker DXIL_SEM_INTERP_TARGET, // Special handling for SV_Target 164*61046927SAndroid Build Coastguard Worker DXIL_SEM_INTERP_TESSFACTOR, // Special handling for tessellation factors 165*61046927SAndroid Build Coastguard Worker DXIL_SEM_INTERP_SHADOW, // Shadow element must be added to a signature for compatibility 166*61046927SAndroid Build Coastguard Worker DXIL_SEM_INTERP_CLIPCULL, // Special packing rules for SV_ClipDistance or SV_CullDistance 167*61046927SAndroid Build Coastguard Worker DXIL_SEM_INTERP_INVALID 168*61046927SAndroid Build Coastguard Worker }; 169*61046927SAndroid Build Coastguard Worker 170*61046927SAndroid Build Coastguard Worker enum dxil_component_type { 171*61046927SAndroid Build Coastguard Worker DXIL_COMP_TYPE_INVALID = 0, 172*61046927SAndroid Build Coastguard Worker DXIL_COMP_TYPE_I1 = 1, 173*61046927SAndroid Build Coastguard Worker DXIL_COMP_TYPE_I16 = 2, 174*61046927SAndroid Build Coastguard Worker DXIL_COMP_TYPE_U16 = 3, 175*61046927SAndroid Build Coastguard Worker DXIL_COMP_TYPE_I32 = 4, 176*61046927SAndroid Build Coastguard Worker DXIL_COMP_TYPE_U32 = 5, 177*61046927SAndroid Build Coastguard Worker DXIL_COMP_TYPE_I64 = 6, 178*61046927SAndroid Build Coastguard Worker DXIL_COMP_TYPE_U64 = 7, 179*61046927SAndroid Build Coastguard Worker DXIL_COMP_TYPE_F16 = 8, 180*61046927SAndroid Build Coastguard Worker DXIL_COMP_TYPE_F32 = 9, 181*61046927SAndroid Build Coastguard Worker DXIL_COMP_TYPE_F64 = 10, 182*61046927SAndroid Build Coastguard Worker DXIL_COMP_TYPE_SNORMF16 = 11, 183*61046927SAndroid Build Coastguard Worker DXIL_COMP_TYPE_UNORMF16 = 12, 184*61046927SAndroid Build Coastguard Worker DXIL_COMP_TYPE_SNORMF32 = 13, 185*61046927SAndroid Build Coastguard Worker DXIL_COMP_TYPE_UNORMF32 = 14, 186*61046927SAndroid Build Coastguard Worker DXIL_COMP_TYPE_SNORMF64 = 15, 187*61046927SAndroid Build Coastguard Worker DXIL_COMP_TYPE_UNORMF64 = 16 188*61046927SAndroid Build Coastguard Worker }; 189*61046927SAndroid Build Coastguard Worker 190*61046927SAndroid Build Coastguard Worker enum dxil_interpolation_mode { 191*61046927SAndroid Build Coastguard Worker DXIL_INTERP_UNDEFINED = 0, 192*61046927SAndroid Build Coastguard Worker DXIL_INTERP_CONSTANT = 1, 193*61046927SAndroid Build Coastguard Worker DXIL_INTERP_LINEAR = 2, 194*61046927SAndroid Build Coastguard Worker DXIL_INTERP_LINEAR_CENTROID = 3, 195*61046927SAndroid Build Coastguard Worker DXIL_INTERP_LINEAR_NOPERSPECTIVE = 4, 196*61046927SAndroid Build Coastguard Worker DXIL_INTERP_LINEAR_NOPERSPECTIVE_CENTROID = 5, 197*61046927SAndroid Build Coastguard Worker DXIL_INTERP_LINEAR_SAMPLE = 6, 198*61046927SAndroid Build Coastguard Worker DXIL_INTERP_LINEAR_NOPERSPECTIVE_SAMPLE = 7, 199*61046927SAndroid Build Coastguard Worker DXIL_INTERP_INVALID = 8 200*61046927SAndroid Build Coastguard Worker }; 201*61046927SAndroid Build Coastguard Worker 202*61046927SAndroid Build Coastguard Worker enum overload_type { 203*61046927SAndroid Build Coastguard Worker DXIL_NONE, 204*61046927SAndroid Build Coastguard Worker DXIL_I1, 205*61046927SAndroid Build Coastguard Worker DXIL_I16, 206*61046927SAndroid Build Coastguard Worker DXIL_I32, 207*61046927SAndroid Build Coastguard Worker DXIL_I64, 208*61046927SAndroid Build Coastguard Worker DXIL_F16, 209*61046927SAndroid Build Coastguard Worker DXIL_F32, 210*61046927SAndroid Build Coastguard Worker DXIL_F64, 211*61046927SAndroid Build Coastguard Worker DXIL_NUM_OVERLOADS 212*61046927SAndroid Build Coastguard Worker }; 213*61046927SAndroid Build Coastguard Worker 214*61046927SAndroid Build Coastguard Worker enum dxil_resource_class { 215*61046927SAndroid Build Coastguard Worker DXIL_RESOURCE_CLASS_SRV = 0, 216*61046927SAndroid Build Coastguard Worker DXIL_RESOURCE_CLASS_UAV = 1, 217*61046927SAndroid Build Coastguard Worker DXIL_RESOURCE_CLASS_CBV = 2, 218*61046927SAndroid Build Coastguard Worker DXIL_RESOURCE_CLASS_SAMPLER = 3 219*61046927SAndroid Build Coastguard Worker }; 220*61046927SAndroid Build Coastguard Worker 221*61046927SAndroid Build Coastguard Worker enum dxil_resource_kind { 222*61046927SAndroid Build Coastguard Worker DXIL_RESOURCE_KIND_INVALID = 0, 223*61046927SAndroid Build Coastguard Worker DXIL_RESOURCE_KIND_TEXTURE1D = 1, 224*61046927SAndroid Build Coastguard Worker DXIL_RESOURCE_KIND_TEXTURE2D = 2, 225*61046927SAndroid Build Coastguard Worker DXIL_RESOURCE_KIND_TEXTURE2DMS = 3, 226*61046927SAndroid Build Coastguard Worker DXIL_RESOURCE_KIND_TEXTURE3D = 4, 227*61046927SAndroid Build Coastguard Worker DXIL_RESOURCE_KIND_TEXTURECUBE = 5, 228*61046927SAndroid Build Coastguard Worker DXIL_RESOURCE_KIND_TEXTURE1D_ARRAY = 6, 229*61046927SAndroid Build Coastguard Worker DXIL_RESOURCE_KIND_TEXTURE2D_ARRAY = 7, 230*61046927SAndroid Build Coastguard Worker DXIL_RESOURCE_KIND_TEXTURE2DMS_ARRAY = 8, 231*61046927SAndroid Build Coastguard Worker DXIL_RESOURCE_KIND_TEXTURECUBE_ARRAY = 9, 232*61046927SAndroid Build Coastguard Worker DXIL_RESOURCE_KIND_TYPED_BUFFER = 10, 233*61046927SAndroid Build Coastguard Worker DXIL_RESOURCE_KIND_RAW_BUFFER = 11, 234*61046927SAndroid Build Coastguard Worker DXIL_RESOURCE_KIND_STRUCTURED_BUFFER = 12, 235*61046927SAndroid Build Coastguard Worker DXIL_RESOURCE_KIND_CBUFFER = 13, 236*61046927SAndroid Build Coastguard Worker DXIL_RESOURCE_KIND_SAMPLER = 14, 237*61046927SAndroid Build Coastguard Worker DXIL_RESOURCE_KIND_TBUFFER = 15, 238*61046927SAndroid Build Coastguard Worker }; 239*61046927SAndroid Build Coastguard Worker 240*61046927SAndroid Build Coastguard Worker enum dxil_sampler_kind { 241*61046927SAndroid Build Coastguard Worker DXIL_SAMPLER_KIND_DEFAULT = 0, 242*61046927SAndroid Build Coastguard Worker DXIL_SAMPLER_KIND_COMPARISON = 1, 243*61046927SAndroid Build Coastguard Worker DXIL_SAMPLER_KIND_MONO = 2, 244*61046927SAndroid Build Coastguard Worker DXIL_SAMPLER_KIND_INVALID = 3, 245*61046927SAndroid Build Coastguard Worker }; 246*61046927SAndroid Build Coastguard Worker 247*61046927SAndroid Build Coastguard Worker enum dxil_attr_kind { 248*61046927SAndroid Build Coastguard Worker DXIL_ATTR_KIND_NONE = 0, 249*61046927SAndroid Build Coastguard Worker DXIL_ATTR_KIND_NO_DUPLICATE = 12, 250*61046927SAndroid Build Coastguard Worker DXIL_ATTR_KIND_NO_UNWIND = 18, 251*61046927SAndroid Build Coastguard Worker DXIL_ATTR_KIND_READ_NONE = 20, 252*61046927SAndroid Build Coastguard Worker DXIL_ATTR_KIND_READ_ONLY = 21, 253*61046927SAndroid Build Coastguard Worker }; 254*61046927SAndroid Build Coastguard Worker 255*61046927SAndroid Build Coastguard Worker enum dxil_input_primitive { 256*61046927SAndroid Build Coastguard Worker DXIL_INPUT_PRIMITIVE_UNDEFINED = 0, 257*61046927SAndroid Build Coastguard Worker DXIL_INPUT_PRIMITIVE_POINT = 1, 258*61046927SAndroid Build Coastguard Worker DXIL_INPUT_PRIMITIVE_LINE = 2, 259*61046927SAndroid Build Coastguard Worker DXIL_INPUT_PRIMITIVE_TRIANGLE = 3, 260*61046927SAndroid Build Coastguard Worker DXIL_INPUT_PRIMITIVE_LINES_ADJENCY = 6, 261*61046927SAndroid Build Coastguard Worker DXIL_INPUT_PRIMITIVE_TRIANGLES_ADJENCY = 7, 262*61046927SAndroid Build Coastguard Worker }; 263*61046927SAndroid Build Coastguard Worker 264*61046927SAndroid Build Coastguard Worker enum dxil_primitive_topology { 265*61046927SAndroid Build Coastguard Worker DXIL_PRIMITIVE_TOPOLOGY_UNDEFINED = 0, 266*61046927SAndroid Build Coastguard Worker DXIL_PRIMITIVE_TOPOLOGY_POINT_LIST = 1, 267*61046927SAndroid Build Coastguard Worker DXIL_PRIMITIVE_TOPOLOGY_LINE_LIST = 2, 268*61046927SAndroid Build Coastguard Worker DXIL_PRIMITIVE_TOPOLOGY_LINE_STRIP = 3, 269*61046927SAndroid Build Coastguard Worker DXIL_PRIMITIVE_TOPOLOGY_TRIANGLE_LIST = 4, 270*61046927SAndroid Build Coastguard Worker DXIL_PRIMITIVE_TOPOLOGY_TRIANGLE_STRIP = 5, 271*61046927SAndroid Build Coastguard Worker }; 272*61046927SAndroid Build Coastguard Worker 273*61046927SAndroid Build Coastguard Worker enum dxil_shader_tag { 274*61046927SAndroid Build Coastguard Worker DXIL_SHADER_TAG_FLAGS = 0, 275*61046927SAndroid Build Coastguard Worker DXIL_SHADER_TAG_GS_STATE = 1, 276*61046927SAndroid Build Coastguard Worker DXIL_SHADER_TAG_DS_STATE = 2, 277*61046927SAndroid Build Coastguard Worker DXIL_SHADER_TAG_HS_STATE = 3, 278*61046927SAndroid Build Coastguard Worker DXIL_SHADER_TAG_NUM_THREADS = 4, 279*61046927SAndroid Build Coastguard Worker DXIL_SHADER_TAG_WAVE_SIZE = 11, 280*61046927SAndroid Build Coastguard Worker DXIL_SHADER_TAG_WAVE_SIZE_RANGE = 23, 281*61046927SAndroid Build Coastguard Worker }; 282*61046927SAndroid Build Coastguard Worker 283*61046927SAndroid Build Coastguard Worker enum dxil_barrier_mode { 284*61046927SAndroid Build Coastguard Worker DXIL_BARRIER_MODE_SYNC_THREAD_GROUP = 1, 285*61046927SAndroid Build Coastguard Worker DXIL_BARRIER_MODE_UAV_FENCE_GLOBAL = 2, 286*61046927SAndroid Build Coastguard Worker DXIL_BARRIER_MODE_UAV_FENCE_THREAD_GROUP = 4, 287*61046927SAndroid Build Coastguard Worker DXIL_BARRIER_MODE_GROUPSHARED_MEM_FENCE = 8, 288*61046927SAndroid Build Coastguard Worker }; 289*61046927SAndroid Build Coastguard Worker 290*61046927SAndroid Build Coastguard Worker enum dxil_address_space { 291*61046927SAndroid Build Coastguard Worker DXIL_AS_DEFAULT = 0, 292*61046927SAndroid Build Coastguard Worker DXIL_AS_DEVMEM = 1, 293*61046927SAndroid Build Coastguard Worker DXIL_AS_CBUF = 2, 294*61046927SAndroid Build Coastguard Worker DXIL_AS_GROUPSHARED = 3, 295*61046927SAndroid Build Coastguard Worker }; 296*61046927SAndroid Build Coastguard Worker 297*61046927SAndroid Build Coastguard Worker enum dxil_rmw_op { 298*61046927SAndroid Build Coastguard Worker DXIL_RMWOP_XCHG = 0, 299*61046927SAndroid Build Coastguard Worker DXIL_RMWOP_ADD = 1, 300*61046927SAndroid Build Coastguard Worker DXIL_RMWOP_SUB = 2, 301*61046927SAndroid Build Coastguard Worker DXIL_RMWOP_AND = 3, 302*61046927SAndroid Build Coastguard Worker DXIL_RMWOP_NAND = 4, 303*61046927SAndroid Build Coastguard Worker DXIL_RMWOP_OR = 5, 304*61046927SAndroid Build Coastguard Worker DXIL_RMWOP_XOR = 6, 305*61046927SAndroid Build Coastguard Worker DXIL_RMWOP_MAX = 7, 306*61046927SAndroid Build Coastguard Worker DXIL_RMWOP_MIN = 8, 307*61046927SAndroid Build Coastguard Worker DXIL_RMWOP_UMAX = 9, 308*61046927SAndroid Build Coastguard Worker DXIL_RMWOP_UMIN = 10, 309*61046927SAndroid Build Coastguard Worker }; 310*61046927SAndroid Build Coastguard Worker 311*61046927SAndroid Build Coastguard Worker enum dxil_atomic_ordering { 312*61046927SAndroid Build Coastguard Worker DXIL_ATOMIC_ORDERING_NOTATOMIC = 0, 313*61046927SAndroid Build Coastguard Worker DXIL_ATOMIC_ORDERING_UNORDERED = 1, 314*61046927SAndroid Build Coastguard Worker DXIL_ATOMIC_ORDERING_MONOTONIC = 2, 315*61046927SAndroid Build Coastguard Worker DXIL_ATOMIC_ORDERING_ACQUIRE = 3, 316*61046927SAndroid Build Coastguard Worker DXIL_ATOMIC_ORDERING_RELEASE = 4, 317*61046927SAndroid Build Coastguard Worker DXIL_ATOMIC_ORDERING_ACQREL = 5, 318*61046927SAndroid Build Coastguard Worker DXIL_ATOMIC_ORDERING_SEQCST = 6, 319*61046927SAndroid Build Coastguard Worker }; 320*61046927SAndroid Build Coastguard Worker 321*61046927SAndroid Build Coastguard Worker enum dxil_sync_scope { 322*61046927SAndroid Build Coastguard Worker DXIL_SYNC_SCOPE_SINGLETHREAD = 0, 323*61046927SAndroid Build Coastguard Worker DXIL_SYNC_SCOPE_CROSSTHREAD = 1, 324*61046927SAndroid Build Coastguard Worker }; 325*61046927SAndroid Build Coastguard Worker 326*61046927SAndroid Build Coastguard Worker enum dxil_tessellator_domain { 327*61046927SAndroid Build Coastguard Worker DXIL_TESSELLATOR_DOMAIN_UNDEFINED = 0, 328*61046927SAndroid Build Coastguard Worker DXIL_TESSELLATOR_DOMAIN_ISOLINE = 1, 329*61046927SAndroid Build Coastguard Worker DXIL_TESSELLATOR_DOMAIN_TRI = 2, 330*61046927SAndroid Build Coastguard Worker DXIL_TESSELLATOR_DOMAIN_QUAD = 3, 331*61046927SAndroid Build Coastguard Worker }; 332*61046927SAndroid Build Coastguard Worker 333*61046927SAndroid Build Coastguard Worker enum dxil_tessellator_output_primitive { 334*61046927SAndroid Build Coastguard Worker DXIL_TESSELLATOR_OUTPUT_PRIMITIVE_UNDEFINED = 0, 335*61046927SAndroid Build Coastguard Worker DXIL_TESSELLATOR_OUTPUT_PRIMITIVE_POINT = 1, 336*61046927SAndroid Build Coastguard Worker DXIL_TESSELLATOR_OUTPUT_PRIMITIVE_LINE = 2, 337*61046927SAndroid Build Coastguard Worker DXIL_TESSELLATOR_OUTPUT_PRIMITIVE_TRIANGLE_CW = 3, 338*61046927SAndroid Build Coastguard Worker DXIL_TESSELLATOR_OUTPUT_PRIMITIVE_TRIANGLE_CCW = 4, 339*61046927SAndroid Build Coastguard Worker }; 340*61046927SAndroid Build Coastguard Worker 341*61046927SAndroid Build Coastguard Worker enum dxil_tessellator_partitioning { 342*61046927SAndroid Build Coastguard Worker DXIL_TESSELLATOR_PARTITIONING_UNDEFINED = 0, 343*61046927SAndroid Build Coastguard Worker DXIL_TESSELLATOR_PARTITIONING_INTEGER = 1, 344*61046927SAndroid Build Coastguard Worker DXIL_TESSELLATOR_PARTITIONING_POW2 = 2, 345*61046927SAndroid Build Coastguard Worker DXIL_TESSELLATOR_PARTITIONING_FRACTIONAL_ODD = 3, 346*61046927SAndroid Build Coastguard Worker DXIL_TESSELLATOR_PARTITIONING_FRACTIONAL_EVEN = 4, 347*61046927SAndroid Build Coastguard Worker }; 348*61046927SAndroid Build Coastguard Worker 349*61046927SAndroid Build Coastguard Worker enum dxil_signature_element_extended_properties { 350*61046927SAndroid Build Coastguard Worker DXIL_SIGNATURE_ELEMENT_OUTPUT_STREAM = 0, 351*61046927SAndroid Build Coastguard Worker DXIL_SIGNATURE_ELEMENT_GLOBAL_SYMBOL = 1, 352*61046927SAndroid Build Coastguard Worker DXIL_SIGNATURE_ELEMENT_DYNAMIC_INDEX_COMPONENT_MASK = 2, 353*61046927SAndroid Build Coastguard Worker DXIL_SIGNATURE_ELEMENT_USAGE_COMPONENT_MASK = 3, 354*61046927SAndroid Build Coastguard Worker }; 355*61046927SAndroid Build Coastguard Worker 356*61046927SAndroid Build Coastguard Worker enum dxil_quad_op_kind { 357*61046927SAndroid Build Coastguard Worker QUAD_READ_ACROSS_X = 0, 358*61046927SAndroid Build Coastguard Worker QUAD_READ_ACROSS_Y = 1, 359*61046927SAndroid Build Coastguard Worker QUAD_READ_ACROSS_DIAGONAL = 2, 360*61046927SAndroid Build Coastguard Worker }; 361*61046927SAndroid Build Coastguard Worker 362*61046927SAndroid Build Coastguard Worker enum dxil_wave_op_kind { 363*61046927SAndroid Build Coastguard Worker DXIL_WAVE_OP_SUM = 0, 364*61046927SAndroid Build Coastguard Worker DXIL_WAVE_OP_PRODUCT = 1, 365*61046927SAndroid Build Coastguard Worker DXIL_WAVE_OP_MIN = 2, 366*61046927SAndroid Build Coastguard Worker DXIL_WAVE_OP_MAX = 3, 367*61046927SAndroid Build Coastguard Worker }; 368*61046927SAndroid Build Coastguard Worker 369*61046927SAndroid Build Coastguard Worker enum dxil_wave_bit_op_kind { 370*61046927SAndroid Build Coastguard Worker DXIL_WAVE_BIT_OP_AND = 0, 371*61046927SAndroid Build Coastguard Worker DXIL_WAVE_BIT_OP_OR = 1, 372*61046927SAndroid Build Coastguard Worker DXIL_WAVE_BIT_OP_XOR = 2, 373*61046927SAndroid Build Coastguard Worker }; 374*61046927SAndroid Build Coastguard Worker 375*61046927SAndroid Build Coastguard Worker #ifdef __cplusplus 376*61046927SAndroid Build Coastguard Worker extern "C" { 377*61046927SAndroid Build Coastguard Worker #endif 378*61046927SAndroid Build Coastguard Worker 379*61046927SAndroid Build Coastguard Worker struct glsl_type; 380*61046927SAndroid Build Coastguard Worker enum glsl_sampler_dim; 381*61046927SAndroid Build Coastguard Worker 382*61046927SAndroid Build Coastguard Worker enum dxil_component_type dxil_get_comp_type(const struct glsl_type *type); 383*61046927SAndroid Build Coastguard Worker 384*61046927SAndroid Build Coastguard Worker enum dxil_prog_sig_comp_type dxil_get_prog_sig_comp_type(const struct glsl_type *type); 385*61046927SAndroid Build Coastguard Worker enum dxil_component_type dxil_get_comp_type_from_prog_sig_type(enum dxil_prog_sig_comp_type type); 386*61046927SAndroid Build Coastguard Worker 387*61046927SAndroid Build Coastguard Worker enum dxil_resource_kind dxil_sampler_dim_to_resource_kind(enum glsl_sampler_dim dim, bool is_array); 388*61046927SAndroid Build Coastguard Worker enum dxil_resource_kind dxil_get_resource_kind(const struct glsl_type *type); 389*61046927SAndroid Build Coastguard Worker 390*61046927SAndroid Build Coastguard Worker enum dxil_primitive_topology dxil_get_primitive_topology(enum mesa_prim topology); 391*61046927SAndroid Build Coastguard Worker 392*61046927SAndroid Build Coastguard Worker enum dxil_input_primitive dxil_get_input_primitive(enum mesa_prim primitive); 393*61046927SAndroid Build Coastguard Worker 394*61046927SAndroid Build Coastguard Worker const char *dxil_overload_suffix( enum overload_type overload); 395*61046927SAndroid Build Coastguard Worker 396*61046927SAndroid Build Coastguard Worker #ifdef __cplusplus 397*61046927SAndroid Build Coastguard Worker } 398*61046927SAndroid Build Coastguard Worker #endif 399*61046927SAndroid Build Coastguard Worker 400*61046927SAndroid Build Coastguard Worker 401*61046927SAndroid Build Coastguard Worker #endif // DXIL_ENUMS_H 402