summaryrefslogtreecommitdiff
path: root/source
diff options
context:
space:
mode:
authorDavid Neto <dneto@google.com>2015-10-07 16:58:38 -0400
committerDavid Neto <dneto@google.com>2015-10-26 12:55:33 -0400
commit9db3a538974fa14dcc3d480d5d4288820b42e4e6 (patch)
tree8a956fe5acb1032cd5acdfb9578b2ce259101f57 /source
parent725cc2a2dfa8416bdd294081dbc3a533c38d6852 (diff)
downloadSPIRV-Tools-9db3a538974fa14dcc3d480d5d4288820b42e4e6.tar.gz
SPIRV-Tools-9db3a538974fa14dcc3d480d5d4288820b42e4e6.tar.bz2
SPIRV-Tools-9db3a538974fa14dcc3d480d5d4288820b42e4e6.zip
Remove spv_opcode_flags_t and flags fields.
The flags fields in both spv_opcode_desc_t and spv_operand_desc_t are redundant with the capabilities mask field in the same structure.
Diffstat (limited to 'source')
-rw-r--r--source/opcode.cpp4
-rw-r--r--source/opcode.h2
-rw-r--r--source/operand.cpp279
3 files changed, 42 insertions, 243 deletions
diff --git a/source/opcode.cpp b/source/opcode.cpp
index a55e6057..957ddef8 100644
--- a/source/opcode.cpp
+++ b/source/opcode.cpp
@@ -52,7 +52,6 @@ spv_opcode_desc_t opcodeTableEntries[] = {
#define Instruction(Name,HasResult,HasType,NumLogicalOperands,NumCapabilities,CapabilityRequired,IsVariable,LogicalArgsList) \
{ #Name, \
Op##Name, \
- (NumCapabilities) ? SPV_OPCODE_FLAGS_CAPABILITIES : 0, \
(NumCapabilities) ? (CapabilityRequired) : 0, \
0, {}, /* Filled in later. Operand list, including result id and type id, if needed */ \
HasResult, \
@@ -305,8 +304,7 @@ int16_t spvOpcodeResultIdIndex(spv_opcode_desc entry) {
}
int32_t spvOpcodeRequiresCapabilities(spv_opcode_desc entry) {
- return SPV_OPCODE_FLAGS_CAPABILITIES ==
- (SPV_OPCODE_FLAGS_CAPABILITIES & entry->flags);
+ return entry->capabilities != 0;
}
void spvInstructionCopy(const uint32_t *words, const Op opcode,
diff --git a/source/opcode.h b/source/opcode.h
index 65764a5b..8d17d100 100644
--- a/source/opcode.h
+++ b/source/opcode.h
@@ -88,7 +88,7 @@ spv_result_t spvOpcodeTableValueLookup(const spv_opcode_table table,
/// the wordcount/opcode word.
int16_t spvOpcodeResultIdIndex(spv_opcode_desc entry);
-/// @brief Determine if the Opcode has capaspvity requirements
+/// @brief Determine if the Opcode has capability requirements.
///
/// This function does not check if @a entry is valid.
///
diff --git a/source/operand.cpp b/source/operand.cpp
index e57fa0c9..26abffbb 100644
--- a/source/operand.cpp
+++ b/source/operand.cpp
@@ -32,22 +32,18 @@
static const spv_operand_desc_t sourceLanguageEntries[] = {
{"Unknown",
SourceLanguageUnknown,
- SPV_OPCODE_FLAGS_NONE,
0,
{SPV_OPERAND_TYPE_NONE}},
{"ESSL",
SourceLanguageESSL,
- SPV_OPCODE_FLAGS_NONE,
0,
{SPV_OPERAND_TYPE_NONE}},
{"GLSL",
SourceLanguageGLSL,
- SPV_OPCODE_FLAGS_NONE,
0,
{SPV_OPERAND_TYPE_NONE}},
{"OpenCL",
SourceLanguageOpenCL,
- SPV_OPCODE_FLAGS_NONE,
0,
{SPV_OPERAND_TYPE_NONE}},
};
@@ -55,37 +51,30 @@ static const spv_operand_desc_t sourceLanguageEntries[] = {
static const spv_operand_desc_t executionModelEntries[] = {
{"Vertex",
ExecutionModelVertex,
- SPV_OPCODE_FLAGS_CAPABILITIES,
SPV_CAPABILITY_AS_MASK(CapabilityShader),
{SPV_OPERAND_TYPE_NONE}},
{"TessellationControl",
ExecutionModelTessellationControl,
- SPV_OPCODE_FLAGS_CAPABILITIES,
SPV_CAPABILITY_AS_MASK(CapabilityTessellation),
{SPV_OPERAND_TYPE_NONE}},
{"TessellationEvaluation",
ExecutionModelTessellationEvaluation,
- SPV_OPCODE_FLAGS_CAPABILITIES,
SPV_CAPABILITY_AS_MASK(CapabilityTessellation),
{SPV_OPERAND_TYPE_NONE}},
{"Geometry",
ExecutionModelGeometry,
- SPV_OPCODE_FLAGS_CAPABILITIES,
SPV_CAPABILITY_AS_MASK(CapabilityGeometry),
{SPV_OPERAND_TYPE_NONE}},
{"Fragment",
ExecutionModelFragment,
- SPV_OPCODE_FLAGS_CAPABILITIES,
SPV_CAPABILITY_AS_MASK(CapabilityShader),
{SPV_OPERAND_TYPE_NONE}},
{"GLCompute",
ExecutionModelGLCompute,
- SPV_OPCODE_FLAGS_CAPABILITIES,
SPV_CAPABILITY_AS_MASK(CapabilityShader),
{SPV_OPERAND_TYPE_NONE}},
{"Kernel",
ExecutionModelKernel,
- SPV_OPCODE_FLAGS_CAPABILITIES,
SPV_CAPABILITY_AS_MASK(CapabilityKernel),
{SPV_OPERAND_TYPE_NONE}},
};
@@ -93,17 +82,14 @@ static const spv_operand_desc_t executionModelEntries[] = {
static const spv_operand_desc_t addressingModelEntries[] = {
{"Logical",
AddressingModelLogical,
- SPV_OPCODE_FLAGS_NONE,
0,
{SPV_OPERAND_TYPE_NONE}},
{"Physical32",
AddressingModelPhysical32,
- SPV_OPCODE_FLAGS_CAPABILITIES,
SPV_CAPABILITY_AS_MASK(CapabilityAddresses),
{SPV_OPERAND_TYPE_NONE}},
{"Physical64",
AddressingModelPhysical64,
- SPV_OPCODE_FLAGS_CAPABILITIES,
SPV_CAPABILITY_AS_MASK(CapabilityAddresses),
{SPV_OPERAND_TYPE_NONE}},
};
@@ -111,33 +97,28 @@ static const spv_operand_desc_t addressingModelEntries[] = {
static const spv_operand_desc_t memoryModelEntries[] = {
{"Simple",
MemoryModelSimple,
- SPV_OPCODE_FLAGS_CAPABILITIES,
SPV_CAPABILITY_AS_MASK(CapabilityShader),
{SPV_OPERAND_TYPE_NONE}},
{"GLSL450",
MemoryModelGLSL450,
- SPV_OPCODE_FLAGS_CAPABILITIES,
SPV_CAPABILITY_AS_MASK(CapabilityShader),
{SPV_OPERAND_TYPE_NONE}},
{"OpenCL",
MemoryModelOpenCL,
- SPV_OPCODE_FLAGS_CAPABILITIES,
SPV_CAPABILITY_AS_MASK(CapabilityKernel),
{SPV_OPERAND_TYPE_NONE}},
};
// Execution mode requiring the given capability and having no operands.
-#define ExecMode0(mode, cap) \
- #mode, ExecutionMode##mode, SPV_OPCODE_FLAGS_CAPABILITIES, \
- SPV_CAPABILITY_AS_MASK(Capability##cap), { \
- SPV_OPERAND_TYPE_NONE \
+#define ExecMode0(mode, cap) \
+ #mode, ExecutionMode##mode, SPV_CAPABILITY_AS_MASK(Capability##cap), { \
+ SPV_OPERAND_TYPE_NONE \
}
// Execution mode requiring the given capability and having one literal number
// operand.
-#define ExecMode1(mode, cap) \
- #mode, ExecutionMode##mode, SPV_OPCODE_FLAGS_CAPABILITIES, \
- SPV_CAPABILITY_AS_MASK(Capability##cap), { \
- SPV_OPERAND_TYPE_LITERAL_NUMBER, SPV_OPERAND_TYPE_NONE \
+#define ExecMode1(mode, cap) \
+ #mode, ExecutionMode##mode, SPV_CAPABILITY_AS_MASK(Capability##cap), { \
+ SPV_OPERAND_TYPE_LITERAL_NUMBER, SPV_OPERAND_TYPE_NONE \
}
static const spv_operand_desc_t executionModeEntries[] = {
{ExecMode1(Invocations, Geometry)},
@@ -158,13 +139,11 @@ static const spv_operand_desc_t executionModeEntries[] = {
{ExecMode0(DepthUnchanged, Shader)},
{"LocalSize",
ExecutionModeLocalSize,
- SPV_OPCODE_FLAGS_NONE,
0,
{SPV_OPERAND_TYPE_LITERAL_NUMBER, SPV_OPERAND_TYPE_LITERAL_NUMBER,
SPV_OPERAND_TYPE_LITERAL_NUMBER, SPV_OPERAND_TYPE_NONE}},
{"LocalSizeHint",
ExecutionModeLocalSizeHint,
- SPV_OPCODE_FLAGS_CAPABILITIES,
SPV_CAPABILITY_AS_MASK(CapabilityKernel),
{SPV_OPERAND_TYPE_LITERAL_NUMBER, SPV_OPERAND_TYPE_LITERAL_NUMBER,
SPV_OPERAND_TYPE_LITERAL_NUMBER, SPV_OPERAND_TYPE_NONE}},
@@ -173,7 +152,6 @@ static const spv_operand_desc_t executionModeEntries[] = {
{ExecMode0(InputLinesAdjacency, Geometry)},
{"InputTriangles",
ExecutionModeInputTriangles,
- SPV_OPCODE_FLAGS_CAPABILITIES,
SPV_CAPABILITY_AS_MASK(CapabilityGeometry) |
SPV_CAPABILITY_AS_MASK(CapabilityTessellation),
{SPV_OPERAND_TYPE_NONE}},
@@ -182,7 +160,6 @@ static const spv_operand_desc_t executionModeEntries[] = {
{ExecMode0(InputIsolines, Tessellation)},
{"OutputVertices",
ExecutionModeOutputVertices,
- SPV_OPCODE_FLAGS_CAPABILITIES,
SPV_CAPABILITY_AS_MASK(CapabilityGeometry) |
SPV_CAPABILITY_AS_MASK(CapabilityTessellation),
{SPV_OPERAND_TYPE_LITERAL_NUMBER, SPV_OPERAND_TYPE_NONE}},
@@ -200,62 +177,50 @@ static const spv_operand_desc_t storageClassEntries[] = {
// TODO(dneto): There are more storage classes in Rev32 and later.
{"UniformConstant",
StorageClassUniformConstant,
- SPV_OPCODE_FLAGS_NONE,
0,
{SPV_OPERAND_TYPE_NONE}},
{"Input",
StorageClassInput,
- SPV_OPCODE_FLAGS_CAPABILITIES,
SPV_CAPABILITY_AS_MASK(CapabilityShader),
{SPV_OPERAND_TYPE_NONE}},
{"Uniform",
StorageClassUniform,
- SPV_OPCODE_FLAGS_CAPABILITIES,
SPV_CAPABILITY_AS_MASK(CapabilityShader),
{SPV_OPERAND_TYPE_NONE}},
{"Output",
StorageClassOutput,
- SPV_OPCODE_FLAGS_CAPABILITIES,
SPV_CAPABILITY_AS_MASK(CapabilityShader),
{SPV_OPERAND_TYPE_NONE}},
{"WorkgroupLocal",
StorageClassWorkgroupLocal,
- SPV_OPCODE_FLAGS_NONE,
0,
{SPV_OPERAND_TYPE_NONE}},
{"WorkgroupGlobal",
StorageClassWorkgroupGlobal,
- SPV_OPCODE_FLAGS_NONE,
0,
{SPV_OPERAND_TYPE_NONE}},
{"PrivateGlobal",
StorageClassPrivateGlobal,
- SPV_OPCODE_FLAGS_CAPABILITIES,
SPV_CAPABILITY_AS_MASK(CapabilityShader),
{SPV_OPERAND_TYPE_NONE}},
{"Function",
StorageClassFunction,
- SPV_OPCODE_FLAGS_NONE,
0,
{SPV_OPERAND_TYPE_NONE}},
{"Generic",
StorageClassGeneric,
- SPV_OPCODE_FLAGS_CAPABILITIES,
SPV_CAPABILITY_AS_MASK(CapabilityKernel),
{SPV_OPERAND_TYPE_NONE}},
{"PushConstant",
StorageClassPushConstant,
- SPV_OPCODE_FLAGS_CAPABILITIES,
SPV_CAPABILITY_AS_MASK(CapabilityShader),
{SPV_OPERAND_TYPE_NONE}},
{"AtomicCounter",
StorageClassAtomicCounter,
- SPV_OPCODE_FLAGS_CAPABILITIES,
SPV_CAPABILITY_AS_MASK(CapabilityAtomicStorage),
{SPV_OPERAND_TYPE_NONE}},
{"Image",
StorageClassImage,
- SPV_OPCODE_FLAGS_NONE,
0,
{SPV_OPERAND_TYPE_NONE}},
};
@@ -263,29 +228,24 @@ static const spv_operand_desc_t storageClassEntries[] = {
static const spv_operand_desc_t dimensionalityEntries[] = {
{"1D",
Dim1D,
- SPV_OPCODE_FLAGS_CAPABILITIES,
SPV_CAPABILITY_AS_MASK(CapabilitySampled1D),
{SPV_OPERAND_TYPE_NONE}},
- {"2D", Dim2D, SPV_OPCODE_FLAGS_NONE, 0, {SPV_OPERAND_TYPE_NONE}},
- {"3D", Dim3D, SPV_OPCODE_FLAGS_NONE, 0, {SPV_OPERAND_TYPE_NONE}},
+ {"2D", Dim2D, 0, {SPV_OPERAND_TYPE_NONE}},
+ {"3D", Dim3D, 0, {SPV_OPERAND_TYPE_NONE}},
{"Cube",
DimCube,
- SPV_OPCODE_FLAGS_CAPABILITIES,
SPV_CAPABILITY_AS_MASK(CapabilityShader),
{SPV_OPERAND_TYPE_NONE}},
{"Rect",
DimRect,
- SPV_OPCODE_FLAGS_CAPABILITIES,
SPV_CAPABILITY_AS_MASK(CapabilitySampledRect),
{SPV_OPERAND_TYPE_NONE}},
{"Buffer",
DimBuffer,
- SPV_OPCODE_FLAGS_CAPABILITIES,
SPV_CAPABILITY_AS_MASK(CapabilitySampledBuffer),
{SPV_OPERAND_TYPE_NONE}},
{"InputTarget",
DimInputTarget,
- SPV_OPCODE_FLAGS_CAPABILITIES,
SPV_CAPABILITY_AS_MASK(CapabilityInputTarget),
{SPV_OPERAND_TYPE_NONE}},
};
@@ -293,27 +253,22 @@ static const spv_operand_desc_t dimensionalityEntries[] = {
static const spv_operand_desc_t samplerAddressingModeEntries[] = {
{"None",
SamplerAddressingModeNone,
- SPV_OPCODE_FLAGS_CAPABILITIES,
SPV_CAPABILITY_AS_MASK(CapabilityKernel),
{SPV_OPERAND_TYPE_NONE}},
{"ClampToEdge",
SamplerAddressingModeClampToEdge,
- SPV_OPCODE_FLAGS_CAPABILITIES,
SPV_CAPABILITY_AS_MASK(CapabilityKernel),
{SPV_OPERAND_TYPE_NONE}},
{"Clamp",
SamplerAddressingModeClamp,
- SPV_OPCODE_FLAGS_CAPABILITIES,
SPV_CAPABILITY_AS_MASK(CapabilityKernel),
{SPV_OPERAND_TYPE_NONE}},
{"Repeat",
SamplerAddressingModeRepeat,
- SPV_OPCODE_FLAGS_CAPABILITIES,
SPV_CAPABILITY_AS_MASK(CapabilityKernel),
{SPV_OPERAND_TYPE_NONE}},
{"RepeatMirrored",
SamplerAddressingModeRepeatMirrored,
- SPV_OPCODE_FLAGS_CAPABILITIES,
SPV_CAPABILITY_AS_MASK(CapabilityKernel),
{SPV_OPERAND_TYPE_NONE}},
};
@@ -321,27 +276,24 @@ static const spv_operand_desc_t samplerAddressingModeEntries[] = {
static const spv_operand_desc_t samplerFilterModeEntries[] = {
{"Nearest",
SamplerFilterModeNearest,
- SPV_OPCODE_FLAGS_CAPABILITIES,
SPV_CAPABILITY_AS_MASK(CapabilityKernel),
{SPV_OPERAND_TYPE_NONE}},
{"Linear",
SamplerFilterModeLinear,
- SPV_OPCODE_FLAGS_CAPABILITIES,
SPV_CAPABILITY_AS_MASK(CapabilityKernel),
{SPV_OPERAND_TYPE_NONE}},
};
static const spv_operand_desc_t samplerImageFormatEntries[] = {
-#define CASE0(NAME) \
- { \
- #NAME, ImageFormat##NAME, 0, 0, { SPV_OPERAND_TYPE_NONE } \
+#define CASE0(NAME) \
+ { \
+ #NAME, ImageFormat##NAME, 0, { SPV_OPERAND_TYPE_NONE } \
}
-#define CASE(NAME, CAP) \
- { \
- #NAME, ImageFormat##NAME, SPV_OPCODE_FLAGS_CAPABILITIES, \
- SPV_CAPABILITY_AS_MASK(Capability##CAP), { \
- SPV_OPERAND_TYPE_NONE \
- } \
+#define CASE(NAME, CAP) \
+ { \
+ #NAME, ImageFormat##NAME, SPV_CAPABILITY_AS_MASK(Capability##CAP), { \
+ SPV_OPERAND_TYPE_NONE \
+ } \
}
// clang-format off
CASE0(Unknown),
@@ -389,12 +341,12 @@ static const spv_operand_desc_t samplerImageFormatEntries[] = {
};
// All image channel orders depend on the Kernel capability.
-#define CASE(NAME) \
- { \
- #NAME, ImageChannelOrder##NAME, SPV_OPCODE_FLAGS_CAPABILITIES, \
- SPV_CAPABILITY_AS_MASK(CapabilityKernel), { \
- SPV_OPERAND_TYPE_NONE \
- } \
+#define CASE(NAME) \
+ { \
+ #NAME, ImageChannelOrder##NAME, SPV_CAPABILITY_AS_MASK(CapabilityKernel), \
+ { \
+ SPV_OPERAND_TYPE_NONE \
+ } \
}
static const spv_operand_desc_t imageChannelOrderEntries[] = {
CASE(R),
@@ -420,12 +372,12 @@ static const spv_operand_desc_t imageChannelOrderEntries[] = {
#undef CASE
// All image channel data types depend on the Kernel capability.
-#define CASE(NAME) \
- { \
- #NAME, ImageChannelDataType##NAME, SPV_OPCODE_FLAGS_CAPABILITIES, \
- SPV_CAPABILITY_AS_MASK(CapabilityKernel), { \
- SPV_OPERAND_TYPE_NONE \
- } \
+#define CASE(NAME) \
+ { \
+ #NAME, ImageChannelDataType##NAME, \
+ SPV_CAPABILITY_AS_MASK(CapabilityKernel), { \
+ SPV_OPERAND_TYPE_NONE \
+ } \
}
static const spv_operand_desc_t imageChannelDataTypeEntries[] = {
CASE(SnormInt8),
@@ -453,12 +405,12 @@ static const spv_operand_desc_t imageChannelDataTypeEntries[] = {
static const spv_operand_desc_t imageOperandEntries[] = {
// Rev32 and later adds many more enums.
#define CASE(NAME) \
- #NAME, spv::ImageOperands##NAME##Mask, SPV_OPCODE_FLAGS_NONE, 0
+ #NAME, spv::ImageOperands##NAME##Mask, 0
#define CASE_CAP(NAME, CAP) \
- #NAME, spv::ImageOperands##NAME##Mask, SPV_OPCODE_FLAGS_CAPABILITIES, CAP
+ #NAME, spv::ImageOperands##NAME##Mask, CAP
#define ID SPV_OPERAND_TYPE_ID
#define NONE SPV_OPERAND_TYPE_NONE
- {"None", spv::ImageOperandsMaskNone, SPV_OPCODE_FLAGS_NONE, 0, {NONE}},
+ {"None", spv::ImageOperandsMaskNone, 0, {NONE}},
{CASE_CAP(Bias, SPV_CAPABILITY_AS_MASK(CapabilityShader)), {ID, NONE}},
{CASE(Lod), {ID, NONE}},
{CASE(Grad), {ID, ID, NONE}},
@@ -477,32 +429,26 @@ static const spv_operand_desc_t imageOperandEntries[] = {
static const spv_operand_desc_t fpFastMathModeEntries[] = {
{"None",
FPFastMathModeMaskNone,
- SPV_OPCODE_FLAGS_NONE,
0,
{SPV_OPERAND_TYPE_NONE}},
{"NotNaN",
FPFastMathModeNotNaNMask,
- SPV_OPCODE_FLAGS_CAPABILITIES,
SPV_CAPABILITY_AS_MASK(CapabilityKernel),
{SPV_OPERAND_TYPE_NONE}},
{"NotInf",
FPFastMathModeNotInfMask,
- SPV_OPCODE_FLAGS_CAPABILITIES,
SPV_CAPABILITY_AS_MASK(CapabilityKernel),
{SPV_OPERAND_TYPE_NONE}},
{"NSZ",
FPFastMathModeNSZMask,
- SPV_OPCODE_FLAGS_CAPABILITIES,
SPV_CAPABILITY_AS_MASK(CapabilityKernel),
{SPV_OPERAND_TYPE_NONE}},
{"AllowRecip",
FPFastMathModeAllowRecipMask,
- SPV_OPCODE_FLAGS_CAPABILITIES,
SPV_CAPABILITY_AS_MASK(CapabilityKernel),
{SPV_OPERAND_TYPE_NONE}},
{"Fast",
FPFastMathModeFastMask,
- SPV_OPCODE_FLAGS_CAPABILITIES,
SPV_CAPABILITY_AS_MASK(CapabilityKernel),
{SPV_OPERAND_TYPE_NONE}},
};
@@ -510,22 +456,18 @@ static const spv_operand_desc_t fpFastMathModeEntries[] = {
static const spv_operand_desc_t fpRoundingModeEntries[] = {
{"RTE",
FPRoundingModeRTE,
- SPV_OPCODE_FLAGS_CAPABILITIES,
SPV_CAPABILITY_AS_MASK(CapabilityKernel),
{SPV_OPERAND_TYPE_NONE}},
{"RTZ",
FPRoundingModeRTZ,
- SPV_OPCODE_FLAGS_CAPABILITIES,
SPV_CAPABILITY_AS_MASK(CapabilityKernel),
{SPV_OPERAND_TYPE_NONE}},
{"RTP",
FPRoundingModeRTP,
- SPV_OPCODE_FLAGS_CAPABILITIES,
SPV_CAPABILITY_AS_MASK(CapabilityKernel),
{SPV_OPERAND_TYPE_NONE}},
{"RTN",
FPRoundingModeRTN,
- SPV_OPCODE_FLAGS_CAPABILITIES,
SPV_CAPABILITY_AS_MASK(CapabilityKernel),
{SPV_OPERAND_TYPE_NONE}},
};
@@ -533,12 +475,10 @@ static const spv_operand_desc_t fpRoundingModeEntries[] = {
static const spv_operand_desc_t linkageTypeEntries[] = {
{"Export",
LinkageTypeExport,
- SPV_OPCODE_FLAGS_CAPABILITIES,
SPV_CAPABILITY_AS_MASK(CapabilityLinkage),
{SPV_OPERAND_TYPE_NONE}},
{"Import",
LinkageTypeImport,
- SPV_OPCODE_FLAGS_CAPABILITIES,
SPV_CAPABILITY_AS_MASK(CapabilityLinkage),
{SPV_OPERAND_TYPE_NONE}},
};
@@ -546,17 +486,14 @@ static const spv_operand_desc_t linkageTypeEntries[] = {
static const spv_operand_desc_t accessQualifierEntries[] = {
{"ReadOnly",
AccessQualifierReadOnly,
- SPV_OPCODE_FLAGS_CAPABILITIES,
SPV_CAPABILITY_AS_MASK(CapabilityKernel),
{SPV_OPERAND_TYPE_NONE}},
{"WriteOnly",
AccessQualifierWriteOnly,
- SPV_OPCODE_FLAGS_CAPABILITIES,
SPV_CAPABILITY_AS_MASK(CapabilityKernel),
{SPV_OPERAND_TYPE_NONE}},
{"ReadWrite",
AccessQualifierReadWrite,
- SPV_OPCODE_FLAGS_CAPABILITIES,
SPV_CAPABILITY_AS_MASK(CapabilityKernel),
{SPV_OPERAND_TYPE_NONE}},
};
@@ -564,42 +501,34 @@ static const spv_operand_desc_t accessQualifierEntries[] = {
static const spv_operand_desc_t functionParameterAttributeEntries[] = {
{"Zext",
FunctionParameterAttributeZext,
- SPV_OPCODE_FLAGS_CAPABILITIES,
SPV_CAPABILITY_AS_MASK(CapabilityKernel),
{SPV_OPERAND_TYPE_NONE}},
{"Sext",
FunctionParameterAttributeSext,
- SPV_OPCODE_FLAGS_CAPABILITIES,
SPV_CAPABILITY_AS_MASK(CapabilityKernel),
{SPV_OPERAND_TYPE_NONE}},
{"ByVal",
FunctionParameterAttributeByVal,
- SPV_OPCODE_FLAGS_CAPABILITIES,
SPV_CAPABILITY_AS_MASK(CapabilityKernel),
{SPV_OPERAND_TYPE_NONE}},
{"Sret",
FunctionParameterAttributeSret,
- SPV_OPCODE_FLAGS_CAPABILITIES,
SPV_CAPABILITY_AS_MASK(CapabilityKernel),
{SPV_OPERAND_TYPE_NONE}},
{"NoAlias",
FunctionParameterAttributeNoAlias,
- SPV_OPCODE_FLAGS_CAPABILITIES,
SPV_CAPABILITY_AS_MASK(CapabilityKernel),
{SPV_OPERAND_TYPE_NONE}},
{"NoCapture",
FunctionParameterAttributeNoCapture,
- SPV_OPCODE_FLAGS_CAPABILITIES,
SPV_CAPABILITY_AS_MASK(CapabilityKernel),
{SPV_OPERAND_TYPE_NONE}},
{"NoWrite",
FunctionParameterAttributeNoWrite,
- SPV_OPCODE_FLAGS_CAPABILITIES,
SPV_CAPABILITY_AS_MASK(CapabilityKernel),
{SPV_OPERAND_TYPE_NONE}},
{"NoReadWrite",
FunctionParameterAttributeNoReadWrite,
- SPV_OPCODE_FLAGS_CAPABILITIES,
SPV_CAPABILITY_AS_MASK(CapabilityKernel),
{SPV_OPERAND_TYPE_NONE}},
};
@@ -607,227 +536,183 @@ static const spv_operand_desc_t functionParameterAttributeEntries[] = {
static const spv_operand_desc_t decorationEntries[] = {
{"RelaxedPrecision",
DecorationRelaxedPrecision,
- SPV_OPCODE_FLAGS_CAPABILITIES,
SPV_CAPABILITY_AS_MASK(CapabilityShader),
{SPV_OPERAND_TYPE_NONE}},
{
"SpecId",
DecorationSpecId,
- SPV_OPCODE_FLAGS_CAPABILITIES,
SPV_CAPABILITY_AS_MASK(CapabilityShader),
{SPV_OPERAND_TYPE_LITERAL_NUMBER},
},
{"Block",
DecorationBlock,
- SPV_OPCODE_FLAGS_CAPABILITIES,
SPV_CAPABILITY_AS_MASK(CapabilityShader),
{SPV_OPERAND_TYPE_NONE}},
{"BufferBlock",
DecorationBufferBlock,
- SPV_OPCODE_FLAGS_CAPABILITIES,
SPV_CAPABILITY_AS_MASK(CapabilityShader),
{SPV_OPERAND_TYPE_NONE}},
{"RowMajor",
DecorationRowMajor,
- SPV_OPCODE_FLAGS_CAPABILITIES,
SPV_CAPABILITY_AS_MASK(CapabilityMatrix),
{SPV_OPERAND_TYPE_NONE}},
{"ColMajor",
DecorationColMajor,
- SPV_OPCODE_FLAGS_CAPABILITIES,
SPV_CAPABILITY_AS_MASK(CapabilityMatrix),
{SPV_OPERAND_TYPE_NONE}},
{"ArrayStride",
DecorationArrayStride,
- SPV_OPCODE_FLAGS_CAPABILITIES,
SPV_CAPABILITY_AS_MASK(CapabilityShader),
{SPV_OPERAND_TYPE_LITERAL_NUMBER, SPV_OPERAND_TYPE_NONE}},
{"MatrixStride",
DecorationMatrixStride,
- SPV_OPCODE_FLAGS_CAPABILITIES,
SPV_CAPABILITY_AS_MASK(CapabilityShader),
{SPV_OPERAND_TYPE_LITERAL_NUMBER, SPV_OPERAND_TYPE_NONE}},
{"GLSLShared",
DecorationGLSLShared,
- SPV_OPCODE_FLAGS_CAPABILITIES,
SPV_CAPABILITY_AS_MASK(CapabilityShader),
{SPV_OPERAND_TYPE_NONE}},
{"GLSLPacked",
DecorationGLSLPacked,
- SPV_OPCODE_FLAGS_CAPABILITIES,
SPV_CAPABILITY_AS_MASK(CapabilityShader),
{SPV_OPERAND_TYPE_NONE}},
{"CPacked",
DecorationCPacked,
- SPV_OPCODE_FLAGS_CAPABILITIES,
SPV_CAPABILITY_AS_MASK(CapabilityKernel),
{SPV_OPERAND_TYPE_NONE}},
{"BuiltIn",
DecorationBuiltIn,
- SPV_OPCODE_FLAGS_CAPABILITIES,
SPV_CAPABILITY_AS_MASK(CapabilityShader),
{SPV_OPERAND_TYPE_BUILT_IN, SPV_OPERAND_TYPE_NONE}},
{"Smooth",
DecorationSmooth,
- SPV_OPCODE_FLAGS_CAPABILITIES,
SPV_CAPABILITY_AS_MASK(CapabilityShader),
{SPV_OPERAND_TYPE_NONE}},
{"NoPerspective",
DecorationNoPerspective,
- SPV_OPCODE_FLAGS_CAPABILITIES,
SPV_CAPABILITY_AS_MASK(CapabilityShader),
{SPV_OPERAND_TYPE_NONE}},
{"Flat",
DecorationFlat,
- SPV_OPCODE_FLAGS_CAPABILITIES,
SPV_CAPABILITY_AS_MASK(CapabilityShader),
{SPV_OPERAND_TYPE_NONE}},
{"Patch",
DecorationPatch,
- SPV_OPCODE_FLAGS_CAPABILITIES,
SPV_CAPABILITY_AS_MASK(CapabilityTessellation),
{SPV_OPERAND_TYPE_NONE}},
{"Centroid",
DecorationCentroid,
- SPV_OPCODE_FLAGS_CAPABILITIES,
SPV_CAPABILITY_AS_MASK(CapabilityShader),
{SPV_OPERAND_TYPE_NONE}},
{"Sample",
DecorationSample,
- SPV_OPCODE_FLAGS_CAPABILITIES,
SPV_CAPABILITY_AS_MASK(CapabilityShader),
{SPV_OPERAND_TYPE_NONE}},
{"Invariant",
DecorationInvariant,
- SPV_OPCODE_FLAGS_CAPABILITIES,
SPV_CAPABILITY_AS_MASK(CapabilityShader),
{SPV_OPERAND_TYPE_NONE}},
{"Restrict",
DecorationRestrict,
- SPV_OPCODE_FLAGS_NONE,
0,
{SPV_OPERAND_TYPE_NONE}},
{"Aliased",
DecorationAliased,
- SPV_OPCODE_FLAGS_NONE,
0,
{SPV_OPERAND_TYPE_NONE}},
{"Volatile",
DecorationVolatile,
- SPV_OPCODE_FLAGS_NONE,
0,
{SPV_OPERAND_TYPE_NONE}},
{"Constant",
DecorationConstant,
- SPV_OPCODE_FLAGS_CAPABILITIES,
SPV_CAPABILITY_AS_MASK(CapabilityKernel),
{SPV_OPERAND_TYPE_NONE}},
{"Coherent",
DecorationCoherent,
- SPV_OPCODE_FLAGS_NONE,
0,
{SPV_OPERAND_TYPE_NONE}},
{"NonWritable",
DecorationNonWritable,
- SPV_OPCODE_FLAGS_NONE,
0,
{SPV_OPERAND_TYPE_NONE}},
{"NonReadable",
DecorationNonReadable,
- SPV_OPCODE_FLAGS_NONE,
0,
{SPV_OPERAND_TYPE_NONE}},
{"Uniform",
DecorationUniform,
- SPV_OPCODE_FLAGS_CAPABILITIES,
SPV_CAPABILITY_AS_MASK(CapabilityShader),
{SPV_OPERAND_TYPE_NONE}},
{"SaturatedConversion",
DecorationSaturatedConversion,
- SPV_OPCODE_FLAGS_CAPABILITIES,
SPV_CAPABILITY_AS_MASK(CapabilityKernel),
{SPV_OPERAND_TYPE_NONE}},
{"Stream",
DecorationStream,
- SPV_OPCODE_FLAGS_CAPABILITIES,
SPV_CAPABILITY_AS_MASK(CapabilityGeometry),
{SPV_OPERAND_TYPE_LITERAL_NUMBER, SPV_OPERAND_TYPE_NONE}},
{"Location",
DecorationLocation,
- SPV_OPCODE_FLAGS_CAPABILITIES,
SPV_CAPABILITY_AS_MASK(CapabilityShader),
{SPV_OPERAND_TYPE_LITERAL_NUMBER, SPV_OPERAND_TYPE_NONE}},
{"Component",
DecorationComponent,
- SPV_OPCODE_FLAGS_CAPABILITIES,
SPV_CAPABILITY_AS_MASK(CapabilityShader),
{SPV_OPERAND_TYPE_LITERAL_NUMBER, SPV_OPERAND_TYPE_NONE}},
{"Index",
DecorationIndex,
- SPV_OPCODE_FLAGS_CAPABILITIES,
SPV_CAPABILITY_AS_MASK(CapabilityShader),
{SPV_OPERAND_TYPE_LITERAL_NUMBER, SPV_OPERAND_TYPE_NONE}},
{"Binding",
DecorationBinding,
- SPV_OPCODE_FLAGS_CAPABILITIES,
SPV_CAPABILITY_AS_MASK(CapabilityShader),
{SPV_OPERAND_TYPE_LITERAL_NUMBER, SPV_OPERAND_TYPE_NONE}},
{"DescriptorSet",
DecorationDescriptorSet,
- SPV_OPCODE_FLAGS_CAPABILITIES,
SPV_CAPABILITY_AS_MASK(CapabilityShader),
{SPV_OPERAND_TYPE_LITERAL_NUMBER, SPV_OPERAND_TYPE_NONE}},
{"Offset",
DecorationOffset,
- SPV_OPCODE_FLAGS_NONE,
0,
{SPV_OPERAND_TYPE_LITERAL_NUMBER, SPV_OPERAND_TYPE_NONE}},
{"XfbBuffer",
DecorationXfbBuffer,
- SPV_OPCODE_FLAGS_CAPABILITIES,
SPV_CAPABILITY_AS_MASK(CapabilityTransformFeedback),
{SPV_OPERAND_TYPE_LITERAL_NUMBER, SPV_OPERAND_TYPE_NONE}},
{"XfbStride",
DecorationXfbStride,
- SPV_OPCODE_FLAGS_CAPABILITIES,
SPV_CAPABILITY_AS_MASK(CapabilityTransformFeedback),
{SPV_OPERAND_TYPE_LITERAL_NUMBER, SPV_OPERAND_TYPE_NONE}},
{"FuncParamAttr",
DecorationFuncParamAttr,
- SPV_OPCODE_FLAGS_CAPABILITIES,
SPV_CAPABILITY_AS_MASK(CapabilityKernel),
{SPV_OPERAND_TYPE_FUNCTION_PARAMETER_ATTRIBUTE, SPV_OPERAND_TYPE_NONE}},
{"FPRoundingMode",
DecorationFPRoundingMode,
- SPV_OPCODE_FLAGS_CAPABILITIES,
SPV_CAPABILITY_AS_MASK(CapabilityKernel),
{SPV_OPERAND_TYPE_FP_ROUNDING_MODE, SPV_OPERAND_TYPE_NONE}},
{"FPFastMathMode",
DecorationFPFastMathMode,
- SPV_OPCODE_FLAGS_CAPABILITIES,
SPV_CAPABILITY_AS_MASK(CapabilityKernel),
{SPV_OPERAND_TYPE_FP_FAST_MATH_MODE, SPV_OPERAND_TYPE_NONE}},
{"LinkageAttributes",
DecorationLinkageAttributes,
- SPV_OPCODE_FLAGS_CAPABILITIES,
SPV_CAPABILITY_AS_MASK(CapabilityLinkage),
{SPV_OPERAND_TYPE_LITERAL_STRING, SPV_OPERAND_TYPE_LINKAGE_TYPE,
SPV_OPERAND_TYPE_NONE}},
{"NoContraction",
DecorationNoContraction,
- SPV_OPCODE_FLAGS_CAPABILITIES,
SPV_CAPABILITY_AS_MASK(CapabilityShader),
{SPV_OPERAND_TYPE_NONE}},
{"InputTargetIndex",
DecorationInputTargetIndex,
- SPV_OPCODE_FLAGS_CAPABILITIES,
SPV_CAPABILITY_AS_MASK(CapabilityShader), // TODO(dneto): Should this be
// CapabilityInputTarget?
{SPV_OPERAND_TYPE_NONE}}, // TODO(dneto): Should this have a literal
// number argument?
{"Alignment",
DecorationAlignment,
- SPV_OPCODE_FLAGS_CAPABILITIES,
SPV_CAPABILITY_AS_MASK(CapabilityKernel),
{SPV_OPERAND_TYPE_LITERAL_NUMBER, SPV_OPERAND_TYPE_NONE}},
};
@@ -835,219 +720,176 @@ static const spv_operand_desc_t decorationEntries[] = {
static const spv_operand_desc_t builtInEntries[] = {
{"Position",
BuiltInPosition,
- SPV_OPCODE_FLAGS_CAPABILITIES,
SPV_CAPABILITY_AS_MASK(CapabilityShader),
{SPV_OPERAND_TYPE_NONE}},
{"PointSize",
BuiltInPointSize,
- SPV_OPCODE_FLAGS_CAPABILITIES,
SPV_CAPABILITY_AS_MASK(CapabilityShader),
{SPV_OPERAND_TYPE_NONE}},
{"ClipDistance",
BuiltInClipDistance,
- SPV_OPCODE_FLAGS_CAPABILITIES,
SPV_CAPABILITY_AS_MASK(CapabilityShader),
{SPV_OPERAND_TYPE_NONE}},
{"CullDistance",
BuiltInCullDistance,
- SPV_OPCODE_FLAGS_CAPABILITIES,
SPV_CAPABILITY_AS_MASK(CapabilityShader),
{SPV_OPERAND_TYPE_NONE}},
{"VertexId",
BuiltInVertexId,
- SPV_OPCODE_FLAGS_CAPABILITIES,
SPV_CAPABILITY_AS_MASK(CapabilityShader),
{SPV_OPERAND_TYPE_NONE}},
{"InstanceId",
BuiltInInstanceId,
- SPV_OPCODE_FLAGS_CAPABILITIES,
SPV_CAPABILITY_AS_MASK(CapabilityShader),
{SPV_OPERAND_TYPE_NONE}},
{"PrimitiveId",
BuiltInPrimitiveId,
- SPV_OPCODE_FLAGS_CAPABILITIES,
SPV_CAPABILITY_AS_MASK(CapabilityGeometry) |
SPV_CAPABILITY_AS_MASK(CapabilityTessellation),
{SPV_OPERAND_TYPE_NONE}},
{"InvocationId",
BuiltInInvocationId,
- SPV_OPCODE_FLAGS_CAPABILITIES,
SPV_CAPABILITY_AS_MASK(CapabilityGeometry) |
SPV_CAPABILITY_AS_MASK(CapabilityTessellation),
{SPV_OPERAND_TYPE_NONE}},
{"Layer",
BuiltInLayer,
- SPV_OPCODE_FLAGS_CAPABILITIES,
SPV_CAPABILITY_AS_MASK(CapabilityGeometry),
{SPV_OPERAND_TYPE_NONE}},
{"ViewportIndex",
BuiltInViewportIndex,
- SPV_OPCODE_FLAGS_CAPABILITIES,
SPV_CAPABILITY_AS_MASK(CapabilityGeometry),
{SPV_OPERAND_TYPE_NONE}},
{"TessLevelOuter",
BuiltInTessLevelOuter,
- SPV_OPCODE_FLAGS_CAPABILITIES,
SPV_CAPABILITY_AS_MASK(CapabilityTessellation),
{SPV_OPERAND_TYPE_NONE}},
{"TessLevelInner",
BuiltInTessLevelInner,
- SPV_OPCODE_FLAGS_CAPABILITIES,
SPV_CAPABILITY_AS_MASK(CapabilityTessellation),
{SPV_OPERAND_TYPE_NONE}},
{"TessCoord",
BuiltInTessCoord,
- SPV_OPCODE_FLAGS_CAPABILITIES,
SPV_CAPABILITY_AS_MASK(CapabilityTessellation),
{SPV_OPERAND_TYPE_NONE}},
{"PatchVertices",
BuiltInPatchVertices,
- SPV_OPCODE_FLAGS_CAPABILITIES,
SPV_CAPABILITY_AS_MASK(CapabilityTessellation),
{SPV_OPERAND_TYPE_NONE}},
{"FragCoord",
BuiltInFragCoord,
- SPV_OPCODE_FLAGS_CAPABILITIES,
SPV_CAPABILITY_AS_MASK(CapabilityShader),
{SPV_OPERAND_TYPE_NONE}},
{"PointCoord",
BuiltInPointCoord,
- SPV_OPCODE_FLAGS_CAPABILITIES,
SPV_CAPABILITY_AS_MASK(CapabilityShader),
{SPV_OPERAND_TYPE_NONE}},
{"FrontFacing",
BuiltInFrontFacing,
- SPV_OPCODE_FLAGS_CAPABILITIES,
SPV_CAPABILITY_AS_MASK(CapabilityShader),
{SPV_OPERAND_TYPE_NONE}},
{"SampleId",
BuiltInSampleId,
- SPV_OPCODE_FLAGS_CAPABILITIES,
SPV_CAPABILITY_AS_MASK(CapabilityShader),
{SPV_OPERAND_TYPE_NONE}},
{"SamplePosition",
BuiltInSamplePosition,
- SPV_OPCODE_FLAGS_CAPABILITIES,
SPV_CAPABILITY_AS_MASK(CapabilityShader),
{SPV_OPERAND_TYPE_NONE}},
{"SampleMask",
BuiltInSampleMask,
- SPV_OPCODE_FLAGS_CAPABILITIES,
SPV_CAPABILITY_AS_MASK(CapabilityShader),
{SPV_OPERAND_TYPE_NONE}},
{"FragColor",
BuiltInFragColor,
- SPV_OPCODE_FLAGS_CAPABILITIES,
SPV_CAPABILITY_AS_MASK(CapabilityShader),
{SPV_OPERAND_TYPE_NONE}},
{"FragDepth",
BuiltInFragDepth,
- SPV_OPCODE_FLAGS_CAPABILITIES,
SPV_CAPABILITY_AS_MASK(CapabilityShader),
{SPV_OPERAND_TYPE_NONE}},
{"HelperInvocation",
BuiltInHelperInvocation,
- SPV_OPCODE_FLAGS_CAPABILITIES,
SPV_CAPABILITY_AS_MASK(CapabilityShader),
{SPV_OPERAND_TYPE_NONE}},
{"NumWorkgroups",
BuiltInNumWorkgroups,
- SPV_OPCODE_FLAGS_NONE,
0,
{SPV_OPERAND_TYPE_NONE}},
{"WorkgroupSize",
BuiltInWorkgroupSize,
- SPV_OPCODE_FLAGS_NONE,
0,
{SPV_OPERAND_TYPE_NONE}},
{"WorkgroupId",
BuiltInWorkgroupId,
- SPV_OPCODE_FLAGS_NONE,
0,
{SPV_OPERAND_TYPE_NONE}},
{"LocalInvocationId",
BuiltInLocalInvocationId,
- SPV_OPCODE_FLAGS_NONE,
0,
{SPV_OPERAND_TYPE_NONE}},
{"GlobalInvocationId",
BuiltInGlobalInvocationId,
- SPV_OPCODE_FLAGS_NONE,
0,
{SPV_OPERAND_TYPE_NONE}},
{"LocalInvocationIndex",
BuiltInLocalInvocationIndex,
- SPV_OPCODE_FLAGS_CAPABILITIES,
SPV_CAPABILITY_AS_MASK(CapabilityShader),
{SPV_OPERAND_TYPE_NONE}},
{"WorkDim",
BuiltInWorkDim,
- SPV_OPCODE_FLAGS_CAPABILITIES,
SPV_CAPABILITY_AS_MASK(CapabilityKernel),
{SPV_OPERAND_TYPE_NONE}},
{"GlobalSize",
BuiltInGlobalSize,
- SPV_OPCODE_FLAGS_CAPABILITIES,
SPV_CAPABILITY_AS_MASK(CapabilityKernel),
{SPV_OPERAND_TYPE_NONE}},
{"EnqueuedWorkgroupSize",
BuiltInEnqueuedWorkgroupSize,
- SPV_OPCODE_FLAGS_CAPABILITIES,
SPV_CAPABILITY_AS_MASK(CapabilityKernel),
{SPV_OPERAND_TYPE_NONE}},
{"GlobalOffset",
BuiltInGlobalOffset,
- SPV_OPCODE_FLAGS_CAPABILITIES,
SPV_CAPABILITY_AS_MASK(CapabilityKernel),
{SPV_OPERAND_TYPE_NONE}},
{"GlobalLinearId",
BuiltInGlobalLinearId,
- SPV_OPCODE_FLAGS_CAPABILITIES,
SPV_CAPABILITY_AS_MASK(CapabilityKernel),
{SPV_OPERAND_TYPE_NONE}},
{"WorkgroupLinearId",
BuiltInWorkgroupLinearId,
- SPV_OPCODE_FLAGS_CAPABILITIES,
SPV_CAPABILITY_AS_MASK(CapabilityKernel),
{SPV_OPERAND_TYPE_NONE}},
{"SubgroupSize",
BuiltInSubgroupSize,
- SPV_OPCODE_FLAGS_CAPABILITIES,
SPV_CAPABILITY_AS_MASK(CapabilityKernel),
{SPV_OPERAND_TYPE_NONE}},
{"SubgroupMaxSize",
BuiltInSubgroupMaxSize,
- SPV_OPCODE_FLAGS_CAPABILITIES,
SPV_CAPABILITY_AS_MASK(CapabilityKernel),
{SPV_OPERAND_TYPE_NONE}},
{"NumSubgroups",
BuiltInNumSubgroups,
- SPV_OPCODE_FLAGS_CAPABILITIES,
SPV_CAPABILITY_AS_MASK(CapabilityKernel),
{SPV_OPERAND_TYPE_NONE}},
{"NumEnqueuedSubgroups",
BuiltInNumEnqueuedSubgroups,
- SPV_OPCODE_FLAGS_CAPABILITIES,
SPV_CAPABILITY_AS_MASK(CapabilityKernel),
{SPV_OPERAND_TYPE_NONE}},
{"SubgroupId",
BuiltInSubgroupId,
- SPV_OPCODE_FLAGS_CAPABILITIES,
SPV_CAPABILITY_AS_MASK(CapabilityKernel),
{SPV_OPERAND_TYPE_NONE}},
{"SubgroupLocalInvocationId",
BuiltInSubgroupLocalInvocationId,
- SPV_OPCODE_FLAGS_CAPABILITIES,
SPV_CAPABILITY_AS_MASK(CapabilityKernel),
{SPV_OPERAND_TYPE_NONE}},
{"VertexIndex",
BuiltInVertexIndex,
- SPV_OPCODE_FLAGS_CAPABILITIES,
SPV_CAPABILITY_AS_MASK(CapabilityShader),
{SPV_OPERAND_TYPE_NONE}},
{"InstanceIndex",
BuiltInInstanceIndex,
- SPV_OPCODE_FLAGS_CAPABILITIES,
SPV_CAPABILITY_AS_MASK(CapabilityShader),
{SPV_OPERAND_TYPE_NONE}},
};
@@ -1055,17 +897,14 @@ static const spv_operand_desc_t builtInEntries[] = {
static const spv_operand_desc_t selectionControlEntries[] = {
{"None",
SelectionControlMaskNone,
- SPV_OPCODE_FLAGS_NONE,
0,
{SPV_OPERAND_TYPE_NONE}},
{"Flatten",
SelectionControlFlattenMask,
- SPV_OPCODE_FLAGS_NONE,
0,
{SPV_OPERAND_TYPE_NONE}},
{"DontFlatten",
SelectionControlDontFlattenMask,
- SPV_OPCODE_FLAGS_NONE,
0,
{SPV_OPERAND_TYPE_NONE}},
};
@@ -1073,17 +912,14 @@ static const spv_operand_desc_t selectionControlEntries[] = {
static const spv_operand_desc_t loopControlEntries[] = {
{"None",
LoopControlMaskNone,
- SPV_OPCODE_FLAGS_NONE,
0,
{SPV_OPERAND_TYPE_NONE}},
{"Unroll",
LoopControlUnrollMask,
- SPV_OPCODE_FLAGS_NONE,
0,
{SPV_OPERAND_TYPE_NONE}},
{"DontUnroll",
LoopControlDontUnrollMask,
- SPV_OPCODE_FLAGS_NONE,
0,
{SPV_OPERAND_TYPE_NONE}},
};
@@ -1091,27 +927,22 @@ static const spv_operand_desc_t loopControlEntries[] = {
static const spv_operand_desc_t functionControlEntries[] = {
{"None",
FunctionControlMaskNone,
- SPV_OPCODE_FLAGS_NONE,
0,
{SPV_OPERAND_TYPE_NONE}},
{"Inline",
FunctionControlInlineMask,
- SPV_OPCODE_FLAGS_NONE,
0,
{SPV_OPERAND_TYPE_NONE}},
{"DontInline",
FunctionControlDontInlineMask,
- SPV_OPCODE_FLAGS_NONE,
0,
{SPV_OPERAND_TYPE_NONE}},
{"Pure",
FunctionControlPureMask,
- SPV_OPCODE_FLAGS_NONE,
0,
{SPV_OPERAND_TYPE_NONE}},
{"Const",
FunctionControlConstMask,
- SPV_OPCODE_FLAGS_NONE,
0,
{SPV_OPERAND_TYPE_NONE}},
};
@@ -1122,58 +953,47 @@ static const spv_operand_desc_t memorySemanticsEntries[] = {
// will prefer to emit "Relaxed".
{"Relaxed",
MemorySemanticsMaskNone,
- SPV_OPCODE_FLAGS_NONE,
0,
{SPV_OPERAND_TYPE_NONE}},
{"None",
MemorySemanticsMaskNone,
- SPV_OPCODE_FLAGS_NONE,
0,
{SPV_OPERAND_TYPE_NONE}},
{"SequentiallyConsistent",
MemorySemanticsSequentiallyConsistentMask,
- SPV_OPCODE_FLAGS_NONE,
0,
{SPV_OPERAND_TYPE_NONE}},
{"Acquire",
MemorySemanticsAcquireMask,
- SPV_OPCODE_FLAGS_NONE,
0,
{SPV_OPERAND_TYPE_NONE}},
{"Release",
MemorySemanticsReleaseMask,
- SPV_OPCODE_FLAGS_NONE,
0,
{SPV_OPERAND_TYPE_NONE}},
{"UniformMemory",
MemorySemanticsUniformMemoryMask,
- SPV_OPCODE_FLAGS_CAPABILITIES,
SPV_CAPABILITY_AS_MASK(CapabilityShader),
{SPV_OPERAND_TYPE_NONE}},
{"SubgroupMemory",
MemorySemanticsSubgroupMemoryMask,
- SPV_OPCODE_FLAGS_NONE,
0,
{SPV_OPERAND_TYPE_NONE}},
{"WorkgroupLocalMemory",
MemorySemanticsWorkgroupLocalMemoryMask,
- SPV_OPCODE_FLAGS_NONE,
0,
{SPV_OPERAND_TYPE_NONE}},
{"WorkgroupGlobalMemory",
MemorySemanticsWorkgroupGlobalMemoryMask,
- SPV_OPCODE_FLAGS_NONE,
0,
{SPV_OPERAND_TYPE_NONE}},
{"AtomicCounterMemory",
MemorySemanticsAtomicCounterMemoryMask,
- SPV_OPCODE_FLAGS_CAPABILITIES,
SPV_CAPABILITY_AS_MASK(CapabilityShader),
{SPV_OPERAND_TYPE_NONE}},
{
"ImageMemory",
MemorySemanticsImageMemoryMask,
- SPV_OPCODE_FLAGS_NONE,
0,
{SPV_OPERAND_TYPE_NONE},
},
@@ -1182,24 +1002,20 @@ static const spv_operand_desc_t memorySemanticsEntries[] = {
static const spv_operand_desc_t memoryAccessEntries[] = {
{"None",
MemoryAccessMaskNone,
- SPV_OPCODE_FLAGS_NONE,
0,
{SPV_OPERAND_TYPE_NONE}},
{"Volatile",
MemoryAccessVolatileMask,
- SPV_OPCODE_FLAGS_NONE,
0,
{SPV_OPERAND_TYPE_NONE}},
{
"Aligned",
MemoryAccessAlignedMask,
- SPV_OPCODE_FLAGS_NONE,
0,
{SPV_OPERAND_TYPE_LITERAL_NUMBER, SPV_OPERAND_TYPE_NONE},
},
{"Nontemporal",
MemoryAccessNontemporalMask,
- SPV_OPCODE_FLAGS_NONE,
0,
{SPV_OPERAND_TYPE_NONE}},
};
@@ -1207,24 +1023,20 @@ static const spv_operand_desc_t memoryAccessEntries[] = {
static const spv_operand_desc_t scopeEntries[] = {
{"CrossDevice",
ScopeCrossDevice,
- SPV_OPCODE_FLAGS_NONE,
0,
{SPV_OPERAND_TYPE_NONE}},
- {"Device", ScopeDevice, SPV_OPCODE_FLAGS_NONE, 0, {SPV_OPERAND_TYPE_NONE}},
+ {"Device", ScopeDevice, 0, {SPV_OPERAND_TYPE_NONE}},
{"Workgroup",
ScopeWorkgroup,
- SPV_OPCODE_FLAGS_NONE,
0,
{SPV_OPERAND_TYPE_NONE}},
{"Subgroup",
ScopeSubgroup,
- SPV_OPCODE_FLAGS_NONE,
0,
{SPV_OPERAND_TYPE_NONE}},
{
"Invocation",
ScopeInvocation,
- SPV_OPCODE_FLAGS_NONE,
0,
{SPV_OPERAND_TYPE_NONE},
},
@@ -1233,17 +1045,14 @@ static const spv_operand_desc_t scopeEntries[] = {
static const spv_operand_desc_t groupOperationEntries[] = {
{"Reduce",
GroupOperationReduce,
- SPV_OPCODE_FLAGS_CAPABILITIES,
SPV_CAPABILITY_AS_MASK(CapabilityKernel),
{SPV_OPERAND_TYPE_NONE}},
{"InclusiveScan",
GroupOperationInclusiveScan,
- SPV_OPCODE_FLAGS_CAPABILITIES,
SPV_CAPABILITY_AS_MASK(CapabilityKernel),
{SPV_OPERAND_TYPE_NONE}},
{"ExclusiveScan",
GroupOperationExclusiveScan,
- SPV_OPCODE_FLAGS_CAPABILITIES,
SPV_CAPABILITY_AS_MASK(CapabilityKernel),
{SPV_OPERAND_TYPE_NONE}},
};
@@ -1251,17 +1060,14 @@ static const spv_operand_desc_t groupOperationEntries[] = {
static const spv_operand_desc_t kernelKernelEnqueueFlagssEntries[] = {
{"NoWait",
KernelEnqueueFlagsNoWait,
- SPV_OPCODE_FLAGS_CAPABILITIES,
SPV_CAPABILITY_AS_MASK(CapabilityKernel),
{SPV_OPERAND_TYPE_NONE}},
{"WaitKernel",
KernelEnqueueFlagsWaitKernel,
- SPV_OPCODE_FLAGS_CAPABILITIES,
SPV_CAPABILITY_AS_MASK(CapabilityKernel),
{SPV_OPERAND_TYPE_NONE}},
{"WaitWorkGroup",
KernelEnqueueFlagsWaitWorkGroup,
- SPV_OPCODE_FLAGS_CAPABILITIES,
SPV_CAPABILITY_AS_MASK(CapabilityKernel),
{SPV_OPERAND_TYPE_NONE}},
};
@@ -1269,31 +1075,26 @@ static const spv_operand_desc_t kernelKernelEnqueueFlagssEntries[] = {
static const spv_operand_desc_t kernelProfilingInfoEntries[] = {
{"None",
KernelProfilingInfoMaskNone,
- SPV_OPCODE_FLAGS_NONE,
0,
{SPV_OPERAND_TYPE_NONE}},
{"CmdExecTime",
KernelProfilingInfoCmdExecTimeMask,
- SPV_OPCODE_FLAGS_CAPABILITIES,
SPV_CAPABILITY_AS_MASK(CapabilityKernel),
{SPV_OPERAND_TYPE_NONE}},
};
// A macro for defining a capability that doesn't depend on another capability.
-#define CASE(NAME) \
- { \
- #NAME, Capability##NAME, SPV_OPCODE_FLAGS_NONE, 0, { \
- SPV_OPERAND_TYPE_NONE \
- } \
+#define CASE(NAME) \
+ { \
+ #NAME, Capability##NAME, 0, { SPV_OPERAND_TYPE_NONE } \
}
// A macro for defining a capability that depends on another.
-#define CASE_CAP(NAME, CAP) \
- { \
- #NAME, Capability##NAME, SPV_OPCODE_FLAGS_CAPABILITIES, \
- SPV_CAPABILITY_AS_MASK(Capability##CAP), { \
- SPV_OPERAND_TYPE_NONE \
- } \
+#define CASE_CAP(NAME, CAP) \
+ { \
+ #NAME, Capability##NAME, SPV_CAPABILITY_AS_MASK(Capability##CAP), { \
+ SPV_OPERAND_TYPE_NONE \
+ } \
}
static const spv_operand_desc_t capabilityInfoEntries[] = {