Update to Rev32 headers. Part 1.
Just enough fixes to code make it build and pass tests. Core changes: - Fix spelling for: NoPerspective, NonWritable, NonReadable, - Remove NoStaticUse, RelaxedMask GLSL changes: - Fixed spelling for: InverseSqrt, FaceForward, MatrixInverse, SmoothStep, FindILsb, FindSMsb, FindUMsb - Replace Mix with IMix and FMix - Remove AddCarry, SubBorrow, MulExtended Replace header OpenCLLib.h with OpenCL.std.h TODO: - Regenerate the core instruction syntax table (source/opcode.inc) - Add test coverage for new enums and instructions.
This commit is contained in:
Родитель
e0d351b3ad
Коммит
dbaf40718a
|
@ -28,7 +28,7 @@
|
|||
#define GLSLstd450_H
|
||||
|
||||
const int GLSLstd450Version = 99;
|
||||
const int GLSLstd450Revision = 2;
|
||||
const int GLSLstd450Revision = 3;
|
||||
|
||||
enum GLSLstd450 {
|
||||
GLSLstd450Bad = 0, // Don't use
|
||||
|
@ -82,47 +82,44 @@ enum GLSLstd450 {
|
|||
GLSLstd450FClamp = 43,
|
||||
GLSLstd450UClamp = 44,
|
||||
GLSLstd450SClamp = 45,
|
||||
GLSLstd450Mix = 46,
|
||||
GLSLstd450Step = 47,
|
||||
GLSLstd450SmoothStep = 48,
|
||||
GLSLstd450FMix = 46,
|
||||
GLSLstd450IMix = 47,
|
||||
GLSLstd450Step = 48,
|
||||
GLSLstd450SmoothStep = 49,
|
||||
|
||||
GLSLstd450Fma = 49,
|
||||
GLSLstd450Frexp = 50, // second operand needs an OpVariable to write to
|
||||
GLSLstd450FrexpStruct = 51, // no OpVariable operand
|
||||
GLSLstd450Ldexp = 52,
|
||||
GLSLstd450Fma = 50,
|
||||
GLSLstd450Frexp = 51, // second operand needs an OpVariable to write to
|
||||
GLSLstd450FrexpStruct = 52, // no OpVariable operand
|
||||
GLSLstd450Ldexp = 53,
|
||||
|
||||
GLSLstd450PackSnorm4x8 = 53,
|
||||
GLSLstd450PackUnorm4x8 = 54,
|
||||
GLSLstd450PackSnorm2x16 = 55,
|
||||
GLSLstd450PackUnorm2x16 = 56,
|
||||
GLSLstd450PackHalf2x16 = 57,
|
||||
GLSLstd450PackDouble2x32 = 58,
|
||||
GLSLstd450UnpackSnorm2x16 = 59,
|
||||
GLSLstd450UnpackUnorm2x16 = 60,
|
||||
GLSLstd450UnpackHalf2x16 = 61,
|
||||
GLSLstd450UnpackSnorm4x8 = 62,
|
||||
GLSLstd450UnpackUnorm4x8 = 63,
|
||||
GLSLstd450UnpackDouble2x32 = 64,
|
||||
GLSLstd450PackSnorm4x8 = 54,
|
||||
GLSLstd450PackUnorm4x8 = 55,
|
||||
GLSLstd450PackSnorm2x16 = 56,
|
||||
GLSLstd450PackUnorm2x16 = 57,
|
||||
GLSLstd450PackHalf2x16 = 58,
|
||||
GLSLstd450PackDouble2x32 = 59,
|
||||
GLSLstd450UnpackSnorm2x16 = 60,
|
||||
GLSLstd450UnpackUnorm2x16 = 61,
|
||||
GLSLstd450UnpackHalf2x16 = 62,
|
||||
GLSLstd450UnpackSnorm4x8 = 63,
|
||||
GLSLstd450UnpackUnorm4x8 = 64,
|
||||
GLSLstd450UnpackDouble2x32 = 65,
|
||||
|
||||
GLSLstd450Length = 65,
|
||||
GLSLstd450Distance = 66,
|
||||
GLSLstd450Cross = 67,
|
||||
GLSLstd450Normalize = 68,
|
||||
GLSLstd450FaceForward = 69,
|
||||
GLSLstd450Reflect = 70,
|
||||
GLSLstd450Refract = 71,
|
||||
GLSLstd450Length = 66,
|
||||
GLSLstd450Distance = 67,
|
||||
GLSLstd450Cross = 68,
|
||||
GLSLstd450Normalize = 69,
|
||||
GLSLstd450FaceForward = 70,
|
||||
GLSLstd450Reflect = 71,
|
||||
GLSLstd450Refract = 72,
|
||||
|
||||
GLSLstd450FindILSB = 72,
|
||||
GLSLstd450FindSMSB = 73,
|
||||
GLSLstd450FindUMSB = 74,
|
||||
GLSLstd450FindILsb = 73,
|
||||
GLSLstd450FindSMsb = 74,
|
||||
GLSLstd450FindUMsb = 75,
|
||||
|
||||
GLSLstd450InterpolateAtCentroid = 75,
|
||||
GLSLstd450InterpolateAtSample = 76,
|
||||
GLSLstd450InterpolateAtOffset = 77,
|
||||
|
||||
GLSLstd450AddCarry = 78, // These three should move to the core instruction set
|
||||
GLSLstd450SubBorrow = 79,
|
||||
GLSLstd450MulExtended = 80,
|
||||
GLSLstd450InterpolateAtCentroid = 76,
|
||||
GLSLstd450InterpolateAtSample = 77,
|
||||
GLSLstd450InterpolateAtOffset = 78,
|
||||
|
||||
GLSLstd450Count
|
||||
};
|
||||
|
|
|
@ -25,7 +25,7 @@
|
|||
// This header is automatically generated by the same tool that creates
|
||||
// the Binary Section of the SPIR-V specification.
|
||||
|
||||
// Specification revision 31.
|
||||
// Specification revision 32.
|
||||
// Enumeration tokens for SPIR-V, in various styles:
|
||||
// C, C++, C++11, JSON, Lua, Python
|
||||
//
|
||||
|
@ -49,7 +49,7 @@ typedef unsigned int Id;
|
|||
|
||||
static const unsigned int MagicNumber = 0x07230203;
|
||||
static const unsigned int Version = 99;
|
||||
static const unsigned int Revision = 31;
|
||||
static const unsigned int Revision = 32;
|
||||
static const unsigned int OpCodeMask = 0xffff;
|
||||
static const unsigned int WordCountShift = 16;
|
||||
|
||||
|
@ -115,6 +115,7 @@ enum ExecutionMode {
|
|||
ExecutionModeOutputTriangleStrip = 29,
|
||||
ExecutionModeVecTypeHint = 30,
|
||||
ExecutionModeContractionOff = 31,
|
||||
ExecutionModeIndependentForwardProgress = 32,
|
||||
};
|
||||
|
||||
enum StorageClass {
|
||||
|
@ -127,6 +128,7 @@ enum StorageClass {
|
|||
StorageClassPrivateGlobal = 6,
|
||||
StorageClassFunction = 7,
|
||||
StorageClassGeneric = 8,
|
||||
StorageClassPushConstant = 9,
|
||||
StorageClassAtomicCounter = 10,
|
||||
StorageClassImage = 11,
|
||||
};
|
||||
|
@ -138,6 +140,7 @@ enum Dim {
|
|||
DimCube = 3,
|
||||
DimRect = 4,
|
||||
DimBuffer = 5,
|
||||
DimInputTarget = 6,
|
||||
};
|
||||
|
||||
enum SamplerAddressingMode {
|
||||
|
@ -245,6 +248,7 @@ enum ImageOperandsShift {
|
|||
ImageOperandsOffsetShift = 4,
|
||||
ImageOperandsConstOffsetsShift = 5,
|
||||
ImageOperandsSampleShift = 6,
|
||||
ImageOperandsMinLodShift = 7,
|
||||
};
|
||||
|
||||
enum ImageOperandsMask {
|
||||
|
@ -256,6 +260,7 @@ enum ImageOperandsMask {
|
|||
ImageOperandsOffsetMask = 0x00000010,
|
||||
ImageOperandsConstOffsetsMask = 0x00000020,
|
||||
ImageOperandsSampleMask = 0x00000040,
|
||||
ImageOperandsMinLodMask = 0x00000080,
|
||||
};
|
||||
|
||||
enum FPFastMathModeShift {
|
||||
|
@ -318,7 +323,7 @@ enum Decoration {
|
|||
DecorationCPacked = 10,
|
||||
DecorationBuiltIn = 11,
|
||||
DecorationSmooth = 12,
|
||||
DecorationNoperspective = 13,
|
||||
DecorationNoPerspective = 13,
|
||||
DecorationFlat = 14,
|
||||
DecorationPatch = 15,
|
||||
DecorationCentroid = 16,
|
||||
|
@ -329,10 +334,9 @@ enum Decoration {
|
|||
DecorationVolatile = 21,
|
||||
DecorationConstant = 22,
|
||||
DecorationCoherent = 23,
|
||||
DecorationNonwritable = 24,
|
||||
DecorationNonreadable = 25,
|
||||
DecorationNonWritable = 24,
|
||||
DecorationNonReadable = 25,
|
||||
DecorationUniform = 26,
|
||||
DecorationNoStaticUse = 27,
|
||||
DecorationSaturatedConversion = 28,
|
||||
DecorationStream = 29,
|
||||
DecorationLocation = 30,
|
||||
|
@ -347,6 +351,9 @@ enum Decoration {
|
|||
DecorationFPRoundingMode = 39,
|
||||
DecorationFPFastMathMode = 40,
|
||||
DecorationLinkageAttributes = 41,
|
||||
DecorationNoContraction = 42,
|
||||
DecorationInputTargetIndex = 43,
|
||||
DecorationAlignment = 44,
|
||||
};
|
||||
|
||||
enum BuiltIn {
|
||||
|
@ -391,6 +398,8 @@ enum BuiltIn {
|
|||
BuiltInNumEnqueuedSubgroups = 39,
|
||||
BuiltInSubgroupId = 40,
|
||||
BuiltInSubgroupLocalInvocationId = 41,
|
||||
BuiltInVertexIndex = 42,
|
||||
BuiltInInstanceIndex = 43,
|
||||
};
|
||||
|
||||
enum SelectionControlShift {
|
||||
|
@ -431,41 +440,41 @@ enum FunctionControlMask {
|
|||
};
|
||||
|
||||
enum MemorySemanticsShift {
|
||||
MemorySemanticsRelaxedShift = 0,
|
||||
MemorySemanticsSequentiallyConsistentShift = 1,
|
||||
MemorySemanticsAcquireShift = 2,
|
||||
MemorySemanticsReleaseShift = 3,
|
||||
MemorySemanticsUniformMemoryShift = 4,
|
||||
MemorySemanticsSubgroupMemoryShift = 5,
|
||||
MemorySemanticsWorkgroupLocalMemoryShift = 6,
|
||||
MemorySemanticsWorkgroupGlobalMemoryShift = 7,
|
||||
MemorySemanticsAtomicCounterMemoryShift = 8,
|
||||
MemorySemanticsImageMemoryShift = 9,
|
||||
MemorySemanticsAcquireShift = 0,
|
||||
MemorySemanticsReleaseShift = 1,
|
||||
MemorySemanticsSequentiallyConsistentShift = 2,
|
||||
MemorySemanticsUniformMemoryShift = 3,
|
||||
MemorySemanticsSubgroupMemoryShift = 4,
|
||||
MemorySemanticsWorkgroupLocalMemoryShift = 5,
|
||||
MemorySemanticsWorkgroupGlobalMemoryShift = 6,
|
||||
MemorySemanticsAtomicCounterMemoryShift = 7,
|
||||
MemorySemanticsImageMemoryShift = 8,
|
||||
};
|
||||
|
||||
enum MemorySemanticsMask {
|
||||
MemorySemanticsMaskNone = 0,
|
||||
MemorySemanticsRelaxedMask = 0x00000001,
|
||||
MemorySemanticsSequentiallyConsistentMask = 0x00000002,
|
||||
MemorySemanticsAcquireMask = 0x00000004,
|
||||
MemorySemanticsReleaseMask = 0x00000008,
|
||||
MemorySemanticsUniformMemoryMask = 0x00000010,
|
||||
MemorySemanticsSubgroupMemoryMask = 0x00000020,
|
||||
MemorySemanticsWorkgroupLocalMemoryMask = 0x00000040,
|
||||
MemorySemanticsWorkgroupGlobalMemoryMask = 0x00000080,
|
||||
MemorySemanticsAtomicCounterMemoryMask = 0x00000100,
|
||||
MemorySemanticsImageMemoryMask = 0x00000200,
|
||||
MemorySemanticsAcquireMask = 0x00000001,
|
||||
MemorySemanticsReleaseMask = 0x00000002,
|
||||
MemorySemanticsSequentiallyConsistentMask = 0x00000004,
|
||||
MemorySemanticsUniformMemoryMask = 0x00000008,
|
||||
MemorySemanticsSubgroupMemoryMask = 0x00000010,
|
||||
MemorySemanticsWorkgroupLocalMemoryMask = 0x00000020,
|
||||
MemorySemanticsWorkgroupGlobalMemoryMask = 0x00000040,
|
||||
MemorySemanticsAtomicCounterMemoryMask = 0x00000080,
|
||||
MemorySemanticsImageMemoryMask = 0x00000100,
|
||||
};
|
||||
|
||||
enum MemoryAccessShift {
|
||||
MemoryAccessVolatileShift = 0,
|
||||
MemoryAccessAlignedShift = 1,
|
||||
MemoryAccessNontemporalShift = 2,
|
||||
};
|
||||
|
||||
enum MemoryAccessMask {
|
||||
MemoryAccessMaskNone = 0,
|
||||
MemoryAccessVolatileMask = 0x00000001,
|
||||
MemoryAccessAlignedMask = 0x00000002,
|
||||
MemoryAccessNontemporalMask = 0x00000004,
|
||||
};
|
||||
|
||||
enum Scope {
|
||||
|
@ -534,11 +543,30 @@ enum Capability {
|
|||
CapabilityCullDistance = 33,
|
||||
CapabilityImageCubeArray = 34,
|
||||
CapabilitySampleRateShading = 35,
|
||||
CapabilityImageRect = 36,
|
||||
CapabilitySampledRect = 37,
|
||||
CapabilityGenericPointer = 38,
|
||||
CapabilityInt8 = 39,
|
||||
CapabilityInputTarget = 40,
|
||||
CapabilitySparseResidency = 41,
|
||||
CapabilityMinLod = 42,
|
||||
CapabilitySampled1D = 43,
|
||||
CapabilityImage1D = 44,
|
||||
CapabilitySampledCubeArray = 45,
|
||||
CapabilitySampledBuffer = 46,
|
||||
CapabilityImageBuffer = 47,
|
||||
CapabilityImageMSArray = 48,
|
||||
CapabilityAdvancedFormats = 49,
|
||||
CapabilityImageQuery = 50,
|
||||
CapabilityDerivativeControl = 51,
|
||||
CapabilityInterpolationFunction = 52,
|
||||
CapabilityTransformFeedback = 53,
|
||||
};
|
||||
|
||||
enum Op {
|
||||
OpNop = 0,
|
||||
OpUndef = 1,
|
||||
OpSourceContinued = 2,
|
||||
OpSource = 3,
|
||||
OpSourceExtension = 4,
|
||||
OpName = 5,
|
||||
|
@ -572,6 +600,7 @@ enum Op {
|
|||
OpTypeReserveId = 36,
|
||||
OpTypeQueue = 37,
|
||||
OpTypePipe = 38,
|
||||
OpTypeForwardPointer = 39,
|
||||
OpConstantTrue = 41,
|
||||
OpConstantFalse = 42,
|
||||
OpConstant = 43,
|
||||
|
@ -598,6 +627,7 @@ enum Op {
|
|||
OpPtrAccessChain = 67,
|
||||
OpArrayLength = 68,
|
||||
OpGenericPtrMemSemantics = 69,
|
||||
OpInBoundsPtrAccessChain = 70,
|
||||
OpDecorate = 71,
|
||||
OpMemberDecorate = 72,
|
||||
OpDecorationGroup = 73,
|
||||
|
@ -625,7 +655,6 @@ enum Op {
|
|||
OpImageDrefGather = 97,
|
||||
OpImageRead = 98,
|
||||
OpImageWrite = 99,
|
||||
OpImageQueryDim = 100,
|
||||
OpImageQueryFormat = 101,
|
||||
OpImageQueryOrder = 102,
|
||||
OpImageQuerySizeLod = 103,
|
||||
|
@ -674,7 +703,8 @@ enum Op {
|
|||
OpDot = 148,
|
||||
OpIAddCarry = 149,
|
||||
OpISubBorrow = 150,
|
||||
OpIMulExtended = 151,
|
||||
OpUMulExtended = 151,
|
||||
OpSMulExtended = 152,
|
||||
OpAny = 154,
|
||||
OpAll = 155,
|
||||
OpIsNan = 156,
|
||||
|
@ -811,16 +841,21 @@ enum Op {
|
|||
OpCaptureEventProfilingInfo = 302,
|
||||
OpGetDefaultQueue = 303,
|
||||
OpBuildNDRange = 304,
|
||||
|
||||
// These are new instructions, added so we can process
|
||||
// assembly tables from newer versions of doc.h.
|
||||
// TODO(dneto): This hack should be removed by upgrading
|
||||
// to Rev32 or later of the headers.
|
||||
OpSourceContinued = 305,
|
||||
OpTypeForwardPointer = 306,
|
||||
OpInBoundsPtrAccessChain = 307,
|
||||
OpUMulExtended = 308,
|
||||
OpSMulExtended = 309,
|
||||
OpImageSparseSampleImplicitLod = 305,
|
||||
OpImageSparseSampleExplicitLod = 306,
|
||||
OpImageSparseSampleDrefImplicitLod = 307,
|
||||
OpImageSparseSampleDrefExplicitLod = 308,
|
||||
OpImageSparseSampleProjImplicitLod = 309,
|
||||
OpImageSparseSampleProjExplicitLod = 310,
|
||||
OpImageSparseSampleProjDrefImplicitLod = 311,
|
||||
OpImageSparseSampleProjDrefExplicitLod = 312,
|
||||
OpImageSparseFetch = 313,
|
||||
OpImageSparseGather = 314,
|
||||
OpImageSparseDrefGather = 315,
|
||||
OpImageSparseTexelsResident = 316,
|
||||
OpNoLine = 317,
|
||||
OpAtomicFlagTestAndSet = 318,
|
||||
OpAtomicFlagClear = 319,
|
||||
};
|
||||
|
||||
// Overload operator| for mask bit combining
|
||||
|
|
|
@ -30,7 +30,7 @@
|
|||
#include <headers/spirv.hpp>
|
||||
#include <headers/spirv_operands.hpp>
|
||||
#include <headers/GLSL.std.450.h>
|
||||
#include <headers/OpenCLLib.h>
|
||||
#include <headers/OpenCL.std.h>
|
||||
|
||||
#ifdef __cplusplus
|
||||
using namespace spv;
|
||||
|
|
|
@ -47,11 +47,9 @@ static const spv_ext_inst_desc_t glslStd450Entries[] = {
|
|||
{GLSL450Inst1(Exp2)},
|
||||
{GLSL450Inst1(Log2)},
|
||||
{GLSL450Inst1(Sqrt)},
|
||||
// clang-format off
|
||||
{"Inversesqrt", GLSLstd450::GLSLstd450InverseSqrt, {SPV_OPERAND_TYPE_ID}},
|
||||
{GLSL450Inst1(InverseSqrt)},
|
||||
{GLSL450Inst1(Determinant)},
|
||||
{"Inverse", GLSLstd450::GLSLstd450MatrixInverse, {SPV_OPERAND_TYPE_ID}},
|
||||
// clang-format on
|
||||
{GLSL450Inst1(MatrixInverse)},
|
||||
{GLSL450Inst2(Modf)},
|
||||
{GLSL450Inst1(ModfStruct)},
|
||||
{GLSL450Inst2(FMin)},
|
||||
|
@ -63,11 +61,10 @@ static const spv_ext_inst_desc_t glslStd450Entries[] = {
|
|||
{GLSL450Inst3(FClamp)},
|
||||
{GLSL450Inst3(UClamp)},
|
||||
{GLSL450Inst3(SClamp)},
|
||||
{GLSL450Inst3(Mix)},
|
||||
{GLSL450Inst3(FMix)},
|
||||
{GLSL450Inst3(IMix)},
|
||||
{GLSL450Inst2(Step)},
|
||||
// clang-format off
|
||||
{"Smoothstep", GLSLstd450::GLSLstd450SmoothStep, {SPV_OPERAND_TYPE_ID, SPV_OPERAND_TYPE_ID, SPV_OPERAND_TYPE_ID}},
|
||||
// clang-format on
|
||||
{GLSL450Inst3(SmoothStep)},
|
||||
{GLSL450Inst3(Fma)},
|
||||
{GLSL450Inst2(Frexp)},
|
||||
{GLSL450Inst1(FrexpStruct)},
|
||||
|
@ -88,24 +85,15 @@ static const spv_ext_inst_desc_t glslStd450Entries[] = {
|
|||
{GLSL450Inst2(Distance)},
|
||||
{GLSL450Inst2(Cross)},
|
||||
{GLSL450Inst1(Normalize)},
|
||||
// clang-format off
|
||||
{"Faceforward", GLSLstd450::GLSLstd450FaceForward, {SPV_OPERAND_TYPE_ID, SPV_OPERAND_TYPE_ID, SPV_OPERAND_TYPE_ID}},
|
||||
// clang-format on
|
||||
{GLSL450Inst3(FaceForward)},
|
||||
{GLSL450Inst2(Reflect)},
|
||||
{GLSL450Inst3(Refract)},
|
||||
// clang-format off
|
||||
{"FindILsb", GLSLstd450::GLSLstd450FindILSB, {SPV_OPERAND_TYPE_ID}},
|
||||
{"FindSMsb", GLSLstd450::GLSLstd450FindSMSB, {SPV_OPERAND_TYPE_ID}},
|
||||
{"FindUMsb", GLSLstd450::GLSLstd450FindUMSB, {SPV_OPERAND_TYPE_ID}},
|
||||
// clang-format on
|
||||
{GLSL450Inst1(FindILsb)},
|
||||
{GLSL450Inst1(FindSMsb)},
|
||||
{GLSL450Inst1(FindUMsb)},
|
||||
{GLSL450Inst1(InterpolateAtCentroid)},
|
||||
{GLSL450Inst2(InterpolateAtSample)},
|
||||
{GLSL450Inst2(InterpolateAtOffset)},
|
||||
// clang-format off
|
||||
{"UaddCarry", GLSLstd450::GLSLstd450AddCarry, {SPV_OPERAND_TYPE_ID, SPV_OPERAND_TYPE_ID, SPV_OPERAND_TYPE_ID}},
|
||||
{"UsubBorrow", GLSLstd450::GLSLstd450SubBorrow, {SPV_OPERAND_TYPE_ID, SPV_OPERAND_TYPE_ID, SPV_OPERAND_TYPE_ID}},
|
||||
{"UmulExtended", GLSLstd450::GLSLstd450MulExtended, { SPV_OPERAND_TYPE_ID, SPV_OPERAND_TYPE_ID, SPV_OPERAND_TYPE_ID, SPV_OPERAND_TYPE_ID}},
|
||||
// clang-format on
|
||||
};
|
||||
|
||||
static const spv_ext_inst_desc_t openclStd12Entries[] = {
|
||||
|
|
|
@ -689,8 +689,8 @@ static const spv_operand_desc_t decorationEntries[] = {
|
|||
SPV_OPCODE_FLAGS_CAPABILITIES,
|
||||
CapabilityShader,
|
||||
{SPV_OPERAND_TYPE_NONE}},
|
||||
{"Noperspective",
|
||||
DecorationNoperspective,
|
||||
{"NoPerspective",
|
||||
DecorationNoPerspective,
|
||||
SPV_OPCODE_FLAGS_CAPABILITIES,
|
||||
CapabilityShader,
|
||||
{SPV_OPERAND_TYPE_NONE}},
|
||||
|
@ -744,13 +744,13 @@ static const spv_operand_desc_t decorationEntries[] = {
|
|||
SPV_OPCODE_FLAGS_NONE,
|
||||
0,
|
||||
{SPV_OPERAND_TYPE_NONE}},
|
||||
{"Nonwritable",
|
||||
DecorationNonwritable,
|
||||
{"NonWritable",
|
||||
DecorationNonWritable,
|
||||
SPV_OPCODE_FLAGS_NONE,
|
||||
0,
|
||||
{SPV_OPERAND_TYPE_NONE}},
|
||||
{"Nonreadable",
|
||||
DecorationNonreadable,
|
||||
{"NonReadable",
|
||||
DecorationNonReadable,
|
||||
SPV_OPCODE_FLAGS_NONE,
|
||||
0,
|
||||
{SPV_OPERAND_TYPE_NONE}},
|
||||
|
@ -759,11 +759,6 @@ static const spv_operand_desc_t decorationEntries[] = {
|
|||
SPV_OPCODE_FLAGS_CAPABILITIES,
|
||||
CapabilityShader,
|
||||
{SPV_OPERAND_TYPE_NONE}},
|
||||
{"NoStaticUse",
|
||||
DecorationNoStaticUse,
|
||||
SPV_OPCODE_FLAGS_NONE,
|
||||
0,
|
||||
{SPV_OPERAND_TYPE_NONE}},
|
||||
{"SaturatedConversion",
|
||||
DecorationSaturatedConversion,
|
||||
SPV_OPCODE_FLAGS_CAPABILITIES,
|
||||
|
@ -1114,11 +1109,6 @@ static const spv_operand_desc_t memorySemanticsEntries[] = {
|
|||
SPV_OPCODE_FLAGS_NONE,
|
||||
0,
|
||||
{SPV_OPERAND_TYPE_NONE}},
|
||||
{"Relaxed",
|
||||
MemorySemanticsRelaxedMask,
|
||||
SPV_OPCODE_FLAGS_NONE,
|
||||
0,
|
||||
{SPV_OPERAND_TYPE_NONE}},
|
||||
{"SequentiallyConsistent",
|
||||
MemorySemanticsSequentiallyConsistentMask,
|
||||
SPV_OPCODE_FLAGS_NONE,
|
||||
|
|
|
@ -169,9 +169,9 @@ INSTANTIATE_TEST_CASE_P(
|
|||
{kF32Type, kF32Const, "%4", "Exp2", "%5", 29, 6, {5}},
|
||||
{kF32Type, kF32Const, "%4", "Log2", "%5", 30, 6, {5}},
|
||||
{kF32Type, kF32Const, "%4", "Sqrt", "%5", 31, 6, {5}},
|
||||
{kF32Type, kF32Const, "%4", "Inversesqrt", "%5", 32, 6, {5}},
|
||||
{kF32Type, kF32Const, "%4", "InverseSqrt", "%5", 32, 6, {5}},
|
||||
{kF32Type, kF32Const, "%4", "Determinant", "%5", 33, 6, {5}},
|
||||
{kF32Type, kF32Const, "%4", "Inverse", "%5", 34, 6, {5}},
|
||||
{kF32Type, kF32Const, "%4", "MatrixInverse", "%5", 34, 6, {5}},
|
||||
{kF32Type, kF32Const, "%4", "Modf", "%5 %5", 35, 7, {5, 5}},
|
||||
{kF32Type, kF32Const, "%4", "ModfStruct", "%5", 36, 6, {5}},
|
||||
{kF32Type, kF32Const, "%4", "FMin", "%5 %5", 37, 7, {5, 5}},
|
||||
|
@ -183,46 +183,42 @@ INSTANTIATE_TEST_CASE_P(
|
|||
{kF32Type, kF32Const, "%4", "FClamp", "%5 %5 %5", 43, 8, {5, 5, 5}},
|
||||
{kU32Type, kI32Const, "%4", "UClamp", "%5 %5 %5", 44, 8, {5, 5, 5}},
|
||||
{kS32Type, kI32Const, "%4", "SClamp", "%5 %5 %5", 45, 8, {5, 5, 5}},
|
||||
{kF32Type, kF32Const, "%4", "Mix", "%5 %5 %5", 46, 8, {5, 5, 5}},
|
||||
{kF32Type, kF32Const, "%4", "Step", "%5 %5", 47, 7, {5, 5}},
|
||||
{kF32Type, kF32Const, "%4", "Smoothstep", "%5 %5 %5", 48, 8, {5, 5, 5}},
|
||||
{kF32Type, kF32Const, "%4", "Fma", "%5 %5 %5", 49, 8, {5, 5, 5}},
|
||||
{kF32Type, kF32Const, "%4", "Frexp", "%5 %5", 50, 7, {5, 5}},
|
||||
{kF32Type, kF32Const, "%4", "FrexpStruct", "%5", 51, 6, {5}},
|
||||
{kF32Type, kF32Const, "%4", "Ldexp", "%5 %5", 52, 7, {5, 5}},
|
||||
{kF32Type, kF32Const, "%4", "PackSnorm4x8", "%5", 53, 6, {5}},
|
||||
{kF32Type, kF32Const, "%4", "PackUnorm4x8", "%5", 54, 6, {5}},
|
||||
{kF32Type, kF32Const, "%4", "PackSnorm2x16", "%5", 55, 6, {5}},
|
||||
{kF32Type, kF32Const, "%4", "PackUnorm2x16", "%5", 56, 6, {5}},
|
||||
{kF32Type, kF32Const, "%4", "PackHalf2x16", "%5", 57, 6, {5}},
|
||||
{kF32Type, kF32Const, "%4", "PackDouble2x32", "%5", 58, 6, {5}},
|
||||
{kF32Type, kF32Const, "%4", "UnpackSnorm2x16", "%5", 59, 6, {5}},
|
||||
{kF32Type, kF32Const, "%4", "UnpackUnorm2x16", "%5", 60, 6, {5}},
|
||||
{kF32Type, kF32Const, "%4", "UnpackHalf2x16", "%5", 61, 6, {5}},
|
||||
{kF32Type, kF32Const, "%4", "UnpackSnorm4x8", "%5", 62, 6, {5}},
|
||||
{kF32Type, kF32Const, "%4", "UnpackUnorm4x8", "%5", 63, 6, {5}},
|
||||
{kF32Type, kF32Const, "%4", "UnpackDouble2x32", "%5", 64, 6, {5}},
|
||||
{kF32Type, kF32Const, "%4", "Length", "%5", 65, 6, {5}},
|
||||
{kF32Type, kF32Const, "%4", "Distance", "%5 %5", 66, 7, {5, 5}},
|
||||
{kF32Type, kF32Const, "%4", "Cross", "%5 %5", 67, 7, {5, 5}},
|
||||
{kF32Type, kF32Const, "%4", "Normalize", "%5", 68, 6, {5}},
|
||||
{kF32Type, kF32Const, "%4", "FMix", "%5 %5 %5", 46, 8, {5, 5, 5}},
|
||||
{kF32Type, kF32Const, "%4", "IMix", "%5 %5 %5", 47, 8, {5, 5, 5}},
|
||||
{kF32Type, kF32Const, "%4", "Step", "%5 %5", 48, 7, {5, 5}},
|
||||
{kF32Type, kF32Const, "%4", "SmoothStep", "%5 %5 %5", 49, 8, {5, 5, 5}},
|
||||
{kF32Type, kF32Const, "%4", "Fma", "%5 %5 %5", 50, 8, {5, 5, 5}},
|
||||
{kF32Type, kF32Const, "%4", "Frexp", "%5 %5", 51, 7, {5, 5}},
|
||||
{kF32Type, kF32Const, "%4", "FrexpStruct", "%5", 52, 6, {5}},
|
||||
{kF32Type, kF32Const, "%4", "Ldexp", "%5 %5", 53, 7, {5, 5}},
|
||||
{kF32Type, kF32Const, "%4", "PackSnorm4x8", "%5", 54, 6, {5}},
|
||||
{kF32Type, kF32Const, "%4", "PackUnorm4x8", "%5", 55, 6, {5}},
|
||||
{kF32Type, kF32Const, "%4", "PackSnorm2x16", "%5", 56, 6, {5}},
|
||||
{kF32Type, kF32Const, "%4", "PackUnorm2x16", "%5", 57, 6, {5}},
|
||||
{kF32Type, kF32Const, "%4", "PackHalf2x16", "%5", 58, 6, {5}},
|
||||
{kF32Type, kF32Const, "%4", "PackDouble2x32", "%5", 59, 6, {5}},
|
||||
{kF32Type, kF32Const, "%4", "UnpackSnorm2x16", "%5", 60, 6, {5}},
|
||||
{kF32Type, kF32Const, "%4", "UnpackUnorm2x16", "%5", 61, 6, {5}},
|
||||
{kF32Type, kF32Const, "%4", "UnpackHalf2x16", "%5", 62, 6, {5}},
|
||||
{kF32Type, kF32Const, "%4", "UnpackSnorm4x8", "%5", 63, 6, {5}},
|
||||
{kF32Type, kF32Const, "%4", "UnpackUnorm4x8", "%5", 64, 6, {5}},
|
||||
{kF32Type, kF32Const, "%4", "UnpackDouble2x32", "%5", 65, 6, {5}},
|
||||
{kF32Type, kF32Const, "%4", "Length", "%5", 66, 6, {5}},
|
||||
{kF32Type, kF32Const, "%4", "Distance", "%5 %5", 67, 7, {5, 5}},
|
||||
{kF32Type, kF32Const, "%4", "Cross", "%5 %5", 68, 7, {5, 5}},
|
||||
{kF32Type, kF32Const, "%4", "Normalize", "%5", 69, 6, {5}},
|
||||
// clang-format off
|
||||
{kF32Type, kF32Const, "%4", "Faceforward", "%5 %5 %5", 69, 8, {5, 5, 5}},
|
||||
{kF32Type, kF32Const, "%4", "FaceForward", "%5 %5 %5", 70, 8, {5, 5, 5}},
|
||||
// clang-format on
|
||||
{kF32Type, kF32Const, "%4", "Reflect", "%5 %5", 70, 7, {5, 5}},
|
||||
{kF32Type, kF32Const, "%4", "Refract", "%5 %5 %5", 71, 8, {5, 5, 5}},
|
||||
{kS32Type, kI32Const, "%4", "FindILsb", "%5", 72, 6, {5}},
|
||||
{kS32Type, kI32Const, "%4", "FindSMsb", "%5", 73, 6, {5}},
|
||||
{kU32Type, kI32Const, "%4", "FindUMsb", "%5", 74, 6, {5}},
|
||||
{kF32Type, kF32Const, "%4", "InterpolateAtCentroid", "%5", 75, 6, {5}},
|
||||
{kF32Type, kF32Const, "%4", "Reflect", "%5 %5", 71, 7, {5, 5}},
|
||||
{kF32Type, kF32Const, "%4", "Refract", "%5 %5 %5", 72, 8, {5, 5, 5}},
|
||||
{kS32Type, kI32Const, "%4", "FindILsb", "%5", 73, 6, {5}},
|
||||
{kS32Type, kI32Const, "%4", "FindSMsb", "%5", 74, 6, {5}},
|
||||
{kU32Type, kI32Const, "%4", "FindUMsb", "%5", 75, 6, {5}},
|
||||
{kF32Type, kF32Const, "%4", "InterpolateAtCentroid", "%5", 76, 6, {5}},
|
||||
// clang-format off
|
||||
{kF32Type, kF32Const, "%4", "InterpolateAtSample", "%5 %5", 76, 7, {5, 5}},
|
||||
{kF32Type, kF32Const, "%4", "InterpolateAtOffset", "%5 %5", 77, 7, {5, 5}},
|
||||
// clang-format on
|
||||
{kU32Type, kI32Const, "%4", "UaddCarry", "%5 %5 %5", 78, 8, {5, 5, 5}},
|
||||
{kU32Type, kI32Const, "%4", "UsubBorrow", "%5 %5 %5", 79, 8, {5, 5, 5}},
|
||||
// clang-format off
|
||||
{kU32Type, kI32Const, "%4", "UmulExtended", "%5 %5 %5 %5", 80, 9, {5, 5, 5, 5}},
|
||||
{kF32Type, kF32Const, "%4", "InterpolateAtSample", "%5 %5", 77, 7, {5, 5}},
|
||||
{kF32Type, kF32Const, "%4", "InterpolateAtOffset", "%5 %5", 78, 7, {5, 5}},
|
||||
// clang-format on
|
||||
})));
|
||||
|
||||
|
|
|
@ -86,7 +86,7 @@ INSTANTIATE_TEST_CASE_P(TextToBinaryDecorateSimple, OpDecorateSimpleTest,
|
|||
{CASE(GLSLPacked), {}},
|
||||
{CASE(CPacked), {}},
|
||||
{CASE(Smooth), {}},
|
||||
{CASE(Noperspective), {}},
|
||||
{CASE(NoPerspective), {}},
|
||||
{CASE(Flat), {}},
|
||||
{CASE(Patch), {}},
|
||||
{CASE(Centroid), {}},
|
||||
|
@ -97,10 +97,9 @@ INSTANTIATE_TEST_CASE_P(TextToBinaryDecorateSimple, OpDecorateSimpleTest,
|
|||
{CASE(Volatile), {}},
|
||||
{CASE(Constant), {}},
|
||||
{CASE(Coherent), {}},
|
||||
{CASE(Nonwritable), {}},
|
||||
{CASE(Nonreadable), {}},
|
||||
{CASE(NonWritable), {}},
|
||||
{CASE(NonReadable), {}},
|
||||
{CASE(Uniform), {}},
|
||||
{CASE(NoStaticUse), {}},
|
||||
{CASE(SaturatedConversion), {}},
|
||||
{CASE(Stream), {2}},
|
||||
{CASE(Location), {6}},
|
||||
|
|
Загрузка…
Ссылка в новой задаче