<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>