Mesa (master): st/mesa: set result writemask based on ir type

Ilia Mirkin imirkin at kemper.freedesktop.org
Sun Mar 19 04:19:24 UTC 2017


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

Author: Ilia Mirkin <imirkin at alum.mit.edu>
Date:   Sat Mar  4 13:52:48 2017 -0500

st/mesa: set result writemask based on ir type

This prevents textureQueryLevels, which maps as LODQ, from ending up
with a xyzw writemask, which is illegal.

Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=100061
Signed-off-by: Ilia Mirkin <imirkin at alum.mit.edu>
Cc: mesa-stable at lists.freedesktop.org
Reviewed-by: Marek Olšák <marek.olsak at amd.com>

---

 src/mesa/state_tracker/st_glsl_to_tgsi.cpp | 1 +
 1 file changed, 1 insertion(+)

diff --git a/src/mesa/state_tracker/st_glsl_to_tgsi.cpp b/src/mesa/state_tracker/st_glsl_to_tgsi.cpp
index 7b917ebe47..c53da29322 100644
--- a/src/mesa/state_tracker/st_glsl_to_tgsi.cpp
+++ b/src/mesa/state_tracker/st_glsl_to_tgsi.cpp
@@ -4166,6 +4166,7 @@ glsl_to_tgsi_visitor::visit(ir_texture *ir)
     */
    result_src = get_temp(ir->type);
    result_dst = st_dst_reg(result_src);
+   result_dst.writemask = (1 << ir->type->vector_elements) - 1;
 
    switch (ir->op) {
    case ir_tex:




More information about the mesa-commit mailing list