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>
This commit is contained in:
Faith Ekstrand
2023-12-09 18:08:57 -06:00
committed by Marge Bot
parent 08222146ac
commit 289149ebcb
3 changed files with 8 additions and 18 deletions
+5 -5
View File
@@ -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);
-5
View File
@@ -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;
+3 -8
View File
@@ -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,