diff --git a/Test/baseResults/hlsl.intrinsics.frag.out b/Test/baseResults/hlsl.intrinsics.frag.out index ba3cb537..23297e9c 100644 --- a/Test/baseResults/hlsl.intrinsics.frag.out +++ b/Test/baseResults/hlsl.intrinsics.frag.out @@ -1140,80 +1140,80 @@ gl_FragCoord origin is upper left 0:? 3.000000 0:260 Function Definition: PixelShaderFunction(vf4;vf4;vf4;vu4;vu4; (global 4-component vector of float) 0:260 Function Parameters: -0:260 'inF0' (layout(location=0 ) in 4-component vector of float) -0:260 'inF1' (layout(location=1 ) in 4-component vector of float) -0:260 'inF2' (layout(location=2 ) in 4-component vector of float) -0:260 'inU0' (layout(location=3 ) in 4-component vector of uint) -0:260 'inU1' (layout(location=4 ) in 4-component vector of uint) +0:260 'inF0' (in 4-component vector of float) +0:260 'inF1' (in 4-component vector of float) +0:260 'inF2' (in 4-component vector of float) +0:260 'inU0' (in 4-component vector of uint) +0:260 'inU1' (in 4-component vector of uint) 0:? Sequence 0:263 Sequence 0:263 move second child to first child (temp bool) 0:263 'r000' (temp bool) 0:263 all (global bool) -0:263 'inF0' (layout(location=0 ) in 4-component vector of float) +0:263 'inF0' (in 4-component vector of float) 0:264 Sequence 0:264 move second child to first child (temp 4-component vector of float) 0:264 'r001' (temp 4-component vector of float) 0:264 Absolute value (global 4-component vector of float) -0:264 'inF0' (layout(location=0 ) in 4-component vector of float) +0:264 'inF0' (in 4-component vector of float) 0:265 Sequence 0:265 move second child to first child (temp 4-component vector of float) 0:265 'r002' (temp 4-component vector of float) 0:265 arc cosine (global 4-component vector of float) -0:265 'inF0' (layout(location=0 ) in 4-component vector of float) +0:265 'inF0' (in 4-component vector of float) 0:266 Sequence 0:266 move second child to first child (temp bool) 0:266 'r003' (temp bool) 0:266 any (global bool) -0:266 'inF0' (layout(location=0 ) in 4-component vector of float) +0:266 'inF0' (in 4-component vector of float) 0:267 Sequence 0:267 move second child to first child (temp 4-component vector of float) 0:267 'r004' (temp 4-component vector of float) 0:267 arc sine (global 4-component vector of float) -0:267 'inF0' (layout(location=0 ) in 4-component vector of float) +0:267 'inF0' (in 4-component vector of float) 0:268 Sequence 0:268 move second child to first child (temp 4-component vector of int) 0:268 'r005' (temp 4-component vector of int) 0:268 floatBitsToInt (global 4-component vector of int) -0:268 'inF0' (layout(location=0 ) in 4-component vector of float) +0:268 'inF0' (in 4-component vector of float) 0:269 Sequence 0:269 move second child to first child (temp 4-component vector of uint) 0:269 'r006' (temp 4-component vector of uint) 0:269 floatBitsToUint (global 4-component vector of uint) -0:269 'inF0' (layout(location=0 ) in 4-component vector of float) +0:269 'inF0' (in 4-component vector of float) 0:270 Sequence 0:270 move second child to first child (temp 4-component vector of float) 0:270 'r007' (temp 4-component vector of float) 0:270 intBitsToFloat (global 4-component vector of float) -0:270 'inU0' (layout(location=3 ) in 4-component vector of uint) +0:270 'inU0' (in 4-component vector of uint) 0:272 Sequence 0:272 move second child to first child (temp 4-component vector of float) 0:272 'r009' (temp 4-component vector of float) 0:272 arc tangent (global 4-component vector of float) -0:272 'inF0' (layout(location=0 ) in 4-component vector of float) +0:272 'inF0' (in 4-component vector of float) 0:273 Sequence 0:273 move second child to first child (temp 4-component vector of float) 0:273 'r010' (temp 4-component vector of float) 0:273 arc tangent (global 4-component vector of float) -0:273 'inF0' (layout(location=0 ) in 4-component vector of float) -0:273 'inF1' (layout(location=1 ) in 4-component vector of float) +0:273 'inF0' (in 4-component vector of float) +0:273 'inF1' (in 4-component vector of float) 0:274 Sequence 0:274 move second child to first child (temp 4-component vector of float) 0:274 'r011' (temp 4-component vector of float) 0:274 Ceiling (global 4-component vector of float) -0:274 'inF0' (layout(location=0 ) in 4-component vector of float) +0:274 'inF0' (in 4-component vector of float) 0:275 Sequence 0:275 move second child to first child (temp 4-component vector of float) 0:275 'r012' (temp 4-component vector of float) 0:275 clamp (global 4-component vector of float) -0:275 'inF0' (layout(location=0 ) in 4-component vector of float) -0:275 'inF1' (layout(location=1 ) in 4-component vector of float) -0:275 'inF2' (layout(location=2 ) in 4-component vector of float) +0:275 'inF0' (in 4-component vector of float) +0:275 'inF1' (in 4-component vector of float) +0:275 'inF2' (in 4-component vector of float) 0:276 Test condition and select (temp void) 0:276 Condition 0:276 any (temp bool) 0:276 Compare Less Than (temp 4-component vector of bool) -0:276 'inF0' (layout(location=0 ) in 4-component vector of float) +0:276 'inF0' (in 4-component vector of float) 0:276 Constant: 0:276 0.000000 0:276 0.000000 @@ -1225,12 +1225,12 @@ gl_FragCoord origin is upper left 0:277 move second child to first child (temp 4-component vector of float) 0:277 'r013' (temp 4-component vector of float) 0:277 cosine (global 4-component vector of float) -0:277 'inF0' (layout(location=0 ) in 4-component vector of float) +0:277 'inF0' (in 4-component vector of float) 0:278 Sequence 0:278 move second child to first child (temp 4-component vector of float) 0:278 'r014' (temp 4-component vector of float) 0:278 hyp. cosine (global 4-component vector of float) -0:278 'inF0' (layout(location=0 ) in 4-component vector of float) +0:278 'inF0' (in 4-component vector of float) 0:279 Sequence 0:279 move second child to first child (temp 4-component vector of uint) 0:279 'r015' (temp 4-component vector of uint) @@ -1244,49 +1244,49 @@ gl_FragCoord origin is upper left 0:280 move second child to first child (temp 4-component vector of float) 0:280 'r016' (temp 4-component vector of float) 0:280 dPdx (global 4-component vector of float) -0:280 'inF0' (layout(location=0 ) in 4-component vector of float) +0:280 'inF0' (in 4-component vector of float) 0:281 Sequence 0:281 move second child to first child (temp 4-component vector of float) 0:281 'r017' (temp 4-component vector of float) 0:281 dPdxCoarse (global 4-component vector of float) -0:281 'inF0' (layout(location=0 ) in 4-component vector of float) +0:281 'inF0' (in 4-component vector of float) 0:282 Sequence 0:282 move second child to first child (temp 4-component vector of float) 0:282 'r018' (temp 4-component vector of float) 0:282 dPdxFine (global 4-component vector of float) -0:282 'inF0' (layout(location=0 ) in 4-component vector of float) +0:282 'inF0' (in 4-component vector of float) 0:283 Sequence 0:283 move second child to first child (temp 4-component vector of float) 0:283 'r019' (temp 4-component vector of float) 0:283 dPdy (global 4-component vector of float) -0:283 'inF0' (layout(location=0 ) in 4-component vector of float) +0:283 'inF0' (in 4-component vector of float) 0:284 Sequence 0:284 move second child to first child (temp 4-component vector of float) 0:284 'r020' (temp 4-component vector of float) 0:284 dPdyCoarse (global 4-component vector of float) -0:284 'inF0' (layout(location=0 ) in 4-component vector of float) +0:284 'inF0' (in 4-component vector of float) 0:285 Sequence 0:285 move second child to first child (temp 4-component vector of float) 0:285 'r021' (temp 4-component vector of float) 0:285 dPdyFine (global 4-component vector of float) -0:285 'inF0' (layout(location=0 ) in 4-component vector of float) +0:285 'inF0' (in 4-component vector of float) 0:286 Sequence 0:286 move second child to first child (temp 4-component vector of float) 0:286 'r022' (temp 4-component vector of float) 0:286 degrees (global 4-component vector of float) -0:286 'inF0' (layout(location=0 ) in 4-component vector of float) +0:286 'inF0' (in 4-component vector of float) 0:287 Sequence 0:287 move second child to first child (temp float) 0:287 'r023' (temp float) 0:287 distance (global float) -0:287 'inF0' (layout(location=0 ) in 4-component vector of float) -0:287 'inF1' (layout(location=1 ) in 4-component vector of float) +0:287 'inF0' (in 4-component vector of float) +0:287 'inF1' (in 4-component vector of float) 0:288 Sequence 0:288 move second child to first child (temp float) 0:288 'r024' (temp float) 0:288 dot-product (global float) -0:288 'inF0' (layout(location=0 ) in 4-component vector of float) -0:288 'inF1' (layout(location=1 ) in 4-component vector of float) +0:288 'inF0' (in 4-component vector of float) +0:288 'inF1' (in 4-component vector of float) 0:289 Sequence 0:289 move second child to first child (temp 4-component vector of float) 0:289 'r025' (temp 4-component vector of float) @@ -1295,38 +1295,38 @@ gl_FragCoord origin is upper left 0:289 1.000000 0:289 component-wise multiply (temp float) 0:289 direct index (temp float) -0:289 'inF0' (layout(location=0 ) in 4-component vector of float) +0:289 'inF0' (in 4-component vector of float) 0:289 Constant: 0:289 1 (const int) 0:289 direct index (temp float) -0:289 'inF1' (layout(location=1 ) in 4-component vector of float) +0:289 'inF1' (in 4-component vector of float) 0:289 Constant: 0:289 1 (const int) 0:289 direct index (temp float) -0:289 'inF0' (layout(location=0 ) in 4-component vector of float) +0:289 'inF0' (in 4-component vector of float) 0:289 Constant: 0:289 2 (const int) 0:289 direct index (temp float) -0:289 'inF1' (layout(location=1 ) in 4-component vector of float) +0:289 'inF1' (in 4-component vector of float) 0:289 Constant: 0:289 3 (const int) 0:293 Sequence 0:293 move second child to first child (temp 4-component vector of float) 0:293 'r029' (temp 4-component vector of float) 0:293 exp (global 4-component vector of float) -0:293 'inF0' (layout(location=0 ) in 4-component vector of float) +0:293 'inF0' (in 4-component vector of float) 0:294 Sequence 0:294 move second child to first child (temp 4-component vector of float) 0:294 'r030' (temp 4-component vector of float) 0:294 exp2 (global 4-component vector of float) -0:294 'inF0' (layout(location=0 ) in 4-component vector of float) +0:294 'inF0' (in 4-component vector of float) 0:295 Sequence 0:295 move second child to first child (temp 4-component vector of float) 0:295 'r031' (temp 4-component vector of float) 0:295 face-forward (global 4-component vector of float) -0:295 'inF0' (layout(location=0 ) in 4-component vector of float) -0:295 'inF1' (layout(location=1 ) in 4-component vector of float) -0:295 'inF2' (layout(location=2 ) in 4-component vector of float) +0:295 'inF0' (in 4-component vector of float) +0:295 'inF1' (in 4-component vector of float) +0:295 'inF2' (in 4-component vector of float) 0:296 Sequence 0:296 move second child to first child (temp 4-component vector of uint) 0:296 'r032' (temp 4-component vector of uint) @@ -1349,122 +1349,122 @@ gl_FragCoord origin is upper left 0:298 move second child to first child (temp 4-component vector of float) 0:298 'r034' (temp 4-component vector of float) 0:298 Floor (global 4-component vector of float) -0:298 'inF0' (layout(location=0 ) in 4-component vector of float) +0:298 'inF0' (in 4-component vector of float) 0:300 Sequence 0:300 move second child to first child (temp 4-component vector of float) 0:300 'r036' (temp 4-component vector of float) 0:300 mod (global 4-component vector of float) -0:300 'inF0' (layout(location=0 ) in 4-component vector of float) -0:300 'inF1' (layout(location=1 ) in 4-component vector of float) +0:300 'inF0' (in 4-component vector of float) +0:300 'inF1' (in 4-component vector of float) 0:301 Sequence 0:301 move second child to first child (temp 4-component vector of float) 0:301 'r037' (temp 4-component vector of float) 0:301 Fraction (global 4-component vector of float) -0:301 'inF0' (layout(location=0 ) in 4-component vector of float) +0:301 'inF0' (in 4-component vector of float) 0:302 Sequence 0:302 move second child to first child (temp 4-component vector of float) 0:302 'r038' (temp 4-component vector of float) 0:302 frexp (global 4-component vector of float) -0:302 'inF0' (layout(location=0 ) in 4-component vector of float) -0:302 'inF1' (layout(location=1 ) in 4-component vector of float) +0:302 'inF0' (in 4-component vector of float) +0:302 'inF1' (in 4-component vector of float) 0:303 Sequence 0:303 move second child to first child (temp 4-component vector of float) 0:303 'r039' (temp 4-component vector of float) 0:303 fwidth (global 4-component vector of float) -0:303 'inF0' (layout(location=0 ) in 4-component vector of float) +0:303 'inF0' (in 4-component vector of float) 0:304 Sequence 0:304 move second child to first child (temp 4-component vector of bool) 0:304 'r040' (temp 4-component vector of bool) 0:304 isinf (global 4-component vector of bool) -0:304 'inF0' (layout(location=0 ) in 4-component vector of float) +0:304 'inF0' (in 4-component vector of float) 0:305 Sequence 0:305 move second child to first child (temp 4-component vector of bool) 0:305 'r041' (temp 4-component vector of bool) 0:305 isnan (global 4-component vector of bool) -0:305 'inF0' (layout(location=0 ) in 4-component vector of float) +0:305 'inF0' (in 4-component vector of float) 0:306 Sequence 0:306 move second child to first child (temp 4-component vector of float) 0:306 'r042' (temp 4-component vector of float) 0:306 ldexp (global 4-component vector of float) -0:306 'inF0' (layout(location=0 ) in 4-component vector of float) -0:306 'inF1' (layout(location=1 ) in 4-component vector of float) +0:306 'inF0' (in 4-component vector of float) +0:306 'inF1' (in 4-component vector of float) 0:307 Sequence 0:307 move second child to first child (temp 4-component vector of float) 0:307 'r039a' (temp 4-component vector of float) 0:307 mix (global 4-component vector of float) -0:307 'inF0' (layout(location=0 ) in 4-component vector of float) -0:307 'inF1' (layout(location=1 ) in 4-component vector of float) -0:307 'inF2' (layout(location=2 ) in 4-component vector of float) +0:307 'inF0' (in 4-component vector of float) +0:307 'inF1' (in 4-component vector of float) +0:307 'inF2' (in 4-component vector of float) 0:308 Sequence 0:308 move second child to first child (temp float) 0:308 'r043' (temp float) 0:308 length (global float) -0:308 'inF0' (layout(location=0 ) in 4-component vector of float) +0:308 'inF0' (in 4-component vector of float) 0:309 Sequence 0:309 move second child to first child (temp 4-component vector of float) 0:309 'r044' (temp 4-component vector of float) 0:309 log (global 4-component vector of float) -0:309 'inF0' (layout(location=0 ) in 4-component vector of float) +0:309 'inF0' (in 4-component vector of float) 0:310 Sequence 0:310 move second child to first child (temp 4-component vector of float) 0:310 'r045' (temp 4-component vector of float) 0:310 vector-scale (temp 4-component vector of float) 0:310 log2 (temp 4-component vector of float) -0:310 'inF0' (layout(location=0 ) in 4-component vector of float) +0:310 'inF0' (in 4-component vector of float) 0:310 Constant: 0:310 0.301030 0:311 Sequence 0:311 move second child to first child (temp 4-component vector of float) 0:311 'r046' (temp 4-component vector of float) 0:311 log2 (global 4-component vector of float) -0:311 'inF0' (layout(location=0 ) in 4-component vector of float) +0:311 'inF0' (in 4-component vector of float) 0:312 Sequence 0:312 move second child to first child (temp 4-component vector of float) 0:312 'r047' (temp 4-component vector of float) 0:312 max (global 4-component vector of float) -0:312 'inF0' (layout(location=0 ) in 4-component vector of float) -0:312 'inF1' (layout(location=1 ) in 4-component vector of float) +0:312 'inF0' (in 4-component vector of float) +0:312 'inF1' (in 4-component vector of float) 0:313 Sequence 0:313 move second child to first child (temp 4-component vector of float) 0:313 'r048' (temp 4-component vector of float) 0:313 min (global 4-component vector of float) -0:313 'inF0' (layout(location=0 ) in 4-component vector of float) -0:313 'inF1' (layout(location=1 ) in 4-component vector of float) +0:313 'inF0' (in 4-component vector of float) +0:313 'inF1' (in 4-component vector of float) 0:314 Sequence 0:314 move second child to first child (temp 4-component vector of float) 0:314 'r049' (temp 4-component vector of float) 0:314 normalize (global 4-component vector of float) -0:314 'inF0' (layout(location=0 ) in 4-component vector of float) +0:314 'inF0' (in 4-component vector of float) 0:315 Sequence 0:315 move second child to first child (temp 4-component vector of float) 0:315 'r050' (temp 4-component vector of float) 0:315 pow (global 4-component vector of float) -0:315 'inF0' (layout(location=0 ) in 4-component vector of float) -0:315 'inF1' (layout(location=1 ) in 4-component vector of float) +0:315 'inF0' (in 4-component vector of float) +0:315 'inF1' (in 4-component vector of float) 0:316 Sequence 0:316 move second child to first child (temp 4-component vector of float) 0:316 'r051' (temp 4-component vector of float) 0:316 radians (global 4-component vector of float) -0:316 'inF0' (layout(location=0 ) in 4-component vector of float) +0:316 'inF0' (in 4-component vector of float) 0:317 Sequence 0:317 move second child to first child (temp 4-component vector of float) 0:317 'r052' (temp 4-component vector of float) 0:317 divide (temp 4-component vector of float) 0:317 Constant: 0:317 1.000000 -0:317 'inF0' (layout(location=0 ) in 4-component vector of float) +0:317 'inF0' (in 4-component vector of float) 0:318 Sequence 0:318 move second child to first child (temp 4-component vector of float) 0:318 'r053' (temp 4-component vector of float) 0:318 reflect (global 4-component vector of float) -0:318 'inF0' (layout(location=0 ) in 4-component vector of float) -0:318 'inF1' (layout(location=1 ) in 4-component vector of float) +0:318 'inF0' (in 4-component vector of float) +0:318 'inF1' (in 4-component vector of float) 0:319 Sequence 0:319 move second child to first child (temp 4-component vector of float) 0:319 'r054' (temp 4-component vector of float) 0:319 refract (global 4-component vector of float) -0:319 'inF0' (layout(location=0 ) in 4-component vector of float) -0:319 'inF1' (layout(location=1 ) in 4-component vector of float) +0:319 'inF0' (in 4-component vector of float) +0:319 'inF1' (in 4-component vector of float) 0:319 Constant: 0:319 2.000000 0:320 Sequence @@ -1480,17 +1480,17 @@ gl_FragCoord origin is upper left 0:321 move second child to first child (temp 4-component vector of float) 0:321 'r056' (temp 4-component vector of float) 0:321 roundEven (global 4-component vector of float) -0:321 'inF0' (layout(location=0 ) in 4-component vector of float) +0:321 'inF0' (in 4-component vector of float) 0:322 Sequence 0:322 move second child to first child (temp 4-component vector of float) 0:322 'r057' (temp 4-component vector of float) 0:322 inverse sqrt (global 4-component vector of float) -0:322 'inF0' (layout(location=0 ) in 4-component vector of float) +0:322 'inF0' (in 4-component vector of float) 0:323 Sequence 0:323 move second child to first child (temp 4-component vector of float) 0:323 'r058' (temp 4-component vector of float) 0:323 clamp (temp 4-component vector of float) -0:323 'inF0' (layout(location=0 ) in 4-component vector of float) +0:323 'inF0' (in 4-component vector of float) 0:323 Constant: 0:323 0.000000 0:323 Constant: @@ -1499,68 +1499,65 @@ gl_FragCoord origin is upper left 0:324 move second child to first child (temp 4-component vector of float) 0:324 'r059' (temp 4-component vector of float) 0:324 Sign (global 4-component vector of float) -0:324 'inF0' (layout(location=0 ) in 4-component vector of float) +0:324 'inF0' (in 4-component vector of float) 0:325 Sequence 0:325 move second child to first child (temp 4-component vector of float) 0:325 'r060' (temp 4-component vector of float) 0:325 sine (global 4-component vector of float) -0:325 'inF0' (layout(location=0 ) in 4-component vector of float) +0:325 'inF0' (in 4-component vector of float) 0:326 Sequence 0:326 move second child to first child (temp 4-component vector of float) -0:326 'inF1' (layout(location=1 ) in 4-component vector of float) +0:326 'inF1' (in 4-component vector of float) 0:326 sine (temp 4-component vector of float) -0:326 'inF0' (layout(location=0 ) in 4-component vector of float) +0:326 'inF0' (in 4-component vector of float) 0:326 move second child to first child (temp 4-component vector of float) -0:326 'inF2' (layout(location=2 ) in 4-component vector of float) +0:326 'inF2' (in 4-component vector of float) 0:326 cosine (temp 4-component vector of float) -0:326 'inF0' (layout(location=0 ) in 4-component vector of float) +0:326 'inF0' (in 4-component vector of float) 0:327 Sequence 0:327 move second child to first child (temp 4-component vector of float) 0:327 'r061' (temp 4-component vector of float) 0:327 hyp. sine (global 4-component vector of float) -0:327 'inF0' (layout(location=0 ) in 4-component vector of float) +0:327 'inF0' (in 4-component vector of float) 0:328 Sequence 0:328 move second child to first child (temp 4-component vector of float) 0:328 'r062' (temp 4-component vector of float) 0:328 smoothstep (global 4-component vector of float) -0:328 'inF0' (layout(location=0 ) in 4-component vector of float) -0:328 'inF1' (layout(location=1 ) in 4-component vector of float) -0:328 'inF2' (layout(location=2 ) in 4-component vector of float) +0:328 'inF0' (in 4-component vector of float) +0:328 'inF1' (in 4-component vector of float) +0:328 'inF2' (in 4-component vector of float) 0:329 Sequence 0:329 move second child to first child (temp 4-component vector of float) 0:329 'r063' (temp 4-component vector of float) 0:329 sqrt (global 4-component vector of float) -0:329 'inF0' (layout(location=0 ) in 4-component vector of float) +0:329 'inF0' (in 4-component vector of float) 0:330 Sequence 0:330 move second child to first child (temp 4-component vector of float) 0:330 'r064' (temp 4-component vector of float) 0:330 step (global 4-component vector of float) -0:330 'inF0' (layout(location=0 ) in 4-component vector of float) -0:330 'inF1' (layout(location=1 ) in 4-component vector of float) +0:330 'inF0' (in 4-component vector of float) +0:330 'inF1' (in 4-component vector of float) 0:331 Sequence 0:331 move second child to first child (temp 4-component vector of float) 0:331 'r065' (temp 4-component vector of float) 0:331 tangent (global 4-component vector of float) -0:331 'inF0' (layout(location=0 ) in 4-component vector of float) +0:331 'inF0' (in 4-component vector of float) 0:332 Sequence 0:332 move second child to first child (temp 4-component vector of float) 0:332 'r066' (temp 4-component vector of float) 0:332 hyp. tangent (global 4-component vector of float) -0:332 'inF0' (layout(location=0 ) in 4-component vector of float) +0:332 'inF0' (in 4-component vector of float) 0:334 Sequence 0:334 move second child to first child (temp 4-component vector of float) 0:334 'r067' (temp 4-component vector of float) 0:334 trunc (global 4-component vector of float) -0:334 'inF0' (layout(location=0 ) in 4-component vector of float) -0:337 Sequence -0:337 move second child to first child (temp 4-component vector of float) -0:? '@entryPointOutput' (layout(location=0 ) out 4-component vector of float) -0:? Constant: -0:? 1.000000 -0:? 2.000000 -0:? 3.000000 -0:? 4.000000 -0:337 Branch: Return +0:334 'inF0' (in 4-component vector of float) +0:337 Branch: Return with expression +0:? Constant: +0:? 1.000000 +0:? 2.000000 +0:? 3.000000 +0:? 4.000000 0:401 Function Definition: PixelShaderFunction2x2(mf22;mf22;mf22; (global 2X2 matrix of float) 0:401 Function Parameters: 0:401 'inF0' (in 2X2 matrix of float) @@ -2472,20 +2469,20 @@ gl_FragCoord origin is upper left 0:443 move second child to first child (temp float) 0:443 'r0' (temp float) 0:443 component-wise multiply (temp float) -0:443 'inF0' (in float) 0:443 'inF1' (in float) +0:443 'inF0' (in float) 0:443 Sequence 0:443 move second child to first child (temp 2-component vector of float) 0:443 'r1' (temp 2-component vector of float) 0:443 vector-scale (temp 2-component vector of float) -0:443 'inFV0' (in 2-component vector of float) 0:443 'inF0' (in float) +0:443 'inFV0' (in 2-component vector of float) 0:443 Sequence 0:443 move second child to first child (temp 2-component vector of float) 0:443 'r2' (temp 2-component vector of float) 0:443 vector-scale (temp 2-component vector of float) -0:443 'inF0' (in float) 0:443 'inFV0' (in 2-component vector of float) +0:443 'inF0' (in float) 0:443 Sequence 0:443 move second child to first child (temp float) 0:443 'r3' (temp float) @@ -2495,33 +2492,33 @@ gl_FragCoord origin is upper left 0:443 Sequence 0:443 move second child to first child (temp 2-component vector of float) 0:443 'r4' (temp 2-component vector of float) -0:443 matrix-times-vector (temp 2-component vector of float) -0:443 'inFM0' (in 2X2 matrix of float) -0:443 'inFV0' (in 2-component vector of float) -0:443 Sequence -0:443 move second child to first child (temp 2-component vector of float) -0:443 'r5' (temp 2-component vector of float) 0:443 vector-times-matrix (temp 2-component vector of float) 0:443 'inFV0' (in 2-component vector of float) 0:443 'inFM0' (in 2X2 matrix of float) 0:443 Sequence +0:443 move second child to first child (temp 2-component vector of float) +0:443 'r5' (temp 2-component vector of float) +0:443 matrix-times-vector (temp 2-component vector of float) +0:443 'inFM0' (in 2X2 matrix of float) +0:443 'inFV0' (in 2-component vector of float) +0:443 Sequence 0:443 move second child to first child (temp 2X2 matrix of float) 0:443 'r6' (temp 2X2 matrix of float) 0:443 matrix-scale (temp 2X2 matrix of float) -0:443 'inFM0' (in 2X2 matrix of float) 0:443 'inF0' (in float) +0:443 'inFM0' (in 2X2 matrix of float) 0:443 Sequence 0:443 move second child to first child (temp 2X2 matrix of float) 0:443 'r7' (temp 2X2 matrix of float) 0:443 matrix-scale (temp 2X2 matrix of float) -0:443 'inF0' (in float) 0:443 'inFM0' (in 2X2 matrix of float) +0:443 'inF0' (in float) 0:443 Sequence 0:443 move second child to first child (temp 2X2 matrix of float) 0:443 'r8' (temp 2X2 matrix of float) 0:443 matrix-multiply (temp 2X2 matrix of float) -0:443 'inFM0' (in 2X2 matrix of float) 0:443 'inFM1' (in 2X2 matrix of float) +0:443 'inFM0' (in 2X2 matrix of float) 0:449 Function Definition: TestGenMul3(f1;f1;vf3;vf3;mf33;mf33; (global void) 0:449 Function Parameters: 0:449 'inF0' (in float) @@ -2535,20 +2532,20 @@ gl_FragCoord origin is upper left 0:450 move second child to first child (temp float) 0:450 'r0' (temp float) 0:450 component-wise multiply (temp float) -0:450 'inF0' (in float) 0:450 'inF1' (in float) +0:450 'inF0' (in float) 0:450 Sequence 0:450 move second child to first child (temp 3-component vector of float) 0:450 'r1' (temp 3-component vector of float) 0:450 vector-scale (temp 3-component vector of float) -0:450 'inFV0' (in 3-component vector of float) 0:450 'inF0' (in float) +0:450 'inFV0' (in 3-component vector of float) 0:450 Sequence 0:450 move second child to first child (temp 3-component vector of float) 0:450 'r2' (temp 3-component vector of float) 0:450 vector-scale (temp 3-component vector of float) -0:450 'inF0' (in float) 0:450 'inFV0' (in 3-component vector of float) +0:450 'inF0' (in float) 0:450 Sequence 0:450 move second child to first child (temp float) 0:450 'r3' (temp float) @@ -2558,33 +2555,33 @@ gl_FragCoord origin is upper left 0:450 Sequence 0:450 move second child to first child (temp 3-component vector of float) 0:450 'r4' (temp 3-component vector of float) -0:450 matrix-times-vector (temp 3-component vector of float) -0:450 'inFM0' (in 3X3 matrix of float) -0:450 'inFV0' (in 3-component vector of float) -0:450 Sequence -0:450 move second child to first child (temp 3-component vector of float) -0:450 'r5' (temp 3-component vector of float) 0:450 vector-times-matrix (temp 3-component vector of float) 0:450 'inFV0' (in 3-component vector of float) 0:450 'inFM0' (in 3X3 matrix of float) 0:450 Sequence +0:450 move second child to first child (temp 3-component vector of float) +0:450 'r5' (temp 3-component vector of float) +0:450 matrix-times-vector (temp 3-component vector of float) +0:450 'inFM0' (in 3X3 matrix of float) +0:450 'inFV0' (in 3-component vector of float) +0:450 Sequence 0:450 move second child to first child (temp 3X3 matrix of float) 0:450 'r6' (temp 3X3 matrix of float) 0:450 matrix-scale (temp 3X3 matrix of float) -0:450 'inFM0' (in 3X3 matrix of float) 0:450 'inF0' (in float) +0:450 'inFM0' (in 3X3 matrix of float) 0:450 Sequence 0:450 move second child to first child (temp 3X3 matrix of float) 0:450 'r7' (temp 3X3 matrix of float) 0:450 matrix-scale (temp 3X3 matrix of float) -0:450 'inF0' (in float) 0:450 'inFM0' (in 3X3 matrix of float) +0:450 'inF0' (in float) 0:450 Sequence 0:450 move second child to first child (temp 3X3 matrix of float) 0:450 'r8' (temp 3X3 matrix of float) 0:450 matrix-multiply (temp 3X3 matrix of float) -0:450 'inFM0' (in 3X3 matrix of float) 0:450 'inFM1' (in 3X3 matrix of float) +0:450 'inFM0' (in 3X3 matrix of float) 0:456 Function Definition: TestGenMul4(f1;f1;vf4;vf4;mf44;mf44; (global void) 0:456 Function Parameters: 0:456 'inF0' (in float) @@ -2598,20 +2595,20 @@ gl_FragCoord origin is upper left 0:457 move second child to first child (temp float) 0:457 'r0' (temp float) 0:457 component-wise multiply (temp float) -0:457 'inF0' (in float) 0:457 'inF1' (in float) +0:457 'inF0' (in float) 0:457 Sequence 0:457 move second child to first child (temp 4-component vector of float) 0:457 'r1' (temp 4-component vector of float) 0:457 vector-scale (temp 4-component vector of float) -0:457 'inFV0' (in 4-component vector of float) 0:457 'inF0' (in float) +0:457 'inFV0' (in 4-component vector of float) 0:457 Sequence 0:457 move second child to first child (temp 4-component vector of float) 0:457 'r2' (temp 4-component vector of float) 0:457 vector-scale (temp 4-component vector of float) -0:457 'inF0' (in float) 0:457 'inFV0' (in 4-component vector of float) +0:457 'inF0' (in float) 0:457 Sequence 0:457 move second child to first child (temp float) 0:457 'r3' (temp float) @@ -2621,75 +2618,75 @@ gl_FragCoord origin is upper left 0:457 Sequence 0:457 move second child to first child (temp 4-component vector of float) 0:457 'r4' (temp 4-component vector of float) -0:457 matrix-times-vector (temp 4-component vector of float) -0:457 'inFM0' (in 4X4 matrix of float) -0:457 'inFV0' (in 4-component vector of float) -0:457 Sequence -0:457 move second child to first child (temp 4-component vector of float) -0:457 'r5' (temp 4-component vector of float) 0:457 vector-times-matrix (temp 4-component vector of float) 0:457 'inFV0' (in 4-component vector of float) 0:457 'inFM0' (in 4X4 matrix of float) 0:457 Sequence +0:457 move second child to first child (temp 4-component vector of float) +0:457 'r5' (temp 4-component vector of float) +0:457 matrix-times-vector (temp 4-component vector of float) +0:457 'inFM0' (in 4X4 matrix of float) +0:457 'inFV0' (in 4-component vector of float) +0:457 Sequence 0:457 move second child to first child (temp 4X4 matrix of float) 0:457 'r6' (temp 4X4 matrix of float) 0:457 matrix-scale (temp 4X4 matrix of float) -0:457 'inFM0' (in 4X4 matrix of float) 0:457 'inF0' (in float) +0:457 'inFM0' (in 4X4 matrix of float) 0:457 Sequence 0:457 move second child to first child (temp 4X4 matrix of float) 0:457 'r7' (temp 4X4 matrix of float) 0:457 matrix-scale (temp 4X4 matrix of float) -0:457 'inF0' (in float) 0:457 'inFM0' (in 4X4 matrix of float) +0:457 'inF0' (in float) 0:457 Sequence 0:457 move second child to first child (temp 4X4 matrix of float) 0:457 'r8' (temp 4X4 matrix of float) 0:457 matrix-multiply (temp 4X4 matrix of float) -0:457 'inFM0' (in 4X4 matrix of float) 0:457 'inFM1' (in 4X4 matrix of float) -0:466 Function Definition: TestGenMulNxM(f1;f1;vf2;vf3;mf32;mf23;mf33;mf43;mf42; (global void) +0:457 'inFM0' (in 4X4 matrix of float) +0:466 Function Definition: TestGenMulNxM(f1;f1;vf2;vf3;mf23;mf32;mf33;mf34;mf24; (global void) 0:466 Function Parameters: 0:466 'inF0' (in float) 0:466 'inF1' (in float) 0:466 'inFV2' (in 2-component vector of float) 0:466 'inFV3' (in 3-component vector of float) -0:466 'inFM2x3' (in 3X2 matrix of float) -0:466 'inFM3x2' (in 2X3 matrix of float) +0:466 'inFM2x3' (in 2X3 matrix of float) +0:466 'inFM3x2' (in 3X2 matrix of float) 0:466 'inFM3x3' (in 3X3 matrix of float) -0:466 'inFM3x4' (in 4X3 matrix of float) -0:466 'inFM2x4' (in 4X2 matrix of float) +0:466 'inFM3x4' (in 3X4 matrix of float) +0:466 'inFM2x4' (in 2X4 matrix of float) 0:? Sequence 0:467 Sequence 0:467 move second child to first child (temp float) 0:467 'r00' (temp float) 0:467 component-wise multiply (temp float) -0:467 'inF0' (in float) 0:467 'inF1' (in float) +0:467 'inF0' (in float) 0:468 Sequence 0:468 move second child to first child (temp 2-component vector of float) 0:468 'r01' (temp 2-component vector of float) 0:468 vector-scale (temp 2-component vector of float) -0:468 'inFV2' (in 2-component vector of float) 0:468 'inF0' (in float) +0:468 'inFV2' (in 2-component vector of float) 0:469 Sequence 0:469 move second child to first child (temp 3-component vector of float) 0:469 'r02' (temp 3-component vector of float) 0:469 vector-scale (temp 3-component vector of float) -0:469 'inFV3' (in 3-component vector of float) 0:469 'inF0' (in float) +0:469 'inFV3' (in 3-component vector of float) 0:470 Sequence 0:470 move second child to first child (temp 2-component vector of float) 0:470 'r03' (temp 2-component vector of float) 0:470 vector-scale (temp 2-component vector of float) -0:470 'inF0' (in float) 0:470 'inFV2' (in 2-component vector of float) +0:470 'inF0' (in float) 0:471 Sequence 0:471 move second child to first child (temp 3-component vector of float) 0:471 'r04' (temp 3-component vector of float) 0:471 vector-scale (temp 3-component vector of float) -0:471 'inF0' (in float) 0:471 'inFV3' (in 3-component vector of float) +0:471 'inF0' (in float) 0:472 Sequence 0:472 move second child to first child (temp float) 0:472 'r05' (temp float) @@ -2705,63 +2702,81 @@ gl_FragCoord origin is upper left 0:474 Sequence 0:474 move second child to first child (temp 3-component vector of float) 0:474 'r07' (temp 3-component vector of float) -0:474 vector-times-matrix (temp 3-component vector of float) +0:474 matrix-times-vector (temp 3-component vector of float) +0:474 'inFM2x3' (in 2X3 matrix of float) 0:474 'inFV2' (in 2-component vector of float) -0:474 'inFM2x3' (in 3X2 matrix of float) 0:475 Sequence 0:475 move second child to first child (temp 2-component vector of float) 0:475 'r08' (temp 2-component vector of float) -0:475 vector-times-matrix (temp 2-component vector of float) +0:475 matrix-times-vector (temp 2-component vector of float) +0:475 'inFM3x2' (in 3X2 matrix of float) 0:475 'inFV3' (in 3-component vector of float) -0:475 'inFM3x2' (in 2X3 matrix of float) 0:476 Sequence 0:476 move second child to first child (temp 2-component vector of float) 0:476 'r09' (temp 2-component vector of float) -0:476 matrix-times-vector (temp 2-component vector of float) -0:476 'inFM2x3' (in 3X2 matrix of float) +0:476 vector-times-matrix (temp 2-component vector of float) 0:476 'inFV3' (in 3-component vector of float) +0:476 'inFM2x3' (in 2X3 matrix of float) 0:477 Sequence 0:477 move second child to first child (temp 3-component vector of float) 0:477 'r10' (temp 3-component vector of float) -0:477 matrix-times-vector (temp 3-component vector of float) -0:477 'inFM3x2' (in 2X3 matrix of float) +0:477 vector-times-matrix (temp 3-component vector of float) 0:477 'inFV2' (in 2-component vector of float) +0:477 'inFM3x2' (in 3X2 matrix of float) 0:478 Sequence -0:478 move second child to first child (temp 3X2 matrix of float) -0:478 'r11' (temp 3X2 matrix of float) -0:478 matrix-scale (temp 3X2 matrix of float) -0:478 'inFM2x3' (in 3X2 matrix of float) +0:478 move second child to first child (temp 2X3 matrix of float) +0:478 'r11' (temp 2X3 matrix of float) +0:478 matrix-scale (temp 2X3 matrix of float) 0:478 'inF0' (in float) +0:478 'inFM2x3' (in 2X3 matrix of float) 0:479 Sequence -0:479 move second child to first child (temp 2X3 matrix of float) -0:479 'r12' (temp 2X3 matrix of float) -0:479 matrix-scale (temp 2X3 matrix of float) -0:479 'inFM3x2' (in 2X3 matrix of float) +0:479 move second child to first child (temp 3X2 matrix of float) +0:479 'r12' (temp 3X2 matrix of float) +0:479 matrix-scale (temp 3X2 matrix of float) 0:479 'inF0' (in float) +0:479 'inFM3x2' (in 3X2 matrix of float) 0:480 Sequence 0:480 move second child to first child (temp 2X2 matrix of float) 0:480 'r13' (temp 2X2 matrix of float) 0:480 matrix-multiply (temp 2X2 matrix of float) -0:480 'inFM2x3' (in 3X2 matrix of float) -0:480 'inFM3x2' (in 2X3 matrix of float) +0:480 'inFM3x2' (in 3X2 matrix of float) +0:480 'inFM2x3' (in 2X3 matrix of float) 0:481 Sequence -0:481 move second child to first child (temp 3X2 matrix of float) -0:481 'r14' (temp 3X2 matrix of float) -0:481 matrix-multiply (temp 3X2 matrix of float) -0:481 'inFM2x3' (in 3X2 matrix of float) +0:481 move second child to first child (temp 2X3 matrix of float) +0:481 'r14' (temp 2X3 matrix of float) +0:481 matrix-multiply (temp 2X3 matrix of float) 0:481 'inFM3x3' (in 3X3 matrix of float) +0:481 'inFM2x3' (in 2X3 matrix of float) 0:482 Sequence -0:482 move second child to first child (temp 4X2 matrix of float) -0:482 'r15' (temp 4X2 matrix of float) -0:482 matrix-multiply (temp 4X2 matrix of float) -0:482 'inFM2x3' (in 3X2 matrix of float) -0:482 'inFM3x4' (in 4X3 matrix of float) +0:482 move second child to first child (temp 2X4 matrix of float) +0:482 'r15' (temp 2X4 matrix of float) +0:482 matrix-multiply (temp 2X4 matrix of float) +0:482 'inFM3x4' (in 3X4 matrix of float) +0:482 'inFM2x3' (in 2X3 matrix of float) 0:483 Sequence -0:483 move second child to first child (temp 4X3 matrix of float) -0:483 'r16' (temp 4X3 matrix of float) -0:483 matrix-multiply (temp 4X3 matrix of float) -0:483 'inFM3x2' (in 2X3 matrix of float) -0:483 'inFM2x4' (in 4X2 matrix of float) +0:483 move second child to first child (temp 3X4 matrix of float) +0:483 'r16' (temp 3X4 matrix of float) +0:483 matrix-multiply (temp 3X4 matrix of float) +0:483 'inFM2x4' (in 2X4 matrix of float) +0:483 'inFM3x2' (in 3X2 matrix of float) +0:489 Function Definition: main( (global structure{temp 4-component vector of float color}) +0:489 Function Parameters: +0:? Sequence +0:491 move second child to first child (temp 4-component vector of float) +0:491 color: direct index for structure (temp 4-component vector of float) +0:491 'ps_output' (temp structure{temp 4-component vector of float color}) +0:491 Constant: +0:491 0 (const int) +0:491 Constant: +0:491 1.000000 +0:491 1.000000 +0:491 1.000000 +0:491 1.000000 +0:492 Sequence +0:492 move second child to first child (temp structure{temp 4-component vector of float color}) +0:? '@entryPointOutput' (layout(location=0 ) out structure{temp 4-component vector of float color}) +0:492 'ps_output' (temp structure{temp 4-component vector of float color}) +0:492 Branch: Return 0:? Linker Objects 0:? 'gs_ua' (global uint) 0:? 'gs_ub' (global uint) @@ -3921,80 +3936,80 @@ gl_FragCoord origin is upper left 0:? 3.000000 0:260 Function Definition: PixelShaderFunction(vf4;vf4;vf4;vu4;vu4; (global 4-component vector of float) 0:260 Function Parameters: -0:260 'inF0' (layout(location=0 ) in 4-component vector of float) -0:260 'inF1' (layout(location=1 ) in 4-component vector of float) -0:260 'inF2' (layout(location=2 ) in 4-component vector of float) -0:260 'inU0' (layout(location=3 ) in 4-component vector of uint) -0:260 'inU1' (layout(location=4 ) in 4-component vector of uint) +0:260 'inF0' (in 4-component vector of float) +0:260 'inF1' (in 4-component vector of float) +0:260 'inF2' (in 4-component vector of float) +0:260 'inU0' (in 4-component vector of uint) +0:260 'inU1' (in 4-component vector of uint) 0:? Sequence 0:263 Sequence 0:263 move second child to first child (temp bool) 0:263 'r000' (temp bool) 0:263 all (global bool) -0:263 'inF0' (layout(location=0 ) in 4-component vector of float) +0:263 'inF0' (in 4-component vector of float) 0:264 Sequence 0:264 move second child to first child (temp 4-component vector of float) 0:264 'r001' (temp 4-component vector of float) 0:264 Absolute value (global 4-component vector of float) -0:264 'inF0' (layout(location=0 ) in 4-component vector of float) +0:264 'inF0' (in 4-component vector of float) 0:265 Sequence 0:265 move second child to first child (temp 4-component vector of float) 0:265 'r002' (temp 4-component vector of float) 0:265 arc cosine (global 4-component vector of float) -0:265 'inF0' (layout(location=0 ) in 4-component vector of float) +0:265 'inF0' (in 4-component vector of float) 0:266 Sequence 0:266 move second child to first child (temp bool) 0:266 'r003' (temp bool) 0:266 any (global bool) -0:266 'inF0' (layout(location=0 ) in 4-component vector of float) +0:266 'inF0' (in 4-component vector of float) 0:267 Sequence 0:267 move second child to first child (temp 4-component vector of float) 0:267 'r004' (temp 4-component vector of float) 0:267 arc sine (global 4-component vector of float) -0:267 'inF0' (layout(location=0 ) in 4-component vector of float) +0:267 'inF0' (in 4-component vector of float) 0:268 Sequence 0:268 move second child to first child (temp 4-component vector of int) 0:268 'r005' (temp 4-component vector of int) 0:268 floatBitsToInt (global 4-component vector of int) -0:268 'inF0' (layout(location=0 ) in 4-component vector of float) +0:268 'inF0' (in 4-component vector of float) 0:269 Sequence 0:269 move second child to first child (temp 4-component vector of uint) 0:269 'r006' (temp 4-component vector of uint) 0:269 floatBitsToUint (global 4-component vector of uint) -0:269 'inF0' (layout(location=0 ) in 4-component vector of float) +0:269 'inF0' (in 4-component vector of float) 0:270 Sequence 0:270 move second child to first child (temp 4-component vector of float) 0:270 'r007' (temp 4-component vector of float) 0:270 intBitsToFloat (global 4-component vector of float) -0:270 'inU0' (layout(location=3 ) in 4-component vector of uint) +0:270 'inU0' (in 4-component vector of uint) 0:272 Sequence 0:272 move second child to first child (temp 4-component vector of float) 0:272 'r009' (temp 4-component vector of float) 0:272 arc tangent (global 4-component vector of float) -0:272 'inF0' (layout(location=0 ) in 4-component vector of float) +0:272 'inF0' (in 4-component vector of float) 0:273 Sequence 0:273 move second child to first child (temp 4-component vector of float) 0:273 'r010' (temp 4-component vector of float) 0:273 arc tangent (global 4-component vector of float) -0:273 'inF0' (layout(location=0 ) in 4-component vector of float) -0:273 'inF1' (layout(location=1 ) in 4-component vector of float) +0:273 'inF0' (in 4-component vector of float) +0:273 'inF1' (in 4-component vector of float) 0:274 Sequence 0:274 move second child to first child (temp 4-component vector of float) 0:274 'r011' (temp 4-component vector of float) 0:274 Ceiling (global 4-component vector of float) -0:274 'inF0' (layout(location=0 ) in 4-component vector of float) +0:274 'inF0' (in 4-component vector of float) 0:275 Sequence 0:275 move second child to first child (temp 4-component vector of float) 0:275 'r012' (temp 4-component vector of float) 0:275 clamp (global 4-component vector of float) -0:275 'inF0' (layout(location=0 ) in 4-component vector of float) -0:275 'inF1' (layout(location=1 ) in 4-component vector of float) -0:275 'inF2' (layout(location=2 ) in 4-component vector of float) +0:275 'inF0' (in 4-component vector of float) +0:275 'inF1' (in 4-component vector of float) +0:275 'inF2' (in 4-component vector of float) 0:276 Test condition and select (temp void) 0:276 Condition 0:276 any (temp bool) 0:276 Compare Less Than (temp 4-component vector of bool) -0:276 'inF0' (layout(location=0 ) in 4-component vector of float) +0:276 'inF0' (in 4-component vector of float) 0:276 Constant: 0:276 0.000000 0:276 0.000000 @@ -4006,12 +4021,12 @@ gl_FragCoord origin is upper left 0:277 move second child to first child (temp 4-component vector of float) 0:277 'r013' (temp 4-component vector of float) 0:277 cosine (global 4-component vector of float) -0:277 'inF0' (layout(location=0 ) in 4-component vector of float) +0:277 'inF0' (in 4-component vector of float) 0:278 Sequence 0:278 move second child to first child (temp 4-component vector of float) 0:278 'r014' (temp 4-component vector of float) 0:278 hyp. cosine (global 4-component vector of float) -0:278 'inF0' (layout(location=0 ) in 4-component vector of float) +0:278 'inF0' (in 4-component vector of float) 0:279 Sequence 0:279 move second child to first child (temp 4-component vector of uint) 0:279 'r015' (temp 4-component vector of uint) @@ -4025,49 +4040,49 @@ gl_FragCoord origin is upper left 0:280 move second child to first child (temp 4-component vector of float) 0:280 'r016' (temp 4-component vector of float) 0:280 dPdx (global 4-component vector of float) -0:280 'inF0' (layout(location=0 ) in 4-component vector of float) +0:280 'inF0' (in 4-component vector of float) 0:281 Sequence 0:281 move second child to first child (temp 4-component vector of float) 0:281 'r017' (temp 4-component vector of float) 0:281 dPdxCoarse (global 4-component vector of float) -0:281 'inF0' (layout(location=0 ) in 4-component vector of float) +0:281 'inF0' (in 4-component vector of float) 0:282 Sequence 0:282 move second child to first child (temp 4-component vector of float) 0:282 'r018' (temp 4-component vector of float) 0:282 dPdxFine (global 4-component vector of float) -0:282 'inF0' (layout(location=0 ) in 4-component vector of float) +0:282 'inF0' (in 4-component vector of float) 0:283 Sequence 0:283 move second child to first child (temp 4-component vector of float) 0:283 'r019' (temp 4-component vector of float) 0:283 dPdy (global 4-component vector of float) -0:283 'inF0' (layout(location=0 ) in 4-component vector of float) +0:283 'inF0' (in 4-component vector of float) 0:284 Sequence 0:284 move second child to first child (temp 4-component vector of float) 0:284 'r020' (temp 4-component vector of float) 0:284 dPdyCoarse (global 4-component vector of float) -0:284 'inF0' (layout(location=0 ) in 4-component vector of float) +0:284 'inF0' (in 4-component vector of float) 0:285 Sequence 0:285 move second child to first child (temp 4-component vector of float) 0:285 'r021' (temp 4-component vector of float) 0:285 dPdyFine (global 4-component vector of float) -0:285 'inF0' (layout(location=0 ) in 4-component vector of float) +0:285 'inF0' (in 4-component vector of float) 0:286 Sequence 0:286 move second child to first child (temp 4-component vector of float) 0:286 'r022' (temp 4-component vector of float) 0:286 degrees (global 4-component vector of float) -0:286 'inF0' (layout(location=0 ) in 4-component vector of float) +0:286 'inF0' (in 4-component vector of float) 0:287 Sequence 0:287 move second child to first child (temp float) 0:287 'r023' (temp float) 0:287 distance (global float) -0:287 'inF0' (layout(location=0 ) in 4-component vector of float) -0:287 'inF1' (layout(location=1 ) in 4-component vector of float) +0:287 'inF0' (in 4-component vector of float) +0:287 'inF1' (in 4-component vector of float) 0:288 Sequence 0:288 move second child to first child (temp float) 0:288 'r024' (temp float) 0:288 dot-product (global float) -0:288 'inF0' (layout(location=0 ) in 4-component vector of float) -0:288 'inF1' (layout(location=1 ) in 4-component vector of float) +0:288 'inF0' (in 4-component vector of float) +0:288 'inF1' (in 4-component vector of float) 0:289 Sequence 0:289 move second child to first child (temp 4-component vector of float) 0:289 'r025' (temp 4-component vector of float) @@ -4076,38 +4091,38 @@ gl_FragCoord origin is upper left 0:289 1.000000 0:289 component-wise multiply (temp float) 0:289 direct index (temp float) -0:289 'inF0' (layout(location=0 ) in 4-component vector of float) +0:289 'inF0' (in 4-component vector of float) 0:289 Constant: 0:289 1 (const int) 0:289 direct index (temp float) -0:289 'inF1' (layout(location=1 ) in 4-component vector of float) +0:289 'inF1' (in 4-component vector of float) 0:289 Constant: 0:289 1 (const int) 0:289 direct index (temp float) -0:289 'inF0' (layout(location=0 ) in 4-component vector of float) +0:289 'inF0' (in 4-component vector of float) 0:289 Constant: 0:289 2 (const int) 0:289 direct index (temp float) -0:289 'inF1' (layout(location=1 ) in 4-component vector of float) +0:289 'inF1' (in 4-component vector of float) 0:289 Constant: 0:289 3 (const int) 0:293 Sequence 0:293 move second child to first child (temp 4-component vector of float) 0:293 'r029' (temp 4-component vector of float) 0:293 exp (global 4-component vector of float) -0:293 'inF0' (layout(location=0 ) in 4-component vector of float) +0:293 'inF0' (in 4-component vector of float) 0:294 Sequence 0:294 move second child to first child (temp 4-component vector of float) 0:294 'r030' (temp 4-component vector of float) 0:294 exp2 (global 4-component vector of float) -0:294 'inF0' (layout(location=0 ) in 4-component vector of float) +0:294 'inF0' (in 4-component vector of float) 0:295 Sequence 0:295 move second child to first child (temp 4-component vector of float) 0:295 'r031' (temp 4-component vector of float) 0:295 face-forward (global 4-component vector of float) -0:295 'inF0' (layout(location=0 ) in 4-component vector of float) -0:295 'inF1' (layout(location=1 ) in 4-component vector of float) -0:295 'inF2' (layout(location=2 ) in 4-component vector of float) +0:295 'inF0' (in 4-component vector of float) +0:295 'inF1' (in 4-component vector of float) +0:295 'inF2' (in 4-component vector of float) 0:296 Sequence 0:296 move second child to first child (temp 4-component vector of uint) 0:296 'r032' (temp 4-component vector of uint) @@ -4130,122 +4145,122 @@ gl_FragCoord origin is upper left 0:298 move second child to first child (temp 4-component vector of float) 0:298 'r034' (temp 4-component vector of float) 0:298 Floor (global 4-component vector of float) -0:298 'inF0' (layout(location=0 ) in 4-component vector of float) +0:298 'inF0' (in 4-component vector of float) 0:300 Sequence 0:300 move second child to first child (temp 4-component vector of float) 0:300 'r036' (temp 4-component vector of float) 0:300 mod (global 4-component vector of float) -0:300 'inF0' (layout(location=0 ) in 4-component vector of float) -0:300 'inF1' (layout(location=1 ) in 4-component vector of float) +0:300 'inF0' (in 4-component vector of float) +0:300 'inF1' (in 4-component vector of float) 0:301 Sequence 0:301 move second child to first child (temp 4-component vector of float) 0:301 'r037' (temp 4-component vector of float) 0:301 Fraction (global 4-component vector of float) -0:301 'inF0' (layout(location=0 ) in 4-component vector of float) +0:301 'inF0' (in 4-component vector of float) 0:302 Sequence 0:302 move second child to first child (temp 4-component vector of float) 0:302 'r038' (temp 4-component vector of float) 0:302 frexp (global 4-component vector of float) -0:302 'inF0' (layout(location=0 ) in 4-component vector of float) -0:302 'inF1' (layout(location=1 ) in 4-component vector of float) +0:302 'inF0' (in 4-component vector of float) +0:302 'inF1' (in 4-component vector of float) 0:303 Sequence 0:303 move second child to first child (temp 4-component vector of float) 0:303 'r039' (temp 4-component vector of float) 0:303 fwidth (global 4-component vector of float) -0:303 'inF0' (layout(location=0 ) in 4-component vector of float) +0:303 'inF0' (in 4-component vector of float) 0:304 Sequence 0:304 move second child to first child (temp 4-component vector of bool) 0:304 'r040' (temp 4-component vector of bool) 0:304 isinf (global 4-component vector of bool) -0:304 'inF0' (layout(location=0 ) in 4-component vector of float) +0:304 'inF0' (in 4-component vector of float) 0:305 Sequence 0:305 move second child to first child (temp 4-component vector of bool) 0:305 'r041' (temp 4-component vector of bool) 0:305 isnan (global 4-component vector of bool) -0:305 'inF0' (layout(location=0 ) in 4-component vector of float) +0:305 'inF0' (in 4-component vector of float) 0:306 Sequence 0:306 move second child to first child (temp 4-component vector of float) 0:306 'r042' (temp 4-component vector of float) 0:306 ldexp (global 4-component vector of float) -0:306 'inF0' (layout(location=0 ) in 4-component vector of float) -0:306 'inF1' (layout(location=1 ) in 4-component vector of float) +0:306 'inF0' (in 4-component vector of float) +0:306 'inF1' (in 4-component vector of float) 0:307 Sequence 0:307 move second child to first child (temp 4-component vector of float) 0:307 'r039a' (temp 4-component vector of float) 0:307 mix (global 4-component vector of float) -0:307 'inF0' (layout(location=0 ) in 4-component vector of float) -0:307 'inF1' (layout(location=1 ) in 4-component vector of float) -0:307 'inF2' (layout(location=2 ) in 4-component vector of float) +0:307 'inF0' (in 4-component vector of float) +0:307 'inF1' (in 4-component vector of float) +0:307 'inF2' (in 4-component vector of float) 0:308 Sequence 0:308 move second child to first child (temp float) 0:308 'r043' (temp float) 0:308 length (global float) -0:308 'inF0' (layout(location=0 ) in 4-component vector of float) +0:308 'inF0' (in 4-component vector of float) 0:309 Sequence 0:309 move second child to first child (temp 4-component vector of float) 0:309 'r044' (temp 4-component vector of float) 0:309 log (global 4-component vector of float) -0:309 'inF0' (layout(location=0 ) in 4-component vector of float) +0:309 'inF0' (in 4-component vector of float) 0:310 Sequence 0:310 move second child to first child (temp 4-component vector of float) 0:310 'r045' (temp 4-component vector of float) 0:310 vector-scale (temp 4-component vector of float) 0:310 log2 (temp 4-component vector of float) -0:310 'inF0' (layout(location=0 ) in 4-component vector of float) +0:310 'inF0' (in 4-component vector of float) 0:310 Constant: 0:310 0.301030 0:311 Sequence 0:311 move second child to first child (temp 4-component vector of float) 0:311 'r046' (temp 4-component vector of float) 0:311 log2 (global 4-component vector of float) -0:311 'inF0' (layout(location=0 ) in 4-component vector of float) +0:311 'inF0' (in 4-component vector of float) 0:312 Sequence 0:312 move second child to first child (temp 4-component vector of float) 0:312 'r047' (temp 4-component vector of float) 0:312 max (global 4-component vector of float) -0:312 'inF0' (layout(location=0 ) in 4-component vector of float) -0:312 'inF1' (layout(location=1 ) in 4-component vector of float) +0:312 'inF0' (in 4-component vector of float) +0:312 'inF1' (in 4-component vector of float) 0:313 Sequence 0:313 move second child to first child (temp 4-component vector of float) 0:313 'r048' (temp 4-component vector of float) 0:313 min (global 4-component vector of float) -0:313 'inF0' (layout(location=0 ) in 4-component vector of float) -0:313 'inF1' (layout(location=1 ) in 4-component vector of float) +0:313 'inF0' (in 4-component vector of float) +0:313 'inF1' (in 4-component vector of float) 0:314 Sequence 0:314 move second child to first child (temp 4-component vector of float) 0:314 'r049' (temp 4-component vector of float) 0:314 normalize (global 4-component vector of float) -0:314 'inF0' (layout(location=0 ) in 4-component vector of float) +0:314 'inF0' (in 4-component vector of float) 0:315 Sequence 0:315 move second child to first child (temp 4-component vector of float) 0:315 'r050' (temp 4-component vector of float) 0:315 pow (global 4-component vector of float) -0:315 'inF0' (layout(location=0 ) in 4-component vector of float) -0:315 'inF1' (layout(location=1 ) in 4-component vector of float) +0:315 'inF0' (in 4-component vector of float) +0:315 'inF1' (in 4-component vector of float) 0:316 Sequence 0:316 move second child to first child (temp 4-component vector of float) 0:316 'r051' (temp 4-component vector of float) 0:316 radians (global 4-component vector of float) -0:316 'inF0' (layout(location=0 ) in 4-component vector of float) +0:316 'inF0' (in 4-component vector of float) 0:317 Sequence 0:317 move second child to first child (temp 4-component vector of float) 0:317 'r052' (temp 4-component vector of float) 0:317 divide (temp 4-component vector of float) 0:317 Constant: 0:317 1.000000 -0:317 'inF0' (layout(location=0 ) in 4-component vector of float) +0:317 'inF0' (in 4-component vector of float) 0:318 Sequence 0:318 move second child to first child (temp 4-component vector of float) 0:318 'r053' (temp 4-component vector of float) 0:318 reflect (global 4-component vector of float) -0:318 'inF0' (layout(location=0 ) in 4-component vector of float) -0:318 'inF1' (layout(location=1 ) in 4-component vector of float) +0:318 'inF0' (in 4-component vector of float) +0:318 'inF1' (in 4-component vector of float) 0:319 Sequence 0:319 move second child to first child (temp 4-component vector of float) 0:319 'r054' (temp 4-component vector of float) 0:319 refract (global 4-component vector of float) -0:319 'inF0' (layout(location=0 ) in 4-component vector of float) -0:319 'inF1' (layout(location=1 ) in 4-component vector of float) +0:319 'inF0' (in 4-component vector of float) +0:319 'inF1' (in 4-component vector of float) 0:319 Constant: 0:319 2.000000 0:320 Sequence @@ -4261,17 +4276,17 @@ gl_FragCoord origin is upper left 0:321 move second child to first child (temp 4-component vector of float) 0:321 'r056' (temp 4-component vector of float) 0:321 roundEven (global 4-component vector of float) -0:321 'inF0' (layout(location=0 ) in 4-component vector of float) +0:321 'inF0' (in 4-component vector of float) 0:322 Sequence 0:322 move second child to first child (temp 4-component vector of float) 0:322 'r057' (temp 4-component vector of float) 0:322 inverse sqrt (global 4-component vector of float) -0:322 'inF0' (layout(location=0 ) in 4-component vector of float) +0:322 'inF0' (in 4-component vector of float) 0:323 Sequence 0:323 move second child to first child (temp 4-component vector of float) 0:323 'r058' (temp 4-component vector of float) 0:323 clamp (temp 4-component vector of float) -0:323 'inF0' (layout(location=0 ) in 4-component vector of float) +0:323 'inF0' (in 4-component vector of float) 0:323 Constant: 0:323 0.000000 0:323 Constant: @@ -4280,68 +4295,65 @@ gl_FragCoord origin is upper left 0:324 move second child to first child (temp 4-component vector of float) 0:324 'r059' (temp 4-component vector of float) 0:324 Sign (global 4-component vector of float) -0:324 'inF0' (layout(location=0 ) in 4-component vector of float) +0:324 'inF0' (in 4-component vector of float) 0:325 Sequence 0:325 move second child to first child (temp 4-component vector of float) 0:325 'r060' (temp 4-component vector of float) 0:325 sine (global 4-component vector of float) -0:325 'inF0' (layout(location=0 ) in 4-component vector of float) +0:325 'inF0' (in 4-component vector of float) 0:326 Sequence 0:326 move second child to first child (temp 4-component vector of float) -0:326 'inF1' (layout(location=1 ) in 4-component vector of float) +0:326 'inF1' (in 4-component vector of float) 0:326 sine (temp 4-component vector of float) -0:326 'inF0' (layout(location=0 ) in 4-component vector of float) +0:326 'inF0' (in 4-component vector of float) 0:326 move second child to first child (temp 4-component vector of float) -0:326 'inF2' (layout(location=2 ) in 4-component vector of float) +0:326 'inF2' (in 4-component vector of float) 0:326 cosine (temp 4-component vector of float) -0:326 'inF0' (layout(location=0 ) in 4-component vector of float) +0:326 'inF0' (in 4-component vector of float) 0:327 Sequence 0:327 move second child to first child (temp 4-component vector of float) 0:327 'r061' (temp 4-component vector of float) 0:327 hyp. sine (global 4-component vector of float) -0:327 'inF0' (layout(location=0 ) in 4-component vector of float) +0:327 'inF0' (in 4-component vector of float) 0:328 Sequence 0:328 move second child to first child (temp 4-component vector of float) 0:328 'r062' (temp 4-component vector of float) 0:328 smoothstep (global 4-component vector of float) -0:328 'inF0' (layout(location=0 ) in 4-component vector of float) -0:328 'inF1' (layout(location=1 ) in 4-component vector of float) -0:328 'inF2' (layout(location=2 ) in 4-component vector of float) +0:328 'inF0' (in 4-component vector of float) +0:328 'inF1' (in 4-component vector of float) +0:328 'inF2' (in 4-component vector of float) 0:329 Sequence 0:329 move second child to first child (temp 4-component vector of float) 0:329 'r063' (temp 4-component vector of float) 0:329 sqrt (global 4-component vector of float) -0:329 'inF0' (layout(location=0 ) in 4-component vector of float) +0:329 'inF0' (in 4-component vector of float) 0:330 Sequence 0:330 move second child to first child (temp 4-component vector of float) 0:330 'r064' (temp 4-component vector of float) 0:330 step (global 4-component vector of float) -0:330 'inF0' (layout(location=0 ) in 4-component vector of float) -0:330 'inF1' (layout(location=1 ) in 4-component vector of float) +0:330 'inF0' (in 4-component vector of float) +0:330 'inF1' (in 4-component vector of float) 0:331 Sequence 0:331 move second child to first child (temp 4-component vector of float) 0:331 'r065' (temp 4-component vector of float) 0:331 tangent (global 4-component vector of float) -0:331 'inF0' (layout(location=0 ) in 4-component vector of float) +0:331 'inF0' (in 4-component vector of float) 0:332 Sequence 0:332 move second child to first child (temp 4-component vector of float) 0:332 'r066' (temp 4-component vector of float) 0:332 hyp. tangent (global 4-component vector of float) -0:332 'inF0' (layout(location=0 ) in 4-component vector of float) +0:332 'inF0' (in 4-component vector of float) 0:334 Sequence 0:334 move second child to first child (temp 4-component vector of float) 0:334 'r067' (temp 4-component vector of float) 0:334 trunc (global 4-component vector of float) -0:334 'inF0' (layout(location=0 ) in 4-component vector of float) -0:337 Sequence -0:337 move second child to first child (temp 4-component vector of float) -0:? '@entryPointOutput' (layout(location=0 ) out 4-component vector of float) -0:? Constant: -0:? 1.000000 -0:? 2.000000 -0:? 3.000000 -0:? 4.000000 -0:337 Branch: Return +0:334 'inF0' (in 4-component vector of float) +0:337 Branch: Return with expression +0:? Constant: +0:? 1.000000 +0:? 2.000000 +0:? 3.000000 +0:? 4.000000 0:401 Function Definition: PixelShaderFunction2x2(mf22;mf22;mf22; (global 2X2 matrix of float) 0:401 Function Parameters: 0:401 'inF0' (in 2X2 matrix of float) @@ -5253,20 +5265,20 @@ gl_FragCoord origin is upper left 0:443 move second child to first child (temp float) 0:443 'r0' (temp float) 0:443 component-wise multiply (temp float) -0:443 'inF0' (in float) 0:443 'inF1' (in float) +0:443 'inF0' (in float) 0:443 Sequence 0:443 move second child to first child (temp 2-component vector of float) 0:443 'r1' (temp 2-component vector of float) 0:443 vector-scale (temp 2-component vector of float) -0:443 'inFV0' (in 2-component vector of float) 0:443 'inF0' (in float) +0:443 'inFV0' (in 2-component vector of float) 0:443 Sequence 0:443 move second child to first child (temp 2-component vector of float) 0:443 'r2' (temp 2-component vector of float) 0:443 vector-scale (temp 2-component vector of float) -0:443 'inF0' (in float) 0:443 'inFV0' (in 2-component vector of float) +0:443 'inF0' (in float) 0:443 Sequence 0:443 move second child to first child (temp float) 0:443 'r3' (temp float) @@ -5276,33 +5288,33 @@ gl_FragCoord origin is upper left 0:443 Sequence 0:443 move second child to first child (temp 2-component vector of float) 0:443 'r4' (temp 2-component vector of float) -0:443 matrix-times-vector (temp 2-component vector of float) -0:443 'inFM0' (in 2X2 matrix of float) -0:443 'inFV0' (in 2-component vector of float) -0:443 Sequence -0:443 move second child to first child (temp 2-component vector of float) -0:443 'r5' (temp 2-component vector of float) 0:443 vector-times-matrix (temp 2-component vector of float) 0:443 'inFV0' (in 2-component vector of float) 0:443 'inFM0' (in 2X2 matrix of float) 0:443 Sequence +0:443 move second child to first child (temp 2-component vector of float) +0:443 'r5' (temp 2-component vector of float) +0:443 matrix-times-vector (temp 2-component vector of float) +0:443 'inFM0' (in 2X2 matrix of float) +0:443 'inFV0' (in 2-component vector of float) +0:443 Sequence 0:443 move second child to first child (temp 2X2 matrix of float) 0:443 'r6' (temp 2X2 matrix of float) 0:443 matrix-scale (temp 2X2 matrix of float) -0:443 'inFM0' (in 2X2 matrix of float) 0:443 'inF0' (in float) +0:443 'inFM0' (in 2X2 matrix of float) 0:443 Sequence 0:443 move second child to first child (temp 2X2 matrix of float) 0:443 'r7' (temp 2X2 matrix of float) 0:443 matrix-scale (temp 2X2 matrix of float) -0:443 'inF0' (in float) 0:443 'inFM0' (in 2X2 matrix of float) +0:443 'inF0' (in float) 0:443 Sequence 0:443 move second child to first child (temp 2X2 matrix of float) 0:443 'r8' (temp 2X2 matrix of float) 0:443 matrix-multiply (temp 2X2 matrix of float) -0:443 'inFM0' (in 2X2 matrix of float) 0:443 'inFM1' (in 2X2 matrix of float) +0:443 'inFM0' (in 2X2 matrix of float) 0:449 Function Definition: TestGenMul3(f1;f1;vf3;vf3;mf33;mf33; (global void) 0:449 Function Parameters: 0:449 'inF0' (in float) @@ -5316,20 +5328,20 @@ gl_FragCoord origin is upper left 0:450 move second child to first child (temp float) 0:450 'r0' (temp float) 0:450 component-wise multiply (temp float) -0:450 'inF0' (in float) 0:450 'inF1' (in float) +0:450 'inF0' (in float) 0:450 Sequence 0:450 move second child to first child (temp 3-component vector of float) 0:450 'r1' (temp 3-component vector of float) 0:450 vector-scale (temp 3-component vector of float) -0:450 'inFV0' (in 3-component vector of float) 0:450 'inF0' (in float) +0:450 'inFV0' (in 3-component vector of float) 0:450 Sequence 0:450 move second child to first child (temp 3-component vector of float) 0:450 'r2' (temp 3-component vector of float) 0:450 vector-scale (temp 3-component vector of float) -0:450 'inF0' (in float) 0:450 'inFV0' (in 3-component vector of float) +0:450 'inF0' (in float) 0:450 Sequence 0:450 move second child to first child (temp float) 0:450 'r3' (temp float) @@ -5339,33 +5351,33 @@ gl_FragCoord origin is upper left 0:450 Sequence 0:450 move second child to first child (temp 3-component vector of float) 0:450 'r4' (temp 3-component vector of float) -0:450 matrix-times-vector (temp 3-component vector of float) -0:450 'inFM0' (in 3X3 matrix of float) -0:450 'inFV0' (in 3-component vector of float) -0:450 Sequence -0:450 move second child to first child (temp 3-component vector of float) -0:450 'r5' (temp 3-component vector of float) 0:450 vector-times-matrix (temp 3-component vector of float) 0:450 'inFV0' (in 3-component vector of float) 0:450 'inFM0' (in 3X3 matrix of float) 0:450 Sequence +0:450 move second child to first child (temp 3-component vector of float) +0:450 'r5' (temp 3-component vector of float) +0:450 matrix-times-vector (temp 3-component vector of float) +0:450 'inFM0' (in 3X3 matrix of float) +0:450 'inFV0' (in 3-component vector of float) +0:450 Sequence 0:450 move second child to first child (temp 3X3 matrix of float) 0:450 'r6' (temp 3X3 matrix of float) 0:450 matrix-scale (temp 3X3 matrix of float) -0:450 'inFM0' (in 3X3 matrix of float) 0:450 'inF0' (in float) +0:450 'inFM0' (in 3X3 matrix of float) 0:450 Sequence 0:450 move second child to first child (temp 3X3 matrix of float) 0:450 'r7' (temp 3X3 matrix of float) 0:450 matrix-scale (temp 3X3 matrix of float) -0:450 'inF0' (in float) 0:450 'inFM0' (in 3X3 matrix of float) +0:450 'inF0' (in float) 0:450 Sequence 0:450 move second child to first child (temp 3X3 matrix of float) 0:450 'r8' (temp 3X3 matrix of float) 0:450 matrix-multiply (temp 3X3 matrix of float) -0:450 'inFM0' (in 3X3 matrix of float) 0:450 'inFM1' (in 3X3 matrix of float) +0:450 'inFM0' (in 3X3 matrix of float) 0:456 Function Definition: TestGenMul4(f1;f1;vf4;vf4;mf44;mf44; (global void) 0:456 Function Parameters: 0:456 'inF0' (in float) @@ -5379,20 +5391,20 @@ gl_FragCoord origin is upper left 0:457 move second child to first child (temp float) 0:457 'r0' (temp float) 0:457 component-wise multiply (temp float) -0:457 'inF0' (in float) 0:457 'inF1' (in float) +0:457 'inF0' (in float) 0:457 Sequence 0:457 move second child to first child (temp 4-component vector of float) 0:457 'r1' (temp 4-component vector of float) 0:457 vector-scale (temp 4-component vector of float) -0:457 'inFV0' (in 4-component vector of float) 0:457 'inF0' (in float) +0:457 'inFV0' (in 4-component vector of float) 0:457 Sequence 0:457 move second child to first child (temp 4-component vector of float) 0:457 'r2' (temp 4-component vector of float) 0:457 vector-scale (temp 4-component vector of float) -0:457 'inF0' (in float) 0:457 'inFV0' (in 4-component vector of float) +0:457 'inF0' (in float) 0:457 Sequence 0:457 move second child to first child (temp float) 0:457 'r3' (temp float) @@ -5402,75 +5414,75 @@ gl_FragCoord origin is upper left 0:457 Sequence 0:457 move second child to first child (temp 4-component vector of float) 0:457 'r4' (temp 4-component vector of float) -0:457 matrix-times-vector (temp 4-component vector of float) -0:457 'inFM0' (in 4X4 matrix of float) -0:457 'inFV0' (in 4-component vector of float) -0:457 Sequence -0:457 move second child to first child (temp 4-component vector of float) -0:457 'r5' (temp 4-component vector of float) 0:457 vector-times-matrix (temp 4-component vector of float) 0:457 'inFV0' (in 4-component vector of float) 0:457 'inFM0' (in 4X4 matrix of float) 0:457 Sequence +0:457 move second child to first child (temp 4-component vector of float) +0:457 'r5' (temp 4-component vector of float) +0:457 matrix-times-vector (temp 4-component vector of float) +0:457 'inFM0' (in 4X4 matrix of float) +0:457 'inFV0' (in 4-component vector of float) +0:457 Sequence 0:457 move second child to first child (temp 4X4 matrix of float) 0:457 'r6' (temp 4X4 matrix of float) 0:457 matrix-scale (temp 4X4 matrix of float) -0:457 'inFM0' (in 4X4 matrix of float) 0:457 'inF0' (in float) +0:457 'inFM0' (in 4X4 matrix of float) 0:457 Sequence 0:457 move second child to first child (temp 4X4 matrix of float) 0:457 'r7' (temp 4X4 matrix of float) 0:457 matrix-scale (temp 4X4 matrix of float) -0:457 'inF0' (in float) 0:457 'inFM0' (in 4X4 matrix of float) +0:457 'inF0' (in float) 0:457 Sequence 0:457 move second child to first child (temp 4X4 matrix of float) 0:457 'r8' (temp 4X4 matrix of float) 0:457 matrix-multiply (temp 4X4 matrix of float) -0:457 'inFM0' (in 4X4 matrix of float) 0:457 'inFM1' (in 4X4 matrix of float) -0:466 Function Definition: TestGenMulNxM(f1;f1;vf2;vf3;mf32;mf23;mf33;mf43;mf42; (global void) +0:457 'inFM0' (in 4X4 matrix of float) +0:466 Function Definition: TestGenMulNxM(f1;f1;vf2;vf3;mf23;mf32;mf33;mf34;mf24; (global void) 0:466 Function Parameters: 0:466 'inF0' (in float) 0:466 'inF1' (in float) 0:466 'inFV2' (in 2-component vector of float) 0:466 'inFV3' (in 3-component vector of float) -0:466 'inFM2x3' (in 3X2 matrix of float) -0:466 'inFM3x2' (in 2X3 matrix of float) +0:466 'inFM2x3' (in 2X3 matrix of float) +0:466 'inFM3x2' (in 3X2 matrix of float) 0:466 'inFM3x3' (in 3X3 matrix of float) -0:466 'inFM3x4' (in 4X3 matrix of float) -0:466 'inFM2x4' (in 4X2 matrix of float) +0:466 'inFM3x4' (in 3X4 matrix of float) +0:466 'inFM2x4' (in 2X4 matrix of float) 0:? Sequence 0:467 Sequence 0:467 move second child to first child (temp float) 0:467 'r00' (temp float) 0:467 component-wise multiply (temp float) -0:467 'inF0' (in float) 0:467 'inF1' (in float) +0:467 'inF0' (in float) 0:468 Sequence 0:468 move second child to first child (temp 2-component vector of float) 0:468 'r01' (temp 2-component vector of float) 0:468 vector-scale (temp 2-component vector of float) -0:468 'inFV2' (in 2-component vector of float) 0:468 'inF0' (in float) +0:468 'inFV2' (in 2-component vector of float) 0:469 Sequence 0:469 move second child to first child (temp 3-component vector of float) 0:469 'r02' (temp 3-component vector of float) 0:469 vector-scale (temp 3-component vector of float) -0:469 'inFV3' (in 3-component vector of float) 0:469 'inF0' (in float) +0:469 'inFV3' (in 3-component vector of float) 0:470 Sequence 0:470 move second child to first child (temp 2-component vector of float) 0:470 'r03' (temp 2-component vector of float) 0:470 vector-scale (temp 2-component vector of float) -0:470 'inF0' (in float) 0:470 'inFV2' (in 2-component vector of float) +0:470 'inF0' (in float) 0:471 Sequence 0:471 move second child to first child (temp 3-component vector of float) 0:471 'r04' (temp 3-component vector of float) 0:471 vector-scale (temp 3-component vector of float) -0:471 'inF0' (in float) 0:471 'inFV3' (in 3-component vector of float) +0:471 'inF0' (in float) 0:472 Sequence 0:472 move second child to first child (temp float) 0:472 'r05' (temp float) @@ -5486,63 +5498,81 @@ gl_FragCoord origin is upper left 0:474 Sequence 0:474 move second child to first child (temp 3-component vector of float) 0:474 'r07' (temp 3-component vector of float) -0:474 vector-times-matrix (temp 3-component vector of float) +0:474 matrix-times-vector (temp 3-component vector of float) +0:474 'inFM2x3' (in 2X3 matrix of float) 0:474 'inFV2' (in 2-component vector of float) -0:474 'inFM2x3' (in 3X2 matrix of float) 0:475 Sequence 0:475 move second child to first child (temp 2-component vector of float) 0:475 'r08' (temp 2-component vector of float) -0:475 vector-times-matrix (temp 2-component vector of float) +0:475 matrix-times-vector (temp 2-component vector of float) +0:475 'inFM3x2' (in 3X2 matrix of float) 0:475 'inFV3' (in 3-component vector of float) -0:475 'inFM3x2' (in 2X3 matrix of float) 0:476 Sequence 0:476 move second child to first child (temp 2-component vector of float) 0:476 'r09' (temp 2-component vector of float) -0:476 matrix-times-vector (temp 2-component vector of float) -0:476 'inFM2x3' (in 3X2 matrix of float) +0:476 vector-times-matrix (temp 2-component vector of float) 0:476 'inFV3' (in 3-component vector of float) +0:476 'inFM2x3' (in 2X3 matrix of float) 0:477 Sequence 0:477 move second child to first child (temp 3-component vector of float) 0:477 'r10' (temp 3-component vector of float) -0:477 matrix-times-vector (temp 3-component vector of float) -0:477 'inFM3x2' (in 2X3 matrix of float) +0:477 vector-times-matrix (temp 3-component vector of float) 0:477 'inFV2' (in 2-component vector of float) +0:477 'inFM3x2' (in 3X2 matrix of float) 0:478 Sequence -0:478 move second child to first child (temp 3X2 matrix of float) -0:478 'r11' (temp 3X2 matrix of float) -0:478 matrix-scale (temp 3X2 matrix of float) -0:478 'inFM2x3' (in 3X2 matrix of float) +0:478 move second child to first child (temp 2X3 matrix of float) +0:478 'r11' (temp 2X3 matrix of float) +0:478 matrix-scale (temp 2X3 matrix of float) 0:478 'inF0' (in float) +0:478 'inFM2x3' (in 2X3 matrix of float) 0:479 Sequence -0:479 move second child to first child (temp 2X3 matrix of float) -0:479 'r12' (temp 2X3 matrix of float) -0:479 matrix-scale (temp 2X3 matrix of float) -0:479 'inFM3x2' (in 2X3 matrix of float) +0:479 move second child to first child (temp 3X2 matrix of float) +0:479 'r12' (temp 3X2 matrix of float) +0:479 matrix-scale (temp 3X2 matrix of float) 0:479 'inF0' (in float) +0:479 'inFM3x2' (in 3X2 matrix of float) 0:480 Sequence 0:480 move second child to first child (temp 2X2 matrix of float) 0:480 'r13' (temp 2X2 matrix of float) 0:480 matrix-multiply (temp 2X2 matrix of float) -0:480 'inFM2x3' (in 3X2 matrix of float) -0:480 'inFM3x2' (in 2X3 matrix of float) +0:480 'inFM3x2' (in 3X2 matrix of float) +0:480 'inFM2x3' (in 2X3 matrix of float) 0:481 Sequence -0:481 move second child to first child (temp 3X2 matrix of float) -0:481 'r14' (temp 3X2 matrix of float) -0:481 matrix-multiply (temp 3X2 matrix of float) -0:481 'inFM2x3' (in 3X2 matrix of float) +0:481 move second child to first child (temp 2X3 matrix of float) +0:481 'r14' (temp 2X3 matrix of float) +0:481 matrix-multiply (temp 2X3 matrix of float) 0:481 'inFM3x3' (in 3X3 matrix of float) +0:481 'inFM2x3' (in 2X3 matrix of float) 0:482 Sequence -0:482 move second child to first child (temp 4X2 matrix of float) -0:482 'r15' (temp 4X2 matrix of float) -0:482 matrix-multiply (temp 4X2 matrix of float) -0:482 'inFM2x3' (in 3X2 matrix of float) -0:482 'inFM3x4' (in 4X3 matrix of float) +0:482 move second child to first child (temp 2X4 matrix of float) +0:482 'r15' (temp 2X4 matrix of float) +0:482 matrix-multiply (temp 2X4 matrix of float) +0:482 'inFM3x4' (in 3X4 matrix of float) +0:482 'inFM2x3' (in 2X3 matrix of float) 0:483 Sequence -0:483 move second child to first child (temp 4X3 matrix of float) -0:483 'r16' (temp 4X3 matrix of float) -0:483 matrix-multiply (temp 4X3 matrix of float) -0:483 'inFM3x2' (in 2X3 matrix of float) -0:483 'inFM2x4' (in 4X2 matrix of float) +0:483 move second child to first child (temp 3X4 matrix of float) +0:483 'r16' (temp 3X4 matrix of float) +0:483 matrix-multiply (temp 3X4 matrix of float) +0:483 'inFM2x4' (in 2X4 matrix of float) +0:483 'inFM3x2' (in 3X2 matrix of float) +0:489 Function Definition: main( (global structure{temp 4-component vector of float color}) +0:489 Function Parameters: +0:? Sequence +0:491 move second child to first child (temp 4-component vector of float) +0:491 color: direct index for structure (temp 4-component vector of float) +0:491 'ps_output' (temp structure{temp 4-component vector of float color}) +0:491 Constant: +0:491 0 (const int) +0:491 Constant: +0:491 1.000000 +0:491 1.000000 +0:491 1.000000 +0:491 1.000000 +0:492 Sequence +0:492 move second child to first child (temp structure{temp 4-component vector of float color}) +0:? '@entryPointOutput' (layout(location=0 ) out structure{temp 4-component vector of float color}) +0:492 'ps_output' (temp structure{temp 4-component vector of float color}) +0:492 Branch: Return 0:? Linker Objects 0:? 'gs_ua' (global uint) 0:? 'gs_ub' (global uint) @@ -5559,15 +5589,15 @@ gl_FragCoord origin is upper left // Module Version 10000 // Generated by (magic number): 80001 -// Id's are bound by 1814 +// Id's are bound by 1824 Capability Shader Capability DerivativeControl 1: ExtInstImport "GLSL.std.450" MemoryModel Logical GLSL450 - EntryPoint Fragment 4 "PixelShaderFunction" 810 837 845 854 1060 + EntryPoint Fragment 4 "main" 1805 ExecutionMode 4 OriginUpperLeft - Name 4 "PixelShaderFunction" + Name 4 "main" Name 16 "PixelShaderFunctionS(f1;f1;f1;u1;u1;" Name 11 "inF0" Name 12 "inF1" @@ -5590,306 +5620,307 @@ gl_FragCoord origin is upper left Name 43 "inF2" Name 44 "inU0" Name 45 "inU1" - Name 54 "PixelShaderFunction2x2(mf22;mf22;mf22;" - Name 51 "inF0" - Name 52 "inF1" - Name 53 "inF2" - Name 62 "PixelShaderFunction3x3(mf33;mf33;mf33;" - Name 59 "inF0" - Name 60 "inF1" - Name 61 "inF2" - Name 71 "PixelShaderFunction4x4(mf44;mf44;mf44;" - Name 68 "inF0" - Name 69 "inF1" - Name 70 "inF2" - Name 80 "TestGenMul2(f1;f1;vf2;vf2;mf22;mf22;" - Name 74 "inF0" - Name 75 "inF1" - Name 76 "inFV0" - Name 77 "inFV1" - Name 78 "inFM0" - Name 79 "inFM1" - Name 89 "TestGenMul3(f1;f1;vf3;vf3;mf33;mf33;" - Name 83 "inF0" - Name 84 "inF1" - Name 85 "inFV0" - Name 86 "inFV1" - Name 87 "inFM0" - Name 88 "inFM1" - Name 99 "TestGenMul4(f1;f1;vf4;vf4;mf44;mf44;" - Name 93 "inF0" - Name 94 "inF1" - Name 95 "inFV0" - Name 96 "inFV1" - Name 97 "inFM0" - Name 98 "inFM1" - Name 119 "TestGenMulNxM(f1;f1;vf2;vf3;mf32;mf23;mf33;mf43;mf42;" - Name 110 "inF0" - Name 111 "inF1" - Name 112 "inFV2" - Name 113 "inFV3" - Name 114 "inFM2x3" - Name 115 "inFM3x2" - Name 116 "inFM3x3" - Name 117 "inFM3x4" - Name 118 "inFM2x4" - Name 123 "r000" - Name 126 "r001" - Name 129 "r002" - Name 132 "r003" - Name 135 "r004" - Name 140 "r005" - Name 143 "r006" - Name 146 "r007" - Name 149 "r009" - Name 152 "r010" - Name 156 "r011" - Name 159 "r012" - Name 170 "r014" - Name 173 "r015" - Name 176 "r016" - Name 179 "r017" - Name 182 "r018" - Name 185 "r019" - Name 188 "r020" - Name 191 "r021" - Name 194 "r022" - Name 197 "r023" - Name 200 "r027" - Name 203 "r028" - Name 206 "r029" - Name 210 "r030" - Name 213 "r031" - Name 216 "r033" - Name 220 "r034" - Name 223 "r035" - Name 225 "ResType" - Name 229 "r036" - Name 232 "r037" - Name 235 "r038" - Name 238 "r039" - Name 242 "r039a" - Name 247 "r040" - Name 250 "r041" - Name 255 "r042" - Name 258 "r043" - Name 262 "r044" - Name 266 "r045" - Name 270 "r046" - Name 273 "r047" - Name 277 "r048" - Name 280 "r049" - Name 283 "r050" - Name 286 "r051" - Name 289 "r052" - Name 292 "r053" - Name 299 "r055" - Name 302 "r056" - Name 307 "r057" - Name 310 "r058" - Name 314 "r059" - Name 317 "r060" - Name 320 "r061" - Name 327 "r000" - Name 330 "r001" - Name 333 "r002" - Name 336 "r003" - Name 339 "r004" - Name 344 "r005" - Name 347 "r006" - Name 350 "r007" - Name 353 "r009" - Name 356 "r010" - Name 360 "r011" - Name 363 "r012" - Name 376 "r013" - Name 379 "r015" - Name 382 "r016" - Name 386 "r017" - Name 389 "r018" - Name 392 "r019" - Name 395 "r020" - Name 398 "r021" - Name 401 "r022" - Name 404 "r023" - Name 407 "r026" - Name 411 "r027" - Name 415 "r028" - Name 418 "r029" - Name 421 "r030" - Name 426 "r031" - Name 430 "r032" - Name 432 "r033" - Name 435 "r035" - Name 439 "r036" - Name 442 "r037" - Name 444 "ResType" - Name 448 "r038" - Name 452 "r039" - Name 455 "r040" - Name 458 "r041" - Name 462 "r039a" - Name 467 "r042" - Name 470 "r043" - Name 473 "r044" - Name 477 "r045" - Name 480 "r046" - Name 484 "r047" - Name 488 "r048" - Name 491 "r049" - Name 495 "r050" - Name 498 "r051" - Name 502 "r052" - Name 506 "r053" - Name 511 "r054" - Name 515 "r055" - Name 518 "r056" - Name 521 "r057" - Name 526 "r058" - Name 529 "r059" - Name 536 "r060" - Name 539 "r061" - Name 544 "r062" - Name 547 "r063" - Name 551 "r064" - Name 554 "r065" - Name 557 "r066" - Name 563 "r000" - Name 566 "r001" - Name 569 "r002" - Name 572 "r003" - Name 575 "r004" - Name 580 "r005" - Name 583 "r006" - Name 586 "r007" - Name 589 "r009" - Name 592 "r010" - Name 596 "r011" - Name 599 "r012" - Name 612 "r013" - Name 615 "r014" - Name 618 "r015" - Name 622 "r016" - Name 626 "r017" - Name 629 "r018" - Name 632 "r019" - Name 635 "r020" - Name 638 "r021" - Name 641 "r022" - Name 644 "r023" - Name 647 "r024" - Name 651 "r025" - Name 655 "r029" - Name 658 "r030" - Name 661 "r031" - Name 666 "r032" - Name 670 "r033" - Name 672 "r034" - Name 675 "r036" - Name 679 "r037" - Name 682 "r038" - Name 684 "ResType" - Name 688 "r039" - Name 692 "r040" - Name 695 "r041" - Name 698 "r042" - Name 702 "r039a" - Name 707 "r039b" - Name 713 "r043" - Name 716 "r044" - Name 719 "r045" - Name 723 "r046" - Name 726 "r047" - Name 730 "r048" - Name 734 "r049" - Name 737 "r050" - Name 741 "r051" - Name 744 "r052" - Name 748 "r053" - Name 752 "r054" - Name 756 "r055" - Name 759 "r056" - Name 762 "r057" - Name 765 "r058" - Name 770 "r059" - Name 773 "r060" - Name 780 "r061" - Name 783 "r062" - Name 788 "r063" - Name 791 "r064" - Name 795 "r065" - Name 798 "r066" - Name 801 "r067" - Name 808 "r000" - Name 810 "inF0" - Name 813 "r001" - Name 816 "r002" - Name 819 "r003" - Name 822 "r004" - Name 827 "r005" - Name 832 "r006" - Name 835 "r007" - Name 837 "inU0" - Name 840 "r009" - Name 843 "r010" - Name 845 "inF1" - Name 848 "r011" - Name 851 "r012" - Name 854 "inF2" - Name 865 "r013" - Name 868 "r014" - Name 871 "r015" - Name 874 "r016" - Name 877 "r017" - Name 880 "r018" - Name 883 "r019" - Name 886 "r020" - Name 889 "r021" - Name 892 "r022" - Name 895 "r023" - Name 899 "r024" - Name 903 "r025" - Name 915 "r029" - Name 918 "r030" - Name 921 "r031" - Name 926 "r032" - Name 931 "r033" - Name 933 "r034" - Name 936 "r036" - Name 940 "r037" - Name 943 "r038" - Name 945 "ResType" - Name 949 "r039" - Name 953 "r040" - Name 956 "r041" - Name 959 "r042" - Name 963 "r039a" - Name 968 "r043" - Name 971 "r044" - Name 974 "r045" - Name 978 "r046" - Name 981 "r047" - Name 985 "r048" - Name 989 "r049" - Name 992 "r050" - Name 996 "r051" - Name 999 "r052" - Name 1003 "r053" - Name 1007 "r054" - Name 1011 "r055" - Name 1014 "r056" - Name 1017 "r057" - Name 1020 "r058" - Name 1025 "r059" - Name 1028 "r060" - Name 1035 "r061" - Name 1038 "r062" - Name 1043 "r063" - Name 1046 "r064" - Name 1050 "r065" - Name 1053 "r066" - Name 1056 "r067" - Name 1060 "@entryPointOutput" + Name 58 "PixelShaderFunction(vf4;vf4;vf4;vu4;vu4;" + Name 53 "inF0" + Name 54 "inF1" + Name 55 "inF2" + Name 56 "inU0" + Name 57 "inU1" + Name 66 "PixelShaderFunction2x2(mf22;mf22;mf22;" + Name 63 "inF0" + Name 64 "inF1" + Name 65 "inF2" + Name 74 "PixelShaderFunction3x3(mf33;mf33;mf33;" + Name 71 "inF0" + Name 72 "inF1" + Name 73 "inF2" + Name 82 "PixelShaderFunction4x4(mf44;mf44;mf44;" + Name 79 "inF0" + Name 80 "inF1" + Name 81 "inF2" + Name 91 "TestGenMul2(f1;f1;vf2;vf2;mf22;mf22;" + Name 85 "inF0" + Name 86 "inF1" + Name 87 "inFV0" + Name 88 "inFV1" + Name 89 "inFM0" + Name 90 "inFM1" + Name 100 "TestGenMul3(f1;f1;vf3;vf3;mf33;mf33;" + Name 94 "inF0" + Name 95 "inF1" + Name 96 "inFV0" + Name 97 "inFV1" + Name 98 "inFM0" + Name 99 "inFM1" + Name 109 "TestGenMul4(f1;f1;vf4;vf4;mf44;mf44;" + Name 103 "inF0" + Name 104 "inF1" + Name 105 "inFV0" + Name 106 "inFV1" + Name 107 "inFM0" + Name 108 "inFM1" + Name 129 "TestGenMulNxM(f1;f1;vf2;vf3;mf23;mf32;mf33;mf34;mf24;" + Name 120 "inF0" + Name 121 "inF1" + Name 122 "inFV2" + Name 123 "inFV3" + Name 124 "inFM2x3" + Name 125 "inFM3x2" + Name 126 "inFM3x3" + Name 127 "inFM3x4" + Name 128 "inFM2x4" + Name 133 "r000" + Name 136 "r001" + Name 139 "r002" + Name 142 "r003" + Name 145 "r004" + Name 150 "r005" + Name 153 "r006" + Name 156 "r007" + Name 159 "r009" + Name 162 "r010" + Name 166 "r011" + Name 169 "r012" + Name 180 "r014" + Name 183 "r015" + Name 186 "r016" + Name 189 "r017" + Name 192 "r018" + Name 195 "r019" + Name 198 "r020" + Name 201 "r021" + Name 204 "r022" + Name 207 "r023" + Name 210 "r027" + Name 213 "r028" + Name 216 "r029" + Name 220 "r030" + Name 223 "r031" + Name 226 "r033" + Name 230 "r034" + Name 233 "r035" + Name 235 "ResType" + Name 239 "r036" + Name 242 "r037" + Name 245 "r038" + Name 248 "r039" + Name 252 "r039a" + Name 257 "r040" + Name 260 "r041" + Name 265 "r042" + Name 268 "r043" + Name 272 "r044" + Name 276 "r045" + Name 280 "r046" + Name 283 "r047" + Name 287 "r048" + Name 290 "r049" + Name 293 "r050" + Name 296 "r051" + Name 299 "r052" + Name 302 "r053" + Name 309 "r055" + Name 312 "r056" + Name 317 "r057" + Name 320 "r058" + Name 324 "r059" + Name 327 "r060" + Name 330 "r061" + Name 337 "r000" + Name 340 "r001" + Name 343 "r002" + Name 346 "r003" + Name 349 "r004" + Name 354 "r005" + Name 357 "r006" + Name 360 "r007" + Name 363 "r009" + Name 366 "r010" + Name 370 "r011" + Name 373 "r012" + Name 386 "r013" + Name 389 "r015" + Name 392 "r016" + Name 396 "r017" + Name 399 "r018" + Name 402 "r019" + Name 405 "r020" + Name 408 "r021" + Name 411 "r022" + Name 414 "r023" + Name 417 "r026" + Name 421 "r027" + Name 425 "r028" + Name 428 "r029" + Name 431 "r030" + Name 436 "r031" + Name 440 "r032" + Name 442 "r033" + Name 445 "r035" + Name 449 "r036" + Name 452 "r037" + Name 454 "ResType" + Name 458 "r038" + Name 462 "r039" + Name 465 "r040" + Name 468 "r041" + Name 472 "r039a" + Name 477 "r042" + Name 480 "r043" + Name 483 "r044" + Name 487 "r045" + Name 490 "r046" + Name 494 "r047" + Name 498 "r048" + Name 501 "r049" + Name 505 "r050" + Name 508 "r051" + Name 512 "r052" + Name 516 "r053" + Name 521 "r054" + Name 525 "r055" + Name 528 "r056" + Name 531 "r057" + Name 536 "r058" + Name 539 "r059" + Name 546 "r060" + Name 549 "r061" + Name 554 "r062" + Name 557 "r063" + Name 561 "r064" + Name 564 "r065" + Name 567 "r066" + Name 573 "r000" + Name 576 "r001" + Name 579 "r002" + Name 582 "r003" + Name 585 "r004" + Name 590 "r005" + Name 593 "r006" + Name 596 "r007" + Name 599 "r009" + Name 602 "r010" + Name 606 "r011" + Name 609 "r012" + Name 622 "r013" + Name 625 "r014" + Name 628 "r015" + Name 632 "r016" + Name 636 "r017" + Name 639 "r018" + Name 642 "r019" + Name 645 "r020" + Name 648 "r021" + Name 651 "r022" + Name 654 "r023" + Name 657 "r024" + Name 661 "r025" + Name 665 "r029" + Name 668 "r030" + Name 671 "r031" + Name 676 "r032" + Name 680 "r033" + Name 682 "r034" + Name 685 "r036" + Name 689 "r037" + Name 692 "r038" + Name 694 "ResType" + Name 698 "r039" + Name 702 "r040" + Name 705 "r041" + Name 708 "r042" + Name 712 "r039a" + Name 717 "r039b" + Name 723 "r043" + Name 726 "r044" + Name 729 "r045" + Name 733 "r046" + Name 736 "r047" + Name 740 "r048" + Name 744 "r049" + Name 747 "r050" + Name 751 "r051" + Name 754 "r052" + Name 758 "r053" + Name 762 "r054" + Name 766 "r055" + Name 769 "r056" + Name 772 "r057" + Name 775 "r058" + Name 780 "r059" + Name 783 "r060" + Name 790 "r061" + Name 793 "r062" + Name 798 "r063" + Name 801 "r064" + Name 805 "r065" + Name 808 "r066" + Name 811 "r067" + Name 818 "r000" + Name 821 "r001" + Name 824 "r002" + Name 827 "r003" + Name 830 "r004" + Name 835 "r005" + Name 838 "r006" + Name 841 "r007" + Name 844 "r009" + Name 847 "r010" + Name 851 "r011" + Name 854 "r012" + Name 867 "r013" + Name 870 "r014" + Name 873 "r015" + Name 876 "r016" + Name 879 "r017" + Name 882 "r018" + Name 885 "r019" + Name 888 "r020" + Name 891 "r021" + Name 894 "r022" + Name 897 "r023" + Name 901 "r024" + Name 905 "r025" + Name 916 "r029" + Name 919 "r030" + Name 922 "r031" + Name 927 "r032" + Name 932 "r033" + Name 934 "r034" + Name 937 "r036" + Name 941 "r037" + Name 944 "r038" + Name 946 "ResType" + Name 950 "r039" + Name 954 "r040" + Name 957 "r041" + Name 960 "r042" + Name 964 "r039a" + Name 969 "r043" + Name 972 "r044" + Name 975 "r045" + Name 979 "r046" + Name 982 "r047" + Name 986 "r048" + Name 990 "r049" + Name 993 "r050" + Name 997 "r051" + Name 1000 "r052" + Name 1004 "r053" + Name 1008 "r054" + Name 1012 "r055" + Name 1015 "r056" + Name 1018 "r057" + Name 1021 "r058" + Name 1026 "r059" + Name 1029 "r060" + Name 1036 "r061" + Name 1039 "r062" + Name 1044 "r063" + Name 1047 "r064" + Name 1051 "r065" + Name 1054 "r066" + Name 1057 "r067" Name 1064 "r000" Name 1067 "r001" Name 1072 "r003" @@ -6075,23 +6106,23 @@ gl_FragCoord origin is upper left Name 1786 "r14" Name 1790 "r15" Name 1794 "r16" - Name 1799 "gs_ua" - Name 1800 "gs_ub" - Name 1801 "gs_uc" - Name 1803 "gs_ua2" - Name 1804 "gs_ub2" - Name 1805 "gs_uc2" - Name 1807 "gs_ua3" - Name 1808 "gs_ub3" - Name 1809 "gs_uc3" - Name 1811 "gs_ua4" - Name 1812 "gs_ub4" - Name 1813 "gs_uc4" - Decorate 810(inF0) Location 0 - Decorate 837(inU0) Location 3 - Decorate 845(inF1) Location 1 - Decorate 854(inF2) Location 2 - Decorate 1060(@entryPointOutput) Location 0 + Name 1798 "PS_OUTPUT" + MemberName 1798(PS_OUTPUT) 0 "color" + Name 1800 "ps_output" + Name 1805 "@entryPointOutput" + Name 1809 "gs_ua" + Name 1810 "gs_ub" + Name 1811 "gs_uc" + Name 1813 "gs_ua2" + Name 1814 "gs_ub2" + Name 1815 "gs_uc2" + Name 1817 "gs_ua3" + Name 1818 "gs_ub3" + Name 1819 "gs_uc3" + Name 1821 "gs_ua4" + Name 1822 "gs_ub4" + Name 1823 "gs_uc4" + Decorate 1805(@entryPointOutput) Location 0 2: TypeVoid 3: TypeFunction 2 6: TypeFloat 32 @@ -6110,426 +6141,128 @@ gl_FragCoord origin is upper left 38: TypeVector 8(int) 3 39: TypePointer Function 38(ivec3) 40: TypeFunction 36(fvec3) 37(ptr) 37(ptr) 37(ptr) 39(ptr) 39(ptr) - 48: TypeMatrix 24(fvec2) 2 - 49: TypePointer Function 48 - 50: TypeFunction 48 49(ptr) 49(ptr) 49(ptr) - 56: TypeMatrix 36(fvec3) 3 - 57: TypePointer Function 56 - 58: TypeFunction 56 57(ptr) 57(ptr) 57(ptr) - 64: TypeVector 6(float) 4 - 65: TypeMatrix 64(fvec4) 4 - 66: TypePointer Function 65 - 67: TypeFunction 65 66(ptr) 66(ptr) 66(ptr) - 73: TypeFunction 2 7(ptr) 7(ptr) 25(ptr) 25(ptr) 49(ptr) 49(ptr) - 82: TypeFunction 2 7(ptr) 7(ptr) 37(ptr) 37(ptr) 57(ptr) 57(ptr) - 91: TypePointer Function 64(fvec4) - 92: TypeFunction 2 7(ptr) 7(ptr) 91(ptr) 91(ptr) 66(ptr) 66(ptr) - 101: TypeMatrix 24(fvec2) 3 - 102: TypePointer Function 101 - 103: TypeMatrix 36(fvec3) 2 - 104: TypePointer Function 103 - 105: TypeMatrix 36(fvec3) 4 - 106: TypePointer Function 105 - 107: TypeMatrix 24(fvec2) 4 - 108: TypePointer Function 107 - 109: TypeFunction 2 7(ptr) 7(ptr) 25(ptr) 37(ptr) 102(ptr) 104(ptr) 57(ptr) 106(ptr) 108(ptr) - 121: TypeBool - 122: TypePointer Function 121(bool) - 138: TypeInt 32 1 - 139: TypePointer Function 138(int) - 165: 6(float) Constant 0 - 177: 8(int) Constant 7 - 207: 138(int) Constant 7 - 225(ResType): TypeStruct 6(float) 138(int) - 253: 6(float) Constant 1050288283 - 274: 6(float) Constant 1065353216 - 278: 8(int) Constant 2 - 342: TypeVector 138(int) 2 - 343: TypePointer Function 342(ivec2) - 369: 24(fvec2) ConstantComposite 165 165 - 370: TypeVector 121(bool) 2 - 383: 8(int) Constant 3 - 384: 26(ivec2) ConstantComposite 177 383 - 427: 8(int) Constant 8 - 428: 26(ivec2) ConstantComposite 177 427 - 444(ResType): TypeStruct 24(fvec2) 342(ivec2) - 451: TypePointer Function 370(bvec2) - 509: 6(float) Constant 1073741824 - 512: 8(int) Constant 1 - 513: 26(ivec2) ConstantComposite 512 278 - 560: 24(fvec2) ConstantComposite 274 509 - 578: TypeVector 138(int) 3 - 579: TypePointer Function 578(ivec3) - 605: 36(fvec3) ConstantComposite 165 165 165 - 606: TypeVector 121(bool) 3 - 619: 8(int) Constant 5 - 620: 38(ivec3) ConstantComposite 177 383 619 - 667: 8(int) Constant 4 - 668: 38(ivec3) ConstantComposite 278 383 667 - 684(ResType): TypeStruct 36(fvec3) 578(ivec3) - 691: TypePointer Function 606(bvec3) - 710: 6(float) Constant 1050253722 - 757: 38(ivec3) ConstantComposite 512 278 383 - 804: 6(float) Constant 1077936128 - 805: 36(fvec3) ConstantComposite 274 509 804 - 809: TypePointer Input 64(fvec4) - 810(inF0): 809(ptr) Variable Input - 825: TypeVector 138(int) 4 - 826: TypePointer Function 825(ivec4) - 830: TypeVector 8(int) 4 - 831: TypePointer Function 830(ivec4) - 836: TypePointer Input 830(ivec4) - 837(inU0): 836(ptr) Variable Input - 845(inF1): 809(ptr) Variable Input - 854(inF2): 809(ptr) Variable Input - 858: 64(fvec4) ConstantComposite 165 165 165 165 - 859: TypeVector 121(bool) 4 - 872: 830(ivec4) ConstantComposite 177 383 619 278 - 904: TypePointer Input 6(float) - 927: 8(int) Constant 9 - 928: 8(int) Constant 10 - 929: 830(ivec4) ConstantComposite 177 427 927 928 - 945(ResType): TypeStruct 64(fvec4) 825(ivec4) - 952: TypePointer Function 859(bvec4) - 1012: 830(ivec4) ConstantComposite 512 278 383 667 - 1059: TypePointer Output 64(fvec4) -1060(@entryPointOutput): 1059(ptr) Variable Output - 1061: 6(float) Constant 1082130432 - 1062: 64(fvec4) ConstantComposite 274 509 804 1061 - 1089: 48 ConstantComposite 369 369 - 1090: TypeMatrix 370(bvec2) 2 - 1155(ResType): TypeStruct 48 342(ivec2) - 1243: 24(fvec2) ConstantComposite 509 509 - 1244: 48 ConstantComposite 1243 1243 - 1272: 56 ConstantComposite 605 605 605 - 1273: TypeMatrix 606(bvec3) 3 - 1341(ResType): TypeStruct 56 578(ivec3) - 1429: 36(fvec3) ConstantComposite 804 804 804 - 1430: 56 ConstantComposite 1429 1429 1429 - 1458: 65 ConstantComposite 858 858 858 858 - 1459: TypeMatrix 859(bvec4) 4 - 1530(ResType): TypeStruct 65 825(ivec4) - 1618: 64(fvec4) ConstantComposite 1061 1061 1061 1061 - 1619: 65 ConstantComposite 1618 1618 1618 1618 - 1798: TypePointer Private 8(int) - 1799(gs_ua): 1798(ptr) Variable Private - 1800(gs_ub): 1798(ptr) Variable Private - 1801(gs_uc): 1798(ptr) Variable Private - 1802: TypePointer Private 26(ivec2) - 1803(gs_ua2): 1802(ptr) Variable Private - 1804(gs_ub2): 1802(ptr) Variable Private - 1805(gs_uc2): 1802(ptr) Variable Private - 1806: TypePointer Private 38(ivec3) - 1807(gs_ua3): 1806(ptr) Variable Private - 1808(gs_ub3): 1806(ptr) Variable Private - 1809(gs_uc3): 1806(ptr) Variable Private - 1810: TypePointer Private 830(ivec4) - 1811(gs_ua4): 1810(ptr) Variable Private - 1812(gs_ub4): 1810(ptr) Variable Private - 1813(gs_uc4): 1810(ptr) Variable Private -4(PixelShaderFunction): 2 Function None 3 + 48: TypeVector 6(float) 4 + 49: TypePointer Function 48(fvec4) + 50: TypeVector 8(int) 4 + 51: TypePointer Function 50(ivec4) + 52: TypeFunction 48(fvec4) 49(ptr) 49(ptr) 49(ptr) 51(ptr) 51(ptr) + 60: TypeMatrix 24(fvec2) 2 + 61: TypePointer Function 60 + 62: TypeFunction 60 61(ptr) 61(ptr) 61(ptr) + 68: TypeMatrix 36(fvec3) 3 + 69: TypePointer Function 68 + 70: TypeFunction 68 69(ptr) 69(ptr) 69(ptr) + 76: TypeMatrix 48(fvec4) 4 + 77: TypePointer Function 76 + 78: TypeFunction 76 77(ptr) 77(ptr) 77(ptr) + 84: TypeFunction 2 7(ptr) 7(ptr) 25(ptr) 25(ptr) 61(ptr) 61(ptr) + 93: TypeFunction 2 7(ptr) 7(ptr) 37(ptr) 37(ptr) 69(ptr) 69(ptr) + 102: TypeFunction 2 7(ptr) 7(ptr) 49(ptr) 49(ptr) 77(ptr) 77(ptr) + 111: TypeMatrix 36(fvec3) 2 + 112: TypePointer Function 111 + 113: TypeMatrix 24(fvec2) 3 + 114: TypePointer Function 113 + 115: TypeMatrix 48(fvec4) 3 + 116: TypePointer Function 115 + 117: TypeMatrix 48(fvec4) 2 + 118: TypePointer Function 117 + 119: TypeFunction 2 7(ptr) 7(ptr) 25(ptr) 37(ptr) 112(ptr) 114(ptr) 69(ptr) 116(ptr) 118(ptr) + 131: TypeBool + 132: TypePointer Function 131(bool) + 148: TypeInt 32 1 + 149: TypePointer Function 148(int) + 175: 6(float) Constant 0 + 187: 8(int) Constant 7 + 217: 148(int) Constant 7 + 235(ResType): TypeStruct 6(float) 148(int) + 263: 6(float) Constant 1050288283 + 284: 6(float) Constant 1065353216 + 288: 8(int) Constant 2 + 352: TypeVector 148(int) 2 + 353: TypePointer Function 352(ivec2) + 379: 24(fvec2) ConstantComposite 175 175 + 380: TypeVector 131(bool) 2 + 393: 8(int) Constant 3 + 394: 26(ivec2) ConstantComposite 187 393 + 437: 8(int) Constant 8 + 438: 26(ivec2) ConstantComposite 187 437 + 454(ResType): TypeStruct 24(fvec2) 352(ivec2) + 461: TypePointer Function 380(bvec2) + 519: 6(float) Constant 1073741824 + 522: 8(int) Constant 1 + 523: 26(ivec2) ConstantComposite 522 288 + 570: 24(fvec2) ConstantComposite 284 519 + 588: TypeVector 148(int) 3 + 589: TypePointer Function 588(ivec3) + 615: 36(fvec3) ConstantComposite 175 175 175 + 616: TypeVector 131(bool) 3 + 629: 8(int) Constant 5 + 630: 38(ivec3) ConstantComposite 187 393 629 + 677: 8(int) Constant 4 + 678: 38(ivec3) ConstantComposite 288 393 677 + 694(ResType): TypeStruct 36(fvec3) 588(ivec3) + 701: TypePointer Function 616(bvec3) + 720: 6(float) Constant 1050253722 + 767: 38(ivec3) ConstantComposite 522 288 393 + 814: 6(float) Constant 1077936128 + 815: 36(fvec3) ConstantComposite 284 519 814 + 833: TypeVector 148(int) 4 + 834: TypePointer Function 833(ivec4) + 860: 48(fvec4) ConstantComposite 175 175 175 175 + 861: TypeVector 131(bool) 4 + 874: 50(ivec4) ConstantComposite 187 393 629 288 + 928: 8(int) Constant 9 + 929: 8(int) Constant 10 + 930: 50(ivec4) ConstantComposite 187 437 928 929 + 946(ResType): TypeStruct 48(fvec4) 833(ivec4) + 953: TypePointer Function 861(bvec4) + 1013: 50(ivec4) ConstantComposite 522 288 393 677 + 1060: 6(float) Constant 1082130432 + 1061: 48(fvec4) ConstantComposite 284 519 814 1060 + 1089: 60 ConstantComposite 379 379 + 1090: TypeMatrix 380(bvec2) 2 + 1155(ResType): TypeStruct 60 352(ivec2) + 1243: 24(fvec2) ConstantComposite 519 519 + 1244: 60 ConstantComposite 1243 1243 + 1272: 68 ConstantComposite 615 615 615 + 1273: TypeMatrix 616(bvec3) 3 + 1341(ResType): TypeStruct 68 588(ivec3) + 1429: 36(fvec3) ConstantComposite 814 814 814 + 1430: 68 ConstantComposite 1429 1429 1429 + 1458: 76 ConstantComposite 860 860 860 860 + 1459: TypeMatrix 861(bvec4) 4 + 1530(ResType): TypeStruct 76 833(ivec4) + 1618: 48(fvec4) ConstantComposite 1060 1060 1060 1060 + 1619: 76 ConstantComposite 1618 1618 1618 1618 + 1798(PS_OUTPUT): TypeStruct 48(fvec4) + 1799: TypePointer Function 1798(PS_OUTPUT) + 1801: 148(int) Constant 0 + 1802: 48(fvec4) ConstantComposite 284 284 284 284 + 1804: TypePointer Output 1798(PS_OUTPUT) +1805(@entryPointOutput): 1804(ptr) Variable Output + 1808: TypePointer Private 8(int) + 1809(gs_ua): 1808(ptr) Variable Private + 1810(gs_ub): 1808(ptr) Variable Private + 1811(gs_uc): 1808(ptr) Variable Private + 1812: TypePointer Private 26(ivec2) + 1813(gs_ua2): 1812(ptr) Variable Private + 1814(gs_ub2): 1812(ptr) Variable Private + 1815(gs_uc2): 1812(ptr) Variable Private + 1816: TypePointer Private 38(ivec3) + 1817(gs_ua3): 1816(ptr) Variable Private + 1818(gs_ub3): 1816(ptr) Variable Private + 1819(gs_uc3): 1816(ptr) Variable Private + 1820: TypePointer Private 50(ivec4) + 1821(gs_ua4): 1820(ptr) Variable Private + 1822(gs_ub4): 1820(ptr) Variable Private + 1823(gs_uc4): 1820(ptr) Variable Private + 4(main): 2 Function None 3 5: Label - 808(r000): 122(ptr) Variable Function - 813(r001): 91(ptr) Variable Function - 816(r002): 91(ptr) Variable Function - 819(r003): 122(ptr) Variable Function - 822(r004): 91(ptr) Variable Function - 827(r005): 826(ptr) Variable Function - 832(r006): 831(ptr) Variable Function - 835(r007): 91(ptr) Variable Function - 840(r009): 91(ptr) Variable Function - 843(r010): 91(ptr) Variable Function - 848(r011): 91(ptr) Variable Function - 851(r012): 91(ptr) Variable Function - 865(r013): 91(ptr) Variable Function - 868(r014): 91(ptr) Variable Function - 871(r015): 831(ptr) Variable Function - 874(r016): 91(ptr) Variable Function - 877(r017): 91(ptr) Variable Function - 880(r018): 91(ptr) Variable Function - 883(r019): 91(ptr) Variable Function - 886(r020): 91(ptr) Variable Function - 889(r021): 91(ptr) Variable Function - 892(r022): 91(ptr) Variable Function - 895(r023): 7(ptr) Variable Function - 899(r024): 7(ptr) Variable Function - 903(r025): 91(ptr) Variable Function - 915(r029): 91(ptr) Variable Function - 918(r030): 91(ptr) Variable Function - 921(r031): 91(ptr) Variable Function - 926(r032): 831(ptr) Variable Function - 931(r033): 831(ptr) Variable Function - 933(r034): 91(ptr) Variable Function - 936(r036): 91(ptr) Variable Function - 940(r037): 91(ptr) Variable Function - 943(r038): 91(ptr) Variable Function - 949(r039): 91(ptr) Variable Function - 953(r040): 952(ptr) Variable Function - 956(r041): 952(ptr) Variable Function - 959(r042): 91(ptr) Variable Function - 963(r039a): 91(ptr) Variable Function - 968(r043): 7(ptr) Variable Function - 971(r044): 91(ptr) Variable Function - 974(r045): 91(ptr) Variable Function - 978(r046): 91(ptr) Variable Function - 981(r047): 91(ptr) Variable Function - 985(r048): 91(ptr) Variable Function - 989(r049): 91(ptr) Variable Function - 992(r050): 91(ptr) Variable Function - 996(r051): 91(ptr) Variable Function - 999(r052): 91(ptr) Variable Function - 1003(r053): 91(ptr) Variable Function - 1007(r054): 91(ptr) Variable Function - 1011(r055): 831(ptr) Variable Function - 1014(r056): 91(ptr) Variable Function - 1017(r057): 91(ptr) Variable Function - 1020(r058): 91(ptr) Variable Function - 1025(r059): 91(ptr) Variable Function - 1028(r060): 91(ptr) Variable Function - 1035(r061): 91(ptr) Variable Function - 1038(r062): 91(ptr) Variable Function - 1043(r063): 91(ptr) Variable Function - 1046(r064): 91(ptr) Variable Function - 1050(r065): 91(ptr) Variable Function - 1053(r066): 91(ptr) Variable Function - 1056(r067): 91(ptr) Variable Function - 811: 64(fvec4) Load 810(inF0) - 812: 121(bool) All 811 - Store 808(r000) 812 - 814: 64(fvec4) Load 810(inF0) - 815: 64(fvec4) ExtInst 1(GLSL.std.450) 4(FAbs) 814 - Store 813(r001) 815 - 817: 64(fvec4) Load 810(inF0) - 818: 64(fvec4) ExtInst 1(GLSL.std.450) 17(Acos) 817 - Store 816(r002) 818 - 820: 64(fvec4) Load 810(inF0) - 821: 121(bool) Any 820 - Store 819(r003) 821 - 823: 64(fvec4) Load 810(inF0) - 824: 64(fvec4) ExtInst 1(GLSL.std.450) 16(Asin) 823 - Store 822(r004) 824 - 828: 64(fvec4) Load 810(inF0) - 829: 825(ivec4) Bitcast 828 - Store 827(r005) 829 - 833: 64(fvec4) Load 810(inF0) - 834: 830(ivec4) Bitcast 833 - Store 832(r006) 834 - 838: 830(ivec4) Load 837(inU0) - 839: 64(fvec4) Bitcast 838 - Store 835(r007) 839 - 841: 64(fvec4) Load 810(inF0) - 842: 64(fvec4) ExtInst 1(GLSL.std.450) 18(Atan) 841 - Store 840(r009) 842 - 844: 64(fvec4) Load 810(inF0) - 846: 64(fvec4) Load 845(inF1) - 847: 64(fvec4) ExtInst 1(GLSL.std.450) 25(Atan2) 844 846 - Store 843(r010) 847 - 849: 64(fvec4) Load 810(inF0) - 850: 64(fvec4) ExtInst 1(GLSL.std.450) 9(Ceil) 849 - Store 848(r011) 850 - 852: 64(fvec4) Load 810(inF0) - 853: 64(fvec4) Load 845(inF1) - 855: 64(fvec4) Load 854(inF2) - 856: 64(fvec4) ExtInst 1(GLSL.std.450) 43(FClamp) 852 853 855 - Store 851(r012) 856 - 857: 64(fvec4) Load 810(inF0) - 860: 859(bvec4) FOrdLessThan 857 858 - 861: 121(bool) Any 860 - SelectionMerge 863 None - BranchConditional 861 862 863 - 862: Label - Kill - 863: Label - 866: 64(fvec4) Load 810(inF0) - 867: 64(fvec4) ExtInst 1(GLSL.std.450) 14(Cos) 866 - Store 865(r013) 867 - 869: 64(fvec4) Load 810(inF0) - 870: 64(fvec4) ExtInst 1(GLSL.std.450) 20(Cosh) 869 - Store 868(r014) 870 - 873: 830(ivec4) BitCount 872 - Store 871(r015) 873 - 875: 64(fvec4) Load 810(inF0) - 876: 64(fvec4) DPdx 875 - Store 874(r016) 876 - 878: 64(fvec4) Load 810(inF0) - 879: 64(fvec4) DPdxCoarse 878 - Store 877(r017) 879 - 881: 64(fvec4) Load 810(inF0) - 882: 64(fvec4) DPdxFine 881 - Store 880(r018) 882 - 884: 64(fvec4) Load 810(inF0) - 885: 64(fvec4) DPdy 884 - Store 883(r019) 885 - 887: 64(fvec4) Load 810(inF0) - 888: 64(fvec4) DPdyCoarse 887 - Store 886(r020) 888 - 890: 64(fvec4) Load 810(inF0) - 891: 64(fvec4) DPdyFine 890 - Store 889(r021) 891 - 893: 64(fvec4) Load 810(inF0) - 894: 64(fvec4) ExtInst 1(GLSL.std.450) 12(Degrees) 893 - Store 892(r022) 894 - 896: 64(fvec4) Load 810(inF0) - 897: 64(fvec4) Load 845(inF1) - 898: 6(float) ExtInst 1(GLSL.std.450) 67(Distance) 896 897 - Store 895(r023) 898 - 900: 64(fvec4) Load 810(inF0) - 901: 64(fvec4) Load 845(inF1) - 902: 6(float) Dot 900 901 - Store 899(r024) 902 - 905: 904(ptr) AccessChain 810(inF0) 512 - 906: 6(float) Load 905 - 907: 904(ptr) AccessChain 845(inF1) 512 - 908: 6(float) Load 907 - 909: 6(float) FMul 906 908 - 910: 904(ptr) AccessChain 810(inF0) 278 - 911: 6(float) Load 910 - 912: 904(ptr) AccessChain 845(inF1) 383 - 913: 6(float) Load 912 - 914: 64(fvec4) CompositeConstruct 274 909 911 913 - Store 903(r025) 914 - 916: 64(fvec4) Load 810(inF0) - 917: 64(fvec4) ExtInst 1(GLSL.std.450) 27(Exp) 916 - Store 915(r029) 917 - 919: 64(fvec4) Load 810(inF0) - 920: 64(fvec4) ExtInst 1(GLSL.std.450) 29(Exp2) 919 - Store 918(r030) 920 - 922: 64(fvec4) Load 810(inF0) - 923: 64(fvec4) Load 845(inF1) - 924: 64(fvec4) Load 854(inF2) - 925: 64(fvec4) ExtInst 1(GLSL.std.450) 70(FaceForward) 922 923 924 - Store 921(r031) 925 - 930: 830(ivec4) ExtInst 1(GLSL.std.450) 75(FindUMsb) 929 - Store 926(r032) 930 - 932: 830(ivec4) ExtInst 1(GLSL.std.450) 73(FindILsb) 929 - Store 931(r033) 932 - 934: 64(fvec4) Load 810(inF0) - 935: 64(fvec4) ExtInst 1(GLSL.std.450) 8(Floor) 934 - Store 933(r034) 935 - 937: 64(fvec4) Load 810(inF0) - 938: 64(fvec4) Load 845(inF1) - 939: 64(fvec4) FMod 937 938 - Store 936(r036) 939 - 941: 64(fvec4) Load 810(inF0) - 942: 64(fvec4) ExtInst 1(GLSL.std.450) 10(Fract) 941 - Store 940(r037) 942 - 944: 64(fvec4) Load 810(inF0) - 946:945(ResType) ExtInst 1(GLSL.std.450) 52(FrexpStruct) 944 - 947: 825(ivec4) CompositeExtract 946 1 - Store 845(inF1) 947 - 948: 64(fvec4) CompositeExtract 946 0 - Store 943(r038) 948 - 950: 64(fvec4) Load 810(inF0) - 951: 64(fvec4) Fwidth 950 - Store 949(r039) 951 - 954: 64(fvec4) Load 810(inF0) - 955: 859(bvec4) IsInf 954 - Store 953(r040) 955 - 957: 64(fvec4) Load 810(inF0) - 958: 859(bvec4) IsNan 957 - Store 956(r041) 958 - 960: 64(fvec4) Load 810(inF0) - 961: 64(fvec4) Load 845(inF1) - 962: 64(fvec4) ExtInst 1(GLSL.std.450) 53(Ldexp) 960 961 - Store 959(r042) 962 - 964: 64(fvec4) Load 810(inF0) - 965: 64(fvec4) Load 845(inF1) - 966: 64(fvec4) Load 854(inF2) - 967: 64(fvec4) ExtInst 1(GLSL.std.450) 46(FMix) 964 965 966 - Store 963(r039a) 967 - 969: 64(fvec4) Load 810(inF0) - 970: 6(float) ExtInst 1(GLSL.std.450) 66(Length) 969 - Store 968(r043) 970 - 972: 64(fvec4) Load 810(inF0) - 973: 64(fvec4) ExtInst 1(GLSL.std.450) 28(Log) 972 - Store 971(r044) 973 - 975: 64(fvec4) Load 810(inF0) - 976: 64(fvec4) ExtInst 1(GLSL.std.450) 30(Log2) 975 - 977: 64(fvec4) VectorTimesScalar 976 253 - Store 974(r045) 977 - 979: 64(fvec4) Load 810(inF0) - 980: 64(fvec4) ExtInst 1(GLSL.std.450) 30(Log2) 979 - Store 978(r046) 980 - 982: 64(fvec4) Load 810(inF0) - 983: 64(fvec4) Load 845(inF1) - 984: 64(fvec4) ExtInst 1(GLSL.std.450) 40(FMax) 982 983 - Store 981(r047) 984 - 986: 64(fvec4) Load 810(inF0) - 987: 64(fvec4) Load 845(inF1) - 988: 64(fvec4) ExtInst 1(GLSL.std.450) 37(FMin) 986 987 - Store 985(r048) 988 - 990: 64(fvec4) Load 810(inF0) - 991: 64(fvec4) ExtInst 1(GLSL.std.450) 69(Normalize) 990 - Store 989(r049) 991 - 993: 64(fvec4) Load 810(inF0) - 994: 64(fvec4) Load 845(inF1) - 995: 64(fvec4) ExtInst 1(GLSL.std.450) 26(Pow) 993 994 - Store 992(r050) 995 - 997: 64(fvec4) Load 810(inF0) - 998: 64(fvec4) ExtInst 1(GLSL.std.450) 11(Radians) 997 - Store 996(r051) 998 - 1000: 64(fvec4) Load 810(inF0) - 1001: 64(fvec4) CompositeConstruct 274 274 274 274 - 1002: 64(fvec4) FDiv 1001 1000 - Store 999(r052) 1002 - 1004: 64(fvec4) Load 810(inF0) - 1005: 64(fvec4) Load 845(inF1) - 1006: 64(fvec4) ExtInst 1(GLSL.std.450) 71(Reflect) 1004 1005 - Store 1003(r053) 1006 - 1008: 64(fvec4) Load 810(inF0) - 1009: 64(fvec4) Load 845(inF1) - 1010: 64(fvec4) ExtInst 1(GLSL.std.450) 72(Refract) 1008 1009 509 - Store 1007(r054) 1010 - 1013: 830(ivec4) BitReverse 1012 - Store 1011(r055) 1013 - 1015: 64(fvec4) Load 810(inF0) - 1016: 64(fvec4) ExtInst 1(GLSL.std.450) 2(RoundEven) 1015 - Store 1014(r056) 1016 - 1018: 64(fvec4) Load 810(inF0) - 1019: 64(fvec4) ExtInst 1(GLSL.std.450) 32(InverseSqrt) 1018 - Store 1017(r057) 1019 - 1021: 64(fvec4) Load 810(inF0) - 1022: 64(fvec4) CompositeConstruct 165 165 165 165 - 1023: 64(fvec4) CompositeConstruct 274 274 274 274 - 1024: 64(fvec4) ExtInst 1(GLSL.std.450) 43(FClamp) 1021 1022 1023 - Store 1020(r058) 1024 - 1026: 64(fvec4) Load 810(inF0) - 1027: 64(fvec4) ExtInst 1(GLSL.std.450) 6(FSign) 1026 - Store 1025(r059) 1027 - 1029: 64(fvec4) Load 810(inF0) - 1030: 64(fvec4) ExtInst 1(GLSL.std.450) 13(Sin) 1029 - Store 1028(r060) 1030 - 1031: 64(fvec4) Load 810(inF0) - 1032: 64(fvec4) ExtInst 1(GLSL.std.450) 13(Sin) 1031 - Store 845(inF1) 1032 - 1033: 64(fvec4) Load 810(inF0) - 1034: 64(fvec4) ExtInst 1(GLSL.std.450) 14(Cos) 1033 - Store 854(inF2) 1034 - 1036: 64(fvec4) Load 810(inF0) - 1037: 64(fvec4) ExtInst 1(GLSL.std.450) 19(Sinh) 1036 - Store 1035(r061) 1037 - 1039: 64(fvec4) Load 810(inF0) - 1040: 64(fvec4) Load 845(inF1) - 1041: 64(fvec4) Load 854(inF2) - 1042: 64(fvec4) ExtInst 1(GLSL.std.450) 49(SmoothStep) 1039 1040 1041 - Store 1038(r062) 1042 - 1044: 64(fvec4) Load 810(inF0) - 1045: 64(fvec4) ExtInst 1(GLSL.std.450) 31(Sqrt) 1044 - Store 1043(r063) 1045 - 1047: 64(fvec4) Load 810(inF0) - 1048: 64(fvec4) Load 845(inF1) - 1049: 64(fvec4) ExtInst 1(GLSL.std.450) 48(Step) 1047 1048 - Store 1046(r064) 1049 - 1051: 64(fvec4) Load 810(inF0) - 1052: 64(fvec4) ExtInst 1(GLSL.std.450) 15(Tan) 1051 - Store 1050(r065) 1052 - 1054: 64(fvec4) Load 810(inF0) - 1055: 64(fvec4) ExtInst 1(GLSL.std.450) 21(Tanh) 1054 - Store 1053(r066) 1055 - 1057: 64(fvec4) Load 810(inF0) - 1058: 64(fvec4) ExtInst 1(GLSL.std.450) 3(Trunc) 1057 - Store 1056(r067) 1058 - Store 1060(@entryPointOutput) 1062 + 1800(ps_output): 1799(ptr) Variable Function + 1803: 49(ptr) AccessChain 1800(ps_output) 1801 + Store 1803 1802 + 1806:1798(PS_OUTPUT) Load 1800(ps_output) + Store 1805(@entryPointOutput) 1806 Return FunctionEnd 16(PixelShaderFunctionS(f1;f1;f1;u1;u1;): 6(float) Function None 10 @@ -6539,266 +6272,266 @@ gl_FragCoord origin is upper left 14(inU0): 9(ptr) FunctionParameter 15(inU1): 9(ptr) FunctionParameter 17: Label - 123(r000): 122(ptr) Variable Function - 126(r001): 7(ptr) Variable Function - 129(r002): 7(ptr) Variable Function - 132(r003): 122(ptr) Variable Function - 135(r004): 7(ptr) Variable Function - 140(r005): 139(ptr) Variable Function - 143(r006): 9(ptr) Variable Function - 146(r007): 7(ptr) Variable Function - 149(r009): 7(ptr) Variable Function - 152(r010): 7(ptr) Variable Function - 156(r011): 7(ptr) Variable Function - 159(r012): 7(ptr) Variable Function - 170(r014): 7(ptr) Variable Function - 173(r015): 7(ptr) Variable Function - 176(r016): 9(ptr) Variable Function - 179(r017): 7(ptr) Variable Function - 182(r018): 7(ptr) Variable Function - 185(r019): 7(ptr) Variable Function - 188(r020): 7(ptr) Variable Function - 191(r021): 7(ptr) Variable Function - 194(r022): 7(ptr) Variable Function - 197(r023): 7(ptr) Variable Function - 200(r027): 7(ptr) Variable Function - 203(r028): 7(ptr) Variable Function - 206(r029): 9(ptr) Variable Function - 210(r030): 9(ptr) Variable Function - 213(r031): 7(ptr) Variable Function - 216(r033): 7(ptr) Variable Function - 220(r034): 7(ptr) Variable Function - 223(r035): 7(ptr) Variable Function - 229(r036): 7(ptr) Variable Function - 232(r037): 122(ptr) Variable Function - 235(r038): 122(ptr) Variable Function - 238(r039): 7(ptr) Variable Function - 242(r039a): 7(ptr) Variable Function - 247(r040): 7(ptr) Variable Function - 250(r041): 7(ptr) Variable Function - 255(r042): 7(ptr) Variable Function - 258(r043): 7(ptr) Variable Function - 262(r044): 7(ptr) Variable Function - 266(r045): 7(ptr) Variable Function - 270(r046): 7(ptr) Variable Function - 273(r047): 7(ptr) Variable Function - 277(r048): 9(ptr) Variable Function - 280(r049): 7(ptr) Variable Function - 283(r050): 7(ptr) Variable Function - 286(r051): 7(ptr) Variable Function - 289(r052): 7(ptr) Variable Function - 292(r053): 7(ptr) Variable Function - 299(r055): 7(ptr) Variable Function - 302(r056): 7(ptr) Variable Function - 307(r057): 7(ptr) Variable Function - 310(r058): 7(ptr) Variable Function - 314(r059): 7(ptr) Variable Function - 317(r060): 7(ptr) Variable Function - 320(r061): 7(ptr) Variable Function - 124: 6(float) Load 11(inF0) - 125: 121(bool) All 124 - Store 123(r000) 125 - 127: 6(float) Load 11(inF0) - 128: 6(float) ExtInst 1(GLSL.std.450) 4(FAbs) 127 - Store 126(r001) 128 - 130: 6(float) Load 11(inF0) - 131: 6(float) ExtInst 1(GLSL.std.450) 17(Acos) 130 - Store 129(r002) 131 - 133: 6(float) Load 11(inF0) - 134: 121(bool) Any 133 - Store 132(r003) 134 - 136: 6(float) Load 11(inF0) - 137: 6(float) ExtInst 1(GLSL.std.450) 16(Asin) 136 - Store 135(r004) 137 - 141: 6(float) Load 11(inF0) - 142: 138(int) Bitcast 141 - Store 140(r005) 142 - 144: 6(float) Load 11(inF0) - 145: 8(int) Bitcast 144 - Store 143(r006) 145 - 147: 8(int) Load 14(inU0) - 148: 6(float) Bitcast 147 - Store 146(r007) 148 - 150: 6(float) Load 11(inF0) - 151: 6(float) ExtInst 1(GLSL.std.450) 18(Atan) 150 - Store 149(r009) 151 - 153: 6(float) Load 11(inF0) - 154: 6(float) Load 12(inF1) - 155: 6(float) ExtInst 1(GLSL.std.450) 25(Atan2) 153 154 - Store 152(r010) 155 - 157: 6(float) Load 11(inF0) - 158: 6(float) ExtInst 1(GLSL.std.450) 9(Ceil) 157 - Store 156(r011) 158 + 133(r000): 132(ptr) Variable Function + 136(r001): 7(ptr) Variable Function + 139(r002): 7(ptr) Variable Function + 142(r003): 132(ptr) Variable Function + 145(r004): 7(ptr) Variable Function + 150(r005): 149(ptr) Variable Function + 153(r006): 9(ptr) Variable Function + 156(r007): 7(ptr) Variable Function + 159(r009): 7(ptr) Variable Function + 162(r010): 7(ptr) Variable Function + 166(r011): 7(ptr) Variable Function + 169(r012): 7(ptr) Variable Function + 180(r014): 7(ptr) Variable Function + 183(r015): 7(ptr) Variable Function + 186(r016): 9(ptr) Variable Function + 189(r017): 7(ptr) Variable Function + 192(r018): 7(ptr) Variable Function + 195(r019): 7(ptr) Variable Function + 198(r020): 7(ptr) Variable Function + 201(r021): 7(ptr) Variable Function + 204(r022): 7(ptr) Variable Function + 207(r023): 7(ptr) Variable Function + 210(r027): 7(ptr) Variable Function + 213(r028): 7(ptr) Variable Function + 216(r029): 9(ptr) Variable Function + 220(r030): 9(ptr) Variable Function + 223(r031): 7(ptr) Variable Function + 226(r033): 7(ptr) Variable Function + 230(r034): 7(ptr) Variable Function + 233(r035): 7(ptr) Variable Function + 239(r036): 7(ptr) Variable Function + 242(r037): 132(ptr) Variable Function + 245(r038): 132(ptr) Variable Function + 248(r039): 7(ptr) Variable Function + 252(r039a): 7(ptr) Variable Function + 257(r040): 7(ptr) Variable Function + 260(r041): 7(ptr) Variable Function + 265(r042): 7(ptr) Variable Function + 268(r043): 7(ptr) Variable Function + 272(r044): 7(ptr) Variable Function + 276(r045): 7(ptr) Variable Function + 280(r046): 7(ptr) Variable Function + 283(r047): 7(ptr) Variable Function + 287(r048): 9(ptr) Variable Function + 290(r049): 7(ptr) Variable Function + 293(r050): 7(ptr) Variable Function + 296(r051): 7(ptr) Variable Function + 299(r052): 7(ptr) Variable Function + 302(r053): 7(ptr) Variable Function + 309(r055): 7(ptr) Variable Function + 312(r056): 7(ptr) Variable Function + 317(r057): 7(ptr) Variable Function + 320(r058): 7(ptr) Variable Function + 324(r059): 7(ptr) Variable Function + 327(r060): 7(ptr) Variable Function + 330(r061): 7(ptr) Variable Function + 134: 6(float) Load 11(inF0) + 135: 131(bool) All 134 + Store 133(r000) 135 + 137: 6(float) Load 11(inF0) + 138: 6(float) ExtInst 1(GLSL.std.450) 4(FAbs) 137 + Store 136(r001) 138 + 140: 6(float) Load 11(inF0) + 141: 6(float) ExtInst 1(GLSL.std.450) 17(Acos) 140 + Store 139(r002) 141 + 143: 6(float) Load 11(inF0) + 144: 131(bool) Any 143 + Store 142(r003) 144 + 146: 6(float) Load 11(inF0) + 147: 6(float) ExtInst 1(GLSL.std.450) 16(Asin) 146 + Store 145(r004) 147 + 151: 6(float) Load 11(inF0) + 152: 148(int) Bitcast 151 + Store 150(r005) 152 + 154: 6(float) Load 11(inF0) + 155: 8(int) Bitcast 154 + Store 153(r006) 155 + 157: 8(int) Load 14(inU0) + 158: 6(float) Bitcast 157 + Store 156(r007) 158 160: 6(float) Load 11(inF0) - 161: 6(float) Load 12(inF1) - 162: 6(float) Load 13(inF2) - 163: 6(float) ExtInst 1(GLSL.std.450) 43(FClamp) 160 161 162 - Store 159(r012) 163 - 164: 6(float) Load 11(inF0) - 166: 121(bool) FOrdLessThan 164 165 - SelectionMerge 168 None - BranchConditional 166 167 168 - 167: Label - Kill - 168: Label - 171: 6(float) Load 11(inF0) - 172: 6(float) ExtInst 1(GLSL.std.450) 14(Cos) 171 - Store 170(r014) 172 + 161: 6(float) ExtInst 1(GLSL.std.450) 18(Atan) 160 + Store 159(r009) 161 + 163: 6(float) Load 11(inF0) + 164: 6(float) Load 12(inF1) + 165: 6(float) ExtInst 1(GLSL.std.450) 25(Atan2) 163 164 + Store 162(r010) 165 + 167: 6(float) Load 11(inF0) + 168: 6(float) ExtInst 1(GLSL.std.450) 9(Ceil) 167 + Store 166(r011) 168 + 170: 6(float) Load 11(inF0) + 171: 6(float) Load 12(inF1) + 172: 6(float) Load 13(inF2) + 173: 6(float) ExtInst 1(GLSL.std.450) 43(FClamp) 170 171 172 + Store 169(r012) 173 174: 6(float) Load 11(inF0) - 175: 6(float) ExtInst 1(GLSL.std.450) 20(Cosh) 174 - Store 173(r015) 175 - 178: 8(int) BitCount 177 - Store 176(r016) 178 - 180: 6(float) Load 11(inF0) - 181: 6(float) DPdx 180 - Store 179(r017) 181 - 183: 6(float) Load 11(inF0) - 184: 6(float) DPdxCoarse 183 - Store 182(r018) 184 - 186: 6(float) Load 11(inF0) - 187: 6(float) DPdxFine 186 - Store 185(r019) 187 - 189: 6(float) Load 11(inF0) - 190: 6(float) DPdy 189 - Store 188(r020) 190 - 192: 6(float) Load 11(inF0) - 193: 6(float) DPdyCoarse 192 - Store 191(r021) 193 - 195: 6(float) Load 11(inF0) - 196: 6(float) DPdyFine 195 - Store 194(r022) 196 - 198: 6(float) Load 11(inF0) - 199: 6(float) ExtInst 1(GLSL.std.450) 12(Degrees) 198 - Store 197(r023) 199 - 201: 6(float) Load 11(inF0) - 202: 6(float) ExtInst 1(GLSL.std.450) 27(Exp) 201 - Store 200(r027) 202 - 204: 6(float) Load 11(inF0) - 205: 6(float) ExtInst 1(GLSL.std.450) 29(Exp2) 204 - Store 203(r028) 205 - 208: 138(int) ExtInst 1(GLSL.std.450) 74(FindSMsb) 207 - 209: 8(int) Bitcast 208 - Store 206(r029) 209 - 211: 138(int) ExtInst 1(GLSL.std.450) 73(FindILsb) 207 - 212: 8(int) Bitcast 211 - Store 210(r030) 212 + 176: 131(bool) FOrdLessThan 174 175 + SelectionMerge 178 None + BranchConditional 176 177 178 + 177: Label + Kill + 178: Label + 181: 6(float) Load 11(inF0) + 182: 6(float) ExtInst 1(GLSL.std.450) 14(Cos) 181 + Store 180(r014) 182 + 184: 6(float) Load 11(inF0) + 185: 6(float) ExtInst 1(GLSL.std.450) 20(Cosh) 184 + Store 183(r015) 185 + 188: 8(int) BitCount 187 + Store 186(r016) 188 + 190: 6(float) Load 11(inF0) + 191: 6(float) DPdx 190 + Store 189(r017) 191 + 193: 6(float) Load 11(inF0) + 194: 6(float) DPdxCoarse 193 + Store 192(r018) 194 + 196: 6(float) Load 11(inF0) + 197: 6(float) DPdxFine 196 + Store 195(r019) 197 + 199: 6(float) Load 11(inF0) + 200: 6(float) DPdy 199 + Store 198(r020) 200 + 202: 6(float) Load 11(inF0) + 203: 6(float) DPdyCoarse 202 + Store 201(r021) 203 + 205: 6(float) Load 11(inF0) + 206: 6(float) DPdyFine 205 + Store 204(r022) 206 + 208: 6(float) Load 11(inF0) + 209: 6(float) ExtInst 1(GLSL.std.450) 12(Degrees) 208 + Store 207(r023) 209 + 211: 6(float) Load 11(inF0) + 212: 6(float) ExtInst 1(GLSL.std.450) 27(Exp) 211 + Store 210(r027) 212 214: 6(float) Load 11(inF0) - 215: 6(float) ExtInst 1(GLSL.std.450) 8(Floor) 214 - Store 213(r031) 215 - 217: 6(float) Load 11(inF0) - 218: 6(float) Load 12(inF1) - 219: 6(float) FMod 217 218 - Store 216(r033) 219 - 221: 6(float) Load 11(inF0) - 222: 6(float) ExtInst 1(GLSL.std.450) 10(Fract) 221 - Store 220(r034) 222 + 215: 6(float) ExtInst 1(GLSL.std.450) 29(Exp2) 214 + Store 213(r028) 215 + 218: 148(int) ExtInst 1(GLSL.std.450) 74(FindSMsb) 217 + 219: 8(int) Bitcast 218 + Store 216(r029) 219 + 221: 148(int) ExtInst 1(GLSL.std.450) 73(FindILsb) 217 + 222: 8(int) Bitcast 221 + Store 220(r030) 222 224: 6(float) Load 11(inF0) - 226:225(ResType) ExtInst 1(GLSL.std.450) 52(FrexpStruct) 224 - 227: 138(int) CompositeExtract 226 1 - Store 12(inF1) 227 - 228: 6(float) CompositeExtract 226 0 - Store 223(r035) 228 - 230: 6(float) Load 11(inF0) - 231: 6(float) Fwidth 230 - Store 229(r036) 231 - 233: 6(float) Load 11(inF0) - 234: 121(bool) IsInf 233 - Store 232(r037) 234 - 236: 6(float) Load 11(inF0) - 237: 121(bool) IsNan 236 - Store 235(r038) 237 - 239: 6(float) Load 11(inF0) - 240: 6(float) Load 12(inF1) - 241: 6(float) ExtInst 1(GLSL.std.450) 53(Ldexp) 239 240 - Store 238(r039) 241 + 225: 6(float) ExtInst 1(GLSL.std.450) 8(Floor) 224 + Store 223(r031) 225 + 227: 6(float) Load 11(inF0) + 228: 6(float) Load 12(inF1) + 229: 6(float) FMod 227 228 + Store 226(r033) 229 + 231: 6(float) Load 11(inF0) + 232: 6(float) ExtInst 1(GLSL.std.450) 10(Fract) 231 + Store 230(r034) 232 + 234: 6(float) Load 11(inF0) + 236:235(ResType) ExtInst 1(GLSL.std.450) 52(FrexpStruct) 234 + 237: 148(int) CompositeExtract 236 1 + Store 12(inF1) 237 + 238: 6(float) CompositeExtract 236 0 + Store 233(r035) 238 + 240: 6(float) Load 11(inF0) + 241: 6(float) Fwidth 240 + Store 239(r036) 241 243: 6(float) Load 11(inF0) - 244: 6(float) Load 12(inF1) - 245: 6(float) Load 13(inF2) - 246: 6(float) ExtInst 1(GLSL.std.450) 46(FMix) 243 244 245 - Store 242(r039a) 246 - 248: 6(float) Load 11(inF0) - 249: 6(float) ExtInst 1(GLSL.std.450) 28(Log) 248 - Store 247(r040) 249 - 251: 6(float) Load 11(inF0) - 252: 6(float) ExtInst 1(GLSL.std.450) 30(Log2) 251 - 254: 6(float) FMul 252 253 - Store 250(r041) 254 - 256: 6(float) Load 11(inF0) - 257: 6(float) ExtInst 1(GLSL.std.450) 30(Log2) 256 - Store 255(r042) 257 - 259: 6(float) Load 11(inF0) - 260: 6(float) Load 12(inF1) - 261: 6(float) ExtInst 1(GLSL.std.450) 40(FMax) 259 260 - Store 258(r043) 261 - 263: 6(float) Load 11(inF0) - 264: 6(float) Load 12(inF1) - 265: 6(float) ExtInst 1(GLSL.std.450) 37(FMin) 263 264 - Store 262(r044) 265 - 267: 6(float) Load 11(inF0) - 268: 6(float) Load 12(inF1) - 269: 6(float) ExtInst 1(GLSL.std.450) 26(Pow) 267 268 - Store 266(r045) 269 - 271: 6(float) Load 11(inF0) - 272: 6(float) ExtInst 1(GLSL.std.450) 11(Radians) 271 - Store 270(r046) 272 - 275: 6(float) Load 11(inF0) - 276: 6(float) FDiv 274 275 - Store 273(r047) 276 - 279: 8(int) BitReverse 278 - Store 277(r048) 279 + 244: 131(bool) IsInf 243 + Store 242(r037) 244 + 246: 6(float) Load 11(inF0) + 247: 131(bool) IsNan 246 + Store 245(r038) 247 + 249: 6(float) Load 11(inF0) + 250: 6(float) Load 12(inF1) + 251: 6(float) ExtInst 1(GLSL.std.450) 53(Ldexp) 249 250 + Store 248(r039) 251 + 253: 6(float) Load 11(inF0) + 254: 6(float) Load 12(inF1) + 255: 6(float) Load 13(inF2) + 256: 6(float) ExtInst 1(GLSL.std.450) 46(FMix) 253 254 255 + Store 252(r039a) 256 + 258: 6(float) Load 11(inF0) + 259: 6(float) ExtInst 1(GLSL.std.450) 28(Log) 258 + Store 257(r040) 259 + 261: 6(float) Load 11(inF0) + 262: 6(float) ExtInst 1(GLSL.std.450) 30(Log2) 261 + 264: 6(float) FMul 262 263 + Store 260(r041) 264 + 266: 6(float) Load 11(inF0) + 267: 6(float) ExtInst 1(GLSL.std.450) 30(Log2) 266 + Store 265(r042) 267 + 269: 6(float) Load 11(inF0) + 270: 6(float) Load 12(inF1) + 271: 6(float) ExtInst 1(GLSL.std.450) 40(FMax) 269 270 + Store 268(r043) 271 + 273: 6(float) Load 11(inF0) + 274: 6(float) Load 12(inF1) + 275: 6(float) ExtInst 1(GLSL.std.450) 37(FMin) 273 274 + Store 272(r044) 275 + 277: 6(float) Load 11(inF0) + 278: 6(float) Load 12(inF1) + 279: 6(float) ExtInst 1(GLSL.std.450) 26(Pow) 277 278 + Store 276(r045) 279 281: 6(float) Load 11(inF0) - 282: 6(float) ExtInst 1(GLSL.std.450) 2(RoundEven) 281 - Store 280(r049) 282 - 284: 6(float) Load 11(inF0) - 285: 6(float) ExtInst 1(GLSL.std.450) 32(InverseSqrt) 284 - Store 283(r050) 285 - 287: 6(float) Load 11(inF0) - 288: 6(float) ExtInst 1(GLSL.std.450) 43(FClamp) 287 165 274 - Store 286(r051) 288 - 290: 6(float) Load 11(inF0) - 291: 6(float) ExtInst 1(GLSL.std.450) 6(FSign) 290 - Store 289(r052) 291 - 293: 6(float) Load 11(inF0) - 294: 6(float) ExtInst 1(GLSL.std.450) 13(Sin) 293 - Store 292(r053) 294 - 295: 6(float) Load 11(inF0) - 296: 6(float) ExtInst 1(GLSL.std.450) 13(Sin) 295 - Store 12(inF1) 296 + 282: 6(float) ExtInst 1(GLSL.std.450) 11(Radians) 281 + Store 280(r046) 282 + 285: 6(float) Load 11(inF0) + 286: 6(float) FDiv 284 285 + Store 283(r047) 286 + 289: 8(int) BitReverse 288 + Store 287(r048) 289 + 291: 6(float) Load 11(inF0) + 292: 6(float) ExtInst 1(GLSL.std.450) 2(RoundEven) 291 + Store 290(r049) 292 + 294: 6(float) Load 11(inF0) + 295: 6(float) ExtInst 1(GLSL.std.450) 32(InverseSqrt) 294 + Store 293(r050) 295 297: 6(float) Load 11(inF0) - 298: 6(float) ExtInst 1(GLSL.std.450) 14(Cos) 297 - Store 13(inF2) 298 + 298: 6(float) ExtInst 1(GLSL.std.450) 43(FClamp) 297 175 284 + Store 296(r051) 298 300: 6(float) Load 11(inF0) - 301: 6(float) ExtInst 1(GLSL.std.450) 19(Sinh) 300 - Store 299(r055) 301 + 301: 6(float) ExtInst 1(GLSL.std.450) 6(FSign) 300 + Store 299(r052) 301 303: 6(float) Load 11(inF0) - 304: 6(float) Load 12(inF1) - 305: 6(float) Load 13(inF2) - 306: 6(float) ExtInst 1(GLSL.std.450) 49(SmoothStep) 303 304 305 - Store 302(r056) 306 - 308: 6(float) Load 11(inF0) - 309: 6(float) ExtInst 1(GLSL.std.450) 31(Sqrt) 308 - Store 307(r057) 309 - 311: 6(float) Load 11(inF0) - 312: 6(float) Load 12(inF1) - 313: 6(float) ExtInst 1(GLSL.std.450) 48(Step) 311 312 - Store 310(r058) 313 - 315: 6(float) Load 11(inF0) - 316: 6(float) ExtInst 1(GLSL.std.450) 15(Tan) 315 - Store 314(r059) 316 + 304: 6(float) ExtInst 1(GLSL.std.450) 13(Sin) 303 + Store 302(r053) 304 + 305: 6(float) Load 11(inF0) + 306: 6(float) ExtInst 1(GLSL.std.450) 13(Sin) 305 + Store 12(inF1) 306 + 307: 6(float) Load 11(inF0) + 308: 6(float) ExtInst 1(GLSL.std.450) 14(Cos) 307 + Store 13(inF2) 308 + 310: 6(float) Load 11(inF0) + 311: 6(float) ExtInst 1(GLSL.std.450) 19(Sinh) 310 + Store 309(r055) 311 + 313: 6(float) Load 11(inF0) + 314: 6(float) Load 12(inF1) + 315: 6(float) Load 13(inF2) + 316: 6(float) ExtInst 1(GLSL.std.450) 49(SmoothStep) 313 314 315 + Store 312(r056) 316 318: 6(float) Load 11(inF0) - 319: 6(float) ExtInst 1(GLSL.std.450) 21(Tanh) 318 - Store 317(r060) 319 + 319: 6(float) ExtInst 1(GLSL.std.450) 31(Sqrt) 318 + Store 317(r057) 319 321: 6(float) Load 11(inF0) - 322: 6(float) ExtInst 1(GLSL.std.450) 3(Trunc) 321 - Store 320(r061) 322 - ReturnValue 165 + 322: 6(float) Load 12(inF1) + 323: 6(float) ExtInst 1(GLSL.std.450) 48(Step) 321 322 + Store 320(r058) 323 + 325: 6(float) Load 11(inF0) + 326: 6(float) ExtInst 1(GLSL.std.450) 15(Tan) 325 + Store 324(r059) 326 + 328: 6(float) Load 11(inF0) + 329: 6(float) ExtInst 1(GLSL.std.450) 21(Tanh) 328 + Store 327(r060) 329 + 331: 6(float) Load 11(inF0) + 332: 6(float) ExtInst 1(GLSL.std.450) 3(Trunc) 331 + Store 330(r061) 332 + ReturnValue 175 FunctionEnd 22(PixelShaderFunction1(vf1;vf1;vf1;): 6(float) Function None 18 19(inF0): 7(ptr) FunctionParameter 20(inF1): 7(ptr) FunctionParameter 21(inF2): 7(ptr) FunctionParameter 23: Label - ReturnValue 165 + ReturnValue 175 FunctionEnd 34(PixelShaderFunction2(vf2;vf2;vf2;vu2;vu2;): 24(fvec2) Function None 28 29(inF0): 25(ptr) FunctionParameter @@ -6807,295 +6540,295 @@ gl_FragCoord origin is upper left 32(inU0): 27(ptr) FunctionParameter 33(inU1): 27(ptr) FunctionParameter 35: Label - 327(r000): 122(ptr) Variable Function - 330(r001): 25(ptr) Variable Function - 333(r002): 25(ptr) Variable Function - 336(r003): 122(ptr) Variable Function - 339(r004): 25(ptr) Variable Function - 344(r005): 343(ptr) Variable Function - 347(r006): 27(ptr) Variable Function - 350(r007): 25(ptr) Variable Function - 353(r009): 25(ptr) Variable Function - 356(r010): 25(ptr) Variable Function - 360(r011): 25(ptr) Variable Function - 363(r012): 25(ptr) Variable Function - 376(r013): 25(ptr) Variable Function - 379(r015): 25(ptr) Variable Function - 382(r016): 27(ptr) Variable Function - 386(r017): 25(ptr) Variable Function - 389(r018): 25(ptr) Variable Function - 392(r019): 25(ptr) Variable Function - 395(r020): 25(ptr) Variable Function - 398(r021): 25(ptr) Variable Function - 401(r022): 25(ptr) Variable Function - 404(r023): 25(ptr) Variable Function - 407(r026): 7(ptr) Variable Function - 411(r027): 7(ptr) Variable Function - 415(r028): 25(ptr) Variable Function - 418(r029): 25(ptr) Variable Function - 421(r030): 25(ptr) Variable Function - 426(r031): 27(ptr) Variable Function - 430(r032): 27(ptr) Variable Function - 432(r033): 25(ptr) Variable Function - 435(r035): 25(ptr) Variable Function - 439(r036): 25(ptr) Variable Function - 442(r037): 25(ptr) Variable Function - 448(r038): 25(ptr) Variable Function - 452(r039): 451(ptr) Variable Function - 455(r040): 451(ptr) Variable Function - 458(r041): 25(ptr) Variable Function - 462(r039a): 25(ptr) Variable Function - 467(r042): 7(ptr) Variable Function - 470(r043): 25(ptr) Variable Function - 473(r044): 25(ptr) Variable Function - 477(r045): 25(ptr) Variable Function - 480(r046): 25(ptr) Variable Function - 484(r047): 25(ptr) Variable Function - 488(r048): 25(ptr) Variable Function - 491(r049): 25(ptr) Variable Function - 495(r050): 25(ptr) Variable Function - 498(r051): 25(ptr) Variable Function - 502(r052): 25(ptr) Variable Function - 506(r053): 25(ptr) Variable Function - 511(r054): 27(ptr) Variable Function - 515(r055): 25(ptr) Variable Function - 518(r056): 25(ptr) Variable Function - 521(r057): 25(ptr) Variable Function - 526(r058): 25(ptr) Variable Function - 529(r059): 25(ptr) Variable Function - 536(r060): 25(ptr) Variable Function - 539(r061): 25(ptr) Variable Function - 544(r062): 25(ptr) Variable Function - 547(r063): 25(ptr) Variable Function - 551(r064): 25(ptr) Variable Function - 554(r065): 25(ptr) Variable Function - 557(r066): 25(ptr) Variable Function - 328: 24(fvec2) Load 29(inF0) - 329: 121(bool) All 328 - Store 327(r000) 329 - 331: 24(fvec2) Load 29(inF0) - 332: 24(fvec2) ExtInst 1(GLSL.std.450) 4(FAbs) 331 - Store 330(r001) 332 - 334: 24(fvec2) Load 29(inF0) - 335: 24(fvec2) ExtInst 1(GLSL.std.450) 17(Acos) 334 - Store 333(r002) 335 - 337: 24(fvec2) Load 29(inF0) - 338: 121(bool) Any 337 - Store 336(r003) 338 - 340: 24(fvec2) Load 29(inF0) - 341: 24(fvec2) ExtInst 1(GLSL.std.450) 16(Asin) 340 - Store 339(r004) 341 - 345: 24(fvec2) Load 29(inF0) - 346: 342(ivec2) Bitcast 345 - Store 344(r005) 346 - 348: 24(fvec2) Load 29(inF0) - 349: 26(ivec2) Bitcast 348 - Store 347(r006) 349 - 351: 26(ivec2) Load 32(inU0) - 352: 24(fvec2) Bitcast 351 - Store 350(r007) 352 - 354: 24(fvec2) Load 29(inF0) - 355: 24(fvec2) ExtInst 1(GLSL.std.450) 18(Atan) 354 - Store 353(r009) 355 - 357: 24(fvec2) Load 29(inF0) - 358: 24(fvec2) Load 30(inF1) - 359: 24(fvec2) ExtInst 1(GLSL.std.450) 25(Atan2) 357 358 - Store 356(r010) 359 - 361: 24(fvec2) Load 29(inF0) - 362: 24(fvec2) ExtInst 1(GLSL.std.450) 9(Ceil) 361 - Store 360(r011) 362 + 337(r000): 132(ptr) Variable Function + 340(r001): 25(ptr) Variable Function + 343(r002): 25(ptr) Variable Function + 346(r003): 132(ptr) Variable Function + 349(r004): 25(ptr) Variable Function + 354(r005): 353(ptr) Variable Function + 357(r006): 27(ptr) Variable Function + 360(r007): 25(ptr) Variable Function + 363(r009): 25(ptr) Variable Function + 366(r010): 25(ptr) Variable Function + 370(r011): 25(ptr) Variable Function + 373(r012): 25(ptr) Variable Function + 386(r013): 25(ptr) Variable Function + 389(r015): 25(ptr) Variable Function + 392(r016): 27(ptr) Variable Function + 396(r017): 25(ptr) Variable Function + 399(r018): 25(ptr) Variable Function + 402(r019): 25(ptr) Variable Function + 405(r020): 25(ptr) Variable Function + 408(r021): 25(ptr) Variable Function + 411(r022): 25(ptr) Variable Function + 414(r023): 25(ptr) Variable Function + 417(r026): 7(ptr) Variable Function + 421(r027): 7(ptr) Variable Function + 425(r028): 25(ptr) Variable Function + 428(r029): 25(ptr) Variable Function + 431(r030): 25(ptr) Variable Function + 436(r031): 27(ptr) Variable Function + 440(r032): 27(ptr) Variable Function + 442(r033): 25(ptr) Variable Function + 445(r035): 25(ptr) Variable Function + 449(r036): 25(ptr) Variable Function + 452(r037): 25(ptr) Variable Function + 458(r038): 25(ptr) Variable Function + 462(r039): 461(ptr) Variable Function + 465(r040): 461(ptr) Variable Function + 468(r041): 25(ptr) Variable Function + 472(r039a): 25(ptr) Variable Function + 477(r042): 7(ptr) Variable Function + 480(r043): 25(ptr) Variable Function + 483(r044): 25(ptr) Variable Function + 487(r045): 25(ptr) Variable Function + 490(r046): 25(ptr) Variable Function + 494(r047): 25(ptr) Variable Function + 498(r048): 25(ptr) Variable Function + 501(r049): 25(ptr) Variable Function + 505(r050): 25(ptr) Variable Function + 508(r051): 25(ptr) Variable Function + 512(r052): 25(ptr) Variable Function + 516(r053): 25(ptr) Variable Function + 521(r054): 27(ptr) Variable Function + 525(r055): 25(ptr) Variable Function + 528(r056): 25(ptr) Variable Function + 531(r057): 25(ptr) Variable Function + 536(r058): 25(ptr) Variable Function + 539(r059): 25(ptr) Variable Function + 546(r060): 25(ptr) Variable Function + 549(r061): 25(ptr) Variable Function + 554(r062): 25(ptr) Variable Function + 557(r063): 25(ptr) Variable Function + 561(r064): 25(ptr) Variable Function + 564(r065): 25(ptr) Variable Function + 567(r066): 25(ptr) Variable Function + 338: 24(fvec2) Load 29(inF0) + 339: 131(bool) All 338 + Store 337(r000) 339 + 341: 24(fvec2) Load 29(inF0) + 342: 24(fvec2) ExtInst 1(GLSL.std.450) 4(FAbs) 341 + Store 340(r001) 342 + 344: 24(fvec2) Load 29(inF0) + 345: 24(fvec2) ExtInst 1(GLSL.std.450) 17(Acos) 344 + Store 343(r002) 345 + 347: 24(fvec2) Load 29(inF0) + 348: 131(bool) Any 347 + Store 346(r003) 348 + 350: 24(fvec2) Load 29(inF0) + 351: 24(fvec2) ExtInst 1(GLSL.std.450) 16(Asin) 350 + Store 349(r004) 351 + 355: 24(fvec2) Load 29(inF0) + 356: 352(ivec2) Bitcast 355 + Store 354(r005) 356 + 358: 24(fvec2) Load 29(inF0) + 359: 26(ivec2) Bitcast 358 + Store 357(r006) 359 + 361: 26(ivec2) Load 32(inU0) + 362: 24(fvec2) Bitcast 361 + Store 360(r007) 362 364: 24(fvec2) Load 29(inF0) - 365: 24(fvec2) Load 30(inF1) - 366: 24(fvec2) Load 31(inF2) - 367: 24(fvec2) ExtInst 1(GLSL.std.450) 43(FClamp) 364 365 366 - Store 363(r012) 367 - 368: 24(fvec2) Load 29(inF0) - 371: 370(bvec2) FOrdLessThan 368 369 - 372: 121(bool) Any 371 - SelectionMerge 374 None - BranchConditional 372 373 374 - 373: Label + 365: 24(fvec2) ExtInst 1(GLSL.std.450) 18(Atan) 364 + Store 363(r009) 365 + 367: 24(fvec2) Load 29(inF0) + 368: 24(fvec2) Load 30(inF1) + 369: 24(fvec2) ExtInst 1(GLSL.std.450) 25(Atan2) 367 368 + Store 366(r010) 369 + 371: 24(fvec2) Load 29(inF0) + 372: 24(fvec2) ExtInst 1(GLSL.std.450) 9(Ceil) 371 + Store 370(r011) 372 + 374: 24(fvec2) Load 29(inF0) + 375: 24(fvec2) Load 30(inF1) + 376: 24(fvec2) Load 31(inF2) + 377: 24(fvec2) ExtInst 1(GLSL.std.450) 43(FClamp) 374 375 376 + Store 373(r012) 377 + 378: 24(fvec2) Load 29(inF0) + 381: 380(bvec2) FOrdLessThan 378 379 + 382: 131(bool) Any 381 + SelectionMerge 384 None + BranchConditional 382 383 384 + 383: Label Kill - 374: Label - 377: 24(fvec2) Load 29(inF0) - 378: 24(fvec2) ExtInst 1(GLSL.std.450) 14(Cos) 377 - Store 376(r013) 378 - 380: 24(fvec2) Load 29(inF0) - 381: 24(fvec2) ExtInst 1(GLSL.std.450) 20(Cosh) 380 - Store 379(r015) 381 - 385: 26(ivec2) BitCount 384 - Store 382(r016) 385 + 384: Label 387: 24(fvec2) Load 29(inF0) - 388: 24(fvec2) DPdx 387 - Store 386(r017) 388 + 388: 24(fvec2) ExtInst 1(GLSL.std.450) 14(Cos) 387 + Store 386(r013) 388 390: 24(fvec2) Load 29(inF0) - 391: 24(fvec2) DPdxCoarse 390 - Store 389(r018) 391 - 393: 24(fvec2) Load 29(inF0) - 394: 24(fvec2) DPdxFine 393 - Store 392(r019) 394 - 396: 24(fvec2) Load 29(inF0) - 397: 24(fvec2) DPdy 396 - Store 395(r020) 397 - 399: 24(fvec2) Load 29(inF0) - 400: 24(fvec2) DPdyCoarse 399 - Store 398(r021) 400 - 402: 24(fvec2) Load 29(inF0) - 403: 24(fvec2) DPdyFine 402 - Store 401(r022) 403 - 405: 24(fvec2) Load 29(inF0) - 406: 24(fvec2) ExtInst 1(GLSL.std.450) 12(Degrees) 405 - Store 404(r023) 406 - 408: 24(fvec2) Load 29(inF0) - 409: 24(fvec2) Load 30(inF1) - 410: 6(float) ExtInst 1(GLSL.std.450) 67(Distance) 408 409 - Store 407(r026) 410 + 391: 24(fvec2) ExtInst 1(GLSL.std.450) 20(Cosh) 390 + Store 389(r015) 391 + 395: 26(ivec2) BitCount 394 + Store 392(r016) 395 + 397: 24(fvec2) Load 29(inF0) + 398: 24(fvec2) DPdx 397 + Store 396(r017) 398 + 400: 24(fvec2) Load 29(inF0) + 401: 24(fvec2) DPdxCoarse 400 + Store 399(r018) 401 + 403: 24(fvec2) Load 29(inF0) + 404: 24(fvec2) DPdxFine 403 + Store 402(r019) 404 + 406: 24(fvec2) Load 29(inF0) + 407: 24(fvec2) DPdy 406 + Store 405(r020) 407 + 409: 24(fvec2) Load 29(inF0) + 410: 24(fvec2) DPdyCoarse 409 + Store 408(r021) 410 412: 24(fvec2) Load 29(inF0) - 413: 24(fvec2) Load 30(inF1) - 414: 6(float) Dot 412 413 - Store 411(r027) 414 - 416: 24(fvec2) Load 29(inF0) - 417: 24(fvec2) ExtInst 1(GLSL.std.450) 27(Exp) 416 - Store 415(r028) 417 - 419: 24(fvec2) Load 29(inF0) - 420: 24(fvec2) ExtInst 1(GLSL.std.450) 29(Exp2) 419 - Store 418(r029) 420 + 413: 24(fvec2) DPdyFine 412 + Store 411(r022) 413 + 415: 24(fvec2) Load 29(inF0) + 416: 24(fvec2) ExtInst 1(GLSL.std.450) 12(Degrees) 415 + Store 414(r023) 416 + 418: 24(fvec2) Load 29(inF0) + 419: 24(fvec2) Load 30(inF1) + 420: 6(float) ExtInst 1(GLSL.std.450) 67(Distance) 418 419 + Store 417(r026) 420 422: 24(fvec2) Load 29(inF0) 423: 24(fvec2) Load 30(inF1) - 424: 24(fvec2) Load 31(inF2) - 425: 24(fvec2) ExtInst 1(GLSL.std.450) 70(FaceForward) 422 423 424 - Store 421(r030) 425 - 429: 26(ivec2) ExtInst 1(GLSL.std.450) 75(FindUMsb) 428 - Store 426(r031) 429 - 431: 26(ivec2) ExtInst 1(GLSL.std.450) 73(FindILsb) 428 - Store 430(r032) 431 - 433: 24(fvec2) Load 29(inF0) - 434: 24(fvec2) ExtInst 1(GLSL.std.450) 8(Floor) 433 - Store 432(r033) 434 - 436: 24(fvec2) Load 29(inF0) - 437: 24(fvec2) Load 30(inF1) - 438: 24(fvec2) FMod 436 437 - Store 435(r035) 438 - 440: 24(fvec2) Load 29(inF0) - 441: 24(fvec2) ExtInst 1(GLSL.std.450) 10(Fract) 440 - Store 439(r036) 441 + 424: 6(float) Dot 422 423 + Store 421(r027) 424 + 426: 24(fvec2) Load 29(inF0) + 427: 24(fvec2) ExtInst 1(GLSL.std.450) 27(Exp) 426 + Store 425(r028) 427 + 429: 24(fvec2) Load 29(inF0) + 430: 24(fvec2) ExtInst 1(GLSL.std.450) 29(Exp2) 429 + Store 428(r029) 430 + 432: 24(fvec2) Load 29(inF0) + 433: 24(fvec2) Load 30(inF1) + 434: 24(fvec2) Load 31(inF2) + 435: 24(fvec2) ExtInst 1(GLSL.std.450) 70(FaceForward) 432 433 434 + Store 431(r030) 435 + 439: 26(ivec2) ExtInst 1(GLSL.std.450) 75(FindUMsb) 438 + Store 436(r031) 439 + 441: 26(ivec2) ExtInst 1(GLSL.std.450) 73(FindILsb) 438 + Store 440(r032) 441 443: 24(fvec2) Load 29(inF0) - 445:444(ResType) ExtInst 1(GLSL.std.450) 52(FrexpStruct) 443 - 446: 342(ivec2) CompositeExtract 445 1 - Store 30(inF1) 446 - 447: 24(fvec2) CompositeExtract 445 0 - Store 442(r037) 447 - 449: 24(fvec2) Load 29(inF0) - 450: 24(fvec2) Fwidth 449 - Store 448(r038) 450 + 444: 24(fvec2) ExtInst 1(GLSL.std.450) 8(Floor) 443 + Store 442(r033) 444 + 446: 24(fvec2) Load 29(inF0) + 447: 24(fvec2) Load 30(inF1) + 448: 24(fvec2) FMod 446 447 + Store 445(r035) 448 + 450: 24(fvec2) Load 29(inF0) + 451: 24(fvec2) ExtInst 1(GLSL.std.450) 10(Fract) 450 + Store 449(r036) 451 453: 24(fvec2) Load 29(inF0) - 454: 370(bvec2) IsInf 453 - Store 452(r039) 454 - 456: 24(fvec2) Load 29(inF0) - 457: 370(bvec2) IsNan 456 - Store 455(r040) 457 + 455:454(ResType) ExtInst 1(GLSL.std.450) 52(FrexpStruct) 453 + 456: 352(ivec2) CompositeExtract 455 1 + Store 30(inF1) 456 + 457: 24(fvec2) CompositeExtract 455 0 + Store 452(r037) 457 459: 24(fvec2) Load 29(inF0) - 460: 24(fvec2) Load 30(inF1) - 461: 24(fvec2) ExtInst 1(GLSL.std.450) 53(Ldexp) 459 460 - Store 458(r041) 461 + 460: 24(fvec2) Fwidth 459 + Store 458(r038) 460 463: 24(fvec2) Load 29(inF0) - 464: 24(fvec2) Load 30(inF1) - 465: 24(fvec2) Load 31(inF2) - 466: 24(fvec2) ExtInst 1(GLSL.std.450) 46(FMix) 463 464 465 - Store 462(r039a) 466 - 468: 24(fvec2) Load 29(inF0) - 469: 6(float) ExtInst 1(GLSL.std.450) 66(Length) 468 - Store 467(r042) 469 - 471: 24(fvec2) Load 29(inF0) - 472: 24(fvec2) ExtInst 1(GLSL.std.450) 28(Log) 471 - Store 470(r043) 472 - 474: 24(fvec2) Load 29(inF0) - 475: 24(fvec2) ExtInst 1(GLSL.std.450) 30(Log2) 474 - 476: 24(fvec2) VectorTimesScalar 475 253 - Store 473(r044) 476 + 464: 380(bvec2) IsInf 463 + Store 462(r039) 464 + 466: 24(fvec2) Load 29(inF0) + 467: 380(bvec2) IsNan 466 + Store 465(r040) 467 + 469: 24(fvec2) Load 29(inF0) + 470: 24(fvec2) Load 30(inF1) + 471: 24(fvec2) ExtInst 1(GLSL.std.450) 53(Ldexp) 469 470 + Store 468(r041) 471 + 473: 24(fvec2) Load 29(inF0) + 474: 24(fvec2) Load 30(inF1) + 475: 24(fvec2) Load 31(inF2) + 476: 24(fvec2) ExtInst 1(GLSL.std.450) 46(FMix) 473 474 475 + Store 472(r039a) 476 478: 24(fvec2) Load 29(inF0) - 479: 24(fvec2) ExtInst 1(GLSL.std.450) 30(Log2) 478 - Store 477(r045) 479 + 479: 6(float) ExtInst 1(GLSL.std.450) 66(Length) 478 + Store 477(r042) 479 481: 24(fvec2) Load 29(inF0) - 482: 24(fvec2) Load 30(inF1) - 483: 24(fvec2) ExtInst 1(GLSL.std.450) 40(FMax) 481 482 - Store 480(r046) 483 - 485: 24(fvec2) Load 29(inF0) - 486: 24(fvec2) Load 30(inF1) - 487: 24(fvec2) ExtInst 1(GLSL.std.450) 37(FMin) 485 486 - Store 484(r047) 487 - 489: 24(fvec2) Load 29(inF0) - 490: 24(fvec2) ExtInst 1(GLSL.std.450) 69(Normalize) 489 - Store 488(r048) 490 - 492: 24(fvec2) Load 29(inF0) - 493: 24(fvec2) Load 30(inF1) - 494: 24(fvec2) ExtInst 1(GLSL.std.450) 26(Pow) 492 493 - Store 491(r049) 494 - 496: 24(fvec2) Load 29(inF0) - 497: 24(fvec2) ExtInst 1(GLSL.std.450) 11(Radians) 496 - Store 495(r050) 497 + 482: 24(fvec2) ExtInst 1(GLSL.std.450) 28(Log) 481 + Store 480(r043) 482 + 484: 24(fvec2) Load 29(inF0) + 485: 24(fvec2) ExtInst 1(GLSL.std.450) 30(Log2) 484 + 486: 24(fvec2) VectorTimesScalar 485 263 + Store 483(r044) 486 + 488: 24(fvec2) Load 29(inF0) + 489: 24(fvec2) ExtInst 1(GLSL.std.450) 30(Log2) 488 + Store 487(r045) 489 + 491: 24(fvec2) Load 29(inF0) + 492: 24(fvec2) Load 30(inF1) + 493: 24(fvec2) ExtInst 1(GLSL.std.450) 40(FMax) 491 492 + Store 490(r046) 493 + 495: 24(fvec2) Load 29(inF0) + 496: 24(fvec2) Load 30(inF1) + 497: 24(fvec2) ExtInst 1(GLSL.std.450) 37(FMin) 495 496 + Store 494(r047) 497 499: 24(fvec2) Load 29(inF0) - 500: 24(fvec2) CompositeConstruct 274 274 - 501: 24(fvec2) FDiv 500 499 - Store 498(r051) 501 - 503: 24(fvec2) Load 29(inF0) - 504: 24(fvec2) Load 30(inF1) - 505: 24(fvec2) ExtInst 1(GLSL.std.450) 71(Reflect) 503 504 - Store 502(r052) 505 - 507: 24(fvec2) Load 29(inF0) - 508: 24(fvec2) Load 30(inF1) - 510: 24(fvec2) ExtInst 1(GLSL.std.450) 72(Refract) 507 508 509 - Store 506(r053) 510 - 514: 26(ivec2) BitReverse 513 - Store 511(r054) 514 - 516: 24(fvec2) Load 29(inF0) - 517: 24(fvec2) ExtInst 1(GLSL.std.450) 2(RoundEven) 516 - Store 515(r055) 517 - 519: 24(fvec2) Load 29(inF0) - 520: 24(fvec2) ExtInst 1(GLSL.std.450) 32(InverseSqrt) 519 - Store 518(r056) 520 - 522: 24(fvec2) Load 29(inF0) - 523: 24(fvec2) CompositeConstruct 165 165 - 524: 24(fvec2) CompositeConstruct 274 274 - 525: 24(fvec2) ExtInst 1(GLSL.std.450) 43(FClamp) 522 523 524 - Store 521(r057) 525 - 527: 24(fvec2) Load 29(inF0) - 528: 24(fvec2) ExtInst 1(GLSL.std.450) 6(FSign) 527 - Store 526(r058) 528 - 530: 24(fvec2) Load 29(inF0) - 531: 24(fvec2) ExtInst 1(GLSL.std.450) 13(Sin) 530 - Store 529(r059) 531 + 500: 24(fvec2) ExtInst 1(GLSL.std.450) 69(Normalize) 499 + Store 498(r048) 500 + 502: 24(fvec2) Load 29(inF0) + 503: 24(fvec2) Load 30(inF1) + 504: 24(fvec2) ExtInst 1(GLSL.std.450) 26(Pow) 502 503 + Store 501(r049) 504 + 506: 24(fvec2) Load 29(inF0) + 507: 24(fvec2) ExtInst 1(GLSL.std.450) 11(Radians) 506 + Store 505(r050) 507 + 509: 24(fvec2) Load 29(inF0) + 510: 24(fvec2) CompositeConstruct 284 284 + 511: 24(fvec2) FDiv 510 509 + Store 508(r051) 511 + 513: 24(fvec2) Load 29(inF0) + 514: 24(fvec2) Load 30(inF1) + 515: 24(fvec2) ExtInst 1(GLSL.std.450) 71(Reflect) 513 514 + Store 512(r052) 515 + 517: 24(fvec2) Load 29(inF0) + 518: 24(fvec2) Load 30(inF1) + 520: 24(fvec2) ExtInst 1(GLSL.std.450) 72(Refract) 517 518 519 + Store 516(r053) 520 + 524: 26(ivec2) BitReverse 523 + Store 521(r054) 524 + 526: 24(fvec2) Load 29(inF0) + 527: 24(fvec2) ExtInst 1(GLSL.std.450) 2(RoundEven) 526 + Store 525(r055) 527 + 529: 24(fvec2) Load 29(inF0) + 530: 24(fvec2) ExtInst 1(GLSL.std.450) 32(InverseSqrt) 529 + Store 528(r056) 530 532: 24(fvec2) Load 29(inF0) - 533: 24(fvec2) ExtInst 1(GLSL.std.450) 13(Sin) 532 - Store 30(inF1) 533 - 534: 24(fvec2) Load 29(inF0) - 535: 24(fvec2) ExtInst 1(GLSL.std.450) 14(Cos) 534 - Store 31(inF2) 535 + 533: 24(fvec2) CompositeConstruct 175 175 + 534: 24(fvec2) CompositeConstruct 284 284 + 535: 24(fvec2) ExtInst 1(GLSL.std.450) 43(FClamp) 532 533 534 + Store 531(r057) 535 537: 24(fvec2) Load 29(inF0) - 538: 24(fvec2) ExtInst 1(GLSL.std.450) 19(Sinh) 537 - Store 536(r060) 538 + 538: 24(fvec2) ExtInst 1(GLSL.std.450) 6(FSign) 537 + Store 536(r058) 538 540: 24(fvec2) Load 29(inF0) - 541: 24(fvec2) Load 30(inF1) - 542: 24(fvec2) Load 31(inF2) - 543: 24(fvec2) ExtInst 1(GLSL.std.450) 49(SmoothStep) 540 541 542 - Store 539(r061) 543 - 545: 24(fvec2) Load 29(inF0) - 546: 24(fvec2) ExtInst 1(GLSL.std.450) 31(Sqrt) 545 - Store 544(r062) 546 - 548: 24(fvec2) Load 29(inF0) - 549: 24(fvec2) Load 30(inF1) - 550: 24(fvec2) ExtInst 1(GLSL.std.450) 48(Step) 548 549 - Store 547(r063) 550 - 552: 24(fvec2) Load 29(inF0) - 553: 24(fvec2) ExtInst 1(GLSL.std.450) 15(Tan) 552 - Store 551(r064) 553 + 541: 24(fvec2) ExtInst 1(GLSL.std.450) 13(Sin) 540 + Store 539(r059) 541 + 542: 24(fvec2) Load 29(inF0) + 543: 24(fvec2) ExtInst 1(GLSL.std.450) 13(Sin) 542 + Store 30(inF1) 543 + 544: 24(fvec2) Load 29(inF0) + 545: 24(fvec2) ExtInst 1(GLSL.std.450) 14(Cos) 544 + Store 31(inF2) 545 + 547: 24(fvec2) Load 29(inF0) + 548: 24(fvec2) ExtInst 1(GLSL.std.450) 19(Sinh) 547 + Store 546(r060) 548 + 550: 24(fvec2) Load 29(inF0) + 551: 24(fvec2) Load 30(inF1) + 552: 24(fvec2) Load 31(inF2) + 553: 24(fvec2) ExtInst 1(GLSL.std.450) 49(SmoothStep) 550 551 552 + Store 549(r061) 553 555: 24(fvec2) Load 29(inF0) - 556: 24(fvec2) ExtInst 1(GLSL.std.450) 21(Tanh) 555 - Store 554(r065) 556 + 556: 24(fvec2) ExtInst 1(GLSL.std.450) 31(Sqrt) 555 + Store 554(r062) 556 558: 24(fvec2) Load 29(inF0) - 559: 24(fvec2) ExtInst 1(GLSL.std.450) 3(Trunc) 558 - Store 557(r066) 559 - ReturnValue 560 + 559: 24(fvec2) Load 30(inF1) + 560: 24(fvec2) ExtInst 1(GLSL.std.450) 48(Step) 558 559 + Store 557(r063) 560 + 562: 24(fvec2) Load 29(inF0) + 563: 24(fvec2) ExtInst 1(GLSL.std.450) 15(Tan) 562 + Store 561(r064) 563 + 565: 24(fvec2) Load 29(inF0) + 566: 24(fvec2) ExtInst 1(GLSL.std.450) 21(Tanh) 565 + Store 564(r065) 566 + 568: 24(fvec2) Load 29(inF0) + 569: 24(fvec2) ExtInst 1(GLSL.std.450) 3(Trunc) 568 + Store 567(r066) 569 + ReturnValue 570 FunctionEnd 46(PixelShaderFunction3(vf3;vf3;vf3;vu3;vu3;): 36(fvec3) Function None 40 41(inF0): 37(ptr) FunctionParameter @@ -7104,670 +6837,979 @@ gl_FragCoord origin is upper left 44(inU0): 39(ptr) FunctionParameter 45(inU1): 39(ptr) FunctionParameter 47: Label - 563(r000): 122(ptr) Variable Function - 566(r001): 37(ptr) Variable Function - 569(r002): 37(ptr) Variable Function - 572(r003): 122(ptr) Variable Function - 575(r004): 37(ptr) Variable Function - 580(r005): 579(ptr) Variable Function - 583(r006): 39(ptr) Variable Function - 586(r007): 37(ptr) Variable Function - 589(r009): 37(ptr) Variable Function - 592(r010): 37(ptr) Variable Function - 596(r011): 37(ptr) Variable Function - 599(r012): 37(ptr) Variable Function - 612(r013): 37(ptr) Variable Function - 615(r014): 37(ptr) Variable Function - 618(r015): 39(ptr) Variable Function - 622(r016): 37(ptr) Variable Function - 626(r017): 37(ptr) Variable Function - 629(r018): 37(ptr) Variable Function - 632(r019): 37(ptr) Variable Function - 635(r020): 37(ptr) Variable Function - 638(r021): 37(ptr) Variable Function - 641(r022): 37(ptr) Variable Function - 644(r023): 37(ptr) Variable Function - 647(r024): 7(ptr) Variable Function - 651(r025): 7(ptr) Variable Function - 655(r029): 37(ptr) Variable Function - 658(r030): 37(ptr) Variable Function - 661(r031): 37(ptr) Variable Function - 666(r032): 39(ptr) Variable Function - 670(r033): 39(ptr) Variable Function - 672(r034): 37(ptr) Variable Function - 675(r036): 37(ptr) Variable Function - 679(r037): 37(ptr) Variable Function - 682(r038): 37(ptr) Variable Function - 688(r039): 37(ptr) Variable Function - 692(r040): 691(ptr) Variable Function - 695(r041): 691(ptr) Variable Function - 698(r042): 37(ptr) Variable Function - 702(r039a): 37(ptr) Variable Function - 707(r039b): 37(ptr) Variable Function - 713(r043): 7(ptr) Variable Function - 716(r044): 37(ptr) Variable Function - 719(r045): 37(ptr) Variable Function - 723(r046): 37(ptr) Variable Function - 726(r047): 37(ptr) Variable Function - 730(r048): 37(ptr) Variable Function - 734(r049): 37(ptr) Variable Function - 737(r050): 37(ptr) Variable Function - 741(r051): 37(ptr) Variable Function - 744(r052): 37(ptr) Variable Function - 748(r053): 37(ptr) Variable Function - 752(r054): 37(ptr) Variable Function - 756(r055): 39(ptr) Variable Function - 759(r056): 37(ptr) Variable Function - 762(r057): 37(ptr) Variable Function - 765(r058): 37(ptr) Variable Function - 770(r059): 37(ptr) Variable Function - 773(r060): 37(ptr) Variable Function - 780(r061): 37(ptr) Variable Function - 783(r062): 37(ptr) Variable Function - 788(r063): 37(ptr) Variable Function - 791(r064): 37(ptr) Variable Function - 795(r065): 37(ptr) Variable Function - 798(r066): 37(ptr) Variable Function - 801(r067): 37(ptr) Variable Function - 564: 36(fvec3) Load 41(inF0) - 565: 121(bool) All 564 - Store 563(r000) 565 - 567: 36(fvec3) Load 41(inF0) - 568: 36(fvec3) ExtInst 1(GLSL.std.450) 4(FAbs) 567 - Store 566(r001) 568 - 570: 36(fvec3) Load 41(inF0) - 571: 36(fvec3) ExtInst 1(GLSL.std.450) 17(Acos) 570 - Store 569(r002) 571 - 573: 36(fvec3) Load 41(inF0) - 574: 121(bool) Any 573 - Store 572(r003) 574 - 576: 36(fvec3) Load 41(inF0) - 577: 36(fvec3) ExtInst 1(GLSL.std.450) 16(Asin) 576 - Store 575(r004) 577 - 581: 36(fvec3) Load 41(inF0) - 582: 578(ivec3) Bitcast 581 - Store 580(r005) 582 - 584: 36(fvec3) Load 41(inF0) - 585: 38(ivec3) Bitcast 584 - Store 583(r006) 585 - 587: 38(ivec3) Load 44(inU0) - 588: 36(fvec3) Bitcast 587 - Store 586(r007) 588 - 590: 36(fvec3) Load 41(inF0) - 591: 36(fvec3) ExtInst 1(GLSL.std.450) 18(Atan) 590 - Store 589(r009) 591 - 593: 36(fvec3) Load 41(inF0) - 594: 36(fvec3) Load 42(inF1) - 595: 36(fvec3) ExtInst 1(GLSL.std.450) 25(Atan2) 593 594 - Store 592(r010) 595 - 597: 36(fvec3) Load 41(inF0) - 598: 36(fvec3) ExtInst 1(GLSL.std.450) 9(Ceil) 597 - Store 596(r011) 598 + 573(r000): 132(ptr) Variable Function + 576(r001): 37(ptr) Variable Function + 579(r002): 37(ptr) Variable Function + 582(r003): 132(ptr) Variable Function + 585(r004): 37(ptr) Variable Function + 590(r005): 589(ptr) Variable Function + 593(r006): 39(ptr) Variable Function + 596(r007): 37(ptr) Variable Function + 599(r009): 37(ptr) Variable Function + 602(r010): 37(ptr) Variable Function + 606(r011): 37(ptr) Variable Function + 609(r012): 37(ptr) Variable Function + 622(r013): 37(ptr) Variable Function + 625(r014): 37(ptr) Variable Function + 628(r015): 39(ptr) Variable Function + 632(r016): 37(ptr) Variable Function + 636(r017): 37(ptr) Variable Function + 639(r018): 37(ptr) Variable Function + 642(r019): 37(ptr) Variable Function + 645(r020): 37(ptr) Variable Function + 648(r021): 37(ptr) Variable Function + 651(r022): 37(ptr) Variable Function + 654(r023): 37(ptr) Variable Function + 657(r024): 7(ptr) Variable Function + 661(r025): 7(ptr) Variable Function + 665(r029): 37(ptr) Variable Function + 668(r030): 37(ptr) Variable Function + 671(r031): 37(ptr) Variable Function + 676(r032): 39(ptr) Variable Function + 680(r033): 39(ptr) Variable Function + 682(r034): 37(ptr) Variable Function + 685(r036): 37(ptr) Variable Function + 689(r037): 37(ptr) Variable Function + 692(r038): 37(ptr) Variable Function + 698(r039): 37(ptr) Variable Function + 702(r040): 701(ptr) Variable Function + 705(r041): 701(ptr) Variable Function + 708(r042): 37(ptr) Variable Function + 712(r039a): 37(ptr) Variable Function + 717(r039b): 37(ptr) Variable Function + 723(r043): 7(ptr) Variable Function + 726(r044): 37(ptr) Variable Function + 729(r045): 37(ptr) Variable Function + 733(r046): 37(ptr) Variable Function + 736(r047): 37(ptr) Variable Function + 740(r048): 37(ptr) Variable Function + 744(r049): 37(ptr) Variable Function + 747(r050): 37(ptr) Variable Function + 751(r051): 37(ptr) Variable Function + 754(r052): 37(ptr) Variable Function + 758(r053): 37(ptr) Variable Function + 762(r054): 37(ptr) Variable Function + 766(r055): 39(ptr) Variable Function + 769(r056): 37(ptr) Variable Function + 772(r057): 37(ptr) Variable Function + 775(r058): 37(ptr) Variable Function + 780(r059): 37(ptr) Variable Function + 783(r060): 37(ptr) Variable Function + 790(r061): 37(ptr) Variable Function + 793(r062): 37(ptr) Variable Function + 798(r063): 37(ptr) Variable Function + 801(r064): 37(ptr) Variable Function + 805(r065): 37(ptr) Variable Function + 808(r066): 37(ptr) Variable Function + 811(r067): 37(ptr) Variable Function + 574: 36(fvec3) Load 41(inF0) + 575: 131(bool) All 574 + Store 573(r000) 575 + 577: 36(fvec3) Load 41(inF0) + 578: 36(fvec3) ExtInst 1(GLSL.std.450) 4(FAbs) 577 + Store 576(r001) 578 + 580: 36(fvec3) Load 41(inF0) + 581: 36(fvec3) ExtInst 1(GLSL.std.450) 17(Acos) 580 + Store 579(r002) 581 + 583: 36(fvec3) Load 41(inF0) + 584: 131(bool) Any 583 + Store 582(r003) 584 + 586: 36(fvec3) Load 41(inF0) + 587: 36(fvec3) ExtInst 1(GLSL.std.450) 16(Asin) 586 + Store 585(r004) 587 + 591: 36(fvec3) Load 41(inF0) + 592: 588(ivec3) Bitcast 591 + Store 590(r005) 592 + 594: 36(fvec3) Load 41(inF0) + 595: 38(ivec3) Bitcast 594 + Store 593(r006) 595 + 597: 38(ivec3) Load 44(inU0) + 598: 36(fvec3) Bitcast 597 + Store 596(r007) 598 600: 36(fvec3) Load 41(inF0) - 601: 36(fvec3) Load 42(inF1) - 602: 36(fvec3) Load 43(inF2) - 603: 36(fvec3) ExtInst 1(GLSL.std.450) 43(FClamp) 600 601 602 - Store 599(r012) 603 - 604: 36(fvec3) Load 41(inF0) - 607: 606(bvec3) FOrdLessThan 604 605 - 608: 121(bool) Any 607 - SelectionMerge 610 None - BranchConditional 608 609 610 - 609: Label + 601: 36(fvec3) ExtInst 1(GLSL.std.450) 18(Atan) 600 + Store 599(r009) 601 + 603: 36(fvec3) Load 41(inF0) + 604: 36(fvec3) Load 42(inF1) + 605: 36(fvec3) ExtInst 1(GLSL.std.450) 25(Atan2) 603 604 + Store 602(r010) 605 + 607: 36(fvec3) Load 41(inF0) + 608: 36(fvec3) ExtInst 1(GLSL.std.450) 9(Ceil) 607 + Store 606(r011) 608 + 610: 36(fvec3) Load 41(inF0) + 611: 36(fvec3) Load 42(inF1) + 612: 36(fvec3) Load 43(inF2) + 613: 36(fvec3) ExtInst 1(GLSL.std.450) 43(FClamp) 610 611 612 + Store 609(r012) 613 + 614: 36(fvec3) Load 41(inF0) + 617: 616(bvec3) FOrdLessThan 614 615 + 618: 131(bool) Any 617 + SelectionMerge 620 None + BranchConditional 618 619 620 + 619: Label Kill - 610: Label - 613: 36(fvec3) Load 41(inF0) - 614: 36(fvec3) ExtInst 1(GLSL.std.450) 14(Cos) 613 - Store 612(r013) 614 - 616: 36(fvec3) Load 41(inF0) - 617: 36(fvec3) ExtInst 1(GLSL.std.450) 20(Cosh) 616 - Store 615(r014) 617 - 621: 38(ivec3) BitCount 620 - Store 618(r015) 621 + 620: Label 623: 36(fvec3) Load 41(inF0) - 624: 36(fvec3) Load 42(inF1) - 625: 36(fvec3) ExtInst 1(GLSL.std.450) 68(Cross) 623 624 - Store 622(r016) 625 - 627: 36(fvec3) Load 41(inF0) - 628: 36(fvec3) DPdx 627 - Store 626(r017) 628 - 630: 36(fvec3) Load 41(inF0) - 631: 36(fvec3) DPdxCoarse 630 - Store 629(r018) 631 + 624: 36(fvec3) ExtInst 1(GLSL.std.450) 14(Cos) 623 + Store 622(r013) 624 + 626: 36(fvec3) Load 41(inF0) + 627: 36(fvec3) ExtInst 1(GLSL.std.450) 20(Cosh) 626 + Store 625(r014) 627 + 631: 38(ivec3) BitCount 630 + Store 628(r015) 631 633: 36(fvec3) Load 41(inF0) - 634: 36(fvec3) DPdxFine 633 - Store 632(r019) 634 - 636: 36(fvec3) Load 41(inF0) - 637: 36(fvec3) DPdy 636 - Store 635(r020) 637 - 639: 36(fvec3) Load 41(inF0) - 640: 36(fvec3) DPdyCoarse 639 - Store 638(r021) 640 - 642: 36(fvec3) Load 41(inF0) - 643: 36(fvec3) DPdyFine 642 - Store 641(r022) 643 - 645: 36(fvec3) Load 41(inF0) - 646: 36(fvec3) ExtInst 1(GLSL.std.450) 12(Degrees) 645 - Store 644(r023) 646 - 648: 36(fvec3) Load 41(inF0) - 649: 36(fvec3) Load 42(inF1) - 650: 6(float) ExtInst 1(GLSL.std.450) 67(Distance) 648 649 - Store 647(r024) 650 + 634: 36(fvec3) Load 42(inF1) + 635: 36(fvec3) ExtInst 1(GLSL.std.450) 68(Cross) 633 634 + Store 632(r016) 635 + 637: 36(fvec3) Load 41(inF0) + 638: 36(fvec3) DPdx 637 + Store 636(r017) 638 + 640: 36(fvec3) Load 41(inF0) + 641: 36(fvec3) DPdxCoarse 640 + Store 639(r018) 641 + 643: 36(fvec3) Load 41(inF0) + 644: 36(fvec3) DPdxFine 643 + Store 642(r019) 644 + 646: 36(fvec3) Load 41(inF0) + 647: 36(fvec3) DPdy 646 + Store 645(r020) 647 + 649: 36(fvec3) Load 41(inF0) + 650: 36(fvec3) DPdyCoarse 649 + Store 648(r021) 650 652: 36(fvec3) Load 41(inF0) - 653: 36(fvec3) Load 42(inF1) - 654: 6(float) Dot 652 653 - Store 651(r025) 654 - 656: 36(fvec3) Load 41(inF0) - 657: 36(fvec3) ExtInst 1(GLSL.std.450) 27(Exp) 656 - Store 655(r029) 657 - 659: 36(fvec3) Load 41(inF0) - 660: 36(fvec3) ExtInst 1(GLSL.std.450) 29(Exp2) 659 - Store 658(r030) 660 + 653: 36(fvec3) DPdyFine 652 + Store 651(r022) 653 + 655: 36(fvec3) Load 41(inF0) + 656: 36(fvec3) ExtInst 1(GLSL.std.450) 12(Degrees) 655 + Store 654(r023) 656 + 658: 36(fvec3) Load 41(inF0) + 659: 36(fvec3) Load 42(inF1) + 660: 6(float) ExtInst 1(GLSL.std.450) 67(Distance) 658 659 + Store 657(r024) 660 662: 36(fvec3) Load 41(inF0) 663: 36(fvec3) Load 42(inF1) - 664: 36(fvec3) Load 43(inF2) - 665: 36(fvec3) ExtInst 1(GLSL.std.450) 70(FaceForward) 662 663 664 - Store 661(r031) 665 - 669: 38(ivec3) ExtInst 1(GLSL.std.450) 75(FindUMsb) 668 - Store 666(r032) 669 - 671: 38(ivec3) ExtInst 1(GLSL.std.450) 73(FindILsb) 668 - Store 670(r033) 671 - 673: 36(fvec3) Load 41(inF0) - 674: 36(fvec3) ExtInst 1(GLSL.std.450) 8(Floor) 673 - Store 672(r034) 674 - 676: 36(fvec3) Load 41(inF0) - 677: 36(fvec3) Load 42(inF1) - 678: 36(fvec3) FMod 676 677 - Store 675(r036) 678 - 680: 36(fvec3) Load 41(inF0) - 681: 36(fvec3) ExtInst 1(GLSL.std.450) 10(Fract) 680 - Store 679(r037) 681 + 664: 6(float) Dot 662 663 + Store 661(r025) 664 + 666: 36(fvec3) Load 41(inF0) + 667: 36(fvec3) ExtInst 1(GLSL.std.450) 27(Exp) 666 + Store 665(r029) 667 + 669: 36(fvec3) Load 41(inF0) + 670: 36(fvec3) ExtInst 1(GLSL.std.450) 29(Exp2) 669 + Store 668(r030) 670 + 672: 36(fvec3) Load 41(inF0) + 673: 36(fvec3) Load 42(inF1) + 674: 36(fvec3) Load 43(inF2) + 675: 36(fvec3) ExtInst 1(GLSL.std.450) 70(FaceForward) 672 673 674 + Store 671(r031) 675 + 679: 38(ivec3) ExtInst 1(GLSL.std.450) 75(FindUMsb) 678 + Store 676(r032) 679 + 681: 38(ivec3) ExtInst 1(GLSL.std.450) 73(FindILsb) 678 + Store 680(r033) 681 683: 36(fvec3) Load 41(inF0) - 685:684(ResType) ExtInst 1(GLSL.std.450) 52(FrexpStruct) 683 - 686: 578(ivec3) CompositeExtract 685 1 - Store 42(inF1) 686 - 687: 36(fvec3) CompositeExtract 685 0 - Store 682(r038) 687 - 689: 36(fvec3) Load 41(inF0) - 690: 36(fvec3) Fwidth 689 - Store 688(r039) 690 + 684: 36(fvec3) ExtInst 1(GLSL.std.450) 8(Floor) 683 + Store 682(r034) 684 + 686: 36(fvec3) Load 41(inF0) + 687: 36(fvec3) Load 42(inF1) + 688: 36(fvec3) FMod 686 687 + Store 685(r036) 688 + 690: 36(fvec3) Load 41(inF0) + 691: 36(fvec3) ExtInst 1(GLSL.std.450) 10(Fract) 690 + Store 689(r037) 691 693: 36(fvec3) Load 41(inF0) - 694: 606(bvec3) IsInf 693 - Store 692(r040) 694 - 696: 36(fvec3) Load 41(inF0) - 697: 606(bvec3) IsNan 696 - Store 695(r041) 697 + 695:694(ResType) ExtInst 1(GLSL.std.450) 52(FrexpStruct) 693 + 696: 588(ivec3) CompositeExtract 695 1 + Store 42(inF1) 696 + 697: 36(fvec3) CompositeExtract 695 0 + Store 692(r038) 697 699: 36(fvec3) Load 41(inF0) - 700: 36(fvec3) Load 42(inF1) - 701: 36(fvec3) ExtInst 1(GLSL.std.450) 53(Ldexp) 699 700 - Store 698(r042) 701 + 700: 36(fvec3) Fwidth 699 + Store 698(r039) 700 703: 36(fvec3) Load 41(inF0) - 704: 36(fvec3) Load 42(inF1) - 705: 36(fvec3) Load 43(inF2) - 706: 36(fvec3) ExtInst 1(GLSL.std.450) 46(FMix) 703 704 705 - Store 702(r039a) 706 - 708: 36(fvec3) Load 41(inF0) - 709: 36(fvec3) Load 42(inF1) - 711: 36(fvec3) CompositeConstruct 710 710 710 - 712: 36(fvec3) ExtInst 1(GLSL.std.450) 46(FMix) 708 709 711 - Store 707(r039b) 712 - 714: 36(fvec3) Load 41(inF0) - 715: 6(float) ExtInst 1(GLSL.std.450) 66(Length) 714 - Store 713(r043) 715 - 717: 36(fvec3) Load 41(inF0) - 718: 36(fvec3) ExtInst 1(GLSL.std.450) 28(Log) 717 - Store 716(r044) 718 - 720: 36(fvec3) Load 41(inF0) - 721: 36(fvec3) ExtInst 1(GLSL.std.450) 30(Log2) 720 - 722: 36(fvec3) VectorTimesScalar 721 253 - Store 719(r045) 722 + 704: 616(bvec3) IsInf 703 + Store 702(r040) 704 + 706: 36(fvec3) Load 41(inF0) + 707: 616(bvec3) IsNan 706 + Store 705(r041) 707 + 709: 36(fvec3) Load 41(inF0) + 710: 36(fvec3) Load 42(inF1) + 711: 36(fvec3) ExtInst 1(GLSL.std.450) 53(Ldexp) 709 710 + Store 708(r042) 711 + 713: 36(fvec3) Load 41(inF0) + 714: 36(fvec3) Load 42(inF1) + 715: 36(fvec3) Load 43(inF2) + 716: 36(fvec3) ExtInst 1(GLSL.std.450) 46(FMix) 713 714 715 + Store 712(r039a) 716 + 718: 36(fvec3) Load 41(inF0) + 719: 36(fvec3) Load 42(inF1) + 721: 36(fvec3) CompositeConstruct 720 720 720 + 722: 36(fvec3) ExtInst 1(GLSL.std.450) 46(FMix) 718 719 721 + Store 717(r039b) 722 724: 36(fvec3) Load 41(inF0) - 725: 36(fvec3) ExtInst 1(GLSL.std.450) 30(Log2) 724 - Store 723(r046) 725 + 725: 6(float) ExtInst 1(GLSL.std.450) 66(Length) 724 + Store 723(r043) 725 727: 36(fvec3) Load 41(inF0) - 728: 36(fvec3) Load 42(inF1) - 729: 36(fvec3) ExtInst 1(GLSL.std.450) 40(FMax) 727 728 - Store 726(r047) 729 - 731: 36(fvec3) Load 41(inF0) - 732: 36(fvec3) Load 42(inF1) - 733: 36(fvec3) ExtInst 1(GLSL.std.450) 37(FMin) 731 732 - Store 730(r048) 733 - 735: 36(fvec3) Load 41(inF0) - 736: 36(fvec3) ExtInst 1(GLSL.std.450) 69(Normalize) 735 - Store 734(r049) 736 - 738: 36(fvec3) Load 41(inF0) - 739: 36(fvec3) Load 42(inF1) - 740: 36(fvec3) ExtInst 1(GLSL.std.450) 26(Pow) 738 739 - Store 737(r050) 740 - 742: 36(fvec3) Load 41(inF0) - 743: 36(fvec3) ExtInst 1(GLSL.std.450) 11(Radians) 742 - Store 741(r051) 743 + 728: 36(fvec3) ExtInst 1(GLSL.std.450) 28(Log) 727 + Store 726(r044) 728 + 730: 36(fvec3) Load 41(inF0) + 731: 36(fvec3) ExtInst 1(GLSL.std.450) 30(Log2) 730 + 732: 36(fvec3) VectorTimesScalar 731 263 + Store 729(r045) 732 + 734: 36(fvec3) Load 41(inF0) + 735: 36(fvec3) ExtInst 1(GLSL.std.450) 30(Log2) 734 + Store 733(r046) 735 + 737: 36(fvec3) Load 41(inF0) + 738: 36(fvec3) Load 42(inF1) + 739: 36(fvec3) ExtInst 1(GLSL.std.450) 40(FMax) 737 738 + Store 736(r047) 739 + 741: 36(fvec3) Load 41(inF0) + 742: 36(fvec3) Load 42(inF1) + 743: 36(fvec3) ExtInst 1(GLSL.std.450) 37(FMin) 741 742 + Store 740(r048) 743 745: 36(fvec3) Load 41(inF0) - 746: 36(fvec3) CompositeConstruct 274 274 274 - 747: 36(fvec3) FDiv 746 745 - Store 744(r052) 747 - 749: 36(fvec3) Load 41(inF0) - 750: 36(fvec3) Load 42(inF1) - 751: 36(fvec3) ExtInst 1(GLSL.std.450) 71(Reflect) 749 750 - Store 748(r053) 751 - 753: 36(fvec3) Load 41(inF0) - 754: 36(fvec3) Load 42(inF1) - 755: 36(fvec3) ExtInst 1(GLSL.std.450) 72(Refract) 753 754 509 - Store 752(r054) 755 - 758: 38(ivec3) BitReverse 757 - Store 756(r055) 758 - 760: 36(fvec3) Load 41(inF0) - 761: 36(fvec3) ExtInst 1(GLSL.std.450) 2(RoundEven) 760 - Store 759(r056) 761 + 746: 36(fvec3) ExtInst 1(GLSL.std.450) 69(Normalize) 745 + Store 744(r049) 746 + 748: 36(fvec3) Load 41(inF0) + 749: 36(fvec3) Load 42(inF1) + 750: 36(fvec3) ExtInst 1(GLSL.std.450) 26(Pow) 748 749 + Store 747(r050) 750 + 752: 36(fvec3) Load 41(inF0) + 753: 36(fvec3) ExtInst 1(GLSL.std.450) 11(Radians) 752 + Store 751(r051) 753 + 755: 36(fvec3) Load 41(inF0) + 756: 36(fvec3) CompositeConstruct 284 284 284 + 757: 36(fvec3) FDiv 756 755 + Store 754(r052) 757 + 759: 36(fvec3) Load 41(inF0) + 760: 36(fvec3) Load 42(inF1) + 761: 36(fvec3) ExtInst 1(GLSL.std.450) 71(Reflect) 759 760 + Store 758(r053) 761 763: 36(fvec3) Load 41(inF0) - 764: 36(fvec3) ExtInst 1(GLSL.std.450) 32(InverseSqrt) 763 - Store 762(r057) 764 - 766: 36(fvec3) Load 41(inF0) - 767: 36(fvec3) CompositeConstruct 165 165 165 - 768: 36(fvec3) CompositeConstruct 274 274 274 - 769: 36(fvec3) ExtInst 1(GLSL.std.450) 43(FClamp) 766 767 768 - Store 765(r058) 769 - 771: 36(fvec3) Load 41(inF0) - 772: 36(fvec3) ExtInst 1(GLSL.std.450) 6(FSign) 771 - Store 770(r059) 772 - 774: 36(fvec3) Load 41(inF0) - 775: 36(fvec3) ExtInst 1(GLSL.std.450) 13(Sin) 774 - Store 773(r060) 775 + 764: 36(fvec3) Load 42(inF1) + 765: 36(fvec3) ExtInst 1(GLSL.std.450) 72(Refract) 763 764 519 + Store 762(r054) 765 + 768: 38(ivec3) BitReverse 767 + Store 766(r055) 768 + 770: 36(fvec3) Load 41(inF0) + 771: 36(fvec3) ExtInst 1(GLSL.std.450) 2(RoundEven) 770 + Store 769(r056) 771 + 773: 36(fvec3) Load 41(inF0) + 774: 36(fvec3) ExtInst 1(GLSL.std.450) 32(InverseSqrt) 773 + Store 772(r057) 774 776: 36(fvec3) Load 41(inF0) - 777: 36(fvec3) ExtInst 1(GLSL.std.450) 13(Sin) 776 - Store 42(inF1) 777 - 778: 36(fvec3) Load 41(inF0) - 779: 36(fvec3) ExtInst 1(GLSL.std.450) 14(Cos) 778 - Store 43(inF2) 779 + 777: 36(fvec3) CompositeConstruct 175 175 175 + 778: 36(fvec3) CompositeConstruct 284 284 284 + 779: 36(fvec3) ExtInst 1(GLSL.std.450) 43(FClamp) 776 777 778 + Store 775(r058) 779 781: 36(fvec3) Load 41(inF0) - 782: 36(fvec3) ExtInst 1(GLSL.std.450) 19(Sinh) 781 - Store 780(r061) 782 + 782: 36(fvec3) ExtInst 1(GLSL.std.450) 6(FSign) 781 + Store 780(r059) 782 784: 36(fvec3) Load 41(inF0) - 785: 36(fvec3) Load 42(inF1) - 786: 36(fvec3) Load 43(inF2) - 787: 36(fvec3) ExtInst 1(GLSL.std.450) 49(SmoothStep) 784 785 786 - Store 783(r062) 787 - 789: 36(fvec3) Load 41(inF0) - 790: 36(fvec3) ExtInst 1(GLSL.std.450) 31(Sqrt) 789 - Store 788(r063) 790 - 792: 36(fvec3) Load 41(inF0) - 793: 36(fvec3) Load 42(inF1) - 794: 36(fvec3) ExtInst 1(GLSL.std.450) 48(Step) 792 793 - Store 791(r064) 794 - 796: 36(fvec3) Load 41(inF0) - 797: 36(fvec3) ExtInst 1(GLSL.std.450) 15(Tan) 796 - Store 795(r065) 797 + 785: 36(fvec3) ExtInst 1(GLSL.std.450) 13(Sin) 784 + Store 783(r060) 785 + 786: 36(fvec3) Load 41(inF0) + 787: 36(fvec3) ExtInst 1(GLSL.std.450) 13(Sin) 786 + Store 42(inF1) 787 + 788: 36(fvec3) Load 41(inF0) + 789: 36(fvec3) ExtInst 1(GLSL.std.450) 14(Cos) 788 + Store 43(inF2) 789 + 791: 36(fvec3) Load 41(inF0) + 792: 36(fvec3) ExtInst 1(GLSL.std.450) 19(Sinh) 791 + Store 790(r061) 792 + 794: 36(fvec3) Load 41(inF0) + 795: 36(fvec3) Load 42(inF1) + 796: 36(fvec3) Load 43(inF2) + 797: 36(fvec3) ExtInst 1(GLSL.std.450) 49(SmoothStep) 794 795 796 + Store 793(r062) 797 799: 36(fvec3) Load 41(inF0) - 800: 36(fvec3) ExtInst 1(GLSL.std.450) 21(Tanh) 799 - Store 798(r066) 800 + 800: 36(fvec3) ExtInst 1(GLSL.std.450) 31(Sqrt) 799 + Store 798(r063) 800 802: 36(fvec3) Load 41(inF0) - 803: 36(fvec3) ExtInst 1(GLSL.std.450) 3(Trunc) 802 - Store 801(r067) 803 - ReturnValue 805 + 803: 36(fvec3) Load 42(inF1) + 804: 36(fvec3) ExtInst 1(GLSL.std.450) 48(Step) 802 803 + Store 801(r064) 804 + 806: 36(fvec3) Load 41(inF0) + 807: 36(fvec3) ExtInst 1(GLSL.std.450) 15(Tan) 806 + Store 805(r065) 807 + 809: 36(fvec3) Load 41(inF0) + 810: 36(fvec3) ExtInst 1(GLSL.std.450) 21(Tanh) 809 + Store 808(r066) 810 + 812: 36(fvec3) Load 41(inF0) + 813: 36(fvec3) ExtInst 1(GLSL.std.450) 3(Trunc) 812 + Store 811(r067) 813 + ReturnValue 815 FunctionEnd -54(PixelShaderFunction2x2(mf22;mf22;mf22;): 48 Function None 50 - 51(inF0): 49(ptr) FunctionParameter - 52(inF1): 49(ptr) FunctionParameter - 53(inF2): 49(ptr) FunctionParameter - 55: Label - 1064(r000): 122(ptr) Variable Function - 1067(r001): 49(ptr) Variable Function - 1072(r003): 122(ptr) Variable Function - 1075(r004): 49(ptr) Variable Function - 1078(r005): 49(ptr) Variable Function - 1081(r006): 49(ptr) Variable Function - 1085(r007): 49(ptr) Variable Function - 1096(r008): 49(ptr) Variable Function - 1101(r009): 49(ptr) Variable Function - 1104(r010): 49(ptr) Variable Function - 1107(r011): 49(ptr) Variable Function - 1110(r012): 49(ptr) Variable Function - 1113(r013): 49(ptr) Variable Function - 1116(r014): 49(ptr) Variable Function - 1119(r015): 49(ptr) Variable Function - 1122(r016): 49(ptr) Variable Function - 1125(r017): 49(ptr) Variable Function +58(PixelShaderFunction(vf4;vf4;vf4;vu4;vu4;): 48(fvec4) Function None 52 + 53(inF0): 49(ptr) FunctionParameter + 54(inF1): 49(ptr) FunctionParameter + 55(inF2): 49(ptr) FunctionParameter + 56(inU0): 51(ptr) FunctionParameter + 57(inU1): 51(ptr) FunctionParameter + 59: Label + 818(r000): 132(ptr) Variable Function + 821(r001): 49(ptr) Variable Function + 824(r002): 49(ptr) Variable Function + 827(r003): 132(ptr) Variable Function + 830(r004): 49(ptr) Variable Function + 835(r005): 834(ptr) Variable Function + 838(r006): 51(ptr) Variable Function + 841(r007): 49(ptr) Variable Function + 844(r009): 49(ptr) Variable Function + 847(r010): 49(ptr) Variable Function + 851(r011): 49(ptr) Variable Function + 854(r012): 49(ptr) Variable Function + 867(r013): 49(ptr) Variable Function + 870(r014): 49(ptr) Variable Function + 873(r015): 51(ptr) Variable Function + 876(r016): 49(ptr) Variable Function + 879(r017): 49(ptr) Variable Function + 882(r018): 49(ptr) Variable Function + 885(r019): 49(ptr) Variable Function + 888(r020): 49(ptr) Variable Function + 891(r021): 49(ptr) Variable Function + 894(r022): 49(ptr) Variable Function + 897(r023): 7(ptr) Variable Function + 901(r024): 7(ptr) Variable Function + 905(r025): 49(ptr) Variable Function + 916(r029): 49(ptr) Variable Function + 919(r030): 49(ptr) Variable Function + 922(r031): 49(ptr) Variable Function + 927(r032): 51(ptr) Variable Function + 932(r033): 51(ptr) Variable Function + 934(r034): 49(ptr) Variable Function + 937(r036): 49(ptr) Variable Function + 941(r037): 49(ptr) Variable Function + 944(r038): 49(ptr) Variable Function + 950(r039): 49(ptr) Variable Function + 954(r040): 953(ptr) Variable Function + 957(r041): 953(ptr) Variable Function + 960(r042): 49(ptr) Variable Function + 964(r039a): 49(ptr) Variable Function + 969(r043): 7(ptr) Variable Function + 972(r044): 49(ptr) Variable Function + 975(r045): 49(ptr) Variable Function + 979(r046): 49(ptr) Variable Function + 982(r047): 49(ptr) Variable Function + 986(r048): 49(ptr) Variable Function + 990(r049): 49(ptr) Variable Function + 993(r050): 49(ptr) Variable Function + 997(r051): 49(ptr) Variable Function + 1000(r052): 49(ptr) Variable Function + 1004(r053): 49(ptr) Variable Function + 1008(r054): 49(ptr) Variable Function + 1012(r055): 51(ptr) Variable Function + 1015(r056): 49(ptr) Variable Function + 1018(r057): 49(ptr) Variable Function + 1021(r058): 49(ptr) Variable Function + 1026(r059): 49(ptr) Variable Function + 1029(r060): 49(ptr) Variable Function + 1036(r061): 49(ptr) Variable Function + 1039(r062): 49(ptr) Variable Function + 1044(r063): 49(ptr) Variable Function + 1047(r064): 49(ptr) Variable Function + 1051(r065): 49(ptr) Variable Function + 1054(r066): 49(ptr) Variable Function + 1057(r067): 49(ptr) Variable Function + 819: 48(fvec4) Load 53(inF0) + 820: 131(bool) All 819 + Store 818(r000) 820 + 822: 48(fvec4) Load 53(inF0) + 823: 48(fvec4) ExtInst 1(GLSL.std.450) 4(FAbs) 822 + Store 821(r001) 823 + 825: 48(fvec4) Load 53(inF0) + 826: 48(fvec4) ExtInst 1(GLSL.std.450) 17(Acos) 825 + Store 824(r002) 826 + 828: 48(fvec4) Load 53(inF0) + 829: 131(bool) Any 828 + Store 827(r003) 829 + 831: 48(fvec4) Load 53(inF0) + 832: 48(fvec4) ExtInst 1(GLSL.std.450) 16(Asin) 831 + Store 830(r004) 832 + 836: 48(fvec4) Load 53(inF0) + 837: 833(ivec4) Bitcast 836 + Store 835(r005) 837 + 839: 48(fvec4) Load 53(inF0) + 840: 50(ivec4) Bitcast 839 + Store 838(r006) 840 + 842: 50(ivec4) Load 56(inU0) + 843: 48(fvec4) Bitcast 842 + Store 841(r007) 843 + 845: 48(fvec4) Load 53(inF0) + 846: 48(fvec4) ExtInst 1(GLSL.std.450) 18(Atan) 845 + Store 844(r009) 846 + 848: 48(fvec4) Load 53(inF0) + 849: 48(fvec4) Load 54(inF1) + 850: 48(fvec4) ExtInst 1(GLSL.std.450) 25(Atan2) 848 849 + Store 847(r010) 850 + 852: 48(fvec4) Load 53(inF0) + 853: 48(fvec4) ExtInst 1(GLSL.std.450) 9(Ceil) 852 + Store 851(r011) 853 + 855: 48(fvec4) Load 53(inF0) + 856: 48(fvec4) Load 54(inF1) + 857: 48(fvec4) Load 55(inF2) + 858: 48(fvec4) ExtInst 1(GLSL.std.450) 43(FClamp) 855 856 857 + Store 854(r012) 858 + 859: 48(fvec4) Load 53(inF0) + 862: 861(bvec4) FOrdLessThan 859 860 + 863: 131(bool) Any 862 + SelectionMerge 865 None + BranchConditional 863 864 865 + 864: Label + Kill + 865: Label + 868: 48(fvec4) Load 53(inF0) + 869: 48(fvec4) ExtInst 1(GLSL.std.450) 14(Cos) 868 + Store 867(r013) 869 + 871: 48(fvec4) Load 53(inF0) + 872: 48(fvec4) ExtInst 1(GLSL.std.450) 20(Cosh) 871 + Store 870(r014) 872 + 875: 50(ivec4) BitCount 874 + Store 873(r015) 875 + 877: 48(fvec4) Load 53(inF0) + 878: 48(fvec4) DPdx 877 + Store 876(r016) 878 + 880: 48(fvec4) Load 53(inF0) + 881: 48(fvec4) DPdxCoarse 880 + Store 879(r017) 881 + 883: 48(fvec4) Load 53(inF0) + 884: 48(fvec4) DPdxFine 883 + Store 882(r018) 884 + 886: 48(fvec4) Load 53(inF0) + 887: 48(fvec4) DPdy 886 + Store 885(r019) 887 + 889: 48(fvec4) Load 53(inF0) + 890: 48(fvec4) DPdyCoarse 889 + Store 888(r020) 890 + 892: 48(fvec4) Load 53(inF0) + 893: 48(fvec4) DPdyFine 892 + Store 891(r021) 893 + 895: 48(fvec4) Load 53(inF0) + 896: 48(fvec4) ExtInst 1(GLSL.std.450) 12(Degrees) 895 + Store 894(r022) 896 + 898: 48(fvec4) Load 53(inF0) + 899: 48(fvec4) Load 54(inF1) + 900: 6(float) ExtInst 1(GLSL.std.450) 67(Distance) 898 899 + Store 897(r023) 900 + 902: 48(fvec4) Load 53(inF0) + 903: 48(fvec4) Load 54(inF1) + 904: 6(float) Dot 902 903 + Store 901(r024) 904 + 906: 7(ptr) AccessChain 53(inF0) 522 + 907: 6(float) Load 906 + 908: 7(ptr) AccessChain 54(inF1) 522 + 909: 6(float) Load 908 + 910: 6(float) FMul 907 909 + 911: 7(ptr) AccessChain 53(inF0) 288 + 912: 6(float) Load 911 + 913: 7(ptr) AccessChain 54(inF1) 393 + 914: 6(float) Load 913 + 915: 48(fvec4) CompositeConstruct 284 910 912 914 + Store 905(r025) 915 + 917: 48(fvec4) Load 53(inF0) + 918: 48(fvec4) ExtInst 1(GLSL.std.450) 27(Exp) 917 + Store 916(r029) 918 + 920: 48(fvec4) Load 53(inF0) + 921: 48(fvec4) ExtInst 1(GLSL.std.450) 29(Exp2) 920 + Store 919(r030) 921 + 923: 48(fvec4) Load 53(inF0) + 924: 48(fvec4) Load 54(inF1) + 925: 48(fvec4) Load 55(inF2) + 926: 48(fvec4) ExtInst 1(GLSL.std.450) 70(FaceForward) 923 924 925 + Store 922(r031) 926 + 931: 50(ivec4) ExtInst 1(GLSL.std.450) 75(FindUMsb) 930 + Store 927(r032) 931 + 933: 50(ivec4) ExtInst 1(GLSL.std.450) 73(FindILsb) 930 + Store 932(r033) 933 + 935: 48(fvec4) Load 53(inF0) + 936: 48(fvec4) ExtInst 1(GLSL.std.450) 8(Floor) 935 + Store 934(r034) 936 + 938: 48(fvec4) Load 53(inF0) + 939: 48(fvec4) Load 54(inF1) + 940: 48(fvec4) FMod 938 939 + Store 937(r036) 940 + 942: 48(fvec4) Load 53(inF0) + 943: 48(fvec4) ExtInst 1(GLSL.std.450) 10(Fract) 942 + Store 941(r037) 943 + 945: 48(fvec4) Load 53(inF0) + 947:946(ResType) ExtInst 1(GLSL.std.450) 52(FrexpStruct) 945 + 948: 833(ivec4) CompositeExtract 947 1 + Store 54(inF1) 948 + 949: 48(fvec4) CompositeExtract 947 0 + Store 944(r038) 949 + 951: 48(fvec4) Load 53(inF0) + 952: 48(fvec4) Fwidth 951 + Store 950(r039) 952 + 955: 48(fvec4) Load 53(inF0) + 956: 861(bvec4) IsInf 955 + Store 954(r040) 956 + 958: 48(fvec4) Load 53(inF0) + 959: 861(bvec4) IsNan 958 + Store 957(r041) 959 + 961: 48(fvec4) Load 53(inF0) + 962: 48(fvec4) Load 54(inF1) + 963: 48(fvec4) ExtInst 1(GLSL.std.450) 53(Ldexp) 961 962 + Store 960(r042) 963 + 965: 48(fvec4) Load 53(inF0) + 966: 48(fvec4) Load 54(inF1) + 967: 48(fvec4) Load 55(inF2) + 968: 48(fvec4) ExtInst 1(GLSL.std.450) 46(FMix) 965 966 967 + Store 964(r039a) 968 + 970: 48(fvec4) Load 53(inF0) + 971: 6(float) ExtInst 1(GLSL.std.450) 66(Length) 970 + Store 969(r043) 971 + 973: 48(fvec4) Load 53(inF0) + 974: 48(fvec4) ExtInst 1(GLSL.std.450) 28(Log) 973 + Store 972(r044) 974 + 976: 48(fvec4) Load 53(inF0) + 977: 48(fvec4) ExtInst 1(GLSL.std.450) 30(Log2) 976 + 978: 48(fvec4) VectorTimesScalar 977 263 + Store 975(r045) 978 + 980: 48(fvec4) Load 53(inF0) + 981: 48(fvec4) ExtInst 1(GLSL.std.450) 30(Log2) 980 + Store 979(r046) 981 + 983: 48(fvec4) Load 53(inF0) + 984: 48(fvec4) Load 54(inF1) + 985: 48(fvec4) ExtInst 1(GLSL.std.450) 40(FMax) 983 984 + Store 982(r047) 985 + 987: 48(fvec4) Load 53(inF0) + 988: 48(fvec4) Load 54(inF1) + 989: 48(fvec4) ExtInst 1(GLSL.std.450) 37(FMin) 987 988 + Store 986(r048) 989 + 991: 48(fvec4) Load 53(inF0) + 992: 48(fvec4) ExtInst 1(GLSL.std.450) 69(Normalize) 991 + Store 990(r049) 992 + 994: 48(fvec4) Load 53(inF0) + 995: 48(fvec4) Load 54(inF1) + 996: 48(fvec4) ExtInst 1(GLSL.std.450) 26(Pow) 994 995 + Store 993(r050) 996 + 998: 48(fvec4) Load 53(inF0) + 999: 48(fvec4) ExtInst 1(GLSL.std.450) 11(Radians) 998 + Store 997(r051) 999 + 1001: 48(fvec4) Load 53(inF0) + 1002: 48(fvec4) CompositeConstruct 284 284 284 284 + 1003: 48(fvec4) FDiv 1002 1001 + Store 1000(r052) 1003 + 1005: 48(fvec4) Load 53(inF0) + 1006: 48(fvec4) Load 54(inF1) + 1007: 48(fvec4) ExtInst 1(GLSL.std.450) 71(Reflect) 1005 1006 + Store 1004(r053) 1007 + 1009: 48(fvec4) Load 53(inF0) + 1010: 48(fvec4) Load 54(inF1) + 1011: 48(fvec4) ExtInst 1(GLSL.std.450) 72(Refract) 1009 1010 519 + Store 1008(r054) 1011 + 1014: 50(ivec4) BitReverse 1013 + Store 1012(r055) 1014 + 1016: 48(fvec4) Load 53(inF0) + 1017: 48(fvec4) ExtInst 1(GLSL.std.450) 2(RoundEven) 1016 + Store 1015(r056) 1017 + 1019: 48(fvec4) Load 53(inF0) + 1020: 48(fvec4) ExtInst 1(GLSL.std.450) 32(InverseSqrt) 1019 + Store 1018(r057) 1020 + 1022: 48(fvec4) Load 53(inF0) + 1023: 48(fvec4) CompositeConstruct 175 175 175 175 + 1024: 48(fvec4) CompositeConstruct 284 284 284 284 + 1025: 48(fvec4) ExtInst 1(GLSL.std.450) 43(FClamp) 1022 1023 1024 + Store 1021(r058) 1025 + 1027: 48(fvec4) Load 53(inF0) + 1028: 48(fvec4) ExtInst 1(GLSL.std.450) 6(FSign) 1027 + Store 1026(r059) 1028 + 1030: 48(fvec4) Load 53(inF0) + 1031: 48(fvec4) ExtInst 1(GLSL.std.450) 13(Sin) 1030 + Store 1029(r060) 1031 + 1032: 48(fvec4) Load 53(inF0) + 1033: 48(fvec4) ExtInst 1(GLSL.std.450) 13(Sin) 1032 + Store 54(inF1) 1033 + 1034: 48(fvec4) Load 53(inF0) + 1035: 48(fvec4) ExtInst 1(GLSL.std.450) 14(Cos) 1034 + Store 55(inF2) 1035 + 1037: 48(fvec4) Load 53(inF0) + 1038: 48(fvec4) ExtInst 1(GLSL.std.450) 19(Sinh) 1037 + Store 1036(r061) 1038 + 1040: 48(fvec4) Load 53(inF0) + 1041: 48(fvec4) Load 54(inF1) + 1042: 48(fvec4) Load 55(inF2) + 1043: 48(fvec4) ExtInst 1(GLSL.std.450) 49(SmoothStep) 1040 1041 1042 + Store 1039(r062) 1043 + 1045: 48(fvec4) Load 53(inF0) + 1046: 48(fvec4) ExtInst 1(GLSL.std.450) 31(Sqrt) 1045 + Store 1044(r063) 1046 + 1048: 48(fvec4) Load 53(inF0) + 1049: 48(fvec4) Load 54(inF1) + 1050: 48(fvec4) ExtInst 1(GLSL.std.450) 48(Step) 1048 1049 + Store 1047(r064) 1050 + 1052: 48(fvec4) Load 53(inF0) + 1053: 48(fvec4) ExtInst 1(GLSL.std.450) 15(Tan) 1052 + Store 1051(r065) 1053 + 1055: 48(fvec4) Load 53(inF0) + 1056: 48(fvec4) ExtInst 1(GLSL.std.450) 21(Tanh) 1055 + Store 1054(r066) 1056 + 1058: 48(fvec4) Load 53(inF0) + 1059: 48(fvec4) ExtInst 1(GLSL.std.450) 3(Trunc) 1058 + Store 1057(r067) 1059 + ReturnValue 1061 + FunctionEnd +66(PixelShaderFunction2x2(mf22;mf22;mf22;): 60 Function None 62 + 63(inF0): 61(ptr) FunctionParameter + 64(inF1): 61(ptr) FunctionParameter + 65(inF2): 61(ptr) FunctionParameter + 67: Label + 1064(r000): 132(ptr) Variable Function + 1067(r001): 61(ptr) Variable Function + 1072(r003): 132(ptr) Variable Function + 1075(r004): 61(ptr) Variable Function + 1078(r005): 61(ptr) Variable Function + 1081(r006): 61(ptr) Variable Function + 1085(r007): 61(ptr) Variable Function + 1096(r008): 61(ptr) Variable Function + 1101(r009): 61(ptr) Variable Function + 1104(r010): 61(ptr) Variable Function + 1107(r011): 61(ptr) Variable Function + 1110(r012): 61(ptr) Variable Function + 1113(r013): 61(ptr) Variable Function + 1116(r014): 61(ptr) Variable Function + 1119(r015): 61(ptr) Variable Function + 1122(r016): 61(ptr) Variable Function + 1125(r017): 61(ptr) Variable Function 1128(r018): 7(ptr) Variable Function - 1131(r019): 49(ptr) Variable Function - 1134(R020): 49(ptr) Variable Function - 1137(r021): 49(ptr) Variable Function - 1140(r022): 49(ptr) Variable Function - 1150(r023): 49(ptr) Variable Function - 1153(r024): 49(ptr) Variable Function - 1159(r025): 49(ptr) Variable Function - 1162(r026): 49(ptr) Variable Function - 1166(r026a): 49(ptr) Variable Function - 1171(r027): 49(ptr) Variable Function - 1174(r028): 49(ptr) Variable Function - 1178(r029): 49(ptr) Variable Function - 1181(r030): 49(ptr) Variable Function - 1185(r031): 49(ptr) Variable Function - 1189(r032): 49(ptr) Variable Function - 1193(r033): 49(ptr) Variable Function - 1196(r034): 49(ptr) Variable Function - 1199(r035): 49(ptr) Variable Function - 1202(r036): 49(ptr) Variable Function - 1207(r037): 49(ptr) Variable Function - 1210(r038): 49(ptr) Variable Function - 1217(r039): 49(ptr) Variable Function - 1220(r049): 49(ptr) Variable Function - 1225(r041): 49(ptr) Variable Function - 1228(r042): 49(ptr) Variable Function - 1232(r043): 49(ptr) Variable Function - 1235(r044): 49(ptr) Variable Function - 1240(r046): 49(ptr) Variable Function - 1065: 48 Load 51(inF0) - 1066: 121(bool) All 1065 + 1131(r019): 61(ptr) Variable Function + 1134(R020): 61(ptr) Variable Function + 1137(r021): 61(ptr) Variable Function + 1140(r022): 61(ptr) Variable Function + 1150(r023): 61(ptr) Variable Function + 1153(r024): 61(ptr) Variable Function + 1159(r025): 61(ptr) Variable Function + 1162(r026): 61(ptr) Variable Function + 1166(r026a): 61(ptr) Variable Function + 1171(r027): 61(ptr) Variable Function + 1174(r028): 61(ptr) Variable Function + 1178(r029): 61(ptr) Variable Function + 1181(r030): 61(ptr) Variable Function + 1185(r031): 61(ptr) Variable Function + 1189(r032): 61(ptr) Variable Function + 1193(r033): 61(ptr) Variable Function + 1196(r034): 61(ptr) Variable Function + 1199(r035): 61(ptr) Variable Function + 1202(r036): 61(ptr) Variable Function + 1207(r037): 61(ptr) Variable Function + 1210(r038): 61(ptr) Variable Function + 1217(r039): 61(ptr) Variable Function + 1220(r049): 61(ptr) Variable Function + 1225(r041): 61(ptr) Variable Function + 1228(r042): 61(ptr) Variable Function + 1232(r043): 61(ptr) Variable Function + 1235(r044): 61(ptr) Variable Function + 1240(r046): 61(ptr) Variable Function + 1065: 60 Load 63(inF0) + 1066: 131(bool) All 1065 Store 1064(r000) 1066 - 1068: 48 Load 51(inF0) - 1069: 48 ExtInst 1(GLSL.std.450) 4(FAbs) 1068 + 1068: 60 Load 63(inF0) + 1069: 60 ExtInst 1(GLSL.std.450) 4(FAbs) 1068 Store 1067(r001) 1069 - 1070: 48 Load 51(inF0) - 1071: 48 ExtInst 1(GLSL.std.450) 17(Acos) 1070 - 1073: 48 Load 51(inF0) - 1074: 121(bool) Any 1073 + 1070: 60 Load 63(inF0) + 1071: 60 ExtInst 1(GLSL.std.450) 17(Acos) 1070 + 1073: 60 Load 63(inF0) + 1074: 131(bool) Any 1073 Store 1072(r003) 1074 - 1076: 48 Load 51(inF0) - 1077: 48 ExtInst 1(GLSL.std.450) 16(Asin) 1076 + 1076: 60 Load 63(inF0) + 1077: 60 ExtInst 1(GLSL.std.450) 16(Asin) 1076 Store 1075(r004) 1077 - 1079: 48 Load 51(inF0) - 1080: 48 ExtInst 1(GLSL.std.450) 18(Atan) 1079 + 1079: 60 Load 63(inF0) + 1080: 60 ExtInst 1(GLSL.std.450) 18(Atan) 1079 Store 1078(r005) 1080 - 1082: 48 Load 51(inF0) - 1083: 48 Load 52(inF1) - 1084: 48 ExtInst 1(GLSL.std.450) 25(Atan2) 1082 1083 + 1082: 60 Load 63(inF0) + 1083: 60 Load 64(inF1) + 1084: 60 ExtInst 1(GLSL.std.450) 25(Atan2) 1082 1083 Store 1081(r006) 1084 - 1086: 48 Load 51(inF0) - 1087: 48 ExtInst 1(GLSL.std.450) 9(Ceil) 1086 + 1086: 60 Load 63(inF0) + 1087: 60 ExtInst 1(GLSL.std.450) 9(Ceil) 1086 Store 1085(r007) 1087 - 1088: 48 Load 51(inF0) + 1088: 60 Load 63(inF0) 1091: 1090 FOrdLessThan 1088 1089 - 1092: 121(bool) Any 1091 + 1092: 131(bool) Any 1091 SelectionMerge 1094 None BranchConditional 1092 1093 1094 1093: Label Kill 1094: Label - 1097: 48 Load 51(inF0) - 1098: 48 Load 52(inF1) - 1099: 48 Load 53(inF2) - 1100: 48 ExtInst 1(GLSL.std.450) 43(FClamp) 1097 1098 1099 + 1097: 60 Load 63(inF0) + 1098: 60 Load 64(inF1) + 1099: 60 Load 65(inF2) + 1100: 60 ExtInst 1(GLSL.std.450) 43(FClamp) 1097 1098 1099 Store 1096(r008) 1100 - 1102: 48 Load 51(inF0) - 1103: 48 ExtInst 1(GLSL.std.450) 14(Cos) 1102 + 1102: 60 Load 63(inF0) + 1103: 60 ExtInst 1(GLSL.std.450) 14(Cos) 1102 Store 1101(r009) 1103 - 1105: 48 Load 51(inF0) - 1106: 48 ExtInst 1(GLSL.std.450) 20(Cosh) 1105 + 1105: 60 Load 63(inF0) + 1106: 60 ExtInst 1(GLSL.std.450) 20(Cosh) 1105 Store 1104(r010) 1106 - 1108: 48 Load 51(inF0) - 1109: 48 DPdx 1108 + 1108: 60 Load 63(inF0) + 1109: 60 DPdx 1108 Store 1107(r011) 1109 - 1111: 48 Load 51(inF0) - 1112: 48 DPdxCoarse 1111 + 1111: 60 Load 63(inF0) + 1112: 60 DPdxCoarse 1111 Store 1110(r012) 1112 - 1114: 48 Load 51(inF0) - 1115: 48 DPdxFine 1114 + 1114: 60 Load 63(inF0) + 1115: 60 DPdxFine 1114 Store 1113(r013) 1115 - 1117: 48 Load 51(inF0) - 1118: 48 DPdy 1117 + 1117: 60 Load 63(inF0) + 1118: 60 DPdy 1117 Store 1116(r014) 1118 - 1120: 48 Load 51(inF0) - 1121: 48 DPdyCoarse 1120 + 1120: 60 Load 63(inF0) + 1121: 60 DPdyCoarse 1120 Store 1119(r015) 1121 - 1123: 48 Load 51(inF0) - 1124: 48 DPdyFine 1123 + 1123: 60 Load 63(inF0) + 1124: 60 DPdyFine 1123 Store 1122(r016) 1124 - 1126: 48 Load 51(inF0) - 1127: 48 ExtInst 1(GLSL.std.450) 12(Degrees) 1126 + 1126: 60 Load 63(inF0) + 1127: 60 ExtInst 1(GLSL.std.450) 12(Degrees) 1126 Store 1125(r017) 1127 - 1129: 48 Load 51(inF0) + 1129: 60 Load 63(inF0) 1130: 6(float) ExtInst 1(GLSL.std.450) 33(Determinant) 1129 Store 1128(r018) 1130 - 1132: 48 Load 51(inF0) - 1133: 48 ExtInst 1(GLSL.std.450) 27(Exp) 1132 + 1132: 60 Load 63(inF0) + 1133: 60 ExtInst 1(GLSL.std.450) 27(Exp) 1132 Store 1131(r019) 1133 - 1135: 48 Load 51(inF0) - 1136: 48 ExtInst 1(GLSL.std.450) 29(Exp2) 1135 + 1135: 60 Load 63(inF0) + 1136: 60 ExtInst 1(GLSL.std.450) 29(Exp2) 1135 Store 1134(R020) 1136 - 1138: 48 Load 51(inF0) - 1139: 48 ExtInst 1(GLSL.std.450) 8(Floor) 1138 + 1138: 60 Load 63(inF0) + 1139: 60 ExtInst 1(GLSL.std.450) 8(Floor) 1138 Store 1137(r021) 1139 - 1141: 48 Load 51(inF0) - 1142: 48 Load 52(inF1) + 1141: 60 Load 63(inF0) + 1142: 60 Load 64(inF1) 1143: 24(fvec2) CompositeExtract 1141 0 1144: 24(fvec2) CompositeExtract 1142 0 1145: 24(fvec2) FMod 1143 1144 1146: 24(fvec2) CompositeExtract 1141 1 1147: 24(fvec2) CompositeExtract 1142 1 1148: 24(fvec2) FMod 1146 1147 - 1149: 48 CompositeConstruct 1145 1148 + 1149: 60 CompositeConstruct 1145 1148 Store 1140(r022) 1149 - 1151: 48 Load 51(inF0) - 1152: 48 ExtInst 1(GLSL.std.450) 10(Fract) 1151 + 1151: 60 Load 63(inF0) + 1152: 60 ExtInst 1(GLSL.std.450) 10(Fract) 1151 Store 1150(r023) 1152 - 1154: 48 Load 51(inF0) + 1154: 60 Load 63(inF0) 1156:1155(ResType) ExtInst 1(GLSL.std.450) 52(FrexpStruct) 1154 - 1157: 342(ivec2) CompositeExtract 1156 1 - Store 52(inF1) 1157 - 1158: 48 CompositeExtract 1156 0 + 1157: 352(ivec2) CompositeExtract 1156 1 + Store 64(inF1) 1157 + 1158: 60 CompositeExtract 1156 0 Store 1153(r024) 1158 - 1160: 48 Load 51(inF0) - 1161: 48 Fwidth 1160 + 1160: 60 Load 63(inF0) + 1161: 60 Fwidth 1160 Store 1159(r025) 1161 - 1163: 48 Load 51(inF0) - 1164: 48 Load 52(inF1) - 1165: 48 ExtInst 1(GLSL.std.450) 53(Ldexp) 1163 1164 + 1163: 60 Load 63(inF0) + 1164: 60 Load 64(inF1) + 1165: 60 ExtInst 1(GLSL.std.450) 53(Ldexp) 1163 1164 Store 1162(r026) 1165 - 1167: 48 Load 51(inF0) - 1168: 48 Load 52(inF1) - 1169: 48 Load 53(inF2) - 1170: 48 ExtInst 1(GLSL.std.450) 46(FMix) 1167 1168 1169 + 1167: 60 Load 63(inF0) + 1168: 60 Load 64(inF1) + 1169: 60 Load 65(inF2) + 1170: 60 ExtInst 1(GLSL.std.450) 46(FMix) 1167 1168 1169 Store 1166(r026a) 1170 - 1172: 48 Load 51(inF0) - 1173: 48 ExtInst 1(GLSL.std.450) 28(Log) 1172 + 1172: 60 Load 63(inF0) + 1173: 60 ExtInst 1(GLSL.std.450) 28(Log) 1172 Store 1171(r027) 1173 - 1175: 48 Load 51(inF0) - 1176: 48 ExtInst 1(GLSL.std.450) 30(Log2) 1175 - 1177: 48 MatrixTimesScalar 1176 253 + 1175: 60 Load 63(inF0) + 1176: 60 ExtInst 1(GLSL.std.450) 30(Log2) 1175 + 1177: 60 MatrixTimesScalar 1176 263 Store 1174(r028) 1177 - 1179: 48 Load 51(inF0) - 1180: 48 ExtInst 1(GLSL.std.450) 30(Log2) 1179 + 1179: 60 Load 63(inF0) + 1180: 60 ExtInst 1(GLSL.std.450) 30(Log2) 1179 Store 1178(r029) 1180 - 1182: 48 Load 51(inF0) - 1183: 48 Load 52(inF1) - 1184: 48 ExtInst 1(GLSL.std.450) 40(FMax) 1182 1183 + 1182: 60 Load 63(inF0) + 1183: 60 Load 64(inF1) + 1184: 60 ExtInst 1(GLSL.std.450) 40(FMax) 1182 1183 Store 1181(r030) 1184 - 1186: 48 Load 51(inF0) - 1187: 48 Load 52(inF1) - 1188: 48 ExtInst 1(GLSL.std.450) 37(FMin) 1186 1187 + 1186: 60 Load 63(inF0) + 1187: 60 Load 64(inF1) + 1188: 60 ExtInst 1(GLSL.std.450) 37(FMin) 1186 1187 Store 1185(r031) 1188 - 1190: 48 Load 51(inF0) - 1191: 48 Load 52(inF1) - 1192: 48 ExtInst 1(GLSL.std.450) 26(Pow) 1190 1191 + 1190: 60 Load 63(inF0) + 1191: 60 Load 64(inF1) + 1192: 60 ExtInst 1(GLSL.std.450) 26(Pow) 1190 1191 Store 1189(r032) 1192 - 1194: 48 Load 51(inF0) - 1195: 48 ExtInst 1(GLSL.std.450) 11(Radians) 1194 + 1194: 60 Load 63(inF0) + 1195: 60 ExtInst 1(GLSL.std.450) 11(Radians) 1194 Store 1193(r033) 1195 - 1197: 48 Load 51(inF0) - 1198: 48 ExtInst 1(GLSL.std.450) 2(RoundEven) 1197 + 1197: 60 Load 63(inF0) + 1198: 60 ExtInst 1(GLSL.std.450) 2(RoundEven) 1197 Store 1196(r034) 1198 - 1200: 48 Load 51(inF0) - 1201: 48 ExtInst 1(GLSL.std.450) 32(InverseSqrt) 1200 + 1200: 60 Load 63(inF0) + 1201: 60 ExtInst 1(GLSL.std.450) 32(InverseSqrt) 1200 Store 1199(r035) 1201 - 1203: 48 Load 51(inF0) - 1204: 24(fvec2) CompositeConstruct 165 165 - 1205: 24(fvec2) CompositeConstruct 274 274 - 1206: 48 ExtInst 1(GLSL.std.450) 43(FClamp) 1203 1204 1205 + 1203: 60 Load 63(inF0) + 1204: 24(fvec2) CompositeConstruct 175 175 + 1205: 24(fvec2) CompositeConstruct 284 284 + 1206: 60 ExtInst 1(GLSL.std.450) 43(FClamp) 1203 1204 1205 Store 1202(r036) 1206 - 1208: 48 Load 51(inF0) - 1209: 48 ExtInst 1(GLSL.std.450) 6(FSign) 1208 + 1208: 60 Load 63(inF0) + 1209: 60 ExtInst 1(GLSL.std.450) 6(FSign) 1208 Store 1207(r037) 1209 - 1211: 48 Load 51(inF0) - 1212: 48 ExtInst 1(GLSL.std.450) 13(Sin) 1211 + 1211: 60 Load 63(inF0) + 1212: 60 ExtInst 1(GLSL.std.450) 13(Sin) 1211 Store 1210(r038) 1212 - 1213: 48 Load 51(inF0) - 1214: 48 ExtInst 1(GLSL.std.450) 13(Sin) 1213 - Store 52(inF1) 1214 - 1215: 48 Load 51(inF0) - 1216: 48 ExtInst 1(GLSL.std.450) 14(Cos) 1215 - Store 53(inF2) 1216 - 1218: 48 Load 51(inF0) - 1219: 48 ExtInst 1(GLSL.std.450) 19(Sinh) 1218 + 1213: 60 Load 63(inF0) + 1214: 60 ExtInst 1(GLSL.std.450) 13(Sin) 1213 + Store 64(inF1) 1214 + 1215: 60 Load 63(inF0) + 1216: 60 ExtInst 1(GLSL.std.450) 14(Cos) 1215 + Store 65(inF2) 1216 + 1218: 60 Load 63(inF0) + 1219: 60 ExtInst 1(GLSL.std.450) 19(Sinh) 1218 Store 1217(r039) 1219 - 1221: 48 Load 51(inF0) - 1222: 48 Load 52(inF1) - 1223: 48 Load 53(inF2) - 1224: 48 ExtInst 1(GLSL.std.450) 49(SmoothStep) 1221 1222 1223 + 1221: 60 Load 63(inF0) + 1222: 60 Load 64(inF1) + 1223: 60 Load 65(inF2) + 1224: 60 ExtInst 1(GLSL.std.450) 49(SmoothStep) 1221 1222 1223 Store 1220(r049) 1224 - 1226: 48 Load 51(inF0) - 1227: 48 ExtInst 1(GLSL.std.450) 31(Sqrt) 1226 + 1226: 60 Load 63(inF0) + 1227: 60 ExtInst 1(GLSL.std.450) 31(Sqrt) 1226 Store 1225(r041) 1227 - 1229: 48 Load 51(inF0) - 1230: 48 Load 52(inF1) - 1231: 48 ExtInst 1(GLSL.std.450) 48(Step) 1229 1230 + 1229: 60 Load 63(inF0) + 1230: 60 Load 64(inF1) + 1231: 60 ExtInst 1(GLSL.std.450) 48(Step) 1229 1230 Store 1228(r042) 1231 - 1233: 48 Load 51(inF0) - 1234: 48 ExtInst 1(GLSL.std.450) 15(Tan) 1233 + 1233: 60 Load 63(inF0) + 1234: 60 ExtInst 1(GLSL.std.450) 15(Tan) 1233 Store 1232(r043) 1234 - 1236: 48 Load 51(inF0) - 1237: 48 ExtInst 1(GLSL.std.450) 21(Tanh) 1236 + 1236: 60 Load 63(inF0) + 1237: 60 ExtInst 1(GLSL.std.450) 21(Tanh) 1236 Store 1235(r044) 1237 - 1238: 48 Load 51(inF0) - 1239: 48 Transpose 1238 - 1241: 48 Load 51(inF0) - 1242: 48 ExtInst 1(GLSL.std.450) 3(Trunc) 1241 + 1238: 60 Load 63(inF0) + 1239: 60 Transpose 1238 + 1241: 60 Load 63(inF0) + 1242: 60 ExtInst 1(GLSL.std.450) 3(Trunc) 1241 Store 1240(r046) 1242 ReturnValue 1244 FunctionEnd -62(PixelShaderFunction3x3(mf33;mf33;mf33;): 56 Function None 58 - 59(inF0): 57(ptr) FunctionParameter - 60(inF1): 57(ptr) FunctionParameter - 61(inF2): 57(ptr) FunctionParameter - 63: Label - 1247(r000): 122(ptr) Variable Function - 1250(r001): 57(ptr) Variable Function - 1255(r003): 122(ptr) Variable Function - 1258(r004): 57(ptr) Variable Function - 1261(r005): 57(ptr) Variable Function - 1264(r006): 57(ptr) Variable Function - 1268(r007): 57(ptr) Variable Function - 1279(r008): 57(ptr) Variable Function - 1284(r009): 57(ptr) Variable Function - 1287(r010): 57(ptr) Variable Function - 1290(r011): 57(ptr) Variable Function - 1293(r012): 57(ptr) Variable Function - 1296(r013): 57(ptr) Variable Function - 1299(r014): 57(ptr) Variable Function - 1302(r015): 57(ptr) Variable Function - 1305(r016): 57(ptr) Variable Function - 1308(r017): 57(ptr) Variable Function +74(PixelShaderFunction3x3(mf33;mf33;mf33;): 68 Function None 70 + 71(inF0): 69(ptr) FunctionParameter + 72(inF1): 69(ptr) FunctionParameter + 73(inF2): 69(ptr) FunctionParameter + 75: Label + 1247(r000): 132(ptr) Variable Function + 1250(r001): 69(ptr) Variable Function + 1255(r003): 132(ptr) Variable Function + 1258(r004): 69(ptr) Variable Function + 1261(r005): 69(ptr) Variable Function + 1264(r006): 69(ptr) Variable Function + 1268(r007): 69(ptr) Variable Function + 1279(r008): 69(ptr) Variable Function + 1284(r009): 69(ptr) Variable Function + 1287(r010): 69(ptr) Variable Function + 1290(r011): 69(ptr) Variable Function + 1293(r012): 69(ptr) Variable Function + 1296(r013): 69(ptr) Variable Function + 1299(r014): 69(ptr) Variable Function + 1302(r015): 69(ptr) Variable Function + 1305(r016): 69(ptr) Variable Function + 1308(r017): 69(ptr) Variable Function 1311(r018): 7(ptr) Variable Function - 1314(r019): 57(ptr) Variable Function - 1317(R020): 57(ptr) Variable Function - 1320(r021): 57(ptr) Variable Function - 1323(r022): 57(ptr) Variable Function - 1336(r023): 57(ptr) Variable Function - 1339(r024): 57(ptr) Variable Function - 1345(r025): 57(ptr) Variable Function - 1348(r026): 57(ptr) Variable Function - 1352(r026a): 57(ptr) Variable Function - 1357(r027): 57(ptr) Variable Function - 1360(r028): 57(ptr) Variable Function - 1364(r029): 57(ptr) Variable Function - 1367(r030): 57(ptr) Variable Function - 1371(r031): 57(ptr) Variable Function - 1375(r032): 57(ptr) Variable Function - 1379(r033): 57(ptr) Variable Function - 1382(r034): 57(ptr) Variable Function - 1385(r035): 57(ptr) Variable Function - 1388(r036): 57(ptr) Variable Function - 1393(r037): 57(ptr) Variable Function - 1396(r038): 57(ptr) Variable Function - 1403(r039): 57(ptr) Variable Function - 1406(r049): 57(ptr) Variable Function - 1411(r041): 57(ptr) Variable Function - 1414(r042): 57(ptr) Variable Function - 1418(r043): 57(ptr) Variable Function - 1421(r044): 57(ptr) Variable Function - 1426(r046): 57(ptr) Variable Function - 1248: 56 Load 59(inF0) - 1249: 121(bool) All 1248 + 1314(r019): 69(ptr) Variable Function + 1317(R020): 69(ptr) Variable Function + 1320(r021): 69(ptr) Variable Function + 1323(r022): 69(ptr) Variable Function + 1336(r023): 69(ptr) Variable Function + 1339(r024): 69(ptr) Variable Function + 1345(r025): 69(ptr) Variable Function + 1348(r026): 69(ptr) Variable Function + 1352(r026a): 69(ptr) Variable Function + 1357(r027): 69(ptr) Variable Function + 1360(r028): 69(ptr) Variable Function + 1364(r029): 69(ptr) Variable Function + 1367(r030): 69(ptr) Variable Function + 1371(r031): 69(ptr) Variable Function + 1375(r032): 69(ptr) Variable Function + 1379(r033): 69(ptr) Variable Function + 1382(r034): 69(ptr) Variable Function + 1385(r035): 69(ptr) Variable Function + 1388(r036): 69(ptr) Variable Function + 1393(r037): 69(ptr) Variable Function + 1396(r038): 69(ptr) Variable Function + 1403(r039): 69(ptr) Variable Function + 1406(r049): 69(ptr) Variable Function + 1411(r041): 69(ptr) Variable Function + 1414(r042): 69(ptr) Variable Function + 1418(r043): 69(ptr) Variable Function + 1421(r044): 69(ptr) Variable Function + 1426(r046): 69(ptr) Variable Function + 1248: 68 Load 71(inF0) + 1249: 131(bool) All 1248 Store 1247(r000) 1249 - 1251: 56 Load 59(inF0) - 1252: 56 ExtInst 1(GLSL.std.450) 4(FAbs) 1251 + 1251: 68 Load 71(inF0) + 1252: 68 ExtInst 1(GLSL.std.450) 4(FAbs) 1251 Store 1250(r001) 1252 - 1253: 56 Load 59(inF0) - 1254: 56 ExtInst 1(GLSL.std.450) 17(Acos) 1253 - 1256: 56 Load 59(inF0) - 1257: 121(bool) Any 1256 + 1253: 68 Load 71(inF0) + 1254: 68 ExtInst 1(GLSL.std.450) 17(Acos) 1253 + 1256: 68 Load 71(inF0) + 1257: 131(bool) Any 1256 Store 1255(r003) 1257 - 1259: 56 Load 59(inF0) - 1260: 56 ExtInst 1(GLSL.std.450) 16(Asin) 1259 + 1259: 68 Load 71(inF0) + 1260: 68 ExtInst 1(GLSL.std.450) 16(Asin) 1259 Store 1258(r004) 1260 - 1262: 56 Load 59(inF0) - 1263: 56 ExtInst 1(GLSL.std.450) 18(Atan) 1262 + 1262: 68 Load 71(inF0) + 1263: 68 ExtInst 1(GLSL.std.450) 18(Atan) 1262 Store 1261(r005) 1263 - 1265: 56 Load 59(inF0) - 1266: 56 Load 60(inF1) - 1267: 56 ExtInst 1(GLSL.std.450) 25(Atan2) 1265 1266 + 1265: 68 Load 71(inF0) + 1266: 68 Load 72(inF1) + 1267: 68 ExtInst 1(GLSL.std.450) 25(Atan2) 1265 1266 Store 1264(r006) 1267 - 1269: 56 Load 59(inF0) - 1270: 56 ExtInst 1(GLSL.std.450) 9(Ceil) 1269 + 1269: 68 Load 71(inF0) + 1270: 68 ExtInst 1(GLSL.std.450) 9(Ceil) 1269 Store 1268(r007) 1270 - 1271: 56 Load 59(inF0) + 1271: 68 Load 71(inF0) 1274: 1273 FOrdLessThan 1271 1272 - 1275: 121(bool) Any 1274 + 1275: 131(bool) Any 1274 SelectionMerge 1277 None BranchConditional 1275 1276 1277 1276: Label Kill 1277: Label - 1280: 56 Load 59(inF0) - 1281: 56 Load 60(inF1) - 1282: 56 Load 61(inF2) - 1283: 56 ExtInst 1(GLSL.std.450) 43(FClamp) 1280 1281 1282 + 1280: 68 Load 71(inF0) + 1281: 68 Load 72(inF1) + 1282: 68 Load 73(inF2) + 1283: 68 ExtInst 1(GLSL.std.450) 43(FClamp) 1280 1281 1282 Store 1279(r008) 1283 - 1285: 56 Load 59(inF0) - 1286: 56 ExtInst 1(GLSL.std.450) 14(Cos) 1285 + 1285: 68 Load 71(inF0) + 1286: 68 ExtInst 1(GLSL.std.450) 14(Cos) 1285 Store 1284(r009) 1286 - 1288: 56 Load 59(inF0) - 1289: 56 ExtInst 1(GLSL.std.450) 20(Cosh) 1288 + 1288: 68 Load 71(inF0) + 1289: 68 ExtInst 1(GLSL.std.450) 20(Cosh) 1288 Store 1287(r010) 1289 - 1291: 56 Load 59(inF0) - 1292: 56 DPdx 1291 + 1291: 68 Load 71(inF0) + 1292: 68 DPdx 1291 Store 1290(r011) 1292 - 1294: 56 Load 59(inF0) - 1295: 56 DPdxCoarse 1294 + 1294: 68 Load 71(inF0) + 1295: 68 DPdxCoarse 1294 Store 1293(r012) 1295 - 1297: 56 Load 59(inF0) - 1298: 56 DPdxFine 1297 + 1297: 68 Load 71(inF0) + 1298: 68 DPdxFine 1297 Store 1296(r013) 1298 - 1300: 56 Load 59(inF0) - 1301: 56 DPdy 1300 + 1300: 68 Load 71(inF0) + 1301: 68 DPdy 1300 Store 1299(r014) 1301 - 1303: 56 Load 59(inF0) - 1304: 56 DPdyCoarse 1303 + 1303: 68 Load 71(inF0) + 1304: 68 DPdyCoarse 1303 Store 1302(r015) 1304 - 1306: 56 Load 59(inF0) - 1307: 56 DPdyFine 1306 + 1306: 68 Load 71(inF0) + 1307: 68 DPdyFine 1306 Store 1305(r016) 1307 - 1309: 56 Load 59(inF0) - 1310: 56 ExtInst 1(GLSL.std.450) 12(Degrees) 1309 + 1309: 68 Load 71(inF0) + 1310: 68 ExtInst 1(GLSL.std.450) 12(Degrees) 1309 Store 1308(r017) 1310 - 1312: 56 Load 59(inF0) + 1312: 68 Load 71(inF0) 1313: 6(float) ExtInst 1(GLSL.std.450) 33(Determinant) 1312 Store 1311(r018) 1313 - 1315: 56 Load 59(inF0) - 1316: 56 ExtInst 1(GLSL.std.450) 27(Exp) 1315 + 1315: 68 Load 71(inF0) + 1316: 68 ExtInst 1(GLSL.std.450) 27(Exp) 1315 Store 1314(r019) 1316 - 1318: 56 Load 59(inF0) - 1319: 56 ExtInst 1(GLSL.std.450) 29(Exp2) 1318 + 1318: 68 Load 71(inF0) + 1319: 68 ExtInst 1(GLSL.std.450) 29(Exp2) 1318 Store 1317(R020) 1319 - 1321: 56 Load 59(inF0) - 1322: 56 ExtInst 1(GLSL.std.450) 8(Floor) 1321 + 1321: 68 Load 71(inF0) + 1322: 68 ExtInst 1(GLSL.std.450) 8(Floor) 1321 Store 1320(r021) 1322 - 1324: 56 Load 59(inF0) - 1325: 56 Load 60(inF1) + 1324: 68 Load 71(inF0) + 1325: 68 Load 72(inF1) 1326: 36(fvec3) CompositeExtract 1324 0 1327: 36(fvec3) CompositeExtract 1325 0 1328: 36(fvec3) FMod 1326 1327 @@ -7777,521 +7819,521 @@ gl_FragCoord origin is upper left 1332: 36(fvec3) CompositeExtract 1324 2 1333: 36(fvec3) CompositeExtract 1325 2 1334: 36(fvec3) FMod 1332 1333 - 1335: 56 CompositeConstruct 1328 1331 1334 + 1335: 68 CompositeConstruct 1328 1331 1334 Store 1323(r022) 1335 - 1337: 56 Load 59(inF0) - 1338: 56 ExtInst 1(GLSL.std.450) 10(Fract) 1337 + 1337: 68 Load 71(inF0) + 1338: 68 ExtInst 1(GLSL.std.450) 10(Fract) 1337 Store 1336(r023) 1338 - 1340: 56 Load 59(inF0) + 1340: 68 Load 71(inF0) 1342:1341(ResType) ExtInst 1(GLSL.std.450) 52(FrexpStruct) 1340 - 1343: 578(ivec3) CompositeExtract 1342 1 - Store 60(inF1) 1343 - 1344: 56 CompositeExtract 1342 0 + 1343: 588(ivec3) CompositeExtract 1342 1 + Store 72(inF1) 1343 + 1344: 68 CompositeExtract 1342 0 Store 1339(r024) 1344 - 1346: 56 Load 59(inF0) - 1347: 56 Fwidth 1346 + 1346: 68 Load 71(inF0) + 1347: 68 Fwidth 1346 Store 1345(r025) 1347 - 1349: 56 Load 59(inF0) - 1350: 56 Load 60(inF1) - 1351: 56 ExtInst 1(GLSL.std.450) 53(Ldexp) 1349 1350 + 1349: 68 Load 71(inF0) + 1350: 68 Load 72(inF1) + 1351: 68 ExtInst 1(GLSL.std.450) 53(Ldexp) 1349 1350 Store 1348(r026) 1351 - 1353: 56 Load 59(inF0) - 1354: 56 Load 60(inF1) - 1355: 56 Load 61(inF2) - 1356: 56 ExtInst 1(GLSL.std.450) 46(FMix) 1353 1354 1355 + 1353: 68 Load 71(inF0) + 1354: 68 Load 72(inF1) + 1355: 68 Load 73(inF2) + 1356: 68 ExtInst 1(GLSL.std.450) 46(FMix) 1353 1354 1355 Store 1352(r026a) 1356 - 1358: 56 Load 59(inF0) - 1359: 56 ExtInst 1(GLSL.std.450) 28(Log) 1358 + 1358: 68 Load 71(inF0) + 1359: 68 ExtInst 1(GLSL.std.450) 28(Log) 1358 Store 1357(r027) 1359 - 1361: 56 Load 59(inF0) - 1362: 56 ExtInst 1(GLSL.std.450) 30(Log2) 1361 - 1363: 56 MatrixTimesScalar 1362 253 + 1361: 68 Load 71(inF0) + 1362: 68 ExtInst 1(GLSL.std.450) 30(Log2) 1361 + 1363: 68 MatrixTimesScalar 1362 263 Store 1360(r028) 1363 - 1365: 56 Load 59(inF0) - 1366: 56 ExtInst 1(GLSL.std.450) 30(Log2) 1365 + 1365: 68 Load 71(inF0) + 1366: 68 ExtInst 1(GLSL.std.450) 30(Log2) 1365 Store 1364(r029) 1366 - 1368: 56 Load 59(inF0) - 1369: 56 Load 60(inF1) - 1370: 56 ExtInst 1(GLSL.std.450) 40(FMax) 1368 1369 + 1368: 68 Load 71(inF0) + 1369: 68 Load 72(inF1) + 1370: 68 ExtInst 1(GLSL.std.450) 40(FMax) 1368 1369 Store 1367(r030) 1370 - 1372: 56 Load 59(inF0) - 1373: 56 Load 60(inF1) - 1374: 56 ExtInst 1(GLSL.std.450) 37(FMin) 1372 1373 + 1372: 68 Load 71(inF0) + 1373: 68 Load 72(inF1) + 1374: 68 ExtInst 1(GLSL.std.450) 37(FMin) 1372 1373 Store 1371(r031) 1374 - 1376: 56 Load 59(inF0) - 1377: 56 Load 60(inF1) - 1378: 56 ExtInst 1(GLSL.std.450) 26(Pow) 1376 1377 + 1376: 68 Load 71(inF0) + 1377: 68 Load 72(inF1) + 1378: 68 ExtInst 1(GLSL.std.450) 26(Pow) 1376 1377 Store 1375(r032) 1378 - 1380: 56 Load 59(inF0) - 1381: 56 ExtInst 1(GLSL.std.450) 11(Radians) 1380 + 1380: 68 Load 71(inF0) + 1381: 68 ExtInst 1(GLSL.std.450) 11(Radians) 1380 Store 1379(r033) 1381 - 1383: 56 Load 59(inF0) - 1384: 56 ExtInst 1(GLSL.std.450) 2(RoundEven) 1383 + 1383: 68 Load 71(inF0) + 1384: 68 ExtInst 1(GLSL.std.450) 2(RoundEven) 1383 Store 1382(r034) 1384 - 1386: 56 Load 59(inF0) - 1387: 56 ExtInst 1(GLSL.std.450) 32(InverseSqrt) 1386 + 1386: 68 Load 71(inF0) + 1387: 68 ExtInst 1(GLSL.std.450) 32(InverseSqrt) 1386 Store 1385(r035) 1387 - 1389: 56 Load 59(inF0) - 1390: 36(fvec3) CompositeConstruct 165 165 165 - 1391: 36(fvec3) CompositeConstruct 274 274 274 - 1392: 56 ExtInst 1(GLSL.std.450) 43(FClamp) 1389 1390 1391 + 1389: 68 Load 71(inF0) + 1390: 36(fvec3) CompositeConstruct 175 175 175 + 1391: 36(fvec3) CompositeConstruct 284 284 284 + 1392: 68 ExtInst 1(GLSL.std.450) 43(FClamp) 1389 1390 1391 Store 1388(r036) 1392 - 1394: 56 Load 59(inF0) - 1395: 56 ExtInst 1(GLSL.std.450) 6(FSign) 1394 + 1394: 68 Load 71(inF0) + 1395: 68 ExtInst 1(GLSL.std.450) 6(FSign) 1394 Store 1393(r037) 1395 - 1397: 56 Load 59(inF0) - 1398: 56 ExtInst 1(GLSL.std.450) 13(Sin) 1397 + 1397: 68 Load 71(inF0) + 1398: 68 ExtInst 1(GLSL.std.450) 13(Sin) 1397 Store 1396(r038) 1398 - 1399: 56 Load 59(inF0) - 1400: 56 ExtInst 1(GLSL.std.450) 13(Sin) 1399 - Store 60(inF1) 1400 - 1401: 56 Load 59(inF0) - 1402: 56 ExtInst 1(GLSL.std.450) 14(Cos) 1401 - Store 61(inF2) 1402 - 1404: 56 Load 59(inF0) - 1405: 56 ExtInst 1(GLSL.std.450) 19(Sinh) 1404 + 1399: 68 Load 71(inF0) + 1400: 68 ExtInst 1(GLSL.std.450) 13(Sin) 1399 + Store 72(inF1) 1400 + 1401: 68 Load 71(inF0) + 1402: 68 ExtInst 1(GLSL.std.450) 14(Cos) 1401 + Store 73(inF2) 1402 + 1404: 68 Load 71(inF0) + 1405: 68 ExtInst 1(GLSL.std.450) 19(Sinh) 1404 Store 1403(r039) 1405 - 1407: 56 Load 59(inF0) - 1408: 56 Load 60(inF1) - 1409: 56 Load 61(inF2) - 1410: 56 ExtInst 1(GLSL.std.450) 49(SmoothStep) 1407 1408 1409 + 1407: 68 Load 71(inF0) + 1408: 68 Load 72(inF1) + 1409: 68 Load 73(inF2) + 1410: 68 ExtInst 1(GLSL.std.450) 49(SmoothStep) 1407 1408 1409 Store 1406(r049) 1410 - 1412: 56 Load 59(inF0) - 1413: 56 ExtInst 1(GLSL.std.450) 31(Sqrt) 1412 + 1412: 68 Load 71(inF0) + 1413: 68 ExtInst 1(GLSL.std.450) 31(Sqrt) 1412 Store 1411(r041) 1413 - 1415: 56 Load 59(inF0) - 1416: 56 Load 60(inF1) - 1417: 56 ExtInst 1(GLSL.std.450) 48(Step) 1415 1416 + 1415: 68 Load 71(inF0) + 1416: 68 Load 72(inF1) + 1417: 68 ExtInst 1(GLSL.std.450) 48(Step) 1415 1416 Store 1414(r042) 1417 - 1419: 56 Load 59(inF0) - 1420: 56 ExtInst 1(GLSL.std.450) 15(Tan) 1419 + 1419: 68 Load 71(inF0) + 1420: 68 ExtInst 1(GLSL.std.450) 15(Tan) 1419 Store 1418(r043) 1420 - 1422: 56 Load 59(inF0) - 1423: 56 ExtInst 1(GLSL.std.450) 21(Tanh) 1422 + 1422: 68 Load 71(inF0) + 1423: 68 ExtInst 1(GLSL.std.450) 21(Tanh) 1422 Store 1421(r044) 1423 - 1424: 56 Load 59(inF0) - 1425: 56 Transpose 1424 - 1427: 56 Load 59(inF0) - 1428: 56 ExtInst 1(GLSL.std.450) 3(Trunc) 1427 + 1424: 68 Load 71(inF0) + 1425: 68 Transpose 1424 + 1427: 68 Load 71(inF0) + 1428: 68 ExtInst 1(GLSL.std.450) 3(Trunc) 1427 Store 1426(r046) 1428 ReturnValue 1430 FunctionEnd -71(PixelShaderFunction4x4(mf44;mf44;mf44;): 65 Function None 67 - 68(inF0): 66(ptr) FunctionParameter - 69(inF1): 66(ptr) FunctionParameter - 70(inF2): 66(ptr) FunctionParameter - 72: Label - 1433(r000): 122(ptr) Variable Function - 1436(r001): 66(ptr) Variable Function - 1441(r003): 122(ptr) Variable Function - 1444(r004): 66(ptr) Variable Function - 1447(r005): 66(ptr) Variable Function - 1450(r006): 66(ptr) Variable Function - 1454(r007): 66(ptr) Variable Function - 1465(r008): 66(ptr) Variable Function - 1470(r009): 66(ptr) Variable Function - 1473(r010): 66(ptr) Variable Function - 1476(r011): 66(ptr) Variable Function - 1479(r012): 66(ptr) Variable Function - 1482(r013): 66(ptr) Variable Function - 1485(r014): 66(ptr) Variable Function - 1488(r015): 66(ptr) Variable Function - 1491(r016): 66(ptr) Variable Function - 1494(r017): 66(ptr) Variable Function +82(PixelShaderFunction4x4(mf44;mf44;mf44;): 76 Function None 78 + 79(inF0): 77(ptr) FunctionParameter + 80(inF1): 77(ptr) FunctionParameter + 81(inF2): 77(ptr) FunctionParameter + 83: Label + 1433(r000): 132(ptr) Variable Function + 1436(r001): 77(ptr) Variable Function + 1441(r003): 132(ptr) Variable Function + 1444(r004): 77(ptr) Variable Function + 1447(r005): 77(ptr) Variable Function + 1450(r006): 77(ptr) Variable Function + 1454(r007): 77(ptr) Variable Function + 1465(r008): 77(ptr) Variable Function + 1470(r009): 77(ptr) Variable Function + 1473(r010): 77(ptr) Variable Function + 1476(r011): 77(ptr) Variable Function + 1479(r012): 77(ptr) Variable Function + 1482(r013): 77(ptr) Variable Function + 1485(r014): 77(ptr) Variable Function + 1488(r015): 77(ptr) Variable Function + 1491(r016): 77(ptr) Variable Function + 1494(r017): 77(ptr) Variable Function 1497(r018): 7(ptr) Variable Function - 1500(r019): 66(ptr) Variable Function - 1503(R020): 66(ptr) Variable Function - 1506(r021): 66(ptr) Variable Function - 1509(r022): 66(ptr) Variable Function - 1525(r023): 66(ptr) Variable Function - 1528(r024): 66(ptr) Variable Function - 1534(r025): 66(ptr) Variable Function - 1537(r026): 66(ptr) Variable Function - 1541(r026a): 66(ptr) Variable Function - 1546(r027): 66(ptr) Variable Function - 1549(r028): 66(ptr) Variable Function - 1553(r029): 66(ptr) Variable Function - 1556(r030): 66(ptr) Variable Function - 1560(r031): 66(ptr) Variable Function - 1564(r032): 66(ptr) Variable Function - 1568(r033): 66(ptr) Variable Function - 1571(r034): 66(ptr) Variable Function - 1574(r035): 66(ptr) Variable Function - 1577(r036): 66(ptr) Variable Function - 1582(r037): 66(ptr) Variable Function - 1585(r038): 66(ptr) Variable Function - 1592(r039): 66(ptr) Variable Function - 1595(r049): 66(ptr) Variable Function - 1600(r041): 66(ptr) Variable Function - 1603(r042): 66(ptr) Variable Function - 1607(r043): 66(ptr) Variable Function - 1610(r044): 66(ptr) Variable Function - 1615(r046): 66(ptr) Variable Function - 1434: 65 Load 68(inF0) - 1435: 121(bool) All 1434 + 1500(r019): 77(ptr) Variable Function + 1503(R020): 77(ptr) Variable Function + 1506(r021): 77(ptr) Variable Function + 1509(r022): 77(ptr) Variable Function + 1525(r023): 77(ptr) Variable Function + 1528(r024): 77(ptr) Variable Function + 1534(r025): 77(ptr) Variable Function + 1537(r026): 77(ptr) Variable Function + 1541(r026a): 77(ptr) Variable Function + 1546(r027): 77(ptr) Variable Function + 1549(r028): 77(ptr) Variable Function + 1553(r029): 77(ptr) Variable Function + 1556(r030): 77(ptr) Variable Function + 1560(r031): 77(ptr) Variable Function + 1564(r032): 77(ptr) Variable Function + 1568(r033): 77(ptr) Variable Function + 1571(r034): 77(ptr) Variable Function + 1574(r035): 77(ptr) Variable Function + 1577(r036): 77(ptr) Variable Function + 1582(r037): 77(ptr) Variable Function + 1585(r038): 77(ptr) Variable Function + 1592(r039): 77(ptr) Variable Function + 1595(r049): 77(ptr) Variable Function + 1600(r041): 77(ptr) Variable Function + 1603(r042): 77(ptr) Variable Function + 1607(r043): 77(ptr) Variable Function + 1610(r044): 77(ptr) Variable Function + 1615(r046): 77(ptr) Variable Function + 1434: 76 Load 79(inF0) + 1435: 131(bool) All 1434 Store 1433(r000) 1435 - 1437: 65 Load 68(inF0) - 1438: 65 ExtInst 1(GLSL.std.450) 4(FAbs) 1437 + 1437: 76 Load 79(inF0) + 1438: 76 ExtInst 1(GLSL.std.450) 4(FAbs) 1437 Store 1436(r001) 1438 - 1439: 65 Load 68(inF0) - 1440: 65 ExtInst 1(GLSL.std.450) 17(Acos) 1439 - 1442: 65 Load 68(inF0) - 1443: 121(bool) Any 1442 + 1439: 76 Load 79(inF0) + 1440: 76 ExtInst 1(GLSL.std.450) 17(Acos) 1439 + 1442: 76 Load 79(inF0) + 1443: 131(bool) Any 1442 Store 1441(r003) 1443 - 1445: 65 Load 68(inF0) - 1446: 65 ExtInst 1(GLSL.std.450) 16(Asin) 1445 + 1445: 76 Load 79(inF0) + 1446: 76 ExtInst 1(GLSL.std.450) 16(Asin) 1445 Store 1444(r004) 1446 - 1448: 65 Load 68(inF0) - 1449: 65 ExtInst 1(GLSL.std.450) 18(Atan) 1448 + 1448: 76 Load 79(inF0) + 1449: 76 ExtInst 1(GLSL.std.450) 18(Atan) 1448 Store 1447(r005) 1449 - 1451: 65 Load 68(inF0) - 1452: 65 Load 69(inF1) - 1453: 65 ExtInst 1(GLSL.std.450) 25(Atan2) 1451 1452 + 1451: 76 Load 79(inF0) + 1452: 76 Load 80(inF1) + 1453: 76 ExtInst 1(GLSL.std.450) 25(Atan2) 1451 1452 Store 1450(r006) 1453 - 1455: 65 Load 68(inF0) - 1456: 65 ExtInst 1(GLSL.std.450) 9(Ceil) 1455 + 1455: 76 Load 79(inF0) + 1456: 76 ExtInst 1(GLSL.std.450) 9(Ceil) 1455 Store 1454(r007) 1456 - 1457: 65 Load 68(inF0) + 1457: 76 Load 79(inF0) 1460: 1459 FOrdLessThan 1457 1458 - 1461: 121(bool) Any 1460 + 1461: 131(bool) Any 1460 SelectionMerge 1463 None BranchConditional 1461 1462 1463 1462: Label Kill 1463: Label - 1466: 65 Load 68(inF0) - 1467: 65 Load 69(inF1) - 1468: 65 Load 70(inF2) - 1469: 65 ExtInst 1(GLSL.std.450) 43(FClamp) 1466 1467 1468 + 1466: 76 Load 79(inF0) + 1467: 76 Load 80(inF1) + 1468: 76 Load 81(inF2) + 1469: 76 ExtInst 1(GLSL.std.450) 43(FClamp) 1466 1467 1468 Store 1465(r008) 1469 - 1471: 65 Load 68(inF0) - 1472: 65 ExtInst 1(GLSL.std.450) 14(Cos) 1471 + 1471: 76 Load 79(inF0) + 1472: 76 ExtInst 1(GLSL.std.450) 14(Cos) 1471 Store 1470(r009) 1472 - 1474: 65 Load 68(inF0) - 1475: 65 ExtInst 1(GLSL.std.450) 20(Cosh) 1474 + 1474: 76 Load 79(inF0) + 1475: 76 ExtInst 1(GLSL.std.450) 20(Cosh) 1474 Store 1473(r010) 1475 - 1477: 65 Load 68(inF0) - 1478: 65 DPdx 1477 + 1477: 76 Load 79(inF0) + 1478: 76 DPdx 1477 Store 1476(r011) 1478 - 1480: 65 Load 68(inF0) - 1481: 65 DPdxCoarse 1480 + 1480: 76 Load 79(inF0) + 1481: 76 DPdxCoarse 1480 Store 1479(r012) 1481 - 1483: 65 Load 68(inF0) - 1484: 65 DPdxFine 1483 + 1483: 76 Load 79(inF0) + 1484: 76 DPdxFine 1483 Store 1482(r013) 1484 - 1486: 65 Load 68(inF0) - 1487: 65 DPdy 1486 + 1486: 76 Load 79(inF0) + 1487: 76 DPdy 1486 Store 1485(r014) 1487 - 1489: 65 Load 68(inF0) - 1490: 65 DPdyCoarse 1489 + 1489: 76 Load 79(inF0) + 1490: 76 DPdyCoarse 1489 Store 1488(r015) 1490 - 1492: 65 Load 68(inF0) - 1493: 65 DPdyFine 1492 + 1492: 76 Load 79(inF0) + 1493: 76 DPdyFine 1492 Store 1491(r016) 1493 - 1495: 65 Load 68(inF0) - 1496: 65 ExtInst 1(GLSL.std.450) 12(Degrees) 1495 + 1495: 76 Load 79(inF0) + 1496: 76 ExtInst 1(GLSL.std.450) 12(Degrees) 1495 Store 1494(r017) 1496 - 1498: 65 Load 68(inF0) + 1498: 76 Load 79(inF0) 1499: 6(float) ExtInst 1(GLSL.std.450) 33(Determinant) 1498 Store 1497(r018) 1499 - 1501: 65 Load 68(inF0) - 1502: 65 ExtInst 1(GLSL.std.450) 27(Exp) 1501 + 1501: 76 Load 79(inF0) + 1502: 76 ExtInst 1(GLSL.std.450) 27(Exp) 1501 Store 1500(r019) 1502 - 1504: 65 Load 68(inF0) - 1505: 65 ExtInst 1(GLSL.std.450) 29(Exp2) 1504 + 1504: 76 Load 79(inF0) + 1505: 76 ExtInst 1(GLSL.std.450) 29(Exp2) 1504 Store 1503(R020) 1505 - 1507: 65 Load 68(inF0) - 1508: 65 ExtInst 1(GLSL.std.450) 8(Floor) 1507 + 1507: 76 Load 79(inF0) + 1508: 76 ExtInst 1(GLSL.std.450) 8(Floor) 1507 Store 1506(r021) 1508 - 1510: 65 Load 68(inF0) - 1511: 65 Load 69(inF1) - 1512: 64(fvec4) CompositeExtract 1510 0 - 1513: 64(fvec4) CompositeExtract 1511 0 - 1514: 64(fvec4) FMod 1512 1513 - 1515: 64(fvec4) CompositeExtract 1510 1 - 1516: 64(fvec4) CompositeExtract 1511 1 - 1517: 64(fvec4) FMod 1515 1516 - 1518: 64(fvec4) CompositeExtract 1510 2 - 1519: 64(fvec4) CompositeExtract 1511 2 - 1520: 64(fvec4) FMod 1518 1519 - 1521: 64(fvec4) CompositeExtract 1510 3 - 1522: 64(fvec4) CompositeExtract 1511 3 - 1523: 64(fvec4) FMod 1521 1522 - 1524: 65 CompositeConstruct 1514 1517 1520 1523 + 1510: 76 Load 79(inF0) + 1511: 76 Load 80(inF1) + 1512: 48(fvec4) CompositeExtract 1510 0 + 1513: 48(fvec4) CompositeExtract 1511 0 + 1514: 48(fvec4) FMod 1512 1513 + 1515: 48(fvec4) CompositeExtract 1510 1 + 1516: 48(fvec4) CompositeExtract 1511 1 + 1517: 48(fvec4) FMod 1515 1516 + 1518: 48(fvec4) CompositeExtract 1510 2 + 1519: 48(fvec4) CompositeExtract 1511 2 + 1520: 48(fvec4) FMod 1518 1519 + 1521: 48(fvec4) CompositeExtract 1510 3 + 1522: 48(fvec4) CompositeExtract 1511 3 + 1523: 48(fvec4) FMod 1521 1522 + 1524: 76 CompositeConstruct 1514 1517 1520 1523 Store 1509(r022) 1524 - 1526: 65 Load 68(inF0) - 1527: 65 ExtInst 1(GLSL.std.450) 10(Fract) 1526 + 1526: 76 Load 79(inF0) + 1527: 76 ExtInst 1(GLSL.std.450) 10(Fract) 1526 Store 1525(r023) 1527 - 1529: 65 Load 68(inF0) + 1529: 76 Load 79(inF0) 1531:1530(ResType) ExtInst 1(GLSL.std.450) 52(FrexpStruct) 1529 - 1532: 825(ivec4) CompositeExtract 1531 1 - Store 69(inF1) 1532 - 1533: 65 CompositeExtract 1531 0 + 1532: 833(ivec4) CompositeExtract 1531 1 + Store 80(inF1) 1532 + 1533: 76 CompositeExtract 1531 0 Store 1528(r024) 1533 - 1535: 65 Load 68(inF0) - 1536: 65 Fwidth 1535 + 1535: 76 Load 79(inF0) + 1536: 76 Fwidth 1535 Store 1534(r025) 1536 - 1538: 65 Load 68(inF0) - 1539: 65 Load 69(inF1) - 1540: 65 ExtInst 1(GLSL.std.450) 53(Ldexp) 1538 1539 + 1538: 76 Load 79(inF0) + 1539: 76 Load 80(inF1) + 1540: 76 ExtInst 1(GLSL.std.450) 53(Ldexp) 1538 1539 Store 1537(r026) 1540 - 1542: 65 Load 68(inF0) - 1543: 65 Load 69(inF1) - 1544: 65 Load 70(inF2) - 1545: 65 ExtInst 1(GLSL.std.450) 46(FMix) 1542 1543 1544 + 1542: 76 Load 79(inF0) + 1543: 76 Load 80(inF1) + 1544: 76 Load 81(inF2) + 1545: 76 ExtInst 1(GLSL.std.450) 46(FMix) 1542 1543 1544 Store 1541(r026a) 1545 - 1547: 65 Load 68(inF0) - 1548: 65 ExtInst 1(GLSL.std.450) 28(Log) 1547 + 1547: 76 Load 79(inF0) + 1548: 76 ExtInst 1(GLSL.std.450) 28(Log) 1547 Store 1546(r027) 1548 - 1550: 65 Load 68(inF0) - 1551: 65 ExtInst 1(GLSL.std.450) 30(Log2) 1550 - 1552: 65 MatrixTimesScalar 1551 253 + 1550: 76 Load 79(inF0) + 1551: 76 ExtInst 1(GLSL.std.450) 30(Log2) 1550 + 1552: 76 MatrixTimesScalar 1551 263 Store 1549(r028) 1552 - 1554: 65 Load 68(inF0) - 1555: 65 ExtInst 1(GLSL.std.450) 30(Log2) 1554 + 1554: 76 Load 79(inF0) + 1555: 76 ExtInst 1(GLSL.std.450) 30(Log2) 1554 Store 1553(r029) 1555 - 1557: 65 Load 68(inF0) - 1558: 65 Load 69(inF1) - 1559: 65 ExtInst 1(GLSL.std.450) 40(FMax) 1557 1558 + 1557: 76 Load 79(inF0) + 1558: 76 Load 80(inF1) + 1559: 76 ExtInst 1(GLSL.std.450) 40(FMax) 1557 1558 Store 1556(r030) 1559 - 1561: 65 Load 68(inF0) - 1562: 65 Load 69(inF1) - 1563: 65 ExtInst 1(GLSL.std.450) 37(FMin) 1561 1562 + 1561: 76 Load 79(inF0) + 1562: 76 Load 80(inF1) + 1563: 76 ExtInst 1(GLSL.std.450) 37(FMin) 1561 1562 Store 1560(r031) 1563 - 1565: 65 Load 68(inF0) - 1566: 65 Load 69(inF1) - 1567: 65 ExtInst 1(GLSL.std.450) 26(Pow) 1565 1566 + 1565: 76 Load 79(inF0) + 1566: 76 Load 80(inF1) + 1567: 76 ExtInst 1(GLSL.std.450) 26(Pow) 1565 1566 Store 1564(r032) 1567 - 1569: 65 Load 68(inF0) - 1570: 65 ExtInst 1(GLSL.std.450) 11(Radians) 1569 + 1569: 76 Load 79(inF0) + 1570: 76 ExtInst 1(GLSL.std.450) 11(Radians) 1569 Store 1568(r033) 1570 - 1572: 65 Load 68(inF0) - 1573: 65 ExtInst 1(GLSL.std.450) 2(RoundEven) 1572 + 1572: 76 Load 79(inF0) + 1573: 76 ExtInst 1(GLSL.std.450) 2(RoundEven) 1572 Store 1571(r034) 1573 - 1575: 65 Load 68(inF0) - 1576: 65 ExtInst 1(GLSL.std.450) 32(InverseSqrt) 1575 + 1575: 76 Load 79(inF0) + 1576: 76 ExtInst 1(GLSL.std.450) 32(InverseSqrt) 1575 Store 1574(r035) 1576 - 1578: 65 Load 68(inF0) - 1579: 64(fvec4) CompositeConstruct 165 165 165 165 - 1580: 64(fvec4) CompositeConstruct 274 274 274 274 - 1581: 65 ExtInst 1(GLSL.std.450) 43(FClamp) 1578 1579 1580 + 1578: 76 Load 79(inF0) + 1579: 48(fvec4) CompositeConstruct 175 175 175 175 + 1580: 48(fvec4) CompositeConstruct 284 284 284 284 + 1581: 76 ExtInst 1(GLSL.std.450) 43(FClamp) 1578 1579 1580 Store 1577(r036) 1581 - 1583: 65 Load 68(inF0) - 1584: 65 ExtInst 1(GLSL.std.450) 6(FSign) 1583 + 1583: 76 Load 79(inF0) + 1584: 76 ExtInst 1(GLSL.std.450) 6(FSign) 1583 Store 1582(r037) 1584 - 1586: 65 Load 68(inF0) - 1587: 65 ExtInst 1(GLSL.std.450) 13(Sin) 1586 + 1586: 76 Load 79(inF0) + 1587: 76 ExtInst 1(GLSL.std.450) 13(Sin) 1586 Store 1585(r038) 1587 - 1588: 65 Load 68(inF0) - 1589: 65 ExtInst 1(GLSL.std.450) 13(Sin) 1588 - Store 69(inF1) 1589 - 1590: 65 Load 68(inF0) - 1591: 65 ExtInst 1(GLSL.std.450) 14(Cos) 1590 - Store 70(inF2) 1591 - 1593: 65 Load 68(inF0) - 1594: 65 ExtInst 1(GLSL.std.450) 19(Sinh) 1593 + 1588: 76 Load 79(inF0) + 1589: 76 ExtInst 1(GLSL.std.450) 13(Sin) 1588 + Store 80(inF1) 1589 + 1590: 76 Load 79(inF0) + 1591: 76 ExtInst 1(GLSL.std.450) 14(Cos) 1590 + Store 81(inF2) 1591 + 1593: 76 Load 79(inF0) + 1594: 76 ExtInst 1(GLSL.std.450) 19(Sinh) 1593 Store 1592(r039) 1594 - 1596: 65 Load 68(inF0) - 1597: 65 Load 69(inF1) - 1598: 65 Load 70(inF2) - 1599: 65 ExtInst 1(GLSL.std.450) 49(SmoothStep) 1596 1597 1598 + 1596: 76 Load 79(inF0) + 1597: 76 Load 80(inF1) + 1598: 76 Load 81(inF2) + 1599: 76 ExtInst 1(GLSL.std.450) 49(SmoothStep) 1596 1597 1598 Store 1595(r049) 1599 - 1601: 65 Load 68(inF0) - 1602: 65 ExtInst 1(GLSL.std.450) 31(Sqrt) 1601 + 1601: 76 Load 79(inF0) + 1602: 76 ExtInst 1(GLSL.std.450) 31(Sqrt) 1601 Store 1600(r041) 1602 - 1604: 65 Load 68(inF0) - 1605: 65 Load 69(inF1) - 1606: 65 ExtInst 1(GLSL.std.450) 48(Step) 1604 1605 + 1604: 76 Load 79(inF0) + 1605: 76 Load 80(inF1) + 1606: 76 ExtInst 1(GLSL.std.450) 48(Step) 1604 1605 Store 1603(r042) 1606 - 1608: 65 Load 68(inF0) - 1609: 65 ExtInst 1(GLSL.std.450) 15(Tan) 1608 + 1608: 76 Load 79(inF0) + 1609: 76 ExtInst 1(GLSL.std.450) 15(Tan) 1608 Store 1607(r043) 1609 - 1611: 65 Load 68(inF0) - 1612: 65 ExtInst 1(GLSL.std.450) 21(Tanh) 1611 + 1611: 76 Load 79(inF0) + 1612: 76 ExtInst 1(GLSL.std.450) 21(Tanh) 1611 Store 1610(r044) 1612 - 1613: 65 Load 68(inF0) - 1614: 65 Transpose 1613 - 1616: 65 Load 68(inF0) - 1617: 65 ExtInst 1(GLSL.std.450) 3(Trunc) 1616 + 1613: 76 Load 79(inF0) + 1614: 76 Transpose 1613 + 1616: 76 Load 79(inF0) + 1617: 76 ExtInst 1(GLSL.std.450) 3(Trunc) 1616 Store 1615(r046) 1617 ReturnValue 1619 FunctionEnd -80(TestGenMul2(f1;f1;vf2;vf2;mf22;mf22;): 2 Function None 73 - 74(inF0): 7(ptr) FunctionParameter - 75(inF1): 7(ptr) FunctionParameter - 76(inFV0): 25(ptr) FunctionParameter - 77(inFV1): 25(ptr) FunctionParameter - 78(inFM0): 49(ptr) FunctionParameter - 79(inFM1): 49(ptr) FunctionParameter - 81: Label +91(TestGenMul2(f1;f1;vf2;vf2;mf22;mf22;): 2 Function None 84 + 85(inF0): 7(ptr) FunctionParameter + 86(inF1): 7(ptr) FunctionParameter + 87(inFV0): 25(ptr) FunctionParameter + 88(inFV1): 25(ptr) FunctionParameter + 89(inFM0): 61(ptr) FunctionParameter + 90(inFM1): 61(ptr) FunctionParameter + 92: Label 1622(r0): 7(ptr) Variable Function 1626(r1): 25(ptr) Variable Function 1630(r2): 25(ptr) Variable Function 1634(r3): 7(ptr) Variable Function 1638(r4): 25(ptr) Variable Function 1642(r5): 25(ptr) Variable Function - 1646(r6): 49(ptr) Variable Function - 1650(r7): 49(ptr) Variable Function - 1654(r8): 49(ptr) Variable Function - 1623: 6(float) Load 74(inF0) - 1624: 6(float) Load 75(inF1) + 1646(r6): 61(ptr) Variable Function + 1650(r7): 61(ptr) Variable Function + 1654(r8): 61(ptr) Variable Function + 1623: 6(float) Load 86(inF1) + 1624: 6(float) Load 85(inF0) 1625: 6(float) FMul 1623 1624 Store 1622(r0) 1625 - 1627: 24(fvec2) Load 76(inFV0) - 1628: 6(float) Load 74(inF0) - 1629: 24(fvec2) VectorTimesScalar 1627 1628 + 1627: 6(float) Load 85(inF0) + 1628: 24(fvec2) Load 87(inFV0) + 1629: 24(fvec2) VectorTimesScalar 1628 1627 Store 1626(r1) 1629 - 1631: 6(float) Load 74(inF0) - 1632: 24(fvec2) Load 76(inFV0) - 1633: 24(fvec2) VectorTimesScalar 1632 1631 + 1631: 24(fvec2) Load 87(inFV0) + 1632: 6(float) Load 85(inF0) + 1633: 24(fvec2) VectorTimesScalar 1631 1632 Store 1630(r2) 1633 - 1635: 24(fvec2) Load 76(inFV0) - 1636: 24(fvec2) Load 77(inFV1) + 1635: 24(fvec2) Load 87(inFV0) + 1636: 24(fvec2) Load 88(inFV1) 1637: 6(float) Dot 1635 1636 Store 1634(r3) 1637 - 1639: 48 Load 78(inFM0) - 1640: 24(fvec2) Load 76(inFV0) - 1641: 24(fvec2) MatrixTimesVector 1639 1640 + 1639: 24(fvec2) Load 87(inFV0) + 1640: 60 Load 89(inFM0) + 1641: 24(fvec2) VectorTimesMatrix 1639 1640 Store 1638(r4) 1641 - 1643: 24(fvec2) Load 76(inFV0) - 1644: 48 Load 78(inFM0) - 1645: 24(fvec2) VectorTimesMatrix 1643 1644 + 1643: 60 Load 89(inFM0) + 1644: 24(fvec2) Load 87(inFV0) + 1645: 24(fvec2) MatrixTimesVector 1643 1644 Store 1642(r5) 1645 - 1647: 48 Load 78(inFM0) - 1648: 6(float) Load 74(inF0) - 1649: 48 MatrixTimesScalar 1647 1648 + 1647: 6(float) Load 85(inF0) + 1648: 60 Load 89(inFM0) + 1649: 60 MatrixTimesScalar 1648 1647 Store 1646(r6) 1649 - 1651: 6(float) Load 74(inF0) - 1652: 48 Load 78(inFM0) - 1653: 48 MatrixTimesScalar 1652 1651 + 1651: 60 Load 89(inFM0) + 1652: 6(float) Load 85(inF0) + 1653: 60 MatrixTimesScalar 1651 1652 Store 1650(r7) 1653 - 1655: 48 Load 78(inFM0) - 1656: 48 Load 79(inFM1) - 1657: 48 MatrixTimesMatrix 1655 1656 + 1655: 60 Load 90(inFM1) + 1656: 60 Load 89(inFM0) + 1657: 60 MatrixTimesMatrix 1655 1656 Store 1654(r8) 1657 Return FunctionEnd -89(TestGenMul3(f1;f1;vf3;vf3;mf33;mf33;): 2 Function None 82 - 83(inF0): 7(ptr) FunctionParameter - 84(inF1): 7(ptr) FunctionParameter - 85(inFV0): 37(ptr) FunctionParameter - 86(inFV1): 37(ptr) FunctionParameter - 87(inFM0): 57(ptr) FunctionParameter - 88(inFM1): 57(ptr) FunctionParameter - 90: Label +100(TestGenMul3(f1;f1;vf3;vf3;mf33;mf33;): 2 Function None 93 + 94(inF0): 7(ptr) FunctionParameter + 95(inF1): 7(ptr) FunctionParameter + 96(inFV0): 37(ptr) FunctionParameter + 97(inFV1): 37(ptr) FunctionParameter + 98(inFM0): 69(ptr) FunctionParameter + 99(inFM1): 69(ptr) FunctionParameter + 101: Label 1658(r0): 7(ptr) Variable Function 1662(r1): 37(ptr) Variable Function 1666(r2): 37(ptr) Variable Function 1670(r3): 7(ptr) Variable Function 1674(r4): 37(ptr) Variable Function 1678(r5): 37(ptr) Variable Function - 1682(r6): 57(ptr) Variable Function - 1686(r7): 57(ptr) Variable Function - 1690(r8): 57(ptr) Variable Function - 1659: 6(float) Load 83(inF0) - 1660: 6(float) Load 84(inF1) + 1682(r6): 69(ptr) Variable Function + 1686(r7): 69(ptr) Variable Function + 1690(r8): 69(ptr) Variable Function + 1659: 6(float) Load 95(inF1) + 1660: 6(float) Load 94(inF0) 1661: 6(float) FMul 1659 1660 Store 1658(r0) 1661 - 1663: 36(fvec3) Load 85(inFV0) - 1664: 6(float) Load 83(inF0) - 1665: 36(fvec3) VectorTimesScalar 1663 1664 + 1663: 6(float) Load 94(inF0) + 1664: 36(fvec3) Load 96(inFV0) + 1665: 36(fvec3) VectorTimesScalar 1664 1663 Store 1662(r1) 1665 - 1667: 6(float) Load 83(inF0) - 1668: 36(fvec3) Load 85(inFV0) - 1669: 36(fvec3) VectorTimesScalar 1668 1667 + 1667: 36(fvec3) Load 96(inFV0) + 1668: 6(float) Load 94(inF0) + 1669: 36(fvec3) VectorTimesScalar 1667 1668 Store 1666(r2) 1669 - 1671: 36(fvec3) Load 85(inFV0) - 1672: 36(fvec3) Load 86(inFV1) + 1671: 36(fvec3) Load 96(inFV0) + 1672: 36(fvec3) Load 97(inFV1) 1673: 6(float) Dot 1671 1672 Store 1670(r3) 1673 - 1675: 56 Load 87(inFM0) - 1676: 36(fvec3) Load 85(inFV0) - 1677: 36(fvec3) MatrixTimesVector 1675 1676 + 1675: 36(fvec3) Load 96(inFV0) + 1676: 68 Load 98(inFM0) + 1677: 36(fvec3) VectorTimesMatrix 1675 1676 Store 1674(r4) 1677 - 1679: 36(fvec3) Load 85(inFV0) - 1680: 56 Load 87(inFM0) - 1681: 36(fvec3) VectorTimesMatrix 1679 1680 + 1679: 68 Load 98(inFM0) + 1680: 36(fvec3) Load 96(inFV0) + 1681: 36(fvec3) MatrixTimesVector 1679 1680 Store 1678(r5) 1681 - 1683: 56 Load 87(inFM0) - 1684: 6(float) Load 83(inF0) - 1685: 56 MatrixTimesScalar 1683 1684 + 1683: 6(float) Load 94(inF0) + 1684: 68 Load 98(inFM0) + 1685: 68 MatrixTimesScalar 1684 1683 Store 1682(r6) 1685 - 1687: 6(float) Load 83(inF0) - 1688: 56 Load 87(inFM0) - 1689: 56 MatrixTimesScalar 1688 1687 + 1687: 68 Load 98(inFM0) + 1688: 6(float) Load 94(inF0) + 1689: 68 MatrixTimesScalar 1687 1688 Store 1686(r7) 1689 - 1691: 56 Load 87(inFM0) - 1692: 56 Load 88(inFM1) - 1693: 56 MatrixTimesMatrix 1691 1692 + 1691: 68 Load 99(inFM1) + 1692: 68 Load 98(inFM0) + 1693: 68 MatrixTimesMatrix 1691 1692 Store 1690(r8) 1693 Return FunctionEnd -99(TestGenMul4(f1;f1;vf4;vf4;mf44;mf44;): 2 Function None 92 - 93(inF0): 7(ptr) FunctionParameter - 94(inF1): 7(ptr) FunctionParameter - 95(inFV0): 91(ptr) FunctionParameter - 96(inFV1): 91(ptr) FunctionParameter - 97(inFM0): 66(ptr) FunctionParameter - 98(inFM1): 66(ptr) FunctionParameter - 100: Label +109(TestGenMul4(f1;f1;vf4;vf4;mf44;mf44;): 2 Function None 102 + 103(inF0): 7(ptr) FunctionParameter + 104(inF1): 7(ptr) FunctionParameter + 105(inFV0): 49(ptr) FunctionParameter + 106(inFV1): 49(ptr) FunctionParameter + 107(inFM0): 77(ptr) FunctionParameter + 108(inFM1): 77(ptr) FunctionParameter + 110: Label 1694(r0): 7(ptr) Variable Function - 1698(r1): 91(ptr) Variable Function - 1702(r2): 91(ptr) Variable Function + 1698(r1): 49(ptr) Variable Function + 1702(r2): 49(ptr) Variable Function 1706(r3): 7(ptr) Variable Function - 1710(r4): 91(ptr) Variable Function - 1714(r5): 91(ptr) Variable Function - 1718(r6): 66(ptr) Variable Function - 1722(r7): 66(ptr) Variable Function - 1726(r8): 66(ptr) Variable Function - 1695: 6(float) Load 93(inF0) - 1696: 6(float) Load 94(inF1) + 1710(r4): 49(ptr) Variable Function + 1714(r5): 49(ptr) Variable Function + 1718(r6): 77(ptr) Variable Function + 1722(r7): 77(ptr) Variable Function + 1726(r8): 77(ptr) Variable Function + 1695: 6(float) Load 104(inF1) + 1696: 6(float) Load 103(inF0) 1697: 6(float) FMul 1695 1696 Store 1694(r0) 1697 - 1699: 64(fvec4) Load 95(inFV0) - 1700: 6(float) Load 93(inF0) - 1701: 64(fvec4) VectorTimesScalar 1699 1700 + 1699: 6(float) Load 103(inF0) + 1700: 48(fvec4) Load 105(inFV0) + 1701: 48(fvec4) VectorTimesScalar 1700 1699 Store 1698(r1) 1701 - 1703: 6(float) Load 93(inF0) - 1704: 64(fvec4) Load 95(inFV0) - 1705: 64(fvec4) VectorTimesScalar 1704 1703 + 1703: 48(fvec4) Load 105(inFV0) + 1704: 6(float) Load 103(inF0) + 1705: 48(fvec4) VectorTimesScalar 1703 1704 Store 1702(r2) 1705 - 1707: 64(fvec4) Load 95(inFV0) - 1708: 64(fvec4) Load 96(inFV1) + 1707: 48(fvec4) Load 105(inFV0) + 1708: 48(fvec4) Load 106(inFV1) 1709: 6(float) Dot 1707 1708 Store 1706(r3) 1709 - 1711: 65 Load 97(inFM0) - 1712: 64(fvec4) Load 95(inFV0) - 1713: 64(fvec4) MatrixTimesVector 1711 1712 + 1711: 48(fvec4) Load 105(inFV0) + 1712: 76 Load 107(inFM0) + 1713: 48(fvec4) VectorTimesMatrix 1711 1712 Store 1710(r4) 1713 - 1715: 64(fvec4) Load 95(inFV0) - 1716: 65 Load 97(inFM0) - 1717: 64(fvec4) VectorTimesMatrix 1715 1716 + 1715: 76 Load 107(inFM0) + 1716: 48(fvec4) Load 105(inFV0) + 1717: 48(fvec4) MatrixTimesVector 1715 1716 Store 1714(r5) 1717 - 1719: 65 Load 97(inFM0) - 1720: 6(float) Load 93(inF0) - 1721: 65 MatrixTimesScalar 1719 1720 + 1719: 6(float) Load 103(inF0) + 1720: 76 Load 107(inFM0) + 1721: 76 MatrixTimesScalar 1720 1719 Store 1718(r6) 1721 - 1723: 6(float) Load 93(inF0) - 1724: 65 Load 97(inFM0) - 1725: 65 MatrixTimesScalar 1724 1723 + 1723: 76 Load 107(inFM0) + 1724: 6(float) Load 103(inF0) + 1725: 76 MatrixTimesScalar 1723 1724 Store 1722(r7) 1725 - 1727: 65 Load 97(inFM0) - 1728: 65 Load 98(inFM1) - 1729: 65 MatrixTimesMatrix 1727 1728 + 1727: 76 Load 108(inFM1) + 1728: 76 Load 107(inFM0) + 1729: 76 MatrixTimesMatrix 1727 1728 Store 1726(r8) 1729 Return FunctionEnd -119(TestGenMulNxM(f1;f1;vf2;vf3;mf32;mf23;mf33;mf43;mf42;): 2 Function None 109 - 110(inF0): 7(ptr) FunctionParameter - 111(inF1): 7(ptr) FunctionParameter - 112(inFV2): 25(ptr) FunctionParameter - 113(inFV3): 37(ptr) FunctionParameter - 114(inFM2x3): 102(ptr) FunctionParameter - 115(inFM3x2): 104(ptr) FunctionParameter - 116(inFM3x3): 57(ptr) FunctionParameter - 117(inFM3x4): 106(ptr) FunctionParameter - 118(inFM2x4): 108(ptr) FunctionParameter - 120: Label +129(TestGenMulNxM(f1;f1;vf2;vf3;mf23;mf32;mf33;mf34;mf24;): 2 Function None 119 + 120(inF0): 7(ptr) FunctionParameter + 121(inF1): 7(ptr) FunctionParameter + 122(inFV2): 25(ptr) FunctionParameter + 123(inFV3): 37(ptr) FunctionParameter + 124(inFM2x3): 112(ptr) FunctionParameter + 125(inFM3x2): 114(ptr) FunctionParameter + 126(inFM3x3): 69(ptr) FunctionParameter + 127(inFM3x4): 116(ptr) FunctionParameter + 128(inFM2x4): 118(ptr) FunctionParameter + 130: Label 1730(r00): 7(ptr) Variable Function 1734(r01): 25(ptr) Variable Function 1738(r02): 37(ptr) Variable Function @@ -8303,79 +8345,79 @@ gl_FragCoord origin is upper left 1762(r08): 25(ptr) Variable Function 1766(r09): 25(ptr) Variable Function 1770(r10): 37(ptr) Variable Function - 1774(r11): 102(ptr) Variable Function - 1778(r12): 104(ptr) Variable Function - 1782(r13): 49(ptr) Variable Function - 1786(r14): 102(ptr) Variable Function - 1790(r15): 108(ptr) Variable Function - 1794(r16): 106(ptr) Variable Function - 1731: 6(float) Load 110(inF0) - 1732: 6(float) Load 111(inF1) + 1774(r11): 112(ptr) Variable Function + 1778(r12): 114(ptr) Variable Function + 1782(r13): 61(ptr) Variable Function + 1786(r14): 112(ptr) Variable Function + 1790(r15): 118(ptr) Variable Function + 1794(r16): 116(ptr) Variable Function + 1731: 6(float) Load 121(inF1) + 1732: 6(float) Load 120(inF0) 1733: 6(float) FMul 1731 1732 Store 1730(r00) 1733 - 1735: 24(fvec2) Load 112(inFV2) - 1736: 6(float) Load 110(inF0) - 1737: 24(fvec2) VectorTimesScalar 1735 1736 + 1735: 6(float) Load 120(inF0) + 1736: 24(fvec2) Load 122(inFV2) + 1737: 24(fvec2) VectorTimesScalar 1736 1735 Store 1734(r01) 1737 - 1739: 36(fvec3) Load 113(inFV3) - 1740: 6(float) Load 110(inF0) - 1741: 36(fvec3) VectorTimesScalar 1739 1740 + 1739: 6(float) Load 120(inF0) + 1740: 36(fvec3) Load 123(inFV3) + 1741: 36(fvec3) VectorTimesScalar 1740 1739 Store 1738(r02) 1741 - 1743: 6(float) Load 110(inF0) - 1744: 24(fvec2) Load 112(inFV2) - 1745: 24(fvec2) VectorTimesScalar 1744 1743 + 1743: 24(fvec2) Load 122(inFV2) + 1744: 6(float) Load 120(inF0) + 1745: 24(fvec2) VectorTimesScalar 1743 1744 Store 1742(r03) 1745 - 1747: 6(float) Load 110(inF0) - 1748: 36(fvec3) Load 113(inFV3) - 1749: 36(fvec3) VectorTimesScalar 1748 1747 + 1747: 36(fvec3) Load 123(inFV3) + 1748: 6(float) Load 120(inF0) + 1749: 36(fvec3) VectorTimesScalar 1747 1748 Store 1746(r04) 1749 - 1751: 24(fvec2) Load 112(inFV2) - 1752: 24(fvec2) Load 112(inFV2) + 1751: 24(fvec2) Load 122(inFV2) + 1752: 24(fvec2) Load 122(inFV2) 1753: 6(float) Dot 1751 1752 Store 1750(r05) 1753 - 1755: 36(fvec3) Load 113(inFV3) - 1756: 36(fvec3) Load 113(inFV3) + 1755: 36(fvec3) Load 123(inFV3) + 1756: 36(fvec3) Load 123(inFV3) 1757: 6(float) Dot 1755 1756 Store 1754(r06) 1757 - 1759: 24(fvec2) Load 112(inFV2) - 1760: 101 Load 114(inFM2x3) - 1761: 36(fvec3) VectorTimesMatrix 1759 1760 + 1759: 111 Load 124(inFM2x3) + 1760: 24(fvec2) Load 122(inFV2) + 1761: 36(fvec3) MatrixTimesVector 1759 1760 Store 1758(r07) 1761 - 1763: 36(fvec3) Load 113(inFV3) - 1764: 103 Load 115(inFM3x2) - 1765: 24(fvec2) VectorTimesMatrix 1763 1764 + 1763: 113 Load 125(inFM3x2) + 1764: 36(fvec3) Load 123(inFV3) + 1765: 24(fvec2) MatrixTimesVector 1763 1764 Store 1762(r08) 1765 - 1767: 101 Load 114(inFM2x3) - 1768: 36(fvec3) Load 113(inFV3) - 1769: 24(fvec2) MatrixTimesVector 1767 1768 + 1767: 36(fvec3) Load 123(inFV3) + 1768: 111 Load 124(inFM2x3) + 1769: 24(fvec2) VectorTimesMatrix 1767 1768 Store 1766(r09) 1769 - 1771: 103 Load 115(inFM3x2) - 1772: 24(fvec2) Load 112(inFV2) - 1773: 36(fvec3) MatrixTimesVector 1771 1772 + 1771: 24(fvec2) Load 122(inFV2) + 1772: 113 Load 125(inFM3x2) + 1773: 36(fvec3) VectorTimesMatrix 1771 1772 Store 1770(r10) 1773 - 1775: 101 Load 114(inFM2x3) - 1776: 6(float) Load 110(inF0) - 1777: 101 MatrixTimesScalar 1775 1776 + 1775: 6(float) Load 120(inF0) + 1776: 111 Load 124(inFM2x3) + 1777: 111 MatrixTimesScalar 1776 1775 Store 1774(r11) 1777 - 1779: 103 Load 115(inFM3x2) - 1780: 6(float) Load 110(inF0) - 1781: 103 MatrixTimesScalar 1779 1780 + 1779: 6(float) Load 120(inF0) + 1780: 113 Load 125(inFM3x2) + 1781: 113 MatrixTimesScalar 1780 1779 Store 1778(r12) 1781 - 1783: 101 Load 114(inFM2x3) - 1784: 103 Load 115(inFM3x2) - 1785: 48 MatrixTimesMatrix 1783 1784 + 1783: 113 Load 125(inFM3x2) + 1784: 111 Load 124(inFM2x3) + 1785: 60 MatrixTimesMatrix 1783 1784 Store 1782(r13) 1785 - 1787: 101 Load 114(inFM2x3) - 1788: 56 Load 116(inFM3x3) - 1789: 101 MatrixTimesMatrix 1787 1788 + 1787: 68 Load 126(inFM3x3) + 1788: 111 Load 124(inFM2x3) + 1789: 111 MatrixTimesMatrix 1787 1788 Store 1786(r14) 1789 - 1791: 101 Load 114(inFM2x3) - 1792: 105 Load 117(inFM3x4) - 1793: 107 MatrixTimesMatrix 1791 1792 + 1791: 115 Load 127(inFM3x4) + 1792: 111 Load 124(inFM2x3) + 1793: 117 MatrixTimesMatrix 1791 1792 Store 1790(r15) 1793 - 1795: 103 Load 115(inFM3x2) - 1796: 107 Load 118(inFM2x4) - 1797: 105 MatrixTimesMatrix 1795 1796 + 1795: 117 Load 128(inFM2x4) + 1796: 113 Load 125(inFM3x2) + 1797: 115 MatrixTimesMatrix 1795 1796 Store 1794(r16) 1797 Return FunctionEnd diff --git a/Test/baseResults/hlsl.intrinsics.vert.out b/Test/baseResults/hlsl.intrinsics.vert.out index 8368e267..121c8093 100644 --- a/Test/baseResults/hlsl.intrinsics.vert.out +++ b/Test/baseResults/hlsl.intrinsics.vert.out @@ -1101,20 +1101,20 @@ Shader version: 450 0:378 move second child to first child (temp float) 0:378 'r0' (temp float) 0:378 component-wise multiply (temp float) -0:378 'inF0' (in float) 0:378 'inF1' (in float) +0:378 'inF0' (in float) 0:378 Sequence 0:378 move second child to first child (temp 2-component vector of float) 0:378 'r1' (temp 2-component vector of float) 0:378 vector-scale (temp 2-component vector of float) -0:378 'inFV0' (in 2-component vector of float) 0:378 'inF0' (in float) +0:378 'inFV0' (in 2-component vector of float) 0:378 Sequence 0:378 move second child to first child (temp 2-component vector of float) 0:378 'r2' (temp 2-component vector of float) 0:378 vector-scale (temp 2-component vector of float) -0:378 'inF0' (in float) 0:378 'inFV0' (in 2-component vector of float) +0:378 'inF0' (in float) 0:378 Sequence 0:378 move second child to first child (temp float) 0:378 'r3' (temp float) @@ -1124,33 +1124,33 @@ Shader version: 450 0:378 Sequence 0:378 move second child to first child (temp 2-component vector of float) 0:378 'r4' (temp 2-component vector of float) -0:378 matrix-times-vector (temp 2-component vector of float) -0:378 'inFM0' (in 2X2 matrix of float) -0:378 'inFV0' (in 2-component vector of float) -0:378 Sequence -0:378 move second child to first child (temp 2-component vector of float) -0:378 'r5' (temp 2-component vector of float) 0:378 vector-times-matrix (temp 2-component vector of float) 0:378 'inFV0' (in 2-component vector of float) 0:378 'inFM0' (in 2X2 matrix of float) 0:378 Sequence +0:378 move second child to first child (temp 2-component vector of float) +0:378 'r5' (temp 2-component vector of float) +0:378 matrix-times-vector (temp 2-component vector of float) +0:378 'inFM0' (in 2X2 matrix of float) +0:378 'inFV0' (in 2-component vector of float) +0:378 Sequence 0:378 move second child to first child (temp 2X2 matrix of float) 0:378 'r6' (temp 2X2 matrix of float) 0:378 matrix-scale (temp 2X2 matrix of float) -0:378 'inFM0' (in 2X2 matrix of float) 0:378 'inF0' (in float) +0:378 'inFM0' (in 2X2 matrix of float) 0:378 Sequence 0:378 move second child to first child (temp 2X2 matrix of float) 0:378 'r7' (temp 2X2 matrix of float) 0:378 matrix-scale (temp 2X2 matrix of float) -0:378 'inF0' (in float) 0:378 'inFM0' (in 2X2 matrix of float) +0:378 'inF0' (in float) 0:378 Sequence 0:378 move second child to first child (temp 2X2 matrix of float) 0:378 'r8' (temp 2X2 matrix of float) 0:378 matrix-multiply (temp 2X2 matrix of float) -0:378 'inFM0' (in 2X2 matrix of float) 0:378 'inFM1' (in 2X2 matrix of float) +0:378 'inFM0' (in 2X2 matrix of float) 0:384 Function Definition: TestGenMul3(f1;f1;vf3;vf3;mf33;mf33; (global void) 0:384 Function Parameters: 0:384 'inF0' (in float) @@ -1164,20 +1164,20 @@ Shader version: 450 0:385 move second child to first child (temp float) 0:385 'r0' (temp float) 0:385 component-wise multiply (temp float) -0:385 'inF0' (in float) 0:385 'inF1' (in float) +0:385 'inF0' (in float) 0:385 Sequence 0:385 move second child to first child (temp 3-component vector of float) 0:385 'r1' (temp 3-component vector of float) 0:385 vector-scale (temp 3-component vector of float) -0:385 'inFV0' (in 3-component vector of float) 0:385 'inF0' (in float) +0:385 'inFV0' (in 3-component vector of float) 0:385 Sequence 0:385 move second child to first child (temp 3-component vector of float) 0:385 'r2' (temp 3-component vector of float) 0:385 vector-scale (temp 3-component vector of float) -0:385 'inF0' (in float) 0:385 'inFV0' (in 3-component vector of float) +0:385 'inF0' (in float) 0:385 Sequence 0:385 move second child to first child (temp float) 0:385 'r3' (temp float) @@ -1187,33 +1187,33 @@ Shader version: 450 0:385 Sequence 0:385 move second child to first child (temp 3-component vector of float) 0:385 'r4' (temp 3-component vector of float) -0:385 matrix-times-vector (temp 3-component vector of float) -0:385 'inFM0' (in 3X3 matrix of float) -0:385 'inFV0' (in 3-component vector of float) -0:385 Sequence -0:385 move second child to first child (temp 3-component vector of float) -0:385 'r5' (temp 3-component vector of float) 0:385 vector-times-matrix (temp 3-component vector of float) 0:385 'inFV0' (in 3-component vector of float) 0:385 'inFM0' (in 3X3 matrix of float) 0:385 Sequence +0:385 move second child to first child (temp 3-component vector of float) +0:385 'r5' (temp 3-component vector of float) +0:385 matrix-times-vector (temp 3-component vector of float) +0:385 'inFM0' (in 3X3 matrix of float) +0:385 'inFV0' (in 3-component vector of float) +0:385 Sequence 0:385 move second child to first child (temp 3X3 matrix of float) 0:385 'r6' (temp 3X3 matrix of float) 0:385 matrix-scale (temp 3X3 matrix of float) -0:385 'inFM0' (in 3X3 matrix of float) 0:385 'inF0' (in float) +0:385 'inFM0' (in 3X3 matrix of float) 0:385 Sequence 0:385 move second child to first child (temp 3X3 matrix of float) 0:385 'r7' (temp 3X3 matrix of float) 0:385 matrix-scale (temp 3X3 matrix of float) -0:385 'inF0' (in float) 0:385 'inFM0' (in 3X3 matrix of float) +0:385 'inF0' (in float) 0:385 Sequence 0:385 move second child to first child (temp 3X3 matrix of float) 0:385 'r8' (temp 3X3 matrix of float) 0:385 matrix-multiply (temp 3X3 matrix of float) -0:385 'inFM0' (in 3X3 matrix of float) 0:385 'inFM1' (in 3X3 matrix of float) +0:385 'inFM0' (in 3X3 matrix of float) 0:391 Function Definition: TestGenMul4(f1;f1;vf4;vf4;mf44;mf44; (global void) 0:391 Function Parameters: 0:391 'inF0' (in float) @@ -1227,20 +1227,20 @@ Shader version: 450 0:392 move second child to first child (temp float) 0:392 'r0' (temp float) 0:392 component-wise multiply (temp float) -0:392 'inF0' (in float) 0:392 'inF1' (in float) +0:392 'inF0' (in float) 0:392 Sequence 0:392 move second child to first child (temp 4-component vector of float) 0:392 'r1' (temp 4-component vector of float) 0:392 vector-scale (temp 4-component vector of float) -0:392 'inFV0' (in 4-component vector of float) 0:392 'inF0' (in float) +0:392 'inFV0' (in 4-component vector of float) 0:392 Sequence 0:392 move second child to first child (temp 4-component vector of float) 0:392 'r2' (temp 4-component vector of float) 0:392 vector-scale (temp 4-component vector of float) -0:392 'inF0' (in float) 0:392 'inFV0' (in 4-component vector of float) +0:392 'inF0' (in float) 0:392 Sequence 0:392 move second child to first child (temp float) 0:392 'r3' (temp float) @@ -1250,75 +1250,75 @@ Shader version: 450 0:392 Sequence 0:392 move second child to first child (temp 4-component vector of float) 0:392 'r4' (temp 4-component vector of float) -0:392 matrix-times-vector (temp 4-component vector of float) -0:392 'inFM0' (in 4X4 matrix of float) -0:392 'inFV0' (in 4-component vector of float) -0:392 Sequence -0:392 move second child to first child (temp 4-component vector of float) -0:392 'r5' (temp 4-component vector of float) 0:392 vector-times-matrix (temp 4-component vector of float) 0:392 'inFV0' (in 4-component vector of float) 0:392 'inFM0' (in 4X4 matrix of float) 0:392 Sequence +0:392 move second child to first child (temp 4-component vector of float) +0:392 'r5' (temp 4-component vector of float) +0:392 matrix-times-vector (temp 4-component vector of float) +0:392 'inFM0' (in 4X4 matrix of float) +0:392 'inFV0' (in 4-component vector of float) +0:392 Sequence 0:392 move second child to first child (temp 4X4 matrix of float) 0:392 'r6' (temp 4X4 matrix of float) 0:392 matrix-scale (temp 4X4 matrix of float) -0:392 'inFM0' (in 4X4 matrix of float) 0:392 'inF0' (in float) +0:392 'inFM0' (in 4X4 matrix of float) 0:392 Sequence 0:392 move second child to first child (temp 4X4 matrix of float) 0:392 'r7' (temp 4X4 matrix of float) 0:392 matrix-scale (temp 4X4 matrix of float) -0:392 'inF0' (in float) 0:392 'inFM0' (in 4X4 matrix of float) +0:392 'inF0' (in float) 0:392 Sequence 0:392 move second child to first child (temp 4X4 matrix of float) 0:392 'r8' (temp 4X4 matrix of float) 0:392 matrix-multiply (temp 4X4 matrix of float) -0:392 'inFM0' (in 4X4 matrix of float) 0:392 'inFM1' (in 4X4 matrix of float) -0:401 Function Definition: TestGenMulNxM(f1;f1;vf2;vf3;mf32;mf23;mf33;mf43;mf42; (global void) +0:392 'inFM0' (in 4X4 matrix of float) +0:401 Function Definition: TestGenMulNxM(f1;f1;vf2;vf3;mf23;mf32;mf33;mf34;mf24; (global void) 0:401 Function Parameters: 0:401 'inF0' (in float) 0:401 'inF1' (in float) 0:401 'inFV2' (in 2-component vector of float) 0:401 'inFV3' (in 3-component vector of float) -0:401 'inFM2x3' (in 3X2 matrix of float) -0:401 'inFM3x2' (in 2X3 matrix of float) +0:401 'inFM2x3' (in 2X3 matrix of float) +0:401 'inFM3x2' (in 3X2 matrix of float) 0:401 'inFM3x3' (in 3X3 matrix of float) -0:401 'inFM3x4' (in 4X3 matrix of float) -0:401 'inFM2x4' (in 4X2 matrix of float) +0:401 'inFM3x4' (in 3X4 matrix of float) +0:401 'inFM2x4' (in 2X4 matrix of float) 0:? Sequence 0:402 Sequence 0:402 move second child to first child (temp float) 0:402 'r00' (temp float) 0:402 component-wise multiply (temp float) -0:402 'inF0' (in float) 0:402 'inF1' (in float) +0:402 'inF0' (in float) 0:403 Sequence 0:403 move second child to first child (temp 2-component vector of float) 0:403 'r01' (temp 2-component vector of float) 0:403 vector-scale (temp 2-component vector of float) -0:403 'inFV2' (in 2-component vector of float) 0:403 'inF0' (in float) +0:403 'inFV2' (in 2-component vector of float) 0:404 Sequence 0:404 move second child to first child (temp 3-component vector of float) 0:404 'r02' (temp 3-component vector of float) 0:404 vector-scale (temp 3-component vector of float) -0:404 'inFV3' (in 3-component vector of float) 0:404 'inF0' (in float) +0:404 'inFV3' (in 3-component vector of float) 0:405 Sequence 0:405 move second child to first child (temp 2-component vector of float) 0:405 'r03' (temp 2-component vector of float) 0:405 vector-scale (temp 2-component vector of float) -0:405 'inF0' (in float) 0:405 'inFV2' (in 2-component vector of float) +0:405 'inF0' (in float) 0:406 Sequence 0:406 move second child to first child (temp 3-component vector of float) 0:406 'r04' (temp 3-component vector of float) 0:406 vector-scale (temp 3-component vector of float) -0:406 'inF0' (in float) 0:406 'inFV3' (in 3-component vector of float) +0:406 'inF0' (in float) 0:407 Sequence 0:407 move second child to first child (temp float) 0:407 'r05' (temp float) @@ -1334,63 +1334,63 @@ Shader version: 450 0:409 Sequence 0:409 move second child to first child (temp 3-component vector of float) 0:409 'r07' (temp 3-component vector of float) -0:409 vector-times-matrix (temp 3-component vector of float) +0:409 matrix-times-vector (temp 3-component vector of float) +0:409 'inFM2x3' (in 2X3 matrix of float) 0:409 'inFV2' (in 2-component vector of float) -0:409 'inFM2x3' (in 3X2 matrix of float) 0:410 Sequence 0:410 move second child to first child (temp 2-component vector of float) 0:410 'r08' (temp 2-component vector of float) -0:410 vector-times-matrix (temp 2-component vector of float) +0:410 matrix-times-vector (temp 2-component vector of float) +0:410 'inFM3x2' (in 3X2 matrix of float) 0:410 'inFV3' (in 3-component vector of float) -0:410 'inFM3x2' (in 2X3 matrix of float) 0:411 Sequence 0:411 move second child to first child (temp 2-component vector of float) 0:411 'r09' (temp 2-component vector of float) -0:411 matrix-times-vector (temp 2-component vector of float) -0:411 'inFM2x3' (in 3X2 matrix of float) +0:411 vector-times-matrix (temp 2-component vector of float) 0:411 'inFV3' (in 3-component vector of float) +0:411 'inFM2x3' (in 2X3 matrix of float) 0:412 Sequence 0:412 move second child to first child (temp 3-component vector of float) 0:412 'r10' (temp 3-component vector of float) -0:412 matrix-times-vector (temp 3-component vector of float) -0:412 'inFM3x2' (in 2X3 matrix of float) +0:412 vector-times-matrix (temp 3-component vector of float) 0:412 'inFV2' (in 2-component vector of float) +0:412 'inFM3x2' (in 3X2 matrix of float) 0:413 Sequence -0:413 move second child to first child (temp 3X2 matrix of float) -0:413 'r11' (temp 3X2 matrix of float) -0:413 matrix-scale (temp 3X2 matrix of float) -0:413 'inFM2x3' (in 3X2 matrix of float) +0:413 move second child to first child (temp 2X3 matrix of float) +0:413 'r11' (temp 2X3 matrix of float) +0:413 matrix-scale (temp 2X3 matrix of float) 0:413 'inF0' (in float) +0:413 'inFM2x3' (in 2X3 matrix of float) 0:414 Sequence -0:414 move second child to first child (temp 2X3 matrix of float) -0:414 'r12' (temp 2X3 matrix of float) -0:414 matrix-scale (temp 2X3 matrix of float) -0:414 'inFM3x2' (in 2X3 matrix of float) +0:414 move second child to first child (temp 3X2 matrix of float) +0:414 'r12' (temp 3X2 matrix of float) +0:414 matrix-scale (temp 3X2 matrix of float) 0:414 'inF0' (in float) +0:414 'inFM3x2' (in 3X2 matrix of float) 0:415 Sequence 0:415 move second child to first child (temp 2X2 matrix of float) 0:415 'r13' (temp 2X2 matrix of float) 0:415 matrix-multiply (temp 2X2 matrix of float) -0:415 'inFM2x3' (in 3X2 matrix of float) -0:415 'inFM3x2' (in 2X3 matrix of float) +0:415 'inFM3x2' (in 3X2 matrix of float) +0:415 'inFM2x3' (in 2X3 matrix of float) 0:416 Sequence -0:416 move second child to first child (temp 3X2 matrix of float) -0:416 'r14' (temp 3X2 matrix of float) -0:416 matrix-multiply (temp 3X2 matrix of float) -0:416 'inFM2x3' (in 3X2 matrix of float) +0:416 move second child to first child (temp 2X3 matrix of float) +0:416 'r14' (temp 2X3 matrix of float) +0:416 matrix-multiply (temp 2X3 matrix of float) 0:416 'inFM3x3' (in 3X3 matrix of float) +0:416 'inFM2x3' (in 2X3 matrix of float) 0:417 Sequence -0:417 move second child to first child (temp 4X2 matrix of float) -0:417 'r15' (temp 4X2 matrix of float) -0:417 matrix-multiply (temp 4X2 matrix of float) -0:417 'inFM2x3' (in 3X2 matrix of float) -0:417 'inFM3x4' (in 4X3 matrix of float) +0:417 move second child to first child (temp 2X4 matrix of float) +0:417 'r15' (temp 2X4 matrix of float) +0:417 matrix-multiply (temp 2X4 matrix of float) +0:417 'inFM3x4' (in 3X4 matrix of float) +0:417 'inFM2x3' (in 2X3 matrix of float) 0:418 Sequence -0:418 move second child to first child (temp 4X3 matrix of float) -0:418 'r16' (temp 4X3 matrix of float) -0:418 matrix-multiply (temp 4X3 matrix of float) -0:418 'inFM3x2' (in 2X3 matrix of float) -0:418 'inFM2x4' (in 4X2 matrix of float) +0:418 move second child to first child (temp 3X4 matrix of float) +0:418 'r16' (temp 3X4 matrix of float) +0:418 matrix-multiply (temp 3X4 matrix of float) +0:418 'inFM2x4' (in 2X4 matrix of float) +0:418 'inFM3x2' (in 3X2 matrix of float) 0:? Linker Objects @@ -2499,20 +2499,20 @@ Shader version: 450 0:378 move second child to first child (temp float) 0:378 'r0' (temp float) 0:378 component-wise multiply (temp float) -0:378 'inF0' (in float) 0:378 'inF1' (in float) +0:378 'inF0' (in float) 0:378 Sequence 0:378 move second child to first child (temp 2-component vector of float) 0:378 'r1' (temp 2-component vector of float) 0:378 vector-scale (temp 2-component vector of float) -0:378 'inFV0' (in 2-component vector of float) 0:378 'inF0' (in float) +0:378 'inFV0' (in 2-component vector of float) 0:378 Sequence 0:378 move second child to first child (temp 2-component vector of float) 0:378 'r2' (temp 2-component vector of float) 0:378 vector-scale (temp 2-component vector of float) -0:378 'inF0' (in float) 0:378 'inFV0' (in 2-component vector of float) +0:378 'inF0' (in float) 0:378 Sequence 0:378 move second child to first child (temp float) 0:378 'r3' (temp float) @@ -2522,33 +2522,33 @@ Shader version: 450 0:378 Sequence 0:378 move second child to first child (temp 2-component vector of float) 0:378 'r4' (temp 2-component vector of float) -0:378 matrix-times-vector (temp 2-component vector of float) -0:378 'inFM0' (in 2X2 matrix of float) -0:378 'inFV0' (in 2-component vector of float) -0:378 Sequence -0:378 move second child to first child (temp 2-component vector of float) -0:378 'r5' (temp 2-component vector of float) 0:378 vector-times-matrix (temp 2-component vector of float) 0:378 'inFV0' (in 2-component vector of float) 0:378 'inFM0' (in 2X2 matrix of float) 0:378 Sequence +0:378 move second child to first child (temp 2-component vector of float) +0:378 'r5' (temp 2-component vector of float) +0:378 matrix-times-vector (temp 2-component vector of float) +0:378 'inFM0' (in 2X2 matrix of float) +0:378 'inFV0' (in 2-component vector of float) +0:378 Sequence 0:378 move second child to first child (temp 2X2 matrix of float) 0:378 'r6' (temp 2X2 matrix of float) 0:378 matrix-scale (temp 2X2 matrix of float) -0:378 'inFM0' (in 2X2 matrix of float) 0:378 'inF0' (in float) +0:378 'inFM0' (in 2X2 matrix of float) 0:378 Sequence 0:378 move second child to first child (temp 2X2 matrix of float) 0:378 'r7' (temp 2X2 matrix of float) 0:378 matrix-scale (temp 2X2 matrix of float) -0:378 'inF0' (in float) 0:378 'inFM0' (in 2X2 matrix of float) +0:378 'inF0' (in float) 0:378 Sequence 0:378 move second child to first child (temp 2X2 matrix of float) 0:378 'r8' (temp 2X2 matrix of float) 0:378 matrix-multiply (temp 2X2 matrix of float) -0:378 'inFM0' (in 2X2 matrix of float) 0:378 'inFM1' (in 2X2 matrix of float) +0:378 'inFM0' (in 2X2 matrix of float) 0:384 Function Definition: TestGenMul3(f1;f1;vf3;vf3;mf33;mf33; (global void) 0:384 Function Parameters: 0:384 'inF0' (in float) @@ -2562,20 +2562,20 @@ Shader version: 450 0:385 move second child to first child (temp float) 0:385 'r0' (temp float) 0:385 component-wise multiply (temp float) -0:385 'inF0' (in float) 0:385 'inF1' (in float) +0:385 'inF0' (in float) 0:385 Sequence 0:385 move second child to first child (temp 3-component vector of float) 0:385 'r1' (temp 3-component vector of float) 0:385 vector-scale (temp 3-component vector of float) -0:385 'inFV0' (in 3-component vector of float) 0:385 'inF0' (in float) +0:385 'inFV0' (in 3-component vector of float) 0:385 Sequence 0:385 move second child to first child (temp 3-component vector of float) 0:385 'r2' (temp 3-component vector of float) 0:385 vector-scale (temp 3-component vector of float) -0:385 'inF0' (in float) 0:385 'inFV0' (in 3-component vector of float) +0:385 'inF0' (in float) 0:385 Sequence 0:385 move second child to first child (temp float) 0:385 'r3' (temp float) @@ -2585,33 +2585,33 @@ Shader version: 450 0:385 Sequence 0:385 move second child to first child (temp 3-component vector of float) 0:385 'r4' (temp 3-component vector of float) -0:385 matrix-times-vector (temp 3-component vector of float) -0:385 'inFM0' (in 3X3 matrix of float) -0:385 'inFV0' (in 3-component vector of float) -0:385 Sequence -0:385 move second child to first child (temp 3-component vector of float) -0:385 'r5' (temp 3-component vector of float) 0:385 vector-times-matrix (temp 3-component vector of float) 0:385 'inFV0' (in 3-component vector of float) 0:385 'inFM0' (in 3X3 matrix of float) 0:385 Sequence +0:385 move second child to first child (temp 3-component vector of float) +0:385 'r5' (temp 3-component vector of float) +0:385 matrix-times-vector (temp 3-component vector of float) +0:385 'inFM0' (in 3X3 matrix of float) +0:385 'inFV0' (in 3-component vector of float) +0:385 Sequence 0:385 move second child to first child (temp 3X3 matrix of float) 0:385 'r6' (temp 3X3 matrix of float) 0:385 matrix-scale (temp 3X3 matrix of float) -0:385 'inFM0' (in 3X3 matrix of float) 0:385 'inF0' (in float) +0:385 'inFM0' (in 3X3 matrix of float) 0:385 Sequence 0:385 move second child to first child (temp 3X3 matrix of float) 0:385 'r7' (temp 3X3 matrix of float) 0:385 matrix-scale (temp 3X3 matrix of float) -0:385 'inF0' (in float) 0:385 'inFM0' (in 3X3 matrix of float) +0:385 'inF0' (in float) 0:385 Sequence 0:385 move second child to first child (temp 3X3 matrix of float) 0:385 'r8' (temp 3X3 matrix of float) 0:385 matrix-multiply (temp 3X3 matrix of float) -0:385 'inFM0' (in 3X3 matrix of float) 0:385 'inFM1' (in 3X3 matrix of float) +0:385 'inFM0' (in 3X3 matrix of float) 0:391 Function Definition: TestGenMul4(f1;f1;vf4;vf4;mf44;mf44; (global void) 0:391 Function Parameters: 0:391 'inF0' (in float) @@ -2625,20 +2625,20 @@ Shader version: 450 0:392 move second child to first child (temp float) 0:392 'r0' (temp float) 0:392 component-wise multiply (temp float) -0:392 'inF0' (in float) 0:392 'inF1' (in float) +0:392 'inF0' (in float) 0:392 Sequence 0:392 move second child to first child (temp 4-component vector of float) 0:392 'r1' (temp 4-component vector of float) 0:392 vector-scale (temp 4-component vector of float) -0:392 'inFV0' (in 4-component vector of float) 0:392 'inF0' (in float) +0:392 'inFV0' (in 4-component vector of float) 0:392 Sequence 0:392 move second child to first child (temp 4-component vector of float) 0:392 'r2' (temp 4-component vector of float) 0:392 vector-scale (temp 4-component vector of float) -0:392 'inF0' (in float) 0:392 'inFV0' (in 4-component vector of float) +0:392 'inF0' (in float) 0:392 Sequence 0:392 move second child to first child (temp float) 0:392 'r3' (temp float) @@ -2648,75 +2648,75 @@ Shader version: 450 0:392 Sequence 0:392 move second child to first child (temp 4-component vector of float) 0:392 'r4' (temp 4-component vector of float) -0:392 matrix-times-vector (temp 4-component vector of float) -0:392 'inFM0' (in 4X4 matrix of float) -0:392 'inFV0' (in 4-component vector of float) -0:392 Sequence -0:392 move second child to first child (temp 4-component vector of float) -0:392 'r5' (temp 4-component vector of float) 0:392 vector-times-matrix (temp 4-component vector of float) 0:392 'inFV0' (in 4-component vector of float) 0:392 'inFM0' (in 4X4 matrix of float) 0:392 Sequence +0:392 move second child to first child (temp 4-component vector of float) +0:392 'r5' (temp 4-component vector of float) +0:392 matrix-times-vector (temp 4-component vector of float) +0:392 'inFM0' (in 4X4 matrix of float) +0:392 'inFV0' (in 4-component vector of float) +0:392 Sequence 0:392 move second child to first child (temp 4X4 matrix of float) 0:392 'r6' (temp 4X4 matrix of float) 0:392 matrix-scale (temp 4X4 matrix of float) -0:392 'inFM0' (in 4X4 matrix of float) 0:392 'inF0' (in float) +0:392 'inFM0' (in 4X4 matrix of float) 0:392 Sequence 0:392 move second child to first child (temp 4X4 matrix of float) 0:392 'r7' (temp 4X4 matrix of float) 0:392 matrix-scale (temp 4X4 matrix of float) -0:392 'inF0' (in float) 0:392 'inFM0' (in 4X4 matrix of float) +0:392 'inF0' (in float) 0:392 Sequence 0:392 move second child to first child (temp 4X4 matrix of float) 0:392 'r8' (temp 4X4 matrix of float) 0:392 matrix-multiply (temp 4X4 matrix of float) -0:392 'inFM0' (in 4X4 matrix of float) 0:392 'inFM1' (in 4X4 matrix of float) -0:401 Function Definition: TestGenMulNxM(f1;f1;vf2;vf3;mf32;mf23;mf33;mf43;mf42; (global void) +0:392 'inFM0' (in 4X4 matrix of float) +0:401 Function Definition: TestGenMulNxM(f1;f1;vf2;vf3;mf23;mf32;mf33;mf34;mf24; (global void) 0:401 Function Parameters: 0:401 'inF0' (in float) 0:401 'inF1' (in float) 0:401 'inFV2' (in 2-component vector of float) 0:401 'inFV3' (in 3-component vector of float) -0:401 'inFM2x3' (in 3X2 matrix of float) -0:401 'inFM3x2' (in 2X3 matrix of float) +0:401 'inFM2x3' (in 2X3 matrix of float) +0:401 'inFM3x2' (in 3X2 matrix of float) 0:401 'inFM3x3' (in 3X3 matrix of float) -0:401 'inFM3x4' (in 4X3 matrix of float) -0:401 'inFM2x4' (in 4X2 matrix of float) +0:401 'inFM3x4' (in 3X4 matrix of float) +0:401 'inFM2x4' (in 2X4 matrix of float) 0:? Sequence 0:402 Sequence 0:402 move second child to first child (temp float) 0:402 'r00' (temp float) 0:402 component-wise multiply (temp float) -0:402 'inF0' (in float) 0:402 'inF1' (in float) +0:402 'inF0' (in float) 0:403 Sequence 0:403 move second child to first child (temp 2-component vector of float) 0:403 'r01' (temp 2-component vector of float) 0:403 vector-scale (temp 2-component vector of float) -0:403 'inFV2' (in 2-component vector of float) 0:403 'inF0' (in float) +0:403 'inFV2' (in 2-component vector of float) 0:404 Sequence 0:404 move second child to first child (temp 3-component vector of float) 0:404 'r02' (temp 3-component vector of float) 0:404 vector-scale (temp 3-component vector of float) -0:404 'inFV3' (in 3-component vector of float) 0:404 'inF0' (in float) +0:404 'inFV3' (in 3-component vector of float) 0:405 Sequence 0:405 move second child to first child (temp 2-component vector of float) 0:405 'r03' (temp 2-component vector of float) 0:405 vector-scale (temp 2-component vector of float) -0:405 'inF0' (in float) 0:405 'inFV2' (in 2-component vector of float) +0:405 'inF0' (in float) 0:406 Sequence 0:406 move second child to first child (temp 3-component vector of float) 0:406 'r04' (temp 3-component vector of float) 0:406 vector-scale (temp 3-component vector of float) -0:406 'inF0' (in float) 0:406 'inFV3' (in 3-component vector of float) +0:406 'inF0' (in float) 0:407 Sequence 0:407 move second child to first child (temp float) 0:407 'r05' (temp float) @@ -2732,63 +2732,63 @@ Shader version: 450 0:409 Sequence 0:409 move second child to first child (temp 3-component vector of float) 0:409 'r07' (temp 3-component vector of float) -0:409 vector-times-matrix (temp 3-component vector of float) +0:409 matrix-times-vector (temp 3-component vector of float) +0:409 'inFM2x3' (in 2X3 matrix of float) 0:409 'inFV2' (in 2-component vector of float) -0:409 'inFM2x3' (in 3X2 matrix of float) 0:410 Sequence 0:410 move second child to first child (temp 2-component vector of float) 0:410 'r08' (temp 2-component vector of float) -0:410 vector-times-matrix (temp 2-component vector of float) +0:410 matrix-times-vector (temp 2-component vector of float) +0:410 'inFM3x2' (in 3X2 matrix of float) 0:410 'inFV3' (in 3-component vector of float) -0:410 'inFM3x2' (in 2X3 matrix of float) 0:411 Sequence 0:411 move second child to first child (temp 2-component vector of float) 0:411 'r09' (temp 2-component vector of float) -0:411 matrix-times-vector (temp 2-component vector of float) -0:411 'inFM2x3' (in 3X2 matrix of float) +0:411 vector-times-matrix (temp 2-component vector of float) 0:411 'inFV3' (in 3-component vector of float) +0:411 'inFM2x3' (in 2X3 matrix of float) 0:412 Sequence 0:412 move second child to first child (temp 3-component vector of float) 0:412 'r10' (temp 3-component vector of float) -0:412 matrix-times-vector (temp 3-component vector of float) -0:412 'inFM3x2' (in 2X3 matrix of float) +0:412 vector-times-matrix (temp 3-component vector of float) 0:412 'inFV2' (in 2-component vector of float) +0:412 'inFM3x2' (in 3X2 matrix of float) 0:413 Sequence -0:413 move second child to first child (temp 3X2 matrix of float) -0:413 'r11' (temp 3X2 matrix of float) -0:413 matrix-scale (temp 3X2 matrix of float) -0:413 'inFM2x3' (in 3X2 matrix of float) +0:413 move second child to first child (temp 2X3 matrix of float) +0:413 'r11' (temp 2X3 matrix of float) +0:413 matrix-scale (temp 2X3 matrix of float) 0:413 'inF0' (in float) +0:413 'inFM2x3' (in 2X3 matrix of float) 0:414 Sequence -0:414 move second child to first child (temp 2X3 matrix of float) -0:414 'r12' (temp 2X3 matrix of float) -0:414 matrix-scale (temp 2X3 matrix of float) -0:414 'inFM3x2' (in 2X3 matrix of float) +0:414 move second child to first child (temp 3X2 matrix of float) +0:414 'r12' (temp 3X2 matrix of float) +0:414 matrix-scale (temp 3X2 matrix of float) 0:414 'inF0' (in float) +0:414 'inFM3x2' (in 3X2 matrix of float) 0:415 Sequence 0:415 move second child to first child (temp 2X2 matrix of float) 0:415 'r13' (temp 2X2 matrix of float) 0:415 matrix-multiply (temp 2X2 matrix of float) -0:415 'inFM2x3' (in 3X2 matrix of float) -0:415 'inFM3x2' (in 2X3 matrix of float) +0:415 'inFM3x2' (in 3X2 matrix of float) +0:415 'inFM2x3' (in 2X3 matrix of float) 0:416 Sequence -0:416 move second child to first child (temp 3X2 matrix of float) -0:416 'r14' (temp 3X2 matrix of float) -0:416 matrix-multiply (temp 3X2 matrix of float) -0:416 'inFM2x3' (in 3X2 matrix of float) +0:416 move second child to first child (temp 2X3 matrix of float) +0:416 'r14' (temp 2X3 matrix of float) +0:416 matrix-multiply (temp 2X3 matrix of float) 0:416 'inFM3x3' (in 3X3 matrix of float) +0:416 'inFM2x3' (in 2X3 matrix of float) 0:417 Sequence -0:417 move second child to first child (temp 4X2 matrix of float) -0:417 'r15' (temp 4X2 matrix of float) -0:417 matrix-multiply (temp 4X2 matrix of float) -0:417 'inFM2x3' (in 3X2 matrix of float) -0:417 'inFM3x4' (in 4X3 matrix of float) +0:417 move second child to first child (temp 2X4 matrix of float) +0:417 'r15' (temp 2X4 matrix of float) +0:417 matrix-multiply (temp 2X4 matrix of float) +0:417 'inFM3x4' (in 3X4 matrix of float) +0:417 'inFM2x3' (in 2X3 matrix of float) 0:418 Sequence -0:418 move second child to first child (temp 4X3 matrix of float) -0:418 'r16' (temp 4X3 matrix of float) -0:418 matrix-multiply (temp 4X3 matrix of float) -0:418 'inFM3x2' (in 2X3 matrix of float) -0:418 'inFM2x4' (in 4X2 matrix of float) +0:418 move second child to first child (temp 3X4 matrix of float) +0:418 'r16' (temp 3X4 matrix of float) +0:418 matrix-multiply (temp 3X4 matrix of float) +0:418 'inFM2x4' (in 2X4 matrix of float) +0:418 'inFM3x2' (in 3X2 matrix of float) 0:? Linker Objects // Module Version 10000 @@ -2861,7 +2861,7 @@ Shader version: 450 Name 106 "inFV1" Name 107 "inFM0" Name 108 "inFM1" - Name 129 "TestGenMulNxM(f1;f1;vf2;vf3;mf32;mf23;mf33;mf43;mf42;" + Name 129 "TestGenMulNxM(f1;f1;vf2;vf3;mf23;mf32;mf33;mf34;mf24;" Name 120 "inF0" Name 121 "inF1" Name 122 "inFV2" @@ -2957,13 +2957,13 @@ Shader version: 450 84: TypeFunction 2 7(ptr) 7(ptr) 25(ptr) 25(ptr) 61(ptr) 61(ptr) 93: TypeFunction 2 7(ptr) 7(ptr) 37(ptr) 37(ptr) 69(ptr) 69(ptr) 102: TypeFunction 2 7(ptr) 7(ptr) 49(ptr) 49(ptr) 77(ptr) 77(ptr) - 111: TypeMatrix 24(fvec2) 3 + 111: TypeMatrix 36(fvec3) 2 112: TypePointer Function 111 - 113: TypeMatrix 36(fvec3) 2 + 113: TypeMatrix 24(fvec2) 3 114: TypePointer Function 113 - 115: TypeMatrix 36(fvec3) 4 + 115: TypeMatrix 48(fvec4) 3 116: TypePointer Function 115 - 117: TypeMatrix 24(fvec2) 4 + 117: TypeMatrix 48(fvec4) 2 118: TypePointer Function 117 119: TypeFunction 2 7(ptr) 7(ptr) 25(ptr) 37(ptr) 112(ptr) 114(ptr) 69(ptr) 116(ptr) 118(ptr) 132: TypeBool @@ -3986,40 +3986,40 @@ Shader version: 450 1086(r6): 61(ptr) Variable Function 1090(r7): 61(ptr) Variable Function 1094(r8): 61(ptr) Variable Function - 1063: 6(float) Load 85(inF0) - 1064: 6(float) Load 86(inF1) + 1063: 6(float) Load 86(inF1) + 1064: 6(float) Load 85(inF0) 1065: 6(float) FMul 1063 1064 Store 1062(r0) 1065 - 1067: 24(fvec2) Load 87(inFV0) - 1068: 6(float) Load 85(inF0) - 1069: 24(fvec2) VectorTimesScalar 1067 1068 + 1067: 6(float) Load 85(inF0) + 1068: 24(fvec2) Load 87(inFV0) + 1069: 24(fvec2) VectorTimesScalar 1068 1067 Store 1066(r1) 1069 - 1071: 6(float) Load 85(inF0) - 1072: 24(fvec2) Load 87(inFV0) - 1073: 24(fvec2) VectorTimesScalar 1072 1071 + 1071: 24(fvec2) Load 87(inFV0) + 1072: 6(float) Load 85(inF0) + 1073: 24(fvec2) VectorTimesScalar 1071 1072 Store 1070(r2) 1073 1075: 24(fvec2) Load 87(inFV0) 1076: 24(fvec2) Load 88(inFV1) 1077: 6(float) Dot 1075 1076 Store 1074(r3) 1077 - 1079: 60 Load 89(inFM0) - 1080: 24(fvec2) Load 87(inFV0) - 1081: 24(fvec2) MatrixTimesVector 1079 1080 + 1079: 24(fvec2) Load 87(inFV0) + 1080: 60 Load 89(inFM0) + 1081: 24(fvec2) VectorTimesMatrix 1079 1080 Store 1078(r4) 1081 - 1083: 24(fvec2) Load 87(inFV0) - 1084: 60 Load 89(inFM0) - 1085: 24(fvec2) VectorTimesMatrix 1083 1084 + 1083: 60 Load 89(inFM0) + 1084: 24(fvec2) Load 87(inFV0) + 1085: 24(fvec2) MatrixTimesVector 1083 1084 Store 1082(r5) 1085 - 1087: 60 Load 89(inFM0) - 1088: 6(float) Load 85(inF0) - 1089: 60 MatrixTimesScalar 1087 1088 + 1087: 6(float) Load 85(inF0) + 1088: 60 Load 89(inFM0) + 1089: 60 MatrixTimesScalar 1088 1087 Store 1086(r6) 1089 - 1091: 6(float) Load 85(inF0) - 1092: 60 Load 89(inFM0) - 1093: 60 MatrixTimesScalar 1092 1091 + 1091: 60 Load 89(inFM0) + 1092: 6(float) Load 85(inF0) + 1093: 60 MatrixTimesScalar 1091 1092 Store 1090(r7) 1093 - 1095: 60 Load 89(inFM0) - 1096: 60 Load 90(inFM1) + 1095: 60 Load 90(inFM1) + 1096: 60 Load 89(inFM0) 1097: 60 MatrixTimesMatrix 1095 1096 Store 1094(r8) 1097 Return @@ -4041,40 +4041,40 @@ Shader version: 450 1122(r6): 69(ptr) Variable Function 1126(r7): 69(ptr) Variable Function 1130(r8): 69(ptr) Variable Function - 1099: 6(float) Load 94(inF0) - 1100: 6(float) Load 95(inF1) + 1099: 6(float) Load 95(inF1) + 1100: 6(float) Load 94(inF0) 1101: 6(float) FMul 1099 1100 Store 1098(r0) 1101 - 1103: 36(fvec3) Load 96(inFV0) - 1104: 6(float) Load 94(inF0) - 1105: 36(fvec3) VectorTimesScalar 1103 1104 + 1103: 6(float) Load 94(inF0) + 1104: 36(fvec3) Load 96(inFV0) + 1105: 36(fvec3) VectorTimesScalar 1104 1103 Store 1102(r1) 1105 - 1107: 6(float) Load 94(inF0) - 1108: 36(fvec3) Load 96(inFV0) - 1109: 36(fvec3) VectorTimesScalar 1108 1107 + 1107: 36(fvec3) Load 96(inFV0) + 1108: 6(float) Load 94(inF0) + 1109: 36(fvec3) VectorTimesScalar 1107 1108 Store 1106(r2) 1109 1111: 36(fvec3) Load 96(inFV0) 1112: 36(fvec3) Load 97(inFV1) 1113: 6(float) Dot 1111 1112 Store 1110(r3) 1113 - 1115: 68 Load 98(inFM0) - 1116: 36(fvec3) Load 96(inFV0) - 1117: 36(fvec3) MatrixTimesVector 1115 1116 + 1115: 36(fvec3) Load 96(inFV0) + 1116: 68 Load 98(inFM0) + 1117: 36(fvec3) VectorTimesMatrix 1115 1116 Store 1114(r4) 1117 - 1119: 36(fvec3) Load 96(inFV0) - 1120: 68 Load 98(inFM0) - 1121: 36(fvec3) VectorTimesMatrix 1119 1120 + 1119: 68 Load 98(inFM0) + 1120: 36(fvec3) Load 96(inFV0) + 1121: 36(fvec3) MatrixTimesVector 1119 1120 Store 1118(r5) 1121 - 1123: 68 Load 98(inFM0) - 1124: 6(float) Load 94(inF0) - 1125: 68 MatrixTimesScalar 1123 1124 + 1123: 6(float) Load 94(inF0) + 1124: 68 Load 98(inFM0) + 1125: 68 MatrixTimesScalar 1124 1123 Store 1122(r6) 1125 - 1127: 6(float) Load 94(inF0) - 1128: 68 Load 98(inFM0) - 1129: 68 MatrixTimesScalar 1128 1127 + 1127: 68 Load 98(inFM0) + 1128: 6(float) Load 94(inF0) + 1129: 68 MatrixTimesScalar 1127 1128 Store 1126(r7) 1129 - 1131: 68 Load 98(inFM0) - 1132: 68 Load 99(inFM1) + 1131: 68 Load 99(inFM1) + 1132: 68 Load 98(inFM0) 1133: 68 MatrixTimesMatrix 1131 1132 Store 1130(r8) 1133 Return @@ -4096,45 +4096,45 @@ Shader version: 450 1158(r6): 77(ptr) Variable Function 1162(r7): 77(ptr) Variable Function 1166(r8): 77(ptr) Variable Function - 1135: 6(float) Load 103(inF0) - 1136: 6(float) Load 104(inF1) + 1135: 6(float) Load 104(inF1) + 1136: 6(float) Load 103(inF0) 1137: 6(float) FMul 1135 1136 Store 1134(r0) 1137 - 1139: 48(fvec4) Load 105(inFV0) - 1140: 6(float) Load 103(inF0) - 1141: 48(fvec4) VectorTimesScalar 1139 1140 + 1139: 6(float) Load 103(inF0) + 1140: 48(fvec4) Load 105(inFV0) + 1141: 48(fvec4) VectorTimesScalar 1140 1139 Store 1138(r1) 1141 - 1143: 6(float) Load 103(inF0) - 1144: 48(fvec4) Load 105(inFV0) - 1145: 48(fvec4) VectorTimesScalar 1144 1143 + 1143: 48(fvec4) Load 105(inFV0) + 1144: 6(float) Load 103(inF0) + 1145: 48(fvec4) VectorTimesScalar 1143 1144 Store 1142(r2) 1145 1147: 48(fvec4) Load 105(inFV0) 1148: 48(fvec4) Load 106(inFV1) 1149: 6(float) Dot 1147 1148 Store 1146(r3) 1149 - 1151: 76 Load 107(inFM0) - 1152: 48(fvec4) Load 105(inFV0) - 1153: 48(fvec4) MatrixTimesVector 1151 1152 + 1151: 48(fvec4) Load 105(inFV0) + 1152: 76 Load 107(inFM0) + 1153: 48(fvec4) VectorTimesMatrix 1151 1152 Store 1150(r4) 1153 - 1155: 48(fvec4) Load 105(inFV0) - 1156: 76 Load 107(inFM0) - 1157: 48(fvec4) VectorTimesMatrix 1155 1156 + 1155: 76 Load 107(inFM0) + 1156: 48(fvec4) Load 105(inFV0) + 1157: 48(fvec4) MatrixTimesVector 1155 1156 Store 1154(r5) 1157 - 1159: 76 Load 107(inFM0) - 1160: 6(float) Load 103(inF0) - 1161: 76 MatrixTimesScalar 1159 1160 + 1159: 6(float) Load 103(inF0) + 1160: 76 Load 107(inFM0) + 1161: 76 MatrixTimesScalar 1160 1159 Store 1158(r6) 1161 - 1163: 6(float) Load 103(inF0) - 1164: 76 Load 107(inFM0) - 1165: 76 MatrixTimesScalar 1164 1163 + 1163: 76 Load 107(inFM0) + 1164: 6(float) Load 103(inF0) + 1165: 76 MatrixTimesScalar 1163 1164 Store 1162(r7) 1165 - 1167: 76 Load 107(inFM0) - 1168: 76 Load 108(inFM1) + 1167: 76 Load 108(inFM1) + 1168: 76 Load 107(inFM0) 1169: 76 MatrixTimesMatrix 1167 1168 Store 1166(r8) 1169 Return FunctionEnd -129(TestGenMulNxM(f1;f1;vf2;vf3;mf32;mf23;mf33;mf43;mf42;): 2 Function None 119 +129(TestGenMulNxM(f1;f1;vf2;vf3;mf23;mf32;mf33;mf34;mf24;): 2 Function None 119 120(inF0): 7(ptr) FunctionParameter 121(inF1): 7(ptr) FunctionParameter 122(inFV2): 25(ptr) FunctionParameter @@ -4162,25 +4162,25 @@ Shader version: 450 1226(r14): 112(ptr) Variable Function 1230(r15): 118(ptr) Variable Function 1234(r16): 116(ptr) Variable Function - 1171: 6(float) Load 120(inF0) - 1172: 6(float) Load 121(inF1) + 1171: 6(float) Load 121(inF1) + 1172: 6(float) Load 120(inF0) 1173: 6(float) FMul 1171 1172 Store 1170(r00) 1173 - 1175: 24(fvec2) Load 122(inFV2) - 1176: 6(float) Load 120(inF0) - 1177: 24(fvec2) VectorTimesScalar 1175 1176 + 1175: 6(float) Load 120(inF0) + 1176: 24(fvec2) Load 122(inFV2) + 1177: 24(fvec2) VectorTimesScalar 1176 1175 Store 1174(r01) 1177 - 1179: 36(fvec3) Load 123(inFV3) - 1180: 6(float) Load 120(inF0) - 1181: 36(fvec3) VectorTimesScalar 1179 1180 + 1179: 6(float) Load 120(inF0) + 1180: 36(fvec3) Load 123(inFV3) + 1181: 36(fvec3) VectorTimesScalar 1180 1179 Store 1178(r02) 1181 - 1183: 6(float) Load 120(inF0) - 1184: 24(fvec2) Load 122(inFV2) - 1185: 24(fvec2) VectorTimesScalar 1184 1183 + 1183: 24(fvec2) Load 122(inFV2) + 1184: 6(float) Load 120(inF0) + 1185: 24(fvec2) VectorTimesScalar 1183 1184 Store 1182(r03) 1185 - 1187: 6(float) Load 120(inF0) - 1188: 36(fvec3) Load 123(inFV3) - 1189: 36(fvec3) VectorTimesScalar 1188 1187 + 1187: 36(fvec3) Load 123(inFV3) + 1188: 6(float) Load 120(inF0) + 1189: 36(fvec3) VectorTimesScalar 1187 1188 Store 1186(r04) 1189 1191: 24(fvec2) Load 122(inFV2) 1192: 24(fvec2) Load 122(inFV2) @@ -4190,44 +4190,44 @@ Shader version: 450 1196: 36(fvec3) Load 123(inFV3) 1197: 6(float) Dot 1195 1196 Store 1194(r06) 1197 - 1199: 24(fvec2) Load 122(inFV2) - 1200: 111 Load 124(inFM2x3) - 1201: 36(fvec3) VectorTimesMatrix 1199 1200 + 1199: 111 Load 124(inFM2x3) + 1200: 24(fvec2) Load 122(inFV2) + 1201: 36(fvec3) MatrixTimesVector 1199 1200 Store 1198(r07) 1201 - 1203: 36(fvec3) Load 123(inFV3) - 1204: 113 Load 125(inFM3x2) - 1205: 24(fvec2) VectorTimesMatrix 1203 1204 + 1203: 113 Load 125(inFM3x2) + 1204: 36(fvec3) Load 123(inFV3) + 1205: 24(fvec2) MatrixTimesVector 1203 1204 Store 1202(r08) 1205 - 1207: 111 Load 124(inFM2x3) - 1208: 36(fvec3) Load 123(inFV3) - 1209: 24(fvec2) MatrixTimesVector 1207 1208 + 1207: 36(fvec3) Load 123(inFV3) + 1208: 111 Load 124(inFM2x3) + 1209: 24(fvec2) VectorTimesMatrix 1207 1208 Store 1206(r09) 1209 - 1211: 113 Load 125(inFM3x2) - 1212: 24(fvec2) Load 122(inFV2) - 1213: 36(fvec3) MatrixTimesVector 1211 1212 + 1211: 24(fvec2) Load 122(inFV2) + 1212: 113 Load 125(inFM3x2) + 1213: 36(fvec3) VectorTimesMatrix 1211 1212 Store 1210(r10) 1213 - 1215: 111 Load 124(inFM2x3) - 1216: 6(float) Load 120(inF0) - 1217: 111 MatrixTimesScalar 1215 1216 + 1215: 6(float) Load 120(inF0) + 1216: 111 Load 124(inFM2x3) + 1217: 111 MatrixTimesScalar 1216 1215 Store 1214(r11) 1217 - 1219: 113 Load 125(inFM3x2) - 1220: 6(float) Load 120(inF0) - 1221: 113 MatrixTimesScalar 1219 1220 + 1219: 6(float) Load 120(inF0) + 1220: 113 Load 125(inFM3x2) + 1221: 113 MatrixTimesScalar 1220 1219 Store 1218(r12) 1221 - 1223: 111 Load 124(inFM2x3) - 1224: 113 Load 125(inFM3x2) + 1223: 113 Load 125(inFM3x2) + 1224: 111 Load 124(inFM2x3) 1225: 60 MatrixTimesMatrix 1223 1224 Store 1222(r13) 1225 - 1227: 111 Load 124(inFM2x3) - 1228: 68 Load 126(inFM3x3) + 1227: 68 Load 126(inFM3x3) + 1228: 111 Load 124(inFM2x3) 1229: 111 MatrixTimesMatrix 1227 1228 Store 1226(r14) 1229 - 1231: 111 Load 124(inFM2x3) - 1232: 115 Load 127(inFM3x4) + 1231: 115 Load 127(inFM3x4) + 1232: 111 Load 124(inFM2x3) 1233: 117 MatrixTimesMatrix 1231 1232 Store 1230(r15) 1233 - 1235: 113 Load 125(inFM3x2) - 1236: 117 Load 128(inFM2x4) + 1235: 117 Load 128(inFM2x4) + 1236: 113 Load 125(inFM3x2) 1237: 115 MatrixTimesMatrix 1235 1236 Store 1234(r16) 1237 Return diff --git a/Test/baseResults/hlsl.matType.frag.out b/Test/baseResults/hlsl.matType.frag.out index 20fdcc98..2d63460b 100755 --- a/Test/baseResults/hlsl.matType.frag.out +++ b/Test/baseResults/hlsl.matType.frag.out @@ -17,9 +17,9 @@ gl_FragCoord origin is upper left 0:? Linker Objects 0:? 'f1' (global 1-component vector of float) 0:? 'fmat11' (global 1X1 matrix of float) -0:? 'fmat41' (global 1X4 matrix of float) -0:? 'fmat12' (global 2X1 matrix of float) -0:? 'dmat23' (global 3X2 matrix of double) +0:? 'fmat41' (global 4X1 matrix of float) +0:? 'fmat12' (global 1X2 matrix of float) +0:? 'dmat23' (global 2X3 matrix of double) 0:? 'int44' (global 4X4 matrix of int) @@ -44,9 +44,9 @@ gl_FragCoord origin is upper left 0:? Linker Objects 0:? 'f1' (global 1-component vector of float) 0:? 'fmat11' (global 1X1 matrix of float) -0:? 'fmat41' (global 1X4 matrix of float) -0:? 'fmat12' (global 2X1 matrix of float) -0:? 'dmat23' (global 3X2 matrix of double) +0:? 'fmat41' (global 4X1 matrix of float) +0:? 'fmat12' (global 1X2 matrix of float) +0:? 'dmat23' (global 2X3 matrix of double) 0:? 'int44' (global 4X4 matrix of int) // Module Version 10000 @@ -65,7 +65,7 @@ gl_FragCoord origin is upper left Name 10 "inScalar" Name 14 "f1" Name 22 "fmat11" - Name 26 "fmat41" + Name 25 "fmat41" Name 29 "fmat12" Name 34 "dmat23" Name 39 "int44" @@ -81,16 +81,16 @@ gl_FragCoord origin is upper left 20: TypeMatrix 19(fvec) 1 21: TypePointer Private 20 22(fmat11): 21(ptr) Variable Private - 23: TypeVector 6(float) 4 - 24: TypeMatrix 23(fvec4) 1 - 25: TypePointer Private 24 - 26(fmat41): 25(ptr) Variable Private - 27: TypeMatrix 19(fvec) 2 + 23: TypeMatrix 19(fvec) 4 + 24: TypePointer Private 23 + 25(fmat41): 24(ptr) Variable Private + 26: TypeVector 6(float) 2 + 27: TypeMatrix 26(fvec2) 1 28: TypePointer Private 27 29(fmat12): 28(ptr) Variable Private 30: TypeFloat 64 - 31: TypeVector 30(float) 2 - 32: TypeMatrix 31(fvec2) 3 + 31: TypeVector 30(float) 3 + 32: TypeMatrix 31(fvec3) 2 33: TypePointer Private 32 34(dmat23): 33(ptr) Variable Private 35: TypeInt 32 1 diff --git a/Test/baseResults/hlsl.matrixindex.frag.out b/Test/baseResults/hlsl.matrixindex.frag.out new file mode 100644 index 00000000..8524fe6e --- /dev/null +++ b/Test/baseResults/hlsl.matrixindex.frag.out @@ -0,0 +1,369 @@ +hlsl.matrixindex.frag +Shader version: 450 +gl_FragCoord origin is upper left +0:? Sequence +0:10 Function Definition: main( (global structure{temp 4-component vector of float Color}) +0:10 Function Parameters: +0:? Sequence +0:22 Sequence +0:22 move second child to first child (temp float) +0:22 'e1_00' (temp float) +0:22 Constant: +0:22 10.000000 +0:23 Sequence +0:23 move second child to first child (temp float) +0:23 'e1_01' (temp float) +0:23 Constant: +0:23 11.000000 +0:24 Sequence +0:24 move second child to first child (temp float) +0:24 'e1_10' (temp float) +0:24 Constant: +0:24 12.000000 +0:25 Sequence +0:25 move second child to first child (temp float) +0:25 'e1_11' (temp float) +0:25 Constant: +0:25 13.000000 +0:26 Sequence +0:26 move second child to first child (temp float) +0:26 'e1_20' (temp float) +0:26 Constant: +0:26 14.000000 +0:27 Sequence +0:27 move second child to first child (temp float) +0:27 'e1_21' (temp float) +0:27 Constant: +0:27 15.000000 +0:29 Sequence +0:29 move second child to first child (temp float) +0:29 'e2_00' (temp float) +0:29 Constant: +0:29 20.000000 +0:30 Sequence +0:30 move second child to first child (temp float) +0:30 'e2_01' (temp float) +0:30 Constant: +0:30 21.000000 +0:31 Sequence +0:31 move second child to first child (temp float) +0:31 'e2_10' (temp float) +0:31 Constant: +0:31 22.000000 +0:32 Sequence +0:32 move second child to first child (temp float) +0:32 'e2_11' (temp float) +0:32 Constant: +0:32 23.000000 +0:33 Sequence +0:33 move second child to first child (temp float) +0:33 'e2_20' (temp float) +0:33 Constant: +0:33 24.000000 +0:34 Sequence +0:34 move second child to first child (temp float) +0:34 'e2_21' (temp float) +0:34 Constant: +0:34 25.000000 +0:39 Sequence +0:39 move second child to first child (temp 2-component vector of float) +0:39 'r0a' (temp 2-component vector of float) +0:39 Constant: +0:39 10.000000 +0:39 11.000000 +0:40 Sequence +0:40 move second child to first child (temp 2-component vector of float) +0:40 'r1a' (temp 2-component vector of float) +0:40 Constant: +0:40 12.000000 +0:40 13.000000 +0:41 Sequence +0:41 move second child to first child (temp 2-component vector of float) +0:41 'r2a' (temp 2-component vector of float) +0:41 Constant: +0:41 14.000000 +0:41 15.000000 +0:43 Sequence +0:43 move second child to first child (temp 2-component vector of float) +0:43 'r0b' (temp 2-component vector of float) +0:43 indirect index (temp 2-component vector of float) +0:43 Constant: +0:43 20.000000 +0:43 21.000000 +0:43 22.000000 +0:43 23.000000 +0:43 24.000000 +0:43 25.000000 +0:43 'idx' (uniform int) +0:44 Sequence +0:44 move second child to first child (temp 2-component vector of float) +0:44 'r0c' (temp 2-component vector of float) +0:44 indirect index (temp 2-component vector of float) +0:44 'um' (uniform 3X2 matrix of float) +0:44 'idx' (uniform int) +0:47 move second child to first child (temp 4-component vector of float) +0:47 Color: direct index for structure (temp 4-component vector of float) +0:47 'psout' (temp structure{temp 4-component vector of float Color}) +0:47 Constant: +0:47 0 (const int) +0:47 Construct vec4 (temp 4-component vector of float) +0:47 'e2_11' (temp float) +0:48 Sequence +0:48 move second child to first child (temp structure{temp 4-component vector of float Color}) +0:? '@entryPointOutput' (layout(location=0 ) out structure{temp 4-component vector of float Color}) +0:48 'psout' (temp structure{temp 4-component vector of float Color}) +0:48 Branch: Return +0:? Linker Objects +0:? 'idx' (uniform int) +0:? 'um' (uniform 3X2 matrix of float) + + +Linked fragment stage: + + +Shader version: 450 +gl_FragCoord origin is upper left +0:? Sequence +0:10 Function Definition: main( (global structure{temp 4-component vector of float Color}) +0:10 Function Parameters: +0:? Sequence +0:22 Sequence +0:22 move second child to first child (temp float) +0:22 'e1_00' (temp float) +0:22 Constant: +0:22 10.000000 +0:23 Sequence +0:23 move second child to first child (temp float) +0:23 'e1_01' (temp float) +0:23 Constant: +0:23 11.000000 +0:24 Sequence +0:24 move second child to first child (temp float) +0:24 'e1_10' (temp float) +0:24 Constant: +0:24 12.000000 +0:25 Sequence +0:25 move second child to first child (temp float) +0:25 'e1_11' (temp float) +0:25 Constant: +0:25 13.000000 +0:26 Sequence +0:26 move second child to first child (temp float) +0:26 'e1_20' (temp float) +0:26 Constant: +0:26 14.000000 +0:27 Sequence +0:27 move second child to first child (temp float) +0:27 'e1_21' (temp float) +0:27 Constant: +0:27 15.000000 +0:29 Sequence +0:29 move second child to first child (temp float) +0:29 'e2_00' (temp float) +0:29 Constant: +0:29 20.000000 +0:30 Sequence +0:30 move second child to first child (temp float) +0:30 'e2_01' (temp float) +0:30 Constant: +0:30 21.000000 +0:31 Sequence +0:31 move second child to first child (temp float) +0:31 'e2_10' (temp float) +0:31 Constant: +0:31 22.000000 +0:32 Sequence +0:32 move second child to first child (temp float) +0:32 'e2_11' (temp float) +0:32 Constant: +0:32 23.000000 +0:33 Sequence +0:33 move second child to first child (temp float) +0:33 'e2_20' (temp float) +0:33 Constant: +0:33 24.000000 +0:34 Sequence +0:34 move second child to first child (temp float) +0:34 'e2_21' (temp float) +0:34 Constant: +0:34 25.000000 +0:39 Sequence +0:39 move second child to first child (temp 2-component vector of float) +0:39 'r0a' (temp 2-component vector of float) +0:39 Constant: +0:39 10.000000 +0:39 11.000000 +0:40 Sequence +0:40 move second child to first child (temp 2-component vector of float) +0:40 'r1a' (temp 2-component vector of float) +0:40 Constant: +0:40 12.000000 +0:40 13.000000 +0:41 Sequence +0:41 move second child to first child (temp 2-component vector of float) +0:41 'r2a' (temp 2-component vector of float) +0:41 Constant: +0:41 14.000000 +0:41 15.000000 +0:43 Sequence +0:43 move second child to first child (temp 2-component vector of float) +0:43 'r0b' (temp 2-component vector of float) +0:43 indirect index (temp 2-component vector of float) +0:43 Constant: +0:43 20.000000 +0:43 21.000000 +0:43 22.000000 +0:43 23.000000 +0:43 24.000000 +0:43 25.000000 +0:43 'idx' (uniform int) +0:44 Sequence +0:44 move second child to first child (temp 2-component vector of float) +0:44 'r0c' (temp 2-component vector of float) +0:44 indirect index (temp 2-component vector of float) +0:44 'um' (uniform 3X2 matrix of float) +0:44 'idx' (uniform int) +0:47 move second child to first child (temp 4-component vector of float) +0:47 Color: direct index for structure (temp 4-component vector of float) +0:47 'psout' (temp structure{temp 4-component vector of float Color}) +0:47 Constant: +0:47 0 (const int) +0:47 Construct vec4 (temp 4-component vector of float) +0:47 'e2_11' (temp float) +0:48 Sequence +0:48 move second child to first child (temp structure{temp 4-component vector of float Color}) +0:? '@entryPointOutput' (layout(location=0 ) out structure{temp 4-component vector of float Color}) +0:48 'psout' (temp structure{temp 4-component vector of float Color}) +0:48 Branch: Return +0:? Linker Objects +0:? 'idx' (uniform int) +0:? 'um' (uniform 3X2 matrix of float) + +// Module Version 10000 +// Generated by (magic number): 80001 +// Id's are bound by 74 + + Capability Shader + 1: ExtInstImport "GLSL.std.450" + MemoryModel Logical GLSL450 + EntryPoint Fragment 4 "main" 71 + ExecutionMode 4 OriginUpperLeft + Name 4 "main" + Name 8 "e1_00" + Name 10 "e1_01" + Name 12 "e1_10" + Name 14 "e1_11" + Name 16 "e1_20" + Name 18 "e1_21" + Name 20 "e2_00" + Name 22 "e2_01" + Name 24 "e2_10" + Name 26 "e2_11" + Name 28 "e2_20" + Name 30 "e2_21" + Name 34 "r0a" + Name 36 "r1a" + Name 38 "r2a" + Name 40 "r0b" + Name 48 "idx" + Name 51 "indexable" + Name 54 "r0c" + Name 56 "um" + Name 62 "PS_OUTPUT" + MemberName 62(PS_OUTPUT) 0 "Color" + Name 64 "psout" + Name 71 "@entryPointOutput" + Decorate 71(@entryPointOutput) Location 0 + 2: TypeVoid + 3: TypeFunction 2 + 6: TypeFloat 32 + 7: TypePointer Function 6(float) + 9: 6(float) Constant 1092616192 + 11: 6(float) Constant 1093664768 + 13: 6(float) Constant 1094713344 + 15: 6(float) Constant 1095761920 + 17: 6(float) Constant 1096810496 + 19: 6(float) Constant 1097859072 + 21: 6(float) Constant 1101004800 + 23: 6(float) Constant 1101529088 + 25: 6(float) Constant 1102053376 + 27: 6(float) Constant 1102577664 + 29: 6(float) Constant 1103101952 + 31: 6(float) Constant 1103626240 + 32: TypeVector 6(float) 2 + 33: TypePointer Function 32(fvec2) + 35: 32(fvec2) ConstantComposite 9 11 + 37: 32(fvec2) ConstantComposite 13 15 + 39: 32(fvec2) ConstantComposite 17 19 + 41: TypeMatrix 32(fvec2) 3 + 42: 32(fvec2) ConstantComposite 21 23 + 43: 32(fvec2) ConstantComposite 25 27 + 44: 32(fvec2) ConstantComposite 29 31 + 45: 41 ConstantComposite 42 43 44 + 46: TypeInt 32 1 + 47: TypePointer UniformConstant 46(int) + 48(idx): 47(ptr) Variable UniformConstant + 50: TypePointer Function 41 + 55: TypePointer UniformConstant 41 + 56(um): 55(ptr) Variable UniformConstant + 58: TypePointer UniformConstant 32(fvec2) + 61: TypeVector 6(float) 4 + 62(PS_OUTPUT): TypeStruct 61(fvec4) + 63: TypePointer Function 62(PS_OUTPUT) + 65: 46(int) Constant 0 + 68: TypePointer Function 61(fvec4) + 70: TypePointer Output 62(PS_OUTPUT) +71(@entryPointOutput): 70(ptr) Variable Output + 4(main): 2 Function None 3 + 5: Label + 8(e1_00): 7(ptr) Variable Function + 10(e1_01): 7(ptr) Variable Function + 12(e1_10): 7(ptr) Variable Function + 14(e1_11): 7(ptr) Variable Function + 16(e1_20): 7(ptr) Variable Function + 18(e1_21): 7(ptr) Variable Function + 20(e2_00): 7(ptr) Variable Function + 22(e2_01): 7(ptr) Variable Function + 24(e2_10): 7(ptr) Variable Function + 26(e2_11): 7(ptr) Variable Function + 28(e2_20): 7(ptr) Variable Function + 30(e2_21): 7(ptr) Variable Function + 34(r0a): 33(ptr) Variable Function + 36(r1a): 33(ptr) Variable Function + 38(r2a): 33(ptr) Variable Function + 40(r0b): 33(ptr) Variable Function + 51(indexable): 50(ptr) Variable Function + 54(r0c): 33(ptr) Variable Function + 64(psout): 63(ptr) Variable Function + Store 8(e1_00) 9 + Store 10(e1_01) 11 + Store 12(e1_10) 13 + Store 14(e1_11) 15 + Store 16(e1_20) 17 + Store 18(e1_21) 19 + Store 20(e2_00) 21 + Store 22(e2_01) 23 + Store 24(e2_10) 25 + Store 26(e2_11) 27 + Store 28(e2_20) 29 + Store 30(e2_21) 31 + Store 34(r0a) 35 + Store 36(r1a) 37 + Store 38(r2a) 39 + 49: 46(int) Load 48(idx) + Store 51(indexable) 45 + 52: 33(ptr) AccessChain 51(indexable) 49 + 53: 32(fvec2) Load 52 + Store 40(r0b) 53 + 57: 46(int) Load 48(idx) + 59: 58(ptr) AccessChain 56(um) 57 + 60: 32(fvec2) Load 59 + Store 54(r0c) 60 + 66: 6(float) Load 26(e2_11) + 67: 61(fvec4) CompositeConstruct 66 66 66 66 + 69: 68(ptr) AccessChain 64(psout) 65 + Store 69 67 + 72:62(PS_OUTPUT) Load 64(psout) + Store 71(@entryPointOutput) 72 + Return + FunctionEnd diff --git a/Test/baseResults/hlsl.templatetypes.frag.out b/Test/baseResults/hlsl.templatetypes.frag.out index 1cbd292e..76de8910 100644 --- a/Test/baseResults/hlsl.templatetypes.frag.out +++ b/Test/baseResults/hlsl.templatetypes.frag.out @@ -192,8 +192,8 @@ gl_FragCoord origin is upper left 0:? 14.000000 0:? 15.000000 0:35 Sequence -0:35 move second child to first child (temp 3X2 matrix of float) -0:35 'r61' (temp 3X2 matrix of float) +0:35 move second child to first child (temp 2X3 matrix of float) +0:35 'r61' (temp 2X3 matrix of float) 0:? Constant: 0:? 1.000000 0:? 2.000000 @@ -202,8 +202,8 @@ gl_FragCoord origin is upper left 0:? 5.000000 0:? 6.000000 0:36 Sequence -0:36 move second child to first child (temp 2X3 matrix of float) -0:36 'r62' (temp 2X3 matrix of float) +0:36 move second child to first child (temp 3X2 matrix of float) +0:36 'r62' (temp 3X2 matrix of float) 0:? Constant: 0:? 1.000000 0:? 2.000000 @@ -212,8 +212,8 @@ gl_FragCoord origin is upper left 0:? 5.000000 0:? 6.000000 0:39 Sequence -0:39 move second child to first child (temp 2X4 matrix of float) -0:39 'r65' (temp 2X4 matrix of float) +0:39 move second child to first child (temp 4X2 matrix of float) +0:39 'r65' (temp 4X2 matrix of float) 0:? Constant: 0:? 1.000000 0:? 2.000000 @@ -224,8 +224,8 @@ gl_FragCoord origin is upper left 0:? 7.000000 0:? 8.000000 0:40 Sequence -0:40 move second child to first child (temp 3X4 matrix of float) -0:40 'r66' (temp 3X4 matrix of float) +0:40 move second child to first child (temp 4X3 matrix of float) +0:40 'r66' (temp 4X3 matrix of float) 0:? Constant: 0:? 1.000000 0:? 2.000000 @@ -444,8 +444,8 @@ gl_FragCoord origin is upper left 0:? 14.000000 0:? 15.000000 0:35 Sequence -0:35 move second child to first child (temp 3X2 matrix of float) -0:35 'r61' (temp 3X2 matrix of float) +0:35 move second child to first child (temp 2X3 matrix of float) +0:35 'r61' (temp 2X3 matrix of float) 0:? Constant: 0:? 1.000000 0:? 2.000000 @@ -454,8 +454,8 @@ gl_FragCoord origin is upper left 0:? 5.000000 0:? 6.000000 0:36 Sequence -0:36 move second child to first child (temp 2X3 matrix of float) -0:36 'r62' (temp 2X3 matrix of float) +0:36 move second child to first child (temp 3X2 matrix of float) +0:36 'r62' (temp 3X2 matrix of float) 0:? Constant: 0:? 1.000000 0:? 2.000000 @@ -464,8 +464,8 @@ gl_FragCoord origin is upper left 0:? 5.000000 0:? 6.000000 0:39 Sequence -0:39 move second child to first child (temp 2X4 matrix of float) -0:39 'r65' (temp 2X4 matrix of float) +0:39 move second child to first child (temp 4X2 matrix of float) +0:39 'r65' (temp 4X2 matrix of float) 0:? Constant: 0:? 1.000000 0:? 2.000000 @@ -476,8 +476,8 @@ gl_FragCoord origin is upper left 0:? 7.000000 0:? 8.000000 0:40 Sequence -0:40 move second child to first child (temp 3X4 matrix of float) -0:40 'r66' (temp 3X4 matrix of float) +0:40 move second child to first child (temp 4X3 matrix of float) +0:40 'r66' (temp 4X3 matrix of float) 0:? Constant: 0:? 1.000000 0:? 2.000000 @@ -501,13 +501,13 @@ gl_FragCoord origin is upper left // Module Version 10000 // Generated by (magic number): 80001 -// Id's are bound by 147 +// Id's are bound by 148 Capability Shader Capability Float64 1: ExtInstImport "GLSL.std.450" MemoryModel Logical GLSL450 - EntryPoint Fragment 4 "PixelShaderFunction" 145 + EntryPoint Fragment 4 "PixelShaderFunction" 146 ExecutionMode 4 OriginUpperLeft Name 4 "PixelShaderFunction" Name 9 "r00" @@ -535,11 +535,11 @@ gl_FragCoord origin is upper left Name 105 "r50" Name 122 "r51" Name 125 "r61" - Name 131 "r62" + Name 130 "r62" Name 136 "r65" Name 141 "r66" - Name 145 "@entryPointOutput" - Decorate 145(@entryPointOutput) Location 0 + Name 146 "@entryPointOutput" + Decorate 146(@entryPointOutput) Location 0 2: TypeVoid 3: TypeFunction 2 6: TypeFloat 32 @@ -635,25 +635,26 @@ gl_FragCoord origin is upper left 119: 6(float) Constant 1097859072 120: 7(fvec4) ConstantComposite 116 117 118 119 121: 103 ConstantComposite 107 110 115 120 - 123: TypeMatrix 46(fvec2) 3 + 123: TypeMatrix 69(fvec3) 2 124: TypePointer Function 123 - 126: 46(fvec2) ConstantComposite 12 13 - 127: 46(fvec2) ConstantComposite 16 108 - 128: 123 ConstantComposite 49 126 127 - 129: TypeMatrix 69(fvec3) 2 - 130: TypePointer Function 129 - 132: 69(fvec3) ConstantComposite 13 16 108 - 133: 129 ConstantComposite 72 132 - 134: TypeMatrix 7(fvec4) 2 + 126: 69(fvec3) ConstantComposite 13 16 108 + 127: 123 ConstantComposite 72 126 + 128: TypeMatrix 46(fvec2) 3 + 129: TypePointer Function 128 + 131: 46(fvec2) ConstantComposite 12 13 + 132: 46(fvec2) ConstantComposite 16 108 + 133: 128 ConstantComposite 49 131 132 + 134: TypeMatrix 46(fvec2) 4 135: TypePointer Function 134 - 137: 7(fvec4) ConstantComposite 16 108 109 111 - 138: 134 ConstantComposite 14 137 - 139: TypeMatrix 7(fvec4) 3 + 137: 46(fvec2) ConstantComposite 109 111 + 138: 134 ConstantComposite 49 131 132 137 + 139: TypeMatrix 69(fvec3) 4 140: TypePointer Function 139 - 142: 7(fvec4) ConstantComposite 112 113 114 116 - 143: 139 ConstantComposite 14 137 142 - 144: TypePointer Output 6(float) -145(@entryPointOutput): 144(ptr) Variable Output + 142: 69(fvec3) ConstantComposite 109 111 112 + 143: 69(fvec3) ConstantComposite 113 114 116 + 144: 139 ConstantComposite 72 126 142 143 + 145: TypePointer Output 6(float) +146(@entryPointOutput): 145(ptr) Variable Output 4(PixelShaderFunction): 2 Function None 3 5: Label 9(r00): 8(ptr) Variable Function @@ -681,7 +682,7 @@ gl_FragCoord origin is upper left 105(r50): 104(ptr) Variable Function 122(r51): 104(ptr) Variable Function 125(r61): 124(ptr) Variable Function - 131(r62): 130(ptr) Variable Function + 130(r62): 129(ptr) Variable Function 136(r65): 135(ptr) Variable Function 141(r66): 140(ptr) Variable Function Store 9(r00) 14 @@ -708,10 +709,10 @@ gl_FragCoord origin is upper left Store 100(r44) 102 Store 105(r50) 121 Store 122(r51) 121 - Store 125(r61) 128 - Store 131(r62) 133 + Store 125(r61) 127 + Store 130(r62) 133 Store 136(r65) 138 - Store 141(r66) 143 - Store 145(@entryPointOutput) 106 + Store 141(r66) 144 + Store 146(@entryPointOutput) 106 Return FunctionEnd diff --git a/Test/baseResults/remap.hlsl.templatetypes.none.frag.out b/Test/baseResults/remap.hlsl.templatetypes.none.frag.out index 1878c64d..741f7098 100644 --- a/Test/baseResults/remap.hlsl.templatetypes.none.frag.out +++ b/Test/baseResults/remap.hlsl.templatetypes.none.frag.out @@ -5,7 +5,7 @@ Linked fragment stage: // Module Version 10000 // Generated by (magic number): 80001 -// Id's are bound by 144 +// Id's are bound by 145 Capability Shader Capability Float64 @@ -39,7 +39,7 @@ Linked fragment stage: Name 105 "r50" Name 122 "r51" Name 125 "r61" - Name 131 "r62" + Name 130 "r62" Name 136 "r65" Name 141 "r66" 2: TypeVoid @@ -137,23 +137,24 @@ Linked fragment stage: 119: 6(float) Constant 1097859072 120: 7(fvec4) ConstantComposite 116 117 118 119 121: 103 ConstantComposite 107 110 115 120 - 123: TypeMatrix 46(fvec2) 3 + 123: TypeMatrix 69(fvec3) 2 124: TypePointer Function 123 - 126: 46(fvec2) ConstantComposite 12 13 - 127: 46(fvec2) ConstantComposite 16 108 - 128: 123 ConstantComposite 49 126 127 - 129: TypeMatrix 69(fvec3) 2 - 130: TypePointer Function 129 - 132: 69(fvec3) ConstantComposite 13 16 108 - 133: 129 ConstantComposite 72 132 - 134: TypeMatrix 7(fvec4) 2 + 126: 69(fvec3) ConstantComposite 13 16 108 + 127: 123 ConstantComposite 72 126 + 128: TypeMatrix 46(fvec2) 3 + 129: TypePointer Function 128 + 131: 46(fvec2) ConstantComposite 12 13 + 132: 46(fvec2) ConstantComposite 16 108 + 133: 128 ConstantComposite 49 131 132 + 134: TypeMatrix 46(fvec2) 4 135: TypePointer Function 134 - 137: 7(fvec4) ConstantComposite 16 108 109 111 - 138: 134 ConstantComposite 14 137 - 139: TypeMatrix 7(fvec4) 3 + 137: 46(fvec2) ConstantComposite 109 111 + 138: 134 ConstantComposite 49 131 132 137 + 139: TypeMatrix 69(fvec3) 4 140: TypePointer Function 139 - 142: 7(fvec4) ConstantComposite 112 113 114 116 - 143: 139 ConstantComposite 14 137 142 + 142: 69(fvec3) ConstantComposite 109 111 112 + 143: 69(fvec3) ConstantComposite 113 114 116 + 144: 139 ConstantComposite 72 126 142 143 4(main): 2 Function None 3 5: Label 9(r00): 8(ptr) Variable Function @@ -181,7 +182,7 @@ Linked fragment stage: 105(r50): 104(ptr) Variable Function 122(r51): 104(ptr) Variable Function 125(r61): 124(ptr) Variable Function - 131(r62): 130(ptr) Variable Function + 130(r62): 129(ptr) Variable Function 136(r65): 135(ptr) Variable Function 141(r66): 140(ptr) Variable Function Store 9(r00) 14 @@ -208,9 +209,9 @@ Linked fragment stage: Store 100(r44) 102 Store 105(r50) 121 Store 122(r51) 121 - Store 125(r61) 128 - Store 131(r62) 133 + Store 125(r61) 127 + Store 130(r62) 133 Store 136(r65) 138 - Store 141(r66) 143 + Store 141(r66) 144 ReturnValue 106 FunctionEnd diff --git a/Test/hlsl.intrinsics.frag b/Test/hlsl.intrinsics.frag index b55c2428..c04acaed 100644 --- a/Test/hlsl.intrinsics.frag +++ b/Test/hlsl.intrinsics.frag @@ -482,3 +482,12 @@ void TestGenMulNxM(float inF0, float inF1, float2x4 r15 = mul(inFM2x3, inFM3x4); float3x4 r16 = mul(inFM3x2, inFM2x4); } + +struct PS_OUTPUT { float4 color : SV_Target0; }; + +PS_OUTPUT main() +{ + PS_OUTPUT ps_output; + ps_output.color = 1.0; + return ps_output; +}; diff --git a/Test/hlsl.matrixindex.frag b/Test/hlsl.matrixindex.frag new file mode 100644 index 00000000..f352c0e5 --- /dev/null +++ b/Test/hlsl.matrixindex.frag @@ -0,0 +1,49 @@ +uniform int idx; +uniform float3x2 um; + +struct PS_OUTPUT +{ + float4 Color : SV_Target0; +}; + +PS_OUTPUT main() +{ + // matrices of 3 rows, 2 columns (regardless of row vs col major storage) + const float3x2 m1 = { { 10, 11 }, // row-wise initialization + { 12, 13 }, + { 14, 15 } }; + + const float3x2 m2 = { 20, 21, 22, 23, 24, 25 }; // component-wise matrix initialization is allowed + const float3x2 m3 = { 30, 31, 33, 33, 34, 35 }; // component-wise matrix initialization is allowed + + // These can be observed in the AST post-const folding to ensure we obtain the right value, + // as given in comments to the right of each line. Note that the first indirection into a + // matrix returns a row vector. + float e1_00 = m1[0][0]; // 10 + float e1_01 = m1[0][1]; // 11 + float e1_10 = m1[1][0]; // 12 + float e1_11 = m1[1][1]; // 13 + float e1_20 = m1[2][0]; // 14 + float e1_21 = m1[2][1]; // 15 + + float e2_00 = m2[0][0]; // 20 + float e2_01 = m2[0][1]; // 21 + float e2_10 = m2[1][0]; // 22 + float e2_11 = m2[1][1]; // 23 + float e2_20 = m2[2][0]; // 24 + float e2_21 = m2[2][1]; // 25 + + // float e3a_00 = m3._m00; // TODO... also as an lvalue for a non-const matrix + // float e3b_00 = m3._11; // TODO... also as an lvalue for a non-const matrix + + float2 r0a = m1[0]; // row0: 10,11: types must match: constant index into constant + float2 r1a = m1[1]; // row1: 12,13: ... + float2 r2a = m1[2]; // row2: 14,15: ... + + float2 r0b = m2[idx]; // types should match: variable index into constant + float2 r0c = um[idx]; // types should match: variable index into variable + + PS_OUTPUT psout; + psout.Color = e2_11; // 23 + return psout; +} diff --git a/gtests/Hlsl.FromFile.cpp b/gtests/Hlsl.FromFile.cpp index 0ebc17e6..5b420929 100644 --- a/gtests/Hlsl.FromFile.cpp +++ b/gtests/Hlsl.FromFile.cpp @@ -110,7 +110,7 @@ INSTANTIATE_TEST_CASE_P( {"hlsl.intrinsics.evalfns.frag", "main"}, {"hlsl.intrinsics.double.frag", "PixelShaderFunction"}, {"hlsl.intrinsics.f1632.frag", "PixelShaderFunction"}, - {"hlsl.intrinsics.frag", "PixelShaderFunction"}, + {"hlsl.intrinsics.frag", "main"}, {"hlsl.intrinsics.lit.frag", "PixelShaderFunction"}, {"hlsl.intrinsics.negative.comp", "ComputeShaderFunction"}, {"hlsl.intrinsics.negative.frag", "PixelShaderFunction"}, @@ -124,6 +124,7 @@ INSTANTIATE_TEST_CASE_P( {"hlsl.load.offset.dx10.frag", "main"}, {"hlsl.load.offsetarray.dx10.frag", "main"}, {"hlsl.multiEntry.vert", "RealEntrypoint"}, + {"hlsl.matrixindex.frag", "main"}, {"hlsl.numericsuffixes.frag", "main"}, {"hlsl.overload.frag", "PixelShaderFunction"}, {"hlsl.pp.line.frag", "main"}, diff --git a/hlsl/hlslGrammar.cpp b/hlsl/hlslGrammar.cpp index e94d6eb7..bad6034d 100755 --- a/hlsl/hlslGrammar.cpp +++ b/hlsl/hlslGrammar.cpp @@ -711,8 +711,8 @@ bool HlslGrammar::acceptMatrixTemplateType(TType& type) return false; new(&type) TType(basicType, EvqTemporary, 0, - cols->getAsConstantUnion()->getConstArray()[0].getIConst(), - rows->getAsConstantUnion()->getConstArray()[0].getIConst()); + rows->getAsConstantUnion()->getConstArray()[0].getIConst(), + cols->getAsConstantUnion()->getConstArray()[0].getIConst()); if (!acceptTokenClass(EHTokRightAngle)) { expected("right angle bracket"); @@ -1031,46 +1031,46 @@ bool HlslGrammar::acceptType(TType& type) new(&type) TType(EbtInt, EvqTemporary, 0, 1, 1); break; case EHTokInt1x2: - new(&type) TType(EbtInt, EvqTemporary, 0, 2, 1); + new(&type) TType(EbtInt, EvqTemporary, 0, 1, 2); break; case EHTokInt1x3: - new(&type) TType(EbtInt, EvqTemporary, 0, 3, 1); + new(&type) TType(EbtInt, EvqTemporary, 0, 1, 3); break; case EHTokInt1x4: - new(&type) TType(EbtInt, EvqTemporary, 0, 4, 1); + new(&type) TType(EbtInt, EvqTemporary, 0, 1, 4); break; case EHTokInt2x1: - new(&type) TType(EbtInt, EvqTemporary, 0, 1, 2); + new(&type) TType(EbtInt, EvqTemporary, 0, 2, 1); break; case EHTokInt2x2: new(&type) TType(EbtInt, EvqTemporary, 0, 2, 2); break; case EHTokInt2x3: - new(&type) TType(EbtInt, EvqTemporary, 0, 3, 2); + new(&type) TType(EbtInt, EvqTemporary, 0, 2, 3); break; case EHTokInt2x4: - new(&type) TType(EbtInt, EvqTemporary, 0, 4, 2); + new(&type) TType(EbtInt, EvqTemporary, 0, 2, 4); break; case EHTokInt3x1: - new(&type) TType(EbtInt, EvqTemporary, 0, 1, 3); + new(&type) TType(EbtInt, EvqTemporary, 0, 3, 1); break; case EHTokInt3x2: - new(&type) TType(EbtInt, EvqTemporary, 0, 2, 3); + new(&type) TType(EbtInt, EvqTemporary, 0, 3, 2); break; case EHTokInt3x3: new(&type) TType(EbtInt, EvqTemporary, 0, 3, 3); break; case EHTokInt3x4: - new(&type) TType(EbtInt, EvqTemporary, 0, 4, 3); + new(&type) TType(EbtInt, EvqTemporary, 0, 3, 4); break; case EHTokInt4x1: - new(&type) TType(EbtInt, EvqTemporary, 0, 1, 4); + new(&type) TType(EbtInt, EvqTemporary, 0, 4, 1); break; case EHTokInt4x2: - new(&type) TType(EbtInt, EvqTemporary, 0, 2, 4); + new(&type) TType(EbtInt, EvqTemporary, 0, 4, 2); break; case EHTokInt4x3: - new(&type) TType(EbtInt, EvqTemporary, 0, 3, 4); + new(&type) TType(EbtInt, EvqTemporary, 0, 4, 3); break; case EHTokInt4x4: new(&type) TType(EbtInt, EvqTemporary, 0, 4, 4); @@ -1080,46 +1080,46 @@ bool HlslGrammar::acceptType(TType& type) new(&type) TType(EbtUint, EvqTemporary, 0, 1, 1); break; case EHTokUint1x2: - new(&type) TType(EbtUint, EvqTemporary, 0, 2, 1); + new(&type) TType(EbtUint, EvqTemporary, 0, 1, 2); break; case EHTokUint1x3: - new(&type) TType(EbtUint, EvqTemporary, 0, 3, 1); + new(&type) TType(EbtUint, EvqTemporary, 0, 1, 3); break; case EHTokUint1x4: - new(&type) TType(EbtUint, EvqTemporary, 0, 4, 1); + new(&type) TType(EbtUint, EvqTemporary, 0, 1, 4); break; case EHTokUint2x1: - new(&type) TType(EbtUint, EvqTemporary, 0, 1, 2); + new(&type) TType(EbtUint, EvqTemporary, 0, 2, 1); break; case EHTokUint2x2: new(&type) TType(EbtUint, EvqTemporary, 0, 2, 2); break; case EHTokUint2x3: - new(&type) TType(EbtUint, EvqTemporary, 0, 3, 2); + new(&type) TType(EbtUint, EvqTemporary, 0, 2, 3); break; case EHTokUint2x4: - new(&type) TType(EbtUint, EvqTemporary, 0, 4, 2); + new(&type) TType(EbtUint, EvqTemporary, 0, 2, 4); break; case EHTokUint3x1: - new(&type) TType(EbtUint, EvqTemporary, 0, 1, 3); + new(&type) TType(EbtUint, EvqTemporary, 0, 3, 1); break; case EHTokUint3x2: - new(&type) TType(EbtUint, EvqTemporary, 0, 2, 3); + new(&type) TType(EbtUint, EvqTemporary, 0, 3, 2); break; case EHTokUint3x3: new(&type) TType(EbtUint, EvqTemporary, 0, 3, 3); break; case EHTokUint3x4: - new(&type) TType(EbtUint, EvqTemporary, 0, 4, 3); + new(&type) TType(EbtUint, EvqTemporary, 0, 3, 4); break; case EHTokUint4x1: - new(&type) TType(EbtUint, EvqTemporary, 0, 1, 4); + new(&type) TType(EbtUint, EvqTemporary, 0, 4, 1); break; case EHTokUint4x2: - new(&type) TType(EbtUint, EvqTemporary, 0, 2, 4); + new(&type) TType(EbtUint, EvqTemporary, 0, 4, 2); break; case EHTokUint4x3: - new(&type) TType(EbtUint, EvqTemporary, 0, 3, 4); + new(&type) TType(EbtUint, EvqTemporary, 0, 4, 3); break; case EHTokUint4x4: new(&type) TType(EbtUint, EvqTemporary, 0, 4, 4); @@ -1129,46 +1129,46 @@ bool HlslGrammar::acceptType(TType& type) new(&type) TType(EbtBool, EvqTemporary, 0, 1, 1); break; case EHTokBool1x2: - new(&type) TType(EbtBool, EvqTemporary, 0, 2, 1); + new(&type) TType(EbtBool, EvqTemporary, 0, 1, 2); break; case EHTokBool1x3: - new(&type) TType(EbtBool, EvqTemporary, 0, 3, 1); + new(&type) TType(EbtBool, EvqTemporary, 0, 1, 3); break; case EHTokBool1x4: - new(&type) TType(EbtBool, EvqTemporary, 0, 4, 1); + new(&type) TType(EbtBool, EvqTemporary, 0, 1, 4); break; case EHTokBool2x1: - new(&type) TType(EbtBool, EvqTemporary, 0, 1, 2); + new(&type) TType(EbtBool, EvqTemporary, 0, 2, 1); break; case EHTokBool2x2: new(&type) TType(EbtBool, EvqTemporary, 0, 2, 2); break; case EHTokBool2x3: - new(&type) TType(EbtBool, EvqTemporary, 0, 3, 2); + new(&type) TType(EbtBool, EvqTemporary, 0, 2, 3); break; case EHTokBool2x4: - new(&type) TType(EbtBool, EvqTemporary, 0, 4, 2); + new(&type) TType(EbtBool, EvqTemporary, 0, 2, 4); break; case EHTokBool3x1: - new(&type) TType(EbtBool, EvqTemporary, 0, 1, 3); + new(&type) TType(EbtBool, EvqTemporary, 0, 3, 1); break; case EHTokBool3x2: - new(&type) TType(EbtBool, EvqTemporary, 0, 2, 3); + new(&type) TType(EbtBool, EvqTemporary, 0, 3, 2); break; case EHTokBool3x3: new(&type) TType(EbtBool, EvqTemporary, 0, 3, 3); break; case EHTokBool3x4: - new(&type) TType(EbtBool, EvqTemporary, 0, 4, 3); + new(&type) TType(EbtBool, EvqTemporary, 0, 3, 4); break; case EHTokBool4x1: - new(&type) TType(EbtBool, EvqTemporary, 0, 1, 4); + new(&type) TType(EbtBool, EvqTemporary, 0, 4, 1); break; case EHTokBool4x2: - new(&type) TType(EbtBool, EvqTemporary, 0, 2, 4); + new(&type) TType(EbtBool, EvqTemporary, 0, 4, 2); break; case EHTokBool4x3: - new(&type) TType(EbtBool, EvqTemporary, 0, 3, 4); + new(&type) TType(EbtBool, EvqTemporary, 0, 4, 3); break; case EHTokBool4x4: new(&type) TType(EbtBool, EvqTemporary, 0, 4, 4); @@ -1178,46 +1178,46 @@ bool HlslGrammar::acceptType(TType& type) new(&type) TType(EbtFloat, EvqTemporary, 0, 1, 1); break; case EHTokFloat1x2: - new(&type) TType(EbtFloat, EvqTemporary, 0, 2, 1); + new(&type) TType(EbtFloat, EvqTemporary, 0, 1, 2); break; case EHTokFloat1x3: - new(&type) TType(EbtFloat, EvqTemporary, 0, 3, 1); + new(&type) TType(EbtFloat, EvqTemporary, 0, 1, 3); break; case EHTokFloat1x4: - new(&type) TType(EbtFloat, EvqTemporary, 0, 4, 1); + new(&type) TType(EbtFloat, EvqTemporary, 0, 1, 4); break; case EHTokFloat2x1: - new(&type) TType(EbtFloat, EvqTemporary, 0, 1, 2); + new(&type) TType(EbtFloat, EvqTemporary, 0, 2, 1); break; case EHTokFloat2x2: new(&type) TType(EbtFloat, EvqTemporary, 0, 2, 2); break; case EHTokFloat2x3: - new(&type) TType(EbtFloat, EvqTemporary, 0, 3, 2); + new(&type) TType(EbtFloat, EvqTemporary, 0, 2, 3); break; case EHTokFloat2x4: - new(&type) TType(EbtFloat, EvqTemporary, 0, 4, 2); + new(&type) TType(EbtFloat, EvqTemporary, 0, 2, 4); break; case EHTokFloat3x1: - new(&type) TType(EbtFloat, EvqTemporary, 0, 1, 3); + new(&type) TType(EbtFloat, EvqTemporary, 0, 3, 1); break; case EHTokFloat3x2: - new(&type) TType(EbtFloat, EvqTemporary, 0, 2, 3); + new(&type) TType(EbtFloat, EvqTemporary, 0, 3, 2); break; case EHTokFloat3x3: new(&type) TType(EbtFloat, EvqTemporary, 0, 3, 3); break; case EHTokFloat3x4: - new(&type) TType(EbtFloat, EvqTemporary, 0, 4, 3); + new(&type) TType(EbtFloat, EvqTemporary, 0, 3, 4); break; case EHTokFloat4x1: - new(&type) TType(EbtFloat, EvqTemporary, 0, 1, 4); + new(&type) TType(EbtFloat, EvqTemporary, 0, 4, 1); break; case EHTokFloat4x2: - new(&type) TType(EbtFloat, EvqTemporary, 0, 2, 4); + new(&type) TType(EbtFloat, EvqTemporary, 0, 4, 2); break; case EHTokFloat4x3: - new(&type) TType(EbtFloat, EvqTemporary, 0, 3, 4); + new(&type) TType(EbtFloat, EvqTemporary, 0, 4, 3); break; case EHTokFloat4x4: new(&type) TType(EbtFloat, EvqTemporary, 0, 4, 4); @@ -1227,46 +1227,46 @@ bool HlslGrammar::acceptType(TType& type) new(&type) TType(EbtDouble, EvqTemporary, 0, 1, 1); break; case EHTokDouble1x2: - new(&type) TType(EbtDouble, EvqTemporary, 0, 2, 1); + new(&type) TType(EbtDouble, EvqTemporary, 0, 1, 2); break; case EHTokDouble1x3: - new(&type) TType(EbtDouble, EvqTemporary, 0, 3, 1); + new(&type) TType(EbtDouble, EvqTemporary, 0, 1, 3); break; case EHTokDouble1x4: - new(&type) TType(EbtDouble, EvqTemporary, 0, 4, 1); + new(&type) TType(EbtDouble, EvqTemporary, 0, 1, 4); break; case EHTokDouble2x1: - new(&type) TType(EbtDouble, EvqTemporary, 0, 1, 2); + new(&type) TType(EbtDouble, EvqTemporary, 0, 2, 1); break; case EHTokDouble2x2: new(&type) TType(EbtDouble, EvqTemporary, 0, 2, 2); break; case EHTokDouble2x3: - new(&type) TType(EbtDouble, EvqTemporary, 0, 3, 2); + new(&type) TType(EbtDouble, EvqTemporary, 0, 2, 3); break; case EHTokDouble2x4: - new(&type) TType(EbtDouble, EvqTemporary, 0, 4, 2); + new(&type) TType(EbtDouble, EvqTemporary, 0, 2, 4); break; case EHTokDouble3x1: - new(&type) TType(EbtDouble, EvqTemporary, 0, 1, 3); + new(&type) TType(EbtDouble, EvqTemporary, 0, 3, 1); break; case EHTokDouble3x2: - new(&type) TType(EbtDouble, EvqTemporary, 0, 2, 3); + new(&type) TType(EbtDouble, EvqTemporary, 0, 3, 2); break; case EHTokDouble3x3: new(&type) TType(EbtDouble, EvqTemporary, 0, 3, 3); break; case EHTokDouble3x4: - new(&type) TType(EbtDouble, EvqTemporary, 0, 4, 3); + new(&type) TType(EbtDouble, EvqTemporary, 0, 3, 4); break; case EHTokDouble4x1: - new(&type) TType(EbtDouble, EvqTemporary, 0, 1, 4); + new(&type) TType(EbtDouble, EvqTemporary, 0, 4, 1); break; case EHTokDouble4x2: - new(&type) TType(EbtDouble, EvqTemporary, 0, 2, 4); + new(&type) TType(EbtDouble, EvqTemporary, 0, 4, 2); break; case EHTokDouble4x3: - new(&type) TType(EbtDouble, EvqTemporary, 0, 3, 4); + new(&type) TType(EbtDouble, EvqTemporary, 0, 4, 3); break; case EHTokDouble4x4: new(&type) TType(EbtDouble, EvqTemporary, 0, 4, 4); diff --git a/hlsl/hlslParseHelper.cpp b/hlsl/hlslParseHelper.cpp index 282fabd0..37c2ae70 100755 --- a/hlsl/hlslParseHelper.cpp +++ b/hlsl/hlslParseHelper.cpp @@ -1597,8 +1597,10 @@ void HlslParseContext::decomposeIntrinsic(const TSourceLoc& loc, TIntermTyped*& case EOpGenMul: { // mul(a,b) -> MatrixTimesMatrix, MatrixTimesVector, MatrixTimesScalar, VectorTimesScalar, Dot, Mul - TIntermTyped* arg0 = argAggregate->getSequence()[0]->getAsTyped(); - TIntermTyped* arg1 = argAggregate->getSequence()[1]->getAsTyped(); + // Since we are treating HLSL rows like GLSL columns (the first matrix indirection), + // we must reverse the operand order here. Hence, arg0 gets sequence[1], etc. + TIntermTyped* arg0 = argAggregate->getSequence()[1]->getAsTyped(); + TIntermTyped* arg1 = argAggregate->getSequence()[0]->getAsTyped(); if (arg0->isVector() && arg1->isVector()) { // vec * vec node->getAsAggregate()->setOperator(EOpDot); @@ -4144,15 +4146,21 @@ TIntermTyped* HlslParseContext::convertInitializerList(const TSourceLoc& loc, co return nullptr; } } else if (type.isMatrix()) { - if (type.getMatrixCols() != (int)initList->getSequence().size()) { - error(loc, "wrong number of matrix columns:", "initializer list", type.getCompleteString().c_str()); - return nullptr; - } - TType vectorType(type, 0); // dereferenced type - for (int i = 0; i < type.getMatrixCols(); ++i) { - initList->getSequence()[i] = convertInitializerList(loc, vectorType, initList->getSequence()[i]->getAsTyped()); - if (initList->getSequence()[i] == nullptr) + if (type.computeNumComponents() == (int)initList->getSequence().size()) { + // This means the matrix is initialized component-wise, rather than as + // a series of rows and columns. We can just use the list directly as + // a constructor; no further processing needed. + } else { + if (type.getMatrixCols() != (int)initList->getSequence().size()) { + error(loc, "wrong number of matrix columns:", "initializer list", type.getCompleteString().c_str()); return nullptr; + } + TType vectorType(type, 0); // dereferenced type + for (int i = 0; i < type.getMatrixCols(); ++i) { + initList->getSequence()[i] = convertInitializerList(loc, vectorType, initList->getSequence()[i]->getAsTyped()); + if (initList->getSequence()[i] == nullptr) + return nullptr; + } } } else if (type.isVector()) { if (type.getVectorSize() != (int)initList->getSequence().size()) { diff --git a/hlsl/hlslParseables.cpp b/hlsl/hlslParseables.cpp index 868a41ea..3f725997 100755 --- a/hlsl/hlslParseables.cpp +++ b/hlsl/hlslParseables.cpp @@ -218,7 +218,6 @@ int FixedVecSize(const char* arg) glslang::TString& AppendTypeName(glslang::TString& s, const char* argOrder, const char* argType, int dim0, int dim1) { const bool isTranspose = (argOrder[0] == '^'); - const bool isMatMul = (argOrder[0] == '#'); const bool isTexture = IsTextureType(argOrder[0]); const bool isArrayed = IsTextureArrayed(argOrder[0]); const bool isSampler = IsSamplerType(argType[0]); @@ -229,8 +228,6 @@ glslang::TString& AppendTypeName(glslang::TString& s, const char* argOrder, cons if (isTranspose) { // Take transpose of matrix dimensions std::swap(dim0, dim1); - } else if (isMatMul) { - dim0 = dim1; // set vector dimension to mat col } else if (isTexture) { if (type == 'F') // map base type to texture of that type. type = 'T'; // e.g, int -> itexture, uint -> utexture, etc. @@ -240,7 +237,7 @@ glslang::TString& AppendTypeName(glslang::TString& s, const char* argOrder, cons type = 'u'; } - if (isTranspose || isMatMul) + if (isTranspose) ++argOrder; char order = *argOrder; @@ -312,16 +309,14 @@ glslang::TString& AppendTypeName(glslang::TString& s, const char* argOrder, cons switch (order) { case '-': break; // no dimensions for voids case 'S': break; // no dimensions on scalars - case 'V': s += ('0' + char(dim0)); break; + case 'V': + s += ('0' + char(dim0)); + break; case 'M': - { - if (!UseHlslTypes) // GLSL has column first for mat types - std::swap(dim0, dim1); - s += ('0' + char(dim0)); - s += 'x'; - s += ('0' + char(dim1)); - break; - } + s += ('0' + char(dim0)); + s += 'x'; + s += ('0' + char(dim1)); + break; default: break; } @@ -427,6 +422,7 @@ void TBuiltInParseablesHlsl::createMatTimesMat() const int retRows = xRows; const int retCols = yCols; + // Create a mat * mat of the appropriate dimensions AppendTypeName(s, "M", "F", retRows, retCols); // add return type s.append(" "); // space between type and name s.append("mul"); // intrinsic name @@ -438,6 +434,31 @@ void TBuiltInParseablesHlsl::createMatTimesMat() s.append(");\n"); // close paren } + + // Create M*V + AppendTypeName(s, "V", "F", xRows, 1); // add return type + s.append(" "); // space between type and name + s.append("mul"); // intrinsic name + s.append("("); // open paren + + AppendTypeName(s, "M", "F", xRows, xCols); // add X input + s.append(", "); + AppendTypeName(s, "V", "F", xCols, 1); // add Y input + + s.append(");\n"); // close paren + + + // Create V*M + AppendTypeName(s, "V", "F", xCols, 1); // add return type + s.append(" "); // space between type and name + s.append("mul"); // intrinsic name + s.append("("); // open paren + + AppendTypeName(s, "V", "F", xRows, 1); // add Y input + s.append(", "); + AppendTypeName(s, "M", "F", xRows, xCols); // add X input + + s.append(");\n"); // close paren } } } @@ -482,7 +503,6 @@ void TBuiltInParseablesHlsl::initialize(int /*version*/, EProfile /*profile*/, c // '>' as first letter of order creates an output parameter // '<' as first letter of order creates an input parameter // '^' as first letter of order takes transpose dimensions - // '#' as first letter of order sets rows=cols for mats // '%' as first letter of order creates texture of given F/I/U type (texture, itexture, etc) // '@' as first letter of order creates arrayed texture of given type // '$' / '&' as first letter of order creates 2DMS / 2DMSArray textures @@ -592,9 +612,7 @@ void TBuiltInParseablesHlsl::initialize(int /*version*/, EProfile /*profile*/, c { "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 }, // mat*mat form of mul is handled in createMatTimesMat() { "noise", "S", "F", "V", "F", EShLangPS }, { "normalize", nullptr, nullptr, "V", "F", EShLangAll },