On 03/17/2014 02:32 PM, Kenneth Graunke wrote:
This is a little easier to read.

Signed-off-by: Kenneth Graunke <kenn...@whitecape.org>
---
  src/mesa/program/register_allocate.c | 13 +++++++++++--
  1 file changed, 11 insertions(+), 2 deletions(-)

diff --git a/src/mesa/program/register_allocate.c 
b/src/mesa/program/register_allocate.c
index edde730..c763b96 100644
--- a/src/mesa/program/register_allocate.c
+++ b/src/mesa/program/register_allocate.c
@@ -284,6 +284,15 @@ ra_class_add_reg(struct ra_regs *regs, unsigned int c, 
unsigned int r)
  }

  /**
+ * Returns true if the register belongs to the given class.
+ */
+static bool
+reg_belongs_to_class(unsigned int r, struct ra_class *c)

pointer could be const.

Series look OK to me.  Reviewed-by: Brian Paul <bri...@vmware.com>


+{
+   return c->regs[r];
+}
+
+/**
   * Must be called after all conflicts and register classes have been
   * set up and before the register set is used for allocation.
   * To avoid costly q value computation, use the q_values paramater
@@ -319,7 +328,7 @@ ra_set_finalize(struct ra_regs *regs, unsigned int 
**q_values)
            int conflicts = 0;
            int i;

-           if (!regs->classes[c]->regs[rc])
+            if (!reg_belongs_to_class(rc, regs->classes[c]))
               continue;

            for (i = 0; i < regs->regs[rc].num_conflicts; i++) {
@@ -479,7 +488,7 @@ ra_select(struct ra_graph *g)
         */
        for (ri = 0; ri < g->regs->count; ri++) {
           r = (start_search_reg + ri) % g->regs->count;
-        if (!c->regs[r])
+         if (!reg_belongs_to_class(r, c))
            continue;

         /* Check if any of our neighbors conflict with this register choice. */


_______________________________________________
mesa-dev mailing list
mesa-dev@lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/mesa-dev

Reply via email to