From 712ecb96a2256093761ec958a7232445ba19d231 Mon Sep 17 00:00:00 2001 From: John Kessenich Date: Sat, 16 Jan 2016 20:37:43 -0700 Subject: [PATCH] Doubles: Add all the missing built-in double-based prototypes. --- Test/400.frag | 2 +- Test/400.geom | 213 ++++ Test/baseResults/400.frag.out | 64 +- Test/baseResults/400.geom.out | 1698 +++++++++++++++++++++++++++++ Test/baseResults/spv.400.frag.out | 1483 ++++++++++++++++++++++--- Test/spv.400.frag | 218 ++++ glslang/MachineIndependent/Initialize.cpp | 208 ++++ 7 files changed, 3699 insertions(+), 187 deletions(-) diff --git a/Test/400.frag b/Test/400.frag index bb4d2b5..059743e 100644 --- a/Test/400.frag +++ b/Test/400.frag @@ -60,7 +60,7 @@ patch out vec4 patchOut; // ERROR void foo24() { dvec3 df, di; - df = modf(outp.xyz, di); + df = modf(dvec3(outp.xyz), di); } in float in1; diff --git a/Test/400.geom b/Test/400.geom index e2ca9b9..0b77e12 100644 --- a/Test/400.geom +++ b/Test/400.geom @@ -115,3 +115,216 @@ void qlod() lod = textureQueryLod(samp1D, pf); // ERROR, only in fragment lod = textureQueryLod(samp2Ds, pf2); // ERROR, only in fragment } + +void doubles() +{ + double doublev; + dvec2 dvec2v; + dvec3 dvec3v; + dvec4 dvec4v; + + bool boolv; + bvec2 bvec2v; + bvec3 bvec3v; + bvec4 bvec4v; + + doublev = sqrt(2.9); + dvec2v = sqrt(dvec2(2.7)); + dvec3v = sqrt(dvec3(2.0)); + dvec4v = sqrt(dvec4(2.1)); + + doublev += inversesqrt(doublev); + dvec2v += inversesqrt(dvec2v); + dvec3v += inversesqrt(dvec3v); + dvec4v += inversesqrt(dvec4v); + + doublev += abs(doublev); + dvec2v += abs(dvec2v); + dvec3v += abs(dvec3v); + dvec4v += abs(dvec4v); + + doublev += sign(doublev); + dvec2v += sign(dvec2v); + dvec3v += sign(dvec3v); + dvec4v += sign(dvec4v); + + doublev += floor(doublev); + dvec2v += floor(dvec2v); + dvec3v += floor(dvec3v); + dvec4v += floor(dvec4v); + + doublev += trunc(doublev); + dvec2v += trunc(dvec2v); + dvec3v += trunc(dvec3v); + dvec4v += trunc(dvec4v); + + doublev += round(doublev); + dvec2v += round(dvec2v); + dvec3v += round(dvec3v); + dvec4v += round(dvec4v); + + doublev += roundEven(doublev); + dvec2v += roundEven(dvec2v); + dvec3v += roundEven(dvec3v); + dvec4v += roundEven(dvec4v); + + doublev += ceil(doublev); + dvec2v += ceil(dvec2v); + dvec3v += ceil(dvec3v); + dvec4v += ceil(dvec4v); + + doublev += fract(doublev); + dvec2v += fract(dvec2v); + dvec3v += fract(dvec3v); + dvec4v += fract(dvec4v); + + doublev += mod(doublev, doublev); + dvec2v += mod(dvec2v, doublev); + dvec3v += mod(dvec3v, doublev); + dvec4v += mod(dvec4v, doublev); + dvec2v += mod(dvec2v, dvec2v); + dvec3v += mod(dvec3v, dvec3v); + dvec4v += mod(dvec4v, dvec4v); + + doublev += modf(doublev, doublev); + dvec2v += modf(dvec2v, dvec2v); + dvec3v += modf(dvec3v, dvec3v); + dvec4v += modf(dvec4v, dvec4v); + + doublev += min(doublev, doublev); + dvec2v += min(dvec2v, doublev); + dvec3v += min(dvec3v, doublev); + dvec4v += min(dvec4v, doublev); + dvec2v += min(dvec2v, dvec2v); + dvec3v += min(dvec3v, dvec3v); + dvec4v += min(dvec4v, dvec4v); + + doublev += max(doublev, doublev); + dvec2v += max(dvec2v, doublev); + dvec3v += max(dvec3v, doublev); + dvec4v += max(dvec4v, doublev); + dvec2v += max(dvec2v, dvec2v); + dvec3v += max(dvec3v, dvec3v); + dvec4v += max(dvec4v, dvec4v); + + doublev += clamp(doublev, doublev, doublev); + dvec2v += clamp(dvec2v, doublev, doublev); + dvec3v += clamp(dvec3v, doublev, doublev); + dvec4v += clamp(dvec4v, doublev, doublev); + dvec2v += clamp(dvec2v, dvec2v, dvec2v); + dvec3v += clamp(dvec3v, dvec3v, dvec3v); + dvec4v += clamp(dvec4v, dvec4v, dvec4v); + + doublev += mix(doublev, doublev, doublev); + dvec2v += mix(dvec2v, dvec2v, doublev); + dvec3v += mix(dvec3v, dvec3v, doublev); + dvec4v += mix(dvec4v, dvec4v, doublev); + dvec2v += mix(dvec2v, dvec2v, dvec2v); + dvec3v += mix(dvec3v, dvec3v, dvec3v); + dvec4v += mix(dvec4v, dvec4v, dvec4v); + doublev += mix(doublev, doublev, boolv); + dvec2v += mix(dvec2v, dvec2v, bvec2v); + dvec3v += mix(dvec3v, dvec3v, bvec3v); + dvec4v += mix(dvec4v, dvec4v, bvec4v); + + doublev += step(doublev, doublev); + dvec2v += step(dvec2v, dvec2v); + dvec3v += step(dvec3v, dvec3v); + dvec4v += step(dvec4v, dvec4v); + dvec2v += step(doublev, dvec2v); + dvec3v += step(doublev, dvec3v); + dvec4v += step(doublev, dvec4v); + + doublev += smoothstep(doublev, doublev, doublev); + dvec2v += smoothstep(dvec2v, dvec2v, dvec2v); + dvec3v += smoothstep(dvec3v, dvec3v, dvec3v); + dvec4v += smoothstep(dvec4v, dvec4v, dvec4v); + dvec2v += smoothstep(doublev, doublev, dvec2v); + dvec3v += smoothstep(doublev, doublev, dvec3v); + dvec4v += smoothstep(doublev, doublev, dvec4v); + + boolv = isnan(doublev); + bvec2v = isnan(dvec2v); + bvec3v = isnan(dvec3v); + bvec4v = isnan(dvec4v); + + boolv = boolv ? isinf(doublev) : false; + bvec2v = boolv ? isinf(dvec2v) : bvec2(false); + bvec3v = boolv ? isinf(dvec3v) : bvec3(false); + bvec4v = boolv ? isinf(dvec4v) : bvec4(false); + + doublev += length(doublev); + doublev += length(dvec2v); + doublev += length(dvec3v); + doublev += length(dvec4v); + + doublev += distance(doublev, doublev); + doublev += distance(dvec2v, dvec2v); + doublev += distance(dvec3v, dvec3v); + doublev += distance(dvec4v, dvec4v); + + doublev += dot(doublev, doublev); + doublev += dot(dvec2v, dvec2v); + doublev += dot(dvec3v, dvec3v); + doublev += dot(dvec4v, dvec4v); + + dvec3v += cross(dvec3v, dvec3v); + + doublev += normalize(doublev); + dvec2v += normalize(dvec2v); + dvec3v += normalize(dvec3v); + dvec4v += normalize(dvec4v); + + doublev += faceforward(doublev, doublev, doublev); + dvec2v += faceforward(dvec2v, dvec2v, dvec2v); + dvec3v += faceforward(dvec3v, dvec3v, dvec3v); + dvec4v += faceforward(dvec4v, dvec4v, dvec4v); + + doublev += reflect(doublev, doublev); + dvec2v += reflect(dvec2v, dvec2v); + dvec3v += reflect(dvec3v, dvec3v); + dvec4v += reflect(dvec4v, dvec4v); + + doublev += refract(doublev, doublev, doublev); + dvec2v += refract(dvec2v, dvec2v, doublev); + dvec3v += refract(dvec3v, dvec3v, doublev); + dvec4v += refract(dvec4v, dvec4v, doublev); + + dmat2 dmat2v = outerProduct(dvec2v, dvec2v); + dmat3 dmat3v = outerProduct(dvec3v, dvec3v); + dmat4 dmat4v = outerProduct(dvec4v, dvec4v); + dmat2x3 dmat2x3v = outerProduct(dvec3v, dvec2v); + dmat3x2 dmat3x2v = outerProduct(dvec2v, dvec3v); + dmat2x4 dmat2x4v = outerProduct(dvec4v, dvec2v); + dmat4x2 dmat4x2v = outerProduct(dvec2v, dvec4v); + dmat3x4 dmat3x4v = outerProduct(dvec4v, dvec3v); + dmat4x3 dmat4x3v = outerProduct(dvec3v, dvec4v); + + dmat2v *= matrixCompMult(dmat2v, dmat2v); + dmat3v *= matrixCompMult(dmat3v, dmat3v); + dmat4v *= matrixCompMult(dmat4v, dmat4v); + dmat2x3v = matrixCompMult(dmat2x3v, dmat2x3v); + dmat2x4v = matrixCompMult(dmat2x4v, dmat2x4v); + dmat3x2v = matrixCompMult(dmat3x2v, dmat3x2v); + dmat3x4v = matrixCompMult(dmat3x4v, dmat3x4v); + dmat4x2v = matrixCompMult(dmat4x2v, dmat4x2v); + dmat4x3v = matrixCompMult(dmat4x3v, dmat4x3v); + + dmat2v *= transpose(dmat2v); + dmat3v *= transpose(dmat3v); + dmat4v *= transpose(dmat4v); + dmat2x3v = transpose(dmat3x2v); + dmat3x2v = transpose(dmat2x3v); + dmat2x4v = transpose(dmat4x2v); + dmat4x2v = transpose(dmat2x4v); + dmat3x4v = transpose(dmat4x3v); + dmat4x3v = transpose(dmat3x4v); + + doublev += determinant(dmat2v); + doublev += determinant(dmat3v); + doublev += determinant(dmat4v); + + dmat2v *= inverse(dmat2v); + dmat3v *= inverse(dmat3v); + dmat4v *= inverse(dmat4v); +} diff --git a/Test/baseResults/400.frag.out b/Test/baseResults/400.frag.out index 0069585..33a8c9a 100644 --- a/Test/baseResults/400.frag.out +++ b/Test/baseResults/400.frag.out @@ -218,26 +218,18 @@ ERROR: node is still EOpNull! 0:? Sequence 0:63 move second child to first child (temp 3-component vector of double) 0:63 'df' (temp 3-component vector of double) -0:63 Convert float to double (temp 3-component vector of double) -0:63 Comma (global 3-component vector of float) -0:63 move second child to first child (temp 3-component vector of float) -0:63 'tempReturn' (global 3-component vector of float) -0:63 modf (global 3-component vector of float) -0:63 vector swizzle (temp 3-component vector of float) -0:63 'outp' (out 4-component vector of float) -0:63 Sequence -0:63 Constant: -0:63 0 (const int) -0:63 Constant: -0:63 1 (const int) -0:63 Constant: -0:63 2 (const int) -0:63 'tempArg' (temp 3-component vector of float) -0:63 move second child to first child (temp 3-component vector of double) -0:63 'di' (temp 3-component vector of double) -0:63 Convert float to double (temp 3-component vector of double) -0:63 'tempArg' (temp 3-component vector of float) -0:63 'tempReturn' (global 3-component vector of float) +0:63 modf (global 3-component vector of double) +0:63 Convert float to double (temp 3-component vector of double) +0:63 vector swizzle (temp 3-component vector of float) +0:63 'outp' (out 4-component vector of float) +0:63 Sequence +0:63 Constant: +0:63 0 (const int) +0:63 Constant: +0:63 1 (const int) +0:63 Constant: +0:63 2 (const int) +0:63 'di' (temp 3-component vector of double) 0:71 Function Definition: foodc1( (global void) 0:71 Function Parameters: 0:73 Sequence @@ -707,26 +699,18 @@ ERROR: node is still EOpNull! 0:? Sequence 0:63 move second child to first child (temp 3-component vector of double) 0:63 'df' (temp 3-component vector of double) -0:63 Convert float to double (temp 3-component vector of double) -0:63 Comma (global 3-component vector of float) -0:63 move second child to first child (temp 3-component vector of float) -0:63 'tempReturn' (global 3-component vector of float) -0:63 modf (global 3-component vector of float) -0:63 vector swizzle (temp 3-component vector of float) -0:63 'outp' (out 4-component vector of float) -0:63 Sequence -0:63 Constant: -0:63 0 (const int) -0:63 Constant: -0:63 1 (const int) -0:63 Constant: -0:63 2 (const int) -0:63 'tempArg' (temp 3-component vector of float) -0:63 move second child to first child (temp 3-component vector of double) -0:63 'di' (temp 3-component vector of double) -0:63 Convert float to double (temp 3-component vector of double) -0:63 'tempArg' (temp 3-component vector of float) -0:63 'tempReturn' (global 3-component vector of float) +0:63 modf (global 3-component vector of double) +0:63 Convert float to double (temp 3-component vector of double) +0:63 vector swizzle (temp 3-component vector of float) +0:63 'outp' (out 4-component vector of float) +0:63 Sequence +0:63 Constant: +0:63 0 (const int) +0:63 Constant: +0:63 1 (const int) +0:63 Constant: +0:63 2 (const int) +0:63 'di' (temp 3-component vector of double) 0:71 Function Definition: foodc1( (global void) 0:71 Function Parameters: 0:73 Sequence diff --git a/Test/baseResults/400.geom.out b/Test/baseResults/400.geom.out index f120327..16117e6 100644 --- a/Test/baseResults/400.geom.out +++ b/Test/baseResults/400.geom.out @@ -174,6 +174,855 @@ ERROR: node is still EOpNull! 0:? Sequence 0:115 'lod' (temp 2-component vector of float) 0:116 'lod' (temp 2-component vector of float) +0:119 Function Definition: doubles( (global void) +0:119 Function Parameters: +0:? Sequence +0:131 move second child to first child (temp double) +0:131 'doublev' (temp double) +0:131 Constant: +0:131 1.702939 +0:132 move second child to first child (temp 2-component vector of double) +0:132 'dvec2v' (temp 2-component vector of double) +0:132 Constant: +0:132 1.643168 +0:132 1.643168 +0:133 move second child to first child (temp 3-component vector of double) +0:133 'dvec3v' (temp 3-component vector of double) +0:133 Constant: +0:133 1.414214 +0:133 1.414214 +0:133 1.414214 +0:134 move second child to first child (temp 4-component vector of double) +0:134 'dvec4v' (temp 4-component vector of double) +0:134 Constant: +0:134 1.449138 +0:134 1.449138 +0:134 1.449138 +0:134 1.449138 +0:136 add second child into first child (temp double) +0:136 'doublev' (temp double) +0:136 inverse sqrt (global double) +0:136 'doublev' (temp double) +0:137 add second child into first child (temp 2-component vector of double) +0:137 'dvec2v' (temp 2-component vector of double) +0:137 inverse sqrt (global 2-component vector of double) +0:137 'dvec2v' (temp 2-component vector of double) +0:138 add second child into first child (temp 3-component vector of double) +0:138 'dvec3v' (temp 3-component vector of double) +0:138 inverse sqrt (global 3-component vector of double) +0:138 'dvec3v' (temp 3-component vector of double) +0:139 add second child into first child (temp 4-component vector of double) +0:139 'dvec4v' (temp 4-component vector of double) +0:139 inverse sqrt (global 4-component vector of double) +0:139 'dvec4v' (temp 4-component vector of double) +0:141 add second child into first child (temp double) +0:141 'doublev' (temp double) +0:141 Absolute value (global double) +0:141 'doublev' (temp double) +0:142 add second child into first child (temp 2-component vector of double) +0:142 'dvec2v' (temp 2-component vector of double) +0:142 Absolute value (global 2-component vector of double) +0:142 'dvec2v' (temp 2-component vector of double) +0:143 add second child into first child (temp 3-component vector of double) +0:143 'dvec3v' (temp 3-component vector of double) +0:143 Absolute value (global 3-component vector of double) +0:143 'dvec3v' (temp 3-component vector of double) +0:144 add second child into first child (temp 4-component vector of double) +0:144 'dvec4v' (temp 4-component vector of double) +0:144 Absolute value (global 4-component vector of double) +0:144 'dvec4v' (temp 4-component vector of double) +0:146 add second child into first child (temp double) +0:146 'doublev' (temp double) +0:146 Sign (global double) +0:146 'doublev' (temp double) +0:147 add second child into first child (temp 2-component vector of double) +0:147 'dvec2v' (temp 2-component vector of double) +0:147 Sign (global 2-component vector of double) +0:147 'dvec2v' (temp 2-component vector of double) +0:148 add second child into first child (temp 3-component vector of double) +0:148 'dvec3v' (temp 3-component vector of double) +0:148 Sign (global 3-component vector of double) +0:148 'dvec3v' (temp 3-component vector of double) +0:149 add second child into first child (temp 4-component vector of double) +0:149 'dvec4v' (temp 4-component vector of double) +0:149 Sign (global 4-component vector of double) +0:149 'dvec4v' (temp 4-component vector of double) +0:151 add second child into first child (temp double) +0:151 'doublev' (temp double) +0:151 Floor (global double) +0:151 'doublev' (temp double) +0:152 add second child into first child (temp 2-component vector of double) +0:152 'dvec2v' (temp 2-component vector of double) +0:152 Floor (global 2-component vector of double) +0:152 'dvec2v' (temp 2-component vector of double) +0:153 add second child into first child (temp 3-component vector of double) +0:153 'dvec3v' (temp 3-component vector of double) +0:153 Floor (global 3-component vector of double) +0:153 'dvec3v' (temp 3-component vector of double) +0:154 add second child into first child (temp 4-component vector of double) +0:154 'dvec4v' (temp 4-component vector of double) +0:154 Floor (global 4-component vector of double) +0:154 'dvec4v' (temp 4-component vector of double) +0:156 add second child into first child (temp double) +0:156 'doublev' (temp double) +0:156 trunc (global double) +0:156 'doublev' (temp double) +0:157 add second child into first child (temp 2-component vector of double) +0:157 'dvec2v' (temp 2-component vector of double) +0:157 trunc (global 2-component vector of double) +0:157 'dvec2v' (temp 2-component vector of double) +0:158 add second child into first child (temp 3-component vector of double) +0:158 'dvec3v' (temp 3-component vector of double) +0:158 trunc (global 3-component vector of double) +0:158 'dvec3v' (temp 3-component vector of double) +0:159 add second child into first child (temp 4-component vector of double) +0:159 'dvec4v' (temp 4-component vector of double) +0:159 trunc (global 4-component vector of double) +0:159 'dvec4v' (temp 4-component vector of double) +0:161 add second child into first child (temp double) +0:161 'doublev' (temp double) +0:161 round (global double) +0:161 'doublev' (temp double) +0:162 add second child into first child (temp 2-component vector of double) +0:162 'dvec2v' (temp 2-component vector of double) +0:162 round (global 2-component vector of double) +0:162 'dvec2v' (temp 2-component vector of double) +0:163 add second child into first child (temp 3-component vector of double) +0:163 'dvec3v' (temp 3-component vector of double) +0:163 round (global 3-component vector of double) +0:163 'dvec3v' (temp 3-component vector of double) +0:164 add second child into first child (temp 4-component vector of double) +0:164 'dvec4v' (temp 4-component vector of double) +0:164 round (global 4-component vector of double) +0:164 'dvec4v' (temp 4-component vector of double) +0:166 add second child into first child (temp double) +0:166 'doublev' (temp double) +0:166 roundEven (global double) +0:166 'doublev' (temp double) +0:167 add second child into first child (temp 2-component vector of double) +0:167 'dvec2v' (temp 2-component vector of double) +0:167 roundEven (global 2-component vector of double) +0:167 'dvec2v' (temp 2-component vector of double) +0:168 add second child into first child (temp 3-component vector of double) +0:168 'dvec3v' (temp 3-component vector of double) +0:168 roundEven (global 3-component vector of double) +0:168 'dvec3v' (temp 3-component vector of double) +0:169 add second child into first child (temp 4-component vector of double) +0:169 'dvec4v' (temp 4-component vector of double) +0:169 roundEven (global 4-component vector of double) +0:169 'dvec4v' (temp 4-component vector of double) +0:171 add second child into first child (temp double) +0:171 'doublev' (temp double) +0:171 Ceiling (global double) +0:171 'doublev' (temp double) +0:172 add second child into first child (temp 2-component vector of double) +0:172 'dvec2v' (temp 2-component vector of double) +0:172 Ceiling (global 2-component vector of double) +0:172 'dvec2v' (temp 2-component vector of double) +0:173 add second child into first child (temp 3-component vector of double) +0:173 'dvec3v' (temp 3-component vector of double) +0:173 Ceiling (global 3-component vector of double) +0:173 'dvec3v' (temp 3-component vector of double) +0:174 add second child into first child (temp 4-component vector of double) +0:174 'dvec4v' (temp 4-component vector of double) +0:174 Ceiling (global 4-component vector of double) +0:174 'dvec4v' (temp 4-component vector of double) +0:176 add second child into first child (temp double) +0:176 'doublev' (temp double) +0:176 Fraction (global double) +0:176 'doublev' (temp double) +0:177 add second child into first child (temp 2-component vector of double) +0:177 'dvec2v' (temp 2-component vector of double) +0:177 Fraction (global 2-component vector of double) +0:177 'dvec2v' (temp 2-component vector of double) +0:178 add second child into first child (temp 3-component vector of double) +0:178 'dvec3v' (temp 3-component vector of double) +0:178 Fraction (global 3-component vector of double) +0:178 'dvec3v' (temp 3-component vector of double) +0:179 add second child into first child (temp 4-component vector of double) +0:179 'dvec4v' (temp 4-component vector of double) +0:179 Fraction (global 4-component vector of double) +0:179 'dvec4v' (temp 4-component vector of double) +0:181 add second child into first child (temp double) +0:181 'doublev' (temp double) +0:181 mod (global double) +0:181 'doublev' (temp double) +0:181 'doublev' (temp double) +0:182 add second child into first child (temp 2-component vector of double) +0:182 'dvec2v' (temp 2-component vector of double) +0:182 mod (global 2-component vector of double) +0:182 'dvec2v' (temp 2-component vector of double) +0:182 'doublev' (temp double) +0:183 add second child into first child (temp 3-component vector of double) +0:183 'dvec3v' (temp 3-component vector of double) +0:183 mod (global 3-component vector of double) +0:183 'dvec3v' (temp 3-component vector of double) +0:183 'doublev' (temp double) +0:184 add second child into first child (temp 4-component vector of double) +0:184 'dvec4v' (temp 4-component vector of double) +0:184 mod (global 4-component vector of double) +0:184 'dvec4v' (temp 4-component vector of double) +0:184 'doublev' (temp double) +0:185 add second child into first child (temp 2-component vector of double) +0:185 'dvec2v' (temp 2-component vector of double) +0:185 mod (global 2-component vector of double) +0:185 'dvec2v' (temp 2-component vector of double) +0:185 'dvec2v' (temp 2-component vector of double) +0:186 add second child into first child (temp 3-component vector of double) +0:186 'dvec3v' (temp 3-component vector of double) +0:186 mod (global 3-component vector of double) +0:186 'dvec3v' (temp 3-component vector of double) +0:186 'dvec3v' (temp 3-component vector of double) +0:187 add second child into first child (temp 4-component vector of double) +0:187 'dvec4v' (temp 4-component vector of double) +0:187 mod (global 4-component vector of double) +0:187 'dvec4v' (temp 4-component vector of double) +0:187 'dvec4v' (temp 4-component vector of double) +0:189 add second child into first child (temp double) +0:189 'doublev' (temp double) +0:189 modf (global double) +0:189 'doublev' (temp double) +0:189 'doublev' (temp double) +0:190 add second child into first child (temp 2-component vector of double) +0:190 'dvec2v' (temp 2-component vector of double) +0:190 modf (global 2-component vector of double) +0:190 'dvec2v' (temp 2-component vector of double) +0:190 'dvec2v' (temp 2-component vector of double) +0:191 add second child into first child (temp 3-component vector of double) +0:191 'dvec3v' (temp 3-component vector of double) +0:191 modf (global 3-component vector of double) +0:191 'dvec3v' (temp 3-component vector of double) +0:191 'dvec3v' (temp 3-component vector of double) +0:192 add second child into first child (temp 4-component vector of double) +0:192 'dvec4v' (temp 4-component vector of double) +0:192 modf (global 4-component vector of double) +0:192 'dvec4v' (temp 4-component vector of double) +0:192 'dvec4v' (temp 4-component vector of double) +0:194 add second child into first child (temp double) +0:194 'doublev' (temp double) +0:194 min (global double) +0:194 'doublev' (temp double) +0:194 'doublev' (temp double) +0:195 add second child into first child (temp 2-component vector of double) +0:195 'dvec2v' (temp 2-component vector of double) +0:195 min (global 2-component vector of double) +0:195 'dvec2v' (temp 2-component vector of double) +0:195 'doublev' (temp double) +0:196 add second child into first child (temp 3-component vector of double) +0:196 'dvec3v' (temp 3-component vector of double) +0:196 min (global 3-component vector of double) +0:196 'dvec3v' (temp 3-component vector of double) +0:196 'doublev' (temp double) +0:197 add second child into first child (temp 4-component vector of double) +0:197 'dvec4v' (temp 4-component vector of double) +0:197 min (global 4-component vector of double) +0:197 'dvec4v' (temp 4-component vector of double) +0:197 'doublev' (temp double) +0:198 add second child into first child (temp 2-component vector of double) +0:198 'dvec2v' (temp 2-component vector of double) +0:198 min (global 2-component vector of double) +0:198 'dvec2v' (temp 2-component vector of double) +0:198 'dvec2v' (temp 2-component vector of double) +0:199 add second child into first child (temp 3-component vector of double) +0:199 'dvec3v' (temp 3-component vector of double) +0:199 min (global 3-component vector of double) +0:199 'dvec3v' (temp 3-component vector of double) +0:199 'dvec3v' (temp 3-component vector of double) +0:200 add second child into first child (temp 4-component vector of double) +0:200 'dvec4v' (temp 4-component vector of double) +0:200 min (global 4-component vector of double) +0:200 'dvec4v' (temp 4-component vector of double) +0:200 'dvec4v' (temp 4-component vector of double) +0:202 add second child into first child (temp double) +0:202 'doublev' (temp double) +0:202 max (global double) +0:202 'doublev' (temp double) +0:202 'doublev' (temp double) +0:203 add second child into first child (temp 2-component vector of double) +0:203 'dvec2v' (temp 2-component vector of double) +0:203 max (global 2-component vector of double) +0:203 'dvec2v' (temp 2-component vector of double) +0:203 'doublev' (temp double) +0:204 add second child into first child (temp 3-component vector of double) +0:204 'dvec3v' (temp 3-component vector of double) +0:204 max (global 3-component vector of double) +0:204 'dvec3v' (temp 3-component vector of double) +0:204 'doublev' (temp double) +0:205 add second child into first child (temp 4-component vector of double) +0:205 'dvec4v' (temp 4-component vector of double) +0:205 max (global 4-component vector of double) +0:205 'dvec4v' (temp 4-component vector of double) +0:205 'doublev' (temp double) +0:206 add second child into first child (temp 2-component vector of double) +0:206 'dvec2v' (temp 2-component vector of double) +0:206 max (global 2-component vector of double) +0:206 'dvec2v' (temp 2-component vector of double) +0:206 'dvec2v' (temp 2-component vector of double) +0:207 add second child into first child (temp 3-component vector of double) +0:207 'dvec3v' (temp 3-component vector of double) +0:207 max (global 3-component vector of double) +0:207 'dvec3v' (temp 3-component vector of double) +0:207 'dvec3v' (temp 3-component vector of double) +0:208 add second child into first child (temp 4-component vector of double) +0:208 'dvec4v' (temp 4-component vector of double) +0:208 max (global 4-component vector of double) +0:208 'dvec4v' (temp 4-component vector of double) +0:208 'dvec4v' (temp 4-component vector of double) +0:210 add second child into first child (temp double) +0:210 'doublev' (temp double) +0:210 clamp (global double) +0:210 'doublev' (temp double) +0:210 'doublev' (temp double) +0:210 'doublev' (temp double) +0:211 add second child into first child (temp 2-component vector of double) +0:211 'dvec2v' (temp 2-component vector of double) +0:211 clamp (global 2-component vector of double) +0:211 'dvec2v' (temp 2-component vector of double) +0:211 'doublev' (temp double) +0:211 'doublev' (temp double) +0:212 add second child into first child (temp 3-component vector of double) +0:212 'dvec3v' (temp 3-component vector of double) +0:212 clamp (global 3-component vector of double) +0:212 'dvec3v' (temp 3-component vector of double) +0:212 'doublev' (temp double) +0:212 'doublev' (temp double) +0:213 add second child into first child (temp 4-component vector of double) +0:213 'dvec4v' (temp 4-component vector of double) +0:213 clamp (global 4-component vector of double) +0:213 'dvec4v' (temp 4-component vector of double) +0:213 'doublev' (temp double) +0:213 'doublev' (temp double) +0:214 add second child into first child (temp 2-component vector of double) +0:214 'dvec2v' (temp 2-component vector of double) +0:214 clamp (global 2-component vector of double) +0:214 'dvec2v' (temp 2-component vector of double) +0:214 'dvec2v' (temp 2-component vector of double) +0:214 'dvec2v' (temp 2-component vector of double) +0:215 add second child into first child (temp 3-component vector of double) +0:215 'dvec3v' (temp 3-component vector of double) +0:215 clamp (global 3-component vector of double) +0:215 'dvec3v' (temp 3-component vector of double) +0:215 'dvec3v' (temp 3-component vector of double) +0:215 'dvec3v' (temp 3-component vector of double) +0:216 add second child into first child (temp 4-component vector of double) +0:216 'dvec4v' (temp 4-component vector of double) +0:216 clamp (global 4-component vector of double) +0:216 'dvec4v' (temp 4-component vector of double) +0:216 'dvec4v' (temp 4-component vector of double) +0:216 'dvec4v' (temp 4-component vector of double) +0:218 add second child into first child (temp double) +0:218 'doublev' (temp double) +0:218 mix (global double) +0:218 'doublev' (temp double) +0:218 'doublev' (temp double) +0:218 'doublev' (temp double) +0:219 add second child into first child (temp 2-component vector of double) +0:219 'dvec2v' (temp 2-component vector of double) +0:219 mix (global 2-component vector of double) +0:219 'dvec2v' (temp 2-component vector of double) +0:219 'dvec2v' (temp 2-component vector of double) +0:219 'doublev' (temp double) +0:220 add second child into first child (temp 3-component vector of double) +0:220 'dvec3v' (temp 3-component vector of double) +0:220 mix (global 3-component vector of double) +0:220 'dvec3v' (temp 3-component vector of double) +0:220 'dvec3v' (temp 3-component vector of double) +0:220 'doublev' (temp double) +0:221 add second child into first child (temp 4-component vector of double) +0:221 'dvec4v' (temp 4-component vector of double) +0:221 mix (global 4-component vector of double) +0:221 'dvec4v' (temp 4-component vector of double) +0:221 'dvec4v' (temp 4-component vector of double) +0:221 'doublev' (temp double) +0:222 add second child into first child (temp 2-component vector of double) +0:222 'dvec2v' (temp 2-component vector of double) +0:222 mix (global 2-component vector of double) +0:222 'dvec2v' (temp 2-component vector of double) +0:222 'dvec2v' (temp 2-component vector of double) +0:222 'dvec2v' (temp 2-component vector of double) +0:223 add second child into first child (temp 3-component vector of double) +0:223 'dvec3v' (temp 3-component vector of double) +0:223 mix (global 3-component vector of double) +0:223 'dvec3v' (temp 3-component vector of double) +0:223 'dvec3v' (temp 3-component vector of double) +0:223 'dvec3v' (temp 3-component vector of double) +0:224 add second child into first child (temp 4-component vector of double) +0:224 'dvec4v' (temp 4-component vector of double) +0:224 mix (global 4-component vector of double) +0:224 'dvec4v' (temp 4-component vector of double) +0:224 'dvec4v' (temp 4-component vector of double) +0:224 'dvec4v' (temp 4-component vector of double) +0:225 add second child into first child (temp double) +0:225 'doublev' (temp double) +0:225 mix (global double) +0:225 'doublev' (temp double) +0:225 'doublev' (temp double) +0:225 'boolv' (temp bool) +0:226 add second child into first child (temp 2-component vector of double) +0:226 'dvec2v' (temp 2-component vector of double) +0:226 mix (global 2-component vector of double) +0:226 'dvec2v' (temp 2-component vector of double) +0:226 'dvec2v' (temp 2-component vector of double) +0:226 'bvec2v' (temp 2-component vector of bool) +0:227 add second child into first child (temp 3-component vector of double) +0:227 'dvec3v' (temp 3-component vector of double) +0:227 mix (global 3-component vector of double) +0:227 'dvec3v' (temp 3-component vector of double) +0:227 'dvec3v' (temp 3-component vector of double) +0:227 'bvec3v' (temp 3-component vector of bool) +0:228 add second child into first child (temp 4-component vector of double) +0:228 'dvec4v' (temp 4-component vector of double) +0:228 mix (global 4-component vector of double) +0:228 'dvec4v' (temp 4-component vector of double) +0:228 'dvec4v' (temp 4-component vector of double) +0:228 'bvec4v' (temp 4-component vector of bool) +0:230 add second child into first child (temp double) +0:230 'doublev' (temp double) +0:230 step (global double) +0:230 'doublev' (temp double) +0:230 'doublev' (temp double) +0:231 add second child into first child (temp 2-component vector of double) +0:231 'dvec2v' (temp 2-component vector of double) +0:231 step (global 2-component vector of double) +0:231 'dvec2v' (temp 2-component vector of double) +0:231 'dvec2v' (temp 2-component vector of double) +0:232 add second child into first child (temp 3-component vector of double) +0:232 'dvec3v' (temp 3-component vector of double) +0:232 step (global 3-component vector of double) +0:232 'dvec3v' (temp 3-component vector of double) +0:232 'dvec3v' (temp 3-component vector of double) +0:233 add second child into first child (temp 4-component vector of double) +0:233 'dvec4v' (temp 4-component vector of double) +0:233 step (global 4-component vector of double) +0:233 'dvec4v' (temp 4-component vector of double) +0:233 'dvec4v' (temp 4-component vector of double) +0:234 add second child into first child (temp 2-component vector of double) +0:234 'dvec2v' (temp 2-component vector of double) +0:234 step (global 2-component vector of double) +0:234 'doublev' (temp double) +0:234 'dvec2v' (temp 2-component vector of double) +0:235 add second child into first child (temp 3-component vector of double) +0:235 'dvec3v' (temp 3-component vector of double) +0:235 step (global 3-component vector of double) +0:235 'doublev' (temp double) +0:235 'dvec3v' (temp 3-component vector of double) +0:236 add second child into first child (temp 4-component vector of double) +0:236 'dvec4v' (temp 4-component vector of double) +0:236 step (global 4-component vector of double) +0:236 'doublev' (temp double) +0:236 'dvec4v' (temp 4-component vector of double) +0:238 add second child into first child (temp double) +0:238 'doublev' (temp double) +0:238 smoothstep (global double) +0:238 'doublev' (temp double) +0:238 'doublev' (temp double) +0:238 'doublev' (temp double) +0:239 add second child into first child (temp 2-component vector of double) +0:239 'dvec2v' (temp 2-component vector of double) +0:239 smoothstep (global 2-component vector of double) +0:239 'dvec2v' (temp 2-component vector of double) +0:239 'dvec2v' (temp 2-component vector of double) +0:239 'dvec2v' (temp 2-component vector of double) +0:240 add second child into first child (temp 3-component vector of double) +0:240 'dvec3v' (temp 3-component vector of double) +0:240 smoothstep (global 3-component vector of double) +0:240 'dvec3v' (temp 3-component vector of double) +0:240 'dvec3v' (temp 3-component vector of double) +0:240 'dvec3v' (temp 3-component vector of double) +0:241 add second child into first child (temp 4-component vector of double) +0:241 'dvec4v' (temp 4-component vector of double) +0:241 smoothstep (global 4-component vector of double) +0:241 'dvec4v' (temp 4-component vector of double) +0:241 'dvec4v' (temp 4-component vector of double) +0:241 'dvec4v' (temp 4-component vector of double) +0:242 add second child into first child (temp 2-component vector of double) +0:242 'dvec2v' (temp 2-component vector of double) +0:242 smoothstep (global 2-component vector of double) +0:242 'doublev' (temp double) +0:242 'doublev' (temp double) +0:242 'dvec2v' (temp 2-component vector of double) +0:243 add second child into first child (temp 3-component vector of double) +0:243 'dvec3v' (temp 3-component vector of double) +0:243 smoothstep (global 3-component vector of double) +0:243 'doublev' (temp double) +0:243 'doublev' (temp double) +0:243 'dvec3v' (temp 3-component vector of double) +0:244 add second child into first child (temp 4-component vector of double) +0:244 'dvec4v' (temp 4-component vector of double) +0:244 smoothstep (global 4-component vector of double) +0:244 'doublev' (temp double) +0:244 'doublev' (temp double) +0:244 'dvec4v' (temp 4-component vector of double) +0:246 move second child to first child (temp bool) +0:246 'boolv' (temp bool) +0:246 isnan (global bool) +0:246 'doublev' (temp double) +0:247 move second child to first child (temp 2-component vector of bool) +0:247 'bvec2v' (temp 2-component vector of bool) +0:247 isnan (global 2-component vector of bool) +0:247 'dvec2v' (temp 2-component vector of double) +0:248 move second child to first child (temp 3-component vector of bool) +0:248 'bvec3v' (temp 3-component vector of bool) +0:248 isnan (global 3-component vector of bool) +0:248 'dvec3v' (temp 3-component vector of double) +0:249 move second child to first child (temp 4-component vector of bool) +0:249 'bvec4v' (temp 4-component vector of bool) +0:249 isnan (global 4-component vector of bool) +0:249 'dvec4v' (temp 4-component vector of double) +0:251 move second child to first child (temp bool) +0:251 'boolv' (temp bool) +0:251 Test condition and select (temp bool) +0:251 Condition +0:251 'boolv' (temp bool) +0:251 true case +0:251 isinf (global bool) +0:251 'doublev' (temp double) +0:251 false case +0:251 Constant: +0:251 false (const bool) +0:252 move second child to first child (temp 2-component vector of bool) +0:252 'bvec2v' (temp 2-component vector of bool) +0:252 Test condition and select (temp 2-component vector of bool) +0:252 Condition +0:252 'boolv' (temp bool) +0:252 true case +0:252 isinf (global 2-component vector of bool) +0:252 'dvec2v' (temp 2-component vector of double) +0:252 false case +0:252 Constant: +0:252 false (const bool) +0:252 false (const bool) +0:253 move second child to first child (temp 3-component vector of bool) +0:253 'bvec3v' (temp 3-component vector of bool) +0:253 Test condition and select (temp 3-component vector of bool) +0:253 Condition +0:253 'boolv' (temp bool) +0:253 true case +0:253 isinf (global 3-component vector of bool) +0:253 'dvec3v' (temp 3-component vector of double) +0:253 false case +0:253 Constant: +0:253 false (const bool) +0:253 false (const bool) +0:253 false (const bool) +0:254 move second child to first child (temp 4-component vector of bool) +0:254 'bvec4v' (temp 4-component vector of bool) +0:254 Test condition and select (temp 4-component vector of bool) +0:254 Condition +0:254 'boolv' (temp bool) +0:254 true case +0:254 isinf (global 4-component vector of bool) +0:254 'dvec4v' (temp 4-component vector of double) +0:254 false case +0:254 Constant: +0:254 false (const bool) +0:254 false (const bool) +0:254 false (const bool) +0:254 false (const bool) +0:256 add second child into first child (temp double) +0:256 'doublev' (temp double) +0:256 length (global double) +0:256 'doublev' (temp double) +0:257 add second child into first child (temp double) +0:257 'doublev' (temp double) +0:257 length (global double) +0:257 'dvec2v' (temp 2-component vector of double) +0:258 add second child into first child (temp double) +0:258 'doublev' (temp double) +0:258 length (global double) +0:258 'dvec3v' (temp 3-component vector of double) +0:259 add second child into first child (temp double) +0:259 'doublev' (temp double) +0:259 length (global double) +0:259 'dvec4v' (temp 4-component vector of double) +0:261 add second child into first child (temp double) +0:261 'doublev' (temp double) +0:261 distance (global double) +0:261 'doublev' (temp double) +0:261 'doublev' (temp double) +0:262 add second child into first child (temp double) +0:262 'doublev' (temp double) +0:262 distance (global double) +0:262 'dvec2v' (temp 2-component vector of double) +0:262 'dvec2v' (temp 2-component vector of double) +0:263 add second child into first child (temp double) +0:263 'doublev' (temp double) +0:263 distance (global double) +0:263 'dvec3v' (temp 3-component vector of double) +0:263 'dvec3v' (temp 3-component vector of double) +0:264 add second child into first child (temp double) +0:264 'doublev' (temp double) +0:264 distance (global double) +0:264 'dvec4v' (temp 4-component vector of double) +0:264 'dvec4v' (temp 4-component vector of double) +0:266 add second child into first child (temp double) +0:266 'doublev' (temp double) +0:266 dot-product (global double) +0:266 'doublev' (temp double) +0:266 'doublev' (temp double) +0:267 add second child into first child (temp double) +0:267 'doublev' (temp double) +0:267 dot-product (global double) +0:267 'dvec2v' (temp 2-component vector of double) +0:267 'dvec2v' (temp 2-component vector of double) +0:268 add second child into first child (temp double) +0:268 'doublev' (temp double) +0:268 dot-product (global double) +0:268 'dvec3v' (temp 3-component vector of double) +0:268 'dvec3v' (temp 3-component vector of double) +0:269 add second child into first child (temp double) +0:269 'doublev' (temp double) +0:269 dot-product (global double) +0:269 'dvec4v' (temp 4-component vector of double) +0:269 'dvec4v' (temp 4-component vector of double) +0:271 add second child into first child (temp 3-component vector of double) +0:271 'dvec3v' (temp 3-component vector of double) +0:271 cross-product (global 3-component vector of double) +0:271 'dvec3v' (temp 3-component vector of double) +0:271 'dvec3v' (temp 3-component vector of double) +0:273 add second child into first child (temp double) +0:273 'doublev' (temp double) +0:273 normalize (global double) +0:273 'doublev' (temp double) +0:274 add second child into first child (temp 2-component vector of double) +0:274 'dvec2v' (temp 2-component vector of double) +0:274 normalize (global 2-component vector of double) +0:274 'dvec2v' (temp 2-component vector of double) +0:275 add second child into first child (temp 3-component vector of double) +0:275 'dvec3v' (temp 3-component vector of double) +0:275 normalize (global 3-component vector of double) +0:275 'dvec3v' (temp 3-component vector of double) +0:276 add second child into first child (temp 4-component vector of double) +0:276 'dvec4v' (temp 4-component vector of double) +0:276 normalize (global 4-component vector of double) +0:276 'dvec4v' (temp 4-component vector of double) +0:278 add second child into first child (temp double) +0:278 'doublev' (temp double) +0:278 face-forward (global double) +0:278 'doublev' (temp double) +0:278 'doublev' (temp double) +0:278 'doublev' (temp double) +0:279 add second child into first child (temp 2-component vector of double) +0:279 'dvec2v' (temp 2-component vector of double) +0:279 face-forward (global 2-component vector of double) +0:279 'dvec2v' (temp 2-component vector of double) +0:279 'dvec2v' (temp 2-component vector of double) +0:279 'dvec2v' (temp 2-component vector of double) +0:280 add second child into first child (temp 3-component vector of double) +0:280 'dvec3v' (temp 3-component vector of double) +0:280 face-forward (global 3-component vector of double) +0:280 'dvec3v' (temp 3-component vector of double) +0:280 'dvec3v' (temp 3-component vector of double) +0:280 'dvec3v' (temp 3-component vector of double) +0:281 add second child into first child (temp 4-component vector of double) +0:281 'dvec4v' (temp 4-component vector of double) +0:281 face-forward (global 4-component vector of double) +0:281 'dvec4v' (temp 4-component vector of double) +0:281 'dvec4v' (temp 4-component vector of double) +0:281 'dvec4v' (temp 4-component vector of double) +0:283 add second child into first child (temp double) +0:283 'doublev' (temp double) +0:283 reflect (global double) +0:283 'doublev' (temp double) +0:283 'doublev' (temp double) +0:284 add second child into first child (temp 2-component vector of double) +0:284 'dvec2v' (temp 2-component vector of double) +0:284 reflect (global 2-component vector of double) +0:284 'dvec2v' (temp 2-component vector of double) +0:284 'dvec2v' (temp 2-component vector of double) +0:285 add second child into first child (temp 3-component vector of double) +0:285 'dvec3v' (temp 3-component vector of double) +0:285 reflect (global 3-component vector of double) +0:285 'dvec3v' (temp 3-component vector of double) +0:285 'dvec3v' (temp 3-component vector of double) +0:286 add second child into first child (temp 4-component vector of double) +0:286 'dvec4v' (temp 4-component vector of double) +0:286 reflect (global 4-component vector of double) +0:286 'dvec4v' (temp 4-component vector of double) +0:286 'dvec4v' (temp 4-component vector of double) +0:288 add second child into first child (temp double) +0:288 'doublev' (temp double) +0:288 refract (global double) +0:288 'doublev' (temp double) +0:288 'doublev' (temp double) +0:288 'doublev' (temp double) +0:289 add second child into first child (temp 2-component vector of double) +0:289 'dvec2v' (temp 2-component vector of double) +0:289 refract (global 2-component vector of double) +0:289 'dvec2v' (temp 2-component vector of double) +0:289 'dvec2v' (temp 2-component vector of double) +0:289 'doublev' (temp double) +0:290 add second child into first child (temp 3-component vector of double) +0:290 'dvec3v' (temp 3-component vector of double) +0:290 refract (global 3-component vector of double) +0:290 'dvec3v' (temp 3-component vector of double) +0:290 'dvec3v' (temp 3-component vector of double) +0:290 'doublev' (temp double) +0:291 add second child into first child (temp 4-component vector of double) +0:291 'dvec4v' (temp 4-component vector of double) +0:291 refract (global 4-component vector of double) +0:291 'dvec4v' (temp 4-component vector of double) +0:291 'dvec4v' (temp 4-component vector of double) +0:291 'doublev' (temp double) +0:293 Sequence +0:293 move second child to first child (temp 2X2 matrix of double) +0:293 'dmat2v' (temp 2X2 matrix of double) +0:293 outer product (global 2X2 matrix of double) +0:293 'dvec2v' (temp 2-component vector of double) +0:293 'dvec2v' (temp 2-component vector of double) +0:294 Sequence +0:294 move second child to first child (temp 3X3 matrix of double) +0:294 'dmat3v' (temp 3X3 matrix of double) +0:294 outer product (global 3X3 matrix of double) +0:294 'dvec3v' (temp 3-component vector of double) +0:294 'dvec3v' (temp 3-component vector of double) +0:295 Sequence +0:295 move second child to first child (temp 4X4 matrix of double) +0:295 'dmat4v' (temp 4X4 matrix of double) +0:295 outer product (global 4X4 matrix of double) +0:295 'dvec4v' (temp 4-component vector of double) +0:295 'dvec4v' (temp 4-component vector of double) +0:296 Sequence +0:296 move second child to first child (temp 2X3 matrix of double) +0:296 'dmat2x3v' (temp 2X3 matrix of double) +0:296 outer product (global 2X3 matrix of double) +0:296 'dvec3v' (temp 3-component vector of double) +0:296 'dvec2v' (temp 2-component vector of double) +0:297 Sequence +0:297 move second child to first child (temp 3X2 matrix of double) +0:297 'dmat3x2v' (temp 3X2 matrix of double) +0:297 outer product (global 3X2 matrix of double) +0:297 'dvec2v' (temp 2-component vector of double) +0:297 'dvec3v' (temp 3-component vector of double) +0:298 Sequence +0:298 move second child to first child (temp 2X4 matrix of double) +0:298 'dmat2x4v' (temp 2X4 matrix of double) +0:298 outer product (global 2X4 matrix of double) +0:298 'dvec4v' (temp 4-component vector of double) +0:298 'dvec2v' (temp 2-component vector of double) +0:299 Sequence +0:299 move second child to first child (temp 4X2 matrix of double) +0:299 'dmat4x2v' (temp 4X2 matrix of double) +0:299 outer product (global 4X2 matrix of double) +0:299 'dvec2v' (temp 2-component vector of double) +0:299 'dvec4v' (temp 4-component vector of double) +0:300 Sequence +0:300 move second child to first child (temp 3X4 matrix of double) +0:300 'dmat3x4v' (temp 3X4 matrix of double) +0:300 outer product (global 3X4 matrix of double) +0:300 'dvec4v' (temp 4-component vector of double) +0:300 'dvec3v' (temp 3-component vector of double) +0:301 Sequence +0:301 move second child to first child (temp 4X3 matrix of double) +0:301 'dmat4x3v' (temp 4X3 matrix of double) +0:301 outer product (global 4X3 matrix of double) +0:301 'dvec3v' (temp 3-component vector of double) +0:301 'dvec4v' (temp 4-component vector of double) +0:303 matrix mult second child into first child (temp 2X2 matrix of double) +0:303 'dmat2v' (temp 2X2 matrix of double) +0:303 component-wise multiply (global 2X2 matrix of double) +0:303 'dmat2v' (temp 2X2 matrix of double) +0:303 'dmat2v' (temp 2X2 matrix of double) +0:304 matrix mult second child into first child (temp 3X3 matrix of double) +0:304 'dmat3v' (temp 3X3 matrix of double) +0:304 component-wise multiply (global 3X3 matrix of double) +0:304 'dmat3v' (temp 3X3 matrix of double) +0:304 'dmat3v' (temp 3X3 matrix of double) +0:305 matrix mult second child into first child (temp 4X4 matrix of double) +0:305 'dmat4v' (temp 4X4 matrix of double) +0:305 component-wise multiply (global 4X4 matrix of double) +0:305 'dmat4v' (temp 4X4 matrix of double) +0:305 'dmat4v' (temp 4X4 matrix of double) +0:306 move second child to first child (temp 2X3 matrix of double) +0:306 'dmat2x3v' (temp 2X3 matrix of double) +0:306 component-wise multiply (global 2X3 matrix of double) +0:306 'dmat2x3v' (temp 2X3 matrix of double) +0:306 'dmat2x3v' (temp 2X3 matrix of double) +0:307 move second child to first child (temp 2X4 matrix of double) +0:307 'dmat2x4v' (temp 2X4 matrix of double) +0:307 component-wise multiply (global 2X4 matrix of double) +0:307 'dmat2x4v' (temp 2X4 matrix of double) +0:307 'dmat2x4v' (temp 2X4 matrix of double) +0:308 move second child to first child (temp 3X2 matrix of double) +0:308 'dmat3x2v' (temp 3X2 matrix of double) +0:308 component-wise multiply (global 3X2 matrix of double) +0:308 'dmat3x2v' (temp 3X2 matrix of double) +0:308 'dmat3x2v' (temp 3X2 matrix of double) +0:309 move second child to first child (temp 3X4 matrix of double) +0:309 'dmat3x4v' (temp 3X4 matrix of double) +0:309 component-wise multiply (global 3X4 matrix of double) +0:309 'dmat3x4v' (temp 3X4 matrix of double) +0:309 'dmat3x4v' (temp 3X4 matrix of double) +0:310 move second child to first child (temp 4X2 matrix of double) +0:310 'dmat4x2v' (temp 4X2 matrix of double) +0:310 component-wise multiply (global 4X2 matrix of double) +0:310 'dmat4x2v' (temp 4X2 matrix of double) +0:310 'dmat4x2v' (temp 4X2 matrix of double) +0:311 move second child to first child (temp 4X3 matrix of double) +0:311 'dmat4x3v' (temp 4X3 matrix of double) +0:311 component-wise multiply (global 4X3 matrix of double) +0:311 'dmat4x3v' (temp 4X3 matrix of double) +0:311 'dmat4x3v' (temp 4X3 matrix of double) +0:313 matrix mult second child into first child (temp 2X2 matrix of double) +0:313 'dmat2v' (temp 2X2 matrix of double) +0:313 transpose (global 2X2 matrix of double) +0:313 'dmat2v' (temp 2X2 matrix of double) +0:314 matrix mult second child into first child (temp 3X3 matrix of double) +0:314 'dmat3v' (temp 3X3 matrix of double) +0:314 transpose (global 3X3 matrix of double) +0:314 'dmat3v' (temp 3X3 matrix of double) +0:315 matrix mult second child into first child (temp 4X4 matrix of double) +0:315 'dmat4v' (temp 4X4 matrix of double) +0:315 transpose (global 4X4 matrix of double) +0:315 'dmat4v' (temp 4X4 matrix of double) +0:316 move second child to first child (temp 2X3 matrix of double) +0:316 'dmat2x3v' (temp 2X3 matrix of double) +0:316 transpose (global 2X3 matrix of double) +0:316 'dmat3x2v' (temp 3X2 matrix of double) +0:317 move second child to first child (temp 3X2 matrix of double) +0:317 'dmat3x2v' (temp 3X2 matrix of double) +0:317 transpose (global 3X2 matrix of double) +0:317 'dmat2x3v' (temp 2X3 matrix of double) +0:318 move second child to first child (temp 2X4 matrix of double) +0:318 'dmat2x4v' (temp 2X4 matrix of double) +0:318 transpose (global 2X4 matrix of double) +0:318 'dmat4x2v' (temp 4X2 matrix of double) +0:319 move second child to first child (temp 4X2 matrix of double) +0:319 'dmat4x2v' (temp 4X2 matrix of double) +0:319 transpose (global 4X2 matrix of double) +0:319 'dmat2x4v' (temp 2X4 matrix of double) +0:320 move second child to first child (temp 3X4 matrix of double) +0:320 'dmat3x4v' (temp 3X4 matrix of double) +0:320 transpose (global 3X4 matrix of double) +0:320 'dmat4x3v' (temp 4X3 matrix of double) +0:321 move second child to first child (temp 4X3 matrix of double) +0:321 'dmat4x3v' (temp 4X3 matrix of double) +0:321 transpose (global 4X3 matrix of double) +0:321 'dmat3x4v' (temp 3X4 matrix of double) +0:323 add second child into first child (temp double) +0:323 'doublev' (temp double) +0:323 determinant (global double) +0:323 'dmat2v' (temp 2X2 matrix of double) +0:324 add second child into first child (temp double) +0:324 'doublev' (temp double) +0:324 determinant (global double) +0:324 'dmat3v' (temp 3X3 matrix of double) +0:325 add second child into first child (temp double) +0:325 'doublev' (temp double) +0:325 determinant (global double) +0:325 'dmat4v' (temp 4X4 matrix of double) +0:327 matrix mult second child into first child (temp 2X2 matrix of double) +0:327 'dmat2v' (temp 2X2 matrix of double) +0:327 inverse (global 2X2 matrix of double) +0:327 'dmat2v' (temp 2X2 matrix of double) +0:328 matrix mult second child into first child (temp 3X3 matrix of double) +0:328 'dmat3v' (temp 3X3 matrix of double) +0:328 inverse (global 3X3 matrix of double) +0:328 'dmat3v' (temp 3X3 matrix of double) +0:329 matrix mult second child into first child (temp 4X4 matrix of double) +0:329 'dmat4v' (temp 4X4 matrix of double) +0:329 inverse (global 4X4 matrix of double) +0:329 'dmat4v' (temp 4X4 matrix of double) 0:? Linker Objects 0:? 'bn' (in 3-element array of block{in int a}) 0:? 'gl_in' (in 3-element array of block{in 4-component vector of float Position gl_Position, in float PointSize gl_PointSize}) @@ -347,6 +1196,855 @@ ERROR: node is still EOpNull! 0:? Sequence 0:115 'lod' (temp 2-component vector of float) 0:116 'lod' (temp 2-component vector of float) +0:119 Function Definition: doubles( (global void) +0:119 Function Parameters: +0:? Sequence +0:131 move second child to first child (temp double) +0:131 'doublev' (temp double) +0:131 Constant: +0:131 1.702939 +0:132 move second child to first child (temp 2-component vector of double) +0:132 'dvec2v' (temp 2-component vector of double) +0:132 Constant: +0:132 1.643168 +0:132 1.643168 +0:133 move second child to first child (temp 3-component vector of double) +0:133 'dvec3v' (temp 3-component vector of double) +0:133 Constant: +0:133 1.414214 +0:133 1.414214 +0:133 1.414214 +0:134 move second child to first child (temp 4-component vector of double) +0:134 'dvec4v' (temp 4-component vector of double) +0:134 Constant: +0:134 1.449138 +0:134 1.449138 +0:134 1.449138 +0:134 1.449138 +0:136 add second child into first child (temp double) +0:136 'doublev' (temp double) +0:136 inverse sqrt (global double) +0:136 'doublev' (temp double) +0:137 add second child into first child (temp 2-component vector of double) +0:137 'dvec2v' (temp 2-component vector of double) +0:137 inverse sqrt (global 2-component vector of double) +0:137 'dvec2v' (temp 2-component vector of double) +0:138 add second child into first child (temp 3-component vector of double) +0:138 'dvec3v' (temp 3-component vector of double) +0:138 inverse sqrt (global 3-component vector of double) +0:138 'dvec3v' (temp 3-component vector of double) +0:139 add second child into first child (temp 4-component vector of double) +0:139 'dvec4v' (temp 4-component vector of double) +0:139 inverse sqrt (global 4-component vector of double) +0:139 'dvec4v' (temp 4-component vector of double) +0:141 add second child into first child (temp double) +0:141 'doublev' (temp double) +0:141 Absolute value (global double) +0:141 'doublev' (temp double) +0:142 add second child into first child (temp 2-component vector of double) +0:142 'dvec2v' (temp 2-component vector of double) +0:142 Absolute value (global 2-component vector of double) +0:142 'dvec2v' (temp 2-component vector of double) +0:143 add second child into first child (temp 3-component vector of double) +0:143 'dvec3v' (temp 3-component vector of double) +0:143 Absolute value (global 3-component vector of double) +0:143 'dvec3v' (temp 3-component vector of double) +0:144 add second child into first child (temp 4-component vector of double) +0:144 'dvec4v' (temp 4-component vector of double) +0:144 Absolute value (global 4-component vector of double) +0:144 'dvec4v' (temp 4-component vector of double) +0:146 add second child into first child (temp double) +0:146 'doublev' (temp double) +0:146 Sign (global double) +0:146 'doublev' (temp double) +0:147 add second child into first child (temp 2-component vector of double) +0:147 'dvec2v' (temp 2-component vector of double) +0:147 Sign (global 2-component vector of double) +0:147 'dvec2v' (temp 2-component vector of double) +0:148 add second child into first child (temp 3-component vector of double) +0:148 'dvec3v' (temp 3-component vector of double) +0:148 Sign (global 3-component vector of double) +0:148 'dvec3v' (temp 3-component vector of double) +0:149 add second child into first child (temp 4-component vector of double) +0:149 'dvec4v' (temp 4-component vector of double) +0:149 Sign (global 4-component vector of double) +0:149 'dvec4v' (temp 4-component vector of double) +0:151 add second child into first child (temp double) +0:151 'doublev' (temp double) +0:151 Floor (global double) +0:151 'doublev' (temp double) +0:152 add second child into first child (temp 2-component vector of double) +0:152 'dvec2v' (temp 2-component vector of double) +0:152 Floor (global 2-component vector of double) +0:152 'dvec2v' (temp 2-component vector of double) +0:153 add second child into first child (temp 3-component vector of double) +0:153 'dvec3v' (temp 3-component vector of double) +0:153 Floor (global 3-component vector of double) +0:153 'dvec3v' (temp 3-component vector of double) +0:154 add second child into first child (temp 4-component vector of double) +0:154 'dvec4v' (temp 4-component vector of double) +0:154 Floor (global 4-component vector of double) +0:154 'dvec4v' (temp 4-component vector of double) +0:156 add second child into first child (temp double) +0:156 'doublev' (temp double) +0:156 trunc (global double) +0:156 'doublev' (temp double) +0:157 add second child into first child (temp 2-component vector of double) +0:157 'dvec2v' (temp 2-component vector of double) +0:157 trunc (global 2-component vector of double) +0:157 'dvec2v' (temp 2-component vector of double) +0:158 add second child into first child (temp 3-component vector of double) +0:158 'dvec3v' (temp 3-component vector of double) +0:158 trunc (global 3-component vector of double) +0:158 'dvec3v' (temp 3-component vector of double) +0:159 add second child into first child (temp 4-component vector of double) +0:159 'dvec4v' (temp 4-component vector of double) +0:159 trunc (global 4-component vector of double) +0:159 'dvec4v' (temp 4-component vector of double) +0:161 add second child into first child (temp double) +0:161 'doublev' (temp double) +0:161 round (global double) +0:161 'doublev' (temp double) +0:162 add second child into first child (temp 2-component vector of double) +0:162 'dvec2v' (temp 2-component vector of double) +0:162 round (global 2-component vector of double) +0:162 'dvec2v' (temp 2-component vector of double) +0:163 add second child into first child (temp 3-component vector of double) +0:163 'dvec3v' (temp 3-component vector of double) +0:163 round (global 3-component vector of double) +0:163 'dvec3v' (temp 3-component vector of double) +0:164 add second child into first child (temp 4-component vector of double) +0:164 'dvec4v' (temp 4-component vector of double) +0:164 round (global 4-component vector of double) +0:164 'dvec4v' (temp 4-component vector of double) +0:166 add second child into first child (temp double) +0:166 'doublev' (temp double) +0:166 roundEven (global double) +0:166 'doublev' (temp double) +0:167 add second child into first child (temp 2-component vector of double) +0:167 'dvec2v' (temp 2-component vector of double) +0:167 roundEven (global 2-component vector of double) +0:167 'dvec2v' (temp 2-component vector of double) +0:168 add second child into first child (temp 3-component vector of double) +0:168 'dvec3v' (temp 3-component vector of double) +0:168 roundEven (global 3-component vector of double) +0:168 'dvec3v' (temp 3-component vector of double) +0:169 add second child into first child (temp 4-component vector of double) +0:169 'dvec4v' (temp 4-component vector of double) +0:169 roundEven (global 4-component vector of double) +0:169 'dvec4v' (temp 4-component vector of double) +0:171 add second child into first child (temp double) +0:171 'doublev' (temp double) +0:171 Ceiling (global double) +0:171 'doublev' (temp double) +0:172 add second child into first child (temp 2-component vector of double) +0:172 'dvec2v' (temp 2-component vector of double) +0:172 Ceiling (global 2-component vector of double) +0:172 'dvec2v' (temp 2-component vector of double) +0:173 add second child into first child (temp 3-component vector of double) +0:173 'dvec3v' (temp 3-component vector of double) +0:173 Ceiling (global 3-component vector of double) +0:173 'dvec3v' (temp 3-component vector of double) +0:174 add second child into first child (temp 4-component vector of double) +0:174 'dvec4v' (temp 4-component vector of double) +0:174 Ceiling (global 4-component vector of double) +0:174 'dvec4v' (temp 4-component vector of double) +0:176 add second child into first child (temp double) +0:176 'doublev' (temp double) +0:176 Fraction (global double) +0:176 'doublev' (temp double) +0:177 add second child into first child (temp 2-component vector of double) +0:177 'dvec2v' (temp 2-component vector of double) +0:177 Fraction (global 2-component vector of double) +0:177 'dvec2v' (temp 2-component vector of double) +0:178 add second child into first child (temp 3-component vector of double) +0:178 'dvec3v' (temp 3-component vector of double) +0:178 Fraction (global 3-component vector of double) +0:178 'dvec3v' (temp 3-component vector of double) +0:179 add second child into first child (temp 4-component vector of double) +0:179 'dvec4v' (temp 4-component vector of double) +0:179 Fraction (global 4-component vector of double) +0:179 'dvec4v' (temp 4-component vector of double) +0:181 add second child into first child (temp double) +0:181 'doublev' (temp double) +0:181 mod (global double) +0:181 'doublev' (temp double) +0:181 'doublev' (temp double) +0:182 add second child into first child (temp 2-component vector of double) +0:182 'dvec2v' (temp 2-component vector of double) +0:182 mod (global 2-component vector of double) +0:182 'dvec2v' (temp 2-component vector of double) +0:182 'doublev' (temp double) +0:183 add second child into first child (temp 3-component vector of double) +0:183 'dvec3v' (temp 3-component vector of double) +0:183 mod (global 3-component vector of double) +0:183 'dvec3v' (temp 3-component vector of double) +0:183 'doublev' (temp double) +0:184 add second child into first child (temp 4-component vector of double) +0:184 'dvec4v' (temp 4-component vector of double) +0:184 mod (global 4-component vector of double) +0:184 'dvec4v' (temp 4-component vector of double) +0:184 'doublev' (temp double) +0:185 add second child into first child (temp 2-component vector of double) +0:185 'dvec2v' (temp 2-component vector of double) +0:185 mod (global 2-component vector of double) +0:185 'dvec2v' (temp 2-component vector of double) +0:185 'dvec2v' (temp 2-component vector of double) +0:186 add second child into first child (temp 3-component vector of double) +0:186 'dvec3v' (temp 3-component vector of double) +0:186 mod (global 3-component vector of double) +0:186 'dvec3v' (temp 3-component vector of double) +0:186 'dvec3v' (temp 3-component vector of double) +0:187 add second child into first child (temp 4-component vector of double) +0:187 'dvec4v' (temp 4-component vector of double) +0:187 mod (global 4-component vector of double) +0:187 'dvec4v' (temp 4-component vector of double) +0:187 'dvec4v' (temp 4-component vector of double) +0:189 add second child into first child (temp double) +0:189 'doublev' (temp double) +0:189 modf (global double) +0:189 'doublev' (temp double) +0:189 'doublev' (temp double) +0:190 add second child into first child (temp 2-component vector of double) +0:190 'dvec2v' (temp 2-component vector of double) +0:190 modf (global 2-component vector of double) +0:190 'dvec2v' (temp 2-component vector of double) +0:190 'dvec2v' (temp 2-component vector of double) +0:191 add second child into first child (temp 3-component vector of double) +0:191 'dvec3v' (temp 3-component vector of double) +0:191 modf (global 3-component vector of double) +0:191 'dvec3v' (temp 3-component vector of double) +0:191 'dvec3v' (temp 3-component vector of double) +0:192 add second child into first child (temp 4-component vector of double) +0:192 'dvec4v' (temp 4-component vector of double) +0:192 modf (global 4-component vector of double) +0:192 'dvec4v' (temp 4-component vector of double) +0:192 'dvec4v' (temp 4-component vector of double) +0:194 add second child into first child (temp double) +0:194 'doublev' (temp double) +0:194 min (global double) +0:194 'doublev' (temp double) +0:194 'doublev' (temp double) +0:195 add second child into first child (temp 2-component vector of double) +0:195 'dvec2v' (temp 2-component vector of double) +0:195 min (global 2-component vector of double) +0:195 'dvec2v' (temp 2-component vector of double) +0:195 'doublev' (temp double) +0:196 add second child into first child (temp 3-component vector of double) +0:196 'dvec3v' (temp 3-component vector of double) +0:196 min (global 3-component vector of double) +0:196 'dvec3v' (temp 3-component vector of double) +0:196 'doublev' (temp double) +0:197 add second child into first child (temp 4-component vector of double) +0:197 'dvec4v' (temp 4-component vector of double) +0:197 min (global 4-component vector of double) +0:197 'dvec4v' (temp 4-component vector of double) +0:197 'doublev' (temp double) +0:198 add second child into first child (temp 2-component vector of double) +0:198 'dvec2v' (temp 2-component vector of double) +0:198 min (global 2-component vector of double) +0:198 'dvec2v' (temp 2-component vector of double) +0:198 'dvec2v' (temp 2-component vector of double) +0:199 add second child into first child (temp 3-component vector of double) +0:199 'dvec3v' (temp 3-component vector of double) +0:199 min (global 3-component vector of double) +0:199 'dvec3v' (temp 3-component vector of double) +0:199 'dvec3v' (temp 3-component vector of double) +0:200 add second child into first child (temp 4-component vector of double) +0:200 'dvec4v' (temp 4-component vector of double) +0:200 min (global 4-component vector of double) +0:200 'dvec4v' (temp 4-component vector of double) +0:200 'dvec4v' (temp 4-component vector of double) +0:202 add second child into first child (temp double) +0:202 'doublev' (temp double) +0:202 max (global double) +0:202 'doublev' (temp double) +0:202 'doublev' (temp double) +0:203 add second child into first child (temp 2-component vector of double) +0:203 'dvec2v' (temp 2-component vector of double) +0:203 max (global 2-component vector of double) +0:203 'dvec2v' (temp 2-component vector of double) +0:203 'doublev' (temp double) +0:204 add second child into first child (temp 3-component vector of double) +0:204 'dvec3v' (temp 3-component vector of double) +0:204 max (global 3-component vector of double) +0:204 'dvec3v' (temp 3-component vector of double) +0:204 'doublev' (temp double) +0:205 add second child into first child (temp 4-component vector of double) +0:205 'dvec4v' (temp 4-component vector of double) +0:205 max (global 4-component vector of double) +0:205 'dvec4v' (temp 4-component vector of double) +0:205 'doublev' (temp double) +0:206 add second child into first child (temp 2-component vector of double) +0:206 'dvec2v' (temp 2-component vector of double) +0:206 max (global 2-component vector of double) +0:206 'dvec2v' (temp 2-component vector of double) +0:206 'dvec2v' (temp 2-component vector of double) +0:207 add second child into first child (temp 3-component vector of double) +0:207 'dvec3v' (temp 3-component vector of double) +0:207 max (global 3-component vector of double) +0:207 'dvec3v' (temp 3-component vector of double) +0:207 'dvec3v' (temp 3-component vector of double) +0:208 add second child into first child (temp 4-component vector of double) +0:208 'dvec4v' (temp 4-component vector of double) +0:208 max (global 4-component vector of double) +0:208 'dvec4v' (temp 4-component vector of double) +0:208 'dvec4v' (temp 4-component vector of double) +0:210 add second child into first child (temp double) +0:210 'doublev' (temp double) +0:210 clamp (global double) +0:210 'doublev' (temp double) +0:210 'doublev' (temp double) +0:210 'doublev' (temp double) +0:211 add second child into first child (temp 2-component vector of double) +0:211 'dvec2v' (temp 2-component vector of double) +0:211 clamp (global 2-component vector of double) +0:211 'dvec2v' (temp 2-component vector of double) +0:211 'doublev' (temp double) +0:211 'doublev' (temp double) +0:212 add second child into first child (temp 3-component vector of double) +0:212 'dvec3v' (temp 3-component vector of double) +0:212 clamp (global 3-component vector of double) +0:212 'dvec3v' (temp 3-component vector of double) +0:212 'doublev' (temp double) +0:212 'doublev' (temp double) +0:213 add second child into first child (temp 4-component vector of double) +0:213 'dvec4v' (temp 4-component vector of double) +0:213 clamp (global 4-component vector of double) +0:213 'dvec4v' (temp 4-component vector of double) +0:213 'doublev' (temp double) +0:213 'doublev' (temp double) +0:214 add second child into first child (temp 2-component vector of double) +0:214 'dvec2v' (temp 2-component vector of double) +0:214 clamp (global 2-component vector of double) +0:214 'dvec2v' (temp 2-component vector of double) +0:214 'dvec2v' (temp 2-component vector of double) +0:214 'dvec2v' (temp 2-component vector of double) +0:215 add second child into first child (temp 3-component vector of double) +0:215 'dvec3v' (temp 3-component vector of double) +0:215 clamp (global 3-component vector of double) +0:215 'dvec3v' (temp 3-component vector of double) +0:215 'dvec3v' (temp 3-component vector of double) +0:215 'dvec3v' (temp 3-component vector of double) +0:216 add second child into first child (temp 4-component vector of double) +0:216 'dvec4v' (temp 4-component vector of double) +0:216 clamp (global 4-component vector of double) +0:216 'dvec4v' (temp 4-component vector of double) +0:216 'dvec4v' (temp 4-component vector of double) +0:216 'dvec4v' (temp 4-component vector of double) +0:218 add second child into first child (temp double) +0:218 'doublev' (temp double) +0:218 mix (global double) +0:218 'doublev' (temp double) +0:218 'doublev' (temp double) +0:218 'doublev' (temp double) +0:219 add second child into first child (temp 2-component vector of double) +0:219 'dvec2v' (temp 2-component vector of double) +0:219 mix (global 2-component vector of double) +0:219 'dvec2v' (temp 2-component vector of double) +0:219 'dvec2v' (temp 2-component vector of double) +0:219 'doublev' (temp double) +0:220 add second child into first child (temp 3-component vector of double) +0:220 'dvec3v' (temp 3-component vector of double) +0:220 mix (global 3-component vector of double) +0:220 'dvec3v' (temp 3-component vector of double) +0:220 'dvec3v' (temp 3-component vector of double) +0:220 'doublev' (temp double) +0:221 add second child into first child (temp 4-component vector of double) +0:221 'dvec4v' (temp 4-component vector of double) +0:221 mix (global 4-component vector of double) +0:221 'dvec4v' (temp 4-component vector of double) +0:221 'dvec4v' (temp 4-component vector of double) +0:221 'doublev' (temp double) +0:222 add second child into first child (temp 2-component vector of double) +0:222 'dvec2v' (temp 2-component vector of double) +0:222 mix (global 2-component vector of double) +0:222 'dvec2v' (temp 2-component vector of double) +0:222 'dvec2v' (temp 2-component vector of double) +0:222 'dvec2v' (temp 2-component vector of double) +0:223 add second child into first child (temp 3-component vector of double) +0:223 'dvec3v' (temp 3-component vector of double) +0:223 mix (global 3-component vector of double) +0:223 'dvec3v' (temp 3-component vector of double) +0:223 'dvec3v' (temp 3-component vector of double) +0:223 'dvec3v' (temp 3-component vector of double) +0:224 add second child into first child (temp 4-component vector of double) +0:224 'dvec4v' (temp 4-component vector of double) +0:224 mix (global 4-component vector of double) +0:224 'dvec4v' (temp 4-component vector of double) +0:224 'dvec4v' (temp 4-component vector of double) +0:224 'dvec4v' (temp 4-component vector of double) +0:225 add second child into first child (temp double) +0:225 'doublev' (temp double) +0:225 mix (global double) +0:225 'doublev' (temp double) +0:225 'doublev' (temp double) +0:225 'boolv' (temp bool) +0:226 add second child into first child (temp 2-component vector of double) +0:226 'dvec2v' (temp 2-component vector of double) +0:226 mix (global 2-component vector of double) +0:226 'dvec2v' (temp 2-component vector of double) +0:226 'dvec2v' (temp 2-component vector of double) +0:226 'bvec2v' (temp 2-component vector of bool) +0:227 add second child into first child (temp 3-component vector of double) +0:227 'dvec3v' (temp 3-component vector of double) +0:227 mix (global 3-component vector of double) +0:227 'dvec3v' (temp 3-component vector of double) +0:227 'dvec3v' (temp 3-component vector of double) +0:227 'bvec3v' (temp 3-component vector of bool) +0:228 add second child into first child (temp 4-component vector of double) +0:228 'dvec4v' (temp 4-component vector of double) +0:228 mix (global 4-component vector of double) +0:228 'dvec4v' (temp 4-component vector of double) +0:228 'dvec4v' (temp 4-component vector of double) +0:228 'bvec4v' (temp 4-component vector of bool) +0:230 add second child into first child (temp double) +0:230 'doublev' (temp double) +0:230 step (global double) +0:230 'doublev' (temp double) +0:230 'doublev' (temp double) +0:231 add second child into first child (temp 2-component vector of double) +0:231 'dvec2v' (temp 2-component vector of double) +0:231 step (global 2-component vector of double) +0:231 'dvec2v' (temp 2-component vector of double) +0:231 'dvec2v' (temp 2-component vector of double) +0:232 add second child into first child (temp 3-component vector of double) +0:232 'dvec3v' (temp 3-component vector of double) +0:232 step (global 3-component vector of double) +0:232 'dvec3v' (temp 3-component vector of double) +0:232 'dvec3v' (temp 3-component vector of double) +0:233 add second child into first child (temp 4-component vector of double) +0:233 'dvec4v' (temp 4-component vector of double) +0:233 step (global 4-component vector of double) +0:233 'dvec4v' (temp 4-component vector of double) +0:233 'dvec4v' (temp 4-component vector of double) +0:234 add second child into first child (temp 2-component vector of double) +0:234 'dvec2v' (temp 2-component vector of double) +0:234 step (global 2-component vector of double) +0:234 'doublev' (temp double) +0:234 'dvec2v' (temp 2-component vector of double) +0:235 add second child into first child (temp 3-component vector of double) +0:235 'dvec3v' (temp 3-component vector of double) +0:235 step (global 3-component vector of double) +0:235 'doublev' (temp double) +0:235 'dvec3v' (temp 3-component vector of double) +0:236 add second child into first child (temp 4-component vector of double) +0:236 'dvec4v' (temp 4-component vector of double) +0:236 step (global 4-component vector of double) +0:236 'doublev' (temp double) +0:236 'dvec4v' (temp 4-component vector of double) +0:238 add second child into first child (temp double) +0:238 'doublev' (temp double) +0:238 smoothstep (global double) +0:238 'doublev' (temp double) +0:238 'doublev' (temp double) +0:238 'doublev' (temp double) +0:239 add second child into first child (temp 2-component vector of double) +0:239 'dvec2v' (temp 2-component vector of double) +0:239 smoothstep (global 2-component vector of double) +0:239 'dvec2v' (temp 2-component vector of double) +0:239 'dvec2v' (temp 2-component vector of double) +0:239 'dvec2v' (temp 2-component vector of double) +0:240 add second child into first child (temp 3-component vector of double) +0:240 'dvec3v' (temp 3-component vector of double) +0:240 smoothstep (global 3-component vector of double) +0:240 'dvec3v' (temp 3-component vector of double) +0:240 'dvec3v' (temp 3-component vector of double) +0:240 'dvec3v' (temp 3-component vector of double) +0:241 add second child into first child (temp 4-component vector of double) +0:241 'dvec4v' (temp 4-component vector of double) +0:241 smoothstep (global 4-component vector of double) +0:241 'dvec4v' (temp 4-component vector of double) +0:241 'dvec4v' (temp 4-component vector of double) +0:241 'dvec4v' (temp 4-component vector of double) +0:242 add second child into first child (temp 2-component vector of double) +0:242 'dvec2v' (temp 2-component vector of double) +0:242 smoothstep (global 2-component vector of double) +0:242 'doublev' (temp double) +0:242 'doublev' (temp double) +0:242 'dvec2v' (temp 2-component vector of double) +0:243 add second child into first child (temp 3-component vector of double) +0:243 'dvec3v' (temp 3-component vector of double) +0:243 smoothstep (global 3-component vector of double) +0:243 'doublev' (temp double) +0:243 'doublev' (temp double) +0:243 'dvec3v' (temp 3-component vector of double) +0:244 add second child into first child (temp 4-component vector of double) +0:244 'dvec4v' (temp 4-component vector of double) +0:244 smoothstep (global 4-component vector of double) +0:244 'doublev' (temp double) +0:244 'doublev' (temp double) +0:244 'dvec4v' (temp 4-component vector of double) +0:246 move second child to first child (temp bool) +0:246 'boolv' (temp bool) +0:246 isnan (global bool) +0:246 'doublev' (temp double) +0:247 move second child to first child (temp 2-component vector of bool) +0:247 'bvec2v' (temp 2-component vector of bool) +0:247 isnan (global 2-component vector of bool) +0:247 'dvec2v' (temp 2-component vector of double) +0:248 move second child to first child (temp 3-component vector of bool) +0:248 'bvec3v' (temp 3-component vector of bool) +0:248 isnan (global 3-component vector of bool) +0:248 'dvec3v' (temp 3-component vector of double) +0:249 move second child to first child (temp 4-component vector of bool) +0:249 'bvec4v' (temp 4-component vector of bool) +0:249 isnan (global 4-component vector of bool) +0:249 'dvec4v' (temp 4-component vector of double) +0:251 move second child to first child (temp bool) +0:251 'boolv' (temp bool) +0:251 Test condition and select (temp bool) +0:251 Condition +0:251 'boolv' (temp bool) +0:251 true case +0:251 isinf (global bool) +0:251 'doublev' (temp double) +0:251 false case +0:251 Constant: +0:251 false (const bool) +0:252 move second child to first child (temp 2-component vector of bool) +0:252 'bvec2v' (temp 2-component vector of bool) +0:252 Test condition and select (temp 2-component vector of bool) +0:252 Condition +0:252 'boolv' (temp bool) +0:252 true case +0:252 isinf (global 2-component vector of bool) +0:252 'dvec2v' (temp 2-component vector of double) +0:252 false case +0:252 Constant: +0:252 false (const bool) +0:252 false (const bool) +0:253 move second child to first child (temp 3-component vector of bool) +0:253 'bvec3v' (temp 3-component vector of bool) +0:253 Test condition and select (temp 3-component vector of bool) +0:253 Condition +0:253 'boolv' (temp bool) +0:253 true case +0:253 isinf (global 3-component vector of bool) +0:253 'dvec3v' (temp 3-component vector of double) +0:253 false case +0:253 Constant: +0:253 false (const bool) +0:253 false (const bool) +0:253 false (const bool) +0:254 move second child to first child (temp 4-component vector of bool) +0:254 'bvec4v' (temp 4-component vector of bool) +0:254 Test condition and select (temp 4-component vector of bool) +0:254 Condition +0:254 'boolv' (temp bool) +0:254 true case +0:254 isinf (global 4-component vector of bool) +0:254 'dvec4v' (temp 4-component vector of double) +0:254 false case +0:254 Constant: +0:254 false (const bool) +0:254 false (const bool) +0:254 false (const bool) +0:254 false (const bool) +0:256 add second child into first child (temp double) +0:256 'doublev' (temp double) +0:256 length (global double) +0:256 'doublev' (temp double) +0:257 add second child into first child (temp double) +0:257 'doublev' (temp double) +0:257 length (global double) +0:257 'dvec2v' (temp 2-component vector of double) +0:258 add second child into first child (temp double) +0:258 'doublev' (temp double) +0:258 length (global double) +0:258 'dvec3v' (temp 3-component vector of double) +0:259 add second child into first child (temp double) +0:259 'doublev' (temp double) +0:259 length (global double) +0:259 'dvec4v' (temp 4-component vector of double) +0:261 add second child into first child (temp double) +0:261 'doublev' (temp double) +0:261 distance (global double) +0:261 'doublev' (temp double) +0:261 'doublev' (temp double) +0:262 add second child into first child (temp double) +0:262 'doublev' (temp double) +0:262 distance (global double) +0:262 'dvec2v' (temp 2-component vector of double) +0:262 'dvec2v' (temp 2-component vector of double) +0:263 add second child into first child (temp double) +0:263 'doublev' (temp double) +0:263 distance (global double) +0:263 'dvec3v' (temp 3-component vector of double) +0:263 'dvec3v' (temp 3-component vector of double) +0:264 add second child into first child (temp double) +0:264 'doublev' (temp double) +0:264 distance (global double) +0:264 'dvec4v' (temp 4-component vector of double) +0:264 'dvec4v' (temp 4-component vector of double) +0:266 add second child into first child (temp double) +0:266 'doublev' (temp double) +0:266 dot-product (global double) +0:266 'doublev' (temp double) +0:266 'doublev' (temp double) +0:267 add second child into first child (temp double) +0:267 'doublev' (temp double) +0:267 dot-product (global double) +0:267 'dvec2v' (temp 2-component vector of double) +0:267 'dvec2v' (temp 2-component vector of double) +0:268 add second child into first child (temp double) +0:268 'doublev' (temp double) +0:268 dot-product (global double) +0:268 'dvec3v' (temp 3-component vector of double) +0:268 'dvec3v' (temp 3-component vector of double) +0:269 add second child into first child (temp double) +0:269 'doublev' (temp double) +0:269 dot-product (global double) +0:269 'dvec4v' (temp 4-component vector of double) +0:269 'dvec4v' (temp 4-component vector of double) +0:271 add second child into first child (temp 3-component vector of double) +0:271 'dvec3v' (temp 3-component vector of double) +0:271 cross-product (global 3-component vector of double) +0:271 'dvec3v' (temp 3-component vector of double) +0:271 'dvec3v' (temp 3-component vector of double) +0:273 add second child into first child (temp double) +0:273 'doublev' (temp double) +0:273 normalize (global double) +0:273 'doublev' (temp double) +0:274 add second child into first child (temp 2-component vector of double) +0:274 'dvec2v' (temp 2-component vector of double) +0:274 normalize (global 2-component vector of double) +0:274 'dvec2v' (temp 2-component vector of double) +0:275 add second child into first child (temp 3-component vector of double) +0:275 'dvec3v' (temp 3-component vector of double) +0:275 normalize (global 3-component vector of double) +0:275 'dvec3v' (temp 3-component vector of double) +0:276 add second child into first child (temp 4-component vector of double) +0:276 'dvec4v' (temp 4-component vector of double) +0:276 normalize (global 4-component vector of double) +0:276 'dvec4v' (temp 4-component vector of double) +0:278 add second child into first child (temp double) +0:278 'doublev' (temp double) +0:278 face-forward (global double) +0:278 'doublev' (temp double) +0:278 'doublev' (temp double) +0:278 'doublev' (temp double) +0:279 add second child into first child (temp 2-component vector of double) +0:279 'dvec2v' (temp 2-component vector of double) +0:279 face-forward (global 2-component vector of double) +0:279 'dvec2v' (temp 2-component vector of double) +0:279 'dvec2v' (temp 2-component vector of double) +0:279 'dvec2v' (temp 2-component vector of double) +0:280 add second child into first child (temp 3-component vector of double) +0:280 'dvec3v' (temp 3-component vector of double) +0:280 face-forward (global 3-component vector of double) +0:280 'dvec3v' (temp 3-component vector of double) +0:280 'dvec3v' (temp 3-component vector of double) +0:280 'dvec3v' (temp 3-component vector of double) +0:281 add second child into first child (temp 4-component vector of double) +0:281 'dvec4v' (temp 4-component vector of double) +0:281 face-forward (global 4-component vector of double) +0:281 'dvec4v' (temp 4-component vector of double) +0:281 'dvec4v' (temp 4-component vector of double) +0:281 'dvec4v' (temp 4-component vector of double) +0:283 add second child into first child (temp double) +0:283 'doublev' (temp double) +0:283 reflect (global double) +0:283 'doublev' (temp double) +0:283 'doublev' (temp double) +0:284 add second child into first child (temp 2-component vector of double) +0:284 'dvec2v' (temp 2-component vector of double) +0:284 reflect (global 2-component vector of double) +0:284 'dvec2v' (temp 2-component vector of double) +0:284 'dvec2v' (temp 2-component vector of double) +0:285 add second child into first child (temp 3-component vector of double) +0:285 'dvec3v' (temp 3-component vector of double) +0:285 reflect (global 3-component vector of double) +0:285 'dvec3v' (temp 3-component vector of double) +0:285 'dvec3v' (temp 3-component vector of double) +0:286 add second child into first child (temp 4-component vector of double) +0:286 'dvec4v' (temp 4-component vector of double) +0:286 reflect (global 4-component vector of double) +0:286 'dvec4v' (temp 4-component vector of double) +0:286 'dvec4v' (temp 4-component vector of double) +0:288 add second child into first child (temp double) +0:288 'doublev' (temp double) +0:288 refract (global double) +0:288 'doublev' (temp double) +0:288 'doublev' (temp double) +0:288 'doublev' (temp double) +0:289 add second child into first child (temp 2-component vector of double) +0:289 'dvec2v' (temp 2-component vector of double) +0:289 refract (global 2-component vector of double) +0:289 'dvec2v' (temp 2-component vector of double) +0:289 'dvec2v' (temp 2-component vector of double) +0:289 'doublev' (temp double) +0:290 add second child into first child (temp 3-component vector of double) +0:290 'dvec3v' (temp 3-component vector of double) +0:290 refract (global 3-component vector of double) +0:290 'dvec3v' (temp 3-component vector of double) +0:290 'dvec3v' (temp 3-component vector of double) +0:290 'doublev' (temp double) +0:291 add second child into first child (temp 4-component vector of double) +0:291 'dvec4v' (temp 4-component vector of double) +0:291 refract (global 4-component vector of double) +0:291 'dvec4v' (temp 4-component vector of double) +0:291 'dvec4v' (temp 4-component vector of double) +0:291 'doublev' (temp double) +0:293 Sequence +0:293 move second child to first child (temp 2X2 matrix of double) +0:293 'dmat2v' (temp 2X2 matrix of double) +0:293 outer product (global 2X2 matrix of double) +0:293 'dvec2v' (temp 2-component vector of double) +0:293 'dvec2v' (temp 2-component vector of double) +0:294 Sequence +0:294 move second child to first child (temp 3X3 matrix of double) +0:294 'dmat3v' (temp 3X3 matrix of double) +0:294 outer product (global 3X3 matrix of double) +0:294 'dvec3v' (temp 3-component vector of double) +0:294 'dvec3v' (temp 3-component vector of double) +0:295 Sequence +0:295 move second child to first child (temp 4X4 matrix of double) +0:295 'dmat4v' (temp 4X4 matrix of double) +0:295 outer product (global 4X4 matrix of double) +0:295 'dvec4v' (temp 4-component vector of double) +0:295 'dvec4v' (temp 4-component vector of double) +0:296 Sequence +0:296 move second child to first child (temp 2X3 matrix of double) +0:296 'dmat2x3v' (temp 2X3 matrix of double) +0:296 outer product (global 2X3 matrix of double) +0:296 'dvec3v' (temp 3-component vector of double) +0:296 'dvec2v' (temp 2-component vector of double) +0:297 Sequence +0:297 move second child to first child (temp 3X2 matrix of double) +0:297 'dmat3x2v' (temp 3X2 matrix of double) +0:297 outer product (global 3X2 matrix of double) +0:297 'dvec2v' (temp 2-component vector of double) +0:297 'dvec3v' (temp 3-component vector of double) +0:298 Sequence +0:298 move second child to first child (temp 2X4 matrix of double) +0:298 'dmat2x4v' (temp 2X4 matrix of double) +0:298 outer product (global 2X4 matrix of double) +0:298 'dvec4v' (temp 4-component vector of double) +0:298 'dvec2v' (temp 2-component vector of double) +0:299 Sequence +0:299 move second child to first child (temp 4X2 matrix of double) +0:299 'dmat4x2v' (temp 4X2 matrix of double) +0:299 outer product (global 4X2 matrix of double) +0:299 'dvec2v' (temp 2-component vector of double) +0:299 'dvec4v' (temp 4-component vector of double) +0:300 Sequence +0:300 move second child to first child (temp 3X4 matrix of double) +0:300 'dmat3x4v' (temp 3X4 matrix of double) +0:300 outer product (global 3X4 matrix of double) +0:300 'dvec4v' (temp 4-component vector of double) +0:300 'dvec3v' (temp 3-component vector of double) +0:301 Sequence +0:301 move second child to first child (temp 4X3 matrix of double) +0:301 'dmat4x3v' (temp 4X3 matrix of double) +0:301 outer product (global 4X3 matrix of double) +0:301 'dvec3v' (temp 3-component vector of double) +0:301 'dvec4v' (temp 4-component vector of double) +0:303 matrix mult second child into first child (temp 2X2 matrix of double) +0:303 'dmat2v' (temp 2X2 matrix of double) +0:303 component-wise multiply (global 2X2 matrix of double) +0:303 'dmat2v' (temp 2X2 matrix of double) +0:303 'dmat2v' (temp 2X2 matrix of double) +0:304 matrix mult second child into first child (temp 3X3 matrix of double) +0:304 'dmat3v' (temp 3X3 matrix of double) +0:304 component-wise multiply (global 3X3 matrix of double) +0:304 'dmat3v' (temp 3X3 matrix of double) +0:304 'dmat3v' (temp 3X3 matrix of double) +0:305 matrix mult second child into first child (temp 4X4 matrix of double) +0:305 'dmat4v' (temp 4X4 matrix of double) +0:305 component-wise multiply (global 4X4 matrix of double) +0:305 'dmat4v' (temp 4X4 matrix of double) +0:305 'dmat4v' (temp 4X4 matrix of double) +0:306 move second child to first child (temp 2X3 matrix of double) +0:306 'dmat2x3v' (temp 2X3 matrix of double) +0:306 component-wise multiply (global 2X3 matrix of double) +0:306 'dmat2x3v' (temp 2X3 matrix of double) +0:306 'dmat2x3v' (temp 2X3 matrix of double) +0:307 move second child to first child (temp 2X4 matrix of double) +0:307 'dmat2x4v' (temp 2X4 matrix of double) +0:307 component-wise multiply (global 2X4 matrix of double) +0:307 'dmat2x4v' (temp 2X4 matrix of double) +0:307 'dmat2x4v' (temp 2X4 matrix of double) +0:308 move second child to first child (temp 3X2 matrix of double) +0:308 'dmat3x2v' (temp 3X2 matrix of double) +0:308 component-wise multiply (global 3X2 matrix of double) +0:308 'dmat3x2v' (temp 3X2 matrix of double) +0:308 'dmat3x2v' (temp 3X2 matrix of double) +0:309 move second child to first child (temp 3X4 matrix of double) +0:309 'dmat3x4v' (temp 3X4 matrix of double) +0:309 component-wise multiply (global 3X4 matrix of double) +0:309 'dmat3x4v' (temp 3X4 matrix of double) +0:309 'dmat3x4v' (temp 3X4 matrix of double) +0:310 move second child to first child (temp 4X2 matrix of double) +0:310 'dmat4x2v' (temp 4X2 matrix of double) +0:310 component-wise multiply (global 4X2 matrix of double) +0:310 'dmat4x2v' (temp 4X2 matrix of double) +0:310 'dmat4x2v' (temp 4X2 matrix of double) +0:311 move second child to first child (temp 4X3 matrix of double) +0:311 'dmat4x3v' (temp 4X3 matrix of double) +0:311 component-wise multiply (global 4X3 matrix of double) +0:311 'dmat4x3v' (temp 4X3 matrix of double) +0:311 'dmat4x3v' (temp 4X3 matrix of double) +0:313 matrix mult second child into first child (temp 2X2 matrix of double) +0:313 'dmat2v' (temp 2X2 matrix of double) +0:313 transpose (global 2X2 matrix of double) +0:313 'dmat2v' (temp 2X2 matrix of double) +0:314 matrix mult second child into first child (temp 3X3 matrix of double) +0:314 'dmat3v' (temp 3X3 matrix of double) +0:314 transpose (global 3X3 matrix of double) +0:314 'dmat3v' (temp 3X3 matrix of double) +0:315 matrix mult second child into first child (temp 4X4 matrix of double) +0:315 'dmat4v' (temp 4X4 matrix of double) +0:315 transpose (global 4X4 matrix of double) +0:315 'dmat4v' (temp 4X4 matrix of double) +0:316 move second child to first child (temp 2X3 matrix of double) +0:316 'dmat2x3v' (temp 2X3 matrix of double) +0:316 transpose (global 2X3 matrix of double) +0:316 'dmat3x2v' (temp 3X2 matrix of double) +0:317 move second child to first child (temp 3X2 matrix of double) +0:317 'dmat3x2v' (temp 3X2 matrix of double) +0:317 transpose (global 3X2 matrix of double) +0:317 'dmat2x3v' (temp 2X3 matrix of double) +0:318 move second child to first child (temp 2X4 matrix of double) +0:318 'dmat2x4v' (temp 2X4 matrix of double) +0:318 transpose (global 2X4 matrix of double) +0:318 'dmat4x2v' (temp 4X2 matrix of double) +0:319 move second child to first child (temp 4X2 matrix of double) +0:319 'dmat4x2v' (temp 4X2 matrix of double) +0:319 transpose (global 4X2 matrix of double) +0:319 'dmat2x4v' (temp 2X4 matrix of double) +0:320 move second child to first child (temp 3X4 matrix of double) +0:320 'dmat3x4v' (temp 3X4 matrix of double) +0:320 transpose (global 3X4 matrix of double) +0:320 'dmat4x3v' (temp 4X3 matrix of double) +0:321 move second child to first child (temp 4X3 matrix of double) +0:321 'dmat4x3v' (temp 4X3 matrix of double) +0:321 transpose (global 4X3 matrix of double) +0:321 'dmat3x4v' (temp 3X4 matrix of double) +0:323 add second child into first child (temp double) +0:323 'doublev' (temp double) +0:323 determinant (global double) +0:323 'dmat2v' (temp 2X2 matrix of double) +0:324 add second child into first child (temp double) +0:324 'doublev' (temp double) +0:324 determinant (global double) +0:324 'dmat3v' (temp 3X3 matrix of double) +0:325 add second child into first child (temp double) +0:325 'doublev' (temp double) +0:325 determinant (global double) +0:325 'dmat4v' (temp 4X4 matrix of double) +0:327 matrix mult second child into first child (temp 2X2 matrix of double) +0:327 'dmat2v' (temp 2X2 matrix of double) +0:327 inverse (global 2X2 matrix of double) +0:327 'dmat2v' (temp 2X2 matrix of double) +0:328 matrix mult second child into first child (temp 3X3 matrix of double) +0:328 'dmat3v' (temp 3X3 matrix of double) +0:328 inverse (global 3X3 matrix of double) +0:328 'dmat3v' (temp 3X3 matrix of double) +0:329 matrix mult second child into first child (temp 4X4 matrix of double) +0:329 'dmat4v' (temp 4X4 matrix of double) +0:329 inverse (global 4X4 matrix of double) +0:329 'dmat4v' (temp 4X4 matrix of double) 0:? Linker Objects 0:? 'bn' (in 3-element array of block{in int a}) 0:? 'gl_in' (in 3-element array of block{in 4-component vector of float Position gl_Position, in float PointSize gl_PointSize}) diff --git a/Test/baseResults/spv.400.frag.out b/Test/baseResults/spv.400.frag.out index 39fefd2..f070974 100644 --- a/Test/baseResults/spv.400.frag.out +++ b/Test/baseResults/spv.400.frag.out @@ -7,168 +7,1359 @@ Linked fragment stage: // Module Version 10000 // Generated by (magic number): 80001 -// Id's are bound by 125 +// Id's are bound by 1104 Capability Shader 1: ExtInstImport "GLSL.std.450" MemoryModel Logical GLSL450 - EntryPoint Fragment 4 "main" 11 44 50 56 69 96 117 119 + EntryPoint Fragment 4 "main" 13 1025 1031 1036 1048 1074 1095 1097 ExecutionMode 4 OriginLowerLeft Source GLSL 400 SourceExtension "GL_ARB_separate_shader_objects" Name 4 "main" Name 6 "foo23(" - Name 11 "outp" - Name 15 "u2drs" - Name 36 "v" - Name 42 "arrayedSampler" - Name 44 "i" - Name 50 "c2D" - Name 56 "gl_ClipDistance" - Name 69 "uoutp" - Name 73 "samp2dr" - Name 96 "ioutp" - Name 100 "isamp2DA" - Name 117 "gl_FragCoord" - Name 119 "vl2" - Decorate 44(i) Flat - Decorate 56(gl_ClipDistance) BuiltIn ClipDistance - Decorate 117(gl_FragCoord) BuiltIn FragCoord - Decorate 119(vl2) Location 6 + Name 8 "doubles(" + Name 13 "outp" + Name 17 "u2drs" + Name 39 "doublev" + Name 43 "dvec2v" + Name 48 "dvec3v" + Name 53 "dvec4v" + Name 428 "boolv" + Name 437 "bvec2v" + Name 446 "bvec3v" + Name 455 "bvec4v" + Name 737 "dmat2v" + Name 743 "dmat3v" + Name 749 "dmat4v" + Name 755 "dmat2x3v" + Name 761 "dmat3x2v" + Name 767 "dmat2x4v" + Name 773 "dmat4x2v" + Name 779 "dmat3x4v" + Name 785 "dmat4x3v" + Name 1017 "v" + Name 1023 "arrayedSampler" + Name 1025 "i" + Name 1031 "c2D" + Name 1036 "gl_ClipDistance" + Name 1048 "uoutp" + Name 1052 "samp2dr" + Name 1074 "ioutp" + Name 1078 "isamp2DA" + Name 1095 "gl_FragCoord" + Name 1097 "vl2" + Decorate 1025(i) Flat + Decorate 1036(gl_ClipDistance) BuiltIn ClipDistance + Decorate 1095(gl_FragCoord) BuiltIn FragCoord + Decorate 1097(vl2) Location 6 2: TypeVoid 3: TypeFunction 2 - 8: TypeFloat 32 - 9: TypeVector 8(float) 4 - 10: TypePointer Output 9(fvec4) - 11(outp): 10(ptr) Variable Output - 12: TypeImage 8(float) Rect depth sampled format:Unknown - 13: TypeSampledImage 12 - 14: TypePointer UniformConstant 13 - 15(u2drs): 14(ptr) Variable UniformConstant - 18: TypeVector 8(float) 2 - 19: 8(float) Constant 0 - 20: 18(fvec2) ConstantComposite 19 19 - 21: TypeInt 32 1 - 22: TypeVector 21(int) 2 - 23: 21(int) Constant 3 - 24: 21(int) Constant 4 - 25: 22(ivec2) ConstantComposite 23 24 - 28: TypeInt 32 0 - 29: 28(int) Constant 0 - 30: TypePointer Output 8(float) - 35: TypePointer Function 9(fvec4) - 37: TypeImage 8(float) 2D sampled format:Unknown - 38: TypeSampledImage 37 - 39: 28(int) Constant 5 - 40: TypeArray 38 39 - 41: TypePointer UniformConstant 40 -42(arrayedSampler): 41(ptr) Variable UniformConstant - 43: TypePointer Input 21(int) - 44(i): 43(ptr) Variable Input - 46: TypePointer UniformConstant 38 - 49: TypePointer Input 18(fvec2) - 50(c2D): 49(ptr) Variable Input - 53: 28(int) Constant 2 - 54: TypeArray 8(float) 53 - 55: TypePointer Input 54 -56(gl_ClipDistance): 55(ptr) Variable Input - 57: 21(int) Constant 1 - 58: TypePointer Input 8(float) - 62: TypeVector 8(float) 3 - 67: TypeVector 28(int) 4 - 68: TypePointer Output 67(ivec4) - 69(uoutp): 68(ptr) Variable Output - 70: TypeImage 28(int) Rect sampled format:Unknown - 71: TypeSampledImage 70 - 72: TypePointer UniformConstant 71 - 73(samp2dr): 72(ptr) Variable UniformConstant - 76: 28(int) Constant 4 - 77: TypeArray 22(ivec2) 76 - 78: 21(int) Constant 2 - 79: 22(ivec2) ConstantComposite 57 78 - 80: 21(int) Constant 15 - 81: 21(int) Constant 16 - 82: 22(ivec2) ConstantComposite 80 81 - 83: 21(int) Constant 4294967294 - 84: 21(int) Constant 0 - 85: 22(ivec2) ConstantComposite 83 84 - 86: 77 ConstantComposite 79 25 82 85 - 94: TypeVector 21(int) 4 - 95: TypePointer Output 94(ivec4) - 96(ioutp): 95(ptr) Variable Output - 97: TypeImage 21(int) 2D array sampled format:Unknown - 98: TypeSampledImage 97 - 99: TypePointer UniformConstant 98 - 100(isamp2DA): 99(ptr) Variable UniformConstant - 102: 8(float) Constant 1036831949 - 103: 62(fvec3) ConstantComposite 102 102 102 - 104: 22(ivec2) ConstantComposite 57 57 - 116: TypePointer Input 9(fvec4) -117(gl_FragCoord): 116(ptr) Variable Input - 119(vl2): 116(ptr) Variable Input + 10: TypeFloat 32 + 11: TypeVector 10(float) 4 + 12: TypePointer Output 11(fvec4) + 13(outp): 12(ptr) Variable Output + 14: TypeImage 10(float) Rect depth sampled format:Unknown + 15: TypeSampledImage 14 + 16: TypePointer UniformConstant 15 + 17(u2drs): 16(ptr) Variable UniformConstant + 20: TypeVector 10(float) 2 + 21: 10(float) Constant 0 + 22: 20(fvec2) ConstantComposite 21 21 + 23: TypeInt 32 1 + 24: TypeVector 23(int) 2 + 25: 23(int) Constant 3 + 26: 23(int) Constant 4 + 27: 24(ivec2) ConstantComposite 25 26 + 30: TypeInt 32 0 + 31: 30(int) Constant 0 + 32: TypePointer Output 10(float) + 37: TypeFloat 64 + 38: TypePointer Function 37(float) + 40: 37(float) Constant 2507418074 1073430332 + 41: TypeVector 37(float) 2 + 42: TypePointer Function 41(fvec2) + 44: 37(float) Constant 796182188 1073367658 + 45: 41(fvec2) ConstantComposite 44 44 + 46: TypeVector 37(float) 3 + 47: TypePointer Function 46(fvec3) + 49: 37(float) Constant 1719614413 1073127582 + 50: 46(fvec3) ConstantComposite 49 49 49 + 51: TypeVector 37(float) 4 + 52: TypePointer Function 51(fvec4) + 426: TypeBool + 427: TypePointer Function 426(bool) + 435: TypeVector 426(bool) 2 + 436: TypePointer Function 435(bvec2) + 444: TypeVector 426(bool) 3 + 445: TypePointer Function 444(bvec3) + 453: TypeVector 426(bool) 4 + 454: TypePointer Function 453(bvec4) + 561: 426(bool) ConstantFalse + 570: 435(bvec2) ConstantComposite 561 561 + 579: 444(bvec3) ConstantComposite 561 561 561 + 588: 453(bvec4) ConstantComposite 561 561 561 561 + 735: TypeMatrix 41(fvec2) 2 + 736: TypePointer Function 735 + 741: TypeMatrix 46(fvec3) 3 + 742: TypePointer Function 741 + 747: TypeMatrix 51(fvec4) 4 + 748: TypePointer Function 747 + 753: TypeMatrix 46(fvec3) 2 + 754: TypePointer Function 753 + 759: TypeMatrix 41(fvec2) 3 + 760: TypePointer Function 759 + 765: TypeMatrix 51(fvec4) 2 + 766: TypePointer Function 765 + 771: TypeMatrix 41(fvec2) 4 + 772: TypePointer Function 771 + 777: TypeMatrix 51(fvec4) 3 + 778: TypePointer Function 777 + 783: TypeMatrix 46(fvec3) 4 + 784: TypePointer Function 783 + 952: 30(int) Constant 1 + 956: 30(int) Constant 2 + 960: 30(int) Constant 3 + 964: 23(int) Constant 1 + 968: 23(int) Constant 2 + 994: 10(float) Constant 1065353216 + 1016: TypePointer Function 11(fvec4) + 1018: TypeImage 10(float) 2D sampled format:Unknown + 1019: TypeSampledImage 1018 + 1020: 30(int) Constant 5 + 1021: TypeArray 1019 1020 + 1022: TypePointer UniformConstant 1021 +1023(arrayedSampler): 1022(ptr) Variable UniformConstant + 1024: TypePointer Input 23(int) + 1025(i): 1024(ptr) Variable Input + 1027: TypePointer UniformConstant 1019 + 1030: TypePointer Input 20(fvec2) + 1031(c2D): 1030(ptr) Variable Input + 1034: TypeArray 10(float) 956 + 1035: TypePointer Input 1034 +1036(gl_ClipDistance): 1035(ptr) Variable Input + 1037: TypePointer Input 10(float) + 1041: TypeVector 10(float) 3 + 1046: TypeVector 30(int) 4 + 1047: TypePointer Output 1046(ivec4) + 1048(uoutp): 1047(ptr) Variable Output + 1049: TypeImage 30(int) Rect sampled format:Unknown + 1050: TypeSampledImage 1049 + 1051: TypePointer UniformConstant 1050 + 1052(samp2dr): 1051(ptr) Variable UniformConstant + 1055: 30(int) Constant 4 + 1056: TypeArray 24(ivec2) 1055 + 1057: 24(ivec2) ConstantComposite 964 968 + 1058: 23(int) Constant 15 + 1059: 23(int) Constant 16 + 1060: 24(ivec2) ConstantComposite 1058 1059 + 1061: 23(int) Constant 4294967294 + 1062: 23(int) Constant 0 + 1063: 24(ivec2) ConstantComposite 1061 1062 + 1064: 1056 ConstantComposite 1057 27 1060 1063 + 1072: TypeVector 23(int) 4 + 1073: TypePointer Output 1072(ivec4) + 1074(ioutp): 1073(ptr) Variable Output + 1075: TypeImage 23(int) 2D array sampled format:Unknown + 1076: TypeSampledImage 1075 + 1077: TypePointer UniformConstant 1076 + 1078(isamp2DA): 1077(ptr) Variable UniformConstant + 1080: 10(float) Constant 1036831949 + 1081: 1041(fvec3) ConstantComposite 1080 1080 1080 + 1082: 24(ivec2) ConstantComposite 964 964 + 1094: TypePointer Input 11(fvec4) +1095(gl_FragCoord): 1094(ptr) Variable Input + 1097(vl2): 1094(ptr) Variable Input 4(main): 2 Function None 3 5: Label - 36(v): 35(ptr) Variable Function - 45: 21(int) Load 44(i) - 47: 46(ptr) AccessChain 42(arrayedSampler) 45 - 48: 38 Load 47 - 51: 18(fvec2) Load 50(c2D) - 52: 9(fvec4) ImageSampleImplicitLod 48 51 - Store 36(v) 52 - 59: 58(ptr) AccessChain 56(gl_ClipDistance) 57 - 60: 8(float) Load 59 - 61: 30(ptr) AccessChain 11(outp) 29 - Store 61 60 - 63: 9(fvec4) Load 36(v) - 64: 62(fvec3) VectorShuffle 63 63 1 2 3 - 65: 9(fvec4) Load 11(outp) - 66: 9(fvec4) VectorShuffle 65 64 0 4 5 6 - Store 11(outp) 66 - 74: 71 Load 73(samp2dr) - 75: 18(fvec2) Load 50(c2D) - 87: 67(ivec4) ImageGather 74 75 78 ConstOffsets 86 - Store 69(uoutp) 87 - 88: 46(ptr) AccessChain 42(arrayedSampler) 84 - 89: 38 Load 88 - 90: 18(fvec2) Load 50(c2D) - 91: 9(fvec4) ImageGather 89 90 84 - 92: 9(fvec4) Load 11(outp) - 93: 9(fvec4) FAdd 92 91 - Store 11(outp) 93 - 101: 98 Load 100(isamp2DA) - 105: 94(ivec4) ImageGather 101 103 23 ConstOffset 104 - Store 96(ioutp) 105 - 106: 98 Load 100(isamp2DA) - 107: 94(ivec4) ImageGather 106 103 23 ConstOffset 104 - 108: 94(ivec4) Load 96(ioutp) - 109: 94(ivec4) IAdd 108 107 - Store 96(ioutp) 109 - 110: 98 Load 100(isamp2DA) - 111: 21(int) Load 44(i) - 112: 22(ivec2) CompositeConstruct 111 111 - 113: 94(ivec4) ImageGather 110 103 84 Offset 112 - 114: 94(ivec4) Load 96(ioutp) - 115: 94(ivec4) IAdd 114 113 - Store 96(ioutp) 115 - 118: 9(fvec4) Load 117(gl_FragCoord) - 120: 9(fvec4) Load 119(vl2) - 121: 9(fvec4) FAdd 118 120 - 122: 9(fvec4) Load 11(outp) - 123: 9(fvec4) FAdd 122 121 - Store 11(outp) 123 - 124: 2 FunctionCall 6(foo23() + 1017(v): 1016(ptr) Variable Function + 1026: 23(int) Load 1025(i) + 1028: 1027(ptr) AccessChain 1023(arrayedSampler) 1026 + 1029: 1019 Load 1028 + 1032: 20(fvec2) Load 1031(c2D) + 1033: 11(fvec4) ImageSampleImplicitLod 1029 1032 + Store 1017(v) 1033 + 1038: 1037(ptr) AccessChain 1036(gl_ClipDistance) 964 + 1039: 10(float) Load 1038 + 1040: 32(ptr) AccessChain 13(outp) 31 + Store 1040 1039 + 1042: 11(fvec4) Load 1017(v) + 1043: 1041(fvec3) VectorShuffle 1042 1042 1 2 3 + 1044: 11(fvec4) Load 13(outp) + 1045: 11(fvec4) VectorShuffle 1044 1043 0 4 5 6 + Store 13(outp) 1045 + 1053: 1050 Load 1052(samp2dr) + 1054: 20(fvec2) Load 1031(c2D) + 1065: 1046(ivec4) ImageGather 1053 1054 968 ConstOffsets 1064 + Store 1048(uoutp) 1065 + 1066: 1027(ptr) AccessChain 1023(arrayedSampler) 1062 + 1067: 1019 Load 1066 + 1068: 20(fvec2) Load 1031(c2D) + 1069: 11(fvec4) ImageGather 1067 1068 1062 + 1070: 11(fvec4) Load 13(outp) + 1071: 11(fvec4) FAdd 1070 1069 + Store 13(outp) 1071 + 1079: 1076 Load 1078(isamp2DA) + 1083: 1072(ivec4) ImageGather 1079 1081 25 ConstOffset 1082 + Store 1074(ioutp) 1083 + 1084: 1076 Load 1078(isamp2DA) + 1085: 1072(ivec4) ImageGather 1084 1081 25 ConstOffset 1082 + 1086: 1072(ivec4) Load 1074(ioutp) + 1087: 1072(ivec4) IAdd 1086 1085 + Store 1074(ioutp) 1087 + 1088: 1076 Load 1078(isamp2DA) + 1089: 23(int) Load 1025(i) + 1090: 24(ivec2) CompositeConstruct 1089 1089 + 1091: 1072(ivec4) ImageGather 1088 1081 1062 Offset 1090 + 1092: 1072(ivec4) Load 1074(ioutp) + 1093: 1072(ivec4) IAdd 1092 1091 + Store 1074(ioutp) 1093 + 1096: 11(fvec4) Load 1095(gl_FragCoord) + 1098: 11(fvec4) Load 1097(vl2) + 1099: 11(fvec4) FAdd 1096 1098 + 1100: 11(fvec4) Load 13(outp) + 1101: 11(fvec4) FAdd 1100 1099 + Store 13(outp) 1101 + 1102: 2 FunctionCall 6(foo23() + 1103: 2 FunctionCall 8(doubles() Return FunctionEnd 6(foo23(): 2 Function None 3 7: Label - 16: 13 Load 15(u2drs) - 17: 9(fvec4) Load 11(outp) - 26: 8(float) CompositeExtract 17 2 - 27: 8(float) ImageSampleProjDrefExplicitLod 16 17 26 Grad ConstOffset 20 20 25 - 31: 30(ptr) AccessChain 11(outp) 29 - 32: 8(float) Load 31 - 33: 8(float) FAdd 32 27 - 34: 30(ptr) AccessChain 11(outp) 29 - Store 34 33 + 18: 15 Load 17(u2drs) + 19: 11(fvec4) Load 13(outp) + 28: 10(float) CompositeExtract 19 2 + 29: 10(float) ImageSampleProjDrefExplicitLod 18 19 28 Grad ConstOffset 22 22 27 + 33: 32(ptr) AccessChain 13(outp) 31 + 34: 10(float) Load 33 + 35: 10(float) FAdd 34 29 + 36: 32(ptr) AccessChain 13(outp) 31 + Store 36 35 + Return + FunctionEnd + 8(doubles(): 2 Function None 3 + 9: Label + 39(doublev): 38(ptr) Variable Function + 43(dvec2v): 42(ptr) Variable Function + 48(dvec3v): 47(ptr) Variable Function + 53(dvec4v): 52(ptr) Variable Function + 428(boolv): 427(ptr) Variable Function + 437(bvec2v): 436(ptr) Variable Function + 446(bvec3v): 445(ptr) Variable Function + 455(bvec4v): 454(ptr) Variable Function + 554: 427(ptr) Variable Function + 563: 436(ptr) Variable Function + 572: 445(ptr) Variable Function + 581: 454(ptr) Variable Function + 737(dmat2v): 736(ptr) Variable Function + 743(dmat3v): 742(ptr) Variable Function + 749(dmat4v): 748(ptr) Variable Function + 755(dmat2x3v): 754(ptr) Variable Function + 761(dmat3x2v): 760(ptr) Variable Function + 767(dmat2x4v): 766(ptr) Variable Function + 773(dmat4x2v): 772(ptr) Variable Function + 779(dmat3x4v): 778(ptr) Variable Function + 785(dmat4x3v): 784(ptr) Variable Function + Store 39(doublev) 40 + Store 43(dvec2v) 45 + Store 48(dvec3v) 50 + 54: 37(float) Load 39(doublev) + 55: 51(fvec4) CompositeConstruct 54 54 54 54 + 56: 51(fvec4) ExtInst 1(GLSL.std.450) 31(Sqrt) 55 + Store 53(dvec4v) 56 + 57: 37(float) Load 39(doublev) + 58: 37(float) ExtInst 1(GLSL.std.450) 32(InverseSqrt) 57 + 59: 37(float) Load 39(doublev) + 60: 37(float) FAdd 59 58 + Store 39(doublev) 60 + 61: 41(fvec2) Load 43(dvec2v) + 62: 41(fvec2) ExtInst 1(GLSL.std.450) 32(InverseSqrt) 61 + 63: 41(fvec2) Load 43(dvec2v) + 64: 41(fvec2) FAdd 63 62 + Store 43(dvec2v) 64 + 65: 46(fvec3) Load 48(dvec3v) + 66: 46(fvec3) ExtInst 1(GLSL.std.450) 32(InverseSqrt) 65 + 67: 46(fvec3) Load 48(dvec3v) + 68: 46(fvec3) FAdd 67 66 + Store 48(dvec3v) 68 + 69: 51(fvec4) Load 53(dvec4v) + 70: 51(fvec4) ExtInst 1(GLSL.std.450) 32(InverseSqrt) 69 + 71: 51(fvec4) Load 53(dvec4v) + 72: 51(fvec4) FAdd 71 70 + Store 53(dvec4v) 72 + 73: 37(float) Load 39(doublev) + 74: 37(float) ExtInst 1(GLSL.std.450) 4(FAbs) 73 + 75: 37(float) Load 39(doublev) + 76: 37(float) FAdd 75 74 + Store 39(doublev) 76 + 77: 41(fvec2) Load 43(dvec2v) + 78: 41(fvec2) ExtInst 1(GLSL.std.450) 4(FAbs) 77 + 79: 41(fvec2) Load 43(dvec2v) + 80: 41(fvec2) FAdd 79 78 + Store 43(dvec2v) 80 + 81: 46(fvec3) Load 48(dvec3v) + 82: 46(fvec3) ExtInst 1(GLSL.std.450) 4(FAbs) 81 + 83: 46(fvec3) Load 48(dvec3v) + 84: 46(fvec3) FAdd 83 82 + Store 48(dvec3v) 84 + 85: 51(fvec4) Load 53(dvec4v) + 86: 51(fvec4) ExtInst 1(GLSL.std.450) 4(FAbs) 85 + 87: 51(fvec4) Load 53(dvec4v) + 88: 51(fvec4) FAdd 87 86 + Store 53(dvec4v) 88 + 89: 37(float) Load 39(doublev) + 90: 37(float) ExtInst 1(GLSL.std.450) 6(FSign) 89 + 91: 37(float) Load 39(doublev) + 92: 37(float) FAdd 91 90 + Store 39(doublev) 92 + 93: 41(fvec2) Load 43(dvec2v) + 94: 41(fvec2) ExtInst 1(GLSL.std.450) 6(FSign) 93 + 95: 41(fvec2) Load 43(dvec2v) + 96: 41(fvec2) FAdd 95 94 + Store 43(dvec2v) 96 + 97: 46(fvec3) Load 48(dvec3v) + 98: 46(fvec3) ExtInst 1(GLSL.std.450) 6(FSign) 97 + 99: 46(fvec3) Load 48(dvec3v) + 100: 46(fvec3) FAdd 99 98 + Store 48(dvec3v) 100 + 101: 51(fvec4) Load 53(dvec4v) + 102: 51(fvec4) ExtInst 1(GLSL.std.450) 6(FSign) 101 + 103: 51(fvec4) Load 53(dvec4v) + 104: 51(fvec4) FAdd 103 102 + Store 53(dvec4v) 104 + 105: 37(float) Load 39(doublev) + 106: 37(float) ExtInst 1(GLSL.std.450) 8(Floor) 105 + 107: 37(float) Load 39(doublev) + 108: 37(float) FAdd 107 106 + Store 39(doublev) 108 + 109: 41(fvec2) Load 43(dvec2v) + 110: 41(fvec2) ExtInst 1(GLSL.std.450) 8(Floor) 109 + 111: 41(fvec2) Load 43(dvec2v) + 112: 41(fvec2) FAdd 111 110 + Store 43(dvec2v) 112 + 113: 46(fvec3) Load 48(dvec3v) + 114: 46(fvec3) ExtInst 1(GLSL.std.450) 8(Floor) 113 + 115: 46(fvec3) Load 48(dvec3v) + 116: 46(fvec3) FAdd 115 114 + Store 48(dvec3v) 116 + 117: 51(fvec4) Load 53(dvec4v) + 118: 51(fvec4) ExtInst 1(GLSL.std.450) 8(Floor) 117 + 119: 51(fvec4) Load 53(dvec4v) + 120: 51(fvec4) FAdd 119 118 + Store 53(dvec4v) 120 + 121: 37(float) Load 39(doublev) + 122: 37(float) ExtInst 1(GLSL.std.450) 3(Trunc) 121 + 123: 37(float) Load 39(doublev) + 124: 37(float) FAdd 123 122 + Store 39(doublev) 124 + 125: 41(fvec2) Load 43(dvec2v) + 126: 41(fvec2) ExtInst 1(GLSL.std.450) 3(Trunc) 125 + 127: 41(fvec2) Load 43(dvec2v) + 128: 41(fvec2) FAdd 127 126 + Store 43(dvec2v) 128 + 129: 46(fvec3) Load 48(dvec3v) + 130: 46(fvec3) ExtInst 1(GLSL.std.450) 3(Trunc) 129 + 131: 46(fvec3) Load 48(dvec3v) + 132: 46(fvec3) FAdd 131 130 + Store 48(dvec3v) 132 + 133: 51(fvec4) Load 53(dvec4v) + 134: 51(fvec4) ExtInst 1(GLSL.std.450) 3(Trunc) 133 + 135: 51(fvec4) Load 53(dvec4v) + 136: 51(fvec4) FAdd 135 134 + Store 53(dvec4v) 136 + 137: 37(float) Load 39(doublev) + 138: 37(float) ExtInst 1(GLSL.std.450) 1(Round) 137 + 139: 37(float) Load 39(doublev) + 140: 37(float) FAdd 139 138 + Store 39(doublev) 140 + 141: 41(fvec2) Load 43(dvec2v) + 142: 41(fvec2) ExtInst 1(GLSL.std.450) 1(Round) 141 + 143: 41(fvec2) Load 43(dvec2v) + 144: 41(fvec2) FAdd 143 142 + Store 43(dvec2v) 144 + 145: 46(fvec3) Load 48(dvec3v) + 146: 46(fvec3) ExtInst 1(GLSL.std.450) 1(Round) 145 + 147: 46(fvec3) Load 48(dvec3v) + 148: 46(fvec3) FAdd 147 146 + Store 48(dvec3v) 148 + 149: 51(fvec4) Load 53(dvec4v) + 150: 51(fvec4) ExtInst 1(GLSL.std.450) 1(Round) 149 + 151: 51(fvec4) Load 53(dvec4v) + 152: 51(fvec4) FAdd 151 150 + Store 53(dvec4v) 152 + 153: 37(float) Load 39(doublev) + 154: 37(float) ExtInst 1(GLSL.std.450) 2(RoundEven) 153 + 155: 37(float) Load 39(doublev) + 156: 37(float) FAdd 155 154 + Store 39(doublev) 156 + 157: 41(fvec2) Load 43(dvec2v) + 158: 41(fvec2) ExtInst 1(GLSL.std.450) 2(RoundEven) 157 + 159: 41(fvec2) Load 43(dvec2v) + 160: 41(fvec2) FAdd 159 158 + Store 43(dvec2v) 160 + 161: 46(fvec3) Load 48(dvec3v) + 162: 46(fvec3) ExtInst 1(GLSL.std.450) 2(RoundEven) 161 + 163: 46(fvec3) Load 48(dvec3v) + 164: 46(fvec3) FAdd 163 162 + Store 48(dvec3v) 164 + 165: 51(fvec4) Load 53(dvec4v) + 166: 51(fvec4) ExtInst 1(GLSL.std.450) 2(RoundEven) 165 + 167: 51(fvec4) Load 53(dvec4v) + 168: 51(fvec4) FAdd 167 166 + Store 53(dvec4v) 168 + 169: 37(float) Load 39(doublev) + 170: 37(float) ExtInst 1(GLSL.std.450) 9(Ceil) 169 + 171: 37(float) Load 39(doublev) + 172: 37(float) FAdd 171 170 + Store 39(doublev) 172 + 173: 41(fvec2) Load 43(dvec2v) + 174: 41(fvec2) ExtInst 1(GLSL.std.450) 9(Ceil) 173 + 175: 41(fvec2) Load 43(dvec2v) + 176: 41(fvec2) FAdd 175 174 + Store 43(dvec2v) 176 + 177: 46(fvec3) Load 48(dvec3v) + 178: 46(fvec3) ExtInst 1(GLSL.std.450) 9(Ceil) 177 + 179: 46(fvec3) Load 48(dvec3v) + 180: 46(fvec3) FAdd 179 178 + Store 48(dvec3v) 180 + 181: 51(fvec4) Load 53(dvec4v) + 182: 51(fvec4) ExtInst 1(GLSL.std.450) 9(Ceil) 181 + 183: 51(fvec4) Load 53(dvec4v) + 184: 51(fvec4) FAdd 183 182 + Store 53(dvec4v) 184 + 185: 37(float) Load 39(doublev) + 186: 37(float) ExtInst 1(GLSL.std.450) 10(Fract) 185 + 187: 37(float) Load 39(doublev) + 188: 37(float) FAdd 187 186 + Store 39(doublev) 188 + 189: 41(fvec2) Load 43(dvec2v) + 190: 41(fvec2) ExtInst 1(GLSL.std.450) 10(Fract) 189 + 191: 41(fvec2) Load 43(dvec2v) + 192: 41(fvec2) FAdd 191 190 + Store 43(dvec2v) 192 + 193: 46(fvec3) Load 48(dvec3v) + 194: 46(fvec3) ExtInst 1(GLSL.std.450) 10(Fract) 193 + 195: 46(fvec3) Load 48(dvec3v) + 196: 46(fvec3) FAdd 195 194 + Store 48(dvec3v) 196 + 197: 51(fvec4) Load 53(dvec4v) + 198: 51(fvec4) ExtInst 1(GLSL.std.450) 10(Fract) 197 + 199: 51(fvec4) Load 53(dvec4v) + 200: 51(fvec4) FAdd 199 198 + Store 53(dvec4v) 200 + 201: 37(float) Load 39(doublev) + 202: 37(float) Load 39(doublev) + 203: 37(float) FMod 201 202 + 204: 37(float) Load 39(doublev) + 205: 37(float) FAdd 204 203 + Store 39(doublev) 205 + 206: 41(fvec2) Load 43(dvec2v) + 207: 37(float) Load 39(doublev) + 208: 41(fvec2) CompositeConstruct 207 207 + 209: 41(fvec2) FMod 206 208 + 210: 41(fvec2) Load 43(dvec2v) + 211: 41(fvec2) FAdd 210 209 + Store 43(dvec2v) 211 + 212: 46(fvec3) Load 48(dvec3v) + 213: 37(float) Load 39(doublev) + 214: 46(fvec3) CompositeConstruct 213 213 213 + 215: 46(fvec3) FMod 212 214 + 216: 46(fvec3) Load 48(dvec3v) + 217: 46(fvec3) FAdd 216 215 + Store 48(dvec3v) 217 + 218: 51(fvec4) Load 53(dvec4v) + 219: 37(float) Load 39(doublev) + 220: 51(fvec4) CompositeConstruct 219 219 219 219 + 221: 51(fvec4) FMod 218 220 + 222: 51(fvec4) Load 53(dvec4v) + 223: 51(fvec4) FAdd 222 221 + Store 53(dvec4v) 223 + 224: 41(fvec2) Load 43(dvec2v) + 225: 41(fvec2) Load 43(dvec2v) + 226: 41(fvec2) FMod 224 225 + 227: 41(fvec2) Load 43(dvec2v) + 228: 41(fvec2) FAdd 227 226 + Store 43(dvec2v) 228 + 229: 46(fvec3) Load 48(dvec3v) + 230: 46(fvec3) Load 48(dvec3v) + 231: 46(fvec3) FMod 229 230 + 232: 46(fvec3) Load 48(dvec3v) + 233: 46(fvec3) FAdd 232 231 + Store 48(dvec3v) 233 + 234: 51(fvec4) Load 53(dvec4v) + 235: 51(fvec4) Load 53(dvec4v) + 236: 51(fvec4) FMod 234 235 + 237: 51(fvec4) Load 53(dvec4v) + 238: 51(fvec4) FAdd 237 236 + Store 53(dvec4v) 238 + 239: 37(float) Load 39(doublev) + 240: 37(float) ExtInst 1(GLSL.std.450) 35(Modf) 239 39(doublev) + 241: 37(float) Load 39(doublev) + 242: 37(float) FAdd 241 240 + Store 39(doublev) 242 + 243: 41(fvec2) Load 43(dvec2v) + 244: 41(fvec2) ExtInst 1(GLSL.std.450) 35(Modf) 243 43(dvec2v) + 245: 41(fvec2) Load 43(dvec2v) + 246: 41(fvec2) FAdd 245 244 + Store 43(dvec2v) 246 + 247: 46(fvec3) Load 48(dvec3v) + 248: 46(fvec3) ExtInst 1(GLSL.std.450) 35(Modf) 247 48(dvec3v) + 249: 46(fvec3) Load 48(dvec3v) + 250: 46(fvec3) FAdd 249 248 + Store 48(dvec3v) 250 + 251: 51(fvec4) Load 53(dvec4v) + 252: 51(fvec4) ExtInst 1(GLSL.std.450) 35(Modf) 251 53(dvec4v) + 253: 51(fvec4) Load 53(dvec4v) + 254: 51(fvec4) FAdd 253 252 + Store 53(dvec4v) 254 + 255: 37(float) Load 39(doublev) + 256: 37(float) Load 39(doublev) + 257: 37(float) ExtInst 1(GLSL.std.450) 37(FMin) 255 256 + 258: 37(float) Load 39(doublev) + 259: 37(float) FAdd 258 257 + Store 39(doublev) 259 + 260: 41(fvec2) Load 43(dvec2v) + 261: 37(float) Load 39(doublev) + 262: 41(fvec2) CompositeConstruct 261 261 + 263: 41(fvec2) ExtInst 1(GLSL.std.450) 37(FMin) 260 262 + 264: 41(fvec2) Load 43(dvec2v) + 265: 41(fvec2) FAdd 264 263 + Store 43(dvec2v) 265 + 266: 46(fvec3) Load 48(dvec3v) + 267: 37(float) Load 39(doublev) + 268: 46(fvec3) CompositeConstruct 267 267 267 + 269: 46(fvec3) ExtInst 1(GLSL.std.450) 37(FMin) 266 268 + 270: 46(fvec3) Load 48(dvec3v) + 271: 46(fvec3) FAdd 270 269 + Store 48(dvec3v) 271 + 272: 51(fvec4) Load 53(dvec4v) + 273: 37(float) Load 39(doublev) + 274: 51(fvec4) CompositeConstruct 273 273 273 273 + 275: 51(fvec4) ExtInst 1(GLSL.std.450) 37(FMin) 272 274 + 276: 51(fvec4) Load 53(dvec4v) + 277: 51(fvec4) FAdd 276 275 + Store 53(dvec4v) 277 + 278: 41(fvec2) Load 43(dvec2v) + 279: 41(fvec2) Load 43(dvec2v) + 280: 41(fvec2) ExtInst 1(GLSL.std.450) 37(FMin) 278 279 + 281: 41(fvec2) Load 43(dvec2v) + 282: 41(fvec2) FAdd 281 280 + Store 43(dvec2v) 282 + 283: 46(fvec3) Load 48(dvec3v) + 284: 46(fvec3) Load 48(dvec3v) + 285: 46(fvec3) ExtInst 1(GLSL.std.450) 37(FMin) 283 284 + 286: 46(fvec3) Load 48(dvec3v) + 287: 46(fvec3) FAdd 286 285 + Store 48(dvec3v) 287 + 288: 51(fvec4) Load 53(dvec4v) + 289: 51(fvec4) Load 53(dvec4v) + 290: 51(fvec4) ExtInst 1(GLSL.std.450) 37(FMin) 288 289 + 291: 51(fvec4) Load 53(dvec4v) + 292: 51(fvec4) FAdd 291 290 + Store 53(dvec4v) 292 + 293: 37(float) Load 39(doublev) + 294: 37(float) Load 39(doublev) + 295: 37(float) ExtInst 1(GLSL.std.450) 40(FMax) 293 294 + 296: 37(float) Load 39(doublev) + 297: 37(float) FAdd 296 295 + Store 39(doublev) 297 + 298: 41(fvec2) Load 43(dvec2v) + 299: 37(float) Load 39(doublev) + 300: 41(fvec2) CompositeConstruct 299 299 + 301: 41(fvec2) ExtInst 1(GLSL.std.450) 40(FMax) 298 300 + 302: 41(fvec2) Load 43(dvec2v) + 303: 41(fvec2) FAdd 302 301 + Store 43(dvec2v) 303 + 304: 46(fvec3) Load 48(dvec3v) + 305: 37(float) Load 39(doublev) + 306: 46(fvec3) CompositeConstruct 305 305 305 + 307: 46(fvec3) ExtInst 1(GLSL.std.450) 40(FMax) 304 306 + 308: 46(fvec3) Load 48(dvec3v) + 309: 46(fvec3) FAdd 308 307 + Store 48(dvec3v) 309 + 310: 51(fvec4) Load 53(dvec4v) + 311: 37(float) Load 39(doublev) + 312: 51(fvec4) CompositeConstruct 311 311 311 311 + 313: 51(fvec4) ExtInst 1(GLSL.std.450) 40(FMax) 310 312 + 314: 51(fvec4) Load 53(dvec4v) + 315: 51(fvec4) FAdd 314 313 + Store 53(dvec4v) 315 + 316: 41(fvec2) Load 43(dvec2v) + 317: 41(fvec2) Load 43(dvec2v) + 318: 41(fvec2) ExtInst 1(GLSL.std.450) 40(FMax) 316 317 + 319: 41(fvec2) Load 43(dvec2v) + 320: 41(fvec2) FAdd 319 318 + Store 43(dvec2v) 320 + 321: 46(fvec3) Load 48(dvec3v) + 322: 46(fvec3) Load 48(dvec3v) + 323: 46(fvec3) ExtInst 1(GLSL.std.450) 40(FMax) 321 322 + 324: 46(fvec3) Load 48(dvec3v) + 325: 46(fvec3) FAdd 324 323 + Store 48(dvec3v) 325 + 326: 51(fvec4) Load 53(dvec4v) + 327: 51(fvec4) Load 53(dvec4v) + 328: 51(fvec4) ExtInst 1(GLSL.std.450) 40(FMax) 326 327 + 329: 51(fvec4) Load 53(dvec4v) + 330: 51(fvec4) FAdd 329 328 + Store 53(dvec4v) 330 + 331: 37(float) Load 39(doublev) + 332: 37(float) Load 39(doublev) + 333: 37(float) Load 39(doublev) + 334: 37(float) ExtInst 1(GLSL.std.450) 43(FClamp) 331 332 333 + 335: 37(float) Load 39(doublev) + 336: 37(float) FAdd 335 334 + Store 39(doublev) 336 + 337: 41(fvec2) Load 43(dvec2v) + 338: 37(float) Load 39(doublev) + 339: 37(float) Load 39(doublev) + 340: 41(fvec2) CompositeConstruct 338 338 + 341: 41(fvec2) CompositeConstruct 339 339 + 342: 41(fvec2) ExtInst 1(GLSL.std.450) 43(FClamp) 337 340 341 + 343: 41(fvec2) Load 43(dvec2v) + 344: 41(fvec2) FAdd 343 342 + Store 43(dvec2v) 344 + 345: 46(fvec3) Load 48(dvec3v) + 346: 37(float) Load 39(doublev) + 347: 37(float) Load 39(doublev) + 348: 46(fvec3) CompositeConstruct 346 346 346 + 349: 46(fvec3) CompositeConstruct 347 347 347 + 350: 46(fvec3) ExtInst 1(GLSL.std.450) 43(FClamp) 345 348 349 + 351: 46(fvec3) Load 48(dvec3v) + 352: 46(fvec3) FAdd 351 350 + Store 48(dvec3v) 352 + 353: 51(fvec4) Load 53(dvec4v) + 354: 37(float) Load 39(doublev) + 355: 37(float) Load 39(doublev) + 356: 51(fvec4) CompositeConstruct 354 354 354 354 + 357: 51(fvec4) CompositeConstruct 355 355 355 355 + 358: 51(fvec4) ExtInst 1(GLSL.std.450) 43(FClamp) 353 356 357 + 359: 51(fvec4) Load 53(dvec4v) + 360: 51(fvec4) FAdd 359 358 + Store 53(dvec4v) 360 + 361: 41(fvec2) Load 43(dvec2v) + 362: 41(fvec2) Load 43(dvec2v) + 363: 41(fvec2) Load 43(dvec2v) + 364: 41(fvec2) ExtInst 1(GLSL.std.450) 43(FClamp) 361 362 363 + 365: 41(fvec2) Load 43(dvec2v) + 366: 41(fvec2) FAdd 365 364 + Store 43(dvec2v) 366 + 367: 46(fvec3) Load 48(dvec3v) + 368: 46(fvec3) Load 48(dvec3v) + 369: 46(fvec3) Load 48(dvec3v) + 370: 46(fvec3) ExtInst 1(GLSL.std.450) 43(FClamp) 367 368 369 + 371: 46(fvec3) Load 48(dvec3v) + 372: 46(fvec3) FAdd 371 370 + Store 48(dvec3v) 372 + 373: 51(fvec4) Load 53(dvec4v) + 374: 51(fvec4) Load 53(dvec4v) + 375: 51(fvec4) Load 53(dvec4v) + 376: 51(fvec4) ExtInst 1(GLSL.std.450) 43(FClamp) 373 374 375 + 377: 51(fvec4) Load 53(dvec4v) + 378: 51(fvec4) FAdd 377 376 + Store 53(dvec4v) 378 + 379: 37(float) Load 39(doublev) + 380: 37(float) Load 39(doublev) + 381: 37(float) Load 39(doublev) + 382: 37(float) ExtInst 1(GLSL.std.450) 46(FMix) 379 380 381 + 383: 37(float) Load 39(doublev) + 384: 37(float) FAdd 383 382 + Store 39(doublev) 384 + 385: 41(fvec2) Load 43(dvec2v) + 386: 41(fvec2) Load 43(dvec2v) + 387: 37(float) Load 39(doublev) + 388: 41(fvec2) CompositeConstruct 387 387 + 389: 41(fvec2) ExtInst 1(GLSL.std.450) 46(FMix) 385 386 388 + 390: 41(fvec2) Load 43(dvec2v) + 391: 41(fvec2) FAdd 390 389 + Store 43(dvec2v) 391 + 392: 46(fvec3) Load 48(dvec3v) + 393: 46(fvec3) Load 48(dvec3v) + 394: 37(float) Load 39(doublev) + 395: 46(fvec3) CompositeConstruct 394 394 394 + 396: 46(fvec3) ExtInst 1(GLSL.std.450) 46(FMix) 392 393 395 + 397: 46(fvec3) Load 48(dvec3v) + 398: 46(fvec3) FAdd 397 396 + Store 48(dvec3v) 398 + 399: 51(fvec4) Load 53(dvec4v) + 400: 51(fvec4) Load 53(dvec4v) + 401: 37(float) Load 39(doublev) + 402: 51(fvec4) CompositeConstruct 401 401 401 401 + 403: 51(fvec4) ExtInst 1(GLSL.std.450) 46(FMix) 399 400 402 + 404: 51(fvec4) Load 53(dvec4v) + 405: 51(fvec4) FAdd 404 403 + Store 53(dvec4v) 405 + 406: 41(fvec2) Load 43(dvec2v) + 407: 41(fvec2) Load 43(dvec2v) + 408: 41(fvec2) Load 43(dvec2v) + 409: 41(fvec2) ExtInst 1(GLSL.std.450) 46(FMix) 406 407 408 + 410: 41(fvec2) Load 43(dvec2v) + 411: 41(fvec2) FAdd 410 409 + Store 43(dvec2v) 411 + 412: 46(fvec3) Load 48(dvec3v) + 413: 46(fvec3) Load 48(dvec3v) + 414: 46(fvec3) Load 48(dvec3v) + 415: 46(fvec3) ExtInst 1(GLSL.std.450) 46(FMix) 412 413 414 + 416: 46(fvec3) Load 48(dvec3v) + 417: 46(fvec3) FAdd 416 415 + Store 48(dvec3v) 417 + 418: 51(fvec4) Load 53(dvec4v) + 419: 51(fvec4) Load 53(dvec4v) + 420: 51(fvec4) Load 53(dvec4v) + 421: 51(fvec4) ExtInst 1(GLSL.std.450) 46(FMix) 418 419 420 + 422: 51(fvec4) Load 53(dvec4v) + 423: 51(fvec4) FAdd 422 421 + Store 53(dvec4v) 423 + 424: 37(float) Load 39(doublev) + 425: 37(float) Load 39(doublev) + 429: 426(bool) Load 428(boolv) + 430: 37(float) ExtInst 1(GLSL.std.450) 46(FMix) 424 425 429 + 431: 37(float) Load 39(doublev) + 432: 37(float) FAdd 431 430 + Store 39(doublev) 432 + 433: 41(fvec2) Load 43(dvec2v) + 434: 41(fvec2) Load 43(dvec2v) + 438: 435(bvec2) Load 437(bvec2v) + 439: 41(fvec2) ExtInst 1(GLSL.std.450) 46(FMix) 433 434 438 + 440: 41(fvec2) Load 43(dvec2v) + 441: 41(fvec2) FAdd 440 439 + Store 43(dvec2v) 441 + 442: 46(fvec3) Load 48(dvec3v) + 443: 46(fvec3) Load 48(dvec3v) + 447: 444(bvec3) Load 446(bvec3v) + 448: 46(fvec3) ExtInst 1(GLSL.std.450) 46(FMix) 442 443 447 + 449: 46(fvec3) Load 48(dvec3v) + 450: 46(fvec3) FAdd 449 448 + Store 48(dvec3v) 450 + 451: 51(fvec4) Load 53(dvec4v) + 452: 51(fvec4) Load 53(dvec4v) + 456: 453(bvec4) Load 455(bvec4v) + 457: 51(fvec4) ExtInst 1(GLSL.std.450) 46(FMix) 451 452 456 + 458: 51(fvec4) Load 53(dvec4v) + 459: 51(fvec4) FAdd 458 457 + Store 53(dvec4v) 459 + 460: 37(float) Load 39(doublev) + 461: 37(float) Load 39(doublev) + 462: 37(float) ExtInst 1(GLSL.std.450) 48(Step) 460 461 + 463: 37(float) Load 39(doublev) + 464: 37(float) FAdd 463 462 + Store 39(doublev) 464 + 465: 41(fvec2) Load 43(dvec2v) + 466: 41(fvec2) Load 43(dvec2v) + 467: 41(fvec2) ExtInst 1(GLSL.std.450) 48(Step) 465 466 + 468: 41(fvec2) Load 43(dvec2v) + 469: 41(fvec2) FAdd 468 467 + Store 43(dvec2v) 469 + 470: 46(fvec3) Load 48(dvec3v) + 471: 46(fvec3) Load 48(dvec3v) + 472: 46(fvec3) ExtInst 1(GLSL.std.450) 48(Step) 470 471 + 473: 46(fvec3) Load 48(dvec3v) + 474: 46(fvec3) FAdd 473 472 + Store 48(dvec3v) 474 + 475: 51(fvec4) Load 53(dvec4v) + 476: 51(fvec4) Load 53(dvec4v) + 477: 51(fvec4) ExtInst 1(GLSL.std.450) 48(Step) 475 476 + 478: 51(fvec4) Load 53(dvec4v) + 479: 51(fvec4) FAdd 478 477 + Store 53(dvec4v) 479 + 480: 37(float) Load 39(doublev) + 481: 41(fvec2) Load 43(dvec2v) + 482: 41(fvec2) CompositeConstruct 480 480 + 483: 41(fvec2) ExtInst 1(GLSL.std.450) 48(Step) 482 481 + 484: 41(fvec2) Load 43(dvec2v) + 485: 41(fvec2) FAdd 484 483 + Store 43(dvec2v) 485 + 486: 37(float) Load 39(doublev) + 487: 46(fvec3) Load 48(dvec3v) + 488: 46(fvec3) CompositeConstruct 486 486 486 + 489: 46(fvec3) ExtInst 1(GLSL.std.450) 48(Step) 488 487 + 490: 46(fvec3) Load 48(dvec3v) + 491: 46(fvec3) FAdd 490 489 + Store 48(dvec3v) 491 + 492: 37(float) Load 39(doublev) + 493: 51(fvec4) Load 53(dvec4v) + 494: 51(fvec4) CompositeConstruct 492 492 492 492 + 495: 51(fvec4) ExtInst 1(GLSL.std.450) 48(Step) 494 493 + 496: 51(fvec4) Load 53(dvec4v) + 497: 51(fvec4) FAdd 496 495 + Store 53(dvec4v) 497 + 498: 37(float) Load 39(doublev) + 499: 37(float) Load 39(doublev) + 500: 37(float) Load 39(doublev) + 501: 37(float) ExtInst 1(GLSL.std.450) 49(SmoothStep) 498 499 500 + 502: 37(float) Load 39(doublev) + 503: 37(float) FAdd 502 501 + Store 39(doublev) 503 + 504: 41(fvec2) Load 43(dvec2v) + 505: 41(fvec2) Load 43(dvec2v) + 506: 41(fvec2) Load 43(dvec2v) + 507: 41(fvec2) ExtInst 1(GLSL.std.450) 49(SmoothStep) 504 505 506 + 508: 41(fvec2) Load 43(dvec2v) + 509: 41(fvec2) FAdd 508 507 + Store 43(dvec2v) 509 + 510: 46(fvec3) Load 48(dvec3v) + 511: 46(fvec3) Load 48(dvec3v) + 512: 46(fvec3) Load 48(dvec3v) + 513: 46(fvec3) ExtInst 1(GLSL.std.450) 49(SmoothStep) 510 511 512 + 514: 46(fvec3) Load 48(dvec3v) + 515: 46(fvec3) FAdd 514 513 + Store 48(dvec3v) 515 + 516: 51(fvec4) Load 53(dvec4v) + 517: 51(fvec4) Load 53(dvec4v) + 518: 51(fvec4) Load 53(dvec4v) + 519: 51(fvec4) ExtInst 1(GLSL.std.450) 49(SmoothStep) 516 517 518 + 520: 51(fvec4) Load 53(dvec4v) + 521: 51(fvec4) FAdd 520 519 + Store 53(dvec4v) 521 + 522: 37(float) Load 39(doublev) + 523: 37(float) Load 39(doublev) + 524: 41(fvec2) Load 43(dvec2v) + 525: 41(fvec2) CompositeConstruct 522 522 + 526: 41(fvec2) CompositeConstruct 523 523 + 527: 41(fvec2) ExtInst 1(GLSL.std.450) 49(SmoothStep) 525 526 524 + 528: 41(fvec2) Load 43(dvec2v) + 529: 41(fvec2) FAdd 528 527 + Store 43(dvec2v) 529 + 530: 37(float) Load 39(doublev) + 531: 37(float) Load 39(doublev) + 532: 46(fvec3) Load 48(dvec3v) + 533: 46(fvec3) CompositeConstruct 530 530 530 + 534: 46(fvec3) CompositeConstruct 531 531 531 + 535: 46(fvec3) ExtInst 1(GLSL.std.450) 49(SmoothStep) 533 534 532 + 536: 46(fvec3) Load 48(dvec3v) + 537: 46(fvec3) FAdd 536 535 + Store 48(dvec3v) 537 + 538: 37(float) Load 39(doublev) + 539: 37(float) Load 39(doublev) + 540: 51(fvec4) Load 53(dvec4v) + 541: 51(fvec4) CompositeConstruct 538 538 538 538 + 542: 51(fvec4) CompositeConstruct 539 539 539 539 + 543: 51(fvec4) ExtInst 1(GLSL.std.450) 49(SmoothStep) 541 542 540 + 544: 51(fvec4) Load 53(dvec4v) + 545: 51(fvec4) FAdd 544 543 + Store 53(dvec4v) 545 + 546: 37(float) Load 39(doublev) + 547: 426(bool) IsNan 546 + Store 428(boolv) 547 + 548: 41(fvec2) Load 43(dvec2v) + 549: 435(bvec2) IsNan 548 + Store 437(bvec2v) 549 + 550: 46(fvec3) Load 48(dvec3v) + 551: 444(bvec3) IsNan 550 + Store 446(bvec3v) 551 + 552: 51(fvec4) Load 53(dvec4v) + 553: 453(bvec4) IsNan 552 + Store 455(bvec4v) 553 + 555: 426(bool) Load 428(boolv) + SelectionMerge 557 None + BranchConditional 555 556 560 + 556: Label + 558: 37(float) Load 39(doublev) + 559: 426(bool) IsInf 558 + Store 554 559 + Branch 557 + 560: Label + Store 554 561 + Branch 557 + 557: Label + 562: 426(bool) Load 554 + Store 428(boolv) 562 + 564: 426(bool) Load 428(boolv) + SelectionMerge 566 None + BranchConditional 564 565 569 + 565: Label + 567: 41(fvec2) Load 43(dvec2v) + 568: 435(bvec2) IsInf 567 + Store 563 568 + Branch 566 + 569: Label + Store 563 570 + Branch 566 + 566: Label + 571: 435(bvec2) Load 563 + Store 437(bvec2v) 571 + 573: 426(bool) Load 428(boolv) + SelectionMerge 575 None + BranchConditional 573 574 578 + 574: Label + 576: 46(fvec3) Load 48(dvec3v) + 577: 444(bvec3) IsInf 576 + Store 572 577 + Branch 575 + 578: Label + Store 572 579 + Branch 575 + 575: Label + 580: 444(bvec3) Load 572 + Store 446(bvec3v) 580 + 582: 426(bool) Load 428(boolv) + SelectionMerge 584 None + BranchConditional 582 583 587 + 583: Label + 585: 51(fvec4) Load 53(dvec4v) + 586: 453(bvec4) IsInf 585 + Store 581 586 + Branch 584 + 587: Label + Store 581 588 + Branch 584 + 584: Label + 589: 453(bvec4) Load 581 + Store 455(bvec4v) 589 + 590: 37(float) Load 39(doublev) + 591: 37(float) ExtInst 1(GLSL.std.450) 66(Length) 590 + 592: 37(float) Load 39(doublev) + 593: 37(float) FAdd 592 591 + Store 39(doublev) 593 + 594: 41(fvec2) Load 43(dvec2v) + 595: 37(float) ExtInst 1(GLSL.std.450) 66(Length) 594 + 596: 37(float) Load 39(doublev) + 597: 37(float) FAdd 596 595 + Store 39(doublev) 597 + 598: 46(fvec3) Load 48(dvec3v) + 599: 37(float) ExtInst 1(GLSL.std.450) 66(Length) 598 + 600: 37(float) Load 39(doublev) + 601: 37(float) FAdd 600 599 + Store 39(doublev) 601 + 602: 51(fvec4) Load 53(dvec4v) + 603: 37(float) ExtInst 1(GLSL.std.450) 66(Length) 602 + 604: 37(float) Load 39(doublev) + 605: 37(float) FAdd 604 603 + Store 39(doublev) 605 + 606: 37(float) Load 39(doublev) + 607: 37(float) Load 39(doublev) + 608: 37(float) ExtInst 1(GLSL.std.450) 67(Distance) 606 607 + 609: 37(float) Load 39(doublev) + 610: 37(float) FAdd 609 608 + Store 39(doublev) 610 + 611: 41(fvec2) Load 43(dvec2v) + 612: 41(fvec2) Load 43(dvec2v) + 613: 37(float) ExtInst 1(GLSL.std.450) 67(Distance) 611 612 + 614: 37(float) Load 39(doublev) + 615: 37(float) FAdd 614 613 + Store 39(doublev) 615 + 616: 46(fvec3) Load 48(dvec3v) + 617: 46(fvec3) Load 48(dvec3v) + 618: 37(float) ExtInst 1(GLSL.std.450) 67(Distance) 616 617 + 619: 37(float) Load 39(doublev) + 620: 37(float) FAdd 619 618 + Store 39(doublev) 620 + 621: 51(fvec4) Load 53(dvec4v) + 622: 51(fvec4) Load 53(dvec4v) + 623: 37(float) ExtInst 1(GLSL.std.450) 67(Distance) 621 622 + 624: 37(float) Load 39(doublev) + 625: 37(float) FAdd 624 623 + Store 39(doublev) 625 + 626: 37(float) Load 39(doublev) + 627: 37(float) Load 39(doublev) + 628: 37(float) FMul 626 627 + 629: 37(float) Load 39(doublev) + 630: 37(float) FAdd 629 628 + Store 39(doublev) 630 + 631: 41(fvec2) Load 43(dvec2v) + 632: 41(fvec2) Load 43(dvec2v) + 633: 37(float) Dot 631 632 + 634: 37(float) Load 39(doublev) + 635: 37(float) FAdd 634 633 + Store 39(doublev) 635 + 636: 46(fvec3) Load 48(dvec3v) + 637: 46(fvec3) Load 48(dvec3v) + 638: 37(float) Dot 636 637 + 639: 37(float) Load 39(doublev) + 640: 37(float) FAdd 639 638 + Store 39(doublev) 640 + 641: 51(fvec4) Load 53(dvec4v) + 642: 51(fvec4) Load 53(dvec4v) + 643: 37(float) Dot 641 642 + 644: 37(float) Load 39(doublev) + 645: 37(float) FAdd 644 643 + Store 39(doublev) 645 + 646: 46(fvec3) Load 48(dvec3v) + 647: 46(fvec3) Load 48(dvec3v) + 648: 46(fvec3) ExtInst 1(GLSL.std.450) 68(Cross) 646 647 + 649: 46(fvec3) Load 48(dvec3v) + 650: 46(fvec3) FAdd 649 648 + Store 48(dvec3v) 650 + 651: 37(float) Load 39(doublev) + 652: 37(float) ExtInst 1(GLSL.std.450) 69(Normalize) 651 + 653: 37(float) Load 39(doublev) + 654: 37(float) FAdd 653 652 + Store 39(doublev) 654 + 655: 41(fvec2) Load 43(dvec2v) + 656: 41(fvec2) ExtInst 1(GLSL.std.450) 69(Normalize) 655 + 657: 41(fvec2) Load 43(dvec2v) + 658: 41(fvec2) FAdd 657 656 + Store 43(dvec2v) 658 + 659: 46(fvec3) Load 48(dvec3v) + 660: 46(fvec3) ExtInst 1(GLSL.std.450) 69(Normalize) 659 + 661: 46(fvec3) Load 48(dvec3v) + 662: 46(fvec3) FAdd 661 660 + Store 48(dvec3v) 662 + 663: 51(fvec4) Load 53(dvec4v) + 664: 51(fvec4) ExtInst 1(GLSL.std.450) 69(Normalize) 663 + 665: 51(fvec4) Load 53(dvec4v) + 666: 51(fvec4) FAdd 665 664 + Store 53(dvec4v) 666 + 667: 37(float) Load 39(doublev) + 668: 37(float) Load 39(doublev) + 669: 37(float) Load 39(doublev) + 670: 37(float) ExtInst 1(GLSL.std.450) 70(FaceForward) 667 668 669 + 671: 37(float) Load 39(doublev) + 672: 37(float) FAdd 671 670 + Store 39(doublev) 672 + 673: 41(fvec2) Load 43(dvec2v) + 674: 41(fvec2) Load 43(dvec2v) + 675: 41(fvec2) Load 43(dvec2v) + 676: 41(fvec2) ExtInst 1(GLSL.std.450) 70(FaceForward) 673 674 675 + 677: 41(fvec2) Load 43(dvec2v) + 678: 41(fvec2) FAdd 677 676 + Store 43(dvec2v) 678 + 679: 46(fvec3) Load 48(dvec3v) + 680: 46(fvec3) Load 48(dvec3v) + 681: 46(fvec3) Load 48(dvec3v) + 682: 46(fvec3) ExtInst 1(GLSL.std.450) 70(FaceForward) 679 680 681 + 683: 46(fvec3) Load 48(dvec3v) + 684: 46(fvec3) FAdd 683 682 + Store 48(dvec3v) 684 + 685: 51(fvec4) Load 53(dvec4v) + 686: 51(fvec4) Load 53(dvec4v) + 687: 51(fvec4) Load 53(dvec4v) + 688: 51(fvec4) ExtInst 1(GLSL.std.450) 70(FaceForward) 685 686 687 + 689: 51(fvec4) Load 53(dvec4v) + 690: 51(fvec4) FAdd 689 688 + Store 53(dvec4v) 690 + 691: 37(float) Load 39(doublev) + 692: 37(float) Load 39(doublev) + 693: 37(float) ExtInst 1(GLSL.std.450) 71(Reflect) 691 692 + 694: 37(float) Load 39(doublev) + 695: 37(float) FAdd 694 693 + Store 39(doublev) 695 + 696: 41(fvec2) Load 43(dvec2v) + 697: 41(fvec2) Load 43(dvec2v) + 698: 41(fvec2) ExtInst 1(GLSL.std.450) 71(Reflect) 696 697 + 699: 41(fvec2) Load 43(dvec2v) + 700: 41(fvec2) FAdd 699 698 + Store 43(dvec2v) 700 + 701: 46(fvec3) Load 48(dvec3v) + 702: 46(fvec3) Load 48(dvec3v) + 703: 46(fvec3) ExtInst 1(GLSL.std.450) 71(Reflect) 701 702 + 704: 46(fvec3) Load 48(dvec3v) + 705: 46(fvec3) FAdd 704 703 + Store 48(dvec3v) 705 + 706: 51(fvec4) Load 53(dvec4v) + 707: 51(fvec4) Load 53(dvec4v) + 708: 51(fvec4) ExtInst 1(GLSL.std.450) 71(Reflect) 706 707 + 709: 51(fvec4) Load 53(dvec4v) + 710: 51(fvec4) FAdd 709 708 + Store 53(dvec4v) 710 + 711: 37(float) Load 39(doublev) + 712: 37(float) Load 39(doublev) + 713: 37(float) Load 39(doublev) + 714: 37(float) ExtInst 1(GLSL.std.450) 72(Refract) 711 712 713 + 715: 37(float) Load 39(doublev) + 716: 37(float) FAdd 715 714 + Store 39(doublev) 716 + 717: 41(fvec2) Load 43(dvec2v) + 718: 41(fvec2) Load 43(dvec2v) + 719: 37(float) Load 39(doublev) + 720: 41(fvec2) ExtInst 1(GLSL.std.450) 72(Refract) 717 718 719 + 721: 41(fvec2) Load 43(dvec2v) + 722: 41(fvec2) FAdd 721 720 + Store 43(dvec2v) 722 + 723: 46(fvec3) Load 48(dvec3v) + 724: 46(fvec3) Load 48(dvec3v) + 725: 37(float) Load 39(doublev) + 726: 46(fvec3) ExtInst 1(GLSL.std.450) 72(Refract) 723 724 725 + 727: 46(fvec3) Load 48(dvec3v) + 728: 46(fvec3) FAdd 727 726 + Store 48(dvec3v) 728 + 729: 51(fvec4) Load 53(dvec4v) + 730: 51(fvec4) Load 53(dvec4v) + 731: 37(float) Load 39(doublev) + 732: 51(fvec4) ExtInst 1(GLSL.std.450) 72(Refract) 729 730 731 + 733: 51(fvec4) Load 53(dvec4v) + 734: 51(fvec4) FAdd 733 732 + Store 53(dvec4v) 734 + 738: 41(fvec2) Load 43(dvec2v) + 739: 41(fvec2) Load 43(dvec2v) + 740: 735 OuterProduct 738 739 + Store 737(dmat2v) 740 + 744: 46(fvec3) Load 48(dvec3v) + 745: 46(fvec3) Load 48(dvec3v) + 746: 741 OuterProduct 744 745 + Store 743(dmat3v) 746 + 750: 51(fvec4) Load 53(dvec4v) + 751: 51(fvec4) Load 53(dvec4v) + 752: 747 OuterProduct 750 751 + Store 749(dmat4v) 752 + 756: 46(fvec3) Load 48(dvec3v) + 757: 41(fvec2) Load 43(dvec2v) + 758: 753 OuterProduct 756 757 + Store 755(dmat2x3v) 758 + 762: 41(fvec2) Load 43(dvec2v) + 763: 46(fvec3) Load 48(dvec3v) + 764: 759 OuterProduct 762 763 + Store 761(dmat3x2v) 764 + 768: 51(fvec4) Load 53(dvec4v) + 769: 41(fvec2) Load 43(dvec2v) + 770: 765 OuterProduct 768 769 + Store 767(dmat2x4v) 770 + 774: 41(fvec2) Load 43(dvec2v) + 775: 51(fvec4) Load 53(dvec4v) + 776: 771 OuterProduct 774 775 + Store 773(dmat4x2v) 776 + 780: 51(fvec4) Load 53(dvec4v) + 781: 46(fvec3) Load 48(dvec3v) + 782: 777 OuterProduct 780 781 + Store 779(dmat3x4v) 782 + 786: 46(fvec3) Load 48(dvec3v) + 787: 51(fvec4) Load 53(dvec4v) + 788: 783 OuterProduct 786 787 + Store 785(dmat4x3v) 788 + 789: 735 Load 737(dmat2v) + 790: 735 Load 737(dmat2v) + 791: 41(fvec2) CompositeExtract 789 0 + 792: 41(fvec2) CompositeExtract 790 0 + 793: 41(fvec2) FMul 791 792 + 794: 41(fvec2) CompositeExtract 789 1 + 795: 41(fvec2) CompositeExtract 790 1 + 796: 41(fvec2) FMul 794 795 + 797: 735 CompositeConstruct 793 796 + 798: 735 Load 737(dmat2v) + 799: 735 MatrixTimesMatrix 798 797 + Store 737(dmat2v) 799 + 800: 741 Load 743(dmat3v) + 801: 741 Load 743(dmat3v) + 802: 46(fvec3) CompositeExtract 800 0 + 803: 46(fvec3) CompositeExtract 801 0 + 804: 46(fvec3) FMul 802 803 + 805: 46(fvec3) CompositeExtract 800 1 + 806: 46(fvec3) CompositeExtract 801 1 + 807: 46(fvec3) FMul 805 806 + 808: 46(fvec3) CompositeExtract 800 2 + 809: 46(fvec3) CompositeExtract 801 2 + 810: 46(fvec3) FMul 808 809 + 811: 741 CompositeConstruct 804 807 810 + 812: 741 Load 743(dmat3v) + 813: 741 MatrixTimesMatrix 812 811 + Store 743(dmat3v) 813 + 814: 747 Load 749(dmat4v) + 815: 747 Load 749(dmat4v) + 816: 51(fvec4) CompositeExtract 814 0 + 817: 51(fvec4) CompositeExtract 815 0 + 818: 51(fvec4) FMul 816 817 + 819: 51(fvec4) CompositeExtract 814 1 + 820: 51(fvec4) CompositeExtract 815 1 + 821: 51(fvec4) FMul 819 820 + 822: 51(fvec4) CompositeExtract 814 2 + 823: 51(fvec4) CompositeExtract 815 2 + 824: 51(fvec4) FMul 822 823 + 825: 51(fvec4) CompositeExtract 814 3 + 826: 51(fvec4) CompositeExtract 815 3 + 827: 51(fvec4) FMul 825 826 + 828: 747 CompositeConstruct 818 821 824 827 + 829: 747 Load 749(dmat4v) + 830: 747 MatrixTimesMatrix 829 828 + Store 749(dmat4v) 830 + 831: 753 Load 755(dmat2x3v) + 832: 753 Load 755(dmat2x3v) + 833: 46(fvec3) CompositeExtract 831 0 + 834: 46(fvec3) CompositeExtract 832 0 + 835: 46(fvec3) FMul 833 834 + 836: 46(fvec3) CompositeExtract 831 1 + 837: 46(fvec3) CompositeExtract 832 1 + 838: 46(fvec3) FMul 836 837 + 839: 753 CompositeConstruct 835 838 + Store 755(dmat2x3v) 839 + 840: 765 Load 767(dmat2x4v) + 841: 765 Load 767(dmat2x4v) + 842: 51(fvec4) CompositeExtract 840 0 + 843: 51(fvec4) CompositeExtract 841 0 + 844: 51(fvec4) FMul 842 843 + 845: 51(fvec4) CompositeExtract 840 1 + 846: 51(fvec4) CompositeExtract 841 1 + 847: 51(fvec4) FMul 845 846 + 848: 765 CompositeConstruct 844 847 + Store 767(dmat2x4v) 848 + 849: 759 Load 761(dmat3x2v) + 850: 759 Load 761(dmat3x2v) + 851: 41(fvec2) CompositeExtract 849 0 + 852: 41(fvec2) CompositeExtract 850 0 + 853: 41(fvec2) FMul 851 852 + 854: 41(fvec2) CompositeExtract 849 1 + 855: 41(fvec2) CompositeExtract 850 1 + 856: 41(fvec2) FMul 854 855 + 857: 41(fvec2) CompositeExtract 849 2 + 858: 41(fvec2) CompositeExtract 850 2 + 859: 41(fvec2) FMul 857 858 + 860: 759 CompositeConstruct 853 856 859 + Store 761(dmat3x2v) 860 + 861: 777 Load 779(dmat3x4v) + 862: 777 Load 779(dmat3x4v) + 863: 51(fvec4) CompositeExtract 861 0 + 864: 51(fvec4) CompositeExtract 862 0 + 865: 51(fvec4) FMul 863 864 + 866: 51(fvec4) CompositeExtract 861 1 + 867: 51(fvec4) CompositeExtract 862 1 + 868: 51(fvec4) FMul 866 867 + 869: 51(fvec4) CompositeExtract 861 2 + 870: 51(fvec4) CompositeExtract 862 2 + 871: 51(fvec4) FMul 869 870 + 872: 777 CompositeConstruct 865 868 871 + Store 779(dmat3x4v) 872 + 873: 771 Load 773(dmat4x2v) + 874: 771 Load 773(dmat4x2v) + 875: 41(fvec2) CompositeExtract 873 0 + 876: 41(fvec2) CompositeExtract 874 0 + 877: 41(fvec2) FMul 875 876 + 878: 41(fvec2) CompositeExtract 873 1 + 879: 41(fvec2) CompositeExtract 874 1 + 880: 41(fvec2) FMul 878 879 + 881: 41(fvec2) CompositeExtract 873 2 + 882: 41(fvec2) CompositeExtract 874 2 + 883: 41(fvec2) FMul 881 882 + 884: 41(fvec2) CompositeExtract 873 3 + 885: 41(fvec2) CompositeExtract 874 3 + 886: 41(fvec2) FMul 884 885 + 887: 771 CompositeConstruct 877 880 883 886 + Store 773(dmat4x2v) 887 + 888: 783 Load 785(dmat4x3v) + 889: 783 Load 785(dmat4x3v) + 890: 46(fvec3) CompositeExtract 888 0 + 891: 46(fvec3) CompositeExtract 889 0 + 892: 46(fvec3) FMul 890 891 + 893: 46(fvec3) CompositeExtract 888 1 + 894: 46(fvec3) CompositeExtract 889 1 + 895: 46(fvec3) FMul 893 894 + 896: 46(fvec3) CompositeExtract 888 2 + 897: 46(fvec3) CompositeExtract 889 2 + 898: 46(fvec3) FMul 896 897 + 899: 46(fvec3) CompositeExtract 888 3 + 900: 46(fvec3) CompositeExtract 889 3 + 901: 46(fvec3) FMul 899 900 + 902: 783 CompositeConstruct 892 895 898 901 + Store 785(dmat4x3v) 902 + 903: 735 Load 737(dmat2v) + 904: 735 Transpose 903 + 905: 735 Load 737(dmat2v) + 906: 735 MatrixTimesMatrix 905 904 + Store 737(dmat2v) 906 + 907: 741 Load 743(dmat3v) + 908: 741 Transpose 907 + 909: 741 Load 743(dmat3v) + 910: 741 MatrixTimesMatrix 909 908 + Store 743(dmat3v) 910 + 911: 747 Load 749(dmat4v) + 912: 747 Transpose 911 + 913: 747 Load 749(dmat4v) + 914: 747 MatrixTimesMatrix 913 912 + Store 749(dmat4v) 914 + 915: 759 Load 761(dmat3x2v) + 916: 753 Transpose 915 + Store 755(dmat2x3v) 916 + 917: 753 Load 755(dmat2x3v) + 918: 759 Transpose 917 + Store 761(dmat3x2v) 918 + 919: 771 Load 773(dmat4x2v) + 920: 765 Transpose 919 + Store 767(dmat2x4v) 920 + 921: 765 Load 767(dmat2x4v) + 922: 771 Transpose 921 + Store 773(dmat4x2v) 922 + 923: 783 Load 785(dmat4x3v) + 924: 777 Transpose 923 + Store 779(dmat3x4v) 924 + 925: 777 Load 779(dmat3x4v) + 926: 783 Transpose 925 + Store 785(dmat4x3v) 926 + 927: 735 Load 737(dmat2v) + 928: 37(float) ExtInst 1(GLSL.std.450) 33(Determinant) 927 + 929: 37(float) Load 39(doublev) + 930: 37(float) FAdd 929 928 + Store 39(doublev) 930 + 931: 741 Load 743(dmat3v) + 932: 37(float) ExtInst 1(GLSL.std.450) 33(Determinant) 931 + 933: 37(float) Load 39(doublev) + 934: 37(float) FAdd 933 932 + Store 39(doublev) 934 + 935: 747 Load 749(dmat4v) + 936: 37(float) ExtInst 1(GLSL.std.450) 33(Determinant) 935 + 937: 37(float) Load 39(doublev) + 938: 37(float) FAdd 937 936 + Store 39(doublev) 938 + 939: 735 Load 737(dmat2v) + 940: 735 ExtInst 1(GLSL.std.450) 34(MatrixInverse) 939 + 941: 735 Load 737(dmat2v) + 942: 735 MatrixTimesMatrix 941 940 + Store 737(dmat2v) 942 + 943: 741 Load 743(dmat3v) + 944: 741 ExtInst 1(GLSL.std.450) 34(MatrixInverse) 943 + 945: 741 Load 743(dmat3v) + 946: 741 MatrixTimesMatrix 945 944 + Store 743(dmat3v) 946 + 947: 747 Load 749(dmat4v) + 948: 747 ExtInst 1(GLSL.std.450) 34(MatrixInverse) 947 + 949: 747 Load 749(dmat4v) + 950: 747 MatrixTimesMatrix 949 948 + Store 749(dmat4v) 950 + 951: 37(float) Load 39(doublev) + 953: 38(ptr) AccessChain 43(dvec2v) 952 + 954: 37(float) Load 953 + 955: 37(float) FAdd 951 954 + 957: 38(ptr) AccessChain 48(dvec3v) 956 + 958: 37(float) Load 957 + 959: 37(float) FAdd 955 958 + 961: 38(ptr) AccessChain 53(dvec4v) 960 + 962: 37(float) Load 961 + 963: 37(float) FAdd 959 962 + 965: 38(ptr) AccessChain 737(dmat2v) 964 952 + 966: 37(float) Load 965 + 967: 37(float) FAdd 963 966 + 969: 38(ptr) AccessChain 743(dmat3v) 968 956 + 970: 37(float) Load 969 + 971: 37(float) FAdd 967 970 + 972: 38(ptr) AccessChain 749(dmat4v) 25 960 + 973: 37(float) Load 972 + 974: 37(float) FAdd 971 973 + 975: 38(ptr) AccessChain 755(dmat2x3v) 964 952 + 976: 37(float) Load 975 + 977: 37(float) FAdd 974 976 + 978: 38(ptr) AccessChain 761(dmat3x2v) 964 952 + 979: 37(float) Load 978 + 980: 37(float) FAdd 977 979 + 981: 38(ptr) AccessChain 779(dmat3x4v) 968 956 + 982: 37(float) Load 981 + 983: 37(float) FAdd 980 982 + 984: 38(ptr) AccessChain 785(dmat4x3v) 968 956 + 985: 37(float) Load 984 + 986: 37(float) FAdd 983 985 + 987: 38(ptr) AccessChain 767(dmat2x4v) 964 952 + 988: 37(float) Load 987 + 989: 37(float) FAdd 986 988 + 990: 38(ptr) AccessChain 773(dmat4x2v) 964 952 + 991: 37(float) Load 990 + 992: 37(float) FAdd 989 991 + 993: 426(bool) Load 428(boolv) + 995: 10(float) Select 993 994 21 + 996: 37(float) FConvert 995 + 997: 37(float) FAdd 992 996 + 998: 435(bvec2) Load 437(bvec2v) + 999: 426(bool) CompositeExtract 998 0 + 1000: 10(float) Select 999 994 21 + 1001: 37(float) FConvert 1000 + 1002: 37(float) FAdd 997 1001 + 1003: 444(bvec3) Load 446(bvec3v) + 1004: 426(bool) CompositeExtract 1003 0 + 1005: 10(float) Select 1004 994 21 + 1006: 37(float) FConvert 1005 + 1007: 37(float) FAdd 1002 1006 + 1008: 453(bvec4) Load 455(bvec4v) + 1009: 426(bool) CompositeExtract 1008 0 + 1010: 10(float) Select 1009 994 21 + 1011: 37(float) FConvert 1010 + 1012: 37(float) FAdd 1007 1011 + 1013: 10(float) FConvert 1012 + 1014: 11(fvec4) Load 13(outp) + 1015: 11(fvec4) VectorTimesScalar 1014 1013 + Store 13(outp) 1015 Return FunctionEnd diff --git a/Test/spv.400.frag b/Test/spv.400.frag index f35537c..2014b5b 100644 --- a/Test/spv.400.frag +++ b/Test/spv.400.frag @@ -21,6 +21,223 @@ void foo23() outp.x += textureProjGradOffset(u2drs, outp, vec2(0.0), vec2(0.0), offsets[1]); } +void doubles() +{ + double doublev; + dvec2 dvec2v; + dvec3 dvec3v; + dvec4 dvec4v; + + bool boolv; + bvec2 bvec2v; + bvec3 bvec3v; + bvec4 bvec4v; + + doublev = sqrt(2.9); + dvec2v = sqrt(dvec2(2.7)); + dvec3v = sqrt(dvec3(2.0)); + dvec4v = sqrt(dvec4(doublev)); + + doublev += inversesqrt(doublev); + dvec2v += inversesqrt(dvec2v); + dvec3v += inversesqrt(dvec3v); + dvec4v += inversesqrt(dvec4v); + + doublev += abs(doublev); + dvec2v += abs(dvec2v); + dvec3v += abs(dvec3v); + dvec4v += abs(dvec4v); + + doublev += sign(doublev); + dvec2v += sign(dvec2v); + dvec3v += sign(dvec3v); + dvec4v += sign(dvec4v); + + doublev += floor(doublev); + dvec2v += floor(dvec2v); + dvec3v += floor(dvec3v); + dvec4v += floor(dvec4v); + + doublev += trunc(doublev); + dvec2v += trunc(dvec2v); + dvec3v += trunc(dvec3v); + dvec4v += trunc(dvec4v); + + doublev += round(doublev); + dvec2v += round(dvec2v); + dvec3v += round(dvec3v); + dvec4v += round(dvec4v); + + doublev += roundEven(doublev); + dvec2v += roundEven(dvec2v); + dvec3v += roundEven(dvec3v); + dvec4v += roundEven(dvec4v); + + doublev += ceil(doublev); + dvec2v += ceil(dvec2v); + dvec3v += ceil(dvec3v); + dvec4v += ceil(dvec4v); + + doublev += fract(doublev); + dvec2v += fract(dvec2v); + dvec3v += fract(dvec3v); + dvec4v += fract(dvec4v); + + doublev += mod(doublev, doublev); + dvec2v += mod(dvec2v, doublev); + dvec3v += mod(dvec3v, doublev); + dvec4v += mod(dvec4v, doublev); + dvec2v += mod(dvec2v, dvec2v); + dvec3v += mod(dvec3v, dvec3v); + dvec4v += mod(dvec4v, dvec4v); + + doublev += modf(doublev, doublev); + dvec2v += modf(dvec2v, dvec2v); + dvec3v += modf(dvec3v, dvec3v); + dvec4v += modf(dvec4v, dvec4v); + + doublev += min(doublev, doublev); + dvec2v += min(dvec2v, doublev); + dvec3v += min(dvec3v, doublev); + dvec4v += min(dvec4v, doublev); + dvec2v += min(dvec2v, dvec2v); + dvec3v += min(dvec3v, dvec3v); + dvec4v += min(dvec4v, dvec4v); + + doublev += max(doublev, doublev); + dvec2v += max(dvec2v, doublev); + dvec3v += max(dvec3v, doublev); + dvec4v += max(dvec4v, doublev); + dvec2v += max(dvec2v, dvec2v); + dvec3v += max(dvec3v, dvec3v); + dvec4v += max(dvec4v, dvec4v); + + doublev += clamp(doublev, doublev, doublev); + dvec2v += clamp(dvec2v, doublev, doublev); + dvec3v += clamp(dvec3v, doublev, doublev); + dvec4v += clamp(dvec4v, doublev, doublev); + dvec2v += clamp(dvec2v, dvec2v, dvec2v); + dvec3v += clamp(dvec3v, dvec3v, dvec3v); + dvec4v += clamp(dvec4v, dvec4v, dvec4v); + + doublev += mix(doublev, doublev, doublev); + dvec2v += mix(dvec2v, dvec2v, doublev); + dvec3v += mix(dvec3v, dvec3v, doublev); + dvec4v += mix(dvec4v, dvec4v, doublev); + dvec2v += mix(dvec2v, dvec2v, dvec2v); + dvec3v += mix(dvec3v, dvec3v, dvec3v); + dvec4v += mix(dvec4v, dvec4v, dvec4v); + doublev += mix(doublev, doublev, boolv); + dvec2v += mix(dvec2v, dvec2v, bvec2v); + dvec3v += mix(dvec3v, dvec3v, bvec3v); + dvec4v += mix(dvec4v, dvec4v, bvec4v); + + doublev += step(doublev, doublev); + dvec2v += step(dvec2v, dvec2v); + dvec3v += step(dvec3v, dvec3v); + dvec4v += step(dvec4v, dvec4v); + dvec2v += step(doublev, dvec2v); + dvec3v += step(doublev, dvec3v); + dvec4v += step(doublev, dvec4v); + + doublev += smoothstep(doublev, doublev, doublev); + dvec2v += smoothstep(dvec2v, dvec2v, dvec2v); + dvec3v += smoothstep(dvec3v, dvec3v, dvec3v); + dvec4v += smoothstep(dvec4v, dvec4v, dvec4v); + dvec2v += smoothstep(doublev, doublev, dvec2v); + dvec3v += smoothstep(doublev, doublev, dvec3v); + dvec4v += smoothstep(doublev, doublev, dvec4v); + + boolv = isnan(doublev); + bvec2v = isnan(dvec2v); + bvec3v = isnan(dvec3v); + bvec4v = isnan(dvec4v); + + boolv = boolv ? isinf(doublev) : false; + bvec2v = boolv ? isinf(dvec2v) : bvec2(false); + bvec3v = boolv ? isinf(dvec3v) : bvec3(false); + bvec4v = boolv ? isinf(dvec4v) : bvec4(false); + + doublev += length(doublev); + doublev += length(dvec2v); + doublev += length(dvec3v); + doublev += length(dvec4v); + + doublev += distance(doublev, doublev); + doublev += distance(dvec2v, dvec2v); + doublev += distance(dvec3v, dvec3v); + doublev += distance(dvec4v, dvec4v); + + doublev += dot(doublev, doublev); + doublev += dot(dvec2v, dvec2v); + doublev += dot(dvec3v, dvec3v); + doublev += dot(dvec4v, dvec4v); + + dvec3v += cross(dvec3v, dvec3v); + + doublev += normalize(doublev); + dvec2v += normalize(dvec2v); + dvec3v += normalize(dvec3v); + dvec4v += normalize(dvec4v); + + doublev += faceforward(doublev, doublev, doublev); + dvec2v += faceforward(dvec2v, dvec2v, dvec2v); + dvec3v += faceforward(dvec3v, dvec3v, dvec3v); + dvec4v += faceforward(dvec4v, dvec4v, dvec4v); + + doublev += reflect(doublev, doublev); + dvec2v += reflect(dvec2v, dvec2v); + dvec3v += reflect(dvec3v, dvec3v); + dvec4v += reflect(dvec4v, dvec4v); + + doublev += refract(doublev, doublev, doublev); + dvec2v += refract(dvec2v, dvec2v, doublev); + dvec3v += refract(dvec3v, dvec3v, doublev); + dvec4v += refract(dvec4v, dvec4v, doublev); + + dmat2 dmat2v = outerProduct(dvec2v, dvec2v); + dmat3 dmat3v = outerProduct(dvec3v, dvec3v); + dmat4 dmat4v = outerProduct(dvec4v, dvec4v); + dmat2x3 dmat2x3v = outerProduct(dvec3v, dvec2v); + dmat3x2 dmat3x2v = outerProduct(dvec2v, dvec3v); + dmat2x4 dmat2x4v = outerProduct(dvec4v, dvec2v); + dmat4x2 dmat4x2v = outerProduct(dvec2v, dvec4v); + dmat3x4 dmat3x4v = outerProduct(dvec4v, dvec3v); + dmat4x3 dmat4x3v = outerProduct(dvec3v, dvec4v); + + dmat2v *= matrixCompMult(dmat2v, dmat2v); + dmat3v *= matrixCompMult(dmat3v, dmat3v); + dmat4v *= matrixCompMult(dmat4v, dmat4v); + dmat2x3v = matrixCompMult(dmat2x3v, dmat2x3v); // For now, relying on no dead-code elimination + dmat2x4v = matrixCompMult(dmat2x4v, dmat2x4v); + dmat3x2v = matrixCompMult(dmat3x2v, dmat3x2v); + dmat3x4v = matrixCompMult(dmat3x4v, dmat3x4v); + dmat4x2v = matrixCompMult(dmat4x2v, dmat4x2v); + dmat4x3v = matrixCompMult(dmat4x3v, dmat4x3v); + + dmat2v *= transpose(dmat2v); + dmat3v *= transpose(dmat3v); + dmat4v *= transpose(dmat4v); + dmat2x3v = transpose(dmat3x2v); // For now, relying on no dead-code elimination + dmat3x2v = transpose(dmat2x3v); + dmat2x4v = transpose(dmat4x2v); + dmat4x2v = transpose(dmat2x4v); + dmat3x4v = transpose(dmat4x3v); + dmat4x3v = transpose(dmat3x4v); + + doublev += determinant(dmat2v); + doublev += determinant(dmat3v); + doublev += determinant(dmat4v); + + dmat2v *= inverse(dmat2v); + dmat3v *= inverse(dmat3v); + dmat4v *= inverse(dmat4v); + + outp *= float(doublev + dvec2v.y + dvec3v.z + dvec4v.w + + dmat2v[1][1] + dmat3v[2][2] + dmat4v[3][3] + dmat2x3v[1][1] + dmat3x2v[1][1] + dmat3x4v[2][2] + dmat4x3v[2][2] + dmat2x4v[1][1] + dmat4x2v[1][1] + + float(boolv) + float(bvec2v.x) + float(bvec3v.x) + float(bvec4v.x)); +} + void main() { vec4 v; @@ -38,5 +255,6 @@ void main() outp += gl_FragCoord + vl2; foo23(); + doubles(); } diff --git a/glslang/MachineIndependent/Initialize.cpp b/glslang/MachineIndependent/Initialize.cpp index 75e8566..089751b 100644 --- a/glslang/MachineIndependent/Initialize.cpp +++ b/glslang/MachineIndependent/Initialize.cpp @@ -419,6 +419,214 @@ void TBuiltIns::initialize(int version, EProfile profile, int spv) "\n"); } + // + // double functions added to desktop 4.00, but not fma, frexp, ldexp, or pack/unpack + // + if (profile != EEsProfile && version >= 400) { + commonBuiltins.append( + + "double sqrt(double);" + "dvec2 sqrt(dvec2);" + "dvec3 sqrt(dvec3);" + "dvec4 sqrt(dvec4);" + + "double inversesqrt(double);" + "dvec2 inversesqrt(dvec2);" + "dvec3 inversesqrt(dvec3);" + "dvec4 inversesqrt(dvec4);" + + "double abs(double);" + "dvec2 abs(dvec2);" + "dvec3 abs(dvec3);" + "dvec4 abs(dvec4);" + + "double sign(double);" + "dvec2 sign(dvec2);" + "dvec3 sign(dvec3);" + "dvec4 sign(dvec4);" + + "double floor(double);" + "dvec2 floor(dvec2);" + "dvec3 floor(dvec3);" + "dvec4 floor(dvec4);" + + "double trunc(double);" + "dvec2 trunc(dvec2);" + "dvec3 trunc(dvec3);" + "dvec4 trunc(dvec4);" + + "double round(double);" + "dvec2 round(dvec2);" + "dvec3 round(dvec3);" + "dvec4 round(dvec4);" + + "double roundEven(double);" + "dvec2 roundEven(dvec2);" + "dvec3 roundEven(dvec3);" + "dvec4 roundEven(dvec4);" + + "double ceil(double);" + "dvec2 ceil(dvec2);" + "dvec3 ceil(dvec3);" + "dvec4 ceil(dvec4);" + + "double fract(double);" + "dvec2 fract(dvec2);" + "dvec3 fract(dvec3);" + "dvec4 fract(dvec4);" + + "double mod(double, double);" + "dvec2 mod(dvec2 , double);" + "dvec3 mod(dvec3 , double);" + "dvec4 mod(dvec4 , double);" + "dvec2 mod(dvec2 , dvec2);" + "dvec3 mod(dvec3 , dvec3);" + "dvec4 mod(dvec4 , dvec4);" + + "double modf(double, out double);" + "dvec2 modf(dvec2, out dvec2);" + "dvec3 modf(dvec3, out dvec3);" + "dvec4 modf(dvec4, out dvec4);" + + "double min(double, double);" + "dvec2 min(dvec2, double);" + "dvec3 min(dvec3, double);" + "dvec4 min(dvec4, double);" + "dvec2 min(dvec2, dvec2);" + "dvec3 min(dvec3, dvec3);" + "dvec4 min(dvec4, dvec4);" + + "double max(double, double);" + "dvec2 max(dvec2 , double);" + "dvec3 max(dvec3 , double);" + "dvec4 max(dvec4 , double);" + "dvec2 max(dvec2 , dvec2);" + "dvec3 max(dvec3 , dvec3);" + "dvec4 max(dvec4 , dvec4);" + + "double clamp(double, double, double);" + "dvec2 clamp(dvec2 , double, double);" + "dvec3 clamp(dvec3 , double, double);" + "dvec4 clamp(dvec4 , double, double);" + "dvec2 clamp(dvec2 , dvec2 , dvec2);" + "dvec3 clamp(dvec3 , dvec3 , dvec3);" + "dvec4 clamp(dvec4 , dvec4 , dvec4);" + + "double mix(double, double, double);" + "dvec2 mix(dvec2, dvec2, double);" + "dvec3 mix(dvec3, dvec3, double);" + "dvec4 mix(dvec4, dvec4, double);" + "dvec2 mix(dvec2, dvec2, dvec2);" + "dvec3 mix(dvec3, dvec3, dvec3);" + "dvec4 mix(dvec4, dvec4, dvec4);" + "double mix(double, double, bool);" + "dvec2 mix(dvec2, dvec2, bvec2);" + "dvec3 mix(dvec3, dvec3, bvec3);" + "dvec4 mix(dvec4, dvec4, bvec4);" + + "double step(double, double);" + "dvec2 step(dvec2 , dvec2);" + "dvec3 step(dvec3 , dvec3);" + "dvec4 step(dvec4 , dvec4);" + "dvec2 step(double, dvec2);" + "dvec3 step(double, dvec3);" + "dvec4 step(double, dvec4);" + + "double smoothstep(double, double, double);" + "dvec2 smoothstep(dvec2 , dvec2 , dvec2);" + "dvec3 smoothstep(dvec3 , dvec3 , dvec3);" + "dvec4 smoothstep(dvec4 , dvec4 , dvec4);" + "dvec2 smoothstep(double, double, dvec2);" + "dvec3 smoothstep(double, double, dvec3);" + "dvec4 smoothstep(double, double, dvec4);" + + "bool isnan(double);" + "bvec2 isnan(dvec2);" + "bvec3 isnan(dvec3);" + "bvec4 isnan(dvec4);" + + "bool isinf(double);" + "bvec2 isinf(dvec2);" + "bvec3 isinf(dvec3);" + "bvec4 isinf(dvec4);" + + "double length(double);" + "double length(dvec2);" + "double length(dvec3);" + "double length(dvec4);" + + "double distance(double, double);" + "double distance(dvec2 , dvec2);" + "double distance(dvec3 , dvec3);" + "double distance(dvec4 , dvec4);" + + "double dot(double, double);" + "double dot(dvec2 , dvec2);" + "double dot(dvec3 , dvec3);" + "double dot(dvec4 , dvec4);" + + "dvec3 cross(dvec3, dvec3);" + + "double normalize(double);" + "dvec2 normalize(dvec2);" + "dvec3 normalize(dvec3);" + "dvec4 normalize(dvec4);" + + "double faceforward(double, double, double);" + "dvec2 faceforward(dvec2, dvec2, dvec2);" + "dvec3 faceforward(dvec3, dvec3, dvec3);" + "dvec4 faceforward(dvec4, dvec4, dvec4);" + + "double reflect(double, double);" + "dvec2 reflect(dvec2 , dvec2 );" + "dvec3 reflect(dvec3 , dvec3 );" + "dvec4 reflect(dvec4 , dvec4 );" + + "double refract(double, double, double);" + "dvec2 refract(dvec2 , dvec2 , double);" + "dvec3 refract(dvec3 , dvec3 , double);" + "dvec4 refract(dvec4 , dvec4 , double);" + + "dmat2 matrixCompMult(dmat2, dmat2);" + "dmat3 matrixCompMult(dmat3, dmat3);" + "dmat4 matrixCompMult(dmat4, dmat4);" + "dmat2x3 matrixCompMult(dmat2x3, dmat2x3);" + "dmat2x4 matrixCompMult(dmat2x4, dmat2x4);" + "dmat3x2 matrixCompMult(dmat3x2, dmat3x2);" + "dmat3x4 matrixCompMult(dmat3x4, dmat3x4);" + "dmat4x2 matrixCompMult(dmat4x2, dmat4x2);" + "dmat4x3 matrixCompMult(dmat4x3, dmat4x3);" + + "dmat2 outerProduct(dvec2, dvec2);" + "dmat3 outerProduct(dvec3, dvec3);" + "dmat4 outerProduct(dvec4, dvec4);" + "dmat2x3 outerProduct(dvec3, dvec2);" + "dmat3x2 outerProduct(dvec2, dvec3);" + "dmat2x4 outerProduct(dvec4, dvec2);" + "dmat4x2 outerProduct(dvec2, dvec4);" + "dmat3x4 outerProduct(dvec4, dvec3);" + "dmat4x3 outerProduct(dvec3, dvec4);" + + "dmat2 transpose(dmat2);" + "dmat3 transpose(dmat3);" + "dmat4 transpose(dmat4);" + "dmat2x3 transpose(dmat3x2);" + "dmat3x2 transpose(dmat2x3);" + "dmat2x4 transpose(dmat4x2);" + "dmat4x2 transpose(dmat2x4);" + "dmat3x4 transpose(dmat4x3);" + "dmat4x3 transpose(dmat3x4);" + + "double determinant(dmat2);" + "double determinant(dmat3);" + "double determinant(dmat4);" + + "dmat2 inverse(dmat2);" + "dmat3 inverse(dmat3);" + "dmat4 inverse(dmat4);" + ); + } + if ((profile == EEsProfile && version >= 310) || (profile != EEsProfile && version >= 430)) { commonBuiltins.append( -- 2.7.4