summaryrefslogtreecommitdiffstats
path: root/src/mesa/drivers/dri/i965/gen7_sf_state.c
diff options
context:
space:
mode:
authorPaul Berry <stereotype441@gmail.com>2011-09-28 13:18:09 -0700
committerPaul Berry <stereotype441@gmail.com>2011-10-06 19:27:33 -0700
commitc163072197b56e76b656cc472bbe6df650cf11ba (patch)
treef3d0a9d3d19e716058f7944d0270ca687b68dc41 /src/mesa/drivers/dri/i965/gen7_sf_state.c
parent09fcd01301cd161e2a5d619933c14f79753108d6 (diff)
downloadexternal_mesa3d-c163072197b56e76b656cc472bbe6df650cf11ba.zip
external_mesa3d-c163072197b56e76b656cc472bbe6df650cf11ba.tar.gz
external_mesa3d-c163072197b56e76b656cc472bbe6df650cf11ba.tar.bz2
mesa: Create _mesa_bitcount_64() to replace i965's brw_count_bits()
The i965 driver already had a function to count bits in a 64-bit uint (brw_count_bits()), but it was buggy (it only counted the bottom 32 bits) and it was clumsy (it had a strange and broken fallback for non-GCC-like compilers, which fortunately was never used). Since Mesa already has a _mesa_bitcount() function, it seems better to just create a _mesa_bitcount_64() function rather than special-case this in the i965 driver. This patch creates the new _mesa_bitcount_64() function and rewrites all of the old brw_count_bits() calls to refer to it. Reviewed-by: Ian Romanick <ian.d.romanick@intel.com> Reviewed-by: Eric Anholt <eric@anholt.net>
Diffstat (limited to 'src/mesa/drivers/dri/i965/gen7_sf_state.c')
-rw-r--r--src/mesa/drivers/dri/i965/gen7_sf_state.c4
1 files changed, 2 insertions, 2 deletions
diff --git a/src/mesa/drivers/dri/i965/gen7_sf_state.c b/src/mesa/drivers/dri/i965/gen7_sf_state.c
index 75dc6da..c40abe4 100644
--- a/src/mesa/drivers/dri/i965/gen7_sf_state.c
+++ b/src/mesa/drivers/dri/i965/gen7_sf_state.c
@@ -38,13 +38,13 @@ upload_sbe_state(struct brw_context *brw)
/* CACHE_NEW_VS_PROG */
GLbitfield64 vs_outputs_written = brw->vs.prog_data->outputs_written;
/* BRW_NEW_FRAGMENT_PROGRAM */
- uint32_t num_outputs = brw_count_bits(brw->fragment_program->Base.InputsRead);
+ uint32_t num_outputs = _mesa_bitcount_64(brw->fragment_program->Base.InputsRead);
uint32_t dw1, dw10, dw11;
int i;
int attr = 0, input_index = 0;
/* _NEW_TRANSFORM */
int urb_entry_read_offset = 1;
- int nr_userclip = brw_count_bits(ctx->Transform.ClipPlanesEnabled);
+ int nr_userclip = _mesa_bitcount_64(ctx->Transform.ClipPlanesEnabled);
uint16_t attr_overrides[FRAG_ATTRIB_MAX];
brw_compute_vue_map(&vue_map, intel, nr_userclip, vs_outputs_written);