mirror of
https://gitlab.freedesktop.org/mesa/mesa.git
synced 2025-12-24 17:30:12 +01:00
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:
parent
fbebd5e4a5
commit
5105f9a7ae
1 changed files with 7 additions and 16 deletions
|
|
@ -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);
|
||||
}
|
||||
}
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue