Module: Mesa
Branch: main
Commit: 289149ebcb5fb86bcc666c48c4228b0773d11ccd
URL:    
http://cgit.freedesktop.org/mesa/mesa/commit/?id=289149ebcb5fb86bcc666c48c4228b0773d11ccd

Author: Faith Ekstrand <[email protected]>
Date:   Sat Dec  9 18:08:57 2023 -0600

nvk: Simplify alignment limit plumbing

We dont't need this whole function just for advertising alignment
requirements.  We now have enough #defines and helpers that they map
pretty cleanly to those.

Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/26617>

---

 src/nouveau/vulkan/nvk_buffer.c          | 10 +++++-----
 src/nouveau/vulkan/nvk_buffer.h          |  5 -----
 src/nouveau/vulkan/nvk_physical_device.c | 11 +++--------
 3 files changed, 8 insertions(+), 18 deletions(-)

diff --git a/src/nouveau/vulkan/nvk_buffer.c b/src/nouveau/vulkan/nvk_buffer.c
index f6913dacfa8..38328ea1ec5 100644
--- a/src/nouveau/vulkan/nvk_buffer.c
+++ b/src/nouveau/vulkan/nvk_buffer.c
@@ -9,15 +9,15 @@
 #include "nvk_device_memory.h"
 #include "nvk_physical_device.h"
 
-uint32_t
-nvk_get_buffer_alignment(UNUSED const struct nv_device_info *info,
+static uint32_t
+nvk_get_buffer_alignment(const struct nvk_physical_device *pdev,
                          VkBufferUsageFlags2KHR usage_flags,
                          VkBufferCreateFlags create_flags)
 {
    uint32_t alignment = 16;
 
    if (usage_flags & VK_BUFFER_USAGE_2_UNIFORM_BUFFER_BIT_KHR)
-      alignment = MAX2(alignment, nvk_min_cbuf_alignment(info));
+      alignment = MAX2(alignment, nvk_min_cbuf_alignment(&pdev->info));
 
    if (usage_flags & VK_BUFFER_USAGE_2_STORAGE_BUFFER_BIT_KHR)
       alignment = MAX2(alignment, NVK_MIN_SSBO_ALIGNMENT);
@@ -94,7 +94,7 @@ nvk_CreateBuffer(VkDevice device,
        (buffer->vk.create_flags & (VK_BUFFER_CREATE_SPARSE_BINDING_BIT |
                                    
VK_BUFFER_CREATE_DEVICE_ADDRESS_CAPTURE_REPLAY_BIT))) {
       const uint32_t alignment =
-         nvk_get_buffer_alignment(&nvk_device_physical(dev)->info,
+         nvk_get_buffer_alignment(nvk_device_physical(dev),
                                   buffer->vk.usage,
                                   buffer->vk.create_flags);
       assert(alignment >= 4096);
@@ -159,7 +159,7 @@ nvk_GetDeviceBufferMemoryRequirements(
    VK_FROM_HANDLE(nvk_device, dev, device);
 
    const uint32_t alignment =
-      nvk_get_buffer_alignment(&nvk_device_physical(dev)->info,
+      nvk_get_buffer_alignment(nvk_device_physical(dev),
                                pInfo->pCreateInfo->usage,
                                pInfo->pCreateInfo->flags);
 
diff --git a/src/nouveau/vulkan/nvk_buffer.h b/src/nouveau/vulkan/nvk_buffer.h
index 971adaea7e8..e7cf68f328c 100644
--- a/src/nouveau/vulkan/nvk_buffer.h
+++ b/src/nouveau/vulkan/nvk_buffer.h
@@ -14,11 +14,6 @@
 struct nvk_device_memory;
 struct nvk_physical_device;
 
-uint32_t ATTRIBUTE_PURE
-nvk_get_buffer_alignment(const struct nv_device_info *info,
-                         VkBufferUsageFlags2KHR usage_flags,
-                         VkBufferCreateFlags create_flags);
-
 struct nvk_buffer {
    struct vk_buffer vk;
    uint64_t addr;
diff --git a/src/nouveau/vulkan/nvk_physical_device.c 
b/src/nouveau/vulkan/nvk_physical_device.c
index db2f356c660..b8f9fbec99e 100644
--- a/src/nouveau/vulkan/nvk_physical_device.c
+++ b/src/nouveau/vulkan/nvk_physical_device.c
@@ -578,14 +578,9 @@ nvk_get_device_properties(const struct nvk_instance 
*instance,
       .viewportBoundsRange = { -65536, 65536 },
       .viewportSubPixelBits = 8,
       .minMemoryMapAlignment = 64,
-      .minTexelBufferOffsetAlignment =
-         nvk_get_buffer_alignment(info, 
VK_BUFFER_USAGE_2_UNIFORM_TEXEL_BUFFER_BIT_KHR |
-                                        
VK_BUFFER_USAGE_2_STORAGE_TEXEL_BUFFER_BIT_KHR,
-                                  0),
-      .minUniformBufferOffsetAlignment =
-         nvk_get_buffer_alignment(info, 
VK_BUFFER_USAGE_2_UNIFORM_BUFFER_BIT_KHR, 0),
-      .minStorageBufferOffsetAlignment =
-         nvk_get_buffer_alignment(info, 
VK_BUFFER_USAGE_2_STORAGE_BUFFER_BIT_KHR, 0),
+      .minTexelBufferOffsetAlignment = NVK_MIN_TEXEL_BUFFER_ALIGNMENT,
+      .minUniformBufferOffsetAlignment = nvk_min_cbuf_alignment(info),
+      .minStorageBufferOffsetAlignment = NVK_MIN_SSBO_ALIGNMENT,
       .minTexelOffset = -8,
       .maxTexelOffset = 7,
       .minTexelGatherOffset = -32,

Reply via email to