From 89a1a3e9d60b98dca132c12b0952e0201d28bfc6 Mon Sep 17 00:00:00 2001 From: Gert Wollny Date: Tue, 29 Sep 2020 23:06:59 +0200 Subject: [PATCH] r600/sfn: extend life range of all variables by one This is a strange fix for some gles 3.1 tests with atomics. Maybed the register holding the atomic add value can't be re-used in the first instruction after an GDS instruction. Signed-off-by: Gert Wollny Part-of: --- src/gallium/drivers/r600/sfn/sfn_liverange.cpp | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/src/gallium/drivers/r600/sfn/sfn_liverange.cpp b/src/gallium/drivers/r600/sfn/sfn_liverange.cpp index 2a4d0d2a971..fec80826cda 100644 --- a/src/gallium/drivers/r600/sfn/sfn_liverange.cpp +++ b/src/gallium/drivers/r600/sfn/sfn_liverange.cpp @@ -358,6 +358,11 @@ register_live_range temp_access::get_required_live_range() break; } result.is_array_elm = is_array_element; + + /* This fixes a few tests, but it is not clear why. */ + if (result.end != result.begin) + ++result.end; + return result; }