aboutsummaryrefslogtreecommitdiff
path: root/include/spirv/unified1/spirv.h
diff options
context:
space:
mode:
authorDavid Neto <dneto@google.com>2019-02-20 15:57:41 -0500
committerDavid Neto <dneto@google.com>2019-02-20 15:57:41 -0500
commit992519a8c368a2520b5de59c41a0dd213687dc41 (patch)
tree98661f30107d47295105dce1bb87b0a62495d207 /include/spirv/unified1/spirv.h
parent3322aa4579838a0490897fb70401fbefc6110490 (diff)
parent8bea0a266ac9b718aa0818d9e3a47c0b77c2cb23 (diff)
downloadspirv-headers-992519a8c368a2520b5de59c41a0dd213687dc41.tar.gz
Merge remote-tracking branch 'aosp/upstream-master' into HEAD
Includes: 8bea0a2 Update headers from previous SPV_INTEL_media_block_io grammar addition. 21f0d07 Merge pull request #93 from PawelJurek/SPV_INTEL_media_block_io f2aef5d Grammar for SPV_INTEL_media_block_io extension f3abb28 Merge pull request #91 from LukasBanana/master b6a6dc0 Added '.DS_Store' (MacOS specific file) to gitignore. 79b6681 Merge pull request #88 from jeffbolznv/physical_storage_buffer 0c802e6 SPV_EXT_physical_storage_buffer 46a3ae6 Update copyright years. b683d7c Include the new spv.d file when fixing line endings on Windows. 392ae31 Merge pull request #87 from rtbo/dlang 3b98c49 whitespace ecf2435 generated code 9591b0c adding support for D language 4618b86 Merge pull request #85 from akien-mga/unix-executable-bit f833822 Remove Unix executable permission from text files 17da9f8 Reserve tokens for float controls and no integer wrapping: bbf6343 Merge pull request #84 from grorg/whlsl e689857 Add W3C WebGPU WHLSL tool identifier 282879c Merge pull request #83 from dgkoch/SPV_EXT_fragment_invocation_density 421ce5c Add json support for SPV_EXT_fragment_invocation_density 7cb4300 Add option to skip examples. a2c529b Merge pull request #80 from alelenv/nv-raytracing-final 5bf501a Rename RaytracingNV to RayTracingNV 5c69a90 Add support for nv-raytracing (non-experimental) 801cca8 Merge pull request #79 from Thog/csharp-definition 23b1368 Use lower-case instead of camel-case 273023b Add C# header generation a44009e Create CODE_OF_CONDUCT.md Test: checkbuild.py on Linux; unit tests on Windows Change-Id: I10e81225502ee2892ef68c4d3db4ff857345d45c
Diffstat (limited to 'include/spirv/unified1/spirv.h')
-rw-r--r--include/spirv/unified1/spirv.h96
1 files changed, 63 insertions, 33 deletions
diff --git a/include/spirv/unified1/spirv.h b/include/spirv/unified1/spirv.h
index 2965534..6a9ece7 100644
--- a/include/spirv/unified1/spirv.h
+++ b/include/spirv/unified1/spirv.h
@@ -1,5 +1,5 @@
/*
-** Copyright (c) 2014-2018 The Khronos Group Inc.
+** Copyright (c) 2014-2019 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"),
@@ -31,13 +31,16 @@
/*
** Enumeration tokens for SPIR-V, in various styles:
-** C, C++, C++11, JSON, Lua, Python
+** C, C++, C++11, JSON, Lua, Python, C#, D
**
** - 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']
+** - C# will use enum classes in the Specification class located in the "Spv" namespace,
+** e.g.: Spv.Specification.SourceLanguage.GLSL
+** - D will have tokens under the "spv" module, 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
@@ -51,11 +54,11 @@
typedef unsigned int SpvId;
#define SPV_VERSION 0x10300
-#define SPV_REVISION 1
+#define SPV_REVISION 6
static const unsigned int SpvMagicNumber = 0x07230203;
static const unsigned int SpvVersion = 0x00010300;
-static const unsigned int SpvRevision = 1;
+static const unsigned int SpvRevision = 6;
static const unsigned int SpvOpCodeMask = 0xffff;
static const unsigned int SpvWordCountShift = 16;
@@ -79,12 +82,12 @@ typedef enum SpvExecutionModel_ {
SpvExecutionModelKernel = 6,
SpvExecutionModelTaskNV = 5267,
SpvExecutionModelMeshNV = 5268,
- SpvExecutionModelRayGenerationNVX = 5313,
- SpvExecutionModelIntersectionNVX = 5314,
- SpvExecutionModelAnyHitNVX = 5315,
- SpvExecutionModelClosestHitNVX = 5316,
- SpvExecutionModelMissNVX = 5317,
- SpvExecutionModelCallableNVX = 5318,
+ SpvExecutionModelRayGenerationNV = 5313,
+ SpvExecutionModelIntersectionNV = 5314,
+ SpvExecutionModelAnyHitNV = 5315,
+ SpvExecutionModelClosestHitNV = 5316,
+ SpvExecutionModelMissNV = 5317,
+ SpvExecutionModelCallableNV = 5318,
SpvExecutionModelMax = 0x7fffffff,
} SpvExecutionModel;
@@ -92,6 +95,7 @@ typedef enum SpvAddressingModel_ {
SpvAddressingModelLogical = 0,
SpvAddressingModelPhysical32 = 1,
SpvAddressingModelPhysical64 = 2,
+ SpvAddressingModelPhysicalStorageBuffer64EXT = 5348,
SpvAddressingModelMax = 0x7fffffff,
} SpvAddressingModel;
@@ -143,6 +147,11 @@ typedef enum SpvExecutionMode_ {
SpvExecutionModeLocalSizeId = 38,
SpvExecutionModeLocalSizeHintId = 39,
SpvExecutionModePostDepthCoverage = 4446,
+ SpvExecutionModeDenormPreserve = 4459,
+ SpvExecutionModeDenormFlushToZero = 4460,
+ SpvExecutionModeSignedZeroInfNanPreserve = 4461,
+ SpvExecutionModeRoundingModeRTE = 4462,
+ SpvExecutionModeRoundingModeRTZ = 4463,
SpvExecutionModeStencilRefReplacingEXT = 5027,
SpvExecutionModeOutputLinesNV = 5269,
SpvExecutionModeOutputPrimitivesNV = 5270,
@@ -166,10 +175,13 @@ typedef enum SpvStorageClass_ {
SpvStorageClassAtomicCounter = 10,
SpvStorageClassImage = 11,
SpvStorageClassStorageBuffer = 12,
- SpvStorageClassRayPayloadNVX = 5338,
- SpvStorageClassHitAttributeNVX = 5339,
- SpvStorageClassIncomingRayPayloadNVX = 5342,
- SpvStorageClassShaderRecordBufferNVX = 5343,
+ SpvStorageClassCallableDataNV = 5328,
+ SpvStorageClassIncomingCallableDataNV = 5329,
+ SpvStorageClassRayPayloadNV = 5338,
+ SpvStorageClassHitAttributeNV = 5339,
+ SpvStorageClassIncomingRayPayloadNV = 5342,
+ SpvStorageClassShaderRecordBufferNV = 5343,
+ SpvStorageClassPhysicalStorageBufferEXT = 5349,
SpvStorageClassMax = 0x7fffffff,
} SpvStorageClass;
@@ -418,6 +430,8 @@ typedef enum SpvDecoration_ {
SpvDecorationMaxByteOffset = 45,
SpvDecorationAlignmentId = 46,
SpvDecorationMaxByteOffsetId = 47,
+ SpvDecorationNoSignedWrap = 4469,
+ SpvDecorationNoUnsignedWrap = 4470,
SpvDecorationExplicitInterpAMD = 4999,
SpvDecorationOverrideCoverageNV = 5248,
SpvDecorationPassthroughNV = 5250,
@@ -428,6 +442,8 @@ typedef enum SpvDecoration_ {
SpvDecorationPerTaskNV = 5273,
SpvDecorationPerVertexNV = 5285,
SpvDecorationNonUniformEXT = 5300,
+ SpvDecorationRestrictPointerEXT = 5355,
+ SpvDecorationAliasedPointerEXT = 5356,
SpvDecorationHlslCounterBufferGOOGLE = 5634,
SpvDecorationHlslSemanticGOOGLE = 5635,
SpvDecorationMax = 0x7fffffff,
@@ -514,21 +530,24 @@ typedef enum SpvBuiltIn_ {
SpvBuiltInMeshViewIndicesNV = 5281,
SpvBuiltInBaryCoordNV = 5286,
SpvBuiltInBaryCoordNoPerspNV = 5287,
+ SpvBuiltInFragSizeEXT = 5292,
SpvBuiltInFragmentSizeNV = 5292,
+ SpvBuiltInFragInvocationCountEXT = 5293,
SpvBuiltInInvocationsPerPixelNV = 5293,
- SpvBuiltInLaunchIdNVX = 5319,
- SpvBuiltInLaunchSizeNVX = 5320,
- SpvBuiltInWorldRayOriginNVX = 5321,
- SpvBuiltInWorldRayDirectionNVX = 5322,
- SpvBuiltInObjectRayOriginNVX = 5323,
- SpvBuiltInObjectRayDirectionNVX = 5324,
- SpvBuiltInRayTminNVX = 5325,
- SpvBuiltInRayTmaxNVX = 5326,
- SpvBuiltInInstanceCustomIndexNVX = 5327,
- SpvBuiltInObjectToWorldNVX = 5330,
- SpvBuiltInWorldToObjectNVX = 5331,
- SpvBuiltInHitTNVX = 5332,
- SpvBuiltInHitKindNVX = 5333,
+ SpvBuiltInLaunchIdNV = 5319,
+ SpvBuiltInLaunchSizeNV = 5320,
+ SpvBuiltInWorldRayOriginNV = 5321,
+ SpvBuiltInWorldRayDirectionNV = 5322,
+ SpvBuiltInObjectRayOriginNV = 5323,
+ SpvBuiltInObjectRayDirectionNV = 5324,
+ SpvBuiltInRayTminNV = 5325,
+ SpvBuiltInRayTmaxNV = 5326,
+ SpvBuiltInInstanceCustomIndexNV = 5327,
+ SpvBuiltInObjectToWorldNV = 5330,
+ SpvBuiltInWorldToObjectNV = 5331,
+ SpvBuiltInHitTNV = 5332,
+ SpvBuiltInHitKindNV = 5333,
+ SpvBuiltInIncomingRayFlagsNV = 5351,
SpvBuiltInMax = 0x7fffffff,
} SpvBuiltIn;
@@ -754,6 +773,11 @@ typedef enum SpvCapability_ {
SpvCapabilityStorageBuffer8BitAccess = 4448,
SpvCapabilityUniformAndStorageBuffer8BitAccess = 4449,
SpvCapabilityStoragePushConstant8 = 4450,
+ SpvCapabilityDenormPreserve = 4464,
+ SpvCapabilityDenormFlushToZero = 4465,
+ SpvCapabilitySignedZeroInfNanPreserve = 4466,
+ SpvCapabilityRoundingModeRTE = 4467,
+ SpvCapabilityRoundingModeRTZ = 4468,
SpvCapabilityFloat16ImageAMD = 5008,
SpvCapabilityImageGatherBiasLodAMD = 5009,
SpvCapabilityFragmentMaskAMD = 5010,
@@ -771,6 +795,7 @@ typedef enum SpvCapability_ {
SpvCapabilityImageFootprintNV = 5282,
SpvCapabilityFragmentBarycentricNV = 5284,
SpvCapabilityComputeDerivativeGroupQuadsNV = 5288,
+ SpvCapabilityFragmentDensityEXT = 5291,
SpvCapabilityShadingRateNV = 5291,
SpvCapabilityGroupNonUniformPartitionedNV = 5297,
SpvCapabilityShaderNonUniformEXT = 5301,
@@ -785,13 +810,15 @@ typedef enum SpvCapability_ {
SpvCapabilityInputAttachmentArrayNonUniformIndexingEXT = 5310,
SpvCapabilityUniformTexelBufferArrayNonUniformIndexingEXT = 5311,
SpvCapabilityStorageTexelBufferArrayNonUniformIndexingEXT = 5312,
- SpvCapabilityRaytracingNVX = 5340,
+ SpvCapabilityRayTracingNV = 5340,
SpvCapabilityVulkanMemoryModelKHR = 5345,
SpvCapabilityVulkanMemoryModelDeviceScopeKHR = 5346,
+ SpvCapabilityPhysicalStorageBufferAddressesEXT = 5347,
SpvCapabilityComputeDerivativeGroupLinearNV = 5350,
SpvCapabilitySubgroupShuffleINTEL = 5568,
SpvCapabilitySubgroupBufferBlockIOINTEL = 5569,
SpvCapabilitySubgroupImageBlockIOINTEL = 5570,
+ SpvCapabilitySubgroupImageMediaBlockIOINTEL = 5579,
SpvCapabilityMax = 0x7fffffff,
} SpvCapability;
@@ -1155,11 +1182,12 @@ typedef enum SpvOp_ {
SpvOpImageSampleFootprintNV = 5283,
SpvOpGroupNonUniformPartitionNV = 5296,
SpvOpWritePackedPrimitiveIndices4x8NV = 5299,
- SpvOpReportIntersectionNVX = 5334,
- SpvOpIgnoreIntersectionNVX = 5335,
- SpvOpTerminateRayNVX = 5336,
- SpvOpTraceNVX = 5337,
- SpvOpTypeAccelerationStructureNVX = 5341,
+ SpvOpReportIntersectionNV = 5334,
+ SpvOpIgnoreIntersectionNV = 5335,
+ SpvOpTerminateRayNV = 5336,
+ SpvOpTraceNV = 5337,
+ SpvOpTypeAccelerationStructureNV = 5341,
+ SpvOpExecuteCallableNV = 5344,
SpvOpSubgroupShuffleINTEL = 5571,
SpvOpSubgroupShuffleDownINTEL = 5572,
SpvOpSubgroupShuffleUpINTEL = 5573,
@@ -1168,6 +1196,8 @@ typedef enum SpvOp_ {
SpvOpSubgroupBlockWriteINTEL = 5576,
SpvOpSubgroupImageBlockReadINTEL = 5577,
SpvOpSubgroupImageBlockWriteINTEL = 5578,
+ SpvOpSubgroupImageMediaBlockReadINTEL = 5580,
+ SpvOpSubgroupImageMediaBlockWriteINTEL = 5581,
SpvOpDecorateStringGOOGLE = 5632,
SpvOpMemberDecorateStringGOOGLE = 5633,
SpvOpMax = 0x7fffffff,