From: Pierre-Eric Pelloux-Prayer Date: Mon, 4 Nov 2019 14:04:20 +0000 (+0100) Subject: radeonsi: fix shader disk cache key X-Git-Url: https://git.libre-soc.org/?a=commitdiff_plain;h=21be5c8edd3ad156f6cbfbceb96e7939716d9f2c;p=mesa.git radeonsi: fix shader disk cache key Use unsigned values otherwise signed extension will produce a 64 bits value where the 32 left-most bits are 1. Fixes: 2afeed30101 ("radeonsi: tell the shader disk cache what IR is used") --- diff --git a/src/gallium/drivers/radeonsi/si_pipe.c b/src/gallium/drivers/radeonsi/si_pipe.c index 7b68afddcb2..1be3db4602b 100644 --- a/src/gallium/drivers/radeonsi/si_pipe.c +++ b/src/gallium/drivers/radeonsi/si_pipe.c @@ -904,8 +904,9 @@ static void si_disk_cache_create(struct si_screen *sscreen) #define ALL_FLAGS (DBG(SI_SCHED) | DBG(GISEL)) uint64_t shader_debug_flags = sscreen->debug_flags & ALL_FLAGS; /* Reserve left-most bit for tgsi/nir selector */ - assert(!(shader_debug_flags & (1 << 31))); - shader_debug_flags |= ((sscreen->options.enable_nir & 0x1) << 31); + assert(!(shader_debug_flags & (1u << 31))); + shader_debug_flags |= (uint32_t) + ((sscreen->options.enable_nir & 0x1) << 31); /* Add the high bits of 32-bit addresses, which affects * how 32-bit addresses are expanded to 64 bits.