// Check for queries
if (cracked.query) {
+ // a sampled image needs to have the image extracted first
+ if (builder.isSampledImage(params.sampler))
+ params.sampler = builder.createUnaryOp(spv::OpImage, builder.getImageType(params.sampler), params.sampler);
switch (node->getOp()) {
case glslang::EOpImageQuerySize:
case glslang::EOpTextureQuerySize:
Id getContainedTypeId(Id typeId, int) const;
StorageClass getTypeStorageClass(Id typeId) const { return module.getStorageClass(typeId); }
- bool isPointer(Id resultId) const { return isPointerType(getTypeId(resultId)); }
- bool isScalar(Id resultId) const { return isScalarType(getTypeId(resultId)); }
- bool isVector(Id resultId) const { return isVectorType(getTypeId(resultId)); }
- bool isMatrix(Id resultId) const { return isMatrixType(getTypeId(resultId)); }
- bool isAggregate(Id resultId) const { return isAggregateType(getTypeId(resultId)); }
- bool isBoolType(Id typeId) const { return groupedTypes[OpTypeBool].size() > 0 && typeId == groupedTypes[OpTypeBool].back()->getResultId(); }
-
- bool isPointerType(Id typeId) const { return getTypeClass(typeId) == OpTypePointer; }
- bool isScalarType(Id typeId) const { return getTypeClass(typeId) == OpTypeFloat || getTypeClass(typeId) == OpTypeInt || getTypeClass(typeId) == OpTypeBool; }
- bool isVectorType(Id typeId) const { return getTypeClass(typeId) == OpTypeVector; }
- bool isMatrixType(Id typeId) const { return getTypeClass(typeId) == OpTypeMatrix; }
- bool isStructType(Id typeId) const { return getTypeClass(typeId) == OpTypeStruct; }
- bool isArrayType(Id typeId) const { return getTypeClass(typeId) == OpTypeArray; }
- bool isAggregateType(Id typeId) const { return isArrayType(typeId) || isStructType(typeId); }
- bool isImageType(Id typeId) const { return getTypeClass(typeId) == OpTypeImage; }
- bool isSamplerType(Id typeId) const { return getTypeClass(typeId) == OpTypeSampler; }
- bool isSampledImageType(Id typeId) const { return getTypeClass(typeId) == OpTypeSampledImage; }
+ bool isPointer(Id resultId) const { return isPointerType(getTypeId(resultId)); }
+ bool isScalar(Id resultId) const { return isScalarType(getTypeId(resultId)); }
+ bool isVector(Id resultId) const { return isVectorType(getTypeId(resultId)); }
+ bool isMatrix(Id resultId) const { return isMatrixType(getTypeId(resultId)); }
+ bool isAggregate(Id resultId) const { return isAggregateType(getTypeId(resultId)); }
+ bool isSampledImage(Id resultId) const { return isSampledImageType(getTypeId(resultId)); }
+
+ bool isBoolType(Id typeId) const { return groupedTypes[OpTypeBool].size() > 0 && typeId == groupedTypes[OpTypeBool].back()->getResultId(); }
+ bool isPointerType(Id typeId) const { return getTypeClass(typeId) == OpTypePointer; }
+ bool isScalarType(Id typeId) const { return getTypeClass(typeId) == OpTypeFloat || getTypeClass(typeId) == OpTypeInt || getTypeClass(typeId) == OpTypeBool; }
+ bool isVectorType(Id typeId) const { return getTypeClass(typeId) == OpTypeVector; }
+ bool isMatrixType(Id typeId) const { return getTypeClass(typeId) == OpTypeMatrix; }
+ bool isStructType(Id typeId) const { return getTypeClass(typeId) == OpTypeStruct; }
+ bool isArrayType(Id typeId) const { return getTypeClass(typeId) == OpTypeArray; }
+ bool isAggregateType(Id typeId) const { return isArrayType(typeId) || isStructType(typeId); }
+ bool isImageType(Id typeId) const { return getTypeClass(typeId) == OpTypeImage; }
+ bool isSamplerType(Id typeId) const { return getTypeClass(typeId) == OpTypeSampler; }
+ bool isSampledImageType(Id typeId) const { return getTypeClass(typeId) == OpTypeSampledImage; }
bool isConstantOpCode(Op opcode) const;
bool isConstant(Id resultId) const { return isConstantOpCode(getOpCode(resultId)); }
\r
// Module Version 10000\r
// Generated by (magic number): 80001\r
-// Id's are bound by 212\r
+// Id's are bound by 214\r
\r
Capability Shader\r
1: ExtInstImport "GLSL.std.450"\r
MemoryModel Logical GLSL450\r
- EntryPoint Fragment 4 "main" 78 17 68 98 182 183 184 185 185 171\r
+ EntryPoint Fragment 4 "main" 79 17 68 99 184 185 186 187 187 173\r
ExecutionMode 4 OriginLowerLeft\r
Source GLSL 130\r
SourceExtension "GL_ARB_gpu_shader5"\r
Name 55 "samp2DS"\r
Name 68 "io"\r
Name 72 "Sca"\r
- Name 78 "i"\r
- Name 86 "Isca"\r
- Name 98 "uo"\r
- Name 102 "Usca"\r
- Name 113 "a"\r
- Name 117 "Scas"\r
- Name 122 "f"\r
- Name 131 "c"\r
- Name 152 "a1"\r
- Name 155 "m43"\r
- Name 158 "b"\r
- Name 165 "sampC"\r
- Name 171 "gl_ClipDistance"\r
- Name 181 "b"\r
- Name 182 "fflat"\r
- Name 183 "fsmooth"\r
- Name 184 "fnop"\r
- Name 185 "gl_Color"\r
- Name 192 "bounds"\r
- Name 193 "s2D"\r
- Name 194 "s2DR"\r
- Name 198 "s2DRS"\r
- Name 202 "s1D"\r
- Name 203 "s2DS"\r
- Name 205 "f"\r
- Name 207 "v2"\r
- Name 209 "v3"\r
- Name 211 "v4"\r
- Decorate 171(gl_ClipDistance) BuiltIn ClipDistance\r
- Decorate 182(fflat) Flat\r
- Decorate 184(fnop) NoPerspective\r
- Decorate 192(bounds) Binding 0\r
+ Name 79 "i"\r
+ Name 87 "Isca"\r
+ Name 99 "uo"\r
+ Name 103 "Usca"\r
+ Name 114 "a"\r
+ Name 118 "Scas"\r
+ Name 124 "f"\r
+ Name 133 "c"\r
+ Name 154 "a1"\r
+ Name 157 "m43"\r
+ Name 160 "b"\r
+ Name 167 "sampC"\r
+ Name 173 "gl_ClipDistance"\r
+ Name 183 "b"\r
+ Name 184 "fflat"\r
+ Name 185 "fsmooth"\r
+ Name 186 "fnop"\r
+ Name 187 "gl_Color"\r
+ Name 194 "bounds"\r
+ Name 195 "s2D"\r
+ Name 196 "s2DR"\r
+ Name 200 "s2DRS"\r
+ Name 204 "s1D"\r
+ Name 205 "s2DS"\r
+ Name 207 "f"\r
+ Name 209 "v2"\r
+ Name 211 "v3"\r
+ Name 213 "v4"\r
+ Decorate 173(gl_ClipDistance) BuiltIn ClipDistance\r
+ Decorate 184(fflat) Flat\r
+ Decorate 186(fnop) NoPerspective\r
+ Decorate 194(bounds) Binding 0\r
2: TypeVoid\r
3: TypeFunction 2\r
14: TypeFloat 32\r
71: TypePointer UniformConstant 70\r
72(Sca): 71(ptr) Variable UniformConstant\r
74: 26(int) Constant 3\r
- 77: TypePointer Input 15(fvec4)\r
- 78(i): 77(ptr) Variable Input\r
- 83: TypeImage 26(int) Cube array sampled format:Unknown\r
- 84: TypeSampledImage 83\r
- 85: TypePointer UniformConstant 84\r
- 86(Isca): 85(ptr) Variable UniformConstant\r
- 89: 14(float) Constant 1060320051\r
- 90: TypeVector 26(int) 4\r
- 95: TypeInt 32 0\r
- 96: TypeVector 95(int) 4\r
- 97: TypePointer Output 96(ivec4)\r
- 98(uo): 97(ptr) Variable Output\r
- 99: TypeImage 95(int) Cube array sampled format:Unknown\r
- 100: TypeSampledImage 99\r
- 101: TypePointer UniformConstant 100\r
- 102(Usca): 101(ptr) Variable UniformConstant\r
- 108: 14(float) Constant 1071225242\r
- 112: TypePointer Private 39(fvec3)\r
- 113(a): 112(ptr) Variable Private\r
- 114: TypeImage 14(float) Cube depth array sampled format:Unknown\r
- 115: TypeSampledImage 114\r
- 116: TypePointer UniformConstant 115\r
- 117(Scas): 116(ptr) Variable UniformConstant\r
- 121: TypePointer Function 14(float)\r
- 125: 95(int) Constant 1\r
- 126: TypePointer Input 14(float)\r
- 130: TypePointer Function 90(ivec4)\r
- 134: 14(float) Constant 1036831949\r
- 135: 39(fvec3) ConstantComposite 134 134 134\r
- 136: 14(float) Constant 1045220557\r
+ 78: TypePointer Input 15(fvec4)\r
+ 79(i): 78(ptr) Variable Input\r
+ 84: TypeImage 26(int) Cube array sampled format:Unknown\r
+ 85: TypeSampledImage 84\r
+ 86: TypePointer UniformConstant 85\r
+ 87(Isca): 86(ptr) Variable UniformConstant\r
+ 90: 14(float) Constant 1060320051\r
+ 91: TypeVector 26(int) 4\r
+ 96: TypeInt 32 0\r
+ 97: TypeVector 96(int) 4\r
+ 98: TypePointer Output 97(ivec4)\r
+ 99(uo): 98(ptr) Variable Output\r
+ 100: TypeImage 96(int) Cube array sampled format:Unknown\r
+ 101: TypeSampledImage 100\r
+ 102: TypePointer UniformConstant 101\r
+ 103(Usca): 102(ptr) Variable UniformConstant\r
+ 109: 14(float) Constant 1071225242\r
+ 113: TypePointer Private 39(fvec3)\r
+ 114(a): 113(ptr) Variable Private\r
+ 115: TypeImage 14(float) Cube depth array sampled format:Unknown\r
+ 116: TypeSampledImage 115\r
+ 117: TypePointer UniformConstant 116\r
+ 118(Scas): 117(ptr) Variable UniformConstant\r
+ 123: TypePointer Function 14(float)\r
+ 127: 96(int) Constant 1\r
+ 128: TypePointer Input 14(float)\r
+ 132: TypePointer Function 91(ivec4)\r
+ 136: 14(float) Constant 1036831949\r
137: 39(fvec3) ConstantComposite 136 136 136\r
- 153: TypeMatrix 39(fvec3) 4\r
- 154: TypePointer Function 153\r
- 159: 14(float) Constant 1073741824\r
- 162: TypeImage 14(float) Cube sampled format:Unknown\r
- 163: TypeSampledImage 162\r
- 164: TypePointer UniformConstant 163\r
- 165(sampC): 164(ptr) Variable UniformConstant\r
- 168: 95(int) Constant 4\r
- 169: TypeArray 14(float) 168\r
- 170: TypePointer Input 169\r
-171(gl_ClipDistance): 170(ptr) Variable Input\r
- 174: TypePointer Output 14(float)\r
- 180: TypePointer Private 14(float)\r
- 181(b): 180(ptr) Variable Private\r
- 182(fflat): 126(ptr) Variable Input\r
- 183(fsmooth): 126(ptr) Variable Input\r
- 184(fnop): 126(ptr) Variable Input\r
- 185(gl_Color): 77(ptr) Variable Input\r
- 186: 95(int) Constant 3\r
- 187: TypeArray 26(int) 186\r
- 188: 26(int) Constant 10\r
- 189: 26(int) Constant 23\r
- 190: 26(int) Constant 32\r
- 191: 187 ConstantComposite 188 189 190\r
- 192(bounds): 20(ptr) Variable UniformConstant\r
- 193(s2D): 20(ptr) Variable UniformConstant\r
- 194(s2DR): 46(ptr) Variable UniformConstant\r
- 195: TypeImage 14(float) Rect depth sampled format:Unknown\r
- 196: TypeSampledImage 195\r
- 197: TypePointer UniformConstant 196\r
- 198(s2DRS): 197(ptr) Variable UniformConstant\r
- 199: TypeImage 14(float) 1D sampled format:Unknown\r
- 200: TypeSampledImage 199\r
- 201: TypePointer UniformConstant 200\r
- 202(s1D): 201(ptr) Variable UniformConstant\r
- 203(s2DS): 54(ptr) Variable UniformConstant\r
- 204: TypePointer UniformConstant 14(float)\r
- 205(f): 204(ptr) Variable UniformConstant\r
- 206: TypePointer UniformConstant 23(fvec2)\r
- 207(v2): 206(ptr) Variable UniformConstant\r
- 208: TypePointer UniformConstant 39(fvec3)\r
- 209(v3): 208(ptr) Variable UniformConstant\r
- 210: TypePointer UniformConstant 15(fvec4)\r
- 211(v4): 210(ptr) Variable UniformConstant\r
+ 138: 14(float) Constant 1045220557\r
+ 139: 39(fvec3) ConstantComposite 138 138 138\r
+ 155: TypeMatrix 39(fvec3) 4\r
+ 156: TypePointer Function 155\r
+ 161: 14(float) Constant 1073741824\r
+ 164: TypeImage 14(float) Cube sampled format:Unknown\r
+ 165: TypeSampledImage 164\r
+ 166: TypePointer UniformConstant 165\r
+ 167(sampC): 166(ptr) Variable UniformConstant\r
+ 170: 96(int) Constant 4\r
+ 171: TypeArray 14(float) 170\r
+ 172: TypePointer Input 171\r
+173(gl_ClipDistance): 172(ptr) Variable Input\r
+ 176: TypePointer Output 14(float)\r
+ 182: TypePointer Private 14(float)\r
+ 183(b): 182(ptr) Variable Private\r
+ 184(fflat): 128(ptr) Variable Input\r
+ 185(fsmooth): 128(ptr) Variable Input\r
+ 186(fnop): 128(ptr) Variable Input\r
+ 187(gl_Color): 78(ptr) Variable Input\r
+ 188: 96(int) Constant 3\r
+ 189: TypeArray 26(int) 188\r
+ 190: 26(int) Constant 10\r
+ 191: 26(int) Constant 23\r
+ 192: 26(int) Constant 32\r
+ 193: 189 ConstantComposite 190 191 192\r
+ 194(bounds): 20(ptr) Variable UniformConstant\r
+ 195(s2D): 20(ptr) Variable UniformConstant\r
+ 196(s2DR): 46(ptr) Variable UniformConstant\r
+ 197: TypeImage 14(float) Rect depth sampled format:Unknown\r
+ 198: TypeSampledImage 197\r
+ 199: TypePointer UniformConstant 198\r
+ 200(s2DRS): 199(ptr) Variable UniformConstant\r
+ 201: TypeImage 14(float) 1D sampled format:Unknown\r
+ 202: TypeSampledImage 201\r
+ 203: TypePointer UniformConstant 202\r
+ 204(s1D): 203(ptr) Variable UniformConstant\r
+ 205(s2DS): 54(ptr) Variable UniformConstant\r
+ 206: TypePointer UniformConstant 14(float)\r
+ 207(f): 206(ptr) Variable UniformConstant\r
+ 208: TypePointer UniformConstant 23(fvec2)\r
+ 209(v2): 208(ptr) Variable UniformConstant\r
+ 210: TypePointer UniformConstant 39(fvec3)\r
+ 211(v3): 210(ptr) Variable UniformConstant\r
+ 212: TypePointer UniformConstant 15(fvec4)\r
+ 213(v4): 212(ptr) Variable UniformConstant\r
4(main): 2 Function None 3\r
5: Label\r
- 166: 163 Load 165(sampC)\r
- 167: 15(fvec4) ImageGather 166 137 30\r
- Store 17(o) 167\r
- 172: 126(ptr) AccessChain 171(gl_ClipDistance) 74\r
- 173: 14(float) Load 172\r
- 175: 174(ptr) AccessChain 17(o) 125\r
- Store 175 173\r
- 176: 2 FunctionCall 6(bar3()\r
- 177: 2 FunctionCall 8(bar4()\r
- 178: 2 FunctionCall 10(bar5()\r
- 179: 2 FunctionCall 12(bar6()\r
+ 168: 165 Load 167(sampC)\r
+ 169: 15(fvec4) ImageGather 168 139 30\r
+ Store 17(o) 169\r
+ 174: 128(ptr) AccessChain 173(gl_ClipDistance) 74\r
+ 175: 14(float) Load 174\r
+ 177: 176(ptr) AccessChain 17(o) 127\r
+ Store 177 175\r
+ 178: 2 FunctionCall 6(bar3()\r
+ 179: 2 FunctionCall 8(bar4()\r
+ 180: 2 FunctionCall 10(bar5()\r
+ 181: 2 FunctionCall 12(bar6()\r
Return\r
FunctionEnd\r
6(bar3(): 2 Function None 3\r
FunctionEnd\r
10(bar5(): 2 Function None 3\r
11: Label\r
- 122(f): 121(ptr) Variable Function\r
- 131(c): 130(ptr) Variable Function\r
+ 124(f): 123(ptr) Variable Function\r
+ 133(c): 132(ptr) Variable Function\r
73: 70 Load 72(Sca)\r
- 75: 66(ivec3) ImageQuerySizeLod 73 74\r
- Store 68(io) 75\r
- 76: 70 Load 72(Sca)\r
- 79: 15(fvec4) Load 78(i)\r
- 80: 15(fvec4) ImageSampleImplicitLod 76 79\r
- 81: 15(fvec4) Load 17(o)\r
- 82: 15(fvec4) FAdd 81 80\r
- Store 17(o) 82\r
- 87: 84 Load 86(Isca)\r
- 88: 15(fvec4) Load 78(i)\r
- 91: 90(ivec4) ImageSampleImplicitLod 87 88 Bias 89\r
- 92: 66(ivec3) VectorShuffle 91 91 0 1 2\r
- 93: 66(ivec3) Load 68(io)\r
- 94: 66(ivec3) IAdd 93 92\r
- Store 68(io) 94\r
- 103: 100 Load 102(Usca)\r
- 104: 15(fvec4) Load 78(i)\r
- 105: 96(ivec4) ImageSampleImplicitLod 103 104\r
- Store 98(uo) 105\r
- 106: 70 Load 72(Sca)\r
- 107: 15(fvec4) Load 78(i)\r
- 109: 15(fvec4) ImageSampleExplicitLod 106 107 Lod 108\r
- 110: 15(fvec4) Load 17(o)\r
- 111: 15(fvec4) FAdd 110 109\r
- Store 17(o) 111\r
- 118: 115 Load 117(Scas)\r
- 119: 66(ivec3) ImageQuerySizeLod 118 74\r
- 120: 39(fvec3) ConvertSToF 119\r
- Store 113(a) 120\r
- 123: 115 Load 117(Scas)\r
- 124: 15(fvec4) Load 78(i)\r
- 127: 126(ptr) AccessChain 78(i) 125\r
- 128: 14(float) Load 127\r
- 129: 14(float) ImageSampleDrefImplicitLod 123 124 128\r
- Store 122(f) 129\r
- 132: 84 Load 86(Isca)\r
- 133: 15(fvec4) Load 78(i)\r
- 138: 90(ivec4) ImageSampleExplicitLod 132 133 Grad 135 137\r
- Store 131(c) 138\r
- 139: 39(fvec3) Load 113(a)\r
- 140: 14(float) Load 122(f)\r
- 141: 90(ivec4) Load 131(c)\r
- 142: 15(fvec4) ConvertSToF 141\r
- 143: 15(fvec4) CompositeConstruct 140 140 140 140\r
- 144: 15(fvec4) FAdd 143 142\r
- 145: 14(float) CompositeExtract 139 0\r
- 146: 14(float) CompositeExtract 139 1\r
- 147: 14(float) CompositeExtract 139 2\r
- 148: 14(float) CompositeExtract 144 0\r
- 149: 15(fvec4) CompositeConstruct 145 146 147 148\r
- 150: 15(fvec4) Load 17(o)\r
- 151: 15(fvec4) FAdd 150 149\r
- Store 17(o) 151\r
+ 75: 69 Image 73\r
+ 76: 66(ivec3) ImageQuerySizeLod 75 74\r
+ Store 68(io) 76\r
+ 77: 70 Load 72(Sca)\r
+ 80: 15(fvec4) Load 79(i)\r
+ 81: 15(fvec4) ImageSampleImplicitLod 77 80\r
+ 82: 15(fvec4) Load 17(o)\r
+ 83: 15(fvec4) FAdd 82 81\r
+ Store 17(o) 83\r
+ 88: 85 Load 87(Isca)\r
+ 89: 15(fvec4) Load 79(i)\r
+ 92: 91(ivec4) ImageSampleImplicitLod 88 89 Bias 90\r
+ 93: 66(ivec3) VectorShuffle 92 92 0 1 2\r
+ 94: 66(ivec3) Load 68(io)\r
+ 95: 66(ivec3) IAdd 94 93\r
+ Store 68(io) 95\r
+ 104: 101 Load 103(Usca)\r
+ 105: 15(fvec4) Load 79(i)\r
+ 106: 97(ivec4) ImageSampleImplicitLod 104 105\r
+ Store 99(uo) 106\r
+ 107: 70 Load 72(Sca)\r
+ 108: 15(fvec4) Load 79(i)\r
+ 110: 15(fvec4) ImageSampleExplicitLod 107 108 Lod 109\r
+ 111: 15(fvec4) Load 17(o)\r
+ 112: 15(fvec4) FAdd 111 110\r
+ Store 17(o) 112\r
+ 119: 116 Load 118(Scas)\r
+ 120: 115 Image 119\r
+ 121: 66(ivec3) ImageQuerySizeLod 120 74\r
+ 122: 39(fvec3) ConvertSToF 121\r
+ Store 114(a) 122\r
+ 125: 116 Load 118(Scas)\r
+ 126: 15(fvec4) Load 79(i)\r
+ 129: 128(ptr) AccessChain 79(i) 127\r
+ 130: 14(float) Load 129\r
+ 131: 14(float) ImageSampleDrefImplicitLod 125 126 130\r
+ Store 124(f) 131\r
+ 134: 85 Load 87(Isca)\r
+ 135: 15(fvec4) Load 79(i)\r
+ 140: 91(ivec4) ImageSampleExplicitLod 134 135 Grad 137 139\r
+ Store 133(c) 140\r
+ 141: 39(fvec3) Load 114(a)\r
+ 142: 14(float) Load 124(f)\r
+ 143: 91(ivec4) Load 133(c)\r
+ 144: 15(fvec4) ConvertSToF 143\r
+ 145: 15(fvec4) CompositeConstruct 142 142 142 142\r
+ 146: 15(fvec4) FAdd 145 144\r
+ 147: 14(float) CompositeExtract 141 0\r
+ 148: 14(float) CompositeExtract 141 1\r
+ 149: 14(float) CompositeExtract 141 2\r
+ 150: 14(float) CompositeExtract 146 0\r
+ 151: 15(fvec4) CompositeConstruct 147 148 149 150\r
+ 152: 15(fvec4) Load 17(o)\r
+ 153: 15(fvec4) FAdd 152 151\r
+ Store 17(o) 153\r
Return\r
FunctionEnd\r
12(bar6(): 2 Function None 3\r
13: Label\r
- 152(a1): 121(ptr) Variable Function\r
- 155(m43): 154(ptr) Variable Function\r
- 158(b): 121(ptr) Variable Function\r
- 156: 121(ptr) AccessChain 155(m43) 74 125\r
- 157: 14(float) Load 156\r
- Store 152(a1) 157\r
- 160: 14(float) Load 152(a1)\r
- 161: 14(float) FMul 159 160\r
- Store 158(b) 161\r
+ 154(a1): 123(ptr) Variable Function\r
+ 157(m43): 156(ptr) Variable Function\r
+ 160(b): 123(ptr) Variable Function\r
+ 158: 123(ptr) AccessChain 157(m43) 74 127\r
+ 159: 14(float) Load 158\r
+ Store 154(a1) 159\r
+ 162: 14(float) Load 154(a1)\r
+ 163: 14(float) FMul 161 162\r
+ Store 160(b) 163\r
Return\r
FunctionEnd\r
\r
// Module Version 10000\r
// Generated by (magic number): 80001\r
-// Id's are bound by 97\r
+// Id's are bound by 99\r
\r
Capability Shader\r
1: ExtInstImport "GLSL.std.450"\r
Name 33 "gl_ClipDistance"\r
Name 43 "k"\r
Name 55 "sampR"\r
- Name 62 "sampB"\r
- Name 84 "samp2Da"\r
- Name 88 "bn"\r
- MemberName 88(bn) 0 "matra"\r
- MemberName 88(bn) 1 "matca"\r
- MemberName 88(bn) 2 "matr"\r
- MemberName 88(bn) 3 "matc"\r
- MemberName 88(bn) 4 "matrdef"\r
- Name 90 ""\r
- Name 93 "bi"\r
- MemberName 93(bi) 0 "v"\r
- Name 96 "bname"\r
+ Name 63 "sampB"\r
+ Name 86 "samp2Da"\r
+ Name 90 "bn"\r
+ MemberName 90(bn) 0 "matra"\r
+ MemberName 90(bn) 1 "matca"\r
+ MemberName 90(bn) 2 "matr"\r
+ MemberName 90(bn) 3 "matc"\r
+ MemberName 90(bn) 4 "matrdef"\r
+ Name 92 ""\r
+ Name 95 "bi"\r
+ MemberName 95(bi) 0 "v"\r
+ Name 98 "bname"\r
Decorate 16(gl_FrontFacing) BuiltIn FrontFacing\r
Decorate 33(gl_ClipDistance) BuiltIn ClipDistance\r
- Decorate 87 ArrayStride 64\r
- Decorate 87 ArrayStride 64\r
- MemberDecorate 88(bn) 0 RowMajor\r
- MemberDecorate 88(bn) 0 Offset 0\r
- MemberDecorate 88(bn) 0 MatrixStride 16\r
- MemberDecorate 88(bn) 1 ColMajor\r
- MemberDecorate 88(bn) 1 Offset 256\r
- MemberDecorate 88(bn) 1 MatrixStride 16\r
- MemberDecorate 88(bn) 2 RowMajor\r
- MemberDecorate 88(bn) 2 Offset 512\r
- MemberDecorate 88(bn) 2 MatrixStride 16\r
- MemberDecorate 88(bn) 3 ColMajor\r
- MemberDecorate 88(bn) 3 Offset 576\r
- MemberDecorate 88(bn) 3 MatrixStride 16\r
- MemberDecorate 88(bn) 4 RowMajor\r
- MemberDecorate 88(bn) 4 Offset 640\r
- MemberDecorate 88(bn) 4 MatrixStride 16\r
- Decorate 88(bn) Block\r
- Decorate 92 ArrayStride 16\r
- MemberDecorate 93(bi) 0 Offset 0\r
- Decorate 93(bi) Block\r
+ Decorate 89 ArrayStride 64\r
+ Decorate 89 ArrayStride 64\r
+ MemberDecorate 90(bn) 0 RowMajor\r
+ MemberDecorate 90(bn) 0 Offset 0\r
+ MemberDecorate 90(bn) 0 MatrixStride 16\r
+ MemberDecorate 90(bn) 1 ColMajor\r
+ MemberDecorate 90(bn) 1 Offset 256\r
+ MemberDecorate 90(bn) 1 MatrixStride 16\r
+ MemberDecorate 90(bn) 2 RowMajor\r
+ MemberDecorate 90(bn) 2 Offset 512\r
+ MemberDecorate 90(bn) 2 MatrixStride 16\r
+ MemberDecorate 90(bn) 3 ColMajor\r
+ MemberDecorate 90(bn) 3 Offset 576\r
+ MemberDecorate 90(bn) 3 MatrixStride 16\r
+ MemberDecorate 90(bn) 4 RowMajor\r
+ MemberDecorate 90(bn) 4 Offset 640\r
+ MemberDecorate 90(bn) 4 MatrixStride 16\r
+ Decorate 90(bn) Block\r
+ Decorate 94 ArrayStride 16\r
+ MemberDecorate 95(bi) 0 Offset 0\r
+ Decorate 95(bi) Block\r
2: TypeVoid\r
3: TypeFunction 2\r
6: TypeFloat 32\r
53: TypeSampledImage 52\r
54: TypePointer UniformConstant 53\r
55(sampR): 54(ptr) Variable UniformConstant\r
- 57: TypeVector 34(int) 2\r
- 59: TypeImage 34(int) Buffer sampled format:Unknown\r
- 60: TypeSampledImage 59\r
- 61: TypePointer UniformConstant 60\r
- 62(sampB): 61(ptr) Variable UniformConstant\r
- 67: TypeVector 6(float) 2\r
- 70: 6(float) Constant 1120403456\r
- 72: 29(int) Constant 3\r
- 80: TypeImage 6(float) 2D sampled format:Unknown\r
- 81: TypeSampledImage 80\r
- 82: TypeArray 81 72\r
- 83: TypePointer UniformConstant 82\r
- 84(samp2Da): 83(ptr) Variable UniformConstant\r
- 85: TypeMatrix 26(fvec4) 4\r
- 86: 29(int) Constant 4\r
- 87: TypeArray 85 86\r
- 88(bn): TypeStruct 87 87 85 85 85\r
- 89: TypePointer Uniform 88(bn)\r
- 90: 89(ptr) Variable Uniform\r
- 91: TypeVector 6(float) 3\r
- 92: TypeArray 91(fvec3) 50\r
- 93(bi): TypeStruct 92\r
- 94: TypeArray 93(bi) 86\r
- 95: TypePointer Uniform 94\r
- 96(bname): 95(ptr) Variable Uniform\r
+ 58: TypeVector 34(int) 2\r
+ 60: TypeImage 34(int) Buffer sampled format:Unknown\r
+ 61: TypeSampledImage 60\r
+ 62: TypePointer UniformConstant 61\r
+ 63(sampB): 62(ptr) Variable UniformConstant\r
+ 69: TypeVector 6(float) 2\r
+ 72: 6(float) Constant 1120403456\r
+ 74: 29(int) Constant 3\r
+ 82: TypeImage 6(float) 2D sampled format:Unknown\r
+ 83: TypeSampledImage 82\r
+ 84: TypeArray 83 74\r
+ 85: TypePointer UniformConstant 84\r
+ 86(samp2Da): 85(ptr) Variable UniformConstant\r
+ 87: TypeMatrix 26(fvec4) 4\r
+ 88: 29(int) Constant 4\r
+ 89: TypeArray 87 88\r
+ 90(bn): TypeStruct 89 89 87 87 87\r
+ 91: TypePointer Uniform 90(bn)\r
+ 92: 91(ptr) Variable Uniform\r
+ 93: TypeVector 6(float) 3\r
+ 94: TypeArray 93(fvec3) 50\r
+ 95(bi): TypeStruct 94\r
+ 96: TypeArray 95(bi) 88\r
+ 97: TypePointer Uniform 96\r
+ 98(bname): 97(ptr) Variable Uniform\r
4(main): 2 Function None 3\r
5: Label\r
13: 12(ptr) Variable Function\r
51: 40(ptr) AccessChain 28(o) 50\r
Store 51 49\r
56: 53 Load 55(sampR)\r
- 58: 57(ivec2) ImageQuerySize 56\r
- 63: 60 Load 62(sampB)\r
- 64: 34(int) ImageQuerySize 63\r
- 65: 57(ivec2) CompositeConstruct 64 64\r
- 66: 57(ivec2) IAdd 58 65\r
- 68: 67(fvec2) ConvertSToF 66\r
- 69: 6(float) CompositeExtract 68 0\r
- 71: 6(float) FDiv 69 70\r
- 73: 40(ptr) AccessChain 28(o) 72\r
- Store 73 71\r
- 74: 6(float) FunctionCall 8(foo()\r
- 75: 40(ptr) AccessChain 28(o) 50\r
- Store 75 74\r
+ 57: 52 Image 56\r
+ 59: 58(ivec2) ImageQuerySize 57\r
+ 64: 61 Load 63(sampB)\r
+ 65: 60 Image 64\r
+ 66: 34(int) ImageQuerySize 65\r
+ 67: 58(ivec2) CompositeConstruct 66 66\r
+ 68: 58(ivec2) IAdd 59 67\r
+ 70: 69(fvec2) ConvertSToF 68\r
+ 71: 6(float) CompositeExtract 70 0\r
+ 73: 6(float) FDiv 71 72\r
+ 75: 40(ptr) AccessChain 28(o) 74\r
+ Store 75 73\r
+ 76: 6(float) FunctionCall 8(foo()\r
+ 77: 40(ptr) AccessChain 28(o) 50\r
+ Store 77 76\r
Return\r
FunctionEnd\r
8(foo(): 6(float) Function None 7\r
9: Label\r
- 76: 6(float) Load 11(i1)\r
- 77: 6(float) Load 24(i2)\r
- 78: 6(float) FAdd 76 77\r
- ReturnValue 78\r
+ 78: 6(float) Load 11(i1)\r
+ 79: 6(float) Load 24(i2)\r
+ 80: 6(float) FAdd 78 79\r
+ ReturnValue 80\r
FunctionEnd\r
\r
// Module Version 10000\r
// Generated by (magic number): 80001\r
-// Id's are bound by 277\r
+// Id's are bound by 278\r
\r
Capability Shader\r
1: ExtInstImport "GLSL.std.450"\r
MemoryModel Logical GLSL450\r
- EntryPoint Fragment 4 "main" 29 17 55 26 84 91 81 276 246\r
+ EntryPoint Fragment 4 "main" 29 17 55 26 84 91 81 277 247\r
ExecutionMode 4 OriginLowerLeft\r
Source GLSL 430\r
Name 4 "main"\r
Name 227 "is2DArray"\r
Name 237 "iv2"\r
Name 241 "sCubeShadow"\r
- Name 246 "FragData"\r
- Name 258 "is2Dms"\r
- Name 262 "us2D"\r
- Name 266 "us3D"\r
- Name 270 "usCube"\r
- Name 274 "us2DArray"\r
- Name 276 "ic4D"\r
+ Name 247 "FragData"\r
+ Name 259 "is2Dms"\r
+ Name 263 "us2D"\r
+ Name 267 "us3D"\r
+ Name 271 "usCube"\r
+ Name 275 "us2DArray"\r
+ Name 277 "ic4D"\r
Decorate 81(ic3D) Flat\r
Decorate 84(ic1D) Flat\r
Decorate 91(ic2D) Flat\r
- Decorate 276(ic4D) Flat\r
+ Decorate 277(ic4D) Flat\r
2: TypeVoid\r
3: TypeFunction 2\r
6: TypeFloat 32\r
240: TypePointer UniformConstant 239\r
241(sCubeShadow): 240(ptr) Variable UniformConstant\r
243: 67(int) Constant 2\r
- 245: TypePointer Output 7(fvec4)\r
- 246(FragData): 245(ptr) Variable Output\r
- 250: 6(float) Constant 0\r
- 255: TypeImage 67(int) 2D multi-sampled sampled format:Unknown\r
- 256: TypeSampledImage 255\r
- 257: TypePointer UniformConstant 256\r
- 258(is2Dms): 257(ptr) Variable UniformConstant\r
- 259: TypeImage 32(int) 2D sampled format:Unknown\r
- 260: TypeSampledImage 259\r
- 261: TypePointer UniformConstant 260\r
- 262(us2D): 261(ptr) Variable UniformConstant\r
- 263: TypeImage 32(int) 3D sampled format:Unknown\r
- 264: TypeSampledImage 263\r
- 265: TypePointer UniformConstant 264\r
- 266(us3D): 265(ptr) Variable UniformConstant\r
- 267: TypeImage 32(int) Cube sampled format:Unknown\r
- 268: TypeSampledImage 267\r
- 269: TypePointer UniformConstant 268\r
- 270(usCube): 269(ptr) Variable UniformConstant\r
- 271: TypeImage 32(int) 2D array sampled format:Unknown\r
- 272: TypeSampledImage 271\r
- 273: TypePointer UniformConstant 272\r
- 274(us2DArray): 273(ptr) Variable UniformConstant\r
- 275: TypePointer Input 162(ivec4)\r
- 276(ic4D): 275(ptr) Variable Input\r
+ 246: TypePointer Output 7(fvec4)\r
+ 247(FragData): 246(ptr) Variable Output\r
+ 251: 6(float) Constant 0\r
+ 256: TypeImage 67(int) 2D multi-sampled sampled format:Unknown\r
+ 257: TypeSampledImage 256\r
+ 258: TypePointer UniformConstant 257\r
+ 259(is2Dms): 258(ptr) Variable UniformConstant\r
+ 260: TypeImage 32(int) 2D sampled format:Unknown\r
+ 261: TypeSampledImage 260\r
+ 262: TypePointer UniformConstant 261\r
+ 263(us2D): 262(ptr) Variable UniformConstant\r
+ 264: TypeImage 32(int) 3D sampled format:Unknown\r
+ 265: TypeSampledImage 264\r
+ 266: TypePointer UniformConstant 265\r
+ 267(us3D): 266(ptr) Variable UniformConstant\r
+ 268: TypeImage 32(int) Cube sampled format:Unknown\r
+ 269: TypeSampledImage 268\r
+ 270: TypePointer UniformConstant 269\r
+ 271(usCube): 270(ptr) Variable UniformConstant\r
+ 272: TypeImage 32(int) 2D array sampled format:Unknown\r
+ 273: TypeSampledImage 272\r
+ 274: TypePointer UniformConstant 273\r
+ 275(us2DArray): 274(ptr) Variable UniformConstant\r
+ 276: TypePointer Input 162(ivec4)\r
+ 277(ic4D): 276(ptr) Variable Input\r
4(main): 2 Function None 3\r
5: Label\r
9(v): 8(ptr) Variable Function\r
235: 7(fvec4) FAdd 234 233\r
Store 9(v) 235\r
242: 239 Load 241(sCubeShadow)\r
- 244: 68(ivec2) ImageQuerySizeLod 242 243\r
- Store 237(iv2) 244\r
- 247: 7(fvec4) Load 9(v)\r
- 248: 68(ivec2) Load 237(iv2)\r
- 249: 15(fvec2) ConvertSToF 248\r
- 251: 6(float) CompositeExtract 249 0\r
- 252: 6(float) CompositeExtract 249 1\r
- 253: 7(fvec4) CompositeConstruct 251 252 250 250\r
- 254: 7(fvec4) FAdd 247 253\r
- Store 246(FragData) 254\r
+ 244: 238 Image 242\r
+ 245: 68(ivec2) ImageQuerySizeLod 244 243\r
+ Store 237(iv2) 245\r
+ 248: 7(fvec4) Load 9(v)\r
+ 249: 68(ivec2) Load 237(iv2)\r
+ 250: 15(fvec2) ConvertSToF 249\r
+ 252: 6(float) CompositeExtract 250 0\r
+ 253: 6(float) CompositeExtract 250 1\r
+ 254: 7(fvec4) CompositeConstruct 252 253 251 251\r
+ 255: 7(fvec4) FAdd 248 254\r
+ Store 247(FragData) 255\r
Return\r
FunctionEnd\r
\r
// Module Version 10000\r
// Generated by (magic number): 80001\r
-// Id's are bound by 211\r
+// Id's are bound by 237\r
\r
Capability Shader\r
1: ExtInstImport "GLSL.std.450"\r
Name 9 "lod"\r
Name 13 "samp1D"\r
Name 16 "pf"\r
- Name 23 "isamp2D"\r
- Name 25 "pf2"\r
- Name 34 "usamp3D"\r
- Name 38 "pf3"\r
- Name 46 "sampCube"\r
- Name 55 "isamp1DA"\r
- Name 64 "usamp2DA"\r
- Name 73 "isampCubeA"\r
- Name 82 "samp1Ds"\r
- Name 91 "samp2Ds"\r
- Name 100 "sampCubes"\r
- Name 109 "samp1DAs"\r
- Name 118 "samp2DAs"\r
- Name 127 "sampCubeAs"\r
- Name 134 "levels"\r
- Name 140 "usamp2D"\r
- Name 148 "isamp3D"\r
- Name 156 "isampCube"\r
- Name 168 "samp2DA"\r
- Name 176 "usampCubeA"\r
- Name 206 "sampBuf"\r
- Name 210 "sampRect"\r
+ Name 24 "isamp2D"\r
+ Name 26 "pf2"\r
+ Name 36 "usamp3D"\r
+ Name 40 "pf3"\r
+ Name 49 "sampCube"\r
+ Name 59 "isamp1DA"\r
+ Name 69 "usamp2DA"\r
+ Name 79 "isampCubeA"\r
+ Name 89 "samp1Ds"\r
+ Name 99 "samp2Ds"\r
+ Name 109 "sampCubes"\r
+ Name 119 "samp1DAs"\r
+ Name 129 "samp2DAs"\r
+ Name 139 "sampCubeAs"\r
+ Name 147 "levels"\r
+ Name 154 "usamp2D"\r
+ Name 163 "isamp3D"\r
+ Name 172 "isampCube"\r
+ Name 186 "samp2DA"\r
+ Name 195 "usampCubeA"\r
+ Name 232 "sampBuf"\r
+ Name 236 "sampRect"\r
2: TypeVoid\r
3: TypeFunction 2\r
6: TypeFloat 32\r
12: TypePointer UniformConstant 11\r
13(samp1D): 12(ptr) Variable UniformConstant\r
15: TypePointer Function 6(float)\r
- 19: TypeInt 32 1\r
- 20: TypeImage 19(int) 2D sampled format:Unknown\r
- 21: TypeSampledImage 20\r
- 22: TypePointer UniformConstant 21\r
- 23(isamp2D): 22(ptr) Variable UniformConstant\r
- 30: TypeInt 32 0\r
- 31: TypeImage 30(int) 3D sampled format:Unknown\r
- 32: TypeSampledImage 31\r
- 33: TypePointer UniformConstant 32\r
- 34(usamp3D): 33(ptr) Variable UniformConstant\r
- 36: TypeVector 6(float) 3\r
- 37: TypePointer Function 36(fvec3)\r
- 43: TypeImage 6(float) Cube sampled format:Unknown\r
- 44: TypeSampledImage 43\r
- 45: TypePointer UniformConstant 44\r
- 46(sampCube): 45(ptr) Variable UniformConstant\r
- 52: TypeImage 19(int) 1D array sampled format:Unknown\r
- 53: TypeSampledImage 52\r
- 54: TypePointer UniformConstant 53\r
- 55(isamp1DA): 54(ptr) Variable UniformConstant\r
- 61: TypeImage 30(int) 2D array sampled format:Unknown\r
- 62: TypeSampledImage 61\r
- 63: TypePointer UniformConstant 62\r
- 64(usamp2DA): 63(ptr) Variable UniformConstant\r
- 70: TypeImage 19(int) Cube array sampled format:Unknown\r
- 71: TypeSampledImage 70\r
- 72: TypePointer UniformConstant 71\r
- 73(isampCubeA): 72(ptr) Variable UniformConstant\r
- 79: TypeImage 6(float) 1D depth sampled format:Unknown\r
- 80: TypeSampledImage 79\r
- 81: TypePointer UniformConstant 80\r
- 82(samp1Ds): 81(ptr) Variable UniformConstant\r
- 88: TypeImage 6(float) 2D depth sampled format:Unknown\r
- 89: TypeSampledImage 88\r
- 90: TypePointer UniformConstant 89\r
- 91(samp2Ds): 90(ptr) Variable UniformConstant\r
- 97: TypeImage 6(float) Cube depth sampled format:Unknown\r
- 98: TypeSampledImage 97\r
- 99: TypePointer UniformConstant 98\r
- 100(sampCubes): 99(ptr) Variable UniformConstant\r
- 106: TypeImage 6(float) 1D depth array sampled format:Unknown\r
+ 20: TypeInt 32 1\r
+ 21: TypeImage 20(int) 2D sampled format:Unknown\r
+ 22: TypeSampledImage 21\r
+ 23: TypePointer UniformConstant 22\r
+ 24(isamp2D): 23(ptr) Variable UniformConstant\r
+ 32: TypeInt 32 0\r
+ 33: TypeImage 32(int) 3D sampled format:Unknown\r
+ 34: TypeSampledImage 33\r
+ 35: TypePointer UniformConstant 34\r
+ 36(usamp3D): 35(ptr) Variable UniformConstant\r
+ 38: TypeVector 6(float) 3\r
+ 39: TypePointer Function 38(fvec3)\r
+ 46: TypeImage 6(float) Cube sampled format:Unknown\r
+ 47: TypeSampledImage 46\r
+ 48: TypePointer UniformConstant 47\r
+ 49(sampCube): 48(ptr) Variable UniformConstant\r
+ 56: TypeImage 20(int) 1D array sampled format:Unknown\r
+ 57: TypeSampledImage 56\r
+ 58: TypePointer UniformConstant 57\r
+ 59(isamp1DA): 58(ptr) Variable UniformConstant\r
+ 66: TypeImage 32(int) 2D array sampled format:Unknown\r
+ 67: TypeSampledImage 66\r
+ 68: TypePointer UniformConstant 67\r
+ 69(usamp2DA): 68(ptr) Variable UniformConstant\r
+ 76: TypeImage 20(int) Cube array sampled format:Unknown\r
+ 77: TypeSampledImage 76\r
+ 78: TypePointer UniformConstant 77\r
+ 79(isampCubeA): 78(ptr) Variable UniformConstant\r
+ 86: TypeImage 6(float) 1D depth sampled format:Unknown\r
+ 87: TypeSampledImage 86\r
+ 88: TypePointer UniformConstant 87\r
+ 89(samp1Ds): 88(ptr) Variable UniformConstant\r
+ 96: TypeImage 6(float) 2D depth sampled format:Unknown\r
+ 97: TypeSampledImage 96\r
+ 98: TypePointer UniformConstant 97\r
+ 99(samp2Ds): 98(ptr) Variable UniformConstant\r
+ 106: TypeImage 6(float) Cube depth sampled format:Unknown\r
107: TypeSampledImage 106\r
108: TypePointer UniformConstant 107\r
- 109(samp1DAs): 108(ptr) Variable UniformConstant\r
- 115: TypeImage 6(float) 2D depth array sampled format:Unknown\r
- 116: TypeSampledImage 115\r
- 117: TypePointer UniformConstant 116\r
- 118(samp2DAs): 117(ptr) Variable UniformConstant\r
- 124: TypeImage 6(float) Cube depth array sampled format:Unknown\r
- 125: TypeSampledImage 124\r
- 126: TypePointer UniformConstant 125\r
- 127(sampCubeAs): 126(ptr) Variable UniformConstant\r
- 133: TypePointer Function 19(int)\r
- 137: TypeImage 30(int) 2D sampled format:Unknown\r
- 138: TypeSampledImage 137\r
- 139: TypePointer UniformConstant 138\r
- 140(usamp2D): 139(ptr) Variable UniformConstant\r
- 145: TypeImage 19(int) 3D sampled format:Unknown\r
- 146: TypeSampledImage 145\r
- 147: TypePointer UniformConstant 146\r
- 148(isamp3D): 147(ptr) Variable UniformConstant\r
- 153: TypeImage 19(int) Cube sampled format:Unknown\r
- 154: TypeSampledImage 153\r
- 155: TypePointer UniformConstant 154\r
- 156(isampCube): 155(ptr) Variable UniformConstant\r
- 165: TypeImage 6(float) 2D array sampled format:Unknown\r
- 166: TypeSampledImage 165\r
- 167: TypePointer UniformConstant 166\r
- 168(samp2DA): 167(ptr) Variable UniformConstant\r
- 173: TypeImage 30(int) Cube array sampled format:Unknown\r
- 174: TypeSampledImage 173\r
- 175: TypePointer UniformConstant 174\r
- 176(usampCubeA): 175(ptr) Variable UniformConstant\r
- 203: TypeImage 6(float) Buffer sampled format:Unknown\r
- 204: TypeSampledImage 203\r
- 205: TypePointer UniformConstant 204\r
- 206(sampBuf): 205(ptr) Variable UniformConstant\r
- 207: TypeImage 6(float) Rect sampled format:Unknown\r
- 208: TypeSampledImage 207\r
- 209: TypePointer UniformConstant 208\r
- 210(sampRect): 209(ptr) Variable UniformConstant\r
+ 109(sampCubes): 108(ptr) Variable UniformConstant\r
+ 116: TypeImage 6(float) 1D depth array sampled format:Unknown\r
+ 117: TypeSampledImage 116\r
+ 118: TypePointer UniformConstant 117\r
+ 119(samp1DAs): 118(ptr) Variable UniformConstant\r
+ 126: TypeImage 6(float) 2D depth array sampled format:Unknown\r
+ 127: TypeSampledImage 126\r
+ 128: TypePointer UniformConstant 127\r
+ 129(samp2DAs): 128(ptr) Variable UniformConstant\r
+ 136: TypeImage 6(float) Cube depth array sampled format:Unknown\r
+ 137: TypeSampledImage 136\r
+ 138: TypePointer UniformConstant 137\r
+ 139(sampCubeAs): 138(ptr) Variable UniformConstant\r
+ 146: TypePointer Function 20(int)\r
+ 151: TypeImage 32(int) 2D sampled format:Unknown\r
+ 152: TypeSampledImage 151\r
+ 153: TypePointer UniformConstant 152\r
+ 154(usamp2D): 153(ptr) Variable UniformConstant\r
+ 160: TypeImage 20(int) 3D sampled format:Unknown\r
+ 161: TypeSampledImage 160\r
+ 162: TypePointer UniformConstant 161\r
+ 163(isamp3D): 162(ptr) Variable UniformConstant\r
+ 169: TypeImage 20(int) Cube sampled format:Unknown\r
+ 170: TypeSampledImage 169\r
+ 171: TypePointer UniformConstant 170\r
+ 172(isampCube): 171(ptr) Variable UniformConstant\r
+ 183: TypeImage 6(float) 2D array sampled format:Unknown\r
+ 184: TypeSampledImage 183\r
+ 185: TypePointer UniformConstant 184\r
+ 186(samp2DA): 185(ptr) Variable UniformConstant\r
+ 192: TypeImage 32(int) Cube array sampled format:Unknown\r
+ 193: TypeSampledImage 192\r
+ 194: TypePointer UniformConstant 193\r
+ 195(usampCubeA): 194(ptr) Variable UniformConstant\r
+ 229: TypeImage 6(float) Buffer sampled format:Unknown\r
+ 230: TypeSampledImage 229\r
+ 231: TypePointer UniformConstant 230\r
+ 232(sampBuf): 231(ptr) Variable UniformConstant\r
+ 233: TypeImage 6(float) Rect sampled format:Unknown\r
+ 234: TypeSampledImage 233\r
+ 235: TypePointer UniformConstant 234\r
+ 236(sampRect): 235(ptr) Variable UniformConstant\r
4(main): 2 Function None 3\r
5: Label\r
9(lod): 8(ptr) Variable Function\r
16(pf): 15(ptr) Variable Function\r
- 25(pf2): 8(ptr) Variable Function\r
- 38(pf3): 37(ptr) Variable Function\r
- 134(levels): 133(ptr) Variable Function\r
+ 26(pf2): 8(ptr) Variable Function\r
+ 40(pf3): 39(ptr) Variable Function\r
+ 147(levels): 146(ptr) Variable Function\r
14: 11 Load 13(samp1D)\r
17: 6(float) Load 16(pf)\r
- 18: 7(fvec2) ImageQueryLod 14 17\r
- Store 9(lod) 18\r
- 24: 21 Load 23(isamp2D)\r
- 26: 7(fvec2) Load 25(pf2)\r
- 27: 7(fvec2) ImageQueryLod 24 26\r
- 28: 7(fvec2) Load 9(lod)\r
- 29: 7(fvec2) FAdd 28 27\r
- Store 9(lod) 29\r
- 35: 32 Load 34(usamp3D)\r
- 39: 36(fvec3) Load 38(pf3)\r
- 40: 7(fvec2) ImageQueryLod 35 39\r
- 41: 7(fvec2) Load 9(lod)\r
- 42: 7(fvec2) FAdd 41 40\r
- Store 9(lod) 42\r
- 47: 44 Load 46(sampCube)\r
- 48: 36(fvec3) Load 38(pf3)\r
- 49: 7(fvec2) ImageQueryLod 47 48\r
- 50: 7(fvec2) Load 9(lod)\r
- 51: 7(fvec2) FAdd 50 49\r
- Store 9(lod) 51\r
- 56: 53 Load 55(isamp1DA)\r
- 57: 6(float) Load 16(pf)\r
- 58: 7(fvec2) ImageQueryLod 56 57\r
- 59: 7(fvec2) Load 9(lod)\r
- 60: 7(fvec2) FAdd 59 58\r
- Store 9(lod) 60\r
- 65: 62 Load 64(usamp2DA)\r
- 66: 7(fvec2) Load 25(pf2)\r
- 67: 7(fvec2) ImageQueryLod 65 66\r
- 68: 7(fvec2) Load 9(lod)\r
- 69: 7(fvec2) FAdd 68 67\r
- Store 9(lod) 69\r
- 74: 71 Load 73(isampCubeA)\r
- 75: 36(fvec3) Load 38(pf3)\r
- 76: 7(fvec2) ImageQueryLod 74 75\r
- 77: 7(fvec2) Load 9(lod)\r
- 78: 7(fvec2) FAdd 77 76\r
- Store 9(lod) 78\r
- 83: 80 Load 82(samp1Ds)\r
- 84: 6(float) Load 16(pf)\r
- 85: 7(fvec2) ImageQueryLod 83 84\r
- 86: 7(fvec2) Load 9(lod)\r
- 87: 7(fvec2) FAdd 86 85\r
- Store 9(lod) 87\r
- 92: 89 Load 91(samp2Ds)\r
- 93: 7(fvec2) Load 25(pf2)\r
- 94: 7(fvec2) ImageQueryLod 92 93\r
- 95: 7(fvec2) Load 9(lod)\r
- 96: 7(fvec2) FAdd 95 94\r
- Store 9(lod) 96\r
- 101: 98 Load 100(sampCubes)\r
- 102: 36(fvec3) Load 38(pf3)\r
- 103: 7(fvec2) ImageQueryLod 101 102\r
+ 18: 10 Image 14\r
+ 19: 7(fvec2) ImageQueryLod 18 17\r
+ Store 9(lod) 19\r
+ 25: 22 Load 24(isamp2D)\r
+ 27: 7(fvec2) Load 26(pf2)\r
+ 28: 21 Image 25\r
+ 29: 7(fvec2) ImageQueryLod 28 27\r
+ 30: 7(fvec2) Load 9(lod)\r
+ 31: 7(fvec2) FAdd 30 29\r
+ Store 9(lod) 31\r
+ 37: 34 Load 36(usamp3D)\r
+ 41: 38(fvec3) Load 40(pf3)\r
+ 42: 33 Image 37\r
+ 43: 7(fvec2) ImageQueryLod 42 41\r
+ 44: 7(fvec2) Load 9(lod)\r
+ 45: 7(fvec2) FAdd 44 43\r
+ Store 9(lod) 45\r
+ 50: 47 Load 49(sampCube)\r
+ 51: 38(fvec3) Load 40(pf3)\r
+ 52: 46 Image 50\r
+ 53: 7(fvec2) ImageQueryLod 52 51\r
+ 54: 7(fvec2) Load 9(lod)\r
+ 55: 7(fvec2) FAdd 54 53\r
+ Store 9(lod) 55\r
+ 60: 57 Load 59(isamp1DA)\r
+ 61: 6(float) Load 16(pf)\r
+ 62: 56 Image 60\r
+ 63: 7(fvec2) ImageQueryLod 62 61\r
+ 64: 7(fvec2) Load 9(lod)\r
+ 65: 7(fvec2) FAdd 64 63\r
+ Store 9(lod) 65\r
+ 70: 67 Load 69(usamp2DA)\r
+ 71: 7(fvec2) Load 26(pf2)\r
+ 72: 66 Image 70\r
+ 73: 7(fvec2) ImageQueryLod 72 71\r
+ 74: 7(fvec2) Load 9(lod)\r
+ 75: 7(fvec2) FAdd 74 73\r
+ Store 9(lod) 75\r
+ 80: 77 Load 79(isampCubeA)\r
+ 81: 38(fvec3) Load 40(pf3)\r
+ 82: 76 Image 80\r
+ 83: 7(fvec2) ImageQueryLod 82 81\r
+ 84: 7(fvec2) Load 9(lod)\r
+ 85: 7(fvec2) FAdd 84 83\r
+ Store 9(lod) 85\r
+ 90: 87 Load 89(samp1Ds)\r
+ 91: 6(float) Load 16(pf)\r
+ 92: 86 Image 90\r
+ 93: 7(fvec2) ImageQueryLod 92 91\r
+ 94: 7(fvec2) Load 9(lod)\r
+ 95: 7(fvec2) FAdd 94 93\r
+ Store 9(lod) 95\r
+ 100: 97 Load 99(samp2Ds)\r
+ 101: 7(fvec2) Load 26(pf2)\r
+ 102: 96 Image 100\r
+ 103: 7(fvec2) ImageQueryLod 102 101\r
104: 7(fvec2) Load 9(lod)\r
105: 7(fvec2) FAdd 104 103\r
Store 9(lod) 105\r
- 110: 107 Load 109(samp1DAs)\r
- 111: 6(float) Load 16(pf)\r
- 112: 7(fvec2) ImageQueryLod 110 111\r
- 113: 7(fvec2) Load 9(lod)\r
- 114: 7(fvec2) FAdd 113 112\r
- Store 9(lod) 114\r
- 119: 116 Load 118(samp2DAs)\r
- 120: 7(fvec2) Load 25(pf2)\r
- 121: 7(fvec2) ImageQueryLod 119 120\r
- 122: 7(fvec2) Load 9(lod)\r
- 123: 7(fvec2) FAdd 122 121\r
- Store 9(lod) 123\r
- 128: 125 Load 127(sampCubeAs)\r
- 129: 36(fvec3) Load 38(pf3)\r
- 130: 7(fvec2) ImageQueryLod 128 129\r
- 131: 7(fvec2) Load 9(lod)\r
- 132: 7(fvec2) FAdd 131 130\r
- Store 9(lod) 132\r
- 135: 11 Load 13(samp1D)\r
- 136: 19(int) ImageQueryLevels 135\r
- Store 134(levels) 136\r
- 141: 138 Load 140(usamp2D)\r
- 142: 19(int) ImageQueryLevels 141\r
- 143: 19(int) Load 134(levels)\r
- 144: 19(int) IAdd 143 142\r
- Store 134(levels) 144\r
- 149: 146 Load 148(isamp3D)\r
- 150: 19(int) ImageQueryLevels 149\r
- 151: 19(int) Load 134(levels)\r
- 152: 19(int) IAdd 151 150\r
- Store 134(levels) 152\r
- 157: 154 Load 156(isampCube)\r
- 158: 19(int) ImageQueryLevels 157\r
- 159: 19(int) Load 134(levels)\r
- 160: 19(int) IAdd 159 158\r
- Store 134(levels) 160\r
- 161: 53 Load 55(isamp1DA)\r
- 162: 19(int) ImageQueryLevels 161\r
- 163: 19(int) Load 134(levels)\r
- 164: 19(int) IAdd 163 162\r
- Store 134(levels) 164\r
- 169: 166 Load 168(samp2DA)\r
- 170: 19(int) ImageQueryLevels 169\r
- 171: 19(int) Load 134(levels)\r
- 172: 19(int) IAdd 171 170\r
- Store 134(levels) 172\r
- 177: 174 Load 176(usampCubeA)\r
- 178: 19(int) ImageQueryLevels 177\r
- 179: 19(int) Load 134(levels)\r
- 180: 19(int) IAdd 179 178\r
- Store 134(levels) 180\r
- 181: 80 Load 82(samp1Ds)\r
- 182: 19(int) ImageQueryLevels 181\r
- Store 134(levels) 182\r
- 183: 89 Load 91(samp2Ds)\r
- 184: 19(int) ImageQueryLevels 183\r
- 185: 19(int) Load 134(levels)\r
- 186: 19(int) IAdd 185 184\r
- Store 134(levels) 186\r
- 187: 98 Load 100(sampCubes)\r
- 188: 19(int) ImageQueryLevels 187\r
- 189: 19(int) Load 134(levels)\r
- 190: 19(int) IAdd 189 188\r
- Store 134(levels) 190\r
- 191: 107 Load 109(samp1DAs)\r
- 192: 19(int) ImageQueryLevels 191\r
- 193: 19(int) Load 134(levels)\r
- 194: 19(int) IAdd 193 192\r
- Store 134(levels) 194\r
- 195: 116 Load 118(samp2DAs)\r
- 196: 19(int) ImageQueryLevels 195\r
- 197: 19(int) Load 134(levels)\r
- 198: 19(int) IAdd 197 196\r
- Store 134(levels) 198\r
- 199: 125 Load 127(sampCubeAs)\r
- 200: 19(int) ImageQueryLevels 199\r
- 201: 19(int) Load 134(levels)\r
- 202: 19(int) IAdd 201 200\r
- Store 134(levels) 202\r
+ 110: 107 Load 109(sampCubes)\r
+ 111: 38(fvec3) Load 40(pf3)\r
+ 112: 106 Image 110\r
+ 113: 7(fvec2) ImageQueryLod 112 111\r
+ 114: 7(fvec2) Load 9(lod)\r
+ 115: 7(fvec2) FAdd 114 113\r
+ Store 9(lod) 115\r
+ 120: 117 Load 119(samp1DAs)\r
+ 121: 6(float) Load 16(pf)\r
+ 122: 116 Image 120\r
+ 123: 7(fvec2) ImageQueryLod 122 121\r
+ 124: 7(fvec2) Load 9(lod)\r
+ 125: 7(fvec2) FAdd 124 123\r
+ Store 9(lod) 125\r
+ 130: 127 Load 129(samp2DAs)\r
+ 131: 7(fvec2) Load 26(pf2)\r
+ 132: 126 Image 130\r
+ 133: 7(fvec2) ImageQueryLod 132 131\r
+ 134: 7(fvec2) Load 9(lod)\r
+ 135: 7(fvec2) FAdd 134 133\r
+ Store 9(lod) 135\r
+ 140: 137 Load 139(sampCubeAs)\r
+ 141: 38(fvec3) Load 40(pf3)\r
+ 142: 136 Image 140\r
+ 143: 7(fvec2) ImageQueryLod 142 141\r
+ 144: 7(fvec2) Load 9(lod)\r
+ 145: 7(fvec2) FAdd 144 143\r
+ Store 9(lod) 145\r
+ 148: 11 Load 13(samp1D)\r
+ 149: 10 Image 148\r
+ 150: 20(int) ImageQueryLevels 149\r
+ Store 147(levels) 150\r
+ 155: 152 Load 154(usamp2D)\r
+ 156: 151 Image 155\r
+ 157: 20(int) ImageQueryLevels 156\r
+ 158: 20(int) Load 147(levels)\r
+ 159: 20(int) IAdd 158 157\r
+ Store 147(levels) 159\r
+ 164: 161 Load 163(isamp3D)\r
+ 165: 160 Image 164\r
+ 166: 20(int) ImageQueryLevels 165\r
+ 167: 20(int) Load 147(levels)\r
+ 168: 20(int) IAdd 167 166\r
+ Store 147(levels) 168\r
+ 173: 170 Load 172(isampCube)\r
+ 174: 169 Image 173\r
+ 175: 20(int) ImageQueryLevels 174\r
+ 176: 20(int) Load 147(levels)\r
+ 177: 20(int) IAdd 176 175\r
+ Store 147(levels) 177\r
+ 178: 57 Load 59(isamp1DA)\r
+ 179: 56 Image 178\r
+ 180: 20(int) ImageQueryLevels 179\r
+ 181: 20(int) Load 147(levels)\r
+ 182: 20(int) IAdd 181 180\r
+ Store 147(levels) 182\r
+ 187: 184 Load 186(samp2DA)\r
+ 188: 183 Image 187\r
+ 189: 20(int) ImageQueryLevels 188\r
+ 190: 20(int) Load 147(levels)\r
+ 191: 20(int) IAdd 190 189\r
+ Store 147(levels) 191\r
+ 196: 193 Load 195(usampCubeA)\r
+ 197: 192 Image 196\r
+ 198: 20(int) ImageQueryLevels 197\r
+ 199: 20(int) Load 147(levels)\r
+ 200: 20(int) IAdd 199 198\r
+ Store 147(levels) 200\r
+ 201: 87 Load 89(samp1Ds)\r
+ 202: 86 Image 201\r
+ 203: 20(int) ImageQueryLevels 202\r
+ Store 147(levels) 203\r
+ 204: 97 Load 99(samp2Ds)\r
+ 205: 96 Image 204\r
+ 206: 20(int) ImageQueryLevels 205\r
+ 207: 20(int) Load 147(levels)\r
+ 208: 20(int) IAdd 207 206\r
+ Store 147(levels) 208\r
+ 209: 107 Load 109(sampCubes)\r
+ 210: 106 Image 209\r
+ 211: 20(int) ImageQueryLevels 210\r
+ 212: 20(int) Load 147(levels)\r
+ 213: 20(int) IAdd 212 211\r
+ Store 147(levels) 213\r
+ 214: 117 Load 119(samp1DAs)\r
+ 215: 116 Image 214\r
+ 216: 20(int) ImageQueryLevels 215\r
+ 217: 20(int) Load 147(levels)\r
+ 218: 20(int) IAdd 217 216\r
+ Store 147(levels) 218\r
+ 219: 127 Load 129(samp2DAs)\r
+ 220: 126 Image 219\r
+ 221: 20(int) ImageQueryLevels 220\r
+ 222: 20(int) Load 147(levels)\r
+ 223: 20(int) IAdd 222 221\r
+ Store 147(levels) 223\r
+ 224: 137 Load 139(sampCubeAs)\r
+ 225: 136 Image 224\r
+ 226: 20(int) ImageQueryLevels 225\r
+ 227: 20(int) Load 147(levels)\r
+ 228: 20(int) IAdd 227 226\r
+ Store 147(levels) 228\r
Return\r
FunctionEnd\r
// 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 "SPIRV99.824"
-#define GLSLANG_DATE "06-Dec-2015"
+#define GLSLANG_REVISION "SPIRV99.830"
+#define GLSLANG_DATE "08-Dec-2015"