nvk: Advertise VK_KHR_vulkan_memory_model

Now that the NAK barrier bugs seem fixed and we're passing all the
tests, we can turn this on.

Closes: https://gitlab.freedesktop.org/mesa/mesa/-/issues/9608
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/26716>
This commit is contained in:
Faith Ekstrand 2023-12-14 16:32:54 -06:00 committed by Marge Bot
parent 629bef2a4c
commit 5d937f09b2
3 changed files with 7 additions and 1 deletions

View file

@ -465,7 +465,7 @@ Vulkan 1.2 -- all DONE: anv, tu, vn
VK_KHR_spirv_1_4 DONE (anv, dzn, hasvk, lvp, nvk, radv, tu, v3dv, vn)
VK_KHR_timeline_semaphore DONE (anv, dzn, hasvk, lvp, nvk, pvr, radv, tu, v3dv, vn)
VK_KHR_uniform_buffer_standard_layout DONE (anv, dzn, hasvk, lvp, nvk, pvr, radv, tu, v3dv, vn)
VK_KHR_vulkan_memory_model DONE (anv, hasvk, lvp, radv, tu, v3dv, vn)
VK_KHR_vulkan_memory_model DONE (anv, hasvk, lvp, nvk, radv, tu, v3dv, vn)
VK_EXT_descriptor_indexing DONE (anv/gen9+, dzn, lvp, nvk, radv, tu, vn)
VK_EXT_host_query_reset DONE (anv, hasvk, lvp, nvk, pvr, radv, tu, v3dv, vn)
VK_EXT_sampler_filter_minmax DONE (anv/gen9+, lvp, nvk, radv, tu, vn)

View file

@ -133,6 +133,7 @@ nvk_get_device_extensions(const struct nv_device_info *info,
.KHR_synchronization2 = true,
.KHR_uniform_buffer_standard_layout = true,
.KHR_variable_pointers = true,
.KHR_vulkan_memory_model = nvk_use_nak(info),
.KHR_workgroup_memory_explicit_layout = true,
.EXT_4444_formats = true,
.EXT_attachment_feedback_loop_layout = true,
@ -301,6 +302,9 @@ nvk_get_device_features(const struct nv_device_info *info,
.bufferDeviceAddress = true,
.bufferDeviceAddressCaptureReplay = true,
.bufferDeviceAddressMultiDevice = false,
.vulkanMemoryModel = nvk_use_nak(info),
.vulkanMemoryModelDeviceScope = nvk_use_nak(info),
.vulkanMemoryModelAvailabilityVisibilityChains = nvk_use_nak(info),
.shaderOutputViewportIndex = info->cls_eng3d >= MAXWELL_B,
.shaderOutputLayer = info->cls_eng3d >= MAXWELL_B,
.subgroupBroadcastDynamicId = nvk_use_nak(info),

View file

@ -147,6 +147,8 @@ nvk_physical_device_spirv_options(const struct nvk_physical_device *pdev,
.tessellation = true,
.transform_feedback = true,
.variable_pointers = true,
.vk_memory_model_device_scope = true,
.vk_memory_model = true,
.workgroup_memory_explicit_layout = true,
},
.ssbo_addr_format = nvk_buffer_addr_format(rs->storage_buffers),