Module: Mesa Branch: staging/22.2 Commit: b5917e15f74e582467ef86facd5a4bcf51e9930f URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=b5917e15f74e582467ef86facd5a4bcf51e9930f
Author: Mike Blumenkrantz <[email protected]> Date: Tue Jun 14 12:12:31 2022 -0400 zink: explicitly use unsigned types for bit shifts fixes some ubsan errors cc: mesa-stable Reviewed-by: Dave Airlie <[email protected]> Reviewed-by: Emma Anholt <[email protected]> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18358> (cherry picked from commit d9b8f8d46c96c126ab453376370bb593bc8efbca) --- .pick_status.json | 2 +- src/gallium/drivers/zink/zink_resource.h | 6 +++--- src/gallium/drivers/zink/zink_screen.c | 2 +- 3 files changed, 5 insertions(+), 5 deletions(-) diff --git a/.pick_status.json b/.pick_status.json index 6b4e8f7d8b0..cc68b724875 100644 --- a/.pick_status.json +++ b/.pick_status.json @@ -6178,7 +6178,7 @@ "description": "zink: explicitly use unsigned types for bit shifts", "nominated": true, "nomination_type": 0, - "resolution": 0, + "resolution": 1, "main_sha": null, "because_sha": null }, diff --git a/src/gallium/drivers/zink/zink_resource.h b/src/gallium/drivers/zink/zink_resource.h index bccf4b8d508..06eb083825c 100644 --- a/src/gallium/drivers/zink/zink_resource.h +++ b/src/gallium/drivers/zink/zink_resource.h @@ -43,9 +43,9 @@ struct zink_bo; #include <vulkan/vulkan.h> #define ZINK_MAP_TEMPORARY (PIPE_MAP_DRV_PRV << 0) -#define ZINK_BIND_DMABUF (1 << 29) -#define ZINK_BIND_TRANSIENT (1 << 30) //transient fb attachment -#define ZINK_BIND_VIDEO (1 << 31) +#define ZINK_BIND_DMABUF (1u << 29) +#define ZINK_BIND_TRANSIENT (1u << 30) //transient fb attachment +#define ZINK_BIND_VIDEO (1u << 31) struct mem_key { unsigned seen_count; diff --git a/src/gallium/drivers/zink/zink_screen.c b/src/gallium/drivers/zink/zink_screen.c index 6fab6da0e47..bba0aec8f8e 100644 --- a/src/gallium/drivers/zink/zink_screen.c +++ b/src/gallium/drivers/zink/zink_screen.c @@ -977,7 +977,7 @@ zink_get_shader_param(struct pipe_screen *pscreen, assert(screen->info.props.limits.maxUniformBufferRange >= 16384); /* but Gallium can't handle values that are too big */ return MIN3(get_smallest_buffer_heap(screen), - screen->info.props.limits.maxUniformBufferRange, 1 << 31); + screen->info.props.limits.maxUniformBufferRange, BITFIELD_BIT(31)); case PIPE_SHADER_CAP_MAX_CONST_BUFFERS: return MIN2(screen->info.props.limits.maxPerStageDescriptorUniformBuffers,
