Module: Mesa Branch: staging/21.3 Commit: ea08f3873b2773dbc525e23e36fe025e1b295f28 URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=ea08f3873b2773dbc525e23e36fe025e1b295f28
Author: Michel Zou <[email protected]> Date: Sat Aug 28 13:45:40 2021 +0200 zink: fix -Warray-bounds warning It would seems msvc and mingw dont pack across disparate types so zink_bind_rasterizer_state is too big for int32 string.h:202:10: warning: ‘__builtin___memcpy_chk’ forming offset [4, 7] is out of the bounds [0, 4] of object ‘rast_bits’ with type ‘uint32_t’ {aka ‘unsigned int’} [-Warray-bounds] 202 | return __builtin___memcpy_chk(__dst, __src, __n, __mingw_bos(__dst, 0)); | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/gallium/drivers/zink/zink_state.c: In function ‘zink_bind_rasterizer_state’: ../src/gallium/drivers/zink/zink_state.c:586:16: note: ‘rast_bits’ declared here Fixes: 9c5a2ab6 Acked-By: Mike Blumenkrantz <[email protected]> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/12609> (cherry picked from commit 4ff57e5aba0e2d89c86ac896206750aa98c21f11) --- .pick_status.json | 2 +- src/gallium/drivers/zink/zink_state.h | 12 ++++++------ 2 files changed, 7 insertions(+), 7 deletions(-) diff --git a/.pick_status.json b/.pick_status.json index ceea7253d0b..6ba5c4f9b1a 100644 --- a/.pick_status.json +++ b/.pick_status.json @@ -94,7 +94,7 @@ "description": "zink: fix -Warray-bounds warning", "nominated": true, "nomination_type": 1, - "resolution": 0, + "resolution": 1, "main_sha": null, "because_sha": "9c5a2ab6a9d8ffe61178a0f0850deacafb2ff155" }, diff --git a/src/gallium/drivers/zink/zink_state.h b/src/gallium/drivers/zink/zink_state.h index 1254498377c..fef90d1c18a 100644 --- a/src/gallium/drivers/zink/zink_state.h +++ b/src/gallium/drivers/zink/zink_state.h @@ -63,12 +63,12 @@ struct zink_rasterizer_hw_state { unsigned polygon_mode : 2; //VkPolygonMode unsigned cull_mode : 2; //VkCullModeFlags unsigned line_mode : 2; //VkLineRasterizationModeEXT - bool depth_clamp:1; - bool rasterizer_discard:1; - bool pv_last:1; - bool line_stipple_enable:1; - bool force_persample_interp:1; - bool clip_halfz:1; + unsigned depth_clamp:1; + unsigned rasterizer_discard:1; + unsigned pv_last:1; + unsigned line_stipple_enable:1; + unsigned force_persample_interp:1; + unsigned clip_halfz:1; }; #define ZINK_RAST_HW_STATE_SIZE 12
