SPV: Make OpEntryPoint I/O list include all static uses.
Before, it was only including explicit interface, sufficient for IO-Block-declared
oriented interface, but not sufficient for all modes GLSL might be used with
SPIR-V.
Two things are accomplished now:
1) each id will appear exactly once
2) the OpEntryPoint list will union static use with declarations
diff --git a/SPIRV/GlslangToSpv.cpp b/SPIRV/GlslangToSpv.cpp
index fb4e115..4ccf41b 100755
--- a/SPIRV/GlslangToSpv.cpp
+++ b/SPIRV/GlslangToSpv.cpp
@@ -85,7 +85,7 @@
bool visitLoop(glslang::TVisit, glslang::TIntermLoop*);
bool visitBranch(glslang::TVisit visit, glslang::TIntermBranch*);
- void dumpSpv(std::vector<unsigned int>& out) { builder.dump(out); }
+ void dumpSpv(std::vector<unsigned int>& out);
protected:
spv::Id createSpvVariable(const glslang::TIntermSymbol*);
@@ -133,7 +133,8 @@
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<spv::Id> iOSet; // all input/output variables from either static use or declaration of interface
const glslang::TIntermediate* glslangIntermediate;
spv::Id stdBuiltins;
@@ -555,6 +556,16 @@
}
+// Finish everything and dump
+void TGlslangToSpvTraverser::dumpSpv(std::vector<unsigned int>& out)
+{
+ // finish off the entry-point SPV instruction by adding the Input/Output <id>
+ for (auto it : iOSet)
+ entryPoint->addIdOperand(it);
+
+ builder.dump(out);
+}
+
TGlslangToSpvTraverser::~TGlslangToSpvTraverser()
{
if (! mainTerminated) {
@@ -584,7 +595,15 @@
// 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 @@
builder.setAccessChainRValue(id);
else
builder.setAccessChainLValue(id);
- } else {
- // finish off the entry-point SPV instruction by adding the Input/Output <id>
- 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 0a2251a..fa21783 100755
--- a/Test/baseResults/spv.100ops.frag.out
+++ b/Test/baseResults/spv.100ops.frag.out
@@ -10,7 +10,7 @@
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 e35de41..bfa39c5 100644
--- a/Test/baseResults/spv.130.frag.out
+++ b/Test/baseResults/spv.130.frag.out
@@ -12,7 +12,7 @@
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 48f36db..8b16537 100755
--- a/Test/baseResults/spv.140.frag.out
+++ b/Test/baseResults/spv.140.frag.out
@@ -10,7 +10,7 @@
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 46901dc..34d5831 100755
--- a/Test/baseResults/spv.150.geom.out
+++ b/Test/baseResults/spv.150.geom.out
@@ -10,7 +10,7 @@
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 a4e8e50..08dd3f1 100755
--- a/Test/baseResults/spv.150.vert.out
+++ b/Test/baseResults/spv.150.vert.out
@@ -10,7 +10,7 @@
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 675b78e..3fc8a01 100755
--- a/Test/baseResults/spv.300BuiltIns.vert.out
+++ b/Test/baseResults/spv.300BuiltIns.vert.out
@@ -10,7 +10,7 @@
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 62dca8d..e08f1e9 100755
--- a/Test/baseResults/spv.300layout.frag.out
+++ b/Test/baseResults/spv.300layout.frag.out
@@ -10,7 +10,7 @@
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 b62711c..8a026af 100644
--- a/Test/baseResults/spv.300layout.vert.out
+++ b/Test/baseResults/spv.300layout.vert.out
@@ -10,7 +10,7 @@
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 d040818..c2ee63e 100755
--- a/Test/baseResults/spv.300layoutp.vert.out
+++ b/Test/baseResults/spv.300layoutp.vert.out
@@ -10,7 +10,7 @@
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 ef46599..93e49b5 100755
--- a/Test/baseResults/spv.310.comp.out
+++ b/Test/baseResults/spv.310.comp.out
@@ -12,7 +12,7 @@
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 2d48b2f..fb409a9 100755
--- a/Test/baseResults/spv.330.geom.out
+++ b/Test/baseResults/spv.330.geom.out
@@ -10,7 +10,7 @@
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 1ed59c7..be834ea 100644
--- a/Test/baseResults/spv.400.frag.out
+++ b/Test/baseResults/spv.400.frag.out
@@ -12,7 +12,7 @@
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 4ecf096..68fd0d7 100755
--- a/Test/baseResults/spv.400.tesc.out
+++ b/Test/baseResults/spv.400.tesc.out
@@ -12,7 +12,7 @@
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 e72e9e2..5605981 100755
--- a/Test/baseResults/spv.400.tese.out
+++ b/Test/baseResults/spv.400.tese.out
@@ -12,7 +12,7 @@
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 5a736a5..5c6ade6 100644
--- a/Test/baseResults/spv.420.geom.out
+++ b/Test/baseResults/spv.420.geom.out
@@ -12,7 +12,7 @@
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 ba21757..43284b2 100755
--- a/Test/baseResults/spv.430.vert.out
+++ b/Test/baseResults/spv.430.vert.out
@@ -12,7 +12,7 @@
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 b45ea2b..822ad3d 100644
--- a/Test/baseResults/spv.AofA.frag.out
+++ b/Test/baseResults/spv.AofA.frag.out
@@ -12,7 +12,7 @@
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 5275014..a639515 100755
--- a/Test/baseResults/spv.always-discard.frag.out
+++ b/Test/baseResults/spv.always-discard.frag.out
@@ -10,7 +10,7 @@
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 ee768c9..b62d10c 100755
--- a/Test/baseResults/spv.always-discard2.frag.out
+++ b/Test/baseResults/spv.always-discard2.frag.out
@@ -10,7 +10,7 @@
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 7217ae7..c973438 100644
--- a/Test/baseResults/spv.bool.vert.out
+++ b/Test/baseResults/spv.bool.vert.out
@@ -12,7 +12,7 @@
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 7a2c55e..7336328 100755
--- a/Test/baseResults/spv.conditionalDiscard.frag.out
+++ b/Test/baseResults/spv.conditionalDiscard.frag.out
@@ -12,7 +12,7 @@
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 2f86931..bcdc191 100755
--- a/Test/baseResults/spv.conversion.frag.out
+++ b/Test/baseResults/spv.conversion.frag.out
@@ -10,7 +10,7 @@
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 277c053..d96a6ec 100755
--- a/Test/baseResults/spv.dataOut.frag.out
+++ b/Test/baseResults/spv.dataOut.frag.out
@@ -12,7 +12,7 @@
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 be3d3d5..26a5f77 100755
--- a/Test/baseResults/spv.dataOutIndirect.frag.out
+++ b/Test/baseResults/spv.dataOutIndirect.frag.out
@@ -12,7 +12,7 @@
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 536fe3f..6aafb42 100755
--- a/Test/baseResults/spv.dataOutIndirect.vert.out
+++ b/Test/baseResults/spv.dataOutIndirect.vert.out
@@ -13,7 +13,7 @@
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 04d5d4c..d579ef8 100644
--- a/Test/baseResults/spv.deepRvalue.frag.out
+++ b/Test/baseResults/spv.deepRvalue.frag.out
@@ -10,7 +10,7 @@
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 f978fa6..dff7388 100755
--- a/Test/baseResults/spv.depthOut.frag.out
+++ b/Test/baseResults/spv.depthOut.frag.out
@@ -12,7 +12,7 @@
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 26da15c..c2a8501 100755
--- a/Test/baseResults/spv.discard-dce.frag.out
+++ b/Test/baseResults/spv.discard-dce.frag.out
@@ -10,7 +10,7 @@
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 ab2b713..5c8e772 100755
--- a/Test/baseResults/spv.doWhileLoop.frag.out
+++ b/Test/baseResults/spv.doWhileLoop.frag.out
@@ -10,7 +10,7 @@
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 b588ca9..e78065d 100755
--- a/Test/baseResults/spv.double.comp.out
+++ b/Test/baseResults/spv.double.comp.out
@@ -12,7 +12,7 @@
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 2f97327..27f7793 100755
--- a/Test/baseResults/spv.earlyReturnDiscard.frag.out
+++ b/Test/baseResults/spv.earlyReturnDiscard.frag.out
@@ -10,7 +10,7 @@
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 b5e460b..825a417 100755
--- a/Test/baseResults/spv.flowControl.frag.out
+++ b/Test/baseResults/spv.flowControl.frag.out
@@ -10,7 +10,7 @@
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 df3fdd6..8891e19 100755
--- a/Test/baseResults/spv.forLoop.frag.out
+++ b/Test/baseResults/spv.forLoop.frag.out
@@ -10,7 +10,7 @@
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 cdc4442..8d0323b 100755
--- a/Test/baseResults/spv.forwardFun.frag.out
+++ b/Test/baseResults/spv.forwardFun.frag.out
@@ -10,7 +10,7 @@
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 77d60a2..5716f1d 100755
--- a/Test/baseResults/spv.functionCall.frag.out
+++ b/Test/baseResults/spv.functionCall.frag.out
@@ -12,7 +12,7 @@
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 45a0bd3..35d8100 100755
--- a/Test/baseResults/spv.functionSemantics.frag.out
+++ b/Test/baseResults/spv.functionSemantics.frag.out
@@ -12,7 +12,7 @@
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 fca5cd4..7e3b052 100644
--- a/Test/baseResults/spv.intOps.vert.out
+++ b/Test/baseResults/spv.intOps.vert.out
@@ -12,7 +12,7 @@
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 ef701f0..97964d0 100644
--- a/Test/baseResults/spv.interpOps.frag.out
+++ b/Test/baseResults/spv.interpOps.frag.out
@@ -12,7 +12,7 @@
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 da5c122..84d711c 100755
--- a/Test/baseResults/spv.length.frag.out
+++ b/Test/baseResults/spv.length.frag.out
@@ -10,7 +10,7 @@
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 5fafd41..c271733 100755
--- a/Test/baseResults/spv.localAggregates.frag.out
+++ b/Test/baseResults/spv.localAggregates.frag.out
@@ -13,7 +13,7 @@
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 7c9ecaf..1a16a64 100755
--- a/Test/baseResults/spv.loops.frag.out
+++ b/Test/baseResults/spv.loops.frag.out
@@ -12,7 +12,7 @@
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 082095f..44dcb47 100755
--- a/Test/baseResults/spv.loopsArtificial.frag.out
+++ b/Test/baseResults/spv.loopsArtificial.frag.out
@@ -12,7 +12,7 @@
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 6286e90..122adc9 100755
--- a/Test/baseResults/spv.matFun.vert.out
+++ b/Test/baseResults/spv.matFun.vert.out
@@ -10,7 +10,7 @@
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 511be17..07d109a 100644
--- a/Test/baseResults/spv.matrix.frag.out
+++ b/Test/baseResults/spv.matrix.frag.out
@@ -10,7 +10,7 @@
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 957f3bd..7ca987e 100644
--- a/Test/baseResults/spv.matrix2.frag.out
+++ b/Test/baseResults/spv.matrix2.frag.out
@@ -10,7 +10,7 @@
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 2a5973e..2366a33 100755
--- a/Test/baseResults/spv.newTexture.frag.out
+++ b/Test/baseResults/spv.newTexture.frag.out
@@ -12,7 +12,7 @@
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 c29527d..83a0cef 100755
--- a/Test/baseResults/spv.nonSquare.vert.out
+++ b/Test/baseResults/spv.nonSquare.vert.out
@@ -10,7 +10,7 @@
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 ba1ae6a..0d35f83 100755
--- a/Test/baseResults/spv.precision.frag.out
+++ b/Test/baseResults/spv.precision.frag.out
@@ -10,7 +10,7 @@
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 b166ba1..ee77a09 100755
--- a/Test/baseResults/spv.prepost.frag.out
+++ b/Test/baseResults/spv.prepost.frag.out
@@ -10,7 +10,7 @@
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 f12265c..cce4b4c 100755
--- a/Test/baseResults/spv.qualifiers.vert.out
+++ b/Test/baseResults/spv.qualifiers.vert.out
@@ -12,7 +12,7 @@
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 891d689..c57ef3b 100644
--- a/Test/baseResults/spv.shiftOps.frag.out
+++ b/Test/baseResults/spv.shiftOps.frag.out
@@ -12,7 +12,7 @@
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 7581d64..1a41f6a 100755
--- a/Test/baseResults/spv.simpleFunctionCall.frag.out
+++ b/Test/baseResults/spv.simpleFunctionCall.frag.out
@@ -12,7 +12,7 @@
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 5bf8b97..c3f86ad 100755
--- a/Test/baseResults/spv.simpleMat.vert.out
+++ b/Test/baseResults/spv.simpleMat.vert.out
@@ -10,7 +10,7 @@
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 535566c..9675d88 100755
--- a/Test/baseResults/spv.structAssignment.frag.out
+++ b/Test/baseResults/spv.structAssignment.frag.out
@@ -12,7 +12,7 @@
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 c958efe..8d34ea3 100755
--- a/Test/baseResults/spv.structDeref.frag.out
+++ b/Test/baseResults/spv.structDeref.frag.out
@@ -12,7 +12,7 @@
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 9e35b70..bcf5222 100755
--- a/Test/baseResults/spv.structure.frag.out
+++ b/Test/baseResults/spv.structure.frag.out
@@ -12,7 +12,7 @@
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 ded0f05..bfefdea 100755
--- a/Test/baseResults/spv.swizzle.frag.out
+++ b/Test/baseResults/spv.swizzle.frag.out
@@ -10,7 +10,7 @@
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 94e1eac..4695a8b 100755
--- a/Test/baseResults/spv.test.frag.out
+++ b/Test/baseResults/spv.test.frag.out
@@ -12,7 +12,7 @@
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 12edbf2..f4dfd58 100755
--- a/Test/baseResults/spv.test.vert.out
+++ b/Test/baseResults/spv.test.vert.out
@@ -12,7 +12,7 @@
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 b47200e..5627932 100755
--- a/Test/baseResults/spv.texture.frag.out
+++ b/Test/baseResults/spv.texture.frag.out
@@ -13,7 +13,7 @@
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 7d4a2db..ec48714 100755
--- a/Test/baseResults/spv.texture.vert.out
+++ b/Test/baseResults/spv.texture.vert.out
@@ -10,7 +10,7 @@
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 f4f8cea..da0e8c9 100755
--- a/Test/baseResults/spv.types.frag.out
+++ b/Test/baseResults/spv.types.frag.out
@@ -10,7 +10,7 @@
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 0a1650c..3dc929b 100755
--- a/Test/baseResults/spv.uint.frag.out
+++ b/Test/baseResults/spv.uint.frag.out
@@ -10,7 +10,7 @@
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 6acf265..963df92 100755
--- a/Test/baseResults/spv.uniformArray.frag.out
+++ b/Test/baseResults/spv.uniformArray.frag.out
@@ -10,7 +10,7 @@
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 ab3f27a..abd3908 100755
--- a/Test/baseResults/spv.variableArrayIndex.frag.out
+++ b/Test/baseResults/spv.variableArrayIndex.frag.out
@@ -12,7 +12,7 @@
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 dc0c21b..26234e8 100755
--- a/Test/baseResults/spv.varyingArray.frag.out
+++ b/Test/baseResults/spv.varyingArray.frag.out
@@ -15,7 +15,7 @@
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 024f19b..41ee865 100755
--- a/Test/baseResults/spv.varyingArrayIndirect.frag.out
+++ b/Test/baseResults/spv.varyingArrayIndirect.frag.out
@@ -15,7 +15,7 @@
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 01e6ce5..9ef6e8d 100755
--- a/Test/baseResults/spv.voidFunction.frag.out
+++ b/Test/baseResults/spv.voidFunction.frag.out
@@ -10,7 +10,7 @@
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 c3b535b..62fa84f 100755
--- a/Test/baseResults/spv.whileLoop.frag.out
+++ b/Test/baseResults/spv.whileLoop.frag.out
@@ -10,7 +10,7 @@
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"