Mesa (master): r600g/sb: fix value::is_fixed()
Vadim Girlin
vadimg at kemper.freedesktop.org
Tue Oct 29 01:49:50 UTC 2013
Module: Mesa
Branch: master
Commit: 8bd4476010444642cff71e64146c91a484238dc2
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=8bd4476010444642cff71e64146c91a484238dc2
Author: Vadim Girlin <vadimgirlin at gmail.com>
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 <vadimgirlin at gmail.com>
Tested-by: Andreas Boll <andreas.boll.dev at gmail.com>
---
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;
}
More information about the mesa-commit
mailing list