Mesa (nv50-compiler): nv50: check dst compatibility in CSE

Christoph Bumiller chrisbmr at kemper.freedesktop.org
Tue Aug 17 13:30:17 UTC 2010


Module: Mesa
Branch: nv50-compiler
Commit: 3e27785f3ebe6620805f97cb5c17ec8bd28bc1e8
URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=3e27785f3ebe6620805f97cb5c17ec8bd28bc1e8

Author: Christoph Bumiller <e0425955 at student.tuwien.ac.at>
Date:   Tue Aug 17 15:27:56 2010 +0200

nv50: check dst compatibility in CSE

---

 src/gallium/drivers/nv50/nv50_pc_optimize.c |    7 +++++++
 1 files changed, 7 insertions(+), 0 deletions(-)

diff --git a/src/gallium/drivers/nv50/nv50_pc_optimize.c b/src/gallium/drivers/nv50/nv50_pc_optimize.c
index 3e6e09a..80f3bb3 100644
--- a/src/gallium/drivers/nv50/nv50_pc_optimize.c
+++ b/src/gallium/drivers/nv50/nv50_pc_optimize.c
@@ -1007,6 +1007,13 @@ nv_pass_cse(struct nv_pass *ctx, struct nv_basic_block *b)
                 ik->flags_def || ir->flags_def)
                continue; /* and also not with flags, for now */
 
+            assert(ik->def[0] && ir->def[0]);
+
+            if (ik->def[0]->reg.file == NV_FILE_OUT ||
+                ir->def[0]->reg.file == NV_FILE_OUT ||
+                !values_equal(ik->def[0], ir->def[0]))
+               continue;
+
             for (s = 0; s < 3; ++s) {
                struct nv_value *a, *b;
 




More information about the mesa-commit mailing list