mirror of
https://gitlab.freedesktop.org/mesa/mesa.git
synced 2025-12-20 11:40:10 +01:00
nvk: Advertise VK_EXT_descriptor_buffer
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/30580>
This commit is contained in:
parent
0f8f407e57
commit
3f1c3f04be
1 changed files with 47 additions and 0 deletions
|
|
@ -6,10 +6,13 @@
|
||||||
|
|
||||||
#include "nak.h"
|
#include "nak.h"
|
||||||
#include "nvk_buffer.h"
|
#include "nvk_buffer.h"
|
||||||
|
#include "nvk_descriptor_types.h"
|
||||||
#include "nvk_entrypoints.h"
|
#include "nvk_entrypoints.h"
|
||||||
#include "nvk_format.h"
|
#include "nvk_format.h"
|
||||||
#include "nvk_image.h"
|
#include "nvk_image.h"
|
||||||
|
#include "nvk_image_view.h"
|
||||||
#include "nvk_instance.h"
|
#include "nvk_instance.h"
|
||||||
|
#include "nvk_sampler.h"
|
||||||
#include "nvk_shader.h"
|
#include "nvk_shader.h"
|
||||||
#include "nvk_wsi.h"
|
#include "nvk_wsi.h"
|
||||||
#include "nvkmd/nvkmd.h"
|
#include "nvkmd/nvkmd.h"
|
||||||
|
|
@ -181,6 +184,7 @@ nvk_get_device_extensions(const struct nvk_instance *instance,
|
||||||
.EXT_depth_clip_control = true,
|
.EXT_depth_clip_control = true,
|
||||||
.EXT_depth_clip_enable = true,
|
.EXT_depth_clip_enable = true,
|
||||||
.EXT_depth_range_unrestricted = info->cls_eng3d >= VOLTA_A,
|
.EXT_depth_range_unrestricted = info->cls_eng3d >= VOLTA_A,
|
||||||
|
.EXT_descriptor_buffer = true,
|
||||||
.EXT_descriptor_indexing = true,
|
.EXT_descriptor_indexing = true,
|
||||||
#ifdef VK_USE_PLATFORM_DISPLAY_KHR
|
#ifdef VK_USE_PLATFORM_DISPLAY_KHR
|
||||||
.EXT_display_control = true,
|
.EXT_display_control = true,
|
||||||
|
|
@ -485,6 +489,12 @@ nvk_get_device_features(const struct nv_device_info *info,
|
||||||
/* VK_EXT_depth_clip_enable */
|
/* VK_EXT_depth_clip_enable */
|
||||||
.depthClipEnable = true,
|
.depthClipEnable = true,
|
||||||
|
|
||||||
|
/* VK_EXT_descriptor_buffer */
|
||||||
|
.descriptorBuffer = true,
|
||||||
|
.descriptorBufferCaptureReplay = true,
|
||||||
|
.descriptorBufferImageLayoutIgnored = true,
|
||||||
|
.descriptorBufferPushDescriptors = false,
|
||||||
|
|
||||||
/* VK_EXT_dynamic_rendering_unused_attachments */
|
/* VK_EXT_dynamic_rendering_unused_attachments */
|
||||||
.dynamicRenderingUnusedAttachments = true,
|
.dynamicRenderingUnusedAttachments = true,
|
||||||
|
|
||||||
|
|
@ -886,6 +896,43 @@ nvk_get_device_properties(const struct nvk_instance *instance,
|
||||||
/* VK_EXT_custom_border_color */
|
/* VK_EXT_custom_border_color */
|
||||||
.maxCustomBorderColorSamplers = 4000,
|
.maxCustomBorderColorSamplers = 4000,
|
||||||
|
|
||||||
|
/* VK_EXT_descriptor_buffer */
|
||||||
|
.combinedImageSamplerDescriptorSingleArray = true,
|
||||||
|
.bufferlessPushDescriptors = false,
|
||||||
|
.allowSamplerImageViewPostSubmitCreation = false,
|
||||||
|
.descriptorBufferOffsetAlignment = nvk_min_cbuf_alignment(info),
|
||||||
|
.maxDescriptorBufferBindings = 32,
|
||||||
|
.maxResourceDescriptorBufferBindings = 32,
|
||||||
|
.maxSamplerDescriptorBufferBindings = 32,
|
||||||
|
.maxEmbeddedImmutableSamplerBindings = 32,
|
||||||
|
.maxEmbeddedImmutableSamplers = 4000,
|
||||||
|
.bufferCaptureReplayDescriptorDataSize = 0,
|
||||||
|
.imageCaptureReplayDescriptorDataSize = 0,
|
||||||
|
.imageViewCaptureReplayDescriptorDataSize =
|
||||||
|
sizeof(struct nvk_image_view_capture),
|
||||||
|
.samplerCaptureReplayDescriptorDataSize =
|
||||||
|
sizeof(struct nvk_sampler_capture),
|
||||||
|
.accelerationStructureCaptureReplayDescriptorDataSize = 0, // todo
|
||||||
|
.samplerDescriptorSize = sizeof(struct nvk_sampled_image_descriptor),
|
||||||
|
.combinedImageSamplerDescriptorSize = sizeof(struct nvk_sampled_image_descriptor),
|
||||||
|
.sampledImageDescriptorSize = sizeof(struct nvk_sampled_image_descriptor),
|
||||||
|
.storageImageDescriptorSize = sizeof(struct nvk_storage_image_descriptor),
|
||||||
|
.uniformTexelBufferDescriptorSize = sizeof(struct nvk_edb_buffer_view_descriptor),
|
||||||
|
.robustUniformTexelBufferDescriptorSize = sizeof(struct nvk_edb_buffer_view_descriptor),
|
||||||
|
.storageTexelBufferDescriptorSize = sizeof(struct nvk_edb_buffer_view_descriptor),
|
||||||
|
.robustStorageTexelBufferDescriptorSize = sizeof(struct nvk_edb_buffer_view_descriptor),
|
||||||
|
.uniformBufferDescriptorSize = sizeof(union nvk_buffer_descriptor),
|
||||||
|
.robustUniformBufferDescriptorSize = sizeof(union nvk_buffer_descriptor),
|
||||||
|
.storageBufferDescriptorSize = sizeof(union nvk_buffer_descriptor),
|
||||||
|
.robustStorageBufferDescriptorSize = sizeof(union nvk_buffer_descriptor),
|
||||||
|
.inputAttachmentDescriptorSize = sizeof(struct nvk_sampled_image_descriptor),
|
||||||
|
.accelerationStructureDescriptorSize = 0,
|
||||||
|
.maxSamplerDescriptorBufferRange = UINT32_MAX,
|
||||||
|
.maxResourceDescriptorBufferRange = UINT32_MAX,
|
||||||
|
.samplerDescriptorBufferAddressSpaceSize = UINT32_MAX,
|
||||||
|
.resourceDescriptorBufferAddressSpaceSize = UINT32_MAX,
|
||||||
|
.descriptorBufferAddressSpaceSize = UINT32_MAX,
|
||||||
|
|
||||||
/* VK_EXT_extended_dynamic_state3 */
|
/* VK_EXT_extended_dynamic_state3 */
|
||||||
.dynamicPrimitiveTopologyUnrestricted = true,
|
.dynamicPrimitiveTopologyUnrestricted = true,
|
||||||
|
|
||||||
|
|
|
||||||
Loading…
Add table
Reference in a new issue