trace:d3d9:DllMain fdwReason=1 trace:d3d9:Direct3DCreate9 sdk_version 0x20. GLSL IR for native fragment shader 0: ( (declare (shader_out ) vec4 gl_FragColor) (declare (shader_in ) vec4 gl_Color) (function main (signature void (parameters ) ( (assign (xyzw) (var_ref gl_FragColor) (var_ref gl_Color) ) )) ) ) Native code for fragment shader 0 (8-wide dispatch): START B0 compute pixel centers 0x00000000: add(8) g6<1>UW g1.5<2,4,0>UW 0x11001100V { align1 }; 0x00000010: add(8) g2<1>UW g1.4<2,4,0>UW 0x10101010V { align1 }; compute pixel deltas from v0 0x00000020: add(8) g9<1>F g6<8,8,1>UW -g1.1<0,1,0>F { align1 }; 0x00000030: add(8) g8<1>F g2<8,8,1>UW -g1<0,1,0>F { align1 }; (declare (shader_in ) vec4 gl_Color) 0x00000040: pln(8) g10<1>F g5.4<0,1,0>F g8<8,8,1>F { align1 }; 0x00000050: pln(8) g7<1>F g5<0,1,0>F g8<8,8,1>F { align1 }; 0x00000060: pln(8) g6<1>F g4.4<0,1,0>F g8<8,8,1>F { align1 }; compute pos.w and 1/pos.w 0x00000070: pln(8) g2<1>F g3.4<0,1,0>F g8<8,8,1>F { align1 }; (declare (shader_in ) vec4 gl_Color) 0x00000080: pln(8) g5<1>F g4<0,1,0>F g8<8,8,1>F { align1 }; compute pos.w and 1/pos.w 0x00000090: send(8) 2 g2<1>F g2<8,8,1>F math inv mlen 1 rlen 1 { align1 }; (declare (shader_in ) vec4 gl_Color) 0x000000a0: mul.sat(8) m6<1>F g10<8,8,1>F g2<8,8,1>F { align1 }; 0x000000b0: mul.sat(8) m5<1>F g7<8,8,1>F g2<8,8,1>F { align1 }; 0x000000c0: mul.sat(8) m4<1>F g6<8,8,1>F g2<8,8,1>F { align1 }; 0x000000d0: mul.sat(8) m3<1>F g5<8,8,1>F g2<8,8,1>F { align1 }; FB write target 0 0x000000e0: mov(8) m2<1>F g1<8,8,1>F { align1 nomask }; 0x000000f0: send(8) 1 null g0<8,8,1>UW write (0, 12, 4, 0) mlen 6 rlen 0 { align1 EOT }; END B0 Native code for fragment shader 0 (16-wide dispatch): START B0 compute pixel centers 0x00000100: add(16) g8<1>UW g1.5<2,4,0>UW 0x11001100V { align1 }; 0x00000110: add(16) g6<1>UW g1.4<2,4,0>UW 0x10101010V { align1 }; compute pixel deltas from v0 0x00000120: add(16) g12<1>F g8<8,8,1>UW -g1.1<0,1,0>F { align1 compr }; 0x00000130: add(16) g10<1>F g6<8,8,1>UW -g1<0,1,0>F { align1 compr }; (declare (shader_in ) vec4 gl_Color) 0x00000140: line(16) null g5.4<0,1,0>F g10<8,8,1>F { align1 compr }; 0x00000150: mac(16) g16<1>F g5.5<0,1,0>F g12<8,8,1>F { align1 compr }; 0x00000160: line(16) null g5<0,1,0>F g10<8,8,1>F { align1 compr }; 0x00000170: mac(16) g14<1>F g5.1<0,1,0>F g12<8,8,1>F { align1 compr }; 0x00000180: line(16) null g4.4<0,1,0>F g10<8,8,1>F { align1 compr }; 0x00000190: mac(16) g8<1>F g4.5<0,1,0>F g12<8,8,1>F { align1 compr }; 0x000001a0: line(16) null g4<0,1,0>F g10<8,8,1>F { align1 compr }; 0x000001b0: mac(16) g6<1>F g4.1<0,1,0>F g12<8,8,1>F { align1 compr }; compute pos.w and 1/pos.w 0x000001c0: line(16) null g3.4<0,1,0>F g10<8,8,1>F { align1 compr }; 0x000001d0: mac(16) g4<1>F g3.5<0,1,0>F g12<8,8,1>F { align1 compr }; 0x000001e0: send(8) 2 g2<1>F g4<8,8,1>F math inv mlen 1 rlen 1 { align1 }; 0x000001f0: send(8) 3 g3<1>F g5<8,8,1>F math inv mlen 1 rlen 1 { align1 sechalf }; (declare (shader_in ) vec4 gl_Color) 0x00000200: mul.sat(16) m6<1>F g16<8,8,1>F g2<8,8,1>F { align1 compr4 }; 0x00000210: mul.sat(16) m5<1>F g14<8,8,1>F g2<8,8,1>F { align1 compr4 }; 0x00000220: mul.sat(16) m4<1>F g8<8,8,1>F g2<8,8,1>F { align1 compr4 }; 0x00000230: mul.sat(16) m3<1>F g6<8,8,1>F g2<8,8,1>F { align1 compr4 }; FB write target 0 0x00000240: mov(8) m2<1>F g1<8,8,1>F { align1 nomask }; 0x00000250: send(16) 1 null g0<8,8,1>UW write (0, 8, 4, 0) mlen 10 rlen 0 { align1 EOT }; END B0 GLSL IR for native fragment shader 3: ( (declare (uniform ) vec4 color) (declare (shader_out ) vec4 gl_FragColor) (function main (signature void (parameters ) ( (assign (xyzw) (var_ref gl_FragColor) (var_ref color) ) )) ) ) Native code for fragment shader 3 (8-wide dispatch): START B0 FB write target 0 0x00000000: mov.sat(8) m6<1>F g2.3<0,1,0>F { align1 }; 0x00000010: mov.sat(8) m5<1>F g2.2<0,1,0>F { align1 }; 0x00000020: mov.sat(8) m4<1>F g2.1<0,1,0>F { align1 }; 0x00000030: mov.sat(8) m3<1>F g2<0,1,0>F { align1 }; 0x00000040: mov(8) m2<1>F g1<8,8,1>F { align1 nomask }; 0x00000050: send(8) 1 null g0<8,8,1>UW write (0, 12, 4, 0) mlen 6 rlen 0 { align1 EOT }; END B0 Native code for fragment shader 3 (16-wide dispatch): START B0 FB write target 0 0x00000080: mov.sat(16) m6<1>F g2.3<0,1,0>F { align1 compr4 }; 0x00000090: mov.sat(16) m5<1>F g2.2<0,1,0>F { align1 compr4 }; 0x000000a0: mov.sat(16) m4<1>F g2.1<0,1,0>F { align1 compr4 }; 0x000000b0: mov.sat(16) m3<1>F g2<0,1,0>F { align1 compr4 }; 0x000000c0: mov(8) m2<1>F g1<8,8,1>F { align1 nomask }; 0x000000d0: send(16) 1 null g0<8,8,1>UW write (0, 8, 4, 0) mlen 10 rlen 0 { align1 EOT }; END B0 GLSL IR for native fragment shader 3: ( (declare (uniform ) vec4 color) (declare (shader_out ) vec4 gl_FragColor) (function main (signature void (parameters ) ( (assign (xyzw) (var_ref gl_FragColor) (var_ref color) ) )) ) ) Native code for fragment shader 3 (8-wide dispatch): START B0 FB write target 0 0x00000000: mov(8) m6<1>F g2.3<0,1,0>F { align1 }; 0x00000010: mov(8) m5<1>F g2.2<0,1,0>F { align1 }; 0x00000020: mov(8) m4<1>F g2.1<0,1,0>F { align1 }; 0x00000030: mov(8) m3<1>F g2<0,1,0>F { align1 }; 0x00000040: mov(8) m2<1>F g1<8,8,1>F { align1 nomask }; 0x00000050: send(8) 1 null g0<8,8,1>UW write (0, 12, 4, 0) mlen 6 rlen 0 { align1 EOT }; END B0 Native code for fragment shader 3 (16-wide dispatch): START B0 FB write target 0 0x00000080: mov(16) m6<1>F g2.3<0,1,0>F { align1 compr4 }; 0x00000090: mov(16) m5<1>F g2.2<0,1,0>F { align1 compr4 }; 0x000000a0: mov(16) m4<1>F g2.1<0,1,0>F { align1 compr4 }; 0x000000b0: mov(16) m3<1>F g2<0,1,0>F { align1 compr4 }; 0x000000c0: mov(8) m2<1>F g1<8,8,1>F { align1 nomask }; 0x000000d0: send(16) 1 null g0<8,8,1>UW write (0, 8, 4, 0) mlen 10 rlen 0 { align1 EOT }; END B0 GLSL IR for native fragment shader 0: ( (declare (shader_out ) vec4 gl_FragColor) (declare (uniform ) (array vec4 4) gl_CurrentAttribFragMESA) (function main (signature void (parameters ) ( (assign (xyzw) (var_ref gl_FragColor) (array_ref (var_ref gl_CurrentAttribFragMESA) (constant uint (3)) ) ) )) ) ) Native code for fragment shader 0 (8-wide dispatch): START B0 FB write target 0 0x00000000: mov.sat(8) m6<1>F g2.3<0,1,0>F { align1 }; 0x00000010: mov.sat(8) m5<1>F g2.2<0,1,0>F { align1 }; 0x00000020: mov.sat(8) m4<1>F g2.1<0,1,0>F { align1 }; 0x00000030: mov.sat(8) m3<1>F g2<0,1,0>F { align1 }; 0x00000040: mov(8) m2<1>F g1<8,8,1>F { align1 nomask }; 0x00000050: send(8) 1 null g0<8,8,1>UW write (0, 12, 4, 0) mlen 6 rlen 0 { align1 EOT }; END B0 Native code for fragment shader 0 (16-wide dispatch): START B0 FB write target 0 0x00000080: mov.sat(16) m6<1>F g2.3<0,1,0>F { align1 compr4 }; 0x00000090: mov.sat(16) m5<1>F g2.2<0,1,0>F { align1 compr4 }; 0x000000a0: mov.sat(16) m4<1>F g2.1<0,1,0>F { align1 compr4 }; 0x000000b0: mov.sat(16) m3<1>F g2<0,1,0>F { align1 compr4 }; 0x000000c0: mov(8) m2<1>F g1<8,8,1>F { align1 nomask }; 0x000000d0: send(16) 1 null g0<8,8,1>UW write (0, 8, 4, 0) mlen 10 rlen 0 { align1 EOT }; END B0 GLSL IR for native fragment shader 0: ( (declare (shader_out ) vec4 gl_FragColor) (declare (shader_in ) vec4 gl_Color) (function main (signature void (parameters ) ( (assign (xyzw) (var_ref gl_FragColor) (var_ref gl_Color) ) )) ) ) Native code for fragment shader 0 (8-wide dispatch): START B0 compute pixel centers 0x00000000: add(8) g6<1>UW g1.5<2,4,0>UW 0x11001100V { align1 }; 0x00000010: add(8) g2<1>UW g1.4<2,4,0>UW 0x10101010V { align1 }; compute pixel deltas from v0 0x00000020: add(8) g9<1>F g6<8,8,1>UW -g1.1<0,1,0>F { align1 }; 0x00000030: add(8) g8<1>F g2<8,8,1>UW -g1<0,1,0>F { align1 }; (declare (shader_in ) vec4 gl_Color) 0x00000040: pln(8) g10<1>F g5.4<0,1,0>F g8<8,8,1>F { align1 }; 0x00000050: pln(8) g7<1>F g5<0,1,0>F g8<8,8,1>F { align1 }; 0x00000060: pln(8) g6<1>F g4.4<0,1,0>F g8<8,8,1>F { align1 }; compute pos.w and 1/pos.w 0x00000070: pln(8) g2<1>F g3.4<0,1,0>F g8<8,8,1>F { align1 }; (declare (shader_in ) vec4 gl_Color) 0x00000080: pln(8) g5<1>F g4<0,1,0>F g8<8,8,1>F { align1 }; compute pos.w and 1/pos.w 0x00000090: send(8) 2 g2<1>F g2<8,8,1>F math inv mlen 1 rlen 1 { align1 }; (declare (shader_in ) vec4 gl_Color) 0x000000a0: mul(8) m6<1>F g10<8,8,1>F g2<8,8,1>F { align1 }; 0x000000b0: mul(8) m5<1>F g7<8,8,1>F g2<8,8,1>F { align1 }; 0x000000c0: mul(8) m4<1>F g6<8,8,1>F g2<8,8,1>F { align1 }; 0x000000d0: mul(8) m3<1>F g5<8,8,1>F g2<8,8,1>F { align1 }; FB write target 0 0x000000e0: mov(8) m2<1>F g1<8,8,1>F { align1 nomask }; 0x000000f0: send(8) 1 null g0<8,8,1>UW write (0, 12, 4, 0) mlen 6 rlen 0 { align1 EOT }; END B0 Native code for fragment shader 0 (16-wide dispatch): START B0 compute pixel centers 0x00000100: add(16) g8<1>UW g1.5<2,4,0>UW 0x11001100V { align1 }; 0x00000110: add(16) g6<1>UW g1.4<2,4,0>UW 0x10101010V { align1 }; compute pixel deltas from v0 0x00000120: add(16) g12<1>F g8<8,8,1>UW -g1.1<0,1,0>F { align1 compr }; 0x00000130: add(16) g10<1>F g6<8,8,1>UW -g1<0,1,0>F { align1 compr }; (declare (shader_in ) vec4 gl_Color) 0x00000140: line(16) null g5.4<0,1,0>F g10<8,8,1>F { align1 compr }; 0x00000150: mac(16) g16<1>F g5.5<0,1,0>F g12<8,8,1>F { align1 compr }; 0x00000160: line(16) null g5<0,1,0>F g10<8,8,1>F { align1 compr }; 0x00000170: mac(16) g14<1>F g5.1<0,1,0>F g12<8,8,1>F { align1 compr }; 0x00000180: line(16) null g4.4<0,1,0>F g10<8,8,1>F { align1 compr }; 0x00000190: mac(16) g8<1>F g4.5<0,1,0>F g12<8,8,1>F { align1 compr }; 0x000001a0: line(16) null g4<0,1,0>F g10<8,8,1>F { align1 compr }; 0x000001b0: mac(16) g6<1>F g4.1<0,1,0>F g12<8,8,1>F { align1 compr }; compute pos.w and 1/pos.w 0x000001c0: line(16) null g3.4<0,1,0>F g10<8,8,1>F { align1 compr }; 0x000001d0: mac(16) g4<1>F g3.5<0,1,0>F g12<8,8,1>F { align1 compr }; 0x000001e0: send(8) 2 g2<1>F g4<8,8,1>F math inv mlen 1 rlen 1 { align1 }; 0x000001f0: send(8) 3 g3<1>F g5<8,8,1>F math inv mlen 1 rlen 1 { align1 sechalf }; (declare (shader_in ) vec4 gl_Color) 0x00000200: mul(16) m6<1>F g16<8,8,1>F g2<8,8,1>F { align1 compr4 }; 0x00000210: mul(16) m5<1>F g14<8,8,1>F g2<8,8,1>F { align1 compr4 }; 0x00000220: mul(16) m4<1>F g8<8,8,1>F g2<8,8,1>F { align1 compr4 }; 0x00000230: mul(16) m3<1>F g6<8,8,1>F g2<8,8,1>F { align1 compr4 }; FB write target 0 0x00000240: mov(8) m2<1>F g1<8,8,1>F { align1 nomask }; 0x00000250: send(16) 1 null g0<8,8,1>UW write (0, 8, 4, 0) mlen 10 rlen 0 { align1 EOT }; END B0 GLSL IR for native fragment shader 0: ( (declare (shader_out ) vec4 gl_FragColor) (declare (shader_in ) vec4 gl_Color) (function main (signature void (parameters ) ( (assign (xyzw) (var_ref gl_FragColor) (var_ref gl_Color) ) )) ) ) Native code for fragment shader 0 (8-wide dispatch): START B0 compute pixel centers 0x00000000: add(8) g6<1>UW g1.5<2,4,0>UW 0x11001100V { align1 }; 0x00000010: add(8) g2<1>UW g1.4<2,4,0>UW 0x10101010V { align1 }; compute pixel deltas from v0 0x00000020: add(8) g9<1>F g6<8,8,1>UW -g1.1<0,1,0>F { align1 }; 0x00000030: add(8) g8<1>F g2<8,8,1>UW -g1<0,1,0>F { align1 }; (declare (shader_in ) vec4 gl_Color) 0x00000040: pln(8) g10<1>F g5.4<0,1,0>F g8<8,8,1>F { align1 }; 0x00000050: pln(8) g7<1>F g5<0,1,0>F g8<8,8,1>F { align1 }; 0x00000060: pln(8) g6<1>F g4.4<0,1,0>F g8<8,8,1>F { align1 }; compute pos.w and 1/pos.w 0x00000070: pln(8) g2<1>F g3.4<0,1,0>F g8<8,8,1>F { align1 }; (declare (shader_in ) vec4 gl_Color) 0x00000080: pln(8) g5<1>F g4<0,1,0>F g8<8,8,1>F { align1 }; compute pos.w and 1/pos.w 0x00000090: send(8) 2 g2<1>F g2<8,8,1>F math inv mlen 1 rlen 1 { align1 }; (declare (shader_in ) vec4 gl_Color) 0x000000a0: mul.sat(8) m6<1>F g10<8,8,1>F g2<8,8,1>F { align1 }; 0x000000b0: mul.sat(8) m5<1>F g7<8,8,1>F g2<8,8,1>F { align1 }; 0x000000c0: mul.sat(8) m4<1>F g6<8,8,1>F g2<8,8,1>F { align1 }; 0x000000d0: mul.sat(8) m3<1>F g5<8,8,1>F g2<8,8,1>F { align1 }; FB write target 0 0x000000e0: mov(8) m2<1>F g1<8,8,1>F { align1 nomask }; 0x000000f0: send(8) 1 null g0<8,8,1>UW write (0, 12, 4, 0) mlen 6 rlen 0 { align1 EOT }; END B0 Native code for fragment shader 0 (16-wide dispatch): START B0 compute pixel centers 0x00000100: add(16) g8<1>UW g1.5<2,4,0>UW 0x11001100V { align1 }; 0x00000110: add(16) g6<1>UW g1.4<2,4,0>UW 0x10101010V { align1 }; compute pixel deltas from v0 0x00000120: add(16) g12<1>F g8<8,8,1>UW -g1.1<0,1,0>F { align1 compr }; 0x00000130: add(16) g10<1>F g6<8,8,1>UW -g1<0,1,0>F { align1 compr }; (declare (shader_in ) vec4 gl_Color) 0x00000140: line(16) null g5.4<0,1,0>F g10<8,8,1>F { align1 compr }; 0x00000150: mac(16) g16<1>F g5.5<0,1,0>F g12<8,8,1>F { align1 compr }; 0x00000160: line(16) null g5<0,1,0>F g10<8,8,1>F { align1 compr }; 0x00000170: mac(16) g14<1>F g5.1<0,1,0>F g12<8,8,1>F { align1 compr }; 0x00000180: line(16) null g4.4<0,1,0>F g10<8,8,1>F { align1 compr }; 0x00000190: mac(16) g8<1>F g4.5<0,1,0>F g12<8,8,1>F { align1 compr }; 0x000001a0: line(16) null g4<0,1,0>F g10<8,8,1>F { align1 compr }; 0x000001b0: mac(16) g6<1>F g4.1<0,1,0>F g12<8,8,1>F { align1 compr }; compute pos.w and 1/pos.w 0x000001c0: line(16) null g3.4<0,1,0>F g10<8,8,1>F { align1 compr }; 0x000001d0: mac(16) g4<1>F g3.5<0,1,0>F g12<8,8,1>F { align1 compr }; 0x000001e0: send(8) 2 g2<1>F g4<8,8,1>F math inv mlen 1 rlen 1 { align1 }; 0x000001f0: send(8) 3 g3<1>F g5<8,8,1>F math inv mlen 1 rlen 1 { align1 sechalf }; (declare (shader_in ) vec4 gl_Color) 0x00000200: mul.sat(16) m6<1>F g16<8,8,1>F g2<8,8,1>F { align1 compr4 }; 0x00000210: mul.sat(16) m5<1>F g14<8,8,1>F g2<8,8,1>F { align1 compr4 }; 0x00000220: mul.sat(16) m4<1>F g8<8,8,1>F g2<8,8,1>F { align1 compr4 }; 0x00000230: mul.sat(16) m3<1>F g6<8,8,1>F g2<8,8,1>F { align1 compr4 }; FB write target 0 0x00000240: mov(8) m2<1>F g1<8,8,1>F { align1 nomask }; 0x00000250: send(16) 1 null g0<8,8,1>UW write (0, 8, 4, 0) mlen 10 rlen 0 { align1 EOT }; END B0 GLSL IR for native fragment shader 0: ( (declare (uniform ) sampler2D sampler_0) (declare (shader_out ) vec4 gl_FragColor) (declare (shader_in ) vec4 gl_Color) (declare (uniform ) (array vec4 9) gl_CurrentAttribFragMESA) (function main (signature void (parameters ) ( (declare (temporary ) vec4 texenv_combine) (declare () float projector) (assign (x) (var_ref projector) (expression float rcp (swiz w (array_ref (var_ref gl_CurrentAttribFragMESA) (constant uint (8)) ) )) ) (declare (temporary ) vec2 flattening_tmp) (declare (temporary ) vec2 channel_expressions) (assign (xy) (var_ref channel_expressions) (swiz xy (array_ref (var_ref gl_CurrentAttribFragMESA) (constant uint (8)) ) )) (assign (x) (var_ref flattening_tmp) (expression float * (swiz x (var_ref channel_expressions) )(var_ref projector) ) ) (assign (y) (var_ref flattening_tmp) (expression float * (swiz y (var_ref channel_expressions) )(var_ref projector) ) ) (declare (temporary ) vec4 flattening_tmp@2) (declare (temporary ) vec4 channel_expressions@3) (assign (xyzw) (var_ref channel_expressions@3) (tex vec4 (var_ref sampler_0) (var_ref flattening_tmp) 0 1 () )) (assign (x) (var_ref flattening_tmp@2) (expression float * (swiz x (var_ref channel_expressions@3) )(swiz x (var_ref gl_Color) )) ) (assign (y) (var_ref flattening_tmp@2) (expression float * (swiz y (var_ref channel_expressions@3) )(swiz y (var_ref gl_Color) )) ) (assign (z) (var_ref flattening_tmp@2) (expression float * (swiz z (var_ref channel_expressions@3) )(swiz z (var_ref gl_Color) )) ) (assign (w) (var_ref flattening_tmp@2) (expression float * (swiz w (var_ref channel_expressions@3) )(swiz w (var_ref gl_Color) )) ) (assign (xyz) (var_ref texenv_combine) (swiz xyz (var_ref flattening_tmp@2) )) (assign (w) (var_ref texenv_combine) (swiz w (var_ref gl_Color) )) (assign (xyzw) (var_ref gl_FragColor) (var_ref texenv_combine) ) )) ) ) Native code for fragment shader 0 (8-wide dispatch): START B0 compute pixel centers 0x00000000: add(8) g7<1>UW g1.5<2,4,0>UW 0x11001100V { align1 }; 0x00000010: add(8) g3<1>UW g1.4<2,4,0>UW 0x10101010V { align1 }; compute pixel deltas from v0 0x00000020: add(8) g9<1>F g7<8,8,1>UW -g1.1<0,1,0>F { align1 }; 0x00000030: add(8) g8<1>F g3<8,8,1>UW -g1<0,1,0>F { align1 }; (declare (shader_in ) vec4 gl_Color) 0x00000040: pln(8) g11<1>F g6.4<0,1,0>F g8<8,8,1>F { align1 }; 0x00000050: pln(8) g10<1>F g6<0,1,0>F g8<8,8,1>F { align1 }; 0x00000060: pln(8) g7<1>F g5.4<0,1,0>F g8<8,8,1>F { align1 }; compute pos.w and 1/pos.w 0x00000070: pln(8) g3<1>F g4.4<0,1,0>F g8<8,8,1>F { align1 }; (declare (shader_in ) vec4 gl_Color) 0x00000080: pln(8) g6<1>F g5<0,1,0>F g8<8,8,1>F { align1 }; compute pos.w and 1/pos.w 0x00000090: send(8) 2 g3<1>F g3<8,8,1>F math inv mlen 1 rlen 1 { align1 }; (assign (x) (var_ref projector) (expression float rcp (swiz w (array_ref (var_ref gl_CurrentAttribFragMESA) (constant uint (8)) ) )) ) 0x000000a0: send(8) 2 g4<1>F g2.2<0,1,0>F math inv mlen 1 rlen 1 { align1 }; (declare (shader_in ) vec4 gl_Color) 0x000000b0: mul.sat(8) m6<1>F g11<8,8,1>F g3<8,8,1>F { align1 }; 0x000000c0: mul(8) g10<1>F g10<8,8,1>F g3<8,8,1>F { align1 }; 0x000000d0: mul(8) g7<1>F g7<8,8,1>F g3<8,8,1>F { align1 }; 0x000000e0: mul(8) g6<1>F g6<8,8,1>F g3<8,8,1>F { align1 }; (assign (y) (var_ref flattening_tmp) (expression float * (swiz y (var_ref channel_expressions) )(var_ref projector) ) ) 0x000000f0: mul(8) m3<1>F g2.1<0,1,0>F g4<8,8,1>F { align1 }; (assign (x) (var_ref flattening_tmp) (expression float * (swiz x (var_ref channel_expressions) )(var_ref projector) ) ) 0x00000100: mul(8) m2<1>F g2<0,1,0>F g4<8,8,1>F { align1 }; (assign (xyzw) (var_ref channel_expressions) (tex vec4 (var_ref sampler_0) (var_ref flattening_tmp) 0 1 () )) 0x00000110: send(8) 2 g2<1>UW null sampler (10, 0, 0, 1) mlen 2 rlen 4 { align1 }; (assign (z) (var_ref flattening_tmp) (expression float * (swiz z (var_ref channel_expressions) )(swiz z (var_ref gl_Color) )) ) 0x00000120: mul.sat(8) m5<1>F g4<8,8,1>F g10<8,8,1>F { align1 }; (assign (y) (var_ref flattening_tmp) (expression float * (swiz y (var_ref channel_expressions) )(swiz y (var_ref gl_Color) )) ) 0x00000130: mul.sat(8) m4<1>F g3<8,8,1>F g7<8,8,1>F { align1 }; (assign (x) (var_ref flattening_tmp) (expression float * (swiz x (var_ref channel_expressions) )(swiz x (var_ref gl_Color) )) ) 0x00000140: mul.sat(8) m3<1>F g2<8,8,1>F g6<8,8,1>F { align1 }; FB write target 0 0x00000150: mov(8) m2<1>F g1<8,8,1>F { align1 nomask }; 0x00000160: send(8) 1 null g0<8,8,1>UW write (0, 12, 4, 0) mlen 6 rlen 0 { align1 EOT }; END B0 Native code for fragment shader 0 (16-wide dispatch): START B0 compute pixel centers 0x00000180: add(16) g10<1>UW g1.5<2,4,0>UW 0x11001100V { align1 }; 0x00000190: add(16) g8<1>UW g1.4<2,4,0>UW 0x10101010V { align1 }; compute pixel deltas from v0 0x000001a0: add(16) g14<1>F g10<8,8,1>UW -g1.1<0,1,0>F { align1 compr }; 0x000001b0: add(16) g12<1>F g8<8,8,1>UW -g1<0,1,0>F { align1 compr }; (declare (shader_in ) vec4 gl_Color) 0x000001c0: line(16) null g6.4<0,1,0>F g12<8,8,1>F { align1 compr }; 0x000001d0: mac(16) g10<1>F g6.5<0,1,0>F g14<8,8,1>F { align1 compr }; 0x000001e0: line(16) null g6<0,1,0>F g12<8,8,1>F { align1 compr }; 0x000001f0: mac(16) g20<1>F g6.1<0,1,0>F g14<8,8,1>F { align1 compr }; 0x00000200: line(16) null g5.4<0,1,0>F g12<8,8,1>F { align1 compr }; 0x00000210: mac(16) g18<1>F g5.5<0,1,0>F g14<8,8,1>F { align1 compr }; 0x00000220: line(16) null g5<0,1,0>F g12<8,8,1>F { align1 compr }; 0x00000230: mac(16) g8<1>F g5.1<0,1,0>F g14<8,8,1>F { align1 compr }; compute pos.w and 1/pos.w 0x00000240: line(16) null g4.4<0,1,0>F g12<8,8,1>F { align1 compr }; 0x00000250: mac(16) g6<1>F g4.5<0,1,0>F g14<8,8,1>F { align1 compr }; 0x00000260: send(8) 2 g4<1>F g6<8,8,1>F math inv mlen 1 rlen 1 { align1 }; 0x00000270: send(8) 3 g5<1>F g7<8,8,1>F math inv mlen 1 rlen 1 { align1 sechalf }; (assign (x) (var_ref projector) (expression float rcp (swiz w (array_ref (var_ref gl_CurrentAttribFragMESA) (constant uint (8)) ) )) ) 0x00000280: send(8) 2 g6<1>F g2.2<0,1,0>F math inv mlen 1 rlen 1 { align1 }; 0x00000290: send(8) 3 g7<1>F g2.2<0,1,0>F math inv mlen 1 rlen 1 { align1 sechalf }; (declare (shader_in ) vec4 gl_Color) 0x000002a0: mul.sat(16) m6<1>F g10<8,8,1>F g4<8,8,1>F { align1 compr4 }; 0x000002b0: mul(16) g20<1>F g20<8,8,1>F g4<8,8,1>F { align1 compr }; 0x000002c0: mul(16) g18<1>F g18<8,8,1>F g4<8,8,1>F { align1 compr }; 0x000002d0: mul(16) g8<1>F g8<8,8,1>F g4<8,8,1>F { align1 compr }; (assign (y) (var_ref flattening_tmp) (expression float * (swiz y (var_ref channel_expressions) )(var_ref projector) ) ) 0x000002e0: mul(16) m4<1>F g2.1<0,1,0>F g6<8,8,1>F { align1 compr }; (assign (x) (var_ref flattening_tmp) (expression float * (swiz x (var_ref channel_expressions) )(var_ref projector) ) ) 0x000002f0: mul(16) m2<1>F g2<0,1,0>F g6<8,8,1>F { align1 compr }; (assign (xyzw) (var_ref channel_expressions) (tex vec4 (var_ref sampler_0) (var_ref flattening_tmp) 0 1 () )) 0x00000300: send(16) 2 g10<1>UW null sampler (10, 0, 0, 2) mlen 4 rlen 8 { align1 }; (assign (z) (var_ref flattening_tmp) (expression float * (swiz z (var_ref channel_expressions) )(swiz z (var_ref gl_Color) )) ) 0x00000310: mul.sat(16) m5<1>F g14<8,8,1>F g20<8,8,1>F { align1 compr4 }; (assign (y) (var_ref flattening_tmp) (expression float * (swiz y (var_ref channel_expressions) )(swiz y (var_ref gl_Color) )) ) 0x00000320: mul.sat(16) m4<1>F g12<8,8,1>F g18<8,8,1>F { align1 compr4 }; (assign (x) (var_ref flattening_tmp) (expression float * (swiz x (var_ref channel_expressions) )(swiz x (var_ref gl_Color) )) ) 0x00000330: mul.sat(16) m3<1>F g10<8,8,1>F g8<8,8,1>F { align1 compr4 }; FB write target 0 0x00000340: mov(8) m2<1>F g1<8,8,1>F { align1 nomask }; 0x00000350: send(16) 1 null g0<8,8,1>UW write (0, 8, 4, 0) mlen 10 rlen 0 { align1 EOT }; END B0 GLSL IR for native fragment shader 0: ( (declare (uniform ) sampler2D sampler_0) (declare (shader_out ) vec4 gl_FragColor) (declare (uniform ) (array vec4 9) gl_CurrentAttribFragMESA) (function main (signature void (parameters ) ( (declare (temporary ) vec4 texenv_combine) (declare () float projector) (assign (x) (var_ref projector) (expression float rcp (swiz w (array_ref (var_ref gl_CurrentAttribFragMESA) (constant uint (8)) ) )) ) (declare (temporary ) vec2 flattening_tmp) (declare (temporary ) vec2 channel_expressions) (assign (xy) (var_ref channel_expressions) (swiz xy (array_ref (var_ref gl_CurrentAttribFragMESA) (constant uint (8)) ) )) (assign (x) (var_ref flattening_tmp) (expression float * (swiz x (var_ref channel_expressions) )(var_ref projector) ) ) (assign (y) (var_ref flattening_tmp) (expression float * (swiz y (var_ref channel_expressions) )(var_ref projector) ) ) (declare (temporary ) vec4 flattening_tmp@4) (declare (temporary ) vec4 channel_expressions@5) (assign (xyzw) (var_ref channel_expressions@5) (tex vec4 (var_ref sampler_0) (var_ref flattening_tmp) 0 1 () )) (declare (temporary ) vec4 channel_expressions@6) (assign (xyzw) (var_ref channel_expressions@6) (array_ref (var_ref gl_CurrentAttribFragMESA) (constant uint (3)) ) ) (assign (x) (var_ref flattening_tmp@4) (expression float * (swiz x (var_ref channel_expressions@5) )(swiz x (var_ref channel_expressions@6) )) ) (assign (y) (var_ref flattening_tmp@4) (expression float * (swiz y (var_ref channel_expressions@5) )(swiz y (var_ref channel_expressions@6) )) ) (assign (z) (var_ref flattening_tmp@4) (expression float * (swiz z (var_ref channel_expressions@5) )(swiz z (var_ref channel_expressions@6) )) ) (assign (w) (var_ref flattening_tmp@4) (expression float * (swiz w (var_ref channel_expressions@5) )(swiz w (var_ref channel_expressions@6) )) ) (assign (xyz) (var_ref texenv_combine) (swiz xyz (var_ref flattening_tmp@4) )) (assign (w) (var_ref texenv_combine) (swiz w (array_ref (var_ref gl_CurrentAttribFragMESA) (constant uint (3)) ) )) (assign (xyzw) (var_ref gl_FragColor) (var_ref texenv_combine) ) )) ) ) Native code for fragment shader 0 (8-wide dispatch): START B0 FB write target 0 0x00000000: mov.sat(8) m6<1>F g2.3<0,1,0>F { align1 }; (assign (x) (var_ref projector) (expression float rcp (swiz w (array_ref (var_ref gl_CurrentAttribFragMESA) (constant uint (8)) ) )) ) 0x00000010: send(8) 2 g3<1>F g2.6<0,1,0>F math inv mlen 1 rlen 1 { align1 }; (assign (y) (var_ref flattening_tmp) (expression float * (swiz y (var_ref channel_expressions) )(var_ref projector) ) ) 0x00000020: mul(8) m3<1>F g2.5<0,1,0>F g3<8,8,1>F { align1 }; (assign (x) (var_ref flattening_tmp) (expression float * (swiz x (var_ref channel_expressions) )(var_ref projector) ) ) 0x00000030: mul(8) m2<1>F g2.4<0,1,0>F g3<8,8,1>F { align1 }; (assign (xyzw) (var_ref channel_expressions) (tex vec4 (var_ref sampler_0) (var_ref flattening_tmp) 0 1 () )) 0x00000040: send(8) 2 g3<1>UW null sampler (10, 0, 0, 1) mlen 2 rlen 4 { align1 }; (assign (z) (var_ref flattening_tmp) (expression float * (swiz z (var_ref channel_expressions) )(swiz z (var_ref channel_expressions@7) )) ) 0x00000050: mul.sat(8) m5<1>F g5<8,8,1>F g2.2<0,1,0>F { align1 }; (assign (y) (var_ref flattening_tmp) (expression float * (swiz y (var_ref channel_expressions) )(swiz y (var_ref channel_expressions@8) )) ) 0x00000060: mul.sat(8) m4<1>F g4<8,8,1>F g2.1<0,1,0>F { align1 }; (assign (x) (var_ref flattening_tmp) (expression float * (swiz x (var_ref channel_expressions) )(swiz x (var_ref channel_expressions@9) )) ) 0x00000070: mul.sat(8) m3<1>F g3<8,8,1>F g2<0,1,0>F { align1 }; FB write target 0 0x00000080: mov(8) m2<1>F g1<8,8,1>F { align1 nomask }; 0x00000090: send(8) 1 null g0<8,8,1>UW write (0, 12, 4, 0) mlen 6 rlen 0 { align1 EOT }; END B0 Native code for fragment shader 0 (16-wide dispatch): START B0 FB write target 0 0x000000c0: mov.sat(16) m6<1>F g2.3<0,1,0>F { align1 compr4 }; (assign (x) (var_ref projector) (expression float rcp (swiz w (array_ref (var_ref gl_CurrentAttribFragMESA) (constant uint (8)) ) )) ) 0x000000d0: send(8) 2 g4<1>F g2.6<0,1,0>F math inv mlen 1 rlen 1 { align1 }; 0x000000e0: send(8) 3 g5<1>F g2.6<0,1,0>F math inv mlen 1 rlen 1 { align1 sechalf }; (assign (y) (var_ref flattening_tmp) (expression float * (swiz y (var_ref channel_expressions) )(var_ref projector) ) ) 0x000000f0: mul(16) m4<1>F g2.5<0,1,0>F g4<8,8,1>F { align1 compr }; (assign (x) (var_ref flattening_tmp) (expression float * (swiz x (var_ref channel_expressions) )(var_ref projector) ) ) 0x00000100: mul(16) m2<1>F g2.4<0,1,0>F g4<8,8,1>F { align1 compr }; (assign (xyzw) (var_ref channel_expressions) (tex vec4 (var_ref sampler_0) (var_ref flattening_tmp) 0 1 () )) 0x00000110: send(16) 2 g4<1>UW null sampler (10, 0, 0, 2) mlen 4 rlen 8 { align1 }; (assign (z) (var_ref flattening_tmp) (expression float * (swiz z (var_ref channel_expressions) )(swiz z (var_ref channel_expressions@10) )) ) 0x00000120: mul.sat(16) m5<1>F g8<8,8,1>F g2.2<0,1,0>F { align1 compr4 }; (assign (y) (var_ref flattening_tmp) (expression float * (swiz y (var_ref channel_expressions) )(swiz y (var_ref channel_expressions@11) )) ) 0x00000130: mul.sat(16) m4<1>F g6<8,8,1>F g2.1<0,1,0>F { align1 compr4 }; (assign (x) (var_ref flattening_tmp) (expression float * (swiz x (var_ref channel_expressions) )(swiz x (var_ref channel_expressions@12) )) ) 0x00000140: mul.sat(16) m3<1>F g4<8,8,1>F g2<0,1,0>F { align1 compr4 }; FB write target 0 0x00000150: mov(8) m2<1>F g1<8,8,1>F { align1 nomask }; 0x00000160: send(16) 1 null g0<8,8,1>UW write (0, 8, 4, 0) mlen 10 rlen 0 { align1 EOT }; END B0 GLSL IR for native fragment shader 0: ( (declare (uniform ) sampler2D sampler_0) (declare (shader_out ) vec4 gl_FragColor) (declare (uniform ) (array vec4 4) gl_CurrentAttribFragMESA) (declare (shader_in ) (array vec4 1) gl_TexCoord) (function main (signature void (parameters ) ( (declare (temporary ) vec4 texenv_combine) (declare () float projector) (assign (x) (var_ref projector) (expression float rcp (swiz w (array_ref (var_ref gl_TexCoord) (constant uint (0)) ) )) ) (declare (temporary ) vec2 flattening_tmp) (declare (temporary ) vec2 channel_expressions) (assign (xy) (var_ref channel_expressions) (swiz xy (array_ref (var_ref gl_TexCoord) (constant uint (0)) ) )) (assign (x) (var_ref flattening_tmp) (expression float * (swiz x (var_ref channel_expressions) )(var_ref projector) ) ) (assign (y) (var_ref flattening_tmp) (expression float * (swiz y (var_ref channel_expressions) )(var_ref projector) ) ) (declare (temporary ) vec4 flattening_tmp@13) (declare (temporary ) vec4 channel_expressions@14) (assign (xyzw) (var_ref channel_expressions@14) (tex vec4 (var_ref sampler_0) (var_ref flattening_tmp) 0 1 () )) (declare (temporary ) vec4 channel_expressions@15) (assign (xyzw) (var_ref channel_expressions@15) (array_ref (var_ref gl_CurrentAttribFragMESA) (constant uint (3)) ) ) (assign (x) (var_ref flattening_tmp@13) (expression float * (swiz x (var_ref channel_expressions@14) )(swiz x (var_ref channel_expressions@15) )) ) (assign (y) (var_ref flattening_tmp@13) (expression float * (swiz y (var_ref channel_expressions@14) )(swiz y (var_ref channel_expressions@15) )) ) (assign (z) (var_ref flattening_tmp@13) (expression float * (swiz z (var_ref channel_expressions@14) )(swiz z (var_ref channel_expressions@15) )) ) (assign (w) (var_ref flattening_tmp@13) (expression float * (swiz w (var_ref channel_expressions@14) )(swiz w (var_ref channel_expressions@15) )) ) (assign (xyz) (var_ref texenv_combine) (swiz xyz (var_ref flattening_tmp@13) )) (assign (w) (var_ref texenv_combine) (swiz w (array_ref (var_ref gl_CurrentAttribFragMESA) (constant uint (3)) ) )) (assign (xyzw) (var_ref gl_FragColor) (var_ref texenv_combine) ) )) ) ) Native code for fragment shader 0 (8-wide dispatch): START B0 FB write target 0 0x00000000: mov.sat(8) m6<1>F g2.3<0,1,0>F { align1 }; compute pixel centers 0x00000010: add(8) g7<1>UW g1.5<2,4,0>UW 0x11001100V { align1 }; 0x00000020: add(8) g3<1>UW g1.4<2,4,0>UW 0x10101010V { align1 }; compute pixel deltas from v0 0x00000030: add(8) g9<1>F g7<8,8,1>UW -g1.1<0,1,0>F { align1 }; 0x00000040: add(8) g8<1>F g3<8,8,1>UW -g1<0,1,0>F { align1 }; (declare (shader_in ) (array vec4 1) gl_TexCoord) 0x00000050: pln(8) g10<1>F g6.4<0,1,0>F g8<8,8,1>F { align1 }; 0x00000060: pln(8) g7<1>F g5.4<0,1,0>F g8<8,8,1>F { align1 }; compute pos.w and 1/pos.w 0x00000070: pln(8) g3<1>F g4.4<0,1,0>F g8<8,8,1>F { align1 }; (declare (shader_in ) (array vec4 1) gl_TexCoord) 0x00000080: pln(8) g6<1>F g5<0,1,0>F g8<8,8,1>F { align1 }; compute pos.w and 1/pos.w 0x00000090: send(8) 2 g3<1>F g3<8,8,1>F math inv mlen 1 rlen 1 { align1 }; (declare (shader_in ) (array vec4 1) gl_TexCoord) 0x000000a0: mul(8) g10<1>F g10<8,8,1>F g3<8,8,1>F { align1 }; 0x000000b0: mul(8) g7<1>F g7<8,8,1>F g3<8,8,1>F { align1 }; 0x000000c0: mul(8) g6<1>F g6<8,8,1>F g3<8,8,1>F { align1 }; (assign (x) (var_ref projector) (expression float rcp (swiz w (array_ref (var_ref gl_TexCoord) (constant uint (0)) ) )) ) 0x000000d0: send(8) 2 g4<1>F g10<8,8,1>F math inv mlen 1 rlen 1 { align1 }; (assign (y) (var_ref flattening_tmp) (expression float * (swiz y (var_ref channel_expressions) )(var_ref projector) ) ) 0x000000e0: mul(8) m3<1>F g7<8,8,1>F g4<8,8,1>F { align1 }; (assign (x) (var_ref flattening_tmp) (expression float * (swiz x (var_ref channel_expressions) )(var_ref projector) ) ) 0x000000f0: mul(8) m2<1>F g6<8,8,1>F g4<8,8,1>F { align1 }; (assign (xyzw) (var_ref channel_expressions) (tex vec4 (var_ref sampler_0) (var_ref flattening_tmp) 0 1 () )) 0x00000100: send(8) 2 g3<1>UW null sampler (10, 0, 0, 1) mlen 2 rlen 4 { align1 }; (assign (z) (var_ref flattening_tmp) (expression float * (swiz z (var_ref channel_expressions) )(swiz z (var_ref channel_expressions@16) )) ) 0x00000110: mul.sat(8) m5<1>F g5<8,8,1>F g2.2<0,1,0>F { align1 }; (assign (y) (var_ref flattening_tmp) (expression float * (swiz y (var_ref channel_expressions) )(swiz y (var_ref channel_expressions@17) )) ) 0x00000120: mul.sat(8) m4<1>F g4<8,8,1>F g2.1<0,1,0>F { align1 }; (assign (x) (var_ref flattening_tmp) (expression float * (swiz x (var_ref channel_expressions) )(swiz x (var_ref channel_expressions@18) )) ) 0x00000130: mul.sat(8) m3<1>F g3<8,8,1>F g2<0,1,0>F { align1 }; FB write target 0 0x00000140: mov(8) m2<1>F g1<8,8,1>F { align1 nomask }; 0x00000150: send(8) 1 null g0<8,8,1>UW write (0, 12, 4, 0) mlen 6 rlen 0 { align1 EOT }; END B0 Native code for fragment shader 0 (16-wide dispatch): START B0 FB write target 0 0x00000180: mov.sat(16) m6<1>F g2.3<0,1,0>F { align1 compr4 }; compute pixel centers 0x00000190: add(16) g10<1>UW g1.5<2,4,0>UW 0x11001100V { align1 }; 0x000001a0: add(16) g8<1>UW g1.4<2,4,0>UW 0x10101010V { align1 }; compute pixel deltas from v0 0x000001b0: add(16) g14<1>F g10<8,8,1>UW -g1.1<0,1,0>F { align1 compr }; 0x000001c0: add(16) g12<1>F g8<8,8,1>UW -g1<0,1,0>F { align1 compr }; (declare (shader_in ) (array vec4 1) gl_TexCoord) 0x000001d0: line(16) null g6.4<0,1,0>F g12<8,8,1>F { align1 compr }; 0x000001e0: mac(16) g16<1>F g6.5<0,1,0>F g14<8,8,1>F { align1 compr }; 0x000001f0: line(16) null g5.4<0,1,0>F g12<8,8,1>F { align1 compr }; 0x00000200: mac(16) g10<1>F g5.5<0,1,0>F g14<8,8,1>F { align1 compr }; 0x00000210: line(16) null g5<0,1,0>F g12<8,8,1>F { align1 compr }; 0x00000220: mac(16) g8<1>F g5.1<0,1,0>F g14<8,8,1>F { align1 compr }; compute pos.w and 1/pos.w 0x00000230: line(16) null g4.4<0,1,0>F g12<8,8,1>F { align1 compr }; 0x00000240: mac(16) g6<1>F g4.5<0,1,0>F g14<8,8,1>F { align1 compr }; 0x00000250: send(8) 2 g4<1>F g6<8,8,1>F math inv mlen 1 rlen 1 { align1 }; 0x00000260: send(8) 3 g5<1>F g7<8,8,1>F math inv mlen 1 rlen 1 { align1 sechalf }; (declare (shader_in ) (array vec4 1) gl_TexCoord) 0x00000270: mul(16) g16<1>F g16<8,8,1>F g4<8,8,1>F { align1 compr }; 0x00000280: mul(16) g10<1>F g10<8,8,1>F g4<8,8,1>F { align1 compr }; 0x00000290: mul(16) g8<1>F g8<8,8,1>F g4<8,8,1>F { align1 compr }; (assign (x) (var_ref projector) (expression float rcp (swiz w (array_ref (var_ref gl_TexCoord) (constant uint (0)) ) )) ) 0x000002a0: send(8) 2 g6<1>F g16<8,8,1>F math inv mlen 1 rlen 1 { align1 }; 0x000002b0: send(8) 3 g7<1>F g17<8,8,1>F math inv mlen 1 rlen 1 { align1 sechalf }; (assign (y) (var_ref flattening_tmp) (expression float * (swiz y (var_ref channel_expressions) )(var_ref projector) ) ) 0x000002c0: mul(16) m4<1>F g10<8,8,1>F g6<8,8,1>F { align1 compr }; (assign (x) (var_ref flattening_tmp) (expression float * (swiz x (var_ref channel_expressions) )(var_ref projector) ) ) 0x000002d0: mul(16) m2<1>F g8<8,8,1>F g6<8,8,1>F { align1 compr }; (assign (xyzw) (var_ref channel_expressions) (tex vec4 (var_ref sampler_0) (var_ref flattening_tmp) 0 1 () )) 0x000002e0: send(16) 2 g4<1>UW null sampler (10, 0, 0, 2) mlen 4 rlen 8 { align1 }; (assign (z) (var_ref flattening_tmp) (expression float * (swiz z (var_ref channel_expressions) )(swiz z (var_ref channel_expressions@19) )) ) 0x000002f0: mul.sat(16) m5<1>F g8<8,8,1>F g2.2<0,1,0>F { align1 compr4 }; (assign (y) (var_ref flattening_tmp) (expression float * (swiz y (var_ref channel_expressions) )(swiz y (var_ref channel_expressions@20) )) ) 0x00000300: mul.sat(16) m4<1>F g6<8,8,1>F g2.1<0,1,0>F { align1 compr4 }; (assign (x) (var_ref flattening_tmp) (expression float * (swiz x (var_ref channel_expressions) )(swiz x (var_ref channel_expressions@21) )) ) 0x00000310: mul.sat(16) m3<1>F g4<8,8,1>F g2<0,1,0>F { align1 compr4 }; FB write target 0 0x00000320: mov(8) m2<1>F g1<8,8,1>F { align1 nomask }; 0x00000330: send(16) 1 null g0<8,8,1>UW write (0, 8, 4, 0) mlen 10 rlen 0 { align1 EOT }; END B0 GLSL IR for native fragment shader 0: ( (declare (uniform ) sampler2D sampler_0) (declare (shader_out ) vec4 gl_FragColor) (declare (uniform ) (array vec4 4) gl_CurrentAttribFragMESA) (declare (shader_in ) (array vec4 1) gl_TexCoord) (function main (signature void (parameters ) ( (declare (temporary ) vec4 texenv_combine) (declare () float projector) (assign (x) (var_ref projector) (expression float rcp (swiz w (array_ref (var_ref gl_TexCoord) (constant uint (0)) ) )) ) (declare (temporary ) vec2 flattening_tmp) (declare (temporary ) vec2 channel_expressions) (assign (xy) (var_ref channel_expressions) (swiz xy (array_ref (var_ref gl_TexCoord) (constant uint (0)) ) )) (assign (x) (var_ref flattening_tmp) (expression float * (swiz x (var_ref channel_expressions) )(var_ref projector) ) ) (assign (y) (var_ref flattening_tmp) (expression float * (swiz y (var_ref channel_expressions) )(var_ref projector) ) ) (declare (temporary ) vec4 flattening_tmp@22) (declare (temporary ) vec4 channel_expressions@23) (assign (xyzw) (var_ref channel_expressions@23) (tex vec4 (var_ref sampler_0) (var_ref flattening_tmp) 0 1 () )) (declare (temporary ) vec4 channel_expressions@24) (assign (xyzw) (var_ref channel_expressions@24) (array_ref (var_ref gl_CurrentAttribFragMESA) (constant uint (3)) ) ) (assign (x) (var_ref flattening_tmp@22) (expression float * (swiz x (var_ref channel_expressions@23) )(swiz x (var_ref channel_expressions@24) )) ) (assign (y) (var_ref flattening_tmp@22) (expression float * (swiz y (var_ref channel_expressions@23) )(swiz y (var_ref channel_expressions@24) )) ) (assign (z) (var_ref flattening_tmp@22) (expression float * (swiz z (var_ref channel_expressions@23) )(swiz z (var_ref channel_expressions@24) )) ) (assign (w) (var_ref flattening_tmp@22) (expression float * (swiz w (var_ref channel_expressions@23) )(swiz w (var_ref channel_expressions@24) )) ) (assign (xyz) (var_ref texenv_combine) (swiz xyz (var_ref flattening_tmp@22) )) (assign (w) (var_ref texenv_combine) (swiz w (array_ref (var_ref gl_CurrentAttribFragMESA) (constant uint (3)) ) )) (assign (xyzw) (var_ref gl_FragColor) (var_ref texenv_combine) ) )) ) ) Native code for fragment shader 0 (8-wide dispatch): START B0 FB write target 0 0x00000000: mov.sat(8) m6<1>F g2.3<0,1,0>F { align1 }; (declare (shader_in ) (array vec4 1) gl_TexCoord) 0x00000010: mov(8) g10<1>F 1F { align1 }; compute pixel centers 0x00000020: add(8) g6<1>UW g1.5<2,4,0>UW 0x11001100V { align1 }; 0x00000030: add(8) g3<1>UW g1.4<2,4,0>UW 0x10101010V { align1 }; compute pixel deltas from v0 0x00000040: add(8) g9<1>F g6<8,8,1>UW -g1.1<0,1,0>F { align1 }; 0x00000050: add(8) g8<1>F g3<8,8,1>UW -g1<0,1,0>F { align1 }; (declare (shader_in ) (array vec4 1) gl_TexCoord) 0x00000060: pln(8) g7<1>F g5.4<0,1,0>F g8<8,8,1>F { align1 }; 0x00000070: pln(8) g6<1>F g5<0,1,0>F g8<8,8,1>F { align1 }; compute pos.w and 1/pos.w 0x00000080: pln(8) g3<1>F g4.4<0,1,0>F g8<8,8,1>F { align1 }; 0x00000090: send(8) 2 g3<1>F g3<8,8,1>F math inv mlen 1 rlen 1 { align1 }; (assign (x) (var_ref projector) (expression float rcp (swiz w (array_ref (var_ref gl_TexCoord) (constant uint (0)) ) )) ) 0x000000a0: send(8) 2 g4<1>F g10<8,8,1>F math inv mlen 1 rlen 1 { align1 }; (declare (shader_in ) (array vec4 1) gl_TexCoord) 0x000000b0: mul(8) g7<1>F g7<8,8,1>F g3<8,8,1>F { align1 }; 0x000000c0: mul(8) g6<1>F g6<8,8,1>F g3<8,8,1>F { align1 }; (assign (y) (var_ref flattening_tmp) (expression float * (swiz y (var_ref channel_expressions) )(var_ref projector) ) ) 0x000000d0: mul(8) m3<1>F g7<8,8,1>F g4<8,8,1>F { align1 }; (assign (x) (var_ref flattening_tmp) (expression float * (swiz x (var_ref channel_expressions) )(var_ref projector) ) ) 0x000000e0: mul(8) m2<1>F g6<8,8,1>F g4<8,8,1>F { align1 }; (assign (xyzw) (var_ref channel_expressions) (tex vec4 (var_ref sampler_0) (var_ref flattening_tmp) 0 1 () )) 0x000000f0: send(8) 2 g3<1>UW null sampler (10, 0, 0, 1) mlen 2 rlen 4 { align1 }; (assign (z) (var_ref flattening_tmp) (expression float * (swiz z (var_ref channel_expressions) )(swiz z (var_ref channel_expressions@25) )) ) 0x00000100: mul.sat(8) m5<1>F g5<8,8,1>F g2.2<0,1,0>F { align1 }; (assign (y) (var_ref flattening_tmp) (expression float * (swiz y (var_ref channel_expressions) )(swiz y (var_ref channel_expressions@26) )) ) 0x00000110: mul.sat(8) m4<1>F g4<8,8,1>F g2.1<0,1,0>F { align1 }; (assign (x) (var_ref flattening_tmp) (expression float * (swiz x (var_ref channel_expressions) )(swiz x (var_ref channel_expressions@27) )) ) 0x00000120: mul.sat(8) m3<1>F g3<8,8,1>F g2<0,1,0>F { align1 }; FB write target 0 0x00000130: mov(8) m2<1>F g1<8,8,1>F { align1 nomask }; 0x00000140: send(8) 1 null g0<8,8,1>UW write (0, 12, 4, 0) mlen 6 rlen 0 { align1 EOT }; END B0 Native code for fragment shader 0 (16-wide dispatch): START B0 FB write target 0 0x00000180: mov.sat(16) m6<1>F g2.3<0,1,0>F { align1 compr4 }; (declare (shader_in ) (array vec4 1) gl_TexCoord) 0x00000190: mov(16) g16<1>F 1F { align1 compr }; compute pixel centers 0x000001a0: add(16) g8<1>UW g1.5<2,4,0>UW 0x11001100V { align1 }; 0x000001b0: add(16) g6<1>UW g1.4<2,4,0>UW 0x10101010V { align1 }; compute pixel deltas from v0 0x000001c0: add(16) g12<1>F g8<8,8,1>UW -g1.1<0,1,0>F { align1 compr }; 0x000001d0: add(16) g10<1>F g6<8,8,1>UW -g1<0,1,0>F { align1 compr }; (declare (shader_in ) (array vec4 1) gl_TexCoord) 0x000001e0: line(16) null g5.4<0,1,0>F g10<8,8,1>F { align1 compr }; 0x000001f0: mac(16) g14<1>F g5.5<0,1,0>F g12<8,8,1>F { align1 compr }; 0x00000200: line(16) null g5<0,1,0>F g10<8,8,1>F { align1 compr }; 0x00000210: mac(16) g8<1>F g5.1<0,1,0>F g12<8,8,1>F { align1 compr }; compute pos.w and 1/pos.w 0x00000220: line(16) null g4.4<0,1,0>F g10<8,8,1>F { align1 compr }; 0x00000230: mac(16) g6<1>F g4.5<0,1,0>F g12<8,8,1>F { align1 compr }; 0x00000240: send(8) 2 g4<1>F g6<8,8,1>F math inv mlen 1 rlen 1 { align1 }; 0x00000250: send(8) 3 g5<1>F g7<8,8,1>F math inv mlen 1 rlen 1 { align1 sechalf }; (assign (x) (var_ref projector) (expression float rcp (swiz w (array_ref (var_ref gl_TexCoord) (constant uint (0)) ) )) ) 0x00000260: send(8) 2 g6<1>F g16<8,8,1>F math inv mlen 1 rlen 1 { align1 }; 0x00000270: send(8) 3 g7<1>F g17<8,8,1>F math inv mlen 1 rlen 1 { align1 sechalf }; (declare (shader_in ) (array vec4 1) gl_TexCoord) 0x00000280: mul(16) g14<1>F g14<8,8,1>F g4<8,8,1>F { align1 compr }; 0x00000290: mul(16) g8<1>F g8<8,8,1>F g4<8,8,1>F { align1 compr }; (assign (y) (var_ref flattening_tmp) (expression float * (swiz y (var_ref channel_expressions) )(var_ref projector) ) ) 0x000002a0: mul(16) m4<1>F g14<8,8,1>F g6<8,8,1>F { align1 compr }; (assign (x) (var_ref flattening_tmp) (expression float * (swiz x (var_ref channel_expressions) )(var_ref projector) ) ) 0x000002b0: mul(16) m2<1>F g8<8,8,1>F g6<8,8,1>F { align1 compr }; (assign (xyzw) (var_ref channel_expressions) (tex vec4 (var_ref sampler_0) (var_ref flattening_tmp) 0 1 () )) 0x000002c0: send(16) 2 g4<1>UW null sampler (10, 0, 0, 2) mlen 4 rlen 8 { align1 }; (assign (z) (var_ref flattening_tmp) (expression float * (swiz z (var_ref channel_expressions) )(swiz z (var_ref channel_expressions@28) )) ) 0x000002d0: mul.sat(16) m5<1>F g8<8,8,1>F g2.2<0,1,0>F { align1 compr4 }; (assign (y) (var_ref flattening_tmp) (expression float * (swiz y (var_ref channel_expressions) )(swiz y (var_ref channel_expressions@29) )) ) 0x000002e0: mul.sat(16) m4<1>F g6<8,8,1>F g2.1<0,1,0>F { align1 compr4 }; (assign (x) (var_ref flattening_tmp) (expression float * (swiz x (var_ref channel_expressions) )(swiz x (var_ref channel_expressions@30) )) ) 0x000002f0: mul.sat(16) m3<1>F g4<8,8,1>F g2<0,1,0>F { align1 compr4 }; FB write target 0 0x00000300: mov(8) m2<1>F g1<8,8,1>F { align1 nomask }; 0x00000310: send(16) 1 null g0<8,8,1>UW write (0, 8, 4, 0) mlen 10 rlen 0 { align1 EOT }; END B0 GLSL IR for native fragment shader 0: ( (declare (uniform ) sampler2D sampler_0) (declare (shader_out ) vec4 gl_FragColor) (declare (uniform ) (array vec4 4) gl_CurrentAttribFragMESA) (declare (shader_in ) (array vec4 1) gl_TexCoord) (function main (signature void (parameters ) ( (declare () float projector) (assign (x) (var_ref projector) (expression float rcp (swiz w (array_ref (var_ref gl_TexCoord) (constant uint (0)) ) )) ) (declare (temporary ) vec2 flattening_tmp) (declare (temporary ) vec2 channel_expressions) (assign (xy) (var_ref channel_expressions) (swiz xy (array_ref (var_ref gl_TexCoord) (constant uint (0)) ) )) (assign (x) (var_ref flattening_tmp) (expression float * (swiz x (var_ref channel_expressions) )(var_ref projector) ) ) (assign (y) (var_ref flattening_tmp) (expression float * (swiz y (var_ref channel_expressions) )(var_ref projector) ) ) (declare (temporary ) vec4 channel_expressions@31) (assign (xyzw) (var_ref channel_expressions@31) (tex vec4 (var_ref sampler_0) (var_ref flattening_tmp) 0 1 () )) (declare (temporary ) vec4 channel_expressions@32) (assign (xyzw) (var_ref channel_expressions@32) (array_ref (var_ref gl_CurrentAttribFragMESA) (constant uint (3)) ) ) (assign (x) (var_ref gl_FragColor) (expression float * (swiz x (var_ref channel_expressions@31) )(swiz x (var_ref channel_expressions@32) )) ) (assign (y) (var_ref gl_FragColor) (expression float * (swiz y (var_ref channel_expressions@31) )(swiz y (var_ref channel_expressions@32) )) ) (assign (z) (var_ref gl_FragColor) (expression float * (swiz z (var_ref channel_expressions@31) )(swiz z (var_ref channel_expressions@32) )) ) (assign (w) (var_ref gl_FragColor) (expression float * (swiz w (var_ref channel_expressions@31) )(swiz w (var_ref channel_expressions@32) )) ) )) ) ) Native code for fragment shader 0 (8-wide dispatch): START B0 compute pixel centers 0x00000000: add(8) g7<1>UW g1.5<2,4,0>UW 0x11001100V { align1 }; 0x00000010: add(8) g3<1>UW g1.4<2,4,0>UW 0x10101010V { align1 }; compute pixel deltas from v0 0x00000020: add(8) g9<1>F g7<8,8,1>UW -g1.1<0,1,0>F { align1 }; 0x00000030: add(8) g8<1>F g3<8,8,1>UW -g1<0,1,0>F { align1 }; (declare (shader_in ) (array vec4 1) gl_TexCoord) 0x00000040: pln(8) g10<1>F g6.4<0,1,0>F g8<8,8,1>F { align1 }; 0x00000050: pln(8) g7<1>F g5.4<0,1,0>F g8<8,8,1>F { align1 }; compute pos.w and 1/pos.w 0x00000060: pln(8) g3<1>F g4.4<0,1,0>F g8<8,8,1>F { align1 }; (declare (shader_in ) (array vec4 1) gl_TexCoord) 0x00000070: pln(8) g6<1>F g5<0,1,0>F g8<8,8,1>F { align1 }; compute pos.w and 1/pos.w 0x00000080: send(8) 2 g3<1>F g3<8,8,1>F math inv mlen 1 rlen 1 { align1 }; (declare (shader_in ) (array vec4 1) gl_TexCoord) 0x00000090: mul(8) g10<1>F g10<8,8,1>F g3<8,8,1>F { align1 }; 0x000000a0: mul(8) g7<1>F g7<8,8,1>F g3<8,8,1>F { align1 }; 0x000000b0: mul(8) g6<1>F g6<8,8,1>F g3<8,8,1>F { align1 }; (assign (x) (var_ref projector) (expression float rcp (swiz w (array_ref (var_ref gl_TexCoord) (constant uint (0)) ) )) ) 0x000000c0: send(8) 2 g4<1>F g10<8,8,1>F math inv mlen 1 rlen 1 { align1 }; (assign (y) (var_ref flattening_tmp) (expression float * (swiz y (var_ref channel_expressions) )(var_ref projector) ) ) 0x000000d0: mul(8) m3<1>F g7<8,8,1>F g4<8,8,1>F { align1 }; (assign (x) (var_ref flattening_tmp) (expression float * (swiz x (var_ref channel_expressions) )(var_ref projector) ) ) 0x000000e0: mul(8) m2<1>F g6<8,8,1>F g4<8,8,1>F { align1 }; (assign (xyzw) (var_ref channel_expressions) (tex vec4 (var_ref sampler_0) (var_ref flattening_tmp) 0 1 () )) 0x000000f0: send(8) 2 g3<1>UW null sampler (10, 0, 0, 1) mlen 2 rlen 4 { align1 }; (assign (w) (var_ref gl_FragColor) (expression float * (swiz w (var_ref channel_expressions) )(swiz w (var_ref channel_expressions@33) )) ) 0x00000100: mul.sat(8) m6<1>F g6<8,8,1>F g2.3<0,1,0>F { align1 }; (assign (z) (var_ref gl_FragColor) (expression float * (swiz z (var_ref channel_expressions) )(swiz z (var_ref channel_expressions@34) )) ) 0x00000110: mul.sat(8) m5<1>F g5<8,8,1>F g2.2<0,1,0>F { align1 }; (assign (y) (var_ref gl_FragColor) (expression float * (swiz y (var_ref channel_expressions) )(swiz y (var_ref channel_expressions@35) )) ) 0x00000120: mul.sat(8) m4<1>F g4<8,8,1>F g2.1<0,1,0>F { align1 }; (assign (x) (var_ref gl_FragColor) (expression float * (swiz x (var_ref channel_expressions) )(swiz x (var_ref channel_expressions@36) )) ) 0x00000130: mul.sat(8) m3<1>F g3<8,8,1>F g2<0,1,0>F { align1 }; FB write target 0 0x00000140: mov(8) m2<1>F g1<8,8,1>F { align1 nomask }; 0x00000150: send(8) 1 null g0<8,8,1>UW write (0, 12, 4, 0) mlen 6 rlen 0 { align1 EOT }; END B0 Native code for fragment shader 0 (16-wide dispatch): START B0 compute pixel centers 0x00000180: add(16) g10<1>UW g1.5<2,4,0>UW 0x11001100V { align1 }; 0x00000190: add(16) g8<1>UW g1.4<2,4,0>UW 0x10101010V { align1 }; compute pixel deltas from v0 0x000001a0: add(16) g14<1>F g10<8,8,1>UW -g1.1<0,1,0>F { align1 compr }; 0x000001b0: add(16) g12<1>F g8<8,8,1>UW -g1<0,1,0>F { align1 compr }; (declare (shader_in ) (array vec4 1) gl_TexCoord) 0x000001c0: line(16) null g6.4<0,1,0>F g12<8,8,1>F { align1 compr }; 0x000001d0: mac(16) g16<1>F g6.5<0,1,0>F g14<8,8,1>F { align1 compr }; 0x000001e0: line(16) null g5.4<0,1,0>F g12<8,8,1>F { align1 compr }; 0x000001f0: mac(16) g10<1>F g5.5<0,1,0>F g14<8,8,1>F { align1 compr }; 0x00000200: line(16) null g5<0,1,0>F g12<8,8,1>F { align1 compr }; 0x00000210: mac(16) g8<1>F g5.1<0,1,0>F g14<8,8,1>F { align1 compr }; compute pos.w and 1/pos.w 0x00000220: line(16) null g4.4<0,1,0>F g12<8,8,1>F { align1 compr }; 0x00000230: mac(16) g6<1>F g4.5<0,1,0>F g14<8,8,1>F { align1 compr }; 0x00000240: send(8) 2 g4<1>F g6<8,8,1>F math inv mlen 1 rlen 1 { align1 }; 0x00000250: send(8) 3 g5<1>F g7<8,8,1>F math inv mlen 1 rlen 1 { align1 sechalf }; (declare (shader_in ) (array vec4 1) gl_TexCoord) 0x00000260: mul(16) g16<1>F g16<8,8,1>F g4<8,8,1>F { align1 compr }; 0x00000270: mul(16) g10<1>F g10<8,8,1>F g4<8,8,1>F { align1 compr }; 0x00000280: mul(16) g8<1>F g8<8,8,1>F g4<8,8,1>F { align1 compr }; (assign (x) (var_ref projector) (expression float rcp (swiz w (array_ref (var_ref gl_TexCoord) (constant uint (0)) ) )) ) 0x00000290: send(8) 2 g6<1>F g16<8,8,1>F math inv mlen 1 rlen 1 { align1 }; 0x000002a0: send(8) 3 g7<1>F g17<8,8,1>F math inv mlen 1 rlen 1 { align1 sechalf }; (assign (y) (var_ref flattening_tmp) (expression float * (swiz y (var_ref channel_expressions) )(var_ref projector) ) ) 0x000002b0: mul(16) m4<1>F g10<8,8,1>F g6<8,8,1>F { align1 compr }; (assign (x) (var_ref flattening_tmp) (expression float * (swiz x (var_ref channel_expressions) )(var_ref projector) ) ) 0x000002c0: mul(16) m2<1>F g8<8,8,1>F g6<8,8,1>F { align1 compr }; (assign (xyzw) (var_ref channel_expressions) (tex vec4 (var_ref sampler_0) (var_ref flattening_tmp) 0 1 () )) 0x000002d0: send(16) 2 g4<1>UW null sampler (10, 0, 0, 2) mlen 4 rlen 8 { align1 }; (assign (w) (var_ref gl_FragColor) (expression float * (swiz w (var_ref channel_expressions) )(swiz w (var_ref channel_expressions@37) )) ) 0x000002e0: mul.sat(16) m6<1>F g10<8,8,1>F g2.3<0,1,0>F { align1 compr4 }; (assign (z) (var_ref gl_FragColor) (expression float * (swiz z (var_ref channel_expressions) )(swiz z (var_ref channel_expressions@38) )) ) 0x000002f0: mul.sat(16) m5<1>F g8<8,8,1>F g2.2<0,1,0>F { align1 compr4 }; (assign (y) (var_ref gl_FragColor) (expression float * (swiz y (var_ref channel_expressions) )(swiz y (var_ref channel_expressions@39) )) ) 0x00000300: mul.sat(16) m4<1>F g6<8,8,1>F g2.1<0,1,0>F { align1 compr4 }; (assign (x) (var_ref gl_FragColor) (expression float * (swiz x (var_ref channel_expressions) )(swiz x (var_ref channel_expressions@40) )) ) 0x00000310: mul.sat(16) m3<1>F g4<8,8,1>F g2<0,1,0>F { align1 compr4 }; FB write target 0 0x00000320: mov(8) m2<1>F g1<8,8,1>F { align1 nomask }; 0x00000330: send(16) 1 null g0<8,8,1>UW write (0, 8, 4, 0) mlen 10 rlen 0 { align1 EOT }; END B0 GLSL IR for native fragment shader 0: ( (declare (uniform ) sampler2D sampler_0) (declare (shader_out ) vec4 gl_FragColor) (declare (uniform ) (array vec4 9) gl_CurrentAttribFragMESA) (function main (signature void (parameters ) ( (declare () float projector) (assign (x) (var_ref projector) (expression float rcp (swiz w (array_ref (var_ref gl_CurrentAttribFragMESA) (constant uint (8)) ) )) ) (declare (temporary ) vec2 flattening_tmp) (declare (temporary ) vec2 channel_expressions) (assign (xy) (var_ref channel_expressions) (swiz xy (array_ref (var_ref gl_CurrentAttribFragMESA) (constant uint (8)) ) )) (assign (x) (var_ref flattening_tmp) (expression float * (swiz x (var_ref channel_expressions) )(var_ref projector) ) ) (assign (y) (var_ref flattening_tmp) (expression float * (swiz y (var_ref channel_expressions) )(var_ref projector) ) ) (declare (temporary ) vec4 channel_expressions@41) (assign (xyzw) (var_ref channel_expressions@41) (tex vec4 (var_ref sampler_0) (var_ref flattening_tmp) 0 1 () )) (declare (temporary ) vec4 channel_expressions@42) (assign (xyzw) (var_ref channel_expressions@42) (array_ref (var_ref gl_CurrentAttribFragMESA) (constant uint (3)) ) ) (assign (x) (var_ref gl_FragColor) (expression float * (swiz x (var_ref channel_expressions@41) )(swiz x (var_ref channel_expressions@42) )) ) (assign (y) (var_ref gl_FragColor) (expression float * (swiz y (var_ref channel_expressions@41) )(swiz y (var_ref channel_expressions@42) )) ) (assign (z) (var_ref gl_FragColor) (expression float * (swiz z (var_ref channel_expressions@41) )(swiz z (var_ref channel_expressions@42) )) ) (assign (w) (var_ref gl_FragColor) (expression float * (swiz w (var_ref channel_expressions@41) )(swiz w (var_ref channel_expressions@42) )) ) )) ) ) Native code for fragment shader 0 (8-wide dispatch): START B0 (assign (x) (var_ref projector) (expression float rcp (swiz w (array_ref (var_ref gl_CurrentAttribFragMESA) (constant uint (8)) ) )) ) 0x00000000: send(8) 2 g5<1>F g2.6<0,1,0>F math inv mlen 1 rlen 1 { align1 }; (assign (y) (var_ref flattening_tmp) (expression float * (swiz y (var_ref channel_expressions) )(var_ref projector) ) ) 0x00000010: mul(8) m3<1>F g2.5<0,1,0>F g5<8,8,1>F { align1 }; (assign (x) (var_ref flattening_tmp) (expression float * (swiz x (var_ref channel_expressions) )(var_ref projector) ) ) 0x00000020: mul(8) m2<1>F g2.4<0,1,0>F g5<8,8,1>F { align1 }; (assign (xyzw) (var_ref channel_expressions) (tex vec4 (var_ref sampler_0) (var_ref flattening_tmp) 0 1 () )) 0x00000030: send(8) 2 g3<1>UW null sampler (10, 0, 0, 1) mlen 2 rlen 4 { align1 }; (assign (w) (var_ref gl_FragColor) (expression float * (swiz w (var_ref channel_expressions) )(swiz w (var_ref channel_expressions@43) )) ) 0x00000040: mul.sat(8) m6<1>F g6<8,8,1>F g2.3<0,1,0>F { align1 }; (assign (z) (var_ref gl_FragColor) (expression float * (swiz z (var_ref channel_expressions) )(swiz z (var_ref channel_expressions@44) )) ) 0x00000050: mul.sat(8) m5<1>F g5<8,8,1>F g2.2<0,1,0>F { align1 }; (assign (y) (var_ref gl_FragColor) (expression float * (swiz y (var_ref channel_expressions) )(swiz y (var_ref channel_expressions@45) )) ) 0x00000060: mul.sat(8) m4<1>F g4<8,8,1>F g2.1<0,1,0>F { align1 }; (assign (x) (var_ref gl_FragColor) (expression float * (swiz x (var_ref channel_expressions) )(swiz x (var_ref channel_expressions@46) )) ) 0x00000070: mul.sat(8) m3<1>F g3<8,8,1>F g2<0,1,0>F { align1 }; FB write target 0 0x00000080: mov(8) m2<1>F g1<8,8,1>F { align1 nomask }; 0x00000090: send(8) 1 null g0<8,8,1>UW write (0, 12, 4, 0) mlen 6 rlen 0 { align1 EOT }; END B0 Native code for fragment shader 0 (16-wide dispatch): START B0 (assign (x) (var_ref projector) (expression float rcp (swiz w (array_ref (var_ref gl_CurrentAttribFragMESA) (constant uint (8)) ) )) ) 0x000000c0: send(8) 2 g6<1>F g2.6<0,1,0>F math inv mlen 1 rlen 1 { align1 }; 0x000000d0: send(8) 3 g7<1>F g2.6<0,1,0>F math inv mlen 1 rlen 1 { align1 sechalf }; (assign (y) (var_ref flattening_tmp) (expression float * (swiz y (var_ref channel_expressions) )(var_ref projector) ) ) 0x000000e0: mul(16) m4<1>F g2.5<0,1,0>F g6<8,8,1>F { align1 compr }; (assign (x) (var_ref flattening_tmp) (expression float * (swiz x (var_ref channel_expressions) )(var_ref projector) ) ) 0x000000f0: mul(16) m2<1>F g2.4<0,1,0>F g6<8,8,1>F { align1 compr }; (assign (xyzw) (var_ref channel_expressions) (tex vec4 (var_ref sampler_0) (var_ref flattening_tmp) 0 1 () )) 0x00000100: send(16) 2 g4<1>UW null sampler (10, 0, 0, 2) mlen 4 rlen 8 { align1 }; (assign (w) (var_ref gl_FragColor) (expression float * (swiz w (var_ref channel_expressions) )(swiz w (var_ref channel_expressions@47) )) ) 0x00000110: mul.sat(16) m6<1>F g10<8,8,1>F g2.3<0,1,0>F { align1 compr4 }; (assign (z) (var_ref gl_FragColor) (expression float * (swiz z (var_ref channel_expressions) )(swiz z (var_ref channel_expressions@48) )) ) 0x00000120: mul.sat(16) m5<1>F g8<8,8,1>F g2.2<0,1,0>F { align1 compr4 }; (assign (y) (var_ref gl_FragColor) (expression float * (swiz y (var_ref channel_expressions) )(swiz y (var_ref channel_expressions@49) )) ) 0x00000130: mul.sat(16) m4<1>F g6<8,8,1>F g2.1<0,1,0>F { align1 compr4 }; (assign (x) (var_ref gl_FragColor) (expression float * (swiz x (var_ref channel_expressions) )(swiz x (var_ref channel_expressions@50) )) ) 0x00000140: mul.sat(16) m3<1>F g4<8,8,1>F g2<0,1,0>F { align1 compr4 }; FB write target 0 0x00000150: mov(8) m2<1>F g1<8,8,1>F { align1 nomask }; 0x00000160: send(16) 1 null g0<8,8,1>UW write (0, 8, 4, 0) mlen 10 rlen 0 { align1 EOT }; END B0 GLSL IR for native fragment shader 0: ( (declare (uniform ) sampler2D sampler_0) (declare (shader_out ) vec4 gl_FragColor) (declare (uniform ) (array vec4 4) gl_CurrentAttribFragMESA) (declare (shader_in ) (array vec4 1) gl_TexCoord) (function main (signature void (parameters ) ( (declare () float projector) (assign (x) (var_ref projector) (expression float rcp (swiz w (array_ref (var_ref gl_TexCoord) (constant uint (0)) ) )) ) (declare (temporary ) vec2 flattening_tmp) (declare (temporary ) vec2 channel_expressions) (assign (xy) (var_ref channel_expressions) (swiz xy (array_ref (var_ref gl_TexCoord) (constant uint (0)) ) )) (assign (x) (var_ref flattening_tmp) (expression float * (swiz x (var_ref channel_expressions) )(var_ref projector) ) ) (assign (y) (var_ref flattening_tmp) (expression float * (swiz y (var_ref channel_expressions) )(var_ref projector) ) ) (declare (temporary ) vec4 channel_expressions@51) (assign (xyzw) (var_ref channel_expressions@51) (tex vec4 (var_ref sampler_0) (var_ref flattening_tmp) 0 1 () )) (declare (temporary ) vec4 channel_expressions@52) (assign (xyzw) (var_ref channel_expressions@52) (array_ref (var_ref gl_CurrentAttribFragMESA) (constant uint (3)) ) ) (assign (x) (var_ref gl_FragColor) (expression float * (swiz x (var_ref channel_expressions@51) )(swiz x (var_ref channel_expressions@52) )) ) (assign (y) (var_ref gl_FragColor) (expression float * (swiz y (var_ref channel_expressions@51) )(swiz y (var_ref channel_expressions@52) )) ) (assign (z) (var_ref gl_FragColor) (expression float * (swiz z (var_ref channel_expressions@51) )(swiz z (var_ref channel_expressions@52) )) ) (assign (w) (var_ref gl_FragColor) (expression float * (swiz w (var_ref channel_expressions@51) )(swiz w (var_ref channel_expressions@52) )) ) )) ) ) Native code for fragment shader 0 (8-wide dispatch): START B0 (declare (shader_in ) (array vec4 1) gl_TexCoord) 0x00000000: mov(8) g10<1>F 1F { align1 }; compute pixel centers 0x00000010: add(8) g6<1>UW g1.5<2,4,0>UW 0x11001100V { align1 }; 0x00000020: add(8) g3<1>UW g1.4<2,4,0>UW 0x10101010V { align1 }; compute pixel deltas from v0 0x00000030: add(8) g9<1>F g6<8,8,1>UW -g1.1<0,1,0>F { align1 }; 0x00000040: add(8) g8<1>F g3<8,8,1>UW -g1<0,1,0>F { align1 }; (declare (shader_in ) (array vec4 1) gl_TexCoord) 0x00000050: pln(8) g7<1>F g5.4<0,1,0>F g8<8,8,1>F { align1 }; 0x00000060: pln(8) g6<1>F g5<0,1,0>F g8<8,8,1>F { align1 }; compute pos.w and 1/pos.w 0x00000070: pln(8) g3<1>F g4.4<0,1,0>F g8<8,8,1>F { align1 }; 0x00000080: send(8) 2 g3<1>F g3<8,8,1>F math inv mlen 1 rlen 1 { align1 }; (assign (x) (var_ref projector) (expression float rcp (swiz w (array_ref (var_ref gl_TexCoord) (constant uint (0)) ) )) ) 0x00000090: send(8) 2 g4<1>F g10<8,8,1>F math inv mlen 1 rlen 1 { align1 }; (declare (shader_in ) (array vec4 1) gl_TexCoord) 0x000000a0: mul(8) g7<1>F g7<8,8,1>F g3<8,8,1>F { align1 }; 0x000000b0: mul(8) g6<1>F g6<8,8,1>F g3<8,8,1>F { align1 }; (assign (y) (var_ref flattening_tmp) (expression float * (swiz y (var_ref channel_expressions) )(var_ref projector) ) ) 0x000000c0: mul(8) m3<1>F g7<8,8,1>F g4<8,8,1>F { align1 }; (assign (x) (var_ref flattening_tmp) (expression float * (swiz x (var_ref channel_expressions) )(var_ref projector) ) ) 0x000000d0: mul(8) m2<1>F g6<8,8,1>F g4<8,8,1>F { align1 }; (assign (xyzw) (var_ref channel_expressions) (tex vec4 (var_ref sampler_0) (var_ref flattening_tmp) 0 1 () )) 0x000000e0: send(8) 2 g3<1>UW null sampler (10, 0, 0, 1) mlen 2 rlen 4 { align1 }; (assign (w) (var_ref gl_FragColor) (expression float * (swiz w (var_ref channel_expressions) )(swiz w (var_ref channel_expressions@53) )) ) 0x000000f0: mul.sat(8) m6<1>F g6<8,8,1>F g2.3<0,1,0>F { align1 }; (assign (z) (var_ref gl_FragColor) (expression float * (swiz z (var_ref channel_expressions) )(swiz z (var_ref channel_expressions@54) )) ) 0x00000100: mul.sat(8) m5<1>F g5<8,8,1>F g2.2<0,1,0>F { align1 }; (assign (y) (var_ref gl_FragColor) (expression float * (swiz y (var_ref channel_expressions) )(swiz y (var_ref channel_expressions@55) )) ) 0x00000110: mul.sat(8) m4<1>F g4<8,8,1>F g2.1<0,1,0>F { align1 }; (assign (x) (var_ref gl_FragColor) (expression float * (swiz x (var_ref channel_expressions) )(swiz x (var_ref channel_expressions@56) )) ) 0x00000120: mul.sat(8) m3<1>F g3<8,8,1>F g2<0,1,0>F { align1 }; FB write target 0 0x00000130: mov(8) m2<1>F g1<8,8,1>F { align1 nomask }; 0x00000140: send(8) 1 null g0<8,8,1>UW write (0, 12, 4, 0) mlen 6 rlen 0 { align1 EOT }; END B0 Native code for fragment shader 0 (16-wide dispatch): START B0 (declare (shader_in ) (array vec4 1) gl_TexCoord) 0x00000180: mov(16) g16<1>F 1F { align1 compr }; compute pixel centers 0x00000190: add(16) g8<1>UW g1.5<2,4,0>UW 0x11001100V { align1 }; 0x000001a0: add(16) g6<1>UW g1.4<2,4,0>UW 0x10101010V { align1 }; compute pixel deltas from v0 0x000001b0: add(16) g12<1>F g8<8,8,1>UW -g1.1<0,1,0>F { align1 compr }; 0x000001c0: add(16) g10<1>F g6<8,8,1>UW -g1<0,1,0>F { align1 compr }; (declare (shader_in ) (array vec4 1) gl_TexCoord) 0x000001d0: line(16) null g5.4<0,1,0>F g10<8,8,1>F { align1 compr }; 0x000001e0: mac(16) g14<1>F g5.5<0,1,0>F g12<8,8,1>F { align1 compr }; 0x000001f0: line(16) null g5<0,1,0>F g10<8,8,1>F { align1 compr }; 0x00000200: mac(16) g8<1>F g5.1<0,1,0>F g12<8,8,1>F { align1 compr }; compute pos.w and 1/pos.w 0x00000210: line(16) null g4.4<0,1,0>F g10<8,8,1>F { align1 compr }; 0x00000220: mac(16) g6<1>F g4.5<0,1,0>F g12<8,8,1>F { align1 compr }; 0x00000230: send(8) 2 g4<1>F g6<8,8,1>F math inv mlen 1 rlen 1 { align1 }; 0x00000240: send(8) 3 g5<1>F g7<8,8,1>F math inv mlen 1 rlen 1 { align1 sechalf }; (assign (x) (var_ref projector) (expression float rcp (swiz w (array_ref (var_ref gl_TexCoord) (constant uint (0)) ) )) ) 0x00000250: send(8) 2 g6<1>F g16<8,8,1>F math inv mlen 1 rlen 1 { align1 }; 0x00000260: send(8) 3 g7<1>F g17<8,8,1>F math inv mlen 1 rlen 1 { align1 sechalf }; (declare (shader_in ) (array vec4 1) gl_TexCoord) 0x00000270: mul(16) g14<1>F g14<8,8,1>F g4<8,8,1>F { align1 compr }; 0x00000280: mul(16) g8<1>F g8<8,8,1>F g4<8,8,1>F { align1 compr }; (assign (y) (var_ref flattening_tmp) (expression float * (swiz y (var_ref channel_expressions) )(var_ref projector) ) ) 0x00000290: mul(16) m4<1>F g14<8,8,1>F g6<8,8,1>F { align1 compr }; (assign (x) (var_ref flattening_tmp) (expression float * (swiz x (var_ref channel_expressions) )(var_ref projector) ) ) 0x000002a0: mul(16) m2<1>F g8<8,8,1>F g6<8,8,1>F { align1 compr }; (assign (xyzw) (var_ref channel_expressions) (tex vec4 (var_ref sampler_0) (var_ref flattening_tmp) 0 1 () )) 0x000002b0: send(16) 2 g4<1>UW null sampler (10, 0, 0, 2) mlen 4 rlen 8 { align1 }; (assign (w) (var_ref gl_FragColor) (expression float * (swiz w (var_ref channel_expressions) )(swiz w (var_ref channel_expressions@57) )) ) 0x000002c0: mul.sat(16) m6<1>F g10<8,8,1>F g2.3<0,1,0>F { align1 compr4 }; (assign (z) (var_ref gl_FragColor) (expression float * (swiz z (var_ref channel_expressions) )(swiz z (var_ref channel_expressions@58) )) ) 0x000002d0: mul.sat(16) m5<1>F g8<8,8,1>F g2.2<0,1,0>F { align1 compr4 }; (assign (y) (var_ref gl_FragColor) (expression float * (swiz y (var_ref channel_expressions) )(swiz y (var_ref channel_expressions@59) )) ) 0x000002e0: mul.sat(16) m4<1>F g6<8,8,1>F g2.1<0,1,0>F { align1 compr4 }; (assign (x) (var_ref gl_FragColor) (expression float * (swiz x (var_ref channel_expressions) )(swiz x (var_ref channel_expressions@60) )) ) 0x000002f0: mul.sat(16) m3<1>F g4<8,8,1>F g2<0,1,0>F { align1 compr4 }; FB write target 0 0x00000300: mov(8) m2<1>F g1<8,8,1>F { align1 nomask }; 0x00000310: send(16) 1 null g0<8,8,1>UW write (0, 8, 4, 0) mlen 10 rlen 0 { align1 EOT }; END B0 fixme:win:EnumDisplayDevicesW ((null),0,0x32f178,0x00000000), stub! trace:d3d9:Direct3DCreate9 Created d3d9 object 0x11e3b8. trace:d3d9:d3d9_GetAdapterIdentifier iface 0x11e3b8, adapter 0, flags 0, identifier 0x32f8d0. visual.c:204: Driver string: "igxprd32.dll" visual.c:205: Description string: "Intel(R) Ironlake Mobile" visual.c:207: Device name string: "\\.\DISPLAY1" visual.c:209: Driver version 6.14.10.5218 trace:d3d9:d3d9_CreateDevice iface 0x11e3b8, adapter 0, device_type 0x1, focus_window 0x2005a, flags 0x40, parameters 0x32f860, device 0x32f658. trace:d3d9:device_parent_wined3d_device_created device_parent 0x12bf7c, device 0x12ea48. trace:d3d9:device_parent_create_swapchain device_parent 0x12bf7c, desc 0x12c370, swapchain 0x32f320 trace:d3d9:device_parent_create_swapchain_surface device_parent 0x12bf7c, container_parent 0x12c550, width 640, height 480, format_id 0x72, usage 0x1, multisample_type 0, multisample_quality 0, surface 0x12c580. trace:d3d9:d3d9_device_create_surface device 0x12bf78, width 640, height 480, format 0x15, lockable 0x1, discard 0, surface 0x32effc. usage 0x1, pool 0, multisample_type 0, multisample_quality 0. trace:d3d9:d3d9_device_AddRef 0x12bf78 increasing refcount to 2. trace:d3d9:d3d9_device_create_surface Created surface 0x12cc00. trace:d3d9:d3d9_surface_Release iface 0x12cc00. trace:d3d9:d3d9_surface_Release 0x12cc00 decreasing refcount to 0. trace:d3d9:d3d9_device_Release 0x12bf78 decreasing refcount to 1. trace:d3d9:device_parent_create_swapchain_surface device_parent 0x12bf7c, container_parent 0x12c550, width 640, height 480, format_id 0x72, usage 0x1, multisample_type 0, multisample_quality 0, surface 0x12bf10. trace:d3d9:d3d9_device_create_surface device 0x12bf78, width 640, height 480, format 0x15, lockable 0x1, discard 0, surface 0x32effc. usage 0x1, pool 0, multisample_type 0, multisample_quality 0. trace:d3d9:d3d9_device_AddRef 0x12bf78 increasing refcount to 2. trace:d3d9:d3d9_device_create_surface Created surface 0x12cf88. trace:d3d9:d3d9_surface_Release iface 0x12cf88. trace:d3d9:d3d9_surface_Release 0x12cf88 decreasing refcount to 0. trace:d3d9:d3d9_device_Release 0x12bf78 decreasing refcount to 1. trace:d3d9:device_parent_create_swapchain_surface device_parent 0x12bf7c, container_parent 0x12bf7c, width 640, height 480, format_id 0x48, usage 0x2, multisample_type 0, multisample_quality 0, surface 0x1316f0. trace:d3d9:d3d9_device_create_surface device 0x12bf78, width 640, height 480, format 0x4b, lockable 0x1, discard 0, surface 0x32effc. usage 0x2, pool 0, multisample_type 0, multisample_quality 0. trace:d3d9:d3d9_device_AddRef 0x12bf78 increasing refcount to 2. trace:d3d9:d3d9_device_create_surface Created surface 0x12d108. trace:d3d9:d3d9_surface_Release iface 0x12d108. trace:d3d9:d3d9_surface_Release 0x12d108 decreasing refcount to 0. trace:d3d9:d3d9_device_Release 0x12bf78 decreasing refcount to 1. trace:d3d9:d3d9_device_AddRef 0x12bf78 increasing refcount to 2. trace:d3d9:d3d9_swapchain_create Created swapchain 0x12c550. trace:d3d9:d3d9_swapchain_Release 0x12c550 decreasing refcount to 0. trace:d3d9:d3d9_device_Release 0x12bf78 decreasing refcount to 1. GLSL IR for native fragment shader 0: ( (declare (shader_out ) vec4 gl_FragColor) (declare (shader_in ) vec4 gl_Color) (function main (signature void (parameters ) ( (assign (xyzw) (var_ref gl_FragColor) (var_ref gl_Color) ) )) ) ) Native code for fragment shader 0 (8-wide dispatch): START B0 compute pixel centers 0x00000000: add(8) g6<1>UW g1.5<2,4,0>UW 0x11001100V { align1 }; 0x00000010: add(8) g2<1>UW g1.4<2,4,0>UW 0x10101010V { align1 }; compute pixel deltas from v0 0x00000020: add(8) g9<1>F g6<8,8,1>UW -g1.1<0,1,0>F { align1 }; 0x00000030: add(8) g8<1>F g2<8,8,1>UW -g1<0,1,0>F { align1 }; (declare (shader_in ) vec4 gl_Color) 0x00000040: pln(8) g10<1>F g5.4<0,1,0>F g8<8,8,1>F { align1 }; 0x00000050: pln(8) g7<1>F g5<0,1,0>F g8<8,8,1>F { align1 }; 0x00000060: pln(8) g6<1>F g4.4<0,1,0>F g8<8,8,1>F { align1 }; compute pos.w and 1/pos.w 0x00000070: pln(8) g2<1>F g3.4<0,1,0>F g8<8,8,1>F { align1 }; (declare (shader_in ) vec4 gl_Color) 0x00000080: pln(8) g5<1>F g4<0,1,0>F g8<8,8,1>F { align1 }; compute pos.w and 1/pos.w 0x00000090: send(8) 2 g2<1>F g2<8,8,1>F math inv mlen 1 rlen 1 { align1 }; (declare (shader_in ) vec4 gl_Color) 0x000000a0: mul.sat(8) m6<1>F g10<8,8,1>F g2<8,8,1>F { align1 }; 0x000000b0: mul.sat(8) m5<1>F g7<8,8,1>F g2<8,8,1>F { align1 }; 0x000000c0: mul.sat(8) m4<1>F g6<8,8,1>F g2<8,8,1>F { align1 }; 0x000000d0: mul.sat(8) m3<1>F g5<8,8,1>F g2<8,8,1>F { align1 }; FB write target 0 0x000000e0: mov(8) m2<1>F g1<8,8,1>F { align1 nomask }; 0x000000f0: send(8) 1 null g0<8,8,1>UW write (0, 12, 4, 0) mlen 6 rlen 0 { align1 EOT }; END B0 Native code for fragment shader 0 (16-wide dispatch): START B0 compute pixel centers 0x00000100: add(16) g8<1>UW g1.5<2,4,0>UW 0x11001100V { align1 }; 0x00000110: add(16) g6<1>UW g1.4<2,4,0>UW 0x10101010V { align1 }; compute pixel deltas from v0 0x00000120: add(16) g12<1>F g8<8,8,1>UW -g1.1<0,1,0>F { align1 compr }; 0x00000130: add(16) g10<1>F g6<8,8,1>UW -g1<0,1,0>F { align1 compr }; (declare (shader_in ) vec4 gl_Color) 0x00000140: line(16) null g5.4<0,1,0>F g10<8,8,1>F { align1 compr }; 0x00000150: mac(16) g16<1>F g5.5<0,1,0>F g12<8,8,1>F { align1 compr }; 0x00000160: line(16) null g5<0,1,0>F g10<8,8,1>F { align1 compr }; 0x00000170: mac(16) g14<1>F g5.1<0,1,0>F g12<8,8,1>F { align1 compr }; 0x00000180: line(16) null g4.4<0,1,0>F g10<8,8,1>F { align1 compr }; 0x00000190: mac(16) g8<1>F g4.5<0,1,0>F g12<8,8,1>F { align1 compr }; 0x000001a0: line(16) null g4<0,1,0>F g10<8,8,1>F { align1 compr }; 0x000001b0: mac(16) g6<1>F g4.1<0,1,0>F g12<8,8,1>F { align1 compr }; compute pos.w and 1/pos.w 0x000001c0: line(16) null g3.4<0,1,0>F g10<8,8,1>F { align1 compr }; 0x000001d0: mac(16) g4<1>F g3.5<0,1,0>F g12<8,8,1>F { align1 compr }; 0x000001e0: send(8) 2 g2<1>F g4<8,8,1>F math inv mlen 1 rlen 1 { align1 }; 0x000001f0: send(8) 3 g3<1>F g5<8,8,1>F math inv mlen 1 rlen 1 { align1 sechalf }; (declare (shader_in ) vec4 gl_Color) 0x00000200: mul.sat(16) m6<1>F g16<8,8,1>F g2<8,8,1>F { align1 compr4 }; 0x00000210: mul.sat(16) m5<1>F g14<8,8,1>F g2<8,8,1>F { align1 compr4 }; 0x00000220: mul.sat(16) m4<1>F g8<8,8,1>F g2<8,8,1>F { align1 compr4 }; 0x00000230: mul.sat(16) m3<1>F g6<8,8,1>F g2<8,8,1>F { align1 compr4 }; FB write target 0 0x00000240: mov(8) m2<1>F g1<8,8,1>F { align1 nomask }; 0x00000250: send(16) 1 null g0<8,8,1>UW write (0, 8, 4, 0) mlen 10 rlen 0 { align1 EOT }; END B0 GLSL IR for native fragment shader 3: ( (declare (uniform ) vec4 color) (declare (shader_out ) vec4 gl_FragColor) (function main (signature void (parameters ) ( (assign (xyzw) (var_ref gl_FragColor) (var_ref color) ) )) ) ) Native code for fragment shader 3 (8-wide dispatch): START B0 FB write target 0 0x00000000: mov.sat(8) m6<1>F g2.3<0,1,0>F { align1 }; 0x00000010: mov.sat(8) m5<1>F g2.2<0,1,0>F { align1 }; 0x00000020: mov.sat(8) m4<1>F g2.1<0,1,0>F { align1 }; 0x00000030: mov.sat(8) m3<1>F g2<0,1,0>F { align1 }; 0x00000040: mov(8) m2<1>F g1<8,8,1>F { align1 nomask }; 0x00000050: send(8) 1 null g0<8,8,1>UW write (0, 12, 4, 0) mlen 6 rlen 0 { align1 EOT }; END B0 Native code for fragment shader 3 (16-wide dispatch): START B0 FB write target 0 0x00000080: mov.sat(16) m6<1>F g2.3<0,1,0>F { align1 compr4 }; 0x00000090: mov.sat(16) m5<1>F g2.2<0,1,0>F { align1 compr4 }; 0x000000a0: mov.sat(16) m4<1>F g2.1<0,1,0>F { align1 compr4 }; 0x000000b0: mov.sat(16) m3<1>F g2<0,1,0>F { align1 compr4 }; 0x000000c0: mov(8) m2<1>F g1<8,8,1>F { align1 nomask }; 0x000000d0: send(16) 1 null g0<8,8,1>UW write (0, 8, 4, 0) mlen 10 rlen 0 { align1 EOT }; END B0 GLSL IR for native fragment shader 3: ( (declare (uniform ) vec4 color) (declare (shader_out ) vec4 gl_FragColor) (function main (signature void (parameters ) ( (assign (xyzw) (var_ref gl_FragColor) (var_ref color) ) )) ) ) Native code for fragment shader 3 (8-wide dispatch): START B0 FB write target 0 0x00000000: mov(8) m6<1>F g2.3<0,1,0>F { align1 }; 0x00000010: mov(8) m5<1>F g2.2<0,1,0>F { align1 }; 0x00000020: mov(8) m4<1>F g2.1<0,1,0>F { align1 }; 0x00000030: mov(8) m3<1>F g2<0,1,0>F { align1 }; 0x00000040: mov(8) m2<1>F g1<8,8,1>F { align1 nomask }; 0x00000050: send(8) 1 null g0<8,8,1>UW write (0, 12, 4, 0) mlen 6 rlen 0 { align1 EOT }; END B0 Native code for fragment shader 3 (16-wide dispatch): START B0 FB write target 0 0x00000080: mov(16) m6<1>F g2.3<0,1,0>F { align1 compr4 }; 0x00000090: mov(16) m5<1>F g2.2<0,1,0>F { align1 compr4 }; 0x000000a0: mov(16) m4<1>F g2.1<0,1,0>F { align1 compr4 }; 0x000000b0: mov(16) m3<1>F g2<0,1,0>F { align1 compr4 }; 0x000000c0: mov(8) m2<1>F g1<8,8,1>F { align1 nomask }; 0x000000d0: send(16) 1 null g0<8,8,1>UW write (0, 8, 4, 0) mlen 10 rlen 0 { align1 EOT }; END B0 trace:d3d9:d3d9_AddRef 0x11e3b8 increasing refcount to 2. trace:d3d9:d3d9_CreateDevice Created device 0x12bf78. trace:d3d9:d3d9_device_GetDeviceCaps iface 0x12bf78, caps 0x32f8d0. trace:d3d9:d3d9_device_Clear iface 0x12bf78, rect_count 0, rects (nil), flags 0x1, color 0xffff0000, z 0.00000000e+00, stencil 0. GLSL IR for native fragment shader 0: ( (declare (shader_out ) vec4 gl_FragColor) (declare (uniform ) (array vec4 4) gl_CurrentAttribFragMESA) (function main (signature void (parameters ) ( (assign (xyzw) (var_ref gl_FragColor) (array_ref (var_ref gl_CurrentAttribFragMESA) (constant uint (3)) ) ) )) ) ) Native code for fragment shader 0 (8-wide dispatch): START B0 FB write target 0 0x00000000: mov.sat(8) m6<1>F g2.3<0,1,0>F { align1 }; 0x00000010: mov.sat(8) m5<1>F g2.2<0,1,0>F { align1 }; 0x00000020: mov.sat(8) m4<1>F g2.1<0,1,0>F { align1 }; 0x00000030: mov.sat(8) m3<1>F g2<0,1,0>F { align1 }; 0x00000040: mov(8) m2<1>F g1<8,8,1>F { align1 nomask }; 0x00000050: send(8) 1 null g0<8,8,1>UW write (0, 12, 4, 0) mlen 6 rlen 0 { align1 EOT }; END B0 Native code for fragment shader 0 (16-wide dispatch): START B0 FB write target 0 0x00000080: mov.sat(16) m6<1>F g2.3<0,1,0>F { align1 compr4 }; 0x00000090: mov.sat(16) m5<1>F g2.2<0,1,0>F { align1 compr4 }; 0x000000a0: mov.sat(16) m4<1>F g2.1<0,1,0>F { align1 compr4 }; 0x000000b0: mov.sat(16) m3<1>F g2<0,1,0>F { align1 compr4 }; 0x000000c0: mov(8) m2<1>F g1<8,8,1>F { align1 nomask }; 0x000000d0: send(16) 1 null g0<8,8,1>UW write (0, 8, 4, 0) mlen 10 rlen 0 { align1 EOT }; END B0 GLSL IR for native fragment shader 3: ( (declare (uniform ) vec4 color) (declare (shader_out ) vec4 gl_FragColor) (function main (signature void (parameters ) ( (assign (xyzw) (var_ref gl_FragColor) (var_ref color) ) )) ) ) Native code for fragment shader 3 (8-wide dispatch): START B0 FB write target 0 0x00000000: mov(8) m6<1>F g2.3<0,1,0>F { align1 }; 0x00000010: mov(8) m5<1>F g2.2<0,1,0>F { align1 }; 0x00000020: mov(8) m4<1>F g2.1<0,1,0>F { align1 }; 0x00000030: mov(8) m3<1>F g2<0,1,0>F { align1 }; 0x00000040: mov(8) m2<1>F g1<8,8,1>F { align1 nomask }; 0x00000050: send(8) 1 null g0<8,8,1>UW write (0, 12, 4, 0) mlen 6 rlen 0 { align1 EOT }; END B0 Native code for fragment shader 3 (16-wide dispatch): START B0 FB write target 0 0x00000080: mov(16) m6<1>F g2.3<0,1,0>F { align1 compr4 }; 0x00000090: mov(16) m5<1>F g2.2<0,1,0>F { align1 compr4 }; 0x000000a0: mov(16) m4<1>F g2.1<0,1,0>F { align1 compr4 }; 0x000000b0: mov(16) m3<1>F g2<0,1,0>F { align1 compr4 }; 0x000000c0: mov(8) m2<1>F g1<8,8,1>F { align1 nomask }; 0x000000d0: send(16) 1 null g0<8,8,1>UW write (0, 8, 4, 0) mlen 10 rlen 0 { align1 EOT }; END B0 trace:d3d9:d3d9_device_CreateOffscreenPlainSurface iface 0x12bf78, width 640, height 480, format 0x15, pool 0x2, surface 0x32f5a0, shared_handle (nil). trace:d3d9:d3d9_device_create_surface device 0x12bf78, width 640, height 480, format 0x15, lockable 0x1, discard 0, surface 0x32f5a0. usage 0, pool 0x2, multisample_type 0, multisample_quality 0. trace:d3d9:d3d9_device_AddRef 0x12bf78 increasing refcount to 2. trace:d3d9:d3d9_device_create_surface Created surface 0x12c388. trace:d3d9:d3d9_device_GetRenderTarget iface 0x12bf78, idx 0, surface 0x32f5a4. trace:d3d9:d3d9_surface_AddRef iface 0x12cf88. trace:d3d9:d3d9_surface_AddRef 0x12cf88 increasing refcount to 1. trace:d3d9:d3d9_device_AddRef 0x12bf78 increasing refcount to 3. trace:d3d9:d3d9_device_GetRenderTargetData iface 0x12bf78, render_target 0x12cf88, dst_surface 0x12c388. trace:d3d9:d3d9_surface_LockRect iface 0x12c388, locked_rect 0x32f5a8, rect (1,1)-(2,2), flags 0x10. trace:d3d9:d3d9_surface_UnlockRect iface 0x12c388. trace:d3d9:d3d9_surface_Release iface 0x12cf88. trace:d3d9:d3d9_surface_Release 0x12cf88 decreasing refcount to 0. trace:d3d9:d3d9_device_Release 0x12bf78 decreasing refcount to 2. trace:d3d9:d3d9_surface_Release iface 0x12c388. trace:d3d9:d3d9_surface_Release 0x12c388 decreasing refcount to 0. trace:d3d9:d3d9_device_Release 0x12bf78 decreasing refcount to 1. trace:d3d9:d3d9_device_Present iface 0x12bf78, src_rect (nil), dst_rect (nil), dst_window_override (nil), dirty_region (nil). GLSL IR for native fragment shader 6: ( (declare (shader_in ) vec4 packed:texCoords) (declare (uniform ) sampler2D texSampler) (declare (shader_out ) vec4 gl_FragColor) (declare (shader_out ) float gl_FragDepth) (function main (signature void (parameters ) ( (declare (temporary ) vec4 texture2D_retval) (assign (xyzw) (var_ref texture2D_retval) (tex vec4 (var_ref texSampler) (swiz xy (var_ref packed:texCoords) ) 0 1 () )) (assign (xyzw) (var_ref gl_FragColor) (var_ref texture2D_retval) ) (assign (x) (var_ref gl_FragDepth) (swiz x (var_ref texture2D_retval) )) )) ) ) Native code for fragment shader 6 (8-wide dispatch): START B0 FB write header 0x00000000: mov(8) m8<1>F g2<8,8,1>F { align1 }; (assign (xyzw) (var_ref texture2D_retval) (tex vec4 (var_ref texSampler) (swiz xy (var_ref packed:texCoords) ) 0 1 () )) 0x00000010: mov(8) m3<1>F g7<8,8,1>F { align1 }; 0x00000020: mov(8) m2<1>F g6<8,8,1>F { align1 }; 0x00000030: send(8) 2 g2<1>UW null sampler (10, 0, 0, 1) mlen 2 rlen 4 { align1 }; FB write target 0 0x00000040: mov.sat(8) m6<1>F g5<8,8,1>F { align1 }; 0x00000050: mov.sat(8) m5<1>F g4<8,8,1>F { align1 }; 0x00000060: mov.sat(8) m4<1>F g3<8,8,1>F { align1 }; 0x00000070: mov.sat(8) m3<1>F g2<8,8,1>F { align1 }; FB write header 0x00000080: mov(8) m7<1>F g2<8,8,1>F { align1 }; FB write target 0 0x00000090: mov(8) m2<1>F g1<8,8,1>F { align1 nomask }; 0x000000a0: send(8) 1 null g0<8,8,1>UW write (0, 12, 4, 0) mlen 8 rlen 0 { align1 EOT }; END B0 Native code for fragment shader 6 (16-wide dispatch): START B0 FB write header 0x000000c0: mov(16) m13<1>F g2<8,8,1>F { align1 compr }; (assign (xyzw) (var_ref texture2D_retval) (tex vec4 (var_ref texSampler) (swiz xy (var_ref packed:texCoords) ) 0 1 () )) 0x000000d0: mov(16) m4<1>F g8<8,8,1>F { align1 compr }; 0x000000e0: mov(16) m2<1>F g6<8,8,1>F { align1 compr }; 0x000000f0: send(16) 2 g2<1>UW null sampler (10, 0, 0, 2) mlen 4 rlen 8 { align1 }; FB write target 0 0x00000100: mov.sat(16) m6<1>F g8<8,8,1>F { align1 compr4 }; 0x00000110: mov.sat(16) m5<1>F g6<8,8,1>F { align1 compr4 }; 0x00000120: mov.sat(16) m4<1>F g4<8,8,1>F { align1 compr4 }; 0x00000130: mov.sat(16) m3<1>F g2<8,8,1>F { align1 compr4 }; FB write header 0x00000140: mov(16) m11<1>F g2<8,8,1>F { align1 compr }; FB write target 0 0x00000150: mov(8) m2<1>F g1<8,8,1>F { align1 nomask }; 0x00000160: send(16) 1 null g0<8,8,1>UW write (0, 8, 4, 0) mlen 14 rlen 0 { align1 EOT }; END B0 GLSL IR for native fragment shader 6: ( (declare (shader_in ) vec4 packed:texCoords) (declare (uniform ) sampler2D texSampler) (declare (shader_out ) vec4 gl_FragColor) (declare (shader_out ) float gl_FragDepth) (function main (signature void (parameters ) ( (declare (temporary ) vec4 texture2D_retval) (assign (xyzw) (var_ref texture2D_retval) (tex vec4 (var_ref texSampler) (swiz xy (var_ref packed:texCoords) ) 0 1 () )) (assign (xyzw) (var_ref gl_FragColor) (var_ref texture2D_retval) ) (assign (x) (var_ref gl_FragDepth) (swiz x (var_ref texture2D_retval) )) )) ) ) Native code for fragment shader 6 (8-wide dispatch): START B0 compute pixel centers 0x00000000: add(8) g6<1>UW g1.5<2,4,0>UW 0x11001100V { align1 }; 0x00000010: add(8) g2<1>UW g1.4<2,4,0>UW 0x10101010V { align1 }; compute pixel deltas from v0 0x00000020: add(8) g9<1>F g6<8,8,1>UW -g1.1<0,1,0>F { align1 }; 0x00000030: add(8) g8<1>F g2<8,8,1>UW -g1<0,1,0>F { align1 }; (declare (shader_in ) vec4 packed:texCoords) 0x00000040: pln(8) g6<1>F g4.4<0,1,0>F g8<8,8,1>F { align1 }; 0x00000050: pln(8) g5<1>F g4<0,1,0>F g8<8,8,1>F { align1 }; compute pos.w and 1/pos.w 0x00000060: pln(8) g2<1>F g3.4<0,1,0>F g8<8,8,1>F { align1 }; 0x00000070: send(8) 2 g2<1>F g2<8,8,1>F math inv mlen 1 rlen 1 { align1 }; (declare (shader_in ) vec4 packed:texCoords) 0x00000080: mul(8) m3<1>F g6<8,8,1>F g2<8,8,1>F { align1 }; 0x00000090: mul(8) m2<1>F g5<8,8,1>F g2<8,8,1>F { align1 }; (assign (xyzw) (var_ref texture2D_retval) (tex vec4 (var_ref texSampler) (swiz xy (var_ref packed:texCoords) ) 0 1 () )) 0x000000a0: send(8) 2 g2<1>UW null sampler (10, 0, 0, 1) mlen 2 rlen 4 { align1 }; FB write target 0 0x000000b0: mov(8) m6<1>F g5<8,8,1>F { align1 }; 0x000000c0: mov(8) m5<1>F g4<8,8,1>F { align1 }; 0x000000d0: mov(8) m4<1>F g3<8,8,1>F { align1 }; 0x000000e0: mov(8) m3<1>F g2<8,8,1>F { align1 }; 0x000000f0: mov(8) m2<1>F g1<8,8,1>F { align1 nomask }; 0x00000100: send(8) 1 null g0<8,8,1>UW write (0, 12, 4, 0) mlen 6 rlen 0 { align1 EOT }; END B0 Native code for fragment shader 6 (16-wide dispatch): START B0 compute pixel centers 0x00000140: add(16) g8<1>UW g1.5<2,4,0>UW 0x11001100V { align1 }; 0x00000150: add(16) g6<1>UW g1.4<2,4,0>UW 0x10101010V { align1 }; compute pixel deltas from v0 0x00000160: add(16) g12<1>F g8<8,8,1>UW -g1.1<0,1,0>F { align1 compr }; 0x00000170: add(16) g10<1>F g6<8,8,1>UW -g1<0,1,0>F { align1 compr }; (declare (shader_in ) vec4 packed:texCoords) 0x00000180: line(16) null g4.4<0,1,0>F g10<8,8,1>F { align1 compr }; 0x00000190: mac(16) g8<1>F g4.5<0,1,0>F g12<8,8,1>F { align1 compr }; 0x000001a0: line(16) null g4<0,1,0>F g10<8,8,1>F { align1 compr }; 0x000001b0: mac(16) g6<1>F g4.1<0,1,0>F g12<8,8,1>F { align1 compr }; compute pos.w and 1/pos.w 0x000001c0: line(16) null g3.4<0,1,0>F g10<8,8,1>F { align1 compr }; 0x000001d0: mac(16) g4<1>F g3.5<0,1,0>F g12<8,8,1>F { align1 compr }; 0x000001e0: send(8) 2 g2<1>F g4<8,8,1>F math inv mlen 1 rlen 1 { align1 }; 0x000001f0: send(8) 3 g3<1>F g5<8,8,1>F math inv mlen 1 rlen 1 { align1 sechalf }; (declare (shader_in ) vec4 packed:texCoords) 0x00000200: mul(16) m4<1>F g8<8,8,1>F g2<8,8,1>F { align1 compr }; 0x00000210: mul(16) m2<1>F g6<8,8,1>F g2<8,8,1>F { align1 compr }; (assign (xyzw) (var_ref texture2D_retval) (tex vec4 (var_ref texSampler) (swiz xy (var_ref packed:texCoords) ) 0 1 () )) 0x00000220: send(16) 2 g2<1>UW null sampler (10, 0, 0, 2) mlen 4 rlen 8 { align1 }; FB write target 0 0x00000230: mov(16) m6<1>F g8<8,8,1>F { align1 compr4 }; 0x00000240: mov(16) m5<1>F g6<8,8,1>F { align1 compr4 }; 0x00000250: mov(16) m4<1>F g4<8,8,1>F { align1 compr4 }; 0x00000260: mov(16) m3<1>F g2<8,8,1>F { align1 compr4 }; 0x00000270: mov(8) m2<1>F g1<8,8,1>F { align1 nomask }; 0x00000280: send(16) 1 null g0<8,8,1>UW write (0, 8, 4, 0) mlen 10 rlen 0 { align1 EOT }; END B0 trace:d3d9:d3d9_device_Clear iface 0x12bf78, rect_count 0, rects (nil), flags 0x1, color 0xff00ddee, z 0.00000000e+00, stencil 0. trace:d3d9:d3d9_device_CreateOffscreenPlainSurface iface 0x12bf78, width 640, height 480, format 0x15, pool 0x2, surface 0x32f5a0, shared_handle (nil). trace:d3d9:d3d9_device_create_surface device 0x12bf78, width 640, height 480, format 0x15, lockable 0x1, discard 0, surface 0x32f5a0. usage 0, pool 0x2, multisample_type 0, multisample_quality 0. trace:d3d9:d3d9_device_AddRef 0x12bf78 increasing refcount to 2. trace:d3d9:d3d9_device_create_surface Created surface 0x12d588. trace:d3d9:d3d9_device_GetRenderTarget iface 0x12bf78, idx 0, surface 0x32f5a4. trace:d3d9:d3d9_surface_AddRef iface 0x12cf88. trace:d3d9:d3d9_surface_AddRef 0x12cf88 increasing refcount to 1. trace:d3d9:d3d9_device_AddRef 0x12bf78 increasing refcount to 3. trace:d3d9:d3d9_device_GetRenderTargetData iface 0x12bf78, render_target 0x12cf88, dst_surface 0x12d588. trace:d3d9:d3d9_surface_LockRect iface 0x12d588, locked_rect 0x32f5a8, rect (639,479)-(640,480), flags 0x10. trace:d3d9:d3d9_surface_UnlockRect iface 0x12d588. trace:d3d9:d3d9_surface_Release iface 0x12cf88. trace:d3d9:d3d9_surface_Release 0x12cf88 decreasing refcount to 0. trace:d3d9:d3d9_device_Release 0x12bf78 decreasing refcount to 2. trace:d3d9:d3d9_surface_Release iface 0x12d588. trace:d3d9:d3d9_surface_Release 0x12d588 decreasing refcount to 0. trace:d3d9:d3d9_device_Release 0x12bf78 decreasing refcount to 1. trace:d3d9:d3d9_device_Present iface 0x12bf78, src_rect (nil), dst_rect (nil), dst_window_override (nil), dirty_region (nil). trace:d3d9:d3d9_device_Clear iface 0x12bf78, rect_count 0, rects (nil), flags 0x1, color 0xffffffff, z 0.00000000e+00, stencil 0. trace:d3d9:d3d9_device_SetTransform iface 0x12bf78, state 0x100, matrix 0x32f668. trace:d3d9:d3d9_device_SetTransform iface 0x12bf78, state 0x2, matrix 0x32f668. trace:d3d9:d3d9_device_SetTransform iface 0x12bf78, state 0x3, matrix 0x32f668. trace:d3d9:d3d9_device_SetRenderState iface 0x12bf78, state 0x88, value 0. trace:d3d9:d3d9_device_SetRenderState iface 0x12bf78, state 0x7, value 0. trace:d3d9:d3d9_device_SetRenderState iface 0x12bf78, state 0x1c, value 0. trace:d3d9:d3d9_device_SetRenderState iface 0x12bf78, state 0x34, value 0. trace:d3d9:d3d9_device_SetRenderState iface 0x12bf78, state 0xf, value 0. trace:d3d9:d3d9_device_SetRenderState iface 0x12bf78, state 0x1b, value 0. trace:d3d9:d3d9_device_SetRenderState iface 0x12bf78, state 0xae, value 0. trace:d3d9:d3d9_device_SetRenderState iface 0x12bf78, state 0x16, value 0x1. trace:d3d9:d3d9_device_GetRenderState iface 0x12bf78, state 0xa8, value 0x32f658. trace:d3d9:d3d9_device_SetRenderState iface 0x12bf78, state 0xa8, value 0x7. trace:d3d9:d3d9_device_SetFVF iface 0x12bf78, fvf 0. warn:d3d9:d3d9_device_SetFVF 0 is not a valid FVF. trace:d3d9:d3d9_device_SetFVF iface 0x12bf78, fvf 0x42. trace:d3d9:device_get_fvf_declaration Searching for declaration for fvf 00000042... not found. Creating and inserting at position 0. trace:d3d9:convert_to_wined3d_declaration d3d9_elements 0x12d588, wined3d_elements 0x32f52c trace:d3d9:d3d9_device_AddRef 0x12bf78 increasing refcount to 2. trace:d3d9:d3d9_vertex_declaration_create Created vertex declaration 0x12d5a8. trace:d3d9:d3d9_vertex_declaration_Release 0x12d5a8 decreasing refcount to 0. trace:d3d9:d3d9_device_Release 0x12bf78 decreasing refcount to 1. trace:d3d9:device_get_fvf_declaration Returning 0x12d668. 1 declatations in array. trace:d3d9:d3d9_device_BeginScene iface 0x12bf78. trace:d3d9:d3d9_device_SetRenderState iface 0x12bf78, state 0x89, value 0. trace:d3d9:d3d9_device_DrawIndexedPrimitiveUP iface 0x12bf78, primitive_type 0x4, min_vertex_idx 0, vertex_count 4, primitive_count 2, index_data 0x32f65c, index_format 0x65, vertex_data 0x32f6a8, vertex_stride 16. trace:d3d9:d3d9_device_prepare_vertex_buffer Growing vertex buffer to 64 bytes fixme:d3d:resource_check_usage Unhandled usage flags 0x8. trace:d3d9:d3d9_device_prepare_index_buffer Growing index buffer to 12 bytes fixme:d3d:resource_check_usage Unhandled usage flags 0x8. GLSL IR for native fragment shader 8: ( (declare (uniform ) vec4 specular_enable) (declare (shader_in ) vec4 gl_Color) (declare (shader_in ) vec4 gl_SecondaryColor) (declare (shader_out ) (array vec4 1) gl_FragData) (function main (signature void (parameters ) ( (declare (temporary ) vec4 flattening_tmp) (assign (x) (var_ref flattening_tmp) (expression float + (expression float * (swiz x (var_ref gl_SecondaryColor) )(swiz x (var_ref specular_enable) )) (swiz x (var_ref gl_Color) )) ) (assign (y) (var_ref flattening_tmp) (expression float + (expression float * (swiz y (var_ref gl_SecondaryColor) )(swiz y (var_ref specular_enable) )) (swiz y (var_ref gl_Color) )) ) (assign (z) (var_ref flattening_tmp) (expression float + (expression float * (swiz z (var_ref gl_SecondaryColor) )(swiz z (var_ref specular_enable) )) (swiz z (var_ref gl_Color) )) ) (assign (w) (var_ref flattening_tmp) (expression float + (expression float * (swiz w (var_ref gl_SecondaryColor) )(swiz w (var_ref specular_enable) )) (swiz w (var_ref gl_Color) )) ) (assign (xyzw) (array_ref (var_ref gl_FragData) (constant int (0)) ) (var_ref flattening_tmp) ) )) ) ) Native code for fragment shader 8 (8-wide dispatch): START B0 compute pixel centers 0x00000000: add(8) g9<1>UW g1.5<2,4,0>UW 0x11001100V { align1 }; 0x00000010: add(8) g3<1>UW g1.4<2,4,0>UW 0x10101010V { align1 }; compute pixel deltas from v0 0x00000020: add(8) g11<1>F g9<8,8,1>UW -g1.1<0,1,0>F { align1 }; 0x00000030: add(8) g10<1>F g3<8,8,1>UW -g1<0,1,0>F { align1 }; (declare (shader_in ) vec4 gl_SecondaryColor) 0x00000040: pln(8) g9<1>F g8.4<0,1,0>F g10<8,8,1>F { align1 }; 0x00000050: pln(8) g16<1>F g8<0,1,0>F g10<8,8,1>F { align1 }; 0x00000060: pln(8) g15<1>F g7.4<0,1,0>F g10<8,8,1>F { align1 }; (declare (shader_in ) vec4 gl_Color) 0x00000070: pln(8) g14<1>F g6.4<0,1,0>F g10<8,8,1>F { align1 }; 0x00000080: pln(8) g13<1>F g6<0,1,0>F g10<8,8,1>F { align1 }; 0x00000090: pln(8) g12<1>F g5.4<0,1,0>F g10<8,8,1>F { align1 }; compute pos.w and 1/pos.w 0x000000a0: pln(8) g3<1>F g4.4<0,1,0>F g10<8,8,1>F { align1 }; (declare (shader_in ) vec4 gl_SecondaryColor) 0x000000b0: pln(8) g8<1>F g7<0,1,0>F g10<8,8,1>F { align1 }; (declare (shader_in ) vec4 gl_Color) 0x000000c0: pln(8) g6<1>F g5<0,1,0>F g10<8,8,1>F { align1 }; compute pos.w and 1/pos.w 0x000000d0: send(8) 2 g3<1>F g3<8,8,1>F math inv mlen 1 rlen 1 { align1 }; (declare (shader_in ) vec4 gl_SecondaryColor) 0x000000e0: mul(8) g9<1>F g9<8,8,1>F g3<8,8,1>F { align1 }; 0x000000f0: mul(8) g16<1>F g16<8,8,1>F g3<8,8,1>F { align1 }; 0x00000100: mul(8) g15<1>F g15<8,8,1>F g3<8,8,1>F { align1 }; 0x00000110: mul(8) g8<1>F g8<8,8,1>F g3<8,8,1>F { align1 }; (declare (shader_in ) vec4 gl_Color) 0x00000120: mul(8) g14<1>F g14<8,8,1>F g3<8,8,1>F { align1 }; 0x00000130: mul(8) g13<1>F g13<8,8,1>F g3<8,8,1>F { align1 }; 0x00000140: mul(8) g12<1>F g12<8,8,1>F g3<8,8,1>F { align1 }; 0x00000150: mul(8) g6<1>F g6<8,8,1>F g3<8,8,1>F { align1 }; (assign (w) (var_ref flattening_tmp) (expression float + (expression float * (swiz w (var_ref gl_SecondaryColor) )(swiz w (var_ref specular_enable) )) (swiz w (var_ref gl_Color) )) ) 0x00000160: mul(8) g9<1>F g9<8,8,1>F g2.3<0,1,0>F { align1 }; (assign (z) (var_ref flattening_tmp) (expression float + (expression float * (swiz z (var_ref gl_SecondaryColor) )(swiz z (var_ref specular_enable) )) (swiz z (var_ref gl_Color) )) ) 0x00000170: mul(8) g7<1>F g16<8,8,1>F g2.2<0,1,0>F { align1 }; (assign (y) (var_ref flattening_tmp) (expression float + (expression float * (swiz y (var_ref gl_SecondaryColor) )(swiz y (var_ref specular_enable) )) (swiz y (var_ref gl_Color) )) ) 0x00000180: mul(8) g5<1>F g15<8,8,1>F g2.1<0,1,0>F { align1 }; (assign (x) (var_ref flattening_tmp) (expression float + (expression float * (swiz x (var_ref gl_SecondaryColor) )(swiz x (var_ref specular_enable) )) (swiz x (var_ref gl_Color) )) ) 0x00000190: mul(8) g4<1>F g8<8,8,1>F g2<0,1,0>F { align1 }; (assign (w) (var_ref flattening_tmp) (expression float + (expression float * (swiz w (var_ref gl_SecondaryColor) )(swiz w (var_ref specular_enable) )) (swiz w (var_ref gl_Color) )) ) 0x000001a0: add.sat(8) m6<1>F g9<8,8,1>F g14<8,8,1>F { align1 }; (assign (z) (var_ref flattening_tmp) (expression float + (expression float * (swiz z (var_ref gl_SecondaryColor) )(swiz z (var_ref specular_enable) )) (swiz z (var_ref gl_Color) )) ) 0x000001b0: add.sat(8) m5<1>F g7<8,8,1>F g13<8,8,1>F { align1 }; (assign (y) (var_ref flattening_tmp) (expression float + (expression float * (swiz y (var_ref gl_SecondaryColor) )(swiz y (var_ref specular_enable) )) (swiz y (var_ref gl_Color) )) ) 0x000001c0: add.sat(8) m4<1>F g5<8,8,1>F g12<8,8,1>F { align1 }; (assign (x) (var_ref flattening_tmp) (expression float + (expression float * (swiz x (var_ref gl_SecondaryColor) )(swiz x (var_ref specular_enable) )) (swiz x (var_ref gl_Color) )) ) 0x000001d0: add.sat(8) m3<1>F g4<8,8,1>F g6<8,8,1>F { align1 }; FB write target 0 0x000001e0: mov(8) m2<1>F g1<8,8,1>F { align1 nomask }; 0x000001f0: send(8) 1 null g0<8,8,1>UW write (0, 12, 4, 0) mlen 6 rlen 0 { align1 EOT }; END B0 Native code for fragment shader 8 (16-wide dispatch): START B0 compute pixel centers 0x00000200: add(16) g12<1>UW g1.5<2,4,0>UW 0x11001100V { align1 }; 0x00000210: add(16) g10<1>UW g1.4<2,4,0>UW 0x10101010V { align1 }; compute pixel deltas from v0 0x00000220: add(16) g16<1>F g12<8,8,1>UW -g1.1<0,1,0>F { align1 compr }; 0x00000230: add(16) g14<1>F g10<8,8,1>UW -g1<0,1,0>F { align1 compr }; (declare (shader_in ) vec4 gl_SecondaryColor) 0x00000240: line(16) null g8.4<0,1,0>F g14<8,8,1>F { align1 compr }; 0x00000250: mac(16) g26<1>F g8.5<0,1,0>F g16<8,8,1>F { align1 compr }; 0x00000260: line(16) null g8<0,1,0>F g14<8,8,1>F { align1 compr }; 0x00000270: mac(16) g24<1>F g8.1<0,1,0>F g16<8,8,1>F { align1 compr }; 0x00000280: line(16) null g7.4<0,1,0>F g14<8,8,1>F { align1 compr }; 0x00000290: mac(16) g12<1>F g7.5<0,1,0>F g16<8,8,1>F { align1 compr }; 0x000002a0: line(16) null g7<0,1,0>F g14<8,8,1>F { align1 compr }; 0x000002b0: mac(16) g10<1>F g7.1<0,1,0>F g16<8,8,1>F { align1 compr }; (declare (shader_in ) vec4 gl_Color) 0x000002c0: line(16) null g6.4<0,1,0>F g14<8,8,1>F { align1 compr }; 0x000002d0: mac(16) g22<1>F g6.5<0,1,0>F g16<8,8,1>F { align1 compr }; 0x000002e0: line(16) null g6<0,1,0>F g14<8,8,1>F { align1 compr }; 0x000002f0: mac(16) g20<1>F g6.1<0,1,0>F g16<8,8,1>F { align1 compr }; 0x00000300: line(16) null g5.4<0,1,0>F g14<8,8,1>F { align1 compr }; 0x00000310: mac(16) g18<1>F g5.5<0,1,0>F g16<8,8,1>F { align1 compr }; 0x00000320: line(16) null g5<0,1,0>F g14<8,8,1>F { align1 compr }; 0x00000330: mac(16) g8<1>F g5.1<0,1,0>F g16<8,8,1>F { align1 compr }; compute pos.w and 1/pos.w 0x00000340: line(16) null g4.4<0,1,0>F g14<8,8,1>F { align1 compr }; 0x00000350: mac(16) g6<1>F g4.5<0,1,0>F g16<8,8,1>F { align1 compr }; 0x00000360: send(8) 2 g4<1>F g6<8,8,1>F math inv mlen 1 rlen 1 { align1 }; 0x00000370: send(8) 3 g5<1>F g7<8,8,1>F math inv mlen 1 rlen 1 { align1 sechalf }; (declare (shader_in ) vec4 gl_SecondaryColor) 0x00000380: mul(16) g26<1>F g26<8,8,1>F g4<8,8,1>F { align1 compr }; 0x00000390: mul(16) g24<1>F g24<8,8,1>F g4<8,8,1>F { align1 compr }; 0x000003a0: mul(16) g12<1>F g12<8,8,1>F g4<8,8,1>F { align1 compr }; 0x000003b0: mul(16) g10<1>F g10<8,8,1>F g4<8,8,1>F { align1 compr }; (declare (shader_in ) vec4 gl_Color) 0x000003c0: mul(16) g22<1>F g22<8,8,1>F g4<8,8,1>F { align1 compr }; 0x000003d0: mul(16) g20<1>F g20<8,8,1>F g4<8,8,1>F { align1 compr }; 0x000003e0: mul(16) g18<1>F g18<8,8,1>F g4<8,8,1>F { align1 compr }; 0x000003f0: mul(16) g8<1>F g8<8,8,1>F g4<8,8,1>F { align1 compr }; (assign (w) (var_ref flattening_tmp) (expression float + (expression float * (swiz w (var_ref gl_SecondaryColor) )(swiz w (var_ref specular_enable) )) (swiz w (var_ref gl_Color) )) ) 0x00000400: mul(16) g16<1>F g26<8,8,1>F g2.3<0,1,0>F { align1 compr }; (assign (z) (var_ref flattening_tmp) (expression float + (expression float * (swiz z (var_ref gl_SecondaryColor) )(swiz z (var_ref specular_enable) )) (swiz z (var_ref gl_Color) )) ) 0x00000410: mul(16) g14<1>F g24<8,8,1>F g2.2<0,1,0>F { align1 compr }; (assign (y) (var_ref flattening_tmp) (expression float + (expression float * (swiz y (var_ref gl_SecondaryColor) )(swiz y (var_ref specular_enable) )) (swiz y (var_ref gl_Color) )) ) 0x00000420: mul(16) g12<1>F g12<8,8,1>F g2.1<0,1,0>F { align1 compr }; (assign (x) (var_ref flattening_tmp) (expression float + (expression float * (swiz x (var_ref gl_SecondaryColor) )(swiz x (var_ref specular_enable) )) (swiz x (var_ref gl_Color) )) ) 0x00000430: mul(16) g6<1>F g10<8,8,1>F g2<0,1,0>F { align1 compr }; (assign (w) (var_ref flattening_tmp) (expression float + (expression float * (swiz w (var_ref gl_SecondaryColor) )(swiz w (var_ref specular_enable) )) (swiz w (var_ref gl_Color) )) ) 0x00000440: add.sat(16) m6<1>F g16<8,8,1>F g22<8,8,1>F { align1 compr4 }; (assign (z) (var_ref flattening_tmp) (expression float + (expression float * (swiz z (var_ref gl_SecondaryColor) )(swiz z (var_ref specular_enable) )) (swiz z (var_ref gl_Color) )) ) 0x00000450: add.sat(16) m5<1>F g14<8,8,1>F g20<8,8,1>F { align1 compr4 }; (assign (y) (var_ref flattening_tmp) (expression float + (expression float * (swiz y (var_ref gl_SecondaryColor) )(swiz y (var_ref specular_enable) )) (swiz y (var_ref gl_Color) )) ) 0x00000460: add.sat(16) m4<1>F g12<8,8,1>F g18<8,8,1>F { align1 compr4 }; (assign (x) (var_ref flattening_tmp) (expression float + (expression float * (swiz x (var_ref gl_SecondaryColor) )(swiz x (var_ref specular_enable) )) (swiz x (var_ref gl_Color) )) ) 0x00000470: add.sat(16) m3<1>F g6<8,8,1>F g8<8,8,1>F { align1 compr4 }; FB write target 0 0x00000480: mov(8) m2<1>F g1<8,8,1>F { align1 nomask }; 0x00000490: send(16) 1 null g0<8,8,1>UW write (0, 8, 4, 0) mlen 10 rlen 0 { align1 EOT }; END B0 GLSL IR for native fragment shader 8: ( (declare (uniform ) vec4 specular_enable) (declare (shader_in ) vec4 gl_Color) (declare (shader_in ) vec4 gl_SecondaryColor) (declare (shader_out ) (array vec4 1) gl_FragData) (function main (signature void (parameters ) ( (declare (temporary ) vec4 flattening_tmp) (assign (x) (var_ref flattening_tmp) (expression float + (expression float * (swiz x (var_ref gl_SecondaryColor) )(swiz x (var_ref specular_enable) )) (swiz x (var_ref gl_Color) )) ) (assign (y) (var_ref flattening_tmp) (expression float + (expression float * (swiz y (var_ref gl_SecondaryColor) )(swiz y (var_ref specular_enable) )) (swiz y (var_ref gl_Color) )) ) (assign (z) (var_ref flattening_tmp) (expression float + (expression float * (swiz z (var_ref gl_SecondaryColor) )(swiz z (var_ref specular_enable) )) (swiz z (var_ref gl_Color) )) ) (assign (w) (var_ref flattening_tmp) (expression float + (expression float * (swiz w (var_ref gl_SecondaryColor) )(swiz w (var_ref specular_enable) )) (swiz w (var_ref gl_Color) )) ) (assign (xyzw) (array_ref (var_ref gl_FragData) (constant int (0)) ) (var_ref flattening_tmp) ) )) ) ) Native code for fragment shader 8 (8-wide dispatch): START B0 compute pixel centers 0x00000000: add(8) g9<1>UW g1.5<2,4,0>UW 0x11001100V { align1 }; 0x00000010: add(8) g3<1>UW g1.4<2,4,0>UW 0x10101010V { align1 }; compute pixel deltas from v0 0x00000020: add(8) g11<1>F g9<8,8,1>UW -g1.1<0,1,0>F { align1 }; 0x00000030: add(8) g10<1>F g3<8,8,1>UW -g1<0,1,0>F { align1 }; (declare (shader_in ) vec4 gl_SecondaryColor) 0x00000040: pln(8) g9<1>F g8.4<0,1,0>F g10<8,8,1>F { align1 }; 0x00000050: pln(8) g16<1>F g8<0,1,0>F g10<8,8,1>F { align1 }; 0x00000060: pln(8) g15<1>F g7.4<0,1,0>F g10<8,8,1>F { align1 }; (declare (shader_in ) vec4 gl_Color) 0x00000070: pln(8) g14<1>F g6.4<0,1,0>F g10<8,8,1>F { align1 }; 0x00000080: pln(8) g13<1>F g6<0,1,0>F g10<8,8,1>F { align1 }; 0x00000090: pln(8) g12<1>F g5.4<0,1,0>F g10<8,8,1>F { align1 }; compute pos.w and 1/pos.w 0x000000a0: pln(8) g3<1>F g4.4<0,1,0>F g10<8,8,1>F { align1 }; (declare (shader_in ) vec4 gl_SecondaryColor) 0x000000b0: pln(8) g8<1>F g7<0,1,0>F g10<8,8,1>F { align1 }; (declare (shader_in ) vec4 gl_Color) 0x000000c0: pln(8) g6<1>F g5<0,1,0>F g10<8,8,1>F { align1 }; compute pos.w and 1/pos.w 0x000000d0: send(8) 2 g3<1>F g3<8,8,1>F math inv mlen 1 rlen 1 { align1 }; (declare (shader_in ) vec4 gl_SecondaryColor) 0x000000e0: mul(8) g9<1>F g9<8,8,1>F g3<8,8,1>F { align1 }; 0x000000f0: mul(8) g16<1>F g16<8,8,1>F g3<8,8,1>F { align1 }; 0x00000100: mul(8) g15<1>F g15<8,8,1>F g3<8,8,1>F { align1 }; 0x00000110: mul(8) g8<1>F g8<8,8,1>F g3<8,8,1>F { align1 }; (declare (shader_in ) vec4 gl_Color) 0x00000120: mul(8) g14<1>F g14<8,8,1>F g3<8,8,1>F { align1 }; 0x00000130: mul(8) g13<1>F g13<8,8,1>F g3<8,8,1>F { align1 }; 0x00000140: mul(8) g12<1>F g12<8,8,1>F g3<8,8,1>F { align1 }; 0x00000150: mul(8) g6<1>F g6<8,8,1>F g3<8,8,1>F { align1 }; (assign (w) (var_ref flattening_tmp) (expression float + (expression float * (swiz w (var_ref gl_SecondaryColor) )(swiz w (var_ref specular_enable) )) (swiz w (var_ref gl_Color) )) ) 0x00000160: mul(8) g9<1>F g9<8,8,1>F g2.3<0,1,0>F { align1 }; (assign (z) (var_ref flattening_tmp) (expression float + (expression float * (swiz z (var_ref gl_SecondaryColor) )(swiz z (var_ref specular_enable) )) (swiz z (var_ref gl_Color) )) ) 0x00000170: mul(8) g7<1>F g16<8,8,1>F g2.2<0,1,0>F { align1 }; (assign (y) (var_ref flattening_tmp) (expression float + (expression float * (swiz y (var_ref gl_SecondaryColor) )(swiz y (var_ref specular_enable) )) (swiz y (var_ref gl_Color) )) ) 0x00000180: mul(8) g5<1>F g15<8,8,1>F g2.1<0,1,0>F { align1 }; (assign (x) (var_ref flattening_tmp) (expression float + (expression float * (swiz x (var_ref gl_SecondaryColor) )(swiz x (var_ref specular_enable) )) (swiz x (var_ref gl_Color) )) ) 0x00000190: mul(8) g4<1>F g8<8,8,1>F g2<0,1,0>F { align1 }; (assign (w) (var_ref flattening_tmp) (expression float + (expression float * (swiz w (var_ref gl_SecondaryColor) )(swiz w (var_ref specular_enable) )) (swiz w (var_ref gl_Color) )) ) 0x000001a0: add.sat(8) m6<1>F g9<8,8,1>F g14<8,8,1>F { align1 }; (assign (z) (var_ref flattening_tmp) (expression float + (expression float * (swiz z (var_ref gl_SecondaryColor) )(swiz z (var_ref specular_enable) )) (swiz z (var_ref gl_Color) )) ) 0x000001b0: add.sat(8) m5<1>F g7<8,8,1>F g13<8,8,1>F { align1 }; (assign (y) (var_ref flattening_tmp) (expression float + (expression float * (swiz y (var_ref gl_SecondaryColor) )(swiz y (var_ref specular_enable) )) (swiz y (var_ref gl_Color) )) ) 0x000001c0: add.sat(8) m4<1>F g5<8,8,1>F g12<8,8,1>F { align1 }; (assign (x) (var_ref flattening_tmp) (expression float + (expression float * (swiz x (var_ref gl_SecondaryColor) )(swiz x (var_ref specular_enable) )) (swiz x (var_ref gl_Color) )) ) 0x000001d0: add.sat(8) m3<1>F g4<8,8,1>F g6<8,8,1>F { align1 }; FB write target 0 0x000001e0: mov(8) m2<1>F g1<8,8,1>F { align1 nomask }; 0x000001f0: send(8) 1 null g0<8,8,1>UW write (0, 12, 4, 0) mlen 6 rlen 0 { align1 EOT }; END B0 Native code for fragment shader 8 (16-wide dispatch): START B0 compute pixel centers 0x00000200: add(16) g12<1>UW g1.5<2,4,0>UW 0x11001100V { align1 }; 0x00000210: add(16) g10<1>UW g1.4<2,4,0>UW 0x10101010V { align1 }; compute pixel deltas from v0 0x00000220: add(16) g16<1>F g12<8,8,1>UW -g1.1<0,1,0>F { align1 compr }; 0x00000230: add(16) g14<1>F g10<8,8,1>UW -g1<0,1,0>F { align1 compr }; (declare (shader_in ) vec4 gl_SecondaryColor) 0x00000240: line(16) null g8.4<0,1,0>F g14<8,8,1>F { align1 compr }; 0x00000250: mac(16) g26<1>F g8.5<0,1,0>F g16<8,8,1>F { align1 compr }; 0x00000260: line(16) null g8<0,1,0>F g14<8,8,1>F { align1 compr }; 0x00000270: mac(16) g24<1>F g8.1<0,1,0>F g16<8,8,1>F { align1 compr }; 0x00000280: line(16) null g7.4<0,1,0>F g14<8,8,1>F { align1 compr }; 0x00000290: mac(16) g12<1>F g7.5<0,1,0>F g16<8,8,1>F { align1 compr }; 0x000002a0: line(16) null g7<0,1,0>F g14<8,8,1>F { align1 compr }; 0x000002b0: mac(16) g10<1>F g7.1<0,1,0>F g16<8,8,1>F { align1 compr }; (declare (shader_in ) vec4 gl_Color) 0x000002c0: line(16) null g6.4<0,1,0>F g14<8,8,1>F { align1 compr }; 0x000002d0: mac(16) g22<1>F g6.5<0,1,0>F g16<8,8,1>F { align1 compr }; 0x000002e0: line(16) null g6<0,1,0>F g14<8,8,1>F { align1 compr }; 0x000002f0: mac(16) g20<1>F g6.1<0,1,0>F g16<8,8,1>F { align1 compr }; 0x00000300: line(16) null g5.4<0,1,0>F g14<8,8,1>F { align1 compr }; 0x00000310: mac(16) g18<1>F g5.5<0,1,0>F g16<8,8,1>F { align1 compr }; 0x00000320: line(16) null g5<0,1,0>F g14<8,8,1>F { align1 compr }; 0x00000330: mac(16) g8<1>F g5.1<0,1,0>F g16<8,8,1>F { align1 compr }; compute pos.w and 1/pos.w 0x00000340: line(16) null g4.4<0,1,0>F g14<8,8,1>F { align1 compr }; 0x00000350: mac(16) g6<1>F g4.5<0,1,0>F g16<8,8,1>F { align1 compr }; 0x00000360: send(8) 2 g4<1>F g6<8,8,1>F math inv mlen 1 rlen 1 { align1 }; 0x00000370: send(8) 3 g5<1>F g7<8,8,1>F math inv mlen 1 rlen 1 { align1 sechalf }; (declare (shader_in ) vec4 gl_SecondaryColor) 0x00000380: mul(16) g26<1>F g26<8,8,1>F g4<8,8,1>F { align1 compr }; 0x00000390: mul(16) g24<1>F g24<8,8,1>F g4<8,8,1>F { align1 compr }; 0x000003a0: mul(16) g12<1>F g12<8,8,1>F g4<8,8,1>F { align1 compr }; 0x000003b0: mul(16) g10<1>F g10<8,8,1>F g4<8,8,1>F { align1 compr }; (declare (shader_in ) vec4 gl_Color) 0x000003c0: mul(16) g22<1>F g22<8,8,1>F g4<8,8,1>F { align1 compr }; 0x000003d0: mul(16) g20<1>F g20<8,8,1>F g4<8,8,1>F { align1 compr }; 0x000003e0: mul(16) g18<1>F g18<8,8,1>F g4<8,8,1>F { align1 compr }; 0x000003f0: mul(16) g8<1>F g8<8,8,1>F g4<8,8,1>F { align1 compr }; (assign (w) (var_ref flattening_tmp) (expression float + (expression float * (swiz w (var_ref gl_SecondaryColor) )(swiz w (var_ref specular_enable) )) (swiz w (var_ref gl_Color) )) ) 0x00000400: mul(16) g16<1>F g26<8,8,1>F g2.3<0,1,0>F { align1 compr }; (assign (z) (var_ref flattening_tmp) (expression float + (expression float * (swiz z (var_ref gl_SecondaryColor) )(swiz z (var_ref specular_enable) )) (swiz z (var_ref gl_Color) )) ) 0x00000410: mul(16) g14<1>F g24<8,8,1>F g2.2<0,1,0>F { align1 compr }; (assign (y) (var_ref flattening_tmp) (expression float + (expression float * (swiz y (var_ref gl_SecondaryColor) )(swiz y (var_ref specular_enable) )) (swiz y (var_ref gl_Color) )) ) 0x00000420: mul(16) g12<1>F g12<8,8,1>F g2.1<0,1,0>F { align1 compr }; (assign (x) (var_ref flattening_tmp) (expression float + (expression float * (swiz x (var_ref gl_SecondaryColor) )(swiz x (var_ref specular_enable) )) (swiz x (var_ref gl_Color) )) ) 0x00000430: mul(16) g6<1>F g10<8,8,1>F g2<0,1,0>F { align1 compr }; (assign (w) (var_ref flattening_tmp) (expression float + (expression float * (swiz w (var_ref gl_SecondaryColor) )(swiz w (var_ref specular_enable) )) (swiz w (var_ref gl_Color) )) ) 0x00000440: add.sat(16) m6<1>F g16<8,8,1>F g22<8,8,1>F { align1 compr4 }; (assign (z) (var_ref flattening_tmp) (expression float + (expression float * (swiz z (var_ref gl_SecondaryColor) )(swiz z (var_ref specular_enable) )) (swiz z (var_ref gl_Color) )) ) 0x00000450: add.sat(16) m5<1>F g14<8,8,1>F g20<8,8,1>F { align1 compr4 }; (assign (y) (var_ref flattening_tmp) (expression float + (expression float * (swiz y (var_ref gl_SecondaryColor) )(swiz y (var_ref specular_enable) )) (swiz y (var_ref gl_Color) )) ) 0x00000460: add.sat(16) m4<1>F g12<8,8,1>F g18<8,8,1>F { align1 compr4 }; (assign (x) (var_ref flattening_tmp) (expression float + (expression float * (swiz x (var_ref gl_SecondaryColor) )(swiz x (var_ref specular_enable) )) (swiz x (var_ref gl_Color) )) ) 0x00000470: add.sat(16) m3<1>F g6<8,8,1>F g8<8,8,1>F { align1 compr4 }; FB write target 0 0x00000480: mov(8) m2<1>F g1<8,8,1>F { align1 nomask }; 0x00000490: send(16) 1 null g0<8,8,1>UW write (0, 8, 4, 0) mlen 10 rlen 0 { align1 EOT }; END B0 trace:d3d9:d3d9_device_SetRenderState iface 0x12bf78, state 0x89, value 0x1. trace:d3d9:d3d9_device_DrawIndexedPrimitiveUP iface 0x12bf78, primitive_type 0x4, min_vertex_idx 0, vertex_count 4, primitive_count 2, index_data 0x32f65c, index_format 0x65, vertex_data 0x32f6e8, vertex_stride 16. trace:d3d9:d3d9_device_SetFVF iface 0x12bf78, fvf 0x52. trace:d3d9:device_get_fvf_declaration Searching for declaration for fvf 00000052... 0 not found. Creating and inserting at position 1. trace:d3d9:convert_to_wined3d_declaration d3d9_elements 0x12d5d0, wined3d_elements 0x32f52c trace:d3d9:d3d9_device_AddRef 0x12bf78 increasing refcount to 2. trace:d3d9:d3d9_vertex_declaration_create Created vertex declaration 0x12d810. trace:d3d9:d3d9_vertex_declaration_Release 0x12d810 decreasing refcount to 0. trace:d3d9:d3d9_device_Release 0x12bf78 decreasing refcount to 1. trace:d3d9:device_get_fvf_declaration Returning 0x19da58. 2 declatations in array. trace:d3d9:d3d9_device_SetRenderState iface 0x12bf78, state 0x89, value 0. trace:d3d9:d3d9_device_DrawIndexedPrimitiveUP iface 0x12bf78, primitive_type 0x4, min_vertex_idx 0, vertex_count 4, primitive_count 2, index_data 0x32f65c, index_format 0x65, vertex_data 0x32f7f0, vertex_stride 28. trace:d3d9:d3d9_device_prepare_vertex_buffer Growing vertex buffer to 128 bytes fixme:d3d:resource_check_usage Unhandled usage flags 0x8. trace:d3d9:d3d9_device_SetRenderState iface 0x12bf78, state 0x89, value 0x1. trace:d3d9:d3d9_device_DrawIndexedPrimitiveUP iface 0x12bf78, primitive_type 0x4, min_vertex_idx 0, vertex_count 4, primitive_count 2, index_data 0x32f65c, index_format 0x65, vertex_data 0x32f860, vertex_stride 28. trace:d3d9:d3d9_device_EndScene iface 0x12bf78. trace:d3d9:d3d9_device_CreateOffscreenPlainSurface iface 0x12bf78, width 640, height 480, format 0x15, pool 0x2, surface 0x32f5a0, shared_handle (nil). trace:d3d9:d3d9_device_create_surface device 0x12bf78, width 640, height 480, format 0x15, lockable 0x1, discard 0, surface 0x32f5a0. usage 0, pool 0x2, multisample_type 0, multisample_quality 0. trace:d3d9:d3d9_device_AddRef 0x12bf78 increasing refcount to 2. trace:d3d9:d3d9_device_create_surface Created surface 0x12d9b0. trace:d3d9:d3d9_device_GetRenderTarget iface 0x12bf78, idx 0, surface 0x32f5a4. trace:d3d9:d3d9_surface_AddRef iface 0x12cf88. trace:d3d9:d3d9_surface_AddRef 0x12cf88 increasing refcount to 1. trace:d3d9:d3d9_device_AddRef 0x12bf78 increasing refcount to 3. trace:d3d9:d3d9_device_GetRenderTargetData iface 0x12bf78, render_target 0x12cf88, dst_surface 0x12d9b0. trace:d3d9:d3d9_surface_LockRect iface 0x12d9b0, locked_rect 0x32f5a8, rect (160,360)-(161,361), flags 0x10. trace:d3d9:d3d9_surface_UnlockRect iface 0x12d9b0. trace:d3d9:d3d9_surface_Release iface 0x12cf88. trace:d3d9:d3d9_surface_Release 0x12cf88 decreasing refcount to 0. trace:d3d9:d3d9_device_Release 0x12bf78 decreasing refcount to 2. trace:d3d9:d3d9_surface_Release iface 0x12d9b0. trace:d3d9:d3d9_surface_Release 0x12d9b0 decreasing refcount to 0. trace:d3d9:d3d9_device_Release 0x12bf78 decreasing refcount to 1. trace:d3d9:d3d9_device_CreateOffscreenPlainSurface iface 0x12bf78, width 640, height 480, format 0x15, pool 0x2, surface 0x32f5a0, shared_handle (nil). trace:d3d9:d3d9_device_create_surface device 0x12bf78, width 640, height 480, format 0x15, lockable 0x1, discard 0, surface 0x32f5a0. usage 0, pool 0x2, multisample_type 0, multisample_quality 0. trace:d3d9:d3d9_device_AddRef 0x12bf78 increasing refcount to 2. trace:d3d9:d3d9_device_create_surface Created surface 0x12d9b0. trace:d3d9:d3d9_device_GetRenderTarget iface 0x12bf78, idx 0, surface 0x32f5a4. trace:d3d9:d3d9_surface_AddRef iface 0x12cf88. trace:d3d9:d3d9_surface_AddRef 0x12cf88 increasing refcount to 1. trace:d3d9:d3d9_device_AddRef 0x12bf78 increasing refcount to 3. trace:d3d9:d3d9_device_GetRenderTargetData iface 0x12bf78, render_target 0x12cf88, dst_surface 0x12d9b0. trace:d3d9:d3d9_surface_LockRect iface 0x12d9b0, locked_rect 0x32f5a8, rect (160,120)-(161,121), flags 0x10. trace:d3d9:d3d9_surface_UnlockRect iface 0x12d9b0. trace:d3d9:d3d9_surface_Release iface 0x12cf88. trace:d3d9:d3d9_surface_Release 0x12cf88 decreasing refcount to 0. trace:d3d9:d3d9_device_Release 0x12bf78 decreasing refcount to 2. trace:d3d9:d3d9_surface_Release iface 0x12d9b0. trace:d3d9:d3d9_surface_Release 0x12d9b0 decreasing refcount to 0. trace:d3d9:d3d9_device_Release 0x12bf78 decreasing refcount to 1. trace:d3d9:d3d9_device_CreateOffscreenPlainSurface iface 0x12bf78, width 640, height 480, format 0x15, pool 0x2, surface 0x32f5a0, shared_handle (nil). trace:d3d9:d3d9_device_create_surface device 0x12bf78, width 640, height 480, format 0x15, lockable 0x1, discard 0, surface 0x32f5a0. usage 0, pool 0x2, multisample_type 0, multisample_quality 0. trace:d3d9:d3d9_device_AddRef 0x12bf78 increasing refcount to 2. trace:d3d9:d3d9_device_create_surface Created surface 0x12d9b0. trace:d3d9:d3d9_device_GetRenderTarget iface 0x12bf78, idx 0, surface 0x32f5a4. trace:d3d9:d3d9_surface_AddRef iface 0x12cf88. trace:d3d9:d3d9_surface_AddRef 0x12cf88 increasing refcount to 1. trace:d3d9:d3d9_device_AddRef 0x12bf78 increasing refcount to 3. trace:d3d9:d3d9_device_GetRenderTargetData iface 0x12bf78, render_target 0x12cf88, dst_surface 0x12d9b0. trace:d3d9:d3d9_surface_LockRect iface 0x12d9b0, locked_rect 0x32f5a8, rect (480,360)-(481,361), flags 0x10. trace:d3d9:d3d9_surface_UnlockRect iface 0x12d9b0. trace:d3d9:d3d9_surface_Release iface 0x12cf88. trace:d3d9:d3d9_surface_Release 0x12cf88 decreasing refcount to 0. trace:d3d9:d3d9_device_Release 0x12bf78 decreasing refcount to 2. trace:d3d9:d3d9_surface_Release iface 0x12d9b0. trace:d3d9:d3d9_surface_Release 0x12d9b0 decreasing refcount to 0. trace:d3d9:d3d9_device_Release 0x12bf78 decreasing refcount to 1. trace:d3d9:d3d9_device_CreateOffscreenPlainSurface iface 0x12bf78, width 640, height 480, format 0x15, pool 0x2, surface 0x32f5a0, shared_handle (nil). trace:d3d9:d3d9_device_create_surface device 0x12bf78, width 640, height 480, format 0x15, lockable 0x1, discard 0, surface 0x32f5a0. usage 0, pool 0x2, multisample_type 0, multisample_quality 0. trace:d3d9:d3d9_device_AddRef 0x12bf78 increasing refcount to 2. trace:d3d9:d3d9_device_create_surface Created surface 0x12d9b0. trace:d3d9:d3d9_device_GetRenderTarget iface 0x12bf78, idx 0, surface 0x32f5a4. trace:d3d9:d3d9_surface_AddRef iface 0x12cf88. trace:d3d9:d3d9_surface_AddRef 0x12cf88 increasing refcount to 1. trace:d3d9:d3d9_device_AddRef 0x12bf78 increasing refcount to 3. trace:d3d9:d3d9_device_GetRenderTargetData iface 0x12bf78, render_target 0x12cf88, dst_surface 0x12d9b0. trace:d3d9:d3d9_surface_LockRect iface 0x12d9b0, locked_rect 0x32f5a8, rect (480,120)-(481,121), flags 0x10. trace:d3d9:d3d9_surface_UnlockRect iface 0x12d9b0. trace:d3d9:d3d9_surface_Release iface 0x12cf88. trace:d3d9:d3d9_surface_Release 0x12cf88 decreasing refcount to 0. trace:d3d9:d3d9_device_Release 0x12bf78 decreasing refcount to 2. trace:d3d9:d3d9_surface_Release iface 0x12d9b0. trace:d3d9:d3d9_surface_Release 0x12d9b0 decreasing refcount to 0. trace:d3d9:d3d9_device_Release 0x12bf78 decreasing refcount to 1. trace:d3d9:d3d9_device_Present iface 0x12bf78, src_rect (nil), dst_rect (nil), dst_window_override (nil), dirty_region (nil). trace:d3d9:d3d9_device_GetMaterial iface 0x12bf78, material 0x32f7ac. trace:d3d9:d3d9_device_SetMaterial iface 0x12bf78, material 0x32f768. trace:d3d9:d3d9_device_SetRenderState iface 0x12bf78, state 0x91, value 0. trace:d3d9:d3d9_device_SetRenderState iface 0x12bf78, state 0x92, value 0. trace:d3d9:d3d9_device_GetTextureStageState iface 0x12bf78, stage 0, state 0x1, value 0x32f650. trace:d3d9:d3d9_device_GetTextureStageState iface 0x12bf78, stage 0, state 0x2, value 0x32f654. trace:d3d9:d3d9_device_SetTextureStageState iface 0x12bf78, stage 0, state 0x1, value 0x2. trace:d3d9:d3d9_device_SetTextureStageState iface 0x12bf78, stage 0, state 0x2, value 0x20. trace:d3d9:d3d9_device_BeginScene iface 0x12bf78. trace:d3d9:d3d9_device_SetFVF iface 0x12bf78, fvf 0x42. trace:d3d9:device_get_fvf_declaration Searching for declaration for fvf 00000042... 0 found 0x12d668. trace:d3d9:d3d9_device_DrawPrimitiveUP iface 0x12bf78, primitive_type 0x5, primitive_count 2, data 0x32f728, stride 16. GLSL IR for native fragment shader 10: ( (declare (uniform ) vec4 specular_enable) (declare (shader_in ) vec4 gl_Color) (declare (shader_in ) vec4 gl_SecondaryColor) (declare (shader_out ) (array vec4 1) gl_FragData) (function main (signature void (parameters ) ( (declare (temporary ) vec4 flattening_tmp) (assign (x) (var_ref flattening_tmp) (expression float + (expression float * (swiz x (var_ref gl_SecondaryColor) )(swiz x (var_ref specular_enable) )) (swiz w (var_ref gl_Color) )) ) (assign (y) (var_ref flattening_tmp) (expression float + (expression float * (swiz y (var_ref gl_SecondaryColor) )(swiz y (var_ref specular_enable) )) (swiz w (var_ref gl_Color) )) ) (assign (z) (var_ref flattening_tmp) (expression float + (expression float * (swiz z (var_ref gl_SecondaryColor) )(swiz z (var_ref specular_enable) )) (swiz w (var_ref gl_Color) )) ) (assign (w) (var_ref flattening_tmp) (expression float + (expression float * (swiz w (var_ref gl_SecondaryColor) )(swiz w (var_ref specular_enable) )) (swiz w (var_ref gl_Color) )) ) (assign (xyzw) (array_ref (var_ref gl_FragData) (constant int (0)) ) (var_ref flattening_tmp) ) )) ) ) Native code for fragment shader 10 (8-wide dispatch): START B0 compute pixel centers 0x00000000: add(8) g9<1>UW g1.5<2,4,0>UW 0x11001100V { align1 }; 0x00000010: add(8) g3<1>UW g1.4<2,4,0>UW 0x10101010V { align1 }; compute pixel deltas from v0 0x00000020: add(8) g11<1>F g9<8,8,1>UW -g1.1<0,1,0>F { align1 }; 0x00000030: add(8) g10<1>F g3<8,8,1>UW -g1<0,1,0>F { align1 }; (declare (shader_in ) vec4 gl_SecondaryColor) 0x00000040: pln(8) g14<1>F g8.4<0,1,0>F g10<8,8,1>F { align1 }; 0x00000050: pln(8) g13<1>F g8<0,1,0>F g10<8,8,1>F { align1 }; 0x00000060: pln(8) g12<1>F g7.4<0,1,0>F g10<8,8,1>F { align1 }; 0x00000070: pln(8) g5<1>F g7<0,1,0>F g10<8,8,1>F { align1 }; (declare (shader_in ) vec4 gl_Color) 0x00000080: pln(8) g9<1>F g6.4<0,1,0>F g10<8,8,1>F { align1 }; compute pos.w and 1/pos.w 0x00000090: pln(8) g3<1>F g4.4<0,1,0>F g10<8,8,1>F { align1 }; 0x000000a0: send(8) 2 g3<1>F g3<8,8,1>F math inv mlen 1 rlen 1 { align1 }; (declare (shader_in ) vec4 gl_SecondaryColor) 0x000000b0: mul(8) g14<1>F g14<8,8,1>F g3<8,8,1>F { align1 }; 0x000000c0: mul(8) g13<1>F g13<8,8,1>F g3<8,8,1>F { align1 }; 0x000000d0: mul(8) g12<1>F g12<8,8,1>F g3<8,8,1>F { align1 }; 0x000000e0: mul(8) g5<1>F g5<8,8,1>F g3<8,8,1>F { align1 }; (declare (shader_in ) vec4 gl_Color) 0x000000f0: mul(8) g9<1>F g9<8,8,1>F g3<8,8,1>F { align1 }; (assign (w) (var_ref flattening_tmp) (expression float + (expression float * (swiz w (var_ref gl_SecondaryColor) )(swiz w (var_ref specular_enable) )) (swiz w (var_ref gl_Color) )) ) 0x00000100: mul(8) g8<1>F g14<8,8,1>F g2.3<0,1,0>F { align1 }; (assign (z) (var_ref flattening_tmp) (expression float + (expression float * (swiz z (var_ref gl_SecondaryColor) )(swiz z (var_ref specular_enable) )) (swiz w (var_ref gl_Color) )) ) 0x00000110: mul(8) g7<1>F g13<8,8,1>F g2.2<0,1,0>F { align1 }; (assign (y) (var_ref flattening_tmp) (expression float + (expression float * (swiz y (var_ref gl_SecondaryColor) )(swiz y (var_ref specular_enable) )) (swiz w (var_ref gl_Color) )) ) 0x00000120: mul(8) g6<1>F g12<8,8,1>F g2.1<0,1,0>F { align1 }; (assign (x) (var_ref flattening_tmp) (expression float + (expression float * (swiz x (var_ref gl_SecondaryColor) )(swiz x (var_ref specular_enable) )) (swiz w (var_ref gl_Color) )) ) 0x00000130: mul(8) g4<1>F g5<8,8,1>F g2<0,1,0>F { align1 }; (assign (w) (var_ref flattening_tmp) (expression float + (expression float * (swiz w (var_ref gl_SecondaryColor) )(swiz w (var_ref specular_enable) )) (swiz w (var_ref gl_Color) )) ) 0x00000140: add.sat(8) m6<1>F g8<8,8,1>F g9<8,8,1>F { align1 }; (assign (z) (var_ref flattening_tmp) (expression float + (expression float * (swiz z (var_ref gl_SecondaryColor) )(swiz z (var_ref specular_enable) )) (swiz w (var_ref gl_Color) )) ) 0x00000150: add.sat(8) m5<1>F g7<8,8,1>F g9<8,8,1>F { align1 }; (assign (y) (var_ref flattening_tmp) (expression float + (expression float * (swiz y (var_ref gl_SecondaryColor) )(swiz y (var_ref specular_enable) )) (swiz w (var_ref gl_Color) )) ) 0x00000160: add.sat(8) m4<1>F g6<8,8,1>F g9<8,8,1>F { align1 }; (assign (x) (var_ref flattening_tmp) (expression float + (expression float * (swiz x (var_ref gl_SecondaryColor) )(swiz x (var_ref specular_enable) )) (swiz w (var_ref gl_Color) )) ) 0x00000170: add.sat(8) m3<1>F g4<8,8,1>F g9<8,8,1>F { align1 }; FB write target 0 0x00000180: mov(8) m2<1>F g1<8,8,1>F { align1 nomask }; 0x00000190: send(8) 1 null g0<8,8,1>UW write (0, 12, 4, 0) mlen 6 rlen 0 { align1 EOT }; END B0 Native code for fragment shader 10 (16-wide dispatch): START B0 compute pixel centers 0x000001c0: add(16) g12<1>UW g1.5<2,4,0>UW 0x11001100V { align1 }; 0x000001d0: add(16) g10<1>UW g1.4<2,4,0>UW 0x10101010V { align1 }; compute pixel deltas from v0 0x000001e0: add(16) g16<1>F g12<8,8,1>UW -g1.1<0,1,0>F { align1 compr }; 0x000001f0: add(16) g14<1>F g10<8,8,1>UW -g1<0,1,0>F { align1 compr }; (declare (shader_in ) vec4 gl_SecondaryColor) 0x00000200: line(16) null g8.4<0,1,0>F g14<8,8,1>F { align1 compr }; 0x00000210: mac(16) g20<1>F g8.5<0,1,0>F g16<8,8,1>F { align1 compr }; 0x00000220: line(16) null g8<0,1,0>F g14<8,8,1>F { align1 compr }; 0x00000230: mac(16) g12<1>F g8.1<0,1,0>F g16<8,8,1>F { align1 compr }; 0x00000240: line(16) null g7.4<0,1,0>F g14<8,8,1>F { align1 compr }; 0x00000250: mac(16) g10<1>F g7.5<0,1,0>F g16<8,8,1>F { align1 compr }; (declare (shader_in ) vec4 gl_Color) 0x00000260: line(16) null g6.4<0,1,0>F g14<8,8,1>F { align1 compr }; 0x00000270: mac(16) g18<1>F g6.5<0,1,0>F g16<8,8,1>F { align1 compr }; (declare (shader_in ) vec4 gl_SecondaryColor) 0x00000280: line(16) null g7<0,1,0>F g14<8,8,1>F { align1 compr }; 0x00000290: mac(16) g8<1>F g7.1<0,1,0>F g16<8,8,1>F { align1 compr }; compute pos.w and 1/pos.w 0x000002a0: line(16) null g4.4<0,1,0>F g14<8,8,1>F { align1 compr }; 0x000002b0: mac(16) g6<1>F g4.5<0,1,0>F g16<8,8,1>F { align1 compr }; 0x000002c0: send(8) 2 g4<1>F g6<8,8,1>F math inv mlen 1 rlen 1 { align1 }; 0x000002d0: send(8) 3 g5<1>F g7<8,8,1>F math inv mlen 1 rlen 1 { align1 sechalf }; (declare (shader_in ) vec4 gl_SecondaryColor) 0x000002e0: mul(16) g20<1>F g20<8,8,1>F g4<8,8,1>F { align1 compr }; 0x000002f0: mul(16) g12<1>F g12<8,8,1>F g4<8,8,1>F { align1 compr }; 0x00000300: mul(16) g10<1>F g10<8,8,1>F g4<8,8,1>F { align1 compr }; 0x00000310: mul(16) g8<1>F g8<8,8,1>F g4<8,8,1>F { align1 compr }; (declare (shader_in ) vec4 gl_Color) 0x00000320: mul(16) g18<1>F g18<8,8,1>F g4<8,8,1>F { align1 compr }; (assign (w) (var_ref flattening_tmp) (expression float + (expression float * (swiz w (var_ref gl_SecondaryColor) )(swiz w (var_ref specular_enable) )) (swiz w (var_ref gl_Color) )) ) 0x00000330: mul(16) g14<1>F g20<8,8,1>F g2.3<0,1,0>F { align1 compr }; (assign (z) (var_ref flattening_tmp) (expression float + (expression float * (swiz z (var_ref gl_SecondaryColor) )(swiz z (var_ref specular_enable) )) (swiz w (var_ref gl_Color) )) ) 0x00000340: mul(16) g12<1>F g12<8,8,1>F g2.2<0,1,0>F { align1 compr }; (assign (y) (var_ref flattening_tmp) (expression float + (expression float * (swiz y (var_ref gl_SecondaryColor) )(swiz y (var_ref specular_enable) )) (swiz w (var_ref gl_Color) )) ) 0x00000350: mul(16) g10<1>F g10<8,8,1>F g2.1<0,1,0>F { align1 compr }; (assign (x) (var_ref flattening_tmp) (expression float + (expression float * (swiz x (var_ref gl_SecondaryColor) )(swiz x (var_ref specular_enable) )) (swiz w (var_ref gl_Color) )) ) 0x00000360: mul(16) g6<1>F g8<8,8,1>F g2<0,1,0>F { align1 compr }; (assign (w) (var_ref flattening_tmp) (expression float + (expression float * (swiz w (var_ref gl_SecondaryColor) )(swiz w (var_ref specular_enable) )) (swiz w (var_ref gl_Color) )) ) 0x00000370: add.sat(16) m6<1>F g14<8,8,1>F g18<8,8,1>F { align1 compr4 }; (assign (z) (var_ref flattening_tmp) (expression float + (expression float * (swiz z (var_ref gl_SecondaryColor) )(swiz z (var_ref specular_enable) )) (swiz w (var_ref gl_Color) )) ) 0x00000380: add.sat(16) m5<1>F g12<8,8,1>F g18<8,8,1>F { align1 compr4 }; (assign (y) (var_ref flattening_tmp) (expression float + (expression float * (swiz y (var_ref gl_SecondaryColor) )(swiz y (var_ref specular_enable) )) (swiz w (var_ref gl_Color) )) ) 0x00000390: add.sat(16) m4<1>F g10<8,8,1>F g18<8,8,1>F { align1 compr4 }; (assign (x) (var_ref flattening_tmp) (expression float + (expression float * (swiz x (var_ref gl_SecondaryColor) )(swiz x (var_ref specular_enable) )) (swiz w (var_ref gl_Color) )) ) 0x000003a0: add.sat(16) m3<1>F g6<8,8,1>F g18<8,8,1>F { align1 compr4 }; FB write target 0 0x000003b0: mov(8) m2<1>F g1<8,8,1>F { align1 nomask }; 0x000003c0: send(16) 1 null g0<8,8,1>UW write (0, 8, 4, 0) mlen 10 rlen 0 { align1 EOT }; END B0 GLSL IR for native fragment shader 10: ( (declare (uniform ) vec4 specular_enable) (declare (shader_in ) vec4 gl_Color) (declare (shader_in ) vec4 gl_SecondaryColor) (declare (shader_out ) (array vec4 1) gl_FragData) (function main (signature void (parameters ) ( (declare (temporary ) vec4 flattening_tmp) (assign (x) (var_ref flattening_tmp) (expression float + (expression float * (swiz x (var_ref gl_SecondaryColor) )(swiz x (var_ref specular_enable) )) (swiz w (var_ref gl_Color) )) ) (assign (y) (var_ref flattening_tmp) (expression float + (expression float * (swiz y (var_ref gl_SecondaryColor) )(swiz y (var_ref specular_enable) )) (swiz w (var_ref gl_Color) )) ) (assign (z) (var_ref flattening_tmp) (expression float + (expression float * (swiz z (var_ref gl_SecondaryColor) )(swiz z (var_ref specular_enable) )) (swiz w (var_ref gl_Color) )) ) (assign (w) (var_ref flattening_tmp) (expression float + (expression float * (swiz w (var_ref gl_SecondaryColor) )(swiz w (var_ref specular_enable) )) (swiz w (var_ref gl_Color) )) ) (assign (xyzw) (array_ref (var_ref gl_FragData) (constant int (0)) ) (var_ref flattening_tmp) ) )) ) ) Native code for fragment shader 10 (8-wide dispatch): START B0 compute pixel centers 0x00000000: add(8) g9<1>UW g1.5<2,4,0>UW 0x11001100V { align1 }; 0x00000010: add(8) g3<1>UW g1.4<2,4,0>UW 0x10101010V { align1 }; compute pixel deltas from v0 0x00000020: add(8) g11<1>F g9<8,8,1>UW -g1.1<0,1,0>F { align1 }; 0x00000030: add(8) g10<1>F g3<8,8,1>UW -g1<0,1,0>F { align1 }; (declare (shader_in ) vec4 gl_SecondaryColor) 0x00000040: pln(8) g14<1>F g8.4<0,1,0>F g10<8,8,1>F { align1 }; 0x00000050: pln(8) g13<1>F g8<0,1,0>F g10<8,8,1>F { align1 }; 0x00000060: pln(8) g12<1>F g7.4<0,1,0>F g10<8,8,1>F { align1 }; 0x00000070: pln(8) g5<1>F g7<0,1,0>F g10<8,8,1>F { align1 }; (declare (shader_in ) vec4 gl_Color) 0x00000080: pln(8) g9<1>F g6.4<0,1,0>F g10<8,8,1>F { align1 }; compute pos.w and 1/pos.w 0x00000090: pln(8) g3<1>F g4.4<0,1,0>F g10<8,8,1>F { align1 }; 0x000000a0: send(8) 2 g3<1>F g3<8,8,1>F math inv mlen 1 rlen 1 { align1 }; (declare (shader_in ) vec4 gl_SecondaryColor) 0x000000b0: mul(8) g14<1>F g14<8,8,1>F g3<8,8,1>F { align1 }; 0x000000c0: mul(8) g13<1>F g13<8,8,1>F g3<8,8,1>F { align1 }; 0x000000d0: mul(8) g12<1>F g12<8,8,1>F g3<8,8,1>F { align1 }; 0x000000e0: mul(8) g5<1>F g5<8,8,1>F g3<8,8,1>F { align1 }; (declare (shader_in ) vec4 gl_Color) 0x000000f0: mul(8) g9<1>F g9<8,8,1>F g3<8,8,1>F { align1 }; (assign (w) (var_ref flattening_tmp) (expression float + (expression float * (swiz w (var_ref gl_SecondaryColor) )(swiz w (var_ref specular_enable) )) (swiz w (var_ref gl_Color) )) ) 0x00000100: mul(8) g8<1>F g14<8,8,1>F g2.3<0,1,0>F { align1 }; (assign (z) (var_ref flattening_tmp) (expression float + (expression float * (swiz z (var_ref gl_SecondaryColor) )(swiz z (var_ref specular_enable) )) (swiz w (var_ref gl_Color) )) ) 0x00000110: mul(8) g7<1>F g13<8,8,1>F g2.2<0,1,0>F { align1 }; (assign (y) (var_ref flattening_tmp) (expression float + (expression float * (swiz y (var_ref gl_SecondaryColor) )(swiz y (var_ref specular_enable) )) (swiz w (var_ref gl_Color) )) ) 0x00000120: mul(8) g6<1>F g12<8,8,1>F g2.1<0,1,0>F { align1 }; (assign (x) (var_ref flattening_tmp) (expression float + (expression float * (swiz x (var_ref gl_SecondaryColor) )(swiz x (var_ref specular_enable) )) (swiz w (var_ref gl_Color) )) ) 0x00000130: mul(8) g4<1>F g5<8,8,1>F g2<0,1,0>F { align1 }; (assign (w) (var_ref flattening_tmp) (expression float + (expression float * (swiz w (var_ref gl_SecondaryColor) )(swiz w (var_ref specular_enable) )) (swiz w (var_ref gl_Color) )) ) 0x00000140: add.sat(8) m6<1>F g8<8,8,1>F g9<8,8,1>F { align1 }; (assign (z) (var_ref flattening_tmp) (expression float + (expression float * (swiz z (var_ref gl_SecondaryColor) )(swiz z (var_ref specular_enable) )) (swiz w (var_ref gl_Color) )) ) 0x00000150: add.sat(8) m5<1>F g7<8,8,1>F g9<8,8,1>F { align1 }; (assign (y) (var_ref flattening_tmp) (expression float + (expression float * (swiz y (var_ref gl_SecondaryColor) )(swiz y (var_ref specular_enable) )) (swiz w (var_ref gl_Color) )) ) 0x00000160: add.sat(8) m4<1>F g6<8,8,1>F g9<8,8,1>F { align1 }; (assign (x) (var_ref flattening_tmp) (expression float + (expression float * (swiz x (var_ref gl_SecondaryColor) )(swiz x (var_ref specular_enable) )) (swiz w (var_ref gl_Color) )) ) 0x00000170: add.sat(8) m3<1>F g4<8,8,1>F g9<8,8,1>F { align1 }; FB write target 0 0x00000180: mov(8) m2<1>F g1<8,8,1>F { align1 nomask }; 0x00000190: send(8) 1 null g0<8,8,1>UW write (0, 12, 4, 0) mlen 6 rlen 0 { align1 EOT }; END B0 Native code for fragment shader 10 (16-wide dispatch): START B0 compute pixel centers 0x000001c0: add(16) g12<1>UW g1.5<2,4,0>UW 0x11001100V { align1 }; 0x000001d0: add(16) g10<1>UW g1.4<2,4,0>UW 0x10101010V { align1 }; compute pixel deltas from v0 0x000001e0: add(16) g16<1>F g12<8,8,1>UW -g1.1<0,1,0>F { align1 compr }; 0x000001f0: add(16) g14<1>F g10<8,8,1>UW -g1<0,1,0>F { align1 compr }; (declare (shader_in ) vec4 gl_SecondaryColor) 0x00000200: line(16) null g8.4<0,1,0>F g14<8,8,1>F { align1 compr }; 0x00000210: mac(16) g20<1>F g8.5<0,1,0>F g16<8,8,1>F { align1 compr }; 0x00000220: line(16) null g8<0,1,0>F g14<8,8,1>F { align1 compr }; 0x00000230: mac(16) g12<1>F g8.1<0,1,0>F g16<8,8,1>F { align1 compr }; 0x00000240: line(16) null g7.4<0,1,0>F g14<8,8,1>F { align1 compr }; 0x00000250: mac(16) g10<1>F g7.5<0,1,0>F g16<8,8,1>F { align1 compr }; (declare (shader_in ) vec4 gl_Color) 0x00000260: line(16) null g6.4<0,1,0>F g14<8,8,1>F { align1 compr }; 0x00000270: mac(16) g18<1>F g6.5<0,1,0>F g16<8,8,1>F { align1 compr }; (declare (shader_in ) vec4 gl_SecondaryColor) 0x00000280: line(16) null g7<0,1,0>F g14<8,8,1>F { align1 compr }; 0x00000290: mac(16) g8<1>F g7.1<0,1,0>F g16<8,8,1>F { align1 compr }; compute pos.w and 1/pos.w 0x000002a0: line(16) null g4.4<0,1,0>F g14<8,8,1>F { align1 compr }; 0x000002b0: mac(16) g6<1>F g4.5<0,1,0>F g16<8,8,1>F { align1 compr }; 0x000002c0: send(8) 2 g4<1>F g6<8,8,1>F math inv mlen 1 rlen 1 { align1 }; 0x000002d0: send(8) 3 g5<1>F g7<8,8,1>F math inv mlen 1 rlen 1 { align1 sechalf }; (declare (shader_in ) vec4 gl_SecondaryColor) 0x000002e0: mul(16) g20<1>F g20<8,8,1>F g4<8,8,1>F { align1 compr }; 0x000002f0: mul(16) g12<1>F g12<8,8,1>F g4<8,8,1>F { align1 compr }; 0x00000300: mul(16) g10<1>F g10<8,8,1>F g4<8,8,1>F { align1 compr }; 0x00000310: mul(16) g8<1>F g8<8,8,1>F g4<8,8,1>F { align1 compr }; (declare (shader_in ) vec4 gl_Color) 0x00000320: mul(16) g18<1>F g18<8,8,1>F g4<8,8,1>F { align1 compr }; (assign (w) (var_ref flattening_tmp) (expression float + (expression float * (swiz w (var_ref gl_SecondaryColor) )(swiz w (var_ref specular_enable) )) (swiz w (var_ref gl_Color) )) ) 0x00000330: mul(16) g14<1>F g20<8,8,1>F g2.3<0,1,0>F { align1 compr }; (assign (z) (var_ref flattening_tmp) (expression float + (expression float * (swiz z (var_ref gl_SecondaryColor) )(swiz z (var_ref specular_enable) )) (swiz w (var_ref gl_Color) )) ) 0x00000340: mul(16) g12<1>F g12<8,8,1>F g2.2<0,1,0>F { align1 compr }; (assign (y) (var_ref flattening_tmp) (expression float + (expression float * (swiz y (var_ref gl_SecondaryColor) )(swiz y (var_ref specular_enable) )) (swiz w (var_ref gl_Color) )) ) 0x00000350: mul(16) g10<1>F g10<8,8,1>F g2.1<0,1,0>F { align1 compr }; (assign (x) (var_ref flattening_tmp) (expression float + (expression float * (swiz x (var_ref gl_SecondaryColor) )(swiz x (var_ref specular_enable) )) (swiz w (var_ref gl_Color) )) ) 0x00000360: mul(16) g6<1>F g8<8,8,1>F g2<0,1,0>F { align1 compr }; (assign (w) (var_ref flattening_tmp) (expression float + (expression float * (swiz w (var_ref gl_SecondaryColor) )(swiz w (var_ref specular_enable) )) (swiz w (var_ref gl_Color) )) ) 0x00000370: add.sat(16) m6<1>F g14<8,8,1>F g18<8,8,1>F { align1 compr4 }; (assign (z) (var_ref flattening_tmp) (expression float + (expression float * (swiz z (var_ref gl_SecondaryColor) )(swiz z (var_ref specular_enable) )) (swiz w (var_ref gl_Color) )) ) 0x00000380: add.sat(16) m5<1>F g12<8,8,1>F g18<8,8,1>F { align1 compr4 }; (assign (y) (var_ref flattening_tmp) (expression float + (expression float * (swiz y (var_ref gl_SecondaryColor) )(swiz y (var_ref specular_enable) )) (swiz w (var_ref gl_Color) )) ) 0x00000390: add.sat(16) m4<1>F g10<8,8,1>F g18<8,8,1>F { align1 compr4 }; (assign (x) (var_ref flattening_tmp) (expression float + (expression float * (swiz x (var_ref gl_SecondaryColor) )(swiz x (var_ref specular_enable) )) (swiz w (var_ref gl_Color) )) ) 0x000003a0: add.sat(16) m3<1>F g6<8,8,1>F g18<8,8,1>F { align1 compr4 }; FB write target 0 0x000003b0: mov(8) m2<1>F g1<8,8,1>F { align1 nomask }; 0x000003c0: send(16) 1 null g0<8,8,1>UW write (0, 8, 4, 0) mlen 10 rlen 0 { align1 EOT }; END B0 trace:d3d9:d3d9_device_EndScene iface 0x12bf78. trace:d3d9:d3d9_device_CreateOffscreenPlainSurface iface 0x12bf78, width 640, height 480, format 0x15, pool 0x2, surface 0x32f5a0, shared_handle (nil). trace:d3d9:d3d9_device_create_surface device 0x12bf78, width 640, height 480, format 0x15, lockable 0x1, discard 0, surface 0x32f5a0. usage 0, pool 0x2, multisample_type 0, multisample_quality 0. trace:d3d9:d3d9_device_AddRef 0x12bf78 increasing refcount to 2. trace:d3d9:d3d9_device_create_surface Created surface 0x12d7d8. trace:d3d9:d3d9_device_GetRenderTarget iface 0x12bf78, idx 0, surface 0x32f5a4. trace:d3d9:d3d9_surface_AddRef iface 0x12cf88. trace:d3d9:d3d9_surface_AddRef 0x12cf88 increasing refcount to 1. trace:d3d9:d3d9_device_AddRef 0x12bf78 increasing refcount to 3. trace:d3d9:d3d9_device_GetRenderTargetData iface 0x12bf78, render_target 0x12cf88, dst_surface 0x12d7d8. trace:d3d9:d3d9_surface_LockRect iface 0x12d7d8, locked_rect 0x32f5a8, rect (320,240)-(321,241), flags 0x10. trace:d3d9:d3d9_surface_UnlockRect iface 0x12d7d8. trace:d3d9:d3d9_surface_Release iface 0x12cf88. trace:d3d9:d3d9_surface_Release 0x12cf88 decreasing refcount to 0. trace:d3d9:d3d9_device_Release 0x12bf78 decreasing refcount to 2. trace:d3d9:d3d9_surface_Release iface 0x12d7d8. trace:d3d9:d3d9_surface_Release 0x12d7d8 decreasing refcount to 0. trace:d3d9:d3d9_device_Release 0x12bf78 decreasing refcount to 1. trace:d3d9:d3d9_device_Present iface 0x12bf78, src_rect (nil), dst_rect (nil), dst_window_override (nil), dirty_region (nil). trace:d3d9:d3d9_device_SetTextureStageState iface 0x12bf78, stage 0, state 0x1, value 0x4. trace:d3d9:d3d9_device_SetRenderState iface 0x12bf78, state 0x91, value 0x1. trace:d3d9:d3d9_device_SetRenderState iface 0x12bf78, state 0x92, value 0x2. trace:d3d9:d3d9_device_SetRenderState iface 0x12bf78, state 0x89, value 0. trace:d3d9:d3d9_device_SetRenderState iface 0x12bf78, state 0xa8, value 0xf. trace:d3d9:d3d9_device_SetTextureStageState iface 0x12bf78, stage 0, state 0x2, value 0x2. trace:d3d9:d3d9_device_SetMaterial iface 0x12bf78, material 0x32f7ac. trace:d3d9:d3d9_device_CreateVertexDeclaration iface 0x12bf78, elements 0x7ed9e320, declaration 0x32f63c. trace:d3d9:convert_to_wined3d_declaration d3d9_elements 0x7ed9e320, wined3d_elements 0x32f56c trace:d3d9:d3d9_device_AddRef 0x12bf78 increasing refcount to 2. trace:d3d9:d3d9_vertex_declaration_create Created vertex declaration 0x12d7d8. trace:d3d9:d3d9_device_CreateVertexDeclaration iface 0x12bf78, elements 0x7ed9e340, declaration 0x32f640. trace:d3d9:convert_to_wined3d_declaration d3d9_elements 0x7ed9e340, wined3d_elements 0x32f56c trace:d3d9:d3d9_device_AddRef 0x12bf78 increasing refcount to 3. trace:d3d9:d3d9_vertex_declaration_create Created vertex declaration 0x12d9b0. trace:d3d9:d3d9_device_CreateVertexDeclaration iface 0x12bf78, elements 0x7ed9e360, declaration 0x32f644. trace:d3d9:convert_to_wined3d_declaration d3d9_elements 0x7ed9e360, wined3d_elements 0x32f56c trace:d3d9:d3d9_device_AddRef 0x12bf78 increasing refcount to 4. trace:d3d9:d3d9_vertex_declaration_create Created vertex declaration 0x1a5dc0. trace:d3d9:d3d9_device_CreateVertexDeclaration iface 0x12bf78, elements 0x7ed9e380, declaration 0x32f648. trace:d3d9:convert_to_wined3d_declaration d3d9_elements 0x7ed9e380, wined3d_elements 0x32f56c trace:d3d9:d3d9_device_AddRef 0x12bf78 increasing refcount to 5. trace:d3d9:d3d9_vertex_declaration_create Created vertex declaration 0x1a5ea8. trace:d3d9:d3d9_device_CreateVertexDeclaration iface 0x12bf78, elements 0x7ed9e3a0, declaration 0x32f64c. trace:d3d9:convert_to_wined3d_declaration d3d9_elements 0x7ed9e3a0, wined3d_elements 0x32f56c trace:d3d9:d3d9_device_AddRef 0x12bf78 increasing refcount to 6. trace:d3d9:d3d9_vertex_declaration_create Created vertex declaration 0x1a5fc0. trace:d3d9:d3d9_device_CreateVertexDeclaration iface 0x12bf78, elements 0x7ed9e3b8, declaration 0x32f650. trace:d3d9:convert_to_wined3d_declaration d3d9_elements 0x7ed9e3b8, wined3d_elements 0x32f56c trace:d3d9:d3d9_device_AddRef 0x12bf78 increasing refcount to 7. trace:d3d9:d3d9_vertex_declaration_create Created vertex declaration 0x1a60d8. trace:d3d9:d3d9_device_CreateVertexDeclaration iface 0x12bf78, elements 0x7ed9e3d0, declaration 0x32f654. trace:d3d9:convert_to_wined3d_declaration d3d9_elements 0x7ed9e3d0, wined3d_elements 0x32f56c trace:d3d9:d3d9_device_AddRef 0x12bf78 increasing refcount to 8. trace:d3d9:d3d9_vertex_declaration_create Created vertex declaration 0x1a61c0. trace:d3d9:d3d9_device_CreateVertexDeclaration iface 0x12bf78, elements 0x7ed9e3e8, declaration 0x32f658. trace:d3d9:convert_to_wined3d_declaration d3d9_elements 0x7ed9e3e8, wined3d_elements 0x32f56c trace:d3d9:d3d9_device_AddRef 0x12bf78 increasing refcount to 9. trace:d3d9:d3d9_vertex_declaration_create Created vertex declaration 0x1a62a8. trace:d3d9:d3d9_device_CreatePixelShader iface 0x12bf78, byte_code 0x7ed9e400, shader 0x32f638. trace:d3d9:d3d9_device_AddRef 0x12bf78 increasing refcount to 10. trace:d3d9:d3d9_device_CreatePixelShader Created pixel shader 0x12c370. trace:d3d9:d3d9_device_Clear iface 0x12bf78, rect_count 0, rects (nil), flags 0x1, color 0xff0000ff, z 0.00000000e+00, stencil 0. trace:d3d9:d3d9_device_CreateVertexShader iface 0x12bf78, byte_code 0x7ed9e420, shader 0x32f630. trace:d3d9:d3d9_device_AddRef 0x12bf78 increasing refcount to 11. trace:d3d9:d3d9_device_CreateVertexShader Created vertex shader 0x1a7158. trace:d3d9:d3d9_device_CreateVertexShader iface 0x12bf78, byte_code 0x7ed9e460, shader 0x32f634. trace:d3d9:d3d9_device_AddRef 0x12bf78 increasing refcount to 12. trace:d3d9:d3d9_device_CreateVertexShader Created vertex shader 0x1a7e90. trace:d3d9:d3d9_device_BeginScene iface 0x12bf78. trace:d3d9:d3d9_device_SetVertexShader iface 0x12bf78, shader 0x1a7158. trace:d3d9:d3d9_device_SetVertexDeclaration iface 0x12bf78, declaration 0x1a5fc0. trace:d3d9:d3d9_device_DrawPrimitiveUP iface 0x12bf78, primitive_type 0x5, primitive_count 2, data 0x32f860, stride 16. GLSL IR for native fragment shader 12: ( (declare (uniform ) vec4 specular_enable) (declare (shader_in ) vec4 gl_Color) (declare (shader_in ) vec4 gl_SecondaryColor) (declare (shader_out ) (array vec4 1) gl_FragData) (function main (signature void (parameters ) ( (declare (temporary ) vec4 flattening_tmp) (assign (x) (var_ref flattening_tmp) (expression float + (expression float * (swiz x (var_ref gl_SecondaryColor) )(swiz x (var_ref specular_enable) )) (swiz x (var_ref gl_Color) )) ) (assign (y) (var_ref flattening_tmp) (expression float + (expression float * (swiz y (var_ref gl_SecondaryColor) )(swiz y (var_ref specular_enable) )) (swiz y (var_ref gl_Color) )) ) (assign (z) (var_ref flattening_tmp) (expression float + (expression float * (swiz z (var_ref gl_SecondaryColor) )(swiz z (var_ref specular_enable) )) (swiz z (var_ref gl_Color) )) ) (assign (w) (var_ref flattening_tmp) (expression float + (expression float * (swiz w (var_ref gl_SecondaryColor) )(swiz w (var_ref specular_enable) )) (swiz w (var_ref gl_Color) )) ) (assign (xyzw) (array_ref (var_ref gl_FragData) (constant int (0)) ) (var_ref flattening_tmp) ) )) ) ) Native code for fragment shader 12 (8-wide dispatch): START B0 compute pixel centers 0x00000000: add(8) g9<1>UW g1.5<2,4,0>UW 0x11001100V { align1 }; 0x00000010: add(8) g3<1>UW g1.4<2,4,0>UW 0x10101010V { align1 }; compute pixel deltas from v0 0x00000020: add(8) g11<1>F g9<8,8,1>UW -g1.1<0,1,0>F { align1 }; 0x00000030: add(8) g10<1>F g3<8,8,1>UW -g1<0,1,0>F { align1 }; (declare (shader_in ) vec4 gl_SecondaryColor) 0x00000040: pln(8) g9<1>F g8.4<0,1,0>F g10<8,8,1>F { align1 }; 0x00000050: pln(8) g16<1>F g8<0,1,0>F g10<8,8,1>F { align1 }; 0x00000060: pln(8) g15<1>F g7.4<0,1,0>F g10<8,8,1>F { align1 }; (declare (shader_in ) vec4 gl_Color) 0x00000070: pln(8) g14<1>F g6.4<0,1,0>F g10<8,8,1>F { align1 }; 0x00000080: pln(8) g13<1>F g6<0,1,0>F g10<8,8,1>F { align1 }; 0x00000090: pln(8) g12<1>F g5.4<0,1,0>F g10<8,8,1>F { align1 }; compute pos.w and 1/pos.w 0x000000a0: pln(8) g3<1>F g4.4<0,1,0>F g10<8,8,1>F { align1 }; (declare (shader_in ) vec4 gl_SecondaryColor) 0x000000b0: pln(8) g8<1>F g7<0,1,0>F g10<8,8,1>F { align1 }; (declare (shader_in ) vec4 gl_Color) 0x000000c0: pln(8) g6<1>F g5<0,1,0>F g10<8,8,1>F { align1 }; compute pos.w and 1/pos.w 0x000000d0: send(8) 2 g3<1>F g3<8,8,1>F math inv mlen 1 rlen 1 { align1 }; (declare (shader_in ) vec4 gl_SecondaryColor) 0x000000e0: mul(8) g9<1>F g9<8,8,1>F g3<8,8,1>F { align1 }; 0x000000f0: mul(8) g16<1>F g16<8,8,1>F g3<8,8,1>F { align1 }; 0x00000100: mul(8) g15<1>F g15<8,8,1>F g3<8,8,1>F { align1 }; 0x00000110: mul(8) g8<1>F g8<8,8,1>F g3<8,8,1>F { align1 }; (declare (shader_in ) vec4 gl_Color) 0x00000120: mul(8) g14<1>F g14<8,8,1>F g3<8,8,1>F { align1 }; 0x00000130: mul(8) g13<1>F g13<8,8,1>F g3<8,8,1>F { align1 }; 0x00000140: mul(8) g12<1>F g12<8,8,1>F g3<8,8,1>F { align1 }; 0x00000150: mul(8) g6<1>F g6<8,8,1>F g3<8,8,1>F { align1 }; (assign (w) (var_ref flattening_tmp) (expression float + (expression float * (swiz w (var_ref gl_SecondaryColor) )(swiz w (var_ref specular_enable) )) (swiz w (var_ref gl_Color) )) ) 0x00000160: mul(8) g9<1>F g9<8,8,1>F g2.3<0,1,0>F { align1 }; (assign (z) (var_ref flattening_tmp) (expression float + (expression float * (swiz z (var_ref gl_SecondaryColor) )(swiz z (var_ref specular_enable) )) (swiz z (var_ref gl_Color) )) ) 0x00000170: mul(8) g7<1>F g16<8,8,1>F g2.2<0,1,0>F { align1 }; (assign (y) (var_ref flattening_tmp) (expression float + (expression float * (swiz y (var_ref gl_SecondaryColor) )(swiz y (var_ref specular_enable) )) (swiz y (var_ref gl_Color) )) ) 0x00000180: mul(8) g5<1>F g15<8,8,1>F g2.1<0,1,0>F { align1 }; (assign (x) (var_ref flattening_tmp) (expression float + (expression float * (swiz x (var_ref gl_SecondaryColor) )(swiz x (var_ref specular_enable) )) (swiz x (var_ref gl_Color) )) ) 0x00000190: mul(8) g4<1>F g8<8,8,1>F g2<0,1,0>F { align1 }; (assign (w) (var_ref flattening_tmp) (expression float + (expression float * (swiz w (var_ref gl_SecondaryColor) )(swiz w (var_ref specular_enable) )) (swiz w (var_ref gl_Color) )) ) 0x000001a0: add.sat(8) m6<1>F g9<8,8,1>F g14<8,8,1>F { align1 }; (assign (z) (var_ref flattening_tmp) (expression float + (expression float * (swiz z (var_ref gl_SecondaryColor) )(swiz z (var_ref specular_enable) )) (swiz z (var_ref gl_Color) )) ) 0x000001b0: add.sat(8) m5<1>F g7<8,8,1>F g13<8,8,1>F { align1 }; (assign (y) (var_ref flattening_tmp) (expression float + (expression float * (swiz y (var_ref gl_SecondaryColor) )(swiz y (var_ref specular_enable) )) (swiz y (var_ref gl_Color) )) ) 0x000001c0: add.sat(8) m4<1>F g5<8,8,1>F g12<8,8,1>F { align1 }; (assign (x) (var_ref flattening_tmp) (expression float + (expression float * (swiz x (var_ref gl_SecondaryColor) )(swiz x (var_ref specular_enable) )) (swiz x (var_ref gl_Color) )) ) 0x000001d0: add.sat(8) m3<1>F g4<8,8,1>F g6<8,8,1>F { align1 }; FB write target 0 0x000001e0: mov(8) m2<1>F g1<8,8,1>F { align1 nomask }; 0x000001f0: send(8) 1 null g0<8,8,1>UW write (0, 12, 4, 0) mlen 6 rlen 0 { align1 EOT }; END B0 Native code for fragment shader 12 (16-wide dispatch): START B0 compute pixel centers 0x00000200: add(16) g12<1>UW g1.5<2,4,0>UW 0x11001100V { align1 }; 0x00000210: add(16) g10<1>UW g1.4<2,4,0>UW 0x10101010V { align1 }; compute pixel deltas from v0 0x00000220: add(16) g16<1>F g12<8,8,1>UW -g1.1<0,1,0>F { align1 compr }; 0x00000230: add(16) g14<1>F g10<8,8,1>UW -g1<0,1,0>F { align1 compr }; (declare (shader_in ) vec4 gl_SecondaryColor) 0x00000240: line(16) null g8.4<0,1,0>F g14<8,8,1>F { align1 compr }; 0x00000250: mac(16) g26<1>F g8.5<0,1,0>F g16<8,8,1>F { align1 compr }; 0x00000260: line(16) null g8<0,1,0>F g14<8,8,1>F { align1 compr }; 0x00000270: mac(16) g24<1>F g8.1<0,1,0>F g16<8,8,1>F { align1 compr }; 0x00000280: line(16) null g7.4<0,1,0>F g14<8,8,1>F { align1 compr }; 0x00000290: mac(16) g12<1>F g7.5<0,1,0>F g16<8,8,1>F { align1 compr }; 0x000002a0: line(16) null g7<0,1,0>F g14<8,8,1>F { align1 compr }; 0x000002b0: mac(16) g10<1>F g7.1<0,1,0>F g16<8,8,1>F { align1 compr }; (declare (shader_in ) vec4 gl_Color) 0x000002c0: line(16) null g6.4<0,1,0>F g14<8,8,1>F { align1 compr }; 0x000002d0: mac(16) g22<1>F g6.5<0,1,0>F g16<8,8,1>F { align1 compr }; 0x000002e0: line(16) null g6<0,1,0>F g14<8,8,1>F { align1 compr }; 0x000002f0: mac(16) g20<1>F g6.1<0,1,0>F g16<8,8,1>F { align1 compr }; 0x00000300: line(16) null g5.4<0,1,0>F g14<8,8,1>F { align1 compr }; 0x00000310: mac(16) g18<1>F g5.5<0,1,0>F g16<8,8,1>F { align1 compr }; 0x00000320: line(16) null g5<0,1,0>F g14<8,8,1>F { align1 compr }; 0x00000330: mac(16) g8<1>F g5.1<0,1,0>F g16<8,8,1>F { align1 compr }; compute pos.w and 1/pos.w 0x00000340: line(16) null g4.4<0,1,0>F g14<8,8,1>F { align1 compr }; 0x00000350: mac(16) g6<1>F g4.5<0,1,0>F g16<8,8,1>F { align1 compr }; 0x00000360: send(8) 2 g4<1>F g6<8,8,1>F math inv mlen 1 rlen 1 { align1 }; 0x00000370: send(8) 3 g5<1>F g7<8,8,1>F math inv mlen 1 rlen 1 { align1 sechalf }; (declare (shader_in ) vec4 gl_SecondaryColor) 0x00000380: mul(16) g26<1>F g26<8,8,1>F g4<8,8,1>F { align1 compr }; 0x00000390: mul(16) g24<1>F g24<8,8,1>F g4<8,8,1>F { align1 compr }; 0x000003a0: mul(16) g12<1>F g12<8,8,1>F g4<8,8,1>F { align1 compr }; 0x000003b0: mul(16) g10<1>F g10<8,8,1>F g4<8,8,1>F { align1 compr }; (declare (shader_in ) vec4 gl_Color) 0x000003c0: mul(16) g22<1>F g22<8,8,1>F g4<8,8,1>F { align1 compr }; 0x000003d0: mul(16) g20<1>F g20<8,8,1>F g4<8,8,1>F { align1 compr }; 0x000003e0: mul(16) g18<1>F g18<8,8,1>F g4<8,8,1>F { align1 compr }; 0x000003f0: mul(16) g8<1>F g8<8,8,1>F g4<8,8,1>F { align1 compr }; (assign (w) (var_ref flattening_tmp) (expression float + (expression float * (swiz w (var_ref gl_SecondaryColor) )(swiz w (var_ref specular_enable) )) (swiz w (var_ref gl_Color) )) ) 0x00000400: mul(16) g16<1>F g26<8,8,1>F g2.3<0,1,0>F { align1 compr }; (assign (z) (var_ref flattening_tmp) (expression float + (expression float * (swiz z (var_ref gl_SecondaryColor) )(swiz z (var_ref specular_enable) )) (swiz z (var_ref gl_Color) )) ) 0x00000410: mul(16) g14<1>F g24<8,8,1>F g2.2<0,1,0>F { align1 compr }; (assign (y) (var_ref flattening_tmp) (expression float + (expression float * (swiz y (var_ref gl_SecondaryColor) )(swiz y (var_ref specular_enable) )) (swiz y (var_ref gl_Color) )) ) 0x00000420: mul(16) g12<1>F g12<8,8,1>F g2.1<0,1,0>F { align1 compr }; (assign (x) (var_ref flattening_tmp) (expression float + (expression float * (swiz x (var_ref gl_SecondaryColor) )(swiz x (var_ref specular_enable) )) (swiz x (var_ref gl_Color) )) ) 0x00000430: mul(16) g6<1>F g10<8,8,1>F g2<0,1,0>F { align1 compr }; (assign (w) (var_ref flattening_tmp) (expression float + (expression float * (swiz w (var_ref gl_SecondaryColor) )(swiz w (var_ref specular_enable) )) (swiz w (var_ref gl_Color) )) ) 0x00000440: add.sat(16) m6<1>F g16<8,8,1>F g22<8,8,1>F { align1 compr4 }; (assign (z) (var_ref flattening_tmp) (expression float + (expression float * (swiz z (var_ref gl_SecondaryColor) )(swiz z (var_ref specular_enable) )) (swiz z (var_ref gl_Color) )) ) 0x00000450: add.sat(16) m5<1>F g14<8,8,1>F g20<8,8,1>F { align1 compr4 }; (assign (y) (var_ref flattening_tmp) (expression float + (expression float * (swiz y (var_ref gl_SecondaryColor) )(swiz y (var_ref specular_enable) )) (swiz y (var_ref gl_Color) )) ) 0x00000460: add.sat(16) m4<1>F g12<8,8,1>F g18<8,8,1>F { align1 compr4 }; (assign (x) (var_ref flattening_tmp) (expression float + (expression float * (swiz x (var_ref gl_SecondaryColor) )(swiz x (var_ref specular_enable) )) (swiz x (var_ref gl_Color) )) ) 0x00000470: add.sat(16) m3<1>F g6<8,8,1>F g8<8,8,1>F { align1 compr4 }; FB write target 0 0x00000480: mov(8) m2<1>F g1<8,8,1>F { align1 nomask }; 0x00000490: send(16) 1 null g0<8,8,1>UW write (0, 8, 4, 0) mlen 10 rlen 0 { align1 EOT }; END B0 GLSL IR for native fragment shader 12: ( (declare (uniform ) vec4 specular_enable) (declare (shader_in ) vec4 gl_Color) (declare (shader_in ) vec4 gl_SecondaryColor) (declare (shader_out ) (array vec4 1) gl_FragData) (function main (signature void (parameters ) ( (declare (temporary ) vec4 flattening_tmp) (assign (x) (var_ref flattening_tmp) (expression float + (expression float * (swiz x (var_ref gl_SecondaryColor) )(swiz x (var_ref specular_enable) )) (swiz x (var_ref gl_Color) )) ) (assign (y) (var_ref flattening_tmp) (expression float + (expression float * (swiz y (var_ref gl_SecondaryColor) )(swiz y (var_ref specular_enable) )) (swiz y (var_ref gl_Color) )) ) (assign (z) (var_ref flattening_tmp) (expression float + (expression float * (swiz z (var_ref gl_SecondaryColor) )(swiz z (var_ref specular_enable) )) (swiz z (var_ref gl_Color) )) ) (assign (w) (var_ref flattening_tmp) (expression float + (expression float * (swiz w (var_ref gl_SecondaryColor) )(swiz w (var_ref specular_enable) )) (swiz w (var_ref gl_Color) )) ) (assign (xyzw) (array_ref (var_ref gl_FragData) (constant int (0)) ) (var_ref flattening_tmp) ) )) ) ) Native code for fragment shader 12 (8-wide dispatch): START B0 (assign (w) (var_ref flattening_tmp) (expression float + (expression float * (swiz w (var_ref gl_SecondaryColor) )(swiz w (var_ref specular_enable) )) (swiz w (var_ref gl_Color) )) ) 0x00000000: mul(8) g13<1>F g9<8,8,1>F g2.3<0,1,0>F { align1 }; (assign (z) (var_ref flattening_tmp) (expression float + (expression float * (swiz z (var_ref gl_SecondaryColor) )(swiz z (var_ref specular_enable) )) (swiz z (var_ref gl_Color) )) ) 0x00000010: mul(8) g12<1>F g12<8,8,1>F g2.2<0,1,0>F { align1 }; (assign (y) (var_ref flattening_tmp) (expression float + (expression float * (swiz y (var_ref gl_SecondaryColor) )(swiz y (var_ref specular_enable) )) (swiz y (var_ref gl_Color) )) ) 0x00000020: mul(8) g8<1>F g14<8,8,1>F g2.1<0,1,0>F { align1 }; (assign (x) (var_ref flattening_tmp) (expression float + (expression float * (swiz x (var_ref gl_SecondaryColor) )(swiz x (var_ref specular_enable) )) (swiz x (var_ref gl_Color) )) ) 0x00000030: mul(8) g7<1>F g9<8,8,1>F g2<0,1,0>F { align1 }; compute pixel centers 0x00000040: add(8) g3<1>UW g1.5<2,4,0>UW 0x11001100V { align1 }; 0x00000050: add(8) g2<1>UW g1.4<2,4,0>UW 0x10101010V { align1 }; compute pixel deltas from v0 0x00000060: add(8) g11<1>F g3<8,8,1>UW -g1.1<0,1,0>F { align1 }; 0x00000070: add(8) g10<1>F g2<8,8,1>UW -g1<0,1,0>F { align1 }; (declare (shader_in ) vec4 gl_Color) 0x00000080: pln(8) g14<1>F g6.4<0,1,0>F g10<8,8,1>F { align1 }; 0x00000090: pln(8) g9<1>F g6<0,1,0>F g10<8,8,1>F { align1 }; 0x000000a0: pln(8) g3<1>F g5<0,1,0>F g10<8,8,1>F { align1 }; compute pos.w and 1/pos.w 0x000000b0: pln(8) g2<1>F g4.4<0,1,0>F g10<8,8,1>F { align1 }; (declare (shader_in ) vec4 gl_Color) 0x000000c0: pln(8) g6<1>F g5.4<0,1,0>F g10<8,8,1>F { align1 }; compute pos.w and 1/pos.w 0x000000d0: send(8) 2 g2<1>F g2<8,8,1>F math inv mlen 1 rlen 1 { align1 }; (declare (shader_in ) vec4 gl_Color) 0x000000e0: mul(8) g14<1>F g14<8,8,1>F g2<8,8,1>F { align1 }; 0x000000f0: mul(8) g9<1>F g9<8,8,1>F g2<8,8,1>F { align1 }; 0x00000100: mul(8) g6<1>F g6<8,8,1>F g2<8,8,1>F { align1 }; 0x00000110: mul(8) g3<1>F g3<8,8,1>F g2<8,8,1>F { align1 }; (assign (w) (var_ref flattening_tmp) (expression float + (expression float * (swiz w (var_ref gl_SecondaryColor) )(swiz w (var_ref specular_enable) )) (swiz w (var_ref gl_Color) )) ) 0x00000120: add.sat(8) m6<1>F g13<8,8,1>F g14<8,8,1>F { align1 }; (assign (z) (var_ref flattening_tmp) (expression float + (expression float * (swiz z (var_ref gl_SecondaryColor) )(swiz z (var_ref specular_enable) )) (swiz z (var_ref gl_Color) )) ) 0x00000130: add.sat(8) m5<1>F g12<8,8,1>F g9<8,8,1>F { align1 }; (assign (y) (var_ref flattening_tmp) (expression float + (expression float * (swiz y (var_ref gl_SecondaryColor) )(swiz y (var_ref specular_enable) )) (swiz y (var_ref gl_Color) )) ) 0x00000140: add.sat(8) m4<1>F g8<8,8,1>F g6<8,8,1>F { align1 }; (assign (x) (var_ref flattening_tmp) (expression float + (expression float * (swiz x (var_ref gl_SecondaryColor) )(swiz x (var_ref specular_enable) )) (swiz x (var_ref gl_Color) )) ) 0x00000150: add.sat(8) m3<1>F g7<8,8,1>F g3<8,8,1>F { align1 }; FB write target 0 0x00000160: mov(8) m2<1>F g1<8,8,1>F { align1 nomask }; 0x00000170: send(8) 1 null g0<8,8,1>UW write (0, 12, 4, 0) mlen 6 rlen 0 { align1 EOT }; END B0 Native code for fragment shader 12 (16-wide dispatch): START B0 (assign (w) (var_ref flattening_tmp) (expression float + (expression float * (swiz w (var_ref gl_SecondaryColor) )(swiz w (var_ref specular_enable) )) (swiz w (var_ref gl_Color) )) ) 0x00000180: mul(16) g20<1>F g10<8,8,1>F g2.3<0,1,0>F { align1 compr }; (assign (z) (var_ref flattening_tmp) (expression float + (expression float * (swiz z (var_ref gl_SecondaryColor) )(swiz z (var_ref specular_enable) )) (swiz z (var_ref gl_Color) )) ) 0x00000190: mul(16) g18<1>F g18<8,8,1>F g2.2<0,1,0>F { align1 compr }; (assign (y) (var_ref flattening_tmp) (expression float + (expression float * (swiz y (var_ref gl_SecondaryColor) )(swiz y (var_ref specular_enable) )) (swiz y (var_ref gl_Color) )) ) 0x000001a0: mul(16) g16<1>F g16<8,8,1>F g2.1<0,1,0>F { align1 compr }; (assign (x) (var_ref flattening_tmp) (expression float + (expression float * (swiz x (var_ref gl_SecondaryColor) )(swiz x (var_ref specular_enable) )) (swiz x (var_ref gl_Color) )) ) 0x000001b0: mul(16) g14<1>F g14<8,8,1>F g2<0,1,0>F { align1 compr }; compute pixel centers 0x000001c0: add(16) g8<1>UW g1.5<2,4,0>UW 0x11001100V { align1 }; 0x000001d0: add(16) g2<1>UW g1.4<2,4,0>UW 0x10101010V { align1 }; compute pixel deltas from v0 0x000001e0: add(16) g10<1>F g2<8,8,1>UW -g1<0,1,0>F { align1 compr }; 0x000001f0: add(16) g12<1>F g8<8,8,1>UW -g1.1<0,1,0>F { align1 compr }; (declare (shader_in ) vec4 gl_Color) 0x00000200: line(16) null g6.4<0,1,0>F g10<8,8,1>F { align1 compr }; 0x00000210: mac(16) g24<1>F g6.5<0,1,0>F g12<8,8,1>F { align1 compr }; 0x00000220: line(16) null g6<0,1,0>F g10<8,8,1>F { align1 compr }; 0x00000230: mac(16) g22<1>F g6.1<0,1,0>F g12<8,8,1>F { align1 compr }; 0x00000240: line(16) null g5.4<0,1,0>F g10<8,8,1>F { align1 compr }; 0x00000250: mac(16) g8<1>F g5.5<0,1,0>F g12<8,8,1>F { align1 compr }; compute pos.w and 1/pos.w 0x00000260: line(16) null g4.4<0,1,0>F g10<8,8,1>F { align1 compr }; 0x00000270: mac(16) g2<1>F g4.5<0,1,0>F g12<8,8,1>F { align1 compr }; (declare (shader_in ) vec4 gl_Color) 0x00000280: line(16) null g5<0,1,0>F g10<8,8,1>F { align1 compr }; 0x00000290: mac(16) g6<1>F g5.1<0,1,0>F g12<8,8,1>F { align1 compr }; compute pos.w and 1/pos.w 0x000002a0: send(8) 2 g2<1>F g2<8,8,1>F math inv mlen 1 rlen 1 { align1 }; 0x000002b0: send(8) 3 g3<1>F g3<8,8,1>F math inv mlen 1 rlen 1 { align1 sechalf }; (declare (shader_in ) vec4 gl_Color) 0x000002c0: mul(16) g24<1>F g24<8,8,1>F g2<8,8,1>F { align1 compr }; 0x000002d0: mul(16) g22<1>F g22<8,8,1>F g2<8,8,1>F { align1 compr }; 0x000002e0: mul(16) g8<1>F g8<8,8,1>F g2<8,8,1>F { align1 compr }; 0x000002f0: mul(16) g6<1>F g6<8,8,1>F g2<8,8,1>F { align1 compr }; (assign (w) (var_ref flattening_tmp) (expression float + (expression float * (swiz w (var_ref gl_SecondaryColor) )(swiz w (var_ref specular_enable) )) (swiz w (var_ref gl_Color) )) ) 0x00000300: add.sat(16) m6<1>F g20<8,8,1>F g24<8,8,1>F { align1 compr4 }; (assign (z) (var_ref flattening_tmp) (expression float + (expression float * (swiz z (var_ref gl_SecondaryColor) )(swiz z (var_ref specular_enable) )) (swiz z (var_ref gl_Color) )) ) 0x00000310: add.sat(16) m5<1>F g18<8,8,1>F g22<8,8,1>F { align1 compr4 }; (assign (y) (var_ref flattening_tmp) (expression float + (expression float * (swiz y (var_ref gl_SecondaryColor) )(swiz y (var_ref specular_enable) )) (swiz y (var_ref gl_Color) )) ) 0x00000320: add.sat(16) m4<1>F g16<8,8,1>F g8<8,8,1>F { align1 compr4 }; (assign (x) (var_ref flattening_tmp) (expression float + (expression float * (swiz x (var_ref gl_SecondaryColor) )(swiz x (var_ref specular_enable) )) (swiz x (var_ref gl_Color) )) ) 0x00000330: add.sat(16) m3<1>F g14<8,8,1>F g6<8,8,1>F { align1 compr4 }; FB write target 0 0x00000340: mov(8) m2<1>F g1<8,8,1>F { align1 nomask }; 0x00000350: send(16) 1 null g0<8,8,1>UW write (0, 8, 4, 0) mlen 10 rlen 0 { align1 EOT }; END B0 trace:d3d9:d3d9_device_EndScene iface 0x12bf78. trace:d3d9:d3d9_device_SetVertexShader iface 0x12bf78, shader (nil). trace:d3d9:d3d9_device_SetVertexDeclaration iface 0x12bf78, declaration (nil). trace:d3d9:d3d9_device_SetPixelShader iface 0x12bf78, shader (nil). trace:d3d9:d3d9_device_CreateOffscreenPlainSurface iface 0x12bf78, width 640, height 480, format 0x15, pool 0x2, surface 0x32f5a0, shared_handle (nil). trace:d3d9:d3d9_device_create_surface device 0x12bf78, width 640, height 480, format 0x15, lockable 0x1, discard 0, surface 0x32f5a0. usage 0, pool 0x2, multisample_type 0, multisample_quality 0. trace:d3d9:d3d9_device_AddRef 0x12bf78 increasing refcount to 13. trace:d3d9:d3d9_device_create_surface Created surface 0x1b0d58. trace:d3d9:d3d9_device_GetRenderTarget iface 0x12bf78, idx 0, surface 0x32f5a4. trace:d3d9:d3d9_surface_AddRef iface 0x12cf88. trace:d3d9:d3d9_surface_AddRef 0x12cf88 increasing refcount to 1. trace:d3d9:d3d9_device_AddRef 0x12bf78 increasing refcount to 14. trace:d3d9:d3d9_device_GetRenderTargetData iface 0x12bf78, render_target 0x12cf88, dst_surface 0x1b0d58. trace:d3d9:d3d9_surface_LockRect iface 0x1b0d58, locked_rect 0x32f5a8, rect (160,360)-(161,361), flags 0x10. trace:d3d9:d3d9_surface_UnlockRect iface 0x1b0d58. trace:d3d9:d3d9_surface_Release iface 0x12cf88. trace:d3d9:d3d9_surface_Release 0x12cf88 decreasing refcount to 0. trace:d3d9:d3d9_device_Release 0x12bf78 decreasing refcount to 13. trace:d3d9:d3d9_surface_Release iface 0x1b0d58. trace:d3d9:d3d9_surface_Release 0x1b0d58 decreasing refcount to 0. trace:d3d9:d3d9_device_Release 0x12bf78 decreasing refcount to 12. visual.c:6960: Test failed: Input test: Quad 1(color-texcoord) returned color 0x00ff0040, expected 0x00ff8040 trace:d3d9:d3d9_device_Present iface 0x12bf78, src_rect (nil), dst_rect (nil), dst_window_override (nil), dirty_region (nil). trace:d3d9:d3d9_vertexshader_Release 0x1a7158 decreasing refcount to 0. trace:d3d9:d3d9_device_Release 0x12bf78 decreasing refcount to 11. trace:d3d9:d3d9_vertexshader_Release 0x1a7e90 decreasing refcount to 0. trace:d3d9:d3d9_device_Release 0x12bf78 decreasing refcount to 10. trace:d3d9:d3d9_vertex_declaration_Release 0x12d7d8 decreasing refcount to 0. trace:d3d9:d3d9_device_Release 0x12bf78 decreasing refcount to 9. trace:d3d9:d3d9_vertex_declaration_Release 0x12d9b0 decreasing refcount to 0. trace:d3d9:d3d9_device_Release 0x12bf78 decreasing refcount to 8. trace:d3d9:d3d9_vertex_declaration_Release 0x1a5dc0 decreasing refcount to 0. trace:d3d9:d3d9_device_Release 0x12bf78 decreasing refcount to 7. trace:d3d9:d3d9_vertex_declaration_Release 0x1a5ea8 decreasing refcount to 0. trace:d3d9:d3d9_device_Release 0x12bf78 decreasing refcount to 6. trace:d3d9:d3d9_vertex_declaration_Release 0x1a5fc0 decreasing refcount to 0. trace:d3d9:d3d9_device_Release 0x12bf78 decreasing refcount to 5. trace:d3d9:d3d9_vertex_declaration_Release 0x1a60d8 decreasing refcount to 0. trace:d3d9:d3d9_device_Release 0x12bf78 decreasing refcount to 4. trace:d3d9:d3d9_vertex_declaration_Release 0x1a61c0 decreasing refcount to 0. trace:d3d9:d3d9_device_Release 0x12bf78 decreasing refcount to 3. trace:d3d9:d3d9_vertex_declaration_Release 0x1a62a8 decreasing refcount to 0. trace:d3d9:d3d9_device_Release 0x12bf78 decreasing refcount to 2. trace:d3d9:d3d9_pixelshader_Release 0x12c370 decreasing refcount to 0. trace:d3d9:d3d9_device_Release 0x12bf78 decreasing refcount to 1. trace:d3d9:d3d9_device_GetSwapChain iface 0x12bf78, swapchain_idx 0, swapchain 0x32f658. trace:d3d9:d3d9_swapchain_AddRef 0x12c550 increasing refcount to 1. trace:d3d9:d3d9_device_AddRef 0x12bf78 increasing refcount to 2. trace:d3d9:d3d9_swapchain_GetPresentParameters iface 0x12c550, parameters 0x32f860. trace:d3d9:d3d9_swapchain_Release 0x12c550 decreasing refcount to 0. trace:d3d9:d3d9_device_Release 0x12bf78 decreasing refcount to 1. trace:d3d9:d3d9_device_Release 0x12bf78 decreasing refcount to 0. trace:d3d9:d3d9_Release 0x11e3b8 decreasing refcount to 1. visual: 76 tests executed (0 marked as todo, 1 failure), 0 skipped. trace:d3d9:DllMain fdwReason=0