aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorGreg Fischer <greg@lunarg.com>2021-10-27 13:28:57 -0600
committerGitHub <noreply@github.com>2021-10-27 13:28:57 -0600
commitd1608ab1ef17f1488bdcbfe11f2c3c96ac482fce (patch)
tree5468d1a25bfef6bf31545392df6923fd121499ef
parent44b57597d8cd814bdc248f15640e7726d5e5b955 (diff)
parent432a43cccb562f1761d396b04110df5ae1bdb462 (diff)
downloadglslang-d1608ab1ef17f1488bdcbfe11f2c3c96ac482fce.tar.gz
Merge pull request #2796 from greg-lunarg/i2793
Remove support for double trig, pow, exp and log
-rw-r--r--Test/baseResults/spv.float64.frag.out1418
-rw-r--r--Test/spv.float64.frag28
-rw-r--r--glslang/MachineIndependent/Initialize.cpp100
3 files changed, 675 insertions, 871 deletions
diff --git a/Test/baseResults/spv.float64.frag.out b/Test/baseResults/spv.float64.frag.out
index dfcfc2d7..cd5f80d6 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 faaac236..6e9f22df 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;
-
- 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);
-}
+// Trig, pow, exp and log are not supported for f64
-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 b633331a..728cd4a6 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");
}