diff --git a/SPIRV/GlslangToSpv.cpp b/SPIRV/GlslangToSpv.cpp index f6f99a4f..302db80a 100755 --- a/SPIRV/GlslangToSpv.cpp +++ b/SPIRV/GlslangToSpv.cpp @@ -88,6 +88,8 @@ protected: spv::Id createSpvVariable(const glslang::TIntermSymbol*); spv::Id getSampledType(const glslang::TSampler&); spv::Id convertGlslangToSpvType(const glslang::TType& type); + spv::Id convertGlslangToSpvType(const glslang::TType& type, bool explicitLayout); + bool requiresExplicitLayout(const glslang::TType& type) const; int getArrayStride(const glslang::TType& arrayType); int getMatrixStride(const glslang::TType& matrixType); void updateMemberOffset(const glslang::TType& structType, const glslang::TType& memberType, int& currentOffset, int& nextOffset); @@ -1318,8 +1320,16 @@ spv::Id TGlslangToSpvTraverser::getSampledType(const glslang::TSampler& sampler) } } -// Do full recursive conversion of an arbitrary glslang type to a SPIR-V Id. +// Convert from a glslang type to an SPV type, by calling into +// recursive version of this function. spv::Id TGlslangToSpvTraverser::convertGlslangToSpvType(const glslang::TType& type) +{ + return convertGlslangToSpvType(type, requiresExplicitLayout(type)); +} + +// Do full recursive conversion of an arbitrary glslang type to a SPIR-V Id. +// explicitLayout can be kept the same throughout the heirarchical recursive walk. +spv::Id TGlslangToSpvTraverser::convertGlslangToSpvType(const glslang::TType& type, bool explicitLayout) { spv::Id spvType = 0; @@ -1383,7 +1393,7 @@ spv::Id TGlslangToSpvTraverser::convertGlslangToSpvType(const glslang::TType& ty } else { if (type.getBasicType() == glslang::EbtBlock) memberRemapper[glslangStruct][i] = i - memberDelta; - structFields.push_back(convertGlslangToSpvType(glslangType)); + structFields.push_back(convertGlslangToSpvType(glslangType, explicitLayout)); } } @@ -1411,7 +1421,7 @@ spv::Id TGlslangToSpvTraverser::convertGlslangToSpvType(const glslang::TType& ty builder.addMemberDecoration(spvType, member, spv::DecorationComponent, glslangType.getQualifier().layoutComponent); if (glslangType.getQualifier().hasXfbOffset()) builder.addMemberDecoration(spvType, member, spv::DecorationOffset, glslangType.getQualifier().layoutXfbOffset); - else { + else if (explicitLayout) { // figure out what to do with offset, which is accumulating int nextOffset; updateMemberOffset(type, glslangType, offset, nextOffset); @@ -1420,7 +1430,7 @@ spv::Id TGlslangToSpvTraverser::convertGlslangToSpvType(const glslang::TType& ty offset = nextOffset; } - if (glslangType.isMatrix()) { + if (glslangType.isMatrix() && explicitLayout) { builder.addMemberDecoration(spvType, member, spv::DecorationMatrixStride, getMatrixStride(glslangType)); } @@ -1465,12 +1475,23 @@ spv::Id TGlslangToSpvTraverser::convertGlslangToSpvType(const glslang::TType& ty } else arraySize = type.getOuterArraySize(); spvType = builder.makeArrayType(spvType, arraySize); - builder.addDecoration(spvType, spv::DecorationArrayStride, getArrayStride(type)); + + if (explicitLayout) + builder.addDecoration(spvType, spv::DecorationArrayStride, getArrayStride(type)); } return spvType; } +bool TGlslangToSpvTraverser::requiresExplicitLayout(const glslang::TType& type) const +{ + return type.getBasicType() == glslang::EbtBlock && + type.getQualifier().layoutPacking != glslang::ElpShared && + type.getQualifier().layoutPacking != glslang::ElpPacked && + (type.getQualifier().storage == glslang::EvqUniform || + type.getQualifier().storage == glslang::EvqBuffer); +} + // Given an array type, returns the integer stride required for that array int TGlslangToSpvTraverser::getArrayStride(const glslang::TType& arrayType) { diff --git a/Test/baseResults/spv.140.frag.out b/Test/baseResults/spv.140.frag.out index a2870e7b..fae44fd9 100755 --- a/Test/baseResults/spv.140.frag.out +++ b/Test/baseResults/spv.140.frag.out @@ -32,11 +32,9 @@ Linked fragment stage: MemberName 90(bn) 4 "matrdef" Name 92 "" Decorate 17(gl_FrontFacing) BuiltIn FrontFacing - Decorate 32 ArrayStride 4 Decorate 34(gl_ClipDistance) Smooth Decorate 34(gl_ClipDistance) BuiltIn ClipDistance Decorate 43(k) Smooth - Decorate 84 ArrayStride 4 Decorate 86(samp2Da) NoStaticUse Decorate 89 ArrayStride 64 Decorate 89 ArrayStride 64 diff --git a/Test/baseResults/spv.150.geom.out b/Test/baseResults/spv.150.geom.out index ffc8162a..dcd1feba 100755 --- a/Test/baseResults/spv.150.geom.out +++ b/Test/baseResults/spv.150.geom.out @@ -43,20 +43,16 @@ Linked geometry stage: Decorate 9(fromVertex) Stream 3 Decorate 11 Stream 3 Decorate 14(fromVertex) Block - Decorate 17 ArrayStride 16 - Decorate 27 ArrayStride 4 MemberDecorate 28(gl_PerVertex) 0 BuiltIn Position MemberDecorate 28(gl_PerVertex) 1 BuiltIn PointSize MemberDecorate 28(gl_PerVertex) 2 BuiltIn ClipDistance Decorate 28(gl_PerVertex) Block Decorate 28(gl_PerVertex) Stream 0 Decorate 30 Stream 0 - Decorate 27 ArrayStride 4 MemberDecorate 31(gl_PerVertex) 0 BuiltIn Position MemberDecorate 31(gl_PerVertex) 1 BuiltIn PointSize MemberDecorate 31(gl_PerVertex) 2 BuiltIn ClipDistance Decorate 31(gl_PerVertex) Block - Decorate 32 ArrayStride 16 Decorate 48(gl_PrimitiveID) Stream 0 Decorate 48(gl_PrimitiveID) BuiltIn PrimitiveId Decorate 50(gl_PrimitiveIDIn) BuiltIn PrimitiveId diff --git a/Test/baseResults/spv.150.vert.out b/Test/baseResults/spv.150.vert.out index b449a5f0..f55399fe 100755 --- a/Test/baseResults/spv.150.vert.out +++ b/Test/baseResults/spv.150.vert.out @@ -39,18 +39,11 @@ Linked vertex stage: Name 49 "ui" Name 51 "gl_VertexID" Name 52 "gl_InstanceID" - Decorate 11 ArrayStride 4 - Decorate 13 ArrayStride 16 MemberDecorate 14(gl_PerVertex) 0 Invariant MemberDecorate 14(gl_PerVertex) 0 BuiltIn Position MemberDecorate 14(gl_PerVertex) 1 BuiltIn PointSize MemberDecorate 14(gl_PerVertex) 2 BuiltIn ClipDistance Decorate 14(gl_PerVertex) Block - Decorate 11 ArrayStride 4 - Decorate 35 ArrayStride 16 - Decorate 37 ArrayStride 64 - Decorate 37 ArrayStride 64 - Decorate 35 ArrayStride 16 Decorate 49(ui) NoStaticUse Decorate 51(gl_VertexID) BuiltIn VertexId Decorate 51(gl_VertexID) NoStaticUse diff --git a/Test/baseResults/spv.300layout.frag.out b/Test/baseResults/spv.300layout.frag.out index 83365016..9845acfc 100755 --- a/Test/baseResults/spv.300layout.frag.out +++ b/Test/baseResults/spv.300layout.frag.out @@ -28,7 +28,6 @@ Linked fragment stage: Decorate 12(color) Smooth MemberDecorate 14(S) 0 RelaxedPrecision MemberDecorate 14(S) 1 RelaxedPrecision - Decorate 25 ArrayStride 16 Decorate 27(p) RelaxedPrecision Decorate 27(p) Location 3 Decorate 30(pos) RelaxedPrecision diff --git a/Test/baseResults/spv.300layoutp.vert.out b/Test/baseResults/spv.300layoutp.vert.out index a511ae6c..2f4104a8 100755 --- a/Test/baseResults/spv.300layoutp.vert.out +++ b/Test/baseResults/spv.300layoutp.vert.out @@ -55,24 +55,18 @@ Linked vertex stage: MemberDecorate 18(Transform) 2 MatrixStride 16 MemberDecorate 18(Transform) 3 Offset 176 Decorate 18(Transform) Block - Decorate 33 ArrayStride 12 MemberDecorate 34(T3) 0 ColMajor - MemberDecorate 34(T3) 0 MatrixStride 16 MemberDecorate 34(T3) 1 RowMajor - MemberDecorate 34(T3) 1 MatrixStride 16 MemberDecorate 34(T3) 2 ColMajor - MemberDecorate 34(T3) 2 MatrixStride 16 Decorate 34(T3) GLSLShared Decorate 34(T3) Block MemberDecorate 44(T2) 1 RowMajor - MemberDecorate 44(T2) 1 MatrixStride 16 Decorate 44(T2) GLSLShared Decorate 44(T2) Block Decorate 52(color) Smooth Decorate 54(c) Location 7 Decorate 62(iout) Flat Decorate 74(aiv2) Location 9 - Decorate 33 ArrayStride 12 Decorate 110(gl_VertexID) BuiltIn VertexId Decorate 110(gl_VertexID) NoStaticUse Decorate 111(gl_InstanceID) BuiltIn InstanceId diff --git a/Test/baseResults/spv.330.geom.out b/Test/baseResults/spv.330.geom.out index a495e658..7ce0eb4f 100755 --- a/Test/baseResults/spv.330.geom.out +++ b/Test/baseResults/spv.330.geom.out @@ -26,19 +26,14 @@ Linked geometry stage: MemberName 17(gl_PerVertex) 0 "gl_Position" MemberName 17(gl_PerVertex) 1 "gl_ClipDistance" Name 21 "gl_in" - Decorate 11 ArrayStride 4 MemberDecorate 12(gl_PerVertex) 0 BuiltIn Position MemberDecorate 12(gl_PerVertex) 1 BuiltIn ClipDistance Decorate 12(gl_PerVertex) Block Decorate 12(gl_PerVertex) Stream 0 Decorate 14 Stream 0 - Decorate 11 ArrayStride 4 MemberDecorate 17(gl_PerVertex) 0 BuiltIn Position MemberDecorate 17(gl_PerVertex) 1 BuiltIn ClipDistance Decorate 17(gl_PerVertex) Block - Decorate 19 ArrayStride 16 - Decorate 11 ArrayStride 4 - Decorate 11 ArrayStride 4 2: TypeVoid 3: TypeFunction 2 7: TypeFloat 32 diff --git a/Test/baseResults/spv.400.tesc.out b/Test/baseResults/spv.400.tesc.out index 1ae50c15..49ff1b85 100755 --- a/Test/baseResults/spv.400.tesc.out +++ b/Test/baseResults/spv.400.tesc.out @@ -47,44 +47,29 @@ Linked tessellation control stage: Name 86 "ivlb" Name 89 "ovla" Name 90 "ovlb" - Decorate 19 ArrayStride 4 Decorate 20(gl_PerVertex) Block - Decorate 22 ArrayStride 16 - Decorate 19 ArrayStride 4 Decorate 41(gl_PatchVerticesIn) BuiltIn PatchVertices Decorate 44(gl_PrimitiveID) BuiltIn PrimitiveId Decorate 47(gl_InvocationID) BuiltIn InvocationId - Decorate 19 ArrayStride 4 MemberDecorate 49(gl_PerVertex) 0 BuiltIn Position MemberDecorate 49(gl_PerVertex) 1 BuiltIn PointSize MemberDecorate 49(gl_PerVertex) 2 BuiltIn ClipDistance Decorate 49(gl_PerVertex) Block - Decorate 51 ArrayStride 16 - Decorate 19 ArrayStride 4 - Decorate 62 ArrayStride 4 Decorate 64(gl_TessLevelOuter) Patch Decorate 64(gl_TessLevelOuter) BuiltIn TessLevelOuter - Decorate 69 ArrayStride 4 Decorate 71(gl_TessLevelInner) Patch Decorate 71(gl_TessLevelInner) BuiltIn TessLevelInner - Decorate 74 ArrayStride 4 Decorate 76(outa) NoStaticUse Decorate 77(patchOut) Patch Decorate 77(patchOut) NoStaticUse - Decorate 79 ArrayStride 8 Decorate 81(inb) NoStaticUse - Decorate 79 ArrayStride 8 Decorate 82(ind) NoStaticUse - Decorate 83 ArrayStride 16 Decorate 85(ivla) Location 3 Decorate 85(ivla) NoStaticUse - Decorate 83 ArrayStride 16 Decorate 86(ivlb) Location 4 Decorate 86(ivlb) NoStaticUse - Decorate 87 ArrayStride 16 Decorate 89(ovla) Location 3 Decorate 89(ovla) NoStaticUse - Decorate 87 ArrayStride 16 Decorate 90(ovlb) Location 4 Decorate 90(ovlb) NoStaticUse 2: TypeVoid diff --git a/Test/baseResults/spv.400.tese.out b/Test/baseResults/spv.400.tese.out index f908908b..fab82350 100755 --- a/Test/baseResults/spv.400.tese.out +++ b/Test/baseResults/spv.400.tese.out @@ -53,44 +53,30 @@ Linked tessellation evaluation stage: Name 94 "ivla" Name 95 "ivlb" Name 98 "ovla" - Decorate 17 ArrayStride 4 Decorate 18(gl_PerVertex) Block - Decorate 20 ArrayStride 16 - Decorate 17 ArrayStride 4 Decorate 39(gl_PatchVerticesIn) BuiltIn PatchVertices Decorate 42(gl_PrimitiveID) BuiltIn PrimitiveId Decorate 48(gl_TessCoord) BuiltIn TessCoord - Decorate 52 ArrayStride 4 Decorate 54(gl_TessLevelOuter) Patch Decorate 54(gl_TessLevelOuter) BuiltIn TessLevelOuter - Decorate 60 ArrayStride 4 Decorate 62(gl_TessLevelInner) Patch Decorate 62(gl_TessLevelInner) BuiltIn TessLevelInner - Decorate 66 ArrayStride 4 MemberDecorate 67(gl_PerVertex) 0 BuiltIn Position MemberDecorate 67(gl_PerVertex) 1 BuiltIn PointSize MemberDecorate 67(gl_PerVertex) 2 BuiltIn ClipDistance Decorate 67(gl_PerVertex) Block - Decorate 66 ArrayStride 4 Decorate 78(patchIn) Patch Decorate 78(patchIn) NoStaticUse - Decorate 80 ArrayStride 8 Decorate 82(inb) NoStaticUse - Decorate 80 ArrayStride 8 Decorate 83(ind) NoStaticUse Decorate 84(testblb) Block - Decorate 85 ArrayStride 16 Decorate 87(blb) NoStaticUse Decorate 88(testbld) Block - Decorate 89 ArrayStride 16 Decorate 91(bld) NoStaticUse - Decorate 92 ArrayStride 16 Decorate 94(ivla) Location 23 Decorate 94(ivla) NoStaticUse - Decorate 92 ArrayStride 16 Decorate 95(ivlb) Location 24 Decorate 95(ivlb) NoStaticUse - Decorate 96 ArrayStride 16 Decorate 98(ovla) Location 23 Decorate 98(ovla) NoStaticUse 2: TypeVoid diff --git a/Test/baseResults/spv.430.vert.out b/Test/baseResults/spv.430.vert.out index dd68b44b..082ae0a0 100755 --- a/Test/baseResults/spv.430.vert.out +++ b/Test/baseResults/spv.430.vert.out @@ -35,13 +35,9 @@ Linked vertex stage: Name 59 "sampb4" Name 61 "gl_VertexID" Name 62 "gl_InstanceID" - Decorate 10 ArrayStride 4 MemberDecorate 11(gl_PerVertex) 0 BuiltIn ClipDistance Decorate 11(gl_PerVertex) Block - Decorate 10 ArrayStride 4 - Decorate 22 ArrayStride 16 Decorate 35(badorder3) Flat - Decorate 10 ArrayStride 4 Decorate 43(uv4) Location 4 Decorate 43(uv4) NoStaticUse Decorate 29 NoStaticUse @@ -60,7 +56,6 @@ Linked vertex stage: Decorate 51 NoStaticUse Decorate 55(sampb1) Binding 4 Decorate 55(sampb1) NoStaticUse - Decorate 56 ArrayStride 4 Decorate 58(sampb2) Binding 5 Decorate 58(sampb2) NoStaticUse Decorate 59(sampb4) Binding 31 diff --git a/Test/baseResults/spv.atomic.comp.out b/Test/baseResults/spv.atomic.comp.out index 0685da2d..d8650e79 100755 --- a/Test/baseResults/spv.atomic.comp.out +++ b/Test/baseResults/spv.atomic.comp.out @@ -32,13 +32,9 @@ TBD functionality: Is atomic_uint an opaque handle in the uniform storage class, Name 73 "arrY" Name 74 "arrZ" Decorate 22(counter) Binding 0 - Decorate 28 ArrayStride 4 Decorate 30(countArr) Binding 0 - Decorate 70 ArrayStride 4 Decorate 72(arrX) NoStaticUse - Decorate 70 ArrayStride 4 Decorate 73(arrY) NoStaticUse - Decorate 70 ArrayStride 4 Decorate 74(arrZ) NoStaticUse 2: TypeVoid 3: TypeFunction 2 diff --git a/Test/baseResults/spv.dataOut.frag.out b/Test/baseResults/spv.dataOut.frag.out index 6b53802a..af9854cb 100755 --- a/Test/baseResults/spv.dataOut.frag.out +++ b/Test/baseResults/spv.dataOut.frag.out @@ -18,7 +18,6 @@ Linked fragment stage: Name 4 "main" Name 13 "gl_FragData" Name 17 "Color" - Decorate 11 ArrayStride 16 Decorate 13(gl_FragData) BuiltIn FragColor Decorate 17(Color) Smooth 2: TypeVoid diff --git a/Test/baseResults/spv.dataOutIndirect.frag.out b/Test/baseResults/spv.dataOutIndirect.frag.out index 10cbbc1e..b103e2db 100755 --- a/Test/baseResults/spv.dataOutIndirect.frag.out +++ b/Test/baseResults/spv.dataOutIndirect.frag.out @@ -19,7 +19,6 @@ Linked fragment stage: Name 13 "gl_FragData" Name 16 "i" Name 19 "Color" - Decorate 11 ArrayStride 16 Decorate 13(gl_FragData) BuiltIn FragColor Decorate 19(Color) Smooth 2: TypeVoid diff --git a/Test/baseResults/spv.dataOutIndirect.vert.out b/Test/baseResults/spv.dataOutIndirect.vert.out index 94d47095..bcf68be5 100755 --- a/Test/baseResults/spv.dataOutIndirect.vert.out +++ b/Test/baseResults/spv.dataOutIndirect.vert.out @@ -21,7 +21,6 @@ Linked vertex stage: Name 27 "color" Name 33 "gl_Position" Name 38 "gl_VertexID" - Decorate 22 ArrayStride 16 Decorate 24(colorOut) Smooth Decorate 33(gl_Position) BuiltIn Position Decorate 38(gl_VertexID) BuiltIn VertexId diff --git a/Test/baseResults/spv.length.frag.out b/Test/baseResults/spv.length.frag.out index a1518914..b56e804d 100755 --- a/Test/baseResults/spv.length.frag.out +++ b/Test/baseResults/spv.length.frag.out @@ -18,10 +18,8 @@ Linked fragment stage: Name 15 "v" Name 27 "gl_FragColor" Name 33 "u" - Decorate 13 ArrayStride 8 Decorate 15(v) Smooth Decorate 27(gl_FragColor) BuiltIn FragColor - Decorate 31 ArrayStride 16 Decorate 33(u) NoStaticUse 2: TypeVoid 3: TypeFunction 2 diff --git a/Test/baseResults/spv.localAggregates.frag.out b/Test/baseResults/spv.localAggregates.frag.out index 88b41916..37f124ea 100755 --- a/Test/baseResults/spv.localAggregates.frag.out +++ b/Test/baseResults/spv.localAggregates.frag.out @@ -46,16 +46,11 @@ Linked fragment stage: Name 131 "foo" Name 132 "foo2" Name 134 "uFloatArray" - Decorate 35 ArrayStride 4 Decorate 41(coord) Smooth - Decorate 46 ArrayStride 4 - Decorate 35 ArrayStride 4 - Decorate 35 ArrayStride 4 Decorate 95(color) Smooth Decorate 105(gl_FragColor) BuiltIn FragColor Decorate 131(foo) NoStaticUse Decorate 132(foo2) NoStaticUse - Decorate 35 ArrayStride 4 Decorate 134(uFloatArray) NoStaticUse 2: TypeVoid 3: TypeFunction 2 diff --git a/Test/baseResults/spv.prepost.frag.out b/Test/baseResults/spv.prepost.frag.out index 170225e9..5c85d5e5 100755 --- a/Test/baseResults/spv.prepost.frag.out +++ b/Test/baseResults/spv.prepost.frag.out @@ -24,14 +24,6 @@ Linked fragment stage: Name 67 "z" Name 74 "v" Name 93 "gl_FragColor" - Decorate 14 ArrayStride 4 - Decorate 14 ArrayStride 4 - Decorate 14 ArrayStride 4 - Decorate 14 ArrayStride 4 - Decorate 14 ArrayStride 4 - Decorate 14 ArrayStride 4 - Decorate 14 ArrayStride 4 - Decorate 14 ArrayStride 4 Decorate 93(gl_FragColor) BuiltIn FragColor 2: TypeVoid 3: TypeFunction 2 diff --git a/Test/baseResults/spv.simpleMat.vert.out b/Test/baseResults/spv.simpleMat.vert.out index 94bb7bda..4cae5456 100755 --- a/Test/baseResults/spv.simpleMat.vert.out +++ b/Test/baseResults/spv.simpleMat.vert.out @@ -23,7 +23,6 @@ Linked vertex stage: Name 43 "gl_InstanceID" Decorate 10(glPos) Smooth Decorate 20(f) Smooth - Decorate 33 ArrayStride 64 Decorate 42(gl_VertexID) BuiltIn VertexId Decorate 42(gl_VertexID) NoStaticUse Decorate 43(gl_InstanceID) BuiltIn InstanceId diff --git a/Test/baseResults/spv.structDeref.frag.out b/Test/baseResults/spv.structDeref.frag.out index 58193c14..570a2975 100755 --- a/Test/baseResults/spv.structDeref.frag.out +++ b/Test/baseResults/spv.structDeref.frag.out @@ -46,13 +46,7 @@ Linked fragment stage: Name 97 "gl_FragColor" Name 114 "sampler" Name 120 "foo2" - Decorate 14 ArrayStride 36 - Decorate 14 ArrayStride 36 - Decorate 39 ArrayStride 4 - Decorate 39 ArrayStride 4 - Decorate 45 ArrayStride 20 Decorate 62(coord) Smooth - Decorate 39 ArrayStride 4 Decorate 97(gl_FragColor) BuiltIn FragColor Decorate 120(foo2) NoStaticUse 2: TypeVoid diff --git a/Test/baseResults/spv.structure.frag.out b/Test/baseResults/spv.structure.frag.out index 483b1234..8edff737 100755 --- a/Test/baseResults/spv.structure.frag.out +++ b/Test/baseResults/spv.structure.frag.out @@ -30,16 +30,6 @@ Linked fragment stage: Name 52 "sampler" Name 56 "coord" Name 61 "foo" - Decorate 14 ArrayStride 4 - Decorate 16 ArrayStride 4 - Decorate 18 ArrayStride 16 - Decorate 21 ArrayStride 160 - Decorate 23 ArrayStride 1216 - Decorate 14 ArrayStride 4 - Decorate 21 ArrayStride 160 - Decorate 18 ArrayStride 16 - Decorate 21 ArrayStride 160 - Decorate 16 ArrayStride 4 Decorate 47(gl_FragColor) BuiltIn FragColor Decorate 56(coord) Smooth Decorate 61(foo) NoStaticUse diff --git a/Test/baseResults/spv.uniformArray.frag.out b/Test/baseResults/spv.uniformArray.frag.out index 0b5dc2ff..d2f7910a 100755 --- a/Test/baseResults/spv.uniformArray.frag.out +++ b/Test/baseResults/spv.uniformArray.frag.out @@ -20,8 +20,6 @@ Linked fragment stage: Name 36 "alpha" Name 47 "gl_FragColor" Name 52 "texSampler2D" - Decorate 13 ArrayStride 16 - Decorate 34 ArrayStride 4 Decorate 47(gl_FragColor) BuiltIn FragColor Decorate 52(texSampler2D) NoStaticUse 2: TypeVoid diff --git a/Test/baseResults/spv.variableArrayIndex.frag.out b/Test/baseResults/spv.variableArrayIndex.frag.out index 881eb201..5931d595 100755 --- a/Test/baseResults/spv.variableArrayIndex.frag.out +++ b/Test/baseResults/spv.variableArrayIndex.frag.out @@ -38,15 +38,8 @@ Linked fragment stage: Name 60 "sampler" Name 64 "coord" Name 70 "constructed" - Decorate 18 ArrayStride 24 - Decorate 18 ArrayStride 24 - Decorate 33 ArrayStride 24 - Decorate 18 ArrayStride 24 - Decorate 18 ArrayStride 24 Decorate 55(gl_FragColor) BuiltIn FragColor Decorate 64(coord) Smooth - Decorate 68 ArrayStride 8 - Decorate 68 ArrayStride 8 2: TypeVoid 3: TypeFunction 2 7: TypeInt 32 1 diff --git a/Test/baseResults/spv.varyingArray.frag.out b/Test/baseResults/spv.varyingArray.frag.out index e5f16f95..848470fc 100755 --- a/Test/baseResults/spv.varyingArray.frag.out +++ b/Test/baseResults/spv.varyingArray.frag.out @@ -26,12 +26,10 @@ Linked fragment stage: Name 40 "alpha" Name 45 "gl_FragColor" Name 49 "foo" - Decorate 18 ArrayStride 16 Decorate 20(gl_TexCoord) Smooth Decorate 35(color) Smooth Decorate 40(alpha) Smooth Decorate 45(gl_FragColor) BuiltIn FragColor - Decorate 47 ArrayStride 16 Decorate 49(foo) Smooth 2: TypeVoid 3: TypeFunction 2 diff --git a/Test/baseResults/spv.varyingArrayIndirect.frag.out b/Test/baseResults/spv.varyingArrayIndirect.frag.out index 09d93fc7..9dfe588f 100755 --- a/Test/baseResults/spv.varyingArrayIndirect.frag.out +++ b/Test/baseResults/spv.varyingArrayIndirect.frag.out @@ -28,9 +28,7 @@ Linked fragment stage: Name 46 "color" Name 51 "alpha" Name 56 "gl_FragColor" - Decorate 18 ArrayStride 16 Decorate 20(userIn) Smooth - Decorate 29 ArrayStride 16 Decorate 31(gl_TexCoord) Smooth Decorate 46(color) Smooth Decorate 51(alpha) Smooth diff --git a/glslang/Include/revision.h b/glslang/Include/revision.h index 05a23e6f..f9349893 100644 --- a/glslang/Include/revision.h +++ b/glslang/Include/revision.h @@ -2,5 +2,5 @@ // For the version, it uses the latest git tag followed by the number of commits. // For the date, it uses the current date (when then script is run). -#define GLSLANG_REVISION "3.0.745" +#define GLSLANG_REVISION "3.0.746" #define GLSLANG_DATE "09-Sep-2015"