From 716312771c5aa60af90067e2d4bab8c45a10e800 Mon Sep 17 00:00:00 2001 From: John Kessenich Date: Tue, 13 Oct 2015 10:39:19 -0600 Subject: [PATCH] SPV constants and constOffsets completion: isConstant() and disassembler to see results. Expand to full isConstant() implementation. Fix disassembler to generate texture look-up masks. --- SPIRV/SpvBuilder.cpp | 22 ++++++++++++++- SPIRV/SpvBuilder.h | 7 ++--- SPIRV/disassemble.cpp | 2 +- Test/baseResults/spv.newTexture.frag.out | 34 +++++++++++----------- Test/baseResults/spv.texture.frag.out | 36 ++++++++++++------------ Test/baseResults/spv.texture.vert.out | 26 ++++++++--------- glslang/Include/revision.h | 4 +-- 7 files changed, 74 insertions(+), 57 deletions(-) diff --git a/SPIRV/SpvBuilder.cpp b/SPIRV/SpvBuilder.cpp index 52c5a31a..12fd003c 100755 --- a/SPIRV/SpvBuilder.cpp +++ b/SPIRV/SpvBuilder.cpp @@ -500,6 +500,27 @@ Id Builder::findScalarConstant(Op typeClass, Id typeId, unsigned v1, unsigned v2 return 0; } +bool Builder::isConstantOpCode(Op opcode) const +{ + switch (opcode) { + case OpUndef: + case OpConstantTrue: + case OpConstantFalse: + case OpConstant: + case OpConstantComposite: + case OpConstantSampler: + case OpConstantNull: + case OpSpecConstantTrue: + case OpSpecConstantFalse: + case OpSpecConstant: + case OpSpecConstantComposite: + case OpSpecConstantOp: + return true; + default: + return false; + } +} + Id Builder::makeBoolConstant(bool b) { Id typeId = makeBoolType(); @@ -1194,7 +1215,6 @@ Id Builder::createTextureCall(Decoration precision, Id resultType, bool fetch, b mask = (ImageOperandsMask)(mask | ImageOperandsOffsetMask); texArgs[numArgs++] = parameters.offset; } - // TBD: if Offset is constant, use ImageOperandsConstOffsetMask if (parameters.offsets) { mask = (ImageOperandsMask)(mask | ImageOperandsConstOffsetsMask); texArgs[numArgs++] = parameters.offsets; diff --git a/SPIRV/SpvBuilder.h b/SPIRV/SpvBuilder.h index cadea66a..3bc8db2c 100755 --- a/SPIRV/SpvBuilder.h +++ b/SPIRV/SpvBuilder.h @@ -136,11 +136,8 @@ public: bool isSamplerType(Id typeId) const { return getTypeClass(typeId) == OpTypeSampler; } bool isSampledImageType(Id typeId) const { return getTypeClass(typeId) == OpTypeSampledImage; } - bool isConstant(Id resultId) const - { - Op opCode = getOpCode(resultId); - return opCode == OpConstantTrue || opCode == OpConstantFalse || opCode == OpConstant || opCode == OpConstantComposite || opCode == OpConstantNull; - } + bool isConstantOpCode(Op opcode) const; + bool isConstant(Id resultId) const { return isConstantOpCode(getOpCode(resultId)); } bool isConstantScalar(Id resultId) const { return getOpCode(resultId) == OpConstant; } unsigned int getConstantScalar(Id resultId) const { return module.getInstruction(resultId)->getImmediateOperand(0); } diff --git a/SPIRV/disassemble.cpp b/SPIRV/disassemble.cpp index eeadfc9a..da091202 100755 --- a/SPIRV/disassemble.cpp +++ b/SPIRV/disassemble.cpp @@ -398,7 +398,7 @@ void SpirvStream::disassembleInstruction(Id resultId, Id /*typeId*/, Op opCode, disassembleIds(numOperands); return; case OperandOptionalImage: - outputMask(operandClass, stream[word++]); + outputMask(OperandImageOperands, stream[word++]); --numOperands; disassembleIds(numOperands); return; diff --git a/Test/baseResults/spv.newTexture.frag.out b/Test/baseResults/spv.newTexture.frag.out index c057e8c9..60802a1d 100644 --- a/Test/baseResults/spv.newTexture.frag.out +++ b/Test/baseResults/spv.newTexture.frag.out @@ -184,7 +184,7 @@ Linked fragment stage: Store 9(v) 30 35: 32 Load 34(s2DArray) 39: 36(fvec3) Load 38(c3D) - 41: 7(fvec4) ImageSampleExplicitLod 35 39 40 + 41: 7(fvec4) ImageSampleExplicitLod 35 39 Lod 40 42: 7(fvec4) Load 9(v) 43: 7(fvec4) FAdd 42 41 Store 9(v) 43 @@ -192,7 +192,7 @@ Linked fragment stage: 49: 36(fvec3) Load 38(c3D) 56: 6(float) Load 55(c1D) 57: 6(float) CompositeExtract 49 2 - 58: 6(float) ImageSampleDrefImplicitLod 48 49 57 56 53 + 58: 6(float) ImageSampleDrefImplicitLod 48 49 57 Bias ConstOffset 56 53 59: 7(fvec4) Load 9(v) 60: 6(float) CompositeExtract 59 1 61: 6(float) FAdd 60 58 @@ -202,19 +202,19 @@ Linked fragment stage: 64: 21 Load 23(s3D) 68: 65(ivec3) Load 67(ic3D) 71: 50(int) Load 70(ic1D) - 72: 7(fvec4) ImageFetch 64 68 71 + 72: 7(fvec4) ImageFetch 64 68 Lod 71 73: 7(fvec4) Load 9(v) 74: 7(fvec4) FAdd 73 72 Store 9(v) 74 75: 11 Load 13(s2D) 78: 51(ivec2) Load 77(ic2D) - 80: 7(fvec4) ImageFetch 75 78 79 53 + 80: 7(fvec4) ImageFetch 75 78 Lod ConstOffset 79 53 81: 7(fvec4) Load 9(v) 82: 7(fvec4) FAdd 81 80 Store 9(v) 82 87: 84 Load 86(sr) 88: 51(ivec2) Load 77(ic2D) - 90: 7(fvec4) ImageFetch 87 88 89 + 90: 7(fvec4) ImageFetch 87 88 ConstOffset 89 91: 7(fvec4) Load 9(v) 92: 7(fvec4) FAdd 91 90 Store 9(v) 92 @@ -222,7 +222,7 @@ Linked fragment stage: 94: 36(fvec3) Load 38(c3D) 95: 6(float) Load 55(c1D) 96: 6(float) CompositeExtract 94 2 - 97: 6(float) ImageSampleDrefExplicitLod 93 94 96 95 53 + 97: 6(float) ImageSampleDrefExplicitLod 93 94 96 Lod ConstOffset 95 53 98: 7(fvec4) Load 9(v) 99: 6(float) CompositeExtract 98 1 100: 6(float) FAdd 99 97 @@ -232,7 +232,7 @@ Linked fragment stage: 103: 11 Load 13(s2D) 104: 36(fvec3) Load 38(c3D) 105: 6(float) Load 55(c1D) - 106: 7(fvec4) ImageSampleProjExplicitLod 103 104 105 53 + 106: 7(fvec4) ImageSampleProjExplicitLod 103 104 Lod ConstOffset 105 53 107: 7(fvec4) Load 9(v) 108: 7(fvec4) FAdd 107 106 Store 9(v) 108 @@ -240,7 +240,7 @@ Linked fragment stage: 114: 36(fvec3) Load 38(c3D) 115: 36(fvec3) Load 38(c3D) 116: 36(fvec3) Load 38(c3D) - 117: 7(fvec4) ImageSampleExplicitLod 113 114 115 116 + 117: 7(fvec4) ImageSampleExplicitLod 113 114 Grad 115 116 118: 7(fvec4) Load 9(v) 119: 7(fvec4) FAdd 118 117 Store 9(v) 119 @@ -249,7 +249,7 @@ Linked fragment stage: 126: 15(fvec2) Load 17(c2D) 127: 15(fvec2) Load 17(c2D) 128: 6(float) CompositeExtract 125 3 - 129: 6(float) ImageSampleDrefExplicitLod 124 125 128 126 127 53 + 129: 6(float) ImageSampleDrefExplicitLod 124 125 128 Grad ConstOffset 126 127 53 130: 7(fvec4) Load 9(v) 131: 6(float) CompositeExtract 130 0 132: 6(float) FAdd 131 129 @@ -260,7 +260,7 @@ Linked fragment stage: 136: 7(fvec4) Load 26(c4D) 137: 36(fvec3) Load 38(c3D) 138: 36(fvec3) Load 38(c3D) - 139: 7(fvec4) ImageSampleProjExplicitLod 135 136 137 138 + 139: 7(fvec4) ImageSampleProjExplicitLod 135 136 Grad 137 138 140: 7(fvec4) Load 9(v) 141: 7(fvec4) FAdd 140 139 Store 9(v) 141 @@ -268,7 +268,7 @@ Linked fragment stage: 143: 36(fvec3) Load 38(c3D) 144: 15(fvec2) Load 17(c2D) 145: 15(fvec2) Load 17(c2D) - 146: 7(fvec4) ImageSampleProjExplicitLod 142 143 144 145 53 + 146: 7(fvec4) ImageSampleProjExplicitLod 142 143 Grad ConstOffset 144 145 53 147: 7(fvec4) Load 9(v) 148: 7(fvec4) FAdd 147 146 Store 9(v) 148 @@ -283,7 +283,7 @@ Linked fragment stage: Store 9(v) 162 163: 153 Load 155(is2D) 164: 7(fvec4) Load 26(c4D) - 165: 149(ivec4) ImageSampleProjImplicitLod 163 164 53 + 165: 149(ivec4) ImageSampleProjImplicitLod 163 164 ConstOffset 53 Store 151(iv) 165 166: 149(ivec4) Load 151(iv) 167: 7(fvec4) ConvertSToF 166 @@ -293,7 +293,7 @@ Linked fragment stage: 170: 153 Load 155(is2D) 171: 36(fvec3) Load 38(c3D) 172: 6(float) Load 55(c1D) - 173: 149(ivec4) ImageSampleProjExplicitLod 170 171 172 + 173: 149(ivec4) ImageSampleProjExplicitLod 170 171 Lod 172 Store 151(iv) 173 174: 149(ivec4) Load 151(iv) 175: 7(fvec4) ConvertSToF 174 @@ -304,7 +304,7 @@ Linked fragment stage: 179: 36(fvec3) Load 38(c3D) 180: 15(fvec2) Load 17(c2D) 181: 15(fvec2) Load 17(c2D) - 182: 149(ivec4) ImageSampleProjExplicitLod 178 179 180 181 + 182: 149(ivec4) ImageSampleProjExplicitLod 178 179 Grad 180 181 Store 151(iv) 182 183: 149(ivec4) Load 151(iv) 184: 7(fvec4) ConvertSToF 183 @@ -313,7 +313,7 @@ Linked fragment stage: Store 9(v) 186 191: 188 Load 190(is3D) 192: 36(fvec3) Load 38(c3D) - 194: 149(ivec4) ImageSampleImplicitLod 191 192 193 + 194: 149(ivec4) ImageSampleImplicitLod 191 192 Bias 193 Store 151(iv) 194 195: 149(ivec4) Load 151(iv) 196: 7(fvec4) ConvertSToF 195 @@ -323,7 +323,7 @@ Linked fragment stage: 203: 200 Load 202(isCube) 204: 36(fvec3) Load 38(c3D) 205: 6(float) Load 55(c1D) - 206: 149(ivec4) ImageSampleExplicitLod 203 204 205 + 206: 149(ivec4) ImageSampleExplicitLod 203 204 Lod 205 Store 151(iv) 206 207: 149(ivec4) Load 151(iv) 208: 7(fvec4) ConvertSToF 207 @@ -333,7 +333,7 @@ Linked fragment stage: 215: 212 Load 214(is2DArray) 216: 65(ivec3) Load 67(ic3D) 217: 50(int) Load 70(ic1D) - 218: 149(ivec4) ImageFetch 215 216 217 + 218: 149(ivec4) ImageFetch 215 216 Lod 217 Store 151(iv) 218 219: 149(ivec4) Load 151(iv) 220: 7(fvec4) ConvertSToF 219 diff --git a/Test/baseResults/spv.texture.frag.out b/Test/baseResults/spv.texture.frag.out index bba3fb13..b6a139e1 100644 --- a/Test/baseResults/spv.texture.frag.out +++ b/Test/baseResults/spv.texture.frag.out @@ -142,7 +142,7 @@ Linked fragment stage: 38: 30 Load 32(texSampler1D) 39: 6(float) Load 15(coords1D) 40: 6(float) Load 10(bias) - 41: 22(fvec4) ImageSampleImplicitLod 38 39 40 + 41: 22(fvec4) ImageSampleImplicitLod 38 39 Bias 40 42: 22(fvec4) Load 26(color) 43: 22(fvec4) FAdd 42 41 Store 26(color) 43 @@ -161,14 +161,14 @@ Linked fragment stage: 57: 30 Load 32(texSampler1D) 58: 45(fvec2) Load 47(coords2D) 59: 6(float) Load 10(bias) - 60: 22(fvec4) ImageSampleProjImplicitLod 57 58 59 + 60: 22(fvec4) ImageSampleProjImplicitLod 57 58 Bias 59 61: 22(fvec4) Load 26(color) 62: 22(fvec4) FAdd 61 60 Store 26(color) 62 63: 30 Load 32(texSampler1D) 64: 22(fvec4) Load 24(coords4D) 65: 6(float) Load 10(bias) - 66: 22(fvec4) ImageSampleProjImplicitLod 63 64 65 + 66: 22(fvec4) ImageSampleProjImplicitLod 63 64 Bias 65 67: 22(fvec4) Load 26(color) 68: 22(fvec4) FAdd 67 66 Store 26(color) 68 @@ -181,7 +181,7 @@ Linked fragment stage: 78: 70 Load 72(texSampler2D) 79: 45(fvec2) Load 47(coords2D) 80: 6(float) Load 10(bias) - 81: 22(fvec4) ImageSampleImplicitLod 78 79 80 + 81: 22(fvec4) ImageSampleImplicitLod 78 79 Bias 80 82: 22(fvec4) Load 26(color) 83: 22(fvec4) FAdd 82 81 Store 26(color) 83 @@ -194,7 +194,7 @@ Linked fragment stage: 89: 70 Load 72(texSampler2D) 90: 22(fvec4) Load 24(coords4D) 91: 6(float) Load 10(bias) - 92: 22(fvec4) ImageSampleProjImplicitLod 89 90 91 + 92: 22(fvec4) ImageSampleProjImplicitLod 89 90 Bias 91 93: 22(fvec4) Load 26(color) 94: 22(fvec4) FAdd 93 92 Store 26(color) 94 @@ -207,7 +207,7 @@ Linked fragment stage: 104: 96 Load 98(texSampler3D) 105: 16(fvec3) Load 18(coords3D) 106: 6(float) Load 10(bias) - 107: 22(fvec4) ImageSampleImplicitLod 104 105 106 + 107: 22(fvec4) ImageSampleImplicitLod 104 105 Bias 106 108: 22(fvec4) Load 26(color) 109: 22(fvec4) FAdd 108 107 Store 26(color) 109 @@ -220,7 +220,7 @@ Linked fragment stage: 115: 96 Load 98(texSampler3D) 116: 22(fvec4) Load 24(coords4D) 117: 6(float) Load 10(bias) - 118: 22(fvec4) ImageSampleProjImplicitLod 115 116 117 + 118: 22(fvec4) ImageSampleProjImplicitLod 115 116 Bias 117 119: 22(fvec4) Load 26(color) 120: 22(fvec4) FAdd 119 118 Store 26(color) 120 @@ -233,7 +233,7 @@ Linked fragment stage: 130: 122 Load 124(texSamplerCube) 131: 16(fvec3) Load 18(coords3D) 132: 6(float) Load 10(bias) - 133: 22(fvec4) ImageSampleImplicitLod 130 131 132 + 133: 22(fvec4) ImageSampleImplicitLod 130 131 Bias 132 134: 22(fvec4) Load 26(color) 135: 22(fvec4) FAdd 134 133 Store 26(color) 135 @@ -249,7 +249,7 @@ Linked fragment stage: 148: 16(fvec3) Load 18(coords3D) 149: 6(float) Load 10(bias) 150: 6(float) CompositeExtract 148 2 - 151: 6(float) ImageSampleDrefImplicitLod 147 148 150 149 + 151: 6(float) ImageSampleDrefImplicitLod 147 148 150 Bias 149 152: 22(fvec4) CompositeConstruct 151 151 151 151 153: 22(fvec4) Load 26(color) 154: 22(fvec4) FAdd 153 152 @@ -266,7 +266,7 @@ Linked fragment stage: 167: 16(fvec3) Load 18(coords3D) 168: 6(float) Load 10(bias) 169: 6(float) CompositeExtract 167 2 - 170: 6(float) ImageSampleDrefImplicitLod 166 167 169 168 + 170: 6(float) ImageSampleDrefImplicitLod 166 167 169 Bias 168 171: 22(fvec4) CompositeConstruct 170 170 170 170 172: 22(fvec4) Load 26(color) 173: 22(fvec4) FAdd 172 171 @@ -283,7 +283,7 @@ Linked fragment stage: 182: 22(fvec4) Load 24(coords4D) 183: 6(float) Load 10(bias) 184: 6(float) CompositeExtract 182 3 - 185: 6(float) ImageSampleProjDrefImplicitLod 181 182 184 183 + 185: 6(float) ImageSampleProjDrefImplicitLod 181 182 184 Bias 183 186: 22(fvec4) CompositeConstruct 185 185 185 185 187: 22(fvec4) Load 26(color) 188: 22(fvec4) FAdd 187 186 @@ -300,7 +300,7 @@ Linked fragment stage: 197: 22(fvec4) Load 24(coords4D) 198: 6(float) Load 10(bias) 199: 6(float) CompositeExtract 197 3 - 200: 6(float) ImageSampleProjDrefImplicitLod 196 197 199 198 + 200: 6(float) ImageSampleProjDrefImplicitLod 196 197 199 Bias 198 201: 22(fvec4) CompositeConstruct 200 200 200 200 202: 22(fvec4) Load 26(color) 203: 22(fvec4) FAdd 202 201 @@ -310,7 +310,7 @@ Linked fragment stage: 214: 70 Load 72(texSampler2D) 215: 205(ivec2) Load 207(iCoords2D) 216: 204(int) Load 212(iLod) - 217: 22(fvec4) ImageFetch 214 215 216 + 217: 22(fvec4) ImageFetch 214 215 Lod 216 218: 22(fvec4) Load 26(color) 219: 22(fvec4) FAdd 218 217 Store 26(color) 219 @@ -324,7 +324,7 @@ Linked fragment stage: 228: 45(fvec2) Load 47(coords2D) 229: 45(fvec2) Load 221(gradX) 230: 45(fvec2) Load 224(gradY) - 231: 22(fvec4) ImageSampleExplicitLod 227 228 229 230 + 231: 22(fvec4) ImageSampleExplicitLod 227 228 Grad 229 230 232: 22(fvec4) Load 26(color) 233: 22(fvec4) FAdd 232 231 Store 26(color) 233 @@ -336,7 +336,7 @@ Linked fragment stage: 239: 16(fvec3) CompositeConstruct 237 238 236 240: 45(fvec2) Load 221(gradX) 241: 45(fvec2) Load 224(gradY) - 242: 22(fvec4) ImageSampleProjExplicitLod 234 239 240 241 + 242: 22(fvec4) ImageSampleProjExplicitLod 234 239 Grad 240 241 243: 22(fvec4) Load 26(color) 244: 22(fvec4) FAdd 243 242 Store 26(color) 244 @@ -344,7 +344,7 @@ Linked fragment stage: 246: 45(fvec2) Load 47(coords2D) 247: 45(fvec2) Load 221(gradX) 248: 45(fvec2) Load 224(gradY) - 252: 22(fvec4) ImageSampleExplicitLod 245 246 247 248 251 + 252: 22(fvec4) ImageSampleExplicitLod 245 246 Grad ConstOffset 247 248 251 253: 22(fvec4) Load 26(color) 254: 22(fvec4) FAdd 253 252 Store 26(color) 254 @@ -352,7 +352,7 @@ Linked fragment stage: 256: 16(fvec3) Load 18(coords3D) 257: 45(fvec2) Load 221(gradX) 258: 45(fvec2) Load 224(gradY) - 259: 22(fvec4) ImageSampleProjExplicitLod 255 256 257 258 251 + 259: 22(fvec4) ImageSampleProjExplicitLod 255 256 Grad ConstOffset 257 258 251 260: 22(fvec4) Load 26(color) 261: 22(fvec4) FAdd 260 259 Store 26(color) 261 @@ -365,7 +365,7 @@ Linked fragment stage: 268: 45(fvec2) Load 221(gradX) 269: 45(fvec2) Load 224(gradY) 270: 6(float) CompositeExtract 267 2 - 271: 6(float) ImageSampleDrefExplicitLod 262 267 270 268 269 + 271: 6(float) ImageSampleDrefExplicitLod 262 267 270 Grad 268 269 272: 22(fvec4) Load 26(color) 273: 22(fvec4) CompositeConstruct 271 271 271 271 274: 22(fvec4) FAdd 272 273 diff --git a/Test/baseResults/spv.texture.vert.out b/Test/baseResults/spv.texture.vert.out index ebaec802..957a1ebe 100755 --- a/Test/baseResults/spv.texture.vert.out +++ b/Test/baseResults/spv.texture.vert.out @@ -94,63 +94,63 @@ Linked vertex stage: 30: 27 Load 29(texSampler1D) 31: 6(float) Load 10(coords1D) 32: 6(float) Load 8(lod) - 33: 18(fvec4) ImageSampleExplicitLod 30 31 32 + 33: 18(fvec4) ImageSampleExplicitLod 30 31 Lod 32 34: 18(fvec4) Load 23(color) 35: 18(fvec4) FAdd 34 33 Store 23(color) 35 36: 27 Load 29(texSampler1D) 40: 37(fvec2) Load 39(coords2D) 41: 6(float) Load 8(lod) - 42: 18(fvec4) ImageSampleProjExplicitLod 36 40 41 + 42: 18(fvec4) ImageSampleProjExplicitLod 36 40 Lod 41 43: 18(fvec4) Load 23(color) 44: 18(fvec4) FAdd 43 42 Store 23(color) 44 45: 27 Load 29(texSampler1D) 46: 18(fvec4) Load 20(coords4D) 47: 6(float) Load 8(lod) - 48: 18(fvec4) ImageSampleProjExplicitLod 45 46 47 + 48: 18(fvec4) ImageSampleProjExplicitLod 45 46 Lod 47 49: 18(fvec4) Load 23(color) 50: 18(fvec4) FAdd 49 48 Store 23(color) 50 55: 52 Load 54(texSampler2D) 56: 37(fvec2) Load 39(coords2D) 57: 6(float) Load 8(lod) - 58: 18(fvec4) ImageSampleExplicitLod 55 56 57 + 58: 18(fvec4) ImageSampleExplicitLod 55 56 Lod 57 59: 18(fvec4) Load 23(color) 60: 18(fvec4) FAdd 59 58 Store 23(color) 60 61: 52 Load 54(texSampler2D) 62: 12(fvec3) Load 14(coords3D) 63: 6(float) Load 8(lod) - 64: 18(fvec4) ImageSampleProjExplicitLod 61 62 63 + 64: 18(fvec4) ImageSampleProjExplicitLod 61 62 Lod 63 65: 18(fvec4) Load 23(color) 66: 18(fvec4) FAdd 65 64 Store 23(color) 66 67: 52 Load 54(texSampler2D) 68: 18(fvec4) Load 20(coords4D) 69: 6(float) Load 8(lod) - 70: 18(fvec4) ImageSampleProjExplicitLod 67 68 69 + 70: 18(fvec4) ImageSampleProjExplicitLod 67 68 Lod 69 71: 18(fvec4) Load 23(color) 72: 18(fvec4) FAdd 71 70 Store 23(color) 72 77: 74 Load 76(texSampler3D) 78: 12(fvec3) Load 14(coords3D) 79: 6(float) Load 8(lod) - 80: 18(fvec4) ImageSampleExplicitLod 77 78 79 + 80: 18(fvec4) ImageSampleExplicitLod 77 78 Lod 79 81: 18(fvec4) Load 23(color) 82: 18(fvec4) FAdd 81 80 Store 23(color) 82 83: 74 Load 76(texSampler3D) 84: 18(fvec4) Load 20(coords4D) 85: 6(float) Load 8(lod) - 86: 18(fvec4) ImageSampleProjExplicitLod 83 84 85 + 86: 18(fvec4) ImageSampleProjExplicitLod 83 84 Lod 85 87: 18(fvec4) Load 23(color) 88: 18(fvec4) FAdd 87 86 Store 23(color) 88 93: 90 Load 92(texSamplerCube) 94: 12(fvec3) Load 14(coords3D) 95: 6(float) Load 8(lod) - 96: 18(fvec4) ImageSampleExplicitLod 93 94 95 + 96: 18(fvec4) ImageSampleExplicitLod 93 94 Lod 95 97: 18(fvec4) Load 23(color) 98: 18(fvec4) FAdd 97 96 Store 23(color) 98 @@ -158,7 +158,7 @@ Linked vertex stage: 104: 12(fvec3) Load 14(coords3D) 105: 6(float) Load 8(lod) 106: 6(float) CompositeExtract 104 2 - 107: 6(float) ImageSampleDrefExplicitLod 103 104 106 105 + 107: 6(float) ImageSampleDrefExplicitLod 103 104 106 Lod 105 108: 18(fvec4) CompositeConstruct 107 107 107 107 109: 18(fvec4) Load 23(color) 110: 18(fvec4) FAdd 109 108 @@ -167,7 +167,7 @@ Linked vertex stage: 116: 12(fvec3) Load 14(coords3D) 117: 6(float) Load 8(lod) 118: 6(float) CompositeExtract 116 2 - 119: 6(float) ImageSampleDrefExplicitLod 115 116 118 117 + 119: 6(float) ImageSampleDrefExplicitLod 115 116 118 Lod 117 120: 18(fvec4) CompositeConstruct 119 119 119 119 121: 18(fvec4) Load 23(color) 122: 18(fvec4) FAdd 121 120 @@ -176,7 +176,7 @@ Linked vertex stage: 124: 18(fvec4) Load 20(coords4D) 125: 6(float) Load 8(lod) 126: 6(float) CompositeExtract 124 3 - 127: 6(float) ImageSampleProjDrefExplicitLod 123 124 126 125 + 127: 6(float) ImageSampleProjDrefExplicitLod 123 124 126 Lod 125 128: 18(fvec4) CompositeConstruct 127 127 127 127 129: 18(fvec4) Load 23(color) 130: 18(fvec4) FAdd 129 128 @@ -185,7 +185,7 @@ Linked vertex stage: 132: 18(fvec4) Load 20(coords4D) 133: 6(float) Load 8(lod) 134: 6(float) CompositeExtract 132 3 - 135: 6(float) ImageSampleProjDrefExplicitLod 131 132 134 133 + 135: 6(float) ImageSampleProjDrefExplicitLod 131 132 134 Lod 133 136: 18(fvec4) CompositeConstruct 135 135 135 135 137: 18(fvec4) Load 23(color) 138: 18(fvec4) FAdd 137 136 diff --git a/glslang/Include/revision.h b/glslang/Include/revision.h index 798e1c79..1b7bb52f 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.780" -#define GLSLANG_DATE "06-Oct-2015" +#define GLSLANG_REVISION "3.0.785" +#define GLSLANG_DATE "13-Oct-2015"