Mesa (9.1): i965/fs: Fix broken rendering in large shaders with UBO loads.
Ian Romanick
idr at kemper.freedesktop.org
Mon Mar 25 21:23:58 UTC 2013
Module: Mesa
Branch: 9.1
Commit: c5bc65bd62dac7b9c7c1096d0c1b1e6680777a67
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=c5bc65bd62dac7b9c7c1096d0c1b1e6680777a67
Author: Eric Anholt <eric at anholt.net>
Date: Wed Mar 6 15:58:46 2013 -0800
i965/fs: Fix broken rendering in large shaders with UBO loads.
The lowering process creates a new vgrf on gen7 that should be represented
in live interval analysis. As-is, it was getting a conflicting allocation
with gl_FragDepth in the dolphin emulator, producing broken rendering.
NOTE: This is a candidate for the 9.1 branch.
Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=61317
Reviewed-by: Kenneth Graunke <kenneth at whitecape.org>
(cherry picked from commit 1323772543083dec23baf5a50222bdfc88ff6c3a)
---
src/mesa/drivers/dri/i965/brw_fs.cpp | 2 ++
1 files changed, 2 insertions(+), 0 deletions(-)
diff --git a/src/mesa/drivers/dri/i965/brw_fs.cpp b/src/mesa/drivers/dri/i965/brw_fs.cpp
index f80219e..f00d4e3 100644
--- a/src/mesa/drivers/dri/i965/brw_fs.cpp
+++ b/src/mesa/drivers/dri/i965/brw_fs.cpp
@@ -2494,6 +2494,8 @@ fs_visitor::lower_uniform_pull_constant_loads()
inst->insert_before(setup2);
inst->opcode = FS_OPCODE_UNIFORM_PULL_CONSTANT_LOAD_GEN7;
inst->src[1] = payload;
+
+ this->live_intervals_valid = false;
} else {
/* Before register allocation, we didn't tell the scheduler about the
* MRF we use. We know it's safe to use this MRF because nothing
More information about the mesa-commit
mailing list