1 // Copyright (c) 2020-2024 The Khronos Group Inc.
2 //
3 // Permission is hereby granted, free of charge, to any person obtaining a
4 // copy of this software and/or associated documentation files (the
5 // "Materials"), to deal in the Materials without restriction, including
6 // without limitation the rights to use, copy, modify, merge, publish,
7 // distribute, sublicense, and/or sell copies of the Materials, and to
8 // permit persons to whom the Materials are furnished to do so, subject to
9 // the following conditions:
10 //
11 // The above copyright notice and this permission notice shall be included
12 // in all copies or substantial portions of the Materials.
13 //
14 // MODIFICATIONS TO THIS FILE MAY MEAN IT NO LONGER ACCURATELY REFLECTS
15 // KHRONOS STANDARDS. THE UNMODIFIED, NORMATIVE VERSIONS OF KHRONOS
16 // SPECIFICATIONS AND HEADER INFORMATION ARE LOCATED AT
17 //    https://www.khronos.org/registry/
18 //
19 // THE MATERIALS ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
20 // EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
21 // MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
22 // IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY
23 // CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT,
24 // TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE
25 // MATERIALS OR THE USE OR OTHER DEALINGS IN THE MATERIALS.
26 //
27 
28 #ifndef SPIRV_UNIFIED1_NonSemanticClspvReflection_H_
29 #define SPIRV_UNIFIED1_NonSemanticClspvReflection_H_
30 
31 #ifdef __cplusplus
32 extern "C" {
33 #endif
34 
35 enum {
36     NonSemanticClspvReflectionRevision = 6,
37     NonSemanticClspvReflectionRevision_BitWidthPadding = 0x7fffffff
38 };
39 
40 enum NonSemanticClspvReflectionInstructions {
41     NonSemanticClspvReflectionKernel = 1,
42     NonSemanticClspvReflectionArgumentInfo = 2,
43     NonSemanticClspvReflectionArgumentStorageBuffer = 3,
44     NonSemanticClspvReflectionArgumentUniform = 4,
45     NonSemanticClspvReflectionArgumentPodStorageBuffer = 5,
46     NonSemanticClspvReflectionArgumentPodUniform = 6,
47     NonSemanticClspvReflectionArgumentPodPushConstant = 7,
48     NonSemanticClspvReflectionArgumentSampledImage = 8,
49     NonSemanticClspvReflectionArgumentStorageImage = 9,
50     NonSemanticClspvReflectionArgumentSampler = 10,
51     NonSemanticClspvReflectionArgumentWorkgroup = 11,
52     NonSemanticClspvReflectionSpecConstantWorkgroupSize = 12,
53     NonSemanticClspvReflectionSpecConstantGlobalOffset = 13,
54     NonSemanticClspvReflectionSpecConstantWorkDim = 14,
55     NonSemanticClspvReflectionPushConstantGlobalOffset = 15,
56     NonSemanticClspvReflectionPushConstantEnqueuedLocalSize = 16,
57     NonSemanticClspvReflectionPushConstantGlobalSize = 17,
58     NonSemanticClspvReflectionPushConstantRegionOffset = 18,
59     NonSemanticClspvReflectionPushConstantNumWorkgroups = 19,
60     NonSemanticClspvReflectionPushConstantRegionGroupOffset = 20,
61     NonSemanticClspvReflectionConstantDataStorageBuffer = 21,
62     NonSemanticClspvReflectionConstantDataUniform = 22,
63     NonSemanticClspvReflectionLiteralSampler = 23,
64     NonSemanticClspvReflectionPropertyRequiredWorkgroupSize = 24,
65     NonSemanticClspvReflectionSpecConstantSubgroupMaxSize = 25,
66     NonSemanticClspvReflectionArgumentPointerPushConstant = 26,
67     NonSemanticClspvReflectionArgumentPointerUniform = 27,
68     NonSemanticClspvReflectionProgramScopeVariablesStorageBuffer = 28,
69     NonSemanticClspvReflectionProgramScopeVariablePointerRelocation = 29,
70     NonSemanticClspvReflectionImageArgumentInfoChannelOrderPushConstant = 30,
71     NonSemanticClspvReflectionImageArgumentInfoChannelDataTypePushConstant = 31,
72     NonSemanticClspvReflectionImageArgumentInfoChannelOrderUniform = 32,
73     NonSemanticClspvReflectionImageArgumentInfoChannelDataTypeUniform = 33,
74     NonSemanticClspvReflectionArgumentStorageTexelBuffer = 34,
75     NonSemanticClspvReflectionArgumentUniformTexelBuffer = 35,
76     NonSemanticClspvReflectionConstantDataPointerPushConstant = 36,
77     NonSemanticClspvReflectionProgramScopeVariablePointerPushConstant = 37,
78     NonSemanticClspvReflectionPrintfInfo = 38,
79     NonSemanticClspvReflectionPrintfBufferStorageBuffer = 39,
80     NonSemanticClspvReflectionPrintfBufferPointerPushConstant = 40,
81     NonSemanticClspvReflectionNormalizedSamplerMaskPushConstant = 41,
82     NonSemanticClspvReflectionInstructionsMax = 0x7fffffff
83 };
84 
85 
86 enum NonSemanticClspvReflectionKernelPropertyFlags {
87     NonSemanticClspvReflectionNone = 0x0,
88     NonSemanticClspvReflectionMayUsePrintf = 0x1,
89     NonSemanticClspvReflectionKernelPropertyFlagsMax = 0x7fffffff
90 };
91 
92 
93 #ifdef __cplusplus
94 }
95 #endif
96 
97 #endif // SPIRV_UNIFIED1_NonSemanticClspvReflection_H_
98