[Mesa-dev] [PATCH 1/6] mesa: Create a _mesa_bitcount_64() function.
Kenneth Graunke
kenneth at whitecape.org
Tue Oct 4 09:41:10 PDT 2011
On 10/04/2011 07:00 AM, Brian Paul wrote:
> On 10/03/2011 04:11 PM, Paul Berry wrote:
>> The i965 driver already had a function to do this (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.
>> ---
>> src/mesa/drivers/dri/i965/brw_util.h | 7 ++-----
>> src/mesa/main/imports.c | 13 +++++++++++++
>> src/mesa/main/imports.h | 3 +++
>> 3 files changed, 18 insertions(+), 5 deletions(-)
>>
>> diff --git a/src/mesa/drivers/dri/i965/brw_util.h
>> b/src/mesa/drivers/dri/i965/brw_util.h
>> index 940a871..bbf36f6 100644
>> --- a/src/mesa/drivers/dri/i965/brw_util.h
>> +++ b/src/mesa/drivers/dri/i965/brw_util.h
>> @@ -34,15 +34,12 @@
>> #define BRW_UTIL_H
>>
>> #include "main/mtypes.h"
>> +#include "main/imports.h"
>>
>> -#ifdef __GNUC__
>> -#define brw_count_bits(v) __builtin_popcount(v)
>> -#else
>> static inline GLuint brw_count_bits(uint64_t v)
>> {
>> - return _mesa_popcount(v>>32) + _mesa_popcount(v&0xffffffff);
>> + return _mesa_bitcount_64(v);
>> }
>> -#endif
>
> I'm guessing you could eventually get rid of the brw_count_bits()
> wrapper altogether at some point.
>
> Reviewed-by: Brian Paul <brianp at vmware.com>
I'd be glad to see that go, too.
Reviewed-by: Kenneth Graunke <kenneth at whitecape.org>
More information about the mesa-dev
mailing list