diff --git a/SPIRV/GlslangToSpv.cpp b/SPIRV/GlslangToSpv.cpp index fb4e1156..4ccf41b9 100755 --- a/SPIRV/GlslangToSpv.cpp +++ b/SPIRV/GlslangToSpv.cpp @@ -85,7 +85,7 @@ public: bool visitLoop(glslang::TVisit, glslang::TIntermLoop*); bool visitBranch(glslang::TVisit visit, glslang::TIntermBranch*); - void dumpSpv(std::vector& out) { builder.dump(out); } + void dumpSpv(std::vector& out); protected: spv::Id createSpvVariable(const glslang::TIntermSymbol*); @@ -133,7 +133,8 @@ protected: spv::Builder builder; bool inMain; bool mainTerminated; - bool linkageOnly; + bool linkageOnly; // true when visiting the set of objects in the AST present only for establishing interface, whether or not they were statically used + std::unordered_set iOSet; // all input/output variables from either static use or declaration of interface const glslang::TIntermediate* glslangIntermediate; spv::Id stdBuiltins; @@ -555,6 +556,16 @@ TGlslangToSpvTraverser::TGlslangToSpvTraverser(const glslang::TIntermediate* gls } +// Finish everything and dump +void TGlslangToSpvTraverser::dumpSpv(std::vector& out) +{ + // finish off the entry-point SPV instruction by adding the Input/Output + for (auto it : iOSet) + entryPoint->addIdOperand(it); + + builder.dump(out); +} + TGlslangToSpvTraverser::~TGlslangToSpvTraverser() { if (! mainTerminated) { @@ -584,7 +595,15 @@ void TGlslangToSpvTraverser::visitSymbol(glslang::TIntermSymbol* symbol) // getSymbolId() will set up all the IO decorations on the first call. // Formal function parameters were mapped during makeFunctions(). spv::Id id = getSymbolId(symbol); - + + // Include all "static use" and "linkage only" interface variables on the OpEntryPoint instruction + if (builder.isPointer(id)) { + spv::StorageClass sc = builder.getStorageClass(id); + if (sc == spv::StorageClassInput || sc == spv::StorageClassOutput) + iOSet.insert(id); + } + + // Only process non-linkage-only nodes for generating actual static uses if (! linkageOnly) { // Prepare to generate code for the access @@ -601,13 +620,6 @@ void TGlslangToSpvTraverser::visitSymbol(glslang::TIntermSymbol* symbol) builder.setAccessChainRValue(id); else builder.setAccessChainLValue(id); - } else { - // finish off the entry-point SPV instruction by adding the Input/Output - if (builder.isPointer(id)) { - spv::StorageClass sc = builder.getStorageClass(id); - if (sc == spv::StorageClassInput || sc == spv::StorageClassOutput) - entryPoint->addIdOperand(id); - } } } diff --git a/Test/baseResults/spv.100ops.frag.out b/Test/baseResults/spv.100ops.frag.out index 0a2251a0..fa21783e 100755 --- a/Test/baseResults/spv.100ops.frag.out +++ b/Test/baseResults/spv.100ops.frag.out @@ -10,7 +10,7 @@ Linked fragment stage: Capability Shader 1: ExtInstImport "GLSL.std.450" MemoryModel Logical GLSL450 - EntryPoint Fragment 4 "main" + EntryPoint Fragment 4 "main" 36 ExecutionMode 4 OriginLowerLeft Source ESSL 100 Name 4 "main" diff --git a/Test/baseResults/spv.130.frag.out b/Test/baseResults/spv.130.frag.out index e35de412..bfa39c50 100644 --- a/Test/baseResults/spv.130.frag.out +++ b/Test/baseResults/spv.130.frag.out @@ -12,7 +12,7 @@ Linked fragment stage: Capability Shader 1: ExtInstImport "GLSL.std.450" MemoryModel Logical GLSL450 - EntryPoint Fragment 4 "main" 79 17 68 99 184 185 186 187 187 173 + EntryPoint Fragment 4 "main" 185 17 68 79 187 99 173 184 186 ExecutionMode 4 OriginLowerLeft Source GLSL 130 SourceExtension "GL_ARB_gpu_shader5" diff --git a/Test/baseResults/spv.140.frag.out b/Test/baseResults/spv.140.frag.out index 48f36dbf..8b165371 100755 --- a/Test/baseResults/spv.140.frag.out +++ b/Test/baseResults/spv.140.frag.out @@ -10,7 +10,7 @@ Linked fragment stage: Capability Shader 1: ExtInstImport "GLSL.std.450" MemoryModel Logical GLSL450 - EntryPoint Fragment 4 "main" 43 28 33 33 + EntryPoint Fragment 4 "main" 16 28 33 43 ExecutionMode 4 OriginLowerLeft Source GLSL 140 Name 4 "main" diff --git a/Test/baseResults/spv.150.geom.out b/Test/baseResults/spv.150.geom.out index 46901dc3..34d58317 100755 --- a/Test/baseResults/spv.150.geom.out +++ b/Test/baseResults/spv.150.geom.out @@ -10,7 +10,7 @@ Linked geometry stage: Capability Geometry 1: ExtInstImport "GLSL.std.450" MemoryModel Logical GLSL450 - EntryPoint Geometry 4 "main" 18 70 10 29 33 + EntryPoint Geometry 4 "main" 18 10 29 49 33 47 51 70 ExecutionMode 4 InputTrianglesAdjacency ExecutionMode 4 Invocations 1 ExecutionMode 4 OutputTriangleStrip diff --git a/Test/baseResults/spv.150.vert.out b/Test/baseResults/spv.150.vert.out index a4e8e506..08dd3f18 100755 --- a/Test/baseResults/spv.150.vert.out +++ b/Test/baseResults/spv.150.vert.out @@ -10,7 +10,7 @@ Linked vertex stage: Capability Shader 1: ExtInstImport "GLSL.std.450" MemoryModel Logical GLSL450 - EntryPoint Vertex 4 "main" 17 39 48 49 + EntryPoint Vertex 4 "main" 13 49 17 39 48 Source GLSL 150 Name 4 "main" Name 11 "gl_PerVertex" diff --git a/Test/baseResults/spv.300BuiltIns.vert.out b/Test/baseResults/spv.300BuiltIns.vert.out index 675b78e0..3fc8a010 100755 --- a/Test/baseResults/spv.300BuiltIns.vert.out +++ b/Test/baseResults/spv.300BuiltIns.vert.out @@ -10,7 +10,7 @@ Linked vertex stage: Capability Shader 1: ExtInstImport "GLSL.std.450" MemoryModel Logical GLSL450 - EntryPoint Vertex 4 "main" 25 11 39 + EntryPoint Vertex 4 "main" 11 39 23 33 25 Source ESSL 300 Name 4 "main" Name 8 "i" diff --git a/Test/baseResults/spv.300layout.frag.out b/Test/baseResults/spv.300layout.frag.out index 62dca8d8..e08f1e92 100755 --- a/Test/baseResults/spv.300layout.frag.out +++ b/Test/baseResults/spv.300layout.frag.out @@ -10,7 +10,7 @@ Linked fragment stage: Capability Shader 1: ExtInstImport "GLSL.std.450" MemoryModel Logical GLSL450 - EntryPoint Fragment 4 "main" 29 11 9 26 15 + EntryPoint Fragment 4 "main" 9 11 15 26 29 ExecutionMode 4 OriginLowerLeft Source ESSL 300 Name 4 "main" diff --git a/Test/baseResults/spv.300layout.vert.out b/Test/baseResults/spv.300layout.vert.out index b62711cd..8a026af2 100644 --- a/Test/baseResults/spv.300layout.vert.out +++ b/Test/baseResults/spv.300layout.vert.out @@ -10,7 +10,7 @@ Linked vertex stage: Capability Shader 1: ExtInstImport "GLSL.std.450" MemoryModel Logical GLSL450 - EntryPoint Vertex 4 "main" 101 11 121 9 99 109 129 163 164 + EntryPoint Vertex 4 "main" 129 121 9 99 163 11 109 101 164 Source ESSL 300 Name 4 "main" Name 9 "pos" diff --git a/Test/baseResults/spv.300layoutp.vert.out b/Test/baseResults/spv.300layoutp.vert.out index d0408187..c2ee63ec 100755 --- a/Test/baseResults/spv.300layoutp.vert.out +++ b/Test/baseResults/spv.300layoutp.vert.out @@ -10,7 +10,7 @@ Linked vertex stage: Capability Shader 1: ExtInstImport "GLSL.std.450" MemoryModel Logical GLSL450 - EntryPoint Vertex 4 "main" 53 11 73 9 51 61 81 115 116 + EntryPoint Vertex 4 "main" 81 9 73 51 115 11 61 53 116 Source ESSL 300 Name 4 "main" Name 9 "pos" diff --git a/Test/baseResults/spv.310.comp.out b/Test/baseResults/spv.310.comp.out index ef465993..93e49b51 100755 --- a/Test/baseResults/spv.310.comp.out +++ b/Test/baseResults/spv.310.comp.out @@ -12,7 +12,7 @@ Linked compute stage: Capability Shader 1: ExtInstImport "GLSL.std.450" MemoryModel Logical GLSL450 - EntryPoint GLCompute 4 "main" + EntryPoint GLCompute 4 "main" 53 ExecutionMode 4 LocalSize 16 32 4 Source ESSL 310 Name 4 "main" diff --git a/Test/baseResults/spv.330.geom.out b/Test/baseResults/spv.330.geom.out index 2d48b2f1..fb409a9d 100755 --- a/Test/baseResults/spv.330.geom.out +++ b/Test/baseResults/spv.330.geom.out @@ -10,7 +10,7 @@ Linked geometry stage: Capability Geometry 1: ExtInstImport "GLSL.std.450" MemoryModel Logical GLSL450 - EntryPoint Geometry 4 "main" 20 13 + EntryPoint Geometry 4 "main" 13 20 ExecutionMode 4 Triangles ExecutionMode 4 Invocations 1 ExecutionMode 4 OutputTriangleStrip diff --git a/Test/baseResults/spv.400.frag.out b/Test/baseResults/spv.400.frag.out index 1ed59c78..be834eae 100644 --- a/Test/baseResults/spv.400.frag.out +++ b/Test/baseResults/spv.400.frag.out @@ -12,7 +12,7 @@ Linked fragment stage: Capability Shader 1: ExtInstImport "GLSL.std.450" MemoryModel Logical GLSL450 - EntryPoint Fragment 4 "main" 50 44 11 96 69 119 56 + EntryPoint Fragment 4 "main" 11 44 50 96 56 117 69 119 ExecutionMode 4 OriginLowerLeft Source GLSL 400 SourceExtension "GL_ARB_separate_shader_objects" diff --git a/Test/baseResults/spv.400.tesc.out b/Test/baseResults/spv.400.tesc.out index 4ecf0960..68fd0d71 100755 --- a/Test/baseResults/spv.400.tesc.out +++ b/Test/baseResults/spv.400.tesc.out @@ -12,7 +12,7 @@ Linked tessellation control stage: Capability Tessellation 1: ExtInstImport "GLSL.std.450" MemoryModel Logical GLSL450 - EntryPoint TessellationControl 4 "main" 52 79 83 84 87 88 91 92 + EntryPoint TessellationControl 4 "main" 79 87 23 40 83 43 46 52 66 73 84 88 91 92 ExecutionMode 4 OutputVertices 4 Source GLSL 400 SourceExtension "GL_ARB_separate_shader_objects" diff --git a/Test/baseResults/spv.400.tese.out b/Test/baseResults/spv.400.tese.out index e72e9e2b..5605981c 100755 --- a/Test/baseResults/spv.400.tese.out +++ b/Test/baseResults/spv.400.tese.out @@ -12,7 +12,7 @@ Linked tessellation evaluation stage: Capability Tessellation 1: ExtInstImport "GLSL.std.450" MemoryModel Logical GLSL450 - EntryPoint TessellationEvaluation 4 "main" 77 68 81 82 86 90 93 94 97 + EntryPoint TessellationEvaluation 4 "main" 77 61 53 21 38 81 41 47 68 82 86 90 93 94 97 ExecutionMode 4 Triangles ExecutionMode 4 SpacingFractionalOdd ExecutionMode 4 VertexOrderCcw diff --git a/Test/baseResults/spv.420.geom.out b/Test/baseResults/spv.420.geom.out index 5a736a52..5c6ade62 100644 --- a/Test/baseResults/spv.420.geom.out +++ b/Test/baseResults/spv.420.geom.out @@ -12,7 +12,7 @@ Linked geometry stage: Capability Geometry 1: ExtInstImport "GLSL.std.450" MemoryModel Logical GLSL450 - EntryPoint Geometry 4 "main" 14 23 46 + EntryPoint Geometry 4 "main" 46 14 23 28 33 ExecutionMode 4 Triangles ExecutionMode 4 Invocations 4 ExecutionMode 4 OutputLineStrip diff --git a/Test/baseResults/spv.430.vert.out b/Test/baseResults/spv.430.vert.out index ba21757c..43284b2d 100755 --- a/Test/baseResults/spv.430.vert.out +++ b/Test/baseResults/spv.430.vert.out @@ -12,7 +12,7 @@ Linked vertex stage: Capability Shader 1: ExtInstImport "GLSL.std.450" MemoryModel Logical GLSL450 - EntryPoint Vertex 4 "main" 12 23 44 45 34 61 62 + EntryPoint Vertex 4 "main" 44 12 23 34 61 45 62 Source GLSL 430 Name 4 "main" Name 10 "gl_PerVertex" diff --git a/Test/baseResults/spv.AofA.frag.out b/Test/baseResults/spv.AofA.frag.out index b45ea2b0..822ad3d5 100644 --- a/Test/baseResults/spv.AofA.frag.out +++ b/Test/baseResults/spv.AofA.frag.out @@ -12,7 +12,7 @@ Linked fragment stage: Capability Shader 1: ExtInstImport "GLSL.std.450" MemoryModel Logical GLSL450 - EntryPoint Fragment 4 "main" 77 38 43 + EntryPoint Fragment 4 "main" 38 43 77 ExecutionMode 4 OriginLowerLeft Source GLSL 430 Name 4 "main" diff --git a/Test/baseResults/spv.always-discard.frag.out b/Test/baseResults/spv.always-discard.frag.out index 52750143..a639515b 100755 --- a/Test/baseResults/spv.always-discard.frag.out +++ b/Test/baseResults/spv.always-discard.frag.out @@ -10,7 +10,7 @@ Linked fragment stage: Capability Shader 1: ExtInstImport "GLSL.std.450" MemoryModel Logical GLSL450 - EntryPoint Fragment 4 "main" 21 + EntryPoint Fragment 4 "main" 21 59 ExecutionMode 4 OriginLowerLeft Source GLSL 110 Name 4 "main" diff --git a/Test/baseResults/spv.always-discard2.frag.out b/Test/baseResults/spv.always-discard2.frag.out index ee768c95..b62d10c4 100755 --- a/Test/baseResults/spv.always-discard2.frag.out +++ b/Test/baseResults/spv.always-discard2.frag.out @@ -10,7 +10,7 @@ Linked fragment stage: Capability Shader 1: ExtInstImport "GLSL.std.450" MemoryModel Logical GLSL450 - EntryPoint Fragment 4 "main" 21 + EntryPoint Fragment 4 "main" 21 38 ExecutionMode 4 OriginLowerLeft Source GLSL 110 Name 4 "main" diff --git a/Test/baseResults/spv.bool.vert.out b/Test/baseResults/spv.bool.vert.out index 7217ae7b..c9734383 100644 --- a/Test/baseResults/spv.bool.vert.out +++ b/Test/baseResults/spv.bool.vert.out @@ -12,7 +12,7 @@ Linked vertex stage: Capability Shader 1: ExtInstImport "GLSL.std.450" MemoryModel Logical GLSL450 - EntryPoint Vertex 4 "main" 23 47 48 + EntryPoint Vertex 4 "main" 47 23 48 Source GLSL 450 Name 4 "main" Name 10 "foo(b1;" diff --git a/Test/baseResults/spv.conditionalDiscard.frag.out b/Test/baseResults/spv.conditionalDiscard.frag.out index 7a2c55ec..73363281 100755 --- a/Test/baseResults/spv.conditionalDiscard.frag.out +++ b/Test/baseResults/spv.conditionalDiscard.frag.out @@ -12,7 +12,7 @@ Linked fragment stage: Capability Shader 1: ExtInstImport "GLSL.std.450" MemoryModel Logical GLSL450 - EntryPoint Fragment 4 "main" 17 + EntryPoint Fragment 4 "main" 17 34 ExecutionMode 4 OriginLowerLeft Source GLSL 400 Name 4 "main" diff --git a/Test/baseResults/spv.conversion.frag.out b/Test/baseResults/spv.conversion.frag.out index 2f869315..bcdc191a 100755 --- a/Test/baseResults/spv.conversion.frag.out +++ b/Test/baseResults/spv.conversion.frag.out @@ -10,7 +10,7 @@ Linked fragment stage: Capability Shader 1: ExtInstImport "GLSL.std.450" MemoryModel Logical GLSL450 - EntryPoint Fragment 4 "main" 39 446 448 157 53 450 452 454 + EntryPoint Fragment 4 "main" 448 39 454 446 157 53 322 450 452 ExecutionMode 4 OriginLowerLeft Source GLSL 130 Name 4 "main" diff --git a/Test/baseResults/spv.dataOut.frag.out b/Test/baseResults/spv.dataOut.frag.out index 277c0535..d96a6eca 100755 --- a/Test/baseResults/spv.dataOut.frag.out +++ b/Test/baseResults/spv.dataOut.frag.out @@ -12,7 +12,7 @@ Linked fragment stage: Capability Shader 1: ExtInstImport "GLSL.std.450" MemoryModel Logical GLSL450 - EntryPoint Fragment 4 "main" 16 + EntryPoint Fragment 4 "main" 12 16 ExecutionMode 4 OriginLowerLeft Source GLSL 130 Name 4 "main" diff --git a/Test/baseResults/spv.dataOutIndirect.frag.out b/Test/baseResults/spv.dataOutIndirect.frag.out index be3d3d57..26a5f77c 100755 --- a/Test/baseResults/spv.dataOutIndirect.frag.out +++ b/Test/baseResults/spv.dataOutIndirect.frag.out @@ -12,7 +12,7 @@ Linked fragment stage: Capability Shader 1: ExtInstImport "GLSL.std.450" MemoryModel Logical GLSL450 - EntryPoint Fragment 4 "main" 18 + EntryPoint Fragment 4 "main" 12 18 ExecutionMode 4 OriginLowerLeft Source GLSL 130 Name 4 "main" diff --git a/Test/baseResults/spv.dataOutIndirect.vert.out b/Test/baseResults/spv.dataOutIndirect.vert.out index 536fe3fd..6aafb426 100755 --- a/Test/baseResults/spv.dataOutIndirect.vert.out +++ b/Test/baseResults/spv.dataOutIndirect.vert.out @@ -13,7 +13,7 @@ Linked vertex stage: Capability Shader 1: ExtInstImport "GLSL.std.450" MemoryModel Logical GLSL450 - EntryPoint Vertex 4 "main" 26 23 37 + EntryPoint Vertex 4 "main" 23 26 32 37 Source GLSL 130 Name 4 "main" Name 8 "i" diff --git a/Test/baseResults/spv.deepRvalue.frag.out b/Test/baseResults/spv.deepRvalue.frag.out index 04d5d4ce..d579ef82 100644 --- a/Test/baseResults/spv.deepRvalue.frag.out +++ b/Test/baseResults/spv.deepRvalue.frag.out @@ -10,7 +10,7 @@ Linked fragment stage: Capability Shader 1: ExtInstImport "GLSL.std.450" MemoryModel Logical GLSL450 - EntryPoint Fragment 4 "main" + EntryPoint Fragment 4 "main" 149 ExecutionMode 4 OriginLowerLeft Source GLSL 330 Name 4 "main" diff --git a/Test/baseResults/spv.depthOut.frag.out b/Test/baseResults/spv.depthOut.frag.out index f978fa68..dff7388b 100755 --- a/Test/baseResults/spv.depthOut.frag.out +++ b/Test/baseResults/spv.depthOut.frag.out @@ -12,7 +12,7 @@ Linked fragment stage: Capability Shader 1: ExtInstImport "GLSL.std.450" MemoryModel Logical GLSL450 - EntryPoint Fragment 4 "main" 14 10 8 8 + EntryPoint Fragment 4 "main" 8 10 14 ExecutionMode 4 OriginLowerLeft ExecutionMode 4 DepthGreater ExecutionMode 4 DepthReplacing diff --git a/Test/baseResults/spv.discard-dce.frag.out b/Test/baseResults/spv.discard-dce.frag.out index 26da15ce..c2a8501a 100755 --- a/Test/baseResults/spv.discard-dce.frag.out +++ b/Test/baseResults/spv.discard-dce.frag.out @@ -10,7 +10,7 @@ Linked fragment stage: Capability Shader 1: ExtInstImport "GLSL.std.450" MemoryModel Logical GLSL450 - EntryPoint Fragment 4 "main" 21 + EntryPoint Fragment 4 "main" 21 59 ExecutionMode 4 OriginLowerLeft Source GLSL 110 Name 4 "main" diff --git a/Test/baseResults/spv.doWhileLoop.frag.out b/Test/baseResults/spv.doWhileLoop.frag.out index ab2b7135..5c8e7725 100755 --- a/Test/baseResults/spv.doWhileLoop.frag.out +++ b/Test/baseResults/spv.doWhileLoop.frag.out @@ -10,7 +10,7 @@ Linked fragment stage: Capability Shader 1: ExtInstImport "GLSL.std.450" MemoryModel Logical GLSL450 - EntryPoint Fragment 4 "main" 11 + EntryPoint Fragment 4 "main" 11 38 ExecutionMode 4 OriginLowerLeft Source GLSL 110 Name 4 "main" diff --git a/Test/baseResults/spv.double.comp.out b/Test/baseResults/spv.double.comp.out index b588ca90..e78065dc 100755 --- a/Test/baseResults/spv.double.comp.out +++ b/Test/baseResults/spv.double.comp.out @@ -12,7 +12,7 @@ Linked compute stage: Capability Shader 1: ExtInstImport "GLSL.std.450" MemoryModel Logical GLSL450 - EntryPoint GLCompute 4 "main" + EntryPoint GLCompute 4 "main" 26 33 ExecutionMode 4 LocalSize 1 1 1 Source GLSL 430 Name 4 "main" diff --git a/Test/baseResults/spv.earlyReturnDiscard.frag.out b/Test/baseResults/spv.earlyReturnDiscard.frag.out index 2f973279..27f7793e 100755 --- a/Test/baseResults/spv.earlyReturnDiscard.frag.out +++ b/Test/baseResults/spv.earlyReturnDiscard.frag.out @@ -10,7 +10,7 @@ Linked fragment stage: Capability Shader 1: ExtInstImport "GLSL.std.450" MemoryModel Logical GLSL450 - EntryPoint Fragment 4 "main" 18 11 + EntryPoint Fragment 4 "main" 107 11 18 ExecutionMode 4 OriginLowerLeft Source GLSL 110 Name 4 "main" diff --git a/Test/baseResults/spv.flowControl.frag.out b/Test/baseResults/spv.flowControl.frag.out index b5e460ba..825a4177 100755 --- a/Test/baseResults/spv.flowControl.frag.out +++ b/Test/baseResults/spv.flowControl.frag.out @@ -10,7 +10,7 @@ Linked fragment stage: Capability Shader 1: ExtInstImport "GLSL.std.450" MemoryModel Logical GLSL450 - EntryPoint Fragment 4 "main" 18 11 + EntryPoint Fragment 4 "main" 11 18 37 ExecutionMode 4 OriginLowerLeft Source GLSL 120 Name 4 "main" diff --git a/Test/baseResults/spv.forLoop.frag.out b/Test/baseResults/spv.forLoop.frag.out index df3fdd6f..8891e19e 100755 --- a/Test/baseResults/spv.forLoop.frag.out +++ b/Test/baseResults/spv.forLoop.frag.out @@ -10,7 +10,7 @@ Linked fragment stage: Capability Shader 1: ExtInstImport "GLSL.std.450" MemoryModel Logical GLSL450 - EntryPoint Fragment 4 "main" 11 97 + EntryPoint Fragment 4 "main" 35 11 97 ExecutionMode 4 OriginLowerLeft Source GLSL 130 Name 4 "main" diff --git a/Test/baseResults/spv.forwardFun.frag.out b/Test/baseResults/spv.forwardFun.frag.out index cdc4442b..8d0323b9 100755 --- a/Test/baseResults/spv.forwardFun.frag.out +++ b/Test/baseResults/spv.forwardFun.frag.out @@ -10,7 +10,7 @@ Linked fragment stage: Capability Shader 1: ExtInstImport "GLSL.std.450" MemoryModel Logical GLSL450 - EntryPoint Fragment 4 "main" 20 + EntryPoint Fragment 4 "main" 20 30 ExecutionMode 4 OriginLowerLeft Source ESSL 100 Name 4 "main" diff --git a/Test/baseResults/spv.functionCall.frag.out b/Test/baseResults/spv.functionCall.frag.out index 77d60a21..5716f1d9 100755 --- a/Test/baseResults/spv.functionCall.frag.out +++ b/Test/baseResults/spv.functionCall.frag.out @@ -12,7 +12,7 @@ Linked fragment stage: Capability Shader 1: ExtInstImport "GLSL.std.450" MemoryModel Logical GLSL450 - EntryPoint Fragment 4 "main" 57 + EntryPoint Fragment 4 "main" 57 68 ExecutionMode 4 OriginLowerLeft Source GLSL 130 Name 4 "main" diff --git a/Test/baseResults/spv.functionSemantics.frag.out b/Test/baseResults/spv.functionSemantics.frag.out index 45a0bd36..35d8100e 100755 --- a/Test/baseResults/spv.functionSemantics.frag.out +++ b/Test/baseResults/spv.functionSemantics.frag.out @@ -12,7 +12,7 @@ Linked fragment stage: Capability Shader 1: ExtInstImport "GLSL.std.450" MemoryModel Logical GLSL450 - EntryPoint Fragment 4 "main" + EntryPoint Fragment 4 "main" 149 ExecutionMode 4 OriginLowerLeft Source GLSL 400 Name 4 "main" diff --git a/Test/baseResults/spv.intOps.vert.out b/Test/baseResults/spv.intOps.vert.out index fca5cd4b..7e3b052d 100644 --- a/Test/baseResults/spv.intOps.vert.out +++ b/Test/baseResults/spv.intOps.vert.out @@ -12,7 +12,7 @@ Linked vertex stage: Capability Shader 1: ExtInstImport "GLSL.std.450" MemoryModel Logical GLSL450 - EntryPoint Vertex 4 "main" 47 26 173 67 121 142 100 247 156 146 182 83 15 9 21 268 269 + EntryPoint Vertex 4 "main" 121 9 47 15 21 26 83 67 100 142 146 156 173 182 247 268 269 Source ESSL 310 Name 4 "main" Name 9 "iout" diff --git a/Test/baseResults/spv.interpOps.frag.out b/Test/baseResults/spv.interpOps.frag.out index ef701f02..97964d08 100644 --- a/Test/baseResults/spv.interpOps.frag.out +++ b/Test/baseResults/spv.interpOps.frag.out @@ -12,7 +12,7 @@ Linked fragment stage: Capability Shader 1: ExtInstImport "GLSL.std.450" MemoryModel Logical GLSL450 - EntryPoint Fragment 4 "main" 13 24 33 41 99 + EntryPoint Fragment 4 "main" 13 24 41 33 99 ExecutionMode 4 OriginLowerLeft Source GLSL 450 Name 4 "main" diff --git a/Test/baseResults/spv.length.frag.out b/Test/baseResults/spv.length.frag.out index da5c122c..84d711cc 100755 --- a/Test/baseResults/spv.length.frag.out +++ b/Test/baseResults/spv.length.frag.out @@ -10,7 +10,7 @@ Linked fragment stage: Capability Shader 1: ExtInstImport "GLSL.std.450" MemoryModel Logical GLSL450 - EntryPoint Fragment 4 "main" 14 + EntryPoint Fragment 4 "main" 14 26 ExecutionMode 4 OriginLowerLeft Source GLSL 120 Name 4 "main" diff --git a/Test/baseResults/spv.localAggregates.frag.out b/Test/baseResults/spv.localAggregates.frag.out index 5fafd415..c2717336 100755 --- a/Test/baseResults/spv.localAggregates.frag.out +++ b/Test/baseResults/spv.localAggregates.frag.out @@ -13,7 +13,7 @@ Linked fragment stage: Capability Shader 1: ExtInstImport "GLSL.std.450" MemoryModel Logical GLSL450 - EntryPoint Fragment 4 "main" 40 96 + EntryPoint Fragment 4 "main" 96 40 106 ExecutionMode 4 OriginLowerLeft Source GLSL 130 Name 4 "main" diff --git a/Test/baseResults/spv.loops.frag.out b/Test/baseResults/spv.loops.frag.out index 7c9ecaf8..1a16a64f 100755 --- a/Test/baseResults/spv.loops.frag.out +++ b/Test/baseResults/spv.loops.frag.out @@ -12,7 +12,7 @@ Linked fragment stage: Capability Shader 1: ExtInstImport "GLSL.std.450" MemoryModel Logical GLSL450 - EntryPoint Fragment 4 "main" 11 + EntryPoint Fragment 4 "main" 11 596 ExecutionMode 4 OriginLowerLeft Source GLSL 130 Name 4 "main" diff --git a/Test/baseResults/spv.loopsArtificial.frag.out b/Test/baseResults/spv.loopsArtificial.frag.out index 082095f3..44dcb47c 100755 --- a/Test/baseResults/spv.loopsArtificial.frag.out +++ b/Test/baseResults/spv.loopsArtificial.frag.out @@ -12,7 +12,7 @@ Linked fragment stage: Capability Shader 1: ExtInstImport "GLSL.std.450" MemoryModel Logical GLSL450 - EntryPoint Fragment 4 "main" 11 + EntryPoint Fragment 4 "main" 11 144 ExecutionMode 4 OriginLowerLeft Source GLSL 130 Name 4 "main" diff --git a/Test/baseResults/spv.matFun.vert.out b/Test/baseResults/spv.matFun.vert.out index 6286e90d..122adc96 100755 --- a/Test/baseResults/spv.matFun.vert.out +++ b/Test/baseResults/spv.matFun.vert.out @@ -10,7 +10,7 @@ Linked vertex stage: Capability Shader 1: ExtInstImport "GLSL.std.450" MemoryModel Logical GLSL450 - EntryPoint Vertex 4 "main" 73 92 + EntryPoint Vertex 4 "main" 69 73 92 Source GLSL 130 Name 4 "main" Name 14 "xf(mf33;vf3;" diff --git a/Test/baseResults/spv.matrix.frag.out b/Test/baseResults/spv.matrix.frag.out index 511be17b..07d109a9 100644 --- a/Test/baseResults/spv.matrix.frag.out +++ b/Test/baseResults/spv.matrix.frag.out @@ -10,7 +10,7 @@ Linked fragment stage: Capability Shader 1: ExtInstImport "GLSL.std.450" MemoryModel Logical GLSL450 - EntryPoint Fragment 4 "main" 12 14 28 148 140 166 + EntryPoint Fragment 4 "main" 148 140 28 12 166 14 ExecutionMode 4 OriginLowerLeft Source GLSL 130 Name 4 "main" diff --git a/Test/baseResults/spv.matrix2.frag.out b/Test/baseResults/spv.matrix2.frag.out index 957f3bdf..7ca987e1 100644 --- a/Test/baseResults/spv.matrix2.frag.out +++ b/Test/baseResults/spv.matrix2.frag.out @@ -10,7 +10,7 @@ Linked fragment stage: Capability Shader 1: ExtInstImport "GLSL.std.450" MemoryModel Logical GLSL450 - EntryPoint Fragment 4 "main" 210 38 211 212 87 65 150 173 139 12 16 37 + EntryPoint Fragment 4 "main" 12 16 173 37 150 38 65 87 139 210 211 212 ExecutionMode 4 OriginLowerLeft Source GLSL 150 Name 4 "main" diff --git a/Test/baseResults/spv.newTexture.frag.out b/Test/baseResults/spv.newTexture.frag.out index 2a5973ef..2366a331 100755 --- a/Test/baseResults/spv.newTexture.frag.out +++ b/Test/baseResults/spv.newTexture.frag.out @@ -12,7 +12,7 @@ Linked fragment stage: Capability Shader 1: ExtInstImport "GLSL.std.450" MemoryModel Logical GLSL450 - EntryPoint Fragment 4 "main" 29 17 55 26 84 91 81 277 247 + EntryPoint Fragment 4 "main" 17 81 26 29 55 247 84 91 277 ExecutionMode 4 OriginLowerLeft Source GLSL 430 Name 4 "main" diff --git a/Test/baseResults/spv.nonSquare.vert.out b/Test/baseResults/spv.nonSquare.vert.out index c29527dc..83a0cefa 100755 --- a/Test/baseResults/spv.nonSquare.vert.out +++ b/Test/baseResults/spv.nonSquare.vert.out @@ -10,7 +10,7 @@ Linked vertex stage: Capability Shader 1: ExtInstImport "GLSL.std.450" MemoryModel Logical GLSL450 - EntryPoint Vertex 4 "main" 12 55 + EntryPoint Vertex 4 "main" 28 12 55 Source GLSL 120 Name 4 "main" Name 9 "a" diff --git a/Test/baseResults/spv.precision.frag.out b/Test/baseResults/spv.precision.frag.out index ba1ae6a9..0d35f835 100755 --- a/Test/baseResults/spv.precision.frag.out +++ b/Test/baseResults/spv.precision.frag.out @@ -10,7 +10,7 @@ Linked fragment stage: Capability Shader 1: ExtInstImport "GLSL.std.450" MemoryModel Logical GLSL450 - EntryPoint Fragment 4 "main" 57 59 23 71 + EntryPoint Fragment 4 "main" 71 23 57 59 ExecutionMode 4 OriginLowerLeft Source ESSL 300 Name 4 "main" diff --git a/Test/baseResults/spv.prepost.frag.out b/Test/baseResults/spv.prepost.frag.out index b166ba15..ee77a099 100755 --- a/Test/baseResults/spv.prepost.frag.out +++ b/Test/baseResults/spv.prepost.frag.out @@ -10,7 +10,7 @@ Linked fragment stage: Capability Shader 1: ExtInstImport "GLSL.std.450" MemoryModel Logical GLSL450 - EntryPoint Fragment 4 "main" + EntryPoint Fragment 4 "main" 90 ExecutionMode 4 OriginLowerLeft Source GLSL 140 Name 4 "main" diff --git a/Test/baseResults/spv.qualifiers.vert.out b/Test/baseResults/spv.qualifiers.vert.out index f12265c7..cce4b4cc 100755 --- a/Test/baseResults/spv.qualifiers.vert.out +++ b/Test/baseResults/spv.qualifiers.vert.out @@ -12,7 +12,7 @@ Linked vertex stage: Capability Shader 1: ExtInstImport "GLSL.std.450" MemoryModel Logical GLSL450 - EntryPoint Vertex 4 "main" 11 9 13 15 17 19 23 24 + EntryPoint Vertex 4 "main" 17 9 19 11 13 23 15 24 Source GLSL 430 Name 4 "main" Name 9 "outVc" diff --git a/Test/baseResults/spv.shiftOps.frag.out b/Test/baseResults/spv.shiftOps.frag.out index 891d6899..c57ef3bf 100644 --- a/Test/baseResults/spv.shiftOps.frag.out +++ b/Test/baseResults/spv.shiftOps.frag.out @@ -12,7 +12,7 @@ Linked fragment stage: Capability Shader 1: ExtInstImport "GLSL.std.450" MemoryModel Logical GLSL450 - EntryPoint Fragment 4 "main" 9 25 + EntryPoint Fragment 4 "main" 25 9 ExecutionMode 4 OriginLowerLeft Source GLSL 450 Name 4 "main" diff --git a/Test/baseResults/spv.simpleFunctionCall.frag.out b/Test/baseResults/spv.simpleFunctionCall.frag.out index 7581d640..1a41f6ad 100755 --- a/Test/baseResults/spv.simpleFunctionCall.frag.out +++ b/Test/baseResults/spv.simpleFunctionCall.frag.out @@ -12,7 +12,7 @@ Linked fragment stage: Capability Shader 1: ExtInstImport "GLSL.std.450" MemoryModel Logical GLSL450 - EntryPoint Fragment 4 "main" 12 + EntryPoint Fragment 4 "main" 12 16 ExecutionMode 4 OriginLowerLeft Source GLSL 150 Name 4 "main" diff --git a/Test/baseResults/spv.simpleMat.vert.out b/Test/baseResults/spv.simpleMat.vert.out index 5bf8b97a..c3f86ad1 100755 --- a/Test/baseResults/spv.simpleMat.vert.out +++ b/Test/baseResults/spv.simpleMat.vert.out @@ -10,7 +10,7 @@ Linked vertex stage: Capability Shader 1: ExtInstImport "GLSL.std.450" MemoryModel Logical GLSL450 - EntryPoint Vertex 4 "main" 15 23 34 19 9 40 41 + EntryPoint Vertex 4 "main" 41 9 23 15 19 34 40 Source GLSL 330 Name 4 "main" Name 9 "glPos" diff --git a/Test/baseResults/spv.structAssignment.frag.out b/Test/baseResults/spv.structAssignment.frag.out index 535566c3..9675d88f 100755 --- a/Test/baseResults/spv.structAssignment.frag.out +++ b/Test/baseResults/spv.structAssignment.frag.out @@ -12,7 +12,7 @@ Linked fragment stage: Capability Shader 1: ExtInstImport "GLSL.std.450" MemoryModel Logical GLSL450 - EntryPoint Fragment 4 "main" 44 + EntryPoint Fragment 4 "main" 31 44 ExecutionMode 4 OriginLowerLeft Source GLSL 130 Name 4 "main" diff --git a/Test/baseResults/spv.structDeref.frag.out b/Test/baseResults/spv.structDeref.frag.out index c958efe4..8d34ea30 100755 --- a/Test/baseResults/spv.structDeref.frag.out +++ b/Test/baseResults/spv.structDeref.frag.out @@ -12,7 +12,7 @@ Linked fragment stage: Capability Shader 1: ExtInstImport "GLSL.std.450" MemoryModel Logical GLSL450 - EntryPoint Fragment 4 "main" 61 + EntryPoint Fragment 4 "main" 61 99 ExecutionMode 4 OriginLowerLeft Source GLSL 130 Name 4 "main" diff --git a/Test/baseResults/spv.structure.frag.out b/Test/baseResults/spv.structure.frag.out index 9e35b701..bcf5222d 100755 --- a/Test/baseResults/spv.structure.frag.out +++ b/Test/baseResults/spv.structure.frag.out @@ -12,7 +12,7 @@ Linked fragment stage: Capability Shader 1: ExtInstImport "GLSL.std.450" MemoryModel Logical GLSL450 - EntryPoint Fragment 4 "main" 54 + EntryPoint Fragment 4 "main" 45 54 ExecutionMode 4 OriginLowerLeft Source GLSL 130 Name 4 "main" diff --git a/Test/baseResults/spv.swizzle.frag.out b/Test/baseResults/spv.swizzle.frag.out index ded0f058..bfefdeab 100755 --- a/Test/baseResults/spv.swizzle.frag.out +++ b/Test/baseResults/spv.swizzle.frag.out @@ -10,7 +10,7 @@ Linked fragment stage: Capability Shader 1: ExtInstImport "GLSL.std.450" MemoryModel Logical GLSL450 - EntryPoint Fragment 4 "main" 30 + EntryPoint Fragment 4 "main" 30 69 ExecutionMode 4 OriginLowerLeft Source GLSL 110 Name 4 "main" diff --git a/Test/baseResults/spv.test.frag.out b/Test/baseResults/spv.test.frag.out index 94e1eac4..4695a8bc 100755 --- a/Test/baseResults/spv.test.frag.out +++ b/Test/baseResults/spv.test.frag.out @@ -12,7 +12,7 @@ Linked fragment stage: Capability Shader 1: ExtInstImport "GLSL.std.450" MemoryModel Logical GLSL450 - EntryPoint Fragment 4 "main" 20 38 + EntryPoint Fragment 4 "main" 44 20 38 ExecutionMode 4 OriginLowerLeft Source GLSL 400 Name 4 "main" diff --git a/Test/baseResults/spv.test.vert.out b/Test/baseResults/spv.test.vert.out index 12edbf2c..f4dfd580 100755 --- a/Test/baseResults/spv.test.vert.out +++ b/Test/baseResults/spv.test.vert.out @@ -12,7 +12,7 @@ Linked vertex stage: Capability Shader 1: ExtInstImport "GLSL.std.450" MemoryModel Logical GLSL450 - EntryPoint Vertex 4 "main" 21 11 9 26 + EntryPoint Vertex 4 "main" 9 11 15 21 26 Source GLSL 130 Name 4 "main" Name 9 "uv" diff --git a/Test/baseResults/spv.texture.frag.out b/Test/baseResults/spv.texture.frag.out index b47200e2..56279325 100755 --- a/Test/baseResults/spv.texture.frag.out +++ b/Test/baseResults/spv.texture.frag.out @@ -13,7 +13,7 @@ Linked fragment stage: Capability Shader 1: ExtInstImport "GLSL.std.450" MemoryModel Logical GLSL450 - EntryPoint Fragment 4 "main" 290 47 + EntryPoint Fragment 4 "main" 47 276 290 ExecutionMode 4 OriginLowerLeft Source GLSL 130 Name 4 "main" diff --git a/Test/baseResults/spv.texture.vert.out b/Test/baseResults/spv.texture.vert.out index 7d4a2dbb..ec48714e 100755 --- a/Test/baseResults/spv.texture.vert.out +++ b/Test/baseResults/spv.texture.vert.out @@ -10,7 +10,7 @@ Linked vertex stage: Capability Shader 1: ExtInstImport "GLSL.std.450" MemoryModel Logical GLSL450 - EntryPoint Vertex 4 "main" 39 144 + EntryPoint Vertex 4 "main" 39 140 144 Source GLSL 130 Name 4 "main" Name 8 "lod" diff --git a/Test/baseResults/spv.types.frag.out b/Test/baseResults/spv.types.frag.out index f4f8cea3..da0e8c94 100755 --- a/Test/baseResults/spv.types.frag.out +++ b/Test/baseResults/spv.types.frag.out @@ -10,7 +10,7 @@ Linked fragment stage: Capability Shader 1: ExtInstImport "GLSL.std.450" MemoryModel Logical GLSL450 - EntryPoint Fragment 4 "main" 94 104 114 124 134 144 154 164 + EntryPoint Fragment 4 "main" 134 94 104 168 144 154 114 164 124 ExecutionMode 4 OriginLowerLeft Source GLSL 130 Name 4 "main" diff --git a/Test/baseResults/spv.uint.frag.out b/Test/baseResults/spv.uint.frag.out index 0a1650ce..3dc929b4 100755 --- a/Test/baseResults/spv.uint.frag.out +++ b/Test/baseResults/spv.uint.frag.out @@ -10,7 +10,7 @@ Linked fragment stage: Capability Shader 1: ExtInstImport "GLSL.std.450" MemoryModel Logical GLSL450 - EntryPoint Fragment 4 "main" 15 200 77 68 + EntryPoint Fragment 4 "main" 15 68 77 200 ExecutionMode 4 OriginLowerLeft Source ESSL 300 Name 4 "main" diff --git a/Test/baseResults/spv.uniformArray.frag.out b/Test/baseResults/spv.uniformArray.frag.out index 6acf2652..963df924 100755 --- a/Test/baseResults/spv.uniformArray.frag.out +++ b/Test/baseResults/spv.uniformArray.frag.out @@ -10,7 +10,7 @@ Linked fragment stage: Capability Shader 1: ExtInstImport "GLSL.std.450" MemoryModel Logical GLSL450 - EntryPoint Fragment 4 "main" + EntryPoint Fragment 4 "main" 47 ExecutionMode 4 OriginLowerLeft Source GLSL 130 Name 4 "main" diff --git a/Test/baseResults/spv.variableArrayIndex.frag.out b/Test/baseResults/spv.variableArrayIndex.frag.out index ab3f27a8..abd39080 100755 --- a/Test/baseResults/spv.variableArrayIndex.frag.out +++ b/Test/baseResults/spv.variableArrayIndex.frag.out @@ -12,7 +12,7 @@ Linked fragment stage: Capability Shader 1: ExtInstImport "GLSL.std.450" MemoryModel Logical GLSL450 - EntryPoint Fragment 4 "main" 63 + EntryPoint Fragment 4 "main" 54 63 ExecutionMode 4 OriginLowerLeft Source GLSL 130 Name 4 "main" diff --git a/Test/baseResults/spv.varyingArray.frag.out b/Test/baseResults/spv.varyingArray.frag.out index dc0c21b9..26234e84 100755 --- a/Test/baseResults/spv.varyingArray.frag.out +++ b/Test/baseResults/spv.varyingArray.frag.out @@ -15,7 +15,7 @@ Linked fragment stage: Capability Shader 1: ExtInstImport "GLSL.std.450" MemoryModel Logical GLSL450 - EntryPoint Fragment 4 "main" 34 39 19 19 48 + EntryPoint Fragment 4 "main" 19 34 39 45 48 ExecutionMode 4 OriginLowerLeft Source GLSL 130 Name 4 "main" diff --git a/Test/baseResults/spv.varyingArrayIndirect.frag.out b/Test/baseResults/spv.varyingArrayIndirect.frag.out index 024f19b7..41ee8657 100755 --- a/Test/baseResults/spv.varyingArrayIndirect.frag.out +++ b/Test/baseResults/spv.varyingArrayIndirect.frag.out @@ -15,7 +15,7 @@ Linked fragment stage: Capability Shader 1: ExtInstImport "GLSL.std.450" MemoryModel Logical GLSL450 - EntryPoint Fragment 4 "main" 45 50 30 30 19 + EntryPoint Fragment 4 "main" 19 30 45 50 56 ExecutionMode 4 OriginLowerLeft Source GLSL 130 Name 4 "main" diff --git a/Test/baseResults/spv.voidFunction.frag.out b/Test/baseResults/spv.voidFunction.frag.out index 01e6ce50..9ef6e8df 100755 --- a/Test/baseResults/spv.voidFunction.frag.out +++ b/Test/baseResults/spv.voidFunction.frag.out @@ -10,7 +10,7 @@ Linked fragment stage: Capability Shader 1: ExtInstImport "GLSL.std.450" MemoryModel Logical GLSL450 - EntryPoint Fragment 4 "main" 41 + EntryPoint Fragment 4 "main" 37 41 ExecutionMode 4 OriginLowerLeft Source GLSL 120 Name 4 "main" diff --git a/Test/baseResults/spv.whileLoop.frag.out b/Test/baseResults/spv.whileLoop.frag.out index c3b535b5..62fa84f4 100755 --- a/Test/baseResults/spv.whileLoop.frag.out +++ b/Test/baseResults/spv.whileLoop.frag.out @@ -10,7 +10,7 @@ Linked fragment stage: Capability Shader 1: ExtInstImport "GLSL.std.450" MemoryModel Logical GLSL450 - EntryPoint Fragment 4 "main" 11 + EntryPoint Fragment 4 "main" 11 32 ExecutionMode 4 OriginLowerLeft Source GLSL 110 Name 4 "main"