[Mesa-dev] [PATCH 30/36] i965: clip: Rework brw_clip_interp_vertex() to use the VUE map.

Paul Berry stereotype441 at gmail.com
Fri Sep 2 09:07:09 PDT 2011


---
 src/mesa/drivers/dri/i965/brw_clip_util.c |   10 +++++-----
 1 files changed, 5 insertions(+), 5 deletions(-)

diff --git a/src/mesa/drivers/dri/i965/brw_clip_util.c b/src/mesa/drivers/dri/i965/brw_clip_util.c
index 0342aa5..e90f146 100644
--- a/src/mesa/drivers/dri/i965/brw_clip_util.c
+++ b/src/mesa/drivers/dri/i965/brw_clip_util.c
@@ -139,7 +139,7 @@ void brw_clip_interp_vertex( struct brw_clip_compile *c,
 {
    struct brw_compile *p = &c->func;
    struct brw_reg tmp = get_tmp(c);
-   GLuint i;
+   GLuint slot;
 
    /* Just copy the vertex header:
     */
@@ -151,10 +151,10 @@ void brw_clip_interp_vertex( struct brw_clip_compile *c,
       
    /* Iterate over each attribute (could be done in pairs?)
     */
-   for (i = 0; i < c->nr_attrs; i++) {
-      GLuint delta = ATTR_SIZE * (2*c->header_regs + i);
+   for (slot = 2*c->header_regs; slot < c->vue_map.num_slots; slot++) {
+      GLuint delta = ATTR_SIZE * slot;
 
-      if (c->idx_to_attr[i] == VERT_RESULT_EDGE) {
+      if (c->vue_map.slot_to_vert_result[slot] == VERT_RESULT_EDGE) {
 	 if (force_edgeflag) 
 	    brw_MOV(p, deref_4f(dest_ptr, delta), brw_imm_f(1));
 	 else
@@ -182,7 +182,7 @@ void brw_clip_interp_vertex( struct brw_clip_compile *c,
       }
    }
 
-   if (i & 1) {
+   if (c->vue_map.num_slots % 2) {
       GLuint delta = c->vue_map.num_slots * ATTR_SIZE;
 
       brw_MOV(p, deref_4f(dest_ptr, delta), brw_imm_f(0));
-- 
1.7.6



More information about the mesa-dev mailing list