diff --git a/Test/baseResults/hlsl.assoc.frag.out b/Test/baseResults/hlsl.assoc.frag.out index 0bba2ee2..a027a62c 100755 --- a/Test/baseResults/hlsl.assoc.frag.out +++ b/Test/baseResults/hlsl.assoc.frag.out @@ -1,5 +1,5 @@ hlsl.assoc.frag -Shader version: 100 +Shader version: 450 gl_FragCoord origin is upper left 0:? Sequence 0:12 Function Definition: PixelShaderFunction(vf4;vf4;vf4;vf4;vf4; (temp 4-component vector of float) @@ -35,7 +35,7 @@ gl_FragCoord origin is upper left Linked fragment stage: -Shader version: 100 +Shader version: 450 gl_FragCoord origin is upper left 0:? Sequence 0:12 Function Definition: PixelShaderFunction(vf4;vf4;vf4;vf4;vf4; (temp 4-component vector of float) @@ -76,7 +76,7 @@ gl_FragCoord origin is upper left MemoryModel Logical GLSL450 EntryPoint Fragment 4 "PixelShaderFunction" ExecutionMode 4 OriginUpperLeft - Source HLSL 100 + Source HLSL 450 Name 4 "PixelShaderFunction" Name 9 "a1" Name 10 "a2" diff --git a/Test/baseResults/hlsl.float1.frag.out b/Test/baseResults/hlsl.float1.frag.out index ce6ea59e..4cf0a0d1 100755 --- a/Test/baseResults/hlsl.float1.frag.out +++ b/Test/baseResults/hlsl.float1.frag.out @@ -1,5 +1,5 @@ hlsl.float1.frag -Shader version: 100 +Shader version: 450 gl_FragCoord origin is upper left 0:? Sequence 0:1 move second child to first child (temp 1-component vector of float) @@ -31,7 +31,7 @@ gl_FragCoord origin is upper left Linked fragment stage: -Shader version: 100 +Shader version: 450 gl_FragCoord origin is upper left 0:? Sequence 0:1 move second child to first child (temp 1-component vector of float) @@ -68,7 +68,7 @@ gl_FragCoord origin is upper left MemoryModel Logical GLSL450 EntryPoint Fragment 4 "PixelShaderFunction" ExecutionMode 4 OriginUpperLeft - Source HLSL 100 + Source HLSL 450 Name 4 "PixelShaderFunction" Name 11 "ShaderFunction(vf1;f1;" Name 9 "inFloat1" diff --git a/Test/baseResults/hlsl.float4.frag.out b/Test/baseResults/hlsl.float4.frag.out index c827f4d2..ba757c98 100755 --- a/Test/baseResults/hlsl.float4.frag.out +++ b/Test/baseResults/hlsl.float4.frag.out @@ -1,5 +1,5 @@ hlsl.float4.frag -Shader version: 100 +Shader version: 450 gl_FragCoord origin is upper left 0:? Sequence 0:1 move second child to first child (temp 4-component vector of float) @@ -24,7 +24,7 @@ gl_FragCoord origin is upper left Linked fragment stage: -Shader version: 100 +Shader version: 450 gl_FragCoord origin is upper left 0:? Sequence 0:1 move second child to first child (temp 4-component vector of float) @@ -54,7 +54,7 @@ gl_FragCoord origin is upper left MemoryModel Logical GLSL450 EntryPoint Fragment 4 "PixelShaderFunction" ExecutionMode 4 OriginUpperLeft - Source HLSL 100 + Source HLSL 450 Name 4 "PixelShaderFunction" Name 11 "ShaderFunction(vf4;" Name 10 "input" diff --git a/Test/baseResults/hlsl.frag.out b/Test/baseResults/hlsl.frag.out index 3ccbc898..cfed9051 100644 --- a/Test/baseResults/hlsl.frag.out +++ b/Test/baseResults/hlsl.frag.out @@ -1,5 +1,5 @@ hlsl.frag -Shader version: 100 +Shader version: 450 gl_FragCoord origin is upper left 0:? Sequence 0:1 move second child to first child (temp 4-component vector of float) @@ -64,7 +64,7 @@ gl_FragCoord origin is upper left Linked fragment stage: -Shader version: 100 +Shader version: 450 gl_FragCoord origin is upper left 0:? Sequence 0:1 move second child to first child (temp 4-component vector of float) @@ -134,7 +134,7 @@ gl_FragCoord origin is upper left MemoryModel Logical GLSL450 EntryPoint Fragment 4 "PixelShaderFunction" ExecutionMode 4 OriginUpperLeft - Source HLSL 100 + Source HLSL 450 Name 4 "PixelShaderFunction" Name 9 "input" Name 12 "AmbientIntensity" diff --git a/Test/baseResults/hlsl.intrinsics.frag.out b/Test/baseResults/hlsl.intrinsics.frag.out new file mode 100644 index 00000000..ec057844 --- /dev/null +++ b/Test/baseResults/hlsl.intrinsics.frag.out @@ -0,0 +1,2178 @@ +hlsl.intrinsics.frag +Shader version: 450 +gl_FragCoord origin is upper left +0:? Sequence +0:62 Function Definition: PixelShaderFunction(f1;f1;f1; (temp float) +0:2 Function Parameters: +0:2 'inF0' (temp float) +0:2 'inF1' (temp float) +0:2 'inF2' (temp float) +0:? Sequence +0:3 all (global bool) +0:3 'inF0' (temp float) +0:4 Absolute value (global float) +0:4 'inF0' (temp float) +0:5 arc cosine (global float) +0:5 'inF0' (temp float) +0:6 any (global bool) +0:6 'inF0' (temp float) +0:7 arc sine (global float) +0:7 'inF0' (temp float) +0:8 arc tangent (global float) +0:8 'inF0' (temp float) +0:9 arc tangent (global float) +0:9 'inF0' (temp float) +0:9 'inF1' (temp float) +0:10 Ceiling (global float) +0:10 'inF0' (temp float) +0:11 clamp (global float) +0:11 'inF0' (temp float) +0:11 'inF1' (temp float) +0:11 'inF2' (temp float) +0:12 cosine (global float) +0:12 'inF0' (temp float) +0:13 hyp. cosine (global float) +0:13 'inF0' (temp float) +0:14 bitCount (global uint) +0:14 Constant: +0:14 7 (const uint) +0:15 dPdx (global float) +0:15 'inF0' (temp float) +0:16 dPdxCoarse (global float) +0:16 'inF0' (temp float) +0:17 dPdxFine (global float) +0:17 'inF0' (temp float) +0:18 dPdy (global float) +0:18 'inF0' (temp float) +0:19 dPdyCoarse (global float) +0:19 'inF0' (temp float) +0:20 dPdyFine (global float) +0:20 'inF0' (temp float) +0:21 degrees (global float) +0:21 'inF0' (temp float) +0:25 exp (global float) +0:25 'inF0' (temp float) +0:26 exp2 (global float) +0:26 'inF0' (temp float) +0:27 findMSB (global int) +0:27 Constant: +0:27 7 (const int) +0:28 findLSB (global int) +0:28 Constant: +0:28 7 (const int) +0:29 Floor (global float) +0:29 'inF0' (temp float) +0:31 Function Call: fmod(f1;f1; (global float) +0:31 'inF0' (temp float) +0:31 'inF1' (temp float) +0:32 Fraction (global float) +0:32 'inF0' (temp float) +0:33 frexp (global float) +0:33 'inF0' (temp float) +0:33 'inF1' (temp float) +0:34 fwidth (global float) +0:34 'inF0' (temp float) +0:35 isinf (global bool) +0:35 'inF0' (temp float) +0:36 isnan (global bool) +0:36 'inF0' (temp float) +0:37 ldexp (global float) +0:37 'inF0' (temp float) +0:37 'inF1' (temp float) +0:38 log (global float) +0:38 'inF0' (temp float) +0:39 log2 (global float) +0:39 'inF0' (temp float) +0:40 max (global float) +0:40 'inF0' (temp float) +0:40 'inF1' (temp float) +0:41 min (global float) +0:41 'inF0' (temp float) +0:41 'inF1' (temp float) +0:43 pow (global float) +0:43 'inF0' (temp float) +0:43 'inF1' (temp float) +0:44 radians (global float) +0:44 'inF0' (temp float) +0:45 bitFieldReverse (global uint) +0:45 Constant: +0:45 2 (const uint) +0:46 roundEven (global float) +0:46 'inF0' (temp float) +0:47 inverse sqrt (global float) +0:47 'inF0' (temp float) +0:48 Sign (global float) +0:48 'inF0' (temp float) +0:49 sine (global float) +0:49 'inF0' (temp float) +0:50 hyp. sine (global float) +0:50 'inF0' (temp float) +0:51 smoothstep (global float) +0:51 'inF0' (temp float) +0:51 'inF1' (temp float) +0:51 'inF2' (temp float) +0:52 sqrt (global float) +0:52 'inF0' (temp float) +0:53 step (global float) +0:53 'inF0' (temp float) +0:53 'inF1' (temp float) +0:54 tangent (global float) +0:54 'inF0' (temp float) +0:55 hyp. tangent (global float) +0:55 'inF0' (temp float) +0:57 trunc (global float) +0:57 'inF0' (temp float) +0:59 Branch: Return with expression +0:59 Constant: +0:59 0.000000 +0:68 Function Definition: PixelShaderFunction(vf1;vf1;vf1; (temp 1-component vector of float) +0:63 Function Parameters: +0:63 'inF0' (temp 1-component vector of float) +0:63 'inF1' (temp 1-component vector of float) +0:63 'inF2' (temp 1-component vector of float) +0:? Sequence +0:65 Branch: Return with expression +0:65 Constant: +0:65 0.000000 +0:137 Function Definition: PixelShaderFunction(vf2;vf2;vf2; (temp 2-component vector of float) +0:69 Function Parameters: +0:69 'inF0' (temp 2-component vector of float) +0:69 'inF1' (temp 2-component vector of float) +0:69 'inF2' (temp 2-component vector of float) +0:? Sequence +0:70 all (global bool) +0:70 'inF0' (temp 2-component vector of float) +0:71 Absolute value (global 2-component vector of float) +0:71 'inF0' (temp 2-component vector of float) +0:72 arc cosine (global 2-component vector of float) +0:72 'inF0' (temp 2-component vector of float) +0:73 any (global bool) +0:73 'inF0' (temp 2-component vector of float) +0:74 arc sine (global 2-component vector of float) +0:74 'inF0' (temp 2-component vector of float) +0:75 arc tangent (global 2-component vector of float) +0:75 'inF0' (temp 2-component vector of float) +0:76 arc tangent (global 2-component vector of float) +0:76 'inF0' (temp 2-component vector of float) +0:76 'inF1' (temp 2-component vector of float) +0:77 Ceiling (global 2-component vector of float) +0:77 'inF0' (temp 2-component vector of float) +0:78 clamp (global 2-component vector of float) +0:78 'inF0' (temp 2-component vector of float) +0:78 'inF1' (temp 2-component vector of float) +0:78 'inF2' (temp 2-component vector of float) +0:79 cosine (global 2-component vector of float) +0:79 'inF0' (temp 2-component vector of float) +0:80 hyp. cosine (global 2-component vector of float) +0:80 'inF0' (temp 2-component vector of float) +0:? bitCount (global 2-component vector of uint) +0:? Constant: +0:? 7 (const uint) +0:? 3 (const uint) +0:82 dPdx (global 2-component vector of float) +0:82 'inF0' (temp 2-component vector of float) +0:83 dPdxCoarse (global 2-component vector of float) +0:83 'inF0' (temp 2-component vector of float) +0:84 dPdxFine (global 2-component vector of float) +0:84 'inF0' (temp 2-component vector of float) +0:85 dPdy (global 2-component vector of float) +0:85 'inF0' (temp 2-component vector of float) +0:86 dPdyCoarse (global 2-component vector of float) +0:86 'inF0' (temp 2-component vector of float) +0:87 dPdyFine (global 2-component vector of float) +0:87 'inF0' (temp 2-component vector of float) +0:88 degrees (global 2-component vector of float) +0:88 'inF0' (temp 2-component vector of float) +0:89 distance (global float) +0:89 'inF0' (temp 2-component vector of float) +0:89 'inF1' (temp 2-component vector of float) +0:90 dot-product (global float) +0:90 'inF0' (temp 2-component vector of float) +0:90 'inF1' (temp 2-component vector of float) +0:94 exp (global 2-component vector of float) +0:94 'inF0' (temp 2-component vector of float) +0:95 exp2 (global 2-component vector of float) +0:95 'inF0' (temp 2-component vector of float) +0:96 face-forward (global 2-component vector of float) +0:96 'inF0' (temp 2-component vector of float) +0:96 'inF1' (temp 2-component vector of float) +0:96 'inF2' (temp 2-component vector of float) +0:97 findMSB (global int) +0:97 Constant: +0:97 7 (const int) +0:98 findLSB (global int) +0:98 Constant: +0:98 7 (const int) +0:99 Floor (global 2-component vector of float) +0:99 'inF0' (temp 2-component vector of float) +0:101 Function Call: fmod(vf2;vf2; (global 2-component vector of float) +0:101 'inF0' (temp 2-component vector of float) +0:101 'inF1' (temp 2-component vector of float) +0:102 Fraction (global 2-component vector of float) +0:102 'inF0' (temp 2-component vector of float) +0:103 frexp (global 2-component vector of float) +0:103 'inF0' (temp 2-component vector of float) +0:103 'inF1' (temp 2-component vector of float) +0:104 fwidth (global 2-component vector of float) +0:104 'inF0' (temp 2-component vector of float) +0:105 isinf (global 2-component vector of bool) +0:105 'inF0' (temp 2-component vector of float) +0:106 isnan (global 2-component vector of bool) +0:106 'inF0' (temp 2-component vector of float) +0:107 ldexp (global 2-component vector of float) +0:107 'inF0' (temp 2-component vector of float) +0:107 'inF1' (temp 2-component vector of float) +0:108 length (global float) +0:108 'inF0' (temp 2-component vector of float) +0:109 log (global 2-component vector of float) +0:109 'inF0' (temp 2-component vector of float) +0:110 log2 (global 2-component vector of float) +0:110 'inF0' (temp 2-component vector of float) +0:111 max (global 2-component vector of float) +0:111 'inF0' (temp 2-component vector of float) +0:111 'inF1' (temp 2-component vector of float) +0:112 min (global 2-component vector of float) +0:112 'inF0' (temp 2-component vector of float) +0:112 'inF1' (temp 2-component vector of float) +0:114 normalize (global 2-component vector of float) +0:114 'inF0' (temp 2-component vector of float) +0:115 pow (global 2-component vector of float) +0:115 'inF0' (temp 2-component vector of float) +0:115 'inF1' (temp 2-component vector of float) +0:116 radians (global 2-component vector of float) +0:116 'inF0' (temp 2-component vector of float) +0:117 reflect (global 2-component vector of float) +0:117 'inF0' (temp 2-component vector of float) +0:117 'inF1' (temp 2-component vector of float) +0:118 refract (global 2-component vector of float) +0:118 'inF0' (temp 2-component vector of float) +0:118 'inF1' (temp 2-component vector of float) +0:118 Constant: +0:118 2.000000 +0:? bitFieldReverse (global 2-component vector of uint) +0:? Constant: +0:? 1 (const uint) +0:? 2 (const uint) +0:120 roundEven (global 2-component vector of float) +0:120 'inF0' (temp 2-component vector of float) +0:121 inverse sqrt (global 2-component vector of float) +0:121 'inF0' (temp 2-component vector of float) +0:122 Sign (global 2-component vector of float) +0:122 'inF0' (temp 2-component vector of float) +0:123 sine (global 2-component vector of float) +0:123 'inF0' (temp 2-component vector of float) +0:124 hyp. sine (global 2-component vector of float) +0:124 'inF0' (temp 2-component vector of float) +0:125 smoothstep (global 2-component vector of float) +0:125 'inF0' (temp 2-component vector of float) +0:125 'inF1' (temp 2-component vector of float) +0:125 'inF2' (temp 2-component vector of float) +0:126 sqrt (global 2-component vector of float) +0:126 'inF0' (temp 2-component vector of float) +0:127 step (global 2-component vector of float) +0:127 'inF0' (temp 2-component vector of float) +0:127 'inF1' (temp 2-component vector of float) +0:128 tangent (global 2-component vector of float) +0:128 'inF0' (temp 2-component vector of float) +0:129 hyp. tangent (global 2-component vector of float) +0:129 'inF0' (temp 2-component vector of float) +0:131 trunc (global 2-component vector of float) +0:131 'inF0' (temp 2-component vector of float) +0:134 Branch: Return with expression +0:? Constant: +0:? 1.000000 +0:? 2.000000 +0:207 Function Definition: PixelShaderFunction(vf3;vf3;vf3; (temp 3-component vector of float) +0:138 Function Parameters: +0:138 'inF0' (temp 3-component vector of float) +0:138 'inF1' (temp 3-component vector of float) +0:138 'inF2' (temp 3-component vector of float) +0:? Sequence +0:139 all (global bool) +0:139 'inF0' (temp 3-component vector of float) +0:140 Absolute value (global 3-component vector of float) +0:140 'inF0' (temp 3-component vector of float) +0:141 arc cosine (global 3-component vector of float) +0:141 'inF0' (temp 3-component vector of float) +0:142 any (global bool) +0:142 'inF0' (temp 3-component vector of float) +0:143 arc sine (global 3-component vector of float) +0:143 'inF0' (temp 3-component vector of float) +0:144 arc tangent (global 3-component vector of float) +0:144 'inF0' (temp 3-component vector of float) +0:145 arc tangent (global 3-component vector of float) +0:145 'inF0' (temp 3-component vector of float) +0:145 'inF1' (temp 3-component vector of float) +0:146 Ceiling (global 3-component vector of float) +0:146 'inF0' (temp 3-component vector of float) +0:147 clamp (global 3-component vector of float) +0:147 'inF0' (temp 3-component vector of float) +0:147 'inF1' (temp 3-component vector of float) +0:147 'inF2' (temp 3-component vector of float) +0:148 cosine (global 3-component vector of float) +0:148 'inF0' (temp 3-component vector of float) +0:149 hyp. cosine (global 3-component vector of float) +0:149 'inF0' (temp 3-component vector of float) +0:? bitCount (global 3-component vector of uint) +0:? Constant: +0:? 7 (const uint) +0:? 3 (const uint) +0:? 5 (const uint) +0:151 cross-product (global 3-component vector of float) +0:151 'inF0' (temp 3-component vector of float) +0:151 'inF1' (temp 3-component vector of float) +0:152 dPdx (global 3-component vector of float) +0:152 'inF0' (temp 3-component vector of float) +0:153 dPdxCoarse (global 3-component vector of float) +0:153 'inF0' (temp 3-component vector of float) +0:154 dPdxFine (global 3-component vector of float) +0:154 'inF0' (temp 3-component vector of float) +0:155 dPdy (global 3-component vector of float) +0:155 'inF0' (temp 3-component vector of float) +0:156 dPdyCoarse (global 3-component vector of float) +0:156 'inF0' (temp 3-component vector of float) +0:157 dPdyFine (global 3-component vector of float) +0:157 'inF0' (temp 3-component vector of float) +0:158 degrees (global 3-component vector of float) +0:158 'inF0' (temp 3-component vector of float) +0:159 distance (global float) +0:159 'inF0' (temp 3-component vector of float) +0:159 'inF1' (temp 3-component vector of float) +0:160 dot-product (global float) +0:160 'inF0' (temp 3-component vector of float) +0:160 'inF1' (temp 3-component vector of float) +0:164 exp (global 3-component vector of float) +0:164 'inF0' (temp 3-component vector of float) +0:165 exp2 (global 3-component vector of float) +0:165 'inF0' (temp 3-component vector of float) +0:166 face-forward (global 3-component vector of float) +0:166 'inF0' (temp 3-component vector of float) +0:166 'inF1' (temp 3-component vector of float) +0:166 'inF2' (temp 3-component vector of float) +0:167 findMSB (global int) +0:167 Constant: +0:167 7 (const int) +0:168 findLSB (global int) +0:168 Constant: +0:168 7 (const int) +0:169 Floor (global 3-component vector of float) +0:169 'inF0' (temp 3-component vector of float) +0:171 Function Call: fmod(vf3;vf3; (global 3-component vector of float) +0:171 'inF0' (temp 3-component vector of float) +0:171 'inF1' (temp 3-component vector of float) +0:172 Fraction (global 3-component vector of float) +0:172 'inF0' (temp 3-component vector of float) +0:173 frexp (global 3-component vector of float) +0:173 'inF0' (temp 3-component vector of float) +0:173 'inF1' (temp 3-component vector of float) +0:174 fwidth (global 3-component vector of float) +0:174 'inF0' (temp 3-component vector of float) +0:175 isinf (global 3-component vector of bool) +0:175 'inF0' (temp 3-component vector of float) +0:176 isnan (global 3-component vector of bool) +0:176 'inF0' (temp 3-component vector of float) +0:177 ldexp (global 3-component vector of float) +0:177 'inF0' (temp 3-component vector of float) +0:177 'inF1' (temp 3-component vector of float) +0:178 length (global float) +0:178 'inF0' (temp 3-component vector of float) +0:179 log (global 3-component vector of float) +0:179 'inF0' (temp 3-component vector of float) +0:180 log2 (global 3-component vector of float) +0:180 'inF0' (temp 3-component vector of float) +0:181 max (global 3-component vector of float) +0:181 'inF0' (temp 3-component vector of float) +0:181 'inF1' (temp 3-component vector of float) +0:182 min (global 3-component vector of float) +0:182 'inF0' (temp 3-component vector of float) +0:182 'inF1' (temp 3-component vector of float) +0:184 normalize (global 3-component vector of float) +0:184 'inF0' (temp 3-component vector of float) +0:185 pow (global 3-component vector of float) +0:185 'inF0' (temp 3-component vector of float) +0:185 'inF1' (temp 3-component vector of float) +0:186 radians (global 3-component vector of float) +0:186 'inF0' (temp 3-component vector of float) +0:187 reflect (global 3-component vector of float) +0:187 'inF0' (temp 3-component vector of float) +0:187 'inF1' (temp 3-component vector of float) +0:188 refract (global 3-component vector of float) +0:188 'inF0' (temp 3-component vector of float) +0:188 'inF1' (temp 3-component vector of float) +0:188 Constant: +0:188 2.000000 +0:? bitFieldReverse (global 3-component vector of uint) +0:? Constant: +0:? 1 (const uint) +0:? 2 (const uint) +0:? 3 (const uint) +0:190 roundEven (global 3-component vector of float) +0:190 'inF0' (temp 3-component vector of float) +0:191 inverse sqrt (global 3-component vector of float) +0:191 'inF0' (temp 3-component vector of float) +0:192 Sign (global 3-component vector of float) +0:192 'inF0' (temp 3-component vector of float) +0:193 sine (global 3-component vector of float) +0:193 'inF0' (temp 3-component vector of float) +0:194 hyp. sine (global 3-component vector of float) +0:194 'inF0' (temp 3-component vector of float) +0:195 smoothstep (global 3-component vector of float) +0:195 'inF0' (temp 3-component vector of float) +0:195 'inF1' (temp 3-component vector of float) +0:195 'inF2' (temp 3-component vector of float) +0:196 sqrt (global 3-component vector of float) +0:196 'inF0' (temp 3-component vector of float) +0:197 step (global 3-component vector of float) +0:197 'inF0' (temp 3-component vector of float) +0:197 'inF1' (temp 3-component vector of float) +0:198 tangent (global 3-component vector of float) +0:198 'inF0' (temp 3-component vector of float) +0:199 hyp. tangent (global 3-component vector of float) +0:199 'inF0' (temp 3-component vector of float) +0:201 trunc (global 3-component vector of float) +0:201 'inF0' (temp 3-component vector of float) +0:204 Branch: Return with expression +0:? Constant: +0:? 1.000000 +0:? 2.000000 +0:? 3.000000 +0:328 Function Definition: PixelShaderFunction(vf4;vf4;vf4; (temp 4-component vector of float) +0:208 Function Parameters: +0:208 'inF0' (temp 4-component vector of float) +0:208 'inF1' (temp 4-component vector of float) +0:208 'inF2' (temp 4-component vector of float) +0:? Sequence +0:209 all (global bool) +0:209 'inF0' (temp 4-component vector of float) +0:210 Absolute value (global 4-component vector of float) +0:210 'inF0' (temp 4-component vector of float) +0:211 arc cosine (global 4-component vector of float) +0:211 'inF0' (temp 4-component vector of float) +0:212 any (global bool) +0:212 'inF0' (temp 4-component vector of float) +0:213 arc sine (global 4-component vector of float) +0:213 'inF0' (temp 4-component vector of float) +0:214 arc tangent (global 4-component vector of float) +0:214 'inF0' (temp 4-component vector of float) +0:215 arc tangent (global 4-component vector of float) +0:215 'inF0' (temp 4-component vector of float) +0:215 'inF1' (temp 4-component vector of float) +0:216 Ceiling (global 4-component vector of float) +0:216 'inF0' (temp 4-component vector of float) +0:217 clamp (global 4-component vector of float) +0:217 'inF0' (temp 4-component vector of float) +0:217 'inF1' (temp 4-component vector of float) +0:217 'inF2' (temp 4-component vector of float) +0:218 cosine (global 4-component vector of float) +0:218 'inF0' (temp 4-component vector of float) +0:219 hyp. cosine (global 4-component vector of float) +0:219 'inF0' (temp 4-component vector of float) +0:? bitCount (global 4-component vector of uint) +0:? Constant: +0:? 7 (const uint) +0:? 3 (const uint) +0:? 5 (const uint) +0:? 2 (const uint) +0:221 dPdx (global 4-component vector of float) +0:221 'inF0' (temp 4-component vector of float) +0:222 dPdxCoarse (global 4-component vector of float) +0:222 'inF0' (temp 4-component vector of float) +0:223 dPdxFine (global 4-component vector of float) +0:223 'inF0' (temp 4-component vector of float) +0:224 dPdy (global 4-component vector of float) +0:224 'inF0' (temp 4-component vector of float) +0:225 dPdyCoarse (global 4-component vector of float) +0:225 'inF0' (temp 4-component vector of float) +0:226 dPdyFine (global 4-component vector of float) +0:226 'inF0' (temp 4-component vector of float) +0:227 degrees (global 4-component vector of float) +0:227 'inF0' (temp 4-component vector of float) +0:228 distance (global float) +0:228 'inF0' (temp 4-component vector of float) +0:228 'inF1' (temp 4-component vector of float) +0:229 dot-product (global float) +0:229 'inF0' (temp 4-component vector of float) +0:229 'inF1' (temp 4-component vector of float) +0:233 exp (global 4-component vector of float) +0:233 'inF0' (temp 4-component vector of float) +0:234 exp2 (global 4-component vector of float) +0:234 'inF0' (temp 4-component vector of float) +0:235 face-forward (global 4-component vector of float) +0:235 'inF0' (temp 4-component vector of float) +0:235 'inF1' (temp 4-component vector of float) +0:235 'inF2' (temp 4-component vector of float) +0:236 findMSB (global int) +0:236 Constant: +0:236 7 (const int) +0:237 findLSB (global int) +0:237 Constant: +0:237 7 (const int) +0:238 Floor (global 4-component vector of float) +0:238 'inF0' (temp 4-component vector of float) +0:240 Function Call: fmod(vf4;vf4; (global 4-component vector of float) +0:240 'inF0' (temp 4-component vector of float) +0:240 'inF1' (temp 4-component vector of float) +0:241 Fraction (global 4-component vector of float) +0:241 'inF0' (temp 4-component vector of float) +0:242 frexp (global 4-component vector of float) +0:242 'inF0' (temp 4-component vector of float) +0:242 'inF1' (temp 4-component vector of float) +0:243 fwidth (global 4-component vector of float) +0:243 'inF0' (temp 4-component vector of float) +0:244 isinf (global 4-component vector of bool) +0:244 'inF0' (temp 4-component vector of float) +0:245 isnan (global 4-component vector of bool) +0:245 'inF0' (temp 4-component vector of float) +0:246 ldexp (global 4-component vector of float) +0:246 'inF0' (temp 4-component vector of float) +0:246 'inF1' (temp 4-component vector of float) +0:247 length (global float) +0:247 'inF0' (temp 4-component vector of float) +0:248 log (global 4-component vector of float) +0:248 'inF0' (temp 4-component vector of float) +0:249 log2 (global 4-component vector of float) +0:249 'inF0' (temp 4-component vector of float) +0:250 max (global 4-component vector of float) +0:250 'inF0' (temp 4-component vector of float) +0:250 'inF1' (temp 4-component vector of float) +0:251 min (global 4-component vector of float) +0:251 'inF0' (temp 4-component vector of float) +0:251 'inF1' (temp 4-component vector of float) +0:253 normalize (global 4-component vector of float) +0:253 'inF0' (temp 4-component vector of float) +0:254 pow (global 4-component vector of float) +0:254 'inF0' (temp 4-component vector of float) +0:254 'inF1' (temp 4-component vector of float) +0:255 radians (global 4-component vector of float) +0:255 'inF0' (temp 4-component vector of float) +0:256 reflect (global 4-component vector of float) +0:256 'inF0' (temp 4-component vector of float) +0:256 'inF1' (temp 4-component vector of float) +0:257 refract (global 4-component vector of float) +0:257 'inF0' (temp 4-component vector of float) +0:257 'inF1' (temp 4-component vector of float) +0:257 Constant: +0:257 2.000000 +0:? bitFieldReverse (global 4-component vector of uint) +0:? Constant: +0:? 1 (const uint) +0:? 2 (const uint) +0:? 3 (const uint) +0:? 4 (const uint) +0:259 roundEven (global 4-component vector of float) +0:259 'inF0' (temp 4-component vector of float) +0:260 inverse sqrt (global 4-component vector of float) +0:260 'inF0' (temp 4-component vector of float) +0:261 Sign (global 4-component vector of float) +0:261 'inF0' (temp 4-component vector of float) +0:262 sine (global 4-component vector of float) +0:262 'inF0' (temp 4-component vector of float) +0:263 hyp. sine (global 4-component vector of float) +0:263 'inF0' (temp 4-component vector of float) +0:264 smoothstep (global 4-component vector of float) +0:264 'inF0' (temp 4-component vector of float) +0:264 'inF1' (temp 4-component vector of float) +0:264 'inF2' (temp 4-component vector of float) +0:265 sqrt (global 4-component vector of float) +0:265 'inF0' (temp 4-component vector of float) +0:266 step (global 4-component vector of float) +0:266 'inF0' (temp 4-component vector of float) +0:266 'inF1' (temp 4-component vector of float) +0:267 tangent (global 4-component vector of float) +0:267 'inF0' (temp 4-component vector of float) +0:268 hyp. tangent (global 4-component vector of float) +0:268 'inF0' (temp 4-component vector of float) +0:270 trunc (global 4-component vector of float) +0:270 'inF0' (temp 4-component vector of float) +0:273 Branch: Return with expression +0:? Constant: +0:? 1.000000 +0:? 2.000000 +0:? 3.000000 +0:? 4.000000 +0:337 Function Definition: PixelShaderFunction(mf22;mf22;mf22; (temp 2X2 matrix of float) +0:329 Function Parameters: +0:329 'inF0' (temp 2X2 matrix of float) +0:329 'inF1' (temp 2X2 matrix of float) +0:329 'inF2' (temp 2X2 matrix of float) +0:? Sequence +0:331 all (global bool) +0:331 'inF0' (temp 2X2 matrix of float) +0:331 Absolute value (global 2X2 matrix of float) +0:331 'inF0' (temp 2X2 matrix of float) +0:331 arc cosine (global 2X2 matrix of float) +0:331 'inF0' (temp 2X2 matrix of float) +0:331 any (global bool) +0:331 'inF0' (temp 2X2 matrix of float) +0:331 arc sine (global 2X2 matrix of float) +0:331 'inF0' (temp 2X2 matrix of float) +0:331 arc tangent (global 2X2 matrix of float) +0:331 'inF0' (temp 2X2 matrix of float) +0:331 arc tangent (global 2X2 matrix of float) +0:331 'inF0' (temp 2X2 matrix of float) +0:331 'inF1' (temp 2X2 matrix of float) +0:331 Ceiling (global 2X2 matrix of float) +0:331 'inF0' (temp 2X2 matrix of float) +0:331 clamp (global 2X2 matrix of float) +0:331 'inF0' (temp 2X2 matrix of float) +0:331 'inF1' (temp 2X2 matrix of float) +0:331 'inF2' (temp 2X2 matrix of float) +0:331 cosine (global 2X2 matrix of float) +0:331 'inF0' (temp 2X2 matrix of float) +0:331 hyp. cosine (global 2X2 matrix of float) +0:331 'inF0' (temp 2X2 matrix of float) +0:331 dPdx (global 2X2 matrix of float) +0:331 'inF0' (temp 2X2 matrix of float) +0:331 dPdxCoarse (global 2X2 matrix of float) +0:331 'inF0' (temp 2X2 matrix of float) +0:331 dPdxFine (global 2X2 matrix of float) +0:331 'inF0' (temp 2X2 matrix of float) +0:331 dPdy (global 2X2 matrix of float) +0:331 'inF0' (temp 2X2 matrix of float) +0:331 dPdyCoarse (global 2X2 matrix of float) +0:331 'inF0' (temp 2X2 matrix of float) +0:331 dPdyFine (global 2X2 matrix of float) +0:331 'inF0' (temp 2X2 matrix of float) +0:331 degrees (global 2X2 matrix of float) +0:331 'inF0' (temp 2X2 matrix of float) +0:331 determinant (global float) +0:331 'inF0' (temp 2X2 matrix of float) +0:331 exp (global 2X2 matrix of float) +0:331 'inF0' (temp 2X2 matrix of float) +0:331 exp2 (global 2X2 matrix of float) +0:331 'inF0' (temp 2X2 matrix of float) +0:331 findMSB (global int) +0:331 Constant: +0:331 7 (const int) +0:331 findLSB (global int) +0:331 Constant: +0:331 7 (const int) +0:331 Floor (global 2X2 matrix of float) +0:331 'inF0' (temp 2X2 matrix of float) +0:331 Function Call: fmod(mf22;mf22; (global 2X2 matrix of float) +0:331 'inF0' (temp 2X2 matrix of float) +0:331 'inF1' (temp 2X2 matrix of float) +0:331 Fraction (global 2X2 matrix of float) +0:331 'inF0' (temp 2X2 matrix of float) +0:331 frexp (global 2X2 matrix of float) +0:331 'inF0' (temp 2X2 matrix of float) +0:331 'inF1' (temp 2X2 matrix of float) +0:331 fwidth (global 2X2 matrix of float) +0:331 'inF0' (temp 2X2 matrix of float) +0:331 ldexp (global 2X2 matrix of float) +0:331 'inF0' (temp 2X2 matrix of float) +0:331 'inF1' (temp 2X2 matrix of float) +0:331 log (global 2X2 matrix of float) +0:331 'inF0' (temp 2X2 matrix of float) +0:331 log2 (global 2X2 matrix of float) +0:331 'inF0' (temp 2X2 matrix of float) +0:331 max (global 2X2 matrix of float) +0:331 'inF0' (temp 2X2 matrix of float) +0:331 'inF1' (temp 2X2 matrix of float) +0:331 min (global 2X2 matrix of float) +0:331 'inF0' (temp 2X2 matrix of float) +0:331 'inF1' (temp 2X2 matrix of float) +0:331 pow (global 2X2 matrix of float) +0:331 'inF0' (temp 2X2 matrix of float) +0:331 'inF1' (temp 2X2 matrix of float) +0:331 radians (global 2X2 matrix of float) +0:331 'inF0' (temp 2X2 matrix of float) +0:331 roundEven (global 2X2 matrix of float) +0:331 'inF0' (temp 2X2 matrix of float) +0:331 inverse sqrt (global 2X2 matrix of float) +0:331 'inF0' (temp 2X2 matrix of float) +0:331 Sign (global 2X2 matrix of float) +0:331 'inF0' (temp 2X2 matrix of float) +0:331 sine (global 2X2 matrix of float) +0:331 'inF0' (temp 2X2 matrix of float) +0:331 hyp. sine (global 2X2 matrix of float) +0:331 'inF0' (temp 2X2 matrix of float) +0:331 smoothstep (global 2X2 matrix of float) +0:331 'inF0' (temp 2X2 matrix of float) +0:331 'inF1' (temp 2X2 matrix of float) +0:331 'inF2' (temp 2X2 matrix of float) +0:331 sqrt (global 2X2 matrix of float) +0:331 'inF0' (temp 2X2 matrix of float) +0:331 step (global 2X2 matrix of float) +0:331 'inF0' (temp 2X2 matrix of float) +0:331 'inF1' (temp 2X2 matrix of float) +0:331 tangent (global 2X2 matrix of float) +0:331 'inF0' (temp 2X2 matrix of float) +0:331 hyp. tangent (global 2X2 matrix of float) +0:331 'inF0' (temp 2X2 matrix of float) +0:331 transpose (global 2X2 matrix of float) +0:331 'inF0' (temp 2X2 matrix of float) +0:331 trunc (global 2X2 matrix of float) +0:331 'inF0' (temp 2X2 matrix of float) +0:334 Branch: Return with expression +0:? Constant: +0:? 2.000000 +0:? 2.000000 +0:? 2.000000 +0:? 2.000000 +0:346 Function Definition: PixelShaderFunction(mf33;mf33;mf33; (temp 3X3 matrix of float) +0:338 Function Parameters: +0:338 'inF0' (temp 3X3 matrix of float) +0:338 'inF1' (temp 3X3 matrix of float) +0:338 'inF2' (temp 3X3 matrix of float) +0:? Sequence +0:340 all (global bool) +0:340 'inF0' (temp 3X3 matrix of float) +0:340 Absolute value (global 3X3 matrix of float) +0:340 'inF0' (temp 3X3 matrix of float) +0:340 arc cosine (global 3X3 matrix of float) +0:340 'inF0' (temp 3X3 matrix of float) +0:340 any (global bool) +0:340 'inF0' (temp 3X3 matrix of float) +0:340 arc sine (global 3X3 matrix of float) +0:340 'inF0' (temp 3X3 matrix of float) +0:340 arc tangent (global 3X3 matrix of float) +0:340 'inF0' (temp 3X3 matrix of float) +0:340 arc tangent (global 3X3 matrix of float) +0:340 'inF0' (temp 3X3 matrix of float) +0:340 'inF1' (temp 3X3 matrix of float) +0:340 Ceiling (global 3X3 matrix of float) +0:340 'inF0' (temp 3X3 matrix of float) +0:340 clamp (global 3X3 matrix of float) +0:340 'inF0' (temp 3X3 matrix of float) +0:340 'inF1' (temp 3X3 matrix of float) +0:340 'inF2' (temp 3X3 matrix of float) +0:340 cosine (global 3X3 matrix of float) +0:340 'inF0' (temp 3X3 matrix of float) +0:340 hyp. cosine (global 3X3 matrix of float) +0:340 'inF0' (temp 3X3 matrix of float) +0:340 dPdx (global 3X3 matrix of float) +0:340 'inF0' (temp 3X3 matrix of float) +0:340 dPdxCoarse (global 3X3 matrix of float) +0:340 'inF0' (temp 3X3 matrix of float) +0:340 dPdxFine (global 3X3 matrix of float) +0:340 'inF0' (temp 3X3 matrix of float) +0:340 dPdy (global 3X3 matrix of float) +0:340 'inF0' (temp 3X3 matrix of float) +0:340 dPdyCoarse (global 3X3 matrix of float) +0:340 'inF0' (temp 3X3 matrix of float) +0:340 dPdyFine (global 3X3 matrix of float) +0:340 'inF0' (temp 3X3 matrix of float) +0:340 degrees (global 3X3 matrix of float) +0:340 'inF0' (temp 3X3 matrix of float) +0:340 determinant (global float) +0:340 'inF0' (temp 3X3 matrix of float) +0:340 exp (global 3X3 matrix of float) +0:340 'inF0' (temp 3X3 matrix of float) +0:340 exp2 (global 3X3 matrix of float) +0:340 'inF0' (temp 3X3 matrix of float) +0:340 findMSB (global int) +0:340 Constant: +0:340 7 (const int) +0:340 findLSB (global int) +0:340 Constant: +0:340 7 (const int) +0:340 Floor (global 3X3 matrix of float) +0:340 'inF0' (temp 3X3 matrix of float) +0:340 Function Call: fmod(mf33;mf33; (global 3X3 matrix of float) +0:340 'inF0' (temp 3X3 matrix of float) +0:340 'inF1' (temp 3X3 matrix of float) +0:340 Fraction (global 3X3 matrix of float) +0:340 'inF0' (temp 3X3 matrix of float) +0:340 frexp (global 3X3 matrix of float) +0:340 'inF0' (temp 3X3 matrix of float) +0:340 'inF1' (temp 3X3 matrix of float) +0:340 fwidth (global 3X3 matrix of float) +0:340 'inF0' (temp 3X3 matrix of float) +0:340 ldexp (global 3X3 matrix of float) +0:340 'inF0' (temp 3X3 matrix of float) +0:340 'inF1' (temp 3X3 matrix of float) +0:340 log (global 3X3 matrix of float) +0:340 'inF0' (temp 3X3 matrix of float) +0:340 log2 (global 3X3 matrix of float) +0:340 'inF0' (temp 3X3 matrix of float) +0:340 max (global 3X3 matrix of float) +0:340 'inF0' (temp 3X3 matrix of float) +0:340 'inF1' (temp 3X3 matrix of float) +0:340 min (global 3X3 matrix of float) +0:340 'inF0' (temp 3X3 matrix of float) +0:340 'inF1' (temp 3X3 matrix of float) +0:340 pow (global 3X3 matrix of float) +0:340 'inF0' (temp 3X3 matrix of float) +0:340 'inF1' (temp 3X3 matrix of float) +0:340 radians (global 3X3 matrix of float) +0:340 'inF0' (temp 3X3 matrix of float) +0:340 roundEven (global 3X3 matrix of float) +0:340 'inF0' (temp 3X3 matrix of float) +0:340 inverse sqrt (global 3X3 matrix of float) +0:340 'inF0' (temp 3X3 matrix of float) +0:340 Sign (global 3X3 matrix of float) +0:340 'inF0' (temp 3X3 matrix of float) +0:340 sine (global 3X3 matrix of float) +0:340 'inF0' (temp 3X3 matrix of float) +0:340 hyp. sine (global 3X3 matrix of float) +0:340 'inF0' (temp 3X3 matrix of float) +0:340 smoothstep (global 3X3 matrix of float) +0:340 'inF0' (temp 3X3 matrix of float) +0:340 'inF1' (temp 3X3 matrix of float) +0:340 'inF2' (temp 3X3 matrix of float) +0:340 sqrt (global 3X3 matrix of float) +0:340 'inF0' (temp 3X3 matrix of float) +0:340 step (global 3X3 matrix of float) +0:340 'inF0' (temp 3X3 matrix of float) +0:340 'inF1' (temp 3X3 matrix of float) +0:340 tangent (global 3X3 matrix of float) +0:340 'inF0' (temp 3X3 matrix of float) +0:340 hyp. tangent (global 3X3 matrix of float) +0:340 'inF0' (temp 3X3 matrix of float) +0:340 transpose (global 3X3 matrix of float) +0:340 'inF0' (temp 3X3 matrix of float) +0:340 trunc (global 3X3 matrix of float) +0:340 'inF0' (temp 3X3 matrix of float) +0:343 Branch: Return with expression +0:? Constant: +0:? 3.000000 +0:? 3.000000 +0:? 3.000000 +0:? 3.000000 +0:? 3.000000 +0:? 3.000000 +0:? 3.000000 +0:? 3.000000 +0:? 3.000000 +0:354 Function Definition: PixelShaderFunction(mf44;mf44;mf44; (temp 4X4 matrix of float) +0:347 Function Parameters: +0:347 'inF0' (temp 4X4 matrix of float) +0:347 'inF1' (temp 4X4 matrix of float) +0:347 'inF2' (temp 4X4 matrix of float) +0:? Sequence +0:349 all (global bool) +0:349 'inF0' (temp 4X4 matrix of float) +0:349 Absolute value (global 4X4 matrix of float) +0:349 'inF0' (temp 4X4 matrix of float) +0:349 arc cosine (global 4X4 matrix of float) +0:349 'inF0' (temp 4X4 matrix of float) +0:349 any (global bool) +0:349 'inF0' (temp 4X4 matrix of float) +0:349 arc sine (global 4X4 matrix of float) +0:349 'inF0' (temp 4X4 matrix of float) +0:349 arc tangent (global 4X4 matrix of float) +0:349 'inF0' (temp 4X4 matrix of float) +0:349 arc tangent (global 4X4 matrix of float) +0:349 'inF0' (temp 4X4 matrix of float) +0:349 'inF1' (temp 4X4 matrix of float) +0:349 Ceiling (global 4X4 matrix of float) +0:349 'inF0' (temp 4X4 matrix of float) +0:349 clamp (global 4X4 matrix of float) +0:349 'inF0' (temp 4X4 matrix of float) +0:349 'inF1' (temp 4X4 matrix of float) +0:349 'inF2' (temp 4X4 matrix of float) +0:349 cosine (global 4X4 matrix of float) +0:349 'inF0' (temp 4X4 matrix of float) +0:349 hyp. cosine (global 4X4 matrix of float) +0:349 'inF0' (temp 4X4 matrix of float) +0:349 dPdx (global 4X4 matrix of float) +0:349 'inF0' (temp 4X4 matrix of float) +0:349 dPdxCoarse (global 4X4 matrix of float) +0:349 'inF0' (temp 4X4 matrix of float) +0:349 dPdxFine (global 4X4 matrix of float) +0:349 'inF0' (temp 4X4 matrix of float) +0:349 dPdy (global 4X4 matrix of float) +0:349 'inF0' (temp 4X4 matrix of float) +0:349 dPdyCoarse (global 4X4 matrix of float) +0:349 'inF0' (temp 4X4 matrix of float) +0:349 dPdyFine (global 4X4 matrix of float) +0:349 'inF0' (temp 4X4 matrix of float) +0:349 degrees (global 4X4 matrix of float) +0:349 'inF0' (temp 4X4 matrix of float) +0:349 determinant (global float) +0:349 'inF0' (temp 4X4 matrix of float) +0:349 exp (global 4X4 matrix of float) +0:349 'inF0' (temp 4X4 matrix of float) +0:349 exp2 (global 4X4 matrix of float) +0:349 'inF0' (temp 4X4 matrix of float) +0:349 findMSB (global int) +0:349 Constant: +0:349 7 (const int) +0:349 findLSB (global int) +0:349 Constant: +0:349 7 (const int) +0:349 Floor (global 4X4 matrix of float) +0:349 'inF0' (temp 4X4 matrix of float) +0:349 Function Call: fmod(mf44;mf44; (global 4X4 matrix of float) +0:349 'inF0' (temp 4X4 matrix of float) +0:349 'inF1' (temp 4X4 matrix of float) +0:349 Fraction (global 4X4 matrix of float) +0:349 'inF0' (temp 4X4 matrix of float) +0:349 frexp (global 4X4 matrix of float) +0:349 'inF0' (temp 4X4 matrix of float) +0:349 'inF1' (temp 4X4 matrix of float) +0:349 fwidth (global 4X4 matrix of float) +0:349 'inF0' (temp 4X4 matrix of float) +0:349 ldexp (global 4X4 matrix of float) +0:349 'inF0' (temp 4X4 matrix of float) +0:349 'inF1' (temp 4X4 matrix of float) +0:349 log (global 4X4 matrix of float) +0:349 'inF0' (temp 4X4 matrix of float) +0:349 log2 (global 4X4 matrix of float) +0:349 'inF0' (temp 4X4 matrix of float) +0:349 max (global 4X4 matrix of float) +0:349 'inF0' (temp 4X4 matrix of float) +0:349 'inF1' (temp 4X4 matrix of float) +0:349 min (global 4X4 matrix of float) +0:349 'inF0' (temp 4X4 matrix of float) +0:349 'inF1' (temp 4X4 matrix of float) +0:349 pow (global 4X4 matrix of float) +0:349 'inF0' (temp 4X4 matrix of float) +0:349 'inF1' (temp 4X4 matrix of float) +0:349 radians (global 4X4 matrix of float) +0:349 'inF0' (temp 4X4 matrix of float) +0:349 roundEven (global 4X4 matrix of float) +0:349 'inF0' (temp 4X4 matrix of float) +0:349 inverse sqrt (global 4X4 matrix of float) +0:349 'inF0' (temp 4X4 matrix of float) +0:349 Sign (global 4X4 matrix of float) +0:349 'inF0' (temp 4X4 matrix of float) +0:349 sine (global 4X4 matrix of float) +0:349 'inF0' (temp 4X4 matrix of float) +0:349 hyp. sine (global 4X4 matrix of float) +0:349 'inF0' (temp 4X4 matrix of float) +0:349 smoothstep (global 4X4 matrix of float) +0:349 'inF0' (temp 4X4 matrix of float) +0:349 'inF1' (temp 4X4 matrix of float) +0:349 'inF2' (temp 4X4 matrix of float) +0:349 sqrt (global 4X4 matrix of float) +0:349 'inF0' (temp 4X4 matrix of float) +0:349 step (global 4X4 matrix of float) +0:349 'inF0' (temp 4X4 matrix of float) +0:349 'inF1' (temp 4X4 matrix of float) +0:349 tangent (global 4X4 matrix of float) +0:349 'inF0' (temp 4X4 matrix of float) +0:349 hyp. tangent (global 4X4 matrix of float) +0:349 'inF0' (temp 4X4 matrix of float) +0:349 transpose (global 4X4 matrix of float) +0:349 'inF0' (temp 4X4 matrix of float) +0:349 trunc (global 4X4 matrix of float) +0:349 'inF0' (temp 4X4 matrix of float) +0:352 Branch: Return with expression +0:? Constant: +0:? 4.000000 +0:? 4.000000 +0:? 4.000000 +0:? 4.000000 +0:? 4.000000 +0:? 4.000000 +0:? 4.000000 +0:? 4.000000 +0:? 4.000000 +0:? 4.000000 +0:? 4.000000 +0:? 4.000000 +0:? 4.000000 +0:? 4.000000 +0:? 4.000000 +0:? 4.000000 +0:? Linker Objects + + +Linked fragment stage: + + +Shader version: 450 +gl_FragCoord origin is upper left +0:? Sequence +0:62 Function Definition: PixelShaderFunction(f1;f1;f1; (temp float) +0:2 Function Parameters: +0:2 'inF0' (temp float) +0:2 'inF1' (temp float) +0:2 'inF2' (temp float) +0:? Sequence +0:3 all (global bool) +0:3 'inF0' (temp float) +0:4 Absolute value (global float) +0:4 'inF0' (temp float) +0:5 arc cosine (global float) +0:5 'inF0' (temp float) +0:6 any (global bool) +0:6 'inF0' (temp float) +0:7 arc sine (global float) +0:7 'inF0' (temp float) +0:8 arc tangent (global float) +0:8 'inF0' (temp float) +0:9 arc tangent (global float) +0:9 'inF0' (temp float) +0:9 'inF1' (temp float) +0:10 Ceiling (global float) +0:10 'inF0' (temp float) +0:11 clamp (global float) +0:11 'inF0' (temp float) +0:11 'inF1' (temp float) +0:11 'inF2' (temp float) +0:12 cosine (global float) +0:12 'inF0' (temp float) +0:13 hyp. cosine (global float) +0:13 'inF0' (temp float) +0:14 bitCount (global uint) +0:14 Constant: +0:14 7 (const uint) +0:15 dPdx (global float) +0:15 'inF0' (temp float) +0:16 dPdxCoarse (global float) +0:16 'inF0' (temp float) +0:17 dPdxFine (global float) +0:17 'inF0' (temp float) +0:18 dPdy (global float) +0:18 'inF0' (temp float) +0:19 dPdyCoarse (global float) +0:19 'inF0' (temp float) +0:20 dPdyFine (global float) +0:20 'inF0' (temp float) +0:21 degrees (global float) +0:21 'inF0' (temp float) +0:25 exp (global float) +0:25 'inF0' (temp float) +0:26 exp2 (global float) +0:26 'inF0' (temp float) +0:27 findMSB (global int) +0:27 Constant: +0:27 7 (const int) +0:28 findLSB (global int) +0:28 Constant: +0:28 7 (const int) +0:29 Floor (global float) +0:29 'inF0' (temp float) +0:31 Function Call: fmod(f1;f1; (global float) +0:31 'inF0' (temp float) +0:31 'inF1' (temp float) +0:32 Fraction (global float) +0:32 'inF0' (temp float) +0:33 frexp (global float) +0:33 'inF0' (temp float) +0:33 'inF1' (temp float) +0:34 fwidth (global float) +0:34 'inF0' (temp float) +0:35 isinf (global bool) +0:35 'inF0' (temp float) +0:36 isnan (global bool) +0:36 'inF0' (temp float) +0:37 ldexp (global float) +0:37 'inF0' (temp float) +0:37 'inF1' (temp float) +0:38 log (global float) +0:38 'inF0' (temp float) +0:39 log2 (global float) +0:39 'inF0' (temp float) +0:40 max (global float) +0:40 'inF0' (temp float) +0:40 'inF1' (temp float) +0:41 min (global float) +0:41 'inF0' (temp float) +0:41 'inF1' (temp float) +0:43 pow (global float) +0:43 'inF0' (temp float) +0:43 'inF1' (temp float) +0:44 radians (global float) +0:44 'inF0' (temp float) +0:45 bitFieldReverse (global uint) +0:45 Constant: +0:45 2 (const uint) +0:46 roundEven (global float) +0:46 'inF0' (temp float) +0:47 inverse sqrt (global float) +0:47 'inF0' (temp float) +0:48 Sign (global float) +0:48 'inF0' (temp float) +0:49 sine (global float) +0:49 'inF0' (temp float) +0:50 hyp. sine (global float) +0:50 'inF0' (temp float) +0:51 smoothstep (global float) +0:51 'inF0' (temp float) +0:51 'inF1' (temp float) +0:51 'inF2' (temp float) +0:52 sqrt (global float) +0:52 'inF0' (temp float) +0:53 step (global float) +0:53 'inF0' (temp float) +0:53 'inF1' (temp float) +0:54 tangent (global float) +0:54 'inF0' (temp float) +0:55 hyp. tangent (global float) +0:55 'inF0' (temp float) +0:57 trunc (global float) +0:57 'inF0' (temp float) +0:59 Branch: Return with expression +0:59 Constant: +0:59 0.000000 +0:68 Function Definition: PixelShaderFunction(vf1;vf1;vf1; (temp 1-component vector of float) +0:63 Function Parameters: +0:63 'inF0' (temp 1-component vector of float) +0:63 'inF1' (temp 1-component vector of float) +0:63 'inF2' (temp 1-component vector of float) +0:? Sequence +0:65 Branch: Return with expression +0:65 Constant: +0:65 0.000000 +0:137 Function Definition: PixelShaderFunction(vf2;vf2;vf2; (temp 2-component vector of float) +0:69 Function Parameters: +0:69 'inF0' (temp 2-component vector of float) +0:69 'inF1' (temp 2-component vector of float) +0:69 'inF2' (temp 2-component vector of float) +0:? Sequence +0:70 all (global bool) +0:70 'inF0' (temp 2-component vector of float) +0:71 Absolute value (global 2-component vector of float) +0:71 'inF0' (temp 2-component vector of float) +0:72 arc cosine (global 2-component vector of float) +0:72 'inF0' (temp 2-component vector of float) +0:73 any (global bool) +0:73 'inF0' (temp 2-component vector of float) +0:74 arc sine (global 2-component vector of float) +0:74 'inF0' (temp 2-component vector of float) +0:75 arc tangent (global 2-component vector of float) +0:75 'inF0' (temp 2-component vector of float) +0:76 arc tangent (global 2-component vector of float) +0:76 'inF0' (temp 2-component vector of float) +0:76 'inF1' (temp 2-component vector of float) +0:77 Ceiling (global 2-component vector of float) +0:77 'inF0' (temp 2-component vector of float) +0:78 clamp (global 2-component vector of float) +0:78 'inF0' (temp 2-component vector of float) +0:78 'inF1' (temp 2-component vector of float) +0:78 'inF2' (temp 2-component vector of float) +0:79 cosine (global 2-component vector of float) +0:79 'inF0' (temp 2-component vector of float) +0:80 hyp. cosine (global 2-component vector of float) +0:80 'inF0' (temp 2-component vector of float) +0:? bitCount (global 2-component vector of uint) +0:? Constant: +0:? 7 (const uint) +0:? 3 (const uint) +0:82 dPdx (global 2-component vector of float) +0:82 'inF0' (temp 2-component vector of float) +0:83 dPdxCoarse (global 2-component vector of float) +0:83 'inF0' (temp 2-component vector of float) +0:84 dPdxFine (global 2-component vector of float) +0:84 'inF0' (temp 2-component vector of float) +0:85 dPdy (global 2-component vector of float) +0:85 'inF0' (temp 2-component vector of float) +0:86 dPdyCoarse (global 2-component vector of float) +0:86 'inF0' (temp 2-component vector of float) +0:87 dPdyFine (global 2-component vector of float) +0:87 'inF0' (temp 2-component vector of float) +0:88 degrees (global 2-component vector of float) +0:88 'inF0' (temp 2-component vector of float) +0:89 distance (global float) +0:89 'inF0' (temp 2-component vector of float) +0:89 'inF1' (temp 2-component vector of float) +0:90 dot-product (global float) +0:90 'inF0' (temp 2-component vector of float) +0:90 'inF1' (temp 2-component vector of float) +0:94 exp (global 2-component vector of float) +0:94 'inF0' (temp 2-component vector of float) +0:95 exp2 (global 2-component vector of float) +0:95 'inF0' (temp 2-component vector of float) +0:96 face-forward (global 2-component vector of float) +0:96 'inF0' (temp 2-component vector of float) +0:96 'inF1' (temp 2-component vector of float) +0:96 'inF2' (temp 2-component vector of float) +0:97 findMSB (global int) +0:97 Constant: +0:97 7 (const int) +0:98 findLSB (global int) +0:98 Constant: +0:98 7 (const int) +0:99 Floor (global 2-component vector of float) +0:99 'inF0' (temp 2-component vector of float) +0:101 Function Call: fmod(vf2;vf2; (global 2-component vector of float) +0:101 'inF0' (temp 2-component vector of float) +0:101 'inF1' (temp 2-component vector of float) +0:102 Fraction (global 2-component vector of float) +0:102 'inF0' (temp 2-component vector of float) +0:103 frexp (global 2-component vector of float) +0:103 'inF0' (temp 2-component vector of float) +0:103 'inF1' (temp 2-component vector of float) +0:104 fwidth (global 2-component vector of float) +0:104 'inF0' (temp 2-component vector of float) +0:105 isinf (global 2-component vector of bool) +0:105 'inF0' (temp 2-component vector of float) +0:106 isnan (global 2-component vector of bool) +0:106 'inF0' (temp 2-component vector of float) +0:107 ldexp (global 2-component vector of float) +0:107 'inF0' (temp 2-component vector of float) +0:107 'inF1' (temp 2-component vector of float) +0:108 length (global float) +0:108 'inF0' (temp 2-component vector of float) +0:109 log (global 2-component vector of float) +0:109 'inF0' (temp 2-component vector of float) +0:110 log2 (global 2-component vector of float) +0:110 'inF0' (temp 2-component vector of float) +0:111 max (global 2-component vector of float) +0:111 'inF0' (temp 2-component vector of float) +0:111 'inF1' (temp 2-component vector of float) +0:112 min (global 2-component vector of float) +0:112 'inF0' (temp 2-component vector of float) +0:112 'inF1' (temp 2-component vector of float) +0:114 normalize (global 2-component vector of float) +0:114 'inF0' (temp 2-component vector of float) +0:115 pow (global 2-component vector of float) +0:115 'inF0' (temp 2-component vector of float) +0:115 'inF1' (temp 2-component vector of float) +0:116 radians (global 2-component vector of float) +0:116 'inF0' (temp 2-component vector of float) +0:117 reflect (global 2-component vector of float) +0:117 'inF0' (temp 2-component vector of float) +0:117 'inF1' (temp 2-component vector of float) +0:118 refract (global 2-component vector of float) +0:118 'inF0' (temp 2-component vector of float) +0:118 'inF1' (temp 2-component vector of float) +0:118 Constant: +0:118 2.000000 +0:? bitFieldReverse (global 2-component vector of uint) +0:? Constant: +0:? 1 (const uint) +0:? 2 (const uint) +0:120 roundEven (global 2-component vector of float) +0:120 'inF0' (temp 2-component vector of float) +0:121 inverse sqrt (global 2-component vector of float) +0:121 'inF0' (temp 2-component vector of float) +0:122 Sign (global 2-component vector of float) +0:122 'inF0' (temp 2-component vector of float) +0:123 sine (global 2-component vector of float) +0:123 'inF0' (temp 2-component vector of float) +0:124 hyp. sine (global 2-component vector of float) +0:124 'inF0' (temp 2-component vector of float) +0:125 smoothstep (global 2-component vector of float) +0:125 'inF0' (temp 2-component vector of float) +0:125 'inF1' (temp 2-component vector of float) +0:125 'inF2' (temp 2-component vector of float) +0:126 sqrt (global 2-component vector of float) +0:126 'inF0' (temp 2-component vector of float) +0:127 step (global 2-component vector of float) +0:127 'inF0' (temp 2-component vector of float) +0:127 'inF1' (temp 2-component vector of float) +0:128 tangent (global 2-component vector of float) +0:128 'inF0' (temp 2-component vector of float) +0:129 hyp. tangent (global 2-component vector of float) +0:129 'inF0' (temp 2-component vector of float) +0:131 trunc (global 2-component vector of float) +0:131 'inF0' (temp 2-component vector of float) +0:134 Branch: Return with expression +0:? Constant: +0:? 1.000000 +0:? 2.000000 +0:207 Function Definition: PixelShaderFunction(vf3;vf3;vf3; (temp 3-component vector of float) +0:138 Function Parameters: +0:138 'inF0' (temp 3-component vector of float) +0:138 'inF1' (temp 3-component vector of float) +0:138 'inF2' (temp 3-component vector of float) +0:? Sequence +0:139 all (global bool) +0:139 'inF0' (temp 3-component vector of float) +0:140 Absolute value (global 3-component vector of float) +0:140 'inF0' (temp 3-component vector of float) +0:141 arc cosine (global 3-component vector of float) +0:141 'inF0' (temp 3-component vector of float) +0:142 any (global bool) +0:142 'inF0' (temp 3-component vector of float) +0:143 arc sine (global 3-component vector of float) +0:143 'inF0' (temp 3-component vector of float) +0:144 arc tangent (global 3-component vector of float) +0:144 'inF0' (temp 3-component vector of float) +0:145 arc tangent (global 3-component vector of float) +0:145 'inF0' (temp 3-component vector of float) +0:145 'inF1' (temp 3-component vector of float) +0:146 Ceiling (global 3-component vector of float) +0:146 'inF0' (temp 3-component vector of float) +0:147 clamp (global 3-component vector of float) +0:147 'inF0' (temp 3-component vector of float) +0:147 'inF1' (temp 3-component vector of float) +0:147 'inF2' (temp 3-component vector of float) +0:148 cosine (global 3-component vector of float) +0:148 'inF0' (temp 3-component vector of float) +0:149 hyp. cosine (global 3-component vector of float) +0:149 'inF0' (temp 3-component vector of float) +0:? bitCount (global 3-component vector of uint) +0:? Constant: +0:? 7 (const uint) +0:? 3 (const uint) +0:? 5 (const uint) +0:151 cross-product (global 3-component vector of float) +0:151 'inF0' (temp 3-component vector of float) +0:151 'inF1' (temp 3-component vector of float) +0:152 dPdx (global 3-component vector of float) +0:152 'inF0' (temp 3-component vector of float) +0:153 dPdxCoarse (global 3-component vector of float) +0:153 'inF0' (temp 3-component vector of float) +0:154 dPdxFine (global 3-component vector of float) +0:154 'inF0' (temp 3-component vector of float) +0:155 dPdy (global 3-component vector of float) +0:155 'inF0' (temp 3-component vector of float) +0:156 dPdyCoarse (global 3-component vector of float) +0:156 'inF0' (temp 3-component vector of float) +0:157 dPdyFine (global 3-component vector of float) +0:157 'inF0' (temp 3-component vector of float) +0:158 degrees (global 3-component vector of float) +0:158 'inF0' (temp 3-component vector of float) +0:159 distance (global float) +0:159 'inF0' (temp 3-component vector of float) +0:159 'inF1' (temp 3-component vector of float) +0:160 dot-product (global float) +0:160 'inF0' (temp 3-component vector of float) +0:160 'inF1' (temp 3-component vector of float) +0:164 exp (global 3-component vector of float) +0:164 'inF0' (temp 3-component vector of float) +0:165 exp2 (global 3-component vector of float) +0:165 'inF0' (temp 3-component vector of float) +0:166 face-forward (global 3-component vector of float) +0:166 'inF0' (temp 3-component vector of float) +0:166 'inF1' (temp 3-component vector of float) +0:166 'inF2' (temp 3-component vector of float) +0:167 findMSB (global int) +0:167 Constant: +0:167 7 (const int) +0:168 findLSB (global int) +0:168 Constant: +0:168 7 (const int) +0:169 Floor (global 3-component vector of float) +0:169 'inF0' (temp 3-component vector of float) +0:171 Function Call: fmod(vf3;vf3; (global 3-component vector of float) +0:171 'inF0' (temp 3-component vector of float) +0:171 'inF1' (temp 3-component vector of float) +0:172 Fraction (global 3-component vector of float) +0:172 'inF0' (temp 3-component vector of float) +0:173 frexp (global 3-component vector of float) +0:173 'inF0' (temp 3-component vector of float) +0:173 'inF1' (temp 3-component vector of float) +0:174 fwidth (global 3-component vector of float) +0:174 'inF0' (temp 3-component vector of float) +0:175 isinf (global 3-component vector of bool) +0:175 'inF0' (temp 3-component vector of float) +0:176 isnan (global 3-component vector of bool) +0:176 'inF0' (temp 3-component vector of float) +0:177 ldexp (global 3-component vector of float) +0:177 'inF0' (temp 3-component vector of float) +0:177 'inF1' (temp 3-component vector of float) +0:178 length (global float) +0:178 'inF0' (temp 3-component vector of float) +0:179 log (global 3-component vector of float) +0:179 'inF0' (temp 3-component vector of float) +0:180 log2 (global 3-component vector of float) +0:180 'inF0' (temp 3-component vector of float) +0:181 max (global 3-component vector of float) +0:181 'inF0' (temp 3-component vector of float) +0:181 'inF1' (temp 3-component vector of float) +0:182 min (global 3-component vector of float) +0:182 'inF0' (temp 3-component vector of float) +0:182 'inF1' (temp 3-component vector of float) +0:184 normalize (global 3-component vector of float) +0:184 'inF0' (temp 3-component vector of float) +0:185 pow (global 3-component vector of float) +0:185 'inF0' (temp 3-component vector of float) +0:185 'inF1' (temp 3-component vector of float) +0:186 radians (global 3-component vector of float) +0:186 'inF0' (temp 3-component vector of float) +0:187 reflect (global 3-component vector of float) +0:187 'inF0' (temp 3-component vector of float) +0:187 'inF1' (temp 3-component vector of float) +0:188 refract (global 3-component vector of float) +0:188 'inF0' (temp 3-component vector of float) +0:188 'inF1' (temp 3-component vector of float) +0:188 Constant: +0:188 2.000000 +0:? bitFieldReverse (global 3-component vector of uint) +0:? Constant: +0:? 1 (const uint) +0:? 2 (const uint) +0:? 3 (const uint) +0:190 roundEven (global 3-component vector of float) +0:190 'inF0' (temp 3-component vector of float) +0:191 inverse sqrt (global 3-component vector of float) +0:191 'inF0' (temp 3-component vector of float) +0:192 Sign (global 3-component vector of float) +0:192 'inF0' (temp 3-component vector of float) +0:193 sine (global 3-component vector of float) +0:193 'inF0' (temp 3-component vector of float) +0:194 hyp. sine (global 3-component vector of float) +0:194 'inF0' (temp 3-component vector of float) +0:195 smoothstep (global 3-component vector of float) +0:195 'inF0' (temp 3-component vector of float) +0:195 'inF1' (temp 3-component vector of float) +0:195 'inF2' (temp 3-component vector of float) +0:196 sqrt (global 3-component vector of float) +0:196 'inF0' (temp 3-component vector of float) +0:197 step (global 3-component vector of float) +0:197 'inF0' (temp 3-component vector of float) +0:197 'inF1' (temp 3-component vector of float) +0:198 tangent (global 3-component vector of float) +0:198 'inF0' (temp 3-component vector of float) +0:199 hyp. tangent (global 3-component vector of float) +0:199 'inF0' (temp 3-component vector of float) +0:201 trunc (global 3-component vector of float) +0:201 'inF0' (temp 3-component vector of float) +0:204 Branch: Return with expression +0:? Constant: +0:? 1.000000 +0:? 2.000000 +0:? 3.000000 +0:328 Function Definition: PixelShaderFunction(vf4;vf4;vf4; (temp 4-component vector of float) +0:208 Function Parameters: +0:208 'inF0' (temp 4-component vector of float) +0:208 'inF1' (temp 4-component vector of float) +0:208 'inF2' (temp 4-component vector of float) +0:? Sequence +0:209 all (global bool) +0:209 'inF0' (temp 4-component vector of float) +0:210 Absolute value (global 4-component vector of float) +0:210 'inF0' (temp 4-component vector of float) +0:211 arc cosine (global 4-component vector of float) +0:211 'inF0' (temp 4-component vector of float) +0:212 any (global bool) +0:212 'inF0' (temp 4-component vector of float) +0:213 arc sine (global 4-component vector of float) +0:213 'inF0' (temp 4-component vector of float) +0:214 arc tangent (global 4-component vector of float) +0:214 'inF0' (temp 4-component vector of float) +0:215 arc tangent (global 4-component vector of float) +0:215 'inF0' (temp 4-component vector of float) +0:215 'inF1' (temp 4-component vector of float) +0:216 Ceiling (global 4-component vector of float) +0:216 'inF0' (temp 4-component vector of float) +0:217 clamp (global 4-component vector of float) +0:217 'inF0' (temp 4-component vector of float) +0:217 'inF1' (temp 4-component vector of float) +0:217 'inF2' (temp 4-component vector of float) +0:218 cosine (global 4-component vector of float) +0:218 'inF0' (temp 4-component vector of float) +0:219 hyp. cosine (global 4-component vector of float) +0:219 'inF0' (temp 4-component vector of float) +0:? bitCount (global 4-component vector of uint) +0:? Constant: +0:? 7 (const uint) +0:? 3 (const uint) +0:? 5 (const uint) +0:? 2 (const uint) +0:221 dPdx (global 4-component vector of float) +0:221 'inF0' (temp 4-component vector of float) +0:222 dPdxCoarse (global 4-component vector of float) +0:222 'inF0' (temp 4-component vector of float) +0:223 dPdxFine (global 4-component vector of float) +0:223 'inF0' (temp 4-component vector of float) +0:224 dPdy (global 4-component vector of float) +0:224 'inF0' (temp 4-component vector of float) +0:225 dPdyCoarse (global 4-component vector of float) +0:225 'inF0' (temp 4-component vector of float) +0:226 dPdyFine (global 4-component vector of float) +0:226 'inF0' (temp 4-component vector of float) +0:227 degrees (global 4-component vector of float) +0:227 'inF0' (temp 4-component vector of float) +0:228 distance (global float) +0:228 'inF0' (temp 4-component vector of float) +0:228 'inF1' (temp 4-component vector of float) +0:229 dot-product (global float) +0:229 'inF0' (temp 4-component vector of float) +0:229 'inF1' (temp 4-component vector of float) +0:233 exp (global 4-component vector of float) +0:233 'inF0' (temp 4-component vector of float) +0:234 exp2 (global 4-component vector of float) +0:234 'inF0' (temp 4-component vector of float) +0:235 face-forward (global 4-component vector of float) +0:235 'inF0' (temp 4-component vector of float) +0:235 'inF1' (temp 4-component vector of float) +0:235 'inF2' (temp 4-component vector of float) +0:236 findMSB (global int) +0:236 Constant: +0:236 7 (const int) +0:237 findLSB (global int) +0:237 Constant: +0:237 7 (const int) +0:238 Floor (global 4-component vector of float) +0:238 'inF0' (temp 4-component vector of float) +0:240 Function Call: fmod(vf4;vf4; (global 4-component vector of float) +0:240 'inF0' (temp 4-component vector of float) +0:240 'inF1' (temp 4-component vector of float) +0:241 Fraction (global 4-component vector of float) +0:241 'inF0' (temp 4-component vector of float) +0:242 frexp (global 4-component vector of float) +0:242 'inF0' (temp 4-component vector of float) +0:242 'inF1' (temp 4-component vector of float) +0:243 fwidth (global 4-component vector of float) +0:243 'inF0' (temp 4-component vector of float) +0:244 isinf (global 4-component vector of bool) +0:244 'inF0' (temp 4-component vector of float) +0:245 isnan (global 4-component vector of bool) +0:245 'inF0' (temp 4-component vector of float) +0:246 ldexp (global 4-component vector of float) +0:246 'inF0' (temp 4-component vector of float) +0:246 'inF1' (temp 4-component vector of float) +0:247 length (global float) +0:247 'inF0' (temp 4-component vector of float) +0:248 log (global 4-component vector of float) +0:248 'inF0' (temp 4-component vector of float) +0:249 log2 (global 4-component vector of float) +0:249 'inF0' (temp 4-component vector of float) +0:250 max (global 4-component vector of float) +0:250 'inF0' (temp 4-component vector of float) +0:250 'inF1' (temp 4-component vector of float) +0:251 min (global 4-component vector of float) +0:251 'inF0' (temp 4-component vector of float) +0:251 'inF1' (temp 4-component vector of float) +0:253 normalize (global 4-component vector of float) +0:253 'inF0' (temp 4-component vector of float) +0:254 pow (global 4-component vector of float) +0:254 'inF0' (temp 4-component vector of float) +0:254 'inF1' (temp 4-component vector of float) +0:255 radians (global 4-component vector of float) +0:255 'inF0' (temp 4-component vector of float) +0:256 reflect (global 4-component vector of float) +0:256 'inF0' (temp 4-component vector of float) +0:256 'inF1' (temp 4-component vector of float) +0:257 refract (global 4-component vector of float) +0:257 'inF0' (temp 4-component vector of float) +0:257 'inF1' (temp 4-component vector of float) +0:257 Constant: +0:257 2.000000 +0:? bitFieldReverse (global 4-component vector of uint) +0:? Constant: +0:? 1 (const uint) +0:? 2 (const uint) +0:? 3 (const uint) +0:? 4 (const uint) +0:259 roundEven (global 4-component vector of float) +0:259 'inF0' (temp 4-component vector of float) +0:260 inverse sqrt (global 4-component vector of float) +0:260 'inF0' (temp 4-component vector of float) +0:261 Sign (global 4-component vector of float) +0:261 'inF0' (temp 4-component vector of float) +0:262 sine (global 4-component vector of float) +0:262 'inF0' (temp 4-component vector of float) +0:263 hyp. sine (global 4-component vector of float) +0:263 'inF0' (temp 4-component vector of float) +0:264 smoothstep (global 4-component vector of float) +0:264 'inF0' (temp 4-component vector of float) +0:264 'inF1' (temp 4-component vector of float) +0:264 'inF2' (temp 4-component vector of float) +0:265 sqrt (global 4-component vector of float) +0:265 'inF0' (temp 4-component vector of float) +0:266 step (global 4-component vector of float) +0:266 'inF0' (temp 4-component vector of float) +0:266 'inF1' (temp 4-component vector of float) +0:267 tangent (global 4-component vector of float) +0:267 'inF0' (temp 4-component vector of float) +0:268 hyp. tangent (global 4-component vector of float) +0:268 'inF0' (temp 4-component vector of float) +0:270 trunc (global 4-component vector of float) +0:270 'inF0' (temp 4-component vector of float) +0:273 Branch: Return with expression +0:? Constant: +0:? 1.000000 +0:? 2.000000 +0:? 3.000000 +0:? 4.000000 +0:337 Function Definition: PixelShaderFunction(mf22;mf22;mf22; (temp 2X2 matrix of float) +0:329 Function Parameters: +0:329 'inF0' (temp 2X2 matrix of float) +0:329 'inF1' (temp 2X2 matrix of float) +0:329 'inF2' (temp 2X2 matrix of float) +0:? Sequence +0:331 all (global bool) +0:331 'inF0' (temp 2X2 matrix of float) +0:331 Absolute value (global 2X2 matrix of float) +0:331 'inF0' (temp 2X2 matrix of float) +0:331 arc cosine (global 2X2 matrix of float) +0:331 'inF0' (temp 2X2 matrix of float) +0:331 any (global bool) +0:331 'inF0' (temp 2X2 matrix of float) +0:331 arc sine (global 2X2 matrix of float) +0:331 'inF0' (temp 2X2 matrix of float) +0:331 arc tangent (global 2X2 matrix of float) +0:331 'inF0' (temp 2X2 matrix of float) +0:331 arc tangent (global 2X2 matrix of float) +0:331 'inF0' (temp 2X2 matrix of float) +0:331 'inF1' (temp 2X2 matrix of float) +0:331 Ceiling (global 2X2 matrix of float) +0:331 'inF0' (temp 2X2 matrix of float) +0:331 clamp (global 2X2 matrix of float) +0:331 'inF0' (temp 2X2 matrix of float) +0:331 'inF1' (temp 2X2 matrix of float) +0:331 'inF2' (temp 2X2 matrix of float) +0:331 cosine (global 2X2 matrix of float) +0:331 'inF0' (temp 2X2 matrix of float) +0:331 hyp. cosine (global 2X2 matrix of float) +0:331 'inF0' (temp 2X2 matrix of float) +0:331 dPdx (global 2X2 matrix of float) +0:331 'inF0' (temp 2X2 matrix of float) +0:331 dPdxCoarse (global 2X2 matrix of float) +0:331 'inF0' (temp 2X2 matrix of float) +0:331 dPdxFine (global 2X2 matrix of float) +0:331 'inF0' (temp 2X2 matrix of float) +0:331 dPdy (global 2X2 matrix of float) +0:331 'inF0' (temp 2X2 matrix of float) +0:331 dPdyCoarse (global 2X2 matrix of float) +0:331 'inF0' (temp 2X2 matrix of float) +0:331 dPdyFine (global 2X2 matrix of float) +0:331 'inF0' (temp 2X2 matrix of float) +0:331 degrees (global 2X2 matrix of float) +0:331 'inF0' (temp 2X2 matrix of float) +0:331 determinant (global float) +0:331 'inF0' (temp 2X2 matrix of float) +0:331 exp (global 2X2 matrix of float) +0:331 'inF0' (temp 2X2 matrix of float) +0:331 exp2 (global 2X2 matrix of float) +0:331 'inF0' (temp 2X2 matrix of float) +0:331 findMSB (global int) +0:331 Constant: +0:331 7 (const int) +0:331 findLSB (global int) +0:331 Constant: +0:331 7 (const int) +0:331 Floor (global 2X2 matrix of float) +0:331 'inF0' (temp 2X2 matrix of float) +0:331 Function Call: fmod(mf22;mf22; (global 2X2 matrix of float) +0:331 'inF0' (temp 2X2 matrix of float) +0:331 'inF1' (temp 2X2 matrix of float) +0:331 Fraction (global 2X2 matrix of float) +0:331 'inF0' (temp 2X2 matrix of float) +0:331 frexp (global 2X2 matrix of float) +0:331 'inF0' (temp 2X2 matrix of float) +0:331 'inF1' (temp 2X2 matrix of float) +0:331 fwidth (global 2X2 matrix of float) +0:331 'inF0' (temp 2X2 matrix of float) +0:331 ldexp (global 2X2 matrix of float) +0:331 'inF0' (temp 2X2 matrix of float) +0:331 'inF1' (temp 2X2 matrix of float) +0:331 log (global 2X2 matrix of float) +0:331 'inF0' (temp 2X2 matrix of float) +0:331 log2 (global 2X2 matrix of float) +0:331 'inF0' (temp 2X2 matrix of float) +0:331 max (global 2X2 matrix of float) +0:331 'inF0' (temp 2X2 matrix of float) +0:331 'inF1' (temp 2X2 matrix of float) +0:331 min (global 2X2 matrix of float) +0:331 'inF0' (temp 2X2 matrix of float) +0:331 'inF1' (temp 2X2 matrix of float) +0:331 pow (global 2X2 matrix of float) +0:331 'inF0' (temp 2X2 matrix of float) +0:331 'inF1' (temp 2X2 matrix of float) +0:331 radians (global 2X2 matrix of float) +0:331 'inF0' (temp 2X2 matrix of float) +0:331 roundEven (global 2X2 matrix of float) +0:331 'inF0' (temp 2X2 matrix of float) +0:331 inverse sqrt (global 2X2 matrix of float) +0:331 'inF0' (temp 2X2 matrix of float) +0:331 Sign (global 2X2 matrix of float) +0:331 'inF0' (temp 2X2 matrix of float) +0:331 sine (global 2X2 matrix of float) +0:331 'inF0' (temp 2X2 matrix of float) +0:331 hyp. sine (global 2X2 matrix of float) +0:331 'inF0' (temp 2X2 matrix of float) +0:331 smoothstep (global 2X2 matrix of float) +0:331 'inF0' (temp 2X2 matrix of float) +0:331 'inF1' (temp 2X2 matrix of float) +0:331 'inF2' (temp 2X2 matrix of float) +0:331 sqrt (global 2X2 matrix of float) +0:331 'inF0' (temp 2X2 matrix of float) +0:331 step (global 2X2 matrix of float) +0:331 'inF0' (temp 2X2 matrix of float) +0:331 'inF1' (temp 2X2 matrix of float) +0:331 tangent (global 2X2 matrix of float) +0:331 'inF0' (temp 2X2 matrix of float) +0:331 hyp. tangent (global 2X2 matrix of float) +0:331 'inF0' (temp 2X2 matrix of float) +0:331 transpose (global 2X2 matrix of float) +0:331 'inF0' (temp 2X2 matrix of float) +0:331 trunc (global 2X2 matrix of float) +0:331 'inF0' (temp 2X2 matrix of float) +0:334 Branch: Return with expression +0:? Constant: +0:? 2.000000 +0:? 2.000000 +0:? 2.000000 +0:? 2.000000 +0:346 Function Definition: PixelShaderFunction(mf33;mf33;mf33; (temp 3X3 matrix of float) +0:338 Function Parameters: +0:338 'inF0' (temp 3X3 matrix of float) +0:338 'inF1' (temp 3X3 matrix of float) +0:338 'inF2' (temp 3X3 matrix of float) +0:? Sequence +0:340 all (global bool) +0:340 'inF0' (temp 3X3 matrix of float) +0:340 Absolute value (global 3X3 matrix of float) +0:340 'inF0' (temp 3X3 matrix of float) +0:340 arc cosine (global 3X3 matrix of float) +0:340 'inF0' (temp 3X3 matrix of float) +0:340 any (global bool) +0:340 'inF0' (temp 3X3 matrix of float) +0:340 arc sine (global 3X3 matrix of float) +0:340 'inF0' (temp 3X3 matrix of float) +0:340 arc tangent (global 3X3 matrix of float) +0:340 'inF0' (temp 3X3 matrix of float) +0:340 arc tangent (global 3X3 matrix of float) +0:340 'inF0' (temp 3X3 matrix of float) +0:340 'inF1' (temp 3X3 matrix of float) +0:340 Ceiling (global 3X3 matrix of float) +0:340 'inF0' (temp 3X3 matrix of float) +0:340 clamp (global 3X3 matrix of float) +0:340 'inF0' (temp 3X3 matrix of float) +0:340 'inF1' (temp 3X3 matrix of float) +0:340 'inF2' (temp 3X3 matrix of float) +0:340 cosine (global 3X3 matrix of float) +0:340 'inF0' (temp 3X3 matrix of float) +0:340 hyp. cosine (global 3X3 matrix of float) +0:340 'inF0' (temp 3X3 matrix of float) +0:340 dPdx (global 3X3 matrix of float) +0:340 'inF0' (temp 3X3 matrix of float) +0:340 dPdxCoarse (global 3X3 matrix of float) +0:340 'inF0' (temp 3X3 matrix of float) +0:340 dPdxFine (global 3X3 matrix of float) +0:340 'inF0' (temp 3X3 matrix of float) +0:340 dPdy (global 3X3 matrix of float) +0:340 'inF0' (temp 3X3 matrix of float) +0:340 dPdyCoarse (global 3X3 matrix of float) +0:340 'inF0' (temp 3X3 matrix of float) +0:340 dPdyFine (global 3X3 matrix of float) +0:340 'inF0' (temp 3X3 matrix of float) +0:340 degrees (global 3X3 matrix of float) +0:340 'inF0' (temp 3X3 matrix of float) +0:340 determinant (global float) +0:340 'inF0' (temp 3X3 matrix of float) +0:340 exp (global 3X3 matrix of float) +0:340 'inF0' (temp 3X3 matrix of float) +0:340 exp2 (global 3X3 matrix of float) +0:340 'inF0' (temp 3X3 matrix of float) +0:340 findMSB (global int) +0:340 Constant: +0:340 7 (const int) +0:340 findLSB (global int) +0:340 Constant: +0:340 7 (const int) +0:340 Floor (global 3X3 matrix of float) +0:340 'inF0' (temp 3X3 matrix of float) +0:340 Function Call: fmod(mf33;mf33; (global 3X3 matrix of float) +0:340 'inF0' (temp 3X3 matrix of float) +0:340 'inF1' (temp 3X3 matrix of float) +0:340 Fraction (global 3X3 matrix of float) +0:340 'inF0' (temp 3X3 matrix of float) +0:340 frexp (global 3X3 matrix of float) +0:340 'inF0' (temp 3X3 matrix of float) +0:340 'inF1' (temp 3X3 matrix of float) +0:340 fwidth (global 3X3 matrix of float) +0:340 'inF0' (temp 3X3 matrix of float) +0:340 ldexp (global 3X3 matrix of float) +0:340 'inF0' (temp 3X3 matrix of float) +0:340 'inF1' (temp 3X3 matrix of float) +0:340 log (global 3X3 matrix of float) +0:340 'inF0' (temp 3X3 matrix of float) +0:340 log2 (global 3X3 matrix of float) +0:340 'inF0' (temp 3X3 matrix of float) +0:340 max (global 3X3 matrix of float) +0:340 'inF0' (temp 3X3 matrix of float) +0:340 'inF1' (temp 3X3 matrix of float) +0:340 min (global 3X3 matrix of float) +0:340 'inF0' (temp 3X3 matrix of float) +0:340 'inF1' (temp 3X3 matrix of float) +0:340 pow (global 3X3 matrix of float) +0:340 'inF0' (temp 3X3 matrix of float) +0:340 'inF1' (temp 3X3 matrix of float) +0:340 radians (global 3X3 matrix of float) +0:340 'inF0' (temp 3X3 matrix of float) +0:340 roundEven (global 3X3 matrix of float) +0:340 'inF0' (temp 3X3 matrix of float) +0:340 inverse sqrt (global 3X3 matrix of float) +0:340 'inF0' (temp 3X3 matrix of float) +0:340 Sign (global 3X3 matrix of float) +0:340 'inF0' (temp 3X3 matrix of float) +0:340 sine (global 3X3 matrix of float) +0:340 'inF0' (temp 3X3 matrix of float) +0:340 hyp. sine (global 3X3 matrix of float) +0:340 'inF0' (temp 3X3 matrix of float) +0:340 smoothstep (global 3X3 matrix of float) +0:340 'inF0' (temp 3X3 matrix of float) +0:340 'inF1' (temp 3X3 matrix of float) +0:340 'inF2' (temp 3X3 matrix of float) +0:340 sqrt (global 3X3 matrix of float) +0:340 'inF0' (temp 3X3 matrix of float) +0:340 step (global 3X3 matrix of float) +0:340 'inF0' (temp 3X3 matrix of float) +0:340 'inF1' (temp 3X3 matrix of float) +0:340 tangent (global 3X3 matrix of float) +0:340 'inF0' (temp 3X3 matrix of float) +0:340 hyp. tangent (global 3X3 matrix of float) +0:340 'inF0' (temp 3X3 matrix of float) +0:340 transpose (global 3X3 matrix of float) +0:340 'inF0' (temp 3X3 matrix of float) +0:340 trunc (global 3X3 matrix of float) +0:340 'inF0' (temp 3X3 matrix of float) +0:343 Branch: Return with expression +0:? Constant: +0:? 3.000000 +0:? 3.000000 +0:? 3.000000 +0:? 3.000000 +0:? 3.000000 +0:? 3.000000 +0:? 3.000000 +0:? 3.000000 +0:? 3.000000 +0:354 Function Definition: PixelShaderFunction(mf44;mf44;mf44; (temp 4X4 matrix of float) +0:347 Function Parameters: +0:347 'inF0' (temp 4X4 matrix of float) +0:347 'inF1' (temp 4X4 matrix of float) +0:347 'inF2' (temp 4X4 matrix of float) +0:? Sequence +0:349 all (global bool) +0:349 'inF0' (temp 4X4 matrix of float) +0:349 Absolute value (global 4X4 matrix of float) +0:349 'inF0' (temp 4X4 matrix of float) +0:349 arc cosine (global 4X4 matrix of float) +0:349 'inF0' (temp 4X4 matrix of float) +0:349 any (global bool) +0:349 'inF0' (temp 4X4 matrix of float) +0:349 arc sine (global 4X4 matrix of float) +0:349 'inF0' (temp 4X4 matrix of float) +0:349 arc tangent (global 4X4 matrix of float) +0:349 'inF0' (temp 4X4 matrix of float) +0:349 arc tangent (global 4X4 matrix of float) +0:349 'inF0' (temp 4X4 matrix of float) +0:349 'inF1' (temp 4X4 matrix of float) +0:349 Ceiling (global 4X4 matrix of float) +0:349 'inF0' (temp 4X4 matrix of float) +0:349 clamp (global 4X4 matrix of float) +0:349 'inF0' (temp 4X4 matrix of float) +0:349 'inF1' (temp 4X4 matrix of float) +0:349 'inF2' (temp 4X4 matrix of float) +0:349 cosine (global 4X4 matrix of float) +0:349 'inF0' (temp 4X4 matrix of float) +0:349 hyp. cosine (global 4X4 matrix of float) +0:349 'inF0' (temp 4X4 matrix of float) +0:349 dPdx (global 4X4 matrix of float) +0:349 'inF0' (temp 4X4 matrix of float) +0:349 dPdxCoarse (global 4X4 matrix of float) +0:349 'inF0' (temp 4X4 matrix of float) +0:349 dPdxFine (global 4X4 matrix of float) +0:349 'inF0' (temp 4X4 matrix of float) +0:349 dPdy (global 4X4 matrix of float) +0:349 'inF0' (temp 4X4 matrix of float) +0:349 dPdyCoarse (global 4X4 matrix of float) +0:349 'inF0' (temp 4X4 matrix of float) +0:349 dPdyFine (global 4X4 matrix of float) +0:349 'inF0' (temp 4X4 matrix of float) +0:349 degrees (global 4X4 matrix of float) +0:349 'inF0' (temp 4X4 matrix of float) +0:349 determinant (global float) +0:349 'inF0' (temp 4X4 matrix of float) +0:349 exp (global 4X4 matrix of float) +0:349 'inF0' (temp 4X4 matrix of float) +0:349 exp2 (global 4X4 matrix of float) +0:349 'inF0' (temp 4X4 matrix of float) +0:349 findMSB (global int) +0:349 Constant: +0:349 7 (const int) +0:349 findLSB (global int) +0:349 Constant: +0:349 7 (const int) +0:349 Floor (global 4X4 matrix of float) +0:349 'inF0' (temp 4X4 matrix of float) +0:349 Function Call: fmod(mf44;mf44; (global 4X4 matrix of float) +0:349 'inF0' (temp 4X4 matrix of float) +0:349 'inF1' (temp 4X4 matrix of float) +0:349 Fraction (global 4X4 matrix of float) +0:349 'inF0' (temp 4X4 matrix of float) +0:349 frexp (global 4X4 matrix of float) +0:349 'inF0' (temp 4X4 matrix of float) +0:349 'inF1' (temp 4X4 matrix of float) +0:349 fwidth (global 4X4 matrix of float) +0:349 'inF0' (temp 4X4 matrix of float) +0:349 ldexp (global 4X4 matrix of float) +0:349 'inF0' (temp 4X4 matrix of float) +0:349 'inF1' (temp 4X4 matrix of float) +0:349 log (global 4X4 matrix of float) +0:349 'inF0' (temp 4X4 matrix of float) +0:349 log2 (global 4X4 matrix of float) +0:349 'inF0' (temp 4X4 matrix of float) +0:349 max (global 4X4 matrix of float) +0:349 'inF0' (temp 4X4 matrix of float) +0:349 'inF1' (temp 4X4 matrix of float) +0:349 min (global 4X4 matrix of float) +0:349 'inF0' (temp 4X4 matrix of float) +0:349 'inF1' (temp 4X4 matrix of float) +0:349 pow (global 4X4 matrix of float) +0:349 'inF0' (temp 4X4 matrix of float) +0:349 'inF1' (temp 4X4 matrix of float) +0:349 radians (global 4X4 matrix of float) +0:349 'inF0' (temp 4X4 matrix of float) +0:349 roundEven (global 4X4 matrix of float) +0:349 'inF0' (temp 4X4 matrix of float) +0:349 inverse sqrt (global 4X4 matrix of float) +0:349 'inF0' (temp 4X4 matrix of float) +0:349 Sign (global 4X4 matrix of float) +0:349 'inF0' (temp 4X4 matrix of float) +0:349 sine (global 4X4 matrix of float) +0:349 'inF0' (temp 4X4 matrix of float) +0:349 hyp. sine (global 4X4 matrix of float) +0:349 'inF0' (temp 4X4 matrix of float) +0:349 smoothstep (global 4X4 matrix of float) +0:349 'inF0' (temp 4X4 matrix of float) +0:349 'inF1' (temp 4X4 matrix of float) +0:349 'inF2' (temp 4X4 matrix of float) +0:349 sqrt (global 4X4 matrix of float) +0:349 'inF0' (temp 4X4 matrix of float) +0:349 step (global 4X4 matrix of float) +0:349 'inF0' (temp 4X4 matrix of float) +0:349 'inF1' (temp 4X4 matrix of float) +0:349 tangent (global 4X4 matrix of float) +0:349 'inF0' (temp 4X4 matrix of float) +0:349 hyp. tangent (global 4X4 matrix of float) +0:349 'inF0' (temp 4X4 matrix of float) +0:349 transpose (global 4X4 matrix of float) +0:349 'inF0' (temp 4X4 matrix of float) +0:349 trunc (global 4X4 matrix of float) +0:349 'inF0' (temp 4X4 matrix of float) +0:352 Branch: Return with expression +0:? Constant: +0:? 4.000000 +0:? 4.000000 +0:? 4.000000 +0:? 4.000000 +0:? 4.000000 +0:? 4.000000 +0:? 4.000000 +0:? 4.000000 +0:? 4.000000 +0:? 4.000000 +0:? 4.000000 +0:? 4.000000 +0:? 4.000000 +0:? 4.000000 +0:? 4.000000 +0:? 4.000000 +0:? Linker Objects + +Missing functionality: missing user function; linker needs to catch that +// Module Version 10000 +// Generated by (magic number): 80001 +// Id's are bound by 880 + + Capability Shader + Capability DerivativeControl + 1: ExtInstImport "GLSL.std.450" + MemoryModel Logical GLSL450 + EntryPoint Fragment 4 "PixelShaderFunction" + ExecutionMode 4 OriginUpperLeft + Source HLSL 450 + Name 4 "PixelShaderFunction" + Name 8 "inF0" + Name 23 "inF1" + Name 30 "inF2" + Name 67 "ResType" + Name 127 "inF0" + Name 141 "inF1" + Name 148 "inF2" + Name 195 "ResType" + Name 268 "inF0" + Name 282 "inF1" + Name 289 "inF2" + Name 339 "ResType" + Name 410 "inF0" + Name 424 "inF1" + Name 431 "inF2" + Name 477 "ResType" + Name 549 "inF0" + Name 563 "inF1" + Name 570 "inF2" + Name 604 "ResType" + Name 660 "inF0" + Name 674 "inF1" + Name 681 "inF2" + Name 715 "ResType" + Name 771 "inF0" + Name 785 "inF1" + Name 792 "inF2" + Name 826 "ResType" + 2: TypeVoid + 3: TypeFunction 2 + 6: TypeFloat 32 + 7: TypePointer Function 6(float) + 10: TypeBool + 37: TypeInt 32 0 + 38: 37(int) Constant 7 + 58: TypeInt 32 1 + 59: 58(int) Constant 7 + 67(ResType): TypeStruct 6(float) 58(int) + 95: 37(int) Constant 2 + 122: 6(float) Constant 0 + 125: TypeVector 6(float) 2 + 126: TypePointer Function 125(fvec2) + 155: TypeVector 37(int) 2 + 156: 37(int) Constant 3 + 157: 155(ivec2) ConstantComposite 38 156 + 194: TypeVector 58(int) 2 + 195(ResType): TypeStruct 125(fvec2) 194(ivec2) + 202: TypeVector 10(bool) 2 + 233: 6(float) Constant 1073741824 + 235: 37(int) Constant 1 + 236: 155(ivec2) ConstantComposite 235 95 + 263: 6(float) Constant 1065353216 + 264: 125(fvec2) ConstantComposite 263 233 + 266: TypeVector 6(float) 3 + 267: TypePointer Function 266(fvec3) + 296: TypeVector 37(int) 3 + 297: 37(int) Constant 5 + 298: 296(ivec3) ConstantComposite 38 156 297 + 338: TypeVector 58(int) 3 + 339(ResType): TypeStruct 266(fvec3) 338(ivec3) + 346: TypeVector 10(bool) 3 + 378: 296(ivec3) ConstantComposite 235 95 156 + 405: 6(float) Constant 1077936128 + 406: 266(fvec3) ConstantComposite 263 233 405 + 408: TypeVector 6(float) 4 + 409: TypePointer Function 408(fvec4) + 438: TypeVector 37(int) 4 + 439: 438(ivec4) ConstantComposite 38 156 297 95 + 476: TypeVector 58(int) 4 + 477(ResType): TypeStruct 408(fvec4) 476(ivec4) + 484: TypeVector 10(bool) 4 + 516: 37(int) Constant 4 + 517: 438(ivec4) ConstantComposite 235 95 156 516 + 544: 6(float) Constant 1082130432 + 545: 408(fvec4) ConstantComposite 263 233 405 544 + 547: TypeMatrix 125(fvec2) 2 + 548: TypePointer Function 547 + 604(ResType): TypeStruct 547 194(ivec2) + 655: 125(fvec2) ConstantComposite 233 233 + 656: 547 ConstantComposite 655 655 + 658: TypeMatrix 266(fvec3) 3 + 659: TypePointer Function 658 + 715(ResType): TypeStruct 658 338(ivec3) + 766: 266(fvec3) ConstantComposite 405 405 405 + 767: 658 ConstantComposite 766 766 766 + 769: TypeMatrix 408(fvec4) 4 + 770: TypePointer Function 769 + 826(ResType): TypeStruct 769 476(ivec4) + 877: 408(fvec4) ConstantComposite 544 544 544 544 + 878: 769 ConstantComposite 877 877 877 877 +4(PixelShaderFunction): 2 Function None 3 + 5: Label + 8(inF0): 7(ptr) Variable Function + 23(inF1): 7(ptr) Variable Function + 30(inF2): 7(ptr) Variable Function + 127(inF0): 126(ptr) Variable Function + 141(inF1): 126(ptr) Variable Function + 148(inF2): 126(ptr) Variable Function + 268(inF0): 267(ptr) Variable Function + 282(inF1): 267(ptr) Variable Function + 289(inF2): 267(ptr) Variable Function + 410(inF0): 409(ptr) Variable Function + 424(inF1): 409(ptr) Variable Function + 431(inF2): 409(ptr) Variable Function + 549(inF0): 548(ptr) Variable Function + 563(inF1): 548(ptr) Variable Function + 570(inF2): 548(ptr) Variable Function + 660(inF0): 659(ptr) Variable Function + 674(inF1): 659(ptr) Variable Function + 681(inF2): 659(ptr) Variable Function + 771(inF0): 770(ptr) Variable Function + 785(inF1): 770(ptr) Variable Function + 792(inF2): 770(ptr) Variable Function + 9: 6(float) Load 8(inF0) + 11: 10(bool) All 9 + 12: 6(float) Load 8(inF0) + 13: 6(float) ExtInst 1(GLSL.std.450) 4(FAbs) 12 + 14: 6(float) Load 8(inF0) + 15: 6(float) ExtInst 1(GLSL.std.450) 17(Acos) 14 + 16: 6(float) Load 8(inF0) + 17: 10(bool) Any 16 + 18: 6(float) Load 8(inF0) + 19: 6(float) ExtInst 1(GLSL.std.450) 16(Asin) 18 + 20: 6(float) Load 8(inF0) + 21: 6(float) ExtInst 1(GLSL.std.450) 18(Atan) 20 + 22: 6(float) Load 8(inF0) + 24: 6(float) Load 23(inF1) + 25: 6(float) ExtInst 1(GLSL.std.450) 25(Atan2) 22 24 + 26: 6(float) Load 8(inF0) + 27: 6(float) ExtInst 1(GLSL.std.450) 9(Ceil) 26 + 28: 6(float) Load 8(inF0) + 29: 6(float) Load 23(inF1) + 31: 6(float) Load 30(inF2) + 32: 6(float) ExtInst 1(GLSL.std.450) 43(FClamp) 28 29 31 + 33: 6(float) Load 8(inF0) + 34: 6(float) ExtInst 1(GLSL.std.450) 14(Cos) 33 + 35: 6(float) Load 8(inF0) + 36: 6(float) ExtInst 1(GLSL.std.450) 20(Cosh) 35 + 39: 37(int) BitCount 38 + 40: 6(float) Load 8(inF0) + 41: 6(float) DPdx 40 + 42: 6(float) Load 8(inF0) + 43: 6(float) DPdxCoarse 42 + 44: 6(float) Load 8(inF0) + 45: 6(float) DPdxFine 44 + 46: 6(float) Load 8(inF0) + 47: 6(float) DPdy 46 + 48: 6(float) Load 8(inF0) + 49: 6(float) DPdyCoarse 48 + 50: 6(float) Load 8(inF0) + 51: 6(float) DPdyFine 50 + 52: 6(float) Load 8(inF0) + 53: 6(float) ExtInst 1(GLSL.std.450) 12(Degrees) 52 + 54: 6(float) Load 8(inF0) + 55: 6(float) ExtInst 1(GLSL.std.450) 27(Exp) 54 + 56: 6(float) Load 8(inF0) + 57: 6(float) ExtInst 1(GLSL.std.450) 29(Exp2) 56 + 60: 58(int) ExtInst 1(GLSL.std.450) 74(FindSMsb) 59 + 61: 58(int) ExtInst 1(GLSL.std.450) 73(FindILsb) 59 + 62: 6(float) Load 8(inF0) + 63: 6(float) ExtInst 1(GLSL.std.450) 8(Floor) 62 + 64: 6(float) Load 8(inF0) + 65: 6(float) ExtInst 1(GLSL.std.450) 10(Fract) 64 + 66: 6(float) Load 8(inF0) + 68: 67(ResType) ExtInst 1(GLSL.std.450) 52(FrexpStruct) 66 + 69: 58(int) CompositeExtract 68 1 + Store 23(inF1) 69 + 70: 6(float) CompositeExtract 68 0 + 71: 6(float) Load 8(inF0) + 72: 6(float) Fwidth 71 + 73: 6(float) Load 8(inF0) + 74: 10(bool) IsInf 73 + 75: 6(float) Load 8(inF0) + 76: 10(bool) IsNan 75 + 77: 6(float) Load 8(inF0) + 78: 6(float) Load 23(inF1) + 79: 6(float) ExtInst 1(GLSL.std.450) 53(Ldexp) 77 78 + 80: 6(float) Load 8(inF0) + 81: 6(float) ExtInst 1(GLSL.std.450) 28(Log) 80 + 82: 6(float) Load 8(inF0) + 83: 6(float) ExtInst 1(GLSL.std.450) 30(Log2) 82 + 84: 6(float) Load 8(inF0) + 85: 6(float) Load 23(inF1) + 86: 6(float) ExtInst 1(GLSL.std.450) 40(FMax) 84 85 + 87: 6(float) Load 8(inF0) + 88: 6(float) Load 23(inF1) + 89: 6(float) ExtInst 1(GLSL.std.450) 37(FMin) 87 88 + 90: 6(float) Load 8(inF0) + 91: 6(float) Load 23(inF1) + 92: 6(float) ExtInst 1(GLSL.std.450) 26(Pow) 90 91 + 93: 6(float) Load 8(inF0) + 94: 6(float) ExtInst 1(GLSL.std.450) 11(Radians) 93 + 96: 37(int) BitReverse 95 + 97: 6(float) Load 8(inF0) + 98: 6(float) ExtInst 1(GLSL.std.450) 2(RoundEven) 97 + 99: 6(float) Load 8(inF0) + 100: 6(float) ExtInst 1(GLSL.std.450) 32(InverseSqrt) 99 + 101: 6(float) Load 8(inF0) + 102: 6(float) ExtInst 1(GLSL.std.450) 6(FSign) 101 + 103: 6(float) Load 8(inF0) + 104: 6(float) ExtInst 1(GLSL.std.450) 13(Sin) 103 + 105: 6(float) Load 8(inF0) + 106: 6(float) ExtInst 1(GLSL.std.450) 19(Sinh) 105 + 107: 6(float) Load 8(inF0) + 108: 6(float) Load 23(inF1) + 109: 6(float) Load 30(inF2) + 110: 6(float) ExtInst 1(GLSL.std.450) 49(SmoothStep) 107 108 109 + 111: 6(float) Load 8(inF0) + 112: 6(float) ExtInst 1(GLSL.std.450) 31(Sqrt) 111 + 113: 6(float) Load 8(inF0) + 114: 6(float) Load 23(inF1) + 115: 6(float) ExtInst 1(GLSL.std.450) 48(Step) 113 114 + 116: 6(float) Load 8(inF0) + 117: 6(float) ExtInst 1(GLSL.std.450) 15(Tan) 116 + 118: 6(float) Load 8(inF0) + 119: 6(float) ExtInst 1(GLSL.std.450) 21(Tanh) 118 + 120: 6(float) Load 8(inF0) + 121: 6(float) ExtInst 1(GLSL.std.450) 3(Trunc) 120 + ReturnValue 122 + FunctionEnd diff --git a/Test/baseResults/hlsl.intrinsics.vert.out b/Test/baseResults/hlsl.intrinsics.vert.out new file mode 100644 index 00000000..22b301e0 --- /dev/null +++ b/Test/baseResults/hlsl.intrinsics.vert.out @@ -0,0 +1,1994 @@ +hlsl.intrinsics.vert +Shader version: 450 +0:? Sequence +0:56 Function Definition: VertexShaderFunction(f1;f1;f1; (temp float) +0:2 Function Parameters: +0:2 'inF0' (temp float) +0:2 'inF1' (temp float) +0:2 'inF2' (temp float) +0:? Sequence +0:3 all (global bool) +0:3 'inF0' (temp float) +0:4 Absolute value (global float) +0:4 'inF0' (temp float) +0:5 arc cosine (global float) +0:5 'inF0' (temp float) +0:6 any (global bool) +0:6 'inF0' (temp float) +0:7 arc sine (global float) +0:7 'inF0' (temp float) +0:8 arc tangent (global float) +0:8 'inF0' (temp float) +0:9 arc tangent (global float) +0:9 'inF0' (temp float) +0:9 'inF1' (temp float) +0:10 Ceiling (global float) +0:10 'inF0' (temp float) +0:11 clamp (global float) +0:11 'inF0' (temp float) +0:11 'inF1' (temp float) +0:11 'inF2' (temp float) +0:12 cosine (global float) +0:12 'inF0' (temp float) +0:13 hyp. cosine (global float) +0:13 'inF0' (temp float) +0:14 bitCount (global uint) +0:14 Constant: +0:14 7 (const uint) +0:15 degrees (global float) +0:15 'inF0' (temp float) +0:19 exp (global float) +0:19 'inF0' (temp float) +0:20 exp2 (global float) +0:20 'inF0' (temp float) +0:21 findMSB (global int) +0:21 Constant: +0:21 7 (const int) +0:22 findLSB (global int) +0:22 Constant: +0:22 7 (const int) +0:23 Floor (global float) +0:23 'inF0' (temp float) +0:25 Function Call: fmod(f1;f1; (global float) +0:25 'inF0' (temp float) +0:25 'inF1' (temp float) +0:26 Fraction (global float) +0:26 'inF0' (temp float) +0:27 frexp (global float) +0:27 'inF0' (temp float) +0:27 'inF1' (temp float) +0:28 fwidth (global float) +0:28 'inF0' (temp float) +0:29 isinf (global bool) +0:29 'inF0' (temp float) +0:30 isnan (global bool) +0:30 'inF0' (temp float) +0:31 ldexp (global float) +0:31 'inF0' (temp float) +0:31 'inF1' (temp float) +0:32 log (global float) +0:32 'inF0' (temp float) +0:33 log2 (global float) +0:33 'inF0' (temp float) +0:34 max (global float) +0:34 'inF0' (temp float) +0:34 'inF1' (temp float) +0:35 min (global float) +0:35 'inF0' (temp float) +0:35 'inF1' (temp float) +0:37 pow (global float) +0:37 'inF0' (temp float) +0:37 'inF1' (temp float) +0:38 radians (global float) +0:38 'inF0' (temp float) +0:39 bitFieldReverse (global uint) +0:39 Constant: +0:39 2 (const uint) +0:40 roundEven (global float) +0:40 'inF0' (temp float) +0:41 inverse sqrt (global float) +0:41 'inF0' (temp float) +0:42 Sign (global float) +0:42 'inF0' (temp float) +0:43 sine (global float) +0:43 'inF0' (temp float) +0:44 hyp. sine (global float) +0:44 'inF0' (temp float) +0:45 smoothstep (global float) +0:45 'inF0' (temp float) +0:45 'inF1' (temp float) +0:45 'inF2' (temp float) +0:46 sqrt (global float) +0:46 'inF0' (temp float) +0:47 step (global float) +0:47 'inF0' (temp float) +0:47 'inF1' (temp float) +0:48 tangent (global float) +0:48 'inF0' (temp float) +0:49 hyp. tangent (global float) +0:49 'inF0' (temp float) +0:51 trunc (global float) +0:51 'inF0' (temp float) +0:53 Branch: Return with expression +0:53 Constant: +0:53 0.000000 +0:62 Function Definition: VertexShaderFunction(vf1;vf1;vf1; (temp 1-component vector of float) +0:57 Function Parameters: +0:57 'inF0' (temp 1-component vector of float) +0:57 'inF1' (temp 1-component vector of float) +0:57 'inF2' (temp 1-component vector of float) +0:? Sequence +0:59 Branch: Return with expression +0:59 Constant: +0:59 0.000000 +0:125 Function Definition: VertexShaderFunction(vf2;vf2;vf2; (temp 2-component vector of float) +0:63 Function Parameters: +0:63 'inF0' (temp 2-component vector of float) +0:63 'inF1' (temp 2-component vector of float) +0:63 'inF2' (temp 2-component vector of float) +0:? Sequence +0:64 all (global bool) +0:64 'inF0' (temp 2-component vector of float) +0:65 Absolute value (global 2-component vector of float) +0:65 'inF0' (temp 2-component vector of float) +0:66 arc cosine (global 2-component vector of float) +0:66 'inF0' (temp 2-component vector of float) +0:67 any (global bool) +0:67 'inF0' (temp 2-component vector of float) +0:68 arc sine (global 2-component vector of float) +0:68 'inF0' (temp 2-component vector of float) +0:69 arc tangent (global 2-component vector of float) +0:69 'inF0' (temp 2-component vector of float) +0:70 arc tangent (global 2-component vector of float) +0:70 'inF0' (temp 2-component vector of float) +0:70 'inF1' (temp 2-component vector of float) +0:71 Ceiling (global 2-component vector of float) +0:71 'inF0' (temp 2-component vector of float) +0:72 clamp (global 2-component vector of float) +0:72 'inF0' (temp 2-component vector of float) +0:72 'inF1' (temp 2-component vector of float) +0:72 'inF2' (temp 2-component vector of float) +0:73 cosine (global 2-component vector of float) +0:73 'inF0' (temp 2-component vector of float) +0:74 hyp. cosine (global 2-component vector of float) +0:74 'inF0' (temp 2-component vector of float) +0:? bitCount (global 2-component vector of uint) +0:? Constant: +0:? 7 (const uint) +0:? 3 (const uint) +0:76 degrees (global 2-component vector of float) +0:76 'inF0' (temp 2-component vector of float) +0:77 distance (global float) +0:77 'inF0' (temp 2-component vector of float) +0:77 'inF1' (temp 2-component vector of float) +0:78 dot-product (global float) +0:78 'inF0' (temp 2-component vector of float) +0:78 'inF1' (temp 2-component vector of float) +0:82 exp (global 2-component vector of float) +0:82 'inF0' (temp 2-component vector of float) +0:83 exp2 (global 2-component vector of float) +0:83 'inF0' (temp 2-component vector of float) +0:84 face-forward (global 2-component vector of float) +0:84 'inF0' (temp 2-component vector of float) +0:84 'inF1' (temp 2-component vector of float) +0:84 'inF2' (temp 2-component vector of float) +0:85 findMSB (global int) +0:85 Constant: +0:85 7 (const int) +0:86 findLSB (global int) +0:86 Constant: +0:86 7 (const int) +0:87 Floor (global 2-component vector of float) +0:87 'inF0' (temp 2-component vector of float) +0:89 Function Call: fmod(vf2;vf2; (global 2-component vector of float) +0:89 'inF0' (temp 2-component vector of float) +0:89 'inF1' (temp 2-component vector of float) +0:90 Fraction (global 2-component vector of float) +0:90 'inF0' (temp 2-component vector of float) +0:91 frexp (global 2-component vector of float) +0:91 'inF0' (temp 2-component vector of float) +0:91 'inF1' (temp 2-component vector of float) +0:92 fwidth (global 2-component vector of float) +0:92 'inF0' (temp 2-component vector of float) +0:93 isinf (global 2-component vector of bool) +0:93 'inF0' (temp 2-component vector of float) +0:94 isnan (global 2-component vector of bool) +0:94 'inF0' (temp 2-component vector of float) +0:95 ldexp (global 2-component vector of float) +0:95 'inF0' (temp 2-component vector of float) +0:95 'inF1' (temp 2-component vector of float) +0:96 length (global float) +0:96 'inF0' (temp 2-component vector of float) +0:97 log (global 2-component vector of float) +0:97 'inF0' (temp 2-component vector of float) +0:98 log2 (global 2-component vector of float) +0:98 'inF0' (temp 2-component vector of float) +0:99 max (global 2-component vector of float) +0:99 'inF0' (temp 2-component vector of float) +0:99 'inF1' (temp 2-component vector of float) +0:100 min (global 2-component vector of float) +0:100 'inF0' (temp 2-component vector of float) +0:100 'inF1' (temp 2-component vector of float) +0:102 normalize (global 2-component vector of float) +0:102 'inF0' (temp 2-component vector of float) +0:103 pow (global 2-component vector of float) +0:103 'inF0' (temp 2-component vector of float) +0:103 'inF1' (temp 2-component vector of float) +0:104 radians (global 2-component vector of float) +0:104 'inF0' (temp 2-component vector of float) +0:105 reflect (global 2-component vector of float) +0:105 'inF0' (temp 2-component vector of float) +0:105 'inF1' (temp 2-component vector of float) +0:106 refract (global 2-component vector of float) +0:106 'inF0' (temp 2-component vector of float) +0:106 'inF1' (temp 2-component vector of float) +0:106 Constant: +0:106 2.000000 +0:? bitFieldReverse (global 2-component vector of uint) +0:? Constant: +0:? 1 (const uint) +0:? 2 (const uint) +0:108 roundEven (global 2-component vector of float) +0:108 'inF0' (temp 2-component vector of float) +0:109 inverse sqrt (global 2-component vector of float) +0:109 'inF0' (temp 2-component vector of float) +0:110 Sign (global 2-component vector of float) +0:110 'inF0' (temp 2-component vector of float) +0:111 sine (global 2-component vector of float) +0:111 'inF0' (temp 2-component vector of float) +0:112 hyp. sine (global 2-component vector of float) +0:112 'inF0' (temp 2-component vector of float) +0:113 smoothstep (global 2-component vector of float) +0:113 'inF0' (temp 2-component vector of float) +0:113 'inF1' (temp 2-component vector of float) +0:113 'inF2' (temp 2-component vector of float) +0:114 sqrt (global 2-component vector of float) +0:114 'inF0' (temp 2-component vector of float) +0:115 step (global 2-component vector of float) +0:115 'inF0' (temp 2-component vector of float) +0:115 'inF1' (temp 2-component vector of float) +0:116 tangent (global 2-component vector of float) +0:116 'inF0' (temp 2-component vector of float) +0:117 hyp. tangent (global 2-component vector of float) +0:117 'inF0' (temp 2-component vector of float) +0:119 trunc (global 2-component vector of float) +0:119 'inF0' (temp 2-component vector of float) +0:122 Branch: Return with expression +0:? Constant: +0:? 1.000000 +0:? 2.000000 +0:189 Function Definition: VertexShaderFunction(vf3;vf3;vf3; (temp 3-component vector of float) +0:126 Function Parameters: +0:126 'inF0' (temp 3-component vector of float) +0:126 'inF1' (temp 3-component vector of float) +0:126 'inF2' (temp 3-component vector of float) +0:? Sequence +0:127 all (global bool) +0:127 'inF0' (temp 3-component vector of float) +0:128 Absolute value (global 3-component vector of float) +0:128 'inF0' (temp 3-component vector of float) +0:129 arc cosine (global 3-component vector of float) +0:129 'inF0' (temp 3-component vector of float) +0:130 any (global bool) +0:130 'inF0' (temp 3-component vector of float) +0:131 arc sine (global 3-component vector of float) +0:131 'inF0' (temp 3-component vector of float) +0:132 arc tangent (global 3-component vector of float) +0:132 'inF0' (temp 3-component vector of float) +0:133 arc tangent (global 3-component vector of float) +0:133 'inF0' (temp 3-component vector of float) +0:133 'inF1' (temp 3-component vector of float) +0:134 Ceiling (global 3-component vector of float) +0:134 'inF0' (temp 3-component vector of float) +0:135 clamp (global 3-component vector of float) +0:135 'inF0' (temp 3-component vector of float) +0:135 'inF1' (temp 3-component vector of float) +0:135 'inF2' (temp 3-component vector of float) +0:136 cosine (global 3-component vector of float) +0:136 'inF0' (temp 3-component vector of float) +0:137 hyp. cosine (global 3-component vector of float) +0:137 'inF0' (temp 3-component vector of float) +0:? bitCount (global 3-component vector of uint) +0:? Constant: +0:? 7 (const uint) +0:? 3 (const uint) +0:? 5 (const uint) +0:139 cross-product (global 3-component vector of float) +0:139 'inF0' (temp 3-component vector of float) +0:139 'inF1' (temp 3-component vector of float) +0:140 degrees (global 3-component vector of float) +0:140 'inF0' (temp 3-component vector of float) +0:141 distance (global float) +0:141 'inF0' (temp 3-component vector of float) +0:141 'inF1' (temp 3-component vector of float) +0:142 dot-product (global float) +0:142 'inF0' (temp 3-component vector of float) +0:142 'inF1' (temp 3-component vector of float) +0:146 exp (global 3-component vector of float) +0:146 'inF0' (temp 3-component vector of float) +0:147 exp2 (global 3-component vector of float) +0:147 'inF0' (temp 3-component vector of float) +0:148 face-forward (global 3-component vector of float) +0:148 'inF0' (temp 3-component vector of float) +0:148 'inF1' (temp 3-component vector of float) +0:148 'inF2' (temp 3-component vector of float) +0:149 findMSB (global int) +0:149 Constant: +0:149 7 (const int) +0:150 findLSB (global int) +0:150 Constant: +0:150 7 (const int) +0:151 Floor (global 3-component vector of float) +0:151 'inF0' (temp 3-component vector of float) +0:153 Function Call: fmod(vf3;vf3; (global 3-component vector of float) +0:153 'inF0' (temp 3-component vector of float) +0:153 'inF1' (temp 3-component vector of float) +0:154 Fraction (global 3-component vector of float) +0:154 'inF0' (temp 3-component vector of float) +0:155 frexp (global 3-component vector of float) +0:155 'inF0' (temp 3-component vector of float) +0:155 'inF1' (temp 3-component vector of float) +0:156 fwidth (global 3-component vector of float) +0:156 'inF0' (temp 3-component vector of float) +0:157 isinf (global 3-component vector of bool) +0:157 'inF0' (temp 3-component vector of float) +0:158 isnan (global 3-component vector of bool) +0:158 'inF0' (temp 3-component vector of float) +0:159 ldexp (global 3-component vector of float) +0:159 'inF0' (temp 3-component vector of float) +0:159 'inF1' (temp 3-component vector of float) +0:160 length (global float) +0:160 'inF0' (temp 3-component vector of float) +0:161 log (global 3-component vector of float) +0:161 'inF0' (temp 3-component vector of float) +0:162 log2 (global 3-component vector of float) +0:162 'inF0' (temp 3-component vector of float) +0:163 max (global 3-component vector of float) +0:163 'inF0' (temp 3-component vector of float) +0:163 'inF1' (temp 3-component vector of float) +0:164 min (global 3-component vector of float) +0:164 'inF0' (temp 3-component vector of float) +0:164 'inF1' (temp 3-component vector of float) +0:166 normalize (global 3-component vector of float) +0:166 'inF0' (temp 3-component vector of float) +0:167 pow (global 3-component vector of float) +0:167 'inF0' (temp 3-component vector of float) +0:167 'inF1' (temp 3-component vector of float) +0:168 radians (global 3-component vector of float) +0:168 'inF0' (temp 3-component vector of float) +0:169 reflect (global 3-component vector of float) +0:169 'inF0' (temp 3-component vector of float) +0:169 'inF1' (temp 3-component vector of float) +0:170 refract (global 3-component vector of float) +0:170 'inF0' (temp 3-component vector of float) +0:170 'inF1' (temp 3-component vector of float) +0:170 Constant: +0:170 2.000000 +0:? bitFieldReverse (global 3-component vector of uint) +0:? Constant: +0:? 1 (const uint) +0:? 2 (const uint) +0:? 3 (const uint) +0:172 roundEven (global 3-component vector of float) +0:172 'inF0' (temp 3-component vector of float) +0:173 inverse sqrt (global 3-component vector of float) +0:173 'inF0' (temp 3-component vector of float) +0:174 Sign (global 3-component vector of float) +0:174 'inF0' (temp 3-component vector of float) +0:175 sine (global 3-component vector of float) +0:175 'inF0' (temp 3-component vector of float) +0:176 hyp. sine (global 3-component vector of float) +0:176 'inF0' (temp 3-component vector of float) +0:177 smoothstep (global 3-component vector of float) +0:177 'inF0' (temp 3-component vector of float) +0:177 'inF1' (temp 3-component vector of float) +0:177 'inF2' (temp 3-component vector of float) +0:178 sqrt (global 3-component vector of float) +0:178 'inF0' (temp 3-component vector of float) +0:179 step (global 3-component vector of float) +0:179 'inF0' (temp 3-component vector of float) +0:179 'inF1' (temp 3-component vector of float) +0:180 tangent (global 3-component vector of float) +0:180 'inF0' (temp 3-component vector of float) +0:181 hyp. tangent (global 3-component vector of float) +0:181 'inF0' (temp 3-component vector of float) +0:183 trunc (global 3-component vector of float) +0:183 'inF0' (temp 3-component vector of float) +0:186 Branch: Return with expression +0:? Constant: +0:? 1.000000 +0:? 2.000000 +0:? 3.000000 +0:298 Function Definition: VertexShaderFunction(vf4;vf4;vf4; (temp 4-component vector of float) +0:190 Function Parameters: +0:190 'inF0' (temp 4-component vector of float) +0:190 'inF1' (temp 4-component vector of float) +0:190 'inF2' (temp 4-component vector of float) +0:? Sequence +0:191 all (global bool) +0:191 'inF0' (temp 4-component vector of float) +0:192 Absolute value (global 4-component vector of float) +0:192 'inF0' (temp 4-component vector of float) +0:193 arc cosine (global 4-component vector of float) +0:193 'inF0' (temp 4-component vector of float) +0:194 any (global bool) +0:194 'inF0' (temp 4-component vector of float) +0:195 arc sine (global 4-component vector of float) +0:195 'inF0' (temp 4-component vector of float) +0:196 arc tangent (global 4-component vector of float) +0:196 'inF0' (temp 4-component vector of float) +0:197 arc tangent (global 4-component vector of float) +0:197 'inF0' (temp 4-component vector of float) +0:197 'inF1' (temp 4-component vector of float) +0:198 Ceiling (global 4-component vector of float) +0:198 'inF0' (temp 4-component vector of float) +0:199 clamp (global 4-component vector of float) +0:199 'inF0' (temp 4-component vector of float) +0:199 'inF1' (temp 4-component vector of float) +0:199 'inF2' (temp 4-component vector of float) +0:200 cosine (global 4-component vector of float) +0:200 'inF0' (temp 4-component vector of float) +0:201 hyp. cosine (global 4-component vector of float) +0:201 'inF0' (temp 4-component vector of float) +0:? bitCount (global 4-component vector of uint) +0:? Constant: +0:? 7 (const uint) +0:? 3 (const uint) +0:? 5 (const uint) +0:? 2 (const uint) +0:203 degrees (global 4-component vector of float) +0:203 'inF0' (temp 4-component vector of float) +0:204 distance (global float) +0:204 'inF0' (temp 4-component vector of float) +0:204 'inF1' (temp 4-component vector of float) +0:205 dot-product (global float) +0:205 'inF0' (temp 4-component vector of float) +0:205 'inF1' (temp 4-component vector of float) +0:209 exp (global 4-component vector of float) +0:209 'inF0' (temp 4-component vector of float) +0:210 exp2 (global 4-component vector of float) +0:210 'inF0' (temp 4-component vector of float) +0:211 face-forward (global 4-component vector of float) +0:211 'inF0' (temp 4-component vector of float) +0:211 'inF1' (temp 4-component vector of float) +0:211 'inF2' (temp 4-component vector of float) +0:212 findMSB (global int) +0:212 Constant: +0:212 7 (const int) +0:213 findLSB (global int) +0:213 Constant: +0:213 7 (const int) +0:214 Floor (global 4-component vector of float) +0:214 'inF0' (temp 4-component vector of float) +0:216 Function Call: fmod(vf4;vf4; (global 4-component vector of float) +0:216 'inF0' (temp 4-component vector of float) +0:216 'inF1' (temp 4-component vector of float) +0:217 Fraction (global 4-component vector of float) +0:217 'inF0' (temp 4-component vector of float) +0:218 frexp (global 4-component vector of float) +0:218 'inF0' (temp 4-component vector of float) +0:218 'inF1' (temp 4-component vector of float) +0:219 fwidth (global 4-component vector of float) +0:219 'inF0' (temp 4-component vector of float) +0:220 isinf (global 4-component vector of bool) +0:220 'inF0' (temp 4-component vector of float) +0:221 isnan (global 4-component vector of bool) +0:221 'inF0' (temp 4-component vector of float) +0:222 ldexp (global 4-component vector of float) +0:222 'inF0' (temp 4-component vector of float) +0:222 'inF1' (temp 4-component vector of float) +0:223 length (global float) +0:223 'inF0' (temp 4-component vector of float) +0:224 log (global 4-component vector of float) +0:224 'inF0' (temp 4-component vector of float) +0:225 log2 (global 4-component vector of float) +0:225 'inF0' (temp 4-component vector of float) +0:226 max (global 4-component vector of float) +0:226 'inF0' (temp 4-component vector of float) +0:226 'inF1' (temp 4-component vector of float) +0:227 min (global 4-component vector of float) +0:227 'inF0' (temp 4-component vector of float) +0:227 'inF1' (temp 4-component vector of float) +0:229 normalize (global 4-component vector of float) +0:229 'inF0' (temp 4-component vector of float) +0:230 pow (global 4-component vector of float) +0:230 'inF0' (temp 4-component vector of float) +0:230 'inF1' (temp 4-component vector of float) +0:231 radians (global 4-component vector of float) +0:231 'inF0' (temp 4-component vector of float) +0:232 reflect (global 4-component vector of float) +0:232 'inF0' (temp 4-component vector of float) +0:232 'inF1' (temp 4-component vector of float) +0:233 refract (global 4-component vector of float) +0:233 'inF0' (temp 4-component vector of float) +0:233 'inF1' (temp 4-component vector of float) +0:233 Constant: +0:233 2.000000 +0:? bitFieldReverse (global 4-component vector of uint) +0:? Constant: +0:? 1 (const uint) +0:? 2 (const uint) +0:? 3 (const uint) +0:? 4 (const uint) +0:235 roundEven (global 4-component vector of float) +0:235 'inF0' (temp 4-component vector of float) +0:236 inverse sqrt (global 4-component vector of float) +0:236 'inF0' (temp 4-component vector of float) +0:237 Sign (global 4-component vector of float) +0:237 'inF0' (temp 4-component vector of float) +0:238 sine (global 4-component vector of float) +0:238 'inF0' (temp 4-component vector of float) +0:239 hyp. sine (global 4-component vector of float) +0:239 'inF0' (temp 4-component vector of float) +0:240 smoothstep (global 4-component vector of float) +0:240 'inF0' (temp 4-component vector of float) +0:240 'inF1' (temp 4-component vector of float) +0:240 'inF2' (temp 4-component vector of float) +0:241 sqrt (global 4-component vector of float) +0:241 'inF0' (temp 4-component vector of float) +0:242 step (global 4-component vector of float) +0:242 'inF0' (temp 4-component vector of float) +0:242 'inF1' (temp 4-component vector of float) +0:243 tangent (global 4-component vector of float) +0:243 'inF0' (temp 4-component vector of float) +0:244 hyp. tangent (global 4-component vector of float) +0:244 'inF0' (temp 4-component vector of float) +0:246 trunc (global 4-component vector of float) +0:246 'inF0' (temp 4-component vector of float) +0:249 Branch: Return with expression +0:? Constant: +0:? 1.000000 +0:? 2.000000 +0:? 3.000000 +0:? 4.000000 +0:307 Function Definition: VertexShaderFunction(mf22;mf22;mf22; (temp 2X2 matrix of float) +0:299 Function Parameters: +0:299 'inF0' (temp 2X2 matrix of float) +0:299 'inF1' (temp 2X2 matrix of float) +0:299 'inF2' (temp 2X2 matrix of float) +0:? Sequence +0:301 all (global bool) +0:301 'inF0' (temp 2X2 matrix of float) +0:301 Absolute value (global 2X2 matrix of float) +0:301 'inF0' (temp 2X2 matrix of float) +0:301 arc cosine (global 2X2 matrix of float) +0:301 'inF0' (temp 2X2 matrix of float) +0:301 any (global bool) +0:301 'inF0' (temp 2X2 matrix of float) +0:301 arc sine (global 2X2 matrix of float) +0:301 'inF0' (temp 2X2 matrix of float) +0:301 arc tangent (global 2X2 matrix of float) +0:301 'inF0' (temp 2X2 matrix of float) +0:301 arc tangent (global 2X2 matrix of float) +0:301 'inF0' (temp 2X2 matrix of float) +0:301 'inF1' (temp 2X2 matrix of float) +0:301 Ceiling (global 2X2 matrix of float) +0:301 'inF0' (temp 2X2 matrix of float) +0:301 clamp (global 2X2 matrix of float) +0:301 'inF0' (temp 2X2 matrix of float) +0:301 'inF1' (temp 2X2 matrix of float) +0:301 'inF2' (temp 2X2 matrix of float) +0:301 cosine (global 2X2 matrix of float) +0:301 'inF0' (temp 2X2 matrix of float) +0:301 hyp. cosine (global 2X2 matrix of float) +0:301 'inF0' (temp 2X2 matrix of float) +0:301 degrees (global 2X2 matrix of float) +0:301 'inF0' (temp 2X2 matrix of float) +0:301 determinant (global float) +0:301 'inF0' (temp 2X2 matrix of float) +0:301 exp (global 2X2 matrix of float) +0:301 'inF0' (temp 2X2 matrix of float) +0:301 exp2 (global 2X2 matrix of float) +0:301 'inF0' (temp 2X2 matrix of float) +0:301 findMSB (global int) +0:301 Constant: +0:301 7 (const int) +0:301 findLSB (global int) +0:301 Constant: +0:301 7 (const int) +0:301 Floor (global 2X2 matrix of float) +0:301 'inF0' (temp 2X2 matrix of float) +0:301 Function Call: fmod(mf22;mf22; (global 2X2 matrix of float) +0:301 'inF0' (temp 2X2 matrix of float) +0:301 'inF1' (temp 2X2 matrix of float) +0:301 Fraction (global 2X2 matrix of float) +0:301 'inF0' (temp 2X2 matrix of float) +0:301 frexp (global 2X2 matrix of float) +0:301 'inF0' (temp 2X2 matrix of float) +0:301 'inF1' (temp 2X2 matrix of float) +0:301 fwidth (global 2X2 matrix of float) +0:301 'inF0' (temp 2X2 matrix of float) +0:301 ldexp (global 2X2 matrix of float) +0:301 'inF0' (temp 2X2 matrix of float) +0:301 'inF1' (temp 2X2 matrix of float) +0:301 log (global 2X2 matrix of float) +0:301 'inF0' (temp 2X2 matrix of float) +0:301 log2 (global 2X2 matrix of float) +0:301 'inF0' (temp 2X2 matrix of float) +0:301 max (global 2X2 matrix of float) +0:301 'inF0' (temp 2X2 matrix of float) +0:301 'inF1' (temp 2X2 matrix of float) +0:301 min (global 2X2 matrix of float) +0:301 'inF0' (temp 2X2 matrix of float) +0:301 'inF1' (temp 2X2 matrix of float) +0:301 pow (global 2X2 matrix of float) +0:301 'inF0' (temp 2X2 matrix of float) +0:301 'inF1' (temp 2X2 matrix of float) +0:301 radians (global 2X2 matrix of float) +0:301 'inF0' (temp 2X2 matrix of float) +0:301 roundEven (global 2X2 matrix of float) +0:301 'inF0' (temp 2X2 matrix of float) +0:301 inverse sqrt (global 2X2 matrix of float) +0:301 'inF0' (temp 2X2 matrix of float) +0:301 Sign (global 2X2 matrix of float) +0:301 'inF0' (temp 2X2 matrix of float) +0:301 sine (global 2X2 matrix of float) +0:301 'inF0' (temp 2X2 matrix of float) +0:301 hyp. sine (global 2X2 matrix of float) +0:301 'inF0' (temp 2X2 matrix of float) +0:301 smoothstep (global 2X2 matrix of float) +0:301 'inF0' (temp 2X2 matrix of float) +0:301 'inF1' (temp 2X2 matrix of float) +0:301 'inF2' (temp 2X2 matrix of float) +0:301 sqrt (global 2X2 matrix of float) +0:301 'inF0' (temp 2X2 matrix of float) +0:301 step (global 2X2 matrix of float) +0:301 'inF0' (temp 2X2 matrix of float) +0:301 'inF1' (temp 2X2 matrix of float) +0:301 tangent (global 2X2 matrix of float) +0:301 'inF0' (temp 2X2 matrix of float) +0:301 hyp. tangent (global 2X2 matrix of float) +0:301 'inF0' (temp 2X2 matrix of float) +0:301 transpose (global 2X2 matrix of float) +0:301 'inF0' (temp 2X2 matrix of float) +0:301 trunc (global 2X2 matrix of float) +0:301 'inF0' (temp 2X2 matrix of float) +0:304 Branch: Return with expression +0:? Constant: +0:? 2.000000 +0:? 2.000000 +0:? 2.000000 +0:? 2.000000 +0:316 Function Definition: VertexShaderFunction(mf33;mf33;mf33; (temp 3X3 matrix of float) +0:308 Function Parameters: +0:308 'inF0' (temp 3X3 matrix of float) +0:308 'inF1' (temp 3X3 matrix of float) +0:308 'inF2' (temp 3X3 matrix of float) +0:? Sequence +0:310 all (global bool) +0:310 'inF0' (temp 3X3 matrix of float) +0:310 Absolute value (global 3X3 matrix of float) +0:310 'inF0' (temp 3X3 matrix of float) +0:310 arc cosine (global 3X3 matrix of float) +0:310 'inF0' (temp 3X3 matrix of float) +0:310 any (global bool) +0:310 'inF0' (temp 3X3 matrix of float) +0:310 arc sine (global 3X3 matrix of float) +0:310 'inF0' (temp 3X3 matrix of float) +0:310 arc tangent (global 3X3 matrix of float) +0:310 'inF0' (temp 3X3 matrix of float) +0:310 arc tangent (global 3X3 matrix of float) +0:310 'inF0' (temp 3X3 matrix of float) +0:310 'inF1' (temp 3X3 matrix of float) +0:310 Ceiling (global 3X3 matrix of float) +0:310 'inF0' (temp 3X3 matrix of float) +0:310 clamp (global 3X3 matrix of float) +0:310 'inF0' (temp 3X3 matrix of float) +0:310 'inF1' (temp 3X3 matrix of float) +0:310 'inF2' (temp 3X3 matrix of float) +0:310 cosine (global 3X3 matrix of float) +0:310 'inF0' (temp 3X3 matrix of float) +0:310 hyp. cosine (global 3X3 matrix of float) +0:310 'inF0' (temp 3X3 matrix of float) +0:310 degrees (global 3X3 matrix of float) +0:310 'inF0' (temp 3X3 matrix of float) +0:310 determinant (global float) +0:310 'inF0' (temp 3X3 matrix of float) +0:310 exp (global 3X3 matrix of float) +0:310 'inF0' (temp 3X3 matrix of float) +0:310 exp2 (global 3X3 matrix of float) +0:310 'inF0' (temp 3X3 matrix of float) +0:310 findMSB (global int) +0:310 Constant: +0:310 7 (const int) +0:310 findLSB (global int) +0:310 Constant: +0:310 7 (const int) +0:310 Floor (global 3X3 matrix of float) +0:310 'inF0' (temp 3X3 matrix of float) +0:310 Function Call: fmod(mf33;mf33; (global 3X3 matrix of float) +0:310 'inF0' (temp 3X3 matrix of float) +0:310 'inF1' (temp 3X3 matrix of float) +0:310 Fraction (global 3X3 matrix of float) +0:310 'inF0' (temp 3X3 matrix of float) +0:310 frexp (global 3X3 matrix of float) +0:310 'inF0' (temp 3X3 matrix of float) +0:310 'inF1' (temp 3X3 matrix of float) +0:310 fwidth (global 3X3 matrix of float) +0:310 'inF0' (temp 3X3 matrix of float) +0:310 ldexp (global 3X3 matrix of float) +0:310 'inF0' (temp 3X3 matrix of float) +0:310 'inF1' (temp 3X3 matrix of float) +0:310 log (global 3X3 matrix of float) +0:310 'inF0' (temp 3X3 matrix of float) +0:310 log2 (global 3X3 matrix of float) +0:310 'inF0' (temp 3X3 matrix of float) +0:310 max (global 3X3 matrix of float) +0:310 'inF0' (temp 3X3 matrix of float) +0:310 'inF1' (temp 3X3 matrix of float) +0:310 min (global 3X3 matrix of float) +0:310 'inF0' (temp 3X3 matrix of float) +0:310 'inF1' (temp 3X3 matrix of float) +0:310 pow (global 3X3 matrix of float) +0:310 'inF0' (temp 3X3 matrix of float) +0:310 'inF1' (temp 3X3 matrix of float) +0:310 radians (global 3X3 matrix of float) +0:310 'inF0' (temp 3X3 matrix of float) +0:310 roundEven (global 3X3 matrix of float) +0:310 'inF0' (temp 3X3 matrix of float) +0:310 inverse sqrt (global 3X3 matrix of float) +0:310 'inF0' (temp 3X3 matrix of float) +0:310 Sign (global 3X3 matrix of float) +0:310 'inF0' (temp 3X3 matrix of float) +0:310 sine (global 3X3 matrix of float) +0:310 'inF0' (temp 3X3 matrix of float) +0:310 hyp. sine (global 3X3 matrix of float) +0:310 'inF0' (temp 3X3 matrix of float) +0:310 smoothstep (global 3X3 matrix of float) +0:310 'inF0' (temp 3X3 matrix of float) +0:310 'inF1' (temp 3X3 matrix of float) +0:310 'inF2' (temp 3X3 matrix of float) +0:310 sqrt (global 3X3 matrix of float) +0:310 'inF0' (temp 3X3 matrix of float) +0:310 step (global 3X3 matrix of float) +0:310 'inF0' (temp 3X3 matrix of float) +0:310 'inF1' (temp 3X3 matrix of float) +0:310 tangent (global 3X3 matrix of float) +0:310 'inF0' (temp 3X3 matrix of float) +0:310 hyp. tangent (global 3X3 matrix of float) +0:310 'inF0' (temp 3X3 matrix of float) +0:310 transpose (global 3X3 matrix of float) +0:310 'inF0' (temp 3X3 matrix of float) +0:310 trunc (global 3X3 matrix of float) +0:310 'inF0' (temp 3X3 matrix of float) +0:313 Branch: Return with expression +0:? Constant: +0:? 3.000000 +0:? 3.000000 +0:? 3.000000 +0:? 3.000000 +0:? 3.000000 +0:? 3.000000 +0:? 3.000000 +0:? 3.000000 +0:? 3.000000 +0:324 Function Definition: VertexShaderFunction(mf44;mf44;mf44; (temp 4X4 matrix of float) +0:317 Function Parameters: +0:317 'inF0' (temp 4X4 matrix of float) +0:317 'inF1' (temp 4X4 matrix of float) +0:317 'inF2' (temp 4X4 matrix of float) +0:? Sequence +0:319 all (global bool) +0:319 'inF0' (temp 4X4 matrix of float) +0:319 Absolute value (global 4X4 matrix of float) +0:319 'inF0' (temp 4X4 matrix of float) +0:319 arc cosine (global 4X4 matrix of float) +0:319 'inF0' (temp 4X4 matrix of float) +0:319 any (global bool) +0:319 'inF0' (temp 4X4 matrix of float) +0:319 arc sine (global 4X4 matrix of float) +0:319 'inF0' (temp 4X4 matrix of float) +0:319 arc tangent (global 4X4 matrix of float) +0:319 'inF0' (temp 4X4 matrix of float) +0:319 arc tangent (global 4X4 matrix of float) +0:319 'inF0' (temp 4X4 matrix of float) +0:319 'inF1' (temp 4X4 matrix of float) +0:319 Ceiling (global 4X4 matrix of float) +0:319 'inF0' (temp 4X4 matrix of float) +0:319 clamp (global 4X4 matrix of float) +0:319 'inF0' (temp 4X4 matrix of float) +0:319 'inF1' (temp 4X4 matrix of float) +0:319 'inF2' (temp 4X4 matrix of float) +0:319 cosine (global 4X4 matrix of float) +0:319 'inF0' (temp 4X4 matrix of float) +0:319 hyp. cosine (global 4X4 matrix of float) +0:319 'inF0' (temp 4X4 matrix of float) +0:319 degrees (global 4X4 matrix of float) +0:319 'inF0' (temp 4X4 matrix of float) +0:319 determinant (global float) +0:319 'inF0' (temp 4X4 matrix of float) +0:319 exp (global 4X4 matrix of float) +0:319 'inF0' (temp 4X4 matrix of float) +0:319 exp2 (global 4X4 matrix of float) +0:319 'inF0' (temp 4X4 matrix of float) +0:319 findMSB (global int) +0:319 Constant: +0:319 7 (const int) +0:319 findLSB (global int) +0:319 Constant: +0:319 7 (const int) +0:319 Floor (global 4X4 matrix of float) +0:319 'inF0' (temp 4X4 matrix of float) +0:319 Function Call: fmod(mf44;mf44; (global 4X4 matrix of float) +0:319 'inF0' (temp 4X4 matrix of float) +0:319 'inF1' (temp 4X4 matrix of float) +0:319 Fraction (global 4X4 matrix of float) +0:319 'inF0' (temp 4X4 matrix of float) +0:319 frexp (global 4X4 matrix of float) +0:319 'inF0' (temp 4X4 matrix of float) +0:319 'inF1' (temp 4X4 matrix of float) +0:319 fwidth (global 4X4 matrix of float) +0:319 'inF0' (temp 4X4 matrix of float) +0:319 ldexp (global 4X4 matrix of float) +0:319 'inF0' (temp 4X4 matrix of float) +0:319 'inF1' (temp 4X4 matrix of float) +0:319 log (global 4X4 matrix of float) +0:319 'inF0' (temp 4X4 matrix of float) +0:319 log2 (global 4X4 matrix of float) +0:319 'inF0' (temp 4X4 matrix of float) +0:319 max (global 4X4 matrix of float) +0:319 'inF0' (temp 4X4 matrix of float) +0:319 'inF1' (temp 4X4 matrix of float) +0:319 min (global 4X4 matrix of float) +0:319 'inF0' (temp 4X4 matrix of float) +0:319 'inF1' (temp 4X4 matrix of float) +0:319 pow (global 4X4 matrix of float) +0:319 'inF0' (temp 4X4 matrix of float) +0:319 'inF1' (temp 4X4 matrix of float) +0:319 radians (global 4X4 matrix of float) +0:319 'inF0' (temp 4X4 matrix of float) +0:319 roundEven (global 4X4 matrix of float) +0:319 'inF0' (temp 4X4 matrix of float) +0:319 inverse sqrt (global 4X4 matrix of float) +0:319 'inF0' (temp 4X4 matrix of float) +0:319 Sign (global 4X4 matrix of float) +0:319 'inF0' (temp 4X4 matrix of float) +0:319 sine (global 4X4 matrix of float) +0:319 'inF0' (temp 4X4 matrix of float) +0:319 hyp. sine (global 4X4 matrix of float) +0:319 'inF0' (temp 4X4 matrix of float) +0:319 smoothstep (global 4X4 matrix of float) +0:319 'inF0' (temp 4X4 matrix of float) +0:319 'inF1' (temp 4X4 matrix of float) +0:319 'inF2' (temp 4X4 matrix of float) +0:319 sqrt (global 4X4 matrix of float) +0:319 'inF0' (temp 4X4 matrix of float) +0:319 step (global 4X4 matrix of float) +0:319 'inF0' (temp 4X4 matrix of float) +0:319 'inF1' (temp 4X4 matrix of float) +0:319 tangent (global 4X4 matrix of float) +0:319 'inF0' (temp 4X4 matrix of float) +0:319 hyp. tangent (global 4X4 matrix of float) +0:319 'inF0' (temp 4X4 matrix of float) +0:319 transpose (global 4X4 matrix of float) +0:319 'inF0' (temp 4X4 matrix of float) +0:319 trunc (global 4X4 matrix of float) +0:319 'inF0' (temp 4X4 matrix of float) +0:322 Branch: Return with expression +0:? Constant: +0:? 4.000000 +0:? 4.000000 +0:? 4.000000 +0:? 4.000000 +0:? 4.000000 +0:? 4.000000 +0:? 4.000000 +0:? 4.000000 +0:? 4.000000 +0:? 4.000000 +0:? 4.000000 +0:? 4.000000 +0:? 4.000000 +0:? 4.000000 +0:? 4.000000 +0:? 4.000000 +0:? Linker Objects + + +Linked vertex stage: + + +Shader version: 450 +0:? Sequence +0:56 Function Definition: VertexShaderFunction(f1;f1;f1; (temp float) +0:2 Function Parameters: +0:2 'inF0' (temp float) +0:2 'inF1' (temp float) +0:2 'inF2' (temp float) +0:? Sequence +0:3 all (global bool) +0:3 'inF0' (temp float) +0:4 Absolute value (global float) +0:4 'inF0' (temp float) +0:5 arc cosine (global float) +0:5 'inF0' (temp float) +0:6 any (global bool) +0:6 'inF0' (temp float) +0:7 arc sine (global float) +0:7 'inF0' (temp float) +0:8 arc tangent (global float) +0:8 'inF0' (temp float) +0:9 arc tangent (global float) +0:9 'inF0' (temp float) +0:9 'inF1' (temp float) +0:10 Ceiling (global float) +0:10 'inF0' (temp float) +0:11 clamp (global float) +0:11 'inF0' (temp float) +0:11 'inF1' (temp float) +0:11 'inF2' (temp float) +0:12 cosine (global float) +0:12 'inF0' (temp float) +0:13 hyp. cosine (global float) +0:13 'inF0' (temp float) +0:14 bitCount (global uint) +0:14 Constant: +0:14 7 (const uint) +0:15 degrees (global float) +0:15 'inF0' (temp float) +0:19 exp (global float) +0:19 'inF0' (temp float) +0:20 exp2 (global float) +0:20 'inF0' (temp float) +0:21 findMSB (global int) +0:21 Constant: +0:21 7 (const int) +0:22 findLSB (global int) +0:22 Constant: +0:22 7 (const int) +0:23 Floor (global float) +0:23 'inF0' (temp float) +0:25 Function Call: fmod(f1;f1; (global float) +0:25 'inF0' (temp float) +0:25 'inF1' (temp float) +0:26 Fraction (global float) +0:26 'inF0' (temp float) +0:27 frexp (global float) +0:27 'inF0' (temp float) +0:27 'inF1' (temp float) +0:28 fwidth (global float) +0:28 'inF0' (temp float) +0:29 isinf (global bool) +0:29 'inF0' (temp float) +0:30 isnan (global bool) +0:30 'inF0' (temp float) +0:31 ldexp (global float) +0:31 'inF0' (temp float) +0:31 'inF1' (temp float) +0:32 log (global float) +0:32 'inF0' (temp float) +0:33 log2 (global float) +0:33 'inF0' (temp float) +0:34 max (global float) +0:34 'inF0' (temp float) +0:34 'inF1' (temp float) +0:35 min (global float) +0:35 'inF0' (temp float) +0:35 'inF1' (temp float) +0:37 pow (global float) +0:37 'inF0' (temp float) +0:37 'inF1' (temp float) +0:38 radians (global float) +0:38 'inF0' (temp float) +0:39 bitFieldReverse (global uint) +0:39 Constant: +0:39 2 (const uint) +0:40 roundEven (global float) +0:40 'inF0' (temp float) +0:41 inverse sqrt (global float) +0:41 'inF0' (temp float) +0:42 Sign (global float) +0:42 'inF0' (temp float) +0:43 sine (global float) +0:43 'inF0' (temp float) +0:44 hyp. sine (global float) +0:44 'inF0' (temp float) +0:45 smoothstep (global float) +0:45 'inF0' (temp float) +0:45 'inF1' (temp float) +0:45 'inF2' (temp float) +0:46 sqrt (global float) +0:46 'inF0' (temp float) +0:47 step (global float) +0:47 'inF0' (temp float) +0:47 'inF1' (temp float) +0:48 tangent (global float) +0:48 'inF0' (temp float) +0:49 hyp. tangent (global float) +0:49 'inF0' (temp float) +0:51 trunc (global float) +0:51 'inF0' (temp float) +0:53 Branch: Return with expression +0:53 Constant: +0:53 0.000000 +0:62 Function Definition: VertexShaderFunction(vf1;vf1;vf1; (temp 1-component vector of float) +0:57 Function Parameters: +0:57 'inF0' (temp 1-component vector of float) +0:57 'inF1' (temp 1-component vector of float) +0:57 'inF2' (temp 1-component vector of float) +0:? Sequence +0:59 Branch: Return with expression +0:59 Constant: +0:59 0.000000 +0:125 Function Definition: VertexShaderFunction(vf2;vf2;vf2; (temp 2-component vector of float) +0:63 Function Parameters: +0:63 'inF0' (temp 2-component vector of float) +0:63 'inF1' (temp 2-component vector of float) +0:63 'inF2' (temp 2-component vector of float) +0:? Sequence +0:64 all (global bool) +0:64 'inF0' (temp 2-component vector of float) +0:65 Absolute value (global 2-component vector of float) +0:65 'inF0' (temp 2-component vector of float) +0:66 arc cosine (global 2-component vector of float) +0:66 'inF0' (temp 2-component vector of float) +0:67 any (global bool) +0:67 'inF0' (temp 2-component vector of float) +0:68 arc sine (global 2-component vector of float) +0:68 'inF0' (temp 2-component vector of float) +0:69 arc tangent (global 2-component vector of float) +0:69 'inF0' (temp 2-component vector of float) +0:70 arc tangent (global 2-component vector of float) +0:70 'inF0' (temp 2-component vector of float) +0:70 'inF1' (temp 2-component vector of float) +0:71 Ceiling (global 2-component vector of float) +0:71 'inF0' (temp 2-component vector of float) +0:72 clamp (global 2-component vector of float) +0:72 'inF0' (temp 2-component vector of float) +0:72 'inF1' (temp 2-component vector of float) +0:72 'inF2' (temp 2-component vector of float) +0:73 cosine (global 2-component vector of float) +0:73 'inF0' (temp 2-component vector of float) +0:74 hyp. cosine (global 2-component vector of float) +0:74 'inF0' (temp 2-component vector of float) +0:? bitCount (global 2-component vector of uint) +0:? Constant: +0:? 7 (const uint) +0:? 3 (const uint) +0:76 degrees (global 2-component vector of float) +0:76 'inF0' (temp 2-component vector of float) +0:77 distance (global float) +0:77 'inF0' (temp 2-component vector of float) +0:77 'inF1' (temp 2-component vector of float) +0:78 dot-product (global float) +0:78 'inF0' (temp 2-component vector of float) +0:78 'inF1' (temp 2-component vector of float) +0:82 exp (global 2-component vector of float) +0:82 'inF0' (temp 2-component vector of float) +0:83 exp2 (global 2-component vector of float) +0:83 'inF0' (temp 2-component vector of float) +0:84 face-forward (global 2-component vector of float) +0:84 'inF0' (temp 2-component vector of float) +0:84 'inF1' (temp 2-component vector of float) +0:84 'inF2' (temp 2-component vector of float) +0:85 findMSB (global int) +0:85 Constant: +0:85 7 (const int) +0:86 findLSB (global int) +0:86 Constant: +0:86 7 (const int) +0:87 Floor (global 2-component vector of float) +0:87 'inF0' (temp 2-component vector of float) +0:89 Function Call: fmod(vf2;vf2; (global 2-component vector of float) +0:89 'inF0' (temp 2-component vector of float) +0:89 'inF1' (temp 2-component vector of float) +0:90 Fraction (global 2-component vector of float) +0:90 'inF0' (temp 2-component vector of float) +0:91 frexp (global 2-component vector of float) +0:91 'inF0' (temp 2-component vector of float) +0:91 'inF1' (temp 2-component vector of float) +0:92 fwidth (global 2-component vector of float) +0:92 'inF0' (temp 2-component vector of float) +0:93 isinf (global 2-component vector of bool) +0:93 'inF0' (temp 2-component vector of float) +0:94 isnan (global 2-component vector of bool) +0:94 'inF0' (temp 2-component vector of float) +0:95 ldexp (global 2-component vector of float) +0:95 'inF0' (temp 2-component vector of float) +0:95 'inF1' (temp 2-component vector of float) +0:96 length (global float) +0:96 'inF0' (temp 2-component vector of float) +0:97 log (global 2-component vector of float) +0:97 'inF0' (temp 2-component vector of float) +0:98 log2 (global 2-component vector of float) +0:98 'inF0' (temp 2-component vector of float) +0:99 max (global 2-component vector of float) +0:99 'inF0' (temp 2-component vector of float) +0:99 'inF1' (temp 2-component vector of float) +0:100 min (global 2-component vector of float) +0:100 'inF0' (temp 2-component vector of float) +0:100 'inF1' (temp 2-component vector of float) +0:102 normalize (global 2-component vector of float) +0:102 'inF0' (temp 2-component vector of float) +0:103 pow (global 2-component vector of float) +0:103 'inF0' (temp 2-component vector of float) +0:103 'inF1' (temp 2-component vector of float) +0:104 radians (global 2-component vector of float) +0:104 'inF0' (temp 2-component vector of float) +0:105 reflect (global 2-component vector of float) +0:105 'inF0' (temp 2-component vector of float) +0:105 'inF1' (temp 2-component vector of float) +0:106 refract (global 2-component vector of float) +0:106 'inF0' (temp 2-component vector of float) +0:106 'inF1' (temp 2-component vector of float) +0:106 Constant: +0:106 2.000000 +0:? bitFieldReverse (global 2-component vector of uint) +0:? Constant: +0:? 1 (const uint) +0:? 2 (const uint) +0:108 roundEven (global 2-component vector of float) +0:108 'inF0' (temp 2-component vector of float) +0:109 inverse sqrt (global 2-component vector of float) +0:109 'inF0' (temp 2-component vector of float) +0:110 Sign (global 2-component vector of float) +0:110 'inF0' (temp 2-component vector of float) +0:111 sine (global 2-component vector of float) +0:111 'inF0' (temp 2-component vector of float) +0:112 hyp. sine (global 2-component vector of float) +0:112 'inF0' (temp 2-component vector of float) +0:113 smoothstep (global 2-component vector of float) +0:113 'inF0' (temp 2-component vector of float) +0:113 'inF1' (temp 2-component vector of float) +0:113 'inF2' (temp 2-component vector of float) +0:114 sqrt (global 2-component vector of float) +0:114 'inF0' (temp 2-component vector of float) +0:115 step (global 2-component vector of float) +0:115 'inF0' (temp 2-component vector of float) +0:115 'inF1' (temp 2-component vector of float) +0:116 tangent (global 2-component vector of float) +0:116 'inF0' (temp 2-component vector of float) +0:117 hyp. tangent (global 2-component vector of float) +0:117 'inF0' (temp 2-component vector of float) +0:119 trunc (global 2-component vector of float) +0:119 'inF0' (temp 2-component vector of float) +0:122 Branch: Return with expression +0:? Constant: +0:? 1.000000 +0:? 2.000000 +0:189 Function Definition: VertexShaderFunction(vf3;vf3;vf3; (temp 3-component vector of float) +0:126 Function Parameters: +0:126 'inF0' (temp 3-component vector of float) +0:126 'inF1' (temp 3-component vector of float) +0:126 'inF2' (temp 3-component vector of float) +0:? Sequence +0:127 all (global bool) +0:127 'inF0' (temp 3-component vector of float) +0:128 Absolute value (global 3-component vector of float) +0:128 'inF0' (temp 3-component vector of float) +0:129 arc cosine (global 3-component vector of float) +0:129 'inF0' (temp 3-component vector of float) +0:130 any (global bool) +0:130 'inF0' (temp 3-component vector of float) +0:131 arc sine (global 3-component vector of float) +0:131 'inF0' (temp 3-component vector of float) +0:132 arc tangent (global 3-component vector of float) +0:132 'inF0' (temp 3-component vector of float) +0:133 arc tangent (global 3-component vector of float) +0:133 'inF0' (temp 3-component vector of float) +0:133 'inF1' (temp 3-component vector of float) +0:134 Ceiling (global 3-component vector of float) +0:134 'inF0' (temp 3-component vector of float) +0:135 clamp (global 3-component vector of float) +0:135 'inF0' (temp 3-component vector of float) +0:135 'inF1' (temp 3-component vector of float) +0:135 'inF2' (temp 3-component vector of float) +0:136 cosine (global 3-component vector of float) +0:136 'inF0' (temp 3-component vector of float) +0:137 hyp. cosine (global 3-component vector of float) +0:137 'inF0' (temp 3-component vector of float) +0:? bitCount (global 3-component vector of uint) +0:? Constant: +0:? 7 (const uint) +0:? 3 (const uint) +0:? 5 (const uint) +0:139 cross-product (global 3-component vector of float) +0:139 'inF0' (temp 3-component vector of float) +0:139 'inF1' (temp 3-component vector of float) +0:140 degrees (global 3-component vector of float) +0:140 'inF0' (temp 3-component vector of float) +0:141 distance (global float) +0:141 'inF0' (temp 3-component vector of float) +0:141 'inF1' (temp 3-component vector of float) +0:142 dot-product (global float) +0:142 'inF0' (temp 3-component vector of float) +0:142 'inF1' (temp 3-component vector of float) +0:146 exp (global 3-component vector of float) +0:146 'inF0' (temp 3-component vector of float) +0:147 exp2 (global 3-component vector of float) +0:147 'inF0' (temp 3-component vector of float) +0:148 face-forward (global 3-component vector of float) +0:148 'inF0' (temp 3-component vector of float) +0:148 'inF1' (temp 3-component vector of float) +0:148 'inF2' (temp 3-component vector of float) +0:149 findMSB (global int) +0:149 Constant: +0:149 7 (const int) +0:150 findLSB (global int) +0:150 Constant: +0:150 7 (const int) +0:151 Floor (global 3-component vector of float) +0:151 'inF0' (temp 3-component vector of float) +0:153 Function Call: fmod(vf3;vf3; (global 3-component vector of float) +0:153 'inF0' (temp 3-component vector of float) +0:153 'inF1' (temp 3-component vector of float) +0:154 Fraction (global 3-component vector of float) +0:154 'inF0' (temp 3-component vector of float) +0:155 frexp (global 3-component vector of float) +0:155 'inF0' (temp 3-component vector of float) +0:155 'inF1' (temp 3-component vector of float) +0:156 fwidth (global 3-component vector of float) +0:156 'inF0' (temp 3-component vector of float) +0:157 isinf (global 3-component vector of bool) +0:157 'inF0' (temp 3-component vector of float) +0:158 isnan (global 3-component vector of bool) +0:158 'inF0' (temp 3-component vector of float) +0:159 ldexp (global 3-component vector of float) +0:159 'inF0' (temp 3-component vector of float) +0:159 'inF1' (temp 3-component vector of float) +0:160 length (global float) +0:160 'inF0' (temp 3-component vector of float) +0:161 log (global 3-component vector of float) +0:161 'inF0' (temp 3-component vector of float) +0:162 log2 (global 3-component vector of float) +0:162 'inF0' (temp 3-component vector of float) +0:163 max (global 3-component vector of float) +0:163 'inF0' (temp 3-component vector of float) +0:163 'inF1' (temp 3-component vector of float) +0:164 min (global 3-component vector of float) +0:164 'inF0' (temp 3-component vector of float) +0:164 'inF1' (temp 3-component vector of float) +0:166 normalize (global 3-component vector of float) +0:166 'inF0' (temp 3-component vector of float) +0:167 pow (global 3-component vector of float) +0:167 'inF0' (temp 3-component vector of float) +0:167 'inF1' (temp 3-component vector of float) +0:168 radians (global 3-component vector of float) +0:168 'inF0' (temp 3-component vector of float) +0:169 reflect (global 3-component vector of float) +0:169 'inF0' (temp 3-component vector of float) +0:169 'inF1' (temp 3-component vector of float) +0:170 refract (global 3-component vector of float) +0:170 'inF0' (temp 3-component vector of float) +0:170 'inF1' (temp 3-component vector of float) +0:170 Constant: +0:170 2.000000 +0:? bitFieldReverse (global 3-component vector of uint) +0:? Constant: +0:? 1 (const uint) +0:? 2 (const uint) +0:? 3 (const uint) +0:172 roundEven (global 3-component vector of float) +0:172 'inF0' (temp 3-component vector of float) +0:173 inverse sqrt (global 3-component vector of float) +0:173 'inF0' (temp 3-component vector of float) +0:174 Sign (global 3-component vector of float) +0:174 'inF0' (temp 3-component vector of float) +0:175 sine (global 3-component vector of float) +0:175 'inF0' (temp 3-component vector of float) +0:176 hyp. sine (global 3-component vector of float) +0:176 'inF0' (temp 3-component vector of float) +0:177 smoothstep (global 3-component vector of float) +0:177 'inF0' (temp 3-component vector of float) +0:177 'inF1' (temp 3-component vector of float) +0:177 'inF2' (temp 3-component vector of float) +0:178 sqrt (global 3-component vector of float) +0:178 'inF0' (temp 3-component vector of float) +0:179 step (global 3-component vector of float) +0:179 'inF0' (temp 3-component vector of float) +0:179 'inF1' (temp 3-component vector of float) +0:180 tangent (global 3-component vector of float) +0:180 'inF0' (temp 3-component vector of float) +0:181 hyp. tangent (global 3-component vector of float) +0:181 'inF0' (temp 3-component vector of float) +0:183 trunc (global 3-component vector of float) +0:183 'inF0' (temp 3-component vector of float) +0:186 Branch: Return with expression +0:? Constant: +0:? 1.000000 +0:? 2.000000 +0:? 3.000000 +0:298 Function Definition: VertexShaderFunction(vf4;vf4;vf4; (temp 4-component vector of float) +0:190 Function Parameters: +0:190 'inF0' (temp 4-component vector of float) +0:190 'inF1' (temp 4-component vector of float) +0:190 'inF2' (temp 4-component vector of float) +0:? Sequence +0:191 all (global bool) +0:191 'inF0' (temp 4-component vector of float) +0:192 Absolute value (global 4-component vector of float) +0:192 'inF0' (temp 4-component vector of float) +0:193 arc cosine (global 4-component vector of float) +0:193 'inF0' (temp 4-component vector of float) +0:194 any (global bool) +0:194 'inF0' (temp 4-component vector of float) +0:195 arc sine (global 4-component vector of float) +0:195 'inF0' (temp 4-component vector of float) +0:196 arc tangent (global 4-component vector of float) +0:196 'inF0' (temp 4-component vector of float) +0:197 arc tangent (global 4-component vector of float) +0:197 'inF0' (temp 4-component vector of float) +0:197 'inF1' (temp 4-component vector of float) +0:198 Ceiling (global 4-component vector of float) +0:198 'inF0' (temp 4-component vector of float) +0:199 clamp (global 4-component vector of float) +0:199 'inF0' (temp 4-component vector of float) +0:199 'inF1' (temp 4-component vector of float) +0:199 'inF2' (temp 4-component vector of float) +0:200 cosine (global 4-component vector of float) +0:200 'inF0' (temp 4-component vector of float) +0:201 hyp. cosine (global 4-component vector of float) +0:201 'inF0' (temp 4-component vector of float) +0:? bitCount (global 4-component vector of uint) +0:? Constant: +0:? 7 (const uint) +0:? 3 (const uint) +0:? 5 (const uint) +0:? 2 (const uint) +0:203 degrees (global 4-component vector of float) +0:203 'inF0' (temp 4-component vector of float) +0:204 distance (global float) +0:204 'inF0' (temp 4-component vector of float) +0:204 'inF1' (temp 4-component vector of float) +0:205 dot-product (global float) +0:205 'inF0' (temp 4-component vector of float) +0:205 'inF1' (temp 4-component vector of float) +0:209 exp (global 4-component vector of float) +0:209 'inF0' (temp 4-component vector of float) +0:210 exp2 (global 4-component vector of float) +0:210 'inF0' (temp 4-component vector of float) +0:211 face-forward (global 4-component vector of float) +0:211 'inF0' (temp 4-component vector of float) +0:211 'inF1' (temp 4-component vector of float) +0:211 'inF2' (temp 4-component vector of float) +0:212 findMSB (global int) +0:212 Constant: +0:212 7 (const int) +0:213 findLSB (global int) +0:213 Constant: +0:213 7 (const int) +0:214 Floor (global 4-component vector of float) +0:214 'inF0' (temp 4-component vector of float) +0:216 Function Call: fmod(vf4;vf4; (global 4-component vector of float) +0:216 'inF0' (temp 4-component vector of float) +0:216 'inF1' (temp 4-component vector of float) +0:217 Fraction (global 4-component vector of float) +0:217 'inF0' (temp 4-component vector of float) +0:218 frexp (global 4-component vector of float) +0:218 'inF0' (temp 4-component vector of float) +0:218 'inF1' (temp 4-component vector of float) +0:219 fwidth (global 4-component vector of float) +0:219 'inF0' (temp 4-component vector of float) +0:220 isinf (global 4-component vector of bool) +0:220 'inF0' (temp 4-component vector of float) +0:221 isnan (global 4-component vector of bool) +0:221 'inF0' (temp 4-component vector of float) +0:222 ldexp (global 4-component vector of float) +0:222 'inF0' (temp 4-component vector of float) +0:222 'inF1' (temp 4-component vector of float) +0:223 length (global float) +0:223 'inF0' (temp 4-component vector of float) +0:224 log (global 4-component vector of float) +0:224 'inF0' (temp 4-component vector of float) +0:225 log2 (global 4-component vector of float) +0:225 'inF0' (temp 4-component vector of float) +0:226 max (global 4-component vector of float) +0:226 'inF0' (temp 4-component vector of float) +0:226 'inF1' (temp 4-component vector of float) +0:227 min (global 4-component vector of float) +0:227 'inF0' (temp 4-component vector of float) +0:227 'inF1' (temp 4-component vector of float) +0:229 normalize (global 4-component vector of float) +0:229 'inF0' (temp 4-component vector of float) +0:230 pow (global 4-component vector of float) +0:230 'inF0' (temp 4-component vector of float) +0:230 'inF1' (temp 4-component vector of float) +0:231 radians (global 4-component vector of float) +0:231 'inF0' (temp 4-component vector of float) +0:232 reflect (global 4-component vector of float) +0:232 'inF0' (temp 4-component vector of float) +0:232 'inF1' (temp 4-component vector of float) +0:233 refract (global 4-component vector of float) +0:233 'inF0' (temp 4-component vector of float) +0:233 'inF1' (temp 4-component vector of float) +0:233 Constant: +0:233 2.000000 +0:? bitFieldReverse (global 4-component vector of uint) +0:? Constant: +0:? 1 (const uint) +0:? 2 (const uint) +0:? 3 (const uint) +0:? 4 (const uint) +0:235 roundEven (global 4-component vector of float) +0:235 'inF0' (temp 4-component vector of float) +0:236 inverse sqrt (global 4-component vector of float) +0:236 'inF0' (temp 4-component vector of float) +0:237 Sign (global 4-component vector of float) +0:237 'inF0' (temp 4-component vector of float) +0:238 sine (global 4-component vector of float) +0:238 'inF0' (temp 4-component vector of float) +0:239 hyp. sine (global 4-component vector of float) +0:239 'inF0' (temp 4-component vector of float) +0:240 smoothstep (global 4-component vector of float) +0:240 'inF0' (temp 4-component vector of float) +0:240 'inF1' (temp 4-component vector of float) +0:240 'inF2' (temp 4-component vector of float) +0:241 sqrt (global 4-component vector of float) +0:241 'inF0' (temp 4-component vector of float) +0:242 step (global 4-component vector of float) +0:242 'inF0' (temp 4-component vector of float) +0:242 'inF1' (temp 4-component vector of float) +0:243 tangent (global 4-component vector of float) +0:243 'inF0' (temp 4-component vector of float) +0:244 hyp. tangent (global 4-component vector of float) +0:244 'inF0' (temp 4-component vector of float) +0:246 trunc (global 4-component vector of float) +0:246 'inF0' (temp 4-component vector of float) +0:249 Branch: Return with expression +0:? Constant: +0:? 1.000000 +0:? 2.000000 +0:? 3.000000 +0:? 4.000000 +0:307 Function Definition: VertexShaderFunction(mf22;mf22;mf22; (temp 2X2 matrix of float) +0:299 Function Parameters: +0:299 'inF0' (temp 2X2 matrix of float) +0:299 'inF1' (temp 2X2 matrix of float) +0:299 'inF2' (temp 2X2 matrix of float) +0:? Sequence +0:301 all (global bool) +0:301 'inF0' (temp 2X2 matrix of float) +0:301 Absolute value (global 2X2 matrix of float) +0:301 'inF0' (temp 2X2 matrix of float) +0:301 arc cosine (global 2X2 matrix of float) +0:301 'inF0' (temp 2X2 matrix of float) +0:301 any (global bool) +0:301 'inF0' (temp 2X2 matrix of float) +0:301 arc sine (global 2X2 matrix of float) +0:301 'inF0' (temp 2X2 matrix of float) +0:301 arc tangent (global 2X2 matrix of float) +0:301 'inF0' (temp 2X2 matrix of float) +0:301 arc tangent (global 2X2 matrix of float) +0:301 'inF0' (temp 2X2 matrix of float) +0:301 'inF1' (temp 2X2 matrix of float) +0:301 Ceiling (global 2X2 matrix of float) +0:301 'inF0' (temp 2X2 matrix of float) +0:301 clamp (global 2X2 matrix of float) +0:301 'inF0' (temp 2X2 matrix of float) +0:301 'inF1' (temp 2X2 matrix of float) +0:301 'inF2' (temp 2X2 matrix of float) +0:301 cosine (global 2X2 matrix of float) +0:301 'inF0' (temp 2X2 matrix of float) +0:301 hyp. cosine (global 2X2 matrix of float) +0:301 'inF0' (temp 2X2 matrix of float) +0:301 degrees (global 2X2 matrix of float) +0:301 'inF0' (temp 2X2 matrix of float) +0:301 determinant (global float) +0:301 'inF0' (temp 2X2 matrix of float) +0:301 exp (global 2X2 matrix of float) +0:301 'inF0' (temp 2X2 matrix of float) +0:301 exp2 (global 2X2 matrix of float) +0:301 'inF0' (temp 2X2 matrix of float) +0:301 findMSB (global int) +0:301 Constant: +0:301 7 (const int) +0:301 findLSB (global int) +0:301 Constant: +0:301 7 (const int) +0:301 Floor (global 2X2 matrix of float) +0:301 'inF0' (temp 2X2 matrix of float) +0:301 Function Call: fmod(mf22;mf22; (global 2X2 matrix of float) +0:301 'inF0' (temp 2X2 matrix of float) +0:301 'inF1' (temp 2X2 matrix of float) +0:301 Fraction (global 2X2 matrix of float) +0:301 'inF0' (temp 2X2 matrix of float) +0:301 frexp (global 2X2 matrix of float) +0:301 'inF0' (temp 2X2 matrix of float) +0:301 'inF1' (temp 2X2 matrix of float) +0:301 fwidth (global 2X2 matrix of float) +0:301 'inF0' (temp 2X2 matrix of float) +0:301 ldexp (global 2X2 matrix of float) +0:301 'inF0' (temp 2X2 matrix of float) +0:301 'inF1' (temp 2X2 matrix of float) +0:301 log (global 2X2 matrix of float) +0:301 'inF0' (temp 2X2 matrix of float) +0:301 log2 (global 2X2 matrix of float) +0:301 'inF0' (temp 2X2 matrix of float) +0:301 max (global 2X2 matrix of float) +0:301 'inF0' (temp 2X2 matrix of float) +0:301 'inF1' (temp 2X2 matrix of float) +0:301 min (global 2X2 matrix of float) +0:301 'inF0' (temp 2X2 matrix of float) +0:301 'inF1' (temp 2X2 matrix of float) +0:301 pow (global 2X2 matrix of float) +0:301 'inF0' (temp 2X2 matrix of float) +0:301 'inF1' (temp 2X2 matrix of float) +0:301 radians (global 2X2 matrix of float) +0:301 'inF0' (temp 2X2 matrix of float) +0:301 roundEven (global 2X2 matrix of float) +0:301 'inF0' (temp 2X2 matrix of float) +0:301 inverse sqrt (global 2X2 matrix of float) +0:301 'inF0' (temp 2X2 matrix of float) +0:301 Sign (global 2X2 matrix of float) +0:301 'inF0' (temp 2X2 matrix of float) +0:301 sine (global 2X2 matrix of float) +0:301 'inF0' (temp 2X2 matrix of float) +0:301 hyp. sine (global 2X2 matrix of float) +0:301 'inF0' (temp 2X2 matrix of float) +0:301 smoothstep (global 2X2 matrix of float) +0:301 'inF0' (temp 2X2 matrix of float) +0:301 'inF1' (temp 2X2 matrix of float) +0:301 'inF2' (temp 2X2 matrix of float) +0:301 sqrt (global 2X2 matrix of float) +0:301 'inF0' (temp 2X2 matrix of float) +0:301 step (global 2X2 matrix of float) +0:301 'inF0' (temp 2X2 matrix of float) +0:301 'inF1' (temp 2X2 matrix of float) +0:301 tangent (global 2X2 matrix of float) +0:301 'inF0' (temp 2X2 matrix of float) +0:301 hyp. tangent (global 2X2 matrix of float) +0:301 'inF0' (temp 2X2 matrix of float) +0:301 transpose (global 2X2 matrix of float) +0:301 'inF0' (temp 2X2 matrix of float) +0:301 trunc (global 2X2 matrix of float) +0:301 'inF0' (temp 2X2 matrix of float) +0:304 Branch: Return with expression +0:? Constant: +0:? 2.000000 +0:? 2.000000 +0:? 2.000000 +0:? 2.000000 +0:316 Function Definition: VertexShaderFunction(mf33;mf33;mf33; (temp 3X3 matrix of float) +0:308 Function Parameters: +0:308 'inF0' (temp 3X3 matrix of float) +0:308 'inF1' (temp 3X3 matrix of float) +0:308 'inF2' (temp 3X3 matrix of float) +0:? Sequence +0:310 all (global bool) +0:310 'inF0' (temp 3X3 matrix of float) +0:310 Absolute value (global 3X3 matrix of float) +0:310 'inF0' (temp 3X3 matrix of float) +0:310 arc cosine (global 3X3 matrix of float) +0:310 'inF0' (temp 3X3 matrix of float) +0:310 any (global bool) +0:310 'inF0' (temp 3X3 matrix of float) +0:310 arc sine (global 3X3 matrix of float) +0:310 'inF0' (temp 3X3 matrix of float) +0:310 arc tangent (global 3X3 matrix of float) +0:310 'inF0' (temp 3X3 matrix of float) +0:310 arc tangent (global 3X3 matrix of float) +0:310 'inF0' (temp 3X3 matrix of float) +0:310 'inF1' (temp 3X3 matrix of float) +0:310 Ceiling (global 3X3 matrix of float) +0:310 'inF0' (temp 3X3 matrix of float) +0:310 clamp (global 3X3 matrix of float) +0:310 'inF0' (temp 3X3 matrix of float) +0:310 'inF1' (temp 3X3 matrix of float) +0:310 'inF2' (temp 3X3 matrix of float) +0:310 cosine (global 3X3 matrix of float) +0:310 'inF0' (temp 3X3 matrix of float) +0:310 hyp. cosine (global 3X3 matrix of float) +0:310 'inF0' (temp 3X3 matrix of float) +0:310 degrees (global 3X3 matrix of float) +0:310 'inF0' (temp 3X3 matrix of float) +0:310 determinant (global float) +0:310 'inF0' (temp 3X3 matrix of float) +0:310 exp (global 3X3 matrix of float) +0:310 'inF0' (temp 3X3 matrix of float) +0:310 exp2 (global 3X3 matrix of float) +0:310 'inF0' (temp 3X3 matrix of float) +0:310 findMSB (global int) +0:310 Constant: +0:310 7 (const int) +0:310 findLSB (global int) +0:310 Constant: +0:310 7 (const int) +0:310 Floor (global 3X3 matrix of float) +0:310 'inF0' (temp 3X3 matrix of float) +0:310 Function Call: fmod(mf33;mf33; (global 3X3 matrix of float) +0:310 'inF0' (temp 3X3 matrix of float) +0:310 'inF1' (temp 3X3 matrix of float) +0:310 Fraction (global 3X3 matrix of float) +0:310 'inF0' (temp 3X3 matrix of float) +0:310 frexp (global 3X3 matrix of float) +0:310 'inF0' (temp 3X3 matrix of float) +0:310 'inF1' (temp 3X3 matrix of float) +0:310 fwidth (global 3X3 matrix of float) +0:310 'inF0' (temp 3X3 matrix of float) +0:310 ldexp (global 3X3 matrix of float) +0:310 'inF0' (temp 3X3 matrix of float) +0:310 'inF1' (temp 3X3 matrix of float) +0:310 log (global 3X3 matrix of float) +0:310 'inF0' (temp 3X3 matrix of float) +0:310 log2 (global 3X3 matrix of float) +0:310 'inF0' (temp 3X3 matrix of float) +0:310 max (global 3X3 matrix of float) +0:310 'inF0' (temp 3X3 matrix of float) +0:310 'inF1' (temp 3X3 matrix of float) +0:310 min (global 3X3 matrix of float) +0:310 'inF0' (temp 3X3 matrix of float) +0:310 'inF1' (temp 3X3 matrix of float) +0:310 pow (global 3X3 matrix of float) +0:310 'inF0' (temp 3X3 matrix of float) +0:310 'inF1' (temp 3X3 matrix of float) +0:310 radians (global 3X3 matrix of float) +0:310 'inF0' (temp 3X3 matrix of float) +0:310 roundEven (global 3X3 matrix of float) +0:310 'inF0' (temp 3X3 matrix of float) +0:310 inverse sqrt (global 3X3 matrix of float) +0:310 'inF0' (temp 3X3 matrix of float) +0:310 Sign (global 3X3 matrix of float) +0:310 'inF0' (temp 3X3 matrix of float) +0:310 sine (global 3X3 matrix of float) +0:310 'inF0' (temp 3X3 matrix of float) +0:310 hyp. sine (global 3X3 matrix of float) +0:310 'inF0' (temp 3X3 matrix of float) +0:310 smoothstep (global 3X3 matrix of float) +0:310 'inF0' (temp 3X3 matrix of float) +0:310 'inF1' (temp 3X3 matrix of float) +0:310 'inF2' (temp 3X3 matrix of float) +0:310 sqrt (global 3X3 matrix of float) +0:310 'inF0' (temp 3X3 matrix of float) +0:310 step (global 3X3 matrix of float) +0:310 'inF0' (temp 3X3 matrix of float) +0:310 'inF1' (temp 3X3 matrix of float) +0:310 tangent (global 3X3 matrix of float) +0:310 'inF0' (temp 3X3 matrix of float) +0:310 hyp. tangent (global 3X3 matrix of float) +0:310 'inF0' (temp 3X3 matrix of float) +0:310 transpose (global 3X3 matrix of float) +0:310 'inF0' (temp 3X3 matrix of float) +0:310 trunc (global 3X3 matrix of float) +0:310 'inF0' (temp 3X3 matrix of float) +0:313 Branch: Return with expression +0:? Constant: +0:? 3.000000 +0:? 3.000000 +0:? 3.000000 +0:? 3.000000 +0:? 3.000000 +0:? 3.000000 +0:? 3.000000 +0:? 3.000000 +0:? 3.000000 +0:324 Function Definition: VertexShaderFunction(mf44;mf44;mf44; (temp 4X4 matrix of float) +0:317 Function Parameters: +0:317 'inF0' (temp 4X4 matrix of float) +0:317 'inF1' (temp 4X4 matrix of float) +0:317 'inF2' (temp 4X4 matrix of float) +0:? Sequence +0:319 all (global bool) +0:319 'inF0' (temp 4X4 matrix of float) +0:319 Absolute value (global 4X4 matrix of float) +0:319 'inF0' (temp 4X4 matrix of float) +0:319 arc cosine (global 4X4 matrix of float) +0:319 'inF0' (temp 4X4 matrix of float) +0:319 any (global bool) +0:319 'inF0' (temp 4X4 matrix of float) +0:319 arc sine (global 4X4 matrix of float) +0:319 'inF0' (temp 4X4 matrix of float) +0:319 arc tangent (global 4X4 matrix of float) +0:319 'inF0' (temp 4X4 matrix of float) +0:319 arc tangent (global 4X4 matrix of float) +0:319 'inF0' (temp 4X4 matrix of float) +0:319 'inF1' (temp 4X4 matrix of float) +0:319 Ceiling (global 4X4 matrix of float) +0:319 'inF0' (temp 4X4 matrix of float) +0:319 clamp (global 4X4 matrix of float) +0:319 'inF0' (temp 4X4 matrix of float) +0:319 'inF1' (temp 4X4 matrix of float) +0:319 'inF2' (temp 4X4 matrix of float) +0:319 cosine (global 4X4 matrix of float) +0:319 'inF0' (temp 4X4 matrix of float) +0:319 hyp. cosine (global 4X4 matrix of float) +0:319 'inF0' (temp 4X4 matrix of float) +0:319 degrees (global 4X4 matrix of float) +0:319 'inF0' (temp 4X4 matrix of float) +0:319 determinant (global float) +0:319 'inF0' (temp 4X4 matrix of float) +0:319 exp (global 4X4 matrix of float) +0:319 'inF0' (temp 4X4 matrix of float) +0:319 exp2 (global 4X4 matrix of float) +0:319 'inF0' (temp 4X4 matrix of float) +0:319 findMSB (global int) +0:319 Constant: +0:319 7 (const int) +0:319 findLSB (global int) +0:319 Constant: +0:319 7 (const int) +0:319 Floor (global 4X4 matrix of float) +0:319 'inF0' (temp 4X4 matrix of float) +0:319 Function Call: fmod(mf44;mf44; (global 4X4 matrix of float) +0:319 'inF0' (temp 4X4 matrix of float) +0:319 'inF1' (temp 4X4 matrix of float) +0:319 Fraction (global 4X4 matrix of float) +0:319 'inF0' (temp 4X4 matrix of float) +0:319 frexp (global 4X4 matrix of float) +0:319 'inF0' (temp 4X4 matrix of float) +0:319 'inF1' (temp 4X4 matrix of float) +0:319 fwidth (global 4X4 matrix of float) +0:319 'inF0' (temp 4X4 matrix of float) +0:319 ldexp (global 4X4 matrix of float) +0:319 'inF0' (temp 4X4 matrix of float) +0:319 'inF1' (temp 4X4 matrix of float) +0:319 log (global 4X4 matrix of float) +0:319 'inF0' (temp 4X4 matrix of float) +0:319 log2 (global 4X4 matrix of float) +0:319 'inF0' (temp 4X4 matrix of float) +0:319 max (global 4X4 matrix of float) +0:319 'inF0' (temp 4X4 matrix of float) +0:319 'inF1' (temp 4X4 matrix of float) +0:319 min (global 4X4 matrix of float) +0:319 'inF0' (temp 4X4 matrix of float) +0:319 'inF1' (temp 4X4 matrix of float) +0:319 pow (global 4X4 matrix of float) +0:319 'inF0' (temp 4X4 matrix of float) +0:319 'inF1' (temp 4X4 matrix of float) +0:319 radians (global 4X4 matrix of float) +0:319 'inF0' (temp 4X4 matrix of float) +0:319 roundEven (global 4X4 matrix of float) +0:319 'inF0' (temp 4X4 matrix of float) +0:319 inverse sqrt (global 4X4 matrix of float) +0:319 'inF0' (temp 4X4 matrix of float) +0:319 Sign (global 4X4 matrix of float) +0:319 'inF0' (temp 4X4 matrix of float) +0:319 sine (global 4X4 matrix of float) +0:319 'inF0' (temp 4X4 matrix of float) +0:319 hyp. sine (global 4X4 matrix of float) +0:319 'inF0' (temp 4X4 matrix of float) +0:319 smoothstep (global 4X4 matrix of float) +0:319 'inF0' (temp 4X4 matrix of float) +0:319 'inF1' (temp 4X4 matrix of float) +0:319 'inF2' (temp 4X4 matrix of float) +0:319 sqrt (global 4X4 matrix of float) +0:319 'inF0' (temp 4X4 matrix of float) +0:319 step (global 4X4 matrix of float) +0:319 'inF0' (temp 4X4 matrix of float) +0:319 'inF1' (temp 4X4 matrix of float) +0:319 tangent (global 4X4 matrix of float) +0:319 'inF0' (temp 4X4 matrix of float) +0:319 hyp. tangent (global 4X4 matrix of float) +0:319 'inF0' (temp 4X4 matrix of float) +0:319 transpose (global 4X4 matrix of float) +0:319 'inF0' (temp 4X4 matrix of float) +0:319 trunc (global 4X4 matrix of float) +0:319 'inF0' (temp 4X4 matrix of float) +0:322 Branch: Return with expression +0:? Constant: +0:? 4.000000 +0:? 4.000000 +0:? 4.000000 +0:? 4.000000 +0:? 4.000000 +0:? 4.000000 +0:? 4.000000 +0:? 4.000000 +0:? 4.000000 +0:? 4.000000 +0:? 4.000000 +0:? 4.000000 +0:? 4.000000 +0:? 4.000000 +0:? 4.000000 +0:? 4.000000 +0:? Linker Objects + +Missing functionality: missing user function; linker needs to catch that +// Module Version 10000 +// Generated by (magic number): 80001 +// Id's are bound by 796 + + Capability Shader + 1: ExtInstImport "GLSL.std.450" + MemoryModel Logical GLSL450 + EntryPoint Vertex 4 "VertexShaderFunction" + Source HLSL 450 + Name 4 "VertexShaderFunction" + Name 8 "inF0" + Name 23 "inF1" + Name 30 "inF2" + Name 55 "ResType" + Name 115 "inF0" + Name 129 "inF1" + Name 136 "inF2" + Name 171 "ResType" + Name 244 "inF0" + Name 258 "inF1" + Name 265 "inF2" + Name 303 "ResType" + Name 374 "inF0" + Name 388 "inF1" + Name 395 "inF2" + Name 429 "ResType" + Name 501 "inF0" + Name 515 "inF1" + Name 522 "inF2" + Name 544 "ResType" + Name 600 "inF0" + Name 614 "inF1" + Name 621 "inF2" + Name 643 "ResType" + Name 699 "inF0" + Name 713 "inF1" + Name 720 "inF2" + Name 742 "ResType" + 2: TypeVoid + 3: TypeFunction 2 + 6: TypeFloat 32 + 7: TypePointer Function 6(float) + 10: TypeBool + 37: TypeInt 32 0 + 38: 37(int) Constant 7 + 46: TypeInt 32 1 + 47: 46(int) Constant 7 + 55(ResType): TypeStruct 6(float) 46(int) + 83: 37(int) Constant 2 + 110: 6(float) Constant 0 + 113: TypeVector 6(float) 2 + 114: TypePointer Function 113(fvec2) + 143: TypeVector 37(int) 2 + 144: 37(int) Constant 3 + 145: 143(ivec2) ConstantComposite 38 144 + 170: TypeVector 46(int) 2 + 171(ResType): TypeStruct 113(fvec2) 170(ivec2) + 178: TypeVector 10(bool) 2 + 209: 6(float) Constant 1073741824 + 211: 37(int) Constant 1 + 212: 143(ivec2) ConstantComposite 211 83 + 239: 6(float) Constant 1065353216 + 240: 113(fvec2) ConstantComposite 239 209 + 242: TypeVector 6(float) 3 + 243: TypePointer Function 242(fvec3) + 272: TypeVector 37(int) 3 + 273: 37(int) Constant 5 + 274: 272(ivec3) ConstantComposite 38 144 273 + 302: TypeVector 46(int) 3 + 303(ResType): TypeStruct 242(fvec3) 302(ivec3) + 310: TypeVector 10(bool) 3 + 342: 272(ivec3) ConstantComposite 211 83 144 + 369: 6(float) Constant 1077936128 + 370: 242(fvec3) ConstantComposite 239 209 369 + 372: TypeVector 6(float) 4 + 373: TypePointer Function 372(fvec4) + 402: TypeVector 37(int) 4 + 403: 402(ivec4) ConstantComposite 38 144 273 83 + 428: TypeVector 46(int) 4 + 429(ResType): TypeStruct 372(fvec4) 428(ivec4) + 436: TypeVector 10(bool) 4 + 468: 37(int) Constant 4 + 469: 402(ivec4) ConstantComposite 211 83 144 468 + 496: 6(float) Constant 1082130432 + 497: 372(fvec4) ConstantComposite 239 209 369 496 + 499: TypeMatrix 113(fvec2) 2 + 500: TypePointer Function 499 + 544(ResType): TypeStruct 499 170(ivec2) + 595: 113(fvec2) ConstantComposite 209 209 + 596: 499 ConstantComposite 595 595 + 598: TypeMatrix 242(fvec3) 3 + 599: TypePointer Function 598 + 643(ResType): TypeStruct 598 302(ivec3) + 694: 242(fvec3) ConstantComposite 369 369 369 + 695: 598 ConstantComposite 694 694 694 + 697: TypeMatrix 372(fvec4) 4 + 698: TypePointer Function 697 + 742(ResType): TypeStruct 697 428(ivec4) + 793: 372(fvec4) ConstantComposite 496 496 496 496 + 794: 697 ConstantComposite 793 793 793 793 +4(VertexShaderFunction): 2 Function None 3 + 5: Label + 8(inF0): 7(ptr) Variable Function + 23(inF1): 7(ptr) Variable Function + 30(inF2): 7(ptr) Variable Function + 115(inF0): 114(ptr) Variable Function + 129(inF1): 114(ptr) Variable Function + 136(inF2): 114(ptr) Variable Function + 244(inF0): 243(ptr) Variable Function + 258(inF1): 243(ptr) Variable Function + 265(inF2): 243(ptr) Variable Function + 374(inF0): 373(ptr) Variable Function + 388(inF1): 373(ptr) Variable Function + 395(inF2): 373(ptr) Variable Function + 501(inF0): 500(ptr) Variable Function + 515(inF1): 500(ptr) Variable Function + 522(inF2): 500(ptr) Variable Function + 600(inF0): 599(ptr) Variable Function + 614(inF1): 599(ptr) Variable Function + 621(inF2): 599(ptr) Variable Function + 699(inF0): 698(ptr) Variable Function + 713(inF1): 698(ptr) Variable Function + 720(inF2): 698(ptr) Variable Function + 9: 6(float) Load 8(inF0) + 11: 10(bool) All 9 + 12: 6(float) Load 8(inF0) + 13: 6(float) ExtInst 1(GLSL.std.450) 4(FAbs) 12 + 14: 6(float) Load 8(inF0) + 15: 6(float) ExtInst 1(GLSL.std.450) 17(Acos) 14 + 16: 6(float) Load 8(inF0) + 17: 10(bool) Any 16 + 18: 6(float) Load 8(inF0) + 19: 6(float) ExtInst 1(GLSL.std.450) 16(Asin) 18 + 20: 6(float) Load 8(inF0) + 21: 6(float) ExtInst 1(GLSL.std.450) 18(Atan) 20 + 22: 6(float) Load 8(inF0) + 24: 6(float) Load 23(inF1) + 25: 6(float) ExtInst 1(GLSL.std.450) 25(Atan2) 22 24 + 26: 6(float) Load 8(inF0) + 27: 6(float) ExtInst 1(GLSL.std.450) 9(Ceil) 26 + 28: 6(float) Load 8(inF0) + 29: 6(float) Load 23(inF1) + 31: 6(float) Load 30(inF2) + 32: 6(float) ExtInst 1(GLSL.std.450) 43(FClamp) 28 29 31 + 33: 6(float) Load 8(inF0) + 34: 6(float) ExtInst 1(GLSL.std.450) 14(Cos) 33 + 35: 6(float) Load 8(inF0) + 36: 6(float) ExtInst 1(GLSL.std.450) 20(Cosh) 35 + 39: 37(int) BitCount 38 + 40: 6(float) Load 8(inF0) + 41: 6(float) ExtInst 1(GLSL.std.450) 12(Degrees) 40 + 42: 6(float) Load 8(inF0) + 43: 6(float) ExtInst 1(GLSL.std.450) 27(Exp) 42 + 44: 6(float) Load 8(inF0) + 45: 6(float) ExtInst 1(GLSL.std.450) 29(Exp2) 44 + 48: 46(int) ExtInst 1(GLSL.std.450) 74(FindSMsb) 47 + 49: 46(int) ExtInst 1(GLSL.std.450) 73(FindILsb) 47 + 50: 6(float) Load 8(inF0) + 51: 6(float) ExtInst 1(GLSL.std.450) 8(Floor) 50 + 52: 6(float) Load 8(inF0) + 53: 6(float) ExtInst 1(GLSL.std.450) 10(Fract) 52 + 54: 6(float) Load 8(inF0) + 56: 55(ResType) ExtInst 1(GLSL.std.450) 52(FrexpStruct) 54 + 57: 46(int) CompositeExtract 56 1 + Store 23(inF1) 57 + 58: 6(float) CompositeExtract 56 0 + 59: 6(float) Load 8(inF0) + 60: 6(float) Fwidth 59 + 61: 6(float) Load 8(inF0) + 62: 10(bool) IsInf 61 + 63: 6(float) Load 8(inF0) + 64: 10(bool) IsNan 63 + 65: 6(float) Load 8(inF0) + 66: 6(float) Load 23(inF1) + 67: 6(float) ExtInst 1(GLSL.std.450) 53(Ldexp) 65 66 + 68: 6(float) Load 8(inF0) + 69: 6(float) ExtInst 1(GLSL.std.450) 28(Log) 68 + 70: 6(float) Load 8(inF0) + 71: 6(float) ExtInst 1(GLSL.std.450) 30(Log2) 70 + 72: 6(float) Load 8(inF0) + 73: 6(float) Load 23(inF1) + 74: 6(float) ExtInst 1(GLSL.std.450) 40(FMax) 72 73 + 75: 6(float) Load 8(inF0) + 76: 6(float) Load 23(inF1) + 77: 6(float) ExtInst 1(GLSL.std.450) 37(FMin) 75 76 + 78: 6(float) Load 8(inF0) + 79: 6(float) Load 23(inF1) + 80: 6(float) ExtInst 1(GLSL.std.450) 26(Pow) 78 79 + 81: 6(float) Load 8(inF0) + 82: 6(float) ExtInst 1(GLSL.std.450) 11(Radians) 81 + 84: 37(int) BitReverse 83 + 85: 6(float) Load 8(inF0) + 86: 6(float) ExtInst 1(GLSL.std.450) 2(RoundEven) 85 + 87: 6(float) Load 8(inF0) + 88: 6(float) ExtInst 1(GLSL.std.450) 32(InverseSqrt) 87 + 89: 6(float) Load 8(inF0) + 90: 6(float) ExtInst 1(GLSL.std.450) 6(FSign) 89 + 91: 6(float) Load 8(inF0) + 92: 6(float) ExtInst 1(GLSL.std.450) 13(Sin) 91 + 93: 6(float) Load 8(inF0) + 94: 6(float) ExtInst 1(GLSL.std.450) 19(Sinh) 93 + 95: 6(float) Load 8(inF0) + 96: 6(float) Load 23(inF1) + 97: 6(float) Load 30(inF2) + 98: 6(float) ExtInst 1(GLSL.std.450) 49(SmoothStep) 95 96 97 + 99: 6(float) Load 8(inF0) + 100: 6(float) ExtInst 1(GLSL.std.450) 31(Sqrt) 99 + 101: 6(float) Load 8(inF0) + 102: 6(float) Load 23(inF1) + 103: 6(float) ExtInst 1(GLSL.std.450) 48(Step) 101 102 + 104: 6(float) Load 8(inF0) + 105: 6(float) ExtInst 1(GLSL.std.450) 15(Tan) 104 + 106: 6(float) Load 8(inF0) + 107: 6(float) ExtInst 1(GLSL.std.450) 21(Tanh) 106 + 108: 6(float) Load 8(inF0) + 109: 6(float) ExtInst 1(GLSL.std.450) 3(Trunc) 108 + ReturnValue 110 + FunctionEnd diff --git a/Test/baseResults/hlsl.matType.frag.out b/Test/baseResults/hlsl.matType.frag.out index 438a06a4..298211df 100755 --- a/Test/baseResults/hlsl.matType.frag.out +++ b/Test/baseResults/hlsl.matType.frag.out @@ -1,5 +1,5 @@ hlsl.matType.frag -Shader version: 100 +Shader version: 450 gl_FragCoord origin is upper left 0:? Sequence 0:1 move second child to first child (temp 1-component vector of float) @@ -22,7 +22,7 @@ gl_FragCoord origin is upper left Linked fragment stage: -Shader version: 100 +Shader version: 450 gl_FragCoord origin is upper left 0:? Sequence 0:1 move second child to first child (temp 1-component vector of float) @@ -51,7 +51,7 @@ gl_FragCoord origin is upper left MemoryModel Logical GLSL450 EntryPoint Fragment 4 "PixelShaderFunction" ExecutionMode 4 OriginUpperLeft - Source HLSL 100 + Source HLSL 450 Name 4 "PixelShaderFunction" Name 11 "ShaderFunction(vf1;f1;" Name 9 "inFloat1" diff --git a/Test/baseResults/hlsl.max.frag.out b/Test/baseResults/hlsl.max.frag.out index addc965c..7c3c7e69 100755 --- a/Test/baseResults/hlsl.max.frag.out +++ b/Test/baseResults/hlsl.max.frag.out @@ -1,5 +1,5 @@ hlsl.max.frag -Shader version: 100 +Shader version: 450 gl_FragCoord origin is upper left 0:? Sequence 0:5 Function Definition: PixelShaderFunction(vf4;vf4; (temp 4-component vector of float) @@ -17,7 +17,7 @@ gl_FragCoord origin is upper left Linked fragment stage: -Shader version: 100 +Shader version: 450 gl_FragCoord origin is upper left 0:? Sequence 0:5 Function Definition: PixelShaderFunction(vf4;vf4; (temp 4-component vector of float) @@ -40,7 +40,7 @@ gl_FragCoord origin is upper left MemoryModel Logical GLSL450 EntryPoint Fragment 4 "PixelShaderFunction" ExecutionMode 4 OriginUpperLeft - Source HLSL 100 + Source HLSL 450 Name 4 "PixelShaderFunction" Name 9 "input1" Name 11 "input2" diff --git a/Test/baseResults/hlsl.precedence.frag.out b/Test/baseResults/hlsl.precedence.frag.out index fc31f4b2..dc0b0e93 100755 --- a/Test/baseResults/hlsl.precedence.frag.out +++ b/Test/baseResults/hlsl.precedence.frag.out @@ -1,5 +1,5 @@ hlsl.precedence.frag -Shader version: 100 +Shader version: 450 gl_FragCoord origin is upper left 0:? Sequence 0:10 Function Definition: PixelShaderFunction(vf4;vf4;vf4;vf4; (temp 4-component vector of float) @@ -23,7 +23,7 @@ gl_FragCoord origin is upper left Linked fragment stage: -Shader version: 100 +Shader version: 450 gl_FragCoord origin is upper left 0:? Sequence 0:10 Function Definition: PixelShaderFunction(vf4;vf4;vf4;vf4; (temp 4-component vector of float) @@ -52,7 +52,7 @@ gl_FragCoord origin is upper left MemoryModel Logical GLSL450 EntryPoint Fragment 4 "PixelShaderFunction" ExecutionMode 4 OriginUpperLeft - Source HLSL 100 + Source HLSL 450 Name 4 "PixelShaderFunction" Name 9 "a1" Name 11 "a2" diff --git a/Test/baseResults/hlsl.precedence2.frag.out b/Test/baseResults/hlsl.precedence2.frag.out index fc4ae025..73d500d3 100755 --- a/Test/baseResults/hlsl.precedence2.frag.out +++ b/Test/baseResults/hlsl.precedence2.frag.out @@ -1,5 +1,5 @@ hlsl.precedence2.frag -Shader version: 100 +Shader version: 450 gl_FragCoord origin is upper left 0:? Sequence 0:10 Function Definition: PixelShaderFunction(i1;i1;i1;i1; (temp int) @@ -31,7 +31,7 @@ gl_FragCoord origin is upper left Linked fragment stage: -Shader version: 100 +Shader version: 450 gl_FragCoord origin is upper left 0:? Sequence 0:10 Function Definition: PixelShaderFunction(i1;i1;i1;i1; (temp int) @@ -68,7 +68,7 @@ gl_FragCoord origin is upper left MemoryModel Logical GLSL450 EntryPoint Fragment 4 "PixelShaderFunction" ExecutionMode 4 OriginUpperLeft - Source HLSL 100 + Source HLSL 450 Name 4 "PixelShaderFunction" Name 8 "a1" Name 10 "a2" diff --git a/Test/baseResults/hlsl.sin.frag.out b/Test/baseResults/hlsl.sin.frag.out index 7d4f626d..331945ac 100755 --- a/Test/baseResults/hlsl.sin.frag.out +++ b/Test/baseResults/hlsl.sin.frag.out @@ -1,5 +1,5 @@ hlsl.sin.frag -Shader version: 100 +Shader version: 450 gl_FragCoord origin is upper left 0:? Sequence 0:5 Function Definition: PixelShaderFunction(vf4; (temp 4-component vector of float) @@ -15,7 +15,7 @@ gl_FragCoord origin is upper left Linked fragment stage: -Shader version: 100 +Shader version: 450 gl_FragCoord origin is upper left 0:? Sequence 0:5 Function Definition: PixelShaderFunction(vf4; (temp 4-component vector of float) @@ -36,7 +36,7 @@ gl_FragCoord origin is upper left MemoryModel Logical GLSL450 EntryPoint Fragment 4 "PixelShaderFunction" ExecutionMode 4 OriginUpperLeft - Source HLSL 100 + Source HLSL 450 Name 4 "PixelShaderFunction" Name 9 "input" 2: TypeVoid diff --git a/Test/hlsl.intrinsics.frag b/Test/hlsl.intrinsics.frag new file mode 100644 index 00000000..563ce225 --- /dev/null +++ b/Test/hlsl.intrinsics.frag @@ -0,0 +1,353 @@ +float PixelShaderFunction(float inF0, float inF1, float inF2) +{ + all(inF0); + abs(inF0); + acos(inF0); + any(inF0); + asin(inF0); + atan(inF0); + atan2(inF0, inF1); + ceil(inF0); + clamp(inF0, inF1, inF2); + cos(inF0); + cosh(inF0); + countbits(7); + ddx(inF0); + ddx_coarse(inF0); + ddx_fine(inF0); + ddy(inF0); + ddy_coarse(inF0); + ddy_fine(inF0); + degrees(inF0); + // EvaluateAttributeAtCentroid(inF0); + // EvaluateAttributeAtSample(inF0, 0); + // TODO: EvaluateAttributeSnapped(inF0, int2(1,2)); + exp(inF0); + exp2(inF0); + firstbithigh(7); + firstbitlow(7); + floor(inF0); + // TODO: fma(inD0, inD1, inD2); + fmod(inF0, inF1); + frac(inF0); + frexp(inF0, inF1); + fwidth(inF0); + isinf(inF0); + isnan(inF0); + ldexp(inF0, inF1); + log(inF0); + log2(inF0); + max(inF0, inF1); + min(inF0, inF1); + // TODO: mul(inF0, inF1); + pow(inF0, inF1); + radians(inF0); + reversebits(2); + round(inF0); + rsqrt(inF0); + sign(inF0); + sin(inF0); + sinh(inF0); + smoothstep(inF0, inF1, inF2); + sqrt(inF0); + step(inF0, inF1); + tan(inF0); + tanh(inF0); + // TODO: sampler intrinsics, when we can declare the types. + trunc(inF0); + + return 0.0; +} + +float1 PixelShaderFunction(float1 inF0, float1 inF1, float1 inF2) +{ + // TODO: ... add when float1 prototypes are generated + return 0.0; +} + +float2 PixelShaderFunction(float2 inF0, float2 inF1, float2 inF2) +{ + all(inF0); + abs(inF0); + acos(inF0); + any(inF0); + asin(inF0); + atan(inF0); + atan2(inF0, inF1); + ceil(inF0); + clamp(inF0, inF1, inF2); + cos(inF0); + cosh(inF0); + countbits(int2(7,3)); + ddx(inF0); + ddx_coarse(inF0); + ddx_fine(inF0); + ddy(inF0); + ddy_coarse(inF0); + ddy_fine(inF0); + degrees(inF0); + distance(inF0, inF1); + dot(inF0, inF1); + // EvaluateAttributeAtCentroid(inF0); + // EvaluateAttributeAtSample(inF0, 0); + // TODO: EvaluateAttributeSnapped(inF0, int2(1,2)); + exp(inF0); + exp2(inF0); + faceforward(inF0, inF1, inF2); + firstbithigh(7); + firstbitlow(7); + floor(inF0); + // TODO: fma(inD0, inD1, inD2); + fmod(inF0, inF1); + frac(inF0); + frexp(inF0, inF1); + fwidth(inF0); + isinf(inF0); + isnan(inF0); + ldexp(inF0, inF1); + length(inF0); + log(inF0); + log2(inF0); + max(inF0, inF1); + min(inF0, inF1); + // TODO: mul(inF0, inF1); + normalize(inF0); + pow(inF0, inF1); + radians(inF0); + reflect(inF0, inF1); + refract(inF0, inF1, 2.0); + reversebits(int2(1,2)); + round(inF0); + rsqrt(inF0); + sign(inF0); + sin(inF0); + sinh(inF0); + smoothstep(inF0, inF1, inF2); + sqrt(inF0); + step(inF0, inF1); + tan(inF0); + tanh(inF0); + // TODO: sampler intrinsics, when we can declare the types. + trunc(inF0); + + // TODO: ... add when float1 prototypes are generated + return float2(1,2); +} + +float3 PixelShaderFunction(float3 inF0, float3 inF1, float3 inF2) +{ + all(inF0); + abs(inF0); + acos(inF0); + any(inF0); + asin(inF0); + atan(inF0); + atan2(inF0, inF1); + ceil(inF0); + clamp(inF0, inF1, inF2); + cos(inF0); + cosh(inF0); + countbits(int3(7,3,5)); + cross(inF0, inF1); + ddx(inF0); + ddx_coarse(inF0); + ddx_fine(inF0); + ddy(inF0); + ddy_coarse(inF0); + ddy_fine(inF0); + degrees(inF0); + distance(inF0, inF1); + dot(inF0, inF1); + // EvaluateAttributeAtCentroid(inF0); + // EvaluateAttributeAtSample(inF0, 0); + // TODO: EvaluateAttributeSnapped(inF0, int2(1,2)); + exp(inF0); + exp2(inF0); + faceforward(inF0, inF1, inF2); + firstbithigh(7); + firstbitlow(7); + floor(inF0); + // TODO: fma(inD0, inD1, inD2); + fmod(inF0, inF1); + frac(inF0); + frexp(inF0, inF1); + fwidth(inF0); + isinf(inF0); + isnan(inF0); + ldexp(inF0, inF1); + length(inF0); + log(inF0); + log2(inF0); + max(inF0, inF1); + min(inF0, inF1); + // TODO: mul(inF0, inF1); + normalize(inF0); + pow(inF0, inF1); + radians(inF0); + reflect(inF0, inF1); + refract(inF0, inF1, 2.0); + reversebits(int3(1,2,3)); + round(inF0); + rsqrt(inF0); + sign(inF0); + sin(inF0); + sinh(inF0); + smoothstep(inF0, inF1, inF2); + sqrt(inF0); + step(inF0, inF1); + tan(inF0); + tanh(inF0); + // TODO: sampler intrinsics, when we can declare the types. + trunc(inF0); + + // TODO: ... add when float1 prototypes are generated + return float3(1,2,3); +} + +float4 PixelShaderFunction(float4 inF0, float4 inF1, float4 inF2) +{ + all(inF0); + abs(inF0); + acos(inF0); + any(inF0); + asin(inF0); + atan(inF0); + atan2(inF0, inF1); + ceil(inF0); + clamp(inF0, inF1, inF2); + cos(inF0); + cosh(inF0); + countbits(int4(7,3,5,2)); + ddx(inF0); + ddx_coarse(inF0); + ddx_fine(inF0); + ddy(inF0); + ddy_coarse(inF0); + ddy_fine(inF0); + degrees(inF0); + distance(inF0, inF1); + dot(inF0, inF1); + // EvaluateAttributeAtCentroid(inF0); + // EvaluateAttributeAtSample(inF0, 0); + // TODO: EvaluateAttributeSnapped(inF0, int2(1,2)); + exp(inF0); + exp2(inF0); + faceforward(inF0, inF1, inF2); + firstbithigh(7); + firstbitlow(7); + floor(inF0); + // TODO: fma(inD0, inD1, inD2); + fmod(inF0, inF1); + frac(inF0); + frexp(inF0, inF1); + fwidth(inF0); + isinf(inF0); + isnan(inF0); + ldexp(inF0, inF1); + length(inF0); + log(inF0); + log2(inF0); + max(inF0, inF1); + min(inF0, inF1); + // TODO: mul(inF0, inF1); + normalize(inF0); + pow(inF0, inF1); + radians(inF0); + reflect(inF0, inF1); + refract(inF0, inF1, 2.0); + reversebits(int4(1,2,3,4)); + round(inF0); + rsqrt(inF0); + sign(inF0); + sin(inF0); + sinh(inF0); + smoothstep(inF0, inF1, inF2); + sqrt(inF0); + step(inF0, inF1); + tan(inF0); + tanh(inF0); + // TODO: sampler intrinsics, when we can declare the types. + trunc(inF0); + + // TODO: ... add when float1 prototypes are generated + return float4(1,2,3,4); +} + +// TODO: FXC doesn't accept this with (), but glslang doesn't accept it without. +#define MATFNS() \ + all(inF0); \ + abs(inF0); \ + acos(inF0); \ + any(inF0); \ + asin(inF0); \ + atan(inF0); \ + atan2(inF0, inF1); \ + ceil(inF0); \ + clamp(inF0, inF1, inF2); \ + cos(inF0); \ + cosh(inF0); \ + ddx(inF0); \ + ddx_coarse(inF0); \ + ddx_fine(inF0); \ + ddy(inF0); \ + ddy_coarse(inF0); \ + ddy_fine(inF0); \ + degrees(inF0); \ + determinant(inF0); \ + exp(inF0); \ + exp2(inF0); \ + firstbithigh(7); \ + firstbitlow(7); \ + floor(inF0); \ + fmod(inF0, inF1); \ + frac(inF0); \ + frexp(inF0, inF1); \ + fwidth(inF0); \ + ldexp(inF0, inF1); \ + log(inF0); \ + log2(inF0); \ + max(inF0, inF1); \ + min(inF0, inF1); \ + pow(inF0, inF1); \ + radians(inF0); \ + round(inF0); \ + rsqrt(inF0); \ + sign(inF0); \ + sin(inF0); \ + sinh(inF0); \ + smoothstep(inF0, inF1, inF2); \ + sqrt(inF0); \ + step(inF0, inF1); \ + tan(inF0); \ + tanh(inF0); \ + transpose(inF0); \ + trunc(inF0); + +// TODO: turn on non-square matrix tests when protos are available. + +float2x2 PixelShaderFunction(float2x2 inF0, float2x2 inF1, float2x2 inF2) +{ + // TODO: FXC doesn't accept this with (), but glslang doesn't accept it without. + MATFNS() + + // TODO: ... add when float1 prototypes are generated + return float2x2(2,2,2,2); +} + +float3x3 PixelShaderFunction(float3x3 inF0, float3x3 inF1, float3x3 inF2) +{ + // TODO: FXC doesn't accept this with (), but glslang doesn't accept it without. + MATFNS() + + // TODO: ... add when float1 prototypes are generated + return float3x3(3,3,3,3,3,3,3,3,3); +} + +float4x4 PixelShaderFunction(float4x4 inF0, float4x4 inF1, float4x4 inF2) +{ + // TODO: FXC doesn't accept this with (), but glslang doesn't accept it without. + MATFNS() + + // TODO: ... add when float1 prototypes are generated + return float4x4(4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4); +} diff --git a/Test/hlsl.intrinsics.vert b/Test/hlsl.intrinsics.vert new file mode 100644 index 00000000..73243420 --- /dev/null +++ b/Test/hlsl.intrinsics.vert @@ -0,0 +1,323 @@ +float VertexShaderFunction(float inF0, float inF1, float inF2) +{ + all(inF0); + abs(inF0); + acos(inF0); + any(inF0); + asin(inF0); + atan(inF0); + atan2(inF0, inF1); + ceil(inF0); + clamp(inF0, inF1, inF2); + cos(inF0); + cosh(inF0); + countbits(7); + degrees(inF0); + // EvaluateAttributeAtCentroid(inF0); + // EvaluateAttributeAtSample(inF0, 0); + // TODO: EvaluateAttributeSnapped(inF0, int2(1,2)); + exp(inF0); + exp2(inF0); + firstbithigh(7); + firstbitlow(7); + floor(inF0); + // TODO: fma(inD0, inD1, inD2); + fmod(inF0, inF1); + frac(inF0); + frexp(inF0, inF1); + fwidth(inF0); + isinf(inF0); + isnan(inF0); + ldexp(inF0, inF1); + log(inF0); + log2(inF0); + max(inF0, inF1); + min(inF0, inF1); + // TODO: mul(inF0, inF1); + pow(inF0, inF1); + radians(inF0); + reversebits(2); + round(inF0); + rsqrt(inF0); + sign(inF0); + sin(inF0); + sinh(inF0); + smoothstep(inF0, inF1, inF2); + sqrt(inF0); + step(inF0, inF1); + tan(inF0); + tanh(inF0); + // TODO: sampler intrinsics, when we can declare the types. + trunc(inF0); + + return 0.0; +} + +float1 VertexShaderFunction(float1 inF0, float1 inF1, float1 inF2) +{ + // TODO: ... add when float1 prototypes are generated + return 0.0; +} + +float2 VertexShaderFunction(float2 inF0, float2 inF1, float2 inF2) +{ + all(inF0); + abs(inF0); + acos(inF0); + any(inF0); + asin(inF0); + atan(inF0); + atan2(inF0, inF1); + ceil(inF0); + clamp(inF0, inF1, inF2); + cos(inF0); + cosh(inF0); + countbits(int2(7,3)); + degrees(inF0); + distance(inF0, inF1); + dot(inF0, inF1); + // EvaluateAttributeAtCentroid(inF0); + // EvaluateAttributeAtSample(inF0, 0); + // TODO: EvaluateAttributeSnapped(inF0, int2(1,2)); + exp(inF0); + exp2(inF0); + faceforward(inF0, inF1, inF2); + firstbithigh(7); + firstbitlow(7); + floor(inF0); + // TODO: fma(inD0, inD1, inD2); + fmod(inF0, inF1); + frac(inF0); + frexp(inF0, inF1); + fwidth(inF0); + isinf(inF0); + isnan(inF0); + ldexp(inF0, inF1); + length(inF0); + log(inF0); + log2(inF0); + max(inF0, inF1); + min(inF0, inF1); + // TODO: mul(inF0, inF1); + normalize(inF0); + pow(inF0, inF1); + radians(inF0); + reflect(inF0, inF1); + refract(inF0, inF1, 2.0); + reversebits(int2(1,2)); + round(inF0); + rsqrt(inF0); + sign(inF0); + sin(inF0); + sinh(inF0); + smoothstep(inF0, inF1, inF2); + sqrt(inF0); + step(inF0, inF1); + tan(inF0); + tanh(inF0); + // TODO: sampler intrinsics, when we can declare the types. + trunc(inF0); + + // TODO: ... add when float1 prototypes are generated + return float2(1,2); +} + +float3 VertexShaderFunction(float3 inF0, float3 inF1, float3 inF2) +{ + all(inF0); + abs(inF0); + acos(inF0); + any(inF0); + asin(inF0); + atan(inF0); + atan2(inF0, inF1); + ceil(inF0); + clamp(inF0, inF1, inF2); + cos(inF0); + cosh(inF0); + countbits(int3(7,3,5)); + cross(inF0, inF1); + degrees(inF0); + distance(inF0, inF1); + dot(inF0, inF1); + // EvaluateAttributeAtCentroid(inF0); + // EvaluateAttributeAtSample(inF0, 0); + // TODO: EvaluateAttributeSnapped(inF0, int2(1,2)); + exp(inF0); + exp2(inF0); + faceforward(inF0, inF1, inF2); + firstbithigh(7); + firstbitlow(7); + floor(inF0); + // TODO: fma(inD0, inD1, inD2); + fmod(inF0, inF1); + frac(inF0); + frexp(inF0, inF1); + fwidth(inF0); + isinf(inF0); + isnan(inF0); + ldexp(inF0, inF1); + length(inF0); + log(inF0); + log2(inF0); + max(inF0, inF1); + min(inF0, inF1); + // TODO: mul(inF0, inF1); + normalize(inF0); + pow(inF0, inF1); + radians(inF0); + reflect(inF0, inF1); + refract(inF0, inF1, 2.0); + reversebits(int3(1,2,3)); + round(inF0); + rsqrt(inF0); + sign(inF0); + sin(inF0); + sinh(inF0); + smoothstep(inF0, inF1, inF2); + sqrt(inF0); + step(inF0, inF1); + tan(inF0); + tanh(inF0); + // TODO: sampler intrinsics, when we can declare the types. + trunc(inF0); + + // TODO: ... add when float1 prototypes are generated + return float3(1,2,3); +} + +float4 VertexShaderFunction(float4 inF0, float4 inF1, float4 inF2) +{ + all(inF0); + abs(inF0); + acos(inF0); + any(inF0); + asin(inF0); + atan(inF0); + atan2(inF0, inF1); + ceil(inF0); + clamp(inF0, inF1, inF2); + cos(inF0); + cosh(inF0); + countbits(int4(7,3,5,2)); + degrees(inF0); + distance(inF0, inF1); + dot(inF0, inF1); + // EvaluateAttributeAtCentroid(inF0); + // EvaluateAttributeAtSample(inF0, 0); + // TODO: EvaluateAttributeSnapped(inF0, int2(1,2)); + exp(inF0); + exp2(inF0); + faceforward(inF0, inF1, inF2); + firstbithigh(7); + firstbitlow(7); + floor(inF0); + // TODO: fma(inD0, inD1, inD2); + fmod(inF0, inF1); + frac(inF0); + frexp(inF0, inF1); + fwidth(inF0); + isinf(inF0); + isnan(inF0); + ldexp(inF0, inF1); + length(inF0); + log(inF0); + log2(inF0); + max(inF0, inF1); + min(inF0, inF1); + // TODO: mul(inF0, inF1); + normalize(inF0); + pow(inF0, inF1); + radians(inF0); + reflect(inF0, inF1); + refract(inF0, inF1, 2.0); + reversebits(int4(1,2,3,4)); + round(inF0); + rsqrt(inF0); + sign(inF0); + sin(inF0); + sinh(inF0); + smoothstep(inF0, inF1, inF2); + sqrt(inF0); + step(inF0, inF1); + tan(inF0); + tanh(inF0); + // TODO: sampler intrinsics, when we can declare the types. + trunc(inF0); + + // TODO: ... add when float1 prototypes are generated + return float4(1,2,3,4); +} + +// TODO: FXC doesn't accept this with (), but glslang doesn't accept it without. +#define MATFNS() \ + all(inF0); \ + abs(inF0); \ + acos(inF0); \ + any(inF0); \ + asin(inF0); \ + atan(inF0); \ + atan2(inF0, inF1); \ + ceil(inF0); \ + clamp(inF0, inF1, inF2); \ + cos(inF0); \ + cosh(inF0); \ + degrees(inF0); \ + determinant(inF0); \ + exp(inF0); \ + exp2(inF0); \ + firstbithigh(7); \ + firstbitlow(7); \ + floor(inF0); \ + fmod(inF0, inF1); \ + frac(inF0); \ + frexp(inF0, inF1); \ + fwidth(inF0); \ + ldexp(inF0, inF1); \ + log(inF0); \ + log2(inF0); \ + max(inF0, inF1); \ + min(inF0, inF1); \ + pow(inF0, inF1); \ + radians(inF0); \ + round(inF0); \ + rsqrt(inF0); \ + sign(inF0); \ + sin(inF0); \ + sinh(inF0); \ + smoothstep(inF0, inF1, inF2); \ + sqrt(inF0); \ + step(inF0, inF1); \ + tan(inF0); \ + tanh(inF0); \ + transpose(inF0); \ + trunc(inF0); + +// TODO: turn on non-square matrix tests when protos are available. + +float2x2 VertexShaderFunction(float2x2 inF0, float2x2 inF1, float2x2 inF2) +{ + // TODO: FXC doesn't accept this with (), but glslang doesn't accept it without. + MATFNS() + + // TODO: ... add when float1 prototypes are generated + return float2x2(2,2,2,2); +} + +float3x3 VertexShaderFunction(float3x3 inF0, float3x3 inF1, float3x3 inF2) +{ + // TODO: FXC doesn't accept this with (), but glslang doesn't accept it without. + MATFNS() + + // TODO: ... add when float1 prototypes are generated + return float3x3(3,3,3,3,3,3,3,3,3); +} + +float4x4 VertexShaderFunction(float4x4 inF0, float4x4 inF1, float4x4 inF2) +{ + // TODO: FXC doesn't accept this with (), but glslang doesn't accept it without. + MATFNS() + + // TODO: ... add when float1 prototypes are generated + return float4x4(4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4); +} diff --git a/glslang/MachineIndependent/ShaderLang.cpp b/glslang/MachineIndependent/ShaderLang.cpp index 1abb5535..c2b56055 100644 --- a/glslang/MachineIndependent/ShaderLang.cpp +++ b/glslang/MachineIndependent/ShaderLang.cpp @@ -69,9 +69,6 @@ using namespace glslang; // Create a language specific version of parseables. TBuiltInParseables* CreateBuiltInParseables(TInfoSink& infoSink, EShSource source) { - // TODO: hardcode to the GLSL path, until HLSL intrinsics are available. - source = EShSourceGlsl; // REMOVE - switch (source) { case EShSourceGlsl: return new TBuiltIns(); // GLSL builtIns case EShSourceHlsl: return new TBuiltInParseablesHlsl(); // HLSL intrinsics @@ -81,7 +78,7 @@ TBuiltInParseables* CreateBuiltInParseables(TInfoSink& infoSink, EShSource sourc return nullptr; } } - + // Local mapping functions for making arrays of symbol tables.... int MapVersionToIndex(int version) @@ -169,6 +166,9 @@ bool InitializeSymbolTable(const TString& builtIns, int version, EProfile profil builtInShaders[0] = builtIns.c_str(); builtInLengths[0] = builtIns.size(); + if (builtInLengths[0] == 0) + return true; + TInputScanner input(1, builtInShaders, builtInLengths); if (! parseContext.parseShaderStrings(ppContext, input) != 0) { infoSink.info.message(EPrefixInternalError, "Unable to parse built-ins"); @@ -338,7 +338,7 @@ bool DeduceVersionProfile(TInfoSink& infoSink, EShLanguage stage, bool versionNo bool correct = true; if (source == EShSourceHlsl) { - version = defaultVersion; + version = 450; // TODO: GLSL parser is still used for builtins. profile = ENoProfile; return correct; } diff --git a/gtests/Hlsl.FromFile.cpp b/gtests/Hlsl.FromFile.cpp index 1307dae1..b5a38866 100644 --- a/gtests/Hlsl.FromFile.cpp +++ b/gtests/Hlsl.FromFile.cpp @@ -1,5 +1,6 @@ // // Copyright (C) 2016 Google, Inc. +// Copyright (C) 2016 LunarG, Inc. // // All rights reserved. // @@ -79,6 +80,8 @@ INSTANTIATE_TEST_CASE_P( {"hlsl.precedence.frag", "PixelShaderFunction"}, {"hlsl.precedence2.frag", "PixelShaderFunction"}, {"hlsl.sin.frag", "PixelShaderFunction"}, + {"hlsl.intrinsics.frag", "PixelShaderFunction"}, + {"hlsl.intrinsics.vert", "VertexShaderFunction"}, }), FileNameAsCustomTestSuffix ); diff --git a/hlsl/hlslParseables.cpp b/hlsl/hlslParseables.cpp index b29226d2..18f7ca4a 100755 --- a/hlsl/hlslParseables.cpp +++ b/hlsl/hlslParseables.cpp @@ -49,12 +49,165 @@ // #include "hlslParseables.h" +#include +#include + +namespace { // anonymous namespace functions + +const char* BaseTypeName(const char* argOrder, const char* scalarName, const char* vecName, const char* matName) +{ + switch (*argOrder) { + case 'S': return scalarName; + case 'V': return vecName; + case 'M': return matName; + default: return "UNKNOWN_TYPE"; + } +} + +// Create and return a type name. This is done in GLSL, not HLSL conventions, until such +// time as builtins are parsed using the HLSL parser. +// +// order: S = scalar, V = vector, M = matrix +// argType: F = float, D = double, I = int, U = uint, B = bool, S = sampler +// dim0 = vector dimension, or matrix 1st dimension +// dim1 = matrix 2nd dimension +glslang::TString& AppendTypeName(glslang::TString& s, const char* argOrder, const char* argType, int dim0, int dim1) +{ + const bool transpose = (argOrder[0] == '^'); + + // Take transpose of matrix dimensions + if (transpose) { + std::swap(dim0, dim1); + ++argOrder; + } + + switch (*argType) { + case '-': s += "void"; break; + case 'F': s += BaseTypeName(argOrder, "float", "vec", "mat"); break; + case 'D': s += BaseTypeName(argOrder, "double", "dvec", "dmat"); break; + case 'I': s += BaseTypeName(argOrder, "int", "ivec", "imat"); break; + case 'U': s += BaseTypeName(argOrder, "uint", "uvec", "umat"); break; + case 'B': s += BaseTypeName(argOrder, "bool", "bvec", "bmat"); break; + case 'S': s += BaseTypeName(argOrder, "sampler", "sampler", "sampler"); break; // TODO: + default: s += "UNKNOWN_TYPE"; break; + } + + // handle fixed vector sizes, such as float3, and only ever 3. + const int fixedVecSize = isdigit(argOrder[1]) ? (argOrder[1] - '0') : 0; + if (fixedVecSize != 0) + dim0 = dim1 = fixedVecSize; + + // Add sampler dimensions + if (*argType == 'S') { + switch (dim0) { + case 1: s += "1D"; break; + case 2: s += "2D"; break; + case 3: s += "3D"; break; + case 4: s += "Cube"; break; + default: s += "UNKNOWN_SAMPLER"; break; + } + } + + // verify dimensions + if ((*argOrder == 'V' || *argOrder == 'M') && (dim0 < 1 || dim0 > 4) || + (*argOrder == 'M' && (dim1 < 1 || dim1 > 4))) { + s += "UNKNOWN_DIMENSION"; + return s; + } + + switch (*argOrder) { + case '-': break; // no dimensions for voids + case 'S': break; // no dimensions on scalars + case 'V': s += ('0' + dim0); break; + case 'M': s += ('0' + dim0); s += 'x'; s += ('0' + dim1); break; + } + + return s; +} + +// TODO: the GLSL parser is currently used to parse HLSL prototypes. However, many valid HLSL prototypes +// are not valid GLSL prototypes. This rejects the invalid ones. Thus, there is a single switch below +// to enable creation of the entire HLSL space. +inline bool IsValidGlsl(const char* cname, char retOrder, char retType, char argOrder, char argType, + int dim0, int dim1, int dim0Max, int dim1Max) +{ + const bool isVec = dim0Max > 1 || argType == 'V'; + const bool isMat = dim1Max > 1 || argType == 'M'; + + if (argType == 'D' || // avoid double args + retType == 'D' || // avoid double return + (isVec && dim0 == 1) || // avoid vec1 + (isMat && dim0 == 1 && dim1 == 1)) // avoid mat1x1 + return false; + + const std::string name(cname); // for ease of comparison. slow, but temporary, until HLSL parser is online. + + if (isMat && dim0 != dim1) // TODO: avoid mats until we find the right GLSL profile + return false; + + if (isMat && (argType == 'I' || argType == 'U' || argType == 'B') || + retOrder == 'M' && (retType == 'I' || retType == 'U' || retType == 'B')) + return false; + + if (name == "GetRenderTargetSamplePosition" || + name == "tex1D" || + name == "tex1Dgrad") + return false; + + return true; +} + + +// Return true for the end of a single argument key, which can be the end of the string, or +// the comma separator. +inline bool IsEndOfArg(const char* arg) +{ + return arg == nullptr || *arg == '\0' || *arg == ','; +} + + +// return position of end of argument specifier +inline const char* FindEndOfArg(const char* arg) +{ + while (!IsEndOfArg(arg)) + ++arg; + + return *arg == '\0' ? nullptr : arg; +} + + +// Return pointer to beginning of Nth argument specifier in the string. +inline const char* NthArg(const char* arg, int n) +{ + for (int x=0; x 0) // handle fixed sized vectors + dim0Min = dim0Max = fixedVecSize; +} + +} // end anonymous namespace namespace glslang { TBuiltInParseablesHlsl::TBuiltInParseablesHlsl() { - assert(0 && "Unimplemented TBuiltInParseablesHlsl::TBuiltInParseablesHlsl"); } // @@ -67,7 +220,268 @@ TBuiltInParseablesHlsl::TBuiltInParseablesHlsl() // void TBuiltInParseablesHlsl::initialize(int version, EProfile profile, int spv, int vulkan) { - assert(0 && "Unimplemented TBuiltInParseablesHlsl::initialize"); + static const EShLanguageMask EShLangAll = EShLanguageMask(EShLangCount - 1); + + // This structure encodes the prototype information for each HLSL intrinsic. + // Because explicit enumeration would be cumbersome, it's procedurally generated. + // orderKey can be: + // S = scalar, V = vector, M = matrix, - = void + // typekey can be: + // D = double, F = float, U = uint, I = int, B = bool, S = sampler, - = void + // An empty order or type key repeats the first one. E.g: SVM,, means 3 args each of SVM. + // '>' as first letter of order creates an output paremeter + // '<' as first letter of order creates an input paremeter + // '^' as first letter of order takes transpose dimensions + + static const struct { + const char* name; // intrinsic name + const char* retOrder; // return type key: empty matches order of 1st argument + const char* retType; // return type key: empty matches type of 1st argument + const char* argOrder; // argument order key + const char* argType; // argument type key + unsigned int stage; // stage mask + } hlslIntrinsics[] = { + // name retOrd retType argOrder argType stage mask + // ----------------------------------------------------------------------------------------------- + { "abort", nullptr, nullptr, "-", "-", EShLangAll }, + { "abs", nullptr, nullptr, "SVM", "DFUI", EShLangAll }, + { "acos", nullptr, nullptr, "SVM", "F", EShLangAll }, + { "all", "S", "B", "SVM", "BFI", EShLangAll }, + { "AllMemoryBarrier", nullptr, nullptr, "-", "-", EShLangComputeMask }, + { "AllMemoryBarrierWithGroupSync", nullptr, nullptr, "-", "-", EShLangComputeMask }, + { "any", "S", "B", "SVM", "BFI", EShLangAll }, + { "asdouble", "S", "D", "S,", "U,", EShLangAll }, + { "asdouble", "V2", "D", "V2,", "U,", EShLangAll }, + { "asfloat", nullptr, "F", "SVM", "BFIU", EShLangAll }, + { "asin", nullptr, nullptr, "SVM", "F", EShLangAll }, + { "asint", nullptr, "I", "SVM", "FU", EShLangAll }, + { "asuint", nullptr, "U", "SVM", "FU", EShLangAll }, + { "atan", nullptr, nullptr, "SVM", "F", EShLangAll }, + { "atan2", nullptr, nullptr, "SVM,", "F,", EShLangAll }, + { "ceil", nullptr, nullptr, "SVM", "F", EShLangAll }, + { "CheckAccessFullyMapped", "S", "B" , "S", "U", EShLangFragmentMask | EShLangComputeMask }, + { "clamp", nullptr, nullptr, "SVM,,", "FUI,,", EShLangAll }, + { "clip", "-", "-", "SVM", "F", EShLangFragmentMask }, + { "cos", nullptr, nullptr, "SVM", "F", EShLangAll }, + { "cosh", nullptr, nullptr, "SVM", "F", EShLangAll }, + { "countbits", nullptr, nullptr, "SV", "U", EShLangAll }, + { "cross", nullptr, nullptr, "V3,", "F,", EShLangAll }, + { "D3DCOLORtoUBYTE4", "V4", "I", "V4", "F", EShLangAll }, + { "ddx", nullptr, nullptr, "SVM", "F", EShLangFragmentMask }, + { "ddx_coarse", nullptr, nullptr, "SVM", "F", EShLangFragmentMask }, + { "ddx_fine", nullptr, nullptr, "SVM", "F", EShLangFragmentMask }, + { "ddy", nullptr, nullptr, "SVM", "F", EShLangFragmentMask }, + { "ddy_coarse", nullptr, nullptr, "SVM", "F", EShLangFragmentMask }, + { "ddy_fine", nullptr, nullptr, "SVM", "F", EShLangFragmentMask }, + { "degrees", nullptr, nullptr, "SVM", "F", EShLangAll }, + { "determinant", "S", "F", "M", "F", EShLangAll }, + { "DeviceMemoryBarrier", nullptr, nullptr, "-", "-", EShLangFragmentMask | EShLangComputeMask }, + { "DeviceMemoryBarrierWithGroupSync", nullptr, nullptr, "-", "-", EShLangComputeMask }, + { "distance", "S", "F", "V,", "F,", EShLangAll }, + { "dot", "S", nullptr, "V,", "FI,", EShLangAll }, + { "dst", nullptr, nullptr, "V,", "F,", EShLangAll }, + // { "errorf", "-", "-", "", "", EShLangAll }, TODO: varargs + { "EvaluateAttributeAtCentroid", nullptr, nullptr, "SVM", "F", EShLangFragmentMask }, + { "EvaluateAttributeAtSample", nullptr, nullptr, "SVM,S", "F,U", EShLangFragmentMask }, + { "EvaluateAttributeSnapped", nullptr, nullptr, "SVM,V2", "F,F", EShLangFragmentMask }, + { "exp", nullptr, nullptr, "SVM", "F", EShLangAll }, + { "exp2", nullptr, nullptr, "SVM", "F", EShLangAll }, + { "f16tof32", nullptr, "F", "SV", "U", EShLangAll }, + { "f32tof16", nullptr, "U", "SV", "F", EShLangAll }, + { "faceforward", nullptr, nullptr, "V,,", "F,,", EShLangAll }, + { "firstbithigh", nullptr, nullptr, "SV", "UI", EShLangAll }, + { "firstbitlow", nullptr, nullptr, "SV", "UI", EShLangAll }, + { "floor", nullptr, nullptr, "SVM", "F", EShLangAll }, + { "fma", nullptr, nullptr, "SVM,,", "D,,", EShLangAll }, + { "fmod", nullptr, nullptr, "SVM,", "F,", EShLangAll }, + { "frac", nullptr, nullptr, "SVM", "F", EShLangAll }, + { "frexp", nullptr, nullptr, "SVM,", "F,", EShLangAll }, + { "fwidth", nullptr, nullptr, "SVM", "F", EShLangAll }, + { "GetRenderTargetSampleCount", "S", "U", "-", "-", EShLangAll }, + { "GetRenderTargetSamplePosition", "V2", "F", "V1", "I", EShLangAll }, + { "GroupMemoryBarrier", nullptr, nullptr, "-", "-", EShLangComputeMask }, + { "GroupMemoryBarrierWithGroupSync", nullptr, nullptr, "-", "-", EShLangComputeMask }, + { "InterlockedAdd", "-", "-", "SVM,,>", "UI,,", EShLangFragmentMask | EShLangComputeMask }, + { "InterlockedAnd", "-", "-", "SVM,,>", "UI,,", EShLangFragmentMask | EShLangComputeMask }, + { "InterlockedCompareExchange", "-", "-", "SVM,,,>", "UI,,,", EShLangFragmentMask | EShLangComputeMask }, + { "InterlockedCompareStore", "-", "-", "SVM,,", "UI,,", EShLangFragmentMask | EShLangComputeMask }, + { "InterlockedExchange", "-", "-", "SVM,,>", "UI,,", EShLangFragmentMask | EShLangComputeMask }, + { "InterlockedMax", "-", "-", "SVM,,>", "UI,,", EShLangFragmentMask | EShLangComputeMask }, + { "InterlockedMin", "-", "-", "SVM,,>", "UI,,", EShLangFragmentMask | EShLangComputeMask }, + { "InterlockedOr", "-", "-", "SVM,,>", "UI,,", EShLangFragmentMask | EShLangComputeMask }, + { "InterlockedXor", "-", "-", "SVM,,>", "UI,,", EShLangFragmentMask | EShLangComputeMask }, + { "isfinite", nullptr, "B" , "SVM", "F", EShLangAll }, + { "isinf", nullptr, "B" , "SVM", "F", EShLangAll }, + { "isnan", nullptr, "B" , "SVM", "F", EShLangAll }, + { "ldexp", nullptr, nullptr, "SVM,", "F,", EShLangAll }, + { "length", "S", "F", "V", "F", EShLangAll }, + { "lit", "V4", "F", "S,,", "F,,", EShLangAll }, + { "log", nullptr, nullptr, "SVM", "F", EShLangAll }, + { "log10", nullptr, nullptr, "SVM", "F", EShLangAll }, + { "log2", nullptr, nullptr, "SVM", "F", EShLangAll }, + { "mad", nullptr, nullptr, "SVM,,", "DFUI,,", EShLangAll }, + { "max", nullptr, nullptr, "SVM,", "FI,", EShLangAll }, + { "min", nullptr, nullptr, "SVM,", "FI,", EShLangAll }, + { "modf", nullptr, nullptr, "SVM,>", "FI,", EShLangAll }, + { "msad4", "V4", "U", "S,V2,V4", "U,,", EShLangAll }, + { "mul", "S", nullptr, "S,S", "FI,", EShLangAll }, + { "mul", "V", nullptr, "S,V", "FI,", EShLangAll }, + { "mul", "M", nullptr, "S,M", "FI,", EShLangAll }, + { "mul", "V", nullptr, "V,S", "FI,", EShLangAll }, + { "mul", "S", nullptr, "V,V", "FI,", EShLangAll }, + { "mul", "V", nullptr, "V,M", "FI,", EShLangAll }, + { "mul", "M", nullptr, "M,S", "FI,", EShLangAll }, + { "mul", "V", nullptr, "M,V", "FI,", EShLangAll }, + { "mul", "M", nullptr, "M,M", "FI,", EShLangAll }, + { "noise", "S", "F", "V", "F", EShLangFragmentMask }, + { "normalize", nullptr, nullptr, "V", "F", EShLangAll }, + { "pow", nullptr, nullptr, "SVM,", "F,", EShLangAll }, + // { "printf", "-", "-", "", "", EShLangAll }, TODO: varargs + { "Process2DQuadTessFactorsAvg", "-", "-", "V4,V2,>V4,>V2,>V2", "F,,,,", EShLangTessControlMask }, + { "Process2DQuadTessFactorsMax", "-", "-", "V4,V2,>V4,>V2,>V2", "F,,,,", EShLangTessControlMask }, + { "Process2DQuadTessFactorsMin", "-", "-", "V4,V2,>V4,>V2,>V2", "F,,,,", EShLangTessControlMask }, + { "ProcessIsolineTessFactors", "-", "-", "S,,>,>", "F,,,", EShLangTessControlMask }, + { "ProcessQuadTessFactorsAvg", "-", "-", "V4,S,>V4,>V2,>V2", "F,,,,", EShLangTessControlMask }, + { "ProcessQuadTessFactorsMax", "-", "-", "V4,S,>V4,>V2,>V2", "F,,,,", EShLangTessControlMask }, + { "ProcessQuadTessFactorsMin", "-", "-", "V4,S,>V4,>V2,>V2", "F,,,,", EShLangTessControlMask }, + { "ProcessTriTessFactorsAvg", "-", "-", "V3,S,>V3,>S,>S", "F,,,,", EShLangTessControlMask }, + { "ProcessTriTessFactorsMax", "-", "-", "V3,S,>V3,>S,>S", "F,,,,", EShLangTessControlMask }, + { "ProcessTriTessFactorsMin", "-", "-", "V3,S,>V3,>S,>S", "F,,,,", EShLangTessControlMask }, + { "radians", nullptr, nullptr, "SVM", "F", EShLangAll }, + { "rcp", nullptr, nullptr, "SVM", "FD", EShLangAll }, + { "reflect", nullptr, nullptr, "V,", "F,", EShLangAll }, + { "refract", nullptr, nullptr, "V,V,S", "F,,", EShLangAll }, + { "reversebits", nullptr, nullptr, "SV", "U", EShLangAll }, + { "round", nullptr, nullptr, "SVM", "F", EShLangAll }, + { "rsqrt", nullptr, nullptr, "SVM", "F", EShLangAll }, + { "saturate", nullptr, nullptr , "SVM", "F", EShLangAll }, + { "sign", nullptr, nullptr, "SVM", "FI", EShLangAll }, + { "sin", nullptr, nullptr, "SVM", "F", EShLangAll }, + { "sincos", "-", "-", "SVM,>,>", "F,,", EShLangAll }, + { "sinh", nullptr, nullptr, "SVM", "F", EShLangAll }, + { "smoothstep", nullptr, nullptr, "SVM,,", "F,,", EShLangAll }, + { "sqrt", nullptr, nullptr, "SVM", "F", EShLangAll }, + { "step", nullptr, nullptr, "SVM,", "F,", EShLangAll }, + { "tan", nullptr, nullptr, "SVM", "F", EShLangAll }, + { "tanh", nullptr, nullptr, "SVM", "F", EShLangAll }, + { "tex1D", "V4", "F", "S1,S", "S,F", EShLangFragmentMask }, + { "tex1D", "V4", "F", "S1,S,V1,V1", "S,F,F,F",EShLangFragmentMask }, + { "tex1Dbias", "V4", "F", "S1,V4", "S,F", EShLangFragmentMask }, + { "tex1Dgrad", "V4", "F", "S1,V1,V1,V1","S,F,F,F",EShLangFragmentMask }, + { "tex1Dlod", "V4", "F", "S1,V4", "S,F", EShLangFragmentMask }, + { "tex1Dproj", "V4", "F", "S1,V4", "S,F", EShLangFragmentMask }, + { "tex2D", "V4", "F", "S2,V2", "S,F", EShLangFragmentMask }, + { "tex2D", "V4", "F", "S2,V2,V2,V2","S,F,F,F",EShLangFragmentMask }, + { "tex2Dbias", "V4", "F", "S2,V4", "S,F", EShLangFragmentMask }, + { "tex2Dgrad", "V4", "F", "S2,V2,V2,V2","S,F,F,F",EShLangFragmentMask }, + { "tex2Dlod", "V4", "F", "S2,V4", "S,F", EShLangFragmentMask }, + { "tex2Dproj", "V4", "F", "S2,V4", "S,F", EShLangFragmentMask }, + { "tex3D", "V4", "F", "S3,V3", "S,F", EShLangFragmentMask }, + { "tex3D", "V4", "F", "S3,V3,V3,V3","S,F,F,F",EShLangFragmentMask }, + { "tex3Dbias", "V4", "F", "S3,V4", "S,F", EShLangFragmentMask }, + { "tex3Dgrad", "V4", "F", "S3,V3,V3,V3","S,F,F,F",EShLangFragmentMask }, + { "tex3Dlod", "V4", "F", "S3,V4", "S,F", EShLangFragmentMask }, + { "tex3Dproj", "V4", "F", "S3,V4", "S,F", EShLangFragmentMask }, + { "texCUBE", "V4", "F", "S4,V3", "S,F", EShLangFragmentMask }, + { "texCUBE", "V4", "F", "S4,V3,V3,V3","S,F,F,F",EShLangFragmentMask }, + { "texCUBEbias", "V4", "F", "S4,V4", "S,F", EShLangFragmentMask }, + { "texCUBEgrad", "V4", "F", "S4,V3,V3,V3","S,F,F,F",EShLangFragmentMask }, + { "texCUBElod", "V4", "F", "S4,V4", "S,F", EShLangFragmentMask }, + { "texCUBEproj", "V4", "F", "S4,V4", "S,F", EShLangFragmentMask }, + { "transpose", "^M", nullptr, "M", "F", EShLangAll }, + { "trunc", nullptr, nullptr, "SVM", "F", EShLangAll }, + + // Mark end of list, since we want to avoid a range-based for, as some compilers don't handle it yet. + { nullptr, nullptr, nullptr, nullptr, nullptr, 0 }, + }; + + // Set this to true to avoid generating prototypes that will be invalid for the GLSL parser. + // TODO: turn it off (and remove the code) when the HLSL parser can be used to parse builtins. + static const bool skipInvalidGlsl = true; + + // Create prototypes for the intrinsics. TODO: Avoid ranged based for until all compilers can handle it. + for (int icount = 0; hlslIntrinsics[icount].name; ++icount) { + const auto& intrinsic = hlslIntrinsics[icount]; + + for (int stage = 0; stage < EShLangCount; ++stage) { // for each stage... + if ((intrinsic.stage & (1< 0 ? ", ": ""); // comma separator if needed + + if (*nthArgOrder == '>') { // output params + ++nthArgOrder; + s.append("out "); + } else if (*nthArgOrder == '<') { // input params + ++nthArgOrder; + s.append("in "); + } + + // Comma means use the 1st argument order and type. + if (*nthArgOrder == ',' || *nthArgOrder == '\0') nthArgOrder = argOrder; + if (*nthArgType == ',' || *nthArgType == '\0') nthArgType = argType; + + AppendTypeName(s, nthArgOrder, nthArgType, dim0, dim1); // Add first argument + } + + s.append(");\n"); // close paren and trailing semicolon + } + } + } + + if (fixedVecSize > 0) // skip over number for fixed size vectors + ++argOrder; + } + + if (intrinsic.stage == EShLangAll) // common builtins are only added once. + break; + } + } + + // printf("Common:\n%s\n", getCommonString().c_str()); + // printf("Frag:\n%s\n", getStageString(EShLangFragment).c_str()); + // printf("Vertex:\n%s\n", getStageString(EShLangVertex).c_str()); + // printf("Geo:\n%s\n", getStageString(EShLangGeometry).c_str()); + // printf("TessCtrl:\n%s\n", getStageString(EShLangTessControl).c_str()); + // printf("TessEval:\n%s\n", getStageString(EShLangTessEvaluation).c_str()); + // printf("Compute:\n%s\n", getStageString(EShLangCompute).c_str()); } // @@ -80,7 +494,6 @@ void TBuiltInParseablesHlsl::initialize(int version, EProfile profile, int spv, void TBuiltInParseablesHlsl::initialize(const TBuiltInResource &resources, int version, EProfile profile, int spv, int vulkan, EShLanguage language) { - assert(0 && "Unimplemented TBuiltInParseablesHlsl::initialize"); } @@ -95,7 +508,140 @@ void TBuiltInParseablesHlsl::initialize(const TBuiltInResource &resources, int v void TBuiltInParseablesHlsl::identifyBuiltIns(int version, EProfile profile, int spv, int vulkan, EShLanguage language, TSymbolTable& symbolTable) { - assert(0 && "Unimplemented TBuiltInParseablesHlsl::identifyBuiltIns"); + // symbolTable.relateToOperator("abort"); + symbolTable.relateToOperator("abs", EOpAbs); + symbolTable.relateToOperator("acos", EOpAcos); + symbolTable.relateToOperator("all", EOpAll); + // symbolTable.relateToOperator("AllMemoryBarrier"); + // symbolTable.relateToOperator("AllMemoryBarrierWithGroupSync"); + symbolTable.relateToOperator("any", EOpAny); + // symbolTable.relateToOperator("asdouble"); + // symbolTable.relateToOperator("asfloat"); + symbolTable.relateToOperator("asin", EOpAsin); + // symbolTable.relateToOperator("asint"); + // symbolTable.relateToOperator("asuint"); + symbolTable.relateToOperator("atan", EOpAtan); + symbolTable.relateToOperator("atan2", EOpAtan); + symbolTable.relateToOperator("ceil", EOpCeil); + // symbolTable.relateToOperator("CheckAccessFullyMapped"); + symbolTable.relateToOperator("clamp", EOpClamp); + // symbolTable.relateToOperator("clip"); + symbolTable.relateToOperator("cos", EOpCos); + symbolTable.relateToOperator("cosh", EOpCosh); + symbolTable.relateToOperator("countbits", EOpBitCount); + symbolTable.relateToOperator("cross", EOpCross); + // symbolTable.relateToOperator("D3DCOLORtoUBYTE4"); + symbolTable.relateToOperator("ddx", EOpDPdx); + symbolTable.relateToOperator("ddx_coarse", EOpDPdxCoarse); + symbolTable.relateToOperator("ddx_fine", EOpDPdxFine); + symbolTable.relateToOperator("ddy", EOpDPdy); + symbolTable.relateToOperator("ddy_coarse", EOpDPdyCoarse); + symbolTable.relateToOperator("ddy_fine", EOpDPdyFine); + symbolTable.relateToOperator("degrees", EOpDegrees); + symbolTable.relateToOperator("determinant", EOpDeterminant); + // symbolTable.relateToOperator("DeviceMemoryBarrier"); + // symbolTable.relateToOperator("DeviceMemoryBarrierWithGroupSync"); + symbolTable.relateToOperator("distance", EOpDistance); + symbolTable.relateToOperator("dot", EOpDot); + // symbolTable.relateToOperator("dst"); + // symbolTable.relateToOperator("errorf"); + symbolTable.relateToOperator("EvaluateAttributeAtCentroid", EOpInterpolateAtCentroid); + symbolTable.relateToOperator("EvaluateAttributeAtSample", EOpInterpolateAtSample); + // symbolTable.relateToOperator("EvaluateAttributeSnapped"); // TODO: hsnflr positions. new op? + symbolTable.relateToOperator("exp", EOpExp); + symbolTable.relateToOperator("exp2", EOpExp2); + // symbolTable.relateToOperator("f16tof32"); + // symbolTable.relateToOperator("f32tof16"); + symbolTable.relateToOperator("faceforward", EOpFaceForward); + symbolTable.relateToOperator("firstbithigh", EOpFindMSB); + symbolTable.relateToOperator("firstbitlow", EOpFindLSB); + symbolTable.relateToOperator("floor", EOpFloor); + symbolTable.relateToOperator("fma", EOpFma); + // symbolTable.relateToOperator("fmod"); + symbolTable.relateToOperator("frac", EOpFract); + symbolTable.relateToOperator("frexp", EOpFrexp); + symbolTable.relateToOperator("fwidth", EOpFwidth); + // symbolTable.relateToOperator("GetRenderTargetSampleCount"); + // symbolTable.relateToOperator("GetRenderTargetSamplePosition"); + // symbolTable.relateToOperator("GroupMemoryBarrier"); + // symbolTable.relateToOperator("GroupMemoryBarrierWithGroupSync"); + // symbolTable.relateToOperator("InterlockedAdd"); + // symbolTable.relateToOperator("InterlockedAnd"); + // symbolTable.relateToOperator("InterlockedCompareExchange"); + // symbolTable.relateToOperator("InterlockedCompareStore"); + // symbolTable.relateToOperator("InterlockedExchange"); + // symbolTable.relateToOperator("InterlockedMax"); + // symbolTable.relateToOperator("InterlockedMin"); + // symbolTable.relateToOperator("InterlockedOr"); + // symbolTable.relateToOperator("InterlockedXor"); + // symbolTable.relateToOperator("isfinite"); + symbolTable.relateToOperator("isinf", EOpIsInf); + symbolTable.relateToOperator("isnan", EOpIsNan); + symbolTable.relateToOperator("ldexp", EOpLdexp); + symbolTable.relateToOperator("length", EOpLength); + // symbolTable.relateToOperator("lit"); + symbolTable.relateToOperator("log", EOpLog); + // symbolTable.relateToOperator("log10"); + symbolTable.relateToOperator("log2", EOpLog2); + // symbolTable.relateToOperator("mad"); + symbolTable.relateToOperator("max", EOpMax); + symbolTable.relateToOperator("min", EOpMin); + symbolTable.relateToOperator("modf", EOpModf); + // symbolTable.relateToOperator("msad4"); + // symbolTable.relateToOperator("mul"); + // symbolTable.relateToOperator("noise", EOpNoise); // TODO: check return type + symbolTable.relateToOperator("normalize", EOpNormalize); + symbolTable.relateToOperator("pow", EOpPow); + // symbolTable.relateToOperator("printf"); + // symbolTable.relateToOperator("Process2DQuadTessFactorsAvg"); + // symbolTable.relateToOperator("Process2DQuadTessFactorsMax"); + // symbolTable.relateToOperator("Process2DQuadTessFactorsMin"); + // symbolTable.relateToOperator("ProcessIsolineTessFactors"); + // symbolTable.relateToOperator("ProcessQuadTessFactorsAvg"); + // symbolTable.relateToOperator("ProcessQuadTessFactorsMax"); + // symbolTable.relateToOperator("ProcessQuadTessFactorsMin"); + // symbolTable.relateToOperator("ProcessTriTessFactorsAvg"); + // symbolTable.relateToOperator("ProcessTriTessFactorsMax"); + // symbolTable.relateToOperator("ProcessTriTessFactorsMin"); + symbolTable.relateToOperator("radians", EOpRadians); + // symbolTable.relateToOperator("rcp"); + symbolTable.relateToOperator("reflect", EOpReflect); + symbolTable.relateToOperator("refract", EOpRefract); + symbolTable.relateToOperator("reversebits", EOpBitFieldReverse); + symbolTable.relateToOperator("round", EOpRoundEven); + symbolTable.relateToOperator("rsqrt", EOpInverseSqrt); + // symbolTable.relateToOperator("saturate"); + symbolTable.relateToOperator("sign", EOpSign); + symbolTable.relateToOperator("sin", EOpSin); + // symbolTable.relateToOperator("sincos"); + symbolTable.relateToOperator("sinh", EOpSinh); + symbolTable.relateToOperator("smoothstep", EOpSmoothStep); + symbolTable.relateToOperator("sqrt", EOpSqrt); + symbolTable.relateToOperator("step", EOpStep); + symbolTable.relateToOperator("tan", EOpTan); + symbolTable.relateToOperator("tanh", EOpTanh); + symbolTable.relateToOperator("tex1D", EOpTexture); + // symbolTable.relateToOperator("tex1Dbias", // TODO: + symbolTable.relateToOperator("tex1Dgrad", EOpTextureGrad); + symbolTable.relateToOperator("tex1Dlod", EOpTextureLod); + symbolTable.relateToOperator("tex1Dproj", EOpTextureProj); + symbolTable.relateToOperator("tex2D", EOpTexture); + // symbolTable.relateToOperator("tex2Dbias", // TODO: + symbolTable.relateToOperator("tex2Dgrad", EOpTextureGrad); + symbolTable.relateToOperator("tex2Dlod", EOpTextureLod); + // symbolTable.relateToOperator("tex2Dproj", EOpTextureProj); + symbolTable.relateToOperator("tex3D", EOpTexture); + // symbolTable.relateToOperator("tex3Dbias"); // TODO + symbolTable.relateToOperator("tex3Dgrad", EOpTextureGrad); + symbolTable.relateToOperator("tex3Dlod", EOpTextureLod); + // symbolTable.relateToOperator("tex3Dproj", EOpTextureProj); + symbolTable.relateToOperator("texCUBE", EOpTexture); + // symbolTable.relateToOperator("texCUBEbias", // TODO + symbolTable.relateToOperator("texCUBEgrad", EOpTextureGrad); + symbolTable.relateToOperator("texCUBElod", EOpTextureLod); + // symbolTable.relateToOperator("texCUBEproj", EOpTextureProj); + symbolTable.relateToOperator("transpose", EOpTranspose); + symbolTable.relateToOperator("trunc", EOpTrunc); } // @@ -110,7 +656,6 @@ void TBuiltInParseablesHlsl::identifyBuiltIns(int version, EProfile profile, int void TBuiltInParseablesHlsl::identifyBuiltIns(int version, EProfile profile, int spv, int /*vulkan*/, EShLanguage language, TSymbolTable& symbolTable, const TBuiltInResource &resources) { - assert(0 && "Unimplemented TBuiltInParseablesHlsl::identifyBuiltIns"); }