zink: explicitly use unsigned types for bit shifts

fixes some ubsan errors

cc: mesa-stable

Reviewed-by: Dave Airlie <airlied@redhat.com>
Reviewed-by: Emma Anholt <emma@anholt.net>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18358>
(cherry picked from commit d9b8f8d46c)
This commit is contained in:
Mike Blumenkrantz
2022-06-14 12:12:31 -04:00
committed by Dylan Baker
parent de8ec9b17a
commit b5917e15f7
3 changed files with 5 additions and 5 deletions

View File

@@ -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
},

View File

@@ -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;

View File

@@ -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,