i965: Fix INTEL_DEBUG=state to work with 64-bit dirty bits.

This will keep INTEL_DEBUG=state working when we add BRW_NEW_* bits
beyond 1 << 31.  We missed doing this when widening the driver flags
from uint32_t to uint64_t.

Signed-off-by: Kenneth Graunke <kenneth@whitecape.org>
Reviewed-by: Matt Turner <mattst88@gmail.com>
Reviewed-by: Ian Romanick <ian.d.romanick@intel.com>
Reviewed-by: Chris Forbes <chrisf@ijw.co.nz>
This commit is contained in:
Kenneth Graunke 2014-09-26 10:29:25 -07:00
parent fbebd5e4a5
commit 5105f9a7ae

View file

@ -438,7 +438,7 @@ static void xor_states( struct brw_state_flags *result,
}
struct dirty_bit_map {
uint32_t bit;
uint64_t bit;
char *name;
uint32_t count;
};
@ -475,7 +475,8 @@ static struct dirty_bit_map mesa_bits[] = {
DEFINE_BIT(_NEW_PROGRAM_CONSTANTS),
DEFINE_BIT(_NEW_BUFFER_OBJECT),
DEFINE_BIT(_NEW_FRAG_CLAMP),
DEFINE_BIT(_NEW_VARYING_VP_INPUTS),
/* Avoid sign extension problems. */
{(unsigned) _NEW_VARYING_VP_INPUTS, "_NEW_VARYING_VP_INPUTS", 0},
{0, 0, 0}
};
@ -538,14 +539,9 @@ static struct dirty_bit_map cache_bits[] = {
static void
brw_update_dirty_count(struct dirty_bit_map *bit_map, int32_t bits)
brw_update_dirty_count(struct dirty_bit_map *bit_map, uint64_t bits)
{
int i;
for (i = 0; i < 32; i++) {
if (bit_map[i].bit == 0)
return;
for (int i = 0; bit_map[i].bit != 0; i++) {
if (bit_map[i].bit & bits)
bit_map[i].count++;
}
@ -554,13 +550,8 @@ brw_update_dirty_count(struct dirty_bit_map *bit_map, int32_t bits)
static void
brw_print_dirty_count(struct dirty_bit_map *bit_map)
{
int i;
for (i = 0; i < 32; i++) {
if (bit_map[i].bit == 0)
return;
fprintf(stderr, "0x%08x: %12d (%s)\n",
for (int i = 0; bit_map[i].bit != 0; i++) {
fprintf(stderr, "0x%016lx: %12d (%s)\n",
bit_map[i].bit, bit_map[i].count, bit_map[i].name);
}
}