mirror of
https://gitlab.freedesktop.org/mesa/mesa.git
synced 2025-12-24 15:20:10 +01:00
nvk: Advertise VK_EXT_robustness2
Closes: https://gitlab.freedesktop.org/nouveau/mesa/-/issues/39 Signed-off-by: Rebecca Mckeever <rebecca.mckeever@collabora.com> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/24326>
This commit is contained in:
parent
ea06f9a893
commit
c9eac89da8
2 changed files with 20 additions and 0 deletions
|
|
@ -93,6 +93,8 @@ nvk_GetPhysicalDeviceFeatures2(VkPhysicalDevice physicalDevice,
|
|||
.shaderInputAttachmentArrayDynamicIndexing = true,
|
||||
.shaderUniformTexelBufferArrayDynamicIndexing = true,
|
||||
.shaderStorageTexelBufferArrayDynamicIndexing = true,
|
||||
.descriptorBindingUniformTexelBufferUpdateAfterBind = true,
|
||||
.descriptorBindingStorageTexelBufferUpdateAfterBind = true,
|
||||
.imagelessFramebuffer = true,
|
||||
.uniformBufferStandardLayout = true,
|
||||
.separateDepthStencilLayouts = true,
|
||||
|
|
@ -107,6 +109,7 @@ nvk_GetPhysicalDeviceFeatures2(VkPhysicalDevice physicalDevice,
|
|||
/* Vulkan 1.3 features */
|
||||
.robustImageAccess = true,
|
||||
.inlineUniformBlock = true,
|
||||
.descriptorBindingInlineUniformBlockUpdateAfterBind = true,
|
||||
.privateData = true,
|
||||
.dynamicRendering = true,
|
||||
};
|
||||
|
|
@ -225,6 +228,13 @@ nvk_GetPhysicalDeviceFeatures2(VkPhysicalDevice physicalDevice,
|
|||
f->transformFeedbackPreservesProvokingVertex = true;
|
||||
break;
|
||||
}
|
||||
case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_ROBUSTNESS_2_FEATURES_EXT: {
|
||||
VkPhysicalDeviceRobustness2FeaturesEXT *f = (void *)ext;
|
||||
f->robustBufferAccess2 = true;
|
||||
f->robustImageAccess2 = true;
|
||||
f->nullDescriptor = true;
|
||||
break;
|
||||
}
|
||||
case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VERTEX_ATTRIBUTE_DIVISOR_FEATURES_EXT: {
|
||||
VkPhysicalDeviceVertexAttributeDivisorFeaturesEXT *f = (void *)ext;
|
||||
f->vertexAttributeInstanceRateDivisor = true;
|
||||
|
|
@ -384,6 +394,7 @@ nvk_GetPhysicalDeviceProperties2(VkPhysicalDevice physicalDevice,
|
|||
.subminor = 0,
|
||||
.patch = 0,
|
||||
},
|
||||
.robustBufferAccessUpdateAfterBind = true,
|
||||
};
|
||||
|
||||
snprintf(core_1_2.driverName, VK_MAX_DRIVER_NAME_SIZE, "NVK");
|
||||
|
|
@ -437,6 +448,13 @@ nvk_GetPhysicalDeviceProperties2(VkPhysicalDevice physicalDevice,
|
|||
p->maxVertexAttribDivisor = UINT32_MAX;
|
||||
break;
|
||||
}
|
||||
case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_ROBUSTNESS_2_PROPERTIES_EXT: {
|
||||
VkPhysicalDeviceRobustness2PropertiesEXT *p = (void *)ext;
|
||||
p->robustStorageBufferAccessSizeAlignment =
|
||||
NVK_SSBO_BOUNDS_CHECK_ALIGNMENT;
|
||||
p->robustUniformBufferAccessSizeAlignment = NVK_MIN_UBO_ALIGNMENT;
|
||||
break;
|
||||
}
|
||||
/* More property structs */
|
||||
default:
|
||||
break;
|
||||
|
|
@ -502,6 +520,7 @@ nvk_get_device_extensions(const struct nvk_physical_device *pdev,
|
|||
.EXT_pci_bus_info = true,
|
||||
.EXT_private_data = true,
|
||||
.EXT_provoking_vertex = true,
|
||||
.EXT_robustness2 = true,
|
||||
.EXT_sample_locations = pdev->info.cls_eng3d >= MAXWELL_B,
|
||||
.EXT_separate_stencil_usage = true,
|
||||
.EXT_vertex_attribute_divisor = true,
|
||||
|
|
|
|||
|
|
@ -28,6 +28,7 @@
|
|||
#define NVK_MAX_DESCRIPTOR_SET_SIZE (1u << 30)
|
||||
#define NVK_PUSH_DESCRIPTOR_SET_SIZE \
|
||||
(NVK_MAX_PUSH_DESCRIPTORS * NVK_MAX_DESCRIPTOR_SIZE)
|
||||
#define NVK_SSBO_BOUNDS_CHECK_ALIGNMENT 4
|
||||
|
||||
struct nvk_addr_range {
|
||||
uint64_t addr;
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue