Mesa (master): u_simple_shaders: fix mask handling in util_make_fragment_tex_shader_writemask

Roland Scheidegger sroland at kemper.freedesktop.org
Wed Feb 7 16:10:26 UTC 2018


Module: Mesa
Branch: master
Commit: afd1e9be1714eb95c3b797becb15bebaad9e6646
URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=afd1e9be1714eb95c3b797becb15bebaad9e6646

Author: Roland Scheidegger <sroland at vmware.com>
Date:   Wed Feb  7 05:03:42 2018 +0100

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 <brianp at vmware.com>

---

 src/gallium/auxiliary/util/u_simple_shaders.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/src/gallium/auxiliary/util/u_simple_shaders.c b/src/gallium/auxiliary/util/u_simple_shaders.c
index 967954596b..a301c05762 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)




More information about the mesa-commit mailing list