Module: Mesa Branch: master Commit: 79674066b6f98be96cb63a0332ac421858544a20 URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=79674066b6f98be96cb63a0332ac421858544a20
Author: Marek Olšák <marek.ol...@amd.com> Date: Mon Aug 28 23:28:33 2017 +0200 st/mesa: fix XPD lowering - don't read dst Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=102461 Reviewed-by: Brian Paul <bri...@vmware.com> --- src/mesa/state_tracker/st_mesa_to_tgsi.c | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) diff --git a/src/mesa/state_tracker/st_mesa_to_tgsi.c b/src/mesa/state_tracker/st_mesa_to_tgsi.c index 916f7fa2e8..fa9fa440ef 100644 --- a/src/mesa/state_tracker/st_mesa_to_tgsi.c +++ b/src/mesa/state_tracker/st_mesa_to_tgsi.c @@ -562,8 +562,10 @@ compile_instruction( ureg_scalar(src[0], TGSI_SWIZZLE_X)); break; - case OPCODE_XPD: - ureg_MUL(ureg, ureg_writemask(dst[0], TGSI_WRITEMASK_XYZ), + case OPCODE_XPD: { + struct ureg_dst tmp = ureg_DECL_temporary(ureg); + + ureg_MUL(ureg, ureg_writemask(tmp, TGSI_WRITEMASK_XYZ), ureg_swizzle(src[0], TGSI_SWIZZLE_Y, TGSI_SWIZZLE_Z, TGSI_SWIZZLE_X, 0), ureg_swizzle(src[1], TGSI_SWIZZLE_Z, TGSI_SWIZZLE_X, @@ -573,8 +575,9 @@ compile_instruction( TGSI_SWIZZLE_Y, 0), ureg_negate(ureg_swizzle(src[1], TGSI_SWIZZLE_Y, TGSI_SWIZZLE_Z, TGSI_SWIZZLE_X, 0)), - ureg_src(dst[0])); + ureg_src(tmp)); break; + } case OPCODE_RSQ: ureg_RSQ( ureg, dst[0], ureg_abs(src[0]) ); _______________________________________________ mesa-commit mailing list mesa-commit@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/mesa-commit