<div dir="ltr"><div>Yes, please.  I've made that mistake enough myself.<br><br></div>Reviewed-by: Jason Ekstrand <<a href="mailto:jason.ekstrand@intel.com">jason.ekstrand@intel.com</a>><br></div><div class="gmail_extra"><br><div class="gmail_quote">On Wed, Jan 21, 2015 at 5:25 PM, Eric Anholt <span dir="ltr"><<a href="mailto:eric@anholt.net" target="_blank">eric@anholt.net</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">Almost all instructions we nir_ssa_def_init() for are nir_dests, and you<br>
have to keep from forgetting to set is_ssa when you do.  Just provide the<br>
simpler helper, instead.<br>
---<br>
 src/glsl/nir/glsl_to_nir.cpp            | 14 ++++----------<br>
 src/glsl/nir/nir.c                      |  8 ++++++++<br>
 src/glsl/nir/nir.h                      |  2 ++<br>
 src/glsl/nir/nir_from_ssa.c             | 10 ++++------<br>
 src/glsl/nir/nir_lower_atomics.c        | 11 ++++-------<br>
 src/glsl/nir/nir_lower_io.c             | 11 ++++-------<br>
 src/glsl/nir/nir_lower_locals_to_regs.c | 11 ++++-------<br>
 src/glsl/nir/nir_lower_system_values.c  |  5 ++---<br>
 src/glsl/nir/nir_lower_var_copies.c     |  3 +--<br>
 src/glsl/nir/nir_lower_vars_to_ssa.c    | 15 ++++++---------<br>
 src/glsl/nir/nir_opt_peephole_select.c  |  5 ++---<br>
 src/glsl/nir/nir_search.c               |  8 +++-----<br>
 src/glsl/nir/nir_to_ssa.c               |  9 ++-------<br>
 13 files changed, 46 insertions(+), 66 deletions(-)<br>
<br>
diff --git a/src/glsl/nir/glsl_to_nir.cpp b/src/glsl/nir/glsl_to_nir.cpp<br>
index 6ac830e..80bc4ba 100644<br>
--- a/src/glsl/nir/glsl_to_nir.cpp<br>
+++ b/src/glsl/nir/glsl_to_nir.cpp<br>
@@ -618,8 +618,7 @@ nir_visitor::visit(ir_call *ir)<br>
          (ir_dereference *) ir->actual_parameters.get_head();<br>
       param->accept(this);<br>
       instr->variables[0] = this->deref_head;<br>
-      instr->dest.is_ssa = true;<br>
-      nir_ssa_def_init(&instr->instr, &instr->dest.ssa, 1, NULL);<br>
+      nir_ssa_dest_init(&instr->instr, &instr->dest, 1, NULL);<br>
<br>
       nir_instr_insert_after_cf_list(this->cf_node_list, &instr->instr);<br>
<br>
@@ -702,9 +701,7 @@ nir_visitor::visit(ir_assignment *ir)<br>
       nir_intrinsic_instr *load =<br>
          nir_intrinsic_instr_create(this->shader, nir_intrinsic_load_var);<br>
       load->num_components = ir->lhs->type->vector_elements;<br>
-      load->dest.is_ssa = true;<br>
-      nir_ssa_def_init(&load->instr, &load->dest.ssa,<br>
-                       num_components, NULL);<br>
+      nir_ssa_dest_init(&load->instr, &load->dest, num_components, NULL);<br>
       load->variables[0] = lhs_deref;<br>
       nir_instr_insert_after_cf_list(this->cf_node_list, &load->instr);<br>
<br>
@@ -717,9 +714,7 @@ nir_visitor::visit(ir_assignment *ir)<br>
          default: unreachable("Invalid number of components"); break;<br>
       }<br>
       nir_alu_instr *vec = nir_alu_instr_create(this->shader, vec_op);<br>
-      vec->dest.dest.is_ssa = true;<br>
-      nir_ssa_def_init(&vec->instr, &vec->dest.dest.ssa,<br>
-                       num_components, NULL);<br>
+      nir_ssa_dest_init(&vec->instr, &vec->dest.dest, num_components, NULL);<br>
       vec->dest.write_mask = (1 << num_components) - 1;<br>
<br>
       unsigned component = 0;<br>
@@ -805,8 +800,7 @@ nir_visitor::add_instr(nir_instr *instr, unsigned num_components)<br>
 {<br>
    nir_dest *dest = get_instr_dest(instr);<br>
<br>
-   dest->is_ssa = true;<br>
-   nir_ssa_def_init(instr, &dest->ssa, num_components, NULL);<br>
+   nir_ssa_dest_init(instr, dest, num_components, NULL);<br>
<br>
    nir_instr_insert_after_cf_list(this->cf_node_list, instr);<br>
    this->result = instr;<br>
diff --git a/src/glsl/nir/nir.c b/src/glsl/nir/nir.c<br>
index 89e21fd..16ad2da 100644<br>
--- a/src/glsl/nir/nir.c<br>
+++ b/src/glsl/nir/nir.c<br>
@@ -1791,6 +1791,14 @@ nir_ssa_def_init(nir_instr *instr, nir_ssa_def *def,<br>
    }<br>
 }<br>
<br>
+void<br>
+nir_ssa_dest_init(nir_instr *instr, nir_dest *dest,<br>
+                 unsigned num_components, const char *name)<br>
+{<br>
+   dest->is_ssa = true;<br>
+   nir_ssa_def_init(instr, &dest->ssa, num_components, name);<br>
+}<br>
+<br>
 struct ssa_def_rewrite_state {<br>
    void *mem_ctx;<br>
    nir_ssa_def *old;<br>
diff --git a/src/glsl/nir/nir.h b/src/glsl/nir/nir.h<br>
index 761f20a..8dc5222 100644<br>
--- a/src/glsl/nir/nir.h<br>
+++ b/src/glsl/nir/nir.h<br>
@@ -1457,6 +1457,8 @@ nir_const_value *nir_src_as_const_value(nir_src src);<br>
 bool nir_srcs_equal(nir_src src1, nir_src src2);<br>
 void nir_instr_rewrite_src(nir_instr *instr, nir_src *src, nir_src new_src);<br>
<br>
+void nir_ssa_dest_init(nir_instr *instr, nir_dest *dest,<br>
+                       unsigned num_components, const char *name);<br>
 void nir_ssa_def_init(nir_instr *instr, nir_ssa_def *def,<br>
                       unsigned num_components, const char *name);<br>
 void nir_ssa_def_rewrite_uses(nir_ssa_def *def, nir_src new_src, void *mem_ctx);<br>
diff --git a/src/glsl/nir/nir_from_ssa.c b/src/glsl/nir/nir_from_ssa.c<br>
index 9728b99..88212a2 100644<br>
--- a/src/glsl/nir/nir_from_ssa.c<br>
+++ b/src/glsl/nir/nir_from_ssa.c<br>
@@ -355,9 +355,8 @@ isolate_phi_nodes_block(nir_block *block, void *void_state)<br>
          entry->src = nir_src_copy(src->src, state->dead_ctx);<br>
          _mesa_set_add(src->src.ssa->uses, &pcopy->instr);<br>
<br>
-         entry->dest.is_ssa = true;<br>
-         nir_ssa_def_init(&pcopy->instr, &entry->dest.ssa,<br>
-                          phi->dest.ssa.num_components, src->src.ssa->name);<br>
+         nir_ssa_dest_init(&pcopy->instr, &entry->dest,<br>
+                           phi->dest.ssa.num_components, src->src.ssa->name);<br>
<br>
          struct set_entry *use_entry =<br>
             _mesa_set_search(src->src.ssa->uses, instr);<br>
@@ -379,9 +378,8 @@ isolate_phi_nodes_block(nir_block *block, void *void_state)<br>
                                               nir_parallel_copy_entry);<br>
       exec_list_push_tail(&block_pcopy->entries, &entry->node);<br>
<br>
-      entry->dest.is_ssa = true;<br>
-      nir_ssa_def_init(&block_pcopy->instr, &entry->dest.ssa,<br>
-                       phi->dest.ssa.num_components, phi-><a href="http://dest.ssa.name" target="_blank">dest.ssa.name</a>);<br>
+      nir_ssa_dest_init(&block_pcopy->instr, &entry->dest,<br>
+                        phi->dest.ssa.num_components, phi-><a href="http://dest.ssa.name" target="_blank">dest.ssa.name</a>);<br>
<br>
       nir_src entry_dest_src = {<br>
          .ssa = &entry->dest.ssa,<br>
diff --git a/src/glsl/nir/nir_lower_atomics.c b/src/glsl/nir/nir_lower_atomics.c<br>
index 874c534..a5c05ce 100644<br>
--- a/src/glsl/nir/nir_lower_atomics.c<br>
+++ b/src/glsl/nir/nir_lower_atomics.c<br>
@@ -86,8 +86,7 @@ lower_instr(nir_intrinsic_instr *instr, nir_function_impl *impl)<br>
          nir_instr_insert_before(&instr->instr, &atomic_counter_size->instr);<br>
<br>
          nir_alu_instr *mul = nir_alu_instr_create(mem_ctx, nir_op_imul);<br>
-         mul->dest.dest.is_ssa = true;<br>
-         nir_ssa_def_init(&mul->instr, &mul->dest.dest.ssa, 1, NULL);<br>
+         nir_ssa_dest_init(&mul->instr, &mul->dest.dest, 1, NULL);<br>
          mul->dest.write_mask = 0x1;<br>
          mul->src[0].src = nir_src_copy(deref_array->indirect, mem_ctx);<br>
          mul->src[1].src.is_ssa = true;<br>
@@ -95,8 +94,7 @@ lower_instr(nir_intrinsic_instr *instr, nir_function_impl *impl)<br>
          nir_instr_insert_before(&instr->instr, &mul->instr);<br>
<br>
          nir_alu_instr *add = nir_alu_instr_create(mem_ctx, nir_op_iadd);<br>
-         add->dest.dest.is_ssa = true;<br>
-         nir_ssa_def_init(&add->instr, &add->dest.dest.ssa, 1, NULL);<br>
+         nir_ssa_dest_init(&add->instr, &add->dest.dest, 1, NULL);<br>
          add->dest.write_mask = 0x1;<br>
          add->src[0].src.is_ssa = true;<br>
          add->src[0].src.ssa = &mul->dest.dest.ssa;<br>
@@ -112,9 +110,8 @@ lower_instr(nir_intrinsic_instr *instr, nir_function_impl *impl)<br>
    new_instr->src[0].ssa = offset_def;;<br>
<br>
    if (instr->dest.is_ssa) {<br>
-      new_instr->dest.is_ssa = true;<br>
-      nir_ssa_def_init(&new_instr->instr, &new_instr->dest.ssa,<br>
-                       instr->dest.ssa.num_components, NULL);<br>
+      nir_ssa_dest_init(&new_instr->instr, &new_instr->dest,<br>
+                        instr->dest.ssa.num_components, NULL);<br>
       nir_src new_dest_src = {<br>
          .is_ssa = true,<br>
          .ssa = &new_instr->dest.ssa,<br>
diff --git a/src/glsl/nir/nir_lower_io.c b/src/glsl/nir/nir_lower_io.c<br>
index af87c13..a36f2d7 100644<br>
--- a/src/glsl/nir/nir_lower_io.c<br>
+++ b/src/glsl/nir/nir_lower_io.c<br>
@@ -151,8 +151,7 @@ get_io_offset(nir_deref_var *deref, nir_instr *instr, nir_src *indirect,<br>
             mul->src[1].src = nir_src_copy(deref_array->indirect,<br>
                                            state->mem_ctx);<br>
             mul->dest.write_mask = 1;<br>
-            mul->dest.dest.is_ssa = true;<br>
-            nir_ssa_def_init(&mul->instr, &mul->dest.dest.ssa, 1, NULL);<br>
+            nir_ssa_dest_init(&mul->instr, &mul->dest.dest, 1, NULL);<br>
             nir_instr_insert_before(instr, &mul->instr);<br>
<br>
             if (found_indirect) {<br>
@@ -162,8 +161,7 @@ get_io_offset(nir_deref_var *deref, nir_instr *instr, nir_src *indirect,<br>
                add->src[1].src.is_ssa = true;<br>
                add->src[1].src.ssa = &mul->dest.dest.ssa;<br>
                add->dest.write_mask = 1;<br>
-               add->dest.dest.is_ssa = true;<br>
-               nir_ssa_def_init(&add->instr, &add->dest.dest.ssa, 1, NULL);<br>
+               nir_ssa_dest_init(&add->instr, &add->dest.dest, 1, NULL);<br>
                nir_instr_insert_before(instr, &add->instr);<br>
<br>
                indirect->is_ssa = true;<br>
@@ -235,9 +233,8 @@ nir_lower_io_block(nir_block *block, void *void_state)<br>
             load->src[0] = indirect;<br>
<br>
          if (intrin->dest.is_ssa) {<br>
-            load->dest.is_ssa = true;<br>
-            nir_ssa_def_init(&load->instr, &load->dest.ssa,<br>
-                             intrin->num_components, NULL);<br>
+            nir_ssa_dest_init(&load->instr, &load->dest,<br>
+                              intrin->num_components, NULL);<br>
<br>
             nir_src new_src = {<br>
                .is_ssa = true,<br>
diff --git a/src/glsl/nir/nir_lower_locals_to_regs.c b/src/glsl/nir/nir_lower_locals_to_regs.c<br>
index b187541..58a1dcb 100644<br>
--- a/src/glsl/nir/nir_lower_locals_to_regs.c<br>
+++ b/src/glsl/nir/nir_lower_locals_to_regs.c<br>
@@ -158,8 +158,7 @@ get_deref_reg_src(nir_deref_var *deref, nir_instr *instr,<br>
          mul->src[1].src.is_ssa = true;<br>
          mul->src[1].src.ssa = &load_const->def;<br>
          mul->dest.write_mask = 1;<br>
-         mul->dest.dest.is_ssa = true;<br>
-         nir_ssa_def_init(&mul->instr, &mul->dest.dest.ssa, 1, NULL);<br>
+         nir_ssa_dest_init(&mul->instr, &mul->dest.dest, 1, NULL);<br>
          nir_instr_insert_before(instr, &mul->instr);<br>
<br>
          src.reg.indirect->is_ssa = true;<br>
@@ -178,8 +177,7 @@ get_deref_reg_src(nir_deref_var *deref, nir_instr *instr,<br>
             add->src[1].src = nir_src_copy(deref_array->indirect,<br>
                                            state->mem_ctx);<br>
             add->dest.write_mask = 1;<br>
-            add->dest.dest.is_ssa = true;<br>
-            nir_ssa_def_init(&add->instr, &add->dest.dest.ssa, 1, NULL);<br>
+            nir_ssa_dest_init(&add->instr, &add->dest.dest, 1, NULL);<br>
             nir_instr_insert_before(instr, &add->instr);<br>
<br>
             src.reg.indirect->is_ssa = true;<br>
@@ -212,9 +210,8 @@ lower_locals_to_regs_block(nir_block *block, void *void_state)<br>
                                              &intrin->instr, state);<br>
          mov->dest.write_mask = (1 << intrin->num_components) - 1;<br>
          if (intrin->dest.is_ssa) {<br>
-            mov->dest.dest.is_ssa = true;<br>
-            nir_ssa_def_init(&mov->instr, &mov->dest.dest.ssa,<br>
-                             intrin->num_components, NULL);<br>
+            nir_ssa_dest_init(&mov->instr, &mov->dest.dest,<br>
+                              intrin->num_components, NULL);<br>
<br>
             nir_src new_src = {<br>
                .is_ssa = true,<br>
diff --git a/src/glsl/nir/nir_lower_system_values.c b/src/glsl/nir/nir_lower_system_values.c<br>
index d1b4d26..93ac157 100644<br>
--- a/src/glsl/nir/nir_lower_system_values.c<br>
+++ b/src/glsl/nir/nir_lower_system_values.c<br>
@@ -71,9 +71,8 @@ convert_instr(nir_intrinsic_instr *instr)<br>
    nir_intrinsic_instr *new_instr = nir_intrinsic_instr_create(mem_ctx, op);<br>
<br>
    if (instr->dest.is_ssa) {<br>
-      new_instr->dest.is_ssa = true;<br>
-      nir_ssa_def_init(&new_instr->instr, &new_instr->dest.ssa,<br>
-                       instr->dest.ssa.num_components, NULL);<br>
+      nir_ssa_dest_init(&new_instr->instr, &new_instr->dest,<br>
+                        instr->dest.ssa.num_components, NULL);<br>
       nir_src new_dest_src = {<br>
          .is_ssa = true,<br>
          .ssa = &new_instr->dest.ssa,<br>
diff --git a/src/glsl/nir/nir_lower_var_copies.c b/src/glsl/nir/nir_lower_var_copies.c<br>
index a9d1a47..85ebb28 100644<br>
--- a/src/glsl/nir/nir_lower_var_copies.c<br>
+++ b/src/glsl/nir/nir_lower_var_copies.c<br>
@@ -155,8 +155,7 @@ emit_copy_load_store(nir_intrinsic_instr *copy_instr,<br>
          nir_intrinsic_instr_create(mem_ctx, nir_intrinsic_load_var);<br>
       load->num_components = num_components;<br>
       load->variables[0] = nir_deref_as_var(src_deref);<br>
-      load->dest.is_ssa = true;<br>
-      nir_ssa_def_init(&load->instr, &load->dest.ssa, num_components, NULL);<br>
+      nir_ssa_dest_init(&load->instr, &load->dest, num_components, NULL);<br>
<br>
       nir_instr_insert_before(&copy_instr->instr, &load->instr);<br>
<br>
diff --git a/src/glsl/nir/nir_lower_vars_to_ssa.c b/src/glsl/nir/nir_lower_vars_to_ssa.c<br>
index 4df9bdd..089f0d5 100644<br>
--- a/src/glsl/nir/nir_lower_vars_to_ssa.c<br>
+++ b/src/glsl/nir/nir_lower_vars_to_ssa.c<br>
@@ -788,9 +788,8 @@ rename_variables_block(nir_block *block, struct lower_variables_state *state)<br>
             assert(intrin->dest.is_ssa);<br>
<br>
             mov->dest.write_mask = (1 << intrin->num_components) - 1;<br>
-            mov->dest.dest.is_ssa = true;<br>
-            nir_ssa_def_init(&mov->instr, &mov->dest.dest.ssa,<br>
-                             intrin->num_components, NULL);<br>
+            nir_ssa_dest_init(&mov->instr, &mov->dest.dest,<br>
+                              intrin->num_components, NULL);<br>
<br>
             nir_instr_insert_before(&intrin->instr, &mov->instr);<br>
             nir_instr_remove(&intrin->instr);<br>
@@ -832,9 +831,8 @@ rename_variables_block(nir_block *block, struct lower_variables_state *state)<br>
                mov->src[0].swizzle[i] = 0;<br>
<br>
             mov->dest.write_mask = (1 << intrin->num_components) - 1;<br>
-            mov->dest.dest.is_ssa = true;<br>
-            nir_ssa_def_init(&mov->instr, &mov->dest.dest.ssa,<br>
-                             intrin->num_components, NULL);<br>
+            nir_ssa_dest_init(&mov->instr, &mov->dest.dest,<br>
+                              intrin->num_components, NULL);<br>
<br>
             nir_instr_insert_before(&intrin->instr, &mov->instr);<br>
<br>
@@ -968,9 +966,8 @@ insert_phi_nodes(struct lower_variables_state *state)<br>
<br>
             if (has_already[next->index] < iter_count) {<br>
                nir_phi_instr *phi = nir_phi_instr_create(state->mem_ctx);<br>
-               phi->dest.is_ssa = true;<br>
-               nir_ssa_def_init(&phi->instr, &phi->dest.ssa,<br>
-                                glsl_get_vector_elements(node->type), NULL);<br>
+               nir_ssa_dest_init(&phi->instr, &phi->dest,<br>
+                                 glsl_get_vector_elements(node->type), NULL);<br>
                nir_instr_insert_before_block(next, &phi->instr);<br>
<br>
                _mesa_hash_table_insert(state->phi_table, phi, node);<br>
diff --git a/src/glsl/nir/nir_opt_peephole_select.c b/src/glsl/nir/nir_opt_peephole_select.c<br>
index 5d2f5d6..023fae5 100644<br>
--- a/src/glsl/nir/nir_opt_peephole_select.c<br>
+++ b/src/glsl/nir/nir_opt_peephole_select.c<br>
@@ -163,9 +163,8 @@ nir_opt_peephole_select_block(nir_block *block, void *void_state)<br>
          }<br>
       }<br>
<br>
-      sel->dest.dest.is_ssa = true;<br>
-      nir_ssa_def_init(&sel->instr, &sel->dest.dest.ssa,<br>
-                       phi->dest.ssa.num_components, phi-><a href="http://dest.ssa.name" target="_blank">dest.ssa.name</a>);<br>
+      nir_ssa_dest_init(&sel->instr, &sel->dest.dest,<br>
+                        phi->dest.ssa.num_components, phi-><a href="http://dest.ssa.name" target="_blank">dest.ssa.name</a>);<br>
       sel->dest.write_mask = (1 << phi->dest.ssa.num_components) - 1;<br>
<br>
       nir_src sel_dest_src = {<br>
diff --git a/src/glsl/nir/nir_search.c b/src/glsl/nir/nir_search.c<br>
index 35323f9..c84f5ac 100644<br>
--- a/src/glsl/nir/nir_search.c<br>
+++ b/src/glsl/nir/nir_search.c<br>
@@ -201,8 +201,7 @@ construct_value(const nir_search_value *value, nir_alu_type type,<br>
          num_components = nir_op_infos[expr->opcode].output_size;<br>
<br>
       nir_alu_instr *alu = nir_alu_instr_create(mem_ctx, expr->opcode);<br>
-      alu->dest.dest.is_ssa = true;<br>
-      nir_ssa_def_init(&alu->instr, &alu->dest.dest.ssa, num_components, NULL);<br>
+      nir_ssa_dest_init(&alu->instr, &alu->dest.dest, num_components, NULL);<br>
       alu->dest.write_mask = (1 << num_components) - 1;<br>
       alu->dest.saturate = false;<br>
<br>
@@ -305,9 +304,8 @@ nir_replace_instr(nir_alu_instr *instr, const nir_search_expression *search,<br>
     */<br>
    nir_alu_instr *mov = nir_alu_instr_create(mem_ctx, nir_op_imov);<br>
    mov->dest.write_mask = instr->dest.write_mask;<br>
-   mov->dest.dest.is_ssa = true;<br>
-   nir_ssa_def_init(&mov->instr, &mov->dest.dest.ssa,<br>
-                    instr->dest.dest.ssa.num_components, NULL);<br>
+   nir_ssa_dest_init(&mov->instr, &mov->dest.dest,<br>
+                     instr->dest.dest.ssa.num_components, NULL);<br>
<br>
    mov->src[0] = construct_value(replace, nir_op_infos[instr->op].output_type,<br>
                                  instr->dest.dest.ssa.num_components, &state,<br>
diff --git a/src/glsl/nir/nir_to_ssa.c b/src/glsl/nir/nir_to_ssa.c<br>
index b9b1cff..1eb81f7 100644<br>
--- a/src/glsl/nir/nir_to_ssa.c<br>
+++ b/src/glsl/nir/nir_to_ssa.c<br>
@@ -214,15 +214,12 @@ rewrite_def_forwards(nir_dest *dest, void *_state)<br>
    if (state->states[index].stack == NULL)<br>
       return true;<br>
<br>
-   dest->is_ssa = true;<br>
-<br>
    char *name = NULL;<br>
    if (dest->reg.reg->name)<br>
       name = ralloc_asprintf(state->mem_ctx, "%s_%u", dest->reg.reg->name,<br>
                              state->states[index].num_defs);<br>
<br>
-   nir_ssa_def_init(state->parent_instr, &dest->ssa,<br>
-                    reg->num_components, name);<br>
+   nir_ssa_dest_init(state->parent_instr, dest, reg->num_components, name);<br>
<br>
    /* push our SSA destination on the stack */<br>
    state->states[index].index++;<br>
@@ -270,9 +267,7 @@ rewrite_alu_instr_forward(nir_alu_instr *instr, rewrite_state *state)<br>
                                 reg->name, state->states[index].num_defs);<br>
<br>
       instr->dest.write_mask = (1 << num_components) - 1;<br>
-      instr->dest.dest.is_ssa = true;<br>
-      nir_ssa_def_init(&instr->instr, &instr->dest.dest.ssa,<br>
-                       num_components, name);<br>
+      nir_ssa_dest_init(&instr->instr, &instr->dest.dest, num_components, name);<br>
<br>
       if (nir_op_infos[instr->op].output_size == 0) {<br>
          /*<br>
<span class="HOEnZb"><font color="#888888">--<br>
2.1.3<br>
<br>
_______________________________________________<br>
mesa-dev mailing list<br>
<a href="mailto:mesa-dev@lists.freedesktop.org">mesa-dev@lists.freedesktop.org</a><br>
<a href="http://lists.freedesktop.org/mailman/listinfo/mesa-dev" target="_blank">http://lists.freedesktop.org/mailman/listinfo/mesa-dev</a><br>
</font></span></blockquote></div><br></div>