diff --git a/SPIRV/GlslangToSpv.cpp b/SPIRV/GlslangToSpv.cpp index 39b4ea6e..b41afc59 100755 --- a/SPIRV/GlslangToSpv.cpp +++ b/SPIRV/GlslangToSpv.cpp @@ -2677,6 +2677,30 @@ spv::Id TGlslangToSpvTraverser::createImageTextureFunctionCall(glslang::TIntermO } } + // projective component (might not to move) + // GLSL: "The texture coordinates consumed from P, not including the last component of P, + // are divided by the last component of P." + // SPIR-V: "... (u [, v] [, w], q)... It may be a vector larger than needed, but all + // unused components will appear after all used components." + if (cracked.proj) { + int projSourceComp = builder.getNumComponents(params.coords) - 1; + int projTargetComp; + switch (sampler.dim) { + case glslang::Esd1D: projTargetComp = 1; break; + case glslang::Esd2D: projTargetComp = 2; break; + case glslang::EsdRect: projTargetComp = 2; break; + default: projTargetComp = projSourceComp; break; + } + // copy the projective coordinate if we have to + if (projTargetComp != projSourceComp) { + spv::Id projComp = builder.createCompositeExtract(params.coords, + builder.getScalarTypeId(builder.getTypeId(params.coords)), + projSourceComp); + params.coords = builder.createCompositeInsert(projComp, params.coords, + builder.getTypeId(params.coords), projTargetComp); + } + } + return builder.createTextureCall(precision, convertGlslangToSpvType(node->getType()), sparse, cracked.fetch, cracked.proj, cracked.gather, noImplicitLod, params); } diff --git a/Test/baseResults/spv.400.frag.out b/Test/baseResults/spv.400.frag.out index 4af713c4..f06b0fcd 100644 --- a/Test/baseResults/spv.400.frag.out +++ b/Test/baseResults/spv.400.frag.out @@ -7,7 +7,7 @@ Linked fragment stage: // Module Version 10000 // Generated by (magic number): 80001 -// Id's are bound by 1112 +// Id's are bound by 1114 Capability Shader Capability Float64 @@ -16,7 +16,7 @@ Linked fragment stage: Capability SampledRect 1: ExtInstImport "GLSL.std.450" MemoryModel Logical GLSL450 - EntryPoint Fragment 4 "main" 13 1025 1031 1036 1048 1074 1095 1097 1103 1105 + EntryPoint Fragment 4 "main" 13 1027 1033 1038 1050 1076 1097 1099 1105 1107 ExecutionMode 4 OriginUpperLeft Source GLSL 400 SourceExtension "GL_ARB_separate_shader_objects" @@ -25,45 +25,45 @@ Linked fragment stage: Name 8 "doubles(" Name 13 "outp" Name 17 "u2drs" - Name 39 "doublev" - Name 43 "dvec2v" - Name 48 "dvec3v" - Name 53 "dvec4v" - Name 428 "boolv" - Name 437 "bvec2v" - Name 446 "bvec3v" - Name 455 "bvec4v" - Name 737 "dmat2v" - Name 743 "dmat3v" - Name 749 "dmat4v" - Name 755 "dmat2x3v" - Name 761 "dmat3x2v" - Name 767 "dmat2x4v" - Name 773 "dmat4x2v" - Name 779 "dmat3x4v" - Name 785 "dmat4x3v" - Name 1017 "v" - Name 1023 "arrayedSampler" - Name 1025 "i" - Name 1031 "c2D" - Name 1036 "gl_ClipDistance" - Name 1048 "uoutp" - Name 1052 "samp2dr" - Name 1074 "ioutp" - Name 1078 "isamp2DA" - Name 1095 "gl_FragCoord" - Name 1097 "vl2" - Name 1103 "uo" - Name 1105 "u" + Name 41 "doublev" + Name 45 "dvec2v" + Name 50 "dvec3v" + Name 55 "dvec4v" + Name 430 "boolv" + Name 439 "bvec2v" + Name 448 "bvec3v" + Name 457 "bvec4v" + Name 739 "dmat2v" + Name 745 "dmat3v" + Name 751 "dmat4v" + Name 757 "dmat2x3v" + Name 763 "dmat3x2v" + Name 769 "dmat2x4v" + Name 775 "dmat4x2v" + Name 781 "dmat3x4v" + Name 787 "dmat4x3v" + Name 1019 "v" + Name 1025 "arrayedSampler" + Name 1027 "i" + Name 1033 "c2D" + Name 1038 "gl_ClipDistance" + Name 1050 "uoutp" + Name 1054 "samp2dr" + Name 1076 "ioutp" + Name 1080 "isamp2DA" + Name 1097 "gl_FragCoord" + Name 1099 "vl2" + Name 1105 "uo" + Name 1107 "u" Decorate 17(u2drs) DescriptorSet 0 - Decorate 1023(arrayedSampler) DescriptorSet 0 - Decorate 1025(i) Flat - Decorate 1036(gl_ClipDistance) BuiltIn ClipDistance - Decorate 1052(samp2dr) DescriptorSet 0 - Decorate 1078(isamp2DA) DescriptorSet 0 - Decorate 1095(gl_FragCoord) BuiltIn FragCoord - Decorate 1097(vl2) Location 6 - Decorate 1105(u) Flat + Decorate 1025(arrayedSampler) DescriptorSet 0 + Decorate 1027(i) Flat + Decorate 1038(gl_ClipDistance) BuiltIn ClipDistance + Decorate 1054(samp2dr) DescriptorSet 0 + Decorate 1080(isamp2DA) DescriptorSet 0 + Decorate 1097(gl_FragCoord) BuiltIn FragCoord + Decorate 1099(vl2) Location 6 + Decorate 1107(u) Flat 2: TypeVoid 3: TypeFunction 2 10: TypeFloat 32 @@ -82,166 +82,166 @@ Linked fragment stage: 25: 23(int) Constant 3 26: 23(int) Constant 4 27: 24(ivec2) ConstantComposite 25 26 - 30: TypeInt 32 0 - 31: 30(int) Constant 0 - 32: TypePointer Output 10(float) - 37: TypeFloat 64 - 38: TypePointer Function 37(float) - 40: 37(float) Constant 2507418074 1073430332 - 41: TypeVector 37(float) 2 - 42: TypePointer Function 41(fvec2) - 44: 37(float) Constant 796182188 1073367658 - 45: 41(fvec2) ConstantComposite 44 44 - 46: TypeVector 37(float) 3 - 47: TypePointer Function 46(fvec3) - 49: 37(float) Constant 1719614413 1073127582 - 50: 46(fvec3) ConstantComposite 49 49 49 - 51: TypeVector 37(float) 4 - 52: TypePointer Function 51(fvec4) - 426: TypeBool - 427: TypePointer Function 426(bool) - 435: TypeVector 426(bool) 2 - 436: TypePointer Function 435(bvec2) - 444: TypeVector 426(bool) 3 - 445: TypePointer Function 444(bvec3) - 453: TypeVector 426(bool) 4 - 454: TypePointer Function 453(bvec4) - 561: 426(bool) ConstantFalse - 570: 435(bvec2) ConstantComposite 561 561 - 579: 444(bvec3) ConstantComposite 561 561 561 - 588: 453(bvec4) ConstantComposite 561 561 561 561 - 735: TypeMatrix 41(fvec2) 2 - 736: TypePointer Function 735 - 741: TypeMatrix 46(fvec3) 3 - 742: TypePointer Function 741 - 747: TypeMatrix 51(fvec4) 4 - 748: TypePointer Function 747 - 753: TypeMatrix 46(fvec3) 2 - 754: TypePointer Function 753 - 759: TypeMatrix 41(fvec2) 3 - 760: TypePointer Function 759 - 765: TypeMatrix 51(fvec4) 2 - 766: TypePointer Function 765 - 771: TypeMatrix 41(fvec2) 4 - 772: TypePointer Function 771 - 777: TypeMatrix 51(fvec4) 3 - 778: TypePointer Function 777 - 783: TypeMatrix 46(fvec3) 4 - 784: TypePointer Function 783 - 952: 30(int) Constant 1 - 956: 30(int) Constant 2 - 960: 30(int) Constant 3 - 964: 23(int) Constant 1 - 968: 23(int) Constant 2 - 994: 10(float) Constant 1065353216 - 1016: TypePointer Function 11(fvec4) - 1018: TypeImage 10(float) 2D sampled format:Unknown - 1019: TypeSampledImage 1018 - 1020: 30(int) Constant 5 - 1021: TypeArray 1019 1020 - 1022: TypePointer UniformConstant 1021 -1023(arrayedSampler): 1022(ptr) Variable UniformConstant - 1024: TypePointer Input 23(int) - 1025(i): 1024(ptr) Variable Input - 1027: TypePointer UniformConstant 1019 - 1030: TypePointer Input 20(fvec2) - 1031(c2D): 1030(ptr) Variable Input - 1034: TypeArray 10(float) 956 - 1035: TypePointer Input 1034 -1036(gl_ClipDistance): 1035(ptr) Variable Input - 1037: TypePointer Input 10(float) - 1041: TypeVector 10(float) 3 - 1046: TypeVector 30(int) 4 - 1047: TypePointer Output 1046(ivec4) - 1048(uoutp): 1047(ptr) Variable Output - 1049: TypeImage 30(int) Rect sampled format:Unknown - 1050: TypeSampledImage 1049 - 1051: TypePointer UniformConstant 1050 - 1052(samp2dr): 1051(ptr) Variable UniformConstant - 1055: 30(int) Constant 4 - 1056: TypeArray 24(ivec2) 1055 - 1057: 24(ivec2) ConstantComposite 964 968 - 1058: 23(int) Constant 15 - 1059: 23(int) Constant 16 - 1060: 24(ivec2) ConstantComposite 1058 1059 - 1061: 23(int) Constant 4294967294 - 1062: 23(int) Constant 0 - 1063: 24(ivec2) ConstantComposite 1061 1062 - 1064: 1056 ConstantComposite 1057 27 1060 1063 - 1072: TypeVector 23(int) 4 - 1073: TypePointer Output 1072(ivec4) - 1074(ioutp): 1073(ptr) Variable Output - 1075: TypeImage 23(int) 2D array sampled format:Unknown - 1076: TypeSampledImage 1075 - 1077: TypePointer UniformConstant 1076 - 1078(isamp2DA): 1077(ptr) Variable UniformConstant - 1080: 10(float) Constant 1036831949 - 1081: 1041(fvec3) ConstantComposite 1080 1080 1080 - 1082: 24(ivec2) ConstantComposite 964 964 - 1094: TypePointer Input 11(fvec4) -1095(gl_FragCoord): 1094(ptr) Variable Input - 1097(vl2): 1094(ptr) Variable Input - 1102: TypePointer Output 30(int) - 1103(uo): 1102(ptr) Variable Output - 1104: TypePointer Input 30(int) - 1105(u): 1104(ptr) Variable Input + 32: TypeInt 32 0 + 33: 32(int) Constant 0 + 34: TypePointer Output 10(float) + 39: TypeFloat 64 + 40: TypePointer Function 39(float) + 42: 39(float) Constant 2507418074 1073430332 + 43: TypeVector 39(float) 2 + 44: TypePointer Function 43(fvec2) + 46: 39(float) Constant 796182188 1073367658 + 47: 43(fvec2) ConstantComposite 46 46 + 48: TypeVector 39(float) 3 + 49: TypePointer Function 48(fvec3) + 51: 39(float) Constant 1719614413 1073127582 + 52: 48(fvec3) ConstantComposite 51 51 51 + 53: TypeVector 39(float) 4 + 54: TypePointer Function 53(fvec4) + 428: TypeBool + 429: TypePointer Function 428(bool) + 437: TypeVector 428(bool) 2 + 438: TypePointer Function 437(bvec2) + 446: TypeVector 428(bool) 3 + 447: TypePointer Function 446(bvec3) + 455: TypeVector 428(bool) 4 + 456: TypePointer Function 455(bvec4) + 563: 428(bool) ConstantFalse + 572: 437(bvec2) ConstantComposite 563 563 + 581: 446(bvec3) ConstantComposite 563 563 563 + 590: 455(bvec4) ConstantComposite 563 563 563 563 + 737: TypeMatrix 43(fvec2) 2 + 738: TypePointer Function 737 + 743: TypeMatrix 48(fvec3) 3 + 744: TypePointer Function 743 + 749: TypeMatrix 53(fvec4) 4 + 750: TypePointer Function 749 + 755: TypeMatrix 48(fvec3) 2 + 756: TypePointer Function 755 + 761: TypeMatrix 43(fvec2) 3 + 762: TypePointer Function 761 + 767: TypeMatrix 53(fvec4) 2 + 768: TypePointer Function 767 + 773: TypeMatrix 43(fvec2) 4 + 774: TypePointer Function 773 + 779: TypeMatrix 53(fvec4) 3 + 780: TypePointer Function 779 + 785: TypeMatrix 48(fvec3) 4 + 786: TypePointer Function 785 + 954: 32(int) Constant 1 + 958: 32(int) Constant 2 + 962: 32(int) Constant 3 + 966: 23(int) Constant 1 + 970: 23(int) Constant 2 + 996: 10(float) Constant 1065353216 + 1018: TypePointer Function 11(fvec4) + 1020: TypeImage 10(float) 2D sampled format:Unknown + 1021: TypeSampledImage 1020 + 1022: 32(int) Constant 5 + 1023: TypeArray 1021 1022 + 1024: TypePointer UniformConstant 1023 +1025(arrayedSampler): 1024(ptr) Variable UniformConstant + 1026: TypePointer Input 23(int) + 1027(i): 1026(ptr) Variable Input + 1029: TypePointer UniformConstant 1021 + 1032: TypePointer Input 20(fvec2) + 1033(c2D): 1032(ptr) Variable Input + 1036: TypeArray 10(float) 958 + 1037: TypePointer Input 1036 +1038(gl_ClipDistance): 1037(ptr) Variable Input + 1039: TypePointer Input 10(float) + 1043: TypeVector 10(float) 3 + 1048: TypeVector 32(int) 4 + 1049: TypePointer Output 1048(ivec4) + 1050(uoutp): 1049(ptr) Variable Output + 1051: TypeImage 32(int) Rect sampled format:Unknown + 1052: TypeSampledImage 1051 + 1053: TypePointer UniformConstant 1052 + 1054(samp2dr): 1053(ptr) Variable UniformConstant + 1057: 32(int) Constant 4 + 1058: TypeArray 24(ivec2) 1057 + 1059: 24(ivec2) ConstantComposite 966 970 + 1060: 23(int) Constant 15 + 1061: 23(int) Constant 16 + 1062: 24(ivec2) ConstantComposite 1060 1061 + 1063: 23(int) Constant 4294967294 + 1064: 23(int) Constant 0 + 1065: 24(ivec2) ConstantComposite 1063 1064 + 1066: 1058 ConstantComposite 1059 27 1062 1065 + 1074: TypeVector 23(int) 4 + 1075: TypePointer Output 1074(ivec4) + 1076(ioutp): 1075(ptr) Variable Output + 1077: TypeImage 23(int) 2D array sampled format:Unknown + 1078: TypeSampledImage 1077 + 1079: TypePointer UniformConstant 1078 + 1080(isamp2DA): 1079(ptr) Variable UniformConstant + 1082: 10(float) Constant 1036831949 + 1083: 1043(fvec3) ConstantComposite 1082 1082 1082 + 1084: 24(ivec2) ConstantComposite 966 966 + 1096: TypePointer Input 11(fvec4) +1097(gl_FragCoord): 1096(ptr) Variable Input + 1099(vl2): 1096(ptr) Variable Input + 1104: TypePointer Output 32(int) + 1105(uo): 1104(ptr) Variable Output + 1106: TypePointer Input 32(int) + 1107(u): 1106(ptr) Variable Input 4(main): 2 Function None 3 5: Label - 1017(v): 1016(ptr) Variable Function - 1026: 23(int) Load 1025(i) - 1028: 1027(ptr) AccessChain 1023(arrayedSampler) 1026 - 1029: 1019 Load 1028 - 1032: 20(fvec2) Load 1031(c2D) - 1033: 11(fvec4) ImageSampleImplicitLod 1029 1032 - Store 1017(v) 1033 - 1038: 1037(ptr) AccessChain 1036(gl_ClipDistance) 964 - 1039: 10(float) Load 1038 - 1040: 32(ptr) AccessChain 13(outp) 31 - Store 1040 1039 - 1042: 11(fvec4) Load 1017(v) - 1043: 1041(fvec3) VectorShuffle 1042 1042 1 2 3 - 1044: 11(fvec4) Load 13(outp) - 1045: 11(fvec4) VectorShuffle 1044 1043 0 4 5 6 - Store 13(outp) 1045 - 1053: 1050 Load 1052(samp2dr) - 1054: 20(fvec2) Load 1031(c2D) - 1065: 1046(ivec4) ImageGather 1053 1054 968 ConstOffsets 1064 - Store 1048(uoutp) 1065 - 1066: 1027(ptr) AccessChain 1023(arrayedSampler) 1062 - 1067: 1019 Load 1066 - 1068: 20(fvec2) Load 1031(c2D) - 1069: 11(fvec4) ImageGather 1067 1068 1062 - 1070: 11(fvec4) Load 13(outp) - 1071: 11(fvec4) FAdd 1070 1069 - Store 13(outp) 1071 - 1079: 1076 Load 1078(isamp2DA) - 1083: 1072(ivec4) ImageGather 1079 1081 25 ConstOffset 1082 - Store 1074(ioutp) 1083 - 1084: 1076 Load 1078(isamp2DA) - 1085: 1072(ivec4) ImageGather 1084 1081 25 ConstOffset 1082 - 1086: 1072(ivec4) Load 1074(ioutp) - 1087: 1072(ivec4) IAdd 1086 1085 - Store 1074(ioutp) 1087 - 1088: 1076 Load 1078(isamp2DA) - 1089: 23(int) Load 1025(i) - 1090: 24(ivec2) CompositeConstruct 1089 1089 - 1091: 1072(ivec4) ImageGather 1088 1081 1062 Offset 1090 - 1092: 1072(ivec4) Load 1074(ioutp) - 1093: 1072(ivec4) IAdd 1092 1091 - Store 1074(ioutp) 1093 - 1096: 11(fvec4) Load 1095(gl_FragCoord) - 1098: 11(fvec4) Load 1097(vl2) - 1099: 11(fvec4) FAdd 1096 1098 - 1100: 11(fvec4) Load 13(outp) - 1101: 11(fvec4) FAdd 1100 1099 - Store 13(outp) 1101 - 1106: 30(int) Load 1105(u) - 1107: 23(int) Load 1025(i) - 1108: 30(int) Bitcast 1107 - 1109: 30(int) UMod 1106 1108 - Store 1103(uo) 1109 - 1110: 2 FunctionCall 6(foo23() - 1111: 2 FunctionCall 8(doubles() + 1019(v): 1018(ptr) Variable Function + 1028: 23(int) Load 1027(i) + 1030: 1029(ptr) AccessChain 1025(arrayedSampler) 1028 + 1031: 1021 Load 1030 + 1034: 20(fvec2) Load 1033(c2D) + 1035: 11(fvec4) ImageSampleImplicitLod 1031 1034 + Store 1019(v) 1035 + 1040: 1039(ptr) AccessChain 1038(gl_ClipDistance) 966 + 1041: 10(float) Load 1040 + 1042: 34(ptr) AccessChain 13(outp) 33 + Store 1042 1041 + 1044: 11(fvec4) Load 1019(v) + 1045: 1043(fvec3) VectorShuffle 1044 1044 1 2 3 + 1046: 11(fvec4) Load 13(outp) + 1047: 11(fvec4) VectorShuffle 1046 1045 0 4 5 6 + Store 13(outp) 1047 + 1055: 1052 Load 1054(samp2dr) + 1056: 20(fvec2) Load 1033(c2D) + 1067: 1048(ivec4) ImageGather 1055 1056 970 ConstOffsets 1066 + Store 1050(uoutp) 1067 + 1068: 1029(ptr) AccessChain 1025(arrayedSampler) 1064 + 1069: 1021 Load 1068 + 1070: 20(fvec2) Load 1033(c2D) + 1071: 11(fvec4) ImageGather 1069 1070 1064 + 1072: 11(fvec4) Load 13(outp) + 1073: 11(fvec4) FAdd 1072 1071 + Store 13(outp) 1073 + 1081: 1078 Load 1080(isamp2DA) + 1085: 1074(ivec4) ImageGather 1081 1083 25 ConstOffset 1084 + Store 1076(ioutp) 1085 + 1086: 1078 Load 1080(isamp2DA) + 1087: 1074(ivec4) ImageGather 1086 1083 25 ConstOffset 1084 + 1088: 1074(ivec4) Load 1076(ioutp) + 1089: 1074(ivec4) IAdd 1088 1087 + Store 1076(ioutp) 1089 + 1090: 1078 Load 1080(isamp2DA) + 1091: 23(int) Load 1027(i) + 1092: 24(ivec2) CompositeConstruct 1091 1091 + 1093: 1074(ivec4) ImageGather 1090 1083 1064 Offset 1092 + 1094: 1074(ivec4) Load 1076(ioutp) + 1095: 1074(ivec4) IAdd 1094 1093 + Store 1076(ioutp) 1095 + 1098: 11(fvec4) Load 1097(gl_FragCoord) + 1100: 11(fvec4) Load 1099(vl2) + 1101: 11(fvec4) FAdd 1098 1100 + 1102: 11(fvec4) Load 13(outp) + 1103: 11(fvec4) FAdd 1102 1101 + Store 13(outp) 1103 + 1108: 32(int) Load 1107(u) + 1109: 23(int) Load 1027(i) + 1110: 32(int) Bitcast 1109 + 1111: 32(int) UMod 1108 1110 + Store 1105(uo) 1111 + 1112: 2 FunctionCall 6(foo23() + 1113: 2 FunctionCall 8(doubles() Return FunctionEnd 6(foo23(): 2 Function None 3 @@ -249,1137 +249,1139 @@ Linked fragment stage: 18: 15 Load 17(u2drs) 19: 11(fvec4) Load 13(outp) 28: 10(float) CompositeExtract 19 2 - 29: 10(float) ImageSampleProjDrefExplicitLod 18 19 28 Grad ConstOffset 22 22 27 - 33: 32(ptr) AccessChain 13(outp) 31 - 34: 10(float) Load 33 - 35: 10(float) FAdd 34 29 - 36: 32(ptr) AccessChain 13(outp) 31 - Store 36 35 + 29: 10(float) CompositeExtract 19 3 + 30: 11(fvec4) CompositeInsert 29 19 2 + 31: 10(float) ImageSampleProjDrefExplicitLod 18 30 28 Grad ConstOffset 22 22 27 + 35: 34(ptr) AccessChain 13(outp) 33 + 36: 10(float) Load 35 + 37: 10(float) FAdd 36 31 + 38: 34(ptr) AccessChain 13(outp) 33 + Store 38 37 Return FunctionEnd 8(doubles(): 2 Function None 3 9: Label - 39(doublev): 38(ptr) Variable Function - 43(dvec2v): 42(ptr) Variable Function - 48(dvec3v): 47(ptr) Variable Function - 53(dvec4v): 52(ptr) Variable Function - 428(boolv): 427(ptr) Variable Function - 437(bvec2v): 436(ptr) Variable Function - 446(bvec3v): 445(ptr) Variable Function - 455(bvec4v): 454(ptr) Variable Function - 554: 427(ptr) Variable Function - 563: 436(ptr) Variable Function - 572: 445(ptr) Variable Function - 581: 454(ptr) Variable Function - 737(dmat2v): 736(ptr) Variable Function - 743(dmat3v): 742(ptr) Variable Function - 749(dmat4v): 748(ptr) Variable Function - 755(dmat2x3v): 754(ptr) Variable Function - 761(dmat3x2v): 760(ptr) Variable Function - 767(dmat2x4v): 766(ptr) Variable Function - 773(dmat4x2v): 772(ptr) Variable Function - 779(dmat3x4v): 778(ptr) Variable Function - 785(dmat4x3v): 784(ptr) Variable Function - Store 39(doublev) 40 - Store 43(dvec2v) 45 - Store 48(dvec3v) 50 - 54: 37(float) Load 39(doublev) - 55: 51(fvec4) CompositeConstruct 54 54 54 54 - 56: 51(fvec4) ExtInst 1(GLSL.std.450) 31(Sqrt) 55 - Store 53(dvec4v) 56 - 57: 37(float) Load 39(doublev) - 58: 37(float) ExtInst 1(GLSL.std.450) 32(InverseSqrt) 57 - 59: 37(float) Load 39(doublev) - 60: 37(float) FAdd 59 58 - Store 39(doublev) 60 - 61: 41(fvec2) Load 43(dvec2v) - 62: 41(fvec2) ExtInst 1(GLSL.std.450) 32(InverseSqrt) 61 - 63: 41(fvec2) Load 43(dvec2v) - 64: 41(fvec2) FAdd 63 62 - Store 43(dvec2v) 64 - 65: 46(fvec3) Load 48(dvec3v) - 66: 46(fvec3) ExtInst 1(GLSL.std.450) 32(InverseSqrt) 65 - 67: 46(fvec3) Load 48(dvec3v) - 68: 46(fvec3) FAdd 67 66 - Store 48(dvec3v) 68 - 69: 51(fvec4) Load 53(dvec4v) - 70: 51(fvec4) ExtInst 1(GLSL.std.450) 32(InverseSqrt) 69 - 71: 51(fvec4) Load 53(dvec4v) - 72: 51(fvec4) FAdd 71 70 - Store 53(dvec4v) 72 - 73: 37(float) Load 39(doublev) - 74: 37(float) ExtInst 1(GLSL.std.450) 4(FAbs) 73 - 75: 37(float) Load 39(doublev) - 76: 37(float) FAdd 75 74 - Store 39(doublev) 76 - 77: 41(fvec2) Load 43(dvec2v) - 78: 41(fvec2) ExtInst 1(GLSL.std.450) 4(FAbs) 77 - 79: 41(fvec2) Load 43(dvec2v) - 80: 41(fvec2) FAdd 79 78 - Store 43(dvec2v) 80 - 81: 46(fvec3) Load 48(dvec3v) - 82: 46(fvec3) ExtInst 1(GLSL.std.450) 4(FAbs) 81 - 83: 46(fvec3) Load 48(dvec3v) - 84: 46(fvec3) FAdd 83 82 - Store 48(dvec3v) 84 - 85: 51(fvec4) Load 53(dvec4v) - 86: 51(fvec4) ExtInst 1(GLSL.std.450) 4(FAbs) 85 - 87: 51(fvec4) Load 53(dvec4v) - 88: 51(fvec4) FAdd 87 86 - Store 53(dvec4v) 88 - 89: 37(float) Load 39(doublev) - 90: 37(float) ExtInst 1(GLSL.std.450) 6(FSign) 89 - 91: 37(float) Load 39(doublev) - 92: 37(float) FAdd 91 90 - Store 39(doublev) 92 - 93: 41(fvec2) Load 43(dvec2v) - 94: 41(fvec2) ExtInst 1(GLSL.std.450) 6(FSign) 93 - 95: 41(fvec2) Load 43(dvec2v) - 96: 41(fvec2) FAdd 95 94 - Store 43(dvec2v) 96 - 97: 46(fvec3) Load 48(dvec3v) - 98: 46(fvec3) ExtInst 1(GLSL.std.450) 6(FSign) 97 - 99: 46(fvec3) Load 48(dvec3v) - 100: 46(fvec3) FAdd 99 98 - Store 48(dvec3v) 100 - 101: 51(fvec4) Load 53(dvec4v) - 102: 51(fvec4) ExtInst 1(GLSL.std.450) 6(FSign) 101 - 103: 51(fvec4) Load 53(dvec4v) - 104: 51(fvec4) FAdd 103 102 - Store 53(dvec4v) 104 - 105: 37(float) Load 39(doublev) - 106: 37(float) ExtInst 1(GLSL.std.450) 8(Floor) 105 - 107: 37(float) Load 39(doublev) - 108: 37(float) FAdd 107 106 - Store 39(doublev) 108 - 109: 41(fvec2) Load 43(dvec2v) - 110: 41(fvec2) ExtInst 1(GLSL.std.450) 8(Floor) 109 - 111: 41(fvec2) Load 43(dvec2v) - 112: 41(fvec2) FAdd 111 110 - Store 43(dvec2v) 112 - 113: 46(fvec3) Load 48(dvec3v) - 114: 46(fvec3) ExtInst 1(GLSL.std.450) 8(Floor) 113 - 115: 46(fvec3) Load 48(dvec3v) - 116: 46(fvec3) FAdd 115 114 - Store 48(dvec3v) 116 - 117: 51(fvec4) Load 53(dvec4v) - 118: 51(fvec4) ExtInst 1(GLSL.std.450) 8(Floor) 117 - 119: 51(fvec4) Load 53(dvec4v) - 120: 51(fvec4) FAdd 119 118 - Store 53(dvec4v) 120 - 121: 37(float) Load 39(doublev) - 122: 37(float) ExtInst 1(GLSL.std.450) 3(Trunc) 121 - 123: 37(float) Load 39(doublev) - 124: 37(float) FAdd 123 122 - Store 39(doublev) 124 - 125: 41(fvec2) Load 43(dvec2v) - 126: 41(fvec2) ExtInst 1(GLSL.std.450) 3(Trunc) 125 - 127: 41(fvec2) Load 43(dvec2v) - 128: 41(fvec2) FAdd 127 126 - Store 43(dvec2v) 128 - 129: 46(fvec3) Load 48(dvec3v) - 130: 46(fvec3) ExtInst 1(GLSL.std.450) 3(Trunc) 129 - 131: 46(fvec3) Load 48(dvec3v) - 132: 46(fvec3) FAdd 131 130 - Store 48(dvec3v) 132 - 133: 51(fvec4) Load 53(dvec4v) - 134: 51(fvec4) ExtInst 1(GLSL.std.450) 3(Trunc) 133 - 135: 51(fvec4) Load 53(dvec4v) - 136: 51(fvec4) FAdd 135 134 - Store 53(dvec4v) 136 - 137: 37(float) Load 39(doublev) - 138: 37(float) ExtInst 1(GLSL.std.450) 1(Round) 137 - 139: 37(float) Load 39(doublev) - 140: 37(float) FAdd 139 138 - Store 39(doublev) 140 - 141: 41(fvec2) Load 43(dvec2v) - 142: 41(fvec2) ExtInst 1(GLSL.std.450) 1(Round) 141 - 143: 41(fvec2) Load 43(dvec2v) - 144: 41(fvec2) FAdd 143 142 - Store 43(dvec2v) 144 - 145: 46(fvec3) Load 48(dvec3v) - 146: 46(fvec3) ExtInst 1(GLSL.std.450) 1(Round) 145 - 147: 46(fvec3) Load 48(dvec3v) - 148: 46(fvec3) FAdd 147 146 - Store 48(dvec3v) 148 - 149: 51(fvec4) Load 53(dvec4v) - 150: 51(fvec4) ExtInst 1(GLSL.std.450) 1(Round) 149 - 151: 51(fvec4) Load 53(dvec4v) - 152: 51(fvec4) FAdd 151 150 - Store 53(dvec4v) 152 - 153: 37(float) Load 39(doublev) - 154: 37(float) ExtInst 1(GLSL.std.450) 2(RoundEven) 153 - 155: 37(float) Load 39(doublev) - 156: 37(float) FAdd 155 154 - Store 39(doublev) 156 - 157: 41(fvec2) Load 43(dvec2v) - 158: 41(fvec2) ExtInst 1(GLSL.std.450) 2(RoundEven) 157 - 159: 41(fvec2) Load 43(dvec2v) - 160: 41(fvec2) FAdd 159 158 - Store 43(dvec2v) 160 - 161: 46(fvec3) Load 48(dvec3v) - 162: 46(fvec3) ExtInst 1(GLSL.std.450) 2(RoundEven) 161 - 163: 46(fvec3) Load 48(dvec3v) - 164: 46(fvec3) FAdd 163 162 - Store 48(dvec3v) 164 - 165: 51(fvec4) Load 53(dvec4v) - 166: 51(fvec4) ExtInst 1(GLSL.std.450) 2(RoundEven) 165 - 167: 51(fvec4) Load 53(dvec4v) - 168: 51(fvec4) FAdd 167 166 - Store 53(dvec4v) 168 - 169: 37(float) Load 39(doublev) - 170: 37(float) ExtInst 1(GLSL.std.450) 9(Ceil) 169 - 171: 37(float) Load 39(doublev) - 172: 37(float) FAdd 171 170 - Store 39(doublev) 172 - 173: 41(fvec2) Load 43(dvec2v) - 174: 41(fvec2) ExtInst 1(GLSL.std.450) 9(Ceil) 173 - 175: 41(fvec2) Load 43(dvec2v) - 176: 41(fvec2) FAdd 175 174 - Store 43(dvec2v) 176 - 177: 46(fvec3) Load 48(dvec3v) - 178: 46(fvec3) ExtInst 1(GLSL.std.450) 9(Ceil) 177 - 179: 46(fvec3) Load 48(dvec3v) - 180: 46(fvec3) FAdd 179 178 - Store 48(dvec3v) 180 - 181: 51(fvec4) Load 53(dvec4v) - 182: 51(fvec4) ExtInst 1(GLSL.std.450) 9(Ceil) 181 - 183: 51(fvec4) Load 53(dvec4v) - 184: 51(fvec4) FAdd 183 182 - Store 53(dvec4v) 184 - 185: 37(float) Load 39(doublev) - 186: 37(float) ExtInst 1(GLSL.std.450) 10(Fract) 185 - 187: 37(float) Load 39(doublev) - 188: 37(float) FAdd 187 186 - Store 39(doublev) 188 - 189: 41(fvec2) Load 43(dvec2v) - 190: 41(fvec2) ExtInst 1(GLSL.std.450) 10(Fract) 189 - 191: 41(fvec2) Load 43(dvec2v) - 192: 41(fvec2) FAdd 191 190 - Store 43(dvec2v) 192 - 193: 46(fvec3) Load 48(dvec3v) - 194: 46(fvec3) ExtInst 1(GLSL.std.450) 10(Fract) 193 - 195: 46(fvec3) Load 48(dvec3v) - 196: 46(fvec3) FAdd 195 194 - Store 48(dvec3v) 196 - 197: 51(fvec4) Load 53(dvec4v) - 198: 51(fvec4) ExtInst 1(GLSL.std.450) 10(Fract) 197 - 199: 51(fvec4) Load 53(dvec4v) - 200: 51(fvec4) FAdd 199 198 - Store 53(dvec4v) 200 - 201: 37(float) Load 39(doublev) - 202: 37(float) Load 39(doublev) - 203: 37(float) FMod 201 202 - 204: 37(float) Load 39(doublev) - 205: 37(float) FAdd 204 203 - Store 39(doublev) 205 - 206: 41(fvec2) Load 43(dvec2v) - 207: 37(float) Load 39(doublev) - 208: 41(fvec2) CompositeConstruct 207 207 - 209: 41(fvec2) FMod 206 208 - 210: 41(fvec2) Load 43(dvec2v) - 211: 41(fvec2) FAdd 210 209 - Store 43(dvec2v) 211 - 212: 46(fvec3) Load 48(dvec3v) - 213: 37(float) Load 39(doublev) - 214: 46(fvec3) CompositeConstruct 213 213 213 - 215: 46(fvec3) FMod 212 214 - 216: 46(fvec3) Load 48(dvec3v) - 217: 46(fvec3) FAdd 216 215 - Store 48(dvec3v) 217 - 218: 51(fvec4) Load 53(dvec4v) - 219: 37(float) Load 39(doublev) - 220: 51(fvec4) CompositeConstruct 219 219 219 219 - 221: 51(fvec4) FMod 218 220 - 222: 51(fvec4) Load 53(dvec4v) - 223: 51(fvec4) FAdd 222 221 - Store 53(dvec4v) 223 - 224: 41(fvec2) Load 43(dvec2v) - 225: 41(fvec2) Load 43(dvec2v) - 226: 41(fvec2) FMod 224 225 - 227: 41(fvec2) Load 43(dvec2v) - 228: 41(fvec2) FAdd 227 226 - Store 43(dvec2v) 228 - 229: 46(fvec3) Load 48(dvec3v) - 230: 46(fvec3) Load 48(dvec3v) - 231: 46(fvec3) FMod 229 230 - 232: 46(fvec3) Load 48(dvec3v) - 233: 46(fvec3) FAdd 232 231 - Store 48(dvec3v) 233 - 234: 51(fvec4) Load 53(dvec4v) - 235: 51(fvec4) Load 53(dvec4v) - 236: 51(fvec4) FMod 234 235 - 237: 51(fvec4) Load 53(dvec4v) - 238: 51(fvec4) FAdd 237 236 - Store 53(dvec4v) 238 - 239: 37(float) Load 39(doublev) - 240: 37(float) ExtInst 1(GLSL.std.450) 35(Modf) 239 39(doublev) - 241: 37(float) Load 39(doublev) - 242: 37(float) FAdd 241 240 - Store 39(doublev) 242 - 243: 41(fvec2) Load 43(dvec2v) - 244: 41(fvec2) ExtInst 1(GLSL.std.450) 35(Modf) 243 43(dvec2v) - 245: 41(fvec2) Load 43(dvec2v) - 246: 41(fvec2) FAdd 245 244 - Store 43(dvec2v) 246 - 247: 46(fvec3) Load 48(dvec3v) - 248: 46(fvec3) ExtInst 1(GLSL.std.450) 35(Modf) 247 48(dvec3v) - 249: 46(fvec3) Load 48(dvec3v) - 250: 46(fvec3) FAdd 249 248 - Store 48(dvec3v) 250 - 251: 51(fvec4) Load 53(dvec4v) - 252: 51(fvec4) ExtInst 1(GLSL.std.450) 35(Modf) 251 53(dvec4v) - 253: 51(fvec4) Load 53(dvec4v) - 254: 51(fvec4) FAdd 253 252 - Store 53(dvec4v) 254 - 255: 37(float) Load 39(doublev) - 256: 37(float) Load 39(doublev) - 257: 37(float) ExtInst 1(GLSL.std.450) 37(FMin) 255 256 - 258: 37(float) Load 39(doublev) - 259: 37(float) FAdd 258 257 - Store 39(doublev) 259 - 260: 41(fvec2) Load 43(dvec2v) - 261: 37(float) Load 39(doublev) - 262: 41(fvec2) CompositeConstruct 261 261 - 263: 41(fvec2) ExtInst 1(GLSL.std.450) 37(FMin) 260 262 - 264: 41(fvec2) Load 43(dvec2v) - 265: 41(fvec2) FAdd 264 263 - Store 43(dvec2v) 265 - 266: 46(fvec3) Load 48(dvec3v) - 267: 37(float) Load 39(doublev) - 268: 46(fvec3) CompositeConstruct 267 267 267 - 269: 46(fvec3) ExtInst 1(GLSL.std.450) 37(FMin) 266 268 - 270: 46(fvec3) Load 48(dvec3v) - 271: 46(fvec3) FAdd 270 269 - Store 48(dvec3v) 271 - 272: 51(fvec4) Load 53(dvec4v) - 273: 37(float) Load 39(doublev) - 274: 51(fvec4) CompositeConstruct 273 273 273 273 - 275: 51(fvec4) ExtInst 1(GLSL.std.450) 37(FMin) 272 274 - 276: 51(fvec4) Load 53(dvec4v) - 277: 51(fvec4) FAdd 276 275 - Store 53(dvec4v) 277 - 278: 41(fvec2) Load 43(dvec2v) - 279: 41(fvec2) Load 43(dvec2v) - 280: 41(fvec2) ExtInst 1(GLSL.std.450) 37(FMin) 278 279 - 281: 41(fvec2) Load 43(dvec2v) - 282: 41(fvec2) FAdd 281 280 - Store 43(dvec2v) 282 - 283: 46(fvec3) Load 48(dvec3v) - 284: 46(fvec3) Load 48(dvec3v) - 285: 46(fvec3) ExtInst 1(GLSL.std.450) 37(FMin) 283 284 - 286: 46(fvec3) Load 48(dvec3v) - 287: 46(fvec3) FAdd 286 285 - Store 48(dvec3v) 287 - 288: 51(fvec4) Load 53(dvec4v) - 289: 51(fvec4) Load 53(dvec4v) - 290: 51(fvec4) ExtInst 1(GLSL.std.450) 37(FMin) 288 289 - 291: 51(fvec4) Load 53(dvec4v) - 292: 51(fvec4) FAdd 291 290 - Store 53(dvec4v) 292 - 293: 37(float) Load 39(doublev) - 294: 37(float) Load 39(doublev) - 295: 37(float) ExtInst 1(GLSL.std.450) 40(FMax) 293 294 - 296: 37(float) Load 39(doublev) - 297: 37(float) FAdd 296 295 - Store 39(doublev) 297 - 298: 41(fvec2) Load 43(dvec2v) - 299: 37(float) Load 39(doublev) - 300: 41(fvec2) CompositeConstruct 299 299 - 301: 41(fvec2) ExtInst 1(GLSL.std.450) 40(FMax) 298 300 - 302: 41(fvec2) Load 43(dvec2v) - 303: 41(fvec2) FAdd 302 301 - Store 43(dvec2v) 303 - 304: 46(fvec3) Load 48(dvec3v) - 305: 37(float) Load 39(doublev) - 306: 46(fvec3) CompositeConstruct 305 305 305 - 307: 46(fvec3) ExtInst 1(GLSL.std.450) 40(FMax) 304 306 - 308: 46(fvec3) Load 48(dvec3v) - 309: 46(fvec3) FAdd 308 307 - Store 48(dvec3v) 309 - 310: 51(fvec4) Load 53(dvec4v) - 311: 37(float) Load 39(doublev) - 312: 51(fvec4) CompositeConstruct 311 311 311 311 - 313: 51(fvec4) ExtInst 1(GLSL.std.450) 40(FMax) 310 312 - 314: 51(fvec4) Load 53(dvec4v) - 315: 51(fvec4) FAdd 314 313 - Store 53(dvec4v) 315 - 316: 41(fvec2) Load 43(dvec2v) - 317: 41(fvec2) Load 43(dvec2v) - 318: 41(fvec2) ExtInst 1(GLSL.std.450) 40(FMax) 316 317 - 319: 41(fvec2) Load 43(dvec2v) - 320: 41(fvec2) FAdd 319 318 - Store 43(dvec2v) 320 - 321: 46(fvec3) Load 48(dvec3v) - 322: 46(fvec3) Load 48(dvec3v) - 323: 46(fvec3) ExtInst 1(GLSL.std.450) 40(FMax) 321 322 - 324: 46(fvec3) Load 48(dvec3v) - 325: 46(fvec3) FAdd 324 323 - Store 48(dvec3v) 325 - 326: 51(fvec4) Load 53(dvec4v) - 327: 51(fvec4) Load 53(dvec4v) - 328: 51(fvec4) ExtInst 1(GLSL.std.450) 40(FMax) 326 327 - 329: 51(fvec4) Load 53(dvec4v) - 330: 51(fvec4) FAdd 329 328 - Store 53(dvec4v) 330 - 331: 37(float) Load 39(doublev) - 332: 37(float) Load 39(doublev) - 333: 37(float) Load 39(doublev) - 334: 37(float) ExtInst 1(GLSL.std.450) 43(FClamp) 331 332 333 - 335: 37(float) Load 39(doublev) - 336: 37(float) FAdd 335 334 - Store 39(doublev) 336 - 337: 41(fvec2) Load 43(dvec2v) - 338: 37(float) Load 39(doublev) - 339: 37(float) Load 39(doublev) - 340: 41(fvec2) CompositeConstruct 338 338 - 341: 41(fvec2) CompositeConstruct 339 339 - 342: 41(fvec2) ExtInst 1(GLSL.std.450) 43(FClamp) 337 340 341 - 343: 41(fvec2) Load 43(dvec2v) - 344: 41(fvec2) FAdd 343 342 - Store 43(dvec2v) 344 - 345: 46(fvec3) Load 48(dvec3v) - 346: 37(float) Load 39(doublev) - 347: 37(float) Load 39(doublev) - 348: 46(fvec3) CompositeConstruct 346 346 346 - 349: 46(fvec3) CompositeConstruct 347 347 347 - 350: 46(fvec3) ExtInst 1(GLSL.std.450) 43(FClamp) 345 348 349 - 351: 46(fvec3) Load 48(dvec3v) - 352: 46(fvec3) FAdd 351 350 - Store 48(dvec3v) 352 - 353: 51(fvec4) Load 53(dvec4v) - 354: 37(float) Load 39(doublev) - 355: 37(float) Load 39(doublev) - 356: 51(fvec4) CompositeConstruct 354 354 354 354 - 357: 51(fvec4) CompositeConstruct 355 355 355 355 - 358: 51(fvec4) ExtInst 1(GLSL.std.450) 43(FClamp) 353 356 357 - 359: 51(fvec4) Load 53(dvec4v) - 360: 51(fvec4) FAdd 359 358 - Store 53(dvec4v) 360 - 361: 41(fvec2) Load 43(dvec2v) - 362: 41(fvec2) Load 43(dvec2v) - 363: 41(fvec2) Load 43(dvec2v) - 364: 41(fvec2) ExtInst 1(GLSL.std.450) 43(FClamp) 361 362 363 - 365: 41(fvec2) Load 43(dvec2v) - 366: 41(fvec2) FAdd 365 364 - Store 43(dvec2v) 366 - 367: 46(fvec3) Load 48(dvec3v) - 368: 46(fvec3) Load 48(dvec3v) - 369: 46(fvec3) Load 48(dvec3v) - 370: 46(fvec3) ExtInst 1(GLSL.std.450) 43(FClamp) 367 368 369 - 371: 46(fvec3) Load 48(dvec3v) - 372: 46(fvec3) FAdd 371 370 - Store 48(dvec3v) 372 - 373: 51(fvec4) Load 53(dvec4v) - 374: 51(fvec4) Load 53(dvec4v) - 375: 51(fvec4) Load 53(dvec4v) - 376: 51(fvec4) ExtInst 1(GLSL.std.450) 43(FClamp) 373 374 375 - 377: 51(fvec4) Load 53(dvec4v) - 378: 51(fvec4) FAdd 377 376 - Store 53(dvec4v) 378 - 379: 37(float) Load 39(doublev) - 380: 37(float) Load 39(doublev) - 381: 37(float) Load 39(doublev) - 382: 37(float) ExtInst 1(GLSL.std.450) 46(FMix) 379 380 381 - 383: 37(float) Load 39(doublev) - 384: 37(float) FAdd 383 382 - Store 39(doublev) 384 - 385: 41(fvec2) Load 43(dvec2v) - 386: 41(fvec2) Load 43(dvec2v) - 387: 37(float) Load 39(doublev) - 388: 41(fvec2) CompositeConstruct 387 387 - 389: 41(fvec2) ExtInst 1(GLSL.std.450) 46(FMix) 385 386 388 - 390: 41(fvec2) Load 43(dvec2v) - 391: 41(fvec2) FAdd 390 389 - Store 43(dvec2v) 391 - 392: 46(fvec3) Load 48(dvec3v) - 393: 46(fvec3) Load 48(dvec3v) - 394: 37(float) Load 39(doublev) - 395: 46(fvec3) CompositeConstruct 394 394 394 - 396: 46(fvec3) ExtInst 1(GLSL.std.450) 46(FMix) 392 393 395 - 397: 46(fvec3) Load 48(dvec3v) - 398: 46(fvec3) FAdd 397 396 - Store 48(dvec3v) 398 - 399: 51(fvec4) Load 53(dvec4v) - 400: 51(fvec4) Load 53(dvec4v) - 401: 37(float) Load 39(doublev) - 402: 51(fvec4) CompositeConstruct 401 401 401 401 - 403: 51(fvec4) ExtInst 1(GLSL.std.450) 46(FMix) 399 400 402 - 404: 51(fvec4) Load 53(dvec4v) - 405: 51(fvec4) FAdd 404 403 - Store 53(dvec4v) 405 - 406: 41(fvec2) Load 43(dvec2v) - 407: 41(fvec2) Load 43(dvec2v) - 408: 41(fvec2) Load 43(dvec2v) - 409: 41(fvec2) ExtInst 1(GLSL.std.450) 46(FMix) 406 407 408 - 410: 41(fvec2) Load 43(dvec2v) - 411: 41(fvec2) FAdd 410 409 - Store 43(dvec2v) 411 - 412: 46(fvec3) Load 48(dvec3v) - 413: 46(fvec3) Load 48(dvec3v) - 414: 46(fvec3) Load 48(dvec3v) - 415: 46(fvec3) ExtInst 1(GLSL.std.450) 46(FMix) 412 413 414 - 416: 46(fvec3) Load 48(dvec3v) - 417: 46(fvec3) FAdd 416 415 - Store 48(dvec3v) 417 - 418: 51(fvec4) Load 53(dvec4v) - 419: 51(fvec4) Load 53(dvec4v) - 420: 51(fvec4) Load 53(dvec4v) - 421: 51(fvec4) ExtInst 1(GLSL.std.450) 46(FMix) 418 419 420 - 422: 51(fvec4) Load 53(dvec4v) - 423: 51(fvec4) FAdd 422 421 - Store 53(dvec4v) 423 - 424: 37(float) Load 39(doublev) - 425: 37(float) Load 39(doublev) - 429: 426(bool) Load 428(boolv) - 430: 37(float) Select 429 425 424 - 431: 37(float) Load 39(doublev) - 432: 37(float) FAdd 431 430 - Store 39(doublev) 432 - 433: 41(fvec2) Load 43(dvec2v) - 434: 41(fvec2) Load 43(dvec2v) - 438: 435(bvec2) Load 437(bvec2v) - 439: 41(fvec2) Select 438 434 433 - 440: 41(fvec2) Load 43(dvec2v) - 441: 41(fvec2) FAdd 440 439 - Store 43(dvec2v) 441 - 442: 46(fvec3) Load 48(dvec3v) - 443: 46(fvec3) Load 48(dvec3v) - 447: 444(bvec3) Load 446(bvec3v) - 448: 46(fvec3) Select 447 443 442 - 449: 46(fvec3) Load 48(dvec3v) - 450: 46(fvec3) FAdd 449 448 - Store 48(dvec3v) 450 - 451: 51(fvec4) Load 53(dvec4v) - 452: 51(fvec4) Load 53(dvec4v) - 456: 453(bvec4) Load 455(bvec4v) - 457: 51(fvec4) Select 456 452 451 - 458: 51(fvec4) Load 53(dvec4v) - 459: 51(fvec4) FAdd 458 457 - Store 53(dvec4v) 459 - 460: 37(float) Load 39(doublev) - 461: 37(float) Load 39(doublev) - 462: 37(float) ExtInst 1(GLSL.std.450) 48(Step) 460 461 - 463: 37(float) Load 39(doublev) - 464: 37(float) FAdd 463 462 - Store 39(doublev) 464 - 465: 41(fvec2) Load 43(dvec2v) - 466: 41(fvec2) Load 43(dvec2v) - 467: 41(fvec2) ExtInst 1(GLSL.std.450) 48(Step) 465 466 - 468: 41(fvec2) Load 43(dvec2v) - 469: 41(fvec2) FAdd 468 467 - Store 43(dvec2v) 469 - 470: 46(fvec3) Load 48(dvec3v) - 471: 46(fvec3) Load 48(dvec3v) - 472: 46(fvec3) ExtInst 1(GLSL.std.450) 48(Step) 470 471 - 473: 46(fvec3) Load 48(dvec3v) - 474: 46(fvec3) FAdd 473 472 - Store 48(dvec3v) 474 - 475: 51(fvec4) Load 53(dvec4v) - 476: 51(fvec4) Load 53(dvec4v) - 477: 51(fvec4) ExtInst 1(GLSL.std.450) 48(Step) 475 476 - 478: 51(fvec4) Load 53(dvec4v) - 479: 51(fvec4) FAdd 478 477 - Store 53(dvec4v) 479 - 480: 37(float) Load 39(doublev) - 481: 41(fvec2) Load 43(dvec2v) - 482: 41(fvec2) CompositeConstruct 480 480 - 483: 41(fvec2) ExtInst 1(GLSL.std.450) 48(Step) 482 481 - 484: 41(fvec2) Load 43(dvec2v) - 485: 41(fvec2) FAdd 484 483 - Store 43(dvec2v) 485 - 486: 37(float) Load 39(doublev) - 487: 46(fvec3) Load 48(dvec3v) - 488: 46(fvec3) CompositeConstruct 486 486 486 - 489: 46(fvec3) ExtInst 1(GLSL.std.450) 48(Step) 488 487 - 490: 46(fvec3) Load 48(dvec3v) - 491: 46(fvec3) FAdd 490 489 - Store 48(dvec3v) 491 - 492: 37(float) Load 39(doublev) - 493: 51(fvec4) Load 53(dvec4v) - 494: 51(fvec4) CompositeConstruct 492 492 492 492 - 495: 51(fvec4) ExtInst 1(GLSL.std.450) 48(Step) 494 493 - 496: 51(fvec4) Load 53(dvec4v) - 497: 51(fvec4) FAdd 496 495 - Store 53(dvec4v) 497 - 498: 37(float) Load 39(doublev) - 499: 37(float) Load 39(doublev) - 500: 37(float) Load 39(doublev) - 501: 37(float) ExtInst 1(GLSL.std.450) 49(SmoothStep) 498 499 500 - 502: 37(float) Load 39(doublev) - 503: 37(float) FAdd 502 501 - Store 39(doublev) 503 - 504: 41(fvec2) Load 43(dvec2v) - 505: 41(fvec2) Load 43(dvec2v) - 506: 41(fvec2) Load 43(dvec2v) - 507: 41(fvec2) ExtInst 1(GLSL.std.450) 49(SmoothStep) 504 505 506 - 508: 41(fvec2) Load 43(dvec2v) - 509: 41(fvec2) FAdd 508 507 - Store 43(dvec2v) 509 - 510: 46(fvec3) Load 48(dvec3v) - 511: 46(fvec3) Load 48(dvec3v) - 512: 46(fvec3) Load 48(dvec3v) - 513: 46(fvec3) ExtInst 1(GLSL.std.450) 49(SmoothStep) 510 511 512 - 514: 46(fvec3) Load 48(dvec3v) - 515: 46(fvec3) FAdd 514 513 - Store 48(dvec3v) 515 - 516: 51(fvec4) Load 53(dvec4v) - 517: 51(fvec4) Load 53(dvec4v) - 518: 51(fvec4) Load 53(dvec4v) - 519: 51(fvec4) ExtInst 1(GLSL.std.450) 49(SmoothStep) 516 517 518 - 520: 51(fvec4) Load 53(dvec4v) - 521: 51(fvec4) FAdd 520 519 - Store 53(dvec4v) 521 - 522: 37(float) Load 39(doublev) - 523: 37(float) Load 39(doublev) - 524: 41(fvec2) Load 43(dvec2v) - 525: 41(fvec2) CompositeConstruct 522 522 - 526: 41(fvec2) CompositeConstruct 523 523 - 527: 41(fvec2) ExtInst 1(GLSL.std.450) 49(SmoothStep) 525 526 524 - 528: 41(fvec2) Load 43(dvec2v) - 529: 41(fvec2) FAdd 528 527 - Store 43(dvec2v) 529 - 530: 37(float) Load 39(doublev) - 531: 37(float) Load 39(doublev) - 532: 46(fvec3) Load 48(dvec3v) - 533: 46(fvec3) CompositeConstruct 530 530 530 - 534: 46(fvec3) CompositeConstruct 531 531 531 - 535: 46(fvec3) ExtInst 1(GLSL.std.450) 49(SmoothStep) 533 534 532 - 536: 46(fvec3) Load 48(dvec3v) - 537: 46(fvec3) FAdd 536 535 - Store 48(dvec3v) 537 - 538: 37(float) Load 39(doublev) - 539: 37(float) Load 39(doublev) - 540: 51(fvec4) Load 53(dvec4v) - 541: 51(fvec4) CompositeConstruct 538 538 538 538 - 542: 51(fvec4) CompositeConstruct 539 539 539 539 - 543: 51(fvec4) ExtInst 1(GLSL.std.450) 49(SmoothStep) 541 542 540 - 544: 51(fvec4) Load 53(dvec4v) - 545: 51(fvec4) FAdd 544 543 - Store 53(dvec4v) 545 - 546: 37(float) Load 39(doublev) - 547: 426(bool) IsNan 546 - Store 428(boolv) 547 - 548: 41(fvec2) Load 43(dvec2v) - 549: 435(bvec2) IsNan 548 - Store 437(bvec2v) 549 - 550: 46(fvec3) Load 48(dvec3v) - 551: 444(bvec3) IsNan 550 - Store 446(bvec3v) 551 - 552: 51(fvec4) Load 53(dvec4v) - 553: 453(bvec4) IsNan 552 - Store 455(bvec4v) 553 - 555: 426(bool) Load 428(boolv) - SelectionMerge 557 None - BranchConditional 555 556 560 - 556: Label - 558: 37(float) Load 39(doublev) - 559: 426(bool) IsInf 558 - Store 554 559 - Branch 557 - 560: Label - Store 554 561 - Branch 557 - 557: Label - 562: 426(bool) Load 554 - Store 428(boolv) 562 - 564: 426(bool) Load 428(boolv) - SelectionMerge 566 None - BranchConditional 564 565 569 - 565: Label - 567: 41(fvec2) Load 43(dvec2v) - 568: 435(bvec2) IsInf 567 - Store 563 568 - Branch 566 - 569: Label - Store 563 570 - Branch 566 - 566: Label - 571: 435(bvec2) Load 563 - Store 437(bvec2v) 571 - 573: 426(bool) Load 428(boolv) - SelectionMerge 575 None - BranchConditional 573 574 578 - 574: Label - 576: 46(fvec3) Load 48(dvec3v) - 577: 444(bvec3) IsInf 576 - Store 572 577 - Branch 575 - 578: Label - Store 572 579 - Branch 575 - 575: Label - 580: 444(bvec3) Load 572 - Store 446(bvec3v) 580 - 582: 426(bool) Load 428(boolv) - SelectionMerge 584 None - BranchConditional 582 583 587 - 583: Label - 585: 51(fvec4) Load 53(dvec4v) - 586: 453(bvec4) IsInf 585 - Store 581 586 - Branch 584 - 587: Label - Store 581 588 - Branch 584 - 584: Label - 589: 453(bvec4) Load 581 - Store 455(bvec4v) 589 - 590: 37(float) Load 39(doublev) - 591: 37(float) ExtInst 1(GLSL.std.450) 66(Length) 590 - 592: 37(float) Load 39(doublev) - 593: 37(float) FAdd 592 591 - Store 39(doublev) 593 - 594: 41(fvec2) Load 43(dvec2v) - 595: 37(float) ExtInst 1(GLSL.std.450) 66(Length) 594 - 596: 37(float) Load 39(doublev) - 597: 37(float) FAdd 596 595 - Store 39(doublev) 597 - 598: 46(fvec3) Load 48(dvec3v) - 599: 37(float) ExtInst 1(GLSL.std.450) 66(Length) 598 - 600: 37(float) Load 39(doublev) - 601: 37(float) FAdd 600 599 - Store 39(doublev) 601 - 602: 51(fvec4) Load 53(dvec4v) - 603: 37(float) ExtInst 1(GLSL.std.450) 66(Length) 602 - 604: 37(float) Load 39(doublev) - 605: 37(float) FAdd 604 603 - Store 39(doublev) 605 - 606: 37(float) Load 39(doublev) - 607: 37(float) Load 39(doublev) - 608: 37(float) ExtInst 1(GLSL.std.450) 67(Distance) 606 607 - 609: 37(float) Load 39(doublev) - 610: 37(float) FAdd 609 608 - Store 39(doublev) 610 - 611: 41(fvec2) Load 43(dvec2v) - 612: 41(fvec2) Load 43(dvec2v) - 613: 37(float) ExtInst 1(GLSL.std.450) 67(Distance) 611 612 - 614: 37(float) Load 39(doublev) - 615: 37(float) FAdd 614 613 - Store 39(doublev) 615 - 616: 46(fvec3) Load 48(dvec3v) - 617: 46(fvec3) Load 48(dvec3v) - 618: 37(float) ExtInst 1(GLSL.std.450) 67(Distance) 616 617 - 619: 37(float) Load 39(doublev) - 620: 37(float) FAdd 619 618 - Store 39(doublev) 620 - 621: 51(fvec4) Load 53(dvec4v) - 622: 51(fvec4) Load 53(dvec4v) - 623: 37(float) ExtInst 1(GLSL.std.450) 67(Distance) 621 622 - 624: 37(float) Load 39(doublev) - 625: 37(float) FAdd 624 623 - Store 39(doublev) 625 - 626: 37(float) Load 39(doublev) - 627: 37(float) Load 39(doublev) - 628: 37(float) FMul 626 627 - 629: 37(float) Load 39(doublev) - 630: 37(float) FAdd 629 628 - Store 39(doublev) 630 - 631: 41(fvec2) Load 43(dvec2v) - 632: 41(fvec2) Load 43(dvec2v) - 633: 37(float) Dot 631 632 - 634: 37(float) Load 39(doublev) - 635: 37(float) FAdd 634 633 - Store 39(doublev) 635 - 636: 46(fvec3) Load 48(dvec3v) - 637: 46(fvec3) Load 48(dvec3v) - 638: 37(float) Dot 636 637 - 639: 37(float) Load 39(doublev) - 640: 37(float) FAdd 639 638 - Store 39(doublev) 640 - 641: 51(fvec4) Load 53(dvec4v) - 642: 51(fvec4) Load 53(dvec4v) - 643: 37(float) Dot 641 642 - 644: 37(float) Load 39(doublev) - 645: 37(float) FAdd 644 643 - Store 39(doublev) 645 - 646: 46(fvec3) Load 48(dvec3v) - 647: 46(fvec3) Load 48(dvec3v) - 648: 46(fvec3) ExtInst 1(GLSL.std.450) 68(Cross) 646 647 - 649: 46(fvec3) Load 48(dvec3v) - 650: 46(fvec3) FAdd 649 648 - Store 48(dvec3v) 650 - 651: 37(float) Load 39(doublev) - 652: 37(float) ExtInst 1(GLSL.std.450) 69(Normalize) 651 - 653: 37(float) Load 39(doublev) - 654: 37(float) FAdd 653 652 - Store 39(doublev) 654 - 655: 41(fvec2) Load 43(dvec2v) - 656: 41(fvec2) ExtInst 1(GLSL.std.450) 69(Normalize) 655 - 657: 41(fvec2) Load 43(dvec2v) - 658: 41(fvec2) FAdd 657 656 - Store 43(dvec2v) 658 - 659: 46(fvec3) Load 48(dvec3v) - 660: 46(fvec3) ExtInst 1(GLSL.std.450) 69(Normalize) 659 - 661: 46(fvec3) Load 48(dvec3v) - 662: 46(fvec3) FAdd 661 660 - Store 48(dvec3v) 662 - 663: 51(fvec4) Load 53(dvec4v) - 664: 51(fvec4) ExtInst 1(GLSL.std.450) 69(Normalize) 663 - 665: 51(fvec4) Load 53(dvec4v) - 666: 51(fvec4) FAdd 665 664 - Store 53(dvec4v) 666 - 667: 37(float) Load 39(doublev) - 668: 37(float) Load 39(doublev) - 669: 37(float) Load 39(doublev) - 670: 37(float) ExtInst 1(GLSL.std.450) 70(FaceForward) 667 668 669 - 671: 37(float) Load 39(doublev) - 672: 37(float) FAdd 671 670 - Store 39(doublev) 672 - 673: 41(fvec2) Load 43(dvec2v) - 674: 41(fvec2) Load 43(dvec2v) - 675: 41(fvec2) Load 43(dvec2v) - 676: 41(fvec2) ExtInst 1(GLSL.std.450) 70(FaceForward) 673 674 675 - 677: 41(fvec2) Load 43(dvec2v) - 678: 41(fvec2) FAdd 677 676 - Store 43(dvec2v) 678 - 679: 46(fvec3) Load 48(dvec3v) - 680: 46(fvec3) Load 48(dvec3v) - 681: 46(fvec3) Load 48(dvec3v) - 682: 46(fvec3) ExtInst 1(GLSL.std.450) 70(FaceForward) 679 680 681 - 683: 46(fvec3) Load 48(dvec3v) - 684: 46(fvec3) FAdd 683 682 - Store 48(dvec3v) 684 - 685: 51(fvec4) Load 53(dvec4v) - 686: 51(fvec4) Load 53(dvec4v) - 687: 51(fvec4) Load 53(dvec4v) - 688: 51(fvec4) ExtInst 1(GLSL.std.450) 70(FaceForward) 685 686 687 - 689: 51(fvec4) Load 53(dvec4v) - 690: 51(fvec4) FAdd 689 688 - Store 53(dvec4v) 690 - 691: 37(float) Load 39(doublev) - 692: 37(float) Load 39(doublev) - 693: 37(float) ExtInst 1(GLSL.std.450) 71(Reflect) 691 692 - 694: 37(float) Load 39(doublev) - 695: 37(float) FAdd 694 693 - Store 39(doublev) 695 - 696: 41(fvec2) Load 43(dvec2v) - 697: 41(fvec2) Load 43(dvec2v) - 698: 41(fvec2) ExtInst 1(GLSL.std.450) 71(Reflect) 696 697 - 699: 41(fvec2) Load 43(dvec2v) - 700: 41(fvec2) FAdd 699 698 - Store 43(dvec2v) 700 - 701: 46(fvec3) Load 48(dvec3v) - 702: 46(fvec3) Load 48(dvec3v) - 703: 46(fvec3) ExtInst 1(GLSL.std.450) 71(Reflect) 701 702 - 704: 46(fvec3) Load 48(dvec3v) - 705: 46(fvec3) FAdd 704 703 - Store 48(dvec3v) 705 - 706: 51(fvec4) Load 53(dvec4v) - 707: 51(fvec4) Load 53(dvec4v) - 708: 51(fvec4) ExtInst 1(GLSL.std.450) 71(Reflect) 706 707 - 709: 51(fvec4) Load 53(dvec4v) - 710: 51(fvec4) FAdd 709 708 - Store 53(dvec4v) 710 - 711: 37(float) Load 39(doublev) - 712: 37(float) Load 39(doublev) - 713: 37(float) Load 39(doublev) - 714: 37(float) ExtInst 1(GLSL.std.450) 72(Refract) 711 712 713 - 715: 37(float) Load 39(doublev) - 716: 37(float) FAdd 715 714 - Store 39(doublev) 716 - 717: 41(fvec2) Load 43(dvec2v) - 718: 41(fvec2) Load 43(dvec2v) - 719: 37(float) Load 39(doublev) - 720: 41(fvec2) ExtInst 1(GLSL.std.450) 72(Refract) 717 718 719 - 721: 41(fvec2) Load 43(dvec2v) - 722: 41(fvec2) FAdd 721 720 - Store 43(dvec2v) 722 - 723: 46(fvec3) Load 48(dvec3v) - 724: 46(fvec3) Load 48(dvec3v) - 725: 37(float) Load 39(doublev) - 726: 46(fvec3) ExtInst 1(GLSL.std.450) 72(Refract) 723 724 725 - 727: 46(fvec3) Load 48(dvec3v) - 728: 46(fvec3) FAdd 727 726 - Store 48(dvec3v) 728 - 729: 51(fvec4) Load 53(dvec4v) - 730: 51(fvec4) Load 53(dvec4v) - 731: 37(float) Load 39(doublev) - 732: 51(fvec4) ExtInst 1(GLSL.std.450) 72(Refract) 729 730 731 - 733: 51(fvec4) Load 53(dvec4v) - 734: 51(fvec4) FAdd 733 732 - Store 53(dvec4v) 734 - 738: 41(fvec2) Load 43(dvec2v) - 739: 41(fvec2) Load 43(dvec2v) - 740: 735 OuterProduct 738 739 - Store 737(dmat2v) 740 - 744: 46(fvec3) Load 48(dvec3v) - 745: 46(fvec3) Load 48(dvec3v) - 746: 741 OuterProduct 744 745 - Store 743(dmat3v) 746 - 750: 51(fvec4) Load 53(dvec4v) - 751: 51(fvec4) Load 53(dvec4v) - 752: 747 OuterProduct 750 751 - Store 749(dmat4v) 752 - 756: 46(fvec3) Load 48(dvec3v) - 757: 41(fvec2) Load 43(dvec2v) - 758: 753 OuterProduct 756 757 - Store 755(dmat2x3v) 758 - 762: 41(fvec2) Load 43(dvec2v) - 763: 46(fvec3) Load 48(dvec3v) - 764: 759 OuterProduct 762 763 - Store 761(dmat3x2v) 764 - 768: 51(fvec4) Load 53(dvec4v) - 769: 41(fvec2) Load 43(dvec2v) - 770: 765 OuterProduct 768 769 - Store 767(dmat2x4v) 770 - 774: 41(fvec2) Load 43(dvec2v) - 775: 51(fvec4) Load 53(dvec4v) - 776: 771 OuterProduct 774 775 - Store 773(dmat4x2v) 776 - 780: 51(fvec4) Load 53(dvec4v) - 781: 46(fvec3) Load 48(dvec3v) - 782: 777 OuterProduct 780 781 - Store 779(dmat3x4v) 782 - 786: 46(fvec3) Load 48(dvec3v) - 787: 51(fvec4) Load 53(dvec4v) - 788: 783 OuterProduct 786 787 - Store 785(dmat4x3v) 788 - 789: 735 Load 737(dmat2v) - 790: 735 Load 737(dmat2v) - 791: 41(fvec2) CompositeExtract 789 0 - 792: 41(fvec2) CompositeExtract 790 0 - 793: 41(fvec2) FMul 791 792 - 794: 41(fvec2) CompositeExtract 789 1 - 795: 41(fvec2) CompositeExtract 790 1 - 796: 41(fvec2) FMul 794 795 - 797: 735 CompositeConstruct 793 796 - 798: 735 Load 737(dmat2v) - 799: 735 MatrixTimesMatrix 798 797 - Store 737(dmat2v) 799 - 800: 741 Load 743(dmat3v) - 801: 741 Load 743(dmat3v) - 802: 46(fvec3) CompositeExtract 800 0 - 803: 46(fvec3) CompositeExtract 801 0 - 804: 46(fvec3) FMul 802 803 - 805: 46(fvec3) CompositeExtract 800 1 - 806: 46(fvec3) CompositeExtract 801 1 - 807: 46(fvec3) FMul 805 806 - 808: 46(fvec3) CompositeExtract 800 2 - 809: 46(fvec3) CompositeExtract 801 2 - 810: 46(fvec3) FMul 808 809 - 811: 741 CompositeConstruct 804 807 810 - 812: 741 Load 743(dmat3v) - 813: 741 MatrixTimesMatrix 812 811 - Store 743(dmat3v) 813 - 814: 747 Load 749(dmat4v) - 815: 747 Load 749(dmat4v) - 816: 51(fvec4) CompositeExtract 814 0 - 817: 51(fvec4) CompositeExtract 815 0 - 818: 51(fvec4) FMul 816 817 - 819: 51(fvec4) CompositeExtract 814 1 - 820: 51(fvec4) CompositeExtract 815 1 - 821: 51(fvec4) FMul 819 820 - 822: 51(fvec4) CompositeExtract 814 2 - 823: 51(fvec4) CompositeExtract 815 2 - 824: 51(fvec4) FMul 822 823 - 825: 51(fvec4) CompositeExtract 814 3 - 826: 51(fvec4) CompositeExtract 815 3 - 827: 51(fvec4) FMul 825 826 - 828: 747 CompositeConstruct 818 821 824 827 - 829: 747 Load 749(dmat4v) - 830: 747 MatrixTimesMatrix 829 828 - Store 749(dmat4v) 830 - 831: 753 Load 755(dmat2x3v) - 832: 753 Load 755(dmat2x3v) - 833: 46(fvec3) CompositeExtract 831 0 - 834: 46(fvec3) CompositeExtract 832 0 - 835: 46(fvec3) FMul 833 834 - 836: 46(fvec3) CompositeExtract 831 1 - 837: 46(fvec3) CompositeExtract 832 1 - 838: 46(fvec3) FMul 836 837 - 839: 753 CompositeConstruct 835 838 - Store 755(dmat2x3v) 839 - 840: 765 Load 767(dmat2x4v) - 841: 765 Load 767(dmat2x4v) - 842: 51(fvec4) CompositeExtract 840 0 - 843: 51(fvec4) CompositeExtract 841 0 - 844: 51(fvec4) FMul 842 843 - 845: 51(fvec4) CompositeExtract 840 1 - 846: 51(fvec4) CompositeExtract 841 1 - 847: 51(fvec4) FMul 845 846 - 848: 765 CompositeConstruct 844 847 - Store 767(dmat2x4v) 848 - 849: 759 Load 761(dmat3x2v) - 850: 759 Load 761(dmat3x2v) - 851: 41(fvec2) CompositeExtract 849 0 - 852: 41(fvec2) CompositeExtract 850 0 - 853: 41(fvec2) FMul 851 852 - 854: 41(fvec2) CompositeExtract 849 1 - 855: 41(fvec2) CompositeExtract 850 1 - 856: 41(fvec2) FMul 854 855 - 857: 41(fvec2) CompositeExtract 849 2 - 858: 41(fvec2) CompositeExtract 850 2 - 859: 41(fvec2) FMul 857 858 - 860: 759 CompositeConstruct 853 856 859 - Store 761(dmat3x2v) 860 - 861: 777 Load 779(dmat3x4v) - 862: 777 Load 779(dmat3x4v) - 863: 51(fvec4) CompositeExtract 861 0 - 864: 51(fvec4) CompositeExtract 862 0 - 865: 51(fvec4) FMul 863 864 - 866: 51(fvec4) CompositeExtract 861 1 - 867: 51(fvec4) CompositeExtract 862 1 - 868: 51(fvec4) FMul 866 867 - 869: 51(fvec4) CompositeExtract 861 2 - 870: 51(fvec4) CompositeExtract 862 2 - 871: 51(fvec4) FMul 869 870 - 872: 777 CompositeConstruct 865 868 871 - Store 779(dmat3x4v) 872 - 873: 771 Load 773(dmat4x2v) - 874: 771 Load 773(dmat4x2v) - 875: 41(fvec2) CompositeExtract 873 0 - 876: 41(fvec2) CompositeExtract 874 0 - 877: 41(fvec2) FMul 875 876 - 878: 41(fvec2) CompositeExtract 873 1 - 879: 41(fvec2) CompositeExtract 874 1 - 880: 41(fvec2) FMul 878 879 - 881: 41(fvec2) CompositeExtract 873 2 - 882: 41(fvec2) CompositeExtract 874 2 - 883: 41(fvec2) FMul 881 882 - 884: 41(fvec2) CompositeExtract 873 3 - 885: 41(fvec2) CompositeExtract 874 3 - 886: 41(fvec2) FMul 884 885 - 887: 771 CompositeConstruct 877 880 883 886 - Store 773(dmat4x2v) 887 - 888: 783 Load 785(dmat4x3v) - 889: 783 Load 785(dmat4x3v) - 890: 46(fvec3) CompositeExtract 888 0 - 891: 46(fvec3) CompositeExtract 889 0 - 892: 46(fvec3) FMul 890 891 - 893: 46(fvec3) CompositeExtract 888 1 - 894: 46(fvec3) CompositeExtract 889 1 - 895: 46(fvec3) FMul 893 894 - 896: 46(fvec3) CompositeExtract 888 2 - 897: 46(fvec3) CompositeExtract 889 2 - 898: 46(fvec3) FMul 896 897 - 899: 46(fvec3) CompositeExtract 888 3 - 900: 46(fvec3) CompositeExtract 889 3 - 901: 46(fvec3) FMul 899 900 - 902: 783 CompositeConstruct 892 895 898 901 - Store 785(dmat4x3v) 902 - 903: 735 Load 737(dmat2v) - 904: 735 Transpose 903 - 905: 735 Load 737(dmat2v) - 906: 735 MatrixTimesMatrix 905 904 - Store 737(dmat2v) 906 - 907: 741 Load 743(dmat3v) - 908: 741 Transpose 907 - 909: 741 Load 743(dmat3v) - 910: 741 MatrixTimesMatrix 909 908 - Store 743(dmat3v) 910 - 911: 747 Load 749(dmat4v) - 912: 747 Transpose 911 - 913: 747 Load 749(dmat4v) - 914: 747 MatrixTimesMatrix 913 912 - Store 749(dmat4v) 914 - 915: 759 Load 761(dmat3x2v) - 916: 753 Transpose 915 - Store 755(dmat2x3v) 916 - 917: 753 Load 755(dmat2x3v) - 918: 759 Transpose 917 - Store 761(dmat3x2v) 918 - 919: 771 Load 773(dmat4x2v) - 920: 765 Transpose 919 - Store 767(dmat2x4v) 920 - 921: 765 Load 767(dmat2x4v) - 922: 771 Transpose 921 - Store 773(dmat4x2v) 922 - 923: 783 Load 785(dmat4x3v) - 924: 777 Transpose 923 - Store 779(dmat3x4v) 924 - 925: 777 Load 779(dmat3x4v) - 926: 783 Transpose 925 - Store 785(dmat4x3v) 926 - 927: 735 Load 737(dmat2v) - 928: 37(float) ExtInst 1(GLSL.std.450) 33(Determinant) 927 - 929: 37(float) Load 39(doublev) - 930: 37(float) FAdd 929 928 - Store 39(doublev) 930 - 931: 741 Load 743(dmat3v) - 932: 37(float) ExtInst 1(GLSL.std.450) 33(Determinant) 931 - 933: 37(float) Load 39(doublev) - 934: 37(float) FAdd 933 932 - Store 39(doublev) 934 - 935: 747 Load 749(dmat4v) - 936: 37(float) ExtInst 1(GLSL.std.450) 33(Determinant) 935 - 937: 37(float) Load 39(doublev) - 938: 37(float) FAdd 937 936 - Store 39(doublev) 938 - 939: 735 Load 737(dmat2v) - 940: 735 ExtInst 1(GLSL.std.450) 34(MatrixInverse) 939 - 941: 735 Load 737(dmat2v) - 942: 735 MatrixTimesMatrix 941 940 - Store 737(dmat2v) 942 - 943: 741 Load 743(dmat3v) - 944: 741 ExtInst 1(GLSL.std.450) 34(MatrixInverse) 943 - 945: 741 Load 743(dmat3v) - 946: 741 MatrixTimesMatrix 945 944 - Store 743(dmat3v) 946 - 947: 747 Load 749(dmat4v) - 948: 747 ExtInst 1(GLSL.std.450) 34(MatrixInverse) 947 - 949: 747 Load 749(dmat4v) - 950: 747 MatrixTimesMatrix 949 948 - Store 749(dmat4v) 950 - 951: 37(float) Load 39(doublev) - 953: 38(ptr) AccessChain 43(dvec2v) 952 - 954: 37(float) Load 953 - 955: 37(float) FAdd 951 954 - 957: 38(ptr) AccessChain 48(dvec3v) 956 - 958: 37(float) Load 957 - 959: 37(float) FAdd 955 958 - 961: 38(ptr) AccessChain 53(dvec4v) 960 - 962: 37(float) Load 961 - 963: 37(float) FAdd 959 962 - 965: 38(ptr) AccessChain 737(dmat2v) 964 952 - 966: 37(float) Load 965 - 967: 37(float) FAdd 963 966 - 969: 38(ptr) AccessChain 743(dmat3v) 968 956 - 970: 37(float) Load 969 - 971: 37(float) FAdd 967 970 - 972: 38(ptr) AccessChain 749(dmat4v) 25 960 - 973: 37(float) Load 972 - 974: 37(float) FAdd 971 973 - 975: 38(ptr) AccessChain 755(dmat2x3v) 964 952 - 976: 37(float) Load 975 - 977: 37(float) FAdd 974 976 - 978: 38(ptr) AccessChain 761(dmat3x2v) 964 952 - 979: 37(float) Load 978 - 980: 37(float) FAdd 977 979 - 981: 38(ptr) AccessChain 779(dmat3x4v) 968 956 - 982: 37(float) Load 981 - 983: 37(float) FAdd 980 982 - 984: 38(ptr) AccessChain 785(dmat4x3v) 968 956 - 985: 37(float) Load 984 - 986: 37(float) FAdd 983 985 - 987: 38(ptr) AccessChain 767(dmat2x4v) 964 952 - 988: 37(float) Load 987 - 989: 37(float) FAdd 986 988 - 990: 38(ptr) AccessChain 773(dmat4x2v) 964 952 - 991: 37(float) Load 990 - 992: 37(float) FAdd 989 991 - 993: 426(bool) Load 428(boolv) - 995: 10(float) Select 993 994 21 - 996: 37(float) FConvert 995 - 997: 37(float) FAdd 992 996 - 998: 435(bvec2) Load 437(bvec2v) - 999: 426(bool) CompositeExtract 998 0 - 1000: 10(float) Select 999 994 21 - 1001: 37(float) FConvert 1000 - 1002: 37(float) FAdd 997 1001 - 1003: 444(bvec3) Load 446(bvec3v) - 1004: 426(bool) CompositeExtract 1003 0 - 1005: 10(float) Select 1004 994 21 - 1006: 37(float) FConvert 1005 - 1007: 37(float) FAdd 1002 1006 - 1008: 453(bvec4) Load 455(bvec4v) - 1009: 426(bool) CompositeExtract 1008 0 - 1010: 10(float) Select 1009 994 21 - 1011: 37(float) FConvert 1010 - 1012: 37(float) FAdd 1007 1011 - 1013: 10(float) FConvert 1012 - 1014: 11(fvec4) Load 13(outp) - 1015: 11(fvec4) VectorTimesScalar 1014 1013 - Store 13(outp) 1015 + 41(doublev): 40(ptr) Variable Function + 45(dvec2v): 44(ptr) Variable Function + 50(dvec3v): 49(ptr) Variable Function + 55(dvec4v): 54(ptr) Variable Function + 430(boolv): 429(ptr) Variable Function + 439(bvec2v): 438(ptr) Variable Function + 448(bvec3v): 447(ptr) Variable Function + 457(bvec4v): 456(ptr) Variable Function + 556: 429(ptr) Variable Function + 565: 438(ptr) Variable Function + 574: 447(ptr) Variable Function + 583: 456(ptr) Variable Function + 739(dmat2v): 738(ptr) Variable Function + 745(dmat3v): 744(ptr) Variable Function + 751(dmat4v): 750(ptr) Variable Function + 757(dmat2x3v): 756(ptr) Variable Function + 763(dmat3x2v): 762(ptr) Variable Function + 769(dmat2x4v): 768(ptr) Variable Function + 775(dmat4x2v): 774(ptr) Variable Function + 781(dmat3x4v): 780(ptr) Variable Function + 787(dmat4x3v): 786(ptr) Variable Function + Store 41(doublev) 42 + Store 45(dvec2v) 47 + Store 50(dvec3v) 52 + 56: 39(float) Load 41(doublev) + 57: 53(fvec4) CompositeConstruct 56 56 56 56 + 58: 53(fvec4) ExtInst 1(GLSL.std.450) 31(Sqrt) 57 + Store 55(dvec4v) 58 + 59: 39(float) Load 41(doublev) + 60: 39(float) ExtInst 1(GLSL.std.450) 32(InverseSqrt) 59 + 61: 39(float) Load 41(doublev) + 62: 39(float) FAdd 61 60 + Store 41(doublev) 62 + 63: 43(fvec2) Load 45(dvec2v) + 64: 43(fvec2) ExtInst 1(GLSL.std.450) 32(InverseSqrt) 63 + 65: 43(fvec2) Load 45(dvec2v) + 66: 43(fvec2) FAdd 65 64 + Store 45(dvec2v) 66 + 67: 48(fvec3) Load 50(dvec3v) + 68: 48(fvec3) ExtInst 1(GLSL.std.450) 32(InverseSqrt) 67 + 69: 48(fvec3) Load 50(dvec3v) + 70: 48(fvec3) FAdd 69 68 + Store 50(dvec3v) 70 + 71: 53(fvec4) Load 55(dvec4v) + 72: 53(fvec4) ExtInst 1(GLSL.std.450) 32(InverseSqrt) 71 + 73: 53(fvec4) Load 55(dvec4v) + 74: 53(fvec4) FAdd 73 72 + Store 55(dvec4v) 74 + 75: 39(float) Load 41(doublev) + 76: 39(float) ExtInst 1(GLSL.std.450) 4(FAbs) 75 + 77: 39(float) Load 41(doublev) + 78: 39(float) FAdd 77 76 + Store 41(doublev) 78 + 79: 43(fvec2) Load 45(dvec2v) + 80: 43(fvec2) ExtInst 1(GLSL.std.450) 4(FAbs) 79 + 81: 43(fvec2) Load 45(dvec2v) + 82: 43(fvec2) FAdd 81 80 + Store 45(dvec2v) 82 + 83: 48(fvec3) Load 50(dvec3v) + 84: 48(fvec3) ExtInst 1(GLSL.std.450) 4(FAbs) 83 + 85: 48(fvec3) Load 50(dvec3v) + 86: 48(fvec3) FAdd 85 84 + Store 50(dvec3v) 86 + 87: 53(fvec4) Load 55(dvec4v) + 88: 53(fvec4) ExtInst 1(GLSL.std.450) 4(FAbs) 87 + 89: 53(fvec4) Load 55(dvec4v) + 90: 53(fvec4) FAdd 89 88 + Store 55(dvec4v) 90 + 91: 39(float) Load 41(doublev) + 92: 39(float) ExtInst 1(GLSL.std.450) 6(FSign) 91 + 93: 39(float) Load 41(doublev) + 94: 39(float) FAdd 93 92 + Store 41(doublev) 94 + 95: 43(fvec2) Load 45(dvec2v) + 96: 43(fvec2) ExtInst 1(GLSL.std.450) 6(FSign) 95 + 97: 43(fvec2) Load 45(dvec2v) + 98: 43(fvec2) FAdd 97 96 + Store 45(dvec2v) 98 + 99: 48(fvec3) Load 50(dvec3v) + 100: 48(fvec3) ExtInst 1(GLSL.std.450) 6(FSign) 99 + 101: 48(fvec3) Load 50(dvec3v) + 102: 48(fvec3) FAdd 101 100 + Store 50(dvec3v) 102 + 103: 53(fvec4) Load 55(dvec4v) + 104: 53(fvec4) ExtInst 1(GLSL.std.450) 6(FSign) 103 + 105: 53(fvec4) Load 55(dvec4v) + 106: 53(fvec4) FAdd 105 104 + Store 55(dvec4v) 106 + 107: 39(float) Load 41(doublev) + 108: 39(float) ExtInst 1(GLSL.std.450) 8(Floor) 107 + 109: 39(float) Load 41(doublev) + 110: 39(float) FAdd 109 108 + Store 41(doublev) 110 + 111: 43(fvec2) Load 45(dvec2v) + 112: 43(fvec2) ExtInst 1(GLSL.std.450) 8(Floor) 111 + 113: 43(fvec2) Load 45(dvec2v) + 114: 43(fvec2) FAdd 113 112 + Store 45(dvec2v) 114 + 115: 48(fvec3) Load 50(dvec3v) + 116: 48(fvec3) ExtInst 1(GLSL.std.450) 8(Floor) 115 + 117: 48(fvec3) Load 50(dvec3v) + 118: 48(fvec3) FAdd 117 116 + Store 50(dvec3v) 118 + 119: 53(fvec4) Load 55(dvec4v) + 120: 53(fvec4) ExtInst 1(GLSL.std.450) 8(Floor) 119 + 121: 53(fvec4) Load 55(dvec4v) + 122: 53(fvec4) FAdd 121 120 + Store 55(dvec4v) 122 + 123: 39(float) Load 41(doublev) + 124: 39(float) ExtInst 1(GLSL.std.450) 3(Trunc) 123 + 125: 39(float) Load 41(doublev) + 126: 39(float) FAdd 125 124 + Store 41(doublev) 126 + 127: 43(fvec2) Load 45(dvec2v) + 128: 43(fvec2) ExtInst 1(GLSL.std.450) 3(Trunc) 127 + 129: 43(fvec2) Load 45(dvec2v) + 130: 43(fvec2) FAdd 129 128 + Store 45(dvec2v) 130 + 131: 48(fvec3) Load 50(dvec3v) + 132: 48(fvec3) ExtInst 1(GLSL.std.450) 3(Trunc) 131 + 133: 48(fvec3) Load 50(dvec3v) + 134: 48(fvec3) FAdd 133 132 + Store 50(dvec3v) 134 + 135: 53(fvec4) Load 55(dvec4v) + 136: 53(fvec4) ExtInst 1(GLSL.std.450) 3(Trunc) 135 + 137: 53(fvec4) Load 55(dvec4v) + 138: 53(fvec4) FAdd 137 136 + Store 55(dvec4v) 138 + 139: 39(float) Load 41(doublev) + 140: 39(float) ExtInst 1(GLSL.std.450) 1(Round) 139 + 141: 39(float) Load 41(doublev) + 142: 39(float) FAdd 141 140 + Store 41(doublev) 142 + 143: 43(fvec2) Load 45(dvec2v) + 144: 43(fvec2) ExtInst 1(GLSL.std.450) 1(Round) 143 + 145: 43(fvec2) Load 45(dvec2v) + 146: 43(fvec2) FAdd 145 144 + Store 45(dvec2v) 146 + 147: 48(fvec3) Load 50(dvec3v) + 148: 48(fvec3) ExtInst 1(GLSL.std.450) 1(Round) 147 + 149: 48(fvec3) Load 50(dvec3v) + 150: 48(fvec3) FAdd 149 148 + Store 50(dvec3v) 150 + 151: 53(fvec4) Load 55(dvec4v) + 152: 53(fvec4) ExtInst 1(GLSL.std.450) 1(Round) 151 + 153: 53(fvec4) Load 55(dvec4v) + 154: 53(fvec4) FAdd 153 152 + Store 55(dvec4v) 154 + 155: 39(float) Load 41(doublev) + 156: 39(float) ExtInst 1(GLSL.std.450) 2(RoundEven) 155 + 157: 39(float) Load 41(doublev) + 158: 39(float) FAdd 157 156 + Store 41(doublev) 158 + 159: 43(fvec2) Load 45(dvec2v) + 160: 43(fvec2) ExtInst 1(GLSL.std.450) 2(RoundEven) 159 + 161: 43(fvec2) Load 45(dvec2v) + 162: 43(fvec2) FAdd 161 160 + Store 45(dvec2v) 162 + 163: 48(fvec3) Load 50(dvec3v) + 164: 48(fvec3) ExtInst 1(GLSL.std.450) 2(RoundEven) 163 + 165: 48(fvec3) Load 50(dvec3v) + 166: 48(fvec3) FAdd 165 164 + Store 50(dvec3v) 166 + 167: 53(fvec4) Load 55(dvec4v) + 168: 53(fvec4) ExtInst 1(GLSL.std.450) 2(RoundEven) 167 + 169: 53(fvec4) Load 55(dvec4v) + 170: 53(fvec4) FAdd 169 168 + Store 55(dvec4v) 170 + 171: 39(float) Load 41(doublev) + 172: 39(float) ExtInst 1(GLSL.std.450) 9(Ceil) 171 + 173: 39(float) Load 41(doublev) + 174: 39(float) FAdd 173 172 + Store 41(doublev) 174 + 175: 43(fvec2) Load 45(dvec2v) + 176: 43(fvec2) ExtInst 1(GLSL.std.450) 9(Ceil) 175 + 177: 43(fvec2) Load 45(dvec2v) + 178: 43(fvec2) FAdd 177 176 + Store 45(dvec2v) 178 + 179: 48(fvec3) Load 50(dvec3v) + 180: 48(fvec3) ExtInst 1(GLSL.std.450) 9(Ceil) 179 + 181: 48(fvec3) Load 50(dvec3v) + 182: 48(fvec3) FAdd 181 180 + Store 50(dvec3v) 182 + 183: 53(fvec4) Load 55(dvec4v) + 184: 53(fvec4) ExtInst 1(GLSL.std.450) 9(Ceil) 183 + 185: 53(fvec4) Load 55(dvec4v) + 186: 53(fvec4) FAdd 185 184 + Store 55(dvec4v) 186 + 187: 39(float) Load 41(doublev) + 188: 39(float) ExtInst 1(GLSL.std.450) 10(Fract) 187 + 189: 39(float) Load 41(doublev) + 190: 39(float) FAdd 189 188 + Store 41(doublev) 190 + 191: 43(fvec2) Load 45(dvec2v) + 192: 43(fvec2) ExtInst 1(GLSL.std.450) 10(Fract) 191 + 193: 43(fvec2) Load 45(dvec2v) + 194: 43(fvec2) FAdd 193 192 + Store 45(dvec2v) 194 + 195: 48(fvec3) Load 50(dvec3v) + 196: 48(fvec3) ExtInst 1(GLSL.std.450) 10(Fract) 195 + 197: 48(fvec3) Load 50(dvec3v) + 198: 48(fvec3) FAdd 197 196 + Store 50(dvec3v) 198 + 199: 53(fvec4) Load 55(dvec4v) + 200: 53(fvec4) ExtInst 1(GLSL.std.450) 10(Fract) 199 + 201: 53(fvec4) Load 55(dvec4v) + 202: 53(fvec4) FAdd 201 200 + Store 55(dvec4v) 202 + 203: 39(float) Load 41(doublev) + 204: 39(float) Load 41(doublev) + 205: 39(float) FMod 203 204 + 206: 39(float) Load 41(doublev) + 207: 39(float) FAdd 206 205 + Store 41(doublev) 207 + 208: 43(fvec2) Load 45(dvec2v) + 209: 39(float) Load 41(doublev) + 210: 43(fvec2) CompositeConstruct 209 209 + 211: 43(fvec2) FMod 208 210 + 212: 43(fvec2) Load 45(dvec2v) + 213: 43(fvec2) FAdd 212 211 + Store 45(dvec2v) 213 + 214: 48(fvec3) Load 50(dvec3v) + 215: 39(float) Load 41(doublev) + 216: 48(fvec3) CompositeConstruct 215 215 215 + 217: 48(fvec3) FMod 214 216 + 218: 48(fvec3) Load 50(dvec3v) + 219: 48(fvec3) FAdd 218 217 + Store 50(dvec3v) 219 + 220: 53(fvec4) Load 55(dvec4v) + 221: 39(float) Load 41(doublev) + 222: 53(fvec4) CompositeConstruct 221 221 221 221 + 223: 53(fvec4) FMod 220 222 + 224: 53(fvec4) Load 55(dvec4v) + 225: 53(fvec4) FAdd 224 223 + Store 55(dvec4v) 225 + 226: 43(fvec2) Load 45(dvec2v) + 227: 43(fvec2) Load 45(dvec2v) + 228: 43(fvec2) FMod 226 227 + 229: 43(fvec2) Load 45(dvec2v) + 230: 43(fvec2) FAdd 229 228 + Store 45(dvec2v) 230 + 231: 48(fvec3) Load 50(dvec3v) + 232: 48(fvec3) Load 50(dvec3v) + 233: 48(fvec3) FMod 231 232 + 234: 48(fvec3) Load 50(dvec3v) + 235: 48(fvec3) FAdd 234 233 + Store 50(dvec3v) 235 + 236: 53(fvec4) Load 55(dvec4v) + 237: 53(fvec4) Load 55(dvec4v) + 238: 53(fvec4) FMod 236 237 + 239: 53(fvec4) Load 55(dvec4v) + 240: 53(fvec4) FAdd 239 238 + Store 55(dvec4v) 240 + 241: 39(float) Load 41(doublev) + 242: 39(float) ExtInst 1(GLSL.std.450) 35(Modf) 241 41(doublev) + 243: 39(float) Load 41(doublev) + 244: 39(float) FAdd 243 242 + Store 41(doublev) 244 + 245: 43(fvec2) Load 45(dvec2v) + 246: 43(fvec2) ExtInst 1(GLSL.std.450) 35(Modf) 245 45(dvec2v) + 247: 43(fvec2) Load 45(dvec2v) + 248: 43(fvec2) FAdd 247 246 + Store 45(dvec2v) 248 + 249: 48(fvec3) Load 50(dvec3v) + 250: 48(fvec3) ExtInst 1(GLSL.std.450) 35(Modf) 249 50(dvec3v) + 251: 48(fvec3) Load 50(dvec3v) + 252: 48(fvec3) FAdd 251 250 + Store 50(dvec3v) 252 + 253: 53(fvec4) Load 55(dvec4v) + 254: 53(fvec4) ExtInst 1(GLSL.std.450) 35(Modf) 253 55(dvec4v) + 255: 53(fvec4) Load 55(dvec4v) + 256: 53(fvec4) FAdd 255 254 + Store 55(dvec4v) 256 + 257: 39(float) Load 41(doublev) + 258: 39(float) Load 41(doublev) + 259: 39(float) ExtInst 1(GLSL.std.450) 37(FMin) 257 258 + 260: 39(float) Load 41(doublev) + 261: 39(float) FAdd 260 259 + Store 41(doublev) 261 + 262: 43(fvec2) Load 45(dvec2v) + 263: 39(float) Load 41(doublev) + 264: 43(fvec2) CompositeConstruct 263 263 + 265: 43(fvec2) ExtInst 1(GLSL.std.450) 37(FMin) 262 264 + 266: 43(fvec2) Load 45(dvec2v) + 267: 43(fvec2) FAdd 266 265 + Store 45(dvec2v) 267 + 268: 48(fvec3) Load 50(dvec3v) + 269: 39(float) Load 41(doublev) + 270: 48(fvec3) CompositeConstruct 269 269 269 + 271: 48(fvec3) ExtInst 1(GLSL.std.450) 37(FMin) 268 270 + 272: 48(fvec3) Load 50(dvec3v) + 273: 48(fvec3) FAdd 272 271 + Store 50(dvec3v) 273 + 274: 53(fvec4) Load 55(dvec4v) + 275: 39(float) Load 41(doublev) + 276: 53(fvec4) CompositeConstruct 275 275 275 275 + 277: 53(fvec4) ExtInst 1(GLSL.std.450) 37(FMin) 274 276 + 278: 53(fvec4) Load 55(dvec4v) + 279: 53(fvec4) FAdd 278 277 + Store 55(dvec4v) 279 + 280: 43(fvec2) Load 45(dvec2v) + 281: 43(fvec2) Load 45(dvec2v) + 282: 43(fvec2) ExtInst 1(GLSL.std.450) 37(FMin) 280 281 + 283: 43(fvec2) Load 45(dvec2v) + 284: 43(fvec2) FAdd 283 282 + Store 45(dvec2v) 284 + 285: 48(fvec3) Load 50(dvec3v) + 286: 48(fvec3) Load 50(dvec3v) + 287: 48(fvec3) ExtInst 1(GLSL.std.450) 37(FMin) 285 286 + 288: 48(fvec3) Load 50(dvec3v) + 289: 48(fvec3) FAdd 288 287 + Store 50(dvec3v) 289 + 290: 53(fvec4) Load 55(dvec4v) + 291: 53(fvec4) Load 55(dvec4v) + 292: 53(fvec4) ExtInst 1(GLSL.std.450) 37(FMin) 290 291 + 293: 53(fvec4) Load 55(dvec4v) + 294: 53(fvec4) FAdd 293 292 + Store 55(dvec4v) 294 + 295: 39(float) Load 41(doublev) + 296: 39(float) Load 41(doublev) + 297: 39(float) ExtInst 1(GLSL.std.450) 40(FMax) 295 296 + 298: 39(float) Load 41(doublev) + 299: 39(float) FAdd 298 297 + Store 41(doublev) 299 + 300: 43(fvec2) Load 45(dvec2v) + 301: 39(float) Load 41(doublev) + 302: 43(fvec2) CompositeConstruct 301 301 + 303: 43(fvec2) ExtInst 1(GLSL.std.450) 40(FMax) 300 302 + 304: 43(fvec2) Load 45(dvec2v) + 305: 43(fvec2) FAdd 304 303 + Store 45(dvec2v) 305 + 306: 48(fvec3) Load 50(dvec3v) + 307: 39(float) Load 41(doublev) + 308: 48(fvec3) CompositeConstruct 307 307 307 + 309: 48(fvec3) ExtInst 1(GLSL.std.450) 40(FMax) 306 308 + 310: 48(fvec3) Load 50(dvec3v) + 311: 48(fvec3) FAdd 310 309 + Store 50(dvec3v) 311 + 312: 53(fvec4) Load 55(dvec4v) + 313: 39(float) Load 41(doublev) + 314: 53(fvec4) CompositeConstruct 313 313 313 313 + 315: 53(fvec4) ExtInst 1(GLSL.std.450) 40(FMax) 312 314 + 316: 53(fvec4) Load 55(dvec4v) + 317: 53(fvec4) FAdd 316 315 + Store 55(dvec4v) 317 + 318: 43(fvec2) Load 45(dvec2v) + 319: 43(fvec2) Load 45(dvec2v) + 320: 43(fvec2) ExtInst 1(GLSL.std.450) 40(FMax) 318 319 + 321: 43(fvec2) Load 45(dvec2v) + 322: 43(fvec2) FAdd 321 320 + Store 45(dvec2v) 322 + 323: 48(fvec3) Load 50(dvec3v) + 324: 48(fvec3) Load 50(dvec3v) + 325: 48(fvec3) ExtInst 1(GLSL.std.450) 40(FMax) 323 324 + 326: 48(fvec3) Load 50(dvec3v) + 327: 48(fvec3) FAdd 326 325 + Store 50(dvec3v) 327 + 328: 53(fvec4) Load 55(dvec4v) + 329: 53(fvec4) Load 55(dvec4v) + 330: 53(fvec4) ExtInst 1(GLSL.std.450) 40(FMax) 328 329 + 331: 53(fvec4) Load 55(dvec4v) + 332: 53(fvec4) FAdd 331 330 + Store 55(dvec4v) 332 + 333: 39(float) Load 41(doublev) + 334: 39(float) Load 41(doublev) + 335: 39(float) Load 41(doublev) + 336: 39(float) ExtInst 1(GLSL.std.450) 43(FClamp) 333 334 335 + 337: 39(float) Load 41(doublev) + 338: 39(float) FAdd 337 336 + Store 41(doublev) 338 + 339: 43(fvec2) Load 45(dvec2v) + 340: 39(float) Load 41(doublev) + 341: 39(float) Load 41(doublev) + 342: 43(fvec2) CompositeConstruct 340 340 + 343: 43(fvec2) CompositeConstruct 341 341 + 344: 43(fvec2) ExtInst 1(GLSL.std.450) 43(FClamp) 339 342 343 + 345: 43(fvec2) Load 45(dvec2v) + 346: 43(fvec2) FAdd 345 344 + Store 45(dvec2v) 346 + 347: 48(fvec3) Load 50(dvec3v) + 348: 39(float) Load 41(doublev) + 349: 39(float) Load 41(doublev) + 350: 48(fvec3) CompositeConstruct 348 348 348 + 351: 48(fvec3) CompositeConstruct 349 349 349 + 352: 48(fvec3) ExtInst 1(GLSL.std.450) 43(FClamp) 347 350 351 + 353: 48(fvec3) Load 50(dvec3v) + 354: 48(fvec3) FAdd 353 352 + Store 50(dvec3v) 354 + 355: 53(fvec4) Load 55(dvec4v) + 356: 39(float) Load 41(doublev) + 357: 39(float) Load 41(doublev) + 358: 53(fvec4) CompositeConstruct 356 356 356 356 + 359: 53(fvec4) CompositeConstruct 357 357 357 357 + 360: 53(fvec4) ExtInst 1(GLSL.std.450) 43(FClamp) 355 358 359 + 361: 53(fvec4) Load 55(dvec4v) + 362: 53(fvec4) FAdd 361 360 + Store 55(dvec4v) 362 + 363: 43(fvec2) Load 45(dvec2v) + 364: 43(fvec2) Load 45(dvec2v) + 365: 43(fvec2) Load 45(dvec2v) + 366: 43(fvec2) ExtInst 1(GLSL.std.450) 43(FClamp) 363 364 365 + 367: 43(fvec2) Load 45(dvec2v) + 368: 43(fvec2) FAdd 367 366 + Store 45(dvec2v) 368 + 369: 48(fvec3) Load 50(dvec3v) + 370: 48(fvec3) Load 50(dvec3v) + 371: 48(fvec3) Load 50(dvec3v) + 372: 48(fvec3) ExtInst 1(GLSL.std.450) 43(FClamp) 369 370 371 + 373: 48(fvec3) Load 50(dvec3v) + 374: 48(fvec3) FAdd 373 372 + Store 50(dvec3v) 374 + 375: 53(fvec4) Load 55(dvec4v) + 376: 53(fvec4) Load 55(dvec4v) + 377: 53(fvec4) Load 55(dvec4v) + 378: 53(fvec4) ExtInst 1(GLSL.std.450) 43(FClamp) 375 376 377 + 379: 53(fvec4) Load 55(dvec4v) + 380: 53(fvec4) FAdd 379 378 + Store 55(dvec4v) 380 + 381: 39(float) Load 41(doublev) + 382: 39(float) Load 41(doublev) + 383: 39(float) Load 41(doublev) + 384: 39(float) ExtInst 1(GLSL.std.450) 46(FMix) 381 382 383 + 385: 39(float) Load 41(doublev) + 386: 39(float) FAdd 385 384 + Store 41(doublev) 386 + 387: 43(fvec2) Load 45(dvec2v) + 388: 43(fvec2) Load 45(dvec2v) + 389: 39(float) Load 41(doublev) + 390: 43(fvec2) CompositeConstruct 389 389 + 391: 43(fvec2) ExtInst 1(GLSL.std.450) 46(FMix) 387 388 390 + 392: 43(fvec2) Load 45(dvec2v) + 393: 43(fvec2) FAdd 392 391 + Store 45(dvec2v) 393 + 394: 48(fvec3) Load 50(dvec3v) + 395: 48(fvec3) Load 50(dvec3v) + 396: 39(float) Load 41(doublev) + 397: 48(fvec3) CompositeConstruct 396 396 396 + 398: 48(fvec3) ExtInst 1(GLSL.std.450) 46(FMix) 394 395 397 + 399: 48(fvec3) Load 50(dvec3v) + 400: 48(fvec3) FAdd 399 398 + Store 50(dvec3v) 400 + 401: 53(fvec4) Load 55(dvec4v) + 402: 53(fvec4) Load 55(dvec4v) + 403: 39(float) Load 41(doublev) + 404: 53(fvec4) CompositeConstruct 403 403 403 403 + 405: 53(fvec4) ExtInst 1(GLSL.std.450) 46(FMix) 401 402 404 + 406: 53(fvec4) Load 55(dvec4v) + 407: 53(fvec4) FAdd 406 405 + Store 55(dvec4v) 407 + 408: 43(fvec2) Load 45(dvec2v) + 409: 43(fvec2) Load 45(dvec2v) + 410: 43(fvec2) Load 45(dvec2v) + 411: 43(fvec2) ExtInst 1(GLSL.std.450) 46(FMix) 408 409 410 + 412: 43(fvec2) Load 45(dvec2v) + 413: 43(fvec2) FAdd 412 411 + Store 45(dvec2v) 413 + 414: 48(fvec3) Load 50(dvec3v) + 415: 48(fvec3) Load 50(dvec3v) + 416: 48(fvec3) Load 50(dvec3v) + 417: 48(fvec3) ExtInst 1(GLSL.std.450) 46(FMix) 414 415 416 + 418: 48(fvec3) Load 50(dvec3v) + 419: 48(fvec3) FAdd 418 417 + Store 50(dvec3v) 419 + 420: 53(fvec4) Load 55(dvec4v) + 421: 53(fvec4) Load 55(dvec4v) + 422: 53(fvec4) Load 55(dvec4v) + 423: 53(fvec4) ExtInst 1(GLSL.std.450) 46(FMix) 420 421 422 + 424: 53(fvec4) Load 55(dvec4v) + 425: 53(fvec4) FAdd 424 423 + Store 55(dvec4v) 425 + 426: 39(float) Load 41(doublev) + 427: 39(float) Load 41(doublev) + 431: 428(bool) Load 430(boolv) + 432: 39(float) Select 431 427 426 + 433: 39(float) Load 41(doublev) + 434: 39(float) FAdd 433 432 + Store 41(doublev) 434 + 435: 43(fvec2) Load 45(dvec2v) + 436: 43(fvec2) Load 45(dvec2v) + 440: 437(bvec2) Load 439(bvec2v) + 441: 43(fvec2) Select 440 436 435 + 442: 43(fvec2) Load 45(dvec2v) + 443: 43(fvec2) FAdd 442 441 + Store 45(dvec2v) 443 + 444: 48(fvec3) Load 50(dvec3v) + 445: 48(fvec3) Load 50(dvec3v) + 449: 446(bvec3) Load 448(bvec3v) + 450: 48(fvec3) Select 449 445 444 + 451: 48(fvec3) Load 50(dvec3v) + 452: 48(fvec3) FAdd 451 450 + Store 50(dvec3v) 452 + 453: 53(fvec4) Load 55(dvec4v) + 454: 53(fvec4) Load 55(dvec4v) + 458: 455(bvec4) Load 457(bvec4v) + 459: 53(fvec4) Select 458 454 453 + 460: 53(fvec4) Load 55(dvec4v) + 461: 53(fvec4) FAdd 460 459 + Store 55(dvec4v) 461 + 462: 39(float) Load 41(doublev) + 463: 39(float) Load 41(doublev) + 464: 39(float) ExtInst 1(GLSL.std.450) 48(Step) 462 463 + 465: 39(float) Load 41(doublev) + 466: 39(float) FAdd 465 464 + Store 41(doublev) 466 + 467: 43(fvec2) Load 45(dvec2v) + 468: 43(fvec2) Load 45(dvec2v) + 469: 43(fvec2) ExtInst 1(GLSL.std.450) 48(Step) 467 468 + 470: 43(fvec2) Load 45(dvec2v) + 471: 43(fvec2) FAdd 470 469 + Store 45(dvec2v) 471 + 472: 48(fvec3) Load 50(dvec3v) + 473: 48(fvec3) Load 50(dvec3v) + 474: 48(fvec3) ExtInst 1(GLSL.std.450) 48(Step) 472 473 + 475: 48(fvec3) Load 50(dvec3v) + 476: 48(fvec3) FAdd 475 474 + Store 50(dvec3v) 476 + 477: 53(fvec4) Load 55(dvec4v) + 478: 53(fvec4) Load 55(dvec4v) + 479: 53(fvec4) ExtInst 1(GLSL.std.450) 48(Step) 477 478 + 480: 53(fvec4) Load 55(dvec4v) + 481: 53(fvec4) FAdd 480 479 + Store 55(dvec4v) 481 + 482: 39(float) Load 41(doublev) + 483: 43(fvec2) Load 45(dvec2v) + 484: 43(fvec2) CompositeConstruct 482 482 + 485: 43(fvec2) ExtInst 1(GLSL.std.450) 48(Step) 484 483 + 486: 43(fvec2) Load 45(dvec2v) + 487: 43(fvec2) FAdd 486 485 + Store 45(dvec2v) 487 + 488: 39(float) Load 41(doublev) + 489: 48(fvec3) Load 50(dvec3v) + 490: 48(fvec3) CompositeConstruct 488 488 488 + 491: 48(fvec3) ExtInst 1(GLSL.std.450) 48(Step) 490 489 + 492: 48(fvec3) Load 50(dvec3v) + 493: 48(fvec3) FAdd 492 491 + Store 50(dvec3v) 493 + 494: 39(float) Load 41(doublev) + 495: 53(fvec4) Load 55(dvec4v) + 496: 53(fvec4) CompositeConstruct 494 494 494 494 + 497: 53(fvec4) ExtInst 1(GLSL.std.450) 48(Step) 496 495 + 498: 53(fvec4) Load 55(dvec4v) + 499: 53(fvec4) FAdd 498 497 + Store 55(dvec4v) 499 + 500: 39(float) Load 41(doublev) + 501: 39(float) Load 41(doublev) + 502: 39(float) Load 41(doublev) + 503: 39(float) ExtInst 1(GLSL.std.450) 49(SmoothStep) 500 501 502 + 504: 39(float) Load 41(doublev) + 505: 39(float) FAdd 504 503 + Store 41(doublev) 505 + 506: 43(fvec2) Load 45(dvec2v) + 507: 43(fvec2) Load 45(dvec2v) + 508: 43(fvec2) Load 45(dvec2v) + 509: 43(fvec2) ExtInst 1(GLSL.std.450) 49(SmoothStep) 506 507 508 + 510: 43(fvec2) Load 45(dvec2v) + 511: 43(fvec2) FAdd 510 509 + Store 45(dvec2v) 511 + 512: 48(fvec3) Load 50(dvec3v) + 513: 48(fvec3) Load 50(dvec3v) + 514: 48(fvec3) Load 50(dvec3v) + 515: 48(fvec3) ExtInst 1(GLSL.std.450) 49(SmoothStep) 512 513 514 + 516: 48(fvec3) Load 50(dvec3v) + 517: 48(fvec3) FAdd 516 515 + Store 50(dvec3v) 517 + 518: 53(fvec4) Load 55(dvec4v) + 519: 53(fvec4) Load 55(dvec4v) + 520: 53(fvec4) Load 55(dvec4v) + 521: 53(fvec4) ExtInst 1(GLSL.std.450) 49(SmoothStep) 518 519 520 + 522: 53(fvec4) Load 55(dvec4v) + 523: 53(fvec4) FAdd 522 521 + Store 55(dvec4v) 523 + 524: 39(float) Load 41(doublev) + 525: 39(float) Load 41(doublev) + 526: 43(fvec2) Load 45(dvec2v) + 527: 43(fvec2) CompositeConstruct 524 524 + 528: 43(fvec2) CompositeConstruct 525 525 + 529: 43(fvec2) ExtInst 1(GLSL.std.450) 49(SmoothStep) 527 528 526 + 530: 43(fvec2) Load 45(dvec2v) + 531: 43(fvec2) FAdd 530 529 + Store 45(dvec2v) 531 + 532: 39(float) Load 41(doublev) + 533: 39(float) Load 41(doublev) + 534: 48(fvec3) Load 50(dvec3v) + 535: 48(fvec3) CompositeConstruct 532 532 532 + 536: 48(fvec3) CompositeConstruct 533 533 533 + 537: 48(fvec3) ExtInst 1(GLSL.std.450) 49(SmoothStep) 535 536 534 + 538: 48(fvec3) Load 50(dvec3v) + 539: 48(fvec3) FAdd 538 537 + Store 50(dvec3v) 539 + 540: 39(float) Load 41(doublev) + 541: 39(float) Load 41(doublev) + 542: 53(fvec4) Load 55(dvec4v) + 543: 53(fvec4) CompositeConstruct 540 540 540 540 + 544: 53(fvec4) CompositeConstruct 541 541 541 541 + 545: 53(fvec4) ExtInst 1(GLSL.std.450) 49(SmoothStep) 543 544 542 + 546: 53(fvec4) Load 55(dvec4v) + 547: 53(fvec4) FAdd 546 545 + Store 55(dvec4v) 547 + 548: 39(float) Load 41(doublev) + 549: 428(bool) IsNan 548 + Store 430(boolv) 549 + 550: 43(fvec2) Load 45(dvec2v) + 551: 437(bvec2) IsNan 550 + Store 439(bvec2v) 551 + 552: 48(fvec3) Load 50(dvec3v) + 553: 446(bvec3) IsNan 552 + Store 448(bvec3v) 553 + 554: 53(fvec4) Load 55(dvec4v) + 555: 455(bvec4) IsNan 554 + Store 457(bvec4v) 555 + 557: 428(bool) Load 430(boolv) + SelectionMerge 559 None + BranchConditional 557 558 562 + 558: Label + 560: 39(float) Load 41(doublev) + 561: 428(bool) IsInf 560 + Store 556 561 + Branch 559 + 562: Label + Store 556 563 + Branch 559 + 559: Label + 564: 428(bool) Load 556 + Store 430(boolv) 564 + 566: 428(bool) Load 430(boolv) + SelectionMerge 568 None + BranchConditional 566 567 571 + 567: Label + 569: 43(fvec2) Load 45(dvec2v) + 570: 437(bvec2) IsInf 569 + Store 565 570 + Branch 568 + 571: Label + Store 565 572 + Branch 568 + 568: Label + 573: 437(bvec2) Load 565 + Store 439(bvec2v) 573 + 575: 428(bool) Load 430(boolv) + SelectionMerge 577 None + BranchConditional 575 576 580 + 576: Label + 578: 48(fvec3) Load 50(dvec3v) + 579: 446(bvec3) IsInf 578 + Store 574 579 + Branch 577 + 580: Label + Store 574 581 + Branch 577 + 577: Label + 582: 446(bvec3) Load 574 + Store 448(bvec3v) 582 + 584: 428(bool) Load 430(boolv) + SelectionMerge 586 None + BranchConditional 584 585 589 + 585: Label + 587: 53(fvec4) Load 55(dvec4v) + 588: 455(bvec4) IsInf 587 + Store 583 588 + Branch 586 + 589: Label + Store 583 590 + Branch 586 + 586: Label + 591: 455(bvec4) Load 583 + Store 457(bvec4v) 591 + 592: 39(float) Load 41(doublev) + 593: 39(float) ExtInst 1(GLSL.std.450) 66(Length) 592 + 594: 39(float) Load 41(doublev) + 595: 39(float) FAdd 594 593 + Store 41(doublev) 595 + 596: 43(fvec2) Load 45(dvec2v) + 597: 39(float) ExtInst 1(GLSL.std.450) 66(Length) 596 + 598: 39(float) Load 41(doublev) + 599: 39(float) FAdd 598 597 + Store 41(doublev) 599 + 600: 48(fvec3) Load 50(dvec3v) + 601: 39(float) ExtInst 1(GLSL.std.450) 66(Length) 600 + 602: 39(float) Load 41(doublev) + 603: 39(float) FAdd 602 601 + Store 41(doublev) 603 + 604: 53(fvec4) Load 55(dvec4v) + 605: 39(float) ExtInst 1(GLSL.std.450) 66(Length) 604 + 606: 39(float) Load 41(doublev) + 607: 39(float) FAdd 606 605 + Store 41(doublev) 607 + 608: 39(float) Load 41(doublev) + 609: 39(float) Load 41(doublev) + 610: 39(float) ExtInst 1(GLSL.std.450) 67(Distance) 608 609 + 611: 39(float) Load 41(doublev) + 612: 39(float) FAdd 611 610 + Store 41(doublev) 612 + 613: 43(fvec2) Load 45(dvec2v) + 614: 43(fvec2) Load 45(dvec2v) + 615: 39(float) ExtInst 1(GLSL.std.450) 67(Distance) 613 614 + 616: 39(float) Load 41(doublev) + 617: 39(float) FAdd 616 615 + Store 41(doublev) 617 + 618: 48(fvec3) Load 50(dvec3v) + 619: 48(fvec3) Load 50(dvec3v) + 620: 39(float) ExtInst 1(GLSL.std.450) 67(Distance) 618 619 + 621: 39(float) Load 41(doublev) + 622: 39(float) FAdd 621 620 + Store 41(doublev) 622 + 623: 53(fvec4) Load 55(dvec4v) + 624: 53(fvec4) Load 55(dvec4v) + 625: 39(float) ExtInst 1(GLSL.std.450) 67(Distance) 623 624 + 626: 39(float) Load 41(doublev) + 627: 39(float) FAdd 626 625 + Store 41(doublev) 627 + 628: 39(float) Load 41(doublev) + 629: 39(float) Load 41(doublev) + 630: 39(float) FMul 628 629 + 631: 39(float) Load 41(doublev) + 632: 39(float) FAdd 631 630 + Store 41(doublev) 632 + 633: 43(fvec2) Load 45(dvec2v) + 634: 43(fvec2) Load 45(dvec2v) + 635: 39(float) Dot 633 634 + 636: 39(float) Load 41(doublev) + 637: 39(float) FAdd 636 635 + Store 41(doublev) 637 + 638: 48(fvec3) Load 50(dvec3v) + 639: 48(fvec3) Load 50(dvec3v) + 640: 39(float) Dot 638 639 + 641: 39(float) Load 41(doublev) + 642: 39(float) FAdd 641 640 + Store 41(doublev) 642 + 643: 53(fvec4) Load 55(dvec4v) + 644: 53(fvec4) Load 55(dvec4v) + 645: 39(float) Dot 643 644 + 646: 39(float) Load 41(doublev) + 647: 39(float) FAdd 646 645 + Store 41(doublev) 647 + 648: 48(fvec3) Load 50(dvec3v) + 649: 48(fvec3) Load 50(dvec3v) + 650: 48(fvec3) ExtInst 1(GLSL.std.450) 68(Cross) 648 649 + 651: 48(fvec3) Load 50(dvec3v) + 652: 48(fvec3) FAdd 651 650 + Store 50(dvec3v) 652 + 653: 39(float) Load 41(doublev) + 654: 39(float) ExtInst 1(GLSL.std.450) 69(Normalize) 653 + 655: 39(float) Load 41(doublev) + 656: 39(float) FAdd 655 654 + Store 41(doublev) 656 + 657: 43(fvec2) Load 45(dvec2v) + 658: 43(fvec2) ExtInst 1(GLSL.std.450) 69(Normalize) 657 + 659: 43(fvec2) Load 45(dvec2v) + 660: 43(fvec2) FAdd 659 658 + Store 45(dvec2v) 660 + 661: 48(fvec3) Load 50(dvec3v) + 662: 48(fvec3) ExtInst 1(GLSL.std.450) 69(Normalize) 661 + 663: 48(fvec3) Load 50(dvec3v) + 664: 48(fvec3) FAdd 663 662 + Store 50(dvec3v) 664 + 665: 53(fvec4) Load 55(dvec4v) + 666: 53(fvec4) ExtInst 1(GLSL.std.450) 69(Normalize) 665 + 667: 53(fvec4) Load 55(dvec4v) + 668: 53(fvec4) FAdd 667 666 + Store 55(dvec4v) 668 + 669: 39(float) Load 41(doublev) + 670: 39(float) Load 41(doublev) + 671: 39(float) Load 41(doublev) + 672: 39(float) ExtInst 1(GLSL.std.450) 70(FaceForward) 669 670 671 + 673: 39(float) Load 41(doublev) + 674: 39(float) FAdd 673 672 + Store 41(doublev) 674 + 675: 43(fvec2) Load 45(dvec2v) + 676: 43(fvec2) Load 45(dvec2v) + 677: 43(fvec2) Load 45(dvec2v) + 678: 43(fvec2) ExtInst 1(GLSL.std.450) 70(FaceForward) 675 676 677 + 679: 43(fvec2) Load 45(dvec2v) + 680: 43(fvec2) FAdd 679 678 + Store 45(dvec2v) 680 + 681: 48(fvec3) Load 50(dvec3v) + 682: 48(fvec3) Load 50(dvec3v) + 683: 48(fvec3) Load 50(dvec3v) + 684: 48(fvec3) ExtInst 1(GLSL.std.450) 70(FaceForward) 681 682 683 + 685: 48(fvec3) Load 50(dvec3v) + 686: 48(fvec3) FAdd 685 684 + Store 50(dvec3v) 686 + 687: 53(fvec4) Load 55(dvec4v) + 688: 53(fvec4) Load 55(dvec4v) + 689: 53(fvec4) Load 55(dvec4v) + 690: 53(fvec4) ExtInst 1(GLSL.std.450) 70(FaceForward) 687 688 689 + 691: 53(fvec4) Load 55(dvec4v) + 692: 53(fvec4) FAdd 691 690 + Store 55(dvec4v) 692 + 693: 39(float) Load 41(doublev) + 694: 39(float) Load 41(doublev) + 695: 39(float) ExtInst 1(GLSL.std.450) 71(Reflect) 693 694 + 696: 39(float) Load 41(doublev) + 697: 39(float) FAdd 696 695 + Store 41(doublev) 697 + 698: 43(fvec2) Load 45(dvec2v) + 699: 43(fvec2) Load 45(dvec2v) + 700: 43(fvec2) ExtInst 1(GLSL.std.450) 71(Reflect) 698 699 + 701: 43(fvec2) Load 45(dvec2v) + 702: 43(fvec2) FAdd 701 700 + Store 45(dvec2v) 702 + 703: 48(fvec3) Load 50(dvec3v) + 704: 48(fvec3) Load 50(dvec3v) + 705: 48(fvec3) ExtInst 1(GLSL.std.450) 71(Reflect) 703 704 + 706: 48(fvec3) Load 50(dvec3v) + 707: 48(fvec3) FAdd 706 705 + Store 50(dvec3v) 707 + 708: 53(fvec4) Load 55(dvec4v) + 709: 53(fvec4) Load 55(dvec4v) + 710: 53(fvec4) ExtInst 1(GLSL.std.450) 71(Reflect) 708 709 + 711: 53(fvec4) Load 55(dvec4v) + 712: 53(fvec4) FAdd 711 710 + Store 55(dvec4v) 712 + 713: 39(float) Load 41(doublev) + 714: 39(float) Load 41(doublev) + 715: 39(float) Load 41(doublev) + 716: 39(float) ExtInst 1(GLSL.std.450) 72(Refract) 713 714 715 + 717: 39(float) Load 41(doublev) + 718: 39(float) FAdd 717 716 + Store 41(doublev) 718 + 719: 43(fvec2) Load 45(dvec2v) + 720: 43(fvec2) Load 45(dvec2v) + 721: 39(float) Load 41(doublev) + 722: 43(fvec2) ExtInst 1(GLSL.std.450) 72(Refract) 719 720 721 + 723: 43(fvec2) Load 45(dvec2v) + 724: 43(fvec2) FAdd 723 722 + Store 45(dvec2v) 724 + 725: 48(fvec3) Load 50(dvec3v) + 726: 48(fvec3) Load 50(dvec3v) + 727: 39(float) Load 41(doublev) + 728: 48(fvec3) ExtInst 1(GLSL.std.450) 72(Refract) 725 726 727 + 729: 48(fvec3) Load 50(dvec3v) + 730: 48(fvec3) FAdd 729 728 + Store 50(dvec3v) 730 + 731: 53(fvec4) Load 55(dvec4v) + 732: 53(fvec4) Load 55(dvec4v) + 733: 39(float) Load 41(doublev) + 734: 53(fvec4) ExtInst 1(GLSL.std.450) 72(Refract) 731 732 733 + 735: 53(fvec4) Load 55(dvec4v) + 736: 53(fvec4) FAdd 735 734 + Store 55(dvec4v) 736 + 740: 43(fvec2) Load 45(dvec2v) + 741: 43(fvec2) Load 45(dvec2v) + 742: 737 OuterProduct 740 741 + Store 739(dmat2v) 742 + 746: 48(fvec3) Load 50(dvec3v) + 747: 48(fvec3) Load 50(dvec3v) + 748: 743 OuterProduct 746 747 + Store 745(dmat3v) 748 + 752: 53(fvec4) Load 55(dvec4v) + 753: 53(fvec4) Load 55(dvec4v) + 754: 749 OuterProduct 752 753 + Store 751(dmat4v) 754 + 758: 48(fvec3) Load 50(dvec3v) + 759: 43(fvec2) Load 45(dvec2v) + 760: 755 OuterProduct 758 759 + Store 757(dmat2x3v) 760 + 764: 43(fvec2) Load 45(dvec2v) + 765: 48(fvec3) Load 50(dvec3v) + 766: 761 OuterProduct 764 765 + Store 763(dmat3x2v) 766 + 770: 53(fvec4) Load 55(dvec4v) + 771: 43(fvec2) Load 45(dvec2v) + 772: 767 OuterProduct 770 771 + Store 769(dmat2x4v) 772 + 776: 43(fvec2) Load 45(dvec2v) + 777: 53(fvec4) Load 55(dvec4v) + 778: 773 OuterProduct 776 777 + Store 775(dmat4x2v) 778 + 782: 53(fvec4) Load 55(dvec4v) + 783: 48(fvec3) Load 50(dvec3v) + 784: 779 OuterProduct 782 783 + Store 781(dmat3x4v) 784 + 788: 48(fvec3) Load 50(dvec3v) + 789: 53(fvec4) Load 55(dvec4v) + 790: 785 OuterProduct 788 789 + Store 787(dmat4x3v) 790 + 791: 737 Load 739(dmat2v) + 792: 737 Load 739(dmat2v) + 793: 43(fvec2) CompositeExtract 791 0 + 794: 43(fvec2) CompositeExtract 792 0 + 795: 43(fvec2) FMul 793 794 + 796: 43(fvec2) CompositeExtract 791 1 + 797: 43(fvec2) CompositeExtract 792 1 + 798: 43(fvec2) FMul 796 797 + 799: 737 CompositeConstruct 795 798 + 800: 737 Load 739(dmat2v) + 801: 737 MatrixTimesMatrix 800 799 + Store 739(dmat2v) 801 + 802: 743 Load 745(dmat3v) + 803: 743 Load 745(dmat3v) + 804: 48(fvec3) CompositeExtract 802 0 + 805: 48(fvec3) CompositeExtract 803 0 + 806: 48(fvec3) FMul 804 805 + 807: 48(fvec3) CompositeExtract 802 1 + 808: 48(fvec3) CompositeExtract 803 1 + 809: 48(fvec3) FMul 807 808 + 810: 48(fvec3) CompositeExtract 802 2 + 811: 48(fvec3) CompositeExtract 803 2 + 812: 48(fvec3) FMul 810 811 + 813: 743 CompositeConstruct 806 809 812 + 814: 743 Load 745(dmat3v) + 815: 743 MatrixTimesMatrix 814 813 + Store 745(dmat3v) 815 + 816: 749 Load 751(dmat4v) + 817: 749 Load 751(dmat4v) + 818: 53(fvec4) CompositeExtract 816 0 + 819: 53(fvec4) CompositeExtract 817 0 + 820: 53(fvec4) FMul 818 819 + 821: 53(fvec4) CompositeExtract 816 1 + 822: 53(fvec4) CompositeExtract 817 1 + 823: 53(fvec4) FMul 821 822 + 824: 53(fvec4) CompositeExtract 816 2 + 825: 53(fvec4) CompositeExtract 817 2 + 826: 53(fvec4) FMul 824 825 + 827: 53(fvec4) CompositeExtract 816 3 + 828: 53(fvec4) CompositeExtract 817 3 + 829: 53(fvec4) FMul 827 828 + 830: 749 CompositeConstruct 820 823 826 829 + 831: 749 Load 751(dmat4v) + 832: 749 MatrixTimesMatrix 831 830 + Store 751(dmat4v) 832 + 833: 755 Load 757(dmat2x3v) + 834: 755 Load 757(dmat2x3v) + 835: 48(fvec3) CompositeExtract 833 0 + 836: 48(fvec3) CompositeExtract 834 0 + 837: 48(fvec3) FMul 835 836 + 838: 48(fvec3) CompositeExtract 833 1 + 839: 48(fvec3) CompositeExtract 834 1 + 840: 48(fvec3) FMul 838 839 + 841: 755 CompositeConstruct 837 840 + Store 757(dmat2x3v) 841 + 842: 767 Load 769(dmat2x4v) + 843: 767 Load 769(dmat2x4v) + 844: 53(fvec4) CompositeExtract 842 0 + 845: 53(fvec4) CompositeExtract 843 0 + 846: 53(fvec4) FMul 844 845 + 847: 53(fvec4) CompositeExtract 842 1 + 848: 53(fvec4) CompositeExtract 843 1 + 849: 53(fvec4) FMul 847 848 + 850: 767 CompositeConstruct 846 849 + Store 769(dmat2x4v) 850 + 851: 761 Load 763(dmat3x2v) + 852: 761 Load 763(dmat3x2v) + 853: 43(fvec2) CompositeExtract 851 0 + 854: 43(fvec2) CompositeExtract 852 0 + 855: 43(fvec2) FMul 853 854 + 856: 43(fvec2) CompositeExtract 851 1 + 857: 43(fvec2) CompositeExtract 852 1 + 858: 43(fvec2) FMul 856 857 + 859: 43(fvec2) CompositeExtract 851 2 + 860: 43(fvec2) CompositeExtract 852 2 + 861: 43(fvec2) FMul 859 860 + 862: 761 CompositeConstruct 855 858 861 + Store 763(dmat3x2v) 862 + 863: 779 Load 781(dmat3x4v) + 864: 779 Load 781(dmat3x4v) + 865: 53(fvec4) CompositeExtract 863 0 + 866: 53(fvec4) CompositeExtract 864 0 + 867: 53(fvec4) FMul 865 866 + 868: 53(fvec4) CompositeExtract 863 1 + 869: 53(fvec4) CompositeExtract 864 1 + 870: 53(fvec4) FMul 868 869 + 871: 53(fvec4) CompositeExtract 863 2 + 872: 53(fvec4) CompositeExtract 864 2 + 873: 53(fvec4) FMul 871 872 + 874: 779 CompositeConstruct 867 870 873 + Store 781(dmat3x4v) 874 + 875: 773 Load 775(dmat4x2v) + 876: 773 Load 775(dmat4x2v) + 877: 43(fvec2) CompositeExtract 875 0 + 878: 43(fvec2) CompositeExtract 876 0 + 879: 43(fvec2) FMul 877 878 + 880: 43(fvec2) CompositeExtract 875 1 + 881: 43(fvec2) CompositeExtract 876 1 + 882: 43(fvec2) FMul 880 881 + 883: 43(fvec2) CompositeExtract 875 2 + 884: 43(fvec2) CompositeExtract 876 2 + 885: 43(fvec2) FMul 883 884 + 886: 43(fvec2) CompositeExtract 875 3 + 887: 43(fvec2) CompositeExtract 876 3 + 888: 43(fvec2) FMul 886 887 + 889: 773 CompositeConstruct 879 882 885 888 + Store 775(dmat4x2v) 889 + 890: 785 Load 787(dmat4x3v) + 891: 785 Load 787(dmat4x3v) + 892: 48(fvec3) CompositeExtract 890 0 + 893: 48(fvec3) CompositeExtract 891 0 + 894: 48(fvec3) FMul 892 893 + 895: 48(fvec3) CompositeExtract 890 1 + 896: 48(fvec3) CompositeExtract 891 1 + 897: 48(fvec3) FMul 895 896 + 898: 48(fvec3) CompositeExtract 890 2 + 899: 48(fvec3) CompositeExtract 891 2 + 900: 48(fvec3) FMul 898 899 + 901: 48(fvec3) CompositeExtract 890 3 + 902: 48(fvec3) CompositeExtract 891 3 + 903: 48(fvec3) FMul 901 902 + 904: 785 CompositeConstruct 894 897 900 903 + Store 787(dmat4x3v) 904 + 905: 737 Load 739(dmat2v) + 906: 737 Transpose 905 + 907: 737 Load 739(dmat2v) + 908: 737 MatrixTimesMatrix 907 906 + Store 739(dmat2v) 908 + 909: 743 Load 745(dmat3v) + 910: 743 Transpose 909 + 911: 743 Load 745(dmat3v) + 912: 743 MatrixTimesMatrix 911 910 + Store 745(dmat3v) 912 + 913: 749 Load 751(dmat4v) + 914: 749 Transpose 913 + 915: 749 Load 751(dmat4v) + 916: 749 MatrixTimesMatrix 915 914 + Store 751(dmat4v) 916 + 917: 761 Load 763(dmat3x2v) + 918: 755 Transpose 917 + Store 757(dmat2x3v) 918 + 919: 755 Load 757(dmat2x3v) + 920: 761 Transpose 919 + Store 763(dmat3x2v) 920 + 921: 773 Load 775(dmat4x2v) + 922: 767 Transpose 921 + Store 769(dmat2x4v) 922 + 923: 767 Load 769(dmat2x4v) + 924: 773 Transpose 923 + Store 775(dmat4x2v) 924 + 925: 785 Load 787(dmat4x3v) + 926: 779 Transpose 925 + Store 781(dmat3x4v) 926 + 927: 779 Load 781(dmat3x4v) + 928: 785 Transpose 927 + Store 787(dmat4x3v) 928 + 929: 737 Load 739(dmat2v) + 930: 39(float) ExtInst 1(GLSL.std.450) 33(Determinant) 929 + 931: 39(float) Load 41(doublev) + 932: 39(float) FAdd 931 930 + Store 41(doublev) 932 + 933: 743 Load 745(dmat3v) + 934: 39(float) ExtInst 1(GLSL.std.450) 33(Determinant) 933 + 935: 39(float) Load 41(doublev) + 936: 39(float) FAdd 935 934 + Store 41(doublev) 936 + 937: 749 Load 751(dmat4v) + 938: 39(float) ExtInst 1(GLSL.std.450) 33(Determinant) 937 + 939: 39(float) Load 41(doublev) + 940: 39(float) FAdd 939 938 + Store 41(doublev) 940 + 941: 737 Load 739(dmat2v) + 942: 737 ExtInst 1(GLSL.std.450) 34(MatrixInverse) 941 + 943: 737 Load 739(dmat2v) + 944: 737 MatrixTimesMatrix 943 942 + Store 739(dmat2v) 944 + 945: 743 Load 745(dmat3v) + 946: 743 ExtInst 1(GLSL.std.450) 34(MatrixInverse) 945 + 947: 743 Load 745(dmat3v) + 948: 743 MatrixTimesMatrix 947 946 + Store 745(dmat3v) 948 + 949: 749 Load 751(dmat4v) + 950: 749 ExtInst 1(GLSL.std.450) 34(MatrixInverse) 949 + 951: 749 Load 751(dmat4v) + 952: 749 MatrixTimesMatrix 951 950 + Store 751(dmat4v) 952 + 953: 39(float) Load 41(doublev) + 955: 40(ptr) AccessChain 45(dvec2v) 954 + 956: 39(float) Load 955 + 957: 39(float) FAdd 953 956 + 959: 40(ptr) AccessChain 50(dvec3v) 958 + 960: 39(float) Load 959 + 961: 39(float) FAdd 957 960 + 963: 40(ptr) AccessChain 55(dvec4v) 962 + 964: 39(float) Load 963 + 965: 39(float) FAdd 961 964 + 967: 40(ptr) AccessChain 739(dmat2v) 966 954 + 968: 39(float) Load 967 + 969: 39(float) FAdd 965 968 + 971: 40(ptr) AccessChain 745(dmat3v) 970 958 + 972: 39(float) Load 971 + 973: 39(float) FAdd 969 972 + 974: 40(ptr) AccessChain 751(dmat4v) 25 962 + 975: 39(float) Load 974 + 976: 39(float) FAdd 973 975 + 977: 40(ptr) AccessChain 757(dmat2x3v) 966 954 + 978: 39(float) Load 977 + 979: 39(float) FAdd 976 978 + 980: 40(ptr) AccessChain 763(dmat3x2v) 966 954 + 981: 39(float) Load 980 + 982: 39(float) FAdd 979 981 + 983: 40(ptr) AccessChain 781(dmat3x4v) 970 958 + 984: 39(float) Load 983 + 985: 39(float) FAdd 982 984 + 986: 40(ptr) AccessChain 787(dmat4x3v) 970 958 + 987: 39(float) Load 986 + 988: 39(float) FAdd 985 987 + 989: 40(ptr) AccessChain 769(dmat2x4v) 966 954 + 990: 39(float) Load 989 + 991: 39(float) FAdd 988 990 + 992: 40(ptr) AccessChain 775(dmat4x2v) 966 954 + 993: 39(float) Load 992 + 994: 39(float) FAdd 991 993 + 995: 428(bool) Load 430(boolv) + 997: 10(float) Select 995 996 21 + 998: 39(float) FConvert 997 + 999: 39(float) FAdd 994 998 + 1000: 437(bvec2) Load 439(bvec2v) + 1001: 428(bool) CompositeExtract 1000 0 + 1002: 10(float) Select 1001 996 21 + 1003: 39(float) FConvert 1002 + 1004: 39(float) FAdd 999 1003 + 1005: 446(bvec3) Load 448(bvec3v) + 1006: 428(bool) CompositeExtract 1005 0 + 1007: 10(float) Select 1006 996 21 + 1008: 39(float) FConvert 1007 + 1009: 39(float) FAdd 1004 1008 + 1010: 455(bvec4) Load 457(bvec4v) + 1011: 428(bool) CompositeExtract 1010 0 + 1012: 10(float) Select 1011 996 21 + 1013: 39(float) FConvert 1012 + 1014: 39(float) FAdd 1009 1013 + 1015: 10(float) FConvert 1014 + 1016: 11(fvec4) Load 13(outp) + 1017: 11(fvec4) VectorTimesScalar 1016 1015 + Store 13(outp) 1017 Return FunctionEnd diff --git a/Test/baseResults/spv.newTexture.frag.out b/Test/baseResults/spv.newTexture.frag.out index 4390e26d..3206faa3 100755 --- a/Test/baseResults/spv.newTexture.frag.out +++ b/Test/baseResults/spv.newTexture.frag.out @@ -7,7 +7,7 @@ Linked fragment stage: // Module Version 10000 // Generated by (magic number): 80001 -// Id's are bound by 282 +// Id's are bound by 284 Capability Shader Capability SampledRect @@ -15,7 +15,7 @@ Linked fragment stage: Capability ImageQuery 1: ExtInstImport "GLSL.std.450" MemoryModel Logical GLSL450 - EntryPoint Fragment 4 "main" 17 26 29 55 81 84 92 251 281 + EntryPoint Fragment 4 "main" 17 26 29 55 81 84 92 253 283 ExecutionMode 4 OriginUpperLeft Source GLSL 430 Name 4 "main" @@ -37,18 +37,18 @@ Linked fragment stage: Name 139 "s2DArrayShadow" Name 167 "iv" Name 171 "is2D" - Name 206 "is3D" - Name 218 "isCube" - Name 230 "is2DArray" - Name 241 "iv2" - Name 245 "sCubeShadow" - Name 251 "FragData" - Name 263 "is2Dms" - Name 267 "us2D" - Name 271 "us3D" - Name 275 "usCube" - Name 279 "us2DArray" - Name 281 "ic4D" + Name 208 "is3D" + Name 220 "isCube" + Name 232 "is2DArray" + Name 243 "iv2" + Name 247 "sCubeShadow" + Name 253 "FragData" + Name 265 "is2Dms" + Name 269 "us2D" + Name 273 "us3D" + Name 277 "usCube" + Name 281 "us2DArray" + Name 283 "ic4D" Decorate 13(s2D) DescriptorSet 0 Decorate 23(sCubeArrayShadow) DescriptorSet 0 Decorate 42(s3D) DescriptorSet 0 @@ -61,16 +61,16 @@ Linked fragment stage: Decorate 128(sCube) DescriptorSet 0 Decorate 139(s2DArrayShadow) DescriptorSet 0 Decorate 171(is2D) DescriptorSet 0 - Decorate 206(is3D) DescriptorSet 0 - Decorate 218(isCube) DescriptorSet 0 - Decorate 230(is2DArray) DescriptorSet 0 - Decorate 245(sCubeShadow) DescriptorSet 0 - Decorate 263(is2Dms) DescriptorSet 0 - Decorate 267(us2D) DescriptorSet 0 - Decorate 271(us3D) DescriptorSet 0 - Decorate 275(usCube) DescriptorSet 0 - Decorate 279(us2DArray) DescriptorSet 0 - Decorate 281(ic4D) Flat + Decorate 208(is3D) DescriptorSet 0 + Decorate 220(isCube) DescriptorSet 0 + Decorate 232(is2DArray) DescriptorSet 0 + Decorate 247(sCubeShadow) DescriptorSet 0 + Decorate 265(is2Dms) DescriptorSet 0 + Decorate 269(us2D) DescriptorSet 0 + Decorate 273(us3D) DescriptorSet 0 + Decorate 277(usCube) DescriptorSet 0 + Decorate 281(us2DArray) DescriptorSet 0 + Decorate 283(ic4D) Flat 2: TypeVoid 3: TypeFunction 2 6: TypeFloat 32 @@ -142,55 +142,55 @@ Linked fragment stage: 169: TypeSampledImage 168 170: TypePointer UniformConstant 169 171(is2D): 170(ptr) Variable UniformConstant - 203: TypeImage 67(int) 3D sampled format:Unknown - 204: TypeSampledImage 203 - 205: TypePointer UniformConstant 204 - 206(is3D): 205(ptr) Variable UniformConstant - 209: 6(float) Constant 1082549862 - 215: TypeImage 67(int) Cube sampled format:Unknown - 216: TypeSampledImage 215 - 217: TypePointer UniformConstant 216 - 218(isCube): 217(ptr) Variable UniformConstant - 227: TypeImage 67(int) 2D array sampled format:Unknown - 228: TypeSampledImage 227 - 229: TypePointer UniformConstant 228 - 230(is2DArray): 229(ptr) Variable UniformConstant - 240: TypePointer Function 68(ivec2) - 242: TypeImage 6(float) Cube depth sampled format:Unknown - 243: TypeSampledImage 242 - 244: TypePointer UniformConstant 243 -245(sCubeShadow): 244(ptr) Variable UniformConstant - 247: 67(int) Constant 2 - 250: TypePointer Output 7(fvec4) - 251(FragData): 250(ptr) Variable Output - 255: 6(float) Constant 0 - 260: TypeImage 67(int) 2D multi-sampled sampled format:Unknown - 261: TypeSampledImage 260 - 262: TypePointer UniformConstant 261 - 263(is2Dms): 262(ptr) Variable UniformConstant - 264: TypeImage 32(int) 2D sampled format:Unknown - 265: TypeSampledImage 264 - 266: TypePointer UniformConstant 265 - 267(us2D): 266(ptr) Variable UniformConstant - 268: TypeImage 32(int) 3D sampled format:Unknown - 269: TypeSampledImage 268 - 270: TypePointer UniformConstant 269 - 271(us3D): 270(ptr) Variable UniformConstant - 272: TypeImage 32(int) Cube sampled format:Unknown - 273: TypeSampledImage 272 - 274: TypePointer UniformConstant 273 - 275(usCube): 274(ptr) Variable UniformConstant - 276: TypeImage 32(int) 2D array sampled format:Unknown - 277: TypeSampledImage 276 - 278: TypePointer UniformConstant 277 - 279(us2DArray): 278(ptr) Variable UniformConstant - 280: TypePointer Input 165(ivec4) - 281(ic4D): 280(ptr) Variable Input + 205: TypeImage 67(int) 3D sampled format:Unknown + 206: TypeSampledImage 205 + 207: TypePointer UniformConstant 206 + 208(is3D): 207(ptr) Variable UniformConstant + 211: 6(float) Constant 1082549862 + 217: TypeImage 67(int) Cube sampled format:Unknown + 218: TypeSampledImage 217 + 219: TypePointer UniformConstant 218 + 220(isCube): 219(ptr) Variable UniformConstant + 229: TypeImage 67(int) 2D array sampled format:Unknown + 230: TypeSampledImage 229 + 231: TypePointer UniformConstant 230 + 232(is2DArray): 231(ptr) Variable UniformConstant + 242: TypePointer Function 68(ivec2) + 244: TypeImage 6(float) Cube depth sampled format:Unknown + 245: TypeSampledImage 244 + 246: TypePointer UniformConstant 245 +247(sCubeShadow): 246(ptr) Variable UniformConstant + 249: 67(int) Constant 2 + 252: TypePointer Output 7(fvec4) + 253(FragData): 252(ptr) Variable Output + 257: 6(float) Constant 0 + 262: TypeImage 67(int) 2D multi-sampled sampled format:Unknown + 263: TypeSampledImage 262 + 264: TypePointer UniformConstant 263 + 265(is2Dms): 264(ptr) Variable UniformConstant + 266: TypeImage 32(int) 2D sampled format:Unknown + 267: TypeSampledImage 266 + 268: TypePointer UniformConstant 267 + 269(us2D): 268(ptr) Variable UniformConstant + 270: TypeImage 32(int) 3D sampled format:Unknown + 271: TypeSampledImage 270 + 272: TypePointer UniformConstant 271 + 273(us3D): 272(ptr) Variable UniformConstant + 274: TypeImage 32(int) Cube sampled format:Unknown + 275: TypeSampledImage 274 + 276: TypePointer UniformConstant 275 + 277(usCube): 276(ptr) Variable UniformConstant + 278: TypeImage 32(int) 2D array sampled format:Unknown + 279: TypeSampledImage 278 + 280: TypePointer UniformConstant 279 + 281(us2DArray): 280(ptr) Variable UniformConstant + 282: TypePointer Input 165(ivec4) + 283(ic4D): 282(ptr) Variable Input 4(main): 2 Function None 3 5: Label 9(v): 8(ptr) Variable Function 167(iv): 166(ptr) Variable Function - 241(iv2): 240(ptr) Variable Function + 243(iv2): 242(ptr) Variable Function 14: 11 Load 13(s2D) 18: 15(fvec2) Load 17(c2D) 19: 7(fvec4) ImageSampleImplicitLod 14 18 @@ -311,75 +311,77 @@ Linked fragment stage: Store 9(v) 178 179: 169 Load 171(is2D) 180: 7(fvec4) Load 26(c4D) - 181: 165(ivec4) ImageSampleProjImplicitLod 179 180 ConstOffset 70 - Store 167(iv) 181 - 182: 165(ivec4) Load 167(iv) - 183: 7(fvec4) ConvertSToF 182 - 184: 7(fvec4) Load 9(v) - 185: 7(fvec4) FAdd 184 183 - Store 9(v) 185 - 186: 169 Load 171(is2D) - 187: 53(fvec3) Load 55(c3D) - 188: 6(float) Load 29(c1D) - 189: 165(ivec4) ImageSampleProjExplicitLod 186 187 Lod 188 - Store 167(iv) 189 - 190: 165(ivec4) Load 167(iv) - 191: 7(fvec4) ConvertSToF 190 - 192: 7(fvec4) Load 9(v) - 193: 7(fvec4) FAdd 192 191 - Store 9(v) 193 - 194: 169 Load 171(is2D) - 195: 53(fvec3) Load 55(c3D) - 196: 15(fvec2) Load 17(c2D) - 197: 15(fvec2) Load 17(c2D) - 198: 165(ivec4) ImageSampleProjExplicitLod 194 195 Grad 196 197 - Store 167(iv) 198 - 199: 165(ivec4) Load 167(iv) - 200: 7(fvec4) ConvertSToF 199 - 201: 7(fvec4) Load 9(v) - 202: 7(fvec4) FAdd 201 200 - Store 9(v) 202 - 207: 204 Load 206(is3D) - 208: 53(fvec3) Load 55(c3D) - 210: 165(ivec4) ImageSampleImplicitLod 207 208 Bias 209 - Store 167(iv) 210 - 211: 165(ivec4) Load 167(iv) - 212: 7(fvec4) ConvertSToF 211 - 213: 7(fvec4) Load 9(v) - 214: 7(fvec4) FAdd 213 212 - Store 9(v) 214 - 219: 216 Load 218(isCube) - 220: 53(fvec3) Load 55(c3D) - 221: 6(float) Load 29(c1D) - 222: 165(ivec4) ImageSampleExplicitLod 219 220 Lod 221 - Store 167(iv) 222 - 223: 165(ivec4) Load 167(iv) - 224: 7(fvec4) ConvertSToF 223 - 225: 7(fvec4) Load 9(v) - 226: 7(fvec4) FAdd 225 224 - Store 9(v) 226 - 231: 228 Load 230(is2DArray) - 232: 79(ivec3) Load 81(ic3D) - 233: 67(int) Load 84(ic1D) - 234: 227 Image 231 - 235: 165(ivec4) ImageFetch 234 232 Lod 233 - Store 167(iv) 235 - 236: 165(ivec4) Load 167(iv) - 237: 7(fvec4) ConvertSToF 236 - 238: 7(fvec4) Load 9(v) - 239: 7(fvec4) FAdd 238 237 - Store 9(v) 239 - 246: 243 Load 245(sCubeShadow) - 248: 242 Image 246 - 249: 68(ivec2) ImageQuerySizeLod 248 247 - Store 241(iv2) 249 - 252: 7(fvec4) Load 9(v) - 253: 68(ivec2) Load 241(iv2) - 254: 15(fvec2) ConvertSToF 253 - 256: 6(float) CompositeExtract 254 0 - 257: 6(float) CompositeExtract 254 1 - 258: 7(fvec4) CompositeConstruct 256 257 255 255 - 259: 7(fvec4) FAdd 252 258 - Store 251(FragData) 259 + 181: 6(float) CompositeExtract 180 3 + 182: 7(fvec4) CompositeInsert 181 180 2 + 183: 165(ivec4) ImageSampleProjImplicitLod 179 182 ConstOffset 70 + Store 167(iv) 183 + 184: 165(ivec4) Load 167(iv) + 185: 7(fvec4) ConvertSToF 184 + 186: 7(fvec4) Load 9(v) + 187: 7(fvec4) FAdd 186 185 + Store 9(v) 187 + 188: 169 Load 171(is2D) + 189: 53(fvec3) Load 55(c3D) + 190: 6(float) Load 29(c1D) + 191: 165(ivec4) ImageSampleProjExplicitLod 188 189 Lod 190 + Store 167(iv) 191 + 192: 165(ivec4) Load 167(iv) + 193: 7(fvec4) ConvertSToF 192 + 194: 7(fvec4) Load 9(v) + 195: 7(fvec4) FAdd 194 193 + Store 9(v) 195 + 196: 169 Load 171(is2D) + 197: 53(fvec3) Load 55(c3D) + 198: 15(fvec2) Load 17(c2D) + 199: 15(fvec2) Load 17(c2D) + 200: 165(ivec4) ImageSampleProjExplicitLod 196 197 Grad 198 199 + Store 167(iv) 200 + 201: 165(ivec4) Load 167(iv) + 202: 7(fvec4) ConvertSToF 201 + 203: 7(fvec4) Load 9(v) + 204: 7(fvec4) FAdd 203 202 + Store 9(v) 204 + 209: 206 Load 208(is3D) + 210: 53(fvec3) Load 55(c3D) + 212: 165(ivec4) ImageSampleImplicitLod 209 210 Bias 211 + Store 167(iv) 212 + 213: 165(ivec4) Load 167(iv) + 214: 7(fvec4) ConvertSToF 213 + 215: 7(fvec4) Load 9(v) + 216: 7(fvec4) FAdd 215 214 + Store 9(v) 216 + 221: 218 Load 220(isCube) + 222: 53(fvec3) Load 55(c3D) + 223: 6(float) Load 29(c1D) + 224: 165(ivec4) ImageSampleExplicitLod 221 222 Lod 223 + Store 167(iv) 224 + 225: 165(ivec4) Load 167(iv) + 226: 7(fvec4) ConvertSToF 225 + 227: 7(fvec4) Load 9(v) + 228: 7(fvec4) FAdd 227 226 + Store 9(v) 228 + 233: 230 Load 232(is2DArray) + 234: 79(ivec3) Load 81(ic3D) + 235: 67(int) Load 84(ic1D) + 236: 229 Image 233 + 237: 165(ivec4) ImageFetch 236 234 Lod 235 + Store 167(iv) 237 + 238: 165(ivec4) Load 167(iv) + 239: 7(fvec4) ConvertSToF 238 + 240: 7(fvec4) Load 9(v) + 241: 7(fvec4) FAdd 240 239 + Store 9(v) 241 + 248: 245 Load 247(sCubeShadow) + 250: 244 Image 248 + 251: 68(ivec2) ImageQuerySizeLod 250 249 + Store 243(iv2) 251 + 254: 7(fvec4) Load 9(v) + 255: 68(ivec2) Load 243(iv2) + 256: 15(fvec2) ConvertSToF 255 + 258: 6(float) CompositeExtract 256 0 + 259: 6(float) CompositeExtract 256 1 + 260: 7(fvec4) CompositeConstruct 258 259 257 257 + 261: 7(fvec4) FAdd 254 260 + Store 253(FragData) 261 Return FunctionEnd diff --git a/Test/baseResults/spv.texture.frag.out b/Test/baseResults/spv.texture.frag.out index b5794751..30f3f281 100755 --- a/Test/baseResults/spv.texture.frag.out +++ b/Test/baseResults/spv.texture.frag.out @@ -9,13 +9,13 @@ Linked fragment stage: // Module Version 10000 // Generated by (magic number): 80001 -// Id's are bound by 291 +// Id's are bound by 305 Capability Shader Capability Sampled1D 1: ExtInstImport "GLSL.std.450" MemoryModel Logical GLSL450 - EntryPoint Fragment 4 "main" 47 277 280 283 289 290 + EntryPoint Fragment 4 "main" 47 291 294 297 303 304 ExecutionMode 4 OriginUpperLeft Source GLSL 140 Name 4 "main" @@ -29,26 +29,26 @@ Linked fragment stage: Name 26 "color" Name 32 "texSampler1D" Name 47 "coords2D" - Name 72 "texSampler2D" - Name 98 "texSampler3D" - Name 124 "texSamplerCube" - Name 139 "shadowSampler1D" - Name 158 "shadowSampler2D" - Name 207 "iCoords2D" - Name 212 "iLod" - Name 222 "gradX" - Name 225 "gradY" - Name 277 "gl_FragColor" - Name 280 "u" - Name 283 "blend" - Name 289 "scale" - Name 290 "t" + Name 76 "texSampler2D" + Name 104 "texSampler3D" + Name 130 "texSamplerCube" + Name 145 "shadowSampler1D" + Name 164 "shadowSampler2D" + Name 221 "iCoords2D" + Name 226 "iLod" + Name 236 "gradX" + Name 239 "gradY" + Name 291 "gl_FragColor" + Name 294 "u" + Name 297 "blend" + Name 303 "scale" + Name 304 "t" Decorate 32(texSampler1D) DescriptorSet 0 - Decorate 72(texSampler2D) DescriptorSet 0 - Decorate 98(texSampler3D) DescriptorSet 0 - Decorate 124(texSamplerCube) DescriptorSet 0 - Decorate 139(shadowSampler1D) DescriptorSet 0 - Decorate 158(shadowSampler2D) DescriptorSet 0 + Decorate 76(texSampler2D) DescriptorSet 0 + Decorate 104(texSampler3D) DescriptorSet 0 + Decorate 130(texSamplerCube) DescriptorSet 0 + Decorate 145(shadowSampler1D) DescriptorSet 0 + Decorate 164(shadowSampler2D) DescriptorSet 0 2: TypeVoid 3: TypeFunction 2 6: TypeFloat 32 @@ -73,46 +73,46 @@ Linked fragment stage: 45: TypeVector 6(float) 2 46: TypePointer Input 45(fvec2) 47(coords2D): 46(ptr) Variable Input - 69: TypeImage 6(float) 2D sampled format:Unknown - 70: TypeSampledImage 69 - 71: TypePointer UniformConstant 70 -72(texSampler2D): 71(ptr) Variable UniformConstant - 95: TypeImage 6(float) 3D sampled format:Unknown - 96: TypeSampledImage 95 - 97: TypePointer UniformConstant 96 -98(texSampler3D): 97(ptr) Variable UniformConstant - 121: TypeImage 6(float) Cube sampled format:Unknown - 122: TypeSampledImage 121 - 123: TypePointer UniformConstant 122 -124(texSamplerCube): 123(ptr) Variable UniformConstant - 136: TypeImage 6(float) 1D depth sampled format:Unknown - 137: TypeSampledImage 136 - 138: TypePointer UniformConstant 137 -139(shadowSampler1D): 138(ptr) Variable UniformConstant - 155: TypeImage 6(float) 2D depth sampled format:Unknown - 156: TypeSampledImage 155 - 157: TypePointer UniformConstant 156 -158(shadowSampler2D): 157(ptr) Variable UniformConstant - 204: TypeInt 32 1 - 205: TypeVector 204(int) 2 - 206: TypePointer Function 205(ivec2) - 208: 204(int) Constant 0 - 209: 204(int) Constant 5 - 210: 205(ivec2) ConstantComposite 208 209 - 211: TypePointer Function 204(int) - 213: 204(int) Constant 1 - 221: TypePointer Function 45(fvec2) - 250: 204(int) Constant 3 - 251: 204(int) Constant 4294967289 - 252: 205(ivec2) ConstantComposite 250 251 - 276: TypePointer Output 22(fvec4) -277(gl_FragColor): 276(ptr) Variable Output - 279: TypePointer Input 22(fvec4) - 280(u): 279(ptr) Variable Input - 282: TypePointer Input 6(float) - 283(blend): 282(ptr) Variable Input - 289(scale): 46(ptr) Variable Input - 290(t): 46(ptr) Variable Input + 73: TypeImage 6(float) 2D sampled format:Unknown + 74: TypeSampledImage 73 + 75: TypePointer UniformConstant 74 +76(texSampler2D): 75(ptr) Variable UniformConstant + 101: TypeImage 6(float) 3D sampled format:Unknown + 102: TypeSampledImage 101 + 103: TypePointer UniformConstant 102 +104(texSampler3D): 103(ptr) Variable UniformConstant + 127: TypeImage 6(float) Cube sampled format:Unknown + 128: TypeSampledImage 127 + 129: TypePointer UniformConstant 128 +130(texSamplerCube): 129(ptr) Variable UniformConstant + 142: TypeImage 6(float) 1D depth sampled format:Unknown + 143: TypeSampledImage 142 + 144: TypePointer UniformConstant 143 +145(shadowSampler1D): 144(ptr) Variable UniformConstant + 161: TypeImage 6(float) 2D depth sampled format:Unknown + 162: TypeSampledImage 161 + 163: TypePointer UniformConstant 162 +164(shadowSampler2D): 163(ptr) Variable UniformConstant + 218: TypeInt 32 1 + 219: TypeVector 218(int) 2 + 220: TypePointer Function 219(ivec2) + 222: 218(int) Constant 0 + 223: 218(int) Constant 5 + 224: 219(ivec2) ConstantComposite 222 223 + 225: TypePointer Function 218(int) + 227: 218(int) Constant 1 + 235: TypePointer Function 45(fvec2) + 264: 218(int) Constant 3 + 265: 218(int) Constant 4294967289 + 266: 219(ivec2) ConstantComposite 264 265 + 290: TypePointer Output 22(fvec4) +291(gl_FragColor): 290(ptr) Variable Output + 293: TypePointer Input 22(fvec4) + 294(u): 293(ptr) Variable Input + 296: TypePointer Input 6(float) + 297(blend): 296(ptr) Variable Input + 303(scale): 46(ptr) Variable Input + 304(t): 46(ptr) Variable Input 4(main): 2 Function None 3 5: Label 8(blendscale): 7(ptr) Variable Function @@ -123,10 +123,10 @@ Linked fragment stage: 18(coords3D): 17(ptr) Variable Function 24(coords4D): 23(ptr) Variable Function 26(color): 23(ptr) Variable Function - 207(iCoords2D): 206(ptr) Variable Function - 212(iLod): 211(ptr) Variable Function - 222(gradX): 221(ptr) Variable Function - 225(gradY): 221(ptr) Variable Function + 221(iCoords2D): 220(ptr) Variable Function + 226(iLod): 225(ptr) Variable Function + 236(gradX): 235(ptr) Variable Function + 239(gradY): 235(ptr) Variable Function Store 8(blendscale) 9 Store 10(bias) 11 Store 12(lod) 13 @@ -156,230 +156,244 @@ Linked fragment stage: Store 26(color) 51 52: 30 Load 32(texSampler1D) 53: 22(fvec4) Load 24(coords4D) - 54: 22(fvec4) ImageSampleProjImplicitLod 52 53 - 55: 22(fvec4) Load 26(color) - 56: 22(fvec4) FAdd 55 54 - Store 26(color) 56 - 57: 30 Load 32(texSampler1D) - 58: 45(fvec2) Load 47(coords2D) - 59: 6(float) Load 10(bias) - 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 Bias 65 - 67: 22(fvec4) Load 26(color) - 68: 22(fvec4) FAdd 67 66 - Store 26(color) 68 - 73: 70 Load 72(texSampler2D) - 74: 45(fvec2) Load 47(coords2D) - 75: 22(fvec4) ImageSampleImplicitLod 73 74 - 76: 22(fvec4) Load 26(color) - 77: 22(fvec4) FAdd 76 75 - Store 26(color) 77 - 78: 70 Load 72(texSampler2D) - 79: 45(fvec2) Load 47(coords2D) - 80: 6(float) Load 10(bias) - 81: 22(fvec4) ImageSampleImplicitLod 78 79 Bias 80 - 82: 22(fvec4) Load 26(color) - 83: 22(fvec4) FAdd 82 81 - Store 26(color) 83 - 84: 70 Load 72(texSampler2D) - 85: 16(fvec3) Load 18(coords3D) - 86: 22(fvec4) ImageSampleProjImplicitLod 84 85 - 87: 22(fvec4) Load 26(color) - 88: 22(fvec4) FAdd 87 86 - Store 26(color) 88 - 89: 70 Load 72(texSampler2D) - 90: 22(fvec4) Load 24(coords4D) - 91: 6(float) Load 10(bias) - 92: 22(fvec4) ImageSampleProjImplicitLod 89 90 Bias 91 - 93: 22(fvec4) Load 26(color) - 94: 22(fvec4) FAdd 93 92 - Store 26(color) 94 - 99: 96 Load 98(texSampler3D) - 100: 16(fvec3) Load 18(coords3D) - 101: 22(fvec4) ImageSampleImplicitLod 99 100 - 102: 22(fvec4) Load 26(color) - 103: 22(fvec4) FAdd 102 101 - Store 26(color) 103 - 104: 96 Load 98(texSampler3D) - 105: 16(fvec3) Load 18(coords3D) - 106: 6(float) Load 10(bias) - 107: 22(fvec4) ImageSampleImplicitLod 104 105 Bias 106 + 54: 6(float) CompositeExtract 53 3 + 55: 22(fvec4) CompositeInsert 54 53 1 + 56: 22(fvec4) ImageSampleProjImplicitLod 52 55 + 57: 22(fvec4) Load 26(color) + 58: 22(fvec4) FAdd 57 56 + Store 26(color) 58 + 59: 30 Load 32(texSampler1D) + 60: 45(fvec2) Load 47(coords2D) + 61: 6(float) Load 10(bias) + 62: 22(fvec4) ImageSampleProjImplicitLod 59 60 Bias 61 + 63: 22(fvec4) Load 26(color) + 64: 22(fvec4) FAdd 63 62 + Store 26(color) 64 + 65: 30 Load 32(texSampler1D) + 66: 22(fvec4) Load 24(coords4D) + 67: 6(float) Load 10(bias) + 68: 6(float) CompositeExtract 66 3 + 69: 22(fvec4) CompositeInsert 68 66 1 + 70: 22(fvec4) ImageSampleProjImplicitLod 65 69 Bias 67 + 71: 22(fvec4) Load 26(color) + 72: 22(fvec4) FAdd 71 70 + Store 26(color) 72 + 77: 74 Load 76(texSampler2D) + 78: 45(fvec2) Load 47(coords2D) + 79: 22(fvec4) ImageSampleImplicitLod 77 78 + 80: 22(fvec4) Load 26(color) + 81: 22(fvec4) FAdd 80 79 + Store 26(color) 81 + 82: 74 Load 76(texSampler2D) + 83: 45(fvec2) Load 47(coords2D) + 84: 6(float) Load 10(bias) + 85: 22(fvec4) ImageSampleImplicitLod 82 83 Bias 84 + 86: 22(fvec4) Load 26(color) + 87: 22(fvec4) FAdd 86 85 + Store 26(color) 87 + 88: 74 Load 76(texSampler2D) + 89: 16(fvec3) Load 18(coords3D) + 90: 22(fvec4) ImageSampleProjImplicitLod 88 89 + 91: 22(fvec4) Load 26(color) + 92: 22(fvec4) FAdd 91 90 + Store 26(color) 92 + 93: 74 Load 76(texSampler2D) + 94: 22(fvec4) Load 24(coords4D) + 95: 6(float) Load 10(bias) + 96: 6(float) CompositeExtract 94 3 + 97: 22(fvec4) CompositeInsert 96 94 2 + 98: 22(fvec4) ImageSampleProjImplicitLod 93 97 Bias 95 + 99: 22(fvec4) Load 26(color) + 100: 22(fvec4) FAdd 99 98 + Store 26(color) 100 + 105: 102 Load 104(texSampler3D) + 106: 16(fvec3) Load 18(coords3D) + 107: 22(fvec4) ImageSampleImplicitLod 105 106 108: 22(fvec4) Load 26(color) 109: 22(fvec4) FAdd 108 107 Store 26(color) 109 - 110: 96 Load 98(texSampler3D) - 111: 22(fvec4) Load 24(coords4D) - 112: 22(fvec4) ImageSampleProjImplicitLod 110 111 - 113: 22(fvec4) Load 26(color) - 114: 22(fvec4) FAdd 113 112 - Store 26(color) 114 - 115: 96 Load 98(texSampler3D) - 116: 22(fvec4) Load 24(coords4D) - 117: 6(float) Load 10(bias) - 118: 22(fvec4) ImageSampleProjImplicitLod 115 116 Bias 117 + 110: 102 Load 104(texSampler3D) + 111: 16(fvec3) Load 18(coords3D) + 112: 6(float) Load 10(bias) + 113: 22(fvec4) ImageSampleImplicitLod 110 111 Bias 112 + 114: 22(fvec4) Load 26(color) + 115: 22(fvec4) FAdd 114 113 + Store 26(color) 115 + 116: 102 Load 104(texSampler3D) + 117: 22(fvec4) Load 24(coords4D) + 118: 22(fvec4) ImageSampleProjImplicitLod 116 117 119: 22(fvec4) Load 26(color) 120: 22(fvec4) FAdd 119 118 Store 26(color) 120 - 125: 122 Load 124(texSamplerCube) - 126: 16(fvec3) Load 18(coords3D) - 127: 22(fvec4) ImageSampleImplicitLod 125 126 - 128: 22(fvec4) Load 26(color) - 129: 22(fvec4) FAdd 128 127 - Store 26(color) 129 - 130: 122 Load 124(texSamplerCube) - 131: 16(fvec3) Load 18(coords3D) - 132: 6(float) Load 10(bias) - 133: 22(fvec4) ImageSampleImplicitLod 130 131 Bias 132 + 121: 102 Load 104(texSampler3D) + 122: 22(fvec4) Load 24(coords4D) + 123: 6(float) Load 10(bias) + 124: 22(fvec4) ImageSampleProjImplicitLod 121 122 Bias 123 + 125: 22(fvec4) Load 26(color) + 126: 22(fvec4) FAdd 125 124 + Store 26(color) 126 + 131: 128 Load 130(texSamplerCube) + 132: 16(fvec3) Load 18(coords3D) + 133: 22(fvec4) ImageSampleImplicitLod 131 132 134: 22(fvec4) Load 26(color) 135: 22(fvec4) FAdd 134 133 Store 26(color) 135 - 140: 137 Load 139(shadowSampler1D) - 141: 16(fvec3) Load 18(coords3D) - 142: 6(float) CompositeExtract 141 2 - 143: 6(float) ImageSampleDrefImplicitLod 140 141 142 - 144: 22(fvec4) Load 26(color) - 145: 22(fvec4) CompositeConstruct 143 143 143 143 - 146: 22(fvec4) FAdd 144 145 - Store 26(color) 146 - 147: 137 Load 139(shadowSampler1D) - 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 Bias 149 - 152: 22(fvec4) Load 26(color) - 153: 22(fvec4) CompositeConstruct 151 151 151 151 - 154: 22(fvec4) FAdd 152 153 - Store 26(color) 154 - 159: 156 Load 158(shadowSampler2D) - 160: 16(fvec3) Load 18(coords3D) - 161: 6(float) CompositeExtract 160 2 - 162: 6(float) ImageSampleDrefImplicitLod 159 160 161 - 163: 22(fvec4) Load 26(color) - 164: 22(fvec4) CompositeConstruct 162 162 162 162 - 165: 22(fvec4) FAdd 163 164 - Store 26(color) 165 - 166: 156 Load 158(shadowSampler2D) - 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 Bias 168 - 171: 22(fvec4) Load 26(color) - 172: 22(fvec4) CompositeConstruct 170 170 170 170 - 173: 22(fvec4) FAdd 171 172 - Store 26(color) 173 - 174: 137 Load 139(shadowSampler1D) - 175: 22(fvec4) Load 24(coords4D) - 176: 6(float) CompositeExtract 175 2 - 177: 6(float) ImageSampleProjDrefImplicitLod 174 175 176 - 178: 22(fvec4) Load 26(color) - 179: 22(fvec4) CompositeConstruct 177 177 177 177 - 180: 22(fvec4) FAdd 178 179 - Store 26(color) 180 - 181: 137 Load 139(shadowSampler1D) - 182: 22(fvec4) Load 24(coords4D) - 183: 6(float) Load 10(bias) - 184: 6(float) CompositeExtract 182 2 - 185: 6(float) ImageSampleProjDrefImplicitLod 181 182 184 Bias 183 + 136: 128 Load 130(texSamplerCube) + 137: 16(fvec3) Load 18(coords3D) + 138: 6(float) Load 10(bias) + 139: 22(fvec4) ImageSampleImplicitLod 136 137 Bias 138 + 140: 22(fvec4) Load 26(color) + 141: 22(fvec4) FAdd 140 139 + Store 26(color) 141 + 146: 143 Load 145(shadowSampler1D) + 147: 16(fvec3) Load 18(coords3D) + 148: 6(float) CompositeExtract 147 2 + 149: 6(float) ImageSampleDrefImplicitLod 146 147 148 + 150: 22(fvec4) Load 26(color) + 151: 22(fvec4) CompositeConstruct 149 149 149 149 + 152: 22(fvec4) FAdd 150 151 + Store 26(color) 152 + 153: 143 Load 145(shadowSampler1D) + 154: 16(fvec3) Load 18(coords3D) + 155: 6(float) Load 10(bias) + 156: 6(float) CompositeExtract 154 2 + 157: 6(float) ImageSampleDrefImplicitLod 153 154 156 Bias 155 + 158: 22(fvec4) Load 26(color) + 159: 22(fvec4) CompositeConstruct 157 157 157 157 + 160: 22(fvec4) FAdd 158 159 + Store 26(color) 160 + 165: 162 Load 164(shadowSampler2D) + 166: 16(fvec3) Load 18(coords3D) + 167: 6(float) CompositeExtract 166 2 + 168: 6(float) ImageSampleDrefImplicitLod 165 166 167 + 169: 22(fvec4) Load 26(color) + 170: 22(fvec4) CompositeConstruct 168 168 168 168 + 171: 22(fvec4) FAdd 169 170 + Store 26(color) 171 + 172: 162 Load 164(shadowSampler2D) + 173: 16(fvec3) Load 18(coords3D) + 174: 6(float) Load 10(bias) + 175: 6(float) CompositeExtract 173 2 + 176: 6(float) ImageSampleDrefImplicitLod 172 173 175 Bias 174 + 177: 22(fvec4) Load 26(color) + 178: 22(fvec4) CompositeConstruct 176 176 176 176 + 179: 22(fvec4) FAdd 177 178 + Store 26(color) 179 + 180: 143 Load 145(shadowSampler1D) + 181: 22(fvec4) Load 24(coords4D) + 182: 6(float) CompositeExtract 181 2 + 183: 6(float) CompositeExtract 181 3 + 184: 22(fvec4) CompositeInsert 183 181 1 + 185: 6(float) ImageSampleProjDrefImplicitLod 180 184 182 186: 22(fvec4) Load 26(color) 187: 22(fvec4) CompositeConstruct 185 185 185 185 188: 22(fvec4) FAdd 186 187 Store 26(color) 188 - 189: 156 Load 158(shadowSampler2D) + 189: 143 Load 145(shadowSampler1D) 190: 22(fvec4) Load 24(coords4D) - 191: 6(float) CompositeExtract 190 2 - 192: 6(float) ImageSampleProjDrefImplicitLod 189 190 191 - 193: 22(fvec4) Load 26(color) - 194: 22(fvec4) CompositeConstruct 192 192 192 192 - 195: 22(fvec4) FAdd 193 194 - Store 26(color) 195 - 196: 156 Load 158(shadowSampler2D) - 197: 22(fvec4) Load 24(coords4D) - 198: 6(float) Load 10(bias) - 199: 6(float) CompositeExtract 197 2 - 200: 6(float) ImageSampleProjDrefImplicitLod 196 197 199 Bias 198 - 201: 22(fvec4) Load 26(color) - 202: 22(fvec4) CompositeConstruct 200 200 200 200 - 203: 22(fvec4) FAdd 201 202 - Store 26(color) 203 - Store 207(iCoords2D) 210 - Store 212(iLod) 213 - 214: 70 Load 72(texSampler2D) - 215: 205(ivec2) Load 207(iCoords2D) - 216: 204(int) Load 212(iLod) - 217: 69 Image 214 - 218: 22(fvec4) ImageFetch 217 215 Lod 216 - 219: 22(fvec4) Load 26(color) - 220: 22(fvec4) FAdd 219 218 - Store 26(color) 220 - 223: 45(fvec2) Load 47(coords2D) - 224: 45(fvec2) DPdx 223 - Store 222(gradX) 224 - 226: 45(fvec2) Load 47(coords2D) - 227: 45(fvec2) DPdy 226 - Store 225(gradY) 227 - 228: 70 Load 72(texSampler2D) - 229: 45(fvec2) Load 47(coords2D) - 230: 45(fvec2) Load 222(gradX) - 231: 45(fvec2) Load 225(gradY) - 232: 22(fvec4) ImageSampleExplicitLod 228 229 Grad 230 231 + 191: 6(float) Load 10(bias) + 192: 6(float) CompositeExtract 190 2 + 193: 6(float) CompositeExtract 190 3 + 194: 22(fvec4) CompositeInsert 193 190 1 + 195: 6(float) ImageSampleProjDrefImplicitLod 189 194 192 Bias 191 + 196: 22(fvec4) Load 26(color) + 197: 22(fvec4) CompositeConstruct 195 195 195 195 + 198: 22(fvec4) FAdd 196 197 + Store 26(color) 198 + 199: 162 Load 164(shadowSampler2D) + 200: 22(fvec4) Load 24(coords4D) + 201: 6(float) CompositeExtract 200 2 + 202: 6(float) CompositeExtract 200 3 + 203: 22(fvec4) CompositeInsert 202 200 2 + 204: 6(float) ImageSampleProjDrefImplicitLod 199 203 201 + 205: 22(fvec4) Load 26(color) + 206: 22(fvec4) CompositeConstruct 204 204 204 204 + 207: 22(fvec4) FAdd 205 206 + Store 26(color) 207 + 208: 162 Load 164(shadowSampler2D) + 209: 22(fvec4) Load 24(coords4D) + 210: 6(float) Load 10(bias) + 211: 6(float) CompositeExtract 209 2 + 212: 6(float) CompositeExtract 209 3 + 213: 22(fvec4) CompositeInsert 212 209 2 + 214: 6(float) ImageSampleProjDrefImplicitLod 208 213 211 Bias 210 + 215: 22(fvec4) Load 26(color) + 216: 22(fvec4) CompositeConstruct 214 214 214 214 + 217: 22(fvec4) FAdd 215 216 + Store 26(color) 217 + Store 221(iCoords2D) 224 + Store 226(iLod) 227 + 228: 74 Load 76(texSampler2D) + 229: 219(ivec2) Load 221(iCoords2D) + 230: 218(int) Load 226(iLod) + 231: 73 Image 228 + 232: 22(fvec4) ImageFetch 231 229 Lod 230 233: 22(fvec4) Load 26(color) 234: 22(fvec4) FAdd 233 232 Store 26(color) 234 - 235: 70 Load 72(texSampler2D) - 236: 45(fvec2) Load 47(coords2D) - 237: 6(float) Load 14(proj) - 238: 6(float) CompositeExtract 236 0 - 239: 6(float) CompositeExtract 236 1 - 240: 16(fvec3) CompositeConstruct 238 239 237 - 241: 45(fvec2) Load 222(gradX) - 242: 45(fvec2) Load 225(gradY) - 243: 22(fvec4) ImageSampleProjExplicitLod 235 240 Grad 241 242 - 244: 22(fvec4) Load 26(color) - 245: 22(fvec4) FAdd 244 243 - Store 26(color) 245 - 246: 70 Load 72(texSampler2D) - 247: 45(fvec2) Load 47(coords2D) - 248: 45(fvec2) Load 222(gradX) - 249: 45(fvec2) Load 225(gradY) - 253: 22(fvec4) ImageSampleExplicitLod 246 247 Grad ConstOffset 248 249 252 - 254: 22(fvec4) Load 26(color) - 255: 22(fvec4) FAdd 254 253 - Store 26(color) 255 - 256: 70 Load 72(texSampler2D) - 257: 16(fvec3) Load 18(coords3D) - 258: 45(fvec2) Load 222(gradX) - 259: 45(fvec2) Load 225(gradY) - 260: 22(fvec4) ImageSampleProjExplicitLod 256 257 Grad ConstOffset 258 259 252 - 261: 22(fvec4) Load 26(color) - 262: 22(fvec4) FAdd 261 260 - Store 26(color) 262 - 263: 156 Load 158(shadowSampler2D) - 264: 45(fvec2) Load 47(coords2D) - 265: 6(float) Load 12(lod) - 266: 6(float) CompositeExtract 264 0 - 267: 6(float) CompositeExtract 264 1 - 268: 16(fvec3) CompositeConstruct 266 267 265 - 269: 45(fvec2) Load 222(gradX) - 270: 45(fvec2) Load 225(gradY) - 271: 6(float) CompositeExtract 268 2 - 272: 6(float) ImageSampleDrefExplicitLod 263 268 271 Grad 269 270 - 273: 22(fvec4) Load 26(color) - 274: 22(fvec4) CompositeConstruct 272 272 272 272 - 275: 22(fvec4) FAdd 273 274 - Store 26(color) 275 - 278: 22(fvec4) Load 26(color) - 281: 22(fvec4) Load 280(u) - 284: 6(float) Load 283(blend) - 285: 6(float) Load 8(blendscale) - 286: 6(float) FMul 284 285 - 287: 22(fvec4) CompositeConstruct 286 286 286 286 - 288: 22(fvec4) ExtInst 1(GLSL.std.450) 46(FMix) 278 281 287 - Store 277(gl_FragColor) 288 + 237: 45(fvec2) Load 47(coords2D) + 238: 45(fvec2) DPdx 237 + Store 236(gradX) 238 + 240: 45(fvec2) Load 47(coords2D) + 241: 45(fvec2) DPdy 240 + Store 239(gradY) 241 + 242: 74 Load 76(texSampler2D) + 243: 45(fvec2) Load 47(coords2D) + 244: 45(fvec2) Load 236(gradX) + 245: 45(fvec2) Load 239(gradY) + 246: 22(fvec4) ImageSampleExplicitLod 242 243 Grad 244 245 + 247: 22(fvec4) Load 26(color) + 248: 22(fvec4) FAdd 247 246 + Store 26(color) 248 + 249: 74 Load 76(texSampler2D) + 250: 45(fvec2) Load 47(coords2D) + 251: 6(float) Load 14(proj) + 252: 6(float) CompositeExtract 250 0 + 253: 6(float) CompositeExtract 250 1 + 254: 16(fvec3) CompositeConstruct 252 253 251 + 255: 45(fvec2) Load 236(gradX) + 256: 45(fvec2) Load 239(gradY) + 257: 22(fvec4) ImageSampleProjExplicitLod 249 254 Grad 255 256 + 258: 22(fvec4) Load 26(color) + 259: 22(fvec4) FAdd 258 257 + Store 26(color) 259 + 260: 74 Load 76(texSampler2D) + 261: 45(fvec2) Load 47(coords2D) + 262: 45(fvec2) Load 236(gradX) + 263: 45(fvec2) Load 239(gradY) + 267: 22(fvec4) ImageSampleExplicitLod 260 261 Grad ConstOffset 262 263 266 + 268: 22(fvec4) Load 26(color) + 269: 22(fvec4) FAdd 268 267 + Store 26(color) 269 + 270: 74 Load 76(texSampler2D) + 271: 16(fvec3) Load 18(coords3D) + 272: 45(fvec2) Load 236(gradX) + 273: 45(fvec2) Load 239(gradY) + 274: 22(fvec4) ImageSampleProjExplicitLod 270 271 Grad ConstOffset 272 273 266 + 275: 22(fvec4) Load 26(color) + 276: 22(fvec4) FAdd 275 274 + Store 26(color) 276 + 277: 162 Load 164(shadowSampler2D) + 278: 45(fvec2) Load 47(coords2D) + 279: 6(float) Load 12(lod) + 280: 6(float) CompositeExtract 278 0 + 281: 6(float) CompositeExtract 278 1 + 282: 16(fvec3) CompositeConstruct 280 281 279 + 283: 45(fvec2) Load 236(gradX) + 284: 45(fvec2) Load 239(gradY) + 285: 6(float) CompositeExtract 282 2 + 286: 6(float) ImageSampleDrefExplicitLod 277 282 285 Grad 283 284 + 287: 22(fvec4) Load 26(color) + 288: 22(fvec4) CompositeConstruct 286 286 286 286 + 289: 22(fvec4) FAdd 287 288 + Store 26(color) 289 + 292: 22(fvec4) Load 26(color) + 295: 22(fvec4) Load 294(u) + 298: 6(float) Load 297(blend) + 299: 6(float) Load 8(blendscale) + 300: 6(float) FMul 298 299 + 301: 22(fvec4) CompositeConstruct 300 300 300 300 + 302: 22(fvec4) ExtInst 1(GLSL.std.450) 46(FMix) 292 295 301 + Store 291(gl_FragColor) 302 Return FunctionEnd diff --git a/Test/baseResults/spv.texture.vert.out b/Test/baseResults/spv.texture.vert.out index 179e567d..cc3d3daa 100755 --- a/Test/baseResults/spv.texture.vert.out +++ b/Test/baseResults/spv.texture.vert.out @@ -5,13 +5,13 @@ Linked vertex stage: // Module Version 10000 // Generated by (magic number): 80001 -// Id's are bound by 142 +// Id's are bound by 150 Capability Shader Capability Sampled1D 1: ExtInstImport "GLSL.std.450" MemoryModel Logical GLSL450 - EntryPoint Vertex 4 "main" 39 140 + EntryPoint Vertex 4 "main" 39 148 Source GLSL 140 Name 4 "main" Name 8 "lod" @@ -21,19 +21,19 @@ Linked vertex stage: Name 23 "color" Name 29 "texSampler1D" Name 39 "coords2D" - Name 54 "texSampler2D" - Name 76 "texSampler3D" - Name 92 "texSamplerCube" - Name 102 "shadowSampler1D" - Name 114 "shadowSampler2D" - Name 140 "gl_Position" + Name 56 "texSampler2D" + Name 80 "texSampler3D" + Name 96 "texSamplerCube" + Name 106 "shadowSampler1D" + Name 118 "shadowSampler2D" + Name 148 "gl_Position" Decorate 29(texSampler1D) DescriptorSet 0 - Decorate 54(texSampler2D) DescriptorSet 0 - Decorate 76(texSampler3D) DescriptorSet 0 - Decorate 92(texSamplerCube) DescriptorSet 0 - Decorate 102(shadowSampler1D) DescriptorSet 0 - Decorate 114(shadowSampler2D) DescriptorSet 0 - Decorate 140(gl_Position) BuiltIn Position + Decorate 56(texSampler2D) DescriptorSet 0 + Decorate 80(texSampler3D) DescriptorSet 0 + Decorate 96(texSamplerCube) DescriptorSet 0 + Decorate 106(shadowSampler1D) DescriptorSet 0 + Decorate 118(shadowSampler2D) DescriptorSet 0 + Decorate 148(gl_Position) BuiltIn Position 2: TypeVoid 3: TypeFunction 2 6: TypeFloat 32 @@ -58,28 +58,28 @@ Linked vertex stage: 37: TypeVector 6(float) 2 38: TypePointer Input 37(fvec2) 39(coords2D): 38(ptr) Variable Input - 51: TypeImage 6(float) 2D sampled format:Unknown - 52: TypeSampledImage 51 - 53: TypePointer UniformConstant 52 -54(texSampler2D): 53(ptr) Variable UniformConstant - 73: TypeImage 6(float) 3D sampled format:Unknown - 74: TypeSampledImage 73 - 75: TypePointer UniformConstant 74 -76(texSampler3D): 75(ptr) Variable UniformConstant - 89: TypeImage 6(float) Cube sampled format:Unknown - 90: TypeSampledImage 89 - 91: TypePointer UniformConstant 90 -92(texSamplerCube): 91(ptr) Variable UniformConstant - 99: TypeImage 6(float) 1D depth sampled format:Unknown - 100: TypeSampledImage 99 - 101: TypePointer UniformConstant 100 -102(shadowSampler1D): 101(ptr) Variable UniformConstant - 111: TypeImage 6(float) 2D depth sampled format:Unknown - 112: TypeSampledImage 111 - 113: TypePointer UniformConstant 112 -114(shadowSampler2D): 113(ptr) Variable UniformConstant - 139: TypePointer Output 18(fvec4) -140(gl_Position): 139(ptr) Variable Output + 53: TypeImage 6(float) 2D sampled format:Unknown + 54: TypeSampledImage 53 + 55: TypePointer UniformConstant 54 +56(texSampler2D): 55(ptr) Variable UniformConstant + 77: TypeImage 6(float) 3D sampled format:Unknown + 78: TypeSampledImage 77 + 79: TypePointer UniformConstant 78 +80(texSampler3D): 79(ptr) Variable UniformConstant + 93: TypeImage 6(float) Cube sampled format:Unknown + 94: TypeSampledImage 93 + 95: TypePointer UniformConstant 94 +96(texSamplerCube): 95(ptr) Variable UniformConstant + 103: TypeImage 6(float) 1D depth sampled format:Unknown + 104: TypeSampledImage 103 + 105: TypePointer UniformConstant 104 +106(shadowSampler1D): 105(ptr) Variable UniformConstant + 115: TypeImage 6(float) 2D depth sampled format:Unknown + 116: TypeSampledImage 115 + 117: TypePointer UniformConstant 116 +118(shadowSampler2D): 117(ptr) Variable UniformConstant + 147: TypePointer Output 18(fvec4) +148(gl_Position): 147(ptr) Variable Output 4(main): 2 Function None 3 5: Label 8(lod): 7(ptr) Variable Function @@ -109,89 +109,97 @@ Linked vertex stage: 45: 27 Load 29(texSampler1D) 46: 18(fvec4) Load 20(coords4D) 47: 6(float) Load 8(lod) - 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 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 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 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 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 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 Lod 95 - 97: 18(fvec4) Load 23(color) - 98: 18(fvec4) FAdd 97 96 - Store 23(color) 98 - 103: 100 Load 102(shadowSampler1D) - 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 Lod 105 - 108: 18(fvec4) Load 23(color) - 109: 18(fvec4) CompositeConstruct 107 107 107 107 - 110: 18(fvec4) FAdd 108 109 - Store 23(color) 110 - 115: 112 Load 114(shadowSampler2D) - 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 Lod 117 - 120: 18(fvec4) Load 23(color) - 121: 18(fvec4) CompositeConstruct 119 119 119 119 - 122: 18(fvec4) FAdd 120 121 - Store 23(color) 122 - 123: 100 Load 102(shadowSampler1D) - 124: 18(fvec4) Load 20(coords4D) - 125: 6(float) Load 8(lod) - 126: 6(float) CompositeExtract 124 2 - 127: 6(float) ImageSampleProjDrefExplicitLod 123 124 126 Lod 125 - 128: 18(fvec4) Load 23(color) - 129: 18(fvec4) CompositeConstruct 127 127 127 127 - 130: 18(fvec4) FAdd 128 129 - Store 23(color) 130 - 131: 112 Load 114(shadowSampler2D) - 132: 18(fvec4) Load 20(coords4D) - 133: 6(float) Load 8(lod) - 134: 6(float) CompositeExtract 132 2 - 135: 6(float) ImageSampleProjDrefExplicitLod 131 132 134 Lod 133 - 136: 18(fvec4) Load 23(color) - 137: 18(fvec4) CompositeConstruct 135 135 135 135 - 138: 18(fvec4) FAdd 136 137 - Store 23(color) 138 - 141: 18(fvec4) Load 23(color) - Store 140(gl_Position) 141 + 48: 6(float) CompositeExtract 46 3 + 49: 18(fvec4) CompositeInsert 48 46 1 + 50: 18(fvec4) ImageSampleProjExplicitLod 45 49 Lod 47 + 51: 18(fvec4) Load 23(color) + 52: 18(fvec4) FAdd 51 50 + Store 23(color) 52 + 57: 54 Load 56(texSampler2D) + 58: 37(fvec2) Load 39(coords2D) + 59: 6(float) Load 8(lod) + 60: 18(fvec4) ImageSampleExplicitLod 57 58 Lod 59 + 61: 18(fvec4) Load 23(color) + 62: 18(fvec4) FAdd 61 60 + Store 23(color) 62 + 63: 54 Load 56(texSampler2D) + 64: 12(fvec3) Load 14(coords3D) + 65: 6(float) Load 8(lod) + 66: 18(fvec4) ImageSampleProjExplicitLod 63 64 Lod 65 + 67: 18(fvec4) Load 23(color) + 68: 18(fvec4) FAdd 67 66 + Store 23(color) 68 + 69: 54 Load 56(texSampler2D) + 70: 18(fvec4) Load 20(coords4D) + 71: 6(float) Load 8(lod) + 72: 6(float) CompositeExtract 70 3 + 73: 18(fvec4) CompositeInsert 72 70 2 + 74: 18(fvec4) ImageSampleProjExplicitLod 69 73 Lod 71 + 75: 18(fvec4) Load 23(color) + 76: 18(fvec4) FAdd 75 74 + Store 23(color) 76 + 81: 78 Load 80(texSampler3D) + 82: 12(fvec3) Load 14(coords3D) + 83: 6(float) Load 8(lod) + 84: 18(fvec4) ImageSampleExplicitLod 81 82 Lod 83 + 85: 18(fvec4) Load 23(color) + 86: 18(fvec4) FAdd 85 84 + Store 23(color) 86 + 87: 78 Load 80(texSampler3D) + 88: 18(fvec4) Load 20(coords4D) + 89: 6(float) Load 8(lod) + 90: 18(fvec4) ImageSampleProjExplicitLod 87 88 Lod 89 + 91: 18(fvec4) Load 23(color) + 92: 18(fvec4) FAdd 91 90 + Store 23(color) 92 + 97: 94 Load 96(texSamplerCube) + 98: 12(fvec3) Load 14(coords3D) + 99: 6(float) Load 8(lod) + 100: 18(fvec4) ImageSampleExplicitLod 97 98 Lod 99 + 101: 18(fvec4) Load 23(color) + 102: 18(fvec4) FAdd 101 100 + Store 23(color) 102 + 107: 104 Load 106(shadowSampler1D) + 108: 12(fvec3) Load 14(coords3D) + 109: 6(float) Load 8(lod) + 110: 6(float) CompositeExtract 108 2 + 111: 6(float) ImageSampleDrefExplicitLod 107 108 110 Lod 109 + 112: 18(fvec4) Load 23(color) + 113: 18(fvec4) CompositeConstruct 111 111 111 111 + 114: 18(fvec4) FAdd 112 113 + Store 23(color) 114 + 119: 116 Load 118(shadowSampler2D) + 120: 12(fvec3) Load 14(coords3D) + 121: 6(float) Load 8(lod) + 122: 6(float) CompositeExtract 120 2 + 123: 6(float) ImageSampleDrefExplicitLod 119 120 122 Lod 121 + 124: 18(fvec4) Load 23(color) + 125: 18(fvec4) CompositeConstruct 123 123 123 123 + 126: 18(fvec4) FAdd 124 125 + Store 23(color) 126 + 127: 104 Load 106(shadowSampler1D) + 128: 18(fvec4) Load 20(coords4D) + 129: 6(float) Load 8(lod) + 130: 6(float) CompositeExtract 128 2 + 131: 6(float) CompositeExtract 128 3 + 132: 18(fvec4) CompositeInsert 131 128 1 + 133: 6(float) ImageSampleProjDrefExplicitLod 127 132 130 Lod 129 + 134: 18(fvec4) Load 23(color) + 135: 18(fvec4) CompositeConstruct 133 133 133 133 + 136: 18(fvec4) FAdd 134 135 + Store 23(color) 136 + 137: 116 Load 118(shadowSampler2D) + 138: 18(fvec4) Load 20(coords4D) + 139: 6(float) Load 8(lod) + 140: 6(float) CompositeExtract 138 2 + 141: 6(float) CompositeExtract 138 3 + 142: 18(fvec4) CompositeInsert 141 138 2 + 143: 6(float) ImageSampleProjDrefExplicitLod 137 142 140 Lod 139 + 144: 18(fvec4) Load 23(color) + 145: 18(fvec4) CompositeConstruct 143 143 143 143 + 146: 18(fvec4) FAdd 144 145 + Store 23(color) 146 + 149: 18(fvec4) Load 23(color) + Store 148(gl_Position) 149 Return FunctionEnd