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

+ 47 - 17
3rdparty/glslang/SPIRV/GlslangToSpv.cpp

@@ -1762,8 +1762,9 @@ bool TGlslangToSpvTraverser::visitAggregate(glslang::TVisit visit, glslang::TInt
     case glslang::EOpMemoryBarrierImage:
     case glslang::EOpMemoryBarrierShared:
     case glslang::EOpGroupMemoryBarrier:
+    case glslang::EOpDeviceMemoryBarrier:
     case glslang::EOpAllMemoryBarrierWithGroupSync:
-    case glslang::EOpGroupMemoryBarrierWithGroupSync:
+    case glslang::EOpDeviceMemoryBarrierWithGroupSync:
     case glslang::EOpWorkgroupMemoryBarrier:
     case glslang::EOpWorkgroupMemoryBarrierWithGroupSync:
         noReturnValue = true;
@@ -5429,40 +5430,65 @@ spv::Id TGlslangToSpvTraverser::createNoArgOperation(glslang::TOperator op, spv:
         builder.createNoResultOp(spv::OpEndPrimitive);
         return 0;
     case glslang::EOpBarrier:
-        builder.createControlBarrier(spv::ScopeWorkgroup, spv::ScopeDevice, spv::MemorySemanticsMaskNone);
+        if (glslangIntermediate->getStage() == EShLangTessControl) {
+            builder.createControlBarrier(spv::ScopeWorkgroup, spv::ScopeInvocation, spv::MemorySemanticsMaskNone);
+            // TODO: prefer the following, when available:
+            // builder.createControlBarrier(spv::ScopePatch, spv::ScopePatch,
+            //                                 spv::MemorySemanticsPatchMask |
+            //                                 spv::MemorySemanticsAcquireReleaseMask);
+        } else {
+            builder.createControlBarrier(spv::ScopeWorkgroup, spv::ScopeWorkgroup,
+                                            spv::MemorySemanticsWorkgroupMemoryMask |
+                                            spv::MemorySemanticsAcquireReleaseMask);
+        }
         return 0;
     case glslang::EOpMemoryBarrier:
-        builder.createMemoryBarrier(spv::ScopeDevice, spv::MemorySemanticsAllMemory);
+        builder.createMemoryBarrier(spv::ScopeDevice, spv::MemorySemanticsAllMemory |
+                                                      spv::MemorySemanticsAcquireReleaseMask);
         return 0;
     case glslang::EOpMemoryBarrierAtomicCounter:
-        builder.createMemoryBarrier(spv::ScopeDevice, spv::MemorySemanticsAtomicCounterMemoryMask);
+        builder.createMemoryBarrier(spv::ScopeDevice, spv::MemorySemanticsAtomicCounterMemoryMask |
+                                                      spv::MemorySemanticsAcquireReleaseMask);
         return 0;
     case glslang::EOpMemoryBarrierBuffer:
-        builder.createMemoryBarrier(spv::ScopeDevice, spv::MemorySemanticsUniformMemoryMask);
+        builder.createMemoryBarrier(spv::ScopeDevice, spv::MemorySemanticsUniformMemoryMask |
+                                                      spv::MemorySemanticsAcquireReleaseMask);
         return 0;
     case glslang::EOpMemoryBarrierImage:
-        builder.createMemoryBarrier(spv::ScopeDevice, spv::MemorySemanticsImageMemoryMask);
+        builder.createMemoryBarrier(spv::ScopeDevice, spv::MemorySemanticsImageMemoryMask |
+                                                      spv::MemorySemanticsAcquireReleaseMask);
         return 0;
     case glslang::EOpMemoryBarrierShared:
-        builder.createMemoryBarrier(spv::ScopeDevice, spv::MemorySemanticsWorkgroupMemoryMask);
+        builder.createMemoryBarrier(spv::ScopeDevice, spv::MemorySemanticsWorkgroupMemoryMask |
+                                                      spv::MemorySemanticsAcquireReleaseMask);
         return 0;
     case glslang::EOpGroupMemoryBarrier:
-        builder.createMemoryBarrier(spv::ScopeDevice, spv::MemorySemanticsCrossWorkgroupMemoryMask);
+        builder.createMemoryBarrier(spv::ScopeWorkgroup, spv::MemorySemanticsAllMemory |
+                                                         spv::MemorySemanticsAcquireReleaseMask);
         return 0;
     case glslang::EOpAllMemoryBarrierWithGroupSync:
-        // Control barrier with non-"None" semantic is also a memory barrier.
-        builder.createControlBarrier(spv::ScopeDevice, spv::ScopeDevice, spv::MemorySemanticsAllMemory);
+        builder.createControlBarrier(spv::ScopeWorkgroup, spv::ScopeDevice,
+                                        spv::MemorySemanticsAllMemory |
+                                        spv::MemorySemanticsAcquireReleaseMask);
+        return 0;
+    case glslang::EOpDeviceMemoryBarrier:
+        builder.createMemoryBarrier(spv::ScopeDevice, spv::MemorySemanticsUniformMemoryMask |
+                                                      spv::MemorySemanticsImageMemoryMask |
+                                                      spv::MemorySemanticsAcquireReleaseMask);
         return 0;
-    case glslang::EOpGroupMemoryBarrierWithGroupSync:
-        // Control barrier with non-"None" semantic is also a memory barrier.
-        builder.createControlBarrier(spv::ScopeDevice, spv::ScopeDevice, spv::MemorySemanticsCrossWorkgroupMemoryMask);
+    case glslang::EOpDeviceMemoryBarrierWithGroupSync:
+        builder.createControlBarrier(spv::ScopeWorkgroup, spv::ScopeDevice, spv::MemorySemanticsUniformMemoryMask |
+                                                                            spv::MemorySemanticsImageMemoryMask |
+                                                                            spv::MemorySemanticsAcquireReleaseMask);
         return 0;
     case glslang::EOpWorkgroupMemoryBarrier:
-        builder.createMemoryBarrier(spv::ScopeWorkgroup, spv::MemorySemanticsWorkgroupMemoryMask);
+        builder.createMemoryBarrier(spv::ScopeWorkgroup, spv::MemorySemanticsWorkgroupMemoryMask |
+                                                         spv::MemorySemanticsAcquireReleaseMask);
         return 0;
     case glslang::EOpWorkgroupMemoryBarrierWithGroupSync:
-        // Control barrier with non-"None" semantic is also a memory barrier.
-        builder.createControlBarrier(spv::ScopeWorkgroup, spv::ScopeWorkgroup, spv::MemorySemanticsWorkgroupMemoryMask);
+        builder.createControlBarrier(spv::ScopeWorkgroup, spv::ScopeWorkgroup,
+                                        spv::MemorySemanticsWorkgroupMemoryMask |
+                                        spv::MemorySemanticsAcquireReleaseMask);
         return 0;
 #ifdef AMD_EXTENSIONS
     case glslang::EOpTime:
@@ -5959,7 +5985,9 @@ void GetSpirvVersion(std::string& version)
 // or a different instruction sequence to do something gets used).
 int GetSpirvGeneratorVersion()
 {
-    return 2;
+    // return 1; // start
+    // return 2; // EOpAtomicCounterDecrement gets a post decrement, to map between GLSL -> SPIR-V
+    return 3;    // change/correct barrier-instruction operands, to match memory model group decisions
 }
 
 // Write SPIR-V out to a binary file
@@ -6058,6 +6086,8 @@ void GlslangToSpv(const glslang::TIntermediate& intermediate, std::vector<unsign
         });
 
         optimizer.RegisterPass(CreateInlineExhaustivePass());
+        optimizer.RegisterPass(CreateEliminateDeadFunctionsPass());
+        optimizer.RegisterPass(CreateScalarReplacementPass());
         optimizer.RegisterPass(CreateLocalAccessChainConvertPass());
         optimizer.RegisterPass(CreateLocalSingleBlockLoadStoreElimPass());
         optimizer.RegisterPass(CreateLocalSingleStoreElimPass());

+ 1 - 4
3rdparty/glslang/SPIRV/spvIR.h

@@ -74,11 +74,8 @@ const Decoration NoPrecision = DecorationMax;
 
 POTENTIALLY_UNUSED
 const MemorySemanticsMask MemorySemanticsAllMemory =
-                (MemorySemanticsMask)(MemorySemanticsSequentiallyConsistentMask |
-                                      MemorySemanticsUniformMemoryMask |
-                                      MemorySemanticsSubgroupMemoryMask |
+                (MemorySemanticsMask)(MemorySemanticsUniformMemoryMask |
                                       MemorySemanticsWorkgroupMemoryMask |
-                                      MemorySemanticsCrossWorkgroupMemoryMask |
                                       MemorySemanticsAtomicCounterMemoryMask |
                                       MemorySemanticsImageMemoryMask);
 

+ 1 - 1
3rdparty/glslang/Test/310implicitSizeArrayError.vert

@@ -1,5 +1,5 @@
 #version 310 es
-layout (location=0) uniform Block {
+layout (binding=0) uniform Block {
   highp int a[];
 } uni;
 layout (location=0) out highp int o;

+ 8 - 0
3rdparty/glslang/Test/450.vert

@@ -46,3 +46,11 @@ void foo()
     allInvocationsEqual(b1);  // ERROR, need 4.6
 }
 ; // ERROR: no extraneous semicolons
+
+layout(location = 0) uniform locBlock {        // ERROR, no location uniform block
+    int a;
+};
+
+layout(location = 0) buffer locBuffBlock {     // ERROR, no location on buffer block
+    int b;
+};

+ 1 - 4
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): 80002
+// Generated by (magic number): 80003
 // Id's are bound by 87
 
                               Capability Shader
@@ -15,11 +15,9 @@ WARNING: AST will form illegal SPIR-V; need to transform to legalize
                               MemberName 9(OS) 0  "ss"
                               MemberName 9(OS) 1  "a"
                               MemberName 9(OS) 2  "tex"
-                              Name 44  "gss2"
                               Name 47  "gss"
                               Name 51  "gtex"
                               Name 62  "@entryPointOutput"
-                              Decorate 44(gss2) DescriptorSet 0
                               Decorate 47(gss) DescriptorSet 0
                               Decorate 51(gtex) DescriptorSet 0
                               Decorate 62(@entryPointOutput) Location 0
@@ -36,7 +34,6 @@ WARNING: AST will form illegal SPIR-V; need to transform to legalize
               36:    7(float) Constant 1050253722
               37:   34(fvec2) ConstantComposite 35 36
               43:             TypePointer UniformConstant 6
-        44(gss2):     43(ptr) Variable UniformConstant
          47(gss):     43(ptr) Variable UniformConstant
               50:             TypePointer UniformConstant 8
         51(gtex):     50(ptr) Variable UniformConstant

+ 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): 80002
+// Generated by (magic number): 80003
 // 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): 80002
+// Generated by (magic number): 80003
 // 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): 80002
+// Generated by (magic number): 80003
 // Id's are bound by 80
 
                               Capability Shader

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

@@ -1,8 +1,8 @@
 hlsl.flattenSubset.frag
 WARNING: AST will form illegal SPIR-V; need to transform to legalize
 // Module Version 10000
-// Generated by (magic number): 80002
-// Id's are bound by 66
+// Generated by (magic number): 80003
+// Id's are bound by 72
 
                               Capability Shader
                1:             ExtInstImport  "GLSL.std.450"

+ 1 - 5
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): 80002
+// Generated by (magic number): 80003
 // Id's are bound by 53
 
                               Capability Shader
@@ -20,10 +20,8 @@ WARNING: AST will form illegal SPIR-V; need to transform to legalize
                               Name 25  "B"
                               MemberName 25(B) 0  "n"
                               MemberName 25(B) 1  "tex"
-                              Name 36  "someTex"
                               Name 49  "vpos"
                               Name 52  "@entryPointOutput"
-                              Decorate 36(someTex) DescriptorSet 0
                               Decorate 49(vpos) Location 0
                               Decorate 52(@entryPointOutput) Location 0
                2:             TypeVoid
@@ -34,8 +32,6 @@ WARNING: AST will form illegal SPIR-V; need to transform to legalize
       14(Nested):             TypeStruct 6(float) 13
            15(A):             TypeStruct 14(Nested) 6(float)
            25(B):             TypeStruct 14(Nested) 13
-              35:             TypePointer UniformConstant 13
-     36(someTex):     35(ptr) Variable UniformConstant
               43:    6(float) Constant 0
               44:    7(fvec4) ConstantComposite 43 43 43 43
               48:             TypePointer Input 7(fvec4)

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

@@ -1,8 +1,8 @@
 hlsl.partialFlattenLocal.vert
 WARNING: AST will form illegal SPIR-V; need to transform to legalize
 // Module Version 10000
-// Generated by (magic number): 80002
-// Id's are bound by 132
+// Generated by (magic number): 80003
+// Id's are bound by 165
 
                               Capability Shader
                1:             ExtInstImport  "GLSL.std.450"
@@ -16,10 +16,8 @@ WARNING: AST will form illegal SPIR-V; need to transform to legalize
                               MemberName 22(Packed) 2  "uv"
                               MemberName 22(Packed) 3  "x"
                               MemberName 22(Packed) 4  "n"
-                              Name 27  "tex"
                               Name 83  "pos"
                               Name 86  "@entryPointOutput"
-                              Decorate 27(tex) DescriptorSet 0
                               Decorate 83(pos) Location 0
                               Decorate 86(@entryPointOutput) BuiltIn Position
                2:             TypeVoid
@@ -36,72 +34,59 @@ WARNING: AST will form illegal SPIR-V; need to transform to legalize
               20:             TypeArray 18(fvec2) 19
               21:             TypeInt 32 1
       22(Packed):             TypeStruct 13 17 20 6(float) 21(int)
-              23:             TypePointer Function 22(Packed)
               25:     21(int) Constant 0
-              26:             TypePointer UniformConstant 13
-         27(tex):     26(ptr) Variable UniformConstant
-              29:             TypePointer Function 13
               31:     21(int) Constant 1
               32:    6(float) Constant 0
               33:   14(fvec3) ConstantComposite 32 32 32
               34:             TypePointer Function 14(fvec3)
-              36:     21(int) Constant 2
               37:    6(float) Constant 1065353216
               38:   18(fvec2) ConstantComposite 32 37
               39:             TypePointer Function 18(fvec2)
-              41:     21(int) Constant 3
-              42:             TypePointer Function 6(float)
-              44:     21(int) Constant 4
-              45:             TypePointer Function 21(int)
               54:             TypeBool
               82:             TypePointer Input 7(fvec4)
          83(pos):     82(ptr) Variable Input
               85:             TypePointer Output 7(fvec4)
 86(@entryPointOutput):     85(ptr) Variable Output
+             130:             TypePointer Function 17
+             132:             TypePointer Function 20
          4(main):           2 Function None 3
                5:             Label
-              90:     23(ptr) Variable Function
+             133:    132(ptr) Variable Function
+             131:    130(ptr) Variable Function
               84:    7(fvec4) Load 83(pos)
-              94:          13 Load 27(tex)
-              95:     29(ptr) AccessChain 90 25
-                              Store 95 94
-              96:     34(ptr) AccessChain 90 31 25
-                              Store 96 33
-              97:     39(ptr) AccessChain 90 36 25
-                              Store 97 38
-              98:     42(ptr) AccessChain 90 41
-                              Store 98 37
-              99:     45(ptr) AccessChain 90 44
-                              Store 99 41
+             136:     34(ptr) AccessChain 131 25
+                              Store 136 33
+             137:     39(ptr) AccessChain 133 25
+                              Store 137 38
                               Branch 100
              100:             Label
-             131:     21(int) Phi 25 5 119 102
+             164:     21(int) Phi 25 5 119 102
                               LoopMerge 101 102 None
                               Branch 103
              103:             Label
-             105:    54(bool) SLessThan 131 31
+             105:    54(bool) SLessThan 164 31
                               BranchConditional 105 106 101
              106:               Label
-             109:     39(ptr)   AccessChain 90 36 131
-             110:   18(fvec2)   Load 109
-             111:     34(ptr)   AccessChain 90 31 131
-             112:   14(fvec3)   Load 111
+             138:     39(ptr)   AccessChain 133 164
+             110:   18(fvec2)   Load 138
+             139:     34(ptr)   AccessChain 131 164
+             112:   14(fvec3)   Load 139
              113:   18(fvec2)   VectorShuffle 112 112 0 1
              114:   18(fvec2)   FAdd 113 110
-             115:     34(ptr)   AccessChain 90 31 131
-             116:   14(fvec3)   Load 115
+             140:     34(ptr)   AccessChain 131 164
+             116:   14(fvec3)   Load 140
              117:   14(fvec3)   VectorShuffle 116 114 3 4 2
-                                Store 115 117
+                                Store 140 117
                                 Branch 102
              102:               Label
-             119:     21(int)   IAdd 131 31
+             119:     21(int)   IAdd 164 31
                                 Branch 100
              101:             Label
-             120:  22(Packed) Load 90
-             130:   14(fvec3) CompositeExtract 120 1 0
-             124:    6(float) CompositeExtract 130 0
-             125:    6(float) CompositeExtract 130 1
-             126:    6(float) CompositeExtract 130 2
+             142:          17 Load 131
+             161:   14(fvec3) CompositeExtract 142 0
+             124:    6(float) CompositeExtract 161 0
+             125:    6(float) CompositeExtract 161 1
+             126:    6(float) CompositeExtract 161 2
              127:    7(fvec4) CompositeConstruct 124 125 126 32
              128:    7(fvec4) FAdd 84 127
                               Store 86(@entryPointOutput) 128

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

@@ -1,8 +1,8 @@
 hlsl.partialFlattenMixed.vert
 WARNING: AST will form illegal SPIR-V; need to transform to legalize
 // Module Version 10000
-// Generated by (magic number): 80002
-// Id's are bound by 36
+// Generated by (magic number): 80003
+// Id's are bound by 45
 
                               Capability Shader
                1:             ExtInstImport  "GLSL.std.450"
@@ -14,10 +14,8 @@ WARNING: AST will form illegal SPIR-V; need to transform to legalize
                               MemberName 18(Packed) 0  "a"
                               MemberName 18(Packed) 1  "membTex"
                               MemberName 18(Packed) 2  "b"
-                              Name 23  "tex"
                               Name 32  "pos"
                               Name 35  "@entryPointOutput"
-                              Decorate 23(tex) DescriptorSet 0
                               Decorate 32(pos) Location 0
                               Decorate 35(@entryPointOutput) BuiltIn Position
                2:             TypeVoid
@@ -30,8 +28,6 @@ WARNING: AST will form illegal SPIR-V; need to transform to legalize
               16:     15(int) Constant 2
               17:             TypeArray 14 16
       18(Packed):             TypeStruct 13(int) 17 13(int)
-              22:             TypePointer UniformConstant 17
-         23(tex):     22(ptr) Variable UniformConstant
               31:             TypePointer Input 7(fvec4)
          32(pos):     31(ptr) Variable Input
               34:             TypePointer Output 7(fvec4)

+ 4 - 4
3rdparty/glslang/Test/baseResults/310implicitSizeArrayError.vert.out

@@ -12,13 +12,13 @@ ERROR: node is still EOpNull!
 0:7        'o' (layout( location=0) smooth out highp int)
 0:7        direct index (layout( column_major shared) temp highp int)
 0:7          a: direct index for structure (layout( column_major shared) uniform implicitly-sized array of highp int)
-0:7            'uni' (layout( location=0 column_major shared) uniform block{layout( column_major shared) uniform implicitly-sized array of highp int a})
+0:7            'uni' (layout( binding=0 column_major shared) uniform block{layout( column_major shared) uniform implicitly-sized array of highp int a})
 0:7            Constant:
 0:7              0 (const int)
 0:7          Constant:
 0:7            2 (const int)
 0:?   Linker Objects
-0:?     'uni' (layout( location=0 column_major shared) uniform block{layout( column_major shared) uniform implicitly-sized array of highp int a})
+0:?     'uni' (layout( binding=0 column_major shared) uniform block{layout( column_major shared) uniform implicitly-sized array of highp int a})
 0:?     'o' (layout( location=0) smooth out highp int)
 0:?     'gl_VertexID' ( gl_VertexId highp int VertexId)
 0:?     'gl_InstanceID' ( gl_InstanceId highp int InstanceId)
@@ -36,13 +36,13 @@ ERROR: node is still EOpNull!
 0:7        'o' (layout( location=0) smooth out highp int)
 0:7        direct index (layout( column_major shared) temp highp int)
 0:7          a: direct index for structure (layout( column_major shared) uniform 1-element array of highp int)
-0:7            'uni' (layout( location=0 column_major shared) uniform block{layout( column_major shared) uniform 1-element array of highp int a})
+0:7            'uni' (layout( binding=0 column_major shared) uniform block{layout( column_major shared) uniform 1-element array of highp int a})
 0:7            Constant:
 0:7              0 (const int)
 0:7          Constant:
 0:7            2 (const int)
 0:?   Linker Objects
-0:?     'uni' (layout( location=0 column_major shared) uniform block{layout( column_major shared) uniform 1-element array of highp int a})
+0:?     'uni' (layout( binding=0 column_major shared) uniform block{layout( column_major shared) uniform 1-element array of highp int a})
 0:?     'o' (layout( location=0) smooth out highp int)
 0:?     'gl_VertexID' ( gl_VertexId highp int VertexId)
 0:?     'gl_InstanceID' ( gl_InstanceId highp int InstanceId)

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

@@ -16,6 +16,7 @@ ERROR: 0:57: 'location on block member' : not supported for this version or the
 ERROR: 0:62: 'location on block member' : can only use in an in/out block 
 ERROR: 0:62: 'location qualifier on uniform or buffer' : not supported for this version or the enabled extensions 
 ERROR: 0:60: 'location qualifier on uniform or buffer' : not supported for this version or the enabled extensions 
+ERROR: 0:60: 'location' : cannot apply to uniform or buffer block 
 ERROR: 0:68: 'layout-id value' : cannot be negative 
 ERROR: 0:69: 'layout-id value' : cannot be negative 
 ERROR: 0:76: 'f2' : cannot use layout qualifiers on structure members 
@@ -23,6 +24,7 @@ ERROR: 0:91: 'location on block member' : can only use in an in/out block
 ERROR: 0:91: 'location qualifier on uniform or buffer' : not supported for this version or the enabled extensions 
 ERROR: 0:91: 'location' : overlapping use of location 3
 ERROR: 0:89: 'location qualifier on uniform or buffer' : not supported for this version or the enabled extensions 
+ERROR: 0:89: 'location' : cannot apply to uniform or buffer block 
 ERROR: 0:94: 'location' : either the block needs a location, or all members need a location, or no members have a location 
 ERROR: 0:108: 'A' : cannot use layout qualifiers on structure members 
 ERROR: 0:119: 'location' : overlapping use of location 44
@@ -38,7 +40,7 @@ ERROR: 0:140: 'assign' :  cannot convert from ' const float' to ' temp 2-compone
 ERROR: 0:141: 'textureQueryLod' : no matching overloaded function found 
 ERROR: 0:141: 'assign' :  cannot convert from ' const float' to ' temp 2-component vector of float'
 ERROR: 0:152: 'index' : value must be 0 or 1 
-ERROR: 39 compilation errors.  No code generated.
+ERROR: 41 compilation errors.  No code generated.
 
 
 Shader version: 330

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

@@ -19,7 +19,9 @@ ERROR: 0:44: 'anyInvocation' : no matching overloaded function found
 ERROR: 0:45: 'allInvocations' : no matching overloaded function found 
 ERROR: 0:46: 'allInvocationsEqual' : no matching overloaded function found 
 ERROR: 0:48: 'extraneous semicolon' : not supported for this version or the enabled extensions 
-ERROR: 20 compilation errors.  No code generated.
+ERROR: 0:50: 'location' : cannot apply to uniform or buffer block 
+ERROR: 0:54: 'location' : cannot apply to uniform or buffer block 
+ERROR: 22 compilation errors.  No code generated.
 
 
 Shader version: 450
@@ -77,6 +79,8 @@ ERROR: node is still EOpNull!
 0:?     'outSS' ( smooth out structure{ global float f,  global structure{ global float f} s})
 0:?     'aui' (layout( binding=0 offset=0) uniform atomic_uint)
 0:?     'ui' ( global uint)
+0:?     'anon@1' (layout( location=0 column_major shared) uniform block{layout( column_major shared) uniform int a})
+0:?     'anon@2' (layout( location=0 column_major shared) buffer block{layout( column_major shared) buffer int b})
 0:?     'gl_VertexID' ( gl_VertexId int VertexId)
 0:?     'gl_InstanceID' ( gl_InstanceId int InstanceId)
 
@@ -112,6 +116,8 @@ ERROR: node is still EOpNull!
 0:?     'outSS' ( smooth out structure{ global float f,  global structure{ global float f} s})
 0:?     'aui' (layout( binding=0 offset=0) uniform atomic_uint)
 0:?     'ui' ( global uint)
+0:?     'anon@1' (layout( location=0 column_major shared) uniform block{layout( column_major shared) uniform int a})
+0:?     'anon@2' (layout( location=0 column_major shared) buffer block{layout( column_major shared) buffer int b})
 0:?     'gl_VertexID' ( gl_VertexId int VertexId)
 0:?     'gl_InstanceID' ( gl_InstanceId int InstanceId)
 

+ 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): 80002
+// Generated by (magic number): 80003
 // 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): 80002
+// Generated by (magic number): 80003
 // 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): 80002
+// Generated by (magic number): 80003
 // 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): 80002
+// Generated by (magic number): 80003
 // 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): 80002
+// Generated by (magic number): 80003
 // 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): 80002
+// Generated by (magic number): 80003
 // 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): 80002
+// Generated by (magic number): 80003
 // 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): 80002
+// Generated by (magic number): 80003
 // 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): 80002
+// Generated by (magic number): 80003
 // 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): 80002
+// Generated by (magic number): 80003
 // 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): 80002
+// Generated by (magic number): 80003
 // 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): 80002
+// Generated by (magic number): 80003
 // 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): 80002
+// Generated by (magic number): 80003
 // 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): 80002
+// Generated by (magic number): 80003
 // Id's are bound by 24
 
                               Capability Shader

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

@@ -88,7 +88,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): 80002
+// Generated by (magic number): 80003
 // Id's are bound by 47
 
                               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): 80002
+// Generated by (magic number): 80003
 // 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): 80002
+// Generated by (magic number): 80003
 // 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): 80002
+// Generated by (magic number): 80003
 // Id's are bound by 68
 
                               Capability Geometry

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

@@ -16,84 +16,74 @@ Shader version: 500
 0:4            0 (const int)
 0:6      add second child into first child ( temp int)
 0:6        'r' ( temp int)
-0:6        Convert bool to int ( temp int)
-0:6          add ( temp bool)
-0:6            Convert bool to int ( temp int)
-0:6              'a' ( global bool)
-0:6            Convert bool to int ( temp int)
-0:6              'b' ( global bool)
+0:6        add ( temp int)
+0:6          Convert bool to int ( temp int)
+0:6            'a' ( global bool)
+0:6          Convert bool to int ( temp int)
+0:6            'b' ( global bool)
 0:7      add second child into first child ( temp int)
 0:7        'r' ( temp int)
-0:7        Convert bool to int ( temp int)
-0:7          subtract ( temp bool)
-0:7            Convert bool to int ( temp int)
-0:7              'a' ( global bool)
-0:7            Convert bool to int ( temp int)
-0:7              'b' ( global bool)
+0:7        subtract ( temp int)
+0:7          Convert bool to int ( temp int)
+0:7            'a' ( global bool)
+0:7          Convert bool to int ( temp int)
+0:7            'b' ( global bool)
 0:8      add second child into first child ( temp int)
 0:8        'r' ( temp int)
-0:8        Convert bool to int ( temp int)
-0:8          component-wise multiply ( temp bool)
-0:8            Convert bool to int ( temp int)
-0:8              'a' ( global bool)
-0:8            Convert bool to int ( temp int)
-0:8              'b' ( global bool)
+0:8        component-wise multiply ( temp int)
+0:8          Convert bool to int ( temp int)
+0:8            'a' ( global bool)
+0:8          Convert bool to int ( temp int)
+0:8            'b' ( global bool)
 0:9      add second child into first child ( temp int)
 0:9        'r' ( temp int)
-0:9        Convert bool to int ( temp int)
-0:9          divide ( temp bool)
-0:9            Convert bool to int ( temp int)
-0:9              'a' ( global bool)
-0:9            Convert bool to int ( temp int)
-0:9              'b' ( global bool)
+0:9        divide ( temp int)
+0:9          Convert bool to int ( temp int)
+0:9            'a' ( global bool)
+0:9          Convert bool to int ( temp int)
+0:9            'b' ( global bool)
 0:10      add second child into first child ( temp int)
 0:10        'r' ( temp int)
-0:10        Convert bool to int ( temp int)
-0:10          mod ( temp bool)
-0:10            Convert bool to int ( temp int)
-0:10              'a' ( global bool)
-0:10            Convert bool to int ( temp int)
-0:10              'b' ( global bool)
+0:10        mod ( temp int)
+0:10          Convert bool to int ( temp int)
+0:10            'a' ( global bool)
+0:10          Convert bool to int ( temp int)
+0:10            'b' ( global bool)
 0:12      add second child into first child ( temp int)
 0:12        'r' ( temp int)
-0:12        Convert bool to int ( temp int)
-0:12          bitwise and ( temp bool)
-0:12            Convert bool to int ( temp int)
-0:12              'a' ( global bool)
-0:12            Convert bool to int ( temp int)
-0:12              'b' ( global bool)
+0:12        bitwise and ( temp int)
+0:12          Convert bool to int ( temp int)
+0:12            'a' ( global bool)
+0:12          Convert bool to int ( temp int)
+0:12            'b' ( global bool)
 0:13      add second child into first child ( temp int)
 0:13        'r' ( temp int)
-0:13        Convert bool to int ( temp int)
-0:13          inclusive-or ( temp bool)
-0:13            Convert bool to int ( temp int)
-0:13              'a' ( global bool)
-0:13            Convert bool to int ( temp int)
-0:13              'b' ( global bool)
+0:13        inclusive-or ( temp int)
+0:13          Convert bool to int ( temp int)
+0:13            'a' ( global bool)
+0:13          Convert bool to int ( temp int)
+0:13            'b' ( global bool)
 0:14      add second child into first child ( temp int)
 0:14        'r' ( temp int)
-0:14        Convert bool to int ( temp int)
-0:14          exclusive-or ( temp bool)
-0:14            Convert bool to int ( temp int)
-0:14              'a' ( global bool)
-0:14            Convert bool to int ( temp int)
-0:14              'b' ( global bool)
+0:14        exclusive-or ( temp int)
+0:14          Convert bool to int ( temp int)
+0:14            'a' ( global bool)
+0:14          Convert bool to int ( temp int)
+0:14            'b' ( global bool)
 0:16      add second child into first child ( temp int)
 0:16        'r' ( temp int)
-0:16        Convert bool to int ( temp int)
-0:16          left-shift ( temp bool)
-0:16            Convert bool to int ( temp int)
-0:16              'a' ( global bool)
-0:16            Convert bool to int ( temp int)
-0:16              'b' ( global bool)
+0:16        left-shift ( temp int)
+0:16          Convert bool to int ( temp int)
+0:16            'a' ( global bool)
+0:16          Convert bool to int ( temp int)
+0:16            'b' ( global bool)
 0:17      add second child into first child ( temp int)
 0:17        'r' ( temp int)
-0:17        Convert bool to int ( temp int)
-0:17          right-shift ( temp bool)
-0:17            Convert bool to int ( temp int)
-0:17              'a' ( global bool)
-0:17            Convert bool to int ( temp int)
-0:17              'b' ( global bool)
+0:17        right-shift ( temp int)
+0:17          Convert bool to int ( temp int)
+0:17            'a' ( global bool)
+0:17          Convert bool to int ( temp int)
+0:17            'b' ( global bool)
 0:19      Branch: Return with expression
 0:19        Construct vec4 ( temp 4-component vector of float)
 0:19          Convert int to float ( temp float)
@@ -130,84 +120,74 @@ Shader version: 500
 0:4            0 (const int)
 0:6      add second child into first child ( temp int)
 0:6        'r' ( temp int)
-0:6        Convert bool to int ( temp int)
-0:6          add ( temp bool)
-0:6            Convert bool to int ( temp int)
-0:6              'a' ( global bool)
-0:6            Convert bool to int ( temp int)
-0:6              'b' ( global bool)
+0:6        add ( temp int)
+0:6          Convert bool to int ( temp int)
+0:6            'a' ( global bool)
+0:6          Convert bool to int ( temp int)
+0:6            'b' ( global bool)
 0:7      add second child into first child ( temp int)
 0:7        'r' ( temp int)
-0:7        Convert bool to int ( temp int)
-0:7          subtract ( temp bool)
-0:7            Convert bool to int ( temp int)
-0:7              'a' ( global bool)
-0:7            Convert bool to int ( temp int)
-0:7              'b' ( global bool)
+0:7        subtract ( temp int)
+0:7          Convert bool to int ( temp int)
+0:7            'a' ( global bool)
+0:7          Convert bool to int ( temp int)
+0:7            'b' ( global bool)
 0:8      add second child into first child ( temp int)
 0:8        'r' ( temp int)
-0:8        Convert bool to int ( temp int)
-0:8          component-wise multiply ( temp bool)
-0:8            Convert bool to int ( temp int)
-0:8              'a' ( global bool)
-0:8            Convert bool to int ( temp int)
-0:8              'b' ( global bool)
+0:8        component-wise multiply ( temp int)
+0:8          Convert bool to int ( temp int)
+0:8            'a' ( global bool)
+0:8          Convert bool to int ( temp int)
+0:8            'b' ( global bool)
 0:9      add second child into first child ( temp int)
 0:9        'r' ( temp int)
-0:9        Convert bool to int ( temp int)
-0:9          divide ( temp bool)
-0:9            Convert bool to int ( temp int)
-0:9              'a' ( global bool)
-0:9            Convert bool to int ( temp int)
-0:9              'b' ( global bool)
+0:9        divide ( temp int)
+0:9          Convert bool to int ( temp int)
+0:9            'a' ( global bool)
+0:9          Convert bool to int ( temp int)
+0:9            'b' ( global bool)
 0:10      add second child into first child ( temp int)
 0:10        'r' ( temp int)
-0:10        Convert bool to int ( temp int)
-0:10          mod ( temp bool)
-0:10            Convert bool to int ( temp int)
-0:10              'a' ( global bool)
-0:10            Convert bool to int ( temp int)
-0:10              'b' ( global bool)
+0:10        mod ( temp int)
+0:10          Convert bool to int ( temp int)
+0:10            'a' ( global bool)
+0:10          Convert bool to int ( temp int)
+0:10            'b' ( global bool)
 0:12      add second child into first child ( temp int)
 0:12        'r' ( temp int)
-0:12        Convert bool to int ( temp int)
-0:12          bitwise and ( temp bool)
-0:12            Convert bool to int ( temp int)
-0:12              'a' ( global bool)
-0:12            Convert bool to int ( temp int)
-0:12              'b' ( global bool)
+0:12        bitwise and ( temp int)
+0:12          Convert bool to int ( temp int)
+0:12            'a' ( global bool)
+0:12          Convert bool to int ( temp int)
+0:12            'b' ( global bool)
 0:13      add second child into first child ( temp int)
 0:13        'r' ( temp int)
-0:13        Convert bool to int ( temp int)
-0:13          inclusive-or ( temp bool)
-0:13            Convert bool to int ( temp int)
-0:13              'a' ( global bool)
-0:13            Convert bool to int ( temp int)
-0:13              'b' ( global bool)
+0:13        inclusive-or ( temp int)
+0:13          Convert bool to int ( temp int)
+0:13            'a' ( global bool)
+0:13          Convert bool to int ( temp int)
+0:13            'b' ( global bool)
 0:14      add second child into first child ( temp int)
 0:14        'r' ( temp int)
-0:14        Convert bool to int ( temp int)
-0:14          exclusive-or ( temp bool)
-0:14            Convert bool to int ( temp int)
-0:14              'a' ( global bool)
-0:14            Convert bool to int ( temp int)
-0:14              'b' ( global bool)
+0:14        exclusive-or ( temp int)
+0:14          Convert bool to int ( temp int)
+0:14            'a' ( global bool)
+0:14          Convert bool to int ( temp int)
+0:14            'b' ( global bool)
 0:16      add second child into first child ( temp int)
 0:16        'r' ( temp int)
-0:16        Convert bool to int ( temp int)
-0:16          left-shift ( temp bool)
-0:16            Convert bool to int ( temp int)
-0:16              'a' ( global bool)
-0:16            Convert bool to int ( temp int)
-0:16              'b' ( global bool)
+0:16        left-shift ( temp int)
+0:16          Convert bool to int ( temp int)
+0:16            'a' ( global bool)
+0:16          Convert bool to int ( temp int)
+0:16            'b' ( global bool)
 0:17      add second child into first child ( temp int)
 0:17        'r' ( temp int)
-0:17        Convert bool to int ( temp int)
-0:17          right-shift ( temp bool)
-0:17            Convert bool to int ( temp int)
-0:17              'a' ( global bool)
-0:17            Convert bool to int ( temp int)
-0:17              'b' ( global bool)
+0:17        right-shift ( temp int)
+0:17          Convert bool to int ( temp int)
+0:17            'a' ( global bool)
+0:17          Convert bool to int ( temp int)
+0:17            'b' ( global bool)
 0:19      Branch: Return with expression
 0:19        Construct vec4 ( temp 4-component vector of float)
 0:19          Convert int to float ( temp float)
@@ -224,21 +204,21 @@ Shader version: 500
 0:?     '@entryPointOutput' ( out 4-component vector of float Position)
 
 // Module Version 10000
-// Generated by (magic number): 80002
-// Id's are bound by 109
+// Generated by (magic number): 80003
+// Id's are bound by 99
 
                               Capability Shader
                1:             ExtInstImport  "GLSL.std.450"
                               MemoryModel Logical GLSL450
-                              EntryPoint Vertex 4  "main" 107
+                              EntryPoint Vertex 4  "main" 97
                               Source HLSL 500
                               Name 4  "main"
                               Name 9  "@main("
                               Name 13  "b"
                               Name 17  "r"
                               Name 19  "a"
-                              Name 107  "@entryPointOutput"
-                              Decorate 107(@entryPointOutput) BuiltIn Position
+                              Name 97  "@entryPointOutput"
+                              Decorate 97(@entryPointOutput) BuiltIn Position
                2:             TypeVoid
                3:             TypeFunction 2
                6:             TypeFloat 32
@@ -253,13 +233,13 @@ Shader version: 500
               18:     15(int) Constant 0
            19(a):     12(ptr) Variable Private
               21:     15(int) Constant 1
-             106:             TypePointer Output 7(fvec4)
-107(@entryPointOutput):    106(ptr) Variable Output
+              96:             TypePointer Output 7(fvec4)
+97(@entryPointOutput):     96(ptr) Variable Output
          4(main):           2 Function None 3
                5:             Label
                               Store 13(b) 14
-             108:    7(fvec4) FunctionCall 9(@main()
-                              Store 107(@entryPointOutput) 108
+              98:    7(fvec4) FunctionCall 9(@main()
+                              Store 97(@entryPointOutput) 98
                               Return
                               FunctionEnd
        9(@main():    7(fvec4) Function None 8
@@ -270,62 +250,63 @@ Shader version: 500
               22:     15(int) Select 20 21 18
               23:    11(bool) Load 13(b)
               24:     15(int) Select 23 21 18
-              25:    11(bool) IAdd 22 24
-              26:     15(int) Select 25 21 18
-              27:     15(int) Load 17(r)
-              28:     15(int) IAdd 27 26
-                              Store 17(r) 28
-              29:    11(bool) Load 19(a)
-              30:     15(int) Select 29 21 18
-              31:    11(bool) Load 13(b)
-              32:     15(int) Select 31 21 18
-              33:    11(bool) ISub 30 32
-              34:     15(int) Select 33 21 18
-              35:     15(int) Load 17(r)
-              36:     15(int) IAdd 35 34
-                              Store 17(r) 36
-              37:    11(bool) Load 19(a)
+              25:     15(int) IAdd 22 24
+              26:     15(int) Load 17(r)
+              27:     15(int) IAdd 26 25
+                              Store 17(r) 27
+              28:    11(bool) Load 19(a)
+              29:     15(int) Select 28 21 18
+              30:    11(bool) Load 13(b)
+              31:     15(int) Select 30 21 18
+              32:     15(int) ISub 29 31
+              33:     15(int) Load 17(r)
+              34:     15(int) IAdd 33 32
+                              Store 17(r) 34
+              35:    11(bool) Load 19(a)
+              36:     15(int) Select 35 21 18
+              37:    11(bool) Load 13(b)
               38:     15(int) Select 37 21 18
-              39:    11(bool) Load 13(b)
-              40:     15(int) Select 39 21 18
-              41:    11(bool) IMul 38 40
-              42:     15(int) Select 41 21 18
-              43:     15(int) Load 17(r)
-              44:     15(int) IAdd 43 42
-                              Store 17(r) 44
-              45:    11(bool) Load 19(a)
-              46:     15(int) Select 45 21 18
-              47:    11(bool) Load 13(b)
-              48:     15(int) Select 47 21 18
-              49:    11(bool) SDiv 46 48
+              39:     15(int) IMul 36 38
+              40:     15(int) Load 17(r)
+              41:     15(int) IAdd 40 39
+                              Store 17(r) 41
+              42:    11(bool) Load 19(a)
+              43:     15(int) Select 42 21 18
+              44:    11(bool) Load 13(b)
+              45:     15(int) Select 44 21 18
+              46:     15(int) SDiv 43 45
+              47:     15(int) Load 17(r)
+              48:     15(int) IAdd 47 46
+                              Store 17(r) 48
+              49:    11(bool) Load 19(a)
               50:     15(int) Select 49 21 18
-              51:     15(int) Load 17(r)
-              52:     15(int) IAdd 51 50
-                              Store 17(r) 52
-              53:    11(bool) Load 19(a)
-              54:     15(int) Select 53 21 18
-              55:    11(bool) Load 13(b)
-              56:     15(int) Select 55 21 18
-              57:    11(bool) SMod 54 56
-              58:     15(int) Select 57 21 18
-              59:     15(int) Load 17(r)
-              60:     15(int) IAdd 59 58
-                              Store 17(r) 60
-              61:    11(bool) Load 19(a)
-              62:     15(int) Select 61 21 18
-              63:    11(bool) Load 13(b)
+              51:    11(bool) Load 13(b)
+              52:     15(int) Select 51 21 18
+              53:     15(int) SMod 50 52
+              54:     15(int) Load 17(r)
+              55:     15(int) IAdd 54 53
+                              Store 17(r) 55
+              56:    11(bool) Load 19(a)
+              57:     15(int) Select 56 21 18
+              58:    11(bool) Load 13(b)
+              59:     15(int) Select 58 21 18
+              60:     15(int) BitwiseAnd 57 59
+              61:     15(int) Load 17(r)
+              62:     15(int) IAdd 61 60
+                              Store 17(r) 62
+              63:    11(bool) Load 19(a)
               64:     15(int) Select 63 21 18
-              65:    11(bool) BitwiseAnd 62 64
+              65:    11(bool) Load 13(b)
               66:     15(int) Select 65 21 18
-              67:     15(int) Load 17(r)
-              68:     15(int) IAdd 67 66
-                              Store 17(r) 68
-              69:    11(bool) Load 19(a)
-              70:     15(int) Select 69 21 18
-              71:    11(bool) Load 13(b)
-              72:     15(int) Select 71 21 18
-              73:    11(bool) BitwiseOr 70 72
-              74:     15(int) Select 73 21 18
+              67:     15(int) BitwiseOr 64 66
+              68:     15(int) Load 17(r)
+              69:     15(int) IAdd 68 67
+                              Store 17(r) 69
+              70:    11(bool) Load 19(a)
+              71:     15(int) Select 70 21 18
+              72:    11(bool) Load 13(b)
+              73:     15(int) Select 72 21 18
+              74:     15(int) BitwiseXor 71 73
               75:     15(int) Load 17(r)
               76:     15(int) IAdd 75 74
                               Store 17(r) 76
@@ -333,31 +314,20 @@ Shader version: 500
               78:     15(int) Select 77 21 18
               79:    11(bool) Load 13(b)
               80:     15(int) Select 79 21 18
-              81:    11(bool) BitwiseXor 78 80
-              82:     15(int) Select 81 21 18
-              83:     15(int) Load 17(r)
-              84:     15(int) IAdd 83 82
-                              Store 17(r) 84
-              85:    11(bool) Load 19(a)
-              86:     15(int) Select 85 21 18
-              87:    11(bool) Load 13(b)
-              88:     15(int) Select 87 21 18
-              89:    11(bool) ShiftLeftLogical 86 88
-              90:     15(int) Select 89 21 18
+              81:     15(int) ShiftLeftLogical 78 80
+              82:     15(int) Load 17(r)
+              83:     15(int) IAdd 82 81
+                              Store 17(r) 83
+              84:    11(bool) Load 19(a)
+              85:     15(int) Select 84 21 18
+              86:    11(bool) Load 13(b)
+              87:     15(int) Select 86 21 18
+              88:     15(int) ShiftRightArithmetic 85 87
+              89:     15(int) Load 17(r)
+              90:     15(int) IAdd 89 88
+                              Store 17(r) 90
               91:     15(int) Load 17(r)
-              92:     15(int) IAdd 91 90
-                              Store 17(r) 92
-              93:    11(bool) Load 19(a)
-              94:     15(int) Select 93 21 18
-              95:    11(bool) Load 13(b)
-              96:     15(int) Select 95 21 18
-              97:    11(bool) ShiftRightArithmetic 94 96
-              98:     15(int) Select 97 21 18
-              99:     15(int) Load 17(r)
-             100:     15(int) IAdd 99 98
-                              Store 17(r) 100
-             101:     15(int) Load 17(r)
-             102:    6(float) ConvertSToF 101
-             103:    7(fvec4) CompositeConstruct 102 102 102 102
-                              ReturnValue 103
+              92:    6(float) ConvertSToF 91
+              93:    7(fvec4) CompositeConstruct 92 92 92 92
+                              ReturnValue 93
                               FunctionEnd

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

@@ -114,7 +114,7 @@ gl_FragCoord origin is upper left
 0:?     'input' ( in 4-component vector of float FragCoord)
 
 // Module Version 10000
-// Generated by (magic number): 80002
+// Generated by (magic number): 80003
 // Id's are bound by 61
 
                               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): 80002
+// Generated by (magic number): 80003
 // 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): 80002
+// Generated by (magic number): 80003
 // 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): 80002
+// Generated by (magic number): 80003
 // 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): 80002
+// Generated by (magic number): 80003
 // 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): 80002
+// Generated by (magic number): 80003
 // 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): 80002
+// Generated by (magic number): 80003
 // 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): 80002
+// Generated by (magic number): 80003
 // 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): 80002
+// Generated by (magic number): 80003
 // 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): 80002
+// Generated by (magic number): 80003
 // 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): 80002
+// Generated by (magic number): 80003
 // 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): 80002
+// Generated by (magic number): 80003
 // 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): 80002
+// Generated by (magic number): 80003
 // 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): 80002
+// Generated by (magic number): 80003
 // 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): 80002
+// Generated by (magic number): 80003
 // 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): 80002
+// Generated by (magic number): 80003
 // 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): 80002
+// Generated by (magic number): 80003
 // 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): 80002
+// Generated by (magic number): 80003
 // 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): 80002
+// Generated by (magic number): 80003
 // 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): 80002
+// Generated by (magic number): 80003
 // 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): 80002
+// Generated by (magic number): 80003
 // 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): 80002
+// Generated by (magic number): 80003
 // 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): 80002
+// Generated by (magic number): 80003
 // 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): 80002
+// Generated by (magic number): 80003
 // 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): 80002
+// Generated by (magic number): 80003
 // 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): 80002
+// Generated by (magic number): 80003
 // 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): 80002
+// Generated by (magic number): 80003
 // 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): 80002
+// Generated by (magic number): 80003
 // Id's are bound by 67
 
                               Capability Shader

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

@@ -356,13 +356,13 @@ triangle order = cw
 0:?     '@patchConstantOutput.inside' ( patch out 2-element array of float TessLevelInner)
 
 // Module Version 10000
-// Generated by (magic number): 80002
-// Id's are bound by 128
+// Generated by (magic number): 80003
+// Id's are bound by 127
 
                               Capability Tessellation
                1:             ExtInstImport  "GLSL.std.450"
                               MemoryModel Logical GLSL450
-                              EntryPoint TessellationControl 4  "main" 72 76 79 83 111 124
+                              EntryPoint TessellationControl 4  "main" 72 76 79 83 110 123
                               ExecutionMode 4 OutputVertices 3
                               ExecutionMode 4 Triangles
                               ExecutionMode 4 SpacingEqual
@@ -404,8 +404,8 @@ triangle order = cw
                               Name 102  "@patchConstantResult"
                               Name 103  "param"
                               Name 105  "param"
-                              Name 111  "@patchConstantOutput.edges"
-                              Name 124  "@patchConstantOutput.inside"
+                              Name 110  "@patchConstantOutput.edges"
+                              Name 123  "@patchConstantOutput.inside"
                               MemberDecorate 33(TessellationBuffer) 0 Offset 0
                               MemberDecorate 33(TessellationBuffer) 1 Offset 4
                               Decorate 33(TessellationBuffer) Block
@@ -415,10 +415,10 @@ triangle order = cw
                               Decorate 76(pointId) BuiltIn InvocationId
                               Decorate 79(patchId) BuiltIn PrimitiveId
                               Decorate 83(@entryPointOutput) Location 0
-                              Decorate 111(@patchConstantOutput.edges) Patch
-                              Decorate 111(@patchConstantOutput.edges) BuiltIn TessLevelOuter
-                              Decorate 124(@patchConstantOutput.inside) Patch
-                              Decorate 124(@patchConstantOutput.inside) BuiltIn TessLevelInner
+                              Decorate 110(@patchConstantOutput.edges) Patch
+                              Decorate 110(@patchConstantOutput.edges) BuiltIn TessLevelOuter
+                              Decorate 123(@patchConstantOutput.inside) Patch
+                              Decorate 123(@patchConstantOutput.inside) BuiltIn TessLevelInner
                2:             TypeVoid
                3:             TypeFunction 2
                6:             TypeFloat 32
@@ -458,17 +458,16 @@ triangle order = cw
 83(@entryPointOutput):     82(ptr) Variable Output
               92:             TypePointer Output 22(HullOutputType)
               94:     10(int) Constant 2
-              95:     10(int) Constant 1
+              95:     10(int) Constant 4
               96:     10(int) Constant 0
               98:             TypeBool
-             108:     10(int) Constant 4
-             109:             TypeArray 6(float) 108
-             110:             TypePointer Output 109
-111(@patchConstantOutput.edges):    110(ptr) Variable Output
-             114:             TypePointer Output 6(float)
-             122:             TypeArray 6(float) 94
-             123:             TypePointer Output 122
-124(@patchConstantOutput.inside):    123(ptr) Variable Output
+             108:             TypeArray 6(float) 95
+             109:             TypePointer Output 108
+110(@patchConstantOutput.edges):    109(ptr) Variable Output
+             113:             TypePointer Output 6(float)
+             121:             TypeArray 6(float) 94
+             122:             TypePointer Output 121
+123(@patchConstantOutput.inside):    122(ptr) Variable Output
          4(main):           2 Function None 3
                5:             Label
        70(patch):     13(ptr) Variable Function
@@ -508,22 +507,22 @@ triangle order = cw
                                 Store 105(param) 106
              107:16(ConstantOutputType)   FunctionCall 20(ColorPatchConstantFunction(struct-HullInputType-vf3-vf41[3];u1;) 103(param) 105(param)
                                 Store 102(@patchConstantResult) 107
-             112:     39(ptr)   AccessChain 102(@patchConstantResult) 32 32
-             113:    6(float)   Load 112
-             115:    114(ptr)   AccessChain 111(@patchConstantOutput.edges) 32
-                                Store 115 113
-             116:     39(ptr)   AccessChain 102(@patchConstantResult) 32 41
-             117:    6(float)   Load 116
-             118:    114(ptr)   AccessChain 111(@patchConstantOutput.edges) 41
-                                Store 118 117
-             119:     39(ptr)   AccessChain 102(@patchConstantResult) 32 45
-             120:    6(float)   Load 119
-             121:    114(ptr)   AccessChain 111(@patchConstantOutput.edges) 45
-                                Store 121 120
-             125:     39(ptr)   AccessChain 102(@patchConstantResult) 41
-             126:    6(float)   Load 125
-             127:    114(ptr)   AccessChain 124(@patchConstantOutput.inside) 32
-                                Store 127 126
+             111:     39(ptr)   AccessChain 102(@patchConstantResult) 32 32
+             112:    6(float)   Load 111
+             114:    113(ptr)   AccessChain 110(@patchConstantOutput.edges) 32
+                                Store 114 112
+             115:     39(ptr)   AccessChain 102(@patchConstantResult) 32 41
+             116:    6(float)   Load 115
+             117:    113(ptr)   AccessChain 110(@patchConstantOutput.edges) 41
+                                Store 117 116
+             118:     39(ptr)   AccessChain 102(@patchConstantResult) 32 45
+             119:    6(float)   Load 118
+             120:    113(ptr)   AccessChain 110(@patchConstantOutput.edges) 45
+                                Store 120 119
+             124:     39(ptr)   AccessChain 102(@patchConstantResult) 41
+             125:    6(float)   Load 124
+             126:    113(ptr)   AccessChain 123(@patchConstantOutput.inside) 32
+                                Store 126 125
                                 Branch 101
              101:             Label
                               Return

+ 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): 80002
+// Generated by (magic number): 80003
 // 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): 80002
+// Generated by (magic number): 80003
 // Id's are bound by 220
 
                               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): 80002
+// Generated by (magic number): 80003
 // 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): 80002
+// Generated by (magic number): 80003
 // 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): 80002
+// Generated by (magic number): 80003
 // 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): 80002
+// Generated by (magic number): 80003
 // 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): 80002
+// Generated by (magic number): 80003
 // 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): 80002
+// Generated by (magic number): 80003
 // 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): 80002
+// Generated by (magic number): 80003
 // 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): 80002
+// Generated by (magic number): 80003
 // 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): 80002
+// Generated by (magic number): 80003
 // 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): 80002
+// Generated by (magic number): 80003
 // 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): 80002
+// Generated by (magic number): 80003
 // 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): 80002
+// Generated by (magic number): 80003
 // 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): 80002
+// Generated by (magic number): 80003
 // 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): 80002
+// Generated by (magic number): 80003
 // 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): 80002
+// Generated by (magic number): 80003
 // 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): 80002
+// Generated by (magic number): 80003
 // 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): 80002
+// Generated by (magic number): 80003
 // 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): 80002
+// Generated by (magic number): 80003
 // 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): 80002
+// Generated by (magic number): 80003
 // 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): 80002
+// Generated by (magic number): 80003
 // 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): 80002
+// Generated by (magic number): 80003
 // 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): 80002
+// Generated by (magic number): 80003
 // 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): 80002
+// Generated by (magic number): 80003
 // 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): 80002
+// Generated by (magic number): 80003
 // 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): 80002
+// Generated by (magic number): 80003
 // 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): 80002
+// Generated by (magic number): 80003
 // 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): 80002
+// Generated by (magic number): 80003
 // 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): 80002
+// Generated by (magic number): 80003
 // 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): 80002
+// Generated by (magic number): 80003
 // 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): 80002
+// Generated by (magic number): 80003
 // 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): 80002
+// Generated by (magic number): 80003
 // Id's are bound by 25
 
                               Capability Shader

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

@@ -260,7 +260,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): 80002
+// Generated by (magic number): 80003
 // Id's are bound by 124
 
                               Capability Shader

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

@@ -256,7 +256,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): 80002
+// Generated by (magic number): 80003
 // Id's are bound by 135
 
                               Capability Shader

+ 1 - 1
3rdparty/glslang/Test/baseResults/hlsl.gather.basic.dx10.vert.out

@@ -220,7 +220,7 @@ Shader version: 500
 0:?     '@entryPointOutput.Pos' ( out 4-component vector of float Position)
 
 // Module Version 10000
-// Generated by (magic number): 80002
+// Generated by (magic number): 80003
 // Id's are bound by 126
 
                               Capability Shader

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

@@ -206,7 +206,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): 80002
+// Generated by (magic number): 80003
 // Id's are bound by 114
 
                               Capability Shader

Некоторые файлы не были показаны из-за большого количества измененных файлов