Skip to content
Projects
Groups
Snippets
Help
This project
Loading...
Sign in / Register
Toggle navigation
G
glslang
Project
Overview
Details
Activity
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
Chen Yisong
glslang
Commits
6726cccc
Commit
6726cccc
authored
Aug 06, 2015
by
John Kessenich
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
Add new SPIR-V 31 files.
parent
5e4b1242
Hide whitespace changes
Inline
Side-by-side
Showing
2 changed files
with
960 additions
and
0 deletions
+960
-0
GLSL.std.450.h
SPIRV/GLSL.std.450.h
+130
-0
spirv.hpp
SPIRV/spirv.hpp
+830
-0
No files found.
SPIRV/GLSL.std.450.h
0 → 100755
View file @
6726cccc
/*
** Copyright (c) 2014-2015 The Khronos Group Inc.
**
** Permission is hereby granted, free of charge, to any person obtaining a copy
** of this software and/or associated documentation files (the "Materials"),
** to deal in the Materials without restriction, including without limitation
** the rights to use, copy, modify, merge, publish, distribute, sublicense,
** and/or sell copies of the Materials, and to permit persons to whom the
** Materials are furnished to do so, subject to the following conditions:
**
** The above copyright notice and this permission notice shall be included in
** all copies or substantial portions of the Materials.
**
** MODIFICATIONS TO THIS FILE MAY MEAN IT NO LONGER ACCURATELY REFLECTS KHRONOS
** STANDARDS. THE UNMODIFIED, NORMATIVE VERSIONS OF KHRONOS SPECIFICATIONS AND
** HEADER INFORMATION ARE LOCATED AT https://www.khronos.org/registry/
**
** THE MATERIALS ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
** OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
** FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
** THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
** LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
** FROM,OUT OF OR IN CONNECTION WITH THE MATERIALS OR THE USE OR OTHER DEALINGS
** IN THE MATERIALS.
*/
#ifndef GLSLstd450_H
#define GLSLstd450_H
const
int
GLSLstd450Version
=
99
;
const
int
GLSLstd450Revision
=
2
;
enum
GLSLstd450
{
GLSLstd450Bad
=
0
,
// Don't use
GLSLstd450Round
=
1
,
GLSLstd450RoundEven
=
2
,
GLSLstd450Trunc
=
3
,
GLSLstd450FAbs
=
4
,
GLSLstd450SAbs
=
5
,
GLSLstd450FSign
=
6
,
GLSLstd450SSign
=
7
,
GLSLstd450Floor
=
8
,
GLSLstd450Ceil
=
9
,
GLSLstd450Fract
=
10
,
GLSLstd450Radians
=
11
,
GLSLstd450Degrees
=
12
,
GLSLstd450Sin
=
13
,
GLSLstd450Cos
=
14
,
GLSLstd450Tan
=
15
,
GLSLstd450Asin
=
16
,
GLSLstd450Acos
=
17
,
GLSLstd450Atan
=
18
,
GLSLstd450Sinh
=
19
,
GLSLstd450Cosh
=
20
,
GLSLstd450Tanh
=
21
,
GLSLstd450Asinh
=
22
,
GLSLstd450Acosh
=
23
,
GLSLstd450Atanh
=
24
,
GLSLstd450Atan2
=
25
,
GLSLstd450Pow
=
26
,
GLSLstd450Exp
=
27
,
GLSLstd450Log
=
28
,
GLSLstd450Exp2
=
29
,
GLSLstd450Log2
=
30
,
GLSLstd450Sqrt
=
31
,
GLSLstd450InverseSqrt
=
32
,
GLSLstd450Determinant
=
33
,
GLSLstd450MatrixInverse
=
34
,
GLSLstd450Modf
=
35
,
// second operand needs an OpVariable to write to
GLSLstd450ModfStruct
=
36
,
// no OpVariable operand
GLSLstd450FMin
=
37
,
GLSLstd450UMin
=
38
,
GLSLstd450SMin
=
39
,
GLSLstd450FMax
=
40
,
GLSLstd450UMax
=
41
,
GLSLstd450SMax
=
42
,
GLSLstd450FClamp
=
43
,
GLSLstd450UClamp
=
44
,
GLSLstd450SClamp
=
45
,
GLSLstd450Mix
=
46
,
GLSLstd450Step
=
47
,
GLSLstd450SmoothStep
=
48
,
GLSLstd450Fma
=
49
,
GLSLstd450Frexp
=
50
,
// second operand needs an OpVariable to write to
GLSLstd450FrexpStruct
=
51
,
// no OpVariable operand
GLSLstd450Ldexp
=
52
,
GLSLstd450PackSnorm4x8
=
53
,
GLSLstd450PackUnorm4x8
=
54
,
GLSLstd450PackSnorm2x16
=
55
,
GLSLstd450PackUnorm2x16
=
56
,
GLSLstd450PackHalf2x16
=
57
,
GLSLstd450PackDouble2x32
=
58
,
GLSLstd450UnpackSnorm2x16
=
59
,
GLSLstd450UnpackUnorm2x16
=
60
,
GLSLstd450UnpackHalf2x16
=
61
,
GLSLstd450UnpackSnorm4x8
=
62
,
GLSLstd450UnpackUnorm4x8
=
63
,
GLSLstd450UnpackDouble2x32
=
64
,
GLSLstd450Length
=
65
,
GLSLstd450Distance
=
66
,
GLSLstd450Cross
=
67
,
GLSLstd450Normalize
=
68
,
GLSLstd450FaceForward
=
69
,
GLSLstd450Reflect
=
70
,
GLSLstd450Refract
=
71
,
GLSLstd450FindILSB
=
72
,
GLSLstd450FindSMSB
=
73
,
GLSLstd450FindUMSB
=
74
,
GLSLstd450InterpolateAtCentroid
=
75
,
GLSLstd450InterpolateAtSample
=
76
,
GLSLstd450InterpolateAtOffset
=
77
,
GLSLstd450AddCarry
=
78
,
// These three should move to the core instruction set
GLSLstd450SubBorrow
=
79
,
GLSLstd450MulExtended
=
80
,
GLSLstd450Count
};
#endif // #ifndef GLSLstd450_H
SPIRV/spirv.hpp
0 → 100755
View file @
6726cccc
// Copyright (c) 2014-2015 The Khronos Group Inc.
//
// Permission is hereby granted, free of charge, to any person obtaining a copy
// of this software and/or associated documentation files (the "Materials"),
// to deal in the Materials without restriction, including without limitation
// the rights to use, copy, modify, merge, publish, distribute, sublicense,
// and/or sell copies of the Materials, and to permit persons to whom the
// Materials are furnished to do so, subject to the following conditions:
//
// The above copyright notice and this permission notice shall be included in
// all copies or substantial portions of the Materials.
//
// MODIFICATIONS TO THIS FILE MAY MEAN IT NO LONGER ACCURATELY REFLECTS KHRONOS
// STANDARDS. THE UNMODIFIED, NORMATIVE VERSIONS OF KHRONOS SPECIFICATIONS AND
// HEADER INFORMATION ARE LOCATED AT https://www.khronos.org/registry/
//
// THE MATERIALS ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
// OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
// THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
// FROM,OUT OF OR IN CONNECTION WITH THE MATERIALS OR THE USE OR OTHER DEALINGS
// IN THE MATERIALS.
// This header is automatically generated by the same tool that creates
// the Binary Section of the SPIR-V specification.
// Specification revision 31.
// Enumeration tokens for SPIR-V, in various styles:
// C, C++, C++11, JSON, Lua, Python
//
// - C will have tokens with a "Spv" prefix, e.g.: SpvSourceLanguageGLSL
// - C++ will have tokens in the "spv" name space, e.g.: spv::SourceLanguageGLSL
// - C++11 will use enum classes in the spv namespace, e.g.: spv::SourceLanguage::GLSL
// - Lua will use tables, e.g.: spv.SourceLanguage.GLSL
// - Python will use dictionaries, e.g.: spv['SourceLanguage']['GLSL']
//
// Some tokens act like mask values, which can be OR'd together,
// while others are mutually exclusive. The mask-like ones have
// "Mask" in their name, and a parallel enum that has the shift
// amount (1 << x) for each corresponding enumerant.
#ifndef spirv_H
#define spirv_H
namespace
spv
{
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
OpCodeMask
=
0xffff
;
static
const
unsigned
int
WordCountShift
=
16
;
enum
SourceLanguage
{
SourceLanguageUnknown
=
0
,
SourceLanguageESSL
=
1
,
SourceLanguageGLSL
=
2
,
SourceLanguageOpenCL
=
3
,
};
enum
ExecutionModel
{
ExecutionModelVertex
=
0
,
ExecutionModelTessellationControl
=
1
,
ExecutionModelTessellationEvaluation
=
2
,
ExecutionModelGeometry
=
3
,
ExecutionModelFragment
=
4
,
ExecutionModelGLCompute
=
5
,
ExecutionModelKernel
=
6
,
};
enum
AddressingModel
{
AddressingModelLogical
=
0
,
AddressingModelPhysical32
=
1
,
AddressingModelPhysical64
=
2
,
};
enum
MemoryModel
{
MemoryModelSimple
=
0
,
MemoryModelGLSL450
=
1
,
MemoryModelOpenCL
=
2
,
};
enum
ExecutionMode
{
ExecutionModeInvocations
=
0
,
ExecutionModeSpacingEqual
=
1
,
ExecutionModeSpacingFractionalEven
=
2
,
ExecutionModeSpacingFractionalOdd
=
3
,
ExecutionModeVertexOrderCw
=
4
,
ExecutionModeVertexOrderCcw
=
5
,
ExecutionModePixelCenterInteger
=
6
,
ExecutionModeOriginUpperLeft
=
7
,
ExecutionModeOriginLowerLeft
=
8
,
ExecutionModeEarlyFragmentTests
=
9
,
ExecutionModePointMode
=
10
,
ExecutionModeXfb
=
11
,
ExecutionModeDepthReplacing
=
12
,
ExecutionModeDepthAny
=
13
,
ExecutionModeDepthGreater
=
14
,
ExecutionModeDepthLess
=
15
,
ExecutionModeDepthUnchanged
=
16
,
ExecutionModeLocalSize
=
17
,
ExecutionModeLocalSizeHint
=
18
,
ExecutionModeInputPoints
=
19
,
ExecutionModeInputLines
=
20
,
ExecutionModeInputLinesAdjacency
=
21
,
ExecutionModeInputTriangles
=
22
,
ExecutionModeInputTrianglesAdjacency
=
23
,
ExecutionModeInputQuads
=
24
,
ExecutionModeInputIsolines
=
25
,
ExecutionModeOutputVertices
=
26
,
ExecutionModeOutputPoints
=
27
,
ExecutionModeOutputLineStrip
=
28
,
ExecutionModeOutputTriangleStrip
=
29
,
ExecutionModeVecTypeHint
=
30
,
ExecutionModeContractionOff
=
31
,
};
enum
StorageClass
{
StorageClassUniformConstant
=
0
,
StorageClassInput
=
1
,
StorageClassUniform
=
2
,
StorageClassOutput
=
3
,
StorageClassWorkgroupLocal
=
4
,
StorageClassWorkgroupGlobal
=
5
,
StorageClassPrivateGlobal
=
6
,
StorageClassFunction
=
7
,
StorageClassGeneric
=
8
,
StorageClassAtomicCounter
=
10
,
StorageClassImage
=
11
,
};
enum
Dim
{
Dim1D
=
0
,
Dim2D
=
1
,
Dim3D
=
2
,
DimCube
=
3
,
DimRect
=
4
,
DimBuffer
=
5
,
};
enum
SamplerAddressingMode
{
SamplerAddressingModeNone
=
0
,
SamplerAddressingModeClampToEdge
=
1
,
SamplerAddressingModeClamp
=
2
,
SamplerAddressingModeRepeat
=
3
,
SamplerAddressingModeRepeatMirrored
=
4
,
};
enum
SamplerFilterMode
{
SamplerFilterModeNearest
=
0
,
SamplerFilterModeLinear
=
1
,
};
enum
ImageFormat
{
ImageFormatUnknown
=
0
,
ImageFormatRgba32f
=
1
,
ImageFormatRgba16f
=
2
,
ImageFormatR32f
=
3
,
ImageFormatRgba8
=
4
,
ImageFormatRgba8Snorm
=
5
,
ImageFormatRg32f
=
6
,
ImageFormatRg16f
=
7
,
ImageFormatR11fG11fB10f
=
8
,
ImageFormatR16f
=
9
,
ImageFormatRgba16
=
10
,
ImageFormatRgb10A2
=
11
,
ImageFormatRg16
=
12
,
ImageFormatRg8
=
13
,
ImageFormatR16
=
14
,
ImageFormatR8
=
15
,
ImageFormatRgba16Snorm
=
16
,
ImageFormatRg16Snorm
=
17
,
ImageFormatRg8Snorm
=
18
,
ImageFormatR16Snorm
=
19
,
ImageFormatR8Snorm
=
20
,
ImageFormatRgba32i
=
21
,
ImageFormatRgba16i
=
22
,
ImageFormatRgba8i
=
23
,
ImageFormatR32i
=
24
,
ImageFormatRg32i
=
25
,
ImageFormatRg16i
=
26
,
ImageFormatRg8i
=
27
,
ImageFormatR16i
=
28
,
ImageFormatR8i
=
29
,
ImageFormatRgba32ui
=
30
,
ImageFormatRgba16ui
=
31
,
ImageFormatRgba8ui
=
32
,
ImageFormatR32ui
=
33
,
ImageFormatRgb10a2ui
=
34
,
ImageFormatRg32ui
=
35
,
ImageFormatRg16ui
=
36
,
ImageFormatRg8ui
=
37
,
ImageFormatR16ui
=
38
,
ImageFormatR8ui
=
39
,
};
enum
ImageChannelOrder
{
ImageChannelOrderR
=
0
,
ImageChannelOrderA
=
1
,
ImageChannelOrderRG
=
2
,
ImageChannelOrderRA
=
3
,
ImageChannelOrderRGB
=
4
,
ImageChannelOrderRGBA
=
5
,
ImageChannelOrderBGRA
=
6
,
ImageChannelOrderARGB
=
7
,
ImageChannelOrderIntensity
=
8
,
ImageChannelOrderLuminance
=
9
,
ImageChannelOrderRx
=
10
,
ImageChannelOrderRGx
=
11
,
ImageChannelOrderRGBx
=
12
,
ImageChannelOrderDepth
=
13
,
ImageChannelOrderDepthStencil
=
14
,
ImageChannelOrdersRGB
=
15
,
ImageChannelOrdersRGBx
=
16
,
ImageChannelOrdersRGBA
=
17
,
ImageChannelOrdersBGRA
=
18
,
};
enum
ImageChannelDataType
{
ImageChannelDataTypeSnormInt8
=
0
,
ImageChannelDataTypeSnormInt16
=
1
,
ImageChannelDataTypeUnormInt8
=
2
,
ImageChannelDataTypeUnormInt16
=
3
,
ImageChannelDataTypeUnormShort565
=
4
,
ImageChannelDataTypeUnormShort555
=
5
,
ImageChannelDataTypeUnormInt101010
=
6
,
ImageChannelDataTypeSignedInt8
=
7
,
ImageChannelDataTypeSignedInt16
=
8
,
ImageChannelDataTypeSignedInt32
=
9
,
ImageChannelDataTypeUnsignedInt8
=
10
,
ImageChannelDataTypeUnsignedInt16
=
11
,
ImageChannelDataTypeUnsignedInt32
=
12
,
ImageChannelDataTypeHalfFloat
=
13
,
ImageChannelDataTypeFloat
=
14
,
ImageChannelDataTypeUnormInt24
=
15
,
};
enum
ImageOperandsShift
{
ImageOperandsBiasShift
=
0
,
ImageOperandsLodShift
=
1
,
ImageOperandsGradShift
=
2
,
ImageOperandsConstOffsetShift
=
3
,
ImageOperandsOffsetShift
=
4
,
ImageOperandsConstOffsetsShift
=
5
,
ImageOperandsSampleShift
=
6
,
};
enum
ImageOperandsMask
{
ImageOperandsMaskNone
=
0
,
ImageOperandsBiasMask
=
0x00000001
,
ImageOperandsLodMask
=
0x00000002
,
ImageOperandsGradMask
=
0x00000004
,
ImageOperandsConstOffsetMask
=
0x00000008
,
ImageOperandsOffsetMask
=
0x00000010
,
ImageOperandsConstOffsetsMask
=
0x00000020
,
ImageOperandsSampleMask
=
0x00000040
,
};
enum
FPFastMathModeShift
{
FPFastMathModeNotNaNShift
=
0
,
FPFastMathModeNotInfShift
=
1
,
FPFastMathModeNSZShift
=
2
,
FPFastMathModeAllowRecipShift
=
3
,
FPFastMathModeFastShift
=
4
,
};
enum
FPFastMathModeMask
{
FPFastMathModeMaskNone
=
0
,
FPFastMathModeNotNaNMask
=
0x00000001
,
FPFastMathModeNotInfMask
=
0x00000002
,
FPFastMathModeNSZMask
=
0x00000004
,
FPFastMathModeAllowRecipMask
=
0x00000008
,
FPFastMathModeFastMask
=
0x00000010
,
};
enum
FPRoundingMode
{
FPRoundingModeRTE
=
0
,
FPRoundingModeRTZ
=
1
,
FPRoundingModeRTP
=
2
,
FPRoundingModeRTN
=
3
,
};
enum
LinkageType
{
LinkageTypeExport
=
0
,
LinkageTypeImport
=
1
,
};
enum
AccessQualifier
{
AccessQualifierReadOnly
=
0
,
AccessQualifierWriteOnly
=
1
,
AccessQualifierReadWrite
=
2
,
};
enum
FunctionParameterAttribute
{
FunctionParameterAttributeZext
=
0
,
FunctionParameterAttributeSext
=
1
,
FunctionParameterAttributeByVal
=
2
,
FunctionParameterAttributeSret
=
3
,
FunctionParameterAttributeNoAlias
=
4
,
FunctionParameterAttributeNoCapture
=
5
,
FunctionParameterAttributeNoWrite
=
6
,
FunctionParameterAttributeNoReadWrite
=
7
,
};
enum
Decoration
{
DecorationRelaxedPrecision
=
0
,
DecorationSpecId
=
1
,
DecorationBlock
=
2
,
DecorationBufferBlock
=
3
,
DecorationRowMajor
=
4
,
DecorationColMajor
=
5
,
DecorationArrayStride
=
6
,
DecorationMatrixStride
=
7
,
DecorationGLSLShared
=
8
,
DecorationGLSLPacked
=
9
,
DecorationCPacked
=
10
,
DecorationBuiltIn
=
11
,
DecorationSmooth
=
12
,
DecorationNoperspective
=
13
,
DecorationFlat
=
14
,
DecorationPatch
=
15
,
DecorationCentroid
=
16
,
DecorationSample
=
17
,
DecorationInvariant
=
18
,
DecorationRestrict
=
19
,
DecorationAliased
=
20
,
DecorationVolatile
=
21
,
DecorationConstant
=
22
,
DecorationCoherent
=
23
,
DecorationNonwritable
=
24
,
DecorationNonreadable
=
25
,
DecorationUniform
=
26
,
DecorationNoStaticUse
=
27
,
DecorationSaturatedConversion
=
28
,
DecorationStream
=
29
,
DecorationLocation
=
30
,
DecorationComponent
=
31
,
DecorationIndex
=
32
,
DecorationBinding
=
33
,
DecorationDescriptorSet
=
34
,
DecorationOffset
=
35
,
DecorationXfbBuffer
=
36
,
DecorationXfbStride
=
37
,
DecorationFuncParamAttr
=
38
,
DecorationFPRoundingMode
=
39
,
DecorationFPFastMathMode
=
40
,
DecorationLinkageAttributes
=
41
,
};
enum
BuiltIn
{
BuiltInPosition
=
0
,
BuiltInPointSize
=
1
,
BuiltInClipDistance
=
3
,
BuiltInCullDistance
=
4
,
BuiltInVertexId
=
5
,
BuiltInInstanceId
=
6
,
BuiltInPrimitiveId
=
7
,
BuiltInInvocationId
=
8
,
BuiltInLayer
=
9
,
BuiltInViewportIndex
=
10
,
BuiltInTessLevelOuter
=
11
,
BuiltInTessLevelInner
=
12
,
BuiltInTessCoord
=
13
,
BuiltInPatchVertices
=
14
,
BuiltInFragCoord
=
15
,
BuiltInPointCoord
=
16
,
BuiltInFrontFacing
=
17
,
BuiltInSampleId
=
18
,
BuiltInSamplePosition
=
19
,
BuiltInSampleMask
=
20
,
BuiltInFragColor
=
21
,
BuiltInFragDepth
=
22
,
BuiltInHelperInvocation
=
23
,
BuiltInNumWorkgroups
=
24
,
BuiltInWorkgroupSize
=
25
,
BuiltInWorkgroupId
=
26
,
BuiltInLocalInvocationId
=
27
,
BuiltInGlobalInvocationId
=
28
,
BuiltInLocalInvocationIndex
=
29
,
BuiltInWorkDim
=
30
,
BuiltInGlobalSize
=
31
,
BuiltInEnqueuedWorkgroupSize
=
32
,
BuiltInGlobalOffset
=
33
,
BuiltInGlobalLinearId
=
34
,
BuiltInWorkgroupLinearId
=
35
,
BuiltInSubgroupSize
=
36
,
BuiltInSubgroupMaxSize
=
37
,
BuiltInNumSubgroups
=
38
,
BuiltInNumEnqueuedSubgroups
=
39
,
BuiltInSubgroupId
=
40
,
BuiltInSubgroupLocalInvocationId
=
41
,
};
enum
SelectionControlShift
{
SelectionControlFlattenShift
=
0
,
SelectionControlDontFlattenShift
=
1
,
};
enum
SelectionControlMask
{
SelectionControlMaskNone
=
0
,
SelectionControlFlattenMask
=
0x00000001
,
SelectionControlDontFlattenMask
=
0x00000002
,
};
enum
LoopControlShift
{
LoopControlUnrollShift
=
0
,
LoopControlDontUnrollShift
=
1
,
};
enum
LoopControlMask
{
LoopControlMaskNone
=
0
,
LoopControlUnrollMask
=
0x00000001
,
LoopControlDontUnrollMask
=
0x00000002
,
};
enum
FunctionControlShift
{
FunctionControlInlineShift
=
0
,
FunctionControlDontInlineShift
=
1
,
FunctionControlPureShift
=
2
,
FunctionControlConstShift
=
3
,
};
enum
FunctionControlMask
{
FunctionControlMaskNone
=
0
,
FunctionControlInlineMask
=
0x00000001
,
FunctionControlDontInlineMask
=
0x00000002
,
FunctionControlPureMask
=
0x00000004
,
FunctionControlConstMask
=
0x00000008
,
};
enum
MemorySemanticsShift
{
MemorySemanticsRelaxedShift
=
0
,
MemorySemanticsSequentiallyConsistentShift
=
1
,
MemorySemanticsAcquireShift
=
2
,
MemorySemanticsReleaseShift
=
3
,
MemorySemanticsUniformMemoryShift
=
4
,
MemorySemanticsSubgroupMemoryShift
=
5
,
MemorySemanticsWorkgroupLocalMemoryShift
=
6
,
MemorySemanticsWorkgroupGlobalMemoryShift
=
7
,
MemorySemanticsAtomicCounterMemoryShift
=
8
,
MemorySemanticsImageMemoryShift
=
9
,
};
enum
MemorySemanticsMask
{
MemorySemanticsMaskNone
=
0
,
MemorySemanticsRelaxedMask
=
0x00000001
,
MemorySemanticsSequentiallyConsistentMask
=
0x00000002
,
MemorySemanticsAcquireMask
=
0x00000004
,
MemorySemanticsReleaseMask
=
0x00000008
,
MemorySemanticsUniformMemoryMask
=
0x00000010
,
MemorySemanticsSubgroupMemoryMask
=
0x00000020
,
MemorySemanticsWorkgroupLocalMemoryMask
=
0x00000040
,
MemorySemanticsWorkgroupGlobalMemoryMask
=
0x00000080
,
MemorySemanticsAtomicCounterMemoryMask
=
0x00000100
,
MemorySemanticsImageMemoryMask
=
0x00000200
,
};
enum
MemoryAccessShift
{
MemoryAccessVolatileShift
=
0
,
MemoryAccessAlignedShift
=
1
,
};
enum
MemoryAccessMask
{
MemoryAccessMaskNone
=
0
,
MemoryAccessVolatileMask
=
0x00000001
,
MemoryAccessAlignedMask
=
0x00000002
,
};
enum
Scope
{
ScopeCrossDevice
=
0
,
ScopeDevice
=
1
,
ScopeWorkgroup
=
2
,
ScopeSubgroup
=
3
,
ScopeInvocation
=
4
,
};
enum
GroupOperation
{
GroupOperationReduce
=
0
,
GroupOperationInclusiveScan
=
1
,
GroupOperationExclusiveScan
=
2
,
};
enum
KernelEnqueueFlags
{
KernelEnqueueFlagsNoWait
=
0
,
KernelEnqueueFlagsWaitKernel
=
1
,
KernelEnqueueFlagsWaitWorkGroup
=
2
,
};
enum
KernelProfilingInfoShift
{
KernelProfilingInfoCmdExecTimeShift
=
0
,
};
enum
KernelProfilingInfoMask
{
KernelProfilingInfoMaskNone
=
0
,
KernelProfilingInfoCmdExecTimeMask
=
0x00000001
,
};
enum
Capability
{
CapabilityMatrix
=
0
,
CapabilityShader
=
1
,
CapabilityGeometry
=
2
,
CapabilityTessellation
=
3
,
CapabilityAddresses
=
4
,
CapabilityLinkage
=
5
,
CapabilityKernel
=
6
,
CapabilityVector16
=
7
,
CapabilityFloat16Buffer
=
8
,
CapabilityFloat16
=
9
,
CapabilityFloat64
=
10
,
CapabilityInt64
=
11
,
CapabilityInt64Atomics
=
12
,
CapabilityImageBasic
=
13
,
CapabilityImageReadWrite
=
14
,
CapabilityImageMipmap
=
15
,
CapabilityImageSRGBWrite
=
16
,
CapabilityPipes
=
17
,
CapabilityGroups
=
18
,
CapabilityDeviceEnqueue
=
19
,
CapabilityLiteralSampler
=
20
,
CapabilityAtomicStorage
=
21
,
CapabilityInt16
=
22
,
CapabilityTessellationPointSize
=
23
,
CapabilityGeometryPointSize
=
24
,
CapabilityImageGatherExtended
=
25
,
CapabilityStorageImageExtendedFormats
=
26
,
CapabilityStorageImageMultisample
=
27
,
CapabilityUniformBufferArrayDynamicIndexing
=
28
,
CapabilitySampledImageArrayDynamicIndexing
=
29
,
CapabilityStorageBufferArrayDynamicIndexing
=
30
,
CapabilityStorageImageArrayDynamicIndexing
=
31
,
CapabilityClipDistance
=
32
,
CapabilityCullDistance
=
33
,
CapabilityImageCubeArray
=
34
,
CapabilitySampleRateShading
=
35
,
};
enum
Op
{
OpNop
=
0
,
OpUndef
=
1
,
OpSource
=
3
,
OpSourceExtension
=
4
,
OpName
=
5
,
OpMemberName
=
6
,
OpString
=
7
,
OpLine
=
8
,
OpExtension
=
10
,
OpExtInstImport
=
11
,
OpExtInst
=
12
,
OpMemoryModel
=
14
,
OpEntryPoint
=
15
,
OpExecutionMode
=
16
,
OpCapability
=
17
,
OpTypeVoid
=
19
,
OpTypeBool
=
20
,
OpTypeInt
=
21
,
OpTypeFloat
=
22
,
OpTypeVector
=
23
,
OpTypeMatrix
=
24
,
OpTypeImage
=
25
,
OpTypeSampler
=
26
,
OpTypeSampledImage
=
27
,
OpTypeArray
=
28
,
OpTypeRuntimeArray
=
29
,
OpTypeStruct
=
30
,
OpTypeOpaque
=
31
,
OpTypePointer
=
32
,
OpTypeFunction
=
33
,
OpTypeEvent
=
34
,
OpTypeDeviceEvent
=
35
,
OpTypeReserveId
=
36
,
OpTypeQueue
=
37
,
OpTypePipe
=
38
,
OpConstantTrue
=
41
,
OpConstantFalse
=
42
,
OpConstant
=
43
,
OpConstantComposite
=
44
,
OpConstantSampler
=
45
,
OpConstantNull
=
46
,
OpSpecConstantTrue
=
48
,
OpSpecConstantFalse
=
49
,
OpSpecConstant
=
50
,
OpSpecConstantComposite
=
51
,
OpSpecConstantOp
=
52
,
OpFunction
=
54
,
OpFunctionParameter
=
55
,
OpFunctionEnd
=
56
,
OpFunctionCall
=
57
,
OpVariable
=
59
,
OpImageTexelPointer
=
60
,
OpLoad
=
61
,
OpStore
=
62
,
OpCopyMemory
=
63
,
OpCopyMemorySized
=
64
,
OpAccessChain
=
65
,
OpInBoundsAccessChain
=
66
,
OpPtrAccessChain
=
67
,
OpArrayLength
=
68
,
OpGenericPtrMemSemantics
=
69
,
OpDecorate
=
71
,
OpMemberDecorate
=
72
,
OpDecorationGroup
=
73
,
OpGroupDecorate
=
74
,
OpGroupMemberDecorate
=
75
,
OpVectorExtractDynamic
=
77
,
OpVectorInsertDynamic
=
78
,
OpVectorShuffle
=
79
,
OpCompositeConstruct
=
80
,
OpCompositeExtract
=
81
,
OpCompositeInsert
=
82
,
OpCopyObject
=
83
,
OpTranspose
=
84
,
OpSampledImage
=
86
,
OpImageSampleImplicitLod
=
87
,
OpImageSampleExplicitLod
=
88
,
OpImageSampleDrefImplicitLod
=
89
,
OpImageSampleDrefExplicitLod
=
90
,
OpImageSampleProjImplicitLod
=
91
,
OpImageSampleProjExplicitLod
=
92
,
OpImageSampleProjDrefImplicitLod
=
93
,
OpImageSampleProjDrefExplicitLod
=
94
,
OpImageFetch
=
95
,
OpImageGather
=
96
,
OpImageDrefGather
=
97
,
OpImageRead
=
98
,
OpImageWrite
=
99
,
OpImageQueryDim
=
100
,
OpImageQueryFormat
=
101
,
OpImageQueryOrder
=
102
,
OpImageQuerySizeLod
=
103
,
OpImageQuerySize
=
104
,
OpImageQueryLod
=
105
,
OpImageQueryLevels
=
106
,
OpImageQuerySamples
=
107
,
OpConvertFToU
=
109
,
OpConvertFToS
=
110
,
OpConvertSToF
=
111
,
OpConvertUToF
=
112
,
OpUConvert
=
113
,
OpSConvert
=
114
,
OpFConvert
=
115
,
OpQuantizeToF16
=
116
,
OpConvertPtrToU
=
117
,
OpSatConvertSToU
=
118
,
OpSatConvertUToS
=
119
,
OpConvertUToPtr
=
120
,
OpPtrCastToGeneric
=
121
,
OpGenericCastToPtr
=
122
,
OpGenericCastToPtrExplicit
=
123
,
OpBitcast
=
124
,
OpSNegate
=
126
,
OpFNegate
=
127
,
OpIAdd
=
128
,
OpFAdd
=
129
,
OpISub
=
130
,
OpFSub
=
131
,
OpIMul
=
132
,
OpFMul
=
133
,
OpUDiv
=
134
,
OpSDiv
=
135
,
OpFDiv
=
136
,
OpUMod
=
137
,
OpSRem
=
138
,
OpSMod
=
139
,
OpFRem
=
140
,
OpFMod
=
141
,
OpVectorTimesScalar
=
142
,
OpMatrixTimesScalar
=
143
,
OpVectorTimesMatrix
=
144
,
OpMatrixTimesVector
=
145
,
OpMatrixTimesMatrix
=
146
,
OpOuterProduct
=
147
,
OpDot
=
148
,
OpIAddCarry
=
149
,
OpISubBorrow
=
150
,
OpIMulExtended
=
151
,
OpAny
=
154
,
OpAll
=
155
,
OpIsNan
=
156
,
OpIsInf
=
157
,
OpIsFinite
=
158
,
OpIsNormal
=
159
,
OpSignBitSet
=
160
,
OpLessOrGreater
=
161
,
OpOrdered
=
162
,
OpUnordered
=
163
,
OpLogicalEqual
=
164
,
OpLogicalNotEqual
=
165
,
OpLogicalOr
=
166
,
OpLogicalAnd
=
167
,
OpLogicalNot
=
168
,
OpSelect
=
169
,
OpIEqual
=
170
,
OpINotEqual
=
171
,
OpUGreaterThan
=
172
,
OpSGreaterThan
=
173
,
OpUGreaterThanEqual
=
174
,
OpSGreaterThanEqual
=
175
,
OpULessThan
=
176
,
OpSLessThan
=
177
,
OpULessThanEqual
=
178
,
OpSLessThanEqual
=
179
,
OpFOrdEqual
=
180
,
OpFUnordEqual
=
181
,
OpFOrdNotEqual
=
182
,
OpFUnordNotEqual
=
183
,
OpFOrdLessThan
=
184
,
OpFUnordLessThan
=
185
,
OpFOrdGreaterThan
=
186
,
OpFUnordGreaterThan
=
187
,
OpFOrdLessThanEqual
=
188
,
OpFUnordLessThanEqual
=
189
,
OpFOrdGreaterThanEqual
=
190
,
OpFUnordGreaterThanEqual
=
191
,
OpShiftRightLogical
=
194
,
OpShiftRightArithmetic
=
195
,
OpShiftLeftLogical
=
196
,
OpBitwiseOr
=
197
,
OpBitwiseXor
=
198
,
OpBitwiseAnd
=
199
,
OpNot
=
200
,
OpBitFieldInsert
=
201
,
OpBitFieldSExtract
=
202
,
OpBitFieldUExtract
=
203
,
OpBitReverse
=
204
,
OpBitCount
=
205
,
OpDPdx
=
207
,
OpDPdy
=
208
,
OpFwidth
=
209
,
OpDPdxFine
=
210
,
OpDPdyFine
=
211
,
OpFwidthFine
=
212
,
OpDPdxCoarse
=
213
,
OpDPdyCoarse
=
214
,
OpFwidthCoarse
=
215
,
OpEmitVertex
=
218
,
OpEndPrimitive
=
219
,
OpEmitStreamVertex
=
220
,
OpEndStreamPrimitive
=
221
,
OpControlBarrier
=
224
,
OpMemoryBarrier
=
225
,
OpAtomicLoad
=
227
,
OpAtomicStore
=
228
,
OpAtomicExchange
=
229
,
OpAtomicCompareExchange
=
230
,
OpAtomicCompareExchangeWeak
=
231
,
OpAtomicIIncrement
=
232
,
OpAtomicIDecrement
=
233
,
OpAtomicIAdd
=
234
,
OpAtomicISub
=
235
,
OpAtomicSMin
=
236
,
OpAtomicUMin
=
237
,
OpAtomicSMax
=
238
,
OpAtomicUMax
=
239
,
OpAtomicAnd
=
240
,
OpAtomicOr
=
241
,
OpAtomicXor
=
242
,
OpPhi
=
245
,
OpLoopMerge
=
246
,
OpSelectionMerge
=
247
,
OpLabel
=
248
,
OpBranch
=
249
,
OpBranchConditional
=
250
,
OpSwitch
=
251
,
OpKill
=
252
,
OpReturn
=
253
,
OpReturnValue
=
254
,
OpUnreachable
=
255
,
OpLifetimeStart
=
256
,
OpLifetimeStop
=
257
,
OpAsyncGroupCopy
=
259
,
OpWaitGroupEvents
=
260
,
OpGroupAll
=
261
,
OpGroupAny
=
262
,
OpGroupBroadcast
=
263
,
OpGroupIAdd
=
264
,
OpGroupFAdd
=
265
,
OpGroupFMin
=
266
,
OpGroupUMin
=
267
,
OpGroupSMin
=
268
,
OpGroupFMax
=
269
,
OpGroupUMax
=
270
,
OpGroupSMax
=
271
,
OpReadPipe
=
274
,
OpWritePipe
=
275
,
OpReservedReadPipe
=
276
,
OpReservedWritePipe
=
277
,
OpReserveReadPipePackets
=
278
,
OpReserveWritePipePackets
=
279
,
OpCommitReadPipe
=
280
,
OpCommitWritePipe
=
281
,
OpIsValidReserveId
=
282
,
OpGetNumPipePackets
=
283
,
OpGetMaxPipePackets
=
284
,
OpGroupReserveReadPipePackets
=
285
,
OpGroupReserveWritePipePackets
=
286
,
OpGroupCommitReadPipe
=
287
,
OpGroupCommitWritePipe
=
288
,
OpEnqueueMarker
=
291
,
OpEnqueueKernel
=
292
,
OpGetKernelNDrangeSubGroupCount
=
293
,
OpGetKernelNDrangeMaxSubGroupSize
=
294
,
OpGetKernelWorkGroupSize
=
295
,
OpGetKernelPreferredWorkGroupSizeMultiple
=
296
,
OpRetainEvent
=
297
,
OpReleaseEvent
=
298
,
OpCreateUserEvent
=
299
,
OpIsValidEvent
=
300
,
OpSetUserEventStatus
=
301
,
OpCaptureEventProfilingInfo
=
302
,
OpGetDefaultQueue
=
303
,
OpBuildNDRange
=
304
,
};
// Overload operator| for mask bit combining
inline
ImageOperandsMask
operator
|
(
ImageOperandsMask
a
,
ImageOperandsMask
b
)
{
return
ImageOperandsMask
(
unsigned
(
a
)
|
unsigned
(
b
));
}
inline
FPFastMathModeMask
operator
|
(
FPFastMathModeMask
a
,
FPFastMathModeMask
b
)
{
return
FPFastMathModeMask
(
unsigned
(
a
)
|
unsigned
(
b
));
}
inline
SelectionControlMask
operator
|
(
SelectionControlMask
a
,
SelectionControlMask
b
)
{
return
SelectionControlMask
(
unsigned
(
a
)
|
unsigned
(
b
));
}
inline
LoopControlMask
operator
|
(
LoopControlMask
a
,
LoopControlMask
b
)
{
return
LoopControlMask
(
unsigned
(
a
)
|
unsigned
(
b
));
}
inline
FunctionControlMask
operator
|
(
FunctionControlMask
a
,
FunctionControlMask
b
)
{
return
FunctionControlMask
(
unsigned
(
a
)
|
unsigned
(
b
));
}
inline
MemorySemanticsMask
operator
|
(
MemorySemanticsMask
a
,
MemorySemanticsMask
b
)
{
return
MemorySemanticsMask
(
unsigned
(
a
)
|
unsigned
(
b
));
}
inline
MemoryAccessMask
operator
|
(
MemoryAccessMask
a
,
MemoryAccessMask
b
)
{
return
MemoryAccessMask
(
unsigned
(
a
)
|
unsigned
(
b
));
}
inline
KernelProfilingInfoMask
operator
|
(
KernelProfilingInfoMask
a
,
KernelProfilingInfoMask
b
)
{
return
KernelProfilingInfoMask
(
unsigned
(
a
)
|
unsigned
(
b
));
}
}
// end namespace spv
#endif // #ifndef spirv_H
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment