From 6ea591d372dfff11dd3eeb05513e0cddfdce9134 Mon Sep 17 00:00:00 2001 From: Faith Ekstrand Date: Sat, 6 Apr 2024 22:03:35 -0500 Subject: [PATCH] nvk: Add a bunch of -Wpadded errors Reviewed-by: Alyssa Rosenzweig Part-of: --- src/nouveau/vulkan/nvk_descriptor_set.h | 9 +++++++++ src/nouveau/vulkan/nvk_shader.h | 3 +++ 2 files changed, 12 insertions(+) diff --git a/src/nouveau/vulkan/nvk_descriptor_set.h b/src/nouveau/vulkan/nvk_descriptor_set.h index 877f1cfdb59..1e15a118a14 100644 --- a/src/nouveau/vulkan/nvk_descriptor_set.h +++ b/src/nouveau/vulkan/nvk_descriptor_set.h @@ -20,26 +20,35 @@ struct nvk_descriptor_set_layout; #define NVK_IMAGE_DESCRIPTOR_IMAGE_INDEX_MASK 0x000fffff #define NVK_IMAGE_DESCRIPTOR_SAMPLER_INDEX_MASK 0xfff00000 +PRAGMA_DIAGNOSTIC_PUSH +PRAGMA_DIAGNOSTIC_ERROR(-Wpadded) struct nvk_sampled_image_descriptor { unsigned image_index:20; unsigned sampler_index:12; }; +PRAGMA_DIAGNOSTIC_POP static_assert(sizeof(struct nvk_sampled_image_descriptor) == 4, "nvk_sampled_image_descriptor has no holes"); +PRAGMA_DIAGNOSTIC_PUSH +PRAGMA_DIAGNOSTIC_ERROR(-Wpadded) struct nvk_storage_image_descriptor { unsigned image_index:20; unsigned sw_log2:2; unsigned sh_log2:2; unsigned pad:8; }; +PRAGMA_DIAGNOSTIC_POP static_assert(sizeof(struct nvk_storage_image_descriptor) == 4, "nvk_storage_image_descriptor has no holes"); +PRAGMA_DIAGNOSTIC_PUSH +PRAGMA_DIAGNOSTIC_ERROR(-Wpadded) struct nvk_buffer_view_descriptor { unsigned image_index:20; unsigned pad:12; }; +PRAGMA_DIAGNOSTIC_POP static_assert(sizeof(struct nvk_buffer_view_descriptor) == 4, "nvk_buffer_view_descriptor has no holes"); diff --git a/src/nouveau/vulkan/nvk_shader.h b/src/nouveau/vulkan/nvk_shader.h index 5881ba5af1b..913df1f9f9c 100644 --- a/src/nouveau/vulkan/nvk_shader.h +++ b/src/nouveau/vulkan/nvk_shader.h @@ -46,6 +46,8 @@ enum ENUM_PACKED nvk_cbuf_type { NVK_CBUF_TYPE_UBO_DESC, }; +PRAGMA_DIAGNOSTIC_PUSH +PRAGMA_DIAGNOSTIC_ERROR(-Wpadded) struct nvk_cbuf { enum nvk_cbuf_type type; uint8_t desc_set; @@ -53,6 +55,7 @@ struct nvk_cbuf { uint8_t _pad; uint32_t desc_offset; }; +PRAGMA_DIAGNOSTIC_POP static_assert(sizeof(struct nvk_cbuf) == 8, "This struct has no holes"); struct nvk_cbuf_map {