etnaviv: Avoid shift overflow

Building with AOSP I'm seeing:

external/mesa3d/src/gallium/drivers/etnaviv/etnaviv_screen.c:245:31: error: signed shift result (0x100000000) requires 34 bits to represent, but 'int' only has 32 bits [-Werror,-Wshift-overflow]
         system_memory = 4096 << 20;

system_memory is a uint_64t, so this patch addresses the issue
by casting 4096 to a unint_64t before the shift is done.

Reviewed-by: Christian Gmeiner <christian.gmeiner@gmail.com>
Signed-off-by: John Stultz <john.stultz@linaro.org>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4175>
This commit is contained in:
John Stultz
2020-03-12 22:21:29 +00:00
committed by Marge Bot
parent 511c6408f4
commit e3bbe1fa65
+1 -1
View File
@@ -243,7 +243,7 @@ etna_screen_get_param(struct pipe_screen *pscreen, enum pipe_cap param)
uint64_t system_memory;
if (!os_get_total_physical_memory(&system_memory))
system_memory = 4096 << 20;
system_memory = (uint64_t)4096 << 20;
return MIN2(system_memory / 32, 64 * 1024 * 1024);
}