Mesa (master): st/glsl_to_tgsi: fix st_src_reg_for_double constant.

Dave Airlie airlied at kemper.freedesktop.org
Tue Aug 23 01:14:28 UTC 2016


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

Author: Dave Airlie <airlied at redhat.com>
Date:   Tue Jul  5 10:26:14 2016 +1000

st/glsl_to_tgsi: fix st_src_reg_for_double constant.

This needs to set the src swizzle so it doesn't access the .zw
members ever when we are just emitting a 0 constant here.

This fixes:
vert-conversion-explicit-dvec3-bvec3.shader_test
and a bunch of other fp64 tests on softpipe and radeonsi.

Cc: <mesa-stable at lists.freedesktop.org>
Signed-off-by: Dave Airlie <airlied at redhat.com>

---

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

diff --git a/src/mesa/state_tracker/st_glsl_to_tgsi.cpp b/src/mesa/state_tracker/st_glsl_to_tgsi.cpp
index 5a9cadc..50ff423 100644
--- a/src/mesa/state_tracker/st_glsl_to_tgsi.cpp
+++ b/src/mesa/state_tracker/st_glsl_to_tgsi.cpp
@@ -1133,7 +1133,7 @@ glsl_to_tgsi_visitor::st_src_reg_for_double(double val)
 
    memcpy(uval, &val, sizeof(uval));
    src.index = add_constant(src.file, uval, 1, GL_DOUBLE, &src.swizzle);
-
+   src.swizzle = MAKE_SWIZZLE4(SWIZZLE_X, SWIZZLE_Y, SWIZZLE_X, SWIZZLE_Y);
    return src;
 }
 




More information about the mesa-commit mailing list