Module: Mesa Branch: main Commit: d130c96bdadaf470b6849bdad2b20835d52f4709 URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=d130c96bdadaf470b6849bdad2b20835d52f4709
Author: Yonggang Luo <[email protected]> Date: Tue Jul 4 12:26:28 2023 +0800 util/treewide: Use alignas(x) instead __attribute__((aligned(x))) Signed-off-by: Yonggang Luo <[email protected]> Reviewed-by: Bas Nieuwenhuizen <[email protected]> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/24571> --- src/freedreno/vulkan/tu_device.h | 2 +- src/freedreno/vulkan/tu_util.h | 6 ++++-- src/gallium/drivers/iris/iris_bufmgr.h | 2 +- src/intel/vulkan/anv_private.h | 6 +++--- src/intel/vulkan_hasvk/anv_private.h | 6 +++--- src/virtio/vulkan/vn_ring.c | 8 ++++---- 6 files changed, 16 insertions(+), 14 deletions(-) diff --git a/src/freedreno/vulkan/tu_device.h b/src/freedreno/vulkan/tu_device.h index 4a7422f068a..bf119ca0120 100644 --- a/src/freedreno/vulkan/tu_device.h +++ b/src/freedreno/vulkan/tu_device.h @@ -58,7 +58,7 @@ struct tu_memory_heap { * * Align it to 64 bits to make atomic operations faster on 32 bit platforms. */ - VkDeviceSize used __attribute__ ((aligned (8))); + alignas(8) VkDeviceSize used; }; struct tu_physical_device diff --git a/src/freedreno/vulkan/tu_util.h b/src/freedreno/vulkan/tu_util.h index 589fe52bbc7..1af4b618a6b 100644 --- a/src/freedreno/vulkan/tu_util.h +++ b/src/freedreno/vulkan/tu_util.h @@ -11,6 +11,7 @@ #include "tu_common.h" +#include "util/macros.h" #include "util/u_math.h" #include "util/format/u_format_pack.h" #include "util/format/u_format_zs.h" @@ -356,7 +357,7 @@ tu6_polygon_mode(VkPolygonMode mode) } struct bcolor_entry { - uint32_t fp32[4]; + alignas(128) uint32_t fp32[4]; uint64_t ui16; uint64_t si16; uint64_t fp16; @@ -370,7 +371,8 @@ struct bcolor_entry { uint32_t z24; /* also s8? */ uint64_t srgb; uint8_t __pad1[56]; -} __attribute__((aligned(128))); +}; +static_assert(alignof(struct bcolor_entry) == 128, ""); /* vulkan does not want clamping of integer clear values, differs from u_format * see spec for VkClearColorValue diff --git a/src/gallium/drivers/iris/iris_bufmgr.h b/src/gallium/drivers/iris/iris_bufmgr.h index 5ba8c69f26b..8dfd72907ad 100644 --- a/src/gallium/drivers/iris/iris_bufmgr.h +++ b/src/gallium/drivers/iris/iris_bufmgr.h @@ -234,7 +234,7 @@ struct iris_bo { * Also align it to 64 bits. This will make atomic operations faster on 32 * bit platforms. */ - uint64_t last_seqnos[NUM_IRIS_DOMAINS] __attribute__ ((aligned (8))); + alignas(8) uint64_t last_seqnos[NUM_IRIS_DOMAINS]; /** Up to one per screen, may need realloc. */ struct iris_bo_screen_deps *deps; diff --git a/src/intel/vulkan/anv_private.h b/src/intel/vulkan/anv_private.h index 30a21ca7c65..fe2e0a5bf37 100644 --- a/src/intel/vulkan/anv_private.h +++ b/src/intel/vulkan/anv_private.h @@ -564,7 +564,7 @@ union anv_free_list { /* Make sure it's aligned to 64 bits. This will make atomic operations * faster on 32 bit platforms. */ - uint64_t u64 __attribute__ ((aligned (8))); + alignas(8) uint64_t u64; }; #define ANV_FREE_LIST_EMPTY ((union anv_free_list) { { UINT32_MAX, 0 } }) @@ -578,7 +578,7 @@ struct anv_block_state { /* Make sure it's aligned to 64 bits. This will make atomic operations * faster on 32 bit platforms. */ - uint64_t u64 __attribute__ ((aligned (8))); + alignas(8) uint64_t u64; }; }; @@ -845,7 +845,7 @@ struct anv_memory_heap { * * Align it to 64 bits to make atomic operations faster on 32 bit platforms. */ - VkDeviceSize used __attribute__ ((aligned (8))); + alignas(8) VkDeviceSize used; bool is_local_mem; }; diff --git a/src/intel/vulkan_hasvk/anv_private.h b/src/intel/vulkan_hasvk/anv_private.h index 51233fa064f..9819f66934d 100644 --- a/src/intel/vulkan_hasvk/anv_private.h +++ b/src/intel/vulkan_hasvk/anv_private.h @@ -536,7 +536,7 @@ union anv_free_list { /* Make sure it's aligned to 64 bits. This will make atomic operations * faster on 32 bit platforms. */ - uint64_t u64 __attribute__ ((aligned (8))); + alignas(8) uint64_t u64; }; #define ANV_FREE_LIST_EMPTY ((union anv_free_list) { { UINT32_MAX, 0 } }) @@ -550,7 +550,7 @@ struct anv_block_state { /* Make sure it's aligned to 64 bits. This will make atomic operations * faster on 32 bit platforms. */ - uint64_t u64 __attribute__ ((aligned (8))); + alignas(8) uint64_t u64; }; }; @@ -836,7 +836,7 @@ struct anv_memory_heap { * * Align it to 64 bits to make atomic operations faster on 32 bit platforms. */ - VkDeviceSize used __attribute__ ((aligned (8))); + alignas(8) VkDeviceSize used; }; struct anv_memregion { diff --git a/src/virtio/vulkan/vn_ring.c b/src/virtio/vulkan/vn_ring.c index 715cbaa2ba3..76fca337ab0 100644 --- a/src/virtio/vulkan/vn_ring.c +++ b/src/virtio/vulkan/vn_ring.c @@ -151,11 +151,11 @@ vn_ring_get_layout(size_t buf_size, { /* this can be changed/extended quite freely */ struct layout { - uint32_t head __attribute__((aligned(64))); - uint32_t tail __attribute__((aligned(64))); - uint32_t status __attribute__((aligned(64))); + alignas(64) uint32_t head; + alignas(64) uint32_t tail; + alignas(64) uint32_t status; - uint8_t buffer[] __attribute__((aligned(64))); + alignas(64) uint8_t buffer[]; }; assert(buf_size && util_is_power_of_two_or_zero(buf_size));
