nvk: Set max descriptors to 2^20 for most descriptor types

Dynamic is the exception here.  Those have much stricter limits.

Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/25653>
This commit is contained in:
Faith Ekstrand
2023-10-10 10:39:51 -05:00
parent 3d3641e446
commit 9a51185d45
2 changed files with 25 additions and 24 deletions
+24 -24
View File
@@ -398,21 +398,21 @@ nvk_get_device_properties(const struct nvk_instance *instance,
.bufferImageGranularity = info->chipset >= 0x120 ? 0x400 : 0x10000,
.sparseAddressSpaceSize = UINT32_MAX,
.maxBoundDescriptorSets = NVK_MAX_SETS,
.maxPerStageDescriptorSamplers = UINT32_MAX,
.maxPerStageDescriptorUniformBuffers = UINT32_MAX,
.maxPerStageDescriptorStorageBuffers = UINT32_MAX,
.maxPerStageDescriptorSampledImages = UINT32_MAX,
.maxPerStageDescriptorStorageImages = UINT32_MAX,
.maxPerStageDescriptorInputAttachments = UINT32_MAX,
.maxPerStageDescriptorSamplers = NVK_MAX_DESCRIPTORS,
.maxPerStageDescriptorUniformBuffers = NVK_MAX_DESCRIPTORS,
.maxPerStageDescriptorStorageBuffers = NVK_MAX_DESCRIPTORS,
.maxPerStageDescriptorSampledImages = NVK_MAX_DESCRIPTORS,
.maxPerStageDescriptorStorageImages = NVK_MAX_DESCRIPTORS,
.maxPerStageDescriptorInputAttachments = NVK_MAX_DESCRIPTORS,
.maxPerStageResources = UINT32_MAX,
.maxDescriptorSetSamplers = UINT32_MAX,
.maxDescriptorSetUniformBuffers = UINT32_MAX,
.maxDescriptorSetSamplers = NVK_MAX_DESCRIPTORS,
.maxDescriptorSetUniformBuffers = NVK_MAX_DESCRIPTORS,
.maxDescriptorSetUniformBuffersDynamic = NVK_MAX_DYNAMIC_BUFFERS / 2,
.maxDescriptorSetStorageBuffers = UINT32_MAX,
.maxDescriptorSetStorageBuffers = NVK_MAX_DESCRIPTORS,
.maxDescriptorSetStorageBuffersDynamic = NVK_MAX_DYNAMIC_BUFFERS / 2,
.maxDescriptorSetSampledImages = UINT32_MAX,
.maxDescriptorSetStorageImages = UINT32_MAX,
.maxDescriptorSetInputAttachments = UINT32_MAX,
.maxDescriptorSetSampledImages = NVK_MAX_DESCRIPTORS,
.maxDescriptorSetStorageImages = NVK_MAX_DESCRIPTORS,
.maxDescriptorSetInputAttachments = NVK_MAX_DESCRIPTORS,
.maxVertexInputAttributes = 32,
.maxVertexInputBindings = 32,
.maxVertexInputAttributeOffset = 2047,
@@ -531,21 +531,21 @@ nvk_get_device_properties(const struct nvk_instance *instance,
.shaderInputAttachmentArrayNonUniformIndexingNative = false,
.robustBufferAccessUpdateAfterBind = true,
.quadDivergentImplicitLod = info->cls_eng3d >= TURING_A,
.maxPerStageDescriptorUpdateAfterBindSamplers = UINT32_MAX,
.maxPerStageDescriptorUpdateAfterBindUniformBuffers = UINT32_MAX,
.maxPerStageDescriptorUpdateAfterBindStorageBuffers = UINT32_MAX,
.maxPerStageDescriptorUpdateAfterBindSampledImages = UINT32_MAX,
.maxPerStageDescriptorUpdateAfterBindStorageImages = UINT32_MAX,
.maxPerStageDescriptorUpdateAfterBindInputAttachments = UINT32_MAX,
.maxPerStageDescriptorUpdateAfterBindSamplers = NVK_MAX_DESCRIPTORS,
.maxPerStageDescriptorUpdateAfterBindUniformBuffers = NVK_MAX_DESCRIPTORS,
.maxPerStageDescriptorUpdateAfterBindStorageBuffers = NVK_MAX_DESCRIPTORS,
.maxPerStageDescriptorUpdateAfterBindSampledImages = NVK_MAX_DESCRIPTORS,
.maxPerStageDescriptorUpdateAfterBindStorageImages = NVK_MAX_DESCRIPTORS,
.maxPerStageDescriptorUpdateAfterBindInputAttachments = NVK_MAX_DESCRIPTORS,
.maxPerStageUpdateAfterBindResources = UINT32_MAX,
.maxDescriptorSetUpdateAfterBindSamplers = UINT32_MAX,
.maxDescriptorSetUpdateAfterBindUniformBuffers = UINT32_MAX,
.maxDescriptorSetUpdateAfterBindSamplers = NVK_MAX_DESCRIPTORS,
.maxDescriptorSetUpdateAfterBindUniformBuffers = NVK_MAX_DESCRIPTORS,
.maxDescriptorSetUpdateAfterBindUniformBuffersDynamic = NVK_MAX_DYNAMIC_BUFFERS / 2,
.maxDescriptorSetUpdateAfterBindStorageBuffers = UINT32_MAX,
.maxDescriptorSetUpdateAfterBindStorageBuffers = NVK_MAX_DESCRIPTORS,
.maxDescriptorSetUpdateAfterBindStorageBuffersDynamic = NVK_MAX_DYNAMIC_BUFFERS / 2,
.maxDescriptorSetUpdateAfterBindSampledImages = UINT32_MAX,
.maxDescriptorSetUpdateAfterBindStorageImages = UINT32_MAX,
.maxDescriptorSetUpdateAfterBindInputAttachments = UINT32_MAX,
.maxDescriptorSetUpdateAfterBindSampledImages = NVK_MAX_DESCRIPTORS,
.maxDescriptorSetUpdateAfterBindStorageImages = NVK_MAX_DESCRIPTORS,
.maxDescriptorSetUpdateAfterBindInputAttachments = NVK_MAX_DESCRIPTORS,
.filterMinmaxSingleComponentFormats = true,
.filterMinmaxImageComponentMapping = true,
.maxTimelineSemaphoreValueDifference = UINT64_MAX,
+1
View File
@@ -20,6 +20,7 @@
#define NVK_MAX_DESCRIPTOR_SIZE 16
#define NVK_MAX_PUSH_DESCRIPTORS 32
#define NVK_MAX_DESCRIPTOR_SET_SIZE (1u << 30)
#define NVK_MAX_DESCRIPTORS (1 << 20)
#define NVK_PUSH_DESCRIPTOR_SET_SIZE \
(NVK_MAX_PUSH_DESCRIPTORS * NVK_MAX_DESCRIPTOR_SIZE)
#define NVK_SSBO_BOUNDS_CHECK_ALIGNMENT 4