[Mesa-dev] [PATCH 3/5] i965/fs: Fix broken rendering in large shaders with UBO loads.

Eric Anholt eric at anholt.net
Wed Mar 6 18:57:19 PST 2013

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
 src/mesa/drivers/dri/i965/brw_fs.cpp |    2 ++
 1 file changed, 2 insertions(+)

diff --git a/src/mesa/drivers/dri/i965/brw_fs.cpp b/src/mesa/drivers/dri/i965/brw_fs.cpp
index 927cf13..b97a19e 100644
--- a/src/mesa/drivers/dri/i965/brw_fs.cpp
+++ b/src/mesa/drivers/dri/i965/brw_fs.cpp
@@ -2499,6 +2499,8 @@ fs_visitor::lower_uniform_pull_constant_loads()
          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-dev mailing list