<div dir="ltr"><div class="gmail_extra"><div class="gmail_quote">On Wed, Jan 25, 2017 at 4:45 AM, Bas Nieuwenhuizen <span dir="ltr"><<a href="mailto:bas@basnieuwenhuizen.nl" target="_blank">bas@basnieuwenhuizen.nl</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">Can you split the switch changes to a different commit? With that,<br></blockquote><div><br></div><div>Agreed,<br><br></div><div>Reviewed-by: Jason Ekstrand <<a href="mailto:jason@jlekstrand.net">jason@jlekstrand.net</a>><br></div><div>Â </div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
Reviewed-by: Bas Nieuwenhuizen <<a href="mailto:bas@basnieuwenhuizen.nl">bas@basnieuwenhuizen.nl</a>><br>
<br>
for the series.<br>
<div class="HOEnZb"><div class="h5"><br>
On Wed, Jan 25, 2017, at 04:39, Lionel Landwerlin wrote:<br>
> Signed-off-by: Lionel Landwerlin <<a href="mailto:lionel.g.landwerlin@intel.com">lionel.g.landwerlin@intel.com</a><wbr>><br>
> ---<br>
> src/compiler/spirv/GLSL.std.<wbr>450.h | 12 ++++--<br>
> src/compiler/spirv/spirv.h     | 77<br>
>Â ++++++++++++++++++++++++++++++<wbr>+++++---<br>
> src/compiler/spirv/spirv_info.<wbr>c  | 6 +++<br>
> src/compiler/spirv/spirv_to_<wbr>nir.c | 12 ++++++<br>
>Â src/compiler/spirv/vtn_<wbr>variables.c |Â 3 ++<br>
>Â 5 files changed, 101 insertions(+), 9 deletions(-)<br>
><br>
> diff --git a/src/compiler/spirv/GLSL.std.<wbr>450.h<br>
> b/src/compiler/spirv/GLSL.std.<wbr>450.h<br>
> index d1c9b5c1d4..54cc00e9a8 100644<br>
> --- a/src/compiler/spirv/GLSL.std.<wbr>450.h<br>
> +++ b/src/compiler/spirv/GLSL.std.<wbr>450.h<br>
> @@ -1,5 +1,5 @@<br>
>Â /*<br>
> -** Copyright (c) 2014-2015 The Khronos Group Inc.<br>
> +** Copyright (c) 2014-2016 The Khronos Group Inc.<br>
>Â **<br>
>Â ** Permission is hereby granted, free of charge, to any person obtaining<br>
>Â a copy<br>
>Â ** of this software and/or associated documentation files (the<br>
>Â "Materials"),<br>
> @@ -27,8 +27,8 @@<br>
>Â #ifndef GLSLstd450_H<br>
>Â #define GLSLstd450_H<br>
><br>
> -const int GLSLstd450Version = 99;<br>
> -const int GLSLstd450Revision = 3;<br>
> +static const int GLSLstd450Version = 100;<br>
> +static const int GLSLstd450Revision = 3;<br>
><br>
>Â enum GLSLstd450 {<br>
>   GLSLstd450Bad = 0,       // Don't use<br>
> @@ -83,7 +83,7 @@ enum GLSLstd450 {<br>
>Â Â Â GLSLstd450UClamp = 44,<br>
>Â Â Â GLSLstd450SClamp = 45,<br>
>Â Â Â GLSLstd450FMix = 46,<br>
> -Â Â GLSLstd450IMix = 47,<br>
> +  GLSLstd450IMix = 47,      // Reserved<br>
>Â Â Â GLSLstd450Step = 48,<br>
>Â Â Â GLSLstd450SmoothStep = 49,<br>
><br>
> @@ -121,6 +121,10 @@ enum GLSLstd450 {<br>
>Â Â Â GLSLstd450InterpolateAtSample = 77,<br>
>Â Â Â GLSLstd450InterpolateAtOffset = 78,<br>
><br>
> +Â Â GLSLstd450NMin = 79,<br>
> +Â Â GLSLstd450NMax = 80,<br>
> +Â Â GLSLstd450NClamp = 81,<br>
> +<br>
>Â Â Â GLSLstd450Count<br>
>Â };<br>
><br>
> diff --git a/src/compiler/spirv/spirv.h b/src/compiler/spirv/spirv.h<br>
> index 63bcb2f88d..769c10225d 100644<br>
> --- a/src/compiler/spirv/spirv.h<br>
> +++ b/src/compiler/spirv/spirv.h<br>
> @@ -1,5 +1,5 @@<br>
>Â /*<br>
> -** Copyright (c) 2014-2015 The Khronos Group Inc.<br>
> +** Copyright (c) 2014-2016 The Khronos Group Inc.<br>
>Â **<br>
>Â ** Permission is hereby granted, free of charge, to any person obtaining<br>
>Â a copy<br>
>Â ** of this software and/or associated documentation files (the<br>
>Â "Materials"),<br>
> @@ -50,12 +50,12 @@<br>
><br>
>Â typedef unsigned int SpvId;<br>
><br>
> -#define SPV_VERSION 0x10000<br>
> -#define SPV_REVISION 2<br>
> +#define SPV_VERSION 0x10100<br>
> +#define SPV_REVISION 4<br>
><br>
>Â static const unsigned int SpvMagicNumber = 0x07230203;<br>
> -static const unsigned int SpvVersion = 0x00010000;<br>
> -static const unsigned int SpvRevision = 2;<br>
> +static const unsigned int SpvVersion = 0x00010100;<br>
> +static const unsigned int SpvRevision = 4;<br>
>Â static const unsigned int SpvOpCodeMask = 0xffff;<br>
>Â static const unsigned int SpvWordCountShift = 16;<br>
><br>
> @@ -65,6 +65,7 @@ typedef enum SpvSourceLanguage_ {<br>
>Â Â Â SpvSourceLanguageGLSL = 2,<br>
>Â Â Â SpvSourceLanguageOpenCL_C = 3,<br>
>Â Â Â SpvSourceLanguageOpenCL_CPP = 4,<br>
> +Â Â SpvSourceLanguageMax = 0x7fffffff,<br>
>Â } SpvSourceLanguage;<br>
><br>
>Â typedef enum SpvExecutionModel_ {<br>
> @@ -75,18 +76,21 @@ typedef enum SpvExecutionModel_ {<br>
>Â Â Â SpvExecutionModelFragment = 4,<br>
>Â Â Â SpvExecutionModelGLCompute = 5,<br>
>Â Â Â SpvExecutionModelKernel = 6,<br>
> +Â Â SpvExecutionModelMax = 0x7fffffff,<br>
>Â } SpvExecutionModel;<br>
><br>
>Â typedef enum SpvAddressingModel_ {<br>
>Â Â Â SpvAddressingModelLogical = 0,<br>
>Â Â Â SpvAddressingModelPhysical32 = 1,<br>
>Â Â Â SpvAddressingModelPhysical64 = 2,<br>
> +Â Â SpvAddressingModelMax = 0x7fffffff,<br>
>Â } SpvAddressingModel;<br>
><br>
>Â typedef enum SpvMemoryModel_ {<br>
>Â Â Â SpvMemoryModelSimple = 0,<br>
>Â Â Â SpvMemoryModelGLSL450 = 1,<br>
>Â Â Â SpvMemoryModelOpenCL = 2,<br>
> +Â Â SpvMemoryModelMax = 0x7fffffff,<br>
>Â } SpvMemoryModel;<br>
><br>
>Â typedef enum SpvExecutionMode_ {<br>
> @@ -121,6 +125,11 @@ typedef enum SpvExecutionMode_ {<br>
>Â Â Â SpvExecutionModeOutputTriangle<wbr>Strip = 29,<br>
>Â Â Â SpvExecutionModeVecTypeHint = 30,<br>
>Â Â Â SpvExecutionModeContractionOff = 31,<br>
> +Â Â SpvExecutionModeInitializer = 33,<br>
> +Â Â SpvExecutionModeFinalizer = 34,<br>
> +Â Â SpvExecutionModeSubgroupSize = 35,<br>
> +Â Â SpvExecutionModeSubgroupsPerWo<wbr>rkgroup = 36,<br>
> +Â Â SpvExecutionModeMax = 0x7fffffff,<br>
>Â } SpvExecutionMode;<br>
><br>
>Â typedef enum SpvStorageClass_ {<br>
> @@ -136,6 +145,7 @@ typedef enum SpvStorageClass_ {<br>
>Â Â Â SpvStorageClassPushConstant = 9,<br>
>Â Â Â SpvStorageClassAtomicCounter = 10,<br>
>Â Â Â SpvStorageClassImage = 11,<br>
> +Â Â SpvStorageClassMax = 0x7fffffff,<br>
>Â } SpvStorageClass;<br>
><br>
>Â typedef enum SpvDim_ {<br>
> @@ -146,6 +156,7 @@ typedef enum SpvDim_ {<br>
>Â Â Â SpvDimRect = 4,<br>
>Â Â Â SpvDimBuffer = 5,<br>
>Â Â Â SpvDimSubpassData = 6,<br>
> +Â Â SpvDimMax = 0x7fffffff,<br>
>Â } SpvDim;<br>
><br>
>Â typedef enum SpvSamplerAddressingMode_ {<br>
> @@ -154,11 +165,13 @@ typedef enum SpvSamplerAddressingMode_ {<br>
>Â Â Â SpvSamplerAddressingModeClamp = 2,<br>
>Â Â Â SpvSamplerAddressingModeRepeat = 3,<br>
>Â Â Â SpvSamplerAddressingModeRepeat<wbr>Mirrored = 4,<br>
> +Â Â SpvSamplerAddressingModeMax = 0x7fffffff,<br>
>Â } SpvSamplerAddressingMode;<br>
><br>
>Â typedef enum SpvSamplerFilterMode_ {<br>
>Â Â Â SpvSamplerFilterModeNearest = 0,<br>
>Â Â Â SpvSamplerFilterModeLinear = 1,<br>
> +Â Â SpvSamplerFilterModeMax = 0x7fffffff,<br>
>Â } SpvSamplerFilterMode;<br>
><br>
>Â typedef enum SpvImageFormat_ {<br>
> @@ -202,6 +215,7 @@ typedef enum SpvImageFormat_ {<br>
>Â Â Â SpvImageFormatRg8ui = 37,<br>
>Â Â Â SpvImageFormatR16ui = 38,<br>
>Â Â Â SpvImageFormatR8ui = 39,<br>
> +Â Â SpvImageFormatMax = 0x7fffffff,<br>
>Â } SpvImageFormat;<br>
><br>
>Â typedef enum SpvImageChannelOrder_ {<br>
> @@ -224,6 +238,8 @@ typedef enum SpvImageChannelOrder_ {<br>
>Â Â Â SpvImageChannelOrdersRGBx = 16,<br>
>Â Â Â SpvImageChannelOrdersRGBA = 17,<br>
>Â Â Â SpvImageChannelOrdersBGRA = 18,<br>
> +Â Â SpvImageChannelOrderABGR = 19,<br>
> +Â Â SpvImageChannelOrderMax = 0x7fffffff,<br>
>Â } SpvImageChannelOrder;<br>
><br>
>Â typedef enum SpvImageChannelDataType_ {<br>
> @@ -244,6 +260,7 @@ typedef enum SpvImageChannelDataType_ {<br>
>Â Â Â SpvImageChannelDataTypeFloat = 14,<br>
>Â Â Â SpvImageChannelDataTypeUnormIn<wbr>t24 = 15,<br>
>Â Â Â SpvImageChannelDataTypeUnormIn<wbr>t101010_2 = 16,<br>
> +Â Â SpvImageChannelDataTypeMax = 0x7fffffff,<br>
>Â } SpvImageChannelDataType;<br>
><br>
>Â typedef enum SpvImageOperandsShift_ {<br>
> @@ -255,6 +272,7 @@ typedef enum SpvImageOperandsShift_ {<br>
>Â Â Â SpvImageOperandsConstOffsetsSh<wbr>ift = 5,<br>
>Â Â Â SpvImageOperandsSampleShift = 6,<br>
>Â Â Â SpvImageOperandsMinLodShift = 7,<br>
> +Â Â SpvImageOperandsMax = 0x7fffffff,<br>
>Â } SpvImageOperandsShift;<br>
><br>
>Â typedef enum SpvImageOperandsMask_ {<br>
> @@ -275,6 +293,7 @@ typedef enum SpvFPFastMathModeShift_ {<br>
>Â Â Â SpvFPFastMathModeNSZShift = 2,<br>
>Â Â Â SpvFPFastMathModeAllowRecipShi<wbr>ft = 3,<br>
>Â Â Â SpvFPFastMathModeFastShift = 4,<br>
> +Â Â SpvFPFastMathModeMax = 0x7fffffff,<br>
>Â } SpvFPFastMathModeShift;<br>
><br>
>Â typedef enum SpvFPFastMathModeMask_ {<br>
> @@ -291,17 +310,20 @@ typedef enum SpvFPRoundingMode_ {<br>
>Â Â Â SpvFPRoundingModeRTZ = 1,<br>
>Â Â Â SpvFPRoundingModeRTP = 2,<br>
>Â Â Â SpvFPRoundingModeRTN = 3,<br>
> +Â Â SpvFPRoundingModeMax = 0x7fffffff,<br>
>Â } SpvFPRoundingMode;<br>
><br>
>Â typedef enum SpvLinkageType_ {<br>
>Â Â Â SpvLinkageTypeExport = 0,<br>
>Â Â Â SpvLinkageTypeImport = 1,<br>
> +Â Â SpvLinkageTypeMax = 0x7fffffff,<br>
>Â } SpvLinkageType;<br>
><br>
>Â typedef enum SpvAccessQualifier_ {<br>
>Â Â Â SpvAccessQualifierReadOnly = 0,<br>
>Â Â Â SpvAccessQualifierWriteOnly = 1,<br>
>Â Â Â SpvAccessQualifierReadWrite = 2,<br>
> +Â Â SpvAccessQualifierMax = 0x7fffffff,<br>
>Â } SpvAccessQualifier;<br>
><br>
>Â typedef enum SpvFunctionParameterAttribute_ {<br>
> @@ -313,6 +335,7 @@ typedef enum SpvFunctionParameterAttribute_ {<br>
>Â Â Â SpvFunctionParameterAttributeN<wbr>oCapture = 5,<br>
>Â Â Â SpvFunctionParameterAttributeN<wbr>oWrite = 6,<br>
>Â Â Â SpvFunctionParameterAttributeN<wbr>oReadWrite = 7,<br>
> +Â Â SpvFunctionParameterAttributeM<wbr>ax = 0x7fffffff,<br>
>Â } SpvFunctionParameterAttribute;<br>
><br>
>Â typedef enum SpvDecoration_ {<br>
> @@ -359,6 +382,8 @@ typedef enum SpvDecoration_ {<br>
>Â Â Â SpvDecorationNoContraction = 42,<br>
>Â Â Â SpvDecorationInputAttachmentIn<wbr>dex = 43,<br>
>Â Â Â SpvDecorationAlignment = 44,<br>
> +Â Â SpvDecorationMaxByteOffset = 45,<br>
> +Â Â SpvDecorationMax = 0x7fffffff,<br>
>Â } SpvDecoration;<br>
><br>
>Â typedef enum SpvBuiltIn_ {<br>
> @@ -403,11 +428,21 @@ typedef enum SpvBuiltIn_ {<br>
>Â Â Â SpvBuiltInSubgroupLocalInvocat<wbr>ionId = 41,<br>
>Â Â Â SpvBuiltInVertexIndex = 42,<br>
>Â Â Â SpvBuiltInInstanceIndex = 43,<br>
> +Â Â SpvBuiltInSubgroupEqMaskKHR = 4416,<br>
> +Â Â SpvBuiltInSubgroupGeMaskKHR = 4417,<br>
> +Â Â SpvBuiltInSubgroupGtMaskKHR = 4418,<br>
> +Â Â SpvBuiltInSubgroupLeMaskKHR = 4419,<br>
> +Â Â SpvBuiltInSubgroupLtMaskKHR = 4420,<br>
> +Â Â SpvBuiltInBaseVertex = 4424,<br>
> +Â Â SpvBuiltInBaseInstance = 4425,<br>
> +Â Â SpvBuiltInDrawIndex = 4426,<br>
> +Â Â SpvBuiltInMax = 0x7fffffff,<br>
>Â } SpvBuiltIn;<br>
><br>
>Â typedef enum SpvSelectionControlShift_ {<br>
>Â Â Â SpvSelectionControlFlattenShif<wbr>t = 0,<br>
>Â Â Â SpvSelectionControlDontFlatten<wbr>Shift = 1,<br>
> +Â Â SpvSelectionControlMax = 0x7fffffff,<br>
>Â } SpvSelectionControlShift;<br>
><br>
>Â typedef enum SpvSelectionControlMask_ {<br>
> @@ -419,12 +454,17 @@ typedef enum SpvSelectionControlMask_ {<br>
>Â typedef enum SpvLoopControlShift_ {<br>
>Â Â Â SpvLoopControlUnrollShift = 0,<br>
>Â Â Â SpvLoopControlDontUnrollShift = 1,<br>
> +Â Â SpvLoopControlDependencyInfini<wbr>teShift = 2,<br>
> +Â Â SpvLoopControlDependencyLength<wbr>Shift = 3,<br>
> +Â Â SpvLoopControlMax = 0x7fffffff,<br>
>Â } SpvLoopControlShift;<br>
><br>
>Â typedef enum SpvLoopControlMask_ {<br>
>Â Â Â SpvLoopControlMaskNone = 0,<br>
>Â Â Â SpvLoopControlUnrollMask = 0x00000001,<br>
>Â Â Â SpvLoopControlDontUnrollMask = 0x00000002,<br>
> +Â Â SpvLoopControlDependencyInfini<wbr>teMask = 0x00000004,<br>
> +Â Â SpvLoopControlDependencyLength<wbr>Mask = 0x00000008,<br>
>Â } SpvLoopControlMask;<br>
><br>
>Â typedef enum SpvFunctionControlShift_ {<br>
> @@ -432,6 +472,7 @@ typedef enum SpvFunctionControlShift_ {<br>
>Â Â Â SpvFunctionControlDontInlineSh<wbr>ift = 1,<br>
>Â Â Â SpvFunctionControlPureShift = 2,<br>
>Â Â Â SpvFunctionControlConstShift = 3,<br>
> +Â Â SpvFunctionControlMax = 0x7fffffff,<br>
>Â } SpvFunctionControlShift;<br>
><br>
>Â typedef enum SpvFunctionControlMask_ {<br>
> @@ -453,6 +494,7 @@ typedef enum SpvMemorySemanticsShift_ {<br>
>Â Â Â SpvMemorySemanticsCrossWorkgro<wbr>upMemoryShift = 9,<br>
>Â Â Â SpvMemorySemanticsAtomicCounte<wbr>rMemoryShift = 10,<br>
>Â Â Â SpvMemorySemanticsImageMemoryS<wbr>hift = 11,<br>
> +Â Â SpvMemorySemanticsMax = 0x7fffffff,<br>
>Â } SpvMemorySemanticsShift;<br>
><br>
>Â typedef enum SpvMemorySemanticsMask_ {<br>
> @@ -473,6 +515,7 @@ typedef enum SpvMemoryAccessShift_ {<br>
>Â Â Â SpvMemoryAccessVolatileShift = 0,<br>
>Â Â Â SpvMemoryAccessAlignedShift = 1,<br>
>Â Â Â SpvMemoryAccessNontemporalShif<wbr>t = 2,<br>
> +Â Â SpvMemoryAccessMax = 0x7fffffff,<br>
>Â } SpvMemoryAccessShift;<br>
><br>
>Â typedef enum SpvMemoryAccessMask_ {<br>
> @@ -488,22 +531,26 @@ typedef enum SpvScope_ {<br>
>Â Â Â SpvScopeWorkgroup = 2,<br>
>Â Â Â SpvScopeSubgroup = 3,<br>
>Â Â Â SpvScopeInvocation = 4,<br>
> +Â Â SpvScopeMax = 0x7fffffff,<br>
>Â } SpvScope;<br>
><br>
>Â typedef enum SpvGroupOperation_ {<br>
>Â Â Â SpvGroupOperationReduce = 0,<br>
>Â Â Â SpvGroupOperationInclusiveScan = 1,<br>
>Â Â Â SpvGroupOperationExclusiveScan = 2,<br>
> +Â Â SpvGroupOperationMax = 0x7fffffff,<br>
>Â } SpvGroupOperation;<br>
><br>
>Â typedef enum SpvKernelEnqueueFlags_ {<br>
>Â Â Â SpvKernelEnqueueFlagsNoWait = 0,<br>
>Â Â Â SpvKernelEnqueueFlagsWaitKerne<wbr>l = 1,<br>
>Â Â Â SpvKernelEnqueueFlagsWaitWorkG<wbr>roup = 2,<br>
> +Â Â SpvKernelEnqueueFlagsMax = 0x7fffffff,<br>
>Â } SpvKernelEnqueueFlags;<br>
><br>
>Â typedef enum SpvKernelProfilingInfoShift_ {<br>
>Â Â Â SpvKernelProfilingInfoCmdExecT<wbr>imeShift = 0,<br>
> +Â Â SpvKernelProfilingInfoMax = 0x7fffffff,<br>
>Â } SpvKernelProfilingInfoShift;<br>
><br>
>Â typedef enum SpvKernelProfilingInfoMask_ {<br>
> @@ -568,6 +615,12 @@ typedef enum SpvCapability_ {<br>
>Â Â Â SpvCapabilityStorageImageReadW<wbr>ithoutFormat = 55,<br>
>Â Â Â SpvCapabilityStorageImageWrite<wbr>WithoutFormat = 56,<br>
>Â Â Â SpvCapabilityMultiViewport = 57,<br>
> +Â Â SpvCapabilitySubgroupDispatch = 58,<br>
> +Â Â SpvCapabilityNamedBarrier = 59,<br>
> +Â Â SpvCapabilityPipeStorage = 60,<br>
> +Â Â SpvCapabilitySubgroupBallotKHR = 4423,<br>
> +Â Â SpvCapabilityDrawParameters = 4427,<br>
> +Â Â SpvCapabilityMax = 0x7fffffff,<br>
>Â } SpvCapability;<br>
><br>
>Â typedef enum SpvOp_ {<br>
> @@ -864,6 +917,20 @@ typedef enum SpvOp_ {<br>
>Â Â Â SpvOpNoLine = 317,<br>
>Â Â Â SpvOpAtomicFlagTestAndSet = 318,<br>
>Â Â Â SpvOpAtomicFlagClear = 319,<br>
> +Â Â SpvOpImageSparseRead = 320,<br>
> +Â Â SpvOpSizeOf = 321,<br>
> +Â Â SpvOpTypePipeStorage = 322,<br>
> +Â Â SpvOpConstantPipeStorage = 323,<br>
> +Â Â SpvOpCreatePipeFromPipeStorage = 324,<br>
> +Â Â SpvOpGetKernelLocalSizeForSubg<wbr>roupCount = 325,<br>
> +Â Â SpvOpGetKernelMaxNumSubgroups = 326,<br>
> +Â Â SpvOpTypeNamedBarrier = 327,<br>
> +Â Â SpvOpNamedBarrierInitialize = 328,<br>
> +Â Â SpvOpMemoryNamedBarrier = 329,<br>
> +Â Â SpvOpModuleProcessed = 330,<br>
> +Â Â SpvOpSubgroupBallotKHR = 4421,<br>
> +Â Â SpvOpSubgroupFirstInvocationKH<wbr>R = 4422,<br>
> +Â Â SpvOpMax = 0x7fffffff,<br>
>Â } SpvOp;<br>
><br>
> #endif // #ifndef spirv_H<br>
> diff --git a/src/compiler/spirv/spirv_<wbr>info.c<br>
> b/src/compiler/spirv/spirv_<wbr>info.c<br>
> index 7a5774c443..1036b41c31 100644<br>
> --- a/src/compiler/spirv/spirv_<wbr>info.c<br>
> +++ b/src/compiler/spirv/spirv_<wbr>info.c<br>
> @@ -82,6 +82,11 @@ static const char * const capability_to_string[] = {<br>
>Â Â Â CAPABILITY(<wbr>StorageImageReadWithoutFormat)<wbr>,<br>
>Â Â Â CAPABILITY(<wbr>StorageImageWriteWithoutFormat<wbr>),<br>
>Â Â Â CAPABILITY(MultiViewport),<br>
> +Â Â CAPABILITY(SubgroupDispatch),<br>
> +Â Â CAPABILITY(NamedBarrier),<br>
> +Â Â CAPABILITY(PipeStorage),<br>
> +Â Â CAPABILITY(SubgroupBallotKHR),<br>
> +Â Â CAPABILITY(DrawParameters),<br>
>Â };<br>
><br>
>Â const char *<br>
> @@ -138,6 +143,7 @@ static const char * const decoration_to_string[] = {<br>
>Â Â Â DECORATION(NoContraction),<br>
>Â Â Â DECORATION(<wbr>InputAttachmentIndex),<br>
>Â Â Â DECORATION(Alignment),<br>
> +Â Â DECORATION(MaxByteOffset),<br>
>Â };<br>
><br>
>Â const char *<br>
> diff --git a/src/compiler/spirv/spirv_to_<wbr>nir.c<br>
> b/src/compiler/spirv/spirv_to_<wbr>nir.c<br>
> index 968502c5fd..6f18af2018 100644<br>
> --- a/src/compiler/spirv/spirv_to_<wbr>nir.c<br>
> +++ b/src/compiler/spirv/spirv_to_<wbr>nir.c<br>
> @@ -561,6 +561,9 @@ struct_member_decoration_cb(<wbr>struct vtn_builder *b,<br>
>Â Â Â Â vtn_warn("Decoration only allowed for CL-style kernels: %s",<br>
>Â Â Â Â Â Â Â Â Â spirv_decoration_to_string(<wbr>dec->decoration));<br>
>Â Â Â Â break;<br>
> +<br>
> +Â Â default:<br>
> +Â Â Â unreachable("Unhandled decoration");<br>
>Â Â Â }<br>
>Â }<br>
><br>
> @@ -638,6 +641,9 @@ type_decoration_cb(struct vtn_builder *b,<br>
>Â Â Â Â vtn_warn("Decoration only allowed for CL-style kernels: %s",<br>
>Â Â Â Â Â Â Â Â Â spirv_decoration_to_string(<wbr>dec->decoration));<br>
>Â Â Â Â break;<br>
> +<br>
> +Â Â default:<br>
> +Â Â Â unreachable("Unhandled decoration");<br>
>Â Â Â }<br>
>Â }<br>
><br>
> @@ -2653,6 +2659,9 @@ vtn_handle_preamble_<wbr>instruction(struct vtn_builder<br>
> *b, SpvOp opcode,<br>
>Â Â Â Â case SpvCapabilityTessellationPoint<wbr>Size:<br>
>Â Â Â Â Â Â spv_check_supported(<wbr>tessellation, cap);<br>
>Â Â Â Â Â Â break;<br>
> +<br>
> +Â Â Â default:<br>
> +Â Â Â Â Â unreachable("Unhandled capability");<br>
>Â Â Â Â }<br>
>Â Â Â Â break;<br>
>Â Â Â }<br>
> @@ -2842,6 +2851,9 @@ vtn_handle_execution_mode(<wbr>struct vtn_builder *b,<br>
> struct vtn_value *entry_point,<br>
>Â Â Â case SpvExecutionModeVecTypeHint:<br>
>Â Â Â case SpvExecutionModeContractionOff<wbr>:<br>
>Â Â Â Â break; /* OpenCL */<br>
> +<br>
> +Â Â default:<br>
> +Â Â Â unreachable("Unhandled execution mode");<br>
>Â Â Â }<br>
>Â }<br>
><br>
> diff --git a/src/compiler/spirv/vtn_<wbr>variables.c<br>
> b/src/compiler/spirv/vtn_<wbr>variables.c<br>
> index 4d1ec789cc..05ac91eedd 100644<br>
> --- a/src/compiler/spirv/vtn_<wbr>variables.c<br>
> +++ b/src/compiler/spirv/vtn_<wbr>variables.c<br>
> @@ -1139,6 +1139,9 @@ apply_var_decoration(struct vtn_builder *b,<br>
> nir_variable *nir_var,<br>
>Â Â Â Â vtn_warn("Decoration only allowed for CL-style kernels: %s",<br>
>Â Â Â Â Â Â Â Â Â spirv_decoration_to_string(<wbr>dec->decoration));<br>
>Â Â Â Â break;<br>
> +<br>
> +Â Â default:<br>
> +Â Â Â unreachable("Unhandled decoration");<br>
>Â Â Â }<br>
>Â }<br>
><br>
> --<br>
> 2.11.0<br>
><br>
> ______________________________<wbr>_________________<br>
> mesa-dev mailing list<br>
> <a href="mailto:mesa-dev@lists.freedesktop.org">mesa-dev@lists.freedesktop.org</a><br>
> <a href="https://lists.freedesktop.org/mailman/listinfo/mesa-dev" rel="noreferrer" target="_blank">https://lists.freedesktop.org/<wbr>mailman/listinfo/mesa-dev</a><br>
______________________________<wbr>_________________<br>
mesa-dev mailing list<br>
<a href="mailto:mesa-dev@lists.freedesktop.org">mesa-dev@lists.freedesktop.org</a><br>
<a href="https://lists.freedesktop.org/mailman/listinfo/mesa-dev" rel="noreferrer" target="_blank">https://lists.freedesktop.org/<wbr>mailman/listinfo/mesa-dev</a><br>
</div></div></blockquote></div><br></div></div>