diff --git a/Test/400.geom b/Test/400.geom index d0a43d78a..f8e89558c 100755 --- a/Test/400.geom +++ b/Test/400.geom @@ -285,10 +285,10 @@ void doubles() dvec3v += reflect(dvec3v, dvec3v); dvec4v += reflect(dvec4v, dvec4v); - doublev += refract(doublev, doublev, 1.3); - dvec2v += refract(dvec2v, dvec2v, 1.3); - dvec3v += refract(dvec3v, dvec3v, 1.3); - dvec4v += refract(dvec4v, dvec4v, 1.3); + doublev += refract(doublev, doublev, doublev); + dvec2v += refract(dvec2v, dvec2v, doublev); + dvec3v += refract(dvec3v, dvec3v, doublev); + dvec4v += refract(dvec4v, dvec4v, doublev); dmat2 dmat2v = outerProduct(dvec2v, dvec2v); dmat3 dmat3v = outerProduct(dvec3v, dvec3v); @@ -300,9 +300,9 @@ void doubles() dmat3x4 dmat3x4v = outerProduct(dvec4v, dvec3v); dmat4x3 dmat4x3v = outerProduct(dvec3v, dvec4v); - dmat2v *= matrixCompMult(dmat2v, dmat2v); - dmat3v *= matrixCompMult(dmat3v, dmat3v); - dmat4v *= matrixCompMult(dmat4v, dmat4v); + dmat2v *= matrixCompMult(dmat2v, dmat2v); + dmat3v *= matrixCompMult(dmat3v, dmat3v); + dmat4v *= matrixCompMult(dmat4v, dmat4v); dmat2x3v = matrixCompMult(dmat2x3v, dmat2x3v); dmat2x4v = matrixCompMult(dmat2x4v, dmat2x4v); dmat3x2v = matrixCompMult(dmat3x2v, dmat3x2v); diff --git a/Test/baseResults/400.geom.out b/Test/baseResults/400.geom.out index d8f95f972..52ebebced 100644 --- a/Test/baseResults/400.geom.out +++ b/Test/baseResults/400.geom.out @@ -844,29 +844,25 @@ ERROR: node is still EOpNull! 0:288 refract ( global double) 0:288 'doublev' ( temp double) 0:288 'doublev' ( temp double) -0:288 Constant: -0:288 1.300000 +0:288 'doublev' ( temp double) 0:289 add second child into first child ( temp 2-component vector of double) 0:289 'dvec2v' ( temp 2-component vector of double) 0:289 refract ( global 2-component vector of double) 0:289 'dvec2v' ( temp 2-component vector of double) 0:289 'dvec2v' ( temp 2-component vector of double) -0:289 Constant: -0:289 1.300000 +0:289 'doublev' ( temp double) 0:290 add second child into first child ( temp 3-component vector of double) 0:290 'dvec3v' ( temp 3-component vector of double) 0:290 refract ( global 3-component vector of double) 0:290 'dvec3v' ( temp 3-component vector of double) 0:290 'dvec3v' ( temp 3-component vector of double) -0:290 Constant: -0:290 1.300000 +0:290 'doublev' ( temp double) 0:291 add second child into first child ( temp 4-component vector of double) 0:291 'dvec4v' ( temp 4-component vector of double) 0:291 refract ( global 4-component vector of double) 0:291 'dvec4v' ( temp 4-component vector of double) 0:291 'dvec4v' ( temp 4-component vector of double) -0:291 Constant: -0:291 1.300000 +0:291 'doublev' ( temp double) 0:293 Sequence 0:293 move second child to first child ( temp 2X2 matrix of double) 0:293 'dmat2v' ( temp 2X2 matrix of double) diff --git a/Test/baseResults/spv.400.frag.out b/Test/baseResults/spv.400.frag.out index 537d59a02..9cb2c63a1 100644 --- a/Test/baseResults/spv.400.frag.out +++ b/Test/baseResults/spv.400.frag.out @@ -1,7 +1,7 @@ spv.400.frag // Module Version 10000 // Generated by (magic number): 80007 -// Id's are bound by 1115 +// Id's are bound by 1118 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 1024 1030 1035 1047 1073 1094 1096 1102 1104 1113 + EntryPoint Fragment 4 "main" 13 1027 1033 1038 1050 1076 1097 1099 1105 1107 1116 ExecutionMode 4 OriginUpperLeft Source GLSL 400 SourceExtension "GL_ARB_separate_shader_objects" @@ -28,41 +28,41 @@ spv.400.frag Name 439 "bvec2v" Name 448 "bvec3v" Name 457 "bvec4v" - Name 736 "dmat2v" - Name 742 "dmat3v" - Name 748 "dmat4v" - Name 754 "dmat2x3v" - Name 760 "dmat3x2v" - Name 766 "dmat2x4v" - Name 772 "dmat4x2v" - Name 778 "dmat3x4v" - Name 784 "dmat4x3v" - Name 1016 "v" - Name 1022 "arrayedSampler" - Name 1024 "i" - Name 1030 "c2D" - Name 1035 "gl_ClipDistance" - Name 1047 "uoutp" - Name 1051 "samp2dr" - Name 1073 "ioutp" - Name 1077 "isamp2DA" - Name 1094 "gl_FragCoord" - Name 1096 "vl2" - Name 1102 "uo" - Name 1104 "u" - Name 1112 "id" - Name 1113 "gl_PrimitiveID" + Name 739 "dmat2v" + Name 745 "dmat3v" + Name 751 "dmat4v" + Name 757 "dmat2x3v" + Name 763 "dmat3x2v" + Name 769 "dmat2x4v" + Name 775 "dmat4x2v" + Name 781 "dmat3x4v" + Name 787 "dmat4x3v" + Name 1019 "v" + Name 1025 "arrayedSampler" + Name 1027 "i" + Name 1033 "c2D" + Name 1038 "gl_ClipDistance" + Name 1050 "uoutp" + Name 1054 "samp2dr" + Name 1076 "ioutp" + Name 1080 "isamp2DA" + Name 1097 "gl_FragCoord" + Name 1099 "vl2" + Name 1105 "uo" + Name 1107 "u" + Name 1115 "id" + Name 1116 "gl_PrimitiveID" Decorate 17(u2drs) DescriptorSet 0 - Decorate 1022(arrayedSampler) DescriptorSet 0 - Decorate 1024(i) Flat - Decorate 1035(gl_ClipDistance) BuiltIn ClipDistance - Decorate 1051(samp2dr) DescriptorSet 0 - Decorate 1077(isamp2DA) DescriptorSet 0 - Decorate 1094(gl_FragCoord) BuiltIn FragCoord - Decorate 1096(vl2) Location 6 - Decorate 1104(u) Flat - Decorate 1113(gl_PrimitiveID) Flat - Decorate 1113(gl_PrimitiveID) BuiltIn PrimitiveId + Decorate 1025(arrayedSampler) DescriptorSet 0 + Decorate 1027(i) Flat + Decorate 1038(gl_ClipDistance) BuiltIn ClipDistance + Decorate 1054(samp2dr) DescriptorSet 0 + Decorate 1080(isamp2DA) DescriptorSet 0 + Decorate 1097(gl_FragCoord) BuiltIn FragCoord + Decorate 1099(vl2) Location 6 + Decorate 1107(u) Flat + Decorate 1116(gl_PrimitiveID) Flat + Decorate 1116(gl_PrimitiveID) BuiltIn PrimitiveId 2: TypeVoid 3: TypeFunction 2 10: TypeFloat 32 @@ -109,144 +109,143 @@ spv.400.frag 572: 437(bvec2) ConstantComposite 563 563 581: 446(bvec3) ConstantComposite 563 563 563 590: 455(bvec4) ConstantComposite 563 563 563 563 - 715: 10(float) Constant 1067869798 - 734: TypeMatrix 43(f64vec2) 2 - 735: TypePointer Function 734 - 740: TypeMatrix 48(f64vec3) 3 - 741: TypePointer Function 740 - 746: TypeMatrix 53(f64vec4) 4 - 747: TypePointer Function 746 - 752: TypeMatrix 48(f64vec3) 2 - 753: TypePointer Function 752 - 758: TypeMatrix 43(f64vec2) 3 - 759: TypePointer Function 758 - 764: TypeMatrix 53(f64vec4) 2 - 765: TypePointer Function 764 - 770: TypeMatrix 43(f64vec2) 4 - 771: TypePointer Function 770 - 776: TypeMatrix 53(f64vec4) 3 - 777: TypePointer Function 776 - 782: TypeMatrix 48(f64vec3) 4 - 783: TypePointer Function 782 - 951: 32(int) Constant 1 - 955: 32(int) Constant 2 - 959: 32(int) Constant 3 - 963: 23(int) Constant 1 - 967: 23(int) Constant 2 - 993: 10(float) Constant 1065353216 - 1015: TypePointer Function 11(fvec4) - 1017: TypeImage 10(float) 2D sampled format:Unknown - 1018: TypeSampledImage 1017 - 1019: 32(int) Constant 5 - 1020: TypeArray 1018 1019 - 1021: TypePointer UniformConstant 1020 -1022(arrayedSampler): 1021(ptr) Variable UniformConstant - 1023: TypePointer Input 23(int) - 1024(i): 1023(ptr) Variable Input - 1026: TypePointer UniformConstant 1018 - 1029: TypePointer Input 20(fvec2) - 1030(c2D): 1029(ptr) Variable Input - 1033: TypeArray 10(float) 955 - 1034: TypePointer Input 1033 -1035(gl_ClipDistance): 1034(ptr) Variable Input - 1036: TypePointer Input 10(float) - 1040: TypeVector 10(float) 3 - 1045: TypeVector 32(int) 4 - 1046: TypePointer Output 1045(ivec4) - 1047(uoutp): 1046(ptr) Variable Output - 1048: TypeImage 32(int) Rect sampled format:Unknown - 1049: TypeSampledImage 1048 - 1050: TypePointer UniformConstant 1049 - 1051(samp2dr): 1050(ptr) Variable UniformConstant - 1054: 32(int) Constant 4 - 1055: TypeArray 24(ivec2) 1054 - 1056: 24(ivec2) ConstantComposite 963 967 - 1057: 23(int) Constant 15 - 1058: 23(int) Constant 16 - 1059: 24(ivec2) ConstantComposite 1057 1058 - 1060: 23(int) Constant 4294967294 - 1061: 23(int) Constant 0 + 737: TypeMatrix 43(f64vec2) 2 + 738: TypePointer Function 737 + 743: TypeMatrix 48(f64vec3) 3 + 744: TypePointer Function 743 + 749: TypeMatrix 53(f64vec4) 4 + 750: TypePointer Function 749 + 755: TypeMatrix 48(f64vec3) 2 + 756: TypePointer Function 755 + 761: TypeMatrix 43(f64vec2) 3 + 762: TypePointer Function 761 + 767: TypeMatrix 53(f64vec4) 2 + 768: TypePointer Function 767 + 773: TypeMatrix 43(f64vec2) 4 + 774: TypePointer Function 773 + 779: TypeMatrix 53(f64vec4) 3 + 780: TypePointer Function 779 + 785: TypeMatrix 48(f64vec3) 4 + 786: TypePointer Function 785 + 954: 32(int) Constant 1 + 958: 32(int) Constant 2 + 962: 32(int) Constant 3 + 966: 23(int) Constant 1 + 970: 23(int) Constant 2 + 996: 10(float) Constant 1065353216 + 1018: TypePointer Function 11(fvec4) + 1020: TypeImage 10(float) 2D sampled format:Unknown + 1021: TypeSampledImage 1020 + 1022: 32(int) Constant 5 + 1023: TypeArray 1021 1022 + 1024: TypePointer UniformConstant 1023 +1025(arrayedSampler): 1024(ptr) Variable UniformConstant + 1026: TypePointer Input 23(int) + 1027(i): 1026(ptr) Variable Input + 1029: TypePointer UniformConstant 1021 + 1032: TypePointer Input 20(fvec2) + 1033(c2D): 1032(ptr) Variable Input + 1036: TypeArray 10(float) 958 + 1037: TypePointer Input 1036 +1038(gl_ClipDistance): 1037(ptr) Variable Input + 1039: TypePointer Input 10(float) + 1043: TypeVector 10(float) 3 + 1048: TypeVector 32(int) 4 + 1049: TypePointer Output 1048(ivec4) + 1050(uoutp): 1049(ptr) Variable Output + 1051: TypeImage 32(int) Rect sampled format:Unknown + 1052: TypeSampledImage 1051 + 1053: TypePointer UniformConstant 1052 + 1054(samp2dr): 1053(ptr) Variable UniformConstant + 1057: 32(int) Constant 4 + 1058: TypeArray 24(ivec2) 1057 + 1059: 24(ivec2) ConstantComposite 966 970 + 1060: 23(int) Constant 15 + 1061: 23(int) Constant 16 1062: 24(ivec2) ConstantComposite 1060 1061 - 1063: 1055 ConstantComposite 1056 27 1059 1062 - 1071: TypeVector 23(int) 4 - 1072: TypePointer Output 1071(ivec4) - 1073(ioutp): 1072(ptr) Variable Output - 1074: TypeImage 23(int) 2D array sampled format:Unknown - 1075: TypeSampledImage 1074 - 1076: TypePointer UniformConstant 1075 - 1077(isamp2DA): 1076(ptr) Variable UniformConstant - 1079: 10(float) Constant 1036831949 - 1080: 1040(fvec3) ConstantComposite 1079 1079 1079 - 1081: 24(ivec2) ConstantComposite 963 963 - 1093: TypePointer Input 11(fvec4) -1094(gl_FragCoord): 1093(ptr) Variable Input - 1096(vl2): 1093(ptr) Variable Input - 1101: TypePointer Output 32(int) - 1102(uo): 1101(ptr) Variable Output - 1103: TypePointer Input 32(int) - 1104(u): 1103(ptr) Variable Input - 1111: TypePointer Function 23(int) -1113(gl_PrimitiveID): 1023(ptr) Variable Input + 1063: 23(int) Constant 4294967294 + 1064: 23(int) Constant 0 + 1065: 24(ivec2) ConstantComposite 1063 1064 + 1066: 1058 ConstantComposite 1059 27 1062 1065 + 1074: TypeVector 23(int) 4 + 1075: TypePointer Output 1074(ivec4) + 1076(ioutp): 1075(ptr) Variable Output + 1077: TypeImage 23(int) 2D array sampled format:Unknown + 1078: TypeSampledImage 1077 + 1079: TypePointer UniformConstant 1078 + 1080(isamp2DA): 1079(ptr) Variable UniformConstant + 1082: 10(float) Constant 1036831949 + 1083: 1043(fvec3) ConstantComposite 1082 1082 1082 + 1084: 24(ivec2) ConstantComposite 966 966 + 1096: TypePointer Input 11(fvec4) +1097(gl_FragCoord): 1096(ptr) Variable Input + 1099(vl2): 1096(ptr) Variable Input + 1104: TypePointer Output 32(int) + 1105(uo): 1104(ptr) Variable Output + 1106: TypePointer Input 32(int) + 1107(u): 1106(ptr) Variable Input + 1114: TypePointer Function 23(int) +1116(gl_PrimitiveID): 1026(ptr) Variable Input 4(main): 2 Function None 3 5: Label - 1016(v): 1015(ptr) Variable Function - 1112(id): 1111(ptr) Variable Function - 1025: 23(int) Load 1024(i) - 1027: 1026(ptr) AccessChain 1022(arrayedSampler) 1025 - 1028: 1018 Load 1027 - 1031: 20(fvec2) Load 1030(c2D) - 1032: 11(fvec4) ImageSampleImplicitLod 1028 1031 - Store 1016(v) 1032 - 1037: 1036(ptr) AccessChain 1035(gl_ClipDistance) 963 - 1038: 10(float) Load 1037 - 1039: 34(ptr) AccessChain 13(outp) 33 - Store 1039 1038 - 1041: 11(fvec4) Load 1016(v) - 1042: 1040(fvec3) VectorShuffle 1041 1041 1 2 3 - 1043: 11(fvec4) Load 13(outp) - 1044: 11(fvec4) VectorShuffle 1043 1042 0 4 5 6 - Store 13(outp) 1044 - 1052: 1049 Load 1051(samp2dr) - 1053: 20(fvec2) Load 1030(c2D) - 1064: 1045(ivec4) ImageGather 1052 1053 967 ConstOffsets 1063 - Store 1047(uoutp) 1064 - 1065: 1026(ptr) AccessChain 1022(arrayedSampler) 1061 - 1066: 1018 Load 1065 - 1067: 20(fvec2) Load 1030(c2D) - 1068: 11(fvec4) ImageGather 1066 1067 1061 - 1069: 11(fvec4) Load 13(outp) - 1070: 11(fvec4) FAdd 1069 1068 - Store 13(outp) 1070 - 1078: 1075 Load 1077(isamp2DA) - 1082: 1071(ivec4) ImageGather 1078 1080 25 ConstOffset 1081 - Store 1073(ioutp) 1082 - 1083: 1075 Load 1077(isamp2DA) - 1084: 1071(ivec4) ImageGather 1083 1080 25 ConstOffset 1081 - 1085: 1071(ivec4) Load 1073(ioutp) - 1086: 1071(ivec4) IAdd 1085 1084 - Store 1073(ioutp) 1086 - 1087: 1075 Load 1077(isamp2DA) - 1088: 23(int) Load 1024(i) - 1089: 24(ivec2) CompositeConstruct 1088 1088 - 1090: 1071(ivec4) ImageGather 1087 1080 1061 Offset 1089 - 1091: 1071(ivec4) Load 1073(ioutp) - 1092: 1071(ivec4) IAdd 1091 1090 - Store 1073(ioutp) 1092 - 1095: 11(fvec4) Load 1094(gl_FragCoord) - 1097: 11(fvec4) Load 1096(vl2) - 1098: 11(fvec4) FAdd 1095 1097 - 1099: 11(fvec4) Load 13(outp) - 1100: 11(fvec4) FAdd 1099 1098 - Store 13(outp) 1100 - 1105: 32(int) Load 1104(u) - 1106: 23(int) Load 1024(i) - 1107: 32(int) Bitcast 1106 - 1108: 32(int) UMod 1105 1107 - Store 1102(uo) 1108 - 1109: 2 FunctionCall 6(foo23() - 1110: 2 FunctionCall 8(doubles() - 1114: 23(int) Load 1113(gl_PrimitiveID) - Store 1112(id) 1114 + 1019(v): 1018(ptr) Variable Function + 1115(id): 1114(ptr) Variable Function + 1028: 23(int) Load 1027(i) + 1030: 1029(ptr) AccessChain 1025(arrayedSampler) 1028 + 1031: 1021 Load 1030 + 1034: 20(fvec2) Load 1033(c2D) + 1035: 11(fvec4) ImageSampleImplicitLod 1031 1034 + Store 1019(v) 1035 + 1040: 1039(ptr) AccessChain 1038(gl_ClipDistance) 966 + 1041: 10(float) Load 1040 + 1042: 34(ptr) AccessChain 13(outp) 33 + Store 1042 1041 + 1044: 11(fvec4) Load 1019(v) + 1045: 1043(fvec3) VectorShuffle 1044 1044 1 2 3 + 1046: 11(fvec4) Load 13(outp) + 1047: 11(fvec4) VectorShuffle 1046 1045 0 4 5 6 + Store 13(outp) 1047 + 1055: 1052 Load 1054(samp2dr) + 1056: 20(fvec2) Load 1033(c2D) + 1067: 1048(ivec4) ImageGather 1055 1056 970 ConstOffsets 1066 + Store 1050(uoutp) 1067 + 1068: 1029(ptr) AccessChain 1025(arrayedSampler) 1064 + 1069: 1021 Load 1068 + 1070: 20(fvec2) Load 1033(c2D) + 1071: 11(fvec4) ImageGather 1069 1070 1064 + 1072: 11(fvec4) Load 13(outp) + 1073: 11(fvec4) FAdd 1072 1071 + Store 13(outp) 1073 + 1081: 1078 Load 1080(isamp2DA) + 1085: 1074(ivec4) ImageGather 1081 1083 25 ConstOffset 1084 + Store 1076(ioutp) 1085 + 1086: 1078 Load 1080(isamp2DA) + 1087: 1074(ivec4) ImageGather 1086 1083 25 ConstOffset 1084 + 1088: 1074(ivec4) Load 1076(ioutp) + 1089: 1074(ivec4) IAdd 1088 1087 + Store 1076(ioutp) 1089 + 1090: 1078 Load 1080(isamp2DA) + 1091: 23(int) Load 1027(i) + 1092: 24(ivec2) CompositeConstruct 1091 1091 + 1093: 1074(ivec4) ImageGather 1090 1083 1064 Offset 1092 + 1094: 1074(ivec4) Load 1076(ioutp) + 1095: 1074(ivec4) IAdd 1094 1093 + Store 1076(ioutp) 1095 + 1098: 11(fvec4) Load 1097(gl_FragCoord) + 1100: 11(fvec4) Load 1099(vl2) + 1101: 11(fvec4) FAdd 1098 1100 + 1102: 11(fvec4) Load 13(outp) + 1103: 11(fvec4) FAdd 1102 1101 + Store 13(outp) 1103 + 1108: 32(int) Load 1107(u) + 1109: 23(int) Load 1027(i) + 1110: 32(int) Bitcast 1109 + 1111: 32(int) UMod 1108 1110 + Store 1105(uo) 1111 + 1112: 2 FunctionCall 6(foo23() + 1113: 2 FunctionCall 8(doubles() + 1117: 23(int) Load 1116(gl_PrimitiveID) + Store 1115(id) 1117 Return FunctionEnd 6(foo23(): 2 Function None 3 @@ -278,15 +277,15 @@ spv.400.frag 566: 438(ptr) Variable Function 575: 447(ptr) Variable Function 584: 456(ptr) Variable Function - 736(dmat2v): 735(ptr) Variable Function - 742(dmat3v): 741(ptr) Variable Function - 748(dmat4v): 747(ptr) Variable Function - 754(dmat2x3v): 753(ptr) Variable Function - 760(dmat3x2v): 759(ptr) Variable Function - 766(dmat2x4v): 765(ptr) Variable Function - 772(dmat4x2v): 771(ptr) Variable Function - 778(dmat3x4v): 777(ptr) Variable Function - 784(dmat4x3v): 783(ptr) Variable Function + 739(dmat2v): 738(ptr) Variable Function + 745(dmat3v): 744(ptr) Variable Function + 751(dmat4v): 750(ptr) Variable Function + 757(dmat2x3v): 756(ptr) Variable Function + 763(dmat3x2v): 762(ptr) Variable Function + 769(dmat2x4v): 768(ptr) Variable Function + 775(dmat4x2v): 774(ptr) Variable Function + 781(dmat3x4v): 780(ptr) Variable Function + 787(dmat4x3v): 786(ptr) Variable Function Store 41(doublev) 42 Store 45(dvec2v) 47 Store 50(dvec3v) 52 @@ -1080,309 +1079,313 @@ spv.400.frag 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: 43(f64vec2) ExtInst 1(GLSL.std.450) 72(Refract) 719 720 715 - 722: 43(f64vec2) Load 45(dvec2v) - 723: 43(f64vec2) FAdd 722 721 - Store 45(dvec2v) 723 - 724: 48(f64vec3) Load 50(dvec3v) + 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) ExtInst 1(GLSL.std.450) 72(Refract) 724 725 715 - 727: 48(f64vec3) Load 50(dvec3v) - 728: 48(f64vec3) FAdd 727 726 - Store 50(dvec3v) 728 - 729: 53(f64vec4) Load 55(dvec4v) - 730: 53(f64vec4) Load 55(dvec4v) - 731: 53(f64vec4) ExtInst 1(GLSL.std.450) 72(Refract) 729 730 715 + 726: 48(f64vec3) Load 50(dvec3v) + 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) - 733: 53(f64vec4) FAdd 732 731 - Store 55(dvec4v) 733 - 737: 43(f64vec2) Load 45(dvec2v) - 738: 43(f64vec2) Load 45(dvec2v) - 739: 734 OuterProduct 737 738 - Store 736(dmat2v) 739 - 743: 48(f64vec3) Load 50(dvec3v) - 744: 48(f64vec3) Load 50(dvec3v) - 745: 740 OuterProduct 743 744 - Store 742(dmat3v) 745 - 749: 53(f64vec4) Load 55(dvec4v) - 750: 53(f64vec4) Load 55(dvec4v) - 751: 746 OuterProduct 749 750 - Store 748(dmat4v) 751 - 755: 48(f64vec3) Load 50(dvec3v) - 756: 43(f64vec2) Load 45(dvec2v) - 757: 752 OuterProduct 755 756 - Store 754(dmat2x3v) 757 - 761: 43(f64vec2) Load 45(dvec2v) - 762: 48(f64vec3) Load 50(dvec3v) - 763: 758 OuterProduct 761 762 - Store 760(dmat3x2v) 763 - 767: 53(f64vec4) Load 55(dvec4v) - 768: 43(f64vec2) Load 45(dvec2v) - 769: 764 OuterProduct 767 768 - Store 766(dmat2x4v) 769 - 773: 43(f64vec2) Load 45(dvec2v) - 774: 53(f64vec4) Load 55(dvec4v) - 775: 770 OuterProduct 773 774 - Store 772(dmat4x2v) 775 - 779: 53(f64vec4) Load 55(dvec4v) - 780: 48(f64vec3) Load 50(dvec3v) - 781: 776 OuterProduct 779 780 - Store 778(dmat3x4v) 781 - 785: 48(f64vec3) Load 50(dvec3v) - 786: 53(f64vec4) Load 55(dvec4v) - 787: 782 OuterProduct 785 786 - Store 784(dmat4x3v) 787 - 788: 734 Load 736(dmat2v) - 789: 734 Load 736(dmat2v) - 790: 43(f64vec2) CompositeExtract 788 0 - 791: 43(f64vec2) CompositeExtract 789 0 - 792: 43(f64vec2) FMul 790 791 - 793: 43(f64vec2) CompositeExtract 788 1 - 794: 43(f64vec2) CompositeExtract 789 1 + 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) + 754: 749 OuterProduct 752 753 + Store 751(dmat4v) 754 + 758: 48(f64vec3) Load 50(dvec3v) + 759: 43(f64vec2) Load 45(dvec2v) + 760: 755 OuterProduct 758 759 + Store 757(dmat2x3v) 760 + 764: 43(f64vec2) Load 45(dvec2v) + 765: 48(f64vec3) Load 50(dvec3v) + 766: 761 OuterProduct 764 765 + Store 763(dmat3x2v) 766 + 770: 53(f64vec4) Load 55(dvec4v) + 771: 43(f64vec2) Load 45(dvec2v) + 772: 767 OuterProduct 770 771 + Store 769(dmat2x4v) 772 + 776: 43(f64vec2) Load 45(dvec2v) + 777: 53(f64vec4) Load 55(dvec4v) + 778: 773 OuterProduct 776 777 + Store 775(dmat4x2v) 778 + 782: 53(f64vec4) Load 55(dvec4v) + 783: 48(f64vec3) Load 50(dvec3v) + 784: 779 OuterProduct 782 783 + Store 781(dmat3x4v) 784 + 788: 48(f64vec3) Load 50(dvec3v) + 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: 734 CompositeConstruct 792 795 - 797: 734 Load 736(dmat2v) - 798: 734 MatrixTimesMatrix 797 796 - Store 736(dmat2v) 798 - 799: 740 Load 742(dmat3v) - 800: 740 Load 742(dmat3v) - 801: 48(f64vec3) CompositeExtract 799 0 - 802: 48(f64vec3) CompositeExtract 800 0 - 803: 48(f64vec3) FMul 801 802 - 804: 48(f64vec3) CompositeExtract 799 1 - 805: 48(f64vec3) CompositeExtract 800 1 + 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 799 2 - 808: 48(f64vec3) CompositeExtract 800 2 + 807: 48(f64vec3) CompositeExtract 802 1 + 808: 48(f64vec3) CompositeExtract 803 1 809: 48(f64vec3) FMul 807 808 - 810: 740 CompositeConstruct 803 806 809 - 811: 740 Load 742(dmat3v) - 812: 740 MatrixTimesMatrix 811 810 - Store 742(dmat3v) 812 - 813: 746 Load 748(dmat4v) - 814: 746 Load 748(dmat4v) - 815: 53(f64vec4) CompositeExtract 813 0 - 816: 53(f64vec4) CompositeExtract 814 0 - 817: 53(f64vec4) FMul 815 816 - 818: 53(f64vec4) CompositeExtract 813 1 - 819: 53(f64vec4) CompositeExtract 814 1 + 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 813 2 - 822: 53(f64vec4) CompositeExtract 814 2 + 821: 53(f64vec4) CompositeExtract 816 1 + 822: 53(f64vec4) CompositeExtract 817 1 823: 53(f64vec4) FMul 821 822 - 824: 53(f64vec4) CompositeExtract 813 3 - 825: 53(f64vec4) CompositeExtract 814 3 + 824: 53(f64vec4) CompositeExtract 816 2 + 825: 53(f64vec4) CompositeExtract 817 2 826: 53(f64vec4) FMul 824 825 - 827: 746 CompositeConstruct 817 820 823 826 - 828: 746 Load 748(dmat4v) - 829: 746 MatrixTimesMatrix 828 827 - Store 748(dmat4v) 829 - 830: 752 Load 754(dmat2x3v) - 831: 752 Load 754(dmat2x3v) - 832: 48(f64vec3) CompositeExtract 830 0 - 833: 48(f64vec3) CompositeExtract 831 0 - 834: 48(f64vec3) FMul 832 833 - 835: 48(f64vec3) CompositeExtract 830 1 - 836: 48(f64vec3) CompositeExtract 831 1 + 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: 752 CompositeConstruct 834 837 - Store 754(dmat2x3v) 838 - 839: 764 Load 766(dmat2x4v) - 840: 764 Load 766(dmat2x4v) - 841: 53(f64vec4) CompositeExtract 839 0 - 842: 53(f64vec4) CompositeExtract 840 0 - 843: 53(f64vec4) FMul 841 842 - 844: 53(f64vec4) CompositeExtract 839 1 - 845: 53(f64vec4) CompositeExtract 840 1 + 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: 764 CompositeConstruct 843 846 - Store 766(dmat2x4v) 847 - 848: 758 Load 760(dmat3x2v) - 849: 758 Load 760(dmat3x2v) - 850: 43(f64vec2) CompositeExtract 848 0 - 851: 43(f64vec2) CompositeExtract 849 0 - 852: 43(f64vec2) FMul 850 851 - 853: 43(f64vec2) CompositeExtract 848 1 - 854: 43(f64vec2) CompositeExtract 849 1 + 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 848 2 - 857: 43(f64vec2) CompositeExtract 849 2 + 856: 43(f64vec2) CompositeExtract 851 1 + 857: 43(f64vec2) CompositeExtract 852 1 858: 43(f64vec2) FMul 856 857 - 859: 758 CompositeConstruct 852 855 858 - Store 760(dmat3x2v) 859 - 860: 776 Load 778(dmat3x4v) - 861: 776 Load 778(dmat3x4v) - 862: 53(f64vec4) CompositeExtract 860 0 - 863: 53(f64vec4) CompositeExtract 861 0 - 864: 53(f64vec4) FMul 862 863 - 865: 53(f64vec4) CompositeExtract 860 1 - 866: 53(f64vec4) CompositeExtract 861 1 + 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 860 2 - 869: 53(f64vec4) CompositeExtract 861 2 + 868: 53(f64vec4) CompositeExtract 863 1 + 869: 53(f64vec4) CompositeExtract 864 1 870: 53(f64vec4) FMul 868 869 - 871: 776 CompositeConstruct 864 867 870 - Store 778(dmat3x4v) 871 - 872: 770 Load 772(dmat4x2v) - 873: 770 Load 772(dmat4x2v) - 874: 43(f64vec2) CompositeExtract 872 0 - 875: 43(f64vec2) CompositeExtract 873 0 - 876: 43(f64vec2) FMul 874 875 - 877: 43(f64vec2) CompositeExtract 872 1 - 878: 43(f64vec2) CompositeExtract 873 1 + 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 872 2 - 881: 43(f64vec2) CompositeExtract 873 2 + 880: 43(f64vec2) CompositeExtract 875 1 + 881: 43(f64vec2) CompositeExtract 876 1 882: 43(f64vec2) FMul 880 881 - 883: 43(f64vec2) CompositeExtract 872 3 - 884: 43(f64vec2) CompositeExtract 873 3 + 883: 43(f64vec2) CompositeExtract 875 2 + 884: 43(f64vec2) CompositeExtract 876 2 885: 43(f64vec2) FMul 883 884 - 886: 770 CompositeConstruct 876 879 882 885 - Store 772(dmat4x2v) 886 - 887: 782 Load 784(dmat4x3v) - 888: 782 Load 784(dmat4x3v) - 889: 48(f64vec3) CompositeExtract 887 0 - 890: 48(f64vec3) CompositeExtract 888 0 - 891: 48(f64vec3) FMul 889 890 - 892: 48(f64vec3) CompositeExtract 887 1 - 893: 48(f64vec3) CompositeExtract 888 1 + 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 887 2 - 896: 48(f64vec3) CompositeExtract 888 2 + 895: 48(f64vec3) CompositeExtract 890 1 + 896: 48(f64vec3) CompositeExtract 891 1 897: 48(f64vec3) FMul 895 896 - 898: 48(f64vec3) CompositeExtract 887 3 - 899: 48(f64vec3) CompositeExtract 888 3 + 898: 48(f64vec3) CompositeExtract 890 2 + 899: 48(f64vec3) CompositeExtract 891 2 900: 48(f64vec3) FMul 898 899 - 901: 782 CompositeConstruct 891 894 897 900 - Store 784(dmat4x3v) 901 - 902: 734 Load 736(dmat2v) - 903: 734 Transpose 902 - 904: 734 Load 736(dmat2v) - 905: 734 MatrixTimesMatrix 904 903 - Store 736(dmat2v) 905 - 906: 740 Load 742(dmat3v) - 907: 740 Transpose 906 - 908: 740 Load 742(dmat3v) - 909: 740 MatrixTimesMatrix 908 907 - Store 742(dmat3v) 909 - 910: 746 Load 748(dmat4v) - 911: 746 Transpose 910 - 912: 746 Load 748(dmat4v) - 913: 746 MatrixTimesMatrix 912 911 - Store 748(dmat4v) 913 - 914: 758 Load 760(dmat3x2v) - 915: 752 Transpose 914 - Store 754(dmat2x3v) 915 - 916: 752 Load 754(dmat2x3v) - 917: 758 Transpose 916 - Store 760(dmat3x2v) 917 - 918: 770 Load 772(dmat4x2v) - 919: 764 Transpose 918 - Store 766(dmat2x4v) 919 - 920: 764 Load 766(dmat2x4v) - 921: 770 Transpose 920 - Store 772(dmat4x2v) 921 - 922: 782 Load 784(dmat4x3v) - 923: 776 Transpose 922 - Store 778(dmat3x4v) 923 - 924: 776 Load 778(dmat3x4v) - 925: 782 Transpose 924 - Store 784(dmat4x3v) 925 - 926: 734 Load 736(dmat2v) - 927:39(float64_t) ExtInst 1(GLSL.std.450) 33(Determinant) 926 - 928:39(float64_t) Load 41(doublev) - 929:39(float64_t) FAdd 928 927 - Store 41(doublev) 929 - 930: 740 Load 742(dmat3v) - 931:39(float64_t) ExtInst 1(GLSL.std.450) 33(Determinant) 930 - 932:39(float64_t) Load 41(doublev) - 933:39(float64_t) FAdd 932 931 - Store 41(doublev) 933 - 934: 746 Load 748(dmat4v) - 935:39(float64_t) ExtInst 1(GLSL.std.450) 33(Determinant) 934 - 936:39(float64_t) Load 41(doublev) - 937:39(float64_t) FAdd 936 935 - Store 41(doublev) 937 - 938: 734 Load 736(dmat2v) - 939: 734 ExtInst 1(GLSL.std.450) 34(MatrixInverse) 938 - 940: 734 Load 736(dmat2v) - 941: 734 MatrixTimesMatrix 940 939 - Store 736(dmat2v) 941 - 942: 740 Load 742(dmat3v) - 943: 740 ExtInst 1(GLSL.std.450) 34(MatrixInverse) 942 - 944: 740 Load 742(dmat3v) - 945: 740 MatrixTimesMatrix 944 943 - Store 742(dmat3v) 945 - 946: 746 Load 748(dmat4v) - 947: 746 ExtInst 1(GLSL.std.450) 34(MatrixInverse) 946 - 948: 746 Load 748(dmat4v) - 949: 746 MatrixTimesMatrix 948 947 - Store 748(dmat4v) 949 - 950:39(float64_t) Load 41(doublev) - 952: 40(ptr) AccessChain 45(dvec2v) 951 - 953:39(float64_t) Load 952 - 954:39(float64_t) FAdd 950 953 - 956: 40(ptr) AccessChain 50(dvec3v) 955 - 957:39(float64_t) Load 956 - 958:39(float64_t) FAdd 954 957 - 960: 40(ptr) AccessChain 55(dvec4v) 959 - 961:39(float64_t) Load 960 - 962:39(float64_t) FAdd 958 961 - 964: 40(ptr) AccessChain 736(dmat2v) 963 951 - 965:39(float64_t) Load 964 - 966:39(float64_t) FAdd 962 965 - 968: 40(ptr) AccessChain 742(dmat3v) 967 955 - 969:39(float64_t) Load 968 - 970:39(float64_t) FAdd 966 969 - 971: 40(ptr) AccessChain 748(dmat4v) 25 959 + 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 + 968:39(float64_t) Load 967 + 969:39(float64_t) FAdd 965 968 + 971: 40(ptr) AccessChain 745(dmat3v) 970 958 972:39(float64_t) Load 971 - 973:39(float64_t) FAdd 970 972 - 974: 40(ptr) AccessChain 754(dmat2x3v) 963 951 + 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 760(dmat3x2v) 963 951 + 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 778(dmat3x4v) 967 955 + 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 784(dmat4x3v) 967 955 + 983: 40(ptr) AccessChain 781(dmat3x4v) 970 958 984:39(float64_t) Load 983 985:39(float64_t) FAdd 982 984 - 986: 40(ptr) AccessChain 766(dmat2x4v) 963 951 + 986: 40(ptr) AccessChain 787(dmat4x3v) 970 958 987:39(float64_t) Load 986 988:39(float64_t) FAdd 985 987 - 989: 40(ptr) AccessChain 772(dmat4x2v) 963 951 + 989: 40(ptr) AccessChain 769(dmat2x4v) 966 954 990:39(float64_t) Load 989 991:39(float64_t) FAdd 988 990 - 992: 428(bool) Load 430(boolv) - 994: 10(float) Select 992 993 21 - 995:39(float64_t) FConvert 994 - 996:39(float64_t) FAdd 991 995 - 997: 429(ptr) AccessChain 439(bvec2v) 33 - 998: 428(bool) Load 997 - 999: 10(float) Select 998 993 21 - 1000:39(float64_t) FConvert 999 - 1001:39(float64_t) FAdd 996 1000 - 1002: 429(ptr) AccessChain 448(bvec3v) 33 - 1003: 428(bool) Load 1002 - 1004: 10(float) Select 1003 993 21 - 1005:39(float64_t) FConvert 1004 - 1006:39(float64_t) FAdd 1001 1005 - 1007: 429(ptr) AccessChain 457(bvec4v) 33 - 1008: 428(bool) Load 1007 - 1009: 10(float) Select 1008 993 21 - 1010:39(float64_t) FConvert 1009 - 1011:39(float64_t) FAdd 1006 1010 - 1012: 10(float) FConvert 1011 - 1013: 11(fvec4) Load 13(outp) - 1014: 11(fvec4) VectorTimesScalar 1013 1012 - Store 13(outp) 1014 + 992: 40(ptr) AccessChain 775(dmat4x2v) 966 954 + 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 Return FunctionEnd diff --git a/Test/baseResults/spv.float64.frag.out b/Test/baseResults/spv.float64.frag.out index 48af2bcd5..ebc0a40c5 100644 --- a/Test/baseResults/spv.float64.frag.out +++ b/Test/baseResults/spv.float64.frag.out @@ -1,7 +1,7 @@ spv.float64.frag // Module Version 10300 // Generated by (magic number): 80007 -// Id's are bound by 523 +// Id's are bound by 521 Capability Shader Capability Float16 @@ -13,7 +13,7 @@ spv.float64.frag Capability InterpolationFunction 1: ExtInstImport "GLSL.std.450" MemoryModel Logical GLSL450 - EntryPoint Fragment 4 "main" 461 + EntryPoint Fragment 4 "main" 458 ExecutionMode 4 OriginUpperLeft Source GLSL 450 SourceExtension "GL_KHX_shader_explicit_arithmetic_types" @@ -67,63 +67,62 @@ spv.float64.frag Name 372 "f64v1" Name 376 "f64v2" Name 382 "f64v3" - Name 399 "f" - Name 404 "f64m3" - Name 405 "f64m1" - Name 407 "f64m2" - Name 416 "f64v1" - Name 418 "f64v2" - Name 423 "f64m4" - Name 426 "f64" - Name 429 "f64m5" - Name 434 "f64m6" - Name 435 "f64m7" - Name 438 "bv" - Name 439 "f64v1" - Name 441 "f64v2" - Name 459 "f64v" - Name 461 "if64v" - Name 510 "S" - MemberName 510(S) 0 "x" - MemberName 510(S) 1 "y" - MemberName 510(S) 2 "z" - Name 512 "B1" - MemberName 512(B1) 0 "a" - MemberName 512(B1) 1 "b" - MemberName 512(B1) 2 "c" - MemberName 512(B1) 3 "d" - MemberName 512(B1) 4 "e" - MemberName 512(B1) 5 "f" - MemberName 512(B1) 6 "g" - MemberName 512(B1) 7 "h" - Name 514 "" - Name 515 "sf16" - Name 516 "sf" - Name 517 "sd" - Decorate 461(if64v) Flat - Decorate 508 ArrayStride 16 - Decorate 509 ArrayStride 64 - MemberDecorate 510(S) 0 Offset 0 - MemberDecorate 510(S) 1 Offset 16 - MemberDecorate 510(S) 2 Offset 32 - Decorate 511 ArrayStride 64 - MemberDecorate 512(B1) 0 Offset 0 - MemberDecorate 512(B1) 1 Offset 16 - MemberDecorate 512(B1) 2 Offset 32 - MemberDecorate 512(B1) 3 Offset 64 - MemberDecorate 512(B1) 4 ColMajor - MemberDecorate 512(B1) 4 Offset 96 - MemberDecorate 512(B1) 4 MatrixStride 32 - MemberDecorate 512(B1) 5 ColMajor - MemberDecorate 512(B1) 5 Offset 160 - MemberDecorate 512(B1) 5 MatrixStride 32 - MemberDecorate 512(B1) 6 Offset 288 - MemberDecorate 512(B1) 7 Offset 352 - Decorate 512(B1) Block - Decorate 514 DescriptorSet 0 - Decorate 515(sf16) SpecId 100 - Decorate 516(sf) SpecId 101 - Decorate 517(sd) SpecId 102 + Name 401 "f64m3" + Name 402 "f64m1" + Name 404 "f64m2" + Name 413 "f64v1" + Name 415 "f64v2" + Name 420 "f64m4" + Name 423 "f64" + Name 426 "f64m5" + Name 431 "f64m6" + Name 432 "f64m7" + Name 435 "bv" + Name 436 "f64v1" + Name 438 "f64v2" + Name 456 "f64v" + Name 458 "if64v" + Name 507 "S" + MemberName 507(S) 0 "x" + MemberName 507(S) 1 "y" + MemberName 507(S) 2 "z" + Name 509 "B1" + MemberName 509(B1) 0 "a" + MemberName 509(B1) 1 "b" + MemberName 509(B1) 2 "c" + MemberName 509(B1) 3 "d" + MemberName 509(B1) 4 "e" + MemberName 509(B1) 5 "f" + MemberName 509(B1) 6 "g" + MemberName 509(B1) 7 "h" + Name 511 "" + Name 512 "sf16" + Name 514 "sf" + Name 515 "sd" + Decorate 458(if64v) Flat + Decorate 505 ArrayStride 16 + Decorate 506 ArrayStride 64 + MemberDecorate 507(S) 0 Offset 0 + MemberDecorate 507(S) 1 Offset 16 + MemberDecorate 507(S) 2 Offset 32 + Decorate 508 ArrayStride 64 + MemberDecorate 509(B1) 0 Offset 0 + MemberDecorate 509(B1) 1 Offset 16 + MemberDecorate 509(B1) 2 Offset 32 + MemberDecorate 509(B1) 3 Offset 64 + MemberDecorate 509(B1) 4 ColMajor + MemberDecorate 509(B1) 4 Offset 96 + MemberDecorate 509(B1) 4 MatrixStride 32 + MemberDecorate 509(B1) 5 ColMajor + MemberDecorate 509(B1) 5 Offset 160 + MemberDecorate 509(B1) 5 MatrixStride 32 + MemberDecorate 509(B1) 6 Offset 288 + MemberDecorate 509(B1) 7 Offset 352 + Decorate 509(B1) Block + Decorate 511 DescriptorSet 0 + Decorate 512(sf16) SpecId 100 + Decorate 514(sf) SpecId 101 + Decorate 515(sd) SpecId 102 2: TypeVoid 3: TypeFunction 2 26: TypeFloat 64 @@ -175,38 +174,37 @@ spv.float64.frag 214: TypeVector 26(float64_t) 4 215: TypePointer Function 214(f64vec4) 364(ResType): TypeStruct 149(f64vec3) 183(ivec3) - 397: TypeFloat 32 - 398: TypePointer Function 397(float) - 402: TypeMatrix 149(f64vec3) 2 - 403: TypePointer Function 402 - 421: TypeMatrix 27(f64vec2) 3 - 422: TypePointer Function 421 - 427: TypeMatrix 149(f64vec3) 3 - 428: TypePointer Function 427 - 432: TypeMatrix 214(f64vec4) 4 - 433: TypePointer Function 432 - 460: TypePointer Input 149(f64vec3) - 461(if64v): 460(ptr) Variable Input - 462: TypePointer Input 26(float64_t) - 499: 182(int) Constant 1 - 504:26(float64_t) Constant 0 1071644672 - 505: 27(f64vec2) ConstantComposite 504 504 - 507: 31(int) Constant 2 - 508: TypeArray 26(float64_t) 507 - 509: TypeArray 402 507 - 510(S): TypeStruct 26(float64_t) 27(f64vec2) 149(f64vec3) - 511: TypeArray 510(S) 507 - 512(B1): TypeStruct 26(float64_t) 27(f64vec2) 149(f64vec3) 508 402 509 510(S) 511 - 513: TypePointer Uniform 512(B1) - 514: 513(ptr) Variable Uniform - 515(sf16):162(float16_t) SpecConstant 12288 - 516(sf): 397(float) SpecConstant 1048576000 - 517(sd):26(float64_t) SpecConstant 0 1071644672 - 518: 397(float) SpecConstantOp 115 515(sf16) - 519: 397(float) SpecConstantOp 115 515(sf16) - 520:26(float64_t) SpecConstantOp 115 519 - 521:162(float16_t) SpecConstantOp 115 516(sf) - 522:162(float16_t) SpecConstantOp 115 517(sd) + 399: TypeMatrix 149(f64vec3) 2 + 400: TypePointer Function 399 + 418: TypeMatrix 27(f64vec2) 3 + 419: TypePointer Function 418 + 424: TypeMatrix 149(f64vec3) 3 + 425: TypePointer Function 424 + 429: TypeMatrix 214(f64vec4) 4 + 430: TypePointer Function 429 + 457: TypePointer Input 149(f64vec3) + 458(if64v): 457(ptr) Variable Input + 459: TypePointer Input 26(float64_t) + 496: 182(int) Constant 1 + 501:26(float64_t) Constant 0 1071644672 + 502: 27(f64vec2) ConstantComposite 501 501 + 504: 31(int) Constant 2 + 505: TypeArray 26(float64_t) 504 + 506: TypeArray 399 504 + 507(S): TypeStruct 26(float64_t) 27(f64vec2) 149(f64vec3) + 508: TypeArray 507(S) 504 + 509(B1): TypeStruct 26(float64_t) 27(f64vec2) 149(f64vec3) 505 399 506 507(S) 508 + 510: TypePointer Uniform 509(B1) + 511: 510(ptr) Variable Uniform + 512(sf16):162(float16_t) SpecConstant 12288 + 513: TypeFloat 32 + 514(sf): 513(float) SpecConstant 1048576000 + 515(sd):26(float64_t) SpecConstant 0 1071644672 + 516: 513(float) SpecConstantOp 115 512(sf16) + 517: 513(float) SpecConstantOp 115 512(sf16) + 518:26(float64_t) SpecConstantOp 115 517 + 519:162(float16_t) SpecConstantOp 115 514(sf) + 520:162(float16_t) SpecConstantOp 115 515(sd) 4(main): 2 Function None 3 5: Label Return @@ -628,7 +626,6 @@ spv.float64.frag 372(f64v1): 150(ptr) Variable Function 376(f64v2): 150(ptr) Variable Function 382(f64v3): 150(ptr) Variable Function - 399(f): 398(ptr) Variable Function 373:149(f64vec3) Load 372(f64v1) 374:26(float64_t) ExtInst 1(GLSL.std.450) 66(Length) 373 Store 371(f64) 374 @@ -658,134 +655,134 @@ spv.float64.frag Store 382(f64v3) 394 395:149(f64vec3) Load 372(f64v1) 396:149(f64vec3) Load 376(f64v2) - 400: 397(float) Load 399(f) - 401:149(f64vec3) ExtInst 1(GLSL.std.450) 72(Refract) 395 396 400 - Store 382(f64v3) 401 + 397:26(float64_t) Load 371(f64) + 398:149(f64vec3) ExtInst 1(GLSL.std.450) 72(Refract) 395 396 397 + Store 382(f64v3) 398 Return FunctionEnd 20(builtinMatrixFuncs(): 2 Function None 3 21: Label - 404(f64m3): 403(ptr) Variable Function - 405(f64m1): 403(ptr) Variable Function - 407(f64m2): 403(ptr) Variable Function - 416(f64v1): 150(ptr) Variable Function - 418(f64v2): 28(ptr) Variable Function - 423(f64m4): 422(ptr) Variable Function - 426(f64): 33(ptr) Variable Function - 429(f64m5): 428(ptr) Variable Function - 434(f64m6): 433(ptr) Variable Function - 435(f64m7): 433(ptr) Variable Function - 406: 402 Load 405(f64m1) - 408: 402 Load 407(f64m2) - 409:149(f64vec3) CompositeExtract 406 0 - 410:149(f64vec3) CompositeExtract 408 0 + 401(f64m3): 400(ptr) Variable Function + 402(f64m1): 400(ptr) Variable Function + 404(f64m2): 400(ptr) Variable Function + 413(f64v1): 150(ptr) Variable Function + 415(f64v2): 28(ptr) Variable Function + 420(f64m4): 419(ptr) Variable Function + 423(f64): 33(ptr) Variable Function + 426(f64m5): 425(ptr) Variable Function + 431(f64m6): 430(ptr) Variable Function + 432(f64m7): 430(ptr) Variable Function + 403: 399 Load 402(f64m1) + 405: 399 Load 404(f64m2) + 406:149(f64vec3) CompositeExtract 403 0 + 407:149(f64vec3) CompositeExtract 405 0 + 408:149(f64vec3) FMul 406 407 + 409:149(f64vec3) CompositeExtract 403 1 + 410:149(f64vec3) CompositeExtract 405 1 411:149(f64vec3) FMul 409 410 - 412:149(f64vec3) CompositeExtract 406 1 - 413:149(f64vec3) CompositeExtract 408 1 - 414:149(f64vec3) FMul 412 413 - 415: 402 CompositeConstruct 411 414 - Store 404(f64m3) 415 - 417:149(f64vec3) Load 416(f64v1) - 419: 27(f64vec2) Load 418(f64v2) - 420: 402 OuterProduct 417 419 - Store 405(f64m1) 420 - 424: 402 Load 405(f64m1) - 425: 421 Transpose 424 - Store 423(f64m4) 425 - 430: 427 Load 429(f64m5) - 431:26(float64_t) ExtInst 1(GLSL.std.450) 33(Determinant) 430 - Store 426(f64) 431 - 436: 432 Load 435(f64m7) - 437: 432 ExtInst 1(GLSL.std.450) 34(MatrixInverse) 436 - Store 434(f64m6) 437 + 412: 399 CompositeConstruct 408 411 + Store 401(f64m3) 412 + 414:149(f64vec3) Load 413(f64v1) + 416: 27(f64vec2) Load 415(f64v2) + 417: 399 OuterProduct 414 416 + Store 402(f64m1) 417 + 421: 399 Load 402(f64m1) + 422: 418 Transpose 421 + Store 420(f64m4) 422 + 427: 424 Load 426(f64m5) + 428:26(float64_t) ExtInst 1(GLSL.std.450) 33(Determinant) 427 + Store 423(f64) 428 + 433: 429 Load 432(f64m7) + 434: 429 ExtInst 1(GLSL.std.450) 34(MatrixInverse) 433 + Store 431(f64m6) 434 Return FunctionEnd 22(builtinVecRelFuncs(): 2 Function None 3 23: Label - 438(bv): 153(ptr) Variable Function - 439(f64v1): 150(ptr) Variable Function - 441(f64v2): 150(ptr) Variable Function - 440:149(f64vec3) Load 439(f64v1) - 442:149(f64vec3) Load 441(f64v2) - 443: 152(bvec3) FOrdLessThan 440 442 - Store 438(bv) 443 - 444:149(f64vec3) Load 439(f64v1) - 445:149(f64vec3) Load 441(f64v2) - 446: 152(bvec3) FOrdLessThanEqual 444 445 - Store 438(bv) 446 - 447:149(f64vec3) Load 439(f64v1) - 448:149(f64vec3) Load 441(f64v2) - 449: 152(bvec3) FOrdGreaterThan 447 448 - Store 438(bv) 449 - 450:149(f64vec3) Load 439(f64v1) - 451:149(f64vec3) Load 441(f64v2) - 452: 152(bvec3) FOrdGreaterThanEqual 450 451 - Store 438(bv) 452 - 453:149(f64vec3) Load 439(f64v1) - 454:149(f64vec3) Load 441(f64v2) - 455: 152(bvec3) FOrdEqual 453 454 - Store 438(bv) 455 - 456:149(f64vec3) Load 439(f64v1) - 457:149(f64vec3) Load 441(f64v2) - 458: 152(bvec3) FOrdNotEqual 456 457 - Store 438(bv) 458 + 435(bv): 153(ptr) Variable Function + 436(f64v1): 150(ptr) Variable Function + 438(f64v2): 150(ptr) Variable Function + 437:149(f64vec3) Load 436(f64v1) + 439:149(f64vec3) Load 438(f64v2) + 440: 152(bvec3) FOrdLessThan 437 439 + Store 435(bv) 440 + 441:149(f64vec3) Load 436(f64v1) + 442:149(f64vec3) Load 438(f64v2) + 443: 152(bvec3) FOrdLessThanEqual 441 442 + Store 435(bv) 443 + 444:149(f64vec3) Load 436(f64v1) + 445:149(f64vec3) Load 438(f64v2) + 446: 152(bvec3) FOrdGreaterThan 444 445 + Store 435(bv) 446 + 447:149(f64vec3) Load 436(f64v1) + 448:149(f64vec3) Load 438(f64v2) + 449: 152(bvec3) FOrdGreaterThanEqual 447 448 + Store 435(bv) 449 + 450:149(f64vec3) Load 436(f64v1) + 451:149(f64vec3) Load 438(f64v2) + 452: 152(bvec3) FOrdEqual 450 451 + Store 435(bv) 452 + 453:149(f64vec3) Load 436(f64v1) + 454:149(f64vec3) Load 438(f64v2) + 455: 152(bvec3) FOrdNotEqual 453 454 + Store 435(bv) 455 Return FunctionEnd 24(builtinFragProcFuncs(): 2 Function None 3 25: Label - 459(f64v): 150(ptr) Variable Function - 463: 462(ptr) AccessChain 461(if64v) 32 - 464:26(float64_t) Load 463 - 465:26(float64_t) DPdx 464 - 466: 33(ptr) AccessChain 459(f64v) 32 - Store 466 465 - 467: 462(ptr) AccessChain 461(if64v) 88 - 468:26(float64_t) Load 467 - 469:26(float64_t) DPdy 468 - 470: 33(ptr) AccessChain 459(f64v) 88 - Store 470 469 - 471:149(f64vec3) Load 461(if64v) - 472: 27(f64vec2) VectorShuffle 471 471 0 1 - 473: 27(f64vec2) DPdxFine 472 - 474:149(f64vec3) Load 459(f64v) - 475:149(f64vec3) VectorShuffle 474 473 3 4 2 - Store 459(f64v) 475 - 476:149(f64vec3) Load 461(if64v) - 477: 27(f64vec2) VectorShuffle 476 476 0 1 - 478: 27(f64vec2) DPdyFine 477 - 479:149(f64vec3) Load 459(f64v) - 480:149(f64vec3) VectorShuffle 479 478 3 4 2 - Store 459(f64v) 480 - 481:149(f64vec3) Load 461(if64v) - 482:149(f64vec3) DPdxCoarse 481 - Store 459(f64v) 482 - 483:149(f64vec3) Load 461(if64v) - 484:149(f64vec3) DPdxCoarse 483 - Store 459(f64v) 484 - 485: 462(ptr) AccessChain 461(if64v) 32 - 486:26(float64_t) Load 485 - 487:26(float64_t) Fwidth 486 - 488: 33(ptr) AccessChain 459(f64v) 32 - Store 488 487 - 489:149(f64vec3) Load 461(if64v) - 490: 27(f64vec2) VectorShuffle 489 489 0 1 - 491: 27(f64vec2) FwidthFine 490 - 492:149(f64vec3) Load 459(f64v) - 493:149(f64vec3) VectorShuffle 492 491 3 4 2 - Store 459(f64v) 493 - 494:149(f64vec3) Load 461(if64v) - 495:149(f64vec3) FwidthCoarse 494 - Store 459(f64v) 495 - 496: 462(ptr) AccessChain 461(if64v) 32 - 497:26(float64_t) ExtInst 1(GLSL.std.450) 76(InterpolateAtCentroid) 496 - 498: 33(ptr) AccessChain 459(f64v) 32 - Store 498 497 - 500:149(f64vec3) ExtInst 1(GLSL.std.450) 77(InterpolateAtSample) 461(if64v) 499 - 501: 27(f64vec2) VectorShuffle 500 500 0 1 - 502:149(f64vec3) Load 459(f64v) - 503:149(f64vec3) VectorShuffle 502 501 3 4 2 - Store 459(f64v) 503 - 506:149(f64vec3) ExtInst 1(GLSL.std.450) 78(InterpolateAtOffset) 461(if64v) 505 - Store 459(f64v) 506 + 456(f64v): 150(ptr) Variable Function + 460: 459(ptr) AccessChain 458(if64v) 32 + 461:26(float64_t) Load 460 + 462:26(float64_t) DPdx 461 + 463: 33(ptr) AccessChain 456(f64v) 32 + Store 463 462 + 464: 459(ptr) AccessChain 458(if64v) 88 + 465:26(float64_t) Load 464 + 466:26(float64_t) DPdy 465 + 467: 33(ptr) AccessChain 456(f64v) 88 + Store 467 466 + 468:149(f64vec3) Load 458(if64v) + 469: 27(f64vec2) VectorShuffle 468 468 0 1 + 470: 27(f64vec2) DPdxFine 469 + 471:149(f64vec3) Load 456(f64v) + 472:149(f64vec3) VectorShuffle 471 470 3 4 2 + Store 456(f64v) 472 + 473:149(f64vec3) Load 458(if64v) + 474: 27(f64vec2) VectorShuffle 473 473 0 1 + 475: 27(f64vec2) DPdyFine 474 + 476:149(f64vec3) Load 456(f64v) + 477:149(f64vec3) VectorShuffle 476 475 3 4 2 + Store 456(f64v) 477 + 478:149(f64vec3) Load 458(if64v) + 479:149(f64vec3) DPdxCoarse 478 + Store 456(f64v) 479 + 480:149(f64vec3) Load 458(if64v) + 481:149(f64vec3) DPdxCoarse 480 + Store 456(f64v) 481 + 482: 459(ptr) AccessChain 458(if64v) 32 + 483:26(float64_t) Load 482 + 484:26(float64_t) Fwidth 483 + 485: 33(ptr) AccessChain 456(f64v) 32 + Store 485 484 + 486:149(f64vec3) Load 458(if64v) + 487: 27(f64vec2) VectorShuffle 486 486 0 1 + 488: 27(f64vec2) FwidthFine 487 + 489:149(f64vec3) Load 456(f64v) + 490:149(f64vec3) VectorShuffle 489 488 3 4 2 + Store 456(f64v) 490 + 491:149(f64vec3) Load 458(if64v) + 492:149(f64vec3) FwidthCoarse 491 + Store 456(f64v) 492 + 493: 459(ptr) AccessChain 458(if64v) 32 + 494:26(float64_t) ExtInst 1(GLSL.std.450) 76(InterpolateAtCentroid) 493 + 495: 33(ptr) AccessChain 456(f64v) 32 + Store 495 494 + 497:149(f64vec3) ExtInst 1(GLSL.std.450) 77(InterpolateAtSample) 458(if64v) 496 + 498: 27(f64vec2) VectorShuffle 497 497 0 1 + 499:149(f64vec3) Load 456(f64v) + 500:149(f64vec3) VectorShuffle 499 498 3 4 2 + Store 456(f64v) 500 + 503:149(f64vec3) ExtInst 1(GLSL.std.450) 78(InterpolateAtOffset) 458(if64v) 502 + Store 456(f64v) 503 Return FunctionEnd diff --git a/Test/spv.400.frag b/Test/spv.400.frag old mode 100755 new mode 100644 index 5cfba16ba..d64c4700e --- a/Test/spv.400.frag +++ b/Test/spv.400.frag @@ -192,10 +192,10 @@ void doubles() dvec3v += reflect(dvec3v, dvec3v); dvec4v += reflect(dvec4v, dvec4v); - doublev += refract(doublev, doublev, 1.3); - dvec2v += refract(dvec2v, dvec2v, 1.3); - dvec3v += refract(dvec3v, dvec3v, 1.3); - dvec4v += refract(dvec4v, dvec4v, 1.3); + doublev += refract(doublev, doublev, doublev); + dvec2v += refract(dvec2v, dvec2v, doublev); + dvec3v += refract(dvec3v, dvec3v, doublev); + dvec4v += refract(dvec4v, dvec4v, doublev); dmat2 dmat2v = outerProduct(dvec2v, dvec2v); dmat3 dmat3v = outerProduct(dvec3v, dvec3v); diff --git a/Test/spv.float64.frag b/Test/spv.float64.frag old mode 100755 new mode 100644 index 2c6c308df..efbec77d9 --- a/Test/spv.float64.frag +++ b/Test/spv.float64.frag @@ -204,7 +204,7 @@ void builtinGeometryFuncs() { float64_t f64; f64vec3 f64v1, f64v2, f64v3; - float f; + f64 = length(f64v1); f64 = distance(f64v1, f64v2); f64 = dot(f64v1, f64v2); @@ -212,7 +212,7 @@ void builtinGeometryFuncs() f64v2 = normalize(f64v1); f64v3 = faceforward(f64v1, f64v2, f64v3); f64v3 = reflect(f64v1, f64v2); - f64v3 = refract(f64v1, f64v2, f); + f64v3 = refract(f64v1, f64v2, f64); } void builtinMatrixFuncs() diff --git a/glslang/MachineIndependent/Initialize.cpp b/glslang/MachineIndependent/Initialize.cpp index a5ab09394..34341b0ea 100755 --- a/glslang/MachineIndependent/Initialize.cpp +++ b/glslang/MachineIndependent/Initialize.cpp @@ -603,10 +603,10 @@ void TBuiltIns::initialize(int version, EProfile profile, const SpvVersion& spvV "dvec3 reflect(dvec3 , dvec3 );" "dvec4 reflect(dvec4 , dvec4 );" - "double refract(double, double, float);" - "dvec2 refract(dvec2 , dvec2 , float);" - "dvec3 refract(dvec3 , dvec3 , float);" - "dvec4 refract(dvec4 , dvec4 , float);" + "double refract(double, double, double);" + "dvec2 refract(dvec2 , dvec2 , double);" + "dvec3 refract(dvec3 , dvec3 , double);" + "dvec4 refract(dvec4 , dvec4 , double);" "dmat2 matrixCompMult(dmat2, dmat2);" "dmat3 matrixCompMult(dmat3, dmat3);"