[Mesa-dev] [PATCH 20/36] i965: SF: Remove unnecessary variables.

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


This patch removes the variables nr_attrs and nr_setup_attrs, whose
purpose is now being served by the VUE map.  nr_attr_regs and
nr_setup_regs are still needed, however they are now computed using
the VUE map rather than by counting the number of vertex shader
outputs (which caused subtle bugs when gl_PointSize was written).
---
 src/mesa/drivers/dri/i965/brw_sf.c |    6 ++----
 src/mesa/drivers/dri/i965/brw_sf.h |    2 --
 2 files changed, 2 insertions(+), 6 deletions(-)

diff --git a/src/mesa/drivers/dri/i965/brw_sf.c b/src/mesa/drivers/dri/i965/brw_sf.c
index ecbc9fd..e9cd020 100644
--- a/src/mesa/drivers/dri/i965/brw_sf.c
+++ b/src/mesa/drivers/dri/i965/brw_sf.c
@@ -63,13 +63,11 @@ static void compile_sf_prog( struct brw_context *brw,
    brw_init_compile(brw, &c.func, mem_ctx);
 
    c.key = *key;
-   c.nr_attrs = brw_count_bits(c.key.attrs);
-   c.nr_attr_regs = (c.nr_attrs+1)/2;
-   c.nr_setup_attrs = brw_count_bits(c.key.attrs);
-   c.nr_setup_regs = (c.nr_setup_attrs+1)/2;
    brw_compute_vue_map(&c.vue_map, intel, c.key.nr_userclip,
                        c.key.do_twoside_color, c.key.attrs);
    c.urb_entry_read_offset = brw_sf_compute_urb_entry_read_offset(intel);
+   c.nr_attr_regs = (c.vue_map.num_slots + 1)/2 - c.urb_entry_read_offset;
+   c.nr_setup_regs = c.nr_attr_regs;
 
    c.prog_data.urb_read_length = c.nr_attr_regs;
    c.prog_data.urb_entry_size = c.nr_setup_regs * 2;
diff --git a/src/mesa/drivers/dri/i965/brw_sf.h b/src/mesa/drivers/dri/i965/brw_sf.h
index d8af68c..f39ad27 100644
--- a/src/mesa/drivers/dri/i965/brw_sf.h
+++ b/src/mesa/drivers/dri/i965/brw_sf.h
@@ -90,9 +90,7 @@ struct brw_sf_compile {
    struct brw_reg m3C0;
 
    GLuint nr_verts;
-   GLuint nr_attrs;
    GLuint nr_attr_regs;
-   GLuint nr_setup_attrs;
    GLuint nr_setup_regs;
    int urb_entry_read_offset;
 
-- 
1.7.6



More information about the mesa-dev mailing list