1// Copyright (c) 2020 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
32extern "C" {
33#endif
34
35enum {
36    NonSemanticClspvReflectionRevision = 6,
37    NonSemanticClspvReflectionRevision_BitWidthPadding = 0x7fffffff
38};
39
40enum 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
86enum 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