[Mesa-dev] [PATCH 1/8] spirv: Import the latest 1.0.2 header from Khronos
Ian Romanick
idr at freedesktop.org
Fri Jul 14 01:38:17 UTC 2017
Shouldn't this also update capability_to_string in spriv_info.c? I'm
also questioning that implementation... there are huge blocks in that
array (e.g., all the elements from 61 to 4322) that are zeroed out by
the initialization. This will cause spirv_capability_to_string() to
happily return NULL pointers that none of the callers are prepared to
handle.
On 07/13/2017 12:41 PM, Jason Ekstrand wrote:
> ---
> src/compiler/spirv/spirv.h | 41 +++++++++++++++++++++++++++++++++++++----
> 1 file changed, 37 insertions(+), 4 deletions(-)
>
> diff --git a/src/compiler/spirv/spirv.h b/src/compiler/spirv/spirv.h
> index 89354c0..61559a1 100644
> --- a/src/compiler/spirv/spirv.h
> +++ b/src/compiler/spirv/spirv.h
> @@ -50,12 +50,12 @@
>
> typedef unsigned int SpvId;
>
> -#define SPV_VERSION 0x10100
> -#define SPV_REVISION 6
> +#define SPV_VERSION 0x10200
> +#define SPV_REVISION 1
>
> static const unsigned int SpvMagicNumber = 0x07230203;
> -static const unsigned int SpvVersion = 0x00010100;
> -static const unsigned int SpvRevision = 6;
> +static const unsigned int SpvVersion = 0x00010200;
> +static const unsigned int SpvRevision = 1;
> static const unsigned int SpvOpCodeMask = 0xffff;
> static const unsigned int SpvWordCountShift = 16;
>
> @@ -65,6 +65,7 @@ typedef enum SpvSourceLanguage_ {
> SpvSourceLanguageGLSL = 2,
> SpvSourceLanguageOpenCL_C = 3,
> SpvSourceLanguageOpenCL_CPP = 4,
> + SpvSourceLanguageHLSL = 5,
> SpvSourceLanguageMax = 0x7fffffff,
> } SpvSourceLanguage;
>
> @@ -129,6 +130,10 @@ typedef enum SpvExecutionMode_ {
> SpvExecutionModeFinalizer = 34,
> SpvExecutionModeSubgroupSize = 35,
> SpvExecutionModeSubgroupsPerWorkgroup = 36,
> + SpvExecutionModeSubgroupsPerWorkgroupId = 37,
> + SpvExecutionModeLocalSizeId = 38,
> + SpvExecutionModeLocalSizeHintId = 39,
> + SpvExecutionModePostDepthCoverage = 4446,
> SpvExecutionModeMax = 0x7fffffff,
> } SpvExecutionMode;
>
> @@ -145,6 +150,7 @@ typedef enum SpvStorageClass_ {
> SpvStorageClassPushConstant = 9,
> SpvStorageClassAtomicCounter = 10,
> SpvStorageClassImage = 11,
> + SpvStorageClassStorageBuffer = 12,
> SpvStorageClassMax = 0x7fffffff,
> } SpvStorageClass;
>
> @@ -383,6 +389,9 @@ typedef enum SpvDecoration_ {
> SpvDecorationInputAttachmentIndex = 43,
> SpvDecorationAlignment = 44,
> SpvDecorationMaxByteOffset = 45,
> + SpvDecorationAlignmentId = 46,
> + SpvDecorationMaxByteOffsetId = 47,
> + SpvDecorationExplicitInterpAMD = 4999,
> SpvDecorationOverrideCoverageNV = 5248,
> SpvDecorationPassthroughNV = 5250,
> SpvDecorationViewportRelativeNV = 5252,
> @@ -442,6 +451,13 @@ typedef enum SpvBuiltIn_ {
> SpvBuiltInDrawIndex = 4426,
> SpvBuiltInDeviceIndex = 4438,
> SpvBuiltInViewIndex = 4440,
> + SpvBuiltInBaryCoordNoPerspAMD = 4992,
> + SpvBuiltInBaryCoordNoPerspCentroidAMD = 4993,
> + SpvBuiltInBaryCoordNoPerspSampleAMD = 4994,
> + SpvBuiltInBaryCoordSmoothAMD = 4995,
> + SpvBuiltInBaryCoordSmoothCentroidAMD = 4996,
> + SpvBuiltInBaryCoordSmoothSampleAMD = 4997,
> + SpvBuiltInBaryCoordPullModelAMD = 4998,
> SpvBuiltInViewportMaskNV = 5253,
> SpvBuiltInSecondaryPositionNV = 5257,
> SpvBuiltInSecondaryViewportMaskNV = 5258,
> @@ -632,12 +648,19 @@ typedef enum SpvCapability_ {
> SpvCapabilitySubgroupBallotKHR = 4423,
> SpvCapabilityDrawParameters = 4427,
> SpvCapabilitySubgroupVoteKHR = 4431,
> + SpvCapabilityStorageBuffer16BitAccess = 4433,
> SpvCapabilityStorageUniformBufferBlock16 = 4433,
> SpvCapabilityStorageUniform16 = 4434,
> + SpvCapabilityUniformAndStorageBuffer16BitAccess = 4434,
> SpvCapabilityStoragePushConstant16 = 4435,
> SpvCapabilityStorageInputOutput16 = 4436,
> SpvCapabilityDeviceGroup = 4437,
> SpvCapabilityMultiView = 4439,
> + SpvCapabilityVariablePointersStorageBuffer = 4441,
> + SpvCapabilityVariablePointers = 4442,
> + SpvCapabilityAtomicStorageOps = 4445,
> + SpvCapabilitySampleMaskPostDepthCoverage = 4447,
> + SpvCapabilityImageGatherBiasLodAMD = 5009,
> SpvCapabilitySampleMaskOverrideCoverageNV = 5249,
> SpvCapabilityGeometryShaderPassthroughNV = 5251,
> SpvCapabilityShaderViewportIndexLayerNV = 5254,
> @@ -952,12 +975,22 @@ typedef enum SpvOp_ {
> SpvOpNamedBarrierInitialize = 328,
> SpvOpMemoryNamedBarrier = 329,
> SpvOpModuleProcessed = 330,
> + SpvOpExecutionModeId = 331,
> + SpvOpDecorateId = 332,
> SpvOpSubgroupBallotKHR = 4421,
> SpvOpSubgroupFirstInvocationKHR = 4422,
> SpvOpSubgroupAllKHR = 4428,
> SpvOpSubgroupAnyKHR = 4429,
> SpvOpSubgroupAllEqualKHR = 4430,
> SpvOpSubgroupReadInvocationKHR = 4432,
> + SpvOpGroupIAddNonUniformAMD = 5000,
> + SpvOpGroupFAddNonUniformAMD = 5001,
> + SpvOpGroupFMinNonUniformAMD = 5002,
> + SpvOpGroupUMinNonUniformAMD = 5003,
> + SpvOpGroupSMinNonUniformAMD = 5004,
> + SpvOpGroupFMaxNonUniformAMD = 5005,
> + SpvOpGroupUMaxNonUniformAMD = 5006,
> + SpvOpGroupSMaxNonUniformAMD = 5007,
> SpvOpMax = 0x7fffffff,
> } SpvOp;
>
>
More information about the mesa-dev
mailing list