From ac2147e0f7ec11141d0ca8f8155a5e0a2837a8a5 Mon Sep 17 00:00:00 2001 From: chyyran Date: Mon, 7 Oct 2024 17:55:12 -0400 Subject: [PATCH 1/2] Emit `OpModfStruct` for GLSL `EOpModf` instead of `OpModf` --- SPIRV/GlslangToSpv.cpp | 19 ++++++++++++++++++- 1 file changed, 18 insertions(+), 1 deletion(-) diff --git a/SPIRV/GlslangToSpv.cpp b/SPIRV/GlslangToSpv.cpp index 4348fdf8d6..6798238aec 100644 --- a/SPIRV/GlslangToSpv.cpp +++ b/SPIRV/GlslangToSpv.cpp @@ -8805,7 +8805,17 @@ spv::Id TGlslangToSpvTraverser::createMiscOperation(glslang::TOperator op, spv:: builder.promoteScalar(precision, operands.front(), operands.back()); break; case glslang::EOpModf: - libCall = spv::GLSLstd450Modf; + { + libCall = spv::GLSLstd450ModfStruct; + assert(builder.isFloatType(builder.getScalarTypeId(typeId0))); + int width = builder.getScalarTypeWidth(typeId0); + if (width == 16) + // Using 16-bit whole number operand, enable extension E_SPV_AMD_gpu_shader_half_float + builder.addExtension(spv::E_SPV_AMD_gpu_shader_half_float); + // The two members of the returned struct and x must all be the same type. + typeId = builder.makeStructResultType(typeId0, typeId0); + consumedOperands = 1; + } break; case glslang::EOpMax: if (isFloat) @@ -9428,6 +9438,13 @@ spv::Id TGlslangToSpvTraverser::createMiscOperation(glslang::TOperator op, spv:: builder.createStore(builder.createCompositeExtract(id, typeId0, 0), operands[3]); builder.createStore(builder.createCompositeExtract(id, typeId0, 1), operands[2]); break; + case glslang::EOpModf: + { + assert(operands.size() == 2); + builder.createStore(builder.createCompositeExtract(id, typeId0, 1), operands[1]); + id = builder.createCompositeExtract(id, typeId0, 0); + } + break; case glslang::EOpFrexp: { assert(operands.size() == 2); From ec04400dcae558177ab5e5dab486b23ad9d25a96 Mon Sep 17 00:00:00 2001 From: chyyran Date: Mon, 7 Oct 2024 18:09:12 -0400 Subject: [PATCH 2/2] Update tests to account for `OpModfStruct` --- Test/baseResults/spv.400.frag.nanclamp.out | 2082 ++++++++++---------- Test/baseResults/spv.400.frag.out | 2082 ++++++++++---------- Test/baseResults/spv.Operations.frag.out | 1064 +++++----- Test/baseResults/spv.float16.frag.out | 815 ++++---- Test/baseResults/spv.float32.frag.out | 711 +++---- Test/baseResults/spv.float64.frag.out | 717 +++---- 6 files changed, 3767 insertions(+), 3704 deletions(-) diff --git a/Test/baseResults/spv.400.frag.nanclamp.out b/Test/baseResults/spv.400.frag.nanclamp.out index c913e41c5c..dee4625050 100644 --- a/Test/baseResults/spv.400.frag.nanclamp.out +++ b/Test/baseResults/spv.400.frag.nanclamp.out @@ -1,7 +1,7 @@ spv.400.frag // Module Version 10000 // Generated by (magic number): 8000b -// Id's are bound by 1122 +// Id's are bound by 1134 Capability Shader Capability Geometry @@ -11,7 +11,7 @@ spv.400.frag Capability SampledRect 1: ExtInstImport "GLSL.std.450" MemoryModel Logical GLSL450 - EntryPoint Fragment 4 "main" 13 1027 1033 1038 1054 1080 1101 1103 1109 1111 1120 + EntryPoint Fragment 4 "main" 13 1039 1045 1050 1066 1092 1113 1115 1121 1123 1132 ExecutionMode 4 OriginUpperLeft Source GLSL 400 SourceExtension "GL_ARB_separate_shader_objects" @@ -24,56 +24,60 @@ spv.400.frag 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 1054 "uoutp" - Name 1058 "samp2dr" - Name 1080 "ioutp" - Name 1084 "isamp2DA" - Name 1101 "gl_FragCoord" - Name 1103 "vl2" - Name 1109 "uo" - Name 1111 "u" - Name 1119 "id" - Name 1120 "gl_PrimitiveID" + Name 242 "ResType" + Name 249 "ResType" + Name 256 "ResType" + Name 263 "ResType" + Name 442 "boolv" + Name 451 "bvec2v" + Name 460 "bvec3v" + Name 469 "bvec4v" + Name 751 "dmat2v" + Name 757 "dmat3v" + Name 763 "dmat4v" + Name 769 "dmat2x3v" + Name 775 "dmat3x2v" + Name 781 "dmat2x4v" + Name 787 "dmat4x2v" + Name 793 "dmat3x4v" + Name 799 "dmat4x3v" + Name 1031 "v" + Name 1037 "arrayedSampler" + Name 1039 "i" + Name 1045 "c2D" + Name 1050 "gl_ClipDistance" + Name 1066 "uoutp" + Name 1070 "samp2dr" + Name 1092 "ioutp" + Name 1096 "isamp2DA" + Name 1113 "gl_FragCoord" + Name 1115 "vl2" + Name 1121 "uo" + Name 1123 "u" + Name 1131 "id" + Name 1132 "gl_PrimitiveID" Decorate 13(outp) Location 1 Decorate 17(u2drs) Binding 3 Decorate 17(u2drs) DescriptorSet 0 - Decorate 1025(arrayedSampler) Binding 0 - Decorate 1025(arrayedSampler) DescriptorSet 0 - Decorate 1027(i) Flat - Decorate 1027(i) Location 1 - Decorate 1033(c2D) Location 0 - Decorate 1038(gl_ClipDistance) BuiltIn ClipDistance - Decorate 1054(uoutp) Location 3 - Decorate 1058(samp2dr) Binding 1 - Decorate 1058(samp2dr) DescriptorSet 0 - Decorate 1080(ioutp) Location 2 - Decorate 1084(isamp2DA) Binding 2 - Decorate 1084(isamp2DA) DescriptorSet 0 - Decorate 1101(gl_FragCoord) BuiltIn FragCoord - Decorate 1103(vl2) Location 6 - Decorate 1109(uo) Location 0 - Decorate 1111(u) Flat - Decorate 1111(u) Location 2 - Decorate 1120(gl_PrimitiveID) BuiltIn PrimitiveId - Decorate 1120(gl_PrimitiveID) Flat + Decorate 1037(arrayedSampler) Binding 0 + Decorate 1037(arrayedSampler) DescriptorSet 0 + Decorate 1039(i) Flat + Decorate 1039(i) Location 1 + Decorate 1045(c2D) Location 0 + Decorate 1050(gl_ClipDistance) BuiltIn ClipDistance + Decorate 1066(uoutp) Location 3 + Decorate 1070(samp2dr) Binding 1 + Decorate 1070(samp2dr) DescriptorSet 0 + Decorate 1092(ioutp) Location 2 + Decorate 1096(isamp2DA) Binding 2 + Decorate 1096(isamp2DA) DescriptorSet 0 + Decorate 1113(gl_FragCoord) BuiltIn FragCoord + Decorate 1115(vl2) Location 6 + Decorate 1121(uo) Location 0 + Decorate 1123(u) Flat + Decorate 1123(u) Location 2 + Decorate 1132(gl_PrimitiveID) BuiltIn PrimitiveId + Decorate 1132(gl_PrimitiveID) Flat 2: TypeVoid 3: TypeFunction 2 10: TypeFloat 32 @@ -108,161 +112,165 @@ spv.400.frag 52: 48(f64vec3) ConstantComposite 51 51 51 53: TypeVector 39(float64_t) 4 54: TypePointer Function 53(f64vec4) - 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(f64vec2) 2 - 738: TypePointer Function 737 - 743: TypeMatrix 48(f64vec3) 3 - 744: TypePointer Function 743 - 749: TypeMatrix 53(f64vec4) 4 + 242(ResType): TypeStruct 39(float64_t) 39(float64_t) + 249(ResType): TypeStruct 43(f64vec2) 43(f64vec2) + 256(ResType): TypeStruct 48(f64vec3) 48(f64vec3) + 263(ResType): TypeStruct 53(f64vec4) 53(f64vec4) + 440: TypeBool + 441: TypePointer Function 440(bool) + 449: TypeVector 440(bool) 2 + 450: TypePointer Function 449(bvec2) + 458: TypeVector 440(bool) 3 + 459: TypePointer Function 458(bvec3) + 467: TypeVector 440(bool) 4 + 468: TypePointer Function 467(bvec4) + 575: 440(bool) ConstantFalse + 584: 449(bvec2) ConstantComposite 575 575 + 593: 458(bvec3) ConstantComposite 575 575 575 + 602: 467(bvec4) ConstantComposite 575 575 575 575 + 749: TypeMatrix 43(f64vec2) 2 750: TypePointer Function 749 - 755: TypeMatrix 48(f64vec3) 2 + 755: TypeMatrix 48(f64vec3) 3 756: TypePointer Function 755 - 761: TypeMatrix 43(f64vec2) 3 + 761: TypeMatrix 53(f64vec4) 4 762: TypePointer Function 761 - 767: TypeMatrix 53(f64vec4) 2 + 767: TypeMatrix 48(f64vec3) 2 768: TypePointer Function 767 - 773: TypeMatrix 43(f64vec2) 4 + 773: TypeMatrix 43(f64vec2) 3 774: TypePointer Function 773 - 779: TypeMatrix 53(f64vec4) 3 + 779: TypeMatrix 53(f64vec4) 2 780: TypePointer Function 779 - 785: TypeMatrix 48(f64vec3) 4 + 785: TypeMatrix 43(f64vec2) 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 - 1052: TypeVector 32(int) 4 - 1053: TypePointer Output 1052(ivec4) - 1054(uoutp): 1053(ptr) Variable Output - 1055: TypeImage 32(int) Rect sampled format:Unknown - 1056: TypeSampledImage 1055 - 1057: TypePointer UniformConstant 1056 - 1058(samp2dr): 1057(ptr) Variable UniformConstant - 1061: 32(int) Constant 4 - 1062: TypeArray 24(ivec2) 1061 - 1063: 24(ivec2) ConstantComposite 966 970 - 1064: 23(int) Constant 15 - 1065: 23(int) Constant 16 - 1066: 24(ivec2) ConstantComposite 1064 1065 - 1067: 23(int) Constant 4294967294 - 1068: 23(int) Constant 0 - 1069: 24(ivec2) ConstantComposite 1067 1068 - 1070: 1062 ConstantComposite 1063 27 1066 1069 - 1078: TypeVector 23(int) 4 - 1079: TypePointer Output 1078(ivec4) - 1080(ioutp): 1079(ptr) Variable Output - 1081: TypeImage 23(int) 2D array sampled format:Unknown - 1082: TypeSampledImage 1081 - 1083: TypePointer UniformConstant 1082 - 1084(isamp2DA): 1083(ptr) Variable UniformConstant - 1086: 10(float) Constant 1036831949 - 1087: 1043(fvec3) ConstantComposite 1086 1086 1086 - 1088: 24(ivec2) ConstantComposite 966 966 - 1100: TypePointer Input 11(fvec4) -1101(gl_FragCoord): 1100(ptr) Variable Input - 1103(vl2): 1100(ptr) Variable Input - 1108: TypePointer Output 32(int) - 1109(uo): 1108(ptr) Variable Output - 1110: TypePointer Input 32(int) - 1111(u): 1110(ptr) Variable Input - 1118: TypePointer Function 23(int) -1120(gl_PrimitiveID): 1026(ptr) Variable Input + 791: TypeMatrix 53(f64vec4) 3 + 792: TypePointer Function 791 + 797: TypeMatrix 48(f64vec3) 4 + 798: TypePointer Function 797 + 966: 32(int) Constant 1 + 970: 32(int) Constant 2 + 974: 32(int) Constant 3 + 978: 23(int) Constant 1 + 982: 23(int) Constant 2 + 1008: 10(float) Constant 1065353216 + 1030: TypePointer Function 11(fvec4) + 1032: TypeImage 10(float) 2D sampled format:Unknown + 1033: TypeSampledImage 1032 + 1034: 32(int) Constant 5 + 1035: TypeArray 1033 1034 + 1036: TypePointer UniformConstant 1035 +1037(arrayedSampler): 1036(ptr) Variable UniformConstant + 1038: TypePointer Input 23(int) + 1039(i): 1038(ptr) Variable Input + 1041: TypePointer UniformConstant 1033 + 1044: TypePointer Input 20(fvec2) + 1045(c2D): 1044(ptr) Variable Input + 1048: TypeArray 10(float) 970 + 1049: TypePointer Input 1048 +1050(gl_ClipDistance): 1049(ptr) Variable Input + 1051: TypePointer Input 10(float) + 1055: TypeVector 10(float) 3 + 1064: TypeVector 32(int) 4 + 1065: TypePointer Output 1064(ivec4) + 1066(uoutp): 1065(ptr) Variable Output + 1067: TypeImage 32(int) Rect sampled format:Unknown + 1068: TypeSampledImage 1067 + 1069: TypePointer UniformConstant 1068 + 1070(samp2dr): 1069(ptr) Variable UniformConstant + 1073: 32(int) Constant 4 + 1074: TypeArray 24(ivec2) 1073 + 1075: 24(ivec2) ConstantComposite 978 982 + 1076: 23(int) Constant 15 + 1077: 23(int) Constant 16 + 1078: 24(ivec2) ConstantComposite 1076 1077 + 1079: 23(int) Constant 4294967294 + 1080: 23(int) Constant 0 + 1081: 24(ivec2) ConstantComposite 1079 1080 + 1082: 1074 ConstantComposite 1075 27 1078 1081 + 1090: TypeVector 23(int) 4 + 1091: TypePointer Output 1090(ivec4) + 1092(ioutp): 1091(ptr) Variable Output + 1093: TypeImage 23(int) 2D array sampled format:Unknown + 1094: TypeSampledImage 1093 + 1095: TypePointer UniformConstant 1094 + 1096(isamp2DA): 1095(ptr) Variable UniformConstant + 1098: 10(float) Constant 1036831949 + 1099: 1055(fvec3) ConstantComposite 1098 1098 1098 + 1100: 24(ivec2) ConstantComposite 978 978 + 1112: TypePointer Input 11(fvec4) +1113(gl_FragCoord): 1112(ptr) Variable Input + 1115(vl2): 1112(ptr) Variable Input + 1120: TypePointer Output 32(int) + 1121(uo): 1120(ptr) Variable Output + 1122: TypePointer Input 32(int) + 1123(u): 1122(ptr) Variable Input + 1130: TypePointer Function 23(int) +1132(gl_PrimitiveID): 1038(ptr) Variable Input 4(main): 2 Function None 3 5: Label - 1019(v): 1018(ptr) Variable Function - 1119(id): 1118(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: 34(ptr) AccessChain 13(outp) 954 - 1047: 10(float) CompositeExtract 1045 0 - Store 1046 1047 - 1048: 34(ptr) AccessChain 13(outp) 958 - 1049: 10(float) CompositeExtract 1045 1 - Store 1048 1049 - 1050: 34(ptr) AccessChain 13(outp) 962 - 1051: 10(float) CompositeExtract 1045 2 - Store 1050 1051 - 1059: 1056 Load 1058(samp2dr) - 1060: 20(fvec2) Load 1033(c2D) - 1071: 1052(ivec4) ImageGather 1059 1060 970 ConstOffsets 1070 - Store 1054(uoutp) 1071 - 1072: 1029(ptr) AccessChain 1025(arrayedSampler) 1068 - 1073: 1021 Load 1072 - 1074: 20(fvec2) Load 1033(c2D) - 1075: 11(fvec4) ImageGather 1073 1074 1068 - 1076: 11(fvec4) Load 13(outp) - 1077: 11(fvec4) FAdd 1076 1075 - Store 13(outp) 1077 - 1085: 1082 Load 1084(isamp2DA) - 1089: 1078(ivec4) ImageGather 1085 1087 25 ConstOffset 1088 - Store 1080(ioutp) 1089 - 1090: 1082 Load 1084(isamp2DA) - 1091: 1078(ivec4) ImageGather 1090 1087 25 ConstOffset 1088 - 1092: 1078(ivec4) Load 1080(ioutp) - 1093: 1078(ivec4) IAdd 1092 1091 - Store 1080(ioutp) 1093 - 1094: 1082 Load 1084(isamp2DA) - 1095: 23(int) Load 1027(i) - 1096: 24(ivec2) CompositeConstruct 1095 1095 - 1097: 1078(ivec4) ImageGather 1094 1087 1068 Offset 1096 - 1098: 1078(ivec4) Load 1080(ioutp) - 1099: 1078(ivec4) IAdd 1098 1097 - Store 1080(ioutp) 1099 - 1102: 11(fvec4) Load 1101(gl_FragCoord) - 1104: 11(fvec4) Load 1103(vl2) - 1105: 11(fvec4) FAdd 1102 1104 - 1106: 11(fvec4) Load 13(outp) - 1107: 11(fvec4) FAdd 1106 1105 - Store 13(outp) 1107 - 1112: 32(int) Load 1111(u) - 1113: 23(int) Load 1027(i) - 1114: 32(int) Bitcast 1113 - 1115: 32(int) UMod 1112 1114 - Store 1109(uo) 1115 - 1116: 2 FunctionCall 6(foo23() - 1117: 2 FunctionCall 8(doubles() - 1121: 23(int) Load 1120(gl_PrimitiveID) - Store 1119(id) 1121 + 1031(v): 1030(ptr) Variable Function + 1131(id): 1130(ptr) Variable Function + 1040: 23(int) Load 1039(i) + 1042: 1041(ptr) AccessChain 1037(arrayedSampler) 1040 + 1043: 1033 Load 1042 + 1046: 20(fvec2) Load 1045(c2D) + 1047: 11(fvec4) ImageSampleImplicitLod 1043 1046 + Store 1031(v) 1047 + 1052: 1051(ptr) AccessChain 1050(gl_ClipDistance) 978 + 1053: 10(float) Load 1052 + 1054: 34(ptr) AccessChain 13(outp) 33 + Store 1054 1053 + 1056: 11(fvec4) Load 1031(v) + 1057: 1055(fvec3) VectorShuffle 1056 1056 1 2 3 + 1058: 34(ptr) AccessChain 13(outp) 966 + 1059: 10(float) CompositeExtract 1057 0 + Store 1058 1059 + 1060: 34(ptr) AccessChain 13(outp) 970 + 1061: 10(float) CompositeExtract 1057 1 + Store 1060 1061 + 1062: 34(ptr) AccessChain 13(outp) 974 + 1063: 10(float) CompositeExtract 1057 2 + Store 1062 1063 + 1071: 1068 Load 1070(samp2dr) + 1072: 20(fvec2) Load 1045(c2D) + 1083: 1064(ivec4) ImageGather 1071 1072 982 ConstOffsets 1082 + Store 1066(uoutp) 1083 + 1084: 1041(ptr) AccessChain 1037(arrayedSampler) 1080 + 1085: 1033 Load 1084 + 1086: 20(fvec2) Load 1045(c2D) + 1087: 11(fvec4) ImageGather 1085 1086 1080 + 1088: 11(fvec4) Load 13(outp) + 1089: 11(fvec4) FAdd 1088 1087 + Store 13(outp) 1089 + 1097: 1094 Load 1096(isamp2DA) + 1101: 1090(ivec4) ImageGather 1097 1099 25 ConstOffset 1100 + Store 1092(ioutp) 1101 + 1102: 1094 Load 1096(isamp2DA) + 1103: 1090(ivec4) ImageGather 1102 1099 25 ConstOffset 1100 + 1104: 1090(ivec4) Load 1092(ioutp) + 1105: 1090(ivec4) IAdd 1104 1103 + Store 1092(ioutp) 1105 + 1106: 1094 Load 1096(isamp2DA) + 1107: 23(int) Load 1039(i) + 1108: 24(ivec2) CompositeConstruct 1107 1107 + 1109: 1090(ivec4) ImageGather 1106 1099 1080 Offset 1108 + 1110: 1090(ivec4) Load 1092(ioutp) + 1111: 1090(ivec4) IAdd 1110 1109 + Store 1092(ioutp) 1111 + 1114: 11(fvec4) Load 1113(gl_FragCoord) + 1116: 11(fvec4) Load 1115(vl2) + 1117: 11(fvec4) FAdd 1114 1116 + 1118: 11(fvec4) Load 13(outp) + 1119: 11(fvec4) FAdd 1118 1117 + Store 13(outp) 1119 + 1124: 32(int) Load 1123(u) + 1125: 23(int) Load 1039(i) + 1126: 32(int) Bitcast 1125 + 1127: 32(int) UMod 1124 1126 + Store 1121(uo) 1127 + 1128: 2 FunctionCall 6(foo23() + 1129: 2 FunctionCall 8(doubles() + 1133: 23(int) Load 1132(gl_PrimitiveID) + Store 1131(id) 1133 Return FunctionEnd 6(foo23(): 2 Function None 3 @@ -286,23 +294,23 @@ spv.400.frag 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 - 557: 429(ptr) Variable Function - 566: 438(ptr) Variable Function - 575: 447(ptr) Variable Function - 584: 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 + 442(boolv): 441(ptr) Variable Function + 451(bvec2v): 450(ptr) Variable Function + 460(bvec3v): 459(ptr) Variable Function + 469(bvec4v): 468(ptr) Variable Function + 569: 441(ptr) Variable Function + 578: 450(ptr) Variable Function + 587: 459(ptr) Variable Function + 596: 468(ptr) Variable Function + 751(dmat2v): 750(ptr) Variable Function + 757(dmat3v): 756(ptr) Variable Function + 763(dmat4v): 762(ptr) Variable Function + 769(dmat2x3v): 768(ptr) Variable Function + 775(dmat3x2v): 774(ptr) Variable Function + 781(dmat2x4v): 780(ptr) Variable Function + 787(dmat4x2v): 786(ptr) Variable Function + 793(dmat3x4v): 792(ptr) Variable Function + 799(dmat4x3v): 798(ptr) Variable Function Store 41(doublev) 42 Store 45(dvec2v) 47 Store 50(dvec3v) 52 @@ -536,873 +544,885 @@ spv.400.frag 240: 53(f64vec4) FAdd 239 238 Store 55(dvec4v) 240 241:39(float64_t) Load 41(doublev) - 242:39(float64_t) ExtInst 1(GLSL.std.450) 35(Modf) 241 41(doublev) - 243:39(float64_t) Load 41(doublev) - 244:39(float64_t) FAdd 243 242 + 243:242(ResType) ExtInst 1(GLSL.std.450) 36(ModfStruct) 241 + 244:39(float64_t) CompositeExtract 243 1 Store 41(doublev) 244 - 245: 43(f64vec2) Load 45(dvec2v) - 246: 43(f64vec2) ExtInst 1(GLSL.std.450) 35(Modf) 245 45(dvec2v) - 247: 43(f64vec2) Load 45(dvec2v) - 248: 43(f64vec2) FAdd 247 246 - Store 45(dvec2v) 248 - 249: 48(f64vec3) Load 50(dvec3v) - 250: 48(f64vec3) ExtInst 1(GLSL.std.450) 35(Modf) 249 50(dvec3v) - 251: 48(f64vec3) Load 50(dvec3v) - 252: 48(f64vec3) FAdd 251 250 - Store 50(dvec3v) 252 - 253: 53(f64vec4) Load 55(dvec4v) - 254: 53(f64vec4) ExtInst 1(GLSL.std.450) 35(Modf) 253 55(dvec4v) - 255: 53(f64vec4) Load 55(dvec4v) - 256: 53(f64vec4) FAdd 255 254 - Store 55(dvec4v) 256 - 257:39(float64_t) Load 41(doublev) - 258:39(float64_t) Load 41(doublev) - 259:39(float64_t) ExtInst 1(GLSL.std.450) 79(NMin) 257 258 - 260:39(float64_t) Load 41(doublev) - 261:39(float64_t) FAdd 260 259 - Store 41(doublev) 261 - 262: 43(f64vec2) Load 45(dvec2v) - 263:39(float64_t) Load 41(doublev) - 264: 43(f64vec2) CompositeConstruct 263 263 - 265: 43(f64vec2) ExtInst 1(GLSL.std.450) 79(NMin) 262 264 - 266: 43(f64vec2) Load 45(dvec2v) - 267: 43(f64vec2) FAdd 266 265 - Store 45(dvec2v) 267 - 268: 48(f64vec3) Load 50(dvec3v) + 245:39(float64_t) CompositeExtract 243 0 + 246:39(float64_t) Load 41(doublev) + 247:39(float64_t) FAdd 246 245 + Store 41(doublev) 247 + 248: 43(f64vec2) Load 45(dvec2v) + 250:249(ResType) ExtInst 1(GLSL.std.450) 36(ModfStruct) 248 + 251: 43(f64vec2) CompositeExtract 250 1 + Store 45(dvec2v) 251 + 252: 43(f64vec2) CompositeExtract 250 0 + 253: 43(f64vec2) Load 45(dvec2v) + 254: 43(f64vec2) FAdd 253 252 + Store 45(dvec2v) 254 + 255: 48(f64vec3) Load 50(dvec3v) + 257:256(ResType) ExtInst 1(GLSL.std.450) 36(ModfStruct) 255 + 258: 48(f64vec3) CompositeExtract 257 1 + Store 50(dvec3v) 258 + 259: 48(f64vec3) CompositeExtract 257 0 + 260: 48(f64vec3) Load 50(dvec3v) + 261: 48(f64vec3) FAdd 260 259 + Store 50(dvec3v) 261 + 262: 53(f64vec4) Load 55(dvec4v) + 264:263(ResType) ExtInst 1(GLSL.std.450) 36(ModfStruct) 262 + 265: 53(f64vec4) CompositeExtract 264 1 + Store 55(dvec4v) 265 + 266: 53(f64vec4) CompositeExtract 264 0 + 267: 53(f64vec4) Load 55(dvec4v) + 268: 53(f64vec4) FAdd 267 266 + Store 55(dvec4v) 268 269:39(float64_t) Load 41(doublev) - 270: 48(f64vec3) CompositeConstruct 269 269 269 - 271: 48(f64vec3) ExtInst 1(GLSL.std.450) 79(NMin) 268 270 - 272: 48(f64vec3) Load 50(dvec3v) - 273: 48(f64vec3) FAdd 272 271 - Store 50(dvec3v) 273 - 274: 53(f64vec4) Load 55(dvec4v) + 270:39(float64_t) Load 41(doublev) + 271:39(float64_t) ExtInst 1(GLSL.std.450) 79(NMin) 269 270 + 272:39(float64_t) Load 41(doublev) + 273:39(float64_t) FAdd 272 271 + Store 41(doublev) 273 + 274: 43(f64vec2) Load 45(dvec2v) 275:39(float64_t) Load 41(doublev) - 276: 53(f64vec4) CompositeConstruct 275 275 275 275 - 277: 53(f64vec4) ExtInst 1(GLSL.std.450) 79(NMin) 274 276 - 278: 53(f64vec4) Load 55(dvec4v) - 279: 53(f64vec4) FAdd 278 277 - Store 55(dvec4v) 279 - 280: 43(f64vec2) Load 45(dvec2v) - 281: 43(f64vec2) Load 45(dvec2v) - 282: 43(f64vec2) ExtInst 1(GLSL.std.450) 79(NMin) 280 281 - 283: 43(f64vec2) Load 45(dvec2v) - 284: 43(f64vec2) FAdd 283 282 - Store 45(dvec2v) 284 - 285: 48(f64vec3) Load 50(dvec3v) - 286: 48(f64vec3) Load 50(dvec3v) - 287: 48(f64vec3) ExtInst 1(GLSL.std.450) 79(NMin) 285 286 - 288: 48(f64vec3) Load 50(dvec3v) - 289: 48(f64vec3) FAdd 288 287 - Store 50(dvec3v) 289 + 276: 43(f64vec2) CompositeConstruct 275 275 + 277: 43(f64vec2) ExtInst 1(GLSL.std.450) 79(NMin) 274 276 + 278: 43(f64vec2) Load 45(dvec2v) + 279: 43(f64vec2) FAdd 278 277 + Store 45(dvec2v) 279 + 280: 48(f64vec3) Load 50(dvec3v) + 281:39(float64_t) Load 41(doublev) + 282: 48(f64vec3) CompositeConstruct 281 281 281 + 283: 48(f64vec3) ExtInst 1(GLSL.std.450) 79(NMin) 280 282 + 284: 48(f64vec3) Load 50(dvec3v) + 285: 48(f64vec3) FAdd 284 283 + Store 50(dvec3v) 285 + 286: 53(f64vec4) Load 55(dvec4v) + 287:39(float64_t) Load 41(doublev) + 288: 53(f64vec4) CompositeConstruct 287 287 287 287 + 289: 53(f64vec4) ExtInst 1(GLSL.std.450) 79(NMin) 286 288 290: 53(f64vec4) Load 55(dvec4v) - 291: 53(f64vec4) Load 55(dvec4v) - 292: 53(f64vec4) ExtInst 1(GLSL.std.450) 79(NMin) 290 291 - 293: 53(f64vec4) Load 55(dvec4v) - 294: 53(f64vec4) FAdd 293 292 - Store 55(dvec4v) 294 - 295:39(float64_t) Load 41(doublev) - 296:39(float64_t) Load 41(doublev) - 297:39(float64_t) ExtInst 1(GLSL.std.450) 80(NMax) 295 296 - 298:39(float64_t) Load 41(doublev) - 299:39(float64_t) FAdd 298 297 - Store 41(doublev) 299 - 300: 43(f64vec2) Load 45(dvec2v) - 301:39(float64_t) Load 41(doublev) - 302: 43(f64vec2) CompositeConstruct 301 301 - 303: 43(f64vec2) ExtInst 1(GLSL.std.450) 80(NMax) 300 302 - 304: 43(f64vec2) Load 45(dvec2v) - 305: 43(f64vec2) FAdd 304 303 - Store 45(dvec2v) 305 - 306: 48(f64vec3) Load 50(dvec3v) + 291: 53(f64vec4) FAdd 290 289 + Store 55(dvec4v) 291 + 292: 43(f64vec2) Load 45(dvec2v) + 293: 43(f64vec2) Load 45(dvec2v) + 294: 43(f64vec2) ExtInst 1(GLSL.std.450) 79(NMin) 292 293 + 295: 43(f64vec2) Load 45(dvec2v) + 296: 43(f64vec2) FAdd 295 294 + Store 45(dvec2v) 296 + 297: 48(f64vec3) Load 50(dvec3v) + 298: 48(f64vec3) Load 50(dvec3v) + 299: 48(f64vec3) ExtInst 1(GLSL.std.450) 79(NMin) 297 298 + 300: 48(f64vec3) Load 50(dvec3v) + 301: 48(f64vec3) FAdd 300 299 + Store 50(dvec3v) 301 + 302: 53(f64vec4) Load 55(dvec4v) + 303: 53(f64vec4) Load 55(dvec4v) + 304: 53(f64vec4) ExtInst 1(GLSL.std.450) 79(NMin) 302 303 + 305: 53(f64vec4) Load 55(dvec4v) + 306: 53(f64vec4) FAdd 305 304 + Store 55(dvec4v) 306 307:39(float64_t) Load 41(doublev) - 308: 48(f64vec3) CompositeConstruct 307 307 307 - 309: 48(f64vec3) ExtInst 1(GLSL.std.450) 80(NMax) 306 308 - 310: 48(f64vec3) Load 50(dvec3v) - 311: 48(f64vec3) FAdd 310 309 - Store 50(dvec3v) 311 - 312: 53(f64vec4) Load 55(dvec4v) + 308:39(float64_t) Load 41(doublev) + 309:39(float64_t) ExtInst 1(GLSL.std.450) 80(NMax) 307 308 + 310:39(float64_t) Load 41(doublev) + 311:39(float64_t) FAdd 310 309 + Store 41(doublev) 311 + 312: 43(f64vec2) Load 45(dvec2v) 313:39(float64_t) Load 41(doublev) - 314: 53(f64vec4) CompositeConstruct 313 313 313 313 - 315: 53(f64vec4) ExtInst 1(GLSL.std.450) 80(NMax) 312 314 - 316: 53(f64vec4) Load 55(dvec4v) - 317: 53(f64vec4) FAdd 316 315 - Store 55(dvec4v) 317 - 318: 43(f64vec2) Load 45(dvec2v) - 319: 43(f64vec2) Load 45(dvec2v) - 320: 43(f64vec2) ExtInst 1(GLSL.std.450) 80(NMax) 318 319 - 321: 43(f64vec2) Load 45(dvec2v) - 322: 43(f64vec2) FAdd 321 320 - Store 45(dvec2v) 322 - 323: 48(f64vec3) Load 50(dvec3v) - 324: 48(f64vec3) Load 50(dvec3v) - 325: 48(f64vec3) ExtInst 1(GLSL.std.450) 80(NMax) 323 324 - 326: 48(f64vec3) Load 50(dvec3v) - 327: 48(f64vec3) FAdd 326 325 - Store 50(dvec3v) 327 + 314: 43(f64vec2) CompositeConstruct 313 313 + 315: 43(f64vec2) ExtInst 1(GLSL.std.450) 80(NMax) 312 314 + 316: 43(f64vec2) Load 45(dvec2v) + 317: 43(f64vec2) FAdd 316 315 + Store 45(dvec2v) 317 + 318: 48(f64vec3) Load 50(dvec3v) + 319:39(float64_t) Load 41(doublev) + 320: 48(f64vec3) CompositeConstruct 319 319 319 + 321: 48(f64vec3) ExtInst 1(GLSL.std.450) 80(NMax) 318 320 + 322: 48(f64vec3) Load 50(dvec3v) + 323: 48(f64vec3) FAdd 322 321 + Store 50(dvec3v) 323 + 324: 53(f64vec4) Load 55(dvec4v) + 325:39(float64_t) Load 41(doublev) + 326: 53(f64vec4) CompositeConstruct 325 325 325 325 + 327: 53(f64vec4) ExtInst 1(GLSL.std.450) 80(NMax) 324 326 328: 53(f64vec4) Load 55(dvec4v) - 329: 53(f64vec4) Load 55(dvec4v) - 330: 53(f64vec4) ExtInst 1(GLSL.std.450) 80(NMax) 328 329 - 331: 53(f64vec4) Load 55(dvec4v) - 332: 53(f64vec4) FAdd 331 330 - Store 55(dvec4v) 332 - 333:39(float64_t) Load 41(doublev) - 334:39(float64_t) Load 41(doublev) - 335:39(float64_t) Load 41(doublev) - 336:39(float64_t) ExtInst 1(GLSL.std.450) 81(NClamp) 333 334 335 - 337:39(float64_t) Load 41(doublev) - 338:39(float64_t) FAdd 337 336 - Store 41(doublev) 338 - 339: 43(f64vec2) Load 45(dvec2v) - 340:39(float64_t) Load 41(doublev) - 341:39(float64_t) Load 41(doublev) - 342: 43(f64vec2) CompositeConstruct 340 340 - 343: 43(f64vec2) CompositeConstruct 341 341 - 344: 43(f64vec2) ExtInst 1(GLSL.std.450) 81(NClamp) 339 342 343 - 345: 43(f64vec2) Load 45(dvec2v) - 346: 43(f64vec2) FAdd 345 344 - Store 45(dvec2v) 346 - 347: 48(f64vec3) Load 50(dvec3v) - 348:39(float64_t) Load 41(doublev) + 329: 53(f64vec4) FAdd 328 327 + Store 55(dvec4v) 329 + 330: 43(f64vec2) Load 45(dvec2v) + 331: 43(f64vec2) Load 45(dvec2v) + 332: 43(f64vec2) ExtInst 1(GLSL.std.450) 80(NMax) 330 331 + 333: 43(f64vec2) Load 45(dvec2v) + 334: 43(f64vec2) FAdd 333 332 + Store 45(dvec2v) 334 + 335: 48(f64vec3) Load 50(dvec3v) + 336: 48(f64vec3) Load 50(dvec3v) + 337: 48(f64vec3) ExtInst 1(GLSL.std.450) 80(NMax) 335 336 + 338: 48(f64vec3) Load 50(dvec3v) + 339: 48(f64vec3) FAdd 338 337 + Store 50(dvec3v) 339 + 340: 53(f64vec4) Load 55(dvec4v) + 341: 53(f64vec4) Load 55(dvec4v) + 342: 53(f64vec4) ExtInst 1(GLSL.std.450) 80(NMax) 340 341 + 343: 53(f64vec4) Load 55(dvec4v) + 344: 53(f64vec4) FAdd 343 342 + Store 55(dvec4v) 344 + 345:39(float64_t) Load 41(doublev) + 346:39(float64_t) Load 41(doublev) + 347:39(float64_t) Load 41(doublev) + 348:39(float64_t) ExtInst 1(GLSL.std.450) 81(NClamp) 345 346 347 349:39(float64_t) Load 41(doublev) - 350: 48(f64vec3) CompositeConstruct 348 348 348 - 351: 48(f64vec3) CompositeConstruct 349 349 349 - 352: 48(f64vec3) ExtInst 1(GLSL.std.450) 81(NClamp) 347 350 351 - 353: 48(f64vec3) Load 50(dvec3v) - 354: 48(f64vec3) FAdd 353 352 - Store 50(dvec3v) 354 - 355: 53(f64vec4) Load 55(dvec4v) - 356:39(float64_t) Load 41(doublev) - 357:39(float64_t) Load 41(doublev) - 358: 53(f64vec4) CompositeConstruct 356 356 356 356 - 359: 53(f64vec4) CompositeConstruct 357 357 357 357 - 360: 53(f64vec4) ExtInst 1(GLSL.std.450) 81(NClamp) 355 358 359 - 361: 53(f64vec4) Load 55(dvec4v) - 362: 53(f64vec4) FAdd 361 360 - Store 55(dvec4v) 362 - 363: 43(f64vec2) Load 45(dvec2v) - 364: 43(f64vec2) Load 45(dvec2v) - 365: 43(f64vec2) Load 45(dvec2v) - 366: 43(f64vec2) ExtInst 1(GLSL.std.450) 81(NClamp) 363 364 365 - 367: 43(f64vec2) Load 45(dvec2v) - 368: 43(f64vec2) FAdd 367 366 - Store 45(dvec2v) 368 - 369: 48(f64vec3) Load 50(dvec3v) - 370: 48(f64vec3) Load 50(dvec3v) - 371: 48(f64vec3) Load 50(dvec3v) - 372: 48(f64vec3) ExtInst 1(GLSL.std.450) 81(NClamp) 369 370 371 - 373: 48(f64vec3) Load 50(dvec3v) - 374: 48(f64vec3) FAdd 373 372 - Store 50(dvec3v) 374 - 375: 53(f64vec4) Load 55(dvec4v) - 376: 53(f64vec4) Load 55(dvec4v) - 377: 53(f64vec4) Load 55(dvec4v) - 378: 53(f64vec4) ExtInst 1(GLSL.std.450) 81(NClamp) 375 376 377 - 379: 53(f64vec4) Load 55(dvec4v) - 380: 53(f64vec4) FAdd 379 378 - Store 55(dvec4v) 380 - 381:39(float64_t) Load 41(doublev) - 382:39(float64_t) Load 41(doublev) - 383:39(float64_t) Load 41(doublev) - 384:39(float64_t) ExtInst 1(GLSL.std.450) 46(FMix) 381 382 383 - 385:39(float64_t) Load 41(doublev) - 386:39(float64_t) FAdd 385 384 - Store 41(doublev) 386 - 387: 43(f64vec2) Load 45(dvec2v) - 388: 43(f64vec2) Load 45(dvec2v) - 389:39(float64_t) Load 41(doublev) - 390: 43(f64vec2) CompositeConstruct 389 389 - 391: 43(f64vec2) ExtInst 1(GLSL.std.450) 46(FMix) 387 388 390 - 392: 43(f64vec2) Load 45(dvec2v) - 393: 43(f64vec2) FAdd 392 391 - Store 45(dvec2v) 393 - 394: 48(f64vec3) Load 50(dvec3v) - 395: 48(f64vec3) Load 50(dvec3v) - 396:39(float64_t) Load 41(doublev) - 397: 48(f64vec3) CompositeConstruct 396 396 396 - 398: 48(f64vec3) ExtInst 1(GLSL.std.450) 46(FMix) 394 395 397 - 399: 48(f64vec3) Load 50(dvec3v) - 400: 48(f64vec3) FAdd 399 398 - Store 50(dvec3v) 400 - 401: 53(f64vec4) Load 55(dvec4v) - 402: 53(f64vec4) Load 55(dvec4v) - 403:39(float64_t) Load 41(doublev) - 404: 53(f64vec4) CompositeConstruct 403 403 403 403 - 405: 53(f64vec4) ExtInst 1(GLSL.std.450) 46(FMix) 401 402 404 - 406: 53(f64vec4) Load 55(dvec4v) - 407: 53(f64vec4) FAdd 406 405 - Store 55(dvec4v) 407 - 408: 43(f64vec2) Load 45(dvec2v) - 409: 43(f64vec2) Load 45(dvec2v) - 410: 43(f64vec2) Load 45(dvec2v) - 411: 43(f64vec2) ExtInst 1(GLSL.std.450) 46(FMix) 408 409 410 - 412: 43(f64vec2) Load 45(dvec2v) - 413: 43(f64vec2) FAdd 412 411 - Store 45(dvec2v) 413 - 414: 48(f64vec3) Load 50(dvec3v) - 415: 48(f64vec3) Load 50(dvec3v) - 416: 48(f64vec3) Load 50(dvec3v) - 417: 48(f64vec3) ExtInst 1(GLSL.std.450) 46(FMix) 414 415 416 - 418: 48(f64vec3) Load 50(dvec3v) - 419: 48(f64vec3) FAdd 418 417 - Store 50(dvec3v) 419 - 420: 53(f64vec4) Load 55(dvec4v) - 421: 53(f64vec4) Load 55(dvec4v) - 422: 53(f64vec4) Load 55(dvec4v) - 423: 53(f64vec4) ExtInst 1(GLSL.std.450) 46(FMix) 420 421 422 - 424: 53(f64vec4) Load 55(dvec4v) - 425: 53(f64vec4) FAdd 424 423 - Store 55(dvec4v) 425 - 426:39(float64_t) Load 41(doublev) - 427:39(float64_t) Load 41(doublev) - 431: 428(bool) Load 430(boolv) - 432:39(float64_t) Select 431 427 426 - 433:39(float64_t) Load 41(doublev) - 434:39(float64_t) FAdd 433 432 - Store 41(doublev) 434 - 435: 43(f64vec2) Load 45(dvec2v) - 436: 43(f64vec2) Load 45(dvec2v) - 440: 437(bvec2) Load 439(bvec2v) - 441: 43(f64vec2) Select 440 436 435 - 442: 43(f64vec2) Load 45(dvec2v) - 443: 43(f64vec2) FAdd 442 441 - Store 45(dvec2v) 443 - 444: 48(f64vec3) Load 50(dvec3v) - 445: 48(f64vec3) Load 50(dvec3v) - 449: 446(bvec3) Load 448(bvec3v) - 450: 48(f64vec3) Select 449 445 444 - 451: 48(f64vec3) Load 50(dvec3v) - 452: 48(f64vec3) FAdd 451 450 - Store 50(dvec3v) 452 - 453: 53(f64vec4) Load 55(dvec4v) - 454: 53(f64vec4) Load 55(dvec4v) - 458: 455(bvec4) Load 457(bvec4v) - 459: 53(f64vec4) Select 458 454 453 - 460: 53(f64vec4) Load 55(dvec4v) - 461: 53(f64vec4) FAdd 460 459 - Store 55(dvec4v) 461 - 462:39(float64_t) Load 41(doublev) - 463:39(float64_t) Load 41(doublev) - 464:39(float64_t) ExtInst 1(GLSL.std.450) 48(Step) 462 463 - 465:39(float64_t) Load 41(doublev) - 466:39(float64_t) FAdd 465 464 - Store 41(doublev) 466 - 467: 43(f64vec2) Load 45(dvec2v) - 468: 43(f64vec2) Load 45(dvec2v) - 469: 43(f64vec2) ExtInst 1(GLSL.std.450) 48(Step) 467 468 - 470: 43(f64vec2) Load 45(dvec2v) - 471: 43(f64vec2) FAdd 470 469 - Store 45(dvec2v) 471 - 472: 48(f64vec3) Load 50(dvec3v) - 473: 48(f64vec3) Load 50(dvec3v) - 474: 48(f64vec3) ExtInst 1(GLSL.std.450) 48(Step) 472 473 - 475: 48(f64vec3) Load 50(dvec3v) - 476: 48(f64vec3) FAdd 475 474 - Store 50(dvec3v) 476 - 477: 53(f64vec4) Load 55(dvec4v) - 478: 53(f64vec4) Load 55(dvec4v) - 479: 53(f64vec4) ExtInst 1(GLSL.std.450) 48(Step) 477 478 - 480: 53(f64vec4) Load 55(dvec4v) - 481: 53(f64vec4) FAdd 480 479 - Store 55(dvec4v) 481 - 482:39(float64_t) Load 41(doublev) - 483: 43(f64vec2) Load 45(dvec2v) - 484: 43(f64vec2) CompositeConstruct 482 482 - 485: 43(f64vec2) ExtInst 1(GLSL.std.450) 48(Step) 484 483 - 486: 43(f64vec2) Load 45(dvec2v) - 487: 43(f64vec2) FAdd 486 485 - Store 45(dvec2v) 487 - 488:39(float64_t) Load 41(doublev) - 489: 48(f64vec3) Load 50(dvec3v) - 490: 48(f64vec3) CompositeConstruct 488 488 488 - 491: 48(f64vec3) ExtInst 1(GLSL.std.450) 48(Step) 490 489 - 492: 48(f64vec3) Load 50(dvec3v) - 493: 48(f64vec3) FAdd 492 491 - Store 50(dvec3v) 493 + 350:39(float64_t) FAdd 349 348 + Store 41(doublev) 350 + 351: 43(f64vec2) Load 45(dvec2v) + 352:39(float64_t) Load 41(doublev) + 353:39(float64_t) Load 41(doublev) + 354: 43(f64vec2) CompositeConstruct 352 352 + 355: 43(f64vec2) CompositeConstruct 353 353 + 356: 43(f64vec2) ExtInst 1(GLSL.std.450) 81(NClamp) 351 354 355 + 357: 43(f64vec2) Load 45(dvec2v) + 358: 43(f64vec2) FAdd 357 356 + Store 45(dvec2v) 358 + 359: 48(f64vec3) Load 50(dvec3v) + 360:39(float64_t) Load 41(doublev) + 361:39(float64_t) Load 41(doublev) + 362: 48(f64vec3) CompositeConstruct 360 360 360 + 363: 48(f64vec3) CompositeConstruct 361 361 361 + 364: 48(f64vec3) ExtInst 1(GLSL.std.450) 81(NClamp) 359 362 363 + 365: 48(f64vec3) Load 50(dvec3v) + 366: 48(f64vec3) FAdd 365 364 + Store 50(dvec3v) 366 + 367: 53(f64vec4) Load 55(dvec4v) + 368:39(float64_t) Load 41(doublev) + 369:39(float64_t) Load 41(doublev) + 370: 53(f64vec4) CompositeConstruct 368 368 368 368 + 371: 53(f64vec4) CompositeConstruct 369 369 369 369 + 372: 53(f64vec4) ExtInst 1(GLSL.std.450) 81(NClamp) 367 370 371 + 373: 53(f64vec4) Load 55(dvec4v) + 374: 53(f64vec4) FAdd 373 372 + Store 55(dvec4v) 374 + 375: 43(f64vec2) Load 45(dvec2v) + 376: 43(f64vec2) Load 45(dvec2v) + 377: 43(f64vec2) Load 45(dvec2v) + 378: 43(f64vec2) ExtInst 1(GLSL.std.450) 81(NClamp) 375 376 377 + 379: 43(f64vec2) Load 45(dvec2v) + 380: 43(f64vec2) FAdd 379 378 + Store 45(dvec2v) 380 + 381: 48(f64vec3) Load 50(dvec3v) + 382: 48(f64vec3) Load 50(dvec3v) + 383: 48(f64vec3) Load 50(dvec3v) + 384: 48(f64vec3) ExtInst 1(GLSL.std.450) 81(NClamp) 381 382 383 + 385: 48(f64vec3) Load 50(dvec3v) + 386: 48(f64vec3) FAdd 385 384 + Store 50(dvec3v) 386 + 387: 53(f64vec4) Load 55(dvec4v) + 388: 53(f64vec4) Load 55(dvec4v) + 389: 53(f64vec4) Load 55(dvec4v) + 390: 53(f64vec4) ExtInst 1(GLSL.std.450) 81(NClamp) 387 388 389 + 391: 53(f64vec4) Load 55(dvec4v) + 392: 53(f64vec4) FAdd 391 390 + Store 55(dvec4v) 392 + 393:39(float64_t) Load 41(doublev) + 394:39(float64_t) Load 41(doublev) + 395:39(float64_t) Load 41(doublev) + 396:39(float64_t) ExtInst 1(GLSL.std.450) 46(FMix) 393 394 395 + 397:39(float64_t) Load 41(doublev) + 398:39(float64_t) FAdd 397 396 + Store 41(doublev) 398 + 399: 43(f64vec2) Load 45(dvec2v) + 400: 43(f64vec2) Load 45(dvec2v) + 401:39(float64_t) Load 41(doublev) + 402: 43(f64vec2) CompositeConstruct 401 401 + 403: 43(f64vec2) ExtInst 1(GLSL.std.450) 46(FMix) 399 400 402 + 404: 43(f64vec2) Load 45(dvec2v) + 405: 43(f64vec2) FAdd 404 403 + Store 45(dvec2v) 405 + 406: 48(f64vec3) Load 50(dvec3v) + 407: 48(f64vec3) Load 50(dvec3v) + 408:39(float64_t) Load 41(doublev) + 409: 48(f64vec3) CompositeConstruct 408 408 408 + 410: 48(f64vec3) ExtInst 1(GLSL.std.450) 46(FMix) 406 407 409 + 411: 48(f64vec3) Load 50(dvec3v) + 412: 48(f64vec3) FAdd 411 410 + Store 50(dvec3v) 412 + 413: 53(f64vec4) Load 55(dvec4v) + 414: 53(f64vec4) Load 55(dvec4v) + 415:39(float64_t) Load 41(doublev) + 416: 53(f64vec4) CompositeConstruct 415 415 415 415 + 417: 53(f64vec4) ExtInst 1(GLSL.std.450) 46(FMix) 413 414 416 + 418: 53(f64vec4) Load 55(dvec4v) + 419: 53(f64vec4) FAdd 418 417 + Store 55(dvec4v) 419 + 420: 43(f64vec2) Load 45(dvec2v) + 421: 43(f64vec2) Load 45(dvec2v) + 422: 43(f64vec2) Load 45(dvec2v) + 423: 43(f64vec2) ExtInst 1(GLSL.std.450) 46(FMix) 420 421 422 + 424: 43(f64vec2) Load 45(dvec2v) + 425: 43(f64vec2) FAdd 424 423 + Store 45(dvec2v) 425 + 426: 48(f64vec3) Load 50(dvec3v) + 427: 48(f64vec3) Load 50(dvec3v) + 428: 48(f64vec3) Load 50(dvec3v) + 429: 48(f64vec3) ExtInst 1(GLSL.std.450) 46(FMix) 426 427 428 + 430: 48(f64vec3) Load 50(dvec3v) + 431: 48(f64vec3) FAdd 430 429 + Store 50(dvec3v) 431 + 432: 53(f64vec4) Load 55(dvec4v) + 433: 53(f64vec4) Load 55(dvec4v) + 434: 53(f64vec4) Load 55(dvec4v) + 435: 53(f64vec4) ExtInst 1(GLSL.std.450) 46(FMix) 432 433 434 + 436: 53(f64vec4) Load 55(dvec4v) + 437: 53(f64vec4) FAdd 436 435 + Store 55(dvec4v) 437 + 438:39(float64_t) Load 41(doublev) + 439:39(float64_t) Load 41(doublev) + 443: 440(bool) Load 442(boolv) + 444:39(float64_t) Select 443 439 438 + 445:39(float64_t) Load 41(doublev) + 446:39(float64_t) FAdd 445 444 + Store 41(doublev) 446 + 447: 43(f64vec2) Load 45(dvec2v) + 448: 43(f64vec2) Load 45(dvec2v) + 452: 449(bvec2) Load 451(bvec2v) + 453: 43(f64vec2) Select 452 448 447 + 454: 43(f64vec2) Load 45(dvec2v) + 455: 43(f64vec2) FAdd 454 453 + Store 45(dvec2v) 455 + 456: 48(f64vec3) Load 50(dvec3v) + 457: 48(f64vec3) Load 50(dvec3v) + 461: 458(bvec3) Load 460(bvec3v) + 462: 48(f64vec3) Select 461 457 456 + 463: 48(f64vec3) Load 50(dvec3v) + 464: 48(f64vec3) FAdd 463 462 + Store 50(dvec3v) 464 + 465: 53(f64vec4) Load 55(dvec4v) + 466: 53(f64vec4) Load 55(dvec4v) + 470: 467(bvec4) Load 469(bvec4v) + 471: 53(f64vec4) Select 470 466 465 + 472: 53(f64vec4) Load 55(dvec4v) + 473: 53(f64vec4) FAdd 472 471 + Store 55(dvec4v) 473 + 474:39(float64_t) Load 41(doublev) + 475:39(float64_t) Load 41(doublev) + 476:39(float64_t) ExtInst 1(GLSL.std.450) 48(Step) 474 475 + 477:39(float64_t) Load 41(doublev) + 478:39(float64_t) FAdd 477 476 + Store 41(doublev) 478 + 479: 43(f64vec2) Load 45(dvec2v) + 480: 43(f64vec2) Load 45(dvec2v) + 481: 43(f64vec2) ExtInst 1(GLSL.std.450) 48(Step) 479 480 + 482: 43(f64vec2) Load 45(dvec2v) + 483: 43(f64vec2) FAdd 482 481 + Store 45(dvec2v) 483 + 484: 48(f64vec3) Load 50(dvec3v) + 485: 48(f64vec3) Load 50(dvec3v) + 486: 48(f64vec3) ExtInst 1(GLSL.std.450) 48(Step) 484 485 + 487: 48(f64vec3) Load 50(dvec3v) + 488: 48(f64vec3) FAdd 487 486 + Store 50(dvec3v) 488 + 489: 53(f64vec4) Load 55(dvec4v) + 490: 53(f64vec4) Load 55(dvec4v) + 491: 53(f64vec4) ExtInst 1(GLSL.std.450) 48(Step) 489 490 + 492: 53(f64vec4) Load 55(dvec4v) + 493: 53(f64vec4) FAdd 492 491 + Store 55(dvec4v) 493 494:39(float64_t) Load 41(doublev) - 495: 53(f64vec4) Load 55(dvec4v) - 496: 53(f64vec4) CompositeConstruct 494 494 494 494 - 497: 53(f64vec4) ExtInst 1(GLSL.std.450) 48(Step) 496 495 - 498: 53(f64vec4) Load 55(dvec4v) - 499: 53(f64vec4) FAdd 498 497 - Store 55(dvec4v) 499 + 495: 43(f64vec2) Load 45(dvec2v) + 496: 43(f64vec2) CompositeConstruct 494 494 + 497: 43(f64vec2) ExtInst 1(GLSL.std.450) 48(Step) 496 495 + 498: 43(f64vec2) Load 45(dvec2v) + 499: 43(f64vec2) FAdd 498 497 + Store 45(dvec2v) 499 500:39(float64_t) Load 41(doublev) - 501:39(float64_t) Load 41(doublev) - 502:39(float64_t) Load 41(doublev) - 503:39(float64_t) ExtInst 1(GLSL.std.450) 49(SmoothStep) 500 501 502 - 504:39(float64_t) Load 41(doublev) - 505:39(float64_t) FAdd 504 503 - Store 41(doublev) 505 - 506: 43(f64vec2) Load 45(dvec2v) - 507: 43(f64vec2) Load 45(dvec2v) - 508: 43(f64vec2) Load 45(dvec2v) - 509: 43(f64vec2) ExtInst 1(GLSL.std.450) 49(SmoothStep) 506 507 508 - 510: 43(f64vec2) Load 45(dvec2v) - 511: 43(f64vec2) FAdd 510 509 - Store 45(dvec2v) 511 - 512: 48(f64vec3) Load 50(dvec3v) - 513: 48(f64vec3) Load 50(dvec3v) - 514: 48(f64vec3) Load 50(dvec3v) - 515: 48(f64vec3) ExtInst 1(GLSL.std.450) 49(SmoothStep) 512 513 514 - 516: 48(f64vec3) Load 50(dvec3v) - 517: 48(f64vec3) FAdd 516 515 - Store 50(dvec3v) 517 - 518: 53(f64vec4) Load 55(dvec4v) - 519: 53(f64vec4) Load 55(dvec4v) - 520: 53(f64vec4) Load 55(dvec4v) - 521: 53(f64vec4) ExtInst 1(GLSL.std.450) 49(SmoothStep) 518 519 520 - 522: 53(f64vec4) Load 55(dvec4v) - 523: 53(f64vec4) FAdd 522 521 - Store 55(dvec4v) 523 - 524:39(float64_t) Load 41(doublev) - 525:39(float64_t) Load 41(doublev) - 526: 43(f64vec2) Load 45(dvec2v) - 527: 43(f64vec2) CompositeConstruct 524 524 - 528: 43(f64vec2) CompositeConstruct 525 525 - 529: 43(f64vec2) ExtInst 1(GLSL.std.450) 49(SmoothStep) 527 528 526 - 530: 43(f64vec2) Load 45(dvec2v) - 531: 43(f64vec2) FAdd 530 529 - Store 45(dvec2v) 531 - 532:39(float64_t) Load 41(doublev) - 533:39(float64_t) Load 41(doublev) - 534: 48(f64vec3) Load 50(dvec3v) - 535: 48(f64vec3) CompositeConstruct 532 532 532 - 536: 48(f64vec3) CompositeConstruct 533 533 533 - 537: 48(f64vec3) ExtInst 1(GLSL.std.450) 49(SmoothStep) 535 536 534 - 538: 48(f64vec3) Load 50(dvec3v) - 539: 48(f64vec3) FAdd 538 537 - Store 50(dvec3v) 539 - 540:39(float64_t) Load 41(doublev) - 541:39(float64_t) Load 41(doublev) - 542: 53(f64vec4) Load 55(dvec4v) - 543: 53(f64vec4) CompositeConstruct 540 540 540 540 - 544: 53(f64vec4) CompositeConstruct 541 541 541 541 - 545: 53(f64vec4) ExtInst 1(GLSL.std.450) 49(SmoothStep) 543 544 542 - 546: 53(f64vec4) Load 55(dvec4v) - 547: 53(f64vec4) FAdd 546 545 - Store 55(dvec4v) 547 - 548:39(float64_t) Load 41(doublev) - 549: 428(bool) IsNan 548 - Store 430(boolv) 549 - 550: 43(f64vec2) Load 45(dvec2v) - 551: 437(bvec2) IsNan 550 - Store 439(bvec2v) 551 - 552: 48(f64vec3) Load 50(dvec3v) - 553: 446(bvec3) IsNan 552 - Store 448(bvec3v) 553 + 501: 48(f64vec3) Load 50(dvec3v) + 502: 48(f64vec3) CompositeConstruct 500 500 500 + 503: 48(f64vec3) ExtInst 1(GLSL.std.450) 48(Step) 502 501 + 504: 48(f64vec3) Load 50(dvec3v) + 505: 48(f64vec3) FAdd 504 503 + Store 50(dvec3v) 505 + 506:39(float64_t) Load 41(doublev) + 507: 53(f64vec4) Load 55(dvec4v) + 508: 53(f64vec4) CompositeConstruct 506 506 506 506 + 509: 53(f64vec4) ExtInst 1(GLSL.std.450) 48(Step) 508 507 + 510: 53(f64vec4) Load 55(dvec4v) + 511: 53(f64vec4) FAdd 510 509 + Store 55(dvec4v) 511 + 512:39(float64_t) Load 41(doublev) + 513:39(float64_t) Load 41(doublev) + 514:39(float64_t) Load 41(doublev) + 515:39(float64_t) ExtInst 1(GLSL.std.450) 49(SmoothStep) 512 513 514 + 516:39(float64_t) Load 41(doublev) + 517:39(float64_t) FAdd 516 515 + Store 41(doublev) 517 + 518: 43(f64vec2) Load 45(dvec2v) + 519: 43(f64vec2) Load 45(dvec2v) + 520: 43(f64vec2) Load 45(dvec2v) + 521: 43(f64vec2) ExtInst 1(GLSL.std.450) 49(SmoothStep) 518 519 520 + 522: 43(f64vec2) Load 45(dvec2v) + 523: 43(f64vec2) FAdd 522 521 + Store 45(dvec2v) 523 + 524: 48(f64vec3) Load 50(dvec3v) + 525: 48(f64vec3) Load 50(dvec3v) + 526: 48(f64vec3) Load 50(dvec3v) + 527: 48(f64vec3) ExtInst 1(GLSL.std.450) 49(SmoothStep) 524 525 526 + 528: 48(f64vec3) Load 50(dvec3v) + 529: 48(f64vec3) FAdd 528 527 + Store 50(dvec3v) 529 + 530: 53(f64vec4) Load 55(dvec4v) + 531: 53(f64vec4) Load 55(dvec4v) + 532: 53(f64vec4) Load 55(dvec4v) + 533: 53(f64vec4) ExtInst 1(GLSL.std.450) 49(SmoothStep) 530 531 532 + 534: 53(f64vec4) Load 55(dvec4v) + 535: 53(f64vec4) FAdd 534 533 + Store 55(dvec4v) 535 + 536:39(float64_t) Load 41(doublev) + 537:39(float64_t) Load 41(doublev) + 538: 43(f64vec2) Load 45(dvec2v) + 539: 43(f64vec2) CompositeConstruct 536 536 + 540: 43(f64vec2) CompositeConstruct 537 537 + 541: 43(f64vec2) ExtInst 1(GLSL.std.450) 49(SmoothStep) 539 540 538 + 542: 43(f64vec2) Load 45(dvec2v) + 543: 43(f64vec2) FAdd 542 541 + Store 45(dvec2v) 543 + 544:39(float64_t) Load 41(doublev) + 545:39(float64_t) Load 41(doublev) + 546: 48(f64vec3) Load 50(dvec3v) + 547: 48(f64vec3) CompositeConstruct 544 544 544 + 548: 48(f64vec3) CompositeConstruct 545 545 545 + 549: 48(f64vec3) ExtInst 1(GLSL.std.450) 49(SmoothStep) 547 548 546 + 550: 48(f64vec3) Load 50(dvec3v) + 551: 48(f64vec3) FAdd 550 549 + Store 50(dvec3v) 551 + 552:39(float64_t) Load 41(doublev) + 553:39(float64_t) Load 41(doublev) 554: 53(f64vec4) Load 55(dvec4v) - 555: 455(bvec4) IsNan 554 - Store 457(bvec4v) 555 - 556: 428(bool) Load 430(boolv) - SelectionMerge 559 None - BranchConditional 556 558 562 - 558: Label - 560:39(float64_t) Load 41(doublev) - 561: 428(bool) IsInf 560 - Store 557 561 - Branch 559 - 562: Label - Store 557 563 - Branch 559 - 559: Label - 564: 428(bool) Load 557 - Store 430(boolv) 564 - 565: 428(bool) Load 430(boolv) - SelectionMerge 568 None - BranchConditional 565 567 571 - 567: Label - 569: 43(f64vec2) Load 45(dvec2v) - 570: 437(bvec2) IsInf 569 - Store 566 570 - Branch 568 - 571: Label - Store 566 572 - Branch 568 - 568: Label - 573: 437(bvec2) Load 566 - Store 439(bvec2v) 573 - 574: 428(bool) Load 430(boolv) - SelectionMerge 577 None - BranchConditional 574 576 580 - 576: Label - 578: 48(f64vec3) Load 50(dvec3v) - 579: 446(bvec3) IsInf 578 - Store 575 579 - Branch 577 - 580: Label - Store 575 581 - Branch 577 - 577: Label - 582: 446(bvec3) Load 575 - Store 448(bvec3v) 582 - 583: 428(bool) Load 430(boolv) - SelectionMerge 586 None - BranchConditional 583 585 589 - 585: Label - 587: 53(f64vec4) Load 55(dvec4v) - 588: 455(bvec4) IsInf 587 - Store 584 588 - Branch 586 - 589: Label - Store 584 590 - Branch 586 - 586: Label - 591: 455(bvec4) Load 584 - Store 457(bvec4v) 591 - 592:39(float64_t) Load 41(doublev) - 593:39(float64_t) ExtInst 1(GLSL.std.450) 66(Length) 592 - 594:39(float64_t) Load 41(doublev) - 595:39(float64_t) FAdd 594 593 - Store 41(doublev) 595 - 596: 43(f64vec2) Load 45(dvec2v) - 597:39(float64_t) ExtInst 1(GLSL.std.450) 66(Length) 596 - 598:39(float64_t) Load 41(doublev) - 599:39(float64_t) FAdd 598 597 - Store 41(doublev) 599 - 600: 48(f64vec3) Load 50(dvec3v) - 601:39(float64_t) ExtInst 1(GLSL.std.450) 66(Length) 600 - 602:39(float64_t) Load 41(doublev) - 603:39(float64_t) FAdd 602 601 - Store 41(doublev) 603 - 604: 53(f64vec4) Load 55(dvec4v) + 555: 53(f64vec4) CompositeConstruct 552 552 552 552 + 556: 53(f64vec4) CompositeConstruct 553 553 553 553 + 557: 53(f64vec4) ExtInst 1(GLSL.std.450) 49(SmoothStep) 555 556 554 + 558: 53(f64vec4) Load 55(dvec4v) + 559: 53(f64vec4) FAdd 558 557 + Store 55(dvec4v) 559 + 560:39(float64_t) Load 41(doublev) + 561: 440(bool) IsNan 560 + Store 442(boolv) 561 + 562: 43(f64vec2) Load 45(dvec2v) + 563: 449(bvec2) IsNan 562 + Store 451(bvec2v) 563 + 564: 48(f64vec3) Load 50(dvec3v) + 565: 458(bvec3) IsNan 564 + Store 460(bvec3v) 565 + 566: 53(f64vec4) Load 55(dvec4v) + 567: 467(bvec4) IsNan 566 + Store 469(bvec4v) 567 + 568: 440(bool) Load 442(boolv) + SelectionMerge 571 None + BranchConditional 568 570 574 + 570: Label + 572:39(float64_t) Load 41(doublev) + 573: 440(bool) IsInf 572 + Store 569 573 + Branch 571 + 574: Label + Store 569 575 + Branch 571 + 571: Label + 576: 440(bool) Load 569 + Store 442(boolv) 576 + 577: 440(bool) Load 442(boolv) + SelectionMerge 580 None + BranchConditional 577 579 583 + 579: Label + 581: 43(f64vec2) Load 45(dvec2v) + 582: 449(bvec2) IsInf 581 + Store 578 582 + Branch 580 + 583: Label + Store 578 584 + Branch 580 + 580: Label + 585: 449(bvec2) Load 578 + Store 451(bvec2v) 585 + 586: 440(bool) Load 442(boolv) + SelectionMerge 589 None + BranchConditional 586 588 592 + 588: Label + 590: 48(f64vec3) Load 50(dvec3v) + 591: 458(bvec3) IsInf 590 + Store 587 591 + Branch 589 + 592: Label + Store 587 593 + Branch 589 + 589: Label + 594: 458(bvec3) Load 587 + Store 460(bvec3v) 594 + 595: 440(bool) Load 442(boolv) + SelectionMerge 598 None + BranchConditional 595 597 601 + 597: Label + 599: 53(f64vec4) Load 55(dvec4v) + 600: 467(bvec4) IsInf 599 + Store 596 600 + Branch 598 + 601: Label + Store 596 602 + Branch 598 + 598: Label + 603: 467(bvec4) Load 596 + Store 469(bvec4v) 603 + 604:39(float64_t) Load 41(doublev) 605:39(float64_t) ExtInst 1(GLSL.std.450) 66(Length) 604 606:39(float64_t) Load 41(doublev) 607:39(float64_t) FAdd 606 605 Store 41(doublev) 607 - 608:39(float64_t) Load 41(doublev) - 609:39(float64_t) Load 41(doublev) - 610:39(float64_t) ExtInst 1(GLSL.std.450) 67(Distance) 608 609 - 611:39(float64_t) Load 41(doublev) - 612:39(float64_t) FAdd 611 610 - Store 41(doublev) 612 - 613: 43(f64vec2) Load 45(dvec2v) - 614: 43(f64vec2) Load 45(dvec2v) - 615:39(float64_t) ExtInst 1(GLSL.std.450) 67(Distance) 613 614 - 616:39(float64_t) Load 41(doublev) - 617:39(float64_t) FAdd 616 615 - Store 41(doublev) 617 - 618: 48(f64vec3) Load 50(dvec3v) - 619: 48(f64vec3) Load 50(dvec3v) - 620:39(float64_t) ExtInst 1(GLSL.std.450) 67(Distance) 618 619 + 608: 43(f64vec2) Load 45(dvec2v) + 609:39(float64_t) ExtInst 1(GLSL.std.450) 66(Length) 608 + 610:39(float64_t) Load 41(doublev) + 611:39(float64_t) FAdd 610 609 + Store 41(doublev) 611 + 612: 48(f64vec3) Load 50(dvec3v) + 613:39(float64_t) ExtInst 1(GLSL.std.450) 66(Length) 612 + 614:39(float64_t) Load 41(doublev) + 615:39(float64_t) FAdd 614 613 + Store 41(doublev) 615 + 616: 53(f64vec4) Load 55(dvec4v) + 617:39(float64_t) ExtInst 1(GLSL.std.450) 66(Length) 616 + 618:39(float64_t) Load 41(doublev) + 619:39(float64_t) FAdd 618 617 + Store 41(doublev) 619 + 620:39(float64_t) Load 41(doublev) 621:39(float64_t) Load 41(doublev) - 622:39(float64_t) FAdd 621 620 - Store 41(doublev) 622 - 623: 53(f64vec4) Load 55(dvec4v) - 624: 53(f64vec4) Load 55(dvec4v) - 625:39(float64_t) ExtInst 1(GLSL.std.450) 67(Distance) 623 624 - 626:39(float64_t) Load 41(doublev) - 627:39(float64_t) FAdd 626 625 - Store 41(doublev) 627 + 622:39(float64_t) ExtInst 1(GLSL.std.450) 67(Distance) 620 621 + 623:39(float64_t) Load 41(doublev) + 624:39(float64_t) FAdd 623 622 + Store 41(doublev) 624 + 625: 43(f64vec2) Load 45(dvec2v) + 626: 43(f64vec2) Load 45(dvec2v) + 627:39(float64_t) ExtInst 1(GLSL.std.450) 67(Distance) 625 626 628:39(float64_t) Load 41(doublev) - 629:39(float64_t) Load 41(doublev) - 630:39(float64_t) FMul 628 629 - 631:39(float64_t) Load 41(doublev) - 632:39(float64_t) FAdd 631 630 - Store 41(doublev) 632 - 633: 43(f64vec2) Load 45(dvec2v) - 634: 43(f64vec2) Load 45(dvec2v) - 635:39(float64_t) Dot 633 634 - 636:39(float64_t) Load 41(doublev) - 637:39(float64_t) FAdd 636 635 - Store 41(doublev) 637 - 638: 48(f64vec3) Load 50(dvec3v) - 639: 48(f64vec3) Load 50(dvec3v) - 640:39(float64_t) Dot 638 639 + 629:39(float64_t) FAdd 628 627 + Store 41(doublev) 629 + 630: 48(f64vec3) Load 50(dvec3v) + 631: 48(f64vec3) Load 50(dvec3v) + 632:39(float64_t) ExtInst 1(GLSL.std.450) 67(Distance) 630 631 + 633:39(float64_t) Load 41(doublev) + 634:39(float64_t) FAdd 633 632 + Store 41(doublev) 634 + 635: 53(f64vec4) Load 55(dvec4v) + 636: 53(f64vec4) Load 55(dvec4v) + 637:39(float64_t) ExtInst 1(GLSL.std.450) 67(Distance) 635 636 + 638:39(float64_t) Load 41(doublev) + 639:39(float64_t) FAdd 638 637 + Store 41(doublev) 639 + 640:39(float64_t) Load 41(doublev) 641:39(float64_t) Load 41(doublev) - 642:39(float64_t) FAdd 641 640 - Store 41(doublev) 642 - 643: 53(f64vec4) Load 55(dvec4v) - 644: 53(f64vec4) Load 55(dvec4v) - 645:39(float64_t) Dot 643 644 - 646:39(float64_t) Load 41(doublev) - 647:39(float64_t) FAdd 646 645 - Store 41(doublev) 647 - 648: 48(f64vec3) Load 50(dvec3v) - 649: 48(f64vec3) Load 50(dvec3v) - 650: 48(f64vec3) ExtInst 1(GLSL.std.450) 68(Cross) 648 649 + 642:39(float64_t) FMul 640 641 + 643:39(float64_t) Load 41(doublev) + 644:39(float64_t) FAdd 643 642 + Store 41(doublev) 644 + 645: 43(f64vec2) Load 45(dvec2v) + 646: 43(f64vec2) Load 45(dvec2v) + 647:39(float64_t) Dot 645 646 + 648:39(float64_t) Load 41(doublev) + 649:39(float64_t) FAdd 648 647 + Store 41(doublev) 649 + 650: 48(f64vec3) Load 50(dvec3v) 651: 48(f64vec3) Load 50(dvec3v) - 652: 48(f64vec3) FAdd 651 650 - Store 50(dvec3v) 652 + 652:39(float64_t) Dot 650 651 653:39(float64_t) Load 41(doublev) - 654:39(float64_t) ExtInst 1(GLSL.std.450) 69(Normalize) 653 - 655:39(float64_t) Load 41(doublev) - 656:39(float64_t) FAdd 655 654 - Store 41(doublev) 656 - 657: 43(f64vec2) Load 45(dvec2v) - 658: 43(f64vec2) ExtInst 1(GLSL.std.450) 69(Normalize) 657 - 659: 43(f64vec2) Load 45(dvec2v) - 660: 43(f64vec2) FAdd 659 658 - Store 45(dvec2v) 660 + 654:39(float64_t) FAdd 653 652 + Store 41(doublev) 654 + 655: 53(f64vec4) Load 55(dvec4v) + 656: 53(f64vec4) Load 55(dvec4v) + 657:39(float64_t) Dot 655 656 + 658:39(float64_t) Load 41(doublev) + 659:39(float64_t) FAdd 658 657 + Store 41(doublev) 659 + 660: 48(f64vec3) Load 50(dvec3v) 661: 48(f64vec3) Load 50(dvec3v) - 662: 48(f64vec3) ExtInst 1(GLSL.std.450) 69(Normalize) 661 + 662: 48(f64vec3) ExtInst 1(GLSL.std.450) 68(Cross) 660 661 663: 48(f64vec3) Load 50(dvec3v) 664: 48(f64vec3) FAdd 663 662 Store 50(dvec3v) 664 - 665: 53(f64vec4) Load 55(dvec4v) - 666: 53(f64vec4) ExtInst 1(GLSL.std.450) 69(Normalize) 665 - 667: 53(f64vec4) Load 55(dvec4v) - 668: 53(f64vec4) FAdd 667 666 - Store 55(dvec4v) 668 - 669:39(float64_t) Load 41(doublev) - 670:39(float64_t) Load 41(doublev) - 671:39(float64_t) Load 41(doublev) - 672:39(float64_t) ExtInst 1(GLSL.std.450) 70(FaceForward) 669 670 671 - 673:39(float64_t) Load 41(doublev) - 674:39(float64_t) FAdd 673 672 - Store 41(doublev) 674 - 675: 43(f64vec2) Load 45(dvec2v) - 676: 43(f64vec2) Load 45(dvec2v) - 677: 43(f64vec2) Load 45(dvec2v) - 678: 43(f64vec2) ExtInst 1(GLSL.std.450) 70(FaceForward) 675 676 677 - 679: 43(f64vec2) Load 45(dvec2v) - 680: 43(f64vec2) FAdd 679 678 - Store 45(dvec2v) 680 - 681: 48(f64vec3) Load 50(dvec3v) - 682: 48(f64vec3) Load 50(dvec3v) - 683: 48(f64vec3) Load 50(dvec3v) - 684: 48(f64vec3) ExtInst 1(GLSL.std.450) 70(FaceForward) 681 682 683 - 685: 48(f64vec3) Load 50(dvec3v) - 686: 48(f64vec3) FAdd 685 684 - Store 50(dvec3v) 686 - 687: 53(f64vec4) Load 55(dvec4v) - 688: 53(f64vec4) Load 55(dvec4v) - 689: 53(f64vec4) Load 55(dvec4v) - 690: 53(f64vec4) ExtInst 1(GLSL.std.450) 70(FaceForward) 687 688 689 - 691: 53(f64vec4) Load 55(dvec4v) - 692: 53(f64vec4) FAdd 691 690 - Store 55(dvec4v) 692 - 693:39(float64_t) Load 41(doublev) - 694:39(float64_t) Load 41(doublev) - 695:39(float64_t) ExtInst 1(GLSL.std.450) 71(Reflect) 693 694 - 696:39(float64_t) Load 41(doublev) - 697:39(float64_t) FAdd 696 695 - Store 41(doublev) 697 - 698: 43(f64vec2) Load 45(dvec2v) - 699: 43(f64vec2) Load 45(dvec2v) - 700: 43(f64vec2) ExtInst 1(GLSL.std.450) 71(Reflect) 698 699 - 701: 43(f64vec2) Load 45(dvec2v) - 702: 43(f64vec2) FAdd 701 700 - Store 45(dvec2v) 702 - 703: 48(f64vec3) Load 50(dvec3v) - 704: 48(f64vec3) Load 50(dvec3v) - 705: 48(f64vec3) ExtInst 1(GLSL.std.450) 71(Reflect) 703 704 - 706: 48(f64vec3) Load 50(dvec3v) - 707: 48(f64vec3) FAdd 706 705 - Store 50(dvec3v) 707 - 708: 53(f64vec4) Load 55(dvec4v) - 709: 53(f64vec4) Load 55(dvec4v) - 710: 53(f64vec4) ExtInst 1(GLSL.std.450) 71(Reflect) 708 709 - 711: 53(f64vec4) Load 55(dvec4v) - 712: 53(f64vec4) FAdd 711 710 - Store 55(dvec4v) 712 - 713:39(float64_t) Load 41(doublev) - 714:39(float64_t) Load 41(doublev) - 715:39(float64_t) Load 41(doublev) - 716:39(float64_t) ExtInst 1(GLSL.std.450) 72(Refract) 713 714 715 - 717:39(float64_t) Load 41(doublev) - 718:39(float64_t) FAdd 717 716 - Store 41(doublev) 718 - 719: 43(f64vec2) Load 45(dvec2v) - 720: 43(f64vec2) Load 45(dvec2v) - 721:39(float64_t) Load 41(doublev) - 722: 43(f64vec2) ExtInst 1(GLSL.std.450) 72(Refract) 719 720 721 - 723: 43(f64vec2) Load 45(dvec2v) - 724: 43(f64vec2) FAdd 723 722 - Store 45(dvec2v) 724 - 725: 48(f64vec3) Load 50(dvec3v) - 726: 48(f64vec3) Load 50(dvec3v) + 665:39(float64_t) Load 41(doublev) + 666:39(float64_t) ExtInst 1(GLSL.std.450) 69(Normalize) 665 + 667:39(float64_t) Load 41(doublev) + 668:39(float64_t) FAdd 667 666 + Store 41(doublev) 668 + 669: 43(f64vec2) Load 45(dvec2v) + 670: 43(f64vec2) ExtInst 1(GLSL.std.450) 69(Normalize) 669 + 671: 43(f64vec2) Load 45(dvec2v) + 672: 43(f64vec2) FAdd 671 670 + Store 45(dvec2v) 672 + 673: 48(f64vec3) Load 50(dvec3v) + 674: 48(f64vec3) ExtInst 1(GLSL.std.450) 69(Normalize) 673 + 675: 48(f64vec3) Load 50(dvec3v) + 676: 48(f64vec3) FAdd 675 674 + Store 50(dvec3v) 676 + 677: 53(f64vec4) Load 55(dvec4v) + 678: 53(f64vec4) ExtInst 1(GLSL.std.450) 69(Normalize) 677 + 679: 53(f64vec4) Load 55(dvec4v) + 680: 53(f64vec4) FAdd 679 678 + Store 55(dvec4v) 680 + 681:39(float64_t) Load 41(doublev) + 682:39(float64_t) Load 41(doublev) + 683:39(float64_t) Load 41(doublev) + 684:39(float64_t) ExtInst 1(GLSL.std.450) 70(FaceForward) 681 682 683 + 685:39(float64_t) Load 41(doublev) + 686:39(float64_t) FAdd 685 684 + Store 41(doublev) 686 + 687: 43(f64vec2) Load 45(dvec2v) + 688: 43(f64vec2) Load 45(dvec2v) + 689: 43(f64vec2) Load 45(dvec2v) + 690: 43(f64vec2) ExtInst 1(GLSL.std.450) 70(FaceForward) 687 688 689 + 691: 43(f64vec2) Load 45(dvec2v) + 692: 43(f64vec2) FAdd 691 690 + Store 45(dvec2v) 692 + 693: 48(f64vec3) Load 50(dvec3v) + 694: 48(f64vec3) Load 50(dvec3v) + 695: 48(f64vec3) Load 50(dvec3v) + 696: 48(f64vec3) ExtInst 1(GLSL.std.450) 70(FaceForward) 693 694 695 + 697: 48(f64vec3) Load 50(dvec3v) + 698: 48(f64vec3) FAdd 697 696 + Store 50(dvec3v) 698 + 699: 53(f64vec4) Load 55(dvec4v) + 700: 53(f64vec4) Load 55(dvec4v) + 701: 53(f64vec4) Load 55(dvec4v) + 702: 53(f64vec4) ExtInst 1(GLSL.std.450) 70(FaceForward) 699 700 701 + 703: 53(f64vec4) Load 55(dvec4v) + 704: 53(f64vec4) FAdd 703 702 + Store 55(dvec4v) 704 + 705:39(float64_t) Load 41(doublev) + 706:39(float64_t) Load 41(doublev) + 707:39(float64_t) ExtInst 1(GLSL.std.450) 71(Reflect) 705 706 + 708:39(float64_t) Load 41(doublev) + 709:39(float64_t) FAdd 708 707 + Store 41(doublev) 709 + 710: 43(f64vec2) Load 45(dvec2v) + 711: 43(f64vec2) Load 45(dvec2v) + 712: 43(f64vec2) ExtInst 1(GLSL.std.450) 71(Reflect) 710 711 + 713: 43(f64vec2) Load 45(dvec2v) + 714: 43(f64vec2) FAdd 713 712 + Store 45(dvec2v) 714 + 715: 48(f64vec3) Load 50(dvec3v) + 716: 48(f64vec3) Load 50(dvec3v) + 717: 48(f64vec3) ExtInst 1(GLSL.std.450) 71(Reflect) 715 716 + 718: 48(f64vec3) Load 50(dvec3v) + 719: 48(f64vec3) FAdd 718 717 + Store 50(dvec3v) 719 + 720: 53(f64vec4) Load 55(dvec4v) + 721: 53(f64vec4) Load 55(dvec4v) + 722: 53(f64vec4) ExtInst 1(GLSL.std.450) 71(Reflect) 720 721 + 723: 53(f64vec4) Load 55(dvec4v) + 724: 53(f64vec4) FAdd 723 722 + Store 55(dvec4v) 724 + 725:39(float64_t) Load 41(doublev) + 726:39(float64_t) Load 41(doublev) 727:39(float64_t) Load 41(doublev) - 728: 48(f64vec3) ExtInst 1(GLSL.std.450) 72(Refract) 725 726 727 - 729: 48(f64vec3) Load 50(dvec3v) - 730: 48(f64vec3) FAdd 729 728 - Store 50(dvec3v) 730 - 731: 53(f64vec4) Load 55(dvec4v) - 732: 53(f64vec4) Load 55(dvec4v) + 728:39(float64_t) ExtInst 1(GLSL.std.450) 72(Refract) 725 726 727 + 729:39(float64_t) Load 41(doublev) + 730:39(float64_t) FAdd 729 728 + Store 41(doublev) 730 + 731: 43(f64vec2) Load 45(dvec2v) + 732: 43(f64vec2) Load 45(dvec2v) 733:39(float64_t) Load 41(doublev) - 734: 53(f64vec4) ExtInst 1(GLSL.std.450) 72(Refract) 731 732 733 - 735: 53(f64vec4) Load 55(dvec4v) - 736: 53(f64vec4) FAdd 735 734 - Store 55(dvec4v) 736 - 740: 43(f64vec2) Load 45(dvec2v) - 741: 43(f64vec2) Load 45(dvec2v) - 742: 737 OuterProduct 740 741 - Store 739(dmat2v) 742 - 746: 48(f64vec3) Load 50(dvec3v) - 747: 48(f64vec3) Load 50(dvec3v) - 748: 743 OuterProduct 746 747 - Store 745(dmat3v) 748 - 752: 53(f64vec4) Load 55(dvec4v) - 753: 53(f64vec4) Load 55(dvec4v) + 734: 43(f64vec2) ExtInst 1(GLSL.std.450) 72(Refract) 731 732 733 + 735: 43(f64vec2) Load 45(dvec2v) + 736: 43(f64vec2) FAdd 735 734 + Store 45(dvec2v) 736 + 737: 48(f64vec3) Load 50(dvec3v) + 738: 48(f64vec3) Load 50(dvec3v) + 739:39(float64_t) Load 41(doublev) + 740: 48(f64vec3) ExtInst 1(GLSL.std.450) 72(Refract) 737 738 739 + 741: 48(f64vec3) Load 50(dvec3v) + 742: 48(f64vec3) FAdd 741 740 + Store 50(dvec3v) 742 + 743: 53(f64vec4) Load 55(dvec4v) + 744: 53(f64vec4) Load 55(dvec4v) + 745:39(float64_t) Load 41(doublev) + 746: 53(f64vec4) ExtInst 1(GLSL.std.450) 72(Refract) 743 744 745 + 747: 53(f64vec4) Load 55(dvec4v) + 748: 53(f64vec4) FAdd 747 746 + Store 55(dvec4v) 748 + 752: 43(f64vec2) Load 45(dvec2v) + 753: 43(f64vec2) Load 45(dvec2v) 754: 749 OuterProduct 752 753 - Store 751(dmat4v) 754 + Store 751(dmat2v) 754 758: 48(f64vec3) Load 50(dvec3v) - 759: 43(f64vec2) Load 45(dvec2v) + 759: 48(f64vec3) Load 50(dvec3v) 760: 755 OuterProduct 758 759 - Store 757(dmat2x3v) 760 - 764: 43(f64vec2) Load 45(dvec2v) - 765: 48(f64vec3) Load 50(dvec3v) + Store 757(dmat3v) 760 + 764: 53(f64vec4) Load 55(dvec4v) + 765: 53(f64vec4) Load 55(dvec4v) 766: 761 OuterProduct 764 765 - Store 763(dmat3x2v) 766 - 770: 53(f64vec4) Load 55(dvec4v) + Store 763(dmat4v) 766 + 770: 48(f64vec3) Load 50(dvec3v) 771: 43(f64vec2) Load 45(dvec2v) 772: 767 OuterProduct 770 771 - Store 769(dmat2x4v) 772 + Store 769(dmat2x3v) 772 776: 43(f64vec2) Load 45(dvec2v) - 777: 53(f64vec4) Load 55(dvec4v) + 777: 48(f64vec3) Load 50(dvec3v) 778: 773 OuterProduct 776 777 - Store 775(dmat4x2v) 778 + Store 775(dmat3x2v) 778 782: 53(f64vec4) Load 55(dvec4v) - 783: 48(f64vec3) Load 50(dvec3v) + 783: 43(f64vec2) Load 45(dvec2v) 784: 779 OuterProduct 782 783 - Store 781(dmat3x4v) 784 - 788: 48(f64vec3) Load 50(dvec3v) + Store 781(dmat2x4v) 784 + 788: 43(f64vec2) Load 45(dvec2v) 789: 53(f64vec4) Load 55(dvec4v) 790: 785 OuterProduct 788 789 - Store 787(dmat4x3v) 790 - 791: 737 Load 739(dmat2v) - 792: 737 Load 739(dmat2v) - 793: 43(f64vec2) CompositeExtract 791 0 - 794: 43(f64vec2) CompositeExtract 792 0 - 795: 43(f64vec2) FMul 793 794 - 796: 43(f64vec2) CompositeExtract 791 1 - 797: 43(f64vec2) CompositeExtract 792 1 - 798: 43(f64vec2) 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(f64vec3) CompositeExtract 802 0 - 805: 48(f64vec3) CompositeExtract 803 0 - 806: 48(f64vec3) FMul 804 805 - 807: 48(f64vec3) CompositeExtract 802 1 - 808: 48(f64vec3) CompositeExtract 803 1 - 809: 48(f64vec3) FMul 807 808 - 810: 48(f64vec3) CompositeExtract 802 2 - 811: 48(f64vec3) CompositeExtract 803 2 - 812: 48(f64vec3) 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(f64vec4) CompositeExtract 816 0 - 819: 53(f64vec4) CompositeExtract 817 0 - 820: 53(f64vec4) FMul 818 819 - 821: 53(f64vec4) CompositeExtract 816 1 - 822: 53(f64vec4) CompositeExtract 817 1 - 823: 53(f64vec4) FMul 821 822 - 824: 53(f64vec4) CompositeExtract 816 2 - 825: 53(f64vec4) CompositeExtract 817 2 - 826: 53(f64vec4) FMul 824 825 - 827: 53(f64vec4) CompositeExtract 816 3 - 828: 53(f64vec4) CompositeExtract 817 3 - 829: 53(f64vec4) 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(f64vec3) CompositeExtract 833 0 - 836: 48(f64vec3) CompositeExtract 834 0 - 837: 48(f64vec3) FMul 835 836 - 838: 48(f64vec3) CompositeExtract 833 1 - 839: 48(f64vec3) CompositeExtract 834 1 - 840: 48(f64vec3) FMul 838 839 - 841: 755 CompositeConstruct 837 840 - Store 757(dmat2x3v) 841 - 842: 767 Load 769(dmat2x4v) - 843: 767 Load 769(dmat2x4v) - 844: 53(f64vec4) CompositeExtract 842 0 - 845: 53(f64vec4) CompositeExtract 843 0 - 846: 53(f64vec4) FMul 844 845 - 847: 53(f64vec4) CompositeExtract 842 1 - 848: 53(f64vec4) CompositeExtract 843 1 - 849: 53(f64vec4) FMul 847 848 - 850: 767 CompositeConstruct 846 849 - Store 769(dmat2x4v) 850 - 851: 761 Load 763(dmat3x2v) - 852: 761 Load 763(dmat3x2v) - 853: 43(f64vec2) CompositeExtract 851 0 - 854: 43(f64vec2) CompositeExtract 852 0 - 855: 43(f64vec2) FMul 853 854 - 856: 43(f64vec2) CompositeExtract 851 1 - 857: 43(f64vec2) CompositeExtract 852 1 - 858: 43(f64vec2) FMul 856 857 - 859: 43(f64vec2) CompositeExtract 851 2 - 860: 43(f64vec2) CompositeExtract 852 2 - 861: 43(f64vec2) 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(f64vec4) CompositeExtract 863 0 - 866: 53(f64vec4) CompositeExtract 864 0 - 867: 53(f64vec4) FMul 865 866 - 868: 53(f64vec4) CompositeExtract 863 1 - 869: 53(f64vec4) CompositeExtract 864 1 - 870: 53(f64vec4) FMul 868 869 - 871: 53(f64vec4) CompositeExtract 863 2 - 872: 53(f64vec4) CompositeExtract 864 2 - 873: 53(f64vec4) 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(f64vec2) CompositeExtract 875 0 - 878: 43(f64vec2) CompositeExtract 876 0 - 879: 43(f64vec2) FMul 877 878 - 880: 43(f64vec2) CompositeExtract 875 1 - 881: 43(f64vec2) CompositeExtract 876 1 - 882: 43(f64vec2) FMul 880 881 - 883: 43(f64vec2) CompositeExtract 875 2 - 884: 43(f64vec2) CompositeExtract 876 2 - 885: 43(f64vec2) FMul 883 884 - 886: 43(f64vec2) CompositeExtract 875 3 - 887: 43(f64vec2) CompositeExtract 876 3 - 888: 43(f64vec2) 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(f64vec3) CompositeExtract 890 0 - 893: 48(f64vec3) CompositeExtract 891 0 - 894: 48(f64vec3) FMul 892 893 - 895: 48(f64vec3) CompositeExtract 890 1 - 896: 48(f64vec3) CompositeExtract 891 1 - 897: 48(f64vec3) FMul 895 896 - 898: 48(f64vec3) CompositeExtract 890 2 - 899: 48(f64vec3) CompositeExtract 891 2 - 900: 48(f64vec3) FMul 898 899 - 901: 48(f64vec3) CompositeExtract 890 3 - 902: 48(f64vec3) CompositeExtract 891 3 - 903: 48(f64vec3) 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(float64_t) ExtInst 1(GLSL.std.450) 33(Determinant) 929 - 931:39(float64_t) Load 41(doublev) - 932:39(float64_t) FAdd 931 930 - Store 41(doublev) 932 - 933: 743 Load 745(dmat3v) - 934:39(float64_t) ExtInst 1(GLSL.std.450) 33(Determinant) 933 - 935:39(float64_t) Load 41(doublev) - 936:39(float64_t) FAdd 935 934 - Store 41(doublev) 936 - 937: 749 Load 751(dmat4v) - 938:39(float64_t) ExtInst 1(GLSL.std.450) 33(Determinant) 937 - 939:39(float64_t) Load 41(doublev) - 940:39(float64_t) 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(float64_t) Load 41(doublev) - 955: 40(ptr) AccessChain 45(dvec2v) 954 - 956:39(float64_t) Load 955 - 957:39(float64_t) FAdd 953 956 - 959: 40(ptr) AccessChain 50(dvec3v) 958 - 960:39(float64_t) Load 959 - 961:39(float64_t) FAdd 957 960 - 963: 40(ptr) AccessChain 55(dvec4v) 962 - 964:39(float64_t) Load 963 - 965:39(float64_t) FAdd 961 964 - 967: 40(ptr) AccessChain 739(dmat2v) 966 954 + Store 787(dmat4x2v) 790 + 794: 53(f64vec4) Load 55(dvec4v) + 795: 48(f64vec3) Load 50(dvec3v) + 796: 791 OuterProduct 794 795 + Store 793(dmat3x4v) 796 + 800: 48(f64vec3) Load 50(dvec3v) + 801: 53(f64vec4) Load 55(dvec4v) + 802: 797 OuterProduct 800 801 + Store 799(dmat4x3v) 802 + 803: 749 Load 751(dmat2v) + 804: 749 Load 751(dmat2v) + 805: 43(f64vec2) CompositeExtract 803 0 + 806: 43(f64vec2) CompositeExtract 804 0 + 807: 43(f64vec2) FMul 805 806 + 808: 43(f64vec2) CompositeExtract 803 1 + 809: 43(f64vec2) CompositeExtract 804 1 + 810: 43(f64vec2) FMul 808 809 + 811: 749 CompositeConstruct 807 810 + 812: 749 Load 751(dmat2v) + 813: 749 MatrixTimesMatrix 812 811 + Store 751(dmat2v) 813 + 814: 755 Load 757(dmat3v) + 815: 755 Load 757(dmat3v) + 816: 48(f64vec3) CompositeExtract 814 0 + 817: 48(f64vec3) CompositeExtract 815 0 + 818: 48(f64vec3) FMul 816 817 + 819: 48(f64vec3) CompositeExtract 814 1 + 820: 48(f64vec3) CompositeExtract 815 1 + 821: 48(f64vec3) FMul 819 820 + 822: 48(f64vec3) CompositeExtract 814 2 + 823: 48(f64vec3) CompositeExtract 815 2 + 824: 48(f64vec3) FMul 822 823 + 825: 755 CompositeConstruct 818 821 824 + 826: 755 Load 757(dmat3v) + 827: 755 MatrixTimesMatrix 826 825 + Store 757(dmat3v) 827 + 828: 761 Load 763(dmat4v) + 829: 761 Load 763(dmat4v) + 830: 53(f64vec4) CompositeExtract 828 0 + 831: 53(f64vec4) CompositeExtract 829 0 + 832: 53(f64vec4) FMul 830 831 + 833: 53(f64vec4) CompositeExtract 828 1 + 834: 53(f64vec4) CompositeExtract 829 1 + 835: 53(f64vec4) FMul 833 834 + 836: 53(f64vec4) CompositeExtract 828 2 + 837: 53(f64vec4) CompositeExtract 829 2 + 838: 53(f64vec4) FMul 836 837 + 839: 53(f64vec4) CompositeExtract 828 3 + 840: 53(f64vec4) CompositeExtract 829 3 + 841: 53(f64vec4) FMul 839 840 + 842: 761 CompositeConstruct 832 835 838 841 + 843: 761 Load 763(dmat4v) + 844: 761 MatrixTimesMatrix 843 842 + Store 763(dmat4v) 844 + 845: 767 Load 769(dmat2x3v) + 846: 767 Load 769(dmat2x3v) + 847: 48(f64vec3) CompositeExtract 845 0 + 848: 48(f64vec3) CompositeExtract 846 0 + 849: 48(f64vec3) FMul 847 848 + 850: 48(f64vec3) CompositeExtract 845 1 + 851: 48(f64vec3) CompositeExtract 846 1 + 852: 48(f64vec3) FMul 850 851 + 853: 767 CompositeConstruct 849 852 + Store 769(dmat2x3v) 853 + 854: 779 Load 781(dmat2x4v) + 855: 779 Load 781(dmat2x4v) + 856: 53(f64vec4) CompositeExtract 854 0 + 857: 53(f64vec4) CompositeExtract 855 0 + 858: 53(f64vec4) FMul 856 857 + 859: 53(f64vec4) CompositeExtract 854 1 + 860: 53(f64vec4) CompositeExtract 855 1 + 861: 53(f64vec4) FMul 859 860 + 862: 779 CompositeConstruct 858 861 + Store 781(dmat2x4v) 862 + 863: 773 Load 775(dmat3x2v) + 864: 773 Load 775(dmat3x2v) + 865: 43(f64vec2) CompositeExtract 863 0 + 866: 43(f64vec2) CompositeExtract 864 0 + 867: 43(f64vec2) FMul 865 866 + 868: 43(f64vec2) CompositeExtract 863 1 + 869: 43(f64vec2) CompositeExtract 864 1 + 870: 43(f64vec2) FMul 868 869 + 871: 43(f64vec2) CompositeExtract 863 2 + 872: 43(f64vec2) CompositeExtract 864 2 + 873: 43(f64vec2) FMul 871 872 + 874: 773 CompositeConstruct 867 870 873 + Store 775(dmat3x2v) 874 + 875: 791 Load 793(dmat3x4v) + 876: 791 Load 793(dmat3x4v) + 877: 53(f64vec4) CompositeExtract 875 0 + 878: 53(f64vec4) CompositeExtract 876 0 + 879: 53(f64vec4) FMul 877 878 + 880: 53(f64vec4) CompositeExtract 875 1 + 881: 53(f64vec4) CompositeExtract 876 1 + 882: 53(f64vec4) FMul 880 881 + 883: 53(f64vec4) CompositeExtract 875 2 + 884: 53(f64vec4) CompositeExtract 876 2 + 885: 53(f64vec4) FMul 883 884 + 886: 791 CompositeConstruct 879 882 885 + Store 793(dmat3x4v) 886 + 887: 785 Load 787(dmat4x2v) + 888: 785 Load 787(dmat4x2v) + 889: 43(f64vec2) CompositeExtract 887 0 + 890: 43(f64vec2) CompositeExtract 888 0 + 891: 43(f64vec2) FMul 889 890 + 892: 43(f64vec2) CompositeExtract 887 1 + 893: 43(f64vec2) CompositeExtract 888 1 + 894: 43(f64vec2) FMul 892 893 + 895: 43(f64vec2) CompositeExtract 887 2 + 896: 43(f64vec2) CompositeExtract 888 2 + 897: 43(f64vec2) FMul 895 896 + 898: 43(f64vec2) CompositeExtract 887 3 + 899: 43(f64vec2) CompositeExtract 888 3 + 900: 43(f64vec2) FMul 898 899 + 901: 785 CompositeConstruct 891 894 897 900 + Store 787(dmat4x2v) 901 + 902: 797 Load 799(dmat4x3v) + 903: 797 Load 799(dmat4x3v) + 904: 48(f64vec3) CompositeExtract 902 0 + 905: 48(f64vec3) CompositeExtract 903 0 + 906: 48(f64vec3) FMul 904 905 + 907: 48(f64vec3) CompositeExtract 902 1 + 908: 48(f64vec3) CompositeExtract 903 1 + 909: 48(f64vec3) FMul 907 908 + 910: 48(f64vec3) CompositeExtract 902 2 + 911: 48(f64vec3) CompositeExtract 903 2 + 912: 48(f64vec3) FMul 910 911 + 913: 48(f64vec3) CompositeExtract 902 3 + 914: 48(f64vec3) CompositeExtract 903 3 + 915: 48(f64vec3) FMul 913 914 + 916: 797 CompositeConstruct 906 909 912 915 + Store 799(dmat4x3v) 916 + 917: 749 Load 751(dmat2v) + 918: 749 Transpose 917 + 919: 749 Load 751(dmat2v) + 920: 749 MatrixTimesMatrix 919 918 + Store 751(dmat2v) 920 + 921: 755 Load 757(dmat3v) + 922: 755 Transpose 921 + 923: 755 Load 757(dmat3v) + 924: 755 MatrixTimesMatrix 923 922 + Store 757(dmat3v) 924 + 925: 761 Load 763(dmat4v) + 926: 761 Transpose 925 + 927: 761 Load 763(dmat4v) + 928: 761 MatrixTimesMatrix 927 926 + Store 763(dmat4v) 928 + 929: 773 Load 775(dmat3x2v) + 930: 767 Transpose 929 + Store 769(dmat2x3v) 930 + 931: 767 Load 769(dmat2x3v) + 932: 773 Transpose 931 + Store 775(dmat3x2v) 932 + 933: 785 Load 787(dmat4x2v) + 934: 779 Transpose 933 + Store 781(dmat2x4v) 934 + 935: 779 Load 781(dmat2x4v) + 936: 785 Transpose 935 + Store 787(dmat4x2v) 936 + 937: 797 Load 799(dmat4x3v) + 938: 791 Transpose 937 + Store 793(dmat3x4v) 938 + 939: 791 Load 793(dmat3x4v) + 940: 797 Transpose 939 + Store 799(dmat4x3v) 940 + 941: 749 Load 751(dmat2v) + 942:39(float64_t) ExtInst 1(GLSL.std.450) 33(Determinant) 941 + 943:39(float64_t) Load 41(doublev) + 944:39(float64_t) FAdd 943 942 + Store 41(doublev) 944 + 945: 755 Load 757(dmat3v) + 946:39(float64_t) ExtInst 1(GLSL.std.450) 33(Determinant) 945 + 947:39(float64_t) Load 41(doublev) + 948:39(float64_t) FAdd 947 946 + Store 41(doublev) 948 + 949: 761 Load 763(dmat4v) + 950:39(float64_t) ExtInst 1(GLSL.std.450) 33(Determinant) 949 + 951:39(float64_t) Load 41(doublev) + 952:39(float64_t) FAdd 951 950 + Store 41(doublev) 952 + 953: 749 Load 751(dmat2v) + 954: 749 ExtInst 1(GLSL.std.450) 34(MatrixInverse) 953 + 955: 749 Load 751(dmat2v) + 956: 749 MatrixTimesMatrix 955 954 + Store 751(dmat2v) 956 + 957: 755 Load 757(dmat3v) + 958: 755 ExtInst 1(GLSL.std.450) 34(MatrixInverse) 957 + 959: 755 Load 757(dmat3v) + 960: 755 MatrixTimesMatrix 959 958 + Store 757(dmat3v) 960 + 961: 761 Load 763(dmat4v) + 962: 761 ExtInst 1(GLSL.std.450) 34(MatrixInverse) 961 + 963: 761 Load 763(dmat4v) + 964: 761 MatrixTimesMatrix 963 962 + Store 763(dmat4v) 964 + 965:39(float64_t) Load 41(doublev) + 967: 40(ptr) AccessChain 45(dvec2v) 966 968:39(float64_t) Load 967 969:39(float64_t) FAdd 965 968 - 971: 40(ptr) AccessChain 745(dmat3v) 970 958 + 971: 40(ptr) AccessChain 50(dvec3v) 970 972:39(float64_t) Load 971 973:39(float64_t) FAdd 969 972 - 974: 40(ptr) AccessChain 751(dmat4v) 25 962 - 975:39(float64_t) Load 974 - 976:39(float64_t) FAdd 973 975 - 977: 40(ptr) AccessChain 757(dmat2x3v) 966 954 - 978:39(float64_t) Load 977 - 979:39(float64_t) FAdd 976 978 - 980: 40(ptr) AccessChain 763(dmat3x2v) 966 954 - 981:39(float64_t) Load 980 - 982:39(float64_t) FAdd 979 981 - 983: 40(ptr) AccessChain 781(dmat3x4v) 970 958 + 975: 40(ptr) AccessChain 55(dvec4v) 974 + 976:39(float64_t) Load 975 + 977:39(float64_t) FAdd 973 976 + 979: 40(ptr) AccessChain 751(dmat2v) 978 966 + 980:39(float64_t) Load 979 + 981:39(float64_t) FAdd 977 980 + 983: 40(ptr) AccessChain 757(dmat3v) 982 970 984:39(float64_t) Load 983 - 985:39(float64_t) FAdd 982 984 - 986: 40(ptr) AccessChain 787(dmat4x3v) 970 958 + 985:39(float64_t) FAdd 981 984 + 986: 40(ptr) AccessChain 763(dmat4v) 25 974 987:39(float64_t) Load 986 988:39(float64_t) FAdd 985 987 - 989: 40(ptr) AccessChain 769(dmat2x4v) 966 954 + 989: 40(ptr) AccessChain 769(dmat2x3v) 978 966 990:39(float64_t) Load 989 991:39(float64_t) FAdd 988 990 - 992: 40(ptr) AccessChain 775(dmat4x2v) 966 954 + 992: 40(ptr) AccessChain 775(dmat3x2v) 978 966 993:39(float64_t) Load 992 994:39(float64_t) FAdd 991 993 - 995: 428(bool) Load 430(boolv) - 997: 10(float) Select 995 996 21 - 998:39(float64_t) FConvert 997 - 999:39(float64_t) FAdd 994 998 - 1000: 429(ptr) AccessChain 439(bvec2v) 33 - 1001: 428(bool) Load 1000 - 1002: 10(float) Select 1001 996 21 - 1003:39(float64_t) FConvert 1002 - 1004:39(float64_t) FAdd 999 1003 - 1005: 429(ptr) AccessChain 448(bvec3v) 33 - 1006: 428(bool) Load 1005 - 1007: 10(float) Select 1006 996 21 - 1008:39(float64_t) FConvert 1007 - 1009:39(float64_t) FAdd 1004 1008 - 1010: 429(ptr) AccessChain 457(bvec4v) 33 - 1011: 428(bool) Load 1010 - 1012: 10(float) Select 1011 996 21 - 1013:39(float64_t) FConvert 1012 - 1014:39(float64_t) FAdd 1009 1013 - 1015: 10(float) FConvert 1014 - 1016: 11(fvec4) Load 13(outp) - 1017: 11(fvec4) VectorTimesScalar 1016 1015 - Store 13(outp) 1017 + 995: 40(ptr) AccessChain 793(dmat3x4v) 982 970 + 996:39(float64_t) Load 995 + 997:39(float64_t) FAdd 994 996 + 998: 40(ptr) AccessChain 799(dmat4x3v) 982 970 + 999:39(float64_t) Load 998 + 1000:39(float64_t) FAdd 997 999 + 1001: 40(ptr) AccessChain 781(dmat2x4v) 978 966 + 1002:39(float64_t) Load 1001 + 1003:39(float64_t) FAdd 1000 1002 + 1004: 40(ptr) AccessChain 787(dmat4x2v) 978 966 + 1005:39(float64_t) Load 1004 + 1006:39(float64_t) FAdd 1003 1005 + 1007: 440(bool) Load 442(boolv) + 1009: 10(float) Select 1007 1008 21 + 1010:39(float64_t) FConvert 1009 + 1011:39(float64_t) FAdd 1006 1010 + 1012: 441(ptr) AccessChain 451(bvec2v) 33 + 1013: 440(bool) Load 1012 + 1014: 10(float) Select 1013 1008 21 + 1015:39(float64_t) FConvert 1014 + 1016:39(float64_t) FAdd 1011 1015 + 1017: 441(ptr) AccessChain 460(bvec3v) 33 + 1018: 440(bool) Load 1017 + 1019: 10(float) Select 1018 1008 21 + 1020:39(float64_t) FConvert 1019 + 1021:39(float64_t) FAdd 1016 1020 + 1022: 441(ptr) AccessChain 469(bvec4v) 33 + 1023: 440(bool) Load 1022 + 1024: 10(float) Select 1023 1008 21 + 1025:39(float64_t) FConvert 1024 + 1026:39(float64_t) FAdd 1021 1025 + 1027: 10(float) FConvert 1026 + 1028: 11(fvec4) Load 13(outp) + 1029: 11(fvec4) VectorTimesScalar 1028 1027 + Store 13(outp) 1029 Return FunctionEnd diff --git a/Test/baseResults/spv.400.frag.out b/Test/baseResults/spv.400.frag.out index b010d7da12..9beede2275 100644 --- a/Test/baseResults/spv.400.frag.out +++ b/Test/baseResults/spv.400.frag.out @@ -2,7 +2,7 @@ spv.400.frag Validation failed // Module Version 10000 // Generated by (magic number): 8000b -// Id's are bound by 1122 +// Id's are bound by 1134 Capability Shader Capability Geometry @@ -12,7 +12,7 @@ Validation failed Capability SampledRect 1: ExtInstImport "GLSL.std.450" MemoryModel Logical GLSL450 - EntryPoint Fragment 4 "main" 13 1027 1033 1038 1054 1080 1101 1103 1109 1111 1120 + EntryPoint Fragment 4 "main" 13 1039 1045 1050 1066 1092 1113 1115 1121 1123 1132 ExecutionMode 4 OriginUpperLeft Source GLSL 400 SourceExtension "GL_ARB_separate_shader_objects" @@ -25,56 +25,60 @@ Validation failed 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 1054 "uoutp" - Name 1058 "samp2dr" - Name 1080 "ioutp" - Name 1084 "isamp2DA" - Name 1101 "gl_FragCoord" - Name 1103 "vl2" - Name 1109 "uo" - Name 1111 "u" - Name 1119 "id" - Name 1120 "gl_PrimitiveID" + Name 242 "ResType" + Name 249 "ResType" + Name 256 "ResType" + Name 263 "ResType" + Name 442 "boolv" + Name 451 "bvec2v" + Name 460 "bvec3v" + Name 469 "bvec4v" + Name 751 "dmat2v" + Name 757 "dmat3v" + Name 763 "dmat4v" + Name 769 "dmat2x3v" + Name 775 "dmat3x2v" + Name 781 "dmat2x4v" + Name 787 "dmat4x2v" + Name 793 "dmat3x4v" + Name 799 "dmat4x3v" + Name 1031 "v" + Name 1037 "arrayedSampler" + Name 1039 "i" + Name 1045 "c2D" + Name 1050 "gl_ClipDistance" + Name 1066 "uoutp" + Name 1070 "samp2dr" + Name 1092 "ioutp" + Name 1096 "isamp2DA" + Name 1113 "gl_FragCoord" + Name 1115 "vl2" + Name 1121 "uo" + Name 1123 "u" + Name 1131 "id" + Name 1132 "gl_PrimitiveID" Decorate 13(outp) Location 1 Decorate 17(u2drs) Binding 3 Decorate 17(u2drs) DescriptorSet 0 - Decorate 1025(arrayedSampler) Binding 0 - Decorate 1025(arrayedSampler) DescriptorSet 0 - Decorate 1027(i) Flat - Decorate 1027(i) Location 1 - Decorate 1033(c2D) Location 0 - Decorate 1038(gl_ClipDistance) BuiltIn ClipDistance - Decorate 1054(uoutp) Location 3 - Decorate 1058(samp2dr) Binding 1 - Decorate 1058(samp2dr) DescriptorSet 0 - Decorate 1080(ioutp) Location 2 - Decorate 1084(isamp2DA) Binding 2 - Decorate 1084(isamp2DA) DescriptorSet 0 - Decorate 1101(gl_FragCoord) BuiltIn FragCoord - Decorate 1103(vl2) Location 6 - Decorate 1109(uo) Location 0 - Decorate 1111(u) Flat - Decorate 1111(u) Location 2 - Decorate 1120(gl_PrimitiveID) BuiltIn PrimitiveId - Decorate 1120(gl_PrimitiveID) Flat + Decorate 1037(arrayedSampler) Binding 0 + Decorate 1037(arrayedSampler) DescriptorSet 0 + Decorate 1039(i) Flat + Decorate 1039(i) Location 1 + Decorate 1045(c2D) Location 0 + Decorate 1050(gl_ClipDistance) BuiltIn ClipDistance + Decorate 1066(uoutp) Location 3 + Decorate 1070(samp2dr) Binding 1 + Decorate 1070(samp2dr) DescriptorSet 0 + Decorate 1092(ioutp) Location 2 + Decorate 1096(isamp2DA) Binding 2 + Decorate 1096(isamp2DA) DescriptorSet 0 + Decorate 1113(gl_FragCoord) BuiltIn FragCoord + Decorate 1115(vl2) Location 6 + Decorate 1121(uo) Location 0 + Decorate 1123(u) Flat + Decorate 1123(u) Location 2 + Decorate 1132(gl_PrimitiveID) BuiltIn PrimitiveId + Decorate 1132(gl_PrimitiveID) Flat 2: TypeVoid 3: TypeFunction 2 10: TypeFloat 32 @@ -109,161 +113,165 @@ Validation failed 52: 48(f64vec3) ConstantComposite 51 51 51 53: TypeVector 39(float64_t) 4 54: TypePointer Function 53(f64vec4) - 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(f64vec2) 2 - 738: TypePointer Function 737 - 743: TypeMatrix 48(f64vec3) 3 - 744: TypePointer Function 743 - 749: TypeMatrix 53(f64vec4) 4 + 242(ResType): TypeStruct 39(float64_t) 39(float64_t) + 249(ResType): TypeStruct 43(f64vec2) 43(f64vec2) + 256(ResType): TypeStruct 48(f64vec3) 48(f64vec3) + 263(ResType): TypeStruct 53(f64vec4) 53(f64vec4) + 440: TypeBool + 441: TypePointer Function 440(bool) + 449: TypeVector 440(bool) 2 + 450: TypePointer Function 449(bvec2) + 458: TypeVector 440(bool) 3 + 459: TypePointer Function 458(bvec3) + 467: TypeVector 440(bool) 4 + 468: TypePointer Function 467(bvec4) + 575: 440(bool) ConstantFalse + 584: 449(bvec2) ConstantComposite 575 575 + 593: 458(bvec3) ConstantComposite 575 575 575 + 602: 467(bvec4) ConstantComposite 575 575 575 575 + 749: TypeMatrix 43(f64vec2) 2 750: TypePointer Function 749 - 755: TypeMatrix 48(f64vec3) 2 + 755: TypeMatrix 48(f64vec3) 3 756: TypePointer Function 755 - 761: TypeMatrix 43(f64vec2) 3 + 761: TypeMatrix 53(f64vec4) 4 762: TypePointer Function 761 - 767: TypeMatrix 53(f64vec4) 2 + 767: TypeMatrix 48(f64vec3) 2 768: TypePointer Function 767 - 773: TypeMatrix 43(f64vec2) 4 + 773: TypeMatrix 43(f64vec2) 3 774: TypePointer Function 773 - 779: TypeMatrix 53(f64vec4) 3 + 779: TypeMatrix 53(f64vec4) 2 780: TypePointer Function 779 - 785: TypeMatrix 48(f64vec3) 4 + 785: TypeMatrix 43(f64vec2) 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 - 1052: TypeVector 32(int) 4 - 1053: TypePointer Output 1052(ivec4) - 1054(uoutp): 1053(ptr) Variable Output - 1055: TypeImage 32(int) Rect sampled format:Unknown - 1056: TypeSampledImage 1055 - 1057: TypePointer UniformConstant 1056 - 1058(samp2dr): 1057(ptr) Variable UniformConstant - 1061: 32(int) Constant 4 - 1062: TypeArray 24(ivec2) 1061 - 1063: 24(ivec2) ConstantComposite 966 970 - 1064: 23(int) Constant 15 - 1065: 23(int) Constant 16 - 1066: 24(ivec2) ConstantComposite 1064 1065 - 1067: 23(int) Constant 4294967294 - 1068: 23(int) Constant 0 - 1069: 24(ivec2) ConstantComposite 1067 1068 - 1070: 1062 ConstantComposite 1063 27 1066 1069 - 1078: TypeVector 23(int) 4 - 1079: TypePointer Output 1078(ivec4) - 1080(ioutp): 1079(ptr) Variable Output - 1081: TypeImage 23(int) 2D array sampled format:Unknown - 1082: TypeSampledImage 1081 - 1083: TypePointer UniformConstant 1082 - 1084(isamp2DA): 1083(ptr) Variable UniformConstant - 1086: 10(float) Constant 1036831949 - 1087: 1043(fvec3) ConstantComposite 1086 1086 1086 - 1088: 24(ivec2) ConstantComposite 966 966 - 1100: TypePointer Input 11(fvec4) -1101(gl_FragCoord): 1100(ptr) Variable Input - 1103(vl2): 1100(ptr) Variable Input - 1108: TypePointer Output 32(int) - 1109(uo): 1108(ptr) Variable Output - 1110: TypePointer Input 32(int) - 1111(u): 1110(ptr) Variable Input - 1118: TypePointer Function 23(int) -1120(gl_PrimitiveID): 1026(ptr) Variable Input + 791: TypeMatrix 53(f64vec4) 3 + 792: TypePointer Function 791 + 797: TypeMatrix 48(f64vec3) 4 + 798: TypePointer Function 797 + 966: 32(int) Constant 1 + 970: 32(int) Constant 2 + 974: 32(int) Constant 3 + 978: 23(int) Constant 1 + 982: 23(int) Constant 2 + 1008: 10(float) Constant 1065353216 + 1030: TypePointer Function 11(fvec4) + 1032: TypeImage 10(float) 2D sampled format:Unknown + 1033: TypeSampledImage 1032 + 1034: 32(int) Constant 5 + 1035: TypeArray 1033 1034 + 1036: TypePointer UniformConstant 1035 +1037(arrayedSampler): 1036(ptr) Variable UniformConstant + 1038: TypePointer Input 23(int) + 1039(i): 1038(ptr) Variable Input + 1041: TypePointer UniformConstant 1033 + 1044: TypePointer Input 20(fvec2) + 1045(c2D): 1044(ptr) Variable Input + 1048: TypeArray 10(float) 970 + 1049: TypePointer Input 1048 +1050(gl_ClipDistance): 1049(ptr) Variable Input + 1051: TypePointer Input 10(float) + 1055: TypeVector 10(float) 3 + 1064: TypeVector 32(int) 4 + 1065: TypePointer Output 1064(ivec4) + 1066(uoutp): 1065(ptr) Variable Output + 1067: TypeImage 32(int) Rect sampled format:Unknown + 1068: TypeSampledImage 1067 + 1069: TypePointer UniformConstant 1068 + 1070(samp2dr): 1069(ptr) Variable UniformConstant + 1073: 32(int) Constant 4 + 1074: TypeArray 24(ivec2) 1073 + 1075: 24(ivec2) ConstantComposite 978 982 + 1076: 23(int) Constant 15 + 1077: 23(int) Constant 16 + 1078: 24(ivec2) ConstantComposite 1076 1077 + 1079: 23(int) Constant 4294967294 + 1080: 23(int) Constant 0 + 1081: 24(ivec2) ConstantComposite 1079 1080 + 1082: 1074 ConstantComposite 1075 27 1078 1081 + 1090: TypeVector 23(int) 4 + 1091: TypePointer Output 1090(ivec4) + 1092(ioutp): 1091(ptr) Variable Output + 1093: TypeImage 23(int) 2D array sampled format:Unknown + 1094: TypeSampledImage 1093 + 1095: TypePointer UniformConstant 1094 + 1096(isamp2DA): 1095(ptr) Variable UniformConstant + 1098: 10(float) Constant 1036831949 + 1099: 1055(fvec3) ConstantComposite 1098 1098 1098 + 1100: 24(ivec2) ConstantComposite 978 978 + 1112: TypePointer Input 11(fvec4) +1113(gl_FragCoord): 1112(ptr) Variable Input + 1115(vl2): 1112(ptr) Variable Input + 1120: TypePointer Output 32(int) + 1121(uo): 1120(ptr) Variable Output + 1122: TypePointer Input 32(int) + 1123(u): 1122(ptr) Variable Input + 1130: TypePointer Function 23(int) +1132(gl_PrimitiveID): 1038(ptr) Variable Input 4(main): 2 Function None 3 5: Label - 1019(v): 1018(ptr) Variable Function - 1119(id): 1118(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: 34(ptr) AccessChain 13(outp) 954 - 1047: 10(float) CompositeExtract 1045 0 - Store 1046 1047 - 1048: 34(ptr) AccessChain 13(outp) 958 - 1049: 10(float) CompositeExtract 1045 1 - Store 1048 1049 - 1050: 34(ptr) AccessChain 13(outp) 962 - 1051: 10(float) CompositeExtract 1045 2 - Store 1050 1051 - 1059: 1056 Load 1058(samp2dr) - 1060: 20(fvec2) Load 1033(c2D) - 1071: 1052(ivec4) ImageGather 1059 1060 970 ConstOffsets 1070 - Store 1054(uoutp) 1071 - 1072: 1029(ptr) AccessChain 1025(arrayedSampler) 1068 - 1073: 1021 Load 1072 - 1074: 20(fvec2) Load 1033(c2D) - 1075: 11(fvec4) ImageGather 1073 1074 1068 - 1076: 11(fvec4) Load 13(outp) - 1077: 11(fvec4) FAdd 1076 1075 - Store 13(outp) 1077 - 1085: 1082 Load 1084(isamp2DA) - 1089: 1078(ivec4) ImageGather 1085 1087 25 ConstOffset 1088 - Store 1080(ioutp) 1089 - 1090: 1082 Load 1084(isamp2DA) - 1091: 1078(ivec4) ImageGather 1090 1087 25 ConstOffset 1088 - 1092: 1078(ivec4) Load 1080(ioutp) - 1093: 1078(ivec4) IAdd 1092 1091 - Store 1080(ioutp) 1093 - 1094: 1082 Load 1084(isamp2DA) - 1095: 23(int) Load 1027(i) - 1096: 24(ivec2) CompositeConstruct 1095 1095 - 1097: 1078(ivec4) ImageGather 1094 1087 1068 Offset 1096 - 1098: 1078(ivec4) Load 1080(ioutp) - 1099: 1078(ivec4) IAdd 1098 1097 - Store 1080(ioutp) 1099 - 1102: 11(fvec4) Load 1101(gl_FragCoord) - 1104: 11(fvec4) Load 1103(vl2) - 1105: 11(fvec4) FAdd 1102 1104 - 1106: 11(fvec4) Load 13(outp) - 1107: 11(fvec4) FAdd 1106 1105 - Store 13(outp) 1107 - 1112: 32(int) Load 1111(u) - 1113: 23(int) Load 1027(i) - 1114: 32(int) Bitcast 1113 - 1115: 32(int) UMod 1112 1114 - Store 1109(uo) 1115 - 1116: 2 FunctionCall 6(foo23() - 1117: 2 FunctionCall 8(doubles() - 1121: 23(int) Load 1120(gl_PrimitiveID) - Store 1119(id) 1121 + 1031(v): 1030(ptr) Variable Function + 1131(id): 1130(ptr) Variable Function + 1040: 23(int) Load 1039(i) + 1042: 1041(ptr) AccessChain 1037(arrayedSampler) 1040 + 1043: 1033 Load 1042 + 1046: 20(fvec2) Load 1045(c2D) + 1047: 11(fvec4) ImageSampleImplicitLod 1043 1046 + Store 1031(v) 1047 + 1052: 1051(ptr) AccessChain 1050(gl_ClipDistance) 978 + 1053: 10(float) Load 1052 + 1054: 34(ptr) AccessChain 13(outp) 33 + Store 1054 1053 + 1056: 11(fvec4) Load 1031(v) + 1057: 1055(fvec3) VectorShuffle 1056 1056 1 2 3 + 1058: 34(ptr) AccessChain 13(outp) 966 + 1059: 10(float) CompositeExtract 1057 0 + Store 1058 1059 + 1060: 34(ptr) AccessChain 13(outp) 970 + 1061: 10(float) CompositeExtract 1057 1 + Store 1060 1061 + 1062: 34(ptr) AccessChain 13(outp) 974 + 1063: 10(float) CompositeExtract 1057 2 + Store 1062 1063 + 1071: 1068 Load 1070(samp2dr) + 1072: 20(fvec2) Load 1045(c2D) + 1083: 1064(ivec4) ImageGather 1071 1072 982 ConstOffsets 1082 + Store 1066(uoutp) 1083 + 1084: 1041(ptr) AccessChain 1037(arrayedSampler) 1080 + 1085: 1033 Load 1084 + 1086: 20(fvec2) Load 1045(c2D) + 1087: 11(fvec4) ImageGather 1085 1086 1080 + 1088: 11(fvec4) Load 13(outp) + 1089: 11(fvec4) FAdd 1088 1087 + Store 13(outp) 1089 + 1097: 1094 Load 1096(isamp2DA) + 1101: 1090(ivec4) ImageGather 1097 1099 25 ConstOffset 1100 + Store 1092(ioutp) 1101 + 1102: 1094 Load 1096(isamp2DA) + 1103: 1090(ivec4) ImageGather 1102 1099 25 ConstOffset 1100 + 1104: 1090(ivec4) Load 1092(ioutp) + 1105: 1090(ivec4) IAdd 1104 1103 + Store 1092(ioutp) 1105 + 1106: 1094 Load 1096(isamp2DA) + 1107: 23(int) Load 1039(i) + 1108: 24(ivec2) CompositeConstruct 1107 1107 + 1109: 1090(ivec4) ImageGather 1106 1099 1080 Offset 1108 + 1110: 1090(ivec4) Load 1092(ioutp) + 1111: 1090(ivec4) IAdd 1110 1109 + Store 1092(ioutp) 1111 + 1114: 11(fvec4) Load 1113(gl_FragCoord) + 1116: 11(fvec4) Load 1115(vl2) + 1117: 11(fvec4) FAdd 1114 1116 + 1118: 11(fvec4) Load 13(outp) + 1119: 11(fvec4) FAdd 1118 1117 + Store 13(outp) 1119 + 1124: 32(int) Load 1123(u) + 1125: 23(int) Load 1039(i) + 1126: 32(int) Bitcast 1125 + 1127: 32(int) UMod 1124 1126 + Store 1121(uo) 1127 + 1128: 2 FunctionCall 6(foo23() + 1129: 2 FunctionCall 8(doubles() + 1133: 23(int) Load 1132(gl_PrimitiveID) + Store 1131(id) 1133 Return FunctionEnd 6(foo23(): 2 Function None 3 @@ -287,23 +295,23 @@ Validation failed 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 - 557: 429(ptr) Variable Function - 566: 438(ptr) Variable Function - 575: 447(ptr) Variable Function - 584: 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 + 442(boolv): 441(ptr) Variable Function + 451(bvec2v): 450(ptr) Variable Function + 460(bvec3v): 459(ptr) Variable Function + 469(bvec4v): 468(ptr) Variable Function + 569: 441(ptr) Variable Function + 578: 450(ptr) Variable Function + 587: 459(ptr) Variable Function + 596: 468(ptr) Variable Function + 751(dmat2v): 750(ptr) Variable Function + 757(dmat3v): 756(ptr) Variable Function + 763(dmat4v): 762(ptr) Variable Function + 769(dmat2x3v): 768(ptr) Variable Function + 775(dmat3x2v): 774(ptr) Variable Function + 781(dmat2x4v): 780(ptr) Variable Function + 787(dmat4x2v): 786(ptr) Variable Function + 793(dmat3x4v): 792(ptr) Variable Function + 799(dmat4x3v): 798(ptr) Variable Function Store 41(doublev) 42 Store 45(dvec2v) 47 Store 50(dvec3v) 52 @@ -537,873 +545,885 @@ Validation failed 240: 53(f64vec4) FAdd 239 238 Store 55(dvec4v) 240 241:39(float64_t) Load 41(doublev) - 242:39(float64_t) ExtInst 1(GLSL.std.450) 35(Modf) 241 41(doublev) - 243:39(float64_t) Load 41(doublev) - 244:39(float64_t) FAdd 243 242 + 243:242(ResType) ExtInst 1(GLSL.std.450) 36(ModfStruct) 241 + 244:39(float64_t) CompositeExtract 243 1 Store 41(doublev) 244 - 245: 43(f64vec2) Load 45(dvec2v) - 246: 43(f64vec2) ExtInst 1(GLSL.std.450) 35(Modf) 245 45(dvec2v) - 247: 43(f64vec2) Load 45(dvec2v) - 248: 43(f64vec2) FAdd 247 246 - Store 45(dvec2v) 248 - 249: 48(f64vec3) Load 50(dvec3v) - 250: 48(f64vec3) ExtInst 1(GLSL.std.450) 35(Modf) 249 50(dvec3v) - 251: 48(f64vec3) Load 50(dvec3v) - 252: 48(f64vec3) FAdd 251 250 - Store 50(dvec3v) 252 - 253: 53(f64vec4) Load 55(dvec4v) - 254: 53(f64vec4) ExtInst 1(GLSL.std.450) 35(Modf) 253 55(dvec4v) - 255: 53(f64vec4) Load 55(dvec4v) - 256: 53(f64vec4) FAdd 255 254 - Store 55(dvec4v) 256 - 257:39(float64_t) Load 41(doublev) - 258:39(float64_t) Load 41(doublev) - 259:39(float64_t) ExtInst 1(GLSL.std.450) 37(FMin) 257 258 - 260:39(float64_t) Load 41(doublev) - 261:39(float64_t) FAdd 260 259 - Store 41(doublev) 261 - 262: 43(f64vec2) Load 45(dvec2v) - 263:39(float64_t) Load 41(doublev) - 264: 43(f64vec2) CompositeConstruct 263 263 - 265: 43(f64vec2) ExtInst 1(GLSL.std.450) 37(FMin) 262 264 - 266: 43(f64vec2) Load 45(dvec2v) - 267: 43(f64vec2) FAdd 266 265 - Store 45(dvec2v) 267 - 268: 48(f64vec3) Load 50(dvec3v) + 245:39(float64_t) CompositeExtract 243 0 + 246:39(float64_t) Load 41(doublev) + 247:39(float64_t) FAdd 246 245 + Store 41(doublev) 247 + 248: 43(f64vec2) Load 45(dvec2v) + 250:249(ResType) ExtInst 1(GLSL.std.450) 36(ModfStruct) 248 + 251: 43(f64vec2) CompositeExtract 250 1 + Store 45(dvec2v) 251 + 252: 43(f64vec2) CompositeExtract 250 0 + 253: 43(f64vec2) Load 45(dvec2v) + 254: 43(f64vec2) FAdd 253 252 + Store 45(dvec2v) 254 + 255: 48(f64vec3) Load 50(dvec3v) + 257:256(ResType) ExtInst 1(GLSL.std.450) 36(ModfStruct) 255 + 258: 48(f64vec3) CompositeExtract 257 1 + Store 50(dvec3v) 258 + 259: 48(f64vec3) CompositeExtract 257 0 + 260: 48(f64vec3) Load 50(dvec3v) + 261: 48(f64vec3) FAdd 260 259 + Store 50(dvec3v) 261 + 262: 53(f64vec4) Load 55(dvec4v) + 264:263(ResType) ExtInst 1(GLSL.std.450) 36(ModfStruct) 262 + 265: 53(f64vec4) CompositeExtract 264 1 + Store 55(dvec4v) 265 + 266: 53(f64vec4) CompositeExtract 264 0 + 267: 53(f64vec4) Load 55(dvec4v) + 268: 53(f64vec4) FAdd 267 266 + Store 55(dvec4v) 268 269:39(float64_t) Load 41(doublev) - 270: 48(f64vec3) CompositeConstruct 269 269 269 - 271: 48(f64vec3) ExtInst 1(GLSL.std.450) 37(FMin) 268 270 - 272: 48(f64vec3) Load 50(dvec3v) - 273: 48(f64vec3) FAdd 272 271 - Store 50(dvec3v) 273 - 274: 53(f64vec4) Load 55(dvec4v) + 270:39(float64_t) Load 41(doublev) + 271:39(float64_t) ExtInst 1(GLSL.std.450) 37(FMin) 269 270 + 272:39(float64_t) Load 41(doublev) + 273:39(float64_t) FAdd 272 271 + Store 41(doublev) 273 + 274: 43(f64vec2) Load 45(dvec2v) 275:39(float64_t) Load 41(doublev) - 276: 53(f64vec4) CompositeConstruct 275 275 275 275 - 277: 53(f64vec4) ExtInst 1(GLSL.std.450) 37(FMin) 274 276 - 278: 53(f64vec4) Load 55(dvec4v) - 279: 53(f64vec4) FAdd 278 277 - Store 55(dvec4v) 279 - 280: 43(f64vec2) Load 45(dvec2v) - 281: 43(f64vec2) Load 45(dvec2v) - 282: 43(f64vec2) ExtInst 1(GLSL.std.450) 37(FMin) 280 281 - 283: 43(f64vec2) Load 45(dvec2v) - 284: 43(f64vec2) FAdd 283 282 - Store 45(dvec2v) 284 - 285: 48(f64vec3) Load 50(dvec3v) - 286: 48(f64vec3) Load 50(dvec3v) - 287: 48(f64vec3) ExtInst 1(GLSL.std.450) 37(FMin) 285 286 - 288: 48(f64vec3) Load 50(dvec3v) - 289: 48(f64vec3) FAdd 288 287 - Store 50(dvec3v) 289 + 276: 43(f64vec2) CompositeConstruct 275 275 + 277: 43(f64vec2) ExtInst 1(GLSL.std.450) 37(FMin) 274 276 + 278: 43(f64vec2) Load 45(dvec2v) + 279: 43(f64vec2) FAdd 278 277 + Store 45(dvec2v) 279 + 280: 48(f64vec3) Load 50(dvec3v) + 281:39(float64_t) Load 41(doublev) + 282: 48(f64vec3) CompositeConstruct 281 281 281 + 283: 48(f64vec3) ExtInst 1(GLSL.std.450) 37(FMin) 280 282 + 284: 48(f64vec3) Load 50(dvec3v) + 285: 48(f64vec3) FAdd 284 283 + Store 50(dvec3v) 285 + 286: 53(f64vec4) Load 55(dvec4v) + 287:39(float64_t) Load 41(doublev) + 288: 53(f64vec4) CompositeConstruct 287 287 287 287 + 289: 53(f64vec4) ExtInst 1(GLSL.std.450) 37(FMin) 286 288 290: 53(f64vec4) Load 55(dvec4v) - 291: 53(f64vec4) Load 55(dvec4v) - 292: 53(f64vec4) ExtInst 1(GLSL.std.450) 37(FMin) 290 291 - 293: 53(f64vec4) Load 55(dvec4v) - 294: 53(f64vec4) FAdd 293 292 - Store 55(dvec4v) 294 - 295:39(float64_t) Load 41(doublev) - 296:39(float64_t) Load 41(doublev) - 297:39(float64_t) ExtInst 1(GLSL.std.450) 40(FMax) 295 296 - 298:39(float64_t) Load 41(doublev) - 299:39(float64_t) FAdd 298 297 - Store 41(doublev) 299 - 300: 43(f64vec2) Load 45(dvec2v) - 301:39(float64_t) Load 41(doublev) - 302: 43(f64vec2) CompositeConstruct 301 301 - 303: 43(f64vec2) ExtInst 1(GLSL.std.450) 40(FMax) 300 302 - 304: 43(f64vec2) Load 45(dvec2v) - 305: 43(f64vec2) FAdd 304 303 - Store 45(dvec2v) 305 - 306: 48(f64vec3) Load 50(dvec3v) + 291: 53(f64vec4) FAdd 290 289 + Store 55(dvec4v) 291 + 292: 43(f64vec2) Load 45(dvec2v) + 293: 43(f64vec2) Load 45(dvec2v) + 294: 43(f64vec2) ExtInst 1(GLSL.std.450) 37(FMin) 292 293 + 295: 43(f64vec2) Load 45(dvec2v) + 296: 43(f64vec2) FAdd 295 294 + Store 45(dvec2v) 296 + 297: 48(f64vec3) Load 50(dvec3v) + 298: 48(f64vec3) Load 50(dvec3v) + 299: 48(f64vec3) ExtInst 1(GLSL.std.450) 37(FMin) 297 298 + 300: 48(f64vec3) Load 50(dvec3v) + 301: 48(f64vec3) FAdd 300 299 + Store 50(dvec3v) 301 + 302: 53(f64vec4) Load 55(dvec4v) + 303: 53(f64vec4) Load 55(dvec4v) + 304: 53(f64vec4) ExtInst 1(GLSL.std.450) 37(FMin) 302 303 + 305: 53(f64vec4) Load 55(dvec4v) + 306: 53(f64vec4) FAdd 305 304 + Store 55(dvec4v) 306 307:39(float64_t) Load 41(doublev) - 308: 48(f64vec3) CompositeConstruct 307 307 307 - 309: 48(f64vec3) ExtInst 1(GLSL.std.450) 40(FMax) 306 308 - 310: 48(f64vec3) Load 50(dvec3v) - 311: 48(f64vec3) FAdd 310 309 - Store 50(dvec3v) 311 - 312: 53(f64vec4) Load 55(dvec4v) + 308:39(float64_t) Load 41(doublev) + 309:39(float64_t) ExtInst 1(GLSL.std.450) 40(FMax) 307 308 + 310:39(float64_t) Load 41(doublev) + 311:39(float64_t) FAdd 310 309 + Store 41(doublev) 311 + 312: 43(f64vec2) Load 45(dvec2v) 313:39(float64_t) Load 41(doublev) - 314: 53(f64vec4) CompositeConstruct 313 313 313 313 - 315: 53(f64vec4) ExtInst 1(GLSL.std.450) 40(FMax) 312 314 - 316: 53(f64vec4) Load 55(dvec4v) - 317: 53(f64vec4) FAdd 316 315 - Store 55(dvec4v) 317 - 318: 43(f64vec2) Load 45(dvec2v) - 319: 43(f64vec2) Load 45(dvec2v) - 320: 43(f64vec2) ExtInst 1(GLSL.std.450) 40(FMax) 318 319 - 321: 43(f64vec2) Load 45(dvec2v) - 322: 43(f64vec2) FAdd 321 320 - Store 45(dvec2v) 322 - 323: 48(f64vec3) Load 50(dvec3v) - 324: 48(f64vec3) Load 50(dvec3v) - 325: 48(f64vec3) ExtInst 1(GLSL.std.450) 40(FMax) 323 324 - 326: 48(f64vec3) Load 50(dvec3v) - 327: 48(f64vec3) FAdd 326 325 - Store 50(dvec3v) 327 + 314: 43(f64vec2) CompositeConstruct 313 313 + 315: 43(f64vec2) ExtInst 1(GLSL.std.450) 40(FMax) 312 314 + 316: 43(f64vec2) Load 45(dvec2v) + 317: 43(f64vec2) FAdd 316 315 + Store 45(dvec2v) 317 + 318: 48(f64vec3) Load 50(dvec3v) + 319:39(float64_t) Load 41(doublev) + 320: 48(f64vec3) CompositeConstruct 319 319 319 + 321: 48(f64vec3) ExtInst 1(GLSL.std.450) 40(FMax) 318 320 + 322: 48(f64vec3) Load 50(dvec3v) + 323: 48(f64vec3) FAdd 322 321 + Store 50(dvec3v) 323 + 324: 53(f64vec4) Load 55(dvec4v) + 325:39(float64_t) Load 41(doublev) + 326: 53(f64vec4) CompositeConstruct 325 325 325 325 + 327: 53(f64vec4) ExtInst 1(GLSL.std.450) 40(FMax) 324 326 328: 53(f64vec4) Load 55(dvec4v) - 329: 53(f64vec4) Load 55(dvec4v) - 330: 53(f64vec4) ExtInst 1(GLSL.std.450) 40(FMax) 328 329 - 331: 53(f64vec4) Load 55(dvec4v) - 332: 53(f64vec4) FAdd 331 330 - Store 55(dvec4v) 332 - 333:39(float64_t) Load 41(doublev) - 334:39(float64_t) Load 41(doublev) - 335:39(float64_t) Load 41(doublev) - 336:39(float64_t) ExtInst 1(GLSL.std.450) 43(FClamp) 333 334 335 - 337:39(float64_t) Load 41(doublev) - 338:39(float64_t) FAdd 337 336 - Store 41(doublev) 338 - 339: 43(f64vec2) Load 45(dvec2v) - 340:39(float64_t) Load 41(doublev) - 341:39(float64_t) Load 41(doublev) - 342: 43(f64vec2) CompositeConstruct 340 340 - 343: 43(f64vec2) CompositeConstruct 341 341 - 344: 43(f64vec2) ExtInst 1(GLSL.std.450) 43(FClamp) 339 342 343 - 345: 43(f64vec2) Load 45(dvec2v) - 346: 43(f64vec2) FAdd 345 344 - Store 45(dvec2v) 346 - 347: 48(f64vec3) Load 50(dvec3v) - 348:39(float64_t) Load 41(doublev) + 329: 53(f64vec4) FAdd 328 327 + Store 55(dvec4v) 329 + 330: 43(f64vec2) Load 45(dvec2v) + 331: 43(f64vec2) Load 45(dvec2v) + 332: 43(f64vec2) ExtInst 1(GLSL.std.450) 40(FMax) 330 331 + 333: 43(f64vec2) Load 45(dvec2v) + 334: 43(f64vec2) FAdd 333 332 + Store 45(dvec2v) 334 + 335: 48(f64vec3) Load 50(dvec3v) + 336: 48(f64vec3) Load 50(dvec3v) + 337: 48(f64vec3) ExtInst 1(GLSL.std.450) 40(FMax) 335 336 + 338: 48(f64vec3) Load 50(dvec3v) + 339: 48(f64vec3) FAdd 338 337 + Store 50(dvec3v) 339 + 340: 53(f64vec4) Load 55(dvec4v) + 341: 53(f64vec4) Load 55(dvec4v) + 342: 53(f64vec4) ExtInst 1(GLSL.std.450) 40(FMax) 340 341 + 343: 53(f64vec4) Load 55(dvec4v) + 344: 53(f64vec4) FAdd 343 342 + Store 55(dvec4v) 344 + 345:39(float64_t) Load 41(doublev) + 346:39(float64_t) Load 41(doublev) + 347:39(float64_t) Load 41(doublev) + 348:39(float64_t) ExtInst 1(GLSL.std.450) 43(FClamp) 345 346 347 349:39(float64_t) Load 41(doublev) - 350: 48(f64vec3) CompositeConstruct 348 348 348 - 351: 48(f64vec3) CompositeConstruct 349 349 349 - 352: 48(f64vec3) ExtInst 1(GLSL.std.450) 43(FClamp) 347 350 351 - 353: 48(f64vec3) Load 50(dvec3v) - 354: 48(f64vec3) FAdd 353 352 - Store 50(dvec3v) 354 - 355: 53(f64vec4) Load 55(dvec4v) - 356:39(float64_t) Load 41(doublev) - 357:39(float64_t) Load 41(doublev) - 358: 53(f64vec4) CompositeConstruct 356 356 356 356 - 359: 53(f64vec4) CompositeConstruct 357 357 357 357 - 360: 53(f64vec4) ExtInst 1(GLSL.std.450) 43(FClamp) 355 358 359 - 361: 53(f64vec4) Load 55(dvec4v) - 362: 53(f64vec4) FAdd 361 360 - Store 55(dvec4v) 362 - 363: 43(f64vec2) Load 45(dvec2v) - 364: 43(f64vec2) Load 45(dvec2v) - 365: 43(f64vec2) Load 45(dvec2v) - 366: 43(f64vec2) ExtInst 1(GLSL.std.450) 43(FClamp) 363 364 365 - 367: 43(f64vec2) Load 45(dvec2v) - 368: 43(f64vec2) FAdd 367 366 - Store 45(dvec2v) 368 - 369: 48(f64vec3) Load 50(dvec3v) - 370: 48(f64vec3) Load 50(dvec3v) - 371: 48(f64vec3) Load 50(dvec3v) - 372: 48(f64vec3) ExtInst 1(GLSL.std.450) 43(FClamp) 369 370 371 - 373: 48(f64vec3) Load 50(dvec3v) - 374: 48(f64vec3) FAdd 373 372 - Store 50(dvec3v) 374 - 375: 53(f64vec4) Load 55(dvec4v) - 376: 53(f64vec4) Load 55(dvec4v) - 377: 53(f64vec4) Load 55(dvec4v) - 378: 53(f64vec4) ExtInst 1(GLSL.std.450) 43(FClamp) 375 376 377 - 379: 53(f64vec4) Load 55(dvec4v) - 380: 53(f64vec4) FAdd 379 378 - Store 55(dvec4v) 380 - 381:39(float64_t) Load 41(doublev) - 382:39(float64_t) Load 41(doublev) - 383:39(float64_t) Load 41(doublev) - 384:39(float64_t) ExtInst 1(GLSL.std.450) 46(FMix) 381 382 383 - 385:39(float64_t) Load 41(doublev) - 386:39(float64_t) FAdd 385 384 - Store 41(doublev) 386 - 387: 43(f64vec2) Load 45(dvec2v) - 388: 43(f64vec2) Load 45(dvec2v) - 389:39(float64_t) Load 41(doublev) - 390: 43(f64vec2) CompositeConstruct 389 389 - 391: 43(f64vec2) ExtInst 1(GLSL.std.450) 46(FMix) 387 388 390 - 392: 43(f64vec2) Load 45(dvec2v) - 393: 43(f64vec2) FAdd 392 391 - Store 45(dvec2v) 393 - 394: 48(f64vec3) Load 50(dvec3v) - 395: 48(f64vec3) Load 50(dvec3v) - 396:39(float64_t) Load 41(doublev) - 397: 48(f64vec3) CompositeConstruct 396 396 396 - 398: 48(f64vec3) ExtInst 1(GLSL.std.450) 46(FMix) 394 395 397 - 399: 48(f64vec3) Load 50(dvec3v) - 400: 48(f64vec3) FAdd 399 398 - Store 50(dvec3v) 400 - 401: 53(f64vec4) Load 55(dvec4v) - 402: 53(f64vec4) Load 55(dvec4v) - 403:39(float64_t) Load 41(doublev) - 404: 53(f64vec4) CompositeConstruct 403 403 403 403 - 405: 53(f64vec4) ExtInst 1(GLSL.std.450) 46(FMix) 401 402 404 - 406: 53(f64vec4) Load 55(dvec4v) - 407: 53(f64vec4) FAdd 406 405 - Store 55(dvec4v) 407 - 408: 43(f64vec2) Load 45(dvec2v) - 409: 43(f64vec2) Load 45(dvec2v) - 410: 43(f64vec2) Load 45(dvec2v) - 411: 43(f64vec2) ExtInst 1(GLSL.std.450) 46(FMix) 408 409 410 - 412: 43(f64vec2) Load 45(dvec2v) - 413: 43(f64vec2) FAdd 412 411 - Store 45(dvec2v) 413 - 414: 48(f64vec3) Load 50(dvec3v) - 415: 48(f64vec3) Load 50(dvec3v) - 416: 48(f64vec3) Load 50(dvec3v) - 417: 48(f64vec3) ExtInst 1(GLSL.std.450) 46(FMix) 414 415 416 - 418: 48(f64vec3) Load 50(dvec3v) - 419: 48(f64vec3) FAdd 418 417 - Store 50(dvec3v) 419 - 420: 53(f64vec4) Load 55(dvec4v) - 421: 53(f64vec4) Load 55(dvec4v) - 422: 53(f64vec4) Load 55(dvec4v) - 423: 53(f64vec4) ExtInst 1(GLSL.std.450) 46(FMix) 420 421 422 - 424: 53(f64vec4) Load 55(dvec4v) - 425: 53(f64vec4) FAdd 424 423 - Store 55(dvec4v) 425 - 426:39(float64_t) Load 41(doublev) - 427:39(float64_t) Load 41(doublev) - 431: 428(bool) Load 430(boolv) - 432:39(float64_t) Select 431 427 426 - 433:39(float64_t) Load 41(doublev) - 434:39(float64_t) FAdd 433 432 - Store 41(doublev) 434 - 435: 43(f64vec2) Load 45(dvec2v) - 436: 43(f64vec2) Load 45(dvec2v) - 440: 437(bvec2) Load 439(bvec2v) - 441: 43(f64vec2) Select 440 436 435 - 442: 43(f64vec2) Load 45(dvec2v) - 443: 43(f64vec2) FAdd 442 441 - Store 45(dvec2v) 443 - 444: 48(f64vec3) Load 50(dvec3v) - 445: 48(f64vec3) Load 50(dvec3v) - 449: 446(bvec3) Load 448(bvec3v) - 450: 48(f64vec3) Select 449 445 444 - 451: 48(f64vec3) Load 50(dvec3v) - 452: 48(f64vec3) FAdd 451 450 - Store 50(dvec3v) 452 - 453: 53(f64vec4) Load 55(dvec4v) - 454: 53(f64vec4) Load 55(dvec4v) - 458: 455(bvec4) Load 457(bvec4v) - 459: 53(f64vec4) Select 458 454 453 - 460: 53(f64vec4) Load 55(dvec4v) - 461: 53(f64vec4) FAdd 460 459 - Store 55(dvec4v) 461 - 462:39(float64_t) Load 41(doublev) - 463:39(float64_t) Load 41(doublev) - 464:39(float64_t) ExtInst 1(GLSL.std.450) 48(Step) 462 463 - 465:39(float64_t) Load 41(doublev) - 466:39(float64_t) FAdd 465 464 - Store 41(doublev) 466 - 467: 43(f64vec2) Load 45(dvec2v) - 468: 43(f64vec2) Load 45(dvec2v) - 469: 43(f64vec2) ExtInst 1(GLSL.std.450) 48(Step) 467 468 - 470: 43(f64vec2) Load 45(dvec2v) - 471: 43(f64vec2) FAdd 470 469 - Store 45(dvec2v) 471 - 472: 48(f64vec3) Load 50(dvec3v) - 473: 48(f64vec3) Load 50(dvec3v) - 474: 48(f64vec3) ExtInst 1(GLSL.std.450) 48(Step) 472 473 - 475: 48(f64vec3) Load 50(dvec3v) - 476: 48(f64vec3) FAdd 475 474 - Store 50(dvec3v) 476 - 477: 53(f64vec4) Load 55(dvec4v) - 478: 53(f64vec4) Load 55(dvec4v) - 479: 53(f64vec4) ExtInst 1(GLSL.std.450) 48(Step) 477 478 - 480: 53(f64vec4) Load 55(dvec4v) - 481: 53(f64vec4) FAdd 480 479 - Store 55(dvec4v) 481 - 482:39(float64_t) Load 41(doublev) - 483: 43(f64vec2) Load 45(dvec2v) - 484: 43(f64vec2) CompositeConstruct 482 482 - 485: 43(f64vec2) ExtInst 1(GLSL.std.450) 48(Step) 484 483 - 486: 43(f64vec2) Load 45(dvec2v) - 487: 43(f64vec2) FAdd 486 485 - Store 45(dvec2v) 487 - 488:39(float64_t) Load 41(doublev) - 489: 48(f64vec3) Load 50(dvec3v) - 490: 48(f64vec3) CompositeConstruct 488 488 488 - 491: 48(f64vec3) ExtInst 1(GLSL.std.450) 48(Step) 490 489 - 492: 48(f64vec3) Load 50(dvec3v) - 493: 48(f64vec3) FAdd 492 491 - Store 50(dvec3v) 493 + 350:39(float64_t) FAdd 349 348 + Store 41(doublev) 350 + 351: 43(f64vec2) Load 45(dvec2v) + 352:39(float64_t) Load 41(doublev) + 353:39(float64_t) Load 41(doublev) + 354: 43(f64vec2) CompositeConstruct 352 352 + 355: 43(f64vec2) CompositeConstruct 353 353 + 356: 43(f64vec2) ExtInst 1(GLSL.std.450) 43(FClamp) 351 354 355 + 357: 43(f64vec2) Load 45(dvec2v) + 358: 43(f64vec2) FAdd 357 356 + Store 45(dvec2v) 358 + 359: 48(f64vec3) Load 50(dvec3v) + 360:39(float64_t) Load 41(doublev) + 361:39(float64_t) Load 41(doublev) + 362: 48(f64vec3) CompositeConstruct 360 360 360 + 363: 48(f64vec3) CompositeConstruct 361 361 361 + 364: 48(f64vec3) ExtInst 1(GLSL.std.450) 43(FClamp) 359 362 363 + 365: 48(f64vec3) Load 50(dvec3v) + 366: 48(f64vec3) FAdd 365 364 + Store 50(dvec3v) 366 + 367: 53(f64vec4) Load 55(dvec4v) + 368:39(float64_t) Load 41(doublev) + 369:39(float64_t) Load 41(doublev) + 370: 53(f64vec4) CompositeConstruct 368 368 368 368 + 371: 53(f64vec4) CompositeConstruct 369 369 369 369 + 372: 53(f64vec4) ExtInst 1(GLSL.std.450) 43(FClamp) 367 370 371 + 373: 53(f64vec4) Load 55(dvec4v) + 374: 53(f64vec4) FAdd 373 372 + Store 55(dvec4v) 374 + 375: 43(f64vec2) Load 45(dvec2v) + 376: 43(f64vec2) Load 45(dvec2v) + 377: 43(f64vec2) Load 45(dvec2v) + 378: 43(f64vec2) ExtInst 1(GLSL.std.450) 43(FClamp) 375 376 377 + 379: 43(f64vec2) Load 45(dvec2v) + 380: 43(f64vec2) FAdd 379 378 + Store 45(dvec2v) 380 + 381: 48(f64vec3) Load 50(dvec3v) + 382: 48(f64vec3) Load 50(dvec3v) + 383: 48(f64vec3) Load 50(dvec3v) + 384: 48(f64vec3) ExtInst 1(GLSL.std.450) 43(FClamp) 381 382 383 + 385: 48(f64vec3) Load 50(dvec3v) + 386: 48(f64vec3) FAdd 385 384 + Store 50(dvec3v) 386 + 387: 53(f64vec4) Load 55(dvec4v) + 388: 53(f64vec4) Load 55(dvec4v) + 389: 53(f64vec4) Load 55(dvec4v) + 390: 53(f64vec4) ExtInst 1(GLSL.std.450) 43(FClamp) 387 388 389 + 391: 53(f64vec4) Load 55(dvec4v) + 392: 53(f64vec4) FAdd 391 390 + Store 55(dvec4v) 392 + 393:39(float64_t) Load 41(doublev) + 394:39(float64_t) Load 41(doublev) + 395:39(float64_t) Load 41(doublev) + 396:39(float64_t) ExtInst 1(GLSL.std.450) 46(FMix) 393 394 395 + 397:39(float64_t) Load 41(doublev) + 398:39(float64_t) FAdd 397 396 + Store 41(doublev) 398 + 399: 43(f64vec2) Load 45(dvec2v) + 400: 43(f64vec2) Load 45(dvec2v) + 401:39(float64_t) Load 41(doublev) + 402: 43(f64vec2) CompositeConstruct 401 401 + 403: 43(f64vec2) ExtInst 1(GLSL.std.450) 46(FMix) 399 400 402 + 404: 43(f64vec2) Load 45(dvec2v) + 405: 43(f64vec2) FAdd 404 403 + Store 45(dvec2v) 405 + 406: 48(f64vec3) Load 50(dvec3v) + 407: 48(f64vec3) Load 50(dvec3v) + 408:39(float64_t) Load 41(doublev) + 409: 48(f64vec3) CompositeConstruct 408 408 408 + 410: 48(f64vec3) ExtInst 1(GLSL.std.450) 46(FMix) 406 407 409 + 411: 48(f64vec3) Load 50(dvec3v) + 412: 48(f64vec3) FAdd 411 410 + Store 50(dvec3v) 412 + 413: 53(f64vec4) Load 55(dvec4v) + 414: 53(f64vec4) Load 55(dvec4v) + 415:39(float64_t) Load 41(doublev) + 416: 53(f64vec4) CompositeConstruct 415 415 415 415 + 417: 53(f64vec4) ExtInst 1(GLSL.std.450) 46(FMix) 413 414 416 + 418: 53(f64vec4) Load 55(dvec4v) + 419: 53(f64vec4) FAdd 418 417 + Store 55(dvec4v) 419 + 420: 43(f64vec2) Load 45(dvec2v) + 421: 43(f64vec2) Load 45(dvec2v) + 422: 43(f64vec2) Load 45(dvec2v) + 423: 43(f64vec2) ExtInst 1(GLSL.std.450) 46(FMix) 420 421 422 + 424: 43(f64vec2) Load 45(dvec2v) + 425: 43(f64vec2) FAdd 424 423 + Store 45(dvec2v) 425 + 426: 48(f64vec3) Load 50(dvec3v) + 427: 48(f64vec3) Load 50(dvec3v) + 428: 48(f64vec3) Load 50(dvec3v) + 429: 48(f64vec3) ExtInst 1(GLSL.std.450) 46(FMix) 426 427 428 + 430: 48(f64vec3) Load 50(dvec3v) + 431: 48(f64vec3) FAdd 430 429 + Store 50(dvec3v) 431 + 432: 53(f64vec4) Load 55(dvec4v) + 433: 53(f64vec4) Load 55(dvec4v) + 434: 53(f64vec4) Load 55(dvec4v) + 435: 53(f64vec4) ExtInst 1(GLSL.std.450) 46(FMix) 432 433 434 + 436: 53(f64vec4) Load 55(dvec4v) + 437: 53(f64vec4) FAdd 436 435 + Store 55(dvec4v) 437 + 438:39(float64_t) Load 41(doublev) + 439:39(float64_t) Load 41(doublev) + 443: 440(bool) Load 442(boolv) + 444:39(float64_t) Select 443 439 438 + 445:39(float64_t) Load 41(doublev) + 446:39(float64_t) FAdd 445 444 + Store 41(doublev) 446 + 447: 43(f64vec2) Load 45(dvec2v) + 448: 43(f64vec2) Load 45(dvec2v) + 452: 449(bvec2) Load 451(bvec2v) + 453: 43(f64vec2) Select 452 448 447 + 454: 43(f64vec2) Load 45(dvec2v) + 455: 43(f64vec2) FAdd 454 453 + Store 45(dvec2v) 455 + 456: 48(f64vec3) Load 50(dvec3v) + 457: 48(f64vec3) Load 50(dvec3v) + 461: 458(bvec3) Load 460(bvec3v) + 462: 48(f64vec3) Select 461 457 456 + 463: 48(f64vec3) Load 50(dvec3v) + 464: 48(f64vec3) FAdd 463 462 + Store 50(dvec3v) 464 + 465: 53(f64vec4) Load 55(dvec4v) + 466: 53(f64vec4) Load 55(dvec4v) + 470: 467(bvec4) Load 469(bvec4v) + 471: 53(f64vec4) Select 470 466 465 + 472: 53(f64vec4) Load 55(dvec4v) + 473: 53(f64vec4) FAdd 472 471 + Store 55(dvec4v) 473 + 474:39(float64_t) Load 41(doublev) + 475:39(float64_t) Load 41(doublev) + 476:39(float64_t) ExtInst 1(GLSL.std.450) 48(Step) 474 475 + 477:39(float64_t) Load 41(doublev) + 478:39(float64_t) FAdd 477 476 + Store 41(doublev) 478 + 479: 43(f64vec2) Load 45(dvec2v) + 480: 43(f64vec2) Load 45(dvec2v) + 481: 43(f64vec2) ExtInst 1(GLSL.std.450) 48(Step) 479 480 + 482: 43(f64vec2) Load 45(dvec2v) + 483: 43(f64vec2) FAdd 482 481 + Store 45(dvec2v) 483 + 484: 48(f64vec3) Load 50(dvec3v) + 485: 48(f64vec3) Load 50(dvec3v) + 486: 48(f64vec3) ExtInst 1(GLSL.std.450) 48(Step) 484 485 + 487: 48(f64vec3) Load 50(dvec3v) + 488: 48(f64vec3) FAdd 487 486 + Store 50(dvec3v) 488 + 489: 53(f64vec4) Load 55(dvec4v) + 490: 53(f64vec4) Load 55(dvec4v) + 491: 53(f64vec4) ExtInst 1(GLSL.std.450) 48(Step) 489 490 + 492: 53(f64vec4) Load 55(dvec4v) + 493: 53(f64vec4) FAdd 492 491 + Store 55(dvec4v) 493 494:39(float64_t) Load 41(doublev) - 495: 53(f64vec4) Load 55(dvec4v) - 496: 53(f64vec4) CompositeConstruct 494 494 494 494 - 497: 53(f64vec4) ExtInst 1(GLSL.std.450) 48(Step) 496 495 - 498: 53(f64vec4) Load 55(dvec4v) - 499: 53(f64vec4) FAdd 498 497 - Store 55(dvec4v) 499 + 495: 43(f64vec2) Load 45(dvec2v) + 496: 43(f64vec2) CompositeConstruct 494 494 + 497: 43(f64vec2) ExtInst 1(GLSL.std.450) 48(Step) 496 495 + 498: 43(f64vec2) Load 45(dvec2v) + 499: 43(f64vec2) FAdd 498 497 + Store 45(dvec2v) 499 500:39(float64_t) Load 41(doublev) - 501:39(float64_t) Load 41(doublev) - 502:39(float64_t) Load 41(doublev) - 503:39(float64_t) ExtInst 1(GLSL.std.450) 49(SmoothStep) 500 501 502 - 504:39(float64_t) Load 41(doublev) - 505:39(float64_t) FAdd 504 503 - Store 41(doublev) 505 - 506: 43(f64vec2) Load 45(dvec2v) - 507: 43(f64vec2) Load 45(dvec2v) - 508: 43(f64vec2) Load 45(dvec2v) - 509: 43(f64vec2) ExtInst 1(GLSL.std.450) 49(SmoothStep) 506 507 508 - 510: 43(f64vec2) Load 45(dvec2v) - 511: 43(f64vec2) FAdd 510 509 - Store 45(dvec2v) 511 - 512: 48(f64vec3) Load 50(dvec3v) - 513: 48(f64vec3) Load 50(dvec3v) - 514: 48(f64vec3) Load 50(dvec3v) - 515: 48(f64vec3) ExtInst 1(GLSL.std.450) 49(SmoothStep) 512 513 514 - 516: 48(f64vec3) Load 50(dvec3v) - 517: 48(f64vec3) FAdd 516 515 - Store 50(dvec3v) 517 - 518: 53(f64vec4) Load 55(dvec4v) - 519: 53(f64vec4) Load 55(dvec4v) - 520: 53(f64vec4) Load 55(dvec4v) - 521: 53(f64vec4) ExtInst 1(GLSL.std.450) 49(SmoothStep) 518 519 520 - 522: 53(f64vec4) Load 55(dvec4v) - 523: 53(f64vec4) FAdd 522 521 - Store 55(dvec4v) 523 - 524:39(float64_t) Load 41(doublev) - 525:39(float64_t) Load 41(doublev) - 526: 43(f64vec2) Load 45(dvec2v) - 527: 43(f64vec2) CompositeConstruct 524 524 - 528: 43(f64vec2) CompositeConstruct 525 525 - 529: 43(f64vec2) ExtInst 1(GLSL.std.450) 49(SmoothStep) 527 528 526 - 530: 43(f64vec2) Load 45(dvec2v) - 531: 43(f64vec2) FAdd 530 529 - Store 45(dvec2v) 531 - 532:39(float64_t) Load 41(doublev) - 533:39(float64_t) Load 41(doublev) - 534: 48(f64vec3) Load 50(dvec3v) - 535: 48(f64vec3) CompositeConstruct 532 532 532 - 536: 48(f64vec3) CompositeConstruct 533 533 533 - 537: 48(f64vec3) ExtInst 1(GLSL.std.450) 49(SmoothStep) 535 536 534 - 538: 48(f64vec3) Load 50(dvec3v) - 539: 48(f64vec3) FAdd 538 537 - Store 50(dvec3v) 539 - 540:39(float64_t) Load 41(doublev) - 541:39(float64_t) Load 41(doublev) - 542: 53(f64vec4) Load 55(dvec4v) - 543: 53(f64vec4) CompositeConstruct 540 540 540 540 - 544: 53(f64vec4) CompositeConstruct 541 541 541 541 - 545: 53(f64vec4) ExtInst 1(GLSL.std.450) 49(SmoothStep) 543 544 542 - 546: 53(f64vec4) Load 55(dvec4v) - 547: 53(f64vec4) FAdd 546 545 - Store 55(dvec4v) 547 - 548:39(float64_t) Load 41(doublev) - 549: 428(bool) IsNan 548 - Store 430(boolv) 549 - 550: 43(f64vec2) Load 45(dvec2v) - 551: 437(bvec2) IsNan 550 - Store 439(bvec2v) 551 - 552: 48(f64vec3) Load 50(dvec3v) - 553: 446(bvec3) IsNan 552 - Store 448(bvec3v) 553 + 501: 48(f64vec3) Load 50(dvec3v) + 502: 48(f64vec3) CompositeConstruct 500 500 500 + 503: 48(f64vec3) ExtInst 1(GLSL.std.450) 48(Step) 502 501 + 504: 48(f64vec3) Load 50(dvec3v) + 505: 48(f64vec3) FAdd 504 503 + Store 50(dvec3v) 505 + 506:39(float64_t) Load 41(doublev) + 507: 53(f64vec4) Load 55(dvec4v) + 508: 53(f64vec4) CompositeConstruct 506 506 506 506 + 509: 53(f64vec4) ExtInst 1(GLSL.std.450) 48(Step) 508 507 + 510: 53(f64vec4) Load 55(dvec4v) + 511: 53(f64vec4) FAdd 510 509 + Store 55(dvec4v) 511 + 512:39(float64_t) Load 41(doublev) + 513:39(float64_t) Load 41(doublev) + 514:39(float64_t) Load 41(doublev) + 515:39(float64_t) ExtInst 1(GLSL.std.450) 49(SmoothStep) 512 513 514 + 516:39(float64_t) Load 41(doublev) + 517:39(float64_t) FAdd 516 515 + Store 41(doublev) 517 + 518: 43(f64vec2) Load 45(dvec2v) + 519: 43(f64vec2) Load 45(dvec2v) + 520: 43(f64vec2) Load 45(dvec2v) + 521: 43(f64vec2) ExtInst 1(GLSL.std.450) 49(SmoothStep) 518 519 520 + 522: 43(f64vec2) Load 45(dvec2v) + 523: 43(f64vec2) FAdd 522 521 + Store 45(dvec2v) 523 + 524: 48(f64vec3) Load 50(dvec3v) + 525: 48(f64vec3) Load 50(dvec3v) + 526: 48(f64vec3) Load 50(dvec3v) + 527: 48(f64vec3) ExtInst 1(GLSL.std.450) 49(SmoothStep) 524 525 526 + 528: 48(f64vec3) Load 50(dvec3v) + 529: 48(f64vec3) FAdd 528 527 + Store 50(dvec3v) 529 + 530: 53(f64vec4) Load 55(dvec4v) + 531: 53(f64vec4) Load 55(dvec4v) + 532: 53(f64vec4) Load 55(dvec4v) + 533: 53(f64vec4) ExtInst 1(GLSL.std.450) 49(SmoothStep) 530 531 532 + 534: 53(f64vec4) Load 55(dvec4v) + 535: 53(f64vec4) FAdd 534 533 + Store 55(dvec4v) 535 + 536:39(float64_t) Load 41(doublev) + 537:39(float64_t) Load 41(doublev) + 538: 43(f64vec2) Load 45(dvec2v) + 539: 43(f64vec2) CompositeConstruct 536 536 + 540: 43(f64vec2) CompositeConstruct 537 537 + 541: 43(f64vec2) ExtInst 1(GLSL.std.450) 49(SmoothStep) 539 540 538 + 542: 43(f64vec2) Load 45(dvec2v) + 543: 43(f64vec2) FAdd 542 541 + Store 45(dvec2v) 543 + 544:39(float64_t) Load 41(doublev) + 545:39(float64_t) Load 41(doublev) + 546: 48(f64vec3) Load 50(dvec3v) + 547: 48(f64vec3) CompositeConstruct 544 544 544 + 548: 48(f64vec3) CompositeConstruct 545 545 545 + 549: 48(f64vec3) ExtInst 1(GLSL.std.450) 49(SmoothStep) 547 548 546 + 550: 48(f64vec3) Load 50(dvec3v) + 551: 48(f64vec3) FAdd 550 549 + Store 50(dvec3v) 551 + 552:39(float64_t) Load 41(doublev) + 553:39(float64_t) Load 41(doublev) 554: 53(f64vec4) Load 55(dvec4v) - 555: 455(bvec4) IsNan 554 - Store 457(bvec4v) 555 - 556: 428(bool) Load 430(boolv) - SelectionMerge 559 None - BranchConditional 556 558 562 - 558: Label - 560:39(float64_t) Load 41(doublev) - 561: 428(bool) IsInf 560 - Store 557 561 - Branch 559 - 562: Label - Store 557 563 - Branch 559 - 559: Label - 564: 428(bool) Load 557 - Store 430(boolv) 564 - 565: 428(bool) Load 430(boolv) - SelectionMerge 568 None - BranchConditional 565 567 571 - 567: Label - 569: 43(f64vec2) Load 45(dvec2v) - 570: 437(bvec2) IsInf 569 - Store 566 570 - Branch 568 - 571: Label - Store 566 572 - Branch 568 - 568: Label - 573: 437(bvec2) Load 566 - Store 439(bvec2v) 573 - 574: 428(bool) Load 430(boolv) - SelectionMerge 577 None - BranchConditional 574 576 580 - 576: Label - 578: 48(f64vec3) Load 50(dvec3v) - 579: 446(bvec3) IsInf 578 - Store 575 579 - Branch 577 - 580: Label - Store 575 581 - Branch 577 - 577: Label - 582: 446(bvec3) Load 575 - Store 448(bvec3v) 582 - 583: 428(bool) Load 430(boolv) - SelectionMerge 586 None - BranchConditional 583 585 589 - 585: Label - 587: 53(f64vec4) Load 55(dvec4v) - 588: 455(bvec4) IsInf 587 - Store 584 588 - Branch 586 - 589: Label - Store 584 590 - Branch 586 - 586: Label - 591: 455(bvec4) Load 584 - Store 457(bvec4v) 591 - 592:39(float64_t) Load 41(doublev) - 593:39(float64_t) ExtInst 1(GLSL.std.450) 66(Length) 592 - 594:39(float64_t) Load 41(doublev) - 595:39(float64_t) FAdd 594 593 - Store 41(doublev) 595 - 596: 43(f64vec2) Load 45(dvec2v) - 597:39(float64_t) ExtInst 1(GLSL.std.450) 66(Length) 596 - 598:39(float64_t) Load 41(doublev) - 599:39(float64_t) FAdd 598 597 - Store 41(doublev) 599 - 600: 48(f64vec3) Load 50(dvec3v) - 601:39(float64_t) ExtInst 1(GLSL.std.450) 66(Length) 600 - 602:39(float64_t) Load 41(doublev) - 603:39(float64_t) FAdd 602 601 - Store 41(doublev) 603 - 604: 53(f64vec4) Load 55(dvec4v) + 555: 53(f64vec4) CompositeConstruct 552 552 552 552 + 556: 53(f64vec4) CompositeConstruct 553 553 553 553 + 557: 53(f64vec4) ExtInst 1(GLSL.std.450) 49(SmoothStep) 555 556 554 + 558: 53(f64vec4) Load 55(dvec4v) + 559: 53(f64vec4) FAdd 558 557 + Store 55(dvec4v) 559 + 560:39(float64_t) Load 41(doublev) + 561: 440(bool) IsNan 560 + Store 442(boolv) 561 + 562: 43(f64vec2) Load 45(dvec2v) + 563: 449(bvec2) IsNan 562 + Store 451(bvec2v) 563 + 564: 48(f64vec3) Load 50(dvec3v) + 565: 458(bvec3) IsNan 564 + Store 460(bvec3v) 565 + 566: 53(f64vec4) Load 55(dvec4v) + 567: 467(bvec4) IsNan 566 + Store 469(bvec4v) 567 + 568: 440(bool) Load 442(boolv) + SelectionMerge 571 None + BranchConditional 568 570 574 + 570: Label + 572:39(float64_t) Load 41(doublev) + 573: 440(bool) IsInf 572 + Store 569 573 + Branch 571 + 574: Label + Store 569 575 + Branch 571 + 571: Label + 576: 440(bool) Load 569 + Store 442(boolv) 576 + 577: 440(bool) Load 442(boolv) + SelectionMerge 580 None + BranchConditional 577 579 583 + 579: Label + 581: 43(f64vec2) Load 45(dvec2v) + 582: 449(bvec2) IsInf 581 + Store 578 582 + Branch 580 + 583: Label + Store 578 584 + Branch 580 + 580: Label + 585: 449(bvec2) Load 578 + Store 451(bvec2v) 585 + 586: 440(bool) Load 442(boolv) + SelectionMerge 589 None + BranchConditional 586 588 592 + 588: Label + 590: 48(f64vec3) Load 50(dvec3v) + 591: 458(bvec3) IsInf 590 + Store 587 591 + Branch 589 + 592: Label + Store 587 593 + Branch 589 + 589: Label + 594: 458(bvec3) Load 587 + Store 460(bvec3v) 594 + 595: 440(bool) Load 442(boolv) + SelectionMerge 598 None + BranchConditional 595 597 601 + 597: Label + 599: 53(f64vec4) Load 55(dvec4v) + 600: 467(bvec4) IsInf 599 + Store 596 600 + Branch 598 + 601: Label + Store 596 602 + Branch 598 + 598: Label + 603: 467(bvec4) Load 596 + Store 469(bvec4v) 603 + 604:39(float64_t) Load 41(doublev) 605:39(float64_t) ExtInst 1(GLSL.std.450) 66(Length) 604 606:39(float64_t) Load 41(doublev) 607:39(float64_t) FAdd 606 605 Store 41(doublev) 607 - 608:39(float64_t) Load 41(doublev) - 609:39(float64_t) Load 41(doublev) - 610:39(float64_t) ExtInst 1(GLSL.std.450) 67(Distance) 608 609 - 611:39(float64_t) Load 41(doublev) - 612:39(float64_t) FAdd 611 610 - Store 41(doublev) 612 - 613: 43(f64vec2) Load 45(dvec2v) - 614: 43(f64vec2) Load 45(dvec2v) - 615:39(float64_t) ExtInst 1(GLSL.std.450) 67(Distance) 613 614 - 616:39(float64_t) Load 41(doublev) - 617:39(float64_t) FAdd 616 615 - Store 41(doublev) 617 - 618: 48(f64vec3) Load 50(dvec3v) - 619: 48(f64vec3) Load 50(dvec3v) - 620:39(float64_t) ExtInst 1(GLSL.std.450) 67(Distance) 618 619 + 608: 43(f64vec2) Load 45(dvec2v) + 609:39(float64_t) ExtInst 1(GLSL.std.450) 66(Length) 608 + 610:39(float64_t) Load 41(doublev) + 611:39(float64_t) FAdd 610 609 + Store 41(doublev) 611 + 612: 48(f64vec3) Load 50(dvec3v) + 613:39(float64_t) ExtInst 1(GLSL.std.450) 66(Length) 612 + 614:39(float64_t) Load 41(doublev) + 615:39(float64_t) FAdd 614 613 + Store 41(doublev) 615 + 616: 53(f64vec4) Load 55(dvec4v) + 617:39(float64_t) ExtInst 1(GLSL.std.450) 66(Length) 616 + 618:39(float64_t) Load 41(doublev) + 619:39(float64_t) FAdd 618 617 + Store 41(doublev) 619 + 620:39(float64_t) Load 41(doublev) 621:39(float64_t) Load 41(doublev) - 622:39(float64_t) FAdd 621 620 - Store 41(doublev) 622 - 623: 53(f64vec4) Load 55(dvec4v) - 624: 53(f64vec4) Load 55(dvec4v) - 625:39(float64_t) ExtInst 1(GLSL.std.450) 67(Distance) 623 624 - 626:39(float64_t) Load 41(doublev) - 627:39(float64_t) FAdd 626 625 - Store 41(doublev) 627 + 622:39(float64_t) ExtInst 1(GLSL.std.450) 67(Distance) 620 621 + 623:39(float64_t) Load 41(doublev) + 624:39(float64_t) FAdd 623 622 + Store 41(doublev) 624 + 625: 43(f64vec2) Load 45(dvec2v) + 626: 43(f64vec2) Load 45(dvec2v) + 627:39(float64_t) ExtInst 1(GLSL.std.450) 67(Distance) 625 626 628:39(float64_t) Load 41(doublev) - 629:39(float64_t) Load 41(doublev) - 630:39(float64_t) FMul 628 629 - 631:39(float64_t) Load 41(doublev) - 632:39(float64_t) FAdd 631 630 - Store 41(doublev) 632 - 633: 43(f64vec2) Load 45(dvec2v) - 634: 43(f64vec2) Load 45(dvec2v) - 635:39(float64_t) Dot 633 634 - 636:39(float64_t) Load 41(doublev) - 637:39(float64_t) FAdd 636 635 - Store 41(doublev) 637 - 638: 48(f64vec3) Load 50(dvec3v) - 639: 48(f64vec3) Load 50(dvec3v) - 640:39(float64_t) Dot 638 639 + 629:39(float64_t) FAdd 628 627 + Store 41(doublev) 629 + 630: 48(f64vec3) Load 50(dvec3v) + 631: 48(f64vec3) Load 50(dvec3v) + 632:39(float64_t) ExtInst 1(GLSL.std.450) 67(Distance) 630 631 + 633:39(float64_t) Load 41(doublev) + 634:39(float64_t) FAdd 633 632 + Store 41(doublev) 634 + 635: 53(f64vec4) Load 55(dvec4v) + 636: 53(f64vec4) Load 55(dvec4v) + 637:39(float64_t) ExtInst 1(GLSL.std.450) 67(Distance) 635 636 + 638:39(float64_t) Load 41(doublev) + 639:39(float64_t) FAdd 638 637 + Store 41(doublev) 639 + 640:39(float64_t) Load 41(doublev) 641:39(float64_t) Load 41(doublev) - 642:39(float64_t) FAdd 641 640 - Store 41(doublev) 642 - 643: 53(f64vec4) Load 55(dvec4v) - 644: 53(f64vec4) Load 55(dvec4v) - 645:39(float64_t) Dot 643 644 - 646:39(float64_t) Load 41(doublev) - 647:39(float64_t) FAdd 646 645 - Store 41(doublev) 647 - 648: 48(f64vec3) Load 50(dvec3v) - 649: 48(f64vec3) Load 50(dvec3v) - 650: 48(f64vec3) ExtInst 1(GLSL.std.450) 68(Cross) 648 649 + 642:39(float64_t) FMul 640 641 + 643:39(float64_t) Load 41(doublev) + 644:39(float64_t) FAdd 643 642 + Store 41(doublev) 644 + 645: 43(f64vec2) Load 45(dvec2v) + 646: 43(f64vec2) Load 45(dvec2v) + 647:39(float64_t) Dot 645 646 + 648:39(float64_t) Load 41(doublev) + 649:39(float64_t) FAdd 648 647 + Store 41(doublev) 649 + 650: 48(f64vec3) Load 50(dvec3v) 651: 48(f64vec3) Load 50(dvec3v) - 652: 48(f64vec3) FAdd 651 650 - Store 50(dvec3v) 652 + 652:39(float64_t) Dot 650 651 653:39(float64_t) Load 41(doublev) - 654:39(float64_t) ExtInst 1(GLSL.std.450) 69(Normalize) 653 - 655:39(float64_t) Load 41(doublev) - 656:39(float64_t) FAdd 655 654 - Store 41(doublev) 656 - 657: 43(f64vec2) Load 45(dvec2v) - 658: 43(f64vec2) ExtInst 1(GLSL.std.450) 69(Normalize) 657 - 659: 43(f64vec2) Load 45(dvec2v) - 660: 43(f64vec2) FAdd 659 658 - Store 45(dvec2v) 660 + 654:39(float64_t) FAdd 653 652 + Store 41(doublev) 654 + 655: 53(f64vec4) Load 55(dvec4v) + 656: 53(f64vec4) Load 55(dvec4v) + 657:39(float64_t) Dot 655 656 + 658:39(float64_t) Load 41(doublev) + 659:39(float64_t) FAdd 658 657 + Store 41(doublev) 659 + 660: 48(f64vec3) Load 50(dvec3v) 661: 48(f64vec3) Load 50(dvec3v) - 662: 48(f64vec3) ExtInst 1(GLSL.std.450) 69(Normalize) 661 + 662: 48(f64vec3) ExtInst 1(GLSL.std.450) 68(Cross) 660 661 663: 48(f64vec3) Load 50(dvec3v) 664: 48(f64vec3) FAdd 663 662 Store 50(dvec3v) 664 - 665: 53(f64vec4) Load 55(dvec4v) - 666: 53(f64vec4) ExtInst 1(GLSL.std.450) 69(Normalize) 665 - 667: 53(f64vec4) Load 55(dvec4v) - 668: 53(f64vec4) FAdd 667 666 - Store 55(dvec4v) 668 - 669:39(float64_t) Load 41(doublev) - 670:39(float64_t) Load 41(doublev) - 671:39(float64_t) Load 41(doublev) - 672:39(float64_t) ExtInst 1(GLSL.std.450) 70(FaceForward) 669 670 671 - 673:39(float64_t) Load 41(doublev) - 674:39(float64_t) FAdd 673 672 - Store 41(doublev) 674 - 675: 43(f64vec2) Load 45(dvec2v) - 676: 43(f64vec2) Load 45(dvec2v) - 677: 43(f64vec2) Load 45(dvec2v) - 678: 43(f64vec2) ExtInst 1(GLSL.std.450) 70(FaceForward) 675 676 677 - 679: 43(f64vec2) Load 45(dvec2v) - 680: 43(f64vec2) FAdd 679 678 - Store 45(dvec2v) 680 - 681: 48(f64vec3) Load 50(dvec3v) - 682: 48(f64vec3) Load 50(dvec3v) - 683: 48(f64vec3) Load 50(dvec3v) - 684: 48(f64vec3) ExtInst 1(GLSL.std.450) 70(FaceForward) 681 682 683 - 685: 48(f64vec3) Load 50(dvec3v) - 686: 48(f64vec3) FAdd 685 684 - Store 50(dvec3v) 686 - 687: 53(f64vec4) Load 55(dvec4v) - 688: 53(f64vec4) Load 55(dvec4v) - 689: 53(f64vec4) Load 55(dvec4v) - 690: 53(f64vec4) ExtInst 1(GLSL.std.450) 70(FaceForward) 687 688 689 - 691: 53(f64vec4) Load 55(dvec4v) - 692: 53(f64vec4) FAdd 691 690 - Store 55(dvec4v) 692 - 693:39(float64_t) Load 41(doublev) - 694:39(float64_t) Load 41(doublev) - 695:39(float64_t) ExtInst 1(GLSL.std.450) 71(Reflect) 693 694 - 696:39(float64_t) Load 41(doublev) - 697:39(float64_t) FAdd 696 695 - Store 41(doublev) 697 - 698: 43(f64vec2) Load 45(dvec2v) - 699: 43(f64vec2) Load 45(dvec2v) - 700: 43(f64vec2) ExtInst 1(GLSL.std.450) 71(Reflect) 698 699 - 701: 43(f64vec2) Load 45(dvec2v) - 702: 43(f64vec2) FAdd 701 700 - Store 45(dvec2v) 702 - 703: 48(f64vec3) Load 50(dvec3v) - 704: 48(f64vec3) Load 50(dvec3v) - 705: 48(f64vec3) ExtInst 1(GLSL.std.450) 71(Reflect) 703 704 - 706: 48(f64vec3) Load 50(dvec3v) - 707: 48(f64vec3) FAdd 706 705 - Store 50(dvec3v) 707 - 708: 53(f64vec4) Load 55(dvec4v) - 709: 53(f64vec4) Load 55(dvec4v) - 710: 53(f64vec4) ExtInst 1(GLSL.std.450) 71(Reflect) 708 709 - 711: 53(f64vec4) Load 55(dvec4v) - 712: 53(f64vec4) FAdd 711 710 - Store 55(dvec4v) 712 - 713:39(float64_t) Load 41(doublev) - 714:39(float64_t) Load 41(doublev) - 715:39(float64_t) Load 41(doublev) - 716:39(float64_t) ExtInst 1(GLSL.std.450) 72(Refract) 713 714 715 - 717:39(float64_t) Load 41(doublev) - 718:39(float64_t) FAdd 717 716 - Store 41(doublev) 718 - 719: 43(f64vec2) Load 45(dvec2v) - 720: 43(f64vec2) Load 45(dvec2v) - 721:39(float64_t) Load 41(doublev) - 722: 43(f64vec2) ExtInst 1(GLSL.std.450) 72(Refract) 719 720 721 - 723: 43(f64vec2) Load 45(dvec2v) - 724: 43(f64vec2) FAdd 723 722 - Store 45(dvec2v) 724 - 725: 48(f64vec3) Load 50(dvec3v) - 726: 48(f64vec3) Load 50(dvec3v) + 665:39(float64_t) Load 41(doublev) + 666:39(float64_t) ExtInst 1(GLSL.std.450) 69(Normalize) 665 + 667:39(float64_t) Load 41(doublev) + 668:39(float64_t) FAdd 667 666 + Store 41(doublev) 668 + 669: 43(f64vec2) Load 45(dvec2v) + 670: 43(f64vec2) ExtInst 1(GLSL.std.450) 69(Normalize) 669 + 671: 43(f64vec2) Load 45(dvec2v) + 672: 43(f64vec2) FAdd 671 670 + Store 45(dvec2v) 672 + 673: 48(f64vec3) Load 50(dvec3v) + 674: 48(f64vec3) ExtInst 1(GLSL.std.450) 69(Normalize) 673 + 675: 48(f64vec3) Load 50(dvec3v) + 676: 48(f64vec3) FAdd 675 674 + Store 50(dvec3v) 676 + 677: 53(f64vec4) Load 55(dvec4v) + 678: 53(f64vec4) ExtInst 1(GLSL.std.450) 69(Normalize) 677 + 679: 53(f64vec4) Load 55(dvec4v) + 680: 53(f64vec4) FAdd 679 678 + Store 55(dvec4v) 680 + 681:39(float64_t) Load 41(doublev) + 682:39(float64_t) Load 41(doublev) + 683:39(float64_t) Load 41(doublev) + 684:39(float64_t) ExtInst 1(GLSL.std.450) 70(FaceForward) 681 682 683 + 685:39(float64_t) Load 41(doublev) + 686:39(float64_t) FAdd 685 684 + Store 41(doublev) 686 + 687: 43(f64vec2) Load 45(dvec2v) + 688: 43(f64vec2) Load 45(dvec2v) + 689: 43(f64vec2) Load 45(dvec2v) + 690: 43(f64vec2) ExtInst 1(GLSL.std.450) 70(FaceForward) 687 688 689 + 691: 43(f64vec2) Load 45(dvec2v) + 692: 43(f64vec2) FAdd 691 690 + Store 45(dvec2v) 692 + 693: 48(f64vec3) Load 50(dvec3v) + 694: 48(f64vec3) Load 50(dvec3v) + 695: 48(f64vec3) Load 50(dvec3v) + 696: 48(f64vec3) ExtInst 1(GLSL.std.450) 70(FaceForward) 693 694 695 + 697: 48(f64vec3) Load 50(dvec3v) + 698: 48(f64vec3) FAdd 697 696 + Store 50(dvec3v) 698 + 699: 53(f64vec4) Load 55(dvec4v) + 700: 53(f64vec4) Load 55(dvec4v) + 701: 53(f64vec4) Load 55(dvec4v) + 702: 53(f64vec4) ExtInst 1(GLSL.std.450) 70(FaceForward) 699 700 701 + 703: 53(f64vec4) Load 55(dvec4v) + 704: 53(f64vec4) FAdd 703 702 + Store 55(dvec4v) 704 + 705:39(float64_t) Load 41(doublev) + 706:39(float64_t) Load 41(doublev) + 707:39(float64_t) ExtInst 1(GLSL.std.450) 71(Reflect) 705 706 + 708:39(float64_t) Load 41(doublev) + 709:39(float64_t) FAdd 708 707 + Store 41(doublev) 709 + 710: 43(f64vec2) Load 45(dvec2v) + 711: 43(f64vec2) Load 45(dvec2v) + 712: 43(f64vec2) ExtInst 1(GLSL.std.450) 71(Reflect) 710 711 + 713: 43(f64vec2) Load 45(dvec2v) + 714: 43(f64vec2) FAdd 713 712 + Store 45(dvec2v) 714 + 715: 48(f64vec3) Load 50(dvec3v) + 716: 48(f64vec3) Load 50(dvec3v) + 717: 48(f64vec3) ExtInst 1(GLSL.std.450) 71(Reflect) 715 716 + 718: 48(f64vec3) Load 50(dvec3v) + 719: 48(f64vec3) FAdd 718 717 + Store 50(dvec3v) 719 + 720: 53(f64vec4) Load 55(dvec4v) + 721: 53(f64vec4) Load 55(dvec4v) + 722: 53(f64vec4) ExtInst 1(GLSL.std.450) 71(Reflect) 720 721 + 723: 53(f64vec4) Load 55(dvec4v) + 724: 53(f64vec4) FAdd 723 722 + Store 55(dvec4v) 724 + 725:39(float64_t) Load 41(doublev) + 726:39(float64_t) Load 41(doublev) 727:39(float64_t) Load 41(doublev) - 728: 48(f64vec3) ExtInst 1(GLSL.std.450) 72(Refract) 725 726 727 - 729: 48(f64vec3) Load 50(dvec3v) - 730: 48(f64vec3) FAdd 729 728 - Store 50(dvec3v) 730 - 731: 53(f64vec4) Load 55(dvec4v) - 732: 53(f64vec4) Load 55(dvec4v) + 728:39(float64_t) ExtInst 1(GLSL.std.450) 72(Refract) 725 726 727 + 729:39(float64_t) Load 41(doublev) + 730:39(float64_t) FAdd 729 728 + Store 41(doublev) 730 + 731: 43(f64vec2) Load 45(dvec2v) + 732: 43(f64vec2) Load 45(dvec2v) 733:39(float64_t) Load 41(doublev) - 734: 53(f64vec4) ExtInst 1(GLSL.std.450) 72(Refract) 731 732 733 - 735: 53(f64vec4) Load 55(dvec4v) - 736: 53(f64vec4) FAdd 735 734 - Store 55(dvec4v) 736 - 740: 43(f64vec2) Load 45(dvec2v) - 741: 43(f64vec2) Load 45(dvec2v) - 742: 737 OuterProduct 740 741 - Store 739(dmat2v) 742 - 746: 48(f64vec3) Load 50(dvec3v) - 747: 48(f64vec3) Load 50(dvec3v) - 748: 743 OuterProduct 746 747 - Store 745(dmat3v) 748 - 752: 53(f64vec4) Load 55(dvec4v) - 753: 53(f64vec4) Load 55(dvec4v) + 734: 43(f64vec2) ExtInst 1(GLSL.std.450) 72(Refract) 731 732 733 + 735: 43(f64vec2) Load 45(dvec2v) + 736: 43(f64vec2) FAdd 735 734 + Store 45(dvec2v) 736 + 737: 48(f64vec3) Load 50(dvec3v) + 738: 48(f64vec3) Load 50(dvec3v) + 739:39(float64_t) Load 41(doublev) + 740: 48(f64vec3) ExtInst 1(GLSL.std.450) 72(Refract) 737 738 739 + 741: 48(f64vec3) Load 50(dvec3v) + 742: 48(f64vec3) FAdd 741 740 + Store 50(dvec3v) 742 + 743: 53(f64vec4) Load 55(dvec4v) + 744: 53(f64vec4) Load 55(dvec4v) + 745:39(float64_t) Load 41(doublev) + 746: 53(f64vec4) ExtInst 1(GLSL.std.450) 72(Refract) 743 744 745 + 747: 53(f64vec4) Load 55(dvec4v) + 748: 53(f64vec4) FAdd 747 746 + Store 55(dvec4v) 748 + 752: 43(f64vec2) Load 45(dvec2v) + 753: 43(f64vec2) Load 45(dvec2v) 754: 749 OuterProduct 752 753 - Store 751(dmat4v) 754 + Store 751(dmat2v) 754 758: 48(f64vec3) Load 50(dvec3v) - 759: 43(f64vec2) Load 45(dvec2v) + 759: 48(f64vec3) Load 50(dvec3v) 760: 755 OuterProduct 758 759 - Store 757(dmat2x3v) 760 - 764: 43(f64vec2) Load 45(dvec2v) - 765: 48(f64vec3) Load 50(dvec3v) + Store 757(dmat3v) 760 + 764: 53(f64vec4) Load 55(dvec4v) + 765: 53(f64vec4) Load 55(dvec4v) 766: 761 OuterProduct 764 765 - Store 763(dmat3x2v) 766 - 770: 53(f64vec4) Load 55(dvec4v) + Store 763(dmat4v) 766 + 770: 48(f64vec3) Load 50(dvec3v) 771: 43(f64vec2) Load 45(dvec2v) 772: 767 OuterProduct 770 771 - Store 769(dmat2x4v) 772 + Store 769(dmat2x3v) 772 776: 43(f64vec2) Load 45(dvec2v) - 777: 53(f64vec4) Load 55(dvec4v) + 777: 48(f64vec3) Load 50(dvec3v) 778: 773 OuterProduct 776 777 - Store 775(dmat4x2v) 778 + Store 775(dmat3x2v) 778 782: 53(f64vec4) Load 55(dvec4v) - 783: 48(f64vec3) Load 50(dvec3v) + 783: 43(f64vec2) Load 45(dvec2v) 784: 779 OuterProduct 782 783 - Store 781(dmat3x4v) 784 - 788: 48(f64vec3) Load 50(dvec3v) + Store 781(dmat2x4v) 784 + 788: 43(f64vec2) Load 45(dvec2v) 789: 53(f64vec4) Load 55(dvec4v) 790: 785 OuterProduct 788 789 - Store 787(dmat4x3v) 790 - 791: 737 Load 739(dmat2v) - 792: 737 Load 739(dmat2v) - 793: 43(f64vec2) CompositeExtract 791 0 - 794: 43(f64vec2) CompositeExtract 792 0 - 795: 43(f64vec2) FMul 793 794 - 796: 43(f64vec2) CompositeExtract 791 1 - 797: 43(f64vec2) CompositeExtract 792 1 - 798: 43(f64vec2) 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(f64vec3) CompositeExtract 802 0 - 805: 48(f64vec3) CompositeExtract 803 0 - 806: 48(f64vec3) FMul 804 805 - 807: 48(f64vec3) CompositeExtract 802 1 - 808: 48(f64vec3) CompositeExtract 803 1 - 809: 48(f64vec3) FMul 807 808 - 810: 48(f64vec3) CompositeExtract 802 2 - 811: 48(f64vec3) CompositeExtract 803 2 - 812: 48(f64vec3) 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(f64vec4) CompositeExtract 816 0 - 819: 53(f64vec4) CompositeExtract 817 0 - 820: 53(f64vec4) FMul 818 819 - 821: 53(f64vec4) CompositeExtract 816 1 - 822: 53(f64vec4) CompositeExtract 817 1 - 823: 53(f64vec4) FMul 821 822 - 824: 53(f64vec4) CompositeExtract 816 2 - 825: 53(f64vec4) CompositeExtract 817 2 - 826: 53(f64vec4) FMul 824 825 - 827: 53(f64vec4) CompositeExtract 816 3 - 828: 53(f64vec4) CompositeExtract 817 3 - 829: 53(f64vec4) 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(f64vec3) CompositeExtract 833 0 - 836: 48(f64vec3) CompositeExtract 834 0 - 837: 48(f64vec3) FMul 835 836 - 838: 48(f64vec3) CompositeExtract 833 1 - 839: 48(f64vec3) CompositeExtract 834 1 - 840: 48(f64vec3) FMul 838 839 - 841: 755 CompositeConstruct 837 840 - Store 757(dmat2x3v) 841 - 842: 767 Load 769(dmat2x4v) - 843: 767 Load 769(dmat2x4v) - 844: 53(f64vec4) CompositeExtract 842 0 - 845: 53(f64vec4) CompositeExtract 843 0 - 846: 53(f64vec4) FMul 844 845 - 847: 53(f64vec4) CompositeExtract 842 1 - 848: 53(f64vec4) CompositeExtract 843 1 - 849: 53(f64vec4) FMul 847 848 - 850: 767 CompositeConstruct 846 849 - Store 769(dmat2x4v) 850 - 851: 761 Load 763(dmat3x2v) - 852: 761 Load 763(dmat3x2v) - 853: 43(f64vec2) CompositeExtract 851 0 - 854: 43(f64vec2) CompositeExtract 852 0 - 855: 43(f64vec2) FMul 853 854 - 856: 43(f64vec2) CompositeExtract 851 1 - 857: 43(f64vec2) CompositeExtract 852 1 - 858: 43(f64vec2) FMul 856 857 - 859: 43(f64vec2) CompositeExtract 851 2 - 860: 43(f64vec2) CompositeExtract 852 2 - 861: 43(f64vec2) 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(f64vec4) CompositeExtract 863 0 - 866: 53(f64vec4) CompositeExtract 864 0 - 867: 53(f64vec4) FMul 865 866 - 868: 53(f64vec4) CompositeExtract 863 1 - 869: 53(f64vec4) CompositeExtract 864 1 - 870: 53(f64vec4) FMul 868 869 - 871: 53(f64vec4) CompositeExtract 863 2 - 872: 53(f64vec4) CompositeExtract 864 2 - 873: 53(f64vec4) 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(f64vec2) CompositeExtract 875 0 - 878: 43(f64vec2) CompositeExtract 876 0 - 879: 43(f64vec2) FMul 877 878 - 880: 43(f64vec2) CompositeExtract 875 1 - 881: 43(f64vec2) CompositeExtract 876 1 - 882: 43(f64vec2) FMul 880 881 - 883: 43(f64vec2) CompositeExtract 875 2 - 884: 43(f64vec2) CompositeExtract 876 2 - 885: 43(f64vec2) FMul 883 884 - 886: 43(f64vec2) CompositeExtract 875 3 - 887: 43(f64vec2) CompositeExtract 876 3 - 888: 43(f64vec2) 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(f64vec3) CompositeExtract 890 0 - 893: 48(f64vec3) CompositeExtract 891 0 - 894: 48(f64vec3) FMul 892 893 - 895: 48(f64vec3) CompositeExtract 890 1 - 896: 48(f64vec3) CompositeExtract 891 1 - 897: 48(f64vec3) FMul 895 896 - 898: 48(f64vec3) CompositeExtract 890 2 - 899: 48(f64vec3) CompositeExtract 891 2 - 900: 48(f64vec3) FMul 898 899 - 901: 48(f64vec3) CompositeExtract 890 3 - 902: 48(f64vec3) CompositeExtract 891 3 - 903: 48(f64vec3) 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(float64_t) ExtInst 1(GLSL.std.450) 33(Determinant) 929 - 931:39(float64_t) Load 41(doublev) - 932:39(float64_t) FAdd 931 930 - Store 41(doublev) 932 - 933: 743 Load 745(dmat3v) - 934:39(float64_t) ExtInst 1(GLSL.std.450) 33(Determinant) 933 - 935:39(float64_t) Load 41(doublev) - 936:39(float64_t) FAdd 935 934 - Store 41(doublev) 936 - 937: 749 Load 751(dmat4v) - 938:39(float64_t) ExtInst 1(GLSL.std.450) 33(Determinant) 937 - 939:39(float64_t) Load 41(doublev) - 940:39(float64_t) 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(float64_t) Load 41(doublev) - 955: 40(ptr) AccessChain 45(dvec2v) 954 - 956:39(float64_t) Load 955 - 957:39(float64_t) FAdd 953 956 - 959: 40(ptr) AccessChain 50(dvec3v) 958 - 960:39(float64_t) Load 959 - 961:39(float64_t) FAdd 957 960 - 963: 40(ptr) AccessChain 55(dvec4v) 962 - 964:39(float64_t) Load 963 - 965:39(float64_t) FAdd 961 964 - 967: 40(ptr) AccessChain 739(dmat2v) 966 954 + Store 787(dmat4x2v) 790 + 794: 53(f64vec4) Load 55(dvec4v) + 795: 48(f64vec3) Load 50(dvec3v) + 796: 791 OuterProduct 794 795 + Store 793(dmat3x4v) 796 + 800: 48(f64vec3) Load 50(dvec3v) + 801: 53(f64vec4) Load 55(dvec4v) + 802: 797 OuterProduct 800 801 + Store 799(dmat4x3v) 802 + 803: 749 Load 751(dmat2v) + 804: 749 Load 751(dmat2v) + 805: 43(f64vec2) CompositeExtract 803 0 + 806: 43(f64vec2) CompositeExtract 804 0 + 807: 43(f64vec2) FMul 805 806 + 808: 43(f64vec2) CompositeExtract 803 1 + 809: 43(f64vec2) CompositeExtract 804 1 + 810: 43(f64vec2) FMul 808 809 + 811: 749 CompositeConstruct 807 810 + 812: 749 Load 751(dmat2v) + 813: 749 MatrixTimesMatrix 812 811 + Store 751(dmat2v) 813 + 814: 755 Load 757(dmat3v) + 815: 755 Load 757(dmat3v) + 816: 48(f64vec3) CompositeExtract 814 0 + 817: 48(f64vec3) CompositeExtract 815 0 + 818: 48(f64vec3) FMul 816 817 + 819: 48(f64vec3) CompositeExtract 814 1 + 820: 48(f64vec3) CompositeExtract 815 1 + 821: 48(f64vec3) FMul 819 820 + 822: 48(f64vec3) CompositeExtract 814 2 + 823: 48(f64vec3) CompositeExtract 815 2 + 824: 48(f64vec3) FMul 822 823 + 825: 755 CompositeConstruct 818 821 824 + 826: 755 Load 757(dmat3v) + 827: 755 MatrixTimesMatrix 826 825 + Store 757(dmat3v) 827 + 828: 761 Load 763(dmat4v) + 829: 761 Load 763(dmat4v) + 830: 53(f64vec4) CompositeExtract 828 0 + 831: 53(f64vec4) CompositeExtract 829 0 + 832: 53(f64vec4) FMul 830 831 + 833: 53(f64vec4) CompositeExtract 828 1 + 834: 53(f64vec4) CompositeExtract 829 1 + 835: 53(f64vec4) FMul 833 834 + 836: 53(f64vec4) CompositeExtract 828 2 + 837: 53(f64vec4) CompositeExtract 829 2 + 838: 53(f64vec4) FMul 836 837 + 839: 53(f64vec4) CompositeExtract 828 3 + 840: 53(f64vec4) CompositeExtract 829 3 + 841: 53(f64vec4) FMul 839 840 + 842: 761 CompositeConstruct 832 835 838 841 + 843: 761 Load 763(dmat4v) + 844: 761 MatrixTimesMatrix 843 842 + Store 763(dmat4v) 844 + 845: 767 Load 769(dmat2x3v) + 846: 767 Load 769(dmat2x3v) + 847: 48(f64vec3) CompositeExtract 845 0 + 848: 48(f64vec3) CompositeExtract 846 0 + 849: 48(f64vec3) FMul 847 848 + 850: 48(f64vec3) CompositeExtract 845 1 + 851: 48(f64vec3) CompositeExtract 846 1 + 852: 48(f64vec3) FMul 850 851 + 853: 767 CompositeConstruct 849 852 + Store 769(dmat2x3v) 853 + 854: 779 Load 781(dmat2x4v) + 855: 779 Load 781(dmat2x4v) + 856: 53(f64vec4) CompositeExtract 854 0 + 857: 53(f64vec4) CompositeExtract 855 0 + 858: 53(f64vec4) FMul 856 857 + 859: 53(f64vec4) CompositeExtract 854 1 + 860: 53(f64vec4) CompositeExtract 855 1 + 861: 53(f64vec4) FMul 859 860 + 862: 779 CompositeConstruct 858 861 + Store 781(dmat2x4v) 862 + 863: 773 Load 775(dmat3x2v) + 864: 773 Load 775(dmat3x2v) + 865: 43(f64vec2) CompositeExtract 863 0 + 866: 43(f64vec2) CompositeExtract 864 0 + 867: 43(f64vec2) FMul 865 866 + 868: 43(f64vec2) CompositeExtract 863 1 + 869: 43(f64vec2) CompositeExtract 864 1 + 870: 43(f64vec2) FMul 868 869 + 871: 43(f64vec2) CompositeExtract 863 2 + 872: 43(f64vec2) CompositeExtract 864 2 + 873: 43(f64vec2) FMul 871 872 + 874: 773 CompositeConstruct 867 870 873 + Store 775(dmat3x2v) 874 + 875: 791 Load 793(dmat3x4v) + 876: 791 Load 793(dmat3x4v) + 877: 53(f64vec4) CompositeExtract 875 0 + 878: 53(f64vec4) CompositeExtract 876 0 + 879: 53(f64vec4) FMul 877 878 + 880: 53(f64vec4) CompositeExtract 875 1 + 881: 53(f64vec4) CompositeExtract 876 1 + 882: 53(f64vec4) FMul 880 881 + 883: 53(f64vec4) CompositeExtract 875 2 + 884: 53(f64vec4) CompositeExtract 876 2 + 885: 53(f64vec4) FMul 883 884 + 886: 791 CompositeConstruct 879 882 885 + Store 793(dmat3x4v) 886 + 887: 785 Load 787(dmat4x2v) + 888: 785 Load 787(dmat4x2v) + 889: 43(f64vec2) CompositeExtract 887 0 + 890: 43(f64vec2) CompositeExtract 888 0 + 891: 43(f64vec2) FMul 889 890 + 892: 43(f64vec2) CompositeExtract 887 1 + 893: 43(f64vec2) CompositeExtract 888 1 + 894: 43(f64vec2) FMul 892 893 + 895: 43(f64vec2) CompositeExtract 887 2 + 896: 43(f64vec2) CompositeExtract 888 2 + 897: 43(f64vec2) FMul 895 896 + 898: 43(f64vec2) CompositeExtract 887 3 + 899: 43(f64vec2) CompositeExtract 888 3 + 900: 43(f64vec2) FMul 898 899 + 901: 785 CompositeConstruct 891 894 897 900 + Store 787(dmat4x2v) 901 + 902: 797 Load 799(dmat4x3v) + 903: 797 Load 799(dmat4x3v) + 904: 48(f64vec3) CompositeExtract 902 0 + 905: 48(f64vec3) CompositeExtract 903 0 + 906: 48(f64vec3) FMul 904 905 + 907: 48(f64vec3) CompositeExtract 902 1 + 908: 48(f64vec3) CompositeExtract 903 1 + 909: 48(f64vec3) FMul 907 908 + 910: 48(f64vec3) CompositeExtract 902 2 + 911: 48(f64vec3) CompositeExtract 903 2 + 912: 48(f64vec3) FMul 910 911 + 913: 48(f64vec3) CompositeExtract 902 3 + 914: 48(f64vec3) CompositeExtract 903 3 + 915: 48(f64vec3) FMul 913 914 + 916: 797 CompositeConstruct 906 909 912 915 + Store 799(dmat4x3v) 916 + 917: 749 Load 751(dmat2v) + 918: 749 Transpose 917 + 919: 749 Load 751(dmat2v) + 920: 749 MatrixTimesMatrix 919 918 + Store 751(dmat2v) 920 + 921: 755 Load 757(dmat3v) + 922: 755 Transpose 921 + 923: 755 Load 757(dmat3v) + 924: 755 MatrixTimesMatrix 923 922 + Store 757(dmat3v) 924 + 925: 761 Load 763(dmat4v) + 926: 761 Transpose 925 + 927: 761 Load 763(dmat4v) + 928: 761 MatrixTimesMatrix 927 926 + Store 763(dmat4v) 928 + 929: 773 Load 775(dmat3x2v) + 930: 767 Transpose 929 + Store 769(dmat2x3v) 930 + 931: 767 Load 769(dmat2x3v) + 932: 773 Transpose 931 + Store 775(dmat3x2v) 932 + 933: 785 Load 787(dmat4x2v) + 934: 779 Transpose 933 + Store 781(dmat2x4v) 934 + 935: 779 Load 781(dmat2x4v) + 936: 785 Transpose 935 + Store 787(dmat4x2v) 936 + 937: 797 Load 799(dmat4x3v) + 938: 791 Transpose 937 + Store 793(dmat3x4v) 938 + 939: 791 Load 793(dmat3x4v) + 940: 797 Transpose 939 + Store 799(dmat4x3v) 940 + 941: 749 Load 751(dmat2v) + 942:39(float64_t) ExtInst 1(GLSL.std.450) 33(Determinant) 941 + 943:39(float64_t) Load 41(doublev) + 944:39(float64_t) FAdd 943 942 + Store 41(doublev) 944 + 945: 755 Load 757(dmat3v) + 946:39(float64_t) ExtInst 1(GLSL.std.450) 33(Determinant) 945 + 947:39(float64_t) Load 41(doublev) + 948:39(float64_t) FAdd 947 946 + Store 41(doublev) 948 + 949: 761 Load 763(dmat4v) + 950:39(float64_t) ExtInst 1(GLSL.std.450) 33(Determinant) 949 + 951:39(float64_t) Load 41(doublev) + 952:39(float64_t) FAdd 951 950 + Store 41(doublev) 952 + 953: 749 Load 751(dmat2v) + 954: 749 ExtInst 1(GLSL.std.450) 34(MatrixInverse) 953 + 955: 749 Load 751(dmat2v) + 956: 749 MatrixTimesMatrix 955 954 + Store 751(dmat2v) 956 + 957: 755 Load 757(dmat3v) + 958: 755 ExtInst 1(GLSL.std.450) 34(MatrixInverse) 957 + 959: 755 Load 757(dmat3v) + 960: 755 MatrixTimesMatrix 959 958 + Store 757(dmat3v) 960 + 961: 761 Load 763(dmat4v) + 962: 761 ExtInst 1(GLSL.std.450) 34(MatrixInverse) 961 + 963: 761 Load 763(dmat4v) + 964: 761 MatrixTimesMatrix 963 962 + Store 763(dmat4v) 964 + 965:39(float64_t) Load 41(doublev) + 967: 40(ptr) AccessChain 45(dvec2v) 966 968:39(float64_t) Load 967 969:39(float64_t) FAdd 965 968 - 971: 40(ptr) AccessChain 745(dmat3v) 970 958 + 971: 40(ptr) AccessChain 50(dvec3v) 970 972:39(float64_t) Load 971 973:39(float64_t) FAdd 969 972 - 974: 40(ptr) AccessChain 751(dmat4v) 25 962 - 975:39(float64_t) Load 974 - 976:39(float64_t) FAdd 973 975 - 977: 40(ptr) AccessChain 757(dmat2x3v) 966 954 - 978:39(float64_t) Load 977 - 979:39(float64_t) FAdd 976 978 - 980: 40(ptr) AccessChain 763(dmat3x2v) 966 954 - 981:39(float64_t) Load 980 - 982:39(float64_t) FAdd 979 981 - 983: 40(ptr) AccessChain 781(dmat3x4v) 970 958 + 975: 40(ptr) AccessChain 55(dvec4v) 974 + 976:39(float64_t) Load 975 + 977:39(float64_t) FAdd 973 976 + 979: 40(ptr) AccessChain 751(dmat2v) 978 966 + 980:39(float64_t) Load 979 + 981:39(float64_t) FAdd 977 980 + 983: 40(ptr) AccessChain 757(dmat3v) 982 970 984:39(float64_t) Load 983 - 985:39(float64_t) FAdd 982 984 - 986: 40(ptr) AccessChain 787(dmat4x3v) 970 958 + 985:39(float64_t) FAdd 981 984 + 986: 40(ptr) AccessChain 763(dmat4v) 25 974 987:39(float64_t) Load 986 988:39(float64_t) FAdd 985 987 - 989: 40(ptr) AccessChain 769(dmat2x4v) 966 954 + 989: 40(ptr) AccessChain 769(dmat2x3v) 978 966 990:39(float64_t) Load 989 991:39(float64_t) FAdd 988 990 - 992: 40(ptr) AccessChain 775(dmat4x2v) 966 954 + 992: 40(ptr) AccessChain 775(dmat3x2v) 978 966 993:39(float64_t) Load 992 994:39(float64_t) FAdd 991 993 - 995: 428(bool) Load 430(boolv) - 997: 10(float) Select 995 996 21 - 998:39(float64_t) FConvert 997 - 999:39(float64_t) FAdd 994 998 - 1000: 429(ptr) AccessChain 439(bvec2v) 33 - 1001: 428(bool) Load 1000 - 1002: 10(float) Select 1001 996 21 - 1003:39(float64_t) FConvert 1002 - 1004:39(float64_t) FAdd 999 1003 - 1005: 429(ptr) AccessChain 448(bvec3v) 33 - 1006: 428(bool) Load 1005 - 1007: 10(float) Select 1006 996 21 - 1008:39(float64_t) FConvert 1007 - 1009:39(float64_t) FAdd 1004 1008 - 1010: 429(ptr) AccessChain 457(bvec4v) 33 - 1011: 428(bool) Load 1010 - 1012: 10(float) Select 1011 996 21 - 1013:39(float64_t) FConvert 1012 - 1014:39(float64_t) FAdd 1009 1013 - 1015: 10(float) FConvert 1014 - 1016: 11(fvec4) Load 13(outp) - 1017: 11(fvec4) VectorTimesScalar 1016 1015 - Store 13(outp) 1017 + 995: 40(ptr) AccessChain 793(dmat3x4v) 982 970 + 996:39(float64_t) Load 995 + 997:39(float64_t) FAdd 994 996 + 998: 40(ptr) AccessChain 799(dmat4x3v) 982 970 + 999:39(float64_t) Load 998 + 1000:39(float64_t) FAdd 997 999 + 1001: 40(ptr) AccessChain 781(dmat2x4v) 978 966 + 1002:39(float64_t) Load 1001 + 1003:39(float64_t) FAdd 1000 1002 + 1004: 40(ptr) AccessChain 787(dmat4x2v) 978 966 + 1005:39(float64_t) Load 1004 + 1006:39(float64_t) FAdd 1003 1005 + 1007: 440(bool) Load 442(boolv) + 1009: 10(float) Select 1007 1008 21 + 1010:39(float64_t) FConvert 1009 + 1011:39(float64_t) FAdd 1006 1010 + 1012: 441(ptr) AccessChain 451(bvec2v) 33 + 1013: 440(bool) Load 1012 + 1014: 10(float) Select 1013 1008 21 + 1015:39(float64_t) FConvert 1014 + 1016:39(float64_t) FAdd 1011 1015 + 1017: 441(ptr) AccessChain 460(bvec3v) 33 + 1018: 440(bool) Load 1017 + 1019: 10(float) Select 1018 1008 21 + 1020:39(float64_t) FConvert 1019 + 1021:39(float64_t) FAdd 1016 1020 + 1022: 441(ptr) AccessChain 469(bvec4v) 33 + 1023: 440(bool) Load 1022 + 1024: 10(float) Select 1023 1008 21 + 1025:39(float64_t) FConvert 1024 + 1026:39(float64_t) FAdd 1021 1025 + 1027: 10(float) FConvert 1026 + 1028: 11(fvec4) Load 13(outp) + 1029: 11(fvec4) VectorTimesScalar 1028 1027 + Store 13(outp) 1029 Return FunctionEnd diff --git a/Test/baseResults/spv.Operations.frag.out b/Test/baseResults/spv.Operations.frag.out index f9059c657a..9f24624a4d 100644 --- a/Test/baseResults/spv.Operations.frag.out +++ b/Test/baseResults/spv.Operations.frag.out @@ -1,12 +1,12 @@ spv.Operations.frag // Module Version 10000 // Generated by (magic number): 8000b -// Id's are bound by 591 +// Id's are bound by 596 Capability Shader 1: ExtInstImport "GLSL.std.450" MemoryModel Logical GLSL450 - EntryPoint Fragment 4 "main" 11 22 220 296 314 547 588 + EntryPoint Fragment 4 "main" 11 22 225 301 319 552 593 ExecutionMode 4 OriginUpperLeft Source GLSL 450 Name 4 "main" @@ -14,36 +14,37 @@ spv.Operations.frag Name 11 "uv4" Name 20 "i" Name 22 "ui" - Name 155 "swizzleTemp" - Name 189 "ub41" - Name 196 "f" - Name 220 "uf" - Name 293 "u" - Name 296 "uui" - Name 314 "uuv4" - Name 321 "msb" - Name 323 "swizzleTemp" - Name 324 "lsb" - Name 325 "swizzleTemp" - Name 326 "ResType" - Name 367 "b" - Name 404 "ub42" - Name 547 "FragColor" - Name 565 "m1" - Name 572 "m2" - Name 588 "uiv4" - Name 590 "ub" + Name 151 "ResType" + Name 158 "swizzleTemp" + Name 194 "ub41" + Name 201 "f" + Name 225 "uf" + Name 298 "u" + Name 301 "uui" + Name 319 "uuv4" + Name 326 "msb" + Name 328 "swizzleTemp" + Name 329 "lsb" + Name 330 "swizzleTemp" + Name 331 "ResType" + Name 372 "b" + Name 409 "ub42" + Name 552 "FragColor" + Name 570 "m1" + Name 577 "m2" + Name 593 "uiv4" + Name 595 "ub" Decorate 11(uv4) Location 1 Decorate 22(ui) Flat Decorate 22(ui) Location 3 - Decorate 220(uf) Location 2 - Decorate 296(uui) Flat - Decorate 296(uui) Location 5 - Decorate 314(uuv4) Flat - Decorate 314(uuv4) Location 4 - Decorate 547(FragColor) Location 0 - Decorate 588(uiv4) Flat - Decorate 588(uiv4) Location 0 + Decorate 225(uf) Location 2 + Decorate 301(uui) Flat + Decorate 301(uui) Location 5 + Decorate 319(uuv4) Flat + Decorate 319(uuv4) Location 4 + Decorate 552(FragColor) Location 0 + Decorate 593(uiv4) Flat + Decorate 593(uiv4) Location 0 2: TypeVoid 3: TypeFunction 2 6: TypeFloat 32 @@ -58,66 +59,67 @@ spv.Operations.frag 141: TypeInt 32 0 142: 141(int) Constant 0 143: TypePointer Function 6(float) - 186: TypeBool - 187: TypeVector 186(bool) 4 - 188: TypePointer Private 187(bvec4) - 189(ub41): 188(ptr) Variable Private - 219: TypePointer Input 6(float) - 220(uf): 219(ptr) Variable Input - 292: TypePointer Function 141(int) - 295: TypePointer Input 141(int) - 296(uui): 295(ptr) Variable Input - 312: TypeVector 141(int) 4 - 313: TypePointer Input 312(ivec4) - 314(uuv4): 313(ptr) Variable Input - 315: TypeVector 141(int) 3 - 320: TypePointer Function 312(ivec4) - 322: TypePointer Function 315(ivec3) - 326(ResType): TypeStruct 315(ivec3) 315(ivec3) - 333: 141(int) Constant 1 - 336: 141(int) Constant 2 - 366: TypePointer Function 186(bool) - 404(ub42): 188(ptr) Variable Private - 460: 18(int) Constant 2 - 467: 18(int) Constant 1 - 497: TypeVector 6(float) 3 - 516: 6(float) Constant 1073741824 - 523: 6(float) Constant 1065353216 - 528: 18(int) Constant 66 - 534: 18(int) Constant 17 - 546: TypePointer Output 7(fvec4) - 547(FragColor): 546(ptr) Variable Output - 563: TypeMatrix 7(fvec4) 4 - 564: TypePointer Function 563 - 566: 6(float) Constant 0 - 567: 7(fvec4) ConstantComposite 523 566 566 566 - 568: 7(fvec4) ConstantComposite 566 523 566 566 - 569: 7(fvec4) ConstantComposite 566 566 523 566 - 570: 7(fvec4) ConstantComposite 566 566 566 523 - 571: 563 ConstantComposite 567 568 569 570 - 573: 7(fvec4) ConstantComposite 566 566 566 566 - 574: 563 ConstantComposite 573 573 573 573 - 586: TypeVector 18(int) 4 - 587: TypePointer Input 586(ivec4) - 588(uiv4): 587(ptr) Variable Input - 589: TypePointer Private 186(bool) - 590(ub): 589(ptr) Variable Private + 151(ResType): TypeStruct 7(fvec4) 7(fvec4) + 191: TypeBool + 192: TypeVector 191(bool) 4 + 193: TypePointer Private 192(bvec4) + 194(ub41): 193(ptr) Variable Private + 224: TypePointer Input 6(float) + 225(uf): 224(ptr) Variable Input + 297: TypePointer Function 141(int) + 300: TypePointer Input 141(int) + 301(uui): 300(ptr) Variable Input + 317: TypeVector 141(int) 4 + 318: TypePointer Input 317(ivec4) + 319(uuv4): 318(ptr) Variable Input + 320: TypeVector 141(int) 3 + 325: TypePointer Function 317(ivec4) + 327: TypePointer Function 320(ivec3) + 331(ResType): TypeStruct 320(ivec3) 320(ivec3) + 338: 141(int) Constant 1 + 341: 141(int) Constant 2 + 371: TypePointer Function 191(bool) + 409(ub42): 193(ptr) Variable Private + 465: 18(int) Constant 2 + 472: 18(int) Constant 1 + 502: TypeVector 6(float) 3 + 521: 6(float) Constant 1073741824 + 528: 6(float) Constant 1065353216 + 533: 18(int) Constant 66 + 539: 18(int) Constant 17 + 551: TypePointer Output 7(fvec4) + 552(FragColor): 551(ptr) Variable Output + 568: TypeMatrix 7(fvec4) 4 + 569: TypePointer Function 568 + 571: 6(float) Constant 0 + 572: 7(fvec4) ConstantComposite 528 571 571 571 + 573: 7(fvec4) ConstantComposite 571 528 571 571 + 574: 7(fvec4) ConstantComposite 571 571 528 571 + 575: 7(fvec4) ConstantComposite 571 571 571 528 + 576: 568 ConstantComposite 572 573 574 575 + 578: 7(fvec4) ConstantComposite 571 571 571 571 + 579: 568 ConstantComposite 578 578 578 578 + 591: TypeVector 18(int) 4 + 592: TypePointer Input 591(ivec4) + 593(uiv4): 592(ptr) Variable Input + 594: TypePointer Private 191(bool) + 595(ub): 594(ptr) Variable Private 4(main): 2 Function None 3 5: Label 9(v): 8(ptr) Variable Function 20(i): 19(ptr) Variable Function -155(swizzleTemp): 8(ptr) Variable Function - 196(f): 143(ptr) Variable Function - 293(u): 292(ptr) Variable Function - 321(msb): 320(ptr) Variable Function -323(swizzleTemp): 322(ptr) Variable Function - 324(lsb): 320(ptr) Variable Function -325(swizzleTemp): 322(ptr) Variable Function - 367(b): 366(ptr) Variable Function - 549: 8(ptr) Variable Function - 565(m1): 564(ptr) Variable Function - 572(m2): 564(ptr) Variable Function - 576: 564(ptr) Variable Function +158(swizzleTemp): 8(ptr) Variable Function + 201(f): 143(ptr) Variable Function + 298(u): 297(ptr) Variable Function + 326(msb): 325(ptr) Variable Function +328(swizzleTemp): 327(ptr) Variable Function + 329(lsb): 325(ptr) Variable Function +330(swizzleTemp): 327(ptr) Variable Function + 372(b): 371(ptr) Variable Function + 554: 8(ptr) Variable Function + 570(m1): 569(ptr) Variable Function + 577(m2): 569(ptr) Variable Function + 581: 569(ptr) Variable Function 12: 7(fvec4) Load 11(uv4) 13: 7(fvec4) ExtInst 1(GLSL.std.450) 11(Radians) 12 Store 9(v) 13 @@ -281,506 +283,512 @@ spv.Operations.frag 149: 7(fvec4) FAdd 148 147 Store 9(v) 149 150: 7(fvec4) Load 9(v) - 151: 7(fvec4) ExtInst 1(GLSL.std.450) 35(Modf) 150 9(v) - 152: 7(fvec4) Load 9(v) - 153: 7(fvec4) FAdd 152 151 + 152:151(ResType) ExtInst 1(GLSL.std.450) 36(ModfStruct) 150 + 153: 7(fvec4) CompositeExtract 152 1 Store 9(v) 153 - 154: 7(fvec4) Load 9(v) - 156: 7(fvec4) ExtInst 1(GLSL.std.450) 35(Modf) 154 155(swizzleTemp) - 157: 7(fvec4) Load 155(swizzleTemp) - 158: 7(fvec4) Load 9(v) - 159: 7(fvec4) VectorShuffle 158 157 6 4 5 7 - Store 9(v) 159 - 160: 7(fvec4) Load 9(v) - 161: 7(fvec4) FAdd 160 156 - Store 9(v) 161 - 162: 7(fvec4) Load 9(v) - 163: 7(fvec4) Load 11(uv4) - 164: 7(fvec4) ExtInst 1(GLSL.std.450) 37(FMin) 162 163 + 154: 7(fvec4) CompositeExtract 152 0 + 155: 7(fvec4) Load 9(v) + 156: 7(fvec4) FAdd 155 154 + Store 9(v) 156 + 157: 7(fvec4) Load 9(v) + 159:151(ResType) ExtInst 1(GLSL.std.450) 36(ModfStruct) 157 + 160: 7(fvec4) CompositeExtract 159 1 + Store 158(swizzleTemp) 160 + 161: 7(fvec4) CompositeExtract 159 0 + 162: 7(fvec4) Load 158(swizzleTemp) + 163: 7(fvec4) Load 9(v) + 164: 7(fvec4) VectorShuffle 163 162 6 4 5 7 + Store 9(v) 164 165: 7(fvec4) Load 9(v) - 166: 7(fvec4) FAdd 165 164 + 166: 7(fvec4) FAdd 165 161 Store 9(v) 166 167: 7(fvec4) Load 9(v) 168: 7(fvec4) Load 11(uv4) - 169: 7(fvec4) ExtInst 1(GLSL.std.450) 40(FMax) 167 168 + 169: 7(fvec4) ExtInst 1(GLSL.std.450) 37(FMin) 167 168 170: 7(fvec4) Load 9(v) 171: 7(fvec4) FAdd 170 169 Store 9(v) 171 172: 7(fvec4) Load 9(v) 173: 7(fvec4) Load 11(uv4) - 174: 7(fvec4) Load 11(uv4) - 175: 7(fvec4) ExtInst 1(GLSL.std.450) 43(FClamp) 172 173 174 - 176: 7(fvec4) Load 9(v) - 177: 7(fvec4) FAdd 176 175 - Store 9(v) 177 - 178: 7(fvec4) Load 9(v) - 179: 7(fvec4) Load 9(v) - 180: 7(fvec4) Load 9(v) - 181: 7(fvec4) ExtInst 1(GLSL.std.450) 46(FMix) 178 179 180 - 182: 7(fvec4) Load 9(v) - 183: 7(fvec4) FAdd 182 181 - Store 9(v) 183 + 174: 7(fvec4) ExtInst 1(GLSL.std.450) 40(FMax) 172 173 + 175: 7(fvec4) Load 9(v) + 176: 7(fvec4) FAdd 175 174 + Store 9(v) 176 + 177: 7(fvec4) Load 9(v) + 178: 7(fvec4) Load 11(uv4) + 179: 7(fvec4) Load 11(uv4) + 180: 7(fvec4) ExtInst 1(GLSL.std.450) 43(FClamp) 177 178 179 + 181: 7(fvec4) Load 9(v) + 182: 7(fvec4) FAdd 181 180 + Store 9(v) 182 + 183: 7(fvec4) Load 9(v) 184: 7(fvec4) Load 9(v) 185: 7(fvec4) Load 9(v) - 190: 187(bvec4) Load 189(ub41) - 191: 7(fvec4) Select 190 185 184 - 192: 7(fvec4) Load 9(v) - 193: 7(fvec4) FAdd 192 191 - Store 9(v) 193 - 194: 7(fvec4) Load 9(v) - 195: 7(fvec4) Load 9(v) - 197: 6(float) Load 196(f) - 198: 7(fvec4) CompositeConstruct 197 197 197 197 - 199: 7(fvec4) ExtInst 1(GLSL.std.450) 46(FMix) 194 195 198 + 186: 7(fvec4) ExtInst 1(GLSL.std.450) 46(FMix) 183 184 185 + 187: 7(fvec4) Load 9(v) + 188: 7(fvec4) FAdd 187 186 + Store 9(v) 188 + 189: 7(fvec4) Load 9(v) + 190: 7(fvec4) Load 9(v) + 195: 192(bvec4) Load 194(ub41) + 196: 7(fvec4) Select 195 190 189 + 197: 7(fvec4) Load 9(v) + 198: 7(fvec4) FAdd 197 196 + Store 9(v) 198 + 199: 7(fvec4) Load 9(v) 200: 7(fvec4) Load 9(v) - 201: 7(fvec4) FAdd 200 199 - Store 9(v) 201 - 202: 7(fvec4) Load 9(v) - 203: 7(fvec4) Load 11(uv4) - 204: 7(fvec4) Load 9(v) - 205: 7(fvec4) ExtInst 1(GLSL.std.450) 50(Fma) 202 203 204 - 206: 7(fvec4) Load 9(v) - 207: 7(fvec4) FAdd 206 205 - Store 9(v) 207 - 208: 7(fvec4) Load 9(v) + 202: 6(float) Load 201(f) + 203: 7(fvec4) CompositeConstruct 202 202 202 202 + 204: 7(fvec4) ExtInst 1(GLSL.std.450) 46(FMix) 199 200 203 + 205: 7(fvec4) Load 9(v) + 206: 7(fvec4) FAdd 205 204 + Store 9(v) 206 + 207: 7(fvec4) Load 9(v) + 208: 7(fvec4) Load 11(uv4) 209: 7(fvec4) Load 9(v) - 210: 7(fvec4) ExtInst 1(GLSL.std.450) 48(Step) 208 209 + 210: 7(fvec4) ExtInst 1(GLSL.std.450) 50(Fma) 207 208 209 211: 7(fvec4) Load 9(v) 212: 7(fvec4) FAdd 211 210 Store 9(v) 212 213: 7(fvec4) Load 9(v) 214: 7(fvec4) Load 9(v) - 215: 7(fvec4) Load 9(v) - 216: 7(fvec4) ExtInst 1(GLSL.std.450) 49(SmoothStep) 213 214 215 - 217: 7(fvec4) Load 9(v) - 218: 7(fvec4) FAdd 217 216 - Store 9(v) 218 - 221: 6(float) Load 220(uf) + 215: 7(fvec4) ExtInst 1(GLSL.std.450) 48(Step) 213 214 + 216: 7(fvec4) Load 9(v) + 217: 7(fvec4) FAdd 216 215 + Store 9(v) 217 + 218: 7(fvec4) Load 9(v) + 219: 7(fvec4) Load 9(v) + 220: 7(fvec4) Load 9(v) + 221: 7(fvec4) ExtInst 1(GLSL.std.450) 49(SmoothStep) 218 219 220 222: 7(fvec4) Load 9(v) - 223: 7(fvec4) CompositeConstruct 221 221 221 221 - 224: 7(fvec4) ExtInst 1(GLSL.std.450) 48(Step) 223 222 - 225: 7(fvec4) Load 9(v) - 226: 7(fvec4) FAdd 225 224 - Store 9(v) 226 - 227: 6(float) Load 220(uf) - 228: 6(float) Load 220(uf) - 229: 7(fvec4) Load 9(v) - 230: 7(fvec4) CompositeConstruct 227 227 227 227 - 231: 7(fvec4) CompositeConstruct 228 228 228 228 - 232: 7(fvec4) ExtInst 1(GLSL.std.450) 49(SmoothStep) 230 231 229 - 233: 7(fvec4) Load 9(v) - 234: 7(fvec4) FAdd 233 232 - Store 9(v) 234 - 235: 7(fvec4) Load 9(v) - 236: 7(fvec4) ExtInst 1(GLSL.std.450) 69(Normalize) 235 - 237: 7(fvec4) Load 9(v) - 238: 7(fvec4) FAdd 237 236 - Store 9(v) 238 - 239: 7(fvec4) Load 9(v) + 223: 7(fvec4) FAdd 222 221 + Store 9(v) 223 + 226: 6(float) Load 225(uf) + 227: 7(fvec4) Load 9(v) + 228: 7(fvec4) CompositeConstruct 226 226 226 226 + 229: 7(fvec4) ExtInst 1(GLSL.std.450) 48(Step) 228 227 + 230: 7(fvec4) Load 9(v) + 231: 7(fvec4) FAdd 230 229 + Store 9(v) 231 + 232: 6(float) Load 225(uf) + 233: 6(float) Load 225(uf) + 234: 7(fvec4) Load 9(v) + 235: 7(fvec4) CompositeConstruct 232 232 232 232 + 236: 7(fvec4) CompositeConstruct 233 233 233 233 + 237: 7(fvec4) ExtInst 1(GLSL.std.450) 49(SmoothStep) 235 236 234 + 238: 7(fvec4) Load 9(v) + 239: 7(fvec4) FAdd 238 237 + Store 9(v) 239 240: 7(fvec4) Load 9(v) - 241: 7(fvec4) Load 9(v) - 242: 7(fvec4) ExtInst 1(GLSL.std.450) 70(FaceForward) 239 240 241 - 243: 7(fvec4) Load 9(v) - 244: 7(fvec4) FAdd 243 242 - Store 9(v) 244 + 241: 7(fvec4) ExtInst 1(GLSL.std.450) 69(Normalize) 240 + 242: 7(fvec4) Load 9(v) + 243: 7(fvec4) FAdd 242 241 + Store 9(v) 243 + 244: 7(fvec4) Load 9(v) 245: 7(fvec4) Load 9(v) 246: 7(fvec4) Load 9(v) - 247: 7(fvec4) ExtInst 1(GLSL.std.450) 71(Reflect) 245 246 + 247: 7(fvec4) ExtInst 1(GLSL.std.450) 70(FaceForward) 244 245 246 248: 7(fvec4) Load 9(v) 249: 7(fvec4) FAdd 248 247 Store 9(v) 249 250: 7(fvec4) Load 9(v) 251: 7(fvec4) Load 9(v) - 252: 6(float) Load 220(uf) - 253: 7(fvec4) ExtInst 1(GLSL.std.450) 72(Refract) 250 251 252 - 254: 7(fvec4) Load 9(v) - 255: 7(fvec4) FAdd 254 253 - Store 9(v) 255 + 252: 7(fvec4) ExtInst 1(GLSL.std.450) 71(Reflect) 250 251 + 253: 7(fvec4) Load 9(v) + 254: 7(fvec4) FAdd 253 252 + Store 9(v) 254 + 255: 7(fvec4) Load 9(v) 256: 7(fvec4) Load 9(v) - 257: 7(fvec4) DPdx 256 - 258: 7(fvec4) Load 9(v) - 259: 7(fvec4) FAdd 258 257 - Store 9(v) 259 - 260: 7(fvec4) Load 9(v) - 261: 7(fvec4) DPdy 260 - 262: 7(fvec4) Load 9(v) - 263: 7(fvec4) FAdd 262 261 - Store 9(v) 263 - 264: 7(fvec4) Load 9(v) - 265: 7(fvec4) Fwidth 264 - 266: 7(fvec4) Load 9(v) - 267: 7(fvec4) FAdd 266 265 - Store 9(v) 267 - 268: 18(int) Load 22(ui) - 269: 18(int) ExtInst 1(GLSL.std.450) 5(SAbs) 268 - 270: 18(int) Load 20(i) - 271: 18(int) IAdd 270 269 - Store 20(i) 271 - 272: 18(int) Load 20(i) - 273: 18(int) ExtInst 1(GLSL.std.450) 7(SSign) 272 - 274: 18(int) Load 20(i) - 275: 18(int) IAdd 274 273 - Store 20(i) 275 - 276: 18(int) Load 20(i) - 277: 18(int) Load 22(ui) - 278: 18(int) ExtInst 1(GLSL.std.450) 39(SMin) 276 277 + 257: 6(float) Load 225(uf) + 258: 7(fvec4) ExtInst 1(GLSL.std.450) 72(Refract) 255 256 257 + 259: 7(fvec4) Load 9(v) + 260: 7(fvec4) FAdd 259 258 + Store 9(v) 260 + 261: 7(fvec4) Load 9(v) + 262: 7(fvec4) DPdx 261 + 263: 7(fvec4) Load 9(v) + 264: 7(fvec4) FAdd 263 262 + Store 9(v) 264 + 265: 7(fvec4) Load 9(v) + 266: 7(fvec4) DPdy 265 + 267: 7(fvec4) Load 9(v) + 268: 7(fvec4) FAdd 267 266 + Store 9(v) 268 + 269: 7(fvec4) Load 9(v) + 270: 7(fvec4) Fwidth 269 + 271: 7(fvec4) Load 9(v) + 272: 7(fvec4) FAdd 271 270 + Store 9(v) 272 + 273: 18(int) Load 22(ui) + 274: 18(int) ExtInst 1(GLSL.std.450) 5(SAbs) 273 + 275: 18(int) Load 20(i) + 276: 18(int) IAdd 275 274 + Store 20(i) 276 + 277: 18(int) Load 20(i) + 278: 18(int) ExtInst 1(GLSL.std.450) 7(SSign) 277 279: 18(int) Load 20(i) 280: 18(int) IAdd 279 278 Store 20(i) 280 281: 18(int) Load 20(i) 282: 18(int) Load 22(ui) - 283: 18(int) ExtInst 1(GLSL.std.450) 42(SMax) 281 282 + 283: 18(int) ExtInst 1(GLSL.std.450) 39(SMin) 281 282 284: 18(int) Load 20(i) 285: 18(int) IAdd 284 283 Store 20(i) 285 286: 18(int) Load 20(i) 287: 18(int) Load 22(ui) - 288: 18(int) Load 22(ui) - 289: 18(int) ExtInst 1(GLSL.std.450) 45(SClamp) 286 287 288 - 290: 18(int) Load 20(i) - 291: 18(int) IAdd 290 289 - Store 20(i) 291 - 294: 141(int) Load 293(u) - 297: 141(int) Load 296(uui) - 298: 141(int) ExtInst 1(GLSL.std.450) 38(UMin) 294 297 - 299: 141(int) Load 293(u) - 300: 141(int) IAdd 299 298 - Store 293(u) 300 - 301: 141(int) Load 293(u) - 302: 141(int) Load 296(uui) - 303: 141(int) ExtInst 1(GLSL.std.450) 41(UMax) 301 302 - 304: 141(int) Load 293(u) + 288: 18(int) ExtInst 1(GLSL.std.450) 42(SMax) 286 287 + 289: 18(int) Load 20(i) + 290: 18(int) IAdd 289 288 + Store 20(i) 290 + 291: 18(int) Load 20(i) + 292: 18(int) Load 22(ui) + 293: 18(int) Load 22(ui) + 294: 18(int) ExtInst 1(GLSL.std.450) 45(SClamp) 291 292 293 + 295: 18(int) Load 20(i) + 296: 18(int) IAdd 295 294 + Store 20(i) 296 + 299: 141(int) Load 298(u) + 302: 141(int) Load 301(uui) + 303: 141(int) ExtInst 1(GLSL.std.450) 38(UMin) 299 302 + 304: 141(int) Load 298(u) 305: 141(int) IAdd 304 303 - Store 293(u) 305 - 306: 141(int) Load 293(u) - 307: 141(int) Load 296(uui) - 308: 141(int) Load 296(uui) - 309: 141(int) ExtInst 1(GLSL.std.450) 44(UClamp) 306 307 308 - 310: 141(int) Load 293(u) - 311: 141(int) IAdd 310 309 - Store 293(u) 311 - 316: 312(ivec4) Load 314(uuv4) - 317: 315(ivec3) VectorShuffle 316 316 0 1 2 - 318: 312(ivec4) Load 314(uuv4) - 319: 315(ivec3) VectorShuffle 318 318 0 1 2 - 327:326(ResType) UMulExtended 317 319 - 328: 315(ivec3) CompositeExtract 327 0 - Store 325(swizzleTemp) 328 - 329: 315(ivec3) CompositeExtract 327 1 - Store 323(swizzleTemp) 329 - 330: 315(ivec3) Load 323(swizzleTemp) - 331: 292(ptr) AccessChain 321(msb) 142 - 332: 141(int) CompositeExtract 330 0 - Store 331 332 - 334: 292(ptr) AccessChain 321(msb) 333 - 335: 141(int) CompositeExtract 330 1 - Store 334 335 - 337: 292(ptr) AccessChain 321(msb) 336 - 338: 141(int) CompositeExtract 330 2 - Store 337 338 - 339: 315(ivec3) Load 325(swizzleTemp) - 340: 292(ptr) AccessChain 324(lsb) 142 - 341: 141(int) CompositeExtract 339 0 - Store 340 341 - 342: 292(ptr) AccessChain 324(lsb) 333 - 343: 141(int) CompositeExtract 339 1 + Store 298(u) 305 + 306: 141(int) Load 298(u) + 307: 141(int) Load 301(uui) + 308: 141(int) ExtInst 1(GLSL.std.450) 41(UMax) 306 307 + 309: 141(int) Load 298(u) + 310: 141(int) IAdd 309 308 + Store 298(u) 310 + 311: 141(int) Load 298(u) + 312: 141(int) Load 301(uui) + 313: 141(int) Load 301(uui) + 314: 141(int) ExtInst 1(GLSL.std.450) 44(UClamp) 311 312 313 + 315: 141(int) Load 298(u) + 316: 141(int) IAdd 315 314 + Store 298(u) 316 + 321: 317(ivec4) Load 319(uuv4) + 322: 320(ivec3) VectorShuffle 321 321 0 1 2 + 323: 317(ivec4) Load 319(uuv4) + 324: 320(ivec3) VectorShuffle 323 323 0 1 2 + 332:331(ResType) UMulExtended 322 324 + 333: 320(ivec3) CompositeExtract 332 0 + Store 330(swizzleTemp) 333 + 334: 320(ivec3) CompositeExtract 332 1 + Store 328(swizzleTemp) 334 + 335: 320(ivec3) Load 328(swizzleTemp) + 336: 297(ptr) AccessChain 326(msb) 142 + 337: 141(int) CompositeExtract 335 0 + Store 336 337 + 339: 297(ptr) AccessChain 326(msb) 338 + 340: 141(int) CompositeExtract 335 1 + Store 339 340 + 342: 297(ptr) AccessChain 326(msb) 341 + 343: 141(int) CompositeExtract 335 2 Store 342 343 - 344: 292(ptr) AccessChain 324(lsb) 336 - 345: 141(int) CompositeExtract 339 2 - Store 344 345 - 346: 292(ptr) AccessChain 321(msb) 142 - 347: 141(int) Load 346 - 348: 292(ptr) AccessChain 321(msb) 333 - 349: 141(int) Load 348 - 350: 141(int) IAdd 347 349 - 351: 292(ptr) AccessChain 321(msb) 336 + 344: 320(ivec3) Load 330(swizzleTemp) + 345: 297(ptr) AccessChain 329(lsb) 142 + 346: 141(int) CompositeExtract 344 0 + Store 345 346 + 347: 297(ptr) AccessChain 329(lsb) 338 + 348: 141(int) CompositeExtract 344 1 + Store 347 348 + 349: 297(ptr) AccessChain 329(lsb) 341 + 350: 141(int) CompositeExtract 344 2 + Store 349 350 + 351: 297(ptr) AccessChain 326(msb) 142 352: 141(int) Load 351 - 353: 141(int) IAdd 350 352 - 354: 141(int) Load 293(u) - 355: 141(int) IAdd 354 353 - Store 293(u) 355 - 356: 292(ptr) AccessChain 324(lsb) 142 + 353: 297(ptr) AccessChain 326(msb) 338 + 354: 141(int) Load 353 + 355: 141(int) IAdd 352 354 + 356: 297(ptr) AccessChain 326(msb) 341 357: 141(int) Load 356 - 358: 292(ptr) AccessChain 324(lsb) 333 - 359: 141(int) Load 358 - 360: 141(int) IAdd 357 359 - 361: 292(ptr) AccessChain 324(lsb) 336 + 358: 141(int) IAdd 355 357 + 359: 141(int) Load 298(u) + 360: 141(int) IAdd 359 358 + Store 298(u) 360 + 361: 297(ptr) AccessChain 329(lsb) 142 362: 141(int) Load 361 - 363: 141(int) IAdd 360 362 - 364: 141(int) Load 293(u) - 365: 141(int) IAdd 364 363 - Store 293(u) 365 - 368: 6(float) Load 220(uf) - 369: 186(bool) IsNan 368 - Store 367(b) 369 - 370: 6(float) Load 196(f) - 371: 186(bool) IsInf 370 - Store 367(b) 371 - 372: 7(fvec4) Load 9(v) - 373: 7(fvec4) Load 11(uv4) - 374: 187(bvec4) FOrdLessThan 372 373 - 375: 186(bool) Any 374 - Store 367(b) 375 - 376: 186(bool) Load 367(b) - SelectionMerge 378 None - BranchConditional 376 377 378 - 377: Label - 379: 7(fvec4) Load 9(v) - 380: 7(fvec4) Load 11(uv4) - 381: 187(bvec4) FOrdLessThanEqual 379 380 - 382: 186(bool) Any 381 - Branch 378 - 378: Label - 383: 186(bool) Phi 376 5 382 377 - Store 367(b) 383 - 384: 186(bool) Load 367(b) - SelectionMerge 386 None - BranchConditional 384 385 386 - 385: Label - 387: 7(fvec4) Load 9(v) - 388: 7(fvec4) Load 11(uv4) - 389: 187(bvec4) FOrdGreaterThan 387 388 - 390: 186(bool) Any 389 - Branch 386 - 386: Label - 391: 186(bool) Phi 384 378 390 385 - Store 367(b) 391 - 392: 186(bool) Load 367(b) - SelectionMerge 394 None - BranchConditional 392 393 394 - 393: Label - 395: 7(fvec4) Load 9(v) - 396: 7(fvec4) Load 11(uv4) - 397: 187(bvec4) FOrdGreaterThanEqual 395 396 - 398: 186(bool) Any 397 - Branch 394 - 394: Label - 399: 186(bool) Phi 392 386 398 393 - Store 367(b) 399 - 400: 186(bool) Load 367(b) - SelectionMerge 402 None - BranchConditional 400 401 402 - 401: Label - 403: 187(bvec4) Load 189(ub41) - 405: 187(bvec4) Load 404(ub42) - 406: 187(bvec4) LogicalEqual 403 405 - 407: 186(bool) Any 406 - Branch 402 - 402: Label - 408: 186(bool) Phi 400 394 407 401 - Store 367(b) 408 - 409: 186(bool) Load 367(b) - SelectionMerge 411 None - BranchConditional 409 410 411 - 410: Label - 412: 187(bvec4) Load 189(ub41) - 413: 187(bvec4) Load 404(ub42) - 414: 187(bvec4) LogicalNotEqual 412 413 - 415: 186(bool) Any 414 - Branch 411 - 411: Label - 416: 186(bool) Phi 409 402 415 410 - Store 367(b) 416 - 417: 186(bool) Load 367(b) - 418: 187(bvec4) Load 189(ub41) - 419: 186(bool) Any 418 - 420: 186(bool) LogicalAnd 417 419 - Store 367(b) 420 - 421: 186(bool) Load 367(b) - 422: 187(bvec4) Load 189(ub41) - 423: 186(bool) All 422 - 424: 186(bool) LogicalAnd 421 423 - Store 367(b) 424 - 425: 186(bool) Load 367(b) - SelectionMerge 427 None - BranchConditional 425 426 427 - 426: Label - 428: 187(bvec4) Load 189(ub41) - 429: 187(bvec4) LogicalNot 428 - 430: 186(bool) Any 429 - Branch 427 - 427: Label - 431: 186(bool) Phi 425 411 430 426 - Store 367(b) 431 - 432: 18(int) Load 20(i) - 433: 18(int) Load 22(ui) - 434: 18(int) IAdd 432 433 - 435: 18(int) Load 20(i) - 436: 18(int) IMul 434 435 - 437: 18(int) Load 22(ui) - 438: 18(int) ISub 436 437 - 439: 18(int) Load 20(i) - 440: 18(int) SDiv 438 439 - Store 20(i) 440 - 441: 18(int) Load 20(i) + 363: 297(ptr) AccessChain 329(lsb) 338 + 364: 141(int) Load 363 + 365: 141(int) IAdd 362 364 + 366: 297(ptr) AccessChain 329(lsb) 341 + 367: 141(int) Load 366 + 368: 141(int) IAdd 365 367 + 369: 141(int) Load 298(u) + 370: 141(int) IAdd 369 368 + Store 298(u) 370 + 373: 6(float) Load 225(uf) + 374: 191(bool) IsNan 373 + Store 372(b) 374 + 375: 6(float) Load 201(f) + 376: 191(bool) IsInf 375 + Store 372(b) 376 + 377: 7(fvec4) Load 9(v) + 378: 7(fvec4) Load 11(uv4) + 379: 192(bvec4) FOrdLessThan 377 378 + 380: 191(bool) Any 379 + Store 372(b) 380 + 381: 191(bool) Load 372(b) + SelectionMerge 383 None + BranchConditional 381 382 383 + 382: Label + 384: 7(fvec4) Load 9(v) + 385: 7(fvec4) Load 11(uv4) + 386: 192(bvec4) FOrdLessThanEqual 384 385 + 387: 191(bool) Any 386 + Branch 383 + 383: Label + 388: 191(bool) Phi 381 5 387 382 + Store 372(b) 388 + 389: 191(bool) Load 372(b) + SelectionMerge 391 None + BranchConditional 389 390 391 + 390: Label + 392: 7(fvec4) Load 9(v) + 393: 7(fvec4) Load 11(uv4) + 394: 192(bvec4) FOrdGreaterThan 392 393 + 395: 191(bool) Any 394 + Branch 391 + 391: Label + 396: 191(bool) Phi 389 383 395 390 + Store 372(b) 396 + 397: 191(bool) Load 372(b) + SelectionMerge 399 None + BranchConditional 397 398 399 + 398: Label + 400: 7(fvec4) Load 9(v) + 401: 7(fvec4) Load 11(uv4) + 402: 192(bvec4) FOrdGreaterThanEqual 400 401 + 403: 191(bool) Any 402 + Branch 399 + 399: Label + 404: 191(bool) Phi 397 391 403 398 + Store 372(b) 404 + 405: 191(bool) Load 372(b) + SelectionMerge 407 None + BranchConditional 405 406 407 + 406: Label + 408: 192(bvec4) Load 194(ub41) + 410: 192(bvec4) Load 409(ub42) + 411: 192(bvec4) LogicalEqual 408 410 + 412: 191(bool) Any 411 + Branch 407 + 407: Label + 413: 191(bool) Phi 405 399 412 406 + Store 372(b) 413 + 414: 191(bool) Load 372(b) + SelectionMerge 416 None + BranchConditional 414 415 416 + 415: Label + 417: 192(bvec4) Load 194(ub41) + 418: 192(bvec4) Load 409(ub42) + 419: 192(bvec4) LogicalNotEqual 417 418 + 420: 191(bool) Any 419 + Branch 416 + 416: Label + 421: 191(bool) Phi 414 407 420 415 + Store 372(b) 421 + 422: 191(bool) Load 372(b) + 423: 192(bvec4) Load 194(ub41) + 424: 191(bool) Any 423 + 425: 191(bool) LogicalAnd 422 424 + Store 372(b) 425 + 426: 191(bool) Load 372(b) + 427: 192(bvec4) Load 194(ub41) + 428: 191(bool) All 427 + 429: 191(bool) LogicalAnd 426 428 + Store 372(b) 429 + 430: 191(bool) Load 372(b) + SelectionMerge 432 None + BranchConditional 430 431 432 + 431: Label + 433: 192(bvec4) Load 194(ub41) + 434: 192(bvec4) LogicalNot 433 + 435: 191(bool) Any 434 + Branch 432 + 432: Label + 436: 191(bool) Phi 430 416 435 431 + Store 372(b) 436 + 437: 18(int) Load 20(i) + 438: 18(int) Load 22(ui) + 439: 18(int) IAdd 437 438 + 440: 18(int) Load 20(i) + 441: 18(int) IMul 439 440 442: 18(int) Load 22(ui) - 443: 18(int) SMod 441 442 - Store 20(i) 443 + 443: 18(int) ISub 441 442 444: 18(int) Load 20(i) - 445: 18(int) Load 22(ui) - 446: 186(bool) IEqual 444 445 - 447: 186(bool) LogicalNot 446 - SelectionMerge 449 None - BranchConditional 447 448 449 - 448: Label - 450: 18(int) Load 20(i) - 451: 18(int) Load 22(ui) - 452: 186(bool) INotEqual 450 451 - SelectionMerge 454 None - BranchConditional 452 453 454 - 453: Label - 455: 18(int) Load 20(i) - 456: 18(int) Load 22(ui) - 457: 186(bool) IEqual 455 456 - Branch 454 - 454: Label - 458: 186(bool) Phi 452 448 457 453 - 459: 18(int) Load 20(i) - 461: 186(bool) INotEqual 459 460 - 462: 186(bool) LogicalNotEqual 458 461 - Branch 449 - 449: Label - 463: 186(bool) Phi 446 427 462 454 - SelectionMerge 465 None - BranchConditional 463 464 465 - 464: Label - 466: 18(int) Load 20(i) - 468: 18(int) IAdd 466 467 - Store 20(i) 468 - Branch 465 - 465: Label - 469: 6(float) Load 220(uf) - 470: 6(float) Load 220(uf) - 471: 6(float) FAdd 469 470 - 472: 6(float) Load 220(uf) - 473: 6(float) FMul 471 472 - 474: 6(float) Load 220(uf) - 475: 6(float) FSub 473 474 - 476: 6(float) Load 220(uf) - 477: 6(float) FDiv 475 476 - Store 196(f) 477 - 478: 7(fvec4) Load 9(v) - 479: 6(float) ExtInst 1(GLSL.std.450) 66(Length) 478 - 480: 6(float) Load 196(f) - 481: 6(float) FAdd 480 479 - Store 196(f) 481 - 482: 7(fvec4) Load 9(v) + 445: 18(int) SDiv 443 444 + Store 20(i) 445 + 446: 18(int) Load 20(i) + 447: 18(int) Load 22(ui) + 448: 18(int) SMod 446 447 + Store 20(i) 448 + 449: 18(int) Load 20(i) + 450: 18(int) Load 22(ui) + 451: 191(bool) IEqual 449 450 + 452: 191(bool) LogicalNot 451 + SelectionMerge 454 None + BranchConditional 452 453 454 + 453: Label + 455: 18(int) Load 20(i) + 456: 18(int) Load 22(ui) + 457: 191(bool) INotEqual 455 456 + SelectionMerge 459 None + BranchConditional 457 458 459 + 458: Label + 460: 18(int) Load 20(i) + 461: 18(int) Load 22(ui) + 462: 191(bool) IEqual 460 461 + Branch 459 + 459: Label + 463: 191(bool) Phi 457 453 462 458 + 464: 18(int) Load 20(i) + 466: 191(bool) INotEqual 464 465 + 467: 191(bool) LogicalNotEqual 463 466 + Branch 454 + 454: Label + 468: 191(bool) Phi 451 432 467 459 + SelectionMerge 470 None + BranchConditional 468 469 470 + 469: Label + 471: 18(int) Load 20(i) + 473: 18(int) IAdd 471 472 + Store 20(i) 473 + Branch 470 + 470: Label + 474: 6(float) Load 225(uf) + 475: 6(float) Load 225(uf) + 476: 6(float) FAdd 474 475 + 477: 6(float) Load 225(uf) + 478: 6(float) FMul 476 477 + 479: 6(float) Load 225(uf) + 480: 6(float) FSub 478 479 + 481: 6(float) Load 225(uf) + 482: 6(float) FDiv 480 481 + Store 201(f) 482 483: 7(fvec4) Load 9(v) - 484: 6(float) ExtInst 1(GLSL.std.450) 67(Distance) 482 483 - 485: 6(float) Load 196(f) + 484: 6(float) ExtInst 1(GLSL.std.450) 66(Length) 483 + 485: 6(float) Load 201(f) 486: 6(float) FAdd 485 484 - Store 196(f) 486 + Store 201(f) 486 487: 7(fvec4) Load 9(v) 488: 7(fvec4) Load 9(v) - 489: 6(float) Dot 487 488 - 490: 6(float) Load 196(f) + 489: 6(float) ExtInst 1(GLSL.std.450) 67(Distance) 487 488 + 490: 6(float) Load 201(f) 491: 6(float) FAdd 490 489 - Store 196(f) 491 - 492: 6(float) Load 196(f) - 493: 6(float) Load 220(uf) - 494: 6(float) FMul 492 493 - 495: 6(float) Load 196(f) + Store 201(f) 491 + 492: 7(fvec4) Load 9(v) + 493: 7(fvec4) Load 9(v) + 494: 6(float) Dot 492 493 + 495: 6(float) Load 201(f) 496: 6(float) FAdd 495 494 - Store 196(f) 496 - 498: 7(fvec4) Load 9(v) - 499: 497(fvec3) VectorShuffle 498 498 0 1 2 - 500: 7(fvec4) Load 9(v) - 501: 497(fvec3) VectorShuffle 500 500 0 1 2 - 502: 497(fvec3) ExtInst 1(GLSL.std.450) 68(Cross) 499 501 - 503: 6(float) CompositeExtract 502 0 - 504: 6(float) Load 196(f) - 505: 6(float) FAdd 504 503 - Store 196(f) 505 - 506: 6(float) Load 196(f) - 507: 6(float) Load 220(uf) - 508: 186(bool) FOrdEqual 506 507 - 509: 186(bool) LogicalNot 508 - SelectionMerge 511 None - BranchConditional 509 510 511 - 510: Label - 512: 6(float) Load 196(f) - 513: 6(float) Load 220(uf) - 514: 186(bool) FUnordNotEqual 512 513 - 515: 6(float) Load 196(f) - 517: 186(bool) FUnordNotEqual 515 516 - 518: 186(bool) LogicalAnd 514 517 - Branch 511 - 511: Label - 519: 186(bool) Phi 508 465 518 510 - SelectionMerge 521 None - BranchConditional 519 520 521 - 520: Label - 522: 6(float) Load 196(f) - 524: 6(float) FAdd 522 523 - Store 196(f) 524 - Branch 521 - 521: Label - 525: 18(int) Load 22(ui) - 526: 18(int) Load 20(i) - 527: 18(int) BitwiseAnd 526 525 - Store 20(i) 527 - 529: 18(int) Load 20(i) - 530: 18(int) BitwiseOr 529 528 - Store 20(i) 530 - 531: 18(int) Load 22(ui) - 532: 18(int) Load 20(i) - 533: 18(int) BitwiseXor 532 531 - Store 20(i) 533 - 535: 18(int) Load 20(i) - 536: 18(int) SMod 535 534 - Store 20(i) 536 + Store 201(f) 496 + 497: 6(float) Load 201(f) + 498: 6(float) Load 225(uf) + 499: 6(float) FMul 497 498 + 500: 6(float) Load 201(f) + 501: 6(float) FAdd 500 499 + Store 201(f) 501 + 503: 7(fvec4) Load 9(v) + 504: 502(fvec3) VectorShuffle 503 503 0 1 2 + 505: 7(fvec4) Load 9(v) + 506: 502(fvec3) VectorShuffle 505 505 0 1 2 + 507: 502(fvec3) ExtInst 1(GLSL.std.450) 68(Cross) 504 506 + 508: 6(float) CompositeExtract 507 0 + 509: 6(float) Load 201(f) + 510: 6(float) FAdd 509 508 + Store 201(f) 510 + 511: 6(float) Load 201(f) + 512: 6(float) Load 225(uf) + 513: 191(bool) FOrdEqual 511 512 + 514: 191(bool) LogicalNot 513 + SelectionMerge 516 None + BranchConditional 514 515 516 + 515: Label + 517: 6(float) Load 201(f) + 518: 6(float) Load 225(uf) + 519: 191(bool) FUnordNotEqual 517 518 + 520: 6(float) Load 201(f) + 522: 191(bool) FUnordNotEqual 520 521 + 523: 191(bool) LogicalAnd 519 522 + Branch 516 + 516: Label + 524: 191(bool) Phi 513 470 523 515 + SelectionMerge 526 None + BranchConditional 524 525 526 + 525: Label + 527: 6(float) Load 201(f) + 529: 6(float) FAdd 527 528 + Store 201(f) 529 + Branch 526 + 526: Label + 530: 18(int) Load 22(ui) + 531: 18(int) Load 20(i) + 532: 18(int) BitwiseAnd 531 530 + Store 20(i) 532 + 534: 18(int) Load 20(i) + 535: 18(int) BitwiseOr 534 533 + Store 20(i) 535 + 536: 18(int) Load 22(ui) 537: 18(int) Load 20(i) - 538: 18(int) ShiftRightArithmetic 537 460 + 538: 18(int) BitwiseXor 537 536 Store 20(i) 538 - 539: 18(int) Load 22(ui) 540: 18(int) Load 20(i) - 541: 18(int) ShiftLeftLogical 540 539 + 541: 18(int) SMod 540 539 Store 20(i) 541 542: 18(int) Load 20(i) - 543: 18(int) Not 542 + 543: 18(int) ShiftRightArithmetic 542 465 Store 20(i) 543 - 544: 186(bool) Load 367(b) - 545: 186(bool) LogicalNot 544 - Store 367(b) 545 - 548: 186(bool) Load 367(b) - SelectionMerge 551 None - BranchConditional 548 550 560 - 550: Label - 552: 18(int) Load 20(i) - 553: 6(float) ConvertSToF 552 - 554: 7(fvec4) CompositeConstruct 553 553 553 553 - 555: 6(float) Load 196(f) - 556: 7(fvec4) CompositeConstruct 555 555 555 555 - 557: 7(fvec4) FAdd 554 556 - 558: 7(fvec4) Load 9(v) - 559: 7(fvec4) FAdd 557 558 - Store 549 559 - Branch 551 - 560: Label - 561: 7(fvec4) Load 9(v) - Store 549 561 - Branch 551 - 551: Label - 562: 7(fvec4) Load 549 - Store 547(FragColor) 562 - Store 565(m1) 571 - Store 572(m2) 574 - 575: 186(bool) Load 367(b) - SelectionMerge 578 None - BranchConditional 575 577 580 - 577: Label - 579: 563 Load 565(m1) - Store 576 579 - Branch 578 - 580: Label - 581: 563 Load 572(m2) - Store 576 581 - Branch 578 - 578: Label - 582: 8(ptr) AccessChain 576 467 - 583: 7(fvec4) Load 582 - 584: 7(fvec4) Load 547(FragColor) - 585: 7(fvec4) FAdd 584 583 - Store 547(FragColor) 585 + 544: 18(int) Load 22(ui) + 545: 18(int) Load 20(i) + 546: 18(int) ShiftLeftLogical 545 544 + Store 20(i) 546 + 547: 18(int) Load 20(i) + 548: 18(int) Not 547 + Store 20(i) 548 + 549: 191(bool) Load 372(b) + 550: 191(bool) LogicalNot 549 + Store 372(b) 550 + 553: 191(bool) Load 372(b) + SelectionMerge 556 None + BranchConditional 553 555 565 + 555: Label + 557: 18(int) Load 20(i) + 558: 6(float) ConvertSToF 557 + 559: 7(fvec4) CompositeConstruct 558 558 558 558 + 560: 6(float) Load 201(f) + 561: 7(fvec4) CompositeConstruct 560 560 560 560 + 562: 7(fvec4) FAdd 559 561 + 563: 7(fvec4) Load 9(v) + 564: 7(fvec4) FAdd 562 563 + Store 554 564 + Branch 556 + 565: Label + 566: 7(fvec4) Load 9(v) + Store 554 566 + Branch 556 + 556: Label + 567: 7(fvec4) Load 554 + Store 552(FragColor) 567 + Store 570(m1) 576 + Store 577(m2) 579 + 580: 191(bool) Load 372(b) + SelectionMerge 583 None + BranchConditional 580 582 585 + 582: Label + 584: 568 Load 570(m1) + Store 581 584 + Branch 583 + 585: Label + 586: 568 Load 577(m2) + Store 581 586 + Branch 583 + 583: Label + 587: 8(ptr) AccessChain 581 472 + 588: 7(fvec4) Load 587 + 589: 7(fvec4) Load 552(FragColor) + 590: 7(fvec4) FAdd 589 588 + Store 552(FragColor) 590 Return FunctionEnd diff --git a/Test/baseResults/spv.float16.frag.out b/Test/baseResults/spv.float16.frag.out index 21e916382c..fbc89477c3 100644 --- a/Test/baseResults/spv.float16.frag.out +++ b/Test/baseResults/spv.float16.frag.out @@ -2,7 +2,7 @@ spv.float16.frag Validation failed // Module Version 10000 // Generated by (magic number): 8000b -// Id's are bound by 538 +// Id's are bound by 541 Capability Shader Capability Float16 @@ -17,7 +17,7 @@ Validation failed Extension "SPV_KHR_16bit_storage" 1: ExtInstImport "GLSL.std.450" MemoryModel Logical GLSL450 - EntryPoint Fragment 4 "main" 461 + EntryPoint Fragment 4 "main" 464 ExecutionMode 4 OriginUpperLeft Source GLSL 450 SourceExtension "GL_AMD_gpu_shader_half_float" @@ -55,112 +55,113 @@ Validation failed Name 263 "f16v1" Name 284 "f16" Name 288 "f16v3" - Name 328 "bv" - Name 349 "b" - Name 359 "iv" - Name 360 "ResType" - Name 368 "u" - Name 369 "f16v" - Name 374 "f16" - Name 375 "f16v1" - Name 379 "f16v2" - Name 385 "f16v3" - Name 404 "f16m3" - Name 405 "f16m1" - Name 407 "f16m2" - Name 416 "f16v1" - Name 418 "f16v2" - Name 423 "f16m4" - Name 426 "f16" - Name 429 "f16m5" - Name 434 "f16m6" - Name 435 "f16m7" - Name 438 "bv" - Name 439 "f16v1" - Name 441 "f16v2" - Name 459 "f16v" - Name 461 "if16v" - Name 518 "S" - MemberName 518(S) 0 "x" - MemberName 518(S) 1 "y" - MemberName 518(S) 2 "z" - Name 520 "B1" - MemberName 520(B1) 0 "a" - MemberName 520(B1) 1 "b" - MemberName 520(B1) 2 "c" - MemberName 520(B1) 3 "d" - MemberName 520(B1) 4 "e" - MemberName 520(B1) 5 "f" - MemberName 520(B1) 6 "g" - MemberName 520(B1) 7 "h" - Name 522 "" - Name 525 "S" - MemberName 525(S) 0 "x" - MemberName 525(S) 1 "y" - MemberName 525(S) 2 "z" - Name 527 "B2" - MemberName 527(B2) 0 "o" - MemberName 527(B2) 1 "p" - MemberName 527(B2) 2 "q" - MemberName 527(B2) 3 "r" - MemberName 527(B2) 4 "s" - MemberName 527(B2) 5 "t" - MemberName 527(B2) 6 "u" - MemberName 527(B2) 7 "v" - Name 529 "" - Name 530 "sf16" - Name 531 "sf" - Name 532 "sd" - Name 533 "f16_to_f" - Name 535 "f16_to_d" - Name 536 "f_to_f16" - Name 537 "d_to_f16" - Decorate 461(if16v) Location 0 - Decorate 516 ArrayStride 16 - Decorate 517 ArrayStride 32 - MemberDecorate 518(S) 0 Offset 0 - MemberDecorate 518(S) 1 Offset 4 - MemberDecorate 518(S) 2 Offset 8 + Name 290 "ResType" + Name 331 "bv" + Name 352 "b" + Name 362 "iv" + Name 363 "ResType" + Name 371 "u" + Name 372 "f16v" + Name 377 "f16" + Name 378 "f16v1" + Name 382 "f16v2" + Name 388 "f16v3" + Name 407 "f16m3" + Name 408 "f16m1" + Name 410 "f16m2" + Name 419 "f16v1" + Name 421 "f16v2" + Name 426 "f16m4" + Name 429 "f16" + Name 432 "f16m5" + Name 437 "f16m6" + Name 438 "f16m7" + Name 441 "bv" + Name 442 "f16v1" + Name 444 "f16v2" + Name 462 "f16v" + Name 464 "if16v" + Name 521 "S" + MemberName 521(S) 0 "x" + MemberName 521(S) 1 "y" + MemberName 521(S) 2 "z" + Name 523 "B1" + MemberName 523(B1) 0 "a" + MemberName 523(B1) 1 "b" + MemberName 523(B1) 2 "c" + MemberName 523(B1) 3 "d" + MemberName 523(B1) 4 "e" + MemberName 523(B1) 5 "f" + MemberName 523(B1) 6 "g" + MemberName 523(B1) 7 "h" + Name 525 "" + Name 528 "S" + MemberName 528(S) 0 "x" + MemberName 528(S) 1 "y" + MemberName 528(S) 2 "z" + Name 530 "B2" + MemberName 530(B2) 0 "o" + MemberName 530(B2) 1 "p" + MemberName 530(B2) 2 "q" + MemberName 530(B2) 3 "r" + MemberName 530(B2) 4 "s" + MemberName 530(B2) 5 "t" + MemberName 530(B2) 6 "u" + MemberName 530(B2) 7 "v" + Name 532 "" + Name 533 "sf16" + Name 534 "sf" + Name 535 "sd" + Name 536 "f16_to_f" + Name 538 "f16_to_d" + Name 539 "f_to_f16" + Name 540 "d_to_f16" + Decorate 464(if16v) Location 0 Decorate 519 ArrayStride 16 - Decorate 520(B1) Block - MemberDecorate 520(B1) 0 Offset 0 - MemberDecorate 520(B1) 1 Offset 4 - MemberDecorate 520(B1) 2 Offset 8 - MemberDecorate 520(B1) 3 Offset 16 - MemberDecorate 520(B1) 4 ColMajor - MemberDecorate 520(B1) 4 MatrixStride 16 - MemberDecorate 520(B1) 4 Offset 48 - MemberDecorate 520(B1) 5 ColMajor - MemberDecorate 520(B1) 5 MatrixStride 16 - MemberDecorate 520(B1) 5 Offset 80 - MemberDecorate 520(B1) 6 Offset 144 - MemberDecorate 520(B1) 7 Offset 160 - Decorate 522 Binding 0 - Decorate 522 DescriptorSet 0 - Decorate 523 ArrayStride 2 - Decorate 524 ArrayStride 12 - MemberDecorate 525(S) 0 Offset 0 - MemberDecorate 525(S) 1 Offset 4 - MemberDecorate 525(S) 2 Offset 8 - Decorate 526 ArrayStride 16 - Decorate 527(B2) BufferBlock - MemberDecorate 527(B2) 0 Offset 0 - MemberDecorate 527(B2) 1 Offset 4 - MemberDecorate 527(B2) 2 Offset 8 - MemberDecorate 527(B2) 3 Offset 14 - MemberDecorate 527(B2) 4 RowMajor - MemberDecorate 527(B2) 4 MatrixStride 4 - MemberDecorate 527(B2) 4 Offset 20 - MemberDecorate 527(B2) 5 RowMajor - MemberDecorate 527(B2) 5 MatrixStride 4 - MemberDecorate 527(B2) 5 Offset 32 - MemberDecorate 527(B2) 6 Offset 56 - MemberDecorate 527(B2) 7 Offset 72 - Decorate 529 Binding 0 - Decorate 529 DescriptorSet 0 - Decorate 530(sf16) SpecId 100 - Decorate 531(sf) SpecId 101 - Decorate 532(sd) SpecId 102 + Decorate 520 ArrayStride 32 + MemberDecorate 521(S) 0 Offset 0 + MemberDecorate 521(S) 1 Offset 4 + MemberDecorate 521(S) 2 Offset 8 + Decorate 522 ArrayStride 16 + Decorate 523(B1) Block + MemberDecorate 523(B1) 0 Offset 0 + MemberDecorate 523(B1) 1 Offset 4 + MemberDecorate 523(B1) 2 Offset 8 + MemberDecorate 523(B1) 3 Offset 16 + MemberDecorate 523(B1) 4 ColMajor + MemberDecorate 523(B1) 4 MatrixStride 16 + MemberDecorate 523(B1) 4 Offset 48 + MemberDecorate 523(B1) 5 ColMajor + MemberDecorate 523(B1) 5 MatrixStride 16 + MemberDecorate 523(B1) 5 Offset 80 + MemberDecorate 523(B1) 6 Offset 144 + MemberDecorate 523(B1) 7 Offset 160 + Decorate 525 Binding 0 + Decorate 525 DescriptorSet 0 + Decorate 526 ArrayStride 2 + Decorate 527 ArrayStride 12 + MemberDecorate 528(S) 0 Offset 0 + MemberDecorate 528(S) 1 Offset 4 + MemberDecorate 528(S) 2 Offset 8 + Decorate 529 ArrayStride 16 + Decorate 530(B2) BufferBlock + MemberDecorate 530(B2) 0 Offset 0 + MemberDecorate 530(B2) 1 Offset 4 + MemberDecorate 530(B2) 2 Offset 8 + MemberDecorate 530(B2) 3 Offset 14 + MemberDecorate 530(B2) 4 RowMajor + MemberDecorate 530(B2) 4 MatrixStride 4 + MemberDecorate 530(B2) 4 Offset 20 + MemberDecorate 530(B2) 5 RowMajor + MemberDecorate 530(B2) 5 MatrixStride 4 + MemberDecorate 530(B2) 5 Offset 32 + MemberDecorate 530(B2) 6 Offset 56 + MemberDecorate 530(B2) 7 Offset 72 + Decorate 532 Binding 0 + Decorate 532 DescriptorSet 0 + Decorate 533(sf16) SpecId 100 + Decorate 534(sf) SpecId 101 + Decorate 535(sd) SpecId 102 2: TypeVoid 3: TypeFunction 2 28: TypeFloat 16 @@ -205,45 +206,46 @@ Validation failed 204: TypePointer Function 203(i64vec3) 210: TypeVector 28(float16_t) 4 211: TypePointer Function 210(f16vec4) - 360(ResType): TypeStruct 151(f16vec3) 180(ivec3) - 367: TypePointer Function 33(int) - 402: TypeMatrix 151(f16vec3) 2 - 403: TypePointer Function 402 - 421: TypeMatrix 29(f16vec2) 3 - 422: TypePointer Function 421 - 427: TypeMatrix 151(f16vec3) 3 - 428: TypePointer Function 427 - 432: TypeMatrix 210(f16vec4) 4 - 433: TypePointer Function 432 - 460: TypePointer Input 151(f16vec3) - 461(if16v): 460(ptr) Variable Input - 462: TypePointer Input 28(float16_t) - 505: 179(int) Constant 1 - 512:28(float16_t) Constant 14336 - 513: 29(f16vec2) ConstantComposite 512 512 - 515: 33(int) Constant 2 - 516: TypeArray 28(float16_t) 515 - 517: TypeArray 402 515 - 518(S): TypeStruct 28(float16_t) 29(f16vec2) 151(f16vec3) - 519: TypeArray 518(S) 515 - 520(B1): TypeStruct 28(float16_t) 29(f16vec2) 151(f16vec3) 516 402 517 518(S) 519 - 521: TypePointer Uniform 520(B1) - 522: 521(ptr) Variable Uniform - 523: TypeArray 28(float16_t) 515 - 524: TypeArray 402 515 - 525(S): TypeStruct 28(float16_t) 29(f16vec2) 151(f16vec3) - 526: TypeArray 525(S) 515 - 527(B2): TypeStruct 28(float16_t) 29(f16vec2) 151(f16vec3) 523 402 524 525(S) 526 - 528: TypePointer Uniform 527(B2) - 529: 528(ptr) Variable Uniform - 530(sf16):28(float16_t) SpecConstant 12288 - 531(sf): 164(float) SpecConstant 1048576000 - 532(sd):172(float64_t) SpecConstant 0 1071644672 - 533(f16_to_f): 164(float) SpecConstantOp 115 530(sf16) - 534: 164(float) SpecConstantOp 115 530(sf16) - 535(f16_to_d):172(float64_t) SpecConstantOp 115 534 - 536(f_to_f16):28(float16_t) SpecConstantOp 115 531(sf) - 537(d_to_f16):28(float16_t) SpecConstantOp 115 532(sd) + 290(ResType): TypeStruct 151(f16vec3) 151(f16vec3) + 363(ResType): TypeStruct 151(f16vec3) 180(ivec3) + 370: TypePointer Function 33(int) + 405: TypeMatrix 151(f16vec3) 2 + 406: TypePointer Function 405 + 424: TypeMatrix 29(f16vec2) 3 + 425: TypePointer Function 424 + 430: TypeMatrix 151(f16vec3) 3 + 431: TypePointer Function 430 + 435: TypeMatrix 210(f16vec4) 4 + 436: TypePointer Function 435 + 463: TypePointer Input 151(f16vec3) + 464(if16v): 463(ptr) Variable Input + 465: TypePointer Input 28(float16_t) + 508: 179(int) Constant 1 + 515:28(float16_t) Constant 14336 + 516: 29(f16vec2) ConstantComposite 515 515 + 518: 33(int) Constant 2 + 519: TypeArray 28(float16_t) 518 + 520: TypeArray 405 518 + 521(S): TypeStruct 28(float16_t) 29(f16vec2) 151(f16vec3) + 522: TypeArray 521(S) 518 + 523(B1): TypeStruct 28(float16_t) 29(f16vec2) 151(f16vec3) 519 405 520 521(S) 522 + 524: TypePointer Uniform 523(B1) + 525: 524(ptr) Variable Uniform + 526: TypeArray 28(float16_t) 518 + 527: TypeArray 405 518 + 528(S): TypeStruct 28(float16_t) 29(f16vec2) 151(f16vec3) + 529: TypeArray 528(S) 518 + 530(B2): TypeStruct 28(float16_t) 29(f16vec2) 151(f16vec3) 526 405 527 528(S) 529 + 531: TypePointer Uniform 530(B2) + 532: 531(ptr) Variable Uniform + 533(sf16):28(float16_t) SpecConstant 12288 + 534(sf): 164(float) SpecConstant 1048576000 + 535(sd):172(float64_t) SpecConstant 0 1071644672 + 536(f16_to_f): 164(float) SpecConstantOp 115 533(sf16) + 537: 164(float) SpecConstantOp 115 533(sf16) + 538(f16_to_d):172(float64_t) SpecConstantOp 115 537 + 539(f_to_f16):28(float16_t) SpecConstantOp 115 534(sf) + 540(d_to_f16):28(float16_t) SpecConstantOp 115 535(sd) 4(main): 2 Function None 3 5: Label Return @@ -529,9 +531,9 @@ Validation failed 263(f16v1): 152(ptr) Variable Function 284(f16): 35(ptr) Variable Function 288(f16v3): 152(ptr) Variable Function - 328(bv): 155(ptr) Variable Function - 349(b): 110(ptr) Variable Function - 359(iv): 181(ptr) Variable Function + 331(bv): 155(ptr) Variable Function + 352(b): 110(ptr) Variable Function + 362(iv): 181(ptr) Variable Function 264:151(f16vec3) Load 263(f16v1) 265:151(f16vec3) ExtInst 1(GLSL.std.450) 4(FAbs) 264 Store 262(f16v2) 265 @@ -566,288 +568,291 @@ Validation failed 287:151(f16vec3) FMod 283 286 Store 262(f16v2) 287 289:151(f16vec3) Load 263(f16v1) - 290:151(f16vec3) ExtInst 1(GLSL.std.450) 35(Modf) 289 262(f16v2) - Store 288(f16v3) 290 - 291:151(f16vec3) Load 263(f16v1) - 292:151(f16vec3) Load 262(f16v2) - 293:151(f16vec3) ExtInst 1(GLSL.std.450) 37(FMin) 291 292 + 291:290(ResType) ExtInst 1(GLSL.std.450) 36(ModfStruct) 289 + 292:151(f16vec3) CompositeExtract 291 1 + Store 262(f16v2) 292 + 293:151(f16vec3) CompositeExtract 291 0 Store 288(f16v3) 293 294:151(f16vec3) Load 263(f16v1) - 295:28(float16_t) Load 284(f16) - 296:151(f16vec3) CompositeConstruct 295 295 295 - 297:151(f16vec3) ExtInst 1(GLSL.std.450) 37(FMin) 294 296 - Store 288(f16v3) 297 - 298:151(f16vec3) Load 263(f16v1) - 299:151(f16vec3) Load 262(f16v2) - 300:151(f16vec3) ExtInst 1(GLSL.std.450) 40(FMax) 298 299 + 295:151(f16vec3) Load 262(f16v2) + 296:151(f16vec3) ExtInst 1(GLSL.std.450) 37(FMin) 294 295 + Store 288(f16v3) 296 + 297:151(f16vec3) Load 263(f16v1) + 298:28(float16_t) Load 284(f16) + 299:151(f16vec3) CompositeConstruct 298 298 298 + 300:151(f16vec3) ExtInst 1(GLSL.std.450) 37(FMin) 297 299 Store 288(f16v3) 300 301:151(f16vec3) Load 263(f16v1) - 302:28(float16_t) Load 284(f16) - 303:151(f16vec3) CompositeConstruct 302 302 302 - 304:151(f16vec3) ExtInst 1(GLSL.std.450) 40(FMax) 301 303 - Store 288(f16v3) 304 - 305:151(f16vec3) Load 263(f16v1) - 306:28(float16_t) Load 284(f16) - 307: 35(ptr) AccessChain 262(f16v2) 34 - 308:28(float16_t) Load 307 - 309:151(f16vec3) CompositeConstruct 306 306 306 - 310:151(f16vec3) CompositeConstruct 308 308 308 - 311:151(f16vec3) ExtInst 1(GLSL.std.450) 43(FClamp) 305 309 310 - Store 288(f16v3) 311 - 312:151(f16vec3) Load 263(f16v1) - 313:151(f16vec3) Load 262(f16v2) - 314:28(float16_t) Load 284(f16) - 315:151(f16vec3) CompositeConstruct 314 314 314 - 316:151(f16vec3) ExtInst 1(GLSL.std.450) 43(FClamp) 312 313 315 - Store 288(f16v3) 316 - 317:151(f16vec3) Load 263(f16v1) - 318:151(f16vec3) Load 262(f16v2) - 319:28(float16_t) Load 284(f16) - 320:151(f16vec3) CompositeConstruct 319 319 319 - 321:151(f16vec3) ExtInst 1(GLSL.std.450) 46(FMix) 317 318 320 - Store 288(f16v3) 321 - 322:151(f16vec3) Load 263(f16v1) - 323:151(f16vec3) Load 262(f16v2) - 324:151(f16vec3) Load 288(f16v3) - 325:151(f16vec3) ExtInst 1(GLSL.std.450) 46(FMix) 322 323 324 - Store 288(f16v3) 325 - 326:151(f16vec3) Load 263(f16v1) - 327:151(f16vec3) Load 262(f16v2) - 329: 154(bvec3) Load 328(bv) - 330:151(f16vec3) Select 329 327 326 - Store 288(f16v3) 330 - 331:151(f16vec3) Load 263(f16v1) - 332:151(f16vec3) Load 262(f16v2) - 333:151(f16vec3) ExtInst 1(GLSL.std.450) 48(Step) 331 332 + 302:151(f16vec3) Load 262(f16v2) + 303:151(f16vec3) ExtInst 1(GLSL.std.450) 40(FMax) 301 302 + Store 288(f16v3) 303 + 304:151(f16vec3) Load 263(f16v1) + 305:28(float16_t) Load 284(f16) + 306:151(f16vec3) CompositeConstruct 305 305 305 + 307:151(f16vec3) ExtInst 1(GLSL.std.450) 40(FMax) 304 306 + Store 288(f16v3) 307 + 308:151(f16vec3) Load 263(f16v1) + 309:28(float16_t) Load 284(f16) + 310: 35(ptr) AccessChain 262(f16v2) 34 + 311:28(float16_t) Load 310 + 312:151(f16vec3) CompositeConstruct 309 309 309 + 313:151(f16vec3) CompositeConstruct 311 311 311 + 314:151(f16vec3) ExtInst 1(GLSL.std.450) 43(FClamp) 308 312 313 + Store 288(f16v3) 314 + 315:151(f16vec3) Load 263(f16v1) + 316:151(f16vec3) Load 262(f16v2) + 317:28(float16_t) Load 284(f16) + 318:151(f16vec3) CompositeConstruct 317 317 317 + 319:151(f16vec3) ExtInst 1(GLSL.std.450) 43(FClamp) 315 316 318 + Store 288(f16v3) 319 + 320:151(f16vec3) Load 263(f16v1) + 321:151(f16vec3) Load 262(f16v2) + 322:28(float16_t) Load 284(f16) + 323:151(f16vec3) CompositeConstruct 322 322 322 + 324:151(f16vec3) ExtInst 1(GLSL.std.450) 46(FMix) 320 321 323 + Store 288(f16v3) 324 + 325:151(f16vec3) Load 263(f16v1) + 326:151(f16vec3) Load 262(f16v2) + 327:151(f16vec3) Load 288(f16v3) + 328:151(f16vec3) ExtInst 1(GLSL.std.450) 46(FMix) 325 326 327 + Store 288(f16v3) 328 + 329:151(f16vec3) Load 263(f16v1) + 330:151(f16vec3) Load 262(f16v2) + 332: 154(bvec3) Load 331(bv) + 333:151(f16vec3) Select 332 330 329 Store 288(f16v3) 333 - 334:28(float16_t) Load 284(f16) - 335:151(f16vec3) Load 288(f16v3) - 336:151(f16vec3) CompositeConstruct 334 334 334 - 337:151(f16vec3) ExtInst 1(GLSL.std.450) 48(Step) 336 335 - Store 288(f16v3) 337 - 338:151(f16vec3) Load 263(f16v1) - 339:151(f16vec3) Load 262(f16v2) - 340:151(f16vec3) Load 288(f16v3) - 341:151(f16vec3) ExtInst 1(GLSL.std.450) 49(SmoothStep) 338 339 340 - Store 288(f16v3) 341 - 342:28(float16_t) Load 284(f16) - 343: 35(ptr) AccessChain 263(f16v1) 34 - 344:28(float16_t) Load 343 - 345:151(f16vec3) Load 262(f16v2) - 346:151(f16vec3) CompositeConstruct 342 342 342 - 347:151(f16vec3) CompositeConstruct 344 344 344 - 348:151(f16vec3) ExtInst 1(GLSL.std.450) 49(SmoothStep) 346 347 345 - Store 288(f16v3) 348 - 350:28(float16_t) Load 284(f16) - 351: 109(bool) IsNan 350 - Store 349(b) 351 - 352:151(f16vec3) Load 263(f16v1) - 353: 154(bvec3) IsInf 352 - Store 328(bv) 353 - 354:151(f16vec3) Load 263(f16v1) - 355:151(f16vec3) Load 262(f16v2) - 356:151(f16vec3) Load 288(f16v3) - 357:151(f16vec3) ExtInst 1(GLSL.std.450) 50(Fma) 354 355 356 - Store 288(f16v3) 357 - 358:151(f16vec3) Load 263(f16v1) - 361:360(ResType) ExtInst 1(GLSL.std.450) 52(FrexpStruct) 358 - 362: 180(ivec3) CompositeExtract 361 1 - Store 359(iv) 362 - 363:151(f16vec3) CompositeExtract 361 0 - Store 262(f16v2) 363 - 364:151(f16vec3) Load 263(f16v1) - 365: 180(ivec3) Load 359(iv) - 366:151(f16vec3) ExtInst 1(GLSL.std.450) 53(Ldexp) 364 365 + 334:151(f16vec3) Load 263(f16v1) + 335:151(f16vec3) Load 262(f16v2) + 336:151(f16vec3) ExtInst 1(GLSL.std.450) 48(Step) 334 335 + Store 288(f16v3) 336 + 337:28(float16_t) Load 284(f16) + 338:151(f16vec3) Load 288(f16v3) + 339:151(f16vec3) CompositeConstruct 337 337 337 + 340:151(f16vec3) ExtInst 1(GLSL.std.450) 48(Step) 339 338 + Store 288(f16v3) 340 + 341:151(f16vec3) Load 263(f16v1) + 342:151(f16vec3) Load 262(f16v2) + 343:151(f16vec3) Load 288(f16v3) + 344:151(f16vec3) ExtInst 1(GLSL.std.450) 49(SmoothStep) 341 342 343 + Store 288(f16v3) 344 + 345:28(float16_t) Load 284(f16) + 346: 35(ptr) AccessChain 263(f16v1) 34 + 347:28(float16_t) Load 346 + 348:151(f16vec3) Load 262(f16v2) + 349:151(f16vec3) CompositeConstruct 345 345 345 + 350:151(f16vec3) CompositeConstruct 347 347 347 + 351:151(f16vec3) ExtInst 1(GLSL.std.450) 49(SmoothStep) 349 350 348 + Store 288(f16v3) 351 + 353:28(float16_t) Load 284(f16) + 354: 109(bool) IsNan 353 + Store 352(b) 354 + 355:151(f16vec3) Load 263(f16v1) + 356: 154(bvec3) IsInf 355 + Store 331(bv) 356 + 357:151(f16vec3) Load 263(f16v1) + 358:151(f16vec3) Load 262(f16v2) + 359:151(f16vec3) Load 288(f16v3) + 360:151(f16vec3) ExtInst 1(GLSL.std.450) 50(Fma) 357 358 359 + Store 288(f16v3) 360 + 361:151(f16vec3) Load 263(f16v1) + 364:363(ResType) ExtInst 1(GLSL.std.450) 52(FrexpStruct) 361 + 365: 180(ivec3) CompositeExtract 364 1 + Store 362(iv) 365 + 366:151(f16vec3) CompositeExtract 364 0 Store 262(f16v2) 366 + 367:151(f16vec3) Load 263(f16v1) + 368: 180(ivec3) Load 362(iv) + 369:151(f16vec3) ExtInst 1(GLSL.std.450) 53(Ldexp) 367 368 + Store 262(f16v2) 369 Return FunctionEnd 18(builtinPackUnpackFuncs(): 2 Function None 3 19: Label - 368(u): 367(ptr) Variable Function - 369(f16v): 30(ptr) Variable Function - 370: 29(f16vec2) Load 369(f16v) - 371: 33(int) Bitcast 370 - Store 368(u) 371 - 372: 33(int) Load 368(u) - 373: 29(f16vec2) Bitcast 372 - Store 369(f16v) 373 + 371(u): 370(ptr) Variable Function + 372(f16v): 30(ptr) Variable Function + 373: 29(f16vec2) Load 372(f16v) + 374: 33(int) Bitcast 373 + Store 371(u) 374 + 375: 33(int) Load 371(u) + 376: 29(f16vec2) Bitcast 375 + Store 372(f16v) 376 Return FunctionEnd 20(builtinGeometryFuncs(): 2 Function None 3 21: Label - 374(f16): 35(ptr) Variable Function - 375(f16v1): 152(ptr) Variable Function - 379(f16v2): 152(ptr) Variable Function - 385(f16v3): 152(ptr) Variable Function - 376:151(f16vec3) Load 375(f16v1) - 377:28(float16_t) ExtInst 1(GLSL.std.450) 66(Length) 376 - Store 374(f16) 377 - 378:151(f16vec3) Load 375(f16v1) - 380:151(f16vec3) Load 379(f16v2) - 381:28(float16_t) ExtInst 1(GLSL.std.450) 67(Distance) 378 380 - Store 374(f16) 381 - 382:151(f16vec3) Load 375(f16v1) - 383:151(f16vec3) Load 379(f16v2) - 384:28(float16_t) Dot 382 383 - Store 374(f16) 384 - 386:151(f16vec3) Load 375(f16v1) - 387:151(f16vec3) Load 379(f16v2) - 388:151(f16vec3) ExtInst 1(GLSL.std.450) 68(Cross) 386 387 - Store 385(f16v3) 388 - 389:151(f16vec3) Load 375(f16v1) - 390:151(f16vec3) ExtInst 1(GLSL.std.450) 69(Normalize) 389 - Store 379(f16v2) 390 - 391:151(f16vec3) Load 375(f16v1) - 392:151(f16vec3) Load 379(f16v2) - 393:151(f16vec3) Load 385(f16v3) - 394:151(f16vec3) ExtInst 1(GLSL.std.450) 70(FaceForward) 391 392 393 - Store 385(f16v3) 394 - 395:151(f16vec3) Load 375(f16v1) - 396:151(f16vec3) Load 379(f16v2) - 397:151(f16vec3) ExtInst 1(GLSL.std.450) 71(Reflect) 395 396 - Store 385(f16v3) 397 - 398:151(f16vec3) Load 375(f16v1) - 399:151(f16vec3) Load 379(f16v2) - 400:28(float16_t) Load 374(f16) - 401:151(f16vec3) ExtInst 1(GLSL.std.450) 72(Refract) 398 399 400 - Store 385(f16v3) 401 + 377(f16): 35(ptr) Variable Function + 378(f16v1): 152(ptr) Variable Function + 382(f16v2): 152(ptr) Variable Function + 388(f16v3): 152(ptr) Variable Function + 379:151(f16vec3) Load 378(f16v1) + 380:28(float16_t) ExtInst 1(GLSL.std.450) 66(Length) 379 + Store 377(f16) 380 + 381:151(f16vec3) Load 378(f16v1) + 383:151(f16vec3) Load 382(f16v2) + 384:28(float16_t) ExtInst 1(GLSL.std.450) 67(Distance) 381 383 + Store 377(f16) 384 + 385:151(f16vec3) Load 378(f16v1) + 386:151(f16vec3) Load 382(f16v2) + 387:28(float16_t) Dot 385 386 + Store 377(f16) 387 + 389:151(f16vec3) Load 378(f16v1) + 390:151(f16vec3) Load 382(f16v2) + 391:151(f16vec3) ExtInst 1(GLSL.std.450) 68(Cross) 389 390 + Store 388(f16v3) 391 + 392:151(f16vec3) Load 378(f16v1) + 393:151(f16vec3) ExtInst 1(GLSL.std.450) 69(Normalize) 392 + Store 382(f16v2) 393 + 394:151(f16vec3) Load 378(f16v1) + 395:151(f16vec3) Load 382(f16v2) + 396:151(f16vec3) Load 388(f16v3) + 397:151(f16vec3) ExtInst 1(GLSL.std.450) 70(FaceForward) 394 395 396 + Store 388(f16v3) 397 + 398:151(f16vec3) Load 378(f16v1) + 399:151(f16vec3) Load 382(f16v2) + 400:151(f16vec3) ExtInst 1(GLSL.std.450) 71(Reflect) 398 399 + Store 388(f16v3) 400 + 401:151(f16vec3) Load 378(f16v1) + 402:151(f16vec3) Load 382(f16v2) + 403:28(float16_t) Load 377(f16) + 404:151(f16vec3) ExtInst 1(GLSL.std.450) 72(Refract) 401 402 403 + Store 388(f16v3) 404 Return FunctionEnd 22(builtinMatrixFuncs(): 2 Function None 3 23: Label - 404(f16m3): 403(ptr) Variable Function - 405(f16m1): 403(ptr) Variable Function - 407(f16m2): 403(ptr) Variable Function - 416(f16v1): 152(ptr) Variable Function - 418(f16v2): 30(ptr) Variable Function - 423(f16m4): 422(ptr) Variable Function - 426(f16): 35(ptr) Variable Function - 429(f16m5): 428(ptr) Variable Function - 434(f16m6): 433(ptr) Variable Function - 435(f16m7): 433(ptr) Variable Function - 406: 402 Load 405(f16m1) - 408: 402 Load 407(f16m2) - 409:151(f16vec3) CompositeExtract 406 0 - 410:151(f16vec3) CompositeExtract 408 0 - 411:151(f16vec3) FMul 409 410 - 412:151(f16vec3) CompositeExtract 406 1 - 413:151(f16vec3) CompositeExtract 408 1 + 407(f16m3): 406(ptr) Variable Function + 408(f16m1): 406(ptr) Variable Function + 410(f16m2): 406(ptr) Variable Function + 419(f16v1): 152(ptr) Variable Function + 421(f16v2): 30(ptr) Variable Function + 426(f16m4): 425(ptr) Variable Function + 429(f16): 35(ptr) Variable Function + 432(f16m5): 431(ptr) Variable Function + 437(f16m6): 436(ptr) Variable Function + 438(f16m7): 436(ptr) Variable Function + 409: 405 Load 408(f16m1) + 411: 405 Load 410(f16m2) + 412:151(f16vec3) CompositeExtract 409 0 + 413:151(f16vec3) CompositeExtract 411 0 414:151(f16vec3) FMul 412 413 - 415: 402 CompositeConstruct 411 414 - Store 404(f16m3) 415 - 417:151(f16vec3) Load 416(f16v1) - 419: 29(f16vec2) Load 418(f16v2) - 420: 402 OuterProduct 417 419 - Store 405(f16m1) 420 - 424: 402 Load 405(f16m1) - 425: 421 Transpose 424 - Store 423(f16m4) 425 - 430: 427 Load 429(f16m5) - 431:28(float16_t) ExtInst 1(GLSL.std.450) 33(Determinant) 430 - Store 426(f16) 431 - 436: 432 Load 435(f16m7) - 437: 432 ExtInst 1(GLSL.std.450) 34(MatrixInverse) 436 - Store 434(f16m6) 437 + 415:151(f16vec3) CompositeExtract 409 1 + 416:151(f16vec3) CompositeExtract 411 1 + 417:151(f16vec3) FMul 415 416 + 418: 405 CompositeConstruct 414 417 + Store 407(f16m3) 418 + 420:151(f16vec3) Load 419(f16v1) + 422: 29(f16vec2) Load 421(f16v2) + 423: 405 OuterProduct 420 422 + Store 408(f16m1) 423 + 427: 405 Load 408(f16m1) + 428: 424 Transpose 427 + Store 426(f16m4) 428 + 433: 430 Load 432(f16m5) + 434:28(float16_t) ExtInst 1(GLSL.std.450) 33(Determinant) 433 + Store 429(f16) 434 + 439: 435 Load 438(f16m7) + 440: 435 ExtInst 1(GLSL.std.450) 34(MatrixInverse) 439 + Store 437(f16m6) 440 Return FunctionEnd 24(builtinVecRelFuncs(): 2 Function None 3 25: Label - 438(bv): 155(ptr) Variable Function - 439(f16v1): 152(ptr) Variable Function - 441(f16v2): 152(ptr) Variable Function - 440:151(f16vec3) Load 439(f16v1) - 442:151(f16vec3) Load 441(f16v2) - 443: 154(bvec3) FOrdLessThan 440 442 - Store 438(bv) 443 - 444:151(f16vec3) Load 439(f16v1) - 445:151(f16vec3) Load 441(f16v2) - 446: 154(bvec3) FOrdLessThanEqual 444 445 - Store 438(bv) 446 - 447:151(f16vec3) Load 439(f16v1) - 448:151(f16vec3) Load 441(f16v2) - 449: 154(bvec3) FOrdGreaterThan 447 448 - Store 438(bv) 449 - 450:151(f16vec3) Load 439(f16v1) - 451:151(f16vec3) Load 441(f16v2) - 452: 154(bvec3) FOrdGreaterThanEqual 450 451 - Store 438(bv) 452 - 453:151(f16vec3) Load 439(f16v1) - 454:151(f16vec3) Load 441(f16v2) - 455: 154(bvec3) FOrdEqual 453 454 - Store 438(bv) 455 - 456:151(f16vec3) Load 439(f16v1) - 457:151(f16vec3) Load 441(f16v2) - 458: 154(bvec3) FUnordNotEqual 456 457 - Store 438(bv) 458 + 441(bv): 155(ptr) Variable Function + 442(f16v1): 152(ptr) Variable Function + 444(f16v2): 152(ptr) Variable Function + 443:151(f16vec3) Load 442(f16v1) + 445:151(f16vec3) Load 444(f16v2) + 446: 154(bvec3) FOrdLessThan 443 445 + Store 441(bv) 446 + 447:151(f16vec3) Load 442(f16v1) + 448:151(f16vec3) Load 444(f16v2) + 449: 154(bvec3) FOrdLessThanEqual 447 448 + Store 441(bv) 449 + 450:151(f16vec3) Load 442(f16v1) + 451:151(f16vec3) Load 444(f16v2) + 452: 154(bvec3) FOrdGreaterThan 450 451 + Store 441(bv) 452 + 453:151(f16vec3) Load 442(f16v1) + 454:151(f16vec3) Load 444(f16v2) + 455: 154(bvec3) FOrdGreaterThanEqual 453 454 + Store 441(bv) 455 + 456:151(f16vec3) Load 442(f16v1) + 457:151(f16vec3) Load 444(f16v2) + 458: 154(bvec3) FOrdEqual 456 457 + Store 441(bv) 458 + 459:151(f16vec3) Load 442(f16v1) + 460:151(f16vec3) Load 444(f16v2) + 461: 154(bvec3) FUnordNotEqual 459 460 + Store 441(bv) 461 Return FunctionEnd 26(builtinFragProcFuncs(): 2 Function None 3 27: Label - 459(f16v): 152(ptr) Variable Function - 463: 462(ptr) AccessChain 461(if16v) 34 - 464:28(float16_t) Load 463 - 465:28(float16_t) DPdx 464 - 466: 35(ptr) AccessChain 459(f16v) 34 - Store 466 465 - 467: 462(ptr) AccessChain 461(if16v) 90 - 468:28(float16_t) Load 467 - 469:28(float16_t) DPdy 468 - 470: 35(ptr) AccessChain 459(f16v) 90 - Store 470 469 - 471:151(f16vec3) Load 461(if16v) - 472: 29(f16vec2) VectorShuffle 471 471 0 1 - 473: 29(f16vec2) DPdxFine 472 - 474: 35(ptr) AccessChain 459(f16v) 34 - 475:28(float16_t) CompositeExtract 473 0 - Store 474 475 - 476: 35(ptr) AccessChain 459(f16v) 90 - 477:28(float16_t) CompositeExtract 473 1 - Store 476 477 - 478:151(f16vec3) Load 461(if16v) - 479: 29(f16vec2) VectorShuffle 478 478 0 1 - 480: 29(f16vec2) DPdyFine 479 - 481: 35(ptr) AccessChain 459(f16v) 34 - 482:28(float16_t) CompositeExtract 480 0 - Store 481 482 - 483: 35(ptr) AccessChain 459(f16v) 90 - 484:28(float16_t) CompositeExtract 480 1 - Store 483 484 - 485:151(f16vec3) Load 461(if16v) - 486:151(f16vec3) DPdxCoarse 485 - Store 459(f16v) 486 - 487:151(f16vec3) Load 461(if16v) - 488:151(f16vec3) DPdxCoarse 487 - Store 459(f16v) 488 - 489: 462(ptr) AccessChain 461(if16v) 34 - 490:28(float16_t) Load 489 - 491:28(float16_t) Fwidth 490 - 492: 35(ptr) AccessChain 459(f16v) 34 - Store 492 491 - 493:151(f16vec3) Load 461(if16v) - 494: 29(f16vec2) VectorShuffle 493 493 0 1 - 495: 29(f16vec2) FwidthFine 494 - 496: 35(ptr) AccessChain 459(f16v) 34 - 497:28(float16_t) CompositeExtract 495 0 - Store 496 497 - 498: 35(ptr) AccessChain 459(f16v) 90 - 499:28(float16_t) CompositeExtract 495 1 - Store 498 499 - 500:151(f16vec3) Load 461(if16v) - 501:151(f16vec3) FwidthCoarse 500 - Store 459(f16v) 501 - 502: 462(ptr) AccessChain 461(if16v) 34 - 503:28(float16_t) ExtInst 1(GLSL.std.450) 76(InterpolateAtCentroid) 502 - 504: 35(ptr) AccessChain 459(f16v) 34 - Store 504 503 - 506:151(f16vec3) ExtInst 1(GLSL.std.450) 77(InterpolateAtSample) 461(if16v) 505 - 507: 29(f16vec2) VectorShuffle 506 506 0 1 - 508: 35(ptr) AccessChain 459(f16v) 34 - 509:28(float16_t) CompositeExtract 507 0 - Store 508 509 - 510: 35(ptr) AccessChain 459(f16v) 90 - 511:28(float16_t) CompositeExtract 507 1 - Store 510 511 - 514:151(f16vec3) ExtInst 1(GLSL.std.450) 78(InterpolateAtOffset) 461(if16v) 513 - Store 459(f16v) 514 + 462(f16v): 152(ptr) Variable Function + 466: 465(ptr) AccessChain 464(if16v) 34 + 467:28(float16_t) Load 466 + 468:28(float16_t) DPdx 467 + 469: 35(ptr) AccessChain 462(f16v) 34 + Store 469 468 + 470: 465(ptr) AccessChain 464(if16v) 90 + 471:28(float16_t) Load 470 + 472:28(float16_t) DPdy 471 + 473: 35(ptr) AccessChain 462(f16v) 90 + Store 473 472 + 474:151(f16vec3) Load 464(if16v) + 475: 29(f16vec2) VectorShuffle 474 474 0 1 + 476: 29(f16vec2) DPdxFine 475 + 477: 35(ptr) AccessChain 462(f16v) 34 + 478:28(float16_t) CompositeExtract 476 0 + Store 477 478 + 479: 35(ptr) AccessChain 462(f16v) 90 + 480:28(float16_t) CompositeExtract 476 1 + Store 479 480 + 481:151(f16vec3) Load 464(if16v) + 482: 29(f16vec2) VectorShuffle 481 481 0 1 + 483: 29(f16vec2) DPdyFine 482 + 484: 35(ptr) AccessChain 462(f16v) 34 + 485:28(float16_t) CompositeExtract 483 0 + Store 484 485 + 486: 35(ptr) AccessChain 462(f16v) 90 + 487:28(float16_t) CompositeExtract 483 1 + Store 486 487 + 488:151(f16vec3) Load 464(if16v) + 489:151(f16vec3) DPdxCoarse 488 + Store 462(f16v) 489 + 490:151(f16vec3) Load 464(if16v) + 491:151(f16vec3) DPdxCoarse 490 + Store 462(f16v) 491 + 492: 465(ptr) AccessChain 464(if16v) 34 + 493:28(float16_t) Load 492 + 494:28(float16_t) Fwidth 493 + 495: 35(ptr) AccessChain 462(f16v) 34 + Store 495 494 + 496:151(f16vec3) Load 464(if16v) + 497: 29(f16vec2) VectorShuffle 496 496 0 1 + 498: 29(f16vec2) FwidthFine 497 + 499: 35(ptr) AccessChain 462(f16v) 34 + 500:28(float16_t) CompositeExtract 498 0 + Store 499 500 + 501: 35(ptr) AccessChain 462(f16v) 90 + 502:28(float16_t) CompositeExtract 498 1 + Store 501 502 + 503:151(f16vec3) Load 464(if16v) + 504:151(f16vec3) FwidthCoarse 503 + Store 462(f16v) 504 + 505: 465(ptr) AccessChain 464(if16v) 34 + 506:28(float16_t) ExtInst 1(GLSL.std.450) 76(InterpolateAtCentroid) 505 + 507: 35(ptr) AccessChain 462(f16v) 34 + Store 507 506 + 509:151(f16vec3) ExtInst 1(GLSL.std.450) 77(InterpolateAtSample) 464(if16v) 508 + 510: 29(f16vec2) VectorShuffle 509 509 0 1 + 511: 35(ptr) AccessChain 462(f16v) 34 + 512:28(float16_t) CompositeExtract 510 0 + Store 511 512 + 513: 35(ptr) AccessChain 462(f16v) 90 + 514:28(float16_t) CompositeExtract 510 1 + Store 513 514 + 517:151(f16vec3) ExtInst 1(GLSL.std.450) 78(InterpolateAtOffset) 464(if16v) 516 + Store 462(f16v) 517 Return FunctionEnd diff --git a/Test/baseResults/spv.float32.frag.out b/Test/baseResults/spv.float32.frag.out index fbde7e5bda..082a417a78 100644 --- a/Test/baseResults/spv.float32.frag.out +++ b/Test/baseResults/spv.float32.frag.out @@ -1,7 +1,7 @@ spv.float32.frag // Module Version 10300 // Generated by (magic number): 8000b -// Id's are bound by 541 +// Id's are bound by 544 Capability Shader Capability Float16 @@ -13,7 +13,7 @@ spv.float32.frag Capability InterpolationFunction 1: ExtInstImport "GLSL.std.450" MemoryModel Logical GLSL450 - EntryPoint Fragment 4 "main" 471 + EntryPoint Fragment 4 "main" 474 ExecutionMode 4 OriginUpperLeft Source GLSL 450 SourceExtension "GL_EXT_shader_explicit_arithmetic_types" @@ -60,75 +60,76 @@ spv.float32.frag Name 280 "f32v1" Name 301 "f32" Name 305 "f32v3" - Name 345 "bv" - Name 366 "b" - Name 376 "iv" - Name 377 "ResType" - Name 384 "f32" - Name 385 "f32v1" - Name 389 "f32v2" - Name 395 "f32v3" - Name 414 "f32m3" - Name 415 "f32m1" - Name 417 "f32m2" - Name 426 "f32v1" - Name 428 "f32v2" - Name 433 "f32m4" - Name 436 "f32" - Name 439 "f32m5" - Name 444 "f32m6" - Name 445 "f32m7" - Name 448 "bv" - Name 449 "f32v1" - Name 451 "f32v2" - Name 469 "f32v" - Name 471 "if32v" - Name 528 "S" - MemberName 528(S) 0 "x" - MemberName 528(S) 1 "y" - MemberName 528(S) 2 "z" - Name 530 "B1" - MemberName 530(B1) 0 "a" - MemberName 530(B1) 1 "b" - MemberName 530(B1) 2 "c" - MemberName 530(B1) 3 "d" - MemberName 530(B1) 4 "e" - MemberName 530(B1) 5 "f" - MemberName 530(B1) 6 "g" - MemberName 530(B1) 7 "h" - Name 532 "" - Name 533 "sf16" - Name 534 "sf" - Name 535 "sd" - Name 536 "f16_to_f" - Name 538 "f16_to_d" - Name 539 "f_to_f16" - Name 540 "d_to_f16" - Decorate 471(if32v) Location 0 - Decorate 526 ArrayStride 16 - Decorate 527 ArrayStride 32 - MemberDecorate 528(S) 0 Offset 0 - MemberDecorate 528(S) 1 Offset 8 - MemberDecorate 528(S) 2 Offset 16 - Decorate 529 ArrayStride 32 - Decorate 530(B1) Block - MemberDecorate 530(B1) 0 Offset 0 - MemberDecorate 530(B1) 1 Offset 8 - MemberDecorate 530(B1) 2 Offset 16 - MemberDecorate 530(B1) 3 Offset 32 - MemberDecorate 530(B1) 4 ColMajor - MemberDecorate 530(B1) 4 MatrixStride 16 - MemberDecorate 530(B1) 4 Offset 64 - MemberDecorate 530(B1) 5 ColMajor - MemberDecorate 530(B1) 5 MatrixStride 16 - MemberDecorate 530(B1) 5 Offset 96 - MemberDecorate 530(B1) 6 Offset 160 - MemberDecorate 530(B1) 7 Offset 192 - Decorate 532 Binding 0 - Decorate 532 DescriptorSet 0 - Decorate 533(sf16) SpecId 100 - Decorate 534(sf) SpecId 101 - Decorate 535(sd) SpecId 102 + Name 307 "ResType" + Name 348 "bv" + Name 369 "b" + Name 379 "iv" + Name 380 "ResType" + Name 387 "f32" + Name 388 "f32v1" + Name 392 "f32v2" + Name 398 "f32v3" + Name 417 "f32m3" + Name 418 "f32m1" + Name 420 "f32m2" + Name 429 "f32v1" + Name 431 "f32v2" + Name 436 "f32m4" + Name 439 "f32" + Name 442 "f32m5" + Name 447 "f32m6" + Name 448 "f32m7" + Name 451 "bv" + Name 452 "f32v1" + Name 454 "f32v2" + Name 472 "f32v" + Name 474 "if32v" + Name 531 "S" + MemberName 531(S) 0 "x" + MemberName 531(S) 1 "y" + MemberName 531(S) 2 "z" + Name 533 "B1" + MemberName 533(B1) 0 "a" + MemberName 533(B1) 1 "b" + MemberName 533(B1) 2 "c" + MemberName 533(B1) 3 "d" + MemberName 533(B1) 4 "e" + MemberName 533(B1) 5 "f" + MemberName 533(B1) 6 "g" + MemberName 533(B1) 7 "h" + Name 535 "" + Name 536 "sf16" + Name 537 "sf" + Name 538 "sd" + Name 539 "f16_to_f" + Name 541 "f16_to_d" + Name 542 "f_to_f16" + Name 543 "d_to_f16" + Decorate 474(if32v) Location 0 + Decorate 529 ArrayStride 16 + Decorate 530 ArrayStride 32 + MemberDecorate 531(S) 0 Offset 0 + MemberDecorate 531(S) 1 Offset 8 + MemberDecorate 531(S) 2 Offset 16 + Decorate 532 ArrayStride 32 + Decorate 533(B1) Block + MemberDecorate 533(B1) 0 Offset 0 + MemberDecorate 533(B1) 1 Offset 8 + MemberDecorate 533(B1) 2 Offset 16 + MemberDecorate 533(B1) 3 Offset 32 + MemberDecorate 533(B1) 4 ColMajor + MemberDecorate 533(B1) 4 MatrixStride 16 + MemberDecorate 533(B1) 4 Offset 64 + MemberDecorate 533(B1) 5 ColMajor + MemberDecorate 533(B1) 5 MatrixStride 16 + MemberDecorate 533(B1) 5 Offset 96 + MemberDecorate 533(B1) 6 Offset 160 + MemberDecorate 533(B1) 7 Offset 192 + Decorate 535 Binding 0 + Decorate 535 DescriptorSet 0 + Decorate 536(sf16) SpecId 100 + Decorate 537(sf) SpecId 101 + Decorate 538(sd) SpecId 102 2: TypeVoid 3: TypeFunction 2 26: TypeFloat 32 @@ -185,37 +186,38 @@ spv.float32.frag 223: TypePointer Function 222(i64vec3) 227: TypeVector 26(float) 4 228: TypePointer Function 227(fvec4) - 377(ResType): TypeStruct 153(fvec3) 193(ivec3) - 412: TypeMatrix 153(fvec3) 2 - 413: TypePointer Function 412 - 431: TypeMatrix 27(fvec2) 3 - 432: TypePointer Function 431 - 437: TypeMatrix 153(fvec3) 3 - 438: TypePointer Function 437 - 442: TypeMatrix 227(fvec4) 4 - 443: TypePointer Function 442 - 470: TypePointer Input 153(fvec3) - 471(if32v): 470(ptr) Variable Input - 472: TypePointer Input 26(float) - 515: 192(int) Constant 1 - 522: 26(float) Constant 1056964608 - 523: 27(fvec2) ConstantComposite 522 522 - 525: 31(int) Constant 2 - 526: TypeArray 26(float) 525 - 527: TypeArray 412 525 - 528(S): TypeStruct 26(float) 27(fvec2) 153(fvec3) - 529: TypeArray 528(S) 525 - 530(B1): TypeStruct 26(float) 27(fvec2) 153(fvec3) 526 412 527 528(S) 529 - 531: TypePointer Uniform 530(B1) - 532: 531(ptr) Variable Uniform - 533(sf16):172(float16_t) SpecConstant 12288 - 534(sf): 26(float) SpecConstant 1048576000 - 535(sd):149(float64_t) SpecConstant 0 1071644672 - 536(f16_to_f): 26(float) SpecConstantOp 115 533(sf16) - 537: 26(float) SpecConstantOp 115 533(sf16) - 538(f16_to_d):149(float64_t) SpecConstantOp 115 537 - 539(f_to_f16):172(float16_t) SpecConstantOp 115 534(sf) - 540(d_to_f16):172(float16_t) SpecConstantOp 115 535(sd) + 307(ResType): TypeStruct 153(fvec3) 153(fvec3) + 380(ResType): TypeStruct 153(fvec3) 193(ivec3) + 415: TypeMatrix 153(fvec3) 2 + 416: TypePointer Function 415 + 434: TypeMatrix 27(fvec2) 3 + 435: TypePointer Function 434 + 440: TypeMatrix 153(fvec3) 3 + 441: TypePointer Function 440 + 445: TypeMatrix 227(fvec4) 4 + 446: TypePointer Function 445 + 473: TypePointer Input 153(fvec3) + 474(if32v): 473(ptr) Variable Input + 475: TypePointer Input 26(float) + 518: 192(int) Constant 1 + 525: 26(float) Constant 1056964608 + 526: 27(fvec2) ConstantComposite 525 525 + 528: 31(int) Constant 2 + 529: TypeArray 26(float) 528 + 530: TypeArray 415 528 + 531(S): TypeStruct 26(float) 27(fvec2) 153(fvec3) + 532: TypeArray 531(S) 528 + 533(B1): TypeStruct 26(float) 27(fvec2) 153(fvec3) 529 415 530 531(S) 532 + 534: TypePointer Uniform 533(B1) + 535: 534(ptr) Variable Uniform + 536(sf16):172(float16_t) SpecConstant 12288 + 537(sf): 26(float) SpecConstant 1048576000 + 538(sd):149(float64_t) SpecConstant 0 1071644672 + 539(f16_to_f): 26(float) SpecConstantOp 115 536(sf16) + 540: 26(float) SpecConstantOp 115 536(sf16) + 541(f16_to_d):149(float64_t) SpecConstantOp 115 540 + 542(f_to_f16):172(float16_t) SpecConstantOp 115 537(sf) + 543(d_to_f16):172(float16_t) SpecConstantOp 115 538(sd) 4(main): 2 Function None 3 5: Label Return @@ -509,9 +511,9 @@ spv.float32.frag 280(f32v1): 154(ptr) Variable Function 301(f32): 33(ptr) Variable Function 305(f32v3): 154(ptr) Variable Function - 345(bv): 159(ptr) Variable Function - 366(b): 108(ptr) Variable Function - 376(iv): 194(ptr) Variable Function + 348(bv): 159(ptr) Variable Function + 369(b): 108(ptr) Variable Function + 379(iv): 194(ptr) Variable Function 281: 153(fvec3) Load 280(f32v1) 282: 153(fvec3) ExtInst 1(GLSL.std.450) 4(FAbs) 281 Store 279(f32v2) 282 @@ -546,276 +548,279 @@ spv.float32.frag 304: 153(fvec3) FMod 300 303 Store 279(f32v2) 304 306: 153(fvec3) Load 280(f32v1) - 307: 153(fvec3) ExtInst 1(GLSL.std.450) 35(Modf) 306 279(f32v2) - Store 305(f32v3) 307 - 308: 153(fvec3) Load 280(f32v1) - 309: 153(fvec3) Load 279(f32v2) - 310: 153(fvec3) ExtInst 1(GLSL.std.450) 37(FMin) 308 309 + 308:307(ResType) ExtInst 1(GLSL.std.450) 36(ModfStruct) 306 + 309: 153(fvec3) CompositeExtract 308 1 + Store 279(f32v2) 309 + 310: 153(fvec3) CompositeExtract 308 0 Store 305(f32v3) 310 311: 153(fvec3) Load 280(f32v1) - 312: 26(float) Load 301(f32) - 313: 153(fvec3) CompositeConstruct 312 312 312 - 314: 153(fvec3) ExtInst 1(GLSL.std.450) 37(FMin) 311 313 - Store 305(f32v3) 314 - 315: 153(fvec3) Load 280(f32v1) - 316: 153(fvec3) Load 279(f32v2) - 317: 153(fvec3) ExtInst 1(GLSL.std.450) 40(FMax) 315 316 + 312: 153(fvec3) Load 279(f32v2) + 313: 153(fvec3) ExtInst 1(GLSL.std.450) 37(FMin) 311 312 + Store 305(f32v3) 313 + 314: 153(fvec3) Load 280(f32v1) + 315: 26(float) Load 301(f32) + 316: 153(fvec3) CompositeConstruct 315 315 315 + 317: 153(fvec3) ExtInst 1(GLSL.std.450) 37(FMin) 314 316 Store 305(f32v3) 317 318: 153(fvec3) Load 280(f32v1) - 319: 26(float) Load 301(f32) - 320: 153(fvec3) CompositeConstruct 319 319 319 - 321: 153(fvec3) ExtInst 1(GLSL.std.450) 40(FMax) 318 320 - Store 305(f32v3) 321 - 322: 153(fvec3) Load 280(f32v1) - 323: 26(float) Load 301(f32) - 324: 33(ptr) AccessChain 279(f32v2) 32 - 325: 26(float) Load 324 - 326: 153(fvec3) CompositeConstruct 323 323 323 - 327: 153(fvec3) CompositeConstruct 325 325 325 - 328: 153(fvec3) ExtInst 1(GLSL.std.450) 43(FClamp) 322 326 327 - Store 305(f32v3) 328 - 329: 153(fvec3) Load 280(f32v1) - 330: 153(fvec3) Load 279(f32v2) - 331: 26(float) Load 301(f32) - 332: 153(fvec3) CompositeConstruct 331 331 331 - 333: 153(fvec3) ExtInst 1(GLSL.std.450) 43(FClamp) 329 330 332 - Store 305(f32v3) 333 - 334: 153(fvec3) Load 280(f32v1) - 335: 153(fvec3) Load 279(f32v2) - 336: 26(float) Load 301(f32) - 337: 153(fvec3) CompositeConstruct 336 336 336 - 338: 153(fvec3) ExtInst 1(GLSL.std.450) 46(FMix) 334 335 337 - Store 305(f32v3) 338 - 339: 153(fvec3) Load 280(f32v1) - 340: 153(fvec3) Load 279(f32v2) - 341: 153(fvec3) Load 305(f32v3) - 342: 153(fvec3) ExtInst 1(GLSL.std.450) 46(FMix) 339 340 341 - Store 305(f32v3) 342 - 343: 153(fvec3) Load 280(f32v1) - 344: 153(fvec3) Load 279(f32v2) - 346: 158(bvec3) Load 345(bv) - 347: 153(fvec3) Select 346 344 343 - Store 305(f32v3) 347 - 348: 153(fvec3) Load 280(f32v1) - 349: 153(fvec3) Load 279(f32v2) - 350: 153(fvec3) ExtInst 1(GLSL.std.450) 48(Step) 348 349 + 319: 153(fvec3) Load 279(f32v2) + 320: 153(fvec3) ExtInst 1(GLSL.std.450) 40(FMax) 318 319 + Store 305(f32v3) 320 + 321: 153(fvec3) Load 280(f32v1) + 322: 26(float) Load 301(f32) + 323: 153(fvec3) CompositeConstruct 322 322 322 + 324: 153(fvec3) ExtInst 1(GLSL.std.450) 40(FMax) 321 323 + Store 305(f32v3) 324 + 325: 153(fvec3) Load 280(f32v1) + 326: 26(float) Load 301(f32) + 327: 33(ptr) AccessChain 279(f32v2) 32 + 328: 26(float) Load 327 + 329: 153(fvec3) CompositeConstruct 326 326 326 + 330: 153(fvec3) CompositeConstruct 328 328 328 + 331: 153(fvec3) ExtInst 1(GLSL.std.450) 43(FClamp) 325 329 330 + Store 305(f32v3) 331 + 332: 153(fvec3) Load 280(f32v1) + 333: 153(fvec3) Load 279(f32v2) + 334: 26(float) Load 301(f32) + 335: 153(fvec3) CompositeConstruct 334 334 334 + 336: 153(fvec3) ExtInst 1(GLSL.std.450) 43(FClamp) 332 333 335 + Store 305(f32v3) 336 + 337: 153(fvec3) Load 280(f32v1) + 338: 153(fvec3) Load 279(f32v2) + 339: 26(float) Load 301(f32) + 340: 153(fvec3) CompositeConstruct 339 339 339 + 341: 153(fvec3) ExtInst 1(GLSL.std.450) 46(FMix) 337 338 340 + Store 305(f32v3) 341 + 342: 153(fvec3) Load 280(f32v1) + 343: 153(fvec3) Load 279(f32v2) + 344: 153(fvec3) Load 305(f32v3) + 345: 153(fvec3) ExtInst 1(GLSL.std.450) 46(FMix) 342 343 344 + Store 305(f32v3) 345 + 346: 153(fvec3) Load 280(f32v1) + 347: 153(fvec3) Load 279(f32v2) + 349: 158(bvec3) Load 348(bv) + 350: 153(fvec3) Select 349 347 346 Store 305(f32v3) 350 - 351: 26(float) Load 301(f32) - 352: 153(fvec3) Load 305(f32v3) - 353: 153(fvec3) CompositeConstruct 351 351 351 - 354: 153(fvec3) ExtInst 1(GLSL.std.450) 48(Step) 353 352 - Store 305(f32v3) 354 - 355: 153(fvec3) Load 280(f32v1) - 356: 153(fvec3) Load 279(f32v2) - 357: 153(fvec3) Load 305(f32v3) - 358: 153(fvec3) ExtInst 1(GLSL.std.450) 49(SmoothStep) 355 356 357 - Store 305(f32v3) 358 - 359: 26(float) Load 301(f32) - 360: 33(ptr) AccessChain 280(f32v1) 32 - 361: 26(float) Load 360 - 362: 153(fvec3) Load 279(f32v2) - 363: 153(fvec3) CompositeConstruct 359 359 359 - 364: 153(fvec3) CompositeConstruct 361 361 361 - 365: 153(fvec3) ExtInst 1(GLSL.std.450) 49(SmoothStep) 363 364 362 - Store 305(f32v3) 365 - 367: 26(float) Load 301(f32) - 368: 107(bool) IsNan 367 - Store 366(b) 368 - 369: 153(fvec3) Load 280(f32v1) - 370: 158(bvec3) IsInf 369 - Store 345(bv) 370 - 371: 153(fvec3) Load 280(f32v1) - 372: 153(fvec3) Load 279(f32v2) - 373: 153(fvec3) Load 305(f32v3) - 374: 153(fvec3) ExtInst 1(GLSL.std.450) 50(Fma) 371 372 373 - Store 305(f32v3) 374 - 375: 153(fvec3) Load 280(f32v1) - 378:377(ResType) ExtInst 1(GLSL.std.450) 52(FrexpStruct) 375 - 379: 193(ivec3) CompositeExtract 378 1 - Store 376(iv) 379 - 380: 153(fvec3) CompositeExtract 378 0 - Store 279(f32v2) 380 - 381: 153(fvec3) Load 280(f32v1) - 382: 193(ivec3) Load 376(iv) - 383: 153(fvec3) ExtInst 1(GLSL.std.450) 53(Ldexp) 381 382 + 351: 153(fvec3) Load 280(f32v1) + 352: 153(fvec3) Load 279(f32v2) + 353: 153(fvec3) ExtInst 1(GLSL.std.450) 48(Step) 351 352 + Store 305(f32v3) 353 + 354: 26(float) Load 301(f32) + 355: 153(fvec3) Load 305(f32v3) + 356: 153(fvec3) CompositeConstruct 354 354 354 + 357: 153(fvec3) ExtInst 1(GLSL.std.450) 48(Step) 356 355 + Store 305(f32v3) 357 + 358: 153(fvec3) Load 280(f32v1) + 359: 153(fvec3) Load 279(f32v2) + 360: 153(fvec3) Load 305(f32v3) + 361: 153(fvec3) ExtInst 1(GLSL.std.450) 49(SmoothStep) 358 359 360 + Store 305(f32v3) 361 + 362: 26(float) Load 301(f32) + 363: 33(ptr) AccessChain 280(f32v1) 32 + 364: 26(float) Load 363 + 365: 153(fvec3) Load 279(f32v2) + 366: 153(fvec3) CompositeConstruct 362 362 362 + 367: 153(fvec3) CompositeConstruct 364 364 364 + 368: 153(fvec3) ExtInst 1(GLSL.std.450) 49(SmoothStep) 366 367 365 + Store 305(f32v3) 368 + 370: 26(float) Load 301(f32) + 371: 107(bool) IsNan 370 + Store 369(b) 371 + 372: 153(fvec3) Load 280(f32v1) + 373: 158(bvec3) IsInf 372 + Store 348(bv) 373 + 374: 153(fvec3) Load 280(f32v1) + 375: 153(fvec3) Load 279(f32v2) + 376: 153(fvec3) Load 305(f32v3) + 377: 153(fvec3) ExtInst 1(GLSL.std.450) 50(Fma) 374 375 376 + Store 305(f32v3) 377 + 378: 153(fvec3) Load 280(f32v1) + 381:380(ResType) ExtInst 1(GLSL.std.450) 52(FrexpStruct) 378 + 382: 193(ivec3) CompositeExtract 381 1 + Store 379(iv) 382 + 383: 153(fvec3) CompositeExtract 381 0 Store 279(f32v2) 383 + 384: 153(fvec3) Load 280(f32v1) + 385: 193(ivec3) Load 379(iv) + 386: 153(fvec3) ExtInst 1(GLSL.std.450) 53(Ldexp) 384 385 + Store 279(f32v2) 386 Return FunctionEnd 18(builtinGeometryFuncs(): 2 Function None 3 19: Label - 384(f32): 33(ptr) Variable Function - 385(f32v1): 154(ptr) Variable Function - 389(f32v2): 154(ptr) Variable Function - 395(f32v3): 154(ptr) Variable Function - 386: 153(fvec3) Load 385(f32v1) - 387: 26(float) ExtInst 1(GLSL.std.450) 66(Length) 386 - Store 384(f32) 387 - 388: 153(fvec3) Load 385(f32v1) - 390: 153(fvec3) Load 389(f32v2) - 391: 26(float) ExtInst 1(GLSL.std.450) 67(Distance) 388 390 - Store 384(f32) 391 - 392: 153(fvec3) Load 385(f32v1) - 393: 153(fvec3) Load 389(f32v2) - 394: 26(float) Dot 392 393 - Store 384(f32) 394 - 396: 153(fvec3) Load 385(f32v1) - 397: 153(fvec3) Load 389(f32v2) - 398: 153(fvec3) ExtInst 1(GLSL.std.450) 68(Cross) 396 397 - Store 395(f32v3) 398 - 399: 153(fvec3) Load 385(f32v1) - 400: 153(fvec3) ExtInst 1(GLSL.std.450) 69(Normalize) 399 - Store 389(f32v2) 400 - 401: 153(fvec3) Load 385(f32v1) - 402: 153(fvec3) Load 389(f32v2) - 403: 153(fvec3) Load 395(f32v3) - 404: 153(fvec3) ExtInst 1(GLSL.std.450) 70(FaceForward) 401 402 403 - Store 395(f32v3) 404 - 405: 153(fvec3) Load 385(f32v1) - 406: 153(fvec3) Load 389(f32v2) - 407: 153(fvec3) ExtInst 1(GLSL.std.450) 71(Reflect) 405 406 - Store 395(f32v3) 407 - 408: 153(fvec3) Load 385(f32v1) - 409: 153(fvec3) Load 389(f32v2) - 410: 26(float) Load 384(f32) - 411: 153(fvec3) ExtInst 1(GLSL.std.450) 72(Refract) 408 409 410 - Store 395(f32v3) 411 + 387(f32): 33(ptr) Variable Function + 388(f32v1): 154(ptr) Variable Function + 392(f32v2): 154(ptr) Variable Function + 398(f32v3): 154(ptr) Variable Function + 389: 153(fvec3) Load 388(f32v1) + 390: 26(float) ExtInst 1(GLSL.std.450) 66(Length) 389 + Store 387(f32) 390 + 391: 153(fvec3) Load 388(f32v1) + 393: 153(fvec3) Load 392(f32v2) + 394: 26(float) ExtInst 1(GLSL.std.450) 67(Distance) 391 393 + Store 387(f32) 394 + 395: 153(fvec3) Load 388(f32v1) + 396: 153(fvec3) Load 392(f32v2) + 397: 26(float) Dot 395 396 + Store 387(f32) 397 + 399: 153(fvec3) Load 388(f32v1) + 400: 153(fvec3) Load 392(f32v2) + 401: 153(fvec3) ExtInst 1(GLSL.std.450) 68(Cross) 399 400 + Store 398(f32v3) 401 + 402: 153(fvec3) Load 388(f32v1) + 403: 153(fvec3) ExtInst 1(GLSL.std.450) 69(Normalize) 402 + Store 392(f32v2) 403 + 404: 153(fvec3) Load 388(f32v1) + 405: 153(fvec3) Load 392(f32v2) + 406: 153(fvec3) Load 398(f32v3) + 407: 153(fvec3) ExtInst 1(GLSL.std.450) 70(FaceForward) 404 405 406 + Store 398(f32v3) 407 + 408: 153(fvec3) Load 388(f32v1) + 409: 153(fvec3) Load 392(f32v2) + 410: 153(fvec3) ExtInst 1(GLSL.std.450) 71(Reflect) 408 409 + Store 398(f32v3) 410 + 411: 153(fvec3) Load 388(f32v1) + 412: 153(fvec3) Load 392(f32v2) + 413: 26(float) Load 387(f32) + 414: 153(fvec3) ExtInst 1(GLSL.std.450) 72(Refract) 411 412 413 + Store 398(f32v3) 414 Return FunctionEnd 20(builtinMatrixFuncs(): 2 Function None 3 21: Label - 414(f32m3): 413(ptr) Variable Function - 415(f32m1): 413(ptr) Variable Function - 417(f32m2): 413(ptr) Variable Function - 426(f32v1): 154(ptr) Variable Function - 428(f32v2): 28(ptr) Variable Function - 433(f32m4): 432(ptr) Variable Function - 436(f32): 33(ptr) Variable Function - 439(f32m5): 438(ptr) Variable Function - 444(f32m6): 443(ptr) Variable Function - 445(f32m7): 443(ptr) Variable Function - 416: 412 Load 415(f32m1) - 418: 412 Load 417(f32m2) - 419: 153(fvec3) CompositeExtract 416 0 - 420: 153(fvec3) CompositeExtract 418 0 - 421: 153(fvec3) FMul 419 420 - 422: 153(fvec3) CompositeExtract 416 1 - 423: 153(fvec3) CompositeExtract 418 1 + 417(f32m3): 416(ptr) Variable Function + 418(f32m1): 416(ptr) Variable Function + 420(f32m2): 416(ptr) Variable Function + 429(f32v1): 154(ptr) Variable Function + 431(f32v2): 28(ptr) Variable Function + 436(f32m4): 435(ptr) Variable Function + 439(f32): 33(ptr) Variable Function + 442(f32m5): 441(ptr) Variable Function + 447(f32m6): 446(ptr) Variable Function + 448(f32m7): 446(ptr) Variable Function + 419: 415 Load 418(f32m1) + 421: 415 Load 420(f32m2) + 422: 153(fvec3) CompositeExtract 419 0 + 423: 153(fvec3) CompositeExtract 421 0 424: 153(fvec3) FMul 422 423 - 425: 412 CompositeConstruct 421 424 - Store 414(f32m3) 425 - 427: 153(fvec3) Load 426(f32v1) - 429: 27(fvec2) Load 428(f32v2) - 430: 412 OuterProduct 427 429 - Store 415(f32m1) 430 - 434: 412 Load 415(f32m1) - 435: 431 Transpose 434 - Store 433(f32m4) 435 - 440: 437 Load 439(f32m5) - 441: 26(float) ExtInst 1(GLSL.std.450) 33(Determinant) 440 - Store 436(f32) 441 - 446: 442 Load 445(f32m7) - 447: 442 ExtInst 1(GLSL.std.450) 34(MatrixInverse) 446 - Store 444(f32m6) 447 + 425: 153(fvec3) CompositeExtract 419 1 + 426: 153(fvec3) CompositeExtract 421 1 + 427: 153(fvec3) FMul 425 426 + 428: 415 CompositeConstruct 424 427 + Store 417(f32m3) 428 + 430: 153(fvec3) Load 429(f32v1) + 432: 27(fvec2) Load 431(f32v2) + 433: 415 OuterProduct 430 432 + Store 418(f32m1) 433 + 437: 415 Load 418(f32m1) + 438: 434 Transpose 437 + Store 436(f32m4) 438 + 443: 440 Load 442(f32m5) + 444: 26(float) ExtInst 1(GLSL.std.450) 33(Determinant) 443 + Store 439(f32) 444 + 449: 445 Load 448(f32m7) + 450: 445 ExtInst 1(GLSL.std.450) 34(MatrixInverse) 449 + Store 447(f32m6) 450 Return FunctionEnd 22(builtinVecRelFuncs(): 2 Function None 3 23: Label - 448(bv): 159(ptr) Variable Function - 449(f32v1): 154(ptr) Variable Function - 451(f32v2): 154(ptr) Variable Function - 450: 153(fvec3) Load 449(f32v1) - 452: 153(fvec3) Load 451(f32v2) - 453: 158(bvec3) FOrdLessThan 450 452 - Store 448(bv) 453 - 454: 153(fvec3) Load 449(f32v1) - 455: 153(fvec3) Load 451(f32v2) - 456: 158(bvec3) FOrdLessThanEqual 454 455 - Store 448(bv) 456 - 457: 153(fvec3) Load 449(f32v1) - 458: 153(fvec3) Load 451(f32v2) - 459: 158(bvec3) FOrdGreaterThan 457 458 - Store 448(bv) 459 - 460: 153(fvec3) Load 449(f32v1) - 461: 153(fvec3) Load 451(f32v2) - 462: 158(bvec3) FOrdGreaterThanEqual 460 461 - Store 448(bv) 462 - 463: 153(fvec3) Load 449(f32v1) - 464: 153(fvec3) Load 451(f32v2) - 465: 158(bvec3) FOrdEqual 463 464 - Store 448(bv) 465 - 466: 153(fvec3) Load 449(f32v1) - 467: 153(fvec3) Load 451(f32v2) - 468: 158(bvec3) FUnordNotEqual 466 467 - Store 448(bv) 468 + 451(bv): 159(ptr) Variable Function + 452(f32v1): 154(ptr) Variable Function + 454(f32v2): 154(ptr) Variable Function + 453: 153(fvec3) Load 452(f32v1) + 455: 153(fvec3) Load 454(f32v2) + 456: 158(bvec3) FOrdLessThan 453 455 + Store 451(bv) 456 + 457: 153(fvec3) Load 452(f32v1) + 458: 153(fvec3) Load 454(f32v2) + 459: 158(bvec3) FOrdLessThanEqual 457 458 + Store 451(bv) 459 + 460: 153(fvec3) Load 452(f32v1) + 461: 153(fvec3) Load 454(f32v2) + 462: 158(bvec3) FOrdGreaterThan 460 461 + Store 451(bv) 462 + 463: 153(fvec3) Load 452(f32v1) + 464: 153(fvec3) Load 454(f32v2) + 465: 158(bvec3) FOrdGreaterThanEqual 463 464 + Store 451(bv) 465 + 466: 153(fvec3) Load 452(f32v1) + 467: 153(fvec3) Load 454(f32v2) + 468: 158(bvec3) FOrdEqual 466 467 + Store 451(bv) 468 + 469: 153(fvec3) Load 452(f32v1) + 470: 153(fvec3) Load 454(f32v2) + 471: 158(bvec3) FUnordNotEqual 469 470 + Store 451(bv) 471 Return FunctionEnd 24(builtinFragProcFuncs(): 2 Function None 3 25: Label - 469(f32v): 154(ptr) Variable Function - 473: 472(ptr) AccessChain 471(if32v) 32 - 474: 26(float) Load 473 - 475: 26(float) DPdx 474 - 476: 33(ptr) AccessChain 469(f32v) 32 - Store 476 475 - 477: 472(ptr) AccessChain 471(if32v) 88 - 478: 26(float) Load 477 - 479: 26(float) DPdy 478 - 480: 33(ptr) AccessChain 469(f32v) 88 - Store 480 479 - 481: 153(fvec3) Load 471(if32v) - 482: 27(fvec2) VectorShuffle 481 481 0 1 - 483: 27(fvec2) DPdxFine 482 - 484: 33(ptr) AccessChain 469(f32v) 32 - 485: 26(float) CompositeExtract 483 0 - Store 484 485 - 486: 33(ptr) AccessChain 469(f32v) 88 - 487: 26(float) CompositeExtract 483 1 - Store 486 487 - 488: 153(fvec3) Load 471(if32v) - 489: 27(fvec2) VectorShuffle 488 488 0 1 - 490: 27(fvec2) DPdyFine 489 - 491: 33(ptr) AccessChain 469(f32v) 32 - 492: 26(float) CompositeExtract 490 0 - Store 491 492 - 493: 33(ptr) AccessChain 469(f32v) 88 - 494: 26(float) CompositeExtract 490 1 - Store 493 494 - 495: 153(fvec3) Load 471(if32v) - 496: 153(fvec3) DPdxCoarse 495 - Store 469(f32v) 496 - 497: 153(fvec3) Load 471(if32v) - 498: 153(fvec3) DPdxCoarse 497 - Store 469(f32v) 498 - 499: 472(ptr) AccessChain 471(if32v) 32 - 500: 26(float) Load 499 - 501: 26(float) Fwidth 500 - 502: 33(ptr) AccessChain 469(f32v) 32 - Store 502 501 - 503: 153(fvec3) Load 471(if32v) - 504: 27(fvec2) VectorShuffle 503 503 0 1 - 505: 27(fvec2) FwidthFine 504 - 506: 33(ptr) AccessChain 469(f32v) 32 - 507: 26(float) CompositeExtract 505 0 - Store 506 507 - 508: 33(ptr) AccessChain 469(f32v) 88 - 509: 26(float) CompositeExtract 505 1 - Store 508 509 - 510: 153(fvec3) Load 471(if32v) - 511: 153(fvec3) FwidthCoarse 510 - Store 469(f32v) 511 - 512: 472(ptr) AccessChain 471(if32v) 32 - 513: 26(float) ExtInst 1(GLSL.std.450) 76(InterpolateAtCentroid) 512 - 514: 33(ptr) AccessChain 469(f32v) 32 - Store 514 513 - 516: 153(fvec3) ExtInst 1(GLSL.std.450) 77(InterpolateAtSample) 471(if32v) 515 - 517: 27(fvec2) VectorShuffle 516 516 0 1 - 518: 33(ptr) AccessChain 469(f32v) 32 - 519: 26(float) CompositeExtract 517 0 - Store 518 519 - 520: 33(ptr) AccessChain 469(f32v) 88 - 521: 26(float) CompositeExtract 517 1 - Store 520 521 - 524: 153(fvec3) ExtInst 1(GLSL.std.450) 78(InterpolateAtOffset) 471(if32v) 523 - Store 469(f32v) 524 + 472(f32v): 154(ptr) Variable Function + 476: 475(ptr) AccessChain 474(if32v) 32 + 477: 26(float) Load 476 + 478: 26(float) DPdx 477 + 479: 33(ptr) AccessChain 472(f32v) 32 + Store 479 478 + 480: 475(ptr) AccessChain 474(if32v) 88 + 481: 26(float) Load 480 + 482: 26(float) DPdy 481 + 483: 33(ptr) AccessChain 472(f32v) 88 + Store 483 482 + 484: 153(fvec3) Load 474(if32v) + 485: 27(fvec2) VectorShuffle 484 484 0 1 + 486: 27(fvec2) DPdxFine 485 + 487: 33(ptr) AccessChain 472(f32v) 32 + 488: 26(float) CompositeExtract 486 0 + Store 487 488 + 489: 33(ptr) AccessChain 472(f32v) 88 + 490: 26(float) CompositeExtract 486 1 + Store 489 490 + 491: 153(fvec3) Load 474(if32v) + 492: 27(fvec2) VectorShuffle 491 491 0 1 + 493: 27(fvec2) DPdyFine 492 + 494: 33(ptr) AccessChain 472(f32v) 32 + 495: 26(float) CompositeExtract 493 0 + Store 494 495 + 496: 33(ptr) AccessChain 472(f32v) 88 + 497: 26(float) CompositeExtract 493 1 + Store 496 497 + 498: 153(fvec3) Load 474(if32v) + 499: 153(fvec3) DPdxCoarse 498 + Store 472(f32v) 499 + 500: 153(fvec3) Load 474(if32v) + 501: 153(fvec3) DPdxCoarse 500 + Store 472(f32v) 501 + 502: 475(ptr) AccessChain 474(if32v) 32 + 503: 26(float) Load 502 + 504: 26(float) Fwidth 503 + 505: 33(ptr) AccessChain 472(f32v) 32 + Store 505 504 + 506: 153(fvec3) Load 474(if32v) + 507: 27(fvec2) VectorShuffle 506 506 0 1 + 508: 27(fvec2) FwidthFine 507 + 509: 33(ptr) AccessChain 472(f32v) 32 + 510: 26(float) CompositeExtract 508 0 + Store 509 510 + 511: 33(ptr) AccessChain 472(f32v) 88 + 512: 26(float) CompositeExtract 508 1 + Store 511 512 + 513: 153(fvec3) Load 474(if32v) + 514: 153(fvec3) FwidthCoarse 513 + Store 472(f32v) 514 + 515: 475(ptr) AccessChain 474(if32v) 32 + 516: 26(float) ExtInst 1(GLSL.std.450) 76(InterpolateAtCentroid) 515 + 517: 33(ptr) AccessChain 472(f32v) 32 + Store 517 516 + 519: 153(fvec3) ExtInst 1(GLSL.std.450) 77(InterpolateAtSample) 474(if32v) 518 + 520: 27(fvec2) VectorShuffle 519 519 0 1 + 521: 33(ptr) AccessChain 472(f32v) 32 + 522: 26(float) CompositeExtract 520 0 + Store 521 522 + 523: 33(ptr) AccessChain 472(f32v) 88 + 524: 26(float) CompositeExtract 520 1 + Store 523 524 + 527: 153(fvec3) ExtInst 1(GLSL.std.450) 78(InterpolateAtOffset) 474(if32v) 526 + Store 472(f32v) 527 Return FunctionEnd diff --git a/Test/baseResults/spv.float64.frag.out b/Test/baseResults/spv.float64.frag.out index de8a8ee676..a15fe7d5df 100644 --- a/Test/baseResults/spv.float64.frag.out +++ b/Test/baseResults/spv.float64.frag.out @@ -2,7 +2,7 @@ spv.float64.frag Validation failed // Module Version 10300 // Generated by (magic number): 8000b -// Id's are bound by 485 +// Id's are bound by 488 Capability Shader Capability Float16 @@ -14,7 +14,7 @@ Validation failed Capability InterpolationFunction 1: ExtInstImport "GLSL.std.450" MemoryModel Logical GLSL450 - EntryPoint Fragment 4 "main" 414 + EntryPoint Fragment 4 "main" 417 ExecutionMode 4 OriginUpperLeft Source GLSL 450 SourceExtension "GL_EXT_shader_explicit_arithmetic_types" @@ -57,76 +57,77 @@ Validation failed Name 222 "f64v1" Name 243 "f64" Name 247 "f64v3" - Name 287 "bv" - Name 308 "b" - Name 318 "iv" - Name 319 "ResType" - Name 326 "f64" - Name 327 "f64v1" - Name 331 "f64v2" - Name 337 "f64v3" - Name 356 "f64m3" - Name 357 "f64m1" - Name 359 "f64m2" - Name 368 "f64v1" - Name 370 "f64v2" - Name 375 "f64m4" - Name 378 "f64" - Name 381 "f64m5" - Name 387 "f64m6" - Name 388 "f64m7" - Name 391 "bv" - Name 392 "f64v1" - Name 394 "f64v2" - Name 412 "f64v" - Name 414 "if64v" - Name 471 "S" - MemberName 471(S) 0 "x" - MemberName 471(S) 1 "y" - MemberName 471(S) 2 "z" - Name 473 "B1" - MemberName 473(B1) 0 "a" - MemberName 473(B1) 1 "b" - MemberName 473(B1) 2 "c" - MemberName 473(B1) 3 "d" - MemberName 473(B1) 4 "e" - MemberName 473(B1) 5 "f" - MemberName 473(B1) 6 "g" - MemberName 473(B1) 7 "h" - Name 475 "" - Name 476 "sf16" - Name 478 "sf" - Name 479 "sd" - Name 480 "f16_to_f" - Name 482 "f16_to_d" - Name 483 "f_to_f16" - Name 484 "d_to_f16" - Decorate 414(if64v) Flat - Decorate 414(if64v) Location 0 - Decorate 469 ArrayStride 16 - Decorate 470 ArrayStride 64 - MemberDecorate 471(S) 0 Offset 0 - MemberDecorate 471(S) 1 Offset 16 - MemberDecorate 471(S) 2 Offset 32 - Decorate 472 ArrayStride 64 - Decorate 473(B1) Block - MemberDecorate 473(B1) 0 Offset 0 - MemberDecorate 473(B1) 1 Offset 16 - MemberDecorate 473(B1) 2 Offset 32 - MemberDecorate 473(B1) 3 Offset 64 - MemberDecorate 473(B1) 4 ColMajor - MemberDecorate 473(B1) 4 MatrixStride 32 - MemberDecorate 473(B1) 4 Offset 96 - MemberDecorate 473(B1) 5 ColMajor - MemberDecorate 473(B1) 5 MatrixStride 32 - MemberDecorate 473(B1) 5 Offset 160 - MemberDecorate 473(B1) 6 Offset 288 - MemberDecorate 473(B1) 7 Offset 352 - Decorate 475 Binding 0 - Decorate 475 DescriptorSet 0 - Decorate 476(sf16) SpecId 100 - Decorate 478(sf) SpecId 101 - Decorate 479(sd) SpecId 102 + Name 249 "ResType" + Name 290 "bv" + Name 311 "b" + Name 321 "iv" + Name 322 "ResType" + Name 329 "f64" + Name 330 "f64v1" + Name 334 "f64v2" + Name 340 "f64v3" + Name 359 "f64m3" + Name 360 "f64m1" + Name 362 "f64m2" + Name 371 "f64v1" + Name 373 "f64v2" + Name 378 "f64m4" + Name 381 "f64" + Name 384 "f64m5" + Name 390 "f64m6" + Name 391 "f64m7" + Name 394 "bv" + Name 395 "f64v1" + Name 397 "f64v2" + Name 415 "f64v" + Name 417 "if64v" + Name 474 "S" + MemberName 474(S) 0 "x" + MemberName 474(S) 1 "y" + MemberName 474(S) 2 "z" + Name 476 "B1" + MemberName 476(B1) 0 "a" + MemberName 476(B1) 1 "b" + MemberName 476(B1) 2 "c" + MemberName 476(B1) 3 "d" + MemberName 476(B1) 4 "e" + MemberName 476(B1) 5 "f" + MemberName 476(B1) 6 "g" + MemberName 476(B1) 7 "h" + Name 478 "" + Name 479 "sf16" + Name 481 "sf" + Name 482 "sd" + Name 483 "f16_to_f" + Name 485 "f16_to_d" + Name 486 "f_to_f16" + Name 487 "d_to_f16" + Decorate 417(if64v) Flat + Decorate 417(if64v) Location 0 + Decorate 472 ArrayStride 16 + Decorate 473 ArrayStride 64 + MemberDecorate 474(S) 0 Offset 0 + MemberDecorate 474(S) 1 Offset 16 + MemberDecorate 474(S) 2 Offset 32 + Decorate 475 ArrayStride 64 + Decorate 476(B1) Block + MemberDecorate 476(B1) 0 Offset 0 + MemberDecorate 476(B1) 1 Offset 16 + MemberDecorate 476(B1) 2 Offset 32 + MemberDecorate 476(B1) 3 Offset 64 + MemberDecorate 476(B1) 4 ColMajor + MemberDecorate 476(B1) 4 MatrixStride 32 + MemberDecorate 476(B1) 4 Offset 96 + MemberDecorate 476(B1) 5 ColMajor + MemberDecorate 476(B1) 5 MatrixStride 32 + MemberDecorate 476(B1) 5 Offset 160 + MemberDecorate 476(B1) 6 Offset 288 + MemberDecorate 476(B1) 7 Offset 352 + Decorate 478 Binding 0 + Decorate 478 DescriptorSet 0 + Decorate 479(sf16) SpecId 100 + Decorate 481(sf) SpecId 101 + Decorate 482(sd) SpecId 102 2: TypeVoid 3: TypeFunction 2 24: TypeFloat 64 @@ -178,39 +179,40 @@ Validation failed 209: TypeInt 64 0 210: TypeVector 209(int64_t) 3 211: TypePointer Function 210(i64vec3) - 319(ResType): TypeStruct 147(f64vec3) 181(ivec3) - 354: TypeMatrix 147(f64vec3) 2 - 355: TypePointer Function 354 - 373: TypeMatrix 25(f64vec2) 3 - 374: TypePointer Function 373 - 379: TypeMatrix 147(f64vec3) 3 - 380: TypePointer Function 379 - 384: TypeVector 24(float64_t) 4 - 385: TypeMatrix 384(f64vec4) 4 - 386: TypePointer Function 385 - 413: TypePointer Input 147(f64vec3) - 414(if64v): 413(ptr) Variable Input - 415: TypePointer Input 24(float64_t) - 458: 180(int) Constant 1 - 465:24(float64_t) Constant 0 1071644672 - 466: 25(f64vec2) ConstantComposite 465 465 - 468: 29(int) Constant 2 - 469: TypeArray 24(float64_t) 468 - 470: TypeArray 354 468 - 471(S): TypeStruct 24(float64_t) 25(f64vec2) 147(f64vec3) - 472: TypeArray 471(S) 468 - 473(B1): TypeStruct 24(float64_t) 25(f64vec2) 147(f64vec3) 469 354 470 471(S) 472 - 474: TypePointer Uniform 473(B1) - 475: 474(ptr) Variable Uniform - 476(sf16):160(float16_t) SpecConstant 12288 - 477: TypeFloat 32 - 478(sf): 477(float) SpecConstant 1048576000 - 479(sd):24(float64_t) SpecConstant 0 1071644672 - 480(f16_to_f): 477(float) SpecConstantOp 115 476(sf16) - 481: 477(float) SpecConstantOp 115 476(sf16) - 482(f16_to_d):24(float64_t) SpecConstantOp 115 481 - 483(f_to_f16):160(float16_t) SpecConstantOp 115 478(sf) - 484(d_to_f16):160(float16_t) SpecConstantOp 115 479(sd) + 249(ResType): TypeStruct 147(f64vec3) 147(f64vec3) + 322(ResType): TypeStruct 147(f64vec3) 181(ivec3) + 357: TypeMatrix 147(f64vec3) 2 + 358: TypePointer Function 357 + 376: TypeMatrix 25(f64vec2) 3 + 377: TypePointer Function 376 + 382: TypeMatrix 147(f64vec3) 3 + 383: TypePointer Function 382 + 387: TypeVector 24(float64_t) 4 + 388: TypeMatrix 387(f64vec4) 4 + 389: TypePointer Function 388 + 416: TypePointer Input 147(f64vec3) + 417(if64v): 416(ptr) Variable Input + 418: TypePointer Input 24(float64_t) + 461: 180(int) Constant 1 + 468:24(float64_t) Constant 0 1071644672 + 469: 25(f64vec2) ConstantComposite 468 468 + 471: 29(int) Constant 2 + 472: TypeArray 24(float64_t) 471 + 473: TypeArray 357 471 + 474(S): TypeStruct 24(float64_t) 25(f64vec2) 147(f64vec3) + 475: TypeArray 474(S) 471 + 476(B1): TypeStruct 24(float64_t) 25(f64vec2) 147(f64vec3) 472 357 473 474(S) 475 + 477: TypePointer Uniform 476(B1) + 478: 477(ptr) Variable Uniform + 479(sf16):160(float16_t) SpecConstant 12288 + 480: TypeFloat 32 + 481(sf): 480(float) SpecConstant 1048576000 + 482(sd):24(float64_t) SpecConstant 0 1071644672 + 483(f16_to_f): 480(float) SpecConstantOp 115 479(sf16) + 484: 480(float) SpecConstantOp 115 479(sf16) + 485(f16_to_d):24(float64_t) SpecConstantOp 115 484 + 486(f_to_f16):160(float16_t) SpecConstantOp 115 481(sf) + 487(d_to_f16):160(float16_t) SpecConstantOp 115 482(sd) 4(main): 2 Function None 3 5: Label Return @@ -426,9 +428,9 @@ Validation failed 222(f64v1): 148(ptr) Variable Function 243(f64): 31(ptr) Variable Function 247(f64v3): 148(ptr) Variable Function - 287(bv): 151(ptr) Variable Function - 308(b): 106(ptr) Variable Function - 318(iv): 182(ptr) Variable Function + 290(bv): 151(ptr) Variable Function + 311(b): 106(ptr) Variable Function + 321(iv): 182(ptr) Variable Function 223:147(f64vec3) Load 222(f64v1) 224:147(f64vec3) ExtInst 1(GLSL.std.450) 4(FAbs) 223 Store 221(f64v2) 224 @@ -463,276 +465,279 @@ Validation failed 246:147(f64vec3) FMod 242 245 Store 221(f64v2) 246 248:147(f64vec3) Load 222(f64v1) - 249:147(f64vec3) ExtInst 1(GLSL.std.450) 35(Modf) 248 221(f64v2) - Store 247(f64v3) 249 - 250:147(f64vec3) Load 222(f64v1) - 251:147(f64vec3) Load 221(f64v2) - 252:147(f64vec3) ExtInst 1(GLSL.std.450) 37(FMin) 250 251 + 250:249(ResType) ExtInst 1(GLSL.std.450) 36(ModfStruct) 248 + 251:147(f64vec3) CompositeExtract 250 1 + Store 221(f64v2) 251 + 252:147(f64vec3) CompositeExtract 250 0 Store 247(f64v3) 252 253:147(f64vec3) Load 222(f64v1) - 254:24(float64_t) Load 243(f64) - 255:147(f64vec3) CompositeConstruct 254 254 254 - 256:147(f64vec3) ExtInst 1(GLSL.std.450) 37(FMin) 253 255 - Store 247(f64v3) 256 - 257:147(f64vec3) Load 222(f64v1) - 258:147(f64vec3) Load 221(f64v2) - 259:147(f64vec3) ExtInst 1(GLSL.std.450) 40(FMax) 257 258 + 254:147(f64vec3) Load 221(f64v2) + 255:147(f64vec3) ExtInst 1(GLSL.std.450) 37(FMin) 253 254 + Store 247(f64v3) 255 + 256:147(f64vec3) Load 222(f64v1) + 257:24(float64_t) Load 243(f64) + 258:147(f64vec3) CompositeConstruct 257 257 257 + 259:147(f64vec3) ExtInst 1(GLSL.std.450) 37(FMin) 256 258 Store 247(f64v3) 259 260:147(f64vec3) Load 222(f64v1) - 261:24(float64_t) Load 243(f64) - 262:147(f64vec3) CompositeConstruct 261 261 261 - 263:147(f64vec3) ExtInst 1(GLSL.std.450) 40(FMax) 260 262 - Store 247(f64v3) 263 - 264:147(f64vec3) Load 222(f64v1) - 265:24(float64_t) Load 243(f64) - 266: 31(ptr) AccessChain 221(f64v2) 30 - 267:24(float64_t) Load 266 - 268:147(f64vec3) CompositeConstruct 265 265 265 - 269:147(f64vec3) CompositeConstruct 267 267 267 - 270:147(f64vec3) ExtInst 1(GLSL.std.450) 43(FClamp) 264 268 269 - Store 247(f64v3) 270 - 271:147(f64vec3) Load 222(f64v1) - 272:147(f64vec3) Load 221(f64v2) - 273:24(float64_t) Load 243(f64) - 274:147(f64vec3) CompositeConstruct 273 273 273 - 275:147(f64vec3) ExtInst 1(GLSL.std.450) 43(FClamp) 271 272 274 - Store 247(f64v3) 275 - 276:147(f64vec3) Load 222(f64v1) - 277:147(f64vec3) Load 221(f64v2) - 278:24(float64_t) Load 243(f64) - 279:147(f64vec3) CompositeConstruct 278 278 278 - 280:147(f64vec3) ExtInst 1(GLSL.std.450) 46(FMix) 276 277 279 - Store 247(f64v3) 280 - 281:147(f64vec3) Load 222(f64v1) - 282:147(f64vec3) Load 221(f64v2) - 283:147(f64vec3) Load 247(f64v3) - 284:147(f64vec3) ExtInst 1(GLSL.std.450) 46(FMix) 281 282 283 - Store 247(f64v3) 284 - 285:147(f64vec3) Load 222(f64v1) - 286:147(f64vec3) Load 221(f64v2) - 288: 150(bvec3) Load 287(bv) - 289:147(f64vec3) Select 288 286 285 - Store 247(f64v3) 289 - 290:147(f64vec3) Load 222(f64v1) - 291:147(f64vec3) Load 221(f64v2) - 292:147(f64vec3) ExtInst 1(GLSL.std.450) 48(Step) 290 291 + 261:147(f64vec3) Load 221(f64v2) + 262:147(f64vec3) ExtInst 1(GLSL.std.450) 40(FMax) 260 261 + Store 247(f64v3) 262 + 263:147(f64vec3) Load 222(f64v1) + 264:24(float64_t) Load 243(f64) + 265:147(f64vec3) CompositeConstruct 264 264 264 + 266:147(f64vec3) ExtInst 1(GLSL.std.450) 40(FMax) 263 265 + Store 247(f64v3) 266 + 267:147(f64vec3) Load 222(f64v1) + 268:24(float64_t) Load 243(f64) + 269: 31(ptr) AccessChain 221(f64v2) 30 + 270:24(float64_t) Load 269 + 271:147(f64vec3) CompositeConstruct 268 268 268 + 272:147(f64vec3) CompositeConstruct 270 270 270 + 273:147(f64vec3) ExtInst 1(GLSL.std.450) 43(FClamp) 267 271 272 + Store 247(f64v3) 273 + 274:147(f64vec3) Load 222(f64v1) + 275:147(f64vec3) Load 221(f64v2) + 276:24(float64_t) Load 243(f64) + 277:147(f64vec3) CompositeConstruct 276 276 276 + 278:147(f64vec3) ExtInst 1(GLSL.std.450) 43(FClamp) 274 275 277 + Store 247(f64v3) 278 + 279:147(f64vec3) Load 222(f64v1) + 280:147(f64vec3) Load 221(f64v2) + 281:24(float64_t) Load 243(f64) + 282:147(f64vec3) CompositeConstruct 281 281 281 + 283:147(f64vec3) ExtInst 1(GLSL.std.450) 46(FMix) 279 280 282 + Store 247(f64v3) 283 + 284:147(f64vec3) Load 222(f64v1) + 285:147(f64vec3) Load 221(f64v2) + 286:147(f64vec3) Load 247(f64v3) + 287:147(f64vec3) ExtInst 1(GLSL.std.450) 46(FMix) 284 285 286 + Store 247(f64v3) 287 + 288:147(f64vec3) Load 222(f64v1) + 289:147(f64vec3) Load 221(f64v2) + 291: 150(bvec3) Load 290(bv) + 292:147(f64vec3) Select 291 289 288 Store 247(f64v3) 292 - 293:24(float64_t) Load 243(f64) - 294:147(f64vec3) Load 247(f64v3) - 295:147(f64vec3) CompositeConstruct 293 293 293 - 296:147(f64vec3) ExtInst 1(GLSL.std.450) 48(Step) 295 294 - Store 247(f64v3) 296 - 297:147(f64vec3) Load 222(f64v1) - 298:147(f64vec3) Load 221(f64v2) - 299:147(f64vec3) Load 247(f64v3) - 300:147(f64vec3) ExtInst 1(GLSL.std.450) 49(SmoothStep) 297 298 299 - Store 247(f64v3) 300 - 301:24(float64_t) Load 243(f64) - 302: 31(ptr) AccessChain 222(f64v1) 30 - 303:24(float64_t) Load 302 - 304:147(f64vec3) Load 221(f64v2) - 305:147(f64vec3) CompositeConstruct 301 301 301 - 306:147(f64vec3) CompositeConstruct 303 303 303 - 307:147(f64vec3) ExtInst 1(GLSL.std.450) 49(SmoothStep) 305 306 304 - Store 247(f64v3) 307 - 309:24(float64_t) Load 243(f64) - 310: 105(bool) IsNan 309 - Store 308(b) 310 - 311:147(f64vec3) Load 222(f64v1) - 312: 150(bvec3) IsInf 311 - Store 287(bv) 312 - 313:147(f64vec3) Load 222(f64v1) - 314:147(f64vec3) Load 221(f64v2) - 315:147(f64vec3) Load 247(f64v3) - 316:147(f64vec3) ExtInst 1(GLSL.std.450) 50(Fma) 313 314 315 - Store 247(f64v3) 316 - 317:147(f64vec3) Load 222(f64v1) - 320:319(ResType) ExtInst 1(GLSL.std.450) 52(FrexpStruct) 317 - 321: 181(ivec3) CompositeExtract 320 1 - Store 318(iv) 321 - 322:147(f64vec3) CompositeExtract 320 0 - Store 221(f64v2) 322 - 323:147(f64vec3) Load 222(f64v1) - 324: 181(ivec3) Load 318(iv) - 325:147(f64vec3) ExtInst 1(GLSL.std.450) 53(Ldexp) 323 324 + 293:147(f64vec3) Load 222(f64v1) + 294:147(f64vec3) Load 221(f64v2) + 295:147(f64vec3) ExtInst 1(GLSL.std.450) 48(Step) 293 294 + Store 247(f64v3) 295 + 296:24(float64_t) Load 243(f64) + 297:147(f64vec3) Load 247(f64v3) + 298:147(f64vec3) CompositeConstruct 296 296 296 + 299:147(f64vec3) ExtInst 1(GLSL.std.450) 48(Step) 298 297 + Store 247(f64v3) 299 + 300:147(f64vec3) Load 222(f64v1) + 301:147(f64vec3) Load 221(f64v2) + 302:147(f64vec3) Load 247(f64v3) + 303:147(f64vec3) ExtInst 1(GLSL.std.450) 49(SmoothStep) 300 301 302 + Store 247(f64v3) 303 + 304:24(float64_t) Load 243(f64) + 305: 31(ptr) AccessChain 222(f64v1) 30 + 306:24(float64_t) Load 305 + 307:147(f64vec3) Load 221(f64v2) + 308:147(f64vec3) CompositeConstruct 304 304 304 + 309:147(f64vec3) CompositeConstruct 306 306 306 + 310:147(f64vec3) ExtInst 1(GLSL.std.450) 49(SmoothStep) 308 309 307 + Store 247(f64v3) 310 + 312:24(float64_t) Load 243(f64) + 313: 105(bool) IsNan 312 + Store 311(b) 313 + 314:147(f64vec3) Load 222(f64v1) + 315: 150(bvec3) IsInf 314 + Store 290(bv) 315 + 316:147(f64vec3) Load 222(f64v1) + 317:147(f64vec3) Load 221(f64v2) + 318:147(f64vec3) Load 247(f64v3) + 319:147(f64vec3) ExtInst 1(GLSL.std.450) 50(Fma) 316 317 318 + Store 247(f64v3) 319 + 320:147(f64vec3) Load 222(f64v1) + 323:322(ResType) ExtInst 1(GLSL.std.450) 52(FrexpStruct) 320 + 324: 181(ivec3) CompositeExtract 323 1 + Store 321(iv) 324 + 325:147(f64vec3) CompositeExtract 323 0 Store 221(f64v2) 325 + 326:147(f64vec3) Load 222(f64v1) + 327: 181(ivec3) Load 321(iv) + 328:147(f64vec3) ExtInst 1(GLSL.std.450) 53(Ldexp) 326 327 + Store 221(f64v2) 328 Return FunctionEnd 16(builtinGeometryFuncs(): 2 Function None 3 17: Label - 326(f64): 31(ptr) Variable Function - 327(f64v1): 148(ptr) Variable Function - 331(f64v2): 148(ptr) Variable Function - 337(f64v3): 148(ptr) Variable Function - 328:147(f64vec3) Load 327(f64v1) - 329:24(float64_t) ExtInst 1(GLSL.std.450) 66(Length) 328 - Store 326(f64) 329 - 330:147(f64vec3) Load 327(f64v1) - 332:147(f64vec3) Load 331(f64v2) - 333:24(float64_t) ExtInst 1(GLSL.std.450) 67(Distance) 330 332 - Store 326(f64) 333 - 334:147(f64vec3) Load 327(f64v1) - 335:147(f64vec3) Load 331(f64v2) - 336:24(float64_t) Dot 334 335 - Store 326(f64) 336 - 338:147(f64vec3) Load 327(f64v1) - 339:147(f64vec3) Load 331(f64v2) - 340:147(f64vec3) ExtInst 1(GLSL.std.450) 68(Cross) 338 339 - Store 337(f64v3) 340 - 341:147(f64vec3) Load 327(f64v1) - 342:147(f64vec3) ExtInst 1(GLSL.std.450) 69(Normalize) 341 - Store 331(f64v2) 342 - 343:147(f64vec3) Load 327(f64v1) - 344:147(f64vec3) Load 331(f64v2) - 345:147(f64vec3) Load 337(f64v3) - 346:147(f64vec3) ExtInst 1(GLSL.std.450) 70(FaceForward) 343 344 345 - Store 337(f64v3) 346 - 347:147(f64vec3) Load 327(f64v1) - 348:147(f64vec3) Load 331(f64v2) - 349:147(f64vec3) ExtInst 1(GLSL.std.450) 71(Reflect) 347 348 - Store 337(f64v3) 349 - 350:147(f64vec3) Load 327(f64v1) - 351:147(f64vec3) Load 331(f64v2) - 352:24(float64_t) Load 326(f64) - 353:147(f64vec3) ExtInst 1(GLSL.std.450) 72(Refract) 350 351 352 - Store 337(f64v3) 353 + 329(f64): 31(ptr) Variable Function + 330(f64v1): 148(ptr) Variable Function + 334(f64v2): 148(ptr) Variable Function + 340(f64v3): 148(ptr) Variable Function + 331:147(f64vec3) Load 330(f64v1) + 332:24(float64_t) ExtInst 1(GLSL.std.450) 66(Length) 331 + Store 329(f64) 332 + 333:147(f64vec3) Load 330(f64v1) + 335:147(f64vec3) Load 334(f64v2) + 336:24(float64_t) ExtInst 1(GLSL.std.450) 67(Distance) 333 335 + Store 329(f64) 336 + 337:147(f64vec3) Load 330(f64v1) + 338:147(f64vec3) Load 334(f64v2) + 339:24(float64_t) Dot 337 338 + Store 329(f64) 339 + 341:147(f64vec3) Load 330(f64v1) + 342:147(f64vec3) Load 334(f64v2) + 343:147(f64vec3) ExtInst 1(GLSL.std.450) 68(Cross) 341 342 + Store 340(f64v3) 343 + 344:147(f64vec3) Load 330(f64v1) + 345:147(f64vec3) ExtInst 1(GLSL.std.450) 69(Normalize) 344 + Store 334(f64v2) 345 + 346:147(f64vec3) Load 330(f64v1) + 347:147(f64vec3) Load 334(f64v2) + 348:147(f64vec3) Load 340(f64v3) + 349:147(f64vec3) ExtInst 1(GLSL.std.450) 70(FaceForward) 346 347 348 + Store 340(f64v3) 349 + 350:147(f64vec3) Load 330(f64v1) + 351:147(f64vec3) Load 334(f64v2) + 352:147(f64vec3) ExtInst 1(GLSL.std.450) 71(Reflect) 350 351 + Store 340(f64v3) 352 + 353:147(f64vec3) Load 330(f64v1) + 354:147(f64vec3) Load 334(f64v2) + 355:24(float64_t) Load 329(f64) + 356:147(f64vec3) ExtInst 1(GLSL.std.450) 72(Refract) 353 354 355 + Store 340(f64v3) 356 Return FunctionEnd 18(builtinMatrixFuncs(): 2 Function None 3 19: Label - 356(f64m3): 355(ptr) Variable Function - 357(f64m1): 355(ptr) Variable Function - 359(f64m2): 355(ptr) Variable Function - 368(f64v1): 148(ptr) Variable Function - 370(f64v2): 26(ptr) Variable Function - 375(f64m4): 374(ptr) Variable Function - 378(f64): 31(ptr) Variable Function - 381(f64m5): 380(ptr) Variable Function - 387(f64m6): 386(ptr) Variable Function - 388(f64m7): 386(ptr) Variable Function - 358: 354 Load 357(f64m1) - 360: 354 Load 359(f64m2) - 361:147(f64vec3) CompositeExtract 358 0 - 362:147(f64vec3) CompositeExtract 360 0 - 363:147(f64vec3) FMul 361 362 - 364:147(f64vec3) CompositeExtract 358 1 - 365:147(f64vec3) CompositeExtract 360 1 + 359(f64m3): 358(ptr) Variable Function + 360(f64m1): 358(ptr) Variable Function + 362(f64m2): 358(ptr) Variable Function + 371(f64v1): 148(ptr) Variable Function + 373(f64v2): 26(ptr) Variable Function + 378(f64m4): 377(ptr) Variable Function + 381(f64): 31(ptr) Variable Function + 384(f64m5): 383(ptr) Variable Function + 390(f64m6): 389(ptr) Variable Function + 391(f64m7): 389(ptr) Variable Function + 361: 357 Load 360(f64m1) + 363: 357 Load 362(f64m2) + 364:147(f64vec3) CompositeExtract 361 0 + 365:147(f64vec3) CompositeExtract 363 0 366:147(f64vec3) FMul 364 365 - 367: 354 CompositeConstruct 363 366 - Store 356(f64m3) 367 - 369:147(f64vec3) Load 368(f64v1) - 371: 25(f64vec2) Load 370(f64v2) - 372: 354 OuterProduct 369 371 - Store 357(f64m1) 372 - 376: 354 Load 357(f64m1) - 377: 373 Transpose 376 - Store 375(f64m4) 377 - 382: 379 Load 381(f64m5) - 383:24(float64_t) ExtInst 1(GLSL.std.450) 33(Determinant) 382 - Store 378(f64) 383 - 389: 385 Load 388(f64m7) - 390: 385 ExtInst 1(GLSL.std.450) 34(MatrixInverse) 389 - Store 387(f64m6) 390 + 367:147(f64vec3) CompositeExtract 361 1 + 368:147(f64vec3) CompositeExtract 363 1 + 369:147(f64vec3) FMul 367 368 + 370: 357 CompositeConstruct 366 369 + Store 359(f64m3) 370 + 372:147(f64vec3) Load 371(f64v1) + 374: 25(f64vec2) Load 373(f64v2) + 375: 357 OuterProduct 372 374 + Store 360(f64m1) 375 + 379: 357 Load 360(f64m1) + 380: 376 Transpose 379 + Store 378(f64m4) 380 + 385: 382 Load 384(f64m5) + 386:24(float64_t) ExtInst 1(GLSL.std.450) 33(Determinant) 385 + Store 381(f64) 386 + 392: 388 Load 391(f64m7) + 393: 388 ExtInst 1(GLSL.std.450) 34(MatrixInverse) 392 + Store 390(f64m6) 393 Return FunctionEnd 20(builtinVecRelFuncs(): 2 Function None 3 21: Label - 391(bv): 151(ptr) Variable Function - 392(f64v1): 148(ptr) Variable Function - 394(f64v2): 148(ptr) Variable Function - 393:147(f64vec3) Load 392(f64v1) - 395:147(f64vec3) Load 394(f64v2) - 396: 150(bvec3) FOrdLessThan 393 395 - Store 391(bv) 396 - 397:147(f64vec3) Load 392(f64v1) - 398:147(f64vec3) Load 394(f64v2) - 399: 150(bvec3) FOrdLessThanEqual 397 398 - Store 391(bv) 399 - 400:147(f64vec3) Load 392(f64v1) - 401:147(f64vec3) Load 394(f64v2) - 402: 150(bvec3) FOrdGreaterThan 400 401 - Store 391(bv) 402 - 403:147(f64vec3) Load 392(f64v1) - 404:147(f64vec3) Load 394(f64v2) - 405: 150(bvec3) FOrdGreaterThanEqual 403 404 - Store 391(bv) 405 - 406:147(f64vec3) Load 392(f64v1) - 407:147(f64vec3) Load 394(f64v2) - 408: 150(bvec3) FOrdEqual 406 407 - Store 391(bv) 408 - 409:147(f64vec3) Load 392(f64v1) - 410:147(f64vec3) Load 394(f64v2) - 411: 150(bvec3) FUnordNotEqual 409 410 - Store 391(bv) 411 + 394(bv): 151(ptr) Variable Function + 395(f64v1): 148(ptr) Variable Function + 397(f64v2): 148(ptr) Variable Function + 396:147(f64vec3) Load 395(f64v1) + 398:147(f64vec3) Load 397(f64v2) + 399: 150(bvec3) FOrdLessThan 396 398 + Store 394(bv) 399 + 400:147(f64vec3) Load 395(f64v1) + 401:147(f64vec3) Load 397(f64v2) + 402: 150(bvec3) FOrdLessThanEqual 400 401 + Store 394(bv) 402 + 403:147(f64vec3) Load 395(f64v1) + 404:147(f64vec3) Load 397(f64v2) + 405: 150(bvec3) FOrdGreaterThan 403 404 + Store 394(bv) 405 + 406:147(f64vec3) Load 395(f64v1) + 407:147(f64vec3) Load 397(f64v2) + 408: 150(bvec3) FOrdGreaterThanEqual 406 407 + Store 394(bv) 408 + 409:147(f64vec3) Load 395(f64v1) + 410:147(f64vec3) Load 397(f64v2) + 411: 150(bvec3) FOrdEqual 409 410 + Store 394(bv) 411 + 412:147(f64vec3) Load 395(f64v1) + 413:147(f64vec3) Load 397(f64v2) + 414: 150(bvec3) FUnordNotEqual 412 413 + Store 394(bv) 414 Return FunctionEnd 22(builtinFragProcFuncs(): 2 Function None 3 23: Label - 412(f64v): 148(ptr) Variable Function - 416: 415(ptr) AccessChain 414(if64v) 30 - 417:24(float64_t) Load 416 - 418:24(float64_t) DPdx 417 - 419: 31(ptr) AccessChain 412(f64v) 30 - Store 419 418 - 420: 415(ptr) AccessChain 414(if64v) 86 - 421:24(float64_t) Load 420 - 422:24(float64_t) DPdy 421 - 423: 31(ptr) AccessChain 412(f64v) 86 - Store 423 422 - 424:147(f64vec3) Load 414(if64v) - 425: 25(f64vec2) VectorShuffle 424 424 0 1 - 426: 25(f64vec2) DPdxFine 425 - 427: 31(ptr) AccessChain 412(f64v) 30 - 428:24(float64_t) CompositeExtract 426 0 - Store 427 428 - 429: 31(ptr) AccessChain 412(f64v) 86 - 430:24(float64_t) CompositeExtract 426 1 - Store 429 430 - 431:147(f64vec3) Load 414(if64v) - 432: 25(f64vec2) VectorShuffle 431 431 0 1 - 433: 25(f64vec2) DPdyFine 432 - 434: 31(ptr) AccessChain 412(f64v) 30 - 435:24(float64_t) CompositeExtract 433 0 - Store 434 435 - 436: 31(ptr) AccessChain 412(f64v) 86 - 437:24(float64_t) CompositeExtract 433 1 - Store 436 437 - 438:147(f64vec3) Load 414(if64v) - 439:147(f64vec3) DPdxCoarse 438 - Store 412(f64v) 439 - 440:147(f64vec3) Load 414(if64v) - 441:147(f64vec3) DPdxCoarse 440 - Store 412(f64v) 441 - 442: 415(ptr) AccessChain 414(if64v) 30 - 443:24(float64_t) Load 442 - 444:24(float64_t) Fwidth 443 - 445: 31(ptr) AccessChain 412(f64v) 30 - Store 445 444 - 446:147(f64vec3) Load 414(if64v) - 447: 25(f64vec2) VectorShuffle 446 446 0 1 - 448: 25(f64vec2) FwidthFine 447 - 449: 31(ptr) AccessChain 412(f64v) 30 - 450:24(float64_t) CompositeExtract 448 0 - Store 449 450 - 451: 31(ptr) AccessChain 412(f64v) 86 - 452:24(float64_t) CompositeExtract 448 1 - Store 451 452 - 453:147(f64vec3) Load 414(if64v) - 454:147(f64vec3) FwidthCoarse 453 - Store 412(f64v) 454 - 455: 415(ptr) AccessChain 414(if64v) 30 - 456:24(float64_t) ExtInst 1(GLSL.std.450) 76(InterpolateAtCentroid) 455 - 457: 31(ptr) AccessChain 412(f64v) 30 - Store 457 456 - 459:147(f64vec3) ExtInst 1(GLSL.std.450) 77(InterpolateAtSample) 414(if64v) 458 - 460: 25(f64vec2) VectorShuffle 459 459 0 1 - 461: 31(ptr) AccessChain 412(f64v) 30 - 462:24(float64_t) CompositeExtract 460 0 - Store 461 462 - 463: 31(ptr) AccessChain 412(f64v) 86 - 464:24(float64_t) CompositeExtract 460 1 - Store 463 464 - 467:147(f64vec3) ExtInst 1(GLSL.std.450) 78(InterpolateAtOffset) 414(if64v) 466 - Store 412(f64v) 467 + 415(f64v): 148(ptr) Variable Function + 419: 418(ptr) AccessChain 417(if64v) 30 + 420:24(float64_t) Load 419 + 421:24(float64_t) DPdx 420 + 422: 31(ptr) AccessChain 415(f64v) 30 + Store 422 421 + 423: 418(ptr) AccessChain 417(if64v) 86 + 424:24(float64_t) Load 423 + 425:24(float64_t) DPdy 424 + 426: 31(ptr) AccessChain 415(f64v) 86 + Store 426 425 + 427:147(f64vec3) Load 417(if64v) + 428: 25(f64vec2) VectorShuffle 427 427 0 1 + 429: 25(f64vec2) DPdxFine 428 + 430: 31(ptr) AccessChain 415(f64v) 30 + 431:24(float64_t) CompositeExtract 429 0 + Store 430 431 + 432: 31(ptr) AccessChain 415(f64v) 86 + 433:24(float64_t) CompositeExtract 429 1 + Store 432 433 + 434:147(f64vec3) Load 417(if64v) + 435: 25(f64vec2) VectorShuffle 434 434 0 1 + 436: 25(f64vec2) DPdyFine 435 + 437: 31(ptr) AccessChain 415(f64v) 30 + 438:24(float64_t) CompositeExtract 436 0 + Store 437 438 + 439: 31(ptr) AccessChain 415(f64v) 86 + 440:24(float64_t) CompositeExtract 436 1 + Store 439 440 + 441:147(f64vec3) Load 417(if64v) + 442:147(f64vec3) DPdxCoarse 441 + Store 415(f64v) 442 + 443:147(f64vec3) Load 417(if64v) + 444:147(f64vec3) DPdxCoarse 443 + Store 415(f64v) 444 + 445: 418(ptr) AccessChain 417(if64v) 30 + 446:24(float64_t) Load 445 + 447:24(float64_t) Fwidth 446 + 448: 31(ptr) AccessChain 415(f64v) 30 + Store 448 447 + 449:147(f64vec3) Load 417(if64v) + 450: 25(f64vec2) VectorShuffle 449 449 0 1 + 451: 25(f64vec2) FwidthFine 450 + 452: 31(ptr) AccessChain 415(f64v) 30 + 453:24(float64_t) CompositeExtract 451 0 + Store 452 453 + 454: 31(ptr) AccessChain 415(f64v) 86 + 455:24(float64_t) CompositeExtract 451 1 + Store 454 455 + 456:147(f64vec3) Load 417(if64v) + 457:147(f64vec3) FwidthCoarse 456 + Store 415(f64v) 457 + 458: 418(ptr) AccessChain 417(if64v) 30 + 459:24(float64_t) ExtInst 1(GLSL.std.450) 76(InterpolateAtCentroid) 458 + 460: 31(ptr) AccessChain 415(f64v) 30 + Store 460 459 + 462:147(f64vec3) ExtInst 1(GLSL.std.450) 77(InterpolateAtSample) 417(if64v) 461 + 463: 25(f64vec2) VectorShuffle 462 462 0 1 + 464: 31(ptr) AccessChain 415(f64v) 30 + 465:24(float64_t) CompositeExtract 463 0 + Store 464 465 + 466: 31(ptr) AccessChain 415(f64v) 86 + 467:24(float64_t) CompositeExtract 463 1 + Store 466 467 + 470:147(f64vec3) ExtInst 1(GLSL.std.450) 78(InterpolateAtOffset) 417(if64v) 469 + Store 415(f64v) 470 Return FunctionEnd