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

Reply via email to