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

Author: Vadim Girlin <[email protected]>
Date:   Tue Oct 29 05:49:21 2013 +0400

r600g/sb: fix value::is_fixed()

This prevents unnecessary (and wrong) register allocation in the
scheduler for preloaded values in fixed registers.

Fixes interpolation-mixed.shader_test on rv770
(and probably on all other pre-evergreen chips).

Signed-off-by: Vadim Girlin <[email protected]>
Tested-by: Andreas Boll <[email protected]>

---

 src/gallium/drivers/r600/sb/sb_valtable.cpp |    4 ++--
 1 files changed, 2 insertions(+), 2 deletions(-)

diff --git a/src/gallium/drivers/r600/sb/sb_valtable.cpp 
b/src/gallium/drivers/r600/sb/sb_valtable.cpp
index 00aee66..0d39e9c 100644
--- a/src/gallium/drivers/r600/sb/sb_valtable.cpp
+++ b/src/gallium/drivers/r600/sb/sb_valtable.cpp
@@ -255,8 +255,8 @@ void value::set_prealloc() {
 bool value::is_fixed() {
        if (array && array->gpr)
                return true;
-       if (chunk)
-               return chunk->is_fixed();
+       if (chunk && chunk->is_fixed())
+               return true;
        return flags & VLF_FIXED;
 }
 

_______________________________________________
mesa-commit mailing list
[email protected]
http://lists.freedesktop.org/mailman/listinfo/mesa-commit

Reply via email to