GLSL IR for native fragment shader 3: ( (declare (shader_out ) vec4 out_Color) (declare (uniform ) float u_InverseGamma) (function main (signature void (parameters ) ( (declare () vec4 gamma) (assign (xyz) (var_ref gamma) (swiz xxx (expression float ubo_load (constant uint (0)) (constant uint (0)) ) )) (assign (w) (var_ref gamma) (constant float (1.000000)) ) (assign (x) (var_ref out_Color) (expression float pow (constant float (0.400000)) (swiz x (var_ref gamma) )) ) (assign (y) (var_ref out_Color) (expression float pow (constant float (0.200000)) (swiz y (var_ref gamma) )) ) (assign (z) (var_ref out_Color) (expression float pow (constant float (0.500000)) (swiz z (var_ref gamma) )) ) (assign (w) (var_ref out_Color) (constant float (1.000000)) ) )) ) ) Native code for fragment shader 3 (8-wide dispatch): START B0 FB write target 0 0x00000000: mov.sat(8) m4<1>F 1F { align1 WE_normal 1Q }; (assign (z) (var_ref out_Color) (expression float pow (constant float (0.500000)) (swiz z (var_ref gamma) )) ) 0x00000010: mov(8) g5<1>F 0.5F { align1 WE_normal 1Q }; (assign (y) (var_ref out_Color) (expression float pow (constant float (0.200000)) (swiz y (var_ref gamma) )) ) 0x00000020: mov(8) g4<1>F 0.2F { align1 WE_normal 1Q }; (assign (x) (var_ref out_Color) (expression float pow (constant float (0.400000)) (swiz x (var_ref gamma) )) ) 0x00000030: mov(8) g3<1>F 0.4F { align1 WE_normal 1Q }; (assign (xyz) (var_ref gamma) (swiz xxx (expression float ubo_load (constant uint (0)) (constant uint (0)) ) )) 0x00000040: mov(8) m14<1>UD g0<8,8,1>UD { align1 WE_all 1Q }; 0x00000050: mov(1) m14.2<1>UD 0x00000000UD { align1 WE_all }; 0x00000060: send(8) g2<1>UW m14<8,8,1>UD sampler (26, 0, 0, 0) mlen 1 rlen 1 { align1 WE_all 1Q }; (assign (z) (var_ref out_Color) (expression float pow (constant float (0.500000)) (swiz z (var_ref gamma) )) ) 0x00000070: math pow(8) g5<1>F g5<8,8,1>F g2<0,1,0>F { align1 WE_normal 1Q }; (assign (y) (var_ref out_Color) (expression float pow (constant float (0.200000)) (swiz y (var_ref gamma) )) ) 0x00000080: math pow(8) g4<1>F g4<8,8,1>F g2<0,1,0>F { align1 WE_normal 1Q }; FB write target 0 0x00000090: mov.sat(8) m3<1>F g5<8,8,1>F { align1 WE_normal 1Q }; 0x000000a0: mov.sat(8) m2<1>F g4<8,8,1>F { align1 WE_normal 1Q }; (assign (x) (var_ref out_Color) (expression float pow (constant float (0.400000)) (swiz x (var_ref gamma) )) ) 0x000000b0: math pow(8) g2<1>F g3<8,8,1>F g2<0,1,0>F { align1 WE_normal 1Q }; FB write target 0 0x000000c0: mov.sat(8) m1<1>F g2<8,8,1>F { align1 WE_normal 1Q }; 0x000000d0: sendc(8) null m1<8,8,1>F render ( RT write, 0, 4, 12, 0) mlen 4 rlen 0 { align1 WE_normal 1Q EOT }; END B0 Native code for fragment shader 3 (16-wide dispatch): START B0 FB write target 0 0x000000c0: mov.sat(16) m7<1>F 1F { align1 WE_normal 1H }; (assign (z) (var_ref out_Color) (expression float pow (constant float (0.500000)) (swiz z (var_ref gamma) )) ) 0x000000d0: mov(16) g8<1>F 0.5F { align1 WE_normal 1H }; (assign (y) (var_ref out_Color) (expression float pow (constant float (0.200000)) (swiz y (var_ref gamma) )) ) 0x000000e0: mov(16) g6<1>F 0.2F { align1 WE_normal 1H }; (assign (x) (var_ref out_Color) (expression float pow (constant float (0.400000)) (swiz x (var_ref gamma) )) ) 0x000000f0: mov(16) g4<1>F 0.4F { align1 WE_normal 1H }; (assign (xyz) (var_ref gamma) (swiz xxx (expression float ubo_load (constant uint (0)) (constant uint (0)) ) )) 0x00000100: mov(8) m14<1>UD g0<8,8,1>UD { align1 WE_all 1Q }; 0x00000110: mov(1) m14.2<1>UD 0x00000000UD { align1 WE_all }; 0x00000120: send(8) g2<1>UW m14<8,8,1>UD sampler (26, 0, 0, 0) mlen 1 rlen 1 { align1 WE_all 1Q }; (assign (z) (var_ref out_Color) (expression float pow (constant float (0.500000)) (swiz z (var_ref gamma) )) ) 0x00000130: math pow(8) g8<1>F g8<8,8,1>F g2<0,1,0>F { align1 WE_normal 1Q }; 0x00000140: math pow(8) g9<1>F g9<8,8,1>F g2<0,1,0>F { align1 WE_normal 2Q }; (assign (y) (var_ref out_Color) (expression float pow (constant float (0.200000)) (swiz y (var_ref gamma) )) ) 0x00000150: math pow(8) g6<1>F g6<8,8,1>F g2<0,1,0>F { align1 WE_normal 1Q }; 0x00000160: math pow(8) g7<1>F g7<8,8,1>F g2<0,1,0>F { align1 WE_normal 2Q }; FB write target 0 0x00000170: mov.sat(16) m5<1>F g8<8,8,1>F { align1 WE_normal 1H }; 0x00000180: mov.sat(16) m3<1>F g6<8,8,1>F { align1 WE_normal 1H }; (assign (x) (var_ref out_Color) (expression float pow (constant float (0.400000)) (swiz x (var_ref gamma) )) ) 0x00000190: math pow(8) g2<1>F g4<8,8,1>F g2<0,1,0>F { align1 WE_normal 1Q }; 0x000001a0: math pow(8) g3<1>F g5<8,8,1>F g2<0,1,0>F { align1 WE_normal 2Q }; FB write target 0 0x000001b0: mov.sat(16) m1<1>F g2<8,8,1>F { align1 WE_normal 1H }; 0x000001c0: sendc(16) null m1<8,8,1>F render ( RT write, 0, 0, 12, 0) mlen 8 rlen 0 { align1 WE_normal 1H EOT }; END B0