From bbc53d6285efc664b9b9f326cdcd82a9414507c1 Mon Sep 17 00:00:00 2001 From: Paul Berry Date: Wed, 24 Aug 2011 19:04:31 -0700 Subject: [PATCH] i965: SF: Remove unnecessary variables. 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). Reviewed-by: Eric Anholt --- 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 ecbc9fdbc44..e9cd020970e 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 d8af68c6b8d..f39ad27154d 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; -- 2.30.2