From 432a43cccb562f1761d396b04110df5ae1bdb462 Mon Sep 17 00:00:00 2001 From: Greg Fischer Date: Wed, 27 Oct 2021 11:59:26 -0600 Subject: [PATCH] Remove support for double trig, pow, exp and log These are not supported in core GLSL or under any extension Fixes 2793 --- Test/baseResults/spv.float64.frag.out | 1418 ++++++++++----------- Test/spv.float64.frag | 28 +- glslang/MachineIndependent/Initialize.cpp | 100 -- 3 files changed, 675 insertions(+), 871 deletions(-) diff --git a/Test/baseResults/spv.float64.frag.out b/Test/baseResults/spv.float64.frag.out index dfcfc2d77..cd5f80d67 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): 8000a -// Id's are bound by 532 +// Id's are bound by 485 Capability Shader Capability Float16 @@ -14,7 +14,7 @@ Validation failed Capability InterpolationFunction 1: ExtInstImport "GLSL.std.450" MemoryModel Logical GLSL450 - EntryPoint Fragment 4 "main" 461 + EntryPoint Fragment 4 "main" 414 ExecutionMode 4 OriginUpperLeft Source GLSL 450 SourceExtension "GL_EXT_shader_explicit_arithmetic_types" @@ -29,782 +29,710 @@ Validation failed Name 6 "literal(" Name 8 "operators(" Name 10 "typeCast(" - Name 12 "builtinAngleTrigFuncs(" - Name 14 "builtinExpFuncs(" - Name 16 "builtinCommonFuncs(" - Name 18 "builtinGeometryFuncs(" - Name 20 "builtinMatrixFuncs(" - Name 22 "builtinVecRelFuncs(" - Name 24 "builtinFragProcFuncs(" - Name 29 "f64v" - Name 40 "f64v" - Name 62 "f64m" - Name 85 "f64" - Name 109 "b" - Name 151 "f64v" - Name 154 "bv" - Name 165 "f16v" - Name 173 "i8v" - Name 179 "i16v" - Name 185 "i32v" - Name 191 "i64v" - Name 197 "u8v" - Name 203 "u16v" - Name 208 "u32v" - Name 214 "u64v" - Name 219 "f64v2" - Name 220 "f64v1" - Name 252 "f64v2" - Name 253 "f64v1" - Name 269 "f64v2" - Name 270 "f64v1" - Name 291 "f64" - Name 295 "f64v3" - Name 335 "bv" - Name 356 "b" - Name 366 "iv" - Name 367 "ResType" - Name 374 "f64" - Name 375 "f64v1" - Name 379 "f64v2" - Name 385 "f64v3" - 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 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 523 "sf16" - Name 525 "sf" - Name 526 "sd" - Name 527 "f16_to_f" - Name 529 "f16_to_d" - Name 530 "f_to_f16" - Name 531 "d_to_f16" - Decorate 461(if64v) Flat - Decorate 461(if64v) Location 0 - Decorate 516 ArrayStride 16 - Decorate 517 ArrayStride 64 - MemberDecorate 518(S) 0 Offset 0 - MemberDecorate 518(S) 1 Offset 16 - MemberDecorate 518(S) 2 Offset 32 - Decorate 519 ArrayStride 64 - MemberDecorate 520(B1) 0 Offset 0 - MemberDecorate 520(B1) 1 Offset 16 - MemberDecorate 520(B1) 2 Offset 32 - MemberDecorate 520(B1) 3 Offset 64 - MemberDecorate 520(B1) 4 ColMajor - MemberDecorate 520(B1) 4 Offset 96 - MemberDecorate 520(B1) 4 MatrixStride 32 - MemberDecorate 520(B1) 5 ColMajor - MemberDecorate 520(B1) 5 Offset 160 - MemberDecorate 520(B1) 5 MatrixStride 32 - MemberDecorate 520(B1) 6 Offset 288 - MemberDecorate 520(B1) 7 Offset 352 - Decorate 520(B1) Block - Decorate 522 DescriptorSet 0 - Decorate 522 Binding 0 - Decorate 523(sf16) SpecId 100 - Decorate 525(sf) SpecId 101 - Decorate 526(sd) SpecId 102 + Name 12 "builtinTranscendentalFuncs(" + Name 14 "builtinCommonFuncs(" + Name 16 "builtinGeometryFuncs(" + Name 18 "builtinMatrixFuncs(" + Name 20 "builtinVecRelFuncs(" + Name 22 "builtinFragProcFuncs(" + Name 27 "f64v" + Name 38 "f64v" + Name 60 "f64m" + Name 83 "f64" + Name 107 "b" + Name 149 "f64v" + Name 152 "bv" + Name 163 "f16v" + Name 171 "i8v" + Name 177 "i16v" + Name 183 "i32v" + Name 189 "i64v" + Name 195 "u8v" + Name 201 "u16v" + Name 206 "u32v" + Name 212 "u64v" + Name 215 "f64v2" + Name 216 "f64v1" + Name 221 "f64v2" + 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 + 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 Offset 96 + MemberDecorate 473(B1) 4 MatrixStride 32 + MemberDecorate 473(B1) 5 ColMajor + MemberDecorate 473(B1) 5 Offset 160 + MemberDecorate 473(B1) 5 MatrixStride 32 + MemberDecorate 473(B1) 6 Offset 288 + MemberDecorate 473(B1) 7 Offset 352 + Decorate 473(B1) Block + Decorate 475 DescriptorSet 0 + Decorate 475 Binding 0 + Decorate 476(sf16) SpecId 100 + Decorate 478(sf) SpecId 101 + Decorate 479(sd) SpecId 102 2: TypeVoid 3: TypeFunction 2 - 26: TypeFloat 64 - 27: TypeVector 26(float64_t) 2 - 28: TypePointer Function 27(f64vec2) - 30:26(float64_t) Constant 2696277389 1051772663 - 31: TypeInt 32 0 - 32: 31(int) Constant 0 - 33: TypePointer Function 26(float64_t) - 35:26(float64_t) Constant 0 3218079744 - 36:26(float64_t) Constant 3951369912 1067366481 - 37: 27(f64vec2) ConstantComposite 35 36 - 54:26(float64_t) Constant 0 1072693248 - 60: TypeMatrix 27(f64vec2) 2 - 61: TypePointer Function 60 - 88: 31(int) Constant 1 - 107: TypeBool - 108: TypePointer Function 107(bool) - 149: TypeVector 26(float64_t) 3 - 150: TypePointer Function 149(f64vec3) - 152: TypeVector 107(bool) 3 - 153: TypePointer Function 152(bvec3) - 156:26(float64_t) Constant 0 0 - 157:149(f64vec3) ConstantComposite 156 156 156 - 158:149(f64vec3) ConstantComposite 54 54 54 - 162: TypeFloat 16 - 163: TypeVector 162(float16_t) 3 - 164: TypePointer Function 163(f16vec3) - 170: TypeInt 8 1 - 171: TypeVector 170(int8_t) 3 - 172: TypePointer Function 171(i8vec3) - 176: TypeInt 16 1 - 177: TypeVector 176(int16_t) 3 - 178: TypePointer Function 177(i16vec3) - 182: TypeInt 32 1 - 183: TypeVector 182(int) 3 - 184: TypePointer Function 183(ivec3) - 188: TypeInt 64 1 - 189: TypeVector 188(int64_t) 3 - 190: TypePointer Function 189(i64vec3) - 194: TypeInt 8 0 - 195: TypeVector 194(int8_t) 3 - 196: TypePointer Function 195(i8vec3) - 200: TypeInt 16 0 - 201: TypeVector 200(int16_t) 3 - 202: TypePointer Function 201(i16vec3) - 206: TypeVector 31(int) 3 - 207: TypePointer Function 206(ivec3) - 211: TypeInt 64 0 - 212: TypeVector 211(int64_t) 3 - 213: TypePointer Function 212(i64vec3) - 217: TypeVector 26(float64_t) 4 - 218: TypePointer Function 217(f64vec4) - 367(ResType): TypeStruct 149(f64vec3) 183(ivec3) - 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 217(f64vec4) 4 - 433: TypePointer Function 432 - 460: TypePointer Input 149(f64vec3) - 461(if64v): 460(ptr) Variable Input - 462: TypePointer Input 26(float64_t) - 505: 182(int) Constant 1 - 512:26(float64_t) Constant 0 1071644672 - 513: 27(f64vec2) ConstantComposite 512 512 - 515: 31(int) Constant 2 - 516: TypeArray 26(float64_t) 515 - 517: TypeArray 402 515 - 518(S): TypeStruct 26(float64_t) 27(f64vec2) 149(f64vec3) - 519: TypeArray 518(S) 515 - 520(B1): TypeStruct 26(float64_t) 27(f64vec2) 149(f64vec3) 516 402 517 518(S) 519 - 521: TypePointer Uniform 520(B1) - 522: 521(ptr) Variable Uniform - 523(sf16):162(float16_t) SpecConstant 12288 - 524: TypeFloat 32 - 525(sf): 524(float) SpecConstant 1048576000 - 526(sd):26(float64_t) SpecConstant 0 1071644672 - 527(f16_to_f): 524(float) SpecConstantOp 115 523(sf16) - 528: 524(float) SpecConstantOp 115 523(sf16) - 529(f16_to_d):26(float64_t) SpecConstantOp 115 528 - 530(f_to_f16):162(float16_t) SpecConstantOp 115 525(sf) - 531(d_to_f16):162(float16_t) SpecConstantOp 115 526(sd) + 24: TypeFloat 64 + 25: TypeVector 24(float64_t) 2 + 26: TypePointer Function 25(f64vec2) + 28:24(float64_t) Constant 2696277389 1051772663 + 29: TypeInt 32 0 + 30: 29(int) Constant 0 + 31: TypePointer Function 24(float64_t) + 33:24(float64_t) Constant 0 3218079744 + 34:24(float64_t) Constant 3951369912 1067366481 + 35: 25(f64vec2) ConstantComposite 33 34 + 52:24(float64_t) Constant 0 1072693248 + 58: TypeMatrix 25(f64vec2) 2 + 59: TypePointer Function 58 + 86: 29(int) Constant 1 + 105: TypeBool + 106: TypePointer Function 105(bool) + 147: TypeVector 24(float64_t) 3 + 148: TypePointer Function 147(f64vec3) + 150: TypeVector 105(bool) 3 + 151: TypePointer Function 150(bvec3) + 154:24(float64_t) Constant 0 0 + 155:147(f64vec3) ConstantComposite 154 154 154 + 156:147(f64vec3) ConstantComposite 52 52 52 + 160: TypeFloat 16 + 161: TypeVector 160(float16_t) 3 + 162: TypePointer Function 161(f16vec3) + 168: TypeInt 8 1 + 169: TypeVector 168(int8_t) 3 + 170: TypePointer Function 169(i8vec3) + 174: TypeInt 16 1 + 175: TypeVector 174(int16_t) 3 + 176: TypePointer Function 175(i16vec3) + 180: TypeInt 32 1 + 181: TypeVector 180(int) 3 + 182: TypePointer Function 181(ivec3) + 186: TypeInt 64 1 + 187: TypeVector 186(int64_t) 3 + 188: TypePointer Function 187(i64vec3) + 192: TypeInt 8 0 + 193: TypeVector 192(int8_t) 3 + 194: TypePointer Function 193(i8vec3) + 198: TypeInt 16 0 + 199: TypeVector 198(int16_t) 3 + 200: TypePointer Function 199(i16vec3) + 204: TypeVector 29(int) 3 + 205: TypePointer Function 204(ivec3) + 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) 4(main): 2 Function None 3 5: Label Return FunctionEnd 6(literal(): 2 Function None 3 7: Label - 29(f64v): 28(ptr) Variable Function - 34: 33(ptr) AccessChain 29(f64v) 32 - Store 34 30 - 38: 27(f64vec2) Load 29(f64v) - 39: 27(f64vec2) FAdd 38 37 - Store 29(f64v) 39 + 27(f64v): 26(ptr) Variable Function + 32: 31(ptr) AccessChain 27(f64v) 30 + Store 32 28 + 36: 25(f64vec2) Load 27(f64v) + 37: 25(f64vec2) FAdd 36 35 + Store 27(f64v) 37 Return FunctionEnd 8(operators(): 2 Function None 3 9: Label - 40(f64v): 28(ptr) Variable Function - 62(f64m): 61(ptr) Variable Function - 85(f64): 33(ptr) Variable Function - 109(b): 108(ptr) Variable Function - 41: 27(f64vec2) Load 40(f64v) - 42: 27(f64vec2) Load 40(f64v) - 43: 27(f64vec2) FAdd 42 41 - Store 40(f64v) 43 - 44: 27(f64vec2) Load 40(f64v) - 45: 27(f64vec2) Load 40(f64v) - 46: 27(f64vec2) FSub 45 44 - Store 40(f64v) 46 - 47: 27(f64vec2) Load 40(f64v) - 48: 27(f64vec2) Load 40(f64v) - 49: 27(f64vec2) FMul 48 47 - Store 40(f64v) 49 - 50: 27(f64vec2) Load 40(f64v) - 51: 27(f64vec2) Load 40(f64v) - 52: 27(f64vec2) FDiv 51 50 - Store 40(f64v) 52 - 53: 27(f64vec2) Load 40(f64v) - 55: 27(f64vec2) CompositeConstruct 54 54 - 56: 27(f64vec2) FAdd 53 55 - Store 40(f64v) 56 - 57: 27(f64vec2) Load 40(f64v) - 58: 27(f64vec2) CompositeConstruct 54 54 - 59: 27(f64vec2) FSub 57 58 - Store 40(f64v) 59 - 63: 60 Load 62(f64m) - 64: 27(f64vec2) CompositeConstruct 54 54 - 65: 27(f64vec2) CompositeExtract 63 0 - 66: 27(f64vec2) FAdd 65 64 - 67: 27(f64vec2) CompositeExtract 63 1 - 68: 27(f64vec2) FAdd 67 64 - 69: 60 CompositeConstruct 66 68 - Store 62(f64m) 69 - 70: 60 Load 62(f64m) - 71: 27(f64vec2) CompositeConstruct 54 54 - 72: 27(f64vec2) CompositeExtract 70 0 - 73: 27(f64vec2) FSub 72 71 - 74: 27(f64vec2) CompositeExtract 70 1 - 75: 27(f64vec2) FSub 74 71 - 76: 60 CompositeConstruct 73 75 - Store 62(f64m) 76 - 77: 27(f64vec2) Load 40(f64v) - 78: 27(f64vec2) FNegate 77 - Store 40(f64v) 78 - 79: 60 Load 62(f64m) - 80: 27(f64vec2) CompositeExtract 79 0 - 81: 27(f64vec2) FNegate 80 - 82: 27(f64vec2) CompositeExtract 79 1 - 83: 27(f64vec2) FNegate 82 - 84: 60 CompositeConstruct 81 83 - Store 62(f64m) 84 - 86: 33(ptr) AccessChain 40(f64v) 32 - 87:26(float64_t) Load 86 - 89: 33(ptr) AccessChain 40(f64v) 88 - 90:26(float64_t) Load 89 - 91:26(float64_t) FAdd 87 90 - Store 85(f64) 91 - 92: 33(ptr) AccessChain 40(f64v) 32 - 93:26(float64_t) Load 92 - 94: 33(ptr) AccessChain 40(f64v) 88 - 95:26(float64_t) Load 94 - 96:26(float64_t) FSub 93 95 - Store 85(f64) 96 - 97: 33(ptr) AccessChain 40(f64v) 32 - 98:26(float64_t) Load 97 - 99: 33(ptr) AccessChain 40(f64v) 88 - 100:26(float64_t) Load 99 - 101:26(float64_t) FMul 98 100 - Store 85(f64) 101 - 102: 33(ptr) AccessChain 40(f64v) 32 - 103:26(float64_t) Load 102 - 104: 33(ptr) AccessChain 40(f64v) 88 - 105:26(float64_t) Load 104 - 106:26(float64_t) FDiv 103 105 - Store 85(f64) 106 - 110: 33(ptr) AccessChain 40(f64v) 32 - 111:26(float64_t) Load 110 - 112:26(float64_t) Load 85(f64) - 113: 107(bool) FUnordNotEqual 111 112 - Store 109(b) 113 - 114: 33(ptr) AccessChain 40(f64v) 88 - 115:26(float64_t) Load 114 - 116:26(float64_t) Load 85(f64) - 117: 107(bool) FOrdEqual 115 116 - Store 109(b) 117 - 118: 33(ptr) AccessChain 40(f64v) 32 - 119:26(float64_t) Load 118 - 120:26(float64_t) Load 85(f64) - 121: 107(bool) FOrdGreaterThan 119 120 - Store 109(b) 121 - 122: 33(ptr) AccessChain 40(f64v) 88 - 123:26(float64_t) Load 122 - 124:26(float64_t) Load 85(f64) - 125: 107(bool) FOrdLessThan 123 124 - Store 109(b) 125 - 126: 33(ptr) AccessChain 40(f64v) 32 - 127:26(float64_t) Load 126 - 128:26(float64_t) Load 85(f64) - 129: 107(bool) FOrdGreaterThanEqual 127 128 - Store 109(b) 129 - 130: 33(ptr) AccessChain 40(f64v) 88 - 131:26(float64_t) Load 130 - 132:26(float64_t) Load 85(f64) - 133: 107(bool) FOrdLessThanEqual 131 132 - Store 109(b) 133 - 134: 27(f64vec2) Load 40(f64v) - 135:26(float64_t) Load 85(f64) - 136: 27(f64vec2) VectorTimesScalar 134 135 - Store 40(f64v) 136 - 137: 60 Load 62(f64m) - 138:26(float64_t) Load 85(f64) - 139: 60 MatrixTimesScalar 137 138 - Store 62(f64m) 139 - 140: 60 Load 62(f64m) - 141: 27(f64vec2) Load 40(f64v) - 142: 27(f64vec2) MatrixTimesVector 140 141 - Store 40(f64v) 142 - 143: 27(f64vec2) Load 40(f64v) - 144: 60 Load 62(f64m) - 145: 27(f64vec2) VectorTimesMatrix 143 144 - Store 40(f64v) 145 - 146: 60 Load 62(f64m) - 147: 60 Load 62(f64m) - 148: 60 MatrixTimesMatrix 146 147 - Store 62(f64m) 148 + 38(f64v): 26(ptr) Variable Function + 60(f64m): 59(ptr) Variable Function + 83(f64): 31(ptr) Variable Function + 107(b): 106(ptr) Variable Function + 39: 25(f64vec2) Load 38(f64v) + 40: 25(f64vec2) Load 38(f64v) + 41: 25(f64vec2) FAdd 40 39 + Store 38(f64v) 41 + 42: 25(f64vec2) Load 38(f64v) + 43: 25(f64vec2) Load 38(f64v) + 44: 25(f64vec2) FSub 43 42 + Store 38(f64v) 44 + 45: 25(f64vec2) Load 38(f64v) + 46: 25(f64vec2) Load 38(f64v) + 47: 25(f64vec2) FMul 46 45 + Store 38(f64v) 47 + 48: 25(f64vec2) Load 38(f64v) + 49: 25(f64vec2) Load 38(f64v) + 50: 25(f64vec2) FDiv 49 48 + Store 38(f64v) 50 + 51: 25(f64vec2) Load 38(f64v) + 53: 25(f64vec2) CompositeConstruct 52 52 + 54: 25(f64vec2) FAdd 51 53 + Store 38(f64v) 54 + 55: 25(f64vec2) Load 38(f64v) + 56: 25(f64vec2) CompositeConstruct 52 52 + 57: 25(f64vec2) FSub 55 56 + Store 38(f64v) 57 + 61: 58 Load 60(f64m) + 62: 25(f64vec2) CompositeConstruct 52 52 + 63: 25(f64vec2) CompositeExtract 61 0 + 64: 25(f64vec2) FAdd 63 62 + 65: 25(f64vec2) CompositeExtract 61 1 + 66: 25(f64vec2) FAdd 65 62 + 67: 58 CompositeConstruct 64 66 + Store 60(f64m) 67 + 68: 58 Load 60(f64m) + 69: 25(f64vec2) CompositeConstruct 52 52 + 70: 25(f64vec2) CompositeExtract 68 0 + 71: 25(f64vec2) FSub 70 69 + 72: 25(f64vec2) CompositeExtract 68 1 + 73: 25(f64vec2) FSub 72 69 + 74: 58 CompositeConstruct 71 73 + Store 60(f64m) 74 + 75: 25(f64vec2) Load 38(f64v) + 76: 25(f64vec2) FNegate 75 + Store 38(f64v) 76 + 77: 58 Load 60(f64m) + 78: 25(f64vec2) CompositeExtract 77 0 + 79: 25(f64vec2) FNegate 78 + 80: 25(f64vec2) CompositeExtract 77 1 + 81: 25(f64vec2) FNegate 80 + 82: 58 CompositeConstruct 79 81 + Store 60(f64m) 82 + 84: 31(ptr) AccessChain 38(f64v) 30 + 85:24(float64_t) Load 84 + 87: 31(ptr) AccessChain 38(f64v) 86 + 88:24(float64_t) Load 87 + 89:24(float64_t) FAdd 85 88 + Store 83(f64) 89 + 90: 31(ptr) AccessChain 38(f64v) 30 + 91:24(float64_t) Load 90 + 92: 31(ptr) AccessChain 38(f64v) 86 + 93:24(float64_t) Load 92 + 94:24(float64_t) FSub 91 93 + Store 83(f64) 94 + 95: 31(ptr) AccessChain 38(f64v) 30 + 96:24(float64_t) Load 95 + 97: 31(ptr) AccessChain 38(f64v) 86 + 98:24(float64_t) Load 97 + 99:24(float64_t) FMul 96 98 + Store 83(f64) 99 + 100: 31(ptr) AccessChain 38(f64v) 30 + 101:24(float64_t) Load 100 + 102: 31(ptr) AccessChain 38(f64v) 86 + 103:24(float64_t) Load 102 + 104:24(float64_t) FDiv 101 103 + Store 83(f64) 104 + 108: 31(ptr) AccessChain 38(f64v) 30 + 109:24(float64_t) Load 108 + 110:24(float64_t) Load 83(f64) + 111: 105(bool) FUnordNotEqual 109 110 + Store 107(b) 111 + 112: 31(ptr) AccessChain 38(f64v) 86 + 113:24(float64_t) Load 112 + 114:24(float64_t) Load 83(f64) + 115: 105(bool) FOrdEqual 113 114 + Store 107(b) 115 + 116: 31(ptr) AccessChain 38(f64v) 30 + 117:24(float64_t) Load 116 + 118:24(float64_t) Load 83(f64) + 119: 105(bool) FOrdGreaterThan 117 118 + Store 107(b) 119 + 120: 31(ptr) AccessChain 38(f64v) 86 + 121:24(float64_t) Load 120 + 122:24(float64_t) Load 83(f64) + 123: 105(bool) FOrdLessThan 121 122 + Store 107(b) 123 + 124: 31(ptr) AccessChain 38(f64v) 30 + 125:24(float64_t) Load 124 + 126:24(float64_t) Load 83(f64) + 127: 105(bool) FOrdGreaterThanEqual 125 126 + Store 107(b) 127 + 128: 31(ptr) AccessChain 38(f64v) 86 + 129:24(float64_t) Load 128 + 130:24(float64_t) Load 83(f64) + 131: 105(bool) FOrdLessThanEqual 129 130 + Store 107(b) 131 + 132: 25(f64vec2) Load 38(f64v) + 133:24(float64_t) Load 83(f64) + 134: 25(f64vec2) VectorTimesScalar 132 133 + Store 38(f64v) 134 + 135: 58 Load 60(f64m) + 136:24(float64_t) Load 83(f64) + 137: 58 MatrixTimesScalar 135 136 + Store 60(f64m) 137 + 138: 58 Load 60(f64m) + 139: 25(f64vec2) Load 38(f64v) + 140: 25(f64vec2) MatrixTimesVector 138 139 + Store 38(f64v) 140 + 141: 25(f64vec2) Load 38(f64v) + 142: 58 Load 60(f64m) + 143: 25(f64vec2) VectorTimesMatrix 141 142 + Store 38(f64v) 143 + 144: 58 Load 60(f64m) + 145: 58 Load 60(f64m) + 146: 58 MatrixTimesMatrix 144 145 + Store 60(f64m) 146 Return FunctionEnd 10(typeCast(): 2 Function None 3 11: Label - 151(f64v): 150(ptr) Variable Function - 154(bv): 153(ptr) Variable Function - 165(f16v): 164(ptr) Variable Function - 173(i8v): 172(ptr) Variable Function - 179(i16v): 178(ptr) Variable Function - 185(i32v): 184(ptr) Variable Function - 191(i64v): 190(ptr) Variable Function - 197(u8v): 196(ptr) Variable Function - 203(u16v): 202(ptr) Variable Function - 208(u32v): 207(ptr) Variable Function - 214(u64v): 213(ptr) Variable Function - 155: 152(bvec3) Load 154(bv) - 159:149(f64vec3) Select 155 158 157 - Store 151(f64v) 159 - 160:149(f64vec3) Load 151(f64v) - 161: 152(bvec3) FUnordNotEqual 160 157 - Store 154(bv) 161 - 166:163(f16vec3) Load 165(f16v) - 167:149(f64vec3) FConvert 166 - Store 151(f64v) 167 - 168:149(f64vec3) Load 151(f64v) - 169:163(f16vec3) FConvert 168 - Store 165(f16v) 169 - 174:149(f64vec3) Load 151(f64v) - 175: 171(i8vec3) ConvertFToS 174 - Store 173(i8v) 175 - 180:149(f64vec3) Load 151(f64v) - 181:177(i16vec3) ConvertFToS 180 - Store 179(i16v) 181 - 186:149(f64vec3) Load 151(f64v) - 187: 183(ivec3) ConvertFToS 186 - Store 185(i32v) 187 - 192:149(f64vec3) Load 151(f64v) - 193:189(i64vec3) ConvertFToS 192 - Store 191(i64v) 193 - 198:149(f64vec3) Load 151(f64v) - 199: 195(i8vec3) ConvertFToU 198 - Store 197(u8v) 199 - 204:149(f64vec3) Load 151(f64v) - 205:201(i16vec3) ConvertFToU 204 - Store 203(u16v) 205 - 209:149(f64vec3) Load 151(f64v) - 210: 206(ivec3) ConvertFToU 209 - Store 208(u32v) 210 - 215:149(f64vec3) Load 151(f64v) - 216:212(i64vec3) ConvertFToU 215 - Store 214(u64v) 216 + 149(f64v): 148(ptr) Variable Function + 152(bv): 151(ptr) Variable Function + 163(f16v): 162(ptr) Variable Function + 171(i8v): 170(ptr) Variable Function + 177(i16v): 176(ptr) Variable Function + 183(i32v): 182(ptr) Variable Function + 189(i64v): 188(ptr) Variable Function + 195(u8v): 194(ptr) Variable Function + 201(u16v): 200(ptr) Variable Function + 206(u32v): 205(ptr) Variable Function + 212(u64v): 211(ptr) Variable Function + 153: 150(bvec3) Load 152(bv) + 157:147(f64vec3) Select 153 156 155 + Store 149(f64v) 157 + 158:147(f64vec3) Load 149(f64v) + 159: 150(bvec3) FUnordNotEqual 158 155 + Store 152(bv) 159 + 164:161(f16vec3) Load 163(f16v) + 165:147(f64vec3) FConvert 164 + Store 149(f64v) 165 + 166:147(f64vec3) Load 149(f64v) + 167:161(f16vec3) FConvert 166 + Store 163(f16v) 167 + 172:147(f64vec3) Load 149(f64v) + 173: 169(i8vec3) ConvertFToS 172 + Store 171(i8v) 173 + 178:147(f64vec3) Load 149(f64v) + 179:175(i16vec3) ConvertFToS 178 + Store 177(i16v) 179 + 184:147(f64vec3) Load 149(f64v) + 185: 181(ivec3) ConvertFToS 184 + Store 183(i32v) 185 + 190:147(f64vec3) Load 149(f64v) + 191:187(i64vec3) ConvertFToS 190 + Store 189(i64v) 191 + 196:147(f64vec3) Load 149(f64v) + 197: 193(i8vec3) ConvertFToU 196 + Store 195(u8v) 197 + 202:147(f64vec3) Load 149(f64v) + 203:199(i16vec3) ConvertFToU 202 + Store 201(u16v) 203 + 207:147(f64vec3) Load 149(f64v) + 208: 204(ivec3) ConvertFToU 207 + Store 206(u32v) 208 + 213:147(f64vec3) Load 149(f64v) + 214:210(i64vec3) ConvertFToU 213 + Store 212(u64v) 214 Return FunctionEnd -12(builtinAngleTrigFuncs(): 2 Function None 3 +12(builtinTranscendentalFuncs(): 2 Function None 3 13: Label - 219(f64v2): 218(ptr) Variable Function - 220(f64v1): 218(ptr) Variable Function - 221:217(f64vec4) Load 220(f64v1) - 222:217(f64vec4) ExtInst 1(GLSL.std.450) 11(Radians) 221 - Store 219(f64v2) 222 - 223:217(f64vec4) Load 220(f64v1) - 224:217(f64vec4) ExtInst 1(GLSL.std.450) 12(Degrees) 223 - Store 219(f64v2) 224 - 225:217(f64vec4) Load 220(f64v1) - 226:217(f64vec4) ExtInst 1(GLSL.std.450) 13(Sin) 225 - Store 219(f64v2) 226 - 227:217(f64vec4) Load 220(f64v1) - 228:217(f64vec4) ExtInst 1(GLSL.std.450) 14(Cos) 227 - Store 219(f64v2) 228 - 229:217(f64vec4) Load 220(f64v1) - 230:217(f64vec4) ExtInst 1(GLSL.std.450) 15(Tan) 229 - Store 219(f64v2) 230 - 231:217(f64vec4) Load 220(f64v1) - 232:217(f64vec4) ExtInst 1(GLSL.std.450) 16(Asin) 231 - Store 219(f64v2) 232 - 233:217(f64vec4) Load 220(f64v1) - 234:217(f64vec4) ExtInst 1(GLSL.std.450) 17(Acos) 233 - Store 219(f64v2) 234 - 235:217(f64vec4) Load 220(f64v1) - 236:217(f64vec4) Load 219(f64v2) - 237:217(f64vec4) ExtInst 1(GLSL.std.450) 25(Atan2) 235 236 - Store 219(f64v2) 237 - 238:217(f64vec4) Load 220(f64v1) - 239:217(f64vec4) ExtInst 1(GLSL.std.450) 18(Atan) 238 - Store 219(f64v2) 239 - 240:217(f64vec4) Load 220(f64v1) - 241:217(f64vec4) ExtInst 1(GLSL.std.450) 19(Sinh) 240 - Store 219(f64v2) 241 - 242:217(f64vec4) Load 220(f64v1) - 243:217(f64vec4) ExtInst 1(GLSL.std.450) 20(Cosh) 242 - Store 219(f64v2) 243 - 244:217(f64vec4) Load 220(f64v1) - 245:217(f64vec4) ExtInst 1(GLSL.std.450) 21(Tanh) 244 - Store 219(f64v2) 245 - 246:217(f64vec4) Load 220(f64v1) - 247:217(f64vec4) ExtInst 1(GLSL.std.450) 22(Asinh) 246 - Store 219(f64v2) 247 - 248:217(f64vec4) Load 220(f64v1) - 249:217(f64vec4) ExtInst 1(GLSL.std.450) 23(Acosh) 248 - Store 219(f64v2) 249 - 250:217(f64vec4) Load 220(f64v1) - 251:217(f64vec4) ExtInst 1(GLSL.std.450) 24(Atanh) 250 - Store 219(f64v2) 251 + 215(f64v2): 26(ptr) Variable Function + 216(f64v1): 26(ptr) Variable Function + 217: 25(f64vec2) Load 216(f64v1) + 218: 25(f64vec2) ExtInst 1(GLSL.std.450) 31(Sqrt) 217 + Store 215(f64v2) 218 + 219: 25(f64vec2) Load 216(f64v1) + 220: 25(f64vec2) ExtInst 1(GLSL.std.450) 32(InverseSqrt) 219 + Store 215(f64v2) 220 Return FunctionEnd -14(builtinExpFuncs(): 2 Function None 3 +14(builtinCommonFuncs(): 2 Function None 3 15: Label - 252(f64v2): 28(ptr) Variable Function - 253(f64v1): 28(ptr) Variable Function - 254: 27(f64vec2) Load 253(f64v1) - 255: 27(f64vec2) Load 252(f64v2) - 256: 27(f64vec2) ExtInst 1(GLSL.std.450) 26(Pow) 254 255 - Store 252(f64v2) 256 - 257: 27(f64vec2) Load 253(f64v1) - 258: 27(f64vec2) ExtInst 1(GLSL.std.450) 27(Exp) 257 - Store 252(f64v2) 258 - 259: 27(f64vec2) Load 253(f64v1) - 260: 27(f64vec2) ExtInst 1(GLSL.std.450) 28(Log) 259 - Store 252(f64v2) 260 - 261: 27(f64vec2) Load 253(f64v1) - 262: 27(f64vec2) ExtInst 1(GLSL.std.450) 29(Exp2) 261 - Store 252(f64v2) 262 - 263: 27(f64vec2) Load 253(f64v1) - 264: 27(f64vec2) ExtInst 1(GLSL.std.450) 30(Log2) 263 - Store 252(f64v2) 264 - 265: 27(f64vec2) Load 253(f64v1) - 266: 27(f64vec2) ExtInst 1(GLSL.std.450) 31(Sqrt) 265 - Store 252(f64v2) 266 - 267: 27(f64vec2) Load 253(f64v1) - 268: 27(f64vec2) ExtInst 1(GLSL.std.450) 32(InverseSqrt) 267 - Store 252(f64v2) 268 + 221(f64v2): 148(ptr) Variable Function + 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 + 223:147(f64vec3) Load 222(f64v1) + 224:147(f64vec3) ExtInst 1(GLSL.std.450) 4(FAbs) 223 + Store 221(f64v2) 224 + 225:147(f64vec3) Load 222(f64v1) + 226:147(f64vec3) ExtInst 1(GLSL.std.450) 6(FSign) 225 + Store 221(f64v2) 226 + 227:147(f64vec3) Load 222(f64v1) + 228:147(f64vec3) ExtInst 1(GLSL.std.450) 8(Floor) 227 + Store 221(f64v2) 228 + 229:147(f64vec3) Load 222(f64v1) + 230:147(f64vec3) ExtInst 1(GLSL.std.450) 3(Trunc) 229 + Store 221(f64v2) 230 + 231:147(f64vec3) Load 222(f64v1) + 232:147(f64vec3) ExtInst 1(GLSL.std.450) 1(Round) 231 + Store 221(f64v2) 232 + 233:147(f64vec3) Load 222(f64v1) + 234:147(f64vec3) ExtInst 1(GLSL.std.450) 2(RoundEven) 233 + Store 221(f64v2) 234 + 235:147(f64vec3) Load 222(f64v1) + 236:147(f64vec3) ExtInst 1(GLSL.std.450) 9(Ceil) 235 + Store 221(f64v2) 236 + 237:147(f64vec3) Load 222(f64v1) + 238:147(f64vec3) ExtInst 1(GLSL.std.450) 10(Fract) 237 + Store 221(f64v2) 238 + 239:147(f64vec3) Load 222(f64v1) + 240:147(f64vec3) Load 221(f64v2) + 241:147(f64vec3) FMod 239 240 + Store 221(f64v2) 241 + 242:147(f64vec3) Load 222(f64v1) + 244:24(float64_t) Load 243(f64) + 245:147(f64vec3) CompositeConstruct 244 244 244 + 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 + 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 + 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 + 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 + Store 221(f64v2) 325 Return FunctionEnd -16(builtinCommonFuncs(): 2 Function None 3 +16(builtinGeometryFuncs(): 2 Function None 3 17: Label - 269(f64v2): 150(ptr) Variable Function - 270(f64v1): 150(ptr) Variable Function - 291(f64): 33(ptr) Variable Function - 295(f64v3): 150(ptr) Variable Function - 335(bv): 153(ptr) Variable Function - 356(b): 108(ptr) Variable Function - 366(iv): 184(ptr) Variable Function - 271:149(f64vec3) Load 270(f64v1) - 272:149(f64vec3) ExtInst 1(GLSL.std.450) 4(FAbs) 271 - Store 269(f64v2) 272 - 273:149(f64vec3) Load 270(f64v1) - 274:149(f64vec3) ExtInst 1(GLSL.std.450) 6(FSign) 273 - Store 269(f64v2) 274 - 275:149(f64vec3) Load 270(f64v1) - 276:149(f64vec3) ExtInst 1(GLSL.std.450) 8(Floor) 275 - Store 269(f64v2) 276 - 277:149(f64vec3) Load 270(f64v1) - 278:149(f64vec3) ExtInst 1(GLSL.std.450) 3(Trunc) 277 - Store 269(f64v2) 278 - 279:149(f64vec3) Load 270(f64v1) - 280:149(f64vec3) ExtInst 1(GLSL.std.450) 1(Round) 279 - Store 269(f64v2) 280 - 281:149(f64vec3) Load 270(f64v1) - 282:149(f64vec3) ExtInst 1(GLSL.std.450) 2(RoundEven) 281 - Store 269(f64v2) 282 - 283:149(f64vec3) Load 270(f64v1) - 284:149(f64vec3) ExtInst 1(GLSL.std.450) 9(Ceil) 283 - Store 269(f64v2) 284 - 285:149(f64vec3) Load 270(f64v1) - 286:149(f64vec3) ExtInst 1(GLSL.std.450) 10(Fract) 285 - Store 269(f64v2) 286 - 287:149(f64vec3) Load 270(f64v1) - 288:149(f64vec3) Load 269(f64v2) - 289:149(f64vec3) FMod 287 288 - Store 269(f64v2) 289 - 290:149(f64vec3) Load 270(f64v1) - 292:26(float64_t) Load 291(f64) - 293:149(f64vec3) CompositeConstruct 292 292 292 - 294:149(f64vec3) FMod 290 293 - Store 269(f64v2) 294 - 296:149(f64vec3) Load 270(f64v1) - 297:149(f64vec3) ExtInst 1(GLSL.std.450) 35(Modf) 296 269(f64v2) - Store 295(f64v3) 297 - 298:149(f64vec3) Load 270(f64v1) - 299:149(f64vec3) Load 269(f64v2) - 300:149(f64vec3) ExtInst 1(GLSL.std.450) 37(FMin) 298 299 - Store 295(f64v3) 300 - 301:149(f64vec3) Load 270(f64v1) - 302:26(float64_t) Load 291(f64) - 303:149(f64vec3) CompositeConstruct 302 302 302 - 304:149(f64vec3) ExtInst 1(GLSL.std.450) 37(FMin) 301 303 - Store 295(f64v3) 304 - 305:149(f64vec3) Load 270(f64v1) - 306:149(f64vec3) Load 269(f64v2) - 307:149(f64vec3) ExtInst 1(GLSL.std.450) 40(FMax) 305 306 - Store 295(f64v3) 307 - 308:149(f64vec3) Load 270(f64v1) - 309:26(float64_t) Load 291(f64) - 310:149(f64vec3) CompositeConstruct 309 309 309 - 311:149(f64vec3) ExtInst 1(GLSL.std.450) 40(FMax) 308 310 - Store 295(f64v3) 311 - 312:149(f64vec3) Load 270(f64v1) - 313:26(float64_t) Load 291(f64) - 314: 33(ptr) AccessChain 269(f64v2) 32 - 315:26(float64_t) Load 314 - 316:149(f64vec3) CompositeConstruct 313 313 313 - 317:149(f64vec3) CompositeConstruct 315 315 315 - 318:149(f64vec3) ExtInst 1(GLSL.std.450) 43(FClamp) 312 316 317 - Store 295(f64v3) 318 - 319:149(f64vec3) Load 270(f64v1) - 320:149(f64vec3) Load 269(f64v2) - 321:26(float64_t) Load 291(f64) - 322:149(f64vec3) CompositeConstruct 321 321 321 - 323:149(f64vec3) ExtInst 1(GLSL.std.450) 43(FClamp) 319 320 322 - Store 295(f64v3) 323 - 324:149(f64vec3) Load 270(f64v1) - 325:149(f64vec3) Load 269(f64v2) - 326:26(float64_t) Load 291(f64) - 327:149(f64vec3) CompositeConstruct 326 326 326 - 328:149(f64vec3) ExtInst 1(GLSL.std.450) 46(FMix) 324 325 327 - Store 295(f64v3) 328 - 329:149(f64vec3) Load 270(f64v1) - 330:149(f64vec3) Load 269(f64v2) - 331:149(f64vec3) Load 295(f64v3) - 332:149(f64vec3) ExtInst 1(GLSL.std.450) 46(FMix) 329 330 331 - Store 295(f64v3) 332 - 333:149(f64vec3) Load 270(f64v1) - 334:149(f64vec3) Load 269(f64v2) - 336: 152(bvec3) Load 335(bv) - 337:149(f64vec3) Select 336 334 333 - Store 295(f64v3) 337 - 338:149(f64vec3) Load 270(f64v1) - 339:149(f64vec3) Load 269(f64v2) - 340:149(f64vec3) ExtInst 1(GLSL.std.450) 48(Step) 338 339 - Store 295(f64v3) 340 - 341:26(float64_t) Load 291(f64) - 342:149(f64vec3) Load 295(f64v3) - 343:149(f64vec3) CompositeConstruct 341 341 341 - 344:149(f64vec3) ExtInst 1(GLSL.std.450) 48(Step) 343 342 - Store 295(f64v3) 344 - 345:149(f64vec3) Load 270(f64v1) - 346:149(f64vec3) Load 269(f64v2) - 347:149(f64vec3) Load 295(f64v3) - 348:149(f64vec3) ExtInst 1(GLSL.std.450) 49(SmoothStep) 345 346 347 - Store 295(f64v3) 348 - 349:26(float64_t) Load 291(f64) - 350: 33(ptr) AccessChain 270(f64v1) 32 - 351:26(float64_t) Load 350 - 352:149(f64vec3) Load 269(f64v2) - 353:149(f64vec3) CompositeConstruct 349 349 349 - 354:149(f64vec3) CompositeConstruct 351 351 351 - 355:149(f64vec3) ExtInst 1(GLSL.std.450) 49(SmoothStep) 353 354 352 - Store 295(f64v3) 355 - 357:26(float64_t) Load 291(f64) - 358: 107(bool) IsNan 357 - Store 356(b) 358 - 359:149(f64vec3) Load 270(f64v1) - 360: 152(bvec3) IsInf 359 - Store 335(bv) 360 - 361:149(f64vec3) Load 270(f64v1) - 362:149(f64vec3) Load 269(f64v2) - 363:149(f64vec3) Load 295(f64v3) - 364:149(f64vec3) ExtInst 1(GLSL.std.450) 50(Fma) 361 362 363 - Store 295(f64v3) 364 - 365:149(f64vec3) Load 270(f64v1) - 368:367(ResType) ExtInst 1(GLSL.std.450) 52(FrexpStruct) 365 - 369: 183(ivec3) CompositeExtract 368 1 - Store 366(iv) 369 - 370:149(f64vec3) CompositeExtract 368 0 - Store 269(f64v2) 370 - 371:149(f64vec3) Load 270(f64v1) - 372: 183(ivec3) Load 366(iv) - 373:149(f64vec3) ExtInst 1(GLSL.std.450) 53(Ldexp) 371 372 - Store 269(f64v2) 373 + 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 Return FunctionEnd -18(builtinGeometryFuncs(): 2 Function None 3 +18(builtinMatrixFuncs(): 2 Function None 3 19: Label - 374(f64): 33(ptr) Variable Function - 375(f64v1): 150(ptr) Variable Function - 379(f64v2): 150(ptr) Variable Function - 385(f64v3): 150(ptr) Variable Function - 376:149(f64vec3) Load 375(f64v1) - 377:26(float64_t) ExtInst 1(GLSL.std.450) 66(Length) 376 - Store 374(f64) 377 - 378:149(f64vec3) Load 375(f64v1) - 380:149(f64vec3) Load 379(f64v2) - 381:26(float64_t) ExtInst 1(GLSL.std.450) 67(Distance) 378 380 - Store 374(f64) 381 - 382:149(f64vec3) Load 375(f64v1) - 383:149(f64vec3) Load 379(f64v2) - 384:26(float64_t) Dot 382 383 - Store 374(f64) 384 - 386:149(f64vec3) Load 375(f64v1) - 387:149(f64vec3) Load 379(f64v2) - 388:149(f64vec3) ExtInst 1(GLSL.std.450) 68(Cross) 386 387 - Store 385(f64v3) 388 - 389:149(f64vec3) Load 375(f64v1) - 390:149(f64vec3) ExtInst 1(GLSL.std.450) 69(Normalize) 389 - Store 379(f64v2) 390 - 391:149(f64vec3) Load 375(f64v1) - 392:149(f64vec3) Load 379(f64v2) - 393:149(f64vec3) Load 385(f64v3) - 394:149(f64vec3) ExtInst 1(GLSL.std.450) 70(FaceForward) 391 392 393 - Store 385(f64v3) 394 - 395:149(f64vec3) Load 375(f64v1) - 396:149(f64vec3) Load 379(f64v2) - 397:149(f64vec3) ExtInst 1(GLSL.std.450) 71(Reflect) 395 396 - Store 385(f64v3) 397 - 398:149(f64vec3) Load 375(f64v1) - 399:149(f64vec3) Load 379(f64v2) - 400:26(float64_t) Load 374(f64) - 401:149(f64vec3) ExtInst 1(GLSL.std.450) 72(Refract) 398 399 400 - Store 385(f64v3) 401 + 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 + 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 Return FunctionEnd -20(builtinMatrixFuncs(): 2 Function None 3 +20(builtinVecRelFuncs(): 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 - 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 + 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 Return FunctionEnd -22(builtinVecRelFuncs(): 2 Function None 3 +22(builtinFragProcFuncs(): 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) FUnordNotEqual 456 457 - Store 438(bv) 458 - 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: 33(ptr) AccessChain 459(f64v) 32 - 475:26(float64_t) CompositeExtract 473 0 - Store 474 475 - 476: 33(ptr) AccessChain 459(f64v) 88 - 477:26(float64_t) CompositeExtract 473 1 - Store 476 477 - 478:149(f64vec3) Load 461(if64v) - 479: 27(f64vec2) VectorShuffle 478 478 0 1 - 480: 27(f64vec2) DPdyFine 479 - 481: 33(ptr) AccessChain 459(f64v) 32 - 482:26(float64_t) CompositeExtract 480 0 - Store 481 482 - 483: 33(ptr) AccessChain 459(f64v) 88 - 484:26(float64_t) CompositeExtract 480 1 - Store 483 484 - 485:149(f64vec3) Load 461(if64v) - 486:149(f64vec3) DPdxCoarse 485 - Store 459(f64v) 486 - 487:149(f64vec3) Load 461(if64v) - 488:149(f64vec3) DPdxCoarse 487 - Store 459(f64v) 488 - 489: 462(ptr) AccessChain 461(if64v) 32 - 490:26(float64_t) Load 489 - 491:26(float64_t) Fwidth 490 - 492: 33(ptr) AccessChain 459(f64v) 32 - Store 492 491 - 493:149(f64vec3) Load 461(if64v) - 494: 27(f64vec2) VectorShuffle 493 493 0 1 - 495: 27(f64vec2) FwidthFine 494 - 496: 33(ptr) AccessChain 459(f64v) 32 - 497:26(float64_t) CompositeExtract 495 0 - Store 496 497 - 498: 33(ptr) AccessChain 459(f64v) 88 - 499:26(float64_t) CompositeExtract 495 1 - Store 498 499 - 500:149(f64vec3) Load 461(if64v) - 501:149(f64vec3) FwidthCoarse 500 - Store 459(f64v) 501 - 502: 462(ptr) AccessChain 461(if64v) 32 - 503:26(float64_t) ExtInst 1(GLSL.std.450) 76(InterpolateAtCentroid) 502 - 504: 33(ptr) AccessChain 459(f64v) 32 - Store 504 503 - 506:149(f64vec3) ExtInst 1(GLSL.std.450) 77(InterpolateAtSample) 461(if64v) 505 - 507: 27(f64vec2) VectorShuffle 506 506 0 1 - 508: 33(ptr) AccessChain 459(f64v) 32 - 509:26(float64_t) CompositeExtract 507 0 - Store 508 509 - 510: 33(ptr) AccessChain 459(f64v) 88 - 511:26(float64_t) CompositeExtract 507 1 - Store 510 511 - 514:149(f64vec3) ExtInst 1(GLSL.std.450) 78(InterpolateAtOffset) 461(if64v) 513 - Store 459(f64v) 514 + 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 Return FunctionEnd diff --git a/Test/spv.float64.frag b/Test/spv.float64.frag index faaac2366..6e9f22dfd 100644 --- a/Test/spv.float64.frag +++ b/Test/spv.float64.frag @@ -127,36 +127,12 @@ void typeCast() u64v = u64vec3(f64v); // float64 -> uint64 } -void builtinAngleTrigFuncs() -{ - f64vec4 f64v1, f64v2; +// Trig, pow, exp and log are not supported for f64 - f64v2 = radians(f64v1); - f64v2 = degrees(f64v1); - f64v2 = sin(f64v1); - f64v2 = cos(f64v1); - f64v2 = tan(f64v1); - f64v2 = asin(f64v1); - f64v2 = acos(f64v1); - f64v2 = atan(f64v1, f64v2); - f64v2 = atan(f64v1); - f64v2 = sinh(f64v1); - f64v2 = cosh(f64v1); - f64v2 = tanh(f64v1); - f64v2 = asinh(f64v1); - f64v2 = acosh(f64v1); - f64v2 = atanh(f64v1); -} - -void builtinExpFuncs() +void builtinTranscendentalFuncs() { f64vec2 f64v1, f64v2; - f64v2 = pow(f64v1, f64v2); - f64v2 = exp(f64v1); - f64v2 = log(f64v1); - f64v2 = exp2(f64v1); - f64v2 = log2(f64v1); f64v2 = sqrt(f64v1); f64v2 = inversesqrt(f64v1); } diff --git a/glslang/MachineIndependent/Initialize.cpp b/glslang/MachineIndependent/Initialize.cpp index b633331ae..728cd4a64 100644 --- a/glslang/MachineIndependent/Initialize.cpp +++ b/glslang/MachineIndependent/Initialize.cpp @@ -4159,106 +4159,6 @@ void TBuiltIns::initialize(int version, EProfile profile, const SpvVersion& spvV "u16vec4 unpack16(uint64_t);" "i32vec2 unpack32(int64_t);" "u32vec2 unpack32(uint64_t);" - - "float64_t radians(float64_t);" - "f64vec2 radians(f64vec2);" - "f64vec3 radians(f64vec3);" - "f64vec4 radians(f64vec4);" - - "float64_t degrees(float64_t);" - "f64vec2 degrees(f64vec2);" - "f64vec3 degrees(f64vec3);" - "f64vec4 degrees(f64vec4);" - - "float64_t sin(float64_t);" - "f64vec2 sin(f64vec2);" - "f64vec3 sin(f64vec3);" - "f64vec4 sin(f64vec4);" - - "float64_t cos(float64_t);" - "f64vec2 cos(f64vec2);" - "f64vec3 cos(f64vec3);" - "f64vec4 cos(f64vec4);" - - "float64_t tan(float64_t);" - "f64vec2 tan(f64vec2);" - "f64vec3 tan(f64vec3);" - "f64vec4 tan(f64vec4);" - - "float64_t asin(float64_t);" - "f64vec2 asin(f64vec2);" - "f64vec3 asin(f64vec3);" - "f64vec4 asin(f64vec4);" - - "float64_t acos(float64_t);" - "f64vec2 acos(f64vec2);" - "f64vec3 acos(f64vec3);" - "f64vec4 acos(f64vec4);" - - "float64_t atan(float64_t, float64_t);" - "f64vec2 atan(f64vec2, f64vec2);" - "f64vec3 atan(f64vec3, f64vec3);" - "f64vec4 atan(f64vec4, f64vec4);" - - "float64_t atan(float64_t);" - "f64vec2 atan(f64vec2);" - "f64vec3 atan(f64vec3);" - "f64vec4 atan(f64vec4);" - - "float64_t sinh(float64_t);" - "f64vec2 sinh(f64vec2);" - "f64vec3 sinh(f64vec3);" - "f64vec4 sinh(f64vec4);" - - "float64_t cosh(float64_t);" - "f64vec2 cosh(f64vec2);" - "f64vec3 cosh(f64vec3);" - "f64vec4 cosh(f64vec4);" - - "float64_t tanh(float64_t);" - "f64vec2 tanh(f64vec2);" - "f64vec3 tanh(f64vec3);" - "f64vec4 tanh(f64vec4);" - - "float64_t asinh(float64_t);" - "f64vec2 asinh(f64vec2);" - "f64vec3 asinh(f64vec3);" - "f64vec4 asinh(f64vec4);" - - "float64_t acosh(float64_t);" - "f64vec2 acosh(f64vec2);" - "f64vec3 acosh(f64vec3);" - "f64vec4 acosh(f64vec4);" - - "float64_t atanh(float64_t);" - "f64vec2 atanh(f64vec2);" - "f64vec3 atanh(f64vec3);" - "f64vec4 atanh(f64vec4);" - - "float64_t pow(float64_t, float64_t);" - "f64vec2 pow(f64vec2, f64vec2);" - "f64vec3 pow(f64vec3, f64vec3);" - "f64vec4 pow(f64vec4, f64vec4);" - - "float64_t exp(float64_t);" - "f64vec2 exp(f64vec2);" - "f64vec3 exp(f64vec3);" - "f64vec4 exp(f64vec4);" - - "float64_t log(float64_t);" - "f64vec2 log(f64vec2);" - "f64vec3 log(f64vec3);" - "f64vec4 log(f64vec4);" - - "float64_t exp2(float64_t);" - "f64vec2 exp2(f64vec2);" - "f64vec3 exp2(f64vec3);" - "f64vec4 exp2(f64vec4);" - - "float64_t log2(float64_t);" - "f64vec2 log2(f64vec2);" - "f64vec3 log2(f64vec3);" - "f64vec4 log2(f64vec4);" "\n"); }