Branimir Karadžić 7 роки тому
батько
коміт
ba4a90b9bd
100 змінених файлів з 1097 додано та 358 видалено
  1. 430 228
      3rdparty/glslang/SPIRV/GlslangToSpv.cpp
  2. 1 1
      3rdparty/glslang/SPIRV/SPVRemapper.cpp
  3. 5 6
      3rdparty/glslang/SPIRV/SpvBuilder.cpp
  4. 8 7
      3rdparty/glslang/SPIRV/SpvBuilder.h
  5. 4 1
      3rdparty/glslang/SPIRV/disassemble.cpp
  6. 221 1
      3rdparty/glslang/SPIRV/doc.cpp
  7. 52 4
      3rdparty/glslang/SPIRV/spirv.hpp
  8. 48 18
      3rdparty/glslang/StandAlone/StandAlone.cpp
  9. 1 1
      3rdparty/glslang/Test/baseLegalResults/hlsl.aliasOpaque.frag.out
  10. 1 1
      3rdparty/glslang/Test/baseLegalResults/hlsl.flattenOpaque.frag.out
  11. 1 1
      3rdparty/glslang/Test/baseLegalResults/hlsl.flattenOpaqueInit.vert.out
  12. 1 1
      3rdparty/glslang/Test/baseLegalResults/hlsl.flattenOpaqueInitMix.vert.out
  13. 1 1
      3rdparty/glslang/Test/baseLegalResults/hlsl.flattenSubset.frag.out
  14. 1 1
      3rdparty/glslang/Test/baseLegalResults/hlsl.flattenSubset2.frag.out
  15. 1 1
      3rdparty/glslang/Test/baseLegalResults/hlsl.partialFlattenLocal.vert.out
  16. 1 1
      3rdparty/glslang/Test/baseLegalResults/hlsl.partialFlattenMixed.vert.out
  17. 4 1
      3rdparty/glslang/Test/baseResults/120.frag.out
  18. 2 2
      3rdparty/glslang/Test/baseResults/constFoldIntMin.frag.out
  19. 233 0
      3rdparty/glslang/Test/baseResults/findFunction.frag.out
  20. 1 1
      3rdparty/glslang/Test/baseResults/glsl.entryPointRename.vert.bad.out
  21. 1 1
      3rdparty/glslang/Test/baseResults/glsl.entryPointRename.vert.out
  22. 1 1
      3rdparty/glslang/Test/baseResults/glspv.version.frag.out
  23. 1 1
      3rdparty/glslang/Test/baseResults/hlsl.PointSize.geom.out
  24. 1 1
      3rdparty/glslang/Test/baseResults/hlsl.PointSize.vert.out
  25. 1 1
      3rdparty/glslang/Test/baseResults/hlsl.aliasOpaque.frag.out
  26. 1 1
      3rdparty/glslang/Test/baseResults/hlsl.amend.frag.out
  27. 1 1
      3rdparty/glslang/Test/baseResults/hlsl.array.flatten.frag.out
  28. 1 1
      3rdparty/glslang/Test/baseResults/hlsl.array.frag.out
  29. 1 1
      3rdparty/glslang/Test/baseResults/hlsl.array.implicit-size.frag.out
  30. 1 1
      3rdparty/glslang/Test/baseResults/hlsl.array.multidim.frag.out
  31. 1 1
      3rdparty/glslang/Test/baseResults/hlsl.assoc.frag.out
  32. 1 1
      3rdparty/glslang/Test/baseResults/hlsl.attribute.expression.comp.out
  33. 1 1
      3rdparty/glslang/Test/baseResults/hlsl.attribute.frag.out
  34. 1 1
      3rdparty/glslang/Test/baseResults/hlsl.attributeC11.frag.out
  35. 1 1
      3rdparty/glslang/Test/baseResults/hlsl.attributeGlobalBuffer.frag.out
  36. 1 1
      3rdparty/glslang/Test/baseResults/hlsl.basic.comp.out
  37. 1 1
      3rdparty/glslang/Test/baseResults/hlsl.basic.geom.out
  38. 1 1
      3rdparty/glslang/Test/baseResults/hlsl.boolConv.vert.out
  39. 1 1
      3rdparty/glslang/Test/baseResults/hlsl.buffer.frag.out
  40. 1 1
      3rdparty/glslang/Test/baseResults/hlsl.calculatelod.dx10.frag.out
  41. 1 1
      3rdparty/glslang/Test/baseResults/hlsl.cast.frag.out
  42. 1 1
      3rdparty/glslang/Test/baseResults/hlsl.cbuffer-identifier.vert.out
  43. 1 1
      3rdparty/glslang/Test/baseResults/hlsl.charLit.vert.out
  44. 1 1
      3rdparty/glslang/Test/baseResults/hlsl.clip.frag.out
  45. 1 1
      3rdparty/glslang/Test/baseResults/hlsl.clipdistance-1.frag.out
  46. 1 1
      3rdparty/glslang/Test/baseResults/hlsl.clipdistance-1.geom.out
  47. 1 1
      3rdparty/glslang/Test/baseResults/hlsl.clipdistance-1.vert.out
  48. 1 1
      3rdparty/glslang/Test/baseResults/hlsl.clipdistance-2.frag.out
  49. 1 1
      3rdparty/glslang/Test/baseResults/hlsl.clipdistance-2.geom.out
  50. 1 1
      3rdparty/glslang/Test/baseResults/hlsl.clipdistance-2.vert.out
  51. 1 1
      3rdparty/glslang/Test/baseResults/hlsl.clipdistance-3.frag.out
  52. 1 1
      3rdparty/glslang/Test/baseResults/hlsl.clipdistance-3.geom.out
  53. 1 1
      3rdparty/glslang/Test/baseResults/hlsl.clipdistance-3.vert.out
  54. 1 1
      3rdparty/glslang/Test/baseResults/hlsl.clipdistance-4.frag.out
  55. 1 1
      3rdparty/glslang/Test/baseResults/hlsl.clipdistance-4.geom.out
  56. 1 1
      3rdparty/glslang/Test/baseResults/hlsl.clipdistance-4.vert.out
  57. 1 1
      3rdparty/glslang/Test/baseResults/hlsl.clipdistance-5.frag.out
  58. 1 1
      3rdparty/glslang/Test/baseResults/hlsl.clipdistance-5.vert.out
  59. 1 1
      3rdparty/glslang/Test/baseResults/hlsl.clipdistance-6.frag.out
  60. 1 1
      3rdparty/glslang/Test/baseResults/hlsl.clipdistance-6.vert.out
  61. 1 1
      3rdparty/glslang/Test/baseResults/hlsl.clipdistance-7.frag.out
  62. 1 1
      3rdparty/glslang/Test/baseResults/hlsl.clipdistance-7.vert.out
  63. 1 1
      3rdparty/glslang/Test/baseResults/hlsl.clipdistance-8.frag.out
  64. 1 1
      3rdparty/glslang/Test/baseResults/hlsl.clipdistance-8.vert.out
  65. 1 1
      3rdparty/glslang/Test/baseResults/hlsl.clipdistance-9.frag.out
  66. 1 1
      3rdparty/glslang/Test/baseResults/hlsl.clipdistance-9.vert.out
  67. 1 1
      3rdparty/glslang/Test/baseResults/hlsl.color.hull.tesc.out
  68. 1 1
      3rdparty/glslang/Test/baseResults/hlsl.comparison.vec.frag.out
  69. 1 1
      3rdparty/glslang/Test/baseResults/hlsl.conditional.frag.out
  70. 1 1
      3rdparty/glslang/Test/baseResults/hlsl.constantbuffer.frag.out
  71. 1 1
      3rdparty/glslang/Test/baseResults/hlsl.constructArray.vert.out
  72. 1 1
      3rdparty/glslang/Test/baseResults/hlsl.constructexpr.frag.out
  73. 1 1
      3rdparty/glslang/Test/baseResults/hlsl.constructimat.frag.out
  74. 1 1
      3rdparty/glslang/Test/baseResults/hlsl.dashI.vert.out
  75. 1 1
      3rdparty/glslang/Test/baseResults/hlsl.deadFunctionMissingBody.vert.out
  76. 1 1
      3rdparty/glslang/Test/baseResults/hlsl.depthGreater.frag.out
  77. 1 1
      3rdparty/glslang/Test/baseResults/hlsl.depthLess.frag.out
  78. 1 1
      3rdparty/glslang/Test/baseResults/hlsl.discard.frag.out
  79. 1 1
      3rdparty/glslang/Test/baseResults/hlsl.doLoop.frag.out
  80. 1 1
      3rdparty/glslang/Test/baseResults/hlsl.domain.1.tese.out
  81. 1 1
      3rdparty/glslang/Test/baseResults/hlsl.domain.2.tese.out
  82. 1 1
      3rdparty/glslang/Test/baseResults/hlsl.domain.3.tese.out
  83. 1 1
      3rdparty/glslang/Test/baseResults/hlsl.emptystruct.init.vert.out
  84. 1 1
      3rdparty/glslang/Test/baseResults/hlsl.emptystructreturn.frag.out
  85. 1 1
      3rdparty/glslang/Test/baseResults/hlsl.emptystructreturn.vert.out
  86. 1 1
      3rdparty/glslang/Test/baseResults/hlsl.entry-in.frag.out
  87. 1 1
      3rdparty/glslang/Test/baseResults/hlsl.entry-out.frag.out
  88. 1 1
      3rdparty/glslang/Test/baseResults/hlsl.entry.rename.frag.out
  89. 1 1
      3rdparty/glslang/Test/baseResults/hlsl.explicitDescriptorSet-2.frag.out
  90. 1 1
      3rdparty/glslang/Test/baseResults/hlsl.explicitDescriptorSet.frag.out
  91. 1 1
      3rdparty/glslang/Test/baseResults/hlsl.flatten.return.frag.out
  92. 1 1
      3rdparty/glslang/Test/baseResults/hlsl.flattenOpaque.frag.out
  93. 1 1
      3rdparty/glslang/Test/baseResults/hlsl.flattenOpaqueInit.vert.out
  94. 1 1
      3rdparty/glslang/Test/baseResults/hlsl.flattenOpaqueInitMix.vert.out
  95. 1 1
      3rdparty/glslang/Test/baseResults/hlsl.flattenSubset.frag.out
  96. 1 1
      3rdparty/glslang/Test/baseResults/hlsl.flattenSubset2.frag.out
  97. 1 1
      3rdparty/glslang/Test/baseResults/hlsl.float1.frag.out
  98. 1 1
      3rdparty/glslang/Test/baseResults/hlsl.float4.frag.out
  99. 1 1
      3rdparty/glslang/Test/baseResults/hlsl.forLoop.frag.out
  100. 1 1
      3rdparty/glslang/Test/baseResults/hlsl.fraggeom.frag.out

Різницю між файлами не показано, бо вона завелика
+ 430 - 228
3rdparty/glslang/SPIRV/GlslangToSpv.cpp


+ 1 - 1
3rdparty/glslang/SPIRV/SPVRemapper.cpp

@@ -256,7 +256,7 @@ namespace spv {
 
     spv::Id spirvbin_t::localId(spv::Id id, spv::Id newId)
     {
-        assert(id != spv::NoResult && newId != spv::NoResult);
+        //assert(id != spv::NoResult && newId != spv::NoResult);
 
         if (id > bound()) {
             error(std::string("ID out of range: ") + std::to_string(id));

+ 5 - 6
3rdparty/glslang/SPIRV/SpvBuilder.cpp

@@ -46,9 +46,7 @@
 
 #include "SpvBuilder.h"
 
-#ifdef AMD_EXTENSIONS
-    #include "hex_float.h"
-#endif
+#include "hex_float.h"
 
 #ifndef _WIN32
     #include <cstdio>
@@ -194,6 +192,9 @@ Id Builder::makeIntegerType(int width, bool hasSign)
 
     // deal with capabilities
     switch (width) {
+    case 8:
+        addCapability(CapabilityInt8);
+        break;
     case 16:
         addCapability(CapabilityInt16);
         break;
@@ -819,7 +820,6 @@ Id Builder::makeDoubleConstant(double d, bool specConstant)
     return c->getResultId();
 }
 
-#ifdef AMD_EXTENSIONS
 Id Builder::makeFloat16Constant(float f16, bool specConstant)
 {
     Op opcode = specConstant ? OpSpecConstant : OpConstant;
@@ -847,7 +847,6 @@ Id Builder::makeFloat16Constant(float f16, bool specConstant)
 
     return c->getResultId();
 }
-#endif
 
 Id Builder::findCompositeConstant(Op typeClass, const std::vector<Id>& comps)
 {
@@ -1178,7 +1177,7 @@ Id Builder::createAccessChain(StorageClass storageClass, Id base, const std::vec
 
 Id Builder::createArrayLength(Id base, unsigned int member)
 {
-    spv::Id intType = makeUintType(32);
+    spv::Id intType = makeIntType(32);
     Instruction* length = new Instruction(getUniqueId(), intType, OpArrayLength);
     length->addIdOperand(base);
     length->addImmediateOperand(member);

+ 8 - 7
3rdparty/glslang/SPIRV/SpvBuilder.h

@@ -1,6 +1,7 @@
 //
 // Copyright (C) 2014-2015 LunarG, Inc.
 // Copyright (C) 2015-2016 Google, Inc.
+// Copyright (C) 2017 ARM Limited.
 //
 // All rights reserved.
 //
@@ -66,6 +67,8 @@ public:
 
     static const int maxMatrixSize = 4;
 
+    unsigned int getSpvVersion() const { return spvVersion; }
+
     void setSource(spv::SourceLanguage lang, int version)
     {
         source = lang;
@@ -212,19 +215,17 @@ public:
 
     // For making new constants (will return old constant if the requested one was already made).
     Id makeBoolConstant(bool b, bool specConstant = false);
+    Id makeInt8Constant(int i, bool specConstant = false)        { return makeIntConstant(makeIntType(8),  (unsigned)i, specConstant); }
+    Id makeUint8Constant(unsigned u, bool specConstant = false)  { return makeIntConstant(makeUintType(8),           u, specConstant); }
+    Id makeInt16Constant(int i, bool specConstant = false)       { return makeIntConstant(makeIntType(16),  (unsigned)i, specConstant); }
+    Id makeUint16Constant(unsigned u, bool specConstant = false) { return makeIntConstant(makeUintType(16),           u, specConstant); }
     Id makeIntConstant(int i, bool specConstant = false)         { return makeIntConstant(makeIntType(32),  (unsigned)i, specConstant); }
     Id makeUintConstant(unsigned u, bool specConstant = false)   { return makeIntConstant(makeUintType(32),           u, specConstant); }
     Id makeInt64Constant(long long i, bool specConstant = false)            { return makeInt64Constant(makeIntType(64),  (unsigned long long)i, specConstant); }
     Id makeUint64Constant(unsigned long long u, bool specConstant = false)  { return makeInt64Constant(makeUintType(64),                     u, specConstant); }
-#ifdef AMD_EXTENSIONS
-    Id makeInt16Constant(short i, bool specConstant = false)        { return makeIntConstant(makeIntType(16),      (unsigned)((unsigned short)i), specConstant); }
-    Id makeUint16Constant(unsigned short u, bool specConstant = false)  { return makeIntConstant(makeUintType(16), (unsigned)u, specConstant); }
-#endif
     Id makeFloatConstant(float f, bool specConstant = false);
     Id makeDoubleConstant(double d, bool specConstant = false);
-#ifdef AMD_EXTENSIONS
     Id makeFloat16Constant(float f16, bool specConstant = false);
-#endif
 
     // Turn the array of constants into a proper spv constant of the requested type.
     Id makeCompositeConstant(Id type, const std::vector<Id>& comps, bool specConst = false);
@@ -331,7 +332,7 @@ public:
     // Generally, the type of 'scalar' does not need to be the same type as the components in 'vector'.
     // The type of the created vector is a vector of components of the same type as the scalar.
     //
-    // Note: One of the arguments will change, with the result coming back that way rather than 
+    // Note: One of the arguments will change, with the result coming back that way rather than
     // through the return value.
     void promoteScalar(Decoration precision, Id& left, Id& right);
 

+ 4 - 1
3rdparty/glslang/SPIRV/disassemble.cpp

@@ -54,6 +54,7 @@ namespace spv {
 #ifdef AMD_EXTENSIONS
         #include "GLSL.ext.AMD.h"
 #endif
+
 #ifdef NV_EXTENSIONS
         #include "GLSL.ext.NV.h"
 #endif
@@ -80,12 +81,15 @@ static void Kill(std::ostream& out, const char* message)
 // used to identify the extended instruction library imported when printing
 enum ExtInstSet {
     GLSL450Inst,
+
 #ifdef AMD_EXTENSIONS
     GLSLextAMDInst,
 #endif
+
 #ifdef NV_EXTENSIONS
     GLSLextNVInst,
 #endif
+
     OpenCLExtInst,
 };
 
@@ -653,7 +657,6 @@ static const char* GLSLextAMDGetDebugNames(const char* name, unsigned entrypoint
 }
 #endif
 
-
 #ifdef NV_EXTENSIONS
 static const char* GLSLextNVGetDebugNames(const char* name, unsigned entrypoint)
 {

+ 221 - 1
3rdparty/glslang/SPIRV/doc.cpp

@@ -725,7 +725,7 @@ const char* ScopeString(int mem)
     }
 }
 
-const int GroupOperationCeiling = 3;
+const int GroupOperationCeiling = 4;
 
 const char* GroupOperationString(int gop)
 {
@@ -735,6 +735,7 @@ const char* GroupOperationString(int gop)
     case 0:  return "Reduce";
     case 1:  return "InclusiveScan";
     case 2:  return "ExclusiveScan";
+    case 3:  return "ClusteredReduce";
 
     case GroupOperationCeiling:
     default: return "Bad";
@@ -833,6 +834,14 @@ const char* CapabilityString(int info)
     case 55: return "StorageImageReadWithoutFormat";
     case 56: return "StorageImageWriteWithoutFormat";
     case 57: return "MultiViewport";
+    case 61: return "GroupNonUniform";
+    case 62: return "GroupNonUniformVote";
+    case 63: return "GroupNonUniformArithmetic";
+    case 64: return "GroupNonUniformBallot";
+    case 65: return "GroupNonUniformShuffle";
+    case 66: return "GroupNonUniformShuffleRelative";
+    case 67: return "GroupNonUniformClustered";
+    case 68: return "GroupNonUniformQuad";
 
     case 4423: return "SubgroupBallotKHR";
     case 4427: return "DrawParameters";
@@ -1200,6 +1209,41 @@ const char* OpcodeString(int op)
 
     case OpModuleProcessed: return "OpModuleProcessed";
 
+    case 333: return "OpGroupNonUniformElect";
+    case 334: return "OpGroupNonUniformAll";
+    case 335: return "OpGroupNonUniformAny";
+    case 336: return "OpGroupNonUniformAllEqual";
+    case 337: return "OpGroupNonUniformBroadcast";
+    case 338: return "OpGroupNonUniformBroadcastFirst";
+    case 339: return "OpGroupNonUniformBallot";
+    case 340: return "OpGroupNonUniformInverseBallot";
+    case 341: return "OpGroupNonUniformBallotBitExtract";
+    case 342: return "OpGroupNonUniformBallotBitCount";
+    case 343: return "OpGroupNonUniformBallotFindLSB";
+    case 344: return "OpGroupNonUniformBallotFindMSB";
+    case 345: return "OpGroupNonUniformShuffle";
+    case 346: return "OpGroupNonUniformShuffleXor";
+    case 347: return "OpGroupNonUniformShuffleUp";
+    case 348: return "OpGroupNonUniformShuffleDown";
+    case 349: return "OpGroupNonUniformIAdd";
+    case 350: return "OpGroupNonUniformFAdd";
+    case 351: return "OpGroupNonUniformIMul";
+    case 352: return "OpGroupNonUniformFMul";
+    case 353: return "OpGroupNonUniformSMin";
+    case 354: return "OpGroupNonUniformUMin";
+    case 355: return "OpGroupNonUniformFMin";
+    case 356: return "OpGroupNonUniformSMax";
+    case 357: return "OpGroupNonUniformUMax";
+    case 358: return "OpGroupNonUniformFMax";
+    case 359: return "OpGroupNonUniformBitwiseAnd";
+    case 360: return "OpGroupNonUniformBitwiseOr";
+    case 361: return "OpGroupNonUniformBitwiseXor";
+    case 362: return "OpGroupNonUniformLogicalAnd";
+    case 363: return "OpGroupNonUniformLogicalOr";
+    case 364: return "OpGroupNonUniformLogicalXor";
+    case 365: return "OpGroupNonUniformQuadBroadcast";
+    case 366: return "OpGroupNonUniformQuadSwap";
+
     case 4421: return "OpSubgroupBallotKHR";
     case 4422: return "OpSubgroupFirstInvocationKHR";
     case 4428: return "OpSubgroupAllKHR";
@@ -2823,6 +2867,182 @@ void Parameterize()
     InstructionDesc[OpEnqueueMarker].operands.push(OperandId, "'Wait Events'");
     InstructionDesc[OpEnqueueMarker].operands.push(OperandId, "'Ret Event'");
 
+    InstructionDesc[OpGroupNonUniformElect].capabilities.push_back(CapabilityGroupNonUniform);
+    InstructionDesc[OpGroupNonUniformElect].operands.push(OperandScope, "'Execution'");
+
+    InstructionDesc[OpGroupNonUniformAll].capabilities.push_back(CapabilityGroupNonUniformVote);
+    InstructionDesc[OpGroupNonUniformAll].operands.push(OperandScope, "'Execution'");
+    InstructionDesc[OpGroupNonUniformAll].operands.push(OperandId, "X");
+
+    InstructionDesc[OpGroupNonUniformAny].capabilities.push_back(CapabilityGroupNonUniformVote);
+    InstructionDesc[OpGroupNonUniformAny].operands.push(OperandScope, "'Execution'");
+    InstructionDesc[OpGroupNonUniformAny].operands.push(OperandId, "X");
+
+    InstructionDesc[OpGroupNonUniformAllEqual].capabilities.push_back(CapabilityGroupNonUniformVote);
+    InstructionDesc[OpGroupNonUniformAllEqual].operands.push(OperandScope, "'Execution'");
+    InstructionDesc[OpGroupNonUniformAllEqual].operands.push(OperandId, "X");
+
+    InstructionDesc[OpGroupNonUniformBroadcast].capabilities.push_back(CapabilityGroupNonUniformBallot);
+    InstructionDesc[OpGroupNonUniformBroadcast].operands.push(OperandScope, "'Execution'");
+    InstructionDesc[OpGroupNonUniformBroadcast].operands.push(OperandId, "X");
+    InstructionDesc[OpGroupNonUniformBroadcast].operands.push(OperandId, "ID");
+
+    InstructionDesc[OpGroupNonUniformBroadcastFirst].capabilities.push_back(CapabilityGroupNonUniformBallot);
+    InstructionDesc[OpGroupNonUniformBroadcastFirst].operands.push(OperandScope, "'Execution'");
+    InstructionDesc[OpGroupNonUniformBroadcastFirst].operands.push(OperandId, "X");
+
+    InstructionDesc[OpGroupNonUniformBallot].capabilities.push_back(CapabilityGroupNonUniformBallot);
+    InstructionDesc[OpGroupNonUniformBallot].operands.push(OperandScope, "'Execution'");
+    InstructionDesc[OpGroupNonUniformBallot].operands.push(OperandId, "X");
+
+    InstructionDesc[OpGroupNonUniformInverseBallot].capabilities.push_back(CapabilityGroupNonUniformBallot);
+    InstructionDesc[OpGroupNonUniformInverseBallot].operands.push(OperandScope, "'Execution'");
+    InstructionDesc[OpGroupNonUniformInverseBallot].operands.push(OperandId, "X");
+
+    InstructionDesc[OpGroupNonUniformBallotBitExtract].capabilities.push_back(CapabilityGroupNonUniformBallot);
+    InstructionDesc[OpGroupNonUniformBallotBitExtract].operands.push(OperandScope, "'Execution'");
+    InstructionDesc[OpGroupNonUniformBallotBitExtract].operands.push(OperandId, "X");
+    InstructionDesc[OpGroupNonUniformBallotBitExtract].operands.push(OperandId, "Bit");
+
+    InstructionDesc[OpGroupNonUniformBallotBitCount].capabilities.push_back(CapabilityGroupNonUniformBallot);
+    InstructionDesc[OpGroupNonUniformBallotBitCount].operands.push(OperandScope, "'Execution'");
+    InstructionDesc[OpGroupNonUniformBallotBitCount].operands.push(OperandGroupOperation, "'Operation'");
+    InstructionDesc[OpGroupNonUniformBallotBitCount].operands.push(OperandId, "X");
+
+    InstructionDesc[OpGroupNonUniformBallotFindLSB].capabilities.push_back(CapabilityGroupNonUniformBallot);
+    InstructionDesc[OpGroupNonUniformBallotFindLSB].operands.push(OperandScope, "'Execution'");
+    InstructionDesc[OpGroupNonUniformBallotFindLSB].operands.push(OperandId, "X");
+
+    InstructionDesc[OpGroupNonUniformBallotFindMSB].capabilities.push_back(CapabilityGroupNonUniformBallot);
+    InstructionDesc[OpGroupNonUniformBallotFindMSB].operands.push(OperandScope, "'Execution'");
+    InstructionDesc[OpGroupNonUniformBallotFindMSB].operands.push(OperandId, "X");
+
+    InstructionDesc[OpGroupNonUniformShuffle].capabilities.push_back(CapabilityGroupNonUniformShuffle);
+    InstructionDesc[OpGroupNonUniformShuffle].operands.push(OperandScope, "'Execution'");
+    InstructionDesc[OpGroupNonUniformShuffle].operands.push(OperandId, "X");
+    InstructionDesc[OpGroupNonUniformShuffle].operands.push(OperandId, "'Id'");
+
+    InstructionDesc[OpGroupNonUniformShuffleXor].capabilities.push_back(CapabilityGroupNonUniformShuffle);
+    InstructionDesc[OpGroupNonUniformShuffleXor].operands.push(OperandScope, "'Execution'");
+    InstructionDesc[OpGroupNonUniformShuffleXor].operands.push(OperandId, "X");
+    InstructionDesc[OpGroupNonUniformShuffleXor].operands.push(OperandId, "Mask");
+
+    InstructionDesc[OpGroupNonUniformShuffleUp].capabilities.push_back(CapabilityGroupNonUniformShuffleRelative);
+    InstructionDesc[OpGroupNonUniformShuffleUp].operands.push(OperandScope, "'Execution'");
+    InstructionDesc[OpGroupNonUniformShuffleUp].operands.push(OperandId, "X");
+    InstructionDesc[OpGroupNonUniformShuffleUp].operands.push(OperandId, "Offset");
+
+    InstructionDesc[OpGroupNonUniformShuffleDown].capabilities.push_back(CapabilityGroupNonUniformShuffleRelative);
+    InstructionDesc[OpGroupNonUniformShuffleDown].operands.push(OperandScope, "'Execution'");
+    InstructionDesc[OpGroupNonUniformShuffleDown].operands.push(OperandId, "X");
+    InstructionDesc[OpGroupNonUniformShuffleDown].operands.push(OperandId, "Offset");
+
+    InstructionDesc[OpGroupNonUniformIAdd].capabilities.push_back(CapabilityGroupNonUniformArithmetic);
+    InstructionDesc[OpGroupNonUniformIAdd].operands.push(OperandScope, "'Execution'");
+    InstructionDesc[OpGroupNonUniformIAdd].operands.push(OperandGroupOperation, "'Operation'");
+    InstructionDesc[OpGroupNonUniformIAdd].operands.push(OperandId, "X");
+    InstructionDesc[OpGroupNonUniformIAdd].operands.push(OperandId, "'ClusterSize'", true);
+
+    InstructionDesc[OpGroupNonUniformFAdd].capabilities.push_back(CapabilityGroupNonUniformArithmetic);
+    InstructionDesc[OpGroupNonUniformFAdd].operands.push(OperandScope, "'Execution'");
+    InstructionDesc[OpGroupNonUniformFAdd].operands.push(OperandGroupOperation, "'Operation'");
+    InstructionDesc[OpGroupNonUniformFAdd].operands.push(OperandId, "X");
+    InstructionDesc[OpGroupNonUniformFAdd].operands.push(OperandId, "'ClusterSize'", true);
+
+    InstructionDesc[OpGroupNonUniformIMul].capabilities.push_back(CapabilityGroupNonUniformArithmetic);
+    InstructionDesc[OpGroupNonUniformIMul].operands.push(OperandScope, "'Execution'");
+    InstructionDesc[OpGroupNonUniformIMul].operands.push(OperandGroupOperation, "'Operation'");
+    InstructionDesc[OpGroupNonUniformIMul].operands.push(OperandId, "X");
+    InstructionDesc[OpGroupNonUniformIMul].operands.push(OperandId, "'ClusterSize'", true);
+
+    InstructionDesc[OpGroupNonUniformFMul].capabilities.push_back(CapabilityGroupNonUniformArithmetic);
+    InstructionDesc[OpGroupNonUniformFMul].operands.push(OperandScope, "'Execution'");
+    InstructionDesc[OpGroupNonUniformFMul].operands.push(OperandGroupOperation, "'Operation'");
+    InstructionDesc[OpGroupNonUniformFMul].operands.push(OperandId, "X");
+    InstructionDesc[OpGroupNonUniformFMul].operands.push(OperandId, "'ClusterSize'", true);
+
+    InstructionDesc[OpGroupNonUniformSMin].capabilities.push_back(CapabilityGroupNonUniformArithmetic);
+    InstructionDesc[OpGroupNonUniformSMin].operands.push(OperandScope, "'Execution'");
+    InstructionDesc[OpGroupNonUniformSMin].operands.push(OperandGroupOperation, "'Operation'");
+    InstructionDesc[OpGroupNonUniformSMin].operands.push(OperandId, "X");
+    InstructionDesc[OpGroupNonUniformSMin].operands.push(OperandId, "'ClusterSize'", true);
+
+    InstructionDesc[OpGroupNonUniformUMin].capabilities.push_back(CapabilityGroupNonUniformArithmetic);
+    InstructionDesc[OpGroupNonUniformUMin].operands.push(OperandScope, "'Execution'");
+    InstructionDesc[OpGroupNonUniformUMin].operands.push(OperandGroupOperation, "'Operation'");
+    InstructionDesc[OpGroupNonUniformUMin].operands.push(OperandId, "X");
+    InstructionDesc[OpGroupNonUniformUMin].operands.push(OperandId, "'ClusterSize'", true);
+
+    InstructionDesc[OpGroupNonUniformFMin].capabilities.push_back(CapabilityGroupNonUniformArithmetic);
+    InstructionDesc[OpGroupNonUniformFMin].operands.push(OperandScope, "'Execution'");
+    InstructionDesc[OpGroupNonUniformFMin].operands.push(OperandGroupOperation, "'Operation'");
+    InstructionDesc[OpGroupNonUniformFMin].operands.push(OperandId, "X");
+    InstructionDesc[OpGroupNonUniformFMin].operands.push(OperandId, "'ClusterSize'", true);
+
+    InstructionDesc[OpGroupNonUniformSMax].capabilities.push_back(CapabilityGroupNonUniformArithmetic);
+    InstructionDesc[OpGroupNonUniformSMax].operands.push(OperandScope, "'Execution'");
+    InstructionDesc[OpGroupNonUniformSMax].operands.push(OperandGroupOperation, "'Operation'");
+    InstructionDesc[OpGroupNonUniformSMax].operands.push(OperandId, "X");
+    InstructionDesc[OpGroupNonUniformSMax].operands.push(OperandId, "'ClusterSize'", true);
+
+    InstructionDesc[OpGroupNonUniformUMax].capabilities.push_back(CapabilityGroupNonUniformArithmetic);
+    InstructionDesc[OpGroupNonUniformUMax].operands.push(OperandScope, "'Execution'");
+    InstructionDesc[OpGroupNonUniformUMax].operands.push(OperandGroupOperation, "'Operation'");
+    InstructionDesc[OpGroupNonUniformUMax].operands.push(OperandId, "X");
+    InstructionDesc[OpGroupNonUniformUMax].operands.push(OperandId, "'ClusterSize'", true);
+
+    InstructionDesc[OpGroupNonUniformFMax].capabilities.push_back(CapabilityGroupNonUniformArithmetic);
+    InstructionDesc[OpGroupNonUniformFMax].operands.push(OperandScope, "'Execution'");
+    InstructionDesc[OpGroupNonUniformFMax].operands.push(OperandGroupOperation, "'Operation'");
+    InstructionDesc[OpGroupNonUniformFMax].operands.push(OperandId, "X");
+    InstructionDesc[OpGroupNonUniformFMax].operands.push(OperandId, "'ClusterSize'", true);
+
+    InstructionDesc[OpGroupNonUniformBitwiseAnd].capabilities.push_back(CapabilityGroupNonUniformArithmetic);
+    InstructionDesc[OpGroupNonUniformBitwiseAnd].operands.push(OperandScope, "'Execution'");
+    InstructionDesc[OpGroupNonUniformBitwiseAnd].operands.push(OperandGroupOperation, "'Operation'");
+    InstructionDesc[OpGroupNonUniformBitwiseAnd].operands.push(OperandId, "X");
+    InstructionDesc[OpGroupNonUniformBitwiseAnd].operands.push(OperandId, "'ClusterSize'", true);
+
+    InstructionDesc[OpGroupNonUniformBitwiseOr].capabilities.push_back(CapabilityGroupNonUniformArithmetic);
+    InstructionDesc[OpGroupNonUniformBitwiseOr].operands.push(OperandScope, "'Execution'");
+    InstructionDesc[OpGroupNonUniformBitwiseOr].operands.push(OperandGroupOperation, "'Operation'");
+    InstructionDesc[OpGroupNonUniformBitwiseOr].operands.push(OperandId, "X");
+    InstructionDesc[OpGroupNonUniformBitwiseOr].operands.push(OperandId, "'ClusterSize'", true);
+
+    InstructionDesc[OpGroupNonUniformBitwiseXor].capabilities.push_back(CapabilityGroupNonUniformArithmetic);
+    InstructionDesc[OpGroupNonUniformBitwiseXor].operands.push(OperandScope, "'Execution'");
+    InstructionDesc[OpGroupNonUniformBitwiseXor].operands.push(OperandGroupOperation, "'Operation'");
+    InstructionDesc[OpGroupNonUniformBitwiseXor].operands.push(OperandId, "X");
+    InstructionDesc[OpGroupNonUniformBitwiseXor].operands.push(OperandId, "'ClusterSize'", true);
+
+    InstructionDesc[OpGroupNonUniformLogicalAnd].capabilities.push_back(CapabilityGroupNonUniformArithmetic);
+    InstructionDesc[OpGroupNonUniformLogicalAnd].operands.push(OperandScope, "'Execution'");
+    InstructionDesc[OpGroupNonUniformLogicalAnd].operands.push(OperandGroupOperation, "'Operation'");
+    InstructionDesc[OpGroupNonUniformLogicalAnd].operands.push(OperandId, "X");
+    InstructionDesc[OpGroupNonUniformLogicalAnd].operands.push(OperandId, "'ClusterSize'", true);
+
+    InstructionDesc[OpGroupNonUniformLogicalOr].capabilities.push_back(CapabilityGroupNonUniformArithmetic);
+    InstructionDesc[OpGroupNonUniformLogicalOr].operands.push(OperandScope, "'Execution'");
+    InstructionDesc[OpGroupNonUniformLogicalOr].operands.push(OperandGroupOperation, "'Operation'");
+    InstructionDesc[OpGroupNonUniformLogicalOr].operands.push(OperandId, "X");
+    InstructionDesc[OpGroupNonUniformLogicalOr].operands.push(OperandId, "'ClusterSize'", true);
+
+    InstructionDesc[OpGroupNonUniformLogicalXor].capabilities.push_back(CapabilityGroupNonUniformArithmetic);
+    InstructionDesc[OpGroupNonUniformLogicalXor].operands.push(OperandScope, "'Execution'");
+    InstructionDesc[OpGroupNonUniformLogicalXor].operands.push(OperandGroupOperation, "'Operation'");
+    InstructionDesc[OpGroupNonUniformLogicalXor].operands.push(OperandId, "X");
+    InstructionDesc[OpGroupNonUniformLogicalXor].operands.push(OperandId, "'ClusterSize'", true);
+
+    InstructionDesc[OpGroupNonUniformQuadBroadcast].capabilities.push_back(CapabilityGroupNonUniformQuad);
+    InstructionDesc[OpGroupNonUniformQuadBroadcast].operands.push(OperandScope, "'Execution'");
+    InstructionDesc[OpGroupNonUniformQuadBroadcast].operands.push(OperandId, "X");
+    InstructionDesc[OpGroupNonUniformQuadBroadcast].operands.push(OperandId, "'Id'");
+
+    InstructionDesc[OpGroupNonUniformQuadSwap].capabilities.push_back(CapabilityGroupNonUniformQuad);
+    InstructionDesc[OpGroupNonUniformQuadSwap].operands.push(OperandScope, "'Execution'");
+    InstructionDesc[OpGroupNonUniformQuadSwap].operands.push(OperandId, "X");
+    InstructionDesc[OpGroupNonUniformQuadSwap].operands.push(OperandLiteralNumber, "'Direction'");
+
     InstructionDesc[OpSubgroupBallotKHR].operands.push(OperandId, "'Predicate'");
 
     InstructionDesc[OpSubgroupFirstInvocationKHR].operands.push(OperandId, "'Value'");

+ 52 - 4
3rdparty/glslang/SPIRV/spirv.hpp

@@ -46,12 +46,12 @@ namespace spv {
 
 typedef unsigned int Id;
 
-#define SPV_VERSION 0x10200
-#define SPV_REVISION 3
+#define SPV_VERSION 0x10300
+#define SPV_REVISION 1
 
 static const unsigned int MagicNumber = 0x07230203;
-static const unsigned int Version = 0x00010200;
-static const unsigned int Revision = 3;
+static const unsigned int Version = 0x00010300;
+static const unsigned int Revision = 1;
 static const unsigned int OpCodeMask = 0xffff;
 static const unsigned int WordCountShift = 16;
 
@@ -440,10 +440,15 @@ enum BuiltIn {
     BuiltInSubgroupLocalInvocationId = 41,
     BuiltInVertexIndex = 42,
     BuiltInInstanceIndex = 43,
+    BuiltInSubgroupEqMask = 4416,
     BuiltInSubgroupEqMaskKHR = 4416,
+    BuiltInSubgroupGeMask = 4417,
     BuiltInSubgroupGeMaskKHR = 4417,
+    BuiltInSubgroupGtMask = 4418,
     BuiltInSubgroupGtMaskKHR = 4418,
+    BuiltInSubgroupLeMask = 4419,
     BuiltInSubgroupLeMaskKHR = 4419,
+    BuiltInSubgroupLtMask = 4420,
     BuiltInSubgroupLtMaskKHR = 4420,
     BuiltInBaseVertex = 4424,
     BuiltInBaseInstance = 4425,
@@ -566,6 +571,7 @@ enum GroupOperation {
     GroupOperationReduce = 0,
     GroupOperationInclusiveScan = 1,
     GroupOperationExclusiveScan = 2,
+    GroupOperationClusteredReduce = 3,
     GroupOperationMax = 0x7fffffff,
 };
 
@@ -646,6 +652,14 @@ enum Capability {
     CapabilitySubgroupDispatch = 58,
     CapabilityNamedBarrier = 59,
     CapabilityPipeStorage = 60,
+    CapabilityGroupNonUniform = 61,
+    CapabilityGroupNonUniformVote = 62,
+    CapabilityGroupNonUniformArithmetic = 63,
+    CapabilityGroupNonUniformBallot = 64,
+    CapabilityGroupNonUniformShuffle = 65,
+    CapabilityGroupNonUniformShuffleRelative = 66,
+    CapabilityGroupNonUniformClustered = 67,
+    CapabilityGroupNonUniformQuad = 68,
     CapabilitySubgroupBallotKHR = 4423,
     CapabilityDrawParameters = 4427,
     CapabilitySubgroupVoteKHR = 4431,
@@ -987,6 +1001,40 @@ enum Op {
     OpModuleProcessed = 330,
     OpExecutionModeId = 331,
     OpDecorateId = 332,
+    OpGroupNonUniformElect = 333,
+    OpGroupNonUniformAll = 334,
+    OpGroupNonUniformAny = 335,
+    OpGroupNonUniformAllEqual = 336,
+    OpGroupNonUniformBroadcast = 337,
+    OpGroupNonUniformBroadcastFirst = 338,
+    OpGroupNonUniformBallot = 339,
+    OpGroupNonUniformInverseBallot = 340,
+    OpGroupNonUniformBallotBitExtract = 341,
+    OpGroupNonUniformBallotBitCount = 342,
+    OpGroupNonUniformBallotFindLSB = 343,
+    OpGroupNonUniformBallotFindMSB = 344,
+    OpGroupNonUniformShuffle = 345,
+    OpGroupNonUniformShuffleXor = 346,
+    OpGroupNonUniformShuffleUp = 347,
+    OpGroupNonUniformShuffleDown = 348,
+    OpGroupNonUniformIAdd = 349,
+    OpGroupNonUniformFAdd = 350,
+    OpGroupNonUniformIMul = 351,
+    OpGroupNonUniformFMul = 352,
+    OpGroupNonUniformSMin = 353,
+    OpGroupNonUniformUMin = 354,
+    OpGroupNonUniformFMin = 355,
+    OpGroupNonUniformSMax = 356,
+    OpGroupNonUniformUMax = 357,
+    OpGroupNonUniformFMax = 358,
+    OpGroupNonUniformBitwiseAnd = 359,
+    OpGroupNonUniformBitwiseOr = 360,
+    OpGroupNonUniformBitwiseXor = 361,
+    OpGroupNonUniformLogicalAnd = 362,
+    OpGroupNonUniformLogicalOr = 363,
+    OpGroupNonUniformLogicalXor = 364,
+    OpGroupNonUniformQuadBroadcast = 365,
+    OpGroupNonUniformQuadSwap = 366,
     OpSubgroupBallotKHR = 4421,
     OpSubgroupFirstInvocationKHR = 4422,
     OpSubgroupAllKHR = 4428,

+ 48 - 18
3rdparty/glslang/StandAlone/StandAlone.cpp

@@ -99,6 +99,7 @@ enum TOptions {
     EOptionOptimizeDisable      = (1 << 28),
     EOptionOptimizeSize         = (1 << 29),
     EOptionInvertY              = (1 << 30),
+    EOptionDumpBareVersion      = (1 << 31),
 };
 
 //
@@ -155,12 +156,16 @@ const char* entryPointName = nullptr;
 const char* sourceEntryPointName = nullptr;
 const char* shaderStageName = nullptr;
 const char* variableName = nullptr;
+bool HlslEnable16BitTypes = false;
 std::vector<std::string> IncludeDirectoryList;
-int ClientInputSemanticsVersion = 100;   // maps to, say, #define VULKAN 100
-int VulkanClientVersion = 100;           // would map to, say, Vulkan 1.0
-int OpenGLClientVersion = 450;           // doesn't influence anything yet, but maps to OpenGL 4.50
-unsigned int TargetVersion = 0x00010000; // maps to, say, SPIR-V 1.0
-std::vector<std::string> Processes;      // what should be recorded by OpModuleProcessed, or equivalent
+int ClientInputSemanticsVersion = 100;                  // maps to, say, #define VULKAN 100
+glslang::EshTargetClientVersion VulkanClientVersion =
+                          glslang::EShTargetVulkan_1_0; // would map to, say, Vulkan 1.0
+glslang::EshTargetClientVersion OpenGLClientVersion =
+                          glslang::EShTargetOpenGL_450; // doesn't influence anything yet, but maps to OpenGL 4.50
+glslang::EShTargetLanguageVersion TargetVersion =
+                          glslang::EShTargetSpv_1_0;    // maps to, say, SPIR-V 1.0
+std::vector<std::string> Processes;                     // what should be recorded by OpModuleProcessed, or equivalent
 
 // Per descriptor-set binding base data
 typedef std::map<unsigned int, unsigned int> TPerSetBaseBinding;
@@ -449,6 +454,11 @@ void ProcessArguments(std::vector<std::unique_ptr<glslang::TWorkItem>>& workItem
                                lowerword == "hlsl-iomapper" ||
                                lowerword == "hlsl-iomapping") {
                         Options |= EOptionHlslIoMapping;
+                    } else if (lowerword == "hlsl-enable-16bit-types") {
+                        HlslEnable16BitTypes = true;
+                    } else if (lowerword == "invert-y" ||  // synonyms
+                               lowerword == "iy") {
+                        Options |= EOptionInvertY;
                     } else if (lowerword == "keep-uncalled" || // synonyms
                                lowerword == "ku") {
                         Options |= EOptionKeepUncalled;
@@ -504,25 +514,28 @@ void ProcessArguments(std::vector<std::unique_ptr<glslang::TWorkItem>>& workItem
                         if (argc > 1) {
                             if (strcmp(argv[1], "vulkan1.0") == 0) {
                                 setVulkanSpv();
-                                VulkanClientVersion = 100;
+                                VulkanClientVersion = glslang::EShTargetVulkan_1_0;
+                            } else if (strcmp(argv[1], "vulkan1.1") == 0) {
+                                setVulkanSpv();
+                                TargetVersion = glslang::EShTargetSpv_1_3;
+                                VulkanClientVersion = glslang::EShTargetVulkan_1_1;
                             } else if (strcmp(argv[1], "opengl") == 0) {
                                 setOpenGlSpv();
-                                OpenGLClientVersion = 450;
+                                OpenGLClientVersion = glslang::EShTargetOpenGL_450;
                             } else
-                                Error("--target-env expected vulkan1.0 or opengl");
+                                Error("--target-env expected vulkan1.0, opengl, or hlsl-16bit-types");
                         }
                         bumpArg();
                     } else if (lowerword == "variable-name" || // synonyms
-                        lowerword == "vn") {
+                               lowerword == "vn") {
                         Options |= EOptionOutputHexadecimal;
                         if (argc <= 1)
                             Error("no <C-variable-name> provided for --variable-name");
                         variableName = argv[1];
                         bumpArg();
                         break;
-                    } else if (lowerword == "invert-y" ||  // synonyms
-                               lowerword == "iy") {
-                        Options |= EOptionInvertY;
+                    } else if (lowerword == "version") {
+                        Options |= EOptionDumpVersions;
                     } else {
                         usage();
                     }
@@ -586,7 +599,11 @@ void ProcessArguments(std::vector<std::unique_ptr<glslang::TWorkItem>>& workItem
                 Options |= EOptionDumpConfig;
                 break;
             case 'd':
-                Options |= EOptionDefaultDesktop;
+                if (strncmp(&argv[0][1], "dumpversion", strlen(&argv[0][1]) + 1) == 0 ||
+                    strncmp(&argv[0][1], "dumpfullversion", strlen(&argv[0][1]) + 1) == 0)
+                    Options |= EOptionDumpBareVersion;
+                else
+                    Options |= EOptionDefaultDesktop;
                 break;
             case 'e':
                 // HLSL todo: entry point handle needs much more sophistication.
@@ -694,6 +711,8 @@ void SetMessageOptions(EShMessages& messages)
         messages = (EShMessages)(messages | EShMsgHlslOffsets);
     if (Options & EOptionDebug)
         messages = (EShMessages)(messages | EShMsgDebugInfo);
+    if (HlslEnable16BitTypes)
+        messages = (EShMessages)(messages | EShMsgHlslEnable16BitTypes);
 }
 
 //
@@ -1046,8 +1065,14 @@ int singleMain()
             return ESuccess;
     }
 
-    if (Options & EOptionDumpVersions) {
-        printf("Glslang Version: %s %s\n", GLSLANG_REVISION, GLSLANG_DATE);
+    if (Options & EOptionDumpBareVersion) {
+        printf("%d.%d.%d\n",
+            glslang::GetSpirvGeneratorVersion(), GLSLANG_MINOR_VERSION, GLSLANG_PATCH_LEVEL);
+        if (workList.empty())
+            return ESuccess;
+    } else if (Options & EOptionDumpVersions) {
+        printf("Glslang Version: %d.%d.%d\n",
+            glslang::GetSpirvGeneratorVersion(), GLSLANG_MINOR_VERSION, GLSLANG_PATCH_LEVEL);
         printf("ESSL Version: %s\n", glslang::GetEsslVersionString());
         printf("GLSL Version: %s\n", glslang::GetGlslVersionString());
         std::string spirvVersion;
@@ -1313,12 +1338,16 @@ void usage()
            "                                       'location' (fragile, not cross stage)\n"
            "  --aml                                synonym for --auto-map-locations\n"
            "  --client {vulkan<ver>|opengl<ver>}   see -V and -G\n"
+           "  -dumpfullversion                     print bare major.minor.patchlevel\n"
+           "  -dumpversion                         same as -dumpfullversion\n"
            "  --flatten-uniform-arrays             flatten uniform texture/sampler arrays to\n"
            "                                       scalars\n"
            "  --fua                                synonym for --flatten-uniform-arrays\n"
            "  --hlsl-offsets                       Allow block offsets to follow HLSL rules\n"
            "                                       Works independently of source language\n"
            "  --hlsl-iomap                         Perform IO mapping in HLSL register space\n"
+           "  --hlsl-enable-16bit-types            Allow use of 16-bit types in SPIR-V for HLSL\n"
+           "  --invert-y | --iy                    invert position.Y output in vertex shader\n"
            "  --keep-uncalled                      don't eliminate uncalled functions\n"
            "  --ku                                 synonym for --keep-uncalled\n"
            "  --no-storage-format                  use Unknown image format\n"
@@ -1357,16 +1386,17 @@ void usage()
            "                                       using -S.\n"
            "  --suppress-warnings                  suppress GLSL warnings\n"
            "                                       (except as required by #extension : warn)\n"
-           "  --target-env {vulkan1.0|opengl}      set the execution environment code will\n"
-           "                                       execute in (as opposed to language\n"
+           "  --target-env {vulkan1.0 | vulkan1.1 | opengl} \n"
+           "                                       set execution environment that emitted code\n"
+           "                                       will execute in (as opposed to the language\n"
            "                                       semantics selected by --client) defaults:\n"
            "                                        'vulkan1.0' under '--client vulkan<ver>'\n"
            "                                        'opengl' under '--client opengl<ver>'\n"
            "  --variable-name <name>               Creates a C header file that contains a\n"
            "                                       uint32_t array named <name>\n"
            "                                       initialized with the shader binary code.\n"
+           "  --version                            synonym for -v\n"
            "  --vn <name>                          synonym for --variable-name <name>\n"
-           "  --invert-y | --iy                    invert position.Y output in vertex shader\n"
            );
 
     exit(EFailUsage);

+ 1 - 1
3rdparty/glslang/Test/baseLegalResults/hlsl.aliasOpaque.frag.out

@@ -1,7 +1,7 @@
 hlsl.aliasOpaque.frag
 WARNING: AST will form illegal SPIR-V; need to transform to legalize
 // Module Version 10000
-// Generated by (magic number): 80005
+// Generated by (magic number): 80006
 // Id's are bound by 87
 
                               Capability Shader

+ 1 - 1
3rdparty/glslang/Test/baseLegalResults/hlsl.flattenOpaque.frag.out

@@ -1,7 +1,7 @@
 hlsl.flattenOpaque.frag
 WARNING: AST will form illegal SPIR-V; need to transform to legalize
 // Module Version 10000
-// Generated by (magic number): 80005
+// Generated by (magic number): 80006
 // Id's are bound by 185
 
                               Capability Shader

+ 1 - 1
3rdparty/glslang/Test/baseLegalResults/hlsl.flattenOpaqueInit.vert.out

@@ -1,7 +1,7 @@
 hlsl.flattenOpaqueInit.vert
 WARNING: AST will form illegal SPIR-V; need to transform to legalize
 // Module Version 10000
-// Generated by (magic number): 80005
+// Generated by (magic number): 80006
 // Id's are bound by 134
 
                               Capability Shader

+ 1 - 1
3rdparty/glslang/Test/baseLegalResults/hlsl.flattenOpaqueInitMix.vert.out

@@ -1,7 +1,7 @@
 hlsl.flattenOpaqueInitMix.vert
 WARNING: AST will form illegal SPIR-V; need to transform to legalize
 // Module Version 10000
-// Generated by (magic number): 80005
+// Generated by (magic number): 80006
 // Id's are bound by 80
 
                               Capability Shader

+ 1 - 1
3rdparty/glslang/Test/baseLegalResults/hlsl.flattenSubset.frag.out

@@ -1,7 +1,7 @@
 hlsl.flattenSubset.frag
 WARNING: AST will form illegal SPIR-V; need to transform to legalize
 // Module Version 10000
-// Generated by (magic number): 80005
+// Generated by (magic number): 80006
 // Id's are bound by 66
 
                               Capability Shader

+ 1 - 1
3rdparty/glslang/Test/baseLegalResults/hlsl.flattenSubset2.frag.out

@@ -1,7 +1,7 @@
 hlsl.flattenSubset2.frag
 WARNING: AST will form illegal SPIR-V; need to transform to legalize
 // Module Version 10000
-// Generated by (magic number): 80005
+// Generated by (magic number): 80006
 // Id's are bound by 53
 
                               Capability Shader

+ 1 - 1
3rdparty/glslang/Test/baseLegalResults/hlsl.partialFlattenLocal.vert.out

@@ -1,7 +1,7 @@
 hlsl.partialFlattenLocal.vert
 WARNING: AST will form illegal SPIR-V; need to transform to legalize
 // Module Version 10000
-// Generated by (magic number): 80005
+// Generated by (magic number): 80006
 // Id's are bound by 169
 
                               Capability Shader

+ 1 - 1
3rdparty/glslang/Test/baseLegalResults/hlsl.partialFlattenMixed.vert.out

@@ -1,7 +1,7 @@
 hlsl.partialFlattenMixed.vert
 WARNING: AST will form illegal SPIR-V; need to transform to legalize
 // Module Version 10000
-// Generated by (magic number): 80005
+// Generated by (magic number): 80006
 // Id's are bound by 36
 
                               Capability Shader

+ 4 - 1
3rdparty/glslang/Test/baseResults/120.frag.out

@@ -52,7 +52,10 @@ ERROR: 0:209: 'assign' :  cannot convert from ' const float' to ' temp 4-compone
 ERROR: 0:212: 'sampler2DRect' : Reserved word. 
 ERROR: 0:244: ':' :  wrong operand types: no operation ':' exists that takes a left-hand operand of type ' global void' and a right operand of type ' const int' (or there is no acceptable conversion)
 ERROR: 0:245: ':' :  wrong operand types: no operation ':' exists that takes a left-hand operand of type ' const int' and a right operand of type ' global void' (or there is no acceptable conversion)
-ERROR: 0:248: 'half floating-point suffix' : required extension not requested: GL_AMD_gpu_shader_half_float
+ERROR: 0:248: 'explicit types' : required extension not requested: Possible extensions include:
+GL_AMD_gpu_shader_half_float
+GL_KHX_shader_explicit_arithmetic_types
+GL_KHX_shader_explicit_arithmetic_types_float16
 ERROR: 0:248: 'half floating-point suffix' : not supported with this profile: none
 ERROR: 0:248: '' :  syntax error, unexpected IDENTIFIER, expecting COMMA or SEMICOLON
 ERROR: 56 compilation errors.  No code generated.

+ 2 - 2
3rdparty/glslang/Test/baseResults/constFoldIntMin.frag.out

@@ -10,7 +10,7 @@ Requested GL_ARB_gpu_shader_int64
 0:6        move second child to first child ( temp int16_t)
 0:6          'u' ( temp int16_t)
 0:6          Constant:
-0:6            32768 (const int)
+0:6            -32768 (const int16_t)
 0:7      Sequence
 0:7        move second child to first child ( temp int)
 0:7          'v' ( temp int)
@@ -25,7 +25,7 @@ Requested GL_ARB_gpu_shader_int64
 0:9        move second child to first child ( temp int16_t)
 0:9          'x' ( temp int16_t)
 0:9          Constant:
-0:9            0 (const int)
+0:9            0 (const int8_t)
 0:10      Sequence
 0:10        move second child to first child ( temp int)
 0:10          'y' ( temp int)

+ 233 - 0
3rdparty/glslang/Test/baseResults/findFunction.frag.out

@@ -0,0 +1,233 @@
+findFunction.frag
+ERROR: 0:39: 'func' : ambiguous best function under implicit type conversion 
+ERROR: 0:40: 'func' : no matching overloaded function found 
+ERROR: 0:40: '=' :  cannot convert from ' const float' to ' temp int64_t'
+ERROR: 0:41: 'func' : no matching overloaded function found 
+ERROR: 0:41: '=' :  cannot convert from ' const float' to ' temp int64_t'
+ERROR: 0:44: 'func' : no matching overloaded function found 
+ERROR: 0:44: '=' :  cannot convert from ' const float' to ' temp int64_t'
+ERROR: 0:45: 'func' : ambiguous best function under implicit type conversion 
+ERROR: 8 compilation errors.  No code generated.
+
+
+Shader version: 450
+Requested GL_KHX_shader_explicit_arithmetic_types
+ERROR: node is still EOpNull!
+0:5  Function Definition: func(i81;i161;i161; ( global int64_t)
+0:5    Function Parameters: 
+0:5      'a' ( in int8_t)
+0:5      'b' ( in int16_t)
+0:5      'c' ( in int16_t)
+0:7    Sequence
+0:7      Branch: Return with expression
+0:7        Convert int16_t to int64 ( temp int64_t)
+0:7          inclusive-or ( temp int16_t)
+0:7            Convert int8_t to int16_t ( temp int16_t)
+0:7              'a' ( in int8_t)
+0:7            add ( temp int16_t)
+0:7              'b' ( in int16_t)
+0:7              'c' ( in int16_t)
+0:10  Function Definition: func(i81;i161;i1; ( global int64_t)
+0:10    Function Parameters: 
+0:10      'a' ( in int8_t)
+0:10      'b' ( in int16_t)
+0:10      'c' ( in int)
+0:12    Sequence
+0:12      Branch: Return with expression
+0:12        Convert int to int64 ( temp int64_t)
+0:12          inclusive-or ( temp int)
+0:12            Convert int8_t to int ( temp int)
+0:12              'a' ( in int8_t)
+0:12            subtract ( temp int)
+0:12              Convert int16_t to int ( temp int)
+0:12                'b' ( in int16_t)
+0:12              'c' ( in int)
+0:15  Function Definition: func(i1;i1;i1; ( global int64_t)
+0:15    Function Parameters: 
+0:15      'a' ( in int)
+0:15      'b' ( in int)
+0:15      'c' ( in int)
+0:17    Sequence
+0:17      Branch: Return with expression
+0:17        Convert int to int64 ( temp int64_t)
+0:17          add ( temp int)
+0:17            divide ( temp int)
+0:17              'a' ( in int)
+0:17              'b' ( in int)
+0:17            'c' ( in int)
+0:20  Function Definition: func(f161;f161;f1; ( global int64_t)
+0:20    Function Parameters: 
+0:20      'a' ( in float16_t)
+0:20      'b' ( in float16_t)
+0:20      'c' ( in float)
+0:22    Sequence
+0:22      Branch: Return with expression
+0:22        Convert float to int64 ( temp int64_t)
+0:22          subtract ( temp float)
+0:22            Convert float16_t to float ( temp float)
+0:22              'a' ( in float16_t)
+0:22            component-wise multiply ( temp float)
+0:22              Convert float16_t to float ( temp float)
+0:22                'b' ( in float16_t)
+0:22              'c' ( in float)
+0:25  Function Definition: func(f161;i161;f1; ( global int64_t)
+0:25    Function Parameters: 
+0:25      'a' ( in float16_t)
+0:25      'b' ( in int16_t)
+0:25      'c' ( in float)
+0:27    Sequence
+0:27      Branch: Return with expression
+0:27        Convert float to int64 ( temp int64_t)
+0:27          subtract ( temp float)
+0:27            Convert float16_t to float ( temp float)
+0:27              'a' ( in float16_t)
+0:27            component-wise multiply ( temp float)
+0:27              Convert int16_t to float ( temp float)
+0:27                'b' ( in int16_t)
+0:27              'c' ( in float)
+0:30  Function Definition: main( ( global void)
+0:30    Function Parameters: 
+0:?     Sequence
+0:38      Sequence
+0:38        move second child to first child ( temp int64_t)
+0:38          'b1' ( temp int64_t)
+0:38          Function Call: func(i81;i161;i1; ( global int64_t)
+0:38            'x' ( temp int8_t)
+0:38            'y' ( temp int16_t)
+0:38            'z' ( temp int)
+0:39      Sequence
+0:39        move second child to first child ( temp int64_t)
+0:39          'b2' ( temp int64_t)
+0:39          Function Call: func(f161;i161;f1; ( global int64_t)
+0:39            Convert int16_t to float16_t ( temp float16_t)
+0:39              'y' ( temp int16_t)
+0:39            'y' ( temp int16_t)
+0:39            Convert int to float ( temp float)
+0:39              'z' ( temp int)
+0:42      Sequence
+0:42        move second child to first child ( temp int64_t)
+0:42          'b5' ( temp int64_t)
+0:42          Function Call: func(f161;i161;f1; ( global int64_t)
+0:42            Convert int16_t to float16_t ( temp float16_t)
+0:42              'y' ( temp int16_t)
+0:42            'y' ( temp int16_t)
+0:42            Convert float16_t to float ( temp float)
+0:42              'f16' ( temp float16_t)
+0:43      Sequence
+0:43        move second child to first child ( temp int64_t)
+0:43          'b7' ( temp int64_t)
+0:43          Function Call: func(f161;f161;f1; ( global int64_t)
+0:43            'f16' ( temp float16_t)
+0:43            'f16' ( temp float16_t)
+0:43            Convert int16_t to float ( temp float)
+0:43              'y' ( temp int16_t)
+0:45      Sequence
+0:45        move second child to first child ( temp int64_t)
+0:45          'b9' ( temp int64_t)
+0:45          Function Call: func(f161;f161;f1; ( global int64_t)
+0:45            'f16' ( temp float16_t)
+0:45            Convert int8_t to float16_t ( temp float16_t)
+0:45              'x' ( temp int8_t)
+0:45            Convert float16_t to float ( temp float)
+0:45              'f16' ( temp float16_t)
+0:?   Linker Objects
+
+
+Linked fragment stage:
+
+
+Shader version: 450
+Requested GL_KHX_shader_explicit_arithmetic_types
+ERROR: node is still EOpNull!
+0:10  Function Definition: func(i81;i161;i1; ( global int64_t)
+0:10    Function Parameters: 
+0:10      'a' ( in int8_t)
+0:10      'b' ( in int16_t)
+0:10      'c' ( in int)
+0:12    Sequence
+0:12      Branch: Return with expression
+0:12        Convert int to int64 ( temp int64_t)
+0:12          inclusive-or ( temp int)
+0:12            Convert int8_t to int ( temp int)
+0:12              'a' ( in int8_t)
+0:12            subtract ( temp int)
+0:12              Convert int16_t to int ( temp int)
+0:12                'b' ( in int16_t)
+0:12              'c' ( in int)
+0:20  Function Definition: func(f161;f161;f1; ( global int64_t)
+0:20    Function Parameters: 
+0:20      'a' ( in float16_t)
+0:20      'b' ( in float16_t)
+0:20      'c' ( in float)
+0:22    Sequence
+0:22      Branch: Return with expression
+0:22        Convert float to int64 ( temp int64_t)
+0:22          subtract ( temp float)
+0:22            Convert float16_t to float ( temp float)
+0:22              'a' ( in float16_t)
+0:22            component-wise multiply ( temp float)
+0:22              Convert float16_t to float ( temp float)
+0:22                'b' ( in float16_t)
+0:22              'c' ( in float)
+0:25  Function Definition: func(f161;i161;f1; ( global int64_t)
+0:25    Function Parameters: 
+0:25      'a' ( in float16_t)
+0:25      'b' ( in int16_t)
+0:25      'c' ( in float)
+0:27    Sequence
+0:27      Branch: Return with expression
+0:27        Convert float to int64 ( temp int64_t)
+0:27          subtract ( temp float)
+0:27            Convert float16_t to float ( temp float)
+0:27              'a' ( in float16_t)
+0:27            component-wise multiply ( temp float)
+0:27              Convert int16_t to float ( temp float)
+0:27                'b' ( in int16_t)
+0:27              'c' ( in float)
+0:30  Function Definition: main( ( global void)
+0:30    Function Parameters: 
+0:?     Sequence
+0:38      Sequence
+0:38        move second child to first child ( temp int64_t)
+0:38          'b1' ( temp int64_t)
+0:38          Function Call: func(i81;i161;i1; ( global int64_t)
+0:38            'x' ( temp int8_t)
+0:38            'y' ( temp int16_t)
+0:38            'z' ( temp int)
+0:39      Sequence
+0:39        move second child to first child ( temp int64_t)
+0:39          'b2' ( temp int64_t)
+0:39          Function Call: func(f161;i161;f1; ( global int64_t)
+0:39            Convert int16_t to float16_t ( temp float16_t)
+0:39              'y' ( temp int16_t)
+0:39            'y' ( temp int16_t)
+0:39            Convert int to float ( temp float)
+0:39              'z' ( temp int)
+0:42      Sequence
+0:42        move second child to first child ( temp int64_t)
+0:42          'b5' ( temp int64_t)
+0:42          Function Call: func(f161;i161;f1; ( global int64_t)
+0:42            Convert int16_t to float16_t ( temp float16_t)
+0:42              'y' ( temp int16_t)
+0:42            'y' ( temp int16_t)
+0:42            Convert float16_t to float ( temp float)
+0:42              'f16' ( temp float16_t)
+0:43      Sequence
+0:43        move second child to first child ( temp int64_t)
+0:43          'b7' ( temp int64_t)
+0:43          Function Call: func(f161;f161;f1; ( global int64_t)
+0:43            'f16' ( temp float16_t)
+0:43            'f16' ( temp float16_t)
+0:43            Convert int16_t to float ( temp float)
+0:43              'y' ( temp int16_t)
+0:45      Sequence
+0:45        move second child to first child ( temp int64_t)
+0:45          'b9' ( temp int64_t)
+0:45          Function Call: func(f161;f161;f1; ( global int64_t)
+0:45            'f16' ( temp float16_t)
+0:45            Convert int8_t to float16_t ( temp float16_t)
+0:45              'x' ( temp int8_t)
+0:45            Convert float16_t to float ( temp float)
+0:45              'f16' ( temp float16_t)
+0:?   Linker Objects
+

+ 1 - 1
3rdparty/glslang/Test/baseResults/glsl.entryPointRename.vert.bad.out

@@ -2,7 +2,7 @@ glsl.entryPointRename.vert
 ERROR: Source entry point must be "main"
 
 // Module Version 10000
-// Generated by (magic number): 80005
+// Generated by (magic number): 80006
 // Id's are bound by 20
 
                               Capability Shader

+ 1 - 1
3rdparty/glslang/Test/baseResults/glsl.entryPointRename.vert.out

@@ -1,6 +1,6 @@
 glsl.entryPointRename.vert
 // Module Version 10000
-// Generated by (magic number): 80005
+// Generated by (magic number): 80006
 // Id's are bound by 20
 
                               Capability Shader

+ 1 - 1
3rdparty/glslang/Test/baseResults/glspv.version.frag.out

@@ -2,7 +2,7 @@ glspv.version.frag
 ERROR: #version: compilation for SPIR-V does not support the compatibility profile
 
 // Module Version 10000
-// Generated by (magic number): 80005
+// Generated by (magic number): 80006
 // Id's are bound by 6
 
                               Capability Shader

+ 1 - 1
3rdparty/glslang/Test/baseResults/hlsl.PointSize.geom.out

@@ -70,7 +70,7 @@ output primitive = line_strip
 0:?     'OutputStream.ps' ( out float PointSize)
 
 // Module Version 10000
-// Generated by (magic number): 80005
+// Generated by (magic number): 80006
 // Id's are bound by 36
 
                               Capability Geometry

+ 1 - 1
3rdparty/glslang/Test/baseResults/hlsl.PointSize.vert.out

@@ -38,7 +38,7 @@ Shader version: 500
 0:?     '@entryPointOutput' ( out float PointSize)
 
 // Module Version 10000
-// Generated by (magic number): 80005
+// Generated by (magic number): 80006
 // Id's are bound by 16
 
                               Capability Shader

+ 1 - 1
3rdparty/glslang/Test/baseResults/hlsl.aliasOpaque.frag.out

@@ -143,7 +143,7 @@ gl_FragCoord origin is upper left
 0:?     '@entryPointOutput' (layout( location=0) out 4-component vector of float)
 
 // Module Version 10000
-// Generated by (magic number): 80005
+// Generated by (magic number): 80006
 // Id's are bound by 64
 
                               Capability Shader

+ 1 - 1
3rdparty/glslang/Test/baseResults/hlsl.amend.frag.out

@@ -160,7 +160,7 @@ gl_FragCoord origin is upper left
 0:?     'm' ( global 4-component vector of float)
 
 // Module Version 10000
-// Generated by (magic number): 80005
+// Generated by (magic number): 80006
 // Id's are bound by 57
 
                               Capability Shader

+ 1 - 1
3rdparty/glslang/Test/baseResults/hlsl.array.flatten.frag.out

@@ -345,7 +345,7 @@ gl_FragCoord origin is upper left
 0:?     'ps_output.color' (layout( location=0) out 4-component vector of float)
 
 // Module Version 10000
-// Generated by (magic number): 80005
+// Generated by (magic number): 80006
 // Id's are bound by 143
 
                               Capability Shader

+ 1 - 1
3rdparty/glslang/Test/baseResults/hlsl.array.frag.out

@@ -290,7 +290,7 @@ gl_FragCoord origin is upper left
 0:?     'input' (layout( location=1) in 3-element array of 4-component vector of float)
 
 // Module Version 10000
-// Generated by (magic number): 80005
+// Generated by (magic number): 80006
 // Id's are bound by 126
 
                               Capability Shader

+ 1 - 1
3rdparty/glslang/Test/baseResults/hlsl.array.implicit-size.frag.out

@@ -163,7 +163,7 @@ gl_FragCoord origin is upper left
 0:?     'g_mystruct' ( global 2-element array of structure{ temp int i,  temp float f})
 
 // Module Version 10000
-// Generated by (magic number): 80005
+// Generated by (magic number): 80006
 // Id's are bound by 72
 
                               Capability Shader

+ 1 - 1
3rdparty/glslang/Test/baseResults/hlsl.array.multidim.frag.out

@@ -134,7 +134,7 @@ gl_FragCoord origin is upper left
 0:?     '@entryPointOutput.Color' (layout( location=0) out 4-component vector of float)
 
 // Module Version 10000
-// Generated by (magic number): 80005
+// Generated by (magic number): 80006
 // Id's are bound by 57
 
                               Capability Shader

+ 1 - 1
3rdparty/glslang/Test/baseResults/hlsl.assoc.frag.out

@@ -132,7 +132,7 @@ gl_FragCoord origin is upper left
 0:?     'a5' (layout( location=4) in 4-component vector of float)
 
 // Module Version 10000
-// Generated by (magic number): 80005
+// Generated by (magic number): 80006
 // Id's are bound by 58
 
                               Capability Shader

+ 1 - 1
3rdparty/glslang/Test/baseResults/hlsl.attribute.expression.comp.out

@@ -82,7 +82,7 @@ local_size = (4, 6, 8)
 0:?     '@entryPointOutput' (layout( location=0) out 4-component vector of float)
 
 // Module Version 10000
-// Generated by (magic number): 80005
+// Generated by (magic number): 80006
 // Id's are bound by 39
 
                               Capability Shader

+ 1 - 1
3rdparty/glslang/Test/baseResults/hlsl.attribute.frag.out

@@ -50,7 +50,7 @@ gl_FragCoord origin is upper left
 0:?     'input' (layout( location=0) in 4-component vector of float)
 
 // Module Version 10000
-// Generated by (magic number): 80005
+// Generated by (magic number): 80006
 // Id's are bound by 24
 
                               Capability Shader

+ 1 - 1
3rdparty/glslang/Test/baseResults/hlsl.attributeC11.frag.out

@@ -94,7 +94,7 @@ gl_FragCoord origin is upper left
 0:?     'input' (layout( location=8) in 4-component vector of float)
 
 // Module Version 10000
-// Generated by (magic number): 80005
+// Generated by (magic number): 80006
 // Id's are bound by 51
 
                               Capability Shader

+ 1 - 1
3rdparty/glslang/Test/baseResults/hlsl.attributeGlobalBuffer.frag.out

@@ -56,7 +56,7 @@ gl_FragCoord origin is upper left
 0:?     '@entryPointOutput' (layout( location=0) out 4-component vector of float)
 
 // Module Version 10000
-// Generated by (magic number): 80005
+// Generated by (magic number): 80006
 // Id's are bound by 28
 
                               Capability Shader

+ 1 - 1
3rdparty/glslang/Test/baseResults/hlsl.basic.comp.out

@@ -60,7 +60,7 @@ local_size = (1, 1, 1)
 0:?     'gti' ( in int LocalInvocationID)
 
 // Module Version 10000
-// Generated by (magic number): 80005
+// Generated by (magic number): 80006
 // Id's are bound by 35
 
                               Capability Shader

+ 1 - 1
3rdparty/glslang/Test/baseResults/hlsl.basic.geom.out

@@ -188,7 +188,7 @@ output primitive = line_strip
 0:?     'OutputStream.something' (layout( location=1) out int)
 
 // Module Version 10000
-// Generated by (magic number): 80005
+// Generated by (magic number): 80006
 // Id's are bound by 68
 
                               Capability Geometry

+ 1 - 1
3rdparty/glslang/Test/baseResults/hlsl.boolConv.vert.out

@@ -204,7 +204,7 @@ Shader version: 500
 0:?     '@entryPointOutput' ( out 4-component vector of float Position)
 
 // Module Version 10000
-// Generated by (magic number): 80005
+// Generated by (magic number): 80006
 // Id's are bound by 99
 
                               Capability Shader

+ 1 - 1
3rdparty/glslang/Test/baseResults/hlsl.buffer.frag.out

@@ -146,7 +146,7 @@ gl_FragCoord origin is upper left
 0:?     'input' ( in 4-component vector of float FragCoord)
 
 // Module Version 10000
-// Generated by (magic number): 80005
+// Generated by (magic number): 80006
 // Id's are bound by 73
 
                               Capability Shader

+ 1 - 1
3rdparty/glslang/Test/baseResults/hlsl.calculatelod.dx10.frag.out

@@ -356,7 +356,7 @@ gl_FragCoord origin is upper left
 0:?     '@entryPointOutput.Color' (layout( location=0) out 4-component vector of float)
 
 // Module Version 10000
-// Generated by (magic number): 80005
+// Generated by (magic number): 80006
 // Id's are bound by 148
 
                               Capability Shader

+ 1 - 1
3rdparty/glslang/Test/baseResults/hlsl.cast.frag.out

@@ -72,7 +72,7 @@ gl_FragCoord origin is upper left
 0:?     'input' (layout( location=0) in 4-component vector of float)
 
 // Module Version 10000
-// Generated by (magic number): 80005
+// Generated by (magic number): 80006
 // Id's are bound by 39
 
                               Capability Shader

+ 1 - 1
3rdparty/glslang/Test/baseResults/hlsl.cbuffer-identifier.vert.out

@@ -250,7 +250,7 @@ Shader version: 500
 0:?     'input.Norm' (layout( location=1) in 3-component vector of float)
 
 // Module Version 10000
-// Generated by (magic number): 80005
+// Generated by (magic number): 80006
 // Id's are bound by 106
 
                               Capability Shader

+ 1 - 1
3rdparty/glslang/Test/baseResults/hlsl.charLit.vert.out

@@ -146,7 +146,7 @@ Shader version: 500
 0:?     '@entryPointOutput' ( out 4-component vector of float Position)
 
 // Module Version 10000
-// Generated by (magic number): 80005
+// Generated by (magic number): 80006
 // Id's are bound by 58
 
                               Capability Shader

+ 1 - 1
3rdparty/glslang/Test/baseResults/hlsl.clip.frag.out

@@ -74,7 +74,7 @@ gl_FragCoord origin is upper left
 0:?     '@entryPointOutput' (layout( location=0) out 4-component vector of float)
 
 // Module Version 10000
-// Generated by (magic number): 80005
+// Generated by (magic number): 80006
 // Id's are bound by 30
 
                               Capability Shader

+ 1 - 1
3rdparty/glslang/Test/baseResults/hlsl.clipdistance-1.frag.out

@@ -98,7 +98,7 @@ gl_FragCoord origin is upper left
 0:?     'cull' ( in 1-element array of float CullDistance)
 
 // Module Version 10000
-// Generated by (magic number): 80005
+// Generated by (magic number): 80006
 // Id's are bound by 53
 
                               Capability Shader

+ 1 - 1
3rdparty/glslang/Test/baseResults/hlsl.clipdistance-1.geom.out

@@ -550,7 +550,7 @@ output primitive = line_strip
 0:?     'OutputStream.clip' ( out 2-element array of float ClipDistance)
 
 // Module Version 10000
-// Generated by (magic number): 80005
+// Generated by (magic number): 80006
 // Id's are bound by 118
 
                               Capability Geometry

+ 1 - 1
3rdparty/glslang/Test/baseResults/hlsl.clipdistance-1.vert.out

@@ -108,7 +108,7 @@ Shader version: 500
 0:?     'cull' ( out 1-element array of float CullDistance)
 
 // Module Version 10000
-// Generated by (magic number): 80005
+// Generated by (magic number): 80006
 // Id's are bound by 46
 
                               Capability Shader

+ 1 - 1
3rdparty/glslang/Test/baseResults/hlsl.clipdistance-2.frag.out

@@ -290,7 +290,7 @@ gl_FragCoord origin is upper left
 0:?     'cull' ( in 4-element array of float CullDistance)
 
 // Module Version 10000
-// Generated by (magic number): 80005
+// Generated by (magic number): 80006
 // Id's are bound by 84
 
                               Capability Shader

+ 1 - 1
3rdparty/glslang/Test/baseResults/hlsl.clipdistance-2.geom.out

@@ -724,7 +724,7 @@ output primitive = line_strip
 0:?     'OutputStream.clip' ( out 4-element array of float ClipDistance)
 
 // Module Version 10000
-// Generated by (magic number): 80005
+// Generated by (magic number): 80006
 // Id's are bound by 128
 
                               Capability Geometry

+ 1 - 1
3rdparty/glslang/Test/baseResults/hlsl.clipdistance-2.vert.out

@@ -420,7 +420,7 @@ Shader version: 500
 0:?     'cull' ( out 4-element array of float CullDistance)
 
 // Module Version 10000
-// Generated by (magic number): 80005
+// Generated by (magic number): 80006
 // Id's are bound by 89
 
                               Capability Shader

+ 1 - 1
3rdparty/glslang/Test/baseResults/hlsl.clipdistance-3.frag.out

@@ -98,7 +98,7 @@ gl_FragCoord origin is upper left
 0:?     'cull' ( in 2-element array of float CullDistance)
 
 // Module Version 10000
-// Generated by (magic number): 80005
+// Generated by (magic number): 80006
 // Id's are bound by 53
 
                               Capability Shader

+ 1 - 1
3rdparty/glslang/Test/baseResults/hlsl.clipdistance-3.geom.out

@@ -630,7 +630,7 @@ output primitive = line_strip
 0:?     'OutputStream.clip1' ( out 4-element array of float ClipDistance)
 
 // Module Version 10000
-// Generated by (magic number): 80005
+// Generated by (magic number): 80006
 // Id's are bound by 127
 
                               Capability Geometry

+ 1 - 1
3rdparty/glslang/Test/baseResults/hlsl.clipdistance-3.vert.out

@@ -136,7 +136,7 @@ Shader version: 500
 0:?     'cull' ( out 2-element array of float CullDistance)
 
 // Module Version 10000
-// Generated by (magic number): 80005
+// Generated by (magic number): 80006
 // Id's are bound by 51
 
                               Capability Shader

+ 1 - 1
3rdparty/glslang/Test/baseResults/hlsl.clipdistance-4.frag.out

@@ -174,7 +174,7 @@ gl_FragCoord origin is upper left
 0:?     'v.ClipRect' ( in 4-element array of float ClipDistance)
 
 // Module Version 10000
-// Generated by (magic number): 80005
+// Generated by (magic number): 80006
 // Id's are bound by 57
 
                               Capability Shader

+ 1 - 1
3rdparty/glslang/Test/baseResults/hlsl.clipdistance-4.geom.out

@@ -612,7 +612,7 @@ output primitive = line_strip
 0:?     'OutputStream.clip1' ( out 4-element array of float ClipDistance)
 
 // Module Version 10000
-// Generated by (magic number): 80005
+// Generated by (magic number): 80006
 // Id's are bound by 130
 
                               Capability Geometry

+ 1 - 1
3rdparty/glslang/Test/baseResults/hlsl.clipdistance-4.vert.out

@@ -270,7 +270,7 @@ Shader version: 500
 0:?     '@entryPointOutput.ClipRect' ( out 4-element array of float ClipDistance)
 
 // Module Version 10000
-// Generated by (magic number): 80005
+// Generated by (magic number): 80006
 // Id's are bound by 72
 
                               Capability Shader

+ 1 - 1
3rdparty/glslang/Test/baseResults/hlsl.clipdistance-5.frag.out

@@ -232,7 +232,7 @@ gl_FragCoord origin is upper left
 0:?     'v.ClipRect' ( in 4-element array of float ClipDistance)
 
 // Module Version 10000
-// Generated by (magic number): 80005
+// Generated by (magic number): 80006
 // Id's are bound by 62
 
                               Capability Shader

+ 1 - 1
3rdparty/glslang/Test/baseResults/hlsl.clipdistance-5.vert.out

@@ -318,7 +318,7 @@ Shader version: 500
 0:?     '@entryPointOutput.ClipRect' ( out 4-element array of float ClipDistance)
 
 // Module Version 10000
-// Generated by (magic number): 80005
+// Generated by (magic number): 80006
 // Id's are bound by 73
 
                               Capability Shader

+ 1 - 1
3rdparty/glslang/Test/baseResults/hlsl.clipdistance-6.frag.out

@@ -282,7 +282,7 @@ gl_FragCoord origin is upper left
 0:?     'v.clip1' ( in 8-element array of float ClipDistance)
 
 // Module Version 10000
-// Generated by (magic number): 80005
+// Generated by (magic number): 80006
 // Id's are bound by 79
 
                               Capability Shader

+ 1 - 1
3rdparty/glslang/Test/baseResults/hlsl.clipdistance-6.vert.out

@@ -428,7 +428,7 @@ Shader version: 500
 0:?     '@entryPointOutput.clip1' ( out 8-element array of float ClipDistance)
 
 // Module Version 10000
-// Generated by (magic number): 80005
+// Generated by (magic number): 80006
 // Id's are bound by 86
 
                               Capability Shader

+ 1 - 1
3rdparty/glslang/Test/baseResults/hlsl.clipdistance-7.frag.out

@@ -270,7 +270,7 @@ gl_FragCoord origin is upper left
 0:?     'v.clip1' ( in 8-element array of float ClipDistance)
 
 // Module Version 10000
-// Generated by (magic number): 80005
+// Generated by (magic number): 80006
 // Id's are bound by 78
 
                               Capability Shader

+ 1 - 1
3rdparty/glslang/Test/baseResults/hlsl.clipdistance-7.vert.out

@@ -384,7 +384,7 @@ Shader version: 500
 0:?     '@entryPointOutput.clip1' ( out 8-element array of float ClipDistance)
 
 // Module Version 10000
-// Generated by (magic number): 80005
+// Generated by (magic number): 80006
 // Id's are bound by 81
 
                               Capability Shader

+ 1 - 1
3rdparty/glslang/Test/baseResults/hlsl.clipdistance-8.frag.out

@@ -186,7 +186,7 @@ gl_FragCoord origin is upper left
 0:?     'v.clip1' ( in 4-element array of float ClipDistance)
 
 // Module Version 10000
-// Generated by (magic number): 80005
+// Generated by (magic number): 80006
 // Id's are bound by 65
 
                               Capability Shader

+ 1 - 1
3rdparty/glslang/Test/baseResults/hlsl.clipdistance-8.vert.out

@@ -240,7 +240,7 @@ Shader version: 500
 0:?     '@entryPointOutput.clip1' ( out 4-element array of float ClipDistance)
 
 // Module Version 10000
-// Generated by (magic number): 80005
+// Generated by (magic number): 80006
 // Id's are bound by 62
 
                               Capability Shader

+ 1 - 1
3rdparty/glslang/Test/baseResults/hlsl.clipdistance-9.frag.out

@@ -144,7 +144,7 @@ gl_FragCoord origin is upper left
 0:?     'clip0' ( in 4-element array of float ClipDistance)
 
 // Module Version 10000
-// Generated by (magic number): 80005
+// Generated by (magic number): 80006
 // Id's are bound by 68
 
                               Capability Shader

+ 1 - 1
3rdparty/glslang/Test/baseResults/hlsl.clipdistance-9.vert.out

@@ -194,7 +194,7 @@ Shader version: 500
 0:?     'clip0' ( out 4-element array of float ClipDistance)
 
 // Module Version 10000
-// Generated by (magic number): 80005
+// Generated by (magic number): 80006
 // Id's are bound by 67
 
                               Capability Shader

+ 1 - 1
3rdparty/glslang/Test/baseResults/hlsl.color.hull.tesc.out

@@ -356,7 +356,7 @@ triangle order = cw
 0:?     '@patchConstantOutput.inside' ( patch out 2-element array of float TessLevelInner)
 
 // Module Version 10000
-// Generated by (magic number): 80005
+// Generated by (magic number): 80006
 // Id's are bound by 127
 
                               Capability Tessellation

+ 1 - 1
3rdparty/glslang/Test/baseResults/hlsl.comparison.vec.frag.out

@@ -262,7 +262,7 @@ gl_FragCoord origin is upper left
 0:?     '@entryPointOutput.Color' (layout( location=0) out 4-component vector of float)
 
 // Module Version 10000
-// Generated by (magic number): 80005
+// Generated by (magic number): 80006
 // Id's are bound by 96
 
                               Capability Shader

+ 1 - 1
3rdparty/glslang/Test/baseResults/hlsl.conditional.frag.out

@@ -522,7 +522,7 @@ gl_FragCoord origin is upper left
 0:?     'input' (layout( location=0) in 4-component vector of float)
 
 // Module Version 10000
-// Generated by (magic number): 80005
+// Generated by (magic number): 80006
 // Id's are bound by 206
 
                               Capability Shader

+ 1 - 1
3rdparty/glslang/Test/baseResults/hlsl.constantbuffer.frag.out

@@ -132,7 +132,7 @@ gl_FragCoord origin is upper left
 0:?     '@entryPointOutput' (layout( location=0) out 4-component vector of float)
 
 // Module Version 10000
-// Generated by (magic number): 80005
+// Generated by (magic number): 80006
 // Id's are bound by 66
 
                               Capability Shader

+ 1 - 1
3rdparty/glslang/Test/baseResults/hlsl.constructArray.vert.out

@@ -268,7 +268,7 @@ Shader version: 500
 0:?     '@entryPointOutput' ( out 4-component vector of float Position)
 
 // Module Version 10000
-// Generated by (magic number): 80005
+// Generated by (magic number): 80006
 // Id's are bound by 89
 
                               Capability Shader

+ 1 - 1
3rdparty/glslang/Test/baseResults/hlsl.constructexpr.frag.out

@@ -104,7 +104,7 @@ gl_FragCoord origin is upper left
 0:?     '@entryPointOutput.color' (layout( location=0) out 4-component vector of float)
 
 // Module Version 10000
-// Generated by (magic number): 80005
+// Generated by (magic number): 80006
 // Id's are bound by 40
 
                               Capability Shader

+ 1 - 1
3rdparty/glslang/Test/baseResults/hlsl.constructimat.frag.out

@@ -544,7 +544,7 @@ gl_FragCoord origin is upper left
 0:?     '@entryPointOutput' (layout( location=0) out int)
 
 // Module Version 10000
-// Generated by (magic number): 80005
+// Generated by (magic number): 80006
 // Id's are bound by 98
 
                               Capability Shader

+ 1 - 1
3rdparty/glslang/Test/baseResults/hlsl.dashI.vert.out

@@ -1,6 +1,6 @@
 hlsl.dashI.vert
 // Module Version 10000
-// Generated by (magic number): 80005
+// Generated by (magic number): 80006
 // Id's are bound by 40
 
                               Capability Shader

+ 1 - 1
3rdparty/glslang/Test/baseResults/hlsl.deadFunctionMissingBody.vert.out

@@ -1,6 +1,6 @@
 hlsl.deadFunctionMissingBody.vert
 // Module Version 10000
-// Generated by (magic number): 80005
+// Generated by (magic number): 80006
 // Id's are bound by 18
 
                               Capability Shader

+ 1 - 1
3rdparty/glslang/Test/baseResults/hlsl.depthGreater.frag.out

@@ -50,7 +50,7 @@ using depth_greater
 0:?     'depth' ( out float FragDepth)
 
 // Module Version 10000
-// Generated by (magic number): 80005
+// Generated by (magic number): 80006
 // Id's are bound by 20
 
                               Capability Shader

+ 1 - 1
3rdparty/glslang/Test/baseResults/hlsl.depthLess.frag.out

@@ -42,7 +42,7 @@ using depth_less
 0:?     '@entryPointOutput' ( out float FragDepth)
 
 // Module Version 10000
-// Generated by (magic number): 80005
+// Generated by (magic number): 80006
 // Id's are bound by 16
 
                               Capability Shader

+ 1 - 1
3rdparty/glslang/Test/baseResults/hlsl.discard.frag.out

@@ -108,7 +108,7 @@ gl_FragCoord origin is upper left
 0:?     'input' (layout( location=0) in 4-component vector of float)
 
 // Module Version 10000
-// Generated by (magic number): 80005
+// Generated by (magic number): 80006
 // Id's are bound by 50
 
                               Capability Shader

+ 1 - 1
3rdparty/glslang/Test/baseResults/hlsl.doLoop.frag.out

@@ -144,7 +144,7 @@ gl_FragCoord origin is upper left
 0:?     'input' (layout( location=0) in float)
 
 // Module Version 10000
-// Generated by (magic number): 80005
+// Generated by (magic number): 80006
 // Id's are bound by 71
 
                               Capability Shader

+ 1 - 1
3rdparty/glslang/Test/baseResults/hlsl.domain.1.tese.out

@@ -286,7 +286,7 @@ triangle order = none
 0:?     'pcf_data.flInsideTessFactor' ( patch in 2-element array of float TessLevelInner)
 
 // Module Version 10000
-// Generated by (magic number): 80005
+// Generated by (magic number): 80006
 // Id's are bound by 103
 
                               Capability Tessellation

+ 1 - 1
3rdparty/glslang/Test/baseResults/hlsl.domain.2.tese.out

@@ -284,7 +284,7 @@ triangle order = none
 0:?     'pcf_data.foo' (layout( location=2) patch in float)
 
 // Module Version 10000
-// Generated by (magic number): 80005
+// Generated by (magic number): 80006
 // Id's are bound by 98
 
                               Capability Tessellation

+ 1 - 1
3rdparty/glslang/Test/baseResults/hlsl.domain.3.tese.out

@@ -264,7 +264,7 @@ triangle order = none
 0:?     'pcf_data.flInsideTessFactor' ( patch in 2-element array of float TessLevelInner)
 
 // Module Version 10000
-// Generated by (magic number): 80005
+// Generated by (magic number): 80006
 // Id's are bound by 100
 
                               Capability Tessellation

+ 1 - 1
3rdparty/glslang/Test/baseResults/hlsl.emptystruct.init.vert.out

@@ -60,7 +60,7 @@ Shader version: 500
 0:?     'vertexIndex' (layout( location=0) in uint)
 
 // Module Version 10000
-// Generated by (magic number): 80005
+// Generated by (magic number): 80006
 // Id's are bound by 29
 
                               Capability Shader

+ 1 - 1
3rdparty/glslang/Test/baseResults/hlsl.emptystructreturn.frag.out

@@ -50,7 +50,7 @@ gl_FragCoord origin is upper left
 0:?   Linker Objects
 
 // Module Version 10000
-// Generated by (magic number): 80005
+// Generated by (magic number): 80006
 // Id's are bound by 27
 
                               Capability Shader

+ 1 - 1
3rdparty/glslang/Test/baseResults/hlsl.emptystructreturn.vert.out

@@ -48,7 +48,7 @@ Shader version: 500
 0:?   Linker Objects
 
 // Module Version 10000
-// Generated by (magic number): 80005
+// Generated by (magic number): 80006
 // Id's are bound by 27
 
                               Capability Shader

+ 1 - 1
3rdparty/glslang/Test/baseResults/hlsl.entry-in.frag.out

@@ -166,7 +166,7 @@ gl_FragCoord origin is upper left
 0:?     'i.i2' (layout( location=1) flat in 2-component vector of int)
 
 // Module Version 10000
-// Generated by (magic number): 80005
+// Generated by (magic number): 80006
 // Id's are bound by 74
 
                               Capability Shader

+ 1 - 1
3rdparty/glslang/Test/baseResults/hlsl.entry-out.frag.out

@@ -244,7 +244,7 @@ gl_FragCoord origin is upper left
 0:?     'out3.i' (layout( location=5) out 2-component vector of int)
 
 // Module Version 10000
-// Generated by (magic number): 80005
+// Generated by (magic number): 80006
 // Id's are bound by 89
 
                               Capability Shader

+ 1 - 1
3rdparty/glslang/Test/baseResults/hlsl.entry.rename.frag.out

@@ -72,7 +72,7 @@ gl_FragCoord origin is upper left
 0:?     '@entryPointOutput.Color' (layout( location=0) out 4-component vector of float)
 
 // Module Version 10000
-// Generated by (magic number): 80005
+// Generated by (magic number): 80006
 // Id's are bound by 32
 
                               Capability Shader

+ 1 - 1
3rdparty/glslang/Test/baseResults/hlsl.explicitDescriptorSet-2.frag.out

@@ -1,6 +1,6 @@
 hlsl.explicitDescriptorSet.frag
 // Module Version 10000
-// Generated by (magic number): 80005
+// Generated by (magic number): 80006
 // Id's are bound by 31
 
                               Capability Shader

+ 1 - 1
3rdparty/glslang/Test/baseResults/hlsl.explicitDescriptorSet.frag.out

@@ -1,6 +1,6 @@
 hlsl.explicitDescriptorSet.frag
 // Module Version 10000
-// Generated by (magic number): 80005
+// Generated by (magic number): 80006
 // Id's are bound by 31
 
                               Capability Shader

+ 1 - 1
3rdparty/glslang/Test/baseResults/hlsl.flatten.return.frag.out

@@ -118,7 +118,7 @@ gl_FragCoord origin is upper left
 0:?     '@entryPointOutput.other_struct_member3' (layout( location=3) out float)
 
 // Module Version 10000
-// Generated by (magic number): 80005
+// Generated by (magic number): 80006
 // Id's are bound by 49
 
                               Capability Shader

+ 1 - 1
3rdparty/glslang/Test/baseResults/hlsl.flattenOpaque.frag.out

@@ -295,7 +295,7 @@ gl_FragCoord origin is upper left
 0:?     '@entryPointOutput' (layout( location=0) out 4-component vector of float)
 
 // Module Version 10000
-// Generated by (magic number): 80005
+// Generated by (magic number): 80006
 // Id's are bound by 122
 
                               Capability Shader

+ 1 - 1
3rdparty/glslang/Test/baseResults/hlsl.flattenOpaqueInit.vert.out

@@ -165,7 +165,7 @@ Shader version: 500
 0:?     '@entryPointOutput' (layout( location=0) out 4-component vector of float)
 
 // Module Version 10000
-// Generated by (magic number): 80005
+// Generated by (magic number): 80006
 // Id's are bound by 82
 
                               Capability Shader

+ 1 - 1
3rdparty/glslang/Test/baseResults/hlsl.flattenOpaqueInitMix.vert.out

@@ -107,7 +107,7 @@ Shader version: 500
 0:?     '@entryPointOutput' (layout( location=0) out 4-component vector of float)
 
 // Module Version 10000
-// Generated by (magic number): 80005
+// Generated by (magic number): 80006
 // Id's are bound by 59
 
                               Capability Shader

+ 1 - 1
3rdparty/glslang/Test/baseResults/hlsl.flattenSubset.frag.out

@@ -115,7 +115,7 @@ gl_FragCoord origin is upper left
 0:?     'vpos' (layout( location=0) in 4-component vector of float)
 
 // Module Version 10000
-// Generated by (magic number): 80005
+// Generated by (magic number): 80006
 // Id's are bound by 54
 
                               Capability Shader

+ 1 - 1
3rdparty/glslang/Test/baseResults/hlsl.flattenSubset2.frag.out

@@ -149,7 +149,7 @@ gl_FragCoord origin is upper left
 0:?     'vpos' (layout( location=0) in 4-component vector of float)
 
 // Module Version 10000
-// Generated by (magic number): 80005
+// Generated by (magic number): 80006
 // Id's are bound by 56
 
                               Capability Shader

+ 1 - 1
3rdparty/glslang/Test/baseResults/hlsl.float1.frag.out

@@ -65,7 +65,7 @@ gl_FragCoord origin is upper left
 0:?     'scalar' ( global float)
 
 // Module Version 10000
-// Generated by (magic number): 80005
+// Generated by (magic number): 80006
 // Id's are bound by 27
 
                               Capability Shader

+ 1 - 1
3rdparty/glslang/Test/baseResults/hlsl.float4.frag.out

@@ -42,7 +42,7 @@ gl_FragCoord origin is upper left
 0:?     'anon@0' (layout( row_major std140) uniform block{ uniform 4-component vector of float AmbientColor,  uniform bool ff1, layout( offset=20) uniform float ff2, layout( binding=0 offset=32) uniform 4-component vector of float ff3, layout( binding=1 offset=48) uniform 4-component vector of float ff4})
 
 // Module Version 10000
-// Generated by (magic number): 80005
+// Generated by (magic number): 80006
 // Id's are bound by 26
 
                               Capability Shader

+ 1 - 1
3rdparty/glslang/Test/baseResults/hlsl.forLoop.frag.out

@@ -402,7 +402,7 @@ gl_FragCoord origin is upper left
 0:?     'input' (layout( location=0) in 4-component vector of float)
 
 // Module Version 10000
-// Generated by (magic number): 80005
+// Generated by (magic number): 80006
 // Id's are bound by 183
 
                               Capability Shader

+ 1 - 1
3rdparty/glslang/Test/baseResults/hlsl.fraggeom.frag.out

@@ -64,7 +64,7 @@ gl_FragCoord origin is upper left
 0:?     '@entryPointOutput' (layout( location=0) out 4-component vector of float)
 
 // Module Version 10000
-// Generated by (magic number): 80005
+// Generated by (magic number): 80006
 // Id's are bound by 25
 
                               Capability Shader

Деякі файли не було показано, через те що забагато файлів було змінено