diff options
author | Pierre-Eric Pelloux-Prayer <[email protected]> | 2019-11-04 15:04:20 +0100 |
---|---|---|
committer | Pierre-Eric Pelloux-Prayer <[email protected]> | 2019-11-06 10:15:37 +0100 |
commit | 21be5c8edd3ad156f6cbfbceb96e7939716d9f2c (patch) | |
tree | 877e9e18059c65b3b07ac822083799abfd3f412f | |
parent | fb07fd4e6cb9feb8c9a812dd5f859f165f213465 (diff) |
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")
-rw-r--r-- | src/gallium/drivers/radeonsi/si_pipe.c | 5 |
1 files changed, 3 insertions, 2 deletions
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. |