[Mesa-dev] [PATCH 2/2] spirv: bump headers to SPIRV 1.1

Lionel Landwerlin lionel.g.landwerlin at intel.com
Wed Jan 25 13:56:20 UTC 2017


On 25/01/17 13:13, Bas Nieuwenhuizen wrote:
>
> On Wed, Jan 25, 2017, at 05:06, Lionel Landwerlin wrote:
>> Just to confirm, are you fine with the header update triggering warnings
>> fixed by the following commit?
> Can't you update the  switches before updating the header? That would
> avoid any warnings unless I'm missing stuff.

Fair enough, thanks :)

>
>> Thanks!
>>
>> On 25/01/17 12:45, Bas Nieuwenhuizen wrote:
>>> Can you split the switch changes to a different commit? With that,
>>>
>>> Reviewed-by: Bas Nieuwenhuizen <bas at basnieuwenhuizen.nl>
>>>
>>> for the series.
>>>
>>> On Wed, Jan 25, 2017, at 04:39, Lionel Landwerlin wrote:
>>>> Signed-off-by: Lionel Landwerlin <lionel.g.landwerlin at intel.com>
>>>> ---
>>>>    src/compiler/spirv/GLSL.std.450.h  | 12 ++++--
>>>>    src/compiler/spirv/spirv.h         | 77
>>>>    +++++++++++++++++++++++++++++++++++---
>>>>    src/compiler/spirv/spirv_info.c    |  6 +++
>>>>    src/compiler/spirv/spirv_to_nir.c  | 12 ++++++
>>>>    src/compiler/spirv/vtn_variables.c |  3 ++
>>>>    5 files changed, 101 insertions(+), 9 deletions(-)
>>>>
>>>> diff --git a/src/compiler/spirv/GLSL.std.450.h
>>>> b/src/compiler/spirv/GLSL.std.450.h
>>>> index d1c9b5c1d4..54cc00e9a8 100644
>>>> --- a/src/compiler/spirv/GLSL.std.450.h
>>>> +++ b/src/compiler/spirv/GLSL.std.450.h
>>>> @@ -1,5 +1,5 @@
>>>>    /*
>>>> -** Copyright (c) 2014-2015 The Khronos Group Inc.
>>>> +** Copyright (c) 2014-2016 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"),
>>>> @@ -27,8 +27,8 @@
>>>>    #ifndef GLSLstd450_H
>>>>    #define GLSLstd450_H
>>>>    
>>>> -const int GLSLstd450Version = 99;
>>>> -const int GLSLstd450Revision = 3;
>>>> +static const int GLSLstd450Version = 100;
>>>> +static const int GLSLstd450Revision = 3;
>>>>    
>>>>    enum GLSLstd450 {
>>>>        GLSLstd450Bad = 0,              // Don't use
>>>> @@ -83,7 +83,7 @@ enum GLSLstd450 {
>>>>        GLSLstd450UClamp = 44,
>>>>        GLSLstd450SClamp = 45,
>>>>        GLSLstd450FMix = 46,
>>>> -    GLSLstd450IMix = 47,
>>>> +    GLSLstd450IMix = 47,            // Reserved
>>>>        GLSLstd450Step = 48,
>>>>        GLSLstd450SmoothStep = 49,
>>>>    
>>>> @@ -121,6 +121,10 @@ enum GLSLstd450 {
>>>>        GLSLstd450InterpolateAtSample = 77,
>>>>        GLSLstd450InterpolateAtOffset = 78,
>>>>    
>>>> +    GLSLstd450NMin = 79,
>>>> +    GLSLstd450NMax = 80,
>>>> +    GLSLstd450NClamp = 81,
>>>> +
>>>>        GLSLstd450Count
>>>>    };
>>>>    
>>>> diff --git a/src/compiler/spirv/spirv.h b/src/compiler/spirv/spirv.h
>>>> index 63bcb2f88d..769c10225d 100644
>>>> --- a/src/compiler/spirv/spirv.h
>>>> +++ b/src/compiler/spirv/spirv.h
>>>> @@ -1,5 +1,5 @@
>>>>    /*
>>>> -** Copyright (c) 2014-2015 The Khronos Group Inc.
>>>> +** Copyright (c) 2014-2016 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"),
>>>> @@ -50,12 +50,12 @@
>>>>    
>>>>    typedef unsigned int SpvId;
>>>>    
>>>> -#define SPV_VERSION 0x10000
>>>> -#define SPV_REVISION 2
>>>> +#define SPV_VERSION 0x10100
>>>> +#define SPV_REVISION 4
>>>>    
>>>>    static const unsigned int SpvMagicNumber = 0x07230203;
>>>> -static const unsigned int SpvVersion = 0x00010000;
>>>> -static const unsigned int SpvRevision = 2;
>>>> +static const unsigned int SpvVersion = 0x00010100;
>>>> +static const unsigned int SpvRevision = 4;
>>>>    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,
>>>> +    SpvSourceLanguageMax = 0x7fffffff,
>>>>    } SpvSourceLanguage;
>>>>    
>>>>    typedef enum SpvExecutionModel_ {
>>>> @@ -75,18 +76,21 @@ typedef enum SpvExecutionModel_ {
>>>>        SpvExecutionModelFragment = 4,
>>>>        SpvExecutionModelGLCompute = 5,
>>>>        SpvExecutionModelKernel = 6,
>>>> +    SpvExecutionModelMax = 0x7fffffff,
>>>>    } SpvExecutionModel;
>>>>    
>>>>    typedef enum SpvAddressingModel_ {
>>>>        SpvAddressingModelLogical = 0,
>>>>        SpvAddressingModelPhysical32 = 1,
>>>>        SpvAddressingModelPhysical64 = 2,
>>>> +    SpvAddressingModelMax = 0x7fffffff,
>>>>    } SpvAddressingModel;
>>>>    
>>>>    typedef enum SpvMemoryModel_ {
>>>>        SpvMemoryModelSimple = 0,
>>>>        SpvMemoryModelGLSL450 = 1,
>>>>        SpvMemoryModelOpenCL = 2,
>>>> +    SpvMemoryModelMax = 0x7fffffff,
>>>>    } SpvMemoryModel;
>>>>    
>>>>    typedef enum SpvExecutionMode_ {
>>>> @@ -121,6 +125,11 @@ typedef enum SpvExecutionMode_ {
>>>>        SpvExecutionModeOutputTriangleStrip = 29,
>>>>        SpvExecutionModeVecTypeHint = 30,
>>>>        SpvExecutionModeContractionOff = 31,
>>>> +    SpvExecutionModeInitializer = 33,
>>>> +    SpvExecutionModeFinalizer = 34,
>>>> +    SpvExecutionModeSubgroupSize = 35,
>>>> +    SpvExecutionModeSubgroupsPerWorkgroup = 36,
>>>> +    SpvExecutionModeMax = 0x7fffffff,
>>>>    } SpvExecutionMode;
>>>>    
>>>>    typedef enum SpvStorageClass_ {
>>>> @@ -136,6 +145,7 @@ typedef enum SpvStorageClass_ {
>>>>        SpvStorageClassPushConstant = 9,
>>>>        SpvStorageClassAtomicCounter = 10,
>>>>        SpvStorageClassImage = 11,
>>>> +    SpvStorageClassMax = 0x7fffffff,
>>>>    } SpvStorageClass;
>>>>    
>>>>    typedef enum SpvDim_ {
>>>> @@ -146,6 +156,7 @@ typedef enum SpvDim_ {
>>>>        SpvDimRect = 4,
>>>>        SpvDimBuffer = 5,
>>>>        SpvDimSubpassData = 6,
>>>> +    SpvDimMax = 0x7fffffff,
>>>>    } SpvDim;
>>>>    
>>>>    typedef enum SpvSamplerAddressingMode_ {
>>>> @@ -154,11 +165,13 @@ typedef enum SpvSamplerAddressingMode_ {
>>>>        SpvSamplerAddressingModeClamp = 2,
>>>>        SpvSamplerAddressingModeRepeat = 3,
>>>>        SpvSamplerAddressingModeRepeatMirrored = 4,
>>>> +    SpvSamplerAddressingModeMax = 0x7fffffff,
>>>>    } SpvSamplerAddressingMode;
>>>>    
>>>>    typedef enum SpvSamplerFilterMode_ {
>>>>        SpvSamplerFilterModeNearest = 0,
>>>>        SpvSamplerFilterModeLinear = 1,
>>>> +    SpvSamplerFilterModeMax = 0x7fffffff,
>>>>    } SpvSamplerFilterMode;
>>>>    
>>>>    typedef enum SpvImageFormat_ {
>>>> @@ -202,6 +215,7 @@ typedef enum SpvImageFormat_ {
>>>>        SpvImageFormatRg8ui = 37,
>>>>        SpvImageFormatR16ui = 38,
>>>>        SpvImageFormatR8ui = 39,
>>>> +    SpvImageFormatMax = 0x7fffffff,
>>>>    } SpvImageFormat;
>>>>    
>>>>    typedef enum SpvImageChannelOrder_ {
>>>> @@ -224,6 +238,8 @@ typedef enum SpvImageChannelOrder_ {
>>>>        SpvImageChannelOrdersRGBx = 16,
>>>>        SpvImageChannelOrdersRGBA = 17,
>>>>        SpvImageChannelOrdersBGRA = 18,
>>>> +    SpvImageChannelOrderABGR = 19,
>>>> +    SpvImageChannelOrderMax = 0x7fffffff,
>>>>    } SpvImageChannelOrder;
>>>>    
>>>>    typedef enum SpvImageChannelDataType_ {
>>>> @@ -244,6 +260,7 @@ typedef enum SpvImageChannelDataType_ {
>>>>        SpvImageChannelDataTypeFloat = 14,
>>>>        SpvImageChannelDataTypeUnormInt24 = 15,
>>>>        SpvImageChannelDataTypeUnormInt101010_2 = 16,
>>>> +    SpvImageChannelDataTypeMax = 0x7fffffff,
>>>>    } SpvImageChannelDataType;
>>>>    
>>>>    typedef enum SpvImageOperandsShift_ {
>>>> @@ -255,6 +272,7 @@ typedef enum SpvImageOperandsShift_ {
>>>>        SpvImageOperandsConstOffsetsShift = 5,
>>>>        SpvImageOperandsSampleShift = 6,
>>>>        SpvImageOperandsMinLodShift = 7,
>>>> +    SpvImageOperandsMax = 0x7fffffff,
>>>>    } SpvImageOperandsShift;
>>>>    
>>>>    typedef enum SpvImageOperandsMask_ {
>>>> @@ -275,6 +293,7 @@ typedef enum SpvFPFastMathModeShift_ {
>>>>        SpvFPFastMathModeNSZShift = 2,
>>>>        SpvFPFastMathModeAllowRecipShift = 3,
>>>>        SpvFPFastMathModeFastShift = 4,
>>>> +    SpvFPFastMathModeMax = 0x7fffffff,
>>>>    } SpvFPFastMathModeShift;
>>>>    
>>>>    typedef enum SpvFPFastMathModeMask_ {
>>>> @@ -291,17 +310,20 @@ typedef enum SpvFPRoundingMode_ {
>>>>        SpvFPRoundingModeRTZ = 1,
>>>>        SpvFPRoundingModeRTP = 2,
>>>>        SpvFPRoundingModeRTN = 3,
>>>> +    SpvFPRoundingModeMax = 0x7fffffff,
>>>>    } SpvFPRoundingMode;
>>>>    
>>>>    typedef enum SpvLinkageType_ {
>>>>        SpvLinkageTypeExport = 0,
>>>>        SpvLinkageTypeImport = 1,
>>>> +    SpvLinkageTypeMax = 0x7fffffff,
>>>>    } SpvLinkageType;
>>>>    
>>>>    typedef enum SpvAccessQualifier_ {
>>>>        SpvAccessQualifierReadOnly = 0,
>>>>        SpvAccessQualifierWriteOnly = 1,
>>>>        SpvAccessQualifierReadWrite = 2,
>>>> +    SpvAccessQualifierMax = 0x7fffffff,
>>>>    } SpvAccessQualifier;
>>>>    
>>>>    typedef enum SpvFunctionParameterAttribute_ {
>>>> @@ -313,6 +335,7 @@ typedef enum SpvFunctionParameterAttribute_ {
>>>>        SpvFunctionParameterAttributeNoCapture = 5,
>>>>        SpvFunctionParameterAttributeNoWrite = 6,
>>>>        SpvFunctionParameterAttributeNoReadWrite = 7,
>>>> +    SpvFunctionParameterAttributeMax = 0x7fffffff,
>>>>    } SpvFunctionParameterAttribute;
>>>>    
>>>>    typedef enum SpvDecoration_ {
>>>> @@ -359,6 +382,8 @@ typedef enum SpvDecoration_ {
>>>>        SpvDecorationNoContraction = 42,
>>>>        SpvDecorationInputAttachmentIndex = 43,
>>>>        SpvDecorationAlignment = 44,
>>>> +    SpvDecorationMaxByteOffset = 45,
>>>> +    SpvDecorationMax = 0x7fffffff,
>>>>    } SpvDecoration;
>>>>    
>>>>    typedef enum SpvBuiltIn_ {
>>>> @@ -403,11 +428,21 @@ typedef enum SpvBuiltIn_ {
>>>>        SpvBuiltInSubgroupLocalInvocationId = 41,
>>>>        SpvBuiltInVertexIndex = 42,
>>>>        SpvBuiltInInstanceIndex = 43,
>>>> +    SpvBuiltInSubgroupEqMaskKHR = 4416,
>>>> +    SpvBuiltInSubgroupGeMaskKHR = 4417,
>>>> +    SpvBuiltInSubgroupGtMaskKHR = 4418,
>>>> +    SpvBuiltInSubgroupLeMaskKHR = 4419,
>>>> +    SpvBuiltInSubgroupLtMaskKHR = 4420,
>>>> +    SpvBuiltInBaseVertex = 4424,
>>>> +    SpvBuiltInBaseInstance = 4425,
>>>> +    SpvBuiltInDrawIndex = 4426,
>>>> +    SpvBuiltInMax = 0x7fffffff,
>>>>    } SpvBuiltIn;
>>>>    
>>>>    typedef enum SpvSelectionControlShift_ {
>>>>        SpvSelectionControlFlattenShift = 0,
>>>>        SpvSelectionControlDontFlattenShift = 1,
>>>> +    SpvSelectionControlMax = 0x7fffffff,
>>>>    } SpvSelectionControlShift;
>>>>    
>>>>    typedef enum SpvSelectionControlMask_ {
>>>> @@ -419,12 +454,17 @@ typedef enum SpvSelectionControlMask_ {
>>>>    typedef enum SpvLoopControlShift_ {
>>>>        SpvLoopControlUnrollShift = 0,
>>>>        SpvLoopControlDontUnrollShift = 1,
>>>> +    SpvLoopControlDependencyInfiniteShift = 2,
>>>> +    SpvLoopControlDependencyLengthShift = 3,
>>>> +    SpvLoopControlMax = 0x7fffffff,
>>>>    } SpvLoopControlShift;
>>>>    
>>>>    typedef enum SpvLoopControlMask_ {
>>>>        SpvLoopControlMaskNone = 0,
>>>>        SpvLoopControlUnrollMask = 0x00000001,
>>>>        SpvLoopControlDontUnrollMask = 0x00000002,
>>>> +    SpvLoopControlDependencyInfiniteMask = 0x00000004,
>>>> +    SpvLoopControlDependencyLengthMask = 0x00000008,
>>>>    } SpvLoopControlMask;
>>>>    
>>>>    typedef enum SpvFunctionControlShift_ {
>>>> @@ -432,6 +472,7 @@ typedef enum SpvFunctionControlShift_ {
>>>>        SpvFunctionControlDontInlineShift = 1,
>>>>        SpvFunctionControlPureShift = 2,
>>>>        SpvFunctionControlConstShift = 3,
>>>> +    SpvFunctionControlMax = 0x7fffffff,
>>>>    } SpvFunctionControlShift;
>>>>    
>>>>    typedef enum SpvFunctionControlMask_ {
>>>> @@ -453,6 +494,7 @@ typedef enum SpvMemorySemanticsShift_ {
>>>>        SpvMemorySemanticsCrossWorkgroupMemoryShift = 9,
>>>>        SpvMemorySemanticsAtomicCounterMemoryShift = 10,
>>>>        SpvMemorySemanticsImageMemoryShift = 11,
>>>> +    SpvMemorySemanticsMax = 0x7fffffff,
>>>>    } SpvMemorySemanticsShift;
>>>>    
>>>>    typedef enum SpvMemorySemanticsMask_ {
>>>> @@ -473,6 +515,7 @@ typedef enum SpvMemoryAccessShift_ {
>>>>        SpvMemoryAccessVolatileShift = 0,
>>>>        SpvMemoryAccessAlignedShift = 1,
>>>>        SpvMemoryAccessNontemporalShift = 2,
>>>> +    SpvMemoryAccessMax = 0x7fffffff,
>>>>    } SpvMemoryAccessShift;
>>>>    
>>>>    typedef enum SpvMemoryAccessMask_ {
>>>> @@ -488,22 +531,26 @@ typedef enum SpvScope_ {
>>>>        SpvScopeWorkgroup = 2,
>>>>        SpvScopeSubgroup = 3,
>>>>        SpvScopeInvocation = 4,
>>>> +    SpvScopeMax = 0x7fffffff,
>>>>    } SpvScope;
>>>>    
>>>>    typedef enum SpvGroupOperation_ {
>>>>        SpvGroupOperationReduce = 0,
>>>>        SpvGroupOperationInclusiveScan = 1,
>>>>        SpvGroupOperationExclusiveScan = 2,
>>>> +    SpvGroupOperationMax = 0x7fffffff,
>>>>    } SpvGroupOperation;
>>>>    
>>>>    typedef enum SpvKernelEnqueueFlags_ {
>>>>        SpvKernelEnqueueFlagsNoWait = 0,
>>>>        SpvKernelEnqueueFlagsWaitKernel = 1,
>>>>        SpvKernelEnqueueFlagsWaitWorkGroup = 2,
>>>> +    SpvKernelEnqueueFlagsMax = 0x7fffffff,
>>>>    } SpvKernelEnqueueFlags;
>>>>    
>>>>    typedef enum SpvKernelProfilingInfoShift_ {
>>>>        SpvKernelProfilingInfoCmdExecTimeShift = 0,
>>>> +    SpvKernelProfilingInfoMax = 0x7fffffff,
>>>>    } SpvKernelProfilingInfoShift;
>>>>    
>>>>    typedef enum SpvKernelProfilingInfoMask_ {
>>>> @@ -568,6 +615,12 @@ typedef enum SpvCapability_ {
>>>>        SpvCapabilityStorageImageReadWithoutFormat = 55,
>>>>        SpvCapabilityStorageImageWriteWithoutFormat = 56,
>>>>        SpvCapabilityMultiViewport = 57,
>>>> +    SpvCapabilitySubgroupDispatch = 58,
>>>> +    SpvCapabilityNamedBarrier = 59,
>>>> +    SpvCapabilityPipeStorage = 60,
>>>> +    SpvCapabilitySubgroupBallotKHR = 4423,
>>>> +    SpvCapabilityDrawParameters = 4427,
>>>> +    SpvCapabilityMax = 0x7fffffff,
>>>>    } SpvCapability;
>>>>    
>>>>    typedef enum SpvOp_ {
>>>> @@ -864,6 +917,20 @@ typedef enum SpvOp_ {
>>>>        SpvOpNoLine = 317,
>>>>        SpvOpAtomicFlagTestAndSet = 318,
>>>>        SpvOpAtomicFlagClear = 319,
>>>> +    SpvOpImageSparseRead = 320,
>>>> +    SpvOpSizeOf = 321,
>>>> +    SpvOpTypePipeStorage = 322,
>>>> +    SpvOpConstantPipeStorage = 323,
>>>> +    SpvOpCreatePipeFromPipeStorage = 324,
>>>> +    SpvOpGetKernelLocalSizeForSubgroupCount = 325,
>>>> +    SpvOpGetKernelMaxNumSubgroups = 326,
>>>> +    SpvOpTypeNamedBarrier = 327,
>>>> +    SpvOpNamedBarrierInitialize = 328,
>>>> +    SpvOpMemoryNamedBarrier = 329,
>>>> +    SpvOpModuleProcessed = 330,
>>>> +    SpvOpSubgroupBallotKHR = 4421,
>>>> +    SpvOpSubgroupFirstInvocationKHR = 4422,
>>>> +    SpvOpMax = 0x7fffffff,
>>>>    } SpvOp;
>>>>    
>>>>    #endif  // #ifndef spirv_H
>>>> diff --git a/src/compiler/spirv/spirv_info.c
>>>> b/src/compiler/spirv/spirv_info.c
>>>> index 7a5774c443..1036b41c31 100644
>>>> --- a/src/compiler/spirv/spirv_info.c
>>>> +++ b/src/compiler/spirv/spirv_info.c
>>>> @@ -82,6 +82,11 @@ static const char * const capability_to_string[] = {
>>>>       CAPABILITY(StorageImageReadWithoutFormat),
>>>>       CAPABILITY(StorageImageWriteWithoutFormat),
>>>>       CAPABILITY(MultiViewport),
>>>> +   CAPABILITY(SubgroupDispatch),
>>>> +   CAPABILITY(NamedBarrier),
>>>> +   CAPABILITY(PipeStorage),
>>>> +   CAPABILITY(SubgroupBallotKHR),
>>>> +   CAPABILITY(DrawParameters),
>>>>    };
>>>>    
>>>>    const char *
>>>> @@ -138,6 +143,7 @@ static const char * const decoration_to_string[] = {
>>>>       DECORATION(NoContraction),
>>>>       DECORATION(InputAttachmentIndex),
>>>>       DECORATION(Alignment),
>>>> +   DECORATION(MaxByteOffset),
>>>>    };
>>>>    
>>>>    const char *
>>>> diff --git a/src/compiler/spirv/spirv_to_nir.c
>>>> b/src/compiler/spirv/spirv_to_nir.c
>>>> index 968502c5fd..6f18af2018 100644
>>>> --- a/src/compiler/spirv/spirv_to_nir.c
>>>> +++ b/src/compiler/spirv/spirv_to_nir.c
>>>> @@ -561,6 +561,9 @@ struct_member_decoration_cb(struct vtn_builder *b,
>>>>          vtn_warn("Decoration only allowed for CL-style kernels: %s",
>>>>                   spirv_decoration_to_string(dec->decoration));
>>>>          break;
>>>> +
>>>> +   default:
>>>> +      unreachable("Unhandled decoration");
>>>>       }
>>>>    }
>>>>    
>>>> @@ -638,6 +641,9 @@ type_decoration_cb(struct vtn_builder *b,
>>>>          vtn_warn("Decoration only allowed for CL-style kernels: %s",
>>>>                   spirv_decoration_to_string(dec->decoration));
>>>>          break;
>>>> +
>>>> +   default:
>>>> +      unreachable("Unhandled decoration");
>>>>       }
>>>>    }
>>>>    
>>>> @@ -2653,6 +2659,9 @@ vtn_handle_preamble_instruction(struct vtn_builder
>>>> *b, SpvOp opcode,
>>>>          case SpvCapabilityTessellationPointSize:
>>>>             spv_check_supported(tessellation, cap);
>>>>             break;
>>>> +
>>>> +      default:
>>>> +         unreachable("Unhandled capability");
>>>>          }
>>>>          break;
>>>>       }
>>>> @@ -2842,6 +2851,9 @@ vtn_handle_execution_mode(struct vtn_builder *b,
>>>> struct vtn_value *entry_point,
>>>>       case SpvExecutionModeVecTypeHint:
>>>>       case SpvExecutionModeContractionOff:
>>>>          break; /* OpenCL */
>>>> +
>>>> +   default:
>>>> +      unreachable("Unhandled execution mode");
>>>>       }
>>>>    }
>>>>    
>>>> diff --git a/src/compiler/spirv/vtn_variables.c
>>>> b/src/compiler/spirv/vtn_variables.c
>>>> index 4d1ec789cc..05ac91eedd 100644
>>>> --- a/src/compiler/spirv/vtn_variables.c
>>>> +++ b/src/compiler/spirv/vtn_variables.c
>>>> @@ -1139,6 +1139,9 @@ apply_var_decoration(struct vtn_builder *b,
>>>> nir_variable *nir_var,
>>>>          vtn_warn("Decoration only allowed for CL-style kernels: %s",
>>>>                   spirv_decoration_to_string(dec->decoration));
>>>>          break;
>>>> +
>>>> +   default:
>>>> +      unreachable("Unhandled decoration");
>>>>       }
>>>>    }
>>>>    
>>>> -- 
>>>> 2.11.0
>>>>
>>>> _______________________________________________
>>>> mesa-dev mailing list
>>>> mesa-dev at lists.freedesktop.org
>>>> https://lists.freedesktop.org/mailman/listinfo/mesa-dev
>>> _______________________________________________
>>> mesa-dev mailing list
>>> mesa-dev at lists.freedesktop.org
>>> https://lists.freedesktop.org/mailman/listinfo/mesa-dev
>>



More information about the mesa-dev mailing list