From: Roland Scheidegger Date: Wed, 7 Feb 2018 04:03:42 +0000 (+0100) Subject: u_simple_shaders: fix mask handling in util_make_fragment_tex_shader_writemask X-Git-Url: https://git.libre-soc.org/?a=commitdiff_plain;h=afd1e9be1714eb95c3b797becb15bebaad9e6646;p=mesa.git u_simple_shaders: fix mask handling in util_make_fragment_tex_shader_writemask The writemask handling was busted, since writing defaults to output meant they got overwritten by the tex sampling anyway. Albeit the affected components were undefined, so maybe with some luck it still would have worked with some drivers - if not could as well kill it... (This would have affected u_blitter but not u_blit since the latter always used xyzw mask.) Reviewed-by: Brian Paul --- diff --git a/src/gallium/auxiliary/util/u_simple_shaders.c b/src/gallium/auxiliary/util/u_simple_shaders.c index 967954596bb..a301c057624 100644 --- a/src/gallium/auxiliary/util/u_simple_shaders.c +++ b/src/gallium/auxiliary/util/u_simple_shaders.c @@ -275,7 +275,7 @@ util_make_fragment_tex_shader_writemask(struct pipe_context *pipe, if (writemask != TGSI_WRITEMASK_XYZW) { struct ureg_src imm = ureg_imm4f( ureg, 0, 0, 0, 1 ); - ureg_MOV( ureg, out, imm ); + ureg_MOV(ureg, temp, imm); } if (tex_target == TGSI_TEXTURE_BUFFER)