Mesa (glsl-to-tgsi): glsl_to_tgsi: improve eliminate_dead_code_advanced()

Bryan Cain bryanc at kemper.freedesktop.org
Sat Jun 25 16:20:23 UTC 2011


Module: Mesa
Branch: glsl-to-tgsi
Commit: 1e4933b9a18ac6294b34860cfc4cc09974fbe643
URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=1e4933b9a18ac6294b34860cfc4cc09974fbe643

Author: Bryan Cain <bryancain3 at gmail.com>
Date:   Fri Jun 24 23:17:30 2011 -0500

glsl_to_tgsi: improve eliminate_dead_code_advanced()

---

 src/mesa/state_tracker/st_glsl_to_tgsi.cpp |    9 +++++++++
 1 files changed, 9 insertions(+), 0 deletions(-)

diff --git a/src/mesa/state_tracker/st_glsl_to_tgsi.cpp b/src/mesa/state_tracker/st_glsl_to_tgsi.cpp
index 13573fc..15a1a3c 100644
--- a/src/mesa/state_tracker/st_glsl_to_tgsi.cpp
+++ b/src/mesa/state_tracker/st_glsl_to_tgsi.cpp
@@ -3379,6 +3379,15 @@ glsl_to_tgsi_visitor::eliminate_dead_code_advanced(void)
       }
    }
 
+   /* Anything still in the write array at this point is dead code. */
+   for (int r = 0; r < this->next_temp; r++) {
+      for (int c = 0; c < 4; c++) {
+         glsl_to_tgsi_instruction *inst = writes[4 * r + c];
+         if (inst)
+            inst->dead_mask |= (1 << c);
+      }
+   }
+
    /* Now actually remove the instructions that are completely dead and update
     * the writemask of other instructions with dead channels.
     */




More information about the mesa-commit mailing list