Mesa (master): nir: Slightly simplify algebraic code generation by reusing a struct.

Eric Anholt anholt at kemper.freedesktop.org
Fri Feb 6 23:59:45 UTC 2015


Module: Mesa
Branch: master
Commit: 6706537dd4d6794f71de4fe105ec99bc84b526e0
URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=6706537dd4d6794f71de4fe105ec99bc84b526e0

Author: Eric Anholt <eric at anholt.net>
Date:   Tue Jan 27 16:42:38 2015 -0800

nir: Slightly simplify algebraic code generation by reusing a struct.

Reviewed-by: Jason Ekstrand <jason.ekstrand at intel.com>

---

 src/glsl/nir/nir_algebraic.py |    9 +++------
 1 file changed, 3 insertions(+), 6 deletions(-)

diff --git a/src/glsl/nir/nir_algebraic.py b/src/glsl/nir/nir_algebraic.py
index ea7f5fc..4929745 100644
--- a/src/glsl/nir/nir_algebraic.py
+++ b/src/glsl/nir/nir_algebraic.py
@@ -179,10 +179,7 @@ struct transform {
    ${xform.replace.render()}
 % endfor
 
-static const struct {
-   const nir_search_expression *search;
-   const nir_search_value *replace;
-} ${pass_name}_${opcode}_xforms[] = {
+static const struct transform ${pass_name}_${opcode}_xforms[] = {
 % for xform in xform_list:
    { &${xform.search.name}, ${xform.replace.c_ptr} },
 % endfor
@@ -211,8 +208,8 @@ ${pass_name}_block(nir_block *block, void *void_state)
       % for opcode in xform_dict.keys():
       case nir_op_${opcode}:
          for (unsigned i = 0; i < ARRAY_SIZE(${pass_name}_${opcode}_xforms); i++) {
-            if (nir_replace_instr(alu, ${pass_name}_${opcode}_xforms[i].search,
-                                  ${pass_name}_${opcode}_xforms[i].replace,
+            const struct transform *xform = &${pass_name}_${opcode}_xforms[i];
+            if (nir_replace_instr(alu, xform->search, xform->replace,
                                   state->mem_ctx)) {
                state->progress = true;
                break;




More information about the mesa-commit mailing list