SPV constants and constOffsets completion: isConstant() and disassembler to see results.
authorJohn Kessenich <cepheus@frii.com>
Tue, 13 Oct 2015 16:39:19 +0000 (10:39 -0600)
committerJohn Kessenich <cepheus@frii.com>
Tue, 13 Oct 2015 16:45:22 +0000 (10:45 -0600)
Expand to full isConstant() implementation.
Fix disassembler to generate texture look-up masks.

SPIRV/SpvBuilder.cpp
SPIRV/SpvBuilder.h
SPIRV/disassemble.cpp
Test/baseResults/spv.newTexture.frag.out
Test/baseResults/spv.texture.frag.out
Test/baseResults/spv.texture.vert.out
glslang/Include/revision.h

index 52c5a31..12fd003 100755 (executable)
@@ -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;
index cadea66..3bc8db2 100755 (executable)
@@ -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); }
 
index eeadfc9..da09120 100755 (executable)
@@ -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;
index c057e8c..60802a1 100644 (file)
@@ -184,7 +184,7 @@ Linked fragment stage:
                               Store 9(v) 30\r
               35:          32 Load 34(s2DArray)\r
               39:   36(fvec3) Load 38(c3D)\r
-              41:    7(fvec4) ImageSampleExplicitLod 35 39 40\r
+              41:    7(fvec4) ImageSampleExplicitLod 35 39 Lod 40\r
               42:    7(fvec4) Load 9(v)\r
               43:    7(fvec4) FAdd 42 41\r
                               Store 9(v) 43\r
@@ -192,7 +192,7 @@ Linked fragment stage:
               49:   36(fvec3) Load 38(c3D)\r
               56:    6(float) Load 55(c1D)\r
               57:    6(float) CompositeExtract 49 2\r
-              58:    6(float) ImageSampleDrefImplicitLod 48 49 57 56 53\r
+              58:    6(float) ImageSampleDrefImplicitLod 48 49 57 Bias ConstOffset 56 53\r
               59:    7(fvec4) Load 9(v)\r
               60:    6(float) CompositeExtract 59 1\r
               61:    6(float) FAdd 60 58\r
@@ -202,19 +202,19 @@ Linked fragment stage:
               64:          21 Load 23(s3D)\r
               68:   65(ivec3) Load 67(ic3D)\r
               71:     50(int) Load 70(ic1D)\r
-              72:    7(fvec4) ImageFetch 64 68 71\r
+              72:    7(fvec4) ImageFetch 64 68 Lod 71\r
               73:    7(fvec4) Load 9(v)\r
               74:    7(fvec4) FAdd 73 72\r
                               Store 9(v) 74\r
               75:          11 Load 13(s2D)\r
               78:   51(ivec2) Load 77(ic2D)\r
-              80:    7(fvec4) ImageFetch 75 78 79 53\r
+              80:    7(fvec4) ImageFetch 75 78 Lod ConstOffset 79 53\r
               81:    7(fvec4) Load 9(v)\r
               82:    7(fvec4) FAdd 81 80\r
                               Store 9(v) 82\r
               87:          84 Load 86(sr)\r
               88:   51(ivec2) Load 77(ic2D)\r
-              90:    7(fvec4) ImageFetch 87 88 89\r
+              90:    7(fvec4) ImageFetch 87 88 ConstOffset 89\r
               91:    7(fvec4) Load 9(v)\r
               92:    7(fvec4) FAdd 91 90\r
                               Store 9(v) 92\r
@@ -222,7 +222,7 @@ Linked fragment stage:
               94:   36(fvec3) Load 38(c3D)\r
               95:    6(float) Load 55(c1D)\r
               96:    6(float) CompositeExtract 94 2\r
-              97:    6(float) ImageSampleDrefExplicitLod 93 94 96 95 53\r
+              97:    6(float) ImageSampleDrefExplicitLod 93 94 96 Lod ConstOffset 95 53\r
               98:    7(fvec4) Load 9(v)\r
               99:    6(float) CompositeExtract 98 1\r
              100:    6(float) FAdd 99 97\r
@@ -232,7 +232,7 @@ Linked fragment stage:
              103:          11 Load 13(s2D)\r
              104:   36(fvec3) Load 38(c3D)\r
              105:    6(float) Load 55(c1D)\r
-             106:    7(fvec4) ImageSampleProjExplicitLod 103 104 105 53\r
+             106:    7(fvec4) ImageSampleProjExplicitLod 103 104 Lod ConstOffset 105 53\r
              107:    7(fvec4) Load 9(v)\r
              108:    7(fvec4) FAdd 107 106\r
                               Store 9(v) 108\r
@@ -240,7 +240,7 @@ Linked fragment stage:
              114:   36(fvec3) Load 38(c3D)\r
              115:   36(fvec3) Load 38(c3D)\r
              116:   36(fvec3) Load 38(c3D)\r
-             117:    7(fvec4) ImageSampleExplicitLod 113 114 115 116\r
+             117:    7(fvec4) ImageSampleExplicitLod 113 114 Grad 115 116\r
              118:    7(fvec4) Load 9(v)\r
              119:    7(fvec4) FAdd 118 117\r
                               Store 9(v) 119\r
@@ -249,7 +249,7 @@ Linked fragment stage:
              126:   15(fvec2) Load 17(c2D)\r
              127:   15(fvec2) Load 17(c2D)\r
              128:    6(float) CompositeExtract 125 3\r
-             129:    6(float) ImageSampleDrefExplicitLod 124 125 128 126 127 53\r
+             129:    6(float) ImageSampleDrefExplicitLod 124 125 128 Grad ConstOffset 126 127 53\r
              130:    7(fvec4) Load 9(v)\r
              131:    6(float) CompositeExtract 130 0\r
              132:    6(float) FAdd 131 129\r
@@ -260,7 +260,7 @@ Linked fragment stage:
              136:    7(fvec4) Load 26(c4D)\r
              137:   36(fvec3) Load 38(c3D)\r
              138:   36(fvec3) Load 38(c3D)\r
-             139:    7(fvec4) ImageSampleProjExplicitLod 135 136 137 138\r
+             139:    7(fvec4) ImageSampleProjExplicitLod 135 136 Grad 137 138\r
              140:    7(fvec4) Load 9(v)\r
              141:    7(fvec4) FAdd 140 139\r
                               Store 9(v) 141\r
@@ -268,7 +268,7 @@ Linked fragment stage:
              143:   36(fvec3) Load 38(c3D)\r
              144:   15(fvec2) Load 17(c2D)\r
              145:   15(fvec2) Load 17(c2D)\r
-             146:    7(fvec4) ImageSampleProjExplicitLod 142 143 144 145 53\r
+             146:    7(fvec4) ImageSampleProjExplicitLod 142 143 Grad ConstOffset 144 145 53\r
              147:    7(fvec4) Load 9(v)\r
              148:    7(fvec4) FAdd 147 146\r
                               Store 9(v) 148\r
@@ -283,7 +283,7 @@ Linked fragment stage:
                               Store 9(v) 162\r
              163:         153 Load 155(is2D)\r
              164:    7(fvec4) Load 26(c4D)\r
-             165:  149(ivec4) ImageSampleProjImplicitLod 163 164 53\r
+             165:  149(ivec4) ImageSampleProjImplicitLod 163 164 ConstOffset 53\r
                               Store 151(iv) 165\r
              166:  149(ivec4) Load 151(iv)\r
              167:    7(fvec4) ConvertSToF 166\r
@@ -293,7 +293,7 @@ Linked fragment stage:
              170:         153 Load 155(is2D)\r
              171:   36(fvec3) Load 38(c3D)\r
              172:    6(float) Load 55(c1D)\r
-             173:  149(ivec4) ImageSampleProjExplicitLod 170 171 172\r
+             173:  149(ivec4) ImageSampleProjExplicitLod 170 171 Lod 172\r
                               Store 151(iv) 173\r
              174:  149(ivec4) Load 151(iv)\r
              175:    7(fvec4) ConvertSToF 174\r
@@ -304,7 +304,7 @@ Linked fragment stage:
              179:   36(fvec3) Load 38(c3D)\r
              180:   15(fvec2) Load 17(c2D)\r
              181:   15(fvec2) Load 17(c2D)\r
-             182:  149(ivec4) ImageSampleProjExplicitLod 178 179 180 181\r
+             182:  149(ivec4) ImageSampleProjExplicitLod 178 179 Grad 180 181\r
                               Store 151(iv) 182\r
              183:  149(ivec4) Load 151(iv)\r
              184:    7(fvec4) ConvertSToF 183\r
@@ -313,7 +313,7 @@ Linked fragment stage:
                               Store 9(v) 186\r
              191:         188 Load 190(is3D)\r
              192:   36(fvec3) Load 38(c3D)\r
-             194:  149(ivec4) ImageSampleImplicitLod 191 192 193\r
+             194:  149(ivec4) ImageSampleImplicitLod 191 192 Bias 193\r
                               Store 151(iv) 194\r
              195:  149(ivec4) Load 151(iv)\r
              196:    7(fvec4) ConvertSToF 195\r
@@ -323,7 +323,7 @@ Linked fragment stage:
              203:         200 Load 202(isCube)\r
              204:   36(fvec3) Load 38(c3D)\r
              205:    6(float) Load 55(c1D)\r
-             206:  149(ivec4) ImageSampleExplicitLod 203 204 205\r
+             206:  149(ivec4) ImageSampleExplicitLod 203 204 Lod 205\r
                               Store 151(iv) 206\r
              207:  149(ivec4) Load 151(iv)\r
              208:    7(fvec4) ConvertSToF 207\r
@@ -333,7 +333,7 @@ Linked fragment stage:
              215:         212 Load 214(is2DArray)\r
              216:   65(ivec3) Load 67(ic3D)\r
              217:     50(int) Load 70(ic1D)\r
-             218:  149(ivec4) ImageFetch 215 216 217\r
+             218:  149(ivec4) ImageFetch 215 216 Lod 217\r
                               Store 151(iv) 218\r
              219:  149(ivec4) Load 151(iv)\r
              220:    7(fvec4) ConvertSToF 219\r
index bba3fb1..b6a139e 100644 (file)
@@ -142,7 +142,7 @@ Linked fragment stage:
               38:          30 Load 32(texSampler1D)\r
               39:    6(float) Load 15(coords1D)\r
               40:    6(float) Load 10(bias)\r
-              41:   22(fvec4) ImageSampleImplicitLod 38 39 40\r
+              41:   22(fvec4) ImageSampleImplicitLod 38 39 Bias 40\r
               42:   22(fvec4) Load 26(color)\r
               43:   22(fvec4) FAdd 42 41\r
                               Store 26(color) 43\r
@@ -161,14 +161,14 @@ Linked fragment stage:
               57:          30 Load 32(texSampler1D)\r
               58:   45(fvec2) Load 47(coords2D)\r
               59:    6(float) Load 10(bias)\r
-              60:   22(fvec4) ImageSampleProjImplicitLod 57 58 59\r
+              60:   22(fvec4) ImageSampleProjImplicitLod 57 58 Bias 59\r
               61:   22(fvec4) Load 26(color)\r
               62:   22(fvec4) FAdd 61 60\r
                               Store 26(color) 62\r
               63:          30 Load 32(texSampler1D)\r
               64:   22(fvec4) Load 24(coords4D)\r
               65:    6(float) Load 10(bias)\r
-              66:   22(fvec4) ImageSampleProjImplicitLod 63 64 65\r
+              66:   22(fvec4) ImageSampleProjImplicitLod 63 64 Bias 65\r
               67:   22(fvec4) Load 26(color)\r
               68:   22(fvec4) FAdd 67 66\r
                               Store 26(color) 68\r
@@ -181,7 +181,7 @@ Linked fragment stage:
               78:          70 Load 72(texSampler2D)\r
               79:   45(fvec2) Load 47(coords2D)\r
               80:    6(float) Load 10(bias)\r
-              81:   22(fvec4) ImageSampleImplicitLod 78 79 80\r
+              81:   22(fvec4) ImageSampleImplicitLod 78 79 Bias 80\r
               82:   22(fvec4) Load 26(color)\r
               83:   22(fvec4) FAdd 82 81\r
                               Store 26(color) 83\r
@@ -194,7 +194,7 @@ Linked fragment stage:
               89:          70 Load 72(texSampler2D)\r
               90:   22(fvec4) Load 24(coords4D)\r
               91:    6(float) Load 10(bias)\r
-              92:   22(fvec4) ImageSampleProjImplicitLod 89 90 91\r
+              92:   22(fvec4) ImageSampleProjImplicitLod 89 90 Bias 91\r
               93:   22(fvec4) Load 26(color)\r
               94:   22(fvec4) FAdd 93 92\r
                               Store 26(color) 94\r
@@ -207,7 +207,7 @@ Linked fragment stage:
              104:          96 Load 98(texSampler3D)\r
              105:   16(fvec3) Load 18(coords3D)\r
              106:    6(float) Load 10(bias)\r
-             107:   22(fvec4) ImageSampleImplicitLod 104 105 106\r
+             107:   22(fvec4) ImageSampleImplicitLod 104 105 Bias 106\r
              108:   22(fvec4) Load 26(color)\r
              109:   22(fvec4) FAdd 108 107\r
                               Store 26(color) 109\r
@@ -220,7 +220,7 @@ Linked fragment stage:
              115:          96 Load 98(texSampler3D)\r
              116:   22(fvec4) Load 24(coords4D)\r
              117:    6(float) Load 10(bias)\r
-             118:   22(fvec4) ImageSampleProjImplicitLod 115 116 117\r
+             118:   22(fvec4) ImageSampleProjImplicitLod 115 116 Bias 117\r
              119:   22(fvec4) Load 26(color)\r
              120:   22(fvec4) FAdd 119 118\r
                               Store 26(color) 120\r
@@ -233,7 +233,7 @@ Linked fragment stage:
              130:         122 Load 124(texSamplerCube)\r
              131:   16(fvec3) Load 18(coords3D)\r
              132:    6(float) Load 10(bias)\r
-             133:   22(fvec4) ImageSampleImplicitLod 130 131 132\r
+             133:   22(fvec4) ImageSampleImplicitLod 130 131 Bias 132\r
              134:   22(fvec4) Load 26(color)\r
              135:   22(fvec4) FAdd 134 133\r
                               Store 26(color) 135\r
@@ -249,7 +249,7 @@ Linked fragment stage:
              148:   16(fvec3) Load 18(coords3D)\r
              149:    6(float) Load 10(bias)\r
              150:    6(float) CompositeExtract 148 2\r
-             151:    6(float) ImageSampleDrefImplicitLod 147 148 150 149\r
+             151:    6(float) ImageSampleDrefImplicitLod 147 148 150 Bias 149\r
              152:   22(fvec4) CompositeConstruct 151 151 151 151\r
              153:   22(fvec4) Load 26(color)\r
              154:   22(fvec4) FAdd 153 152\r
@@ -266,7 +266,7 @@ Linked fragment stage:
              167:   16(fvec3) Load 18(coords3D)\r
              168:    6(float) Load 10(bias)\r
              169:    6(float) CompositeExtract 167 2\r
-             170:    6(float) ImageSampleDrefImplicitLod 166 167 169 168\r
+             170:    6(float) ImageSampleDrefImplicitLod 166 167 169 Bias 168\r
              171:   22(fvec4) CompositeConstruct 170 170 170 170\r
              172:   22(fvec4) Load 26(color)\r
              173:   22(fvec4) FAdd 172 171\r
@@ -283,7 +283,7 @@ Linked fragment stage:
              182:   22(fvec4) Load 24(coords4D)\r
              183:    6(float) Load 10(bias)\r
              184:    6(float) CompositeExtract 182 3\r
-             185:    6(float) ImageSampleProjDrefImplicitLod 181 182 184 183\r
+             185:    6(float) ImageSampleProjDrefImplicitLod 181 182 184 Bias 183\r
              186:   22(fvec4) CompositeConstruct 185 185 185 185\r
              187:   22(fvec4) Load 26(color)\r
              188:   22(fvec4) FAdd 187 186\r
@@ -300,7 +300,7 @@ Linked fragment stage:
              197:   22(fvec4) Load 24(coords4D)\r
              198:    6(float) Load 10(bias)\r
              199:    6(float) CompositeExtract 197 3\r
-             200:    6(float) ImageSampleProjDrefImplicitLod 196 197 199 198\r
+             200:    6(float) ImageSampleProjDrefImplicitLod 196 197 199 Bias 198\r
              201:   22(fvec4) CompositeConstruct 200 200 200 200\r
              202:   22(fvec4) Load 26(color)\r
              203:   22(fvec4) FAdd 202 201\r
@@ -310,7 +310,7 @@ Linked fragment stage:
              214:          70 Load 72(texSampler2D)\r
              215:  205(ivec2) Load 207(iCoords2D)\r
              216:    204(int) Load 212(iLod)\r
-             217:   22(fvec4) ImageFetch 214 215 216\r
+             217:   22(fvec4) ImageFetch 214 215 Lod 216\r
              218:   22(fvec4) Load 26(color)\r
              219:   22(fvec4) FAdd 218 217\r
                               Store 26(color) 219\r
@@ -324,7 +324,7 @@ Linked fragment stage:
              228:   45(fvec2) Load 47(coords2D)\r
              229:   45(fvec2) Load 221(gradX)\r
              230:   45(fvec2) Load 224(gradY)\r
-             231:   22(fvec4) ImageSampleExplicitLod 227 228 229 230\r
+             231:   22(fvec4) ImageSampleExplicitLod 227 228 Grad 229 230\r
              232:   22(fvec4) Load 26(color)\r
              233:   22(fvec4) FAdd 232 231\r
                               Store 26(color) 233\r
@@ -336,7 +336,7 @@ Linked fragment stage:
              239:   16(fvec3) CompositeConstruct 237 238 236\r
              240:   45(fvec2) Load 221(gradX)\r
              241:   45(fvec2) Load 224(gradY)\r
-             242:   22(fvec4) ImageSampleProjExplicitLod 234 239 240 241\r
+             242:   22(fvec4) ImageSampleProjExplicitLod 234 239 Grad 240 241\r
              243:   22(fvec4) Load 26(color)\r
              244:   22(fvec4) FAdd 243 242\r
                               Store 26(color) 244\r
@@ -344,7 +344,7 @@ Linked fragment stage:
              246:   45(fvec2) Load 47(coords2D)\r
              247:   45(fvec2) Load 221(gradX)\r
              248:   45(fvec2) Load 224(gradY)\r
-             252:   22(fvec4) ImageSampleExplicitLod 245 246 247 248 251\r
+             252:   22(fvec4) ImageSampleExplicitLod 245 246 Grad ConstOffset 247 248 251\r
              253:   22(fvec4) Load 26(color)\r
              254:   22(fvec4) FAdd 253 252\r
                               Store 26(color) 254\r
@@ -352,7 +352,7 @@ Linked fragment stage:
              256:   16(fvec3) Load 18(coords3D)\r
              257:   45(fvec2) Load 221(gradX)\r
              258:   45(fvec2) Load 224(gradY)\r
-             259:   22(fvec4) ImageSampleProjExplicitLod 255 256 257 258 251\r
+             259:   22(fvec4) ImageSampleProjExplicitLod 255 256 Grad ConstOffset 257 258 251\r
              260:   22(fvec4) Load 26(color)\r
              261:   22(fvec4) FAdd 260 259\r
                               Store 26(color) 261\r
@@ -365,7 +365,7 @@ Linked fragment stage:
              268:   45(fvec2) Load 221(gradX)\r
              269:   45(fvec2) Load 224(gradY)\r
              270:    6(float) CompositeExtract 267 2\r
-             271:    6(float) ImageSampleDrefExplicitLod 262 267 270 268 269\r
+             271:    6(float) ImageSampleDrefExplicitLod 262 267 270 Grad 268 269\r
              272:   22(fvec4) Load 26(color)\r
              273:   22(fvec4) CompositeConstruct 271 271 271 271\r
              274:   22(fvec4) FAdd 272 273\r
index ebaec80..957a1eb 100755 (executable)
@@ -94,63 +94,63 @@ Linked vertex stage:
               30:          27 Load 29(texSampler1D)\r
               31:    6(float) Load 10(coords1D)\r
               32:    6(float) Load 8(lod)\r
-              33:   18(fvec4) ImageSampleExplicitLod 30 31 32\r
+              33:   18(fvec4) ImageSampleExplicitLod 30 31 Lod 32\r
               34:   18(fvec4) Load 23(color)\r
               35:   18(fvec4) FAdd 34 33\r
                               Store 23(color) 35\r
               36:          27 Load 29(texSampler1D)\r
               40:   37(fvec2) Load 39(coords2D)\r
               41:    6(float) Load 8(lod)\r
-              42:   18(fvec4) ImageSampleProjExplicitLod 36 40 41\r
+              42:   18(fvec4) ImageSampleProjExplicitLod 36 40 Lod 41\r
               43:   18(fvec4) Load 23(color)\r
               44:   18(fvec4) FAdd 43 42\r
                               Store 23(color) 44\r
               45:          27 Load 29(texSampler1D)\r
               46:   18(fvec4) Load 20(coords4D)\r
               47:    6(float) Load 8(lod)\r
-              48:   18(fvec4) ImageSampleProjExplicitLod 45 46 47\r
+              48:   18(fvec4) ImageSampleProjExplicitLod 45 46 Lod 47\r
               49:   18(fvec4) Load 23(color)\r
               50:   18(fvec4) FAdd 49 48\r
                               Store 23(color) 50\r
               55:          52 Load 54(texSampler2D)\r
               56:   37(fvec2) Load 39(coords2D)\r
               57:    6(float) Load 8(lod)\r
-              58:   18(fvec4) ImageSampleExplicitLod 55 56 57\r
+              58:   18(fvec4) ImageSampleExplicitLod 55 56 Lod 57\r
               59:   18(fvec4) Load 23(color)\r
               60:   18(fvec4) FAdd 59 58\r
                               Store 23(color) 60\r
               61:          52 Load 54(texSampler2D)\r
               62:   12(fvec3) Load 14(coords3D)\r
               63:    6(float) Load 8(lod)\r
-              64:   18(fvec4) ImageSampleProjExplicitLod 61 62 63\r
+              64:   18(fvec4) ImageSampleProjExplicitLod 61 62 Lod 63\r
               65:   18(fvec4) Load 23(color)\r
               66:   18(fvec4) FAdd 65 64\r
                               Store 23(color) 66\r
               67:          52 Load 54(texSampler2D)\r
               68:   18(fvec4) Load 20(coords4D)\r
               69:    6(float) Load 8(lod)\r
-              70:   18(fvec4) ImageSampleProjExplicitLod 67 68 69\r
+              70:   18(fvec4) ImageSampleProjExplicitLod 67 68 Lod 69\r
               71:   18(fvec4) Load 23(color)\r
               72:   18(fvec4) FAdd 71 70\r
                               Store 23(color) 72\r
               77:          74 Load 76(texSampler3D)\r
               78:   12(fvec3) Load 14(coords3D)\r
               79:    6(float) Load 8(lod)\r
-              80:   18(fvec4) ImageSampleExplicitLod 77 78 79\r
+              80:   18(fvec4) ImageSampleExplicitLod 77 78 Lod 79\r
               81:   18(fvec4) Load 23(color)\r
               82:   18(fvec4) FAdd 81 80\r
                               Store 23(color) 82\r
               83:          74 Load 76(texSampler3D)\r
               84:   18(fvec4) Load 20(coords4D)\r
               85:    6(float) Load 8(lod)\r
-              86:   18(fvec4) ImageSampleProjExplicitLod 83 84 85\r
+              86:   18(fvec4) ImageSampleProjExplicitLod 83 84 Lod 85\r
               87:   18(fvec4) Load 23(color)\r
               88:   18(fvec4) FAdd 87 86\r
                               Store 23(color) 88\r
               93:          90 Load 92(texSamplerCube)\r
               94:   12(fvec3) Load 14(coords3D)\r
               95:    6(float) Load 8(lod)\r
-              96:   18(fvec4) ImageSampleExplicitLod 93 94 95\r
+              96:   18(fvec4) ImageSampleExplicitLod 93 94 Lod 95\r
               97:   18(fvec4) Load 23(color)\r
               98:   18(fvec4) FAdd 97 96\r
                               Store 23(color) 98\r
@@ -158,7 +158,7 @@ Linked vertex stage:
              104:   12(fvec3) Load 14(coords3D)\r
              105:    6(float) Load 8(lod)\r
              106:    6(float) CompositeExtract 104 2\r
-             107:    6(float) ImageSampleDrefExplicitLod 103 104 106 105\r
+             107:    6(float) ImageSampleDrefExplicitLod 103 104 106 Lod 105\r
              108:   18(fvec4) CompositeConstruct 107 107 107 107\r
              109:   18(fvec4) Load 23(color)\r
              110:   18(fvec4) FAdd 109 108\r
@@ -167,7 +167,7 @@ Linked vertex stage:
              116:   12(fvec3) Load 14(coords3D)\r
              117:    6(float) Load 8(lod)\r
              118:    6(float) CompositeExtract 116 2\r
-             119:    6(float) ImageSampleDrefExplicitLod 115 116 118 117\r
+             119:    6(float) ImageSampleDrefExplicitLod 115 116 118 Lod 117\r
              120:   18(fvec4) CompositeConstruct 119 119 119 119\r
              121:   18(fvec4) Load 23(color)\r
              122:   18(fvec4) FAdd 121 120\r
@@ -176,7 +176,7 @@ Linked vertex stage:
              124:   18(fvec4) Load 20(coords4D)\r
              125:    6(float) Load 8(lod)\r
              126:    6(float) CompositeExtract 124 3\r
-             127:    6(float) ImageSampleProjDrefExplicitLod 123 124 126 125\r
+             127:    6(float) ImageSampleProjDrefExplicitLod 123 124 126 Lod 125\r
              128:   18(fvec4) CompositeConstruct 127 127 127 127\r
              129:   18(fvec4) Load 23(color)\r
              130:   18(fvec4) FAdd 129 128\r
@@ -185,7 +185,7 @@ Linked vertex stage:
              132:   18(fvec4) Load 20(coords4D)\r
              133:    6(float) Load 8(lod)\r
              134:    6(float) CompositeExtract 132 3\r
-             135:    6(float) ImageSampleProjDrefExplicitLod 131 132 134 133\r
+             135:    6(float) ImageSampleProjDrefExplicitLod 131 132 134 Lod 133\r
              136:   18(fvec4) CompositeConstruct 135 135 135 135\r
              137:   18(fvec4) Load 23(color)\r
              138:   18(fvec4) FAdd 137 136\r
index 798e1c7..1b7bb52 100644 (file)
@@ -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"