nvk: Advertise VK_KHR_shader_atomic_int64

Everything should be mostly wired up. Shared atomics don't seem to work,
though, for some reason.

Closes: https://gitlab.freedesktop.org/mesa/mesa/-/issues/9603
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/26246>
This commit is contained in:
Faith Ekstrand 2023-11-16 23:42:51 -06:00 committed by Marge Bot
parent c05ad7904f
commit 9b60a1c00e
3 changed files with 8 additions and 2 deletions

View file

@ -458,7 +458,7 @@ Vulkan 1.2 -- all DONE: anv, tu, vn
VK_KHR_imageless_framebuffer DONE (anv, dzn, hasvk, lvp, nvk, radv, tu, v3dv, vn)
VK_KHR_sampler_mirror_clamp_to_edge DONE (anv, dzn, hasvk, lvp, nvk, radv, tu, v3dv, vn)
VK_KHR_separate_depth_stencil_layouts DONE (anv, dzn, hasvk, lvp, nvk, radv, tu, v3dv, vn)
VK_KHR_shader_atomic_int64 DONE (anv/gen9+, lvp, radv, vn)
VK_KHR_shader_atomic_int64 DONE (anv/gen9+, lvp, nvk, radv, vn)
VK_KHR_shader_float16_int8 DONE (anv/gen8+, dzn, hasvk, lvp, radv, tu, vn)
VK_KHR_shader_float_controls DONE (anv/gen8+, dzn, hasvk, lvp, radv, tu, v3dv, vn)
VK_KHR_shader_subgroup_extended_types DONE (anv/gen8+, hasvk, lvp, radv, tu, vn)

View file

@ -112,6 +112,8 @@ nvk_get_device_extensions(const struct nv_device_info *info,
.KHR_sampler_mirror_clamp_to_edge = true,
.KHR_sampler_ycbcr_conversion = true,
.KHR_separate_depth_stencil_layouts = true,
.KHR_shader_atomic_int64 = info->cls_eng3d >= MAXWELL_A &&
nvk_use_nak(info),
.KHR_shader_clock = true,
.KHR_shader_draw_parameters = true,
.KHR_shader_float16_int8 = true,
@ -251,12 +253,15 @@ nvk_get_device_features(const struct nv_device_info *info,
/* Vulkan 1.2 */
.samplerMirrorClampToEdge = true,
.descriptorIndexing = true,
.drawIndirectCount = info->cls_eng3d >= TURING_A,
.storageBuffer8BitAccess = true,
.uniformAndStorageBuffer8BitAccess = true,
.storagePushConstant8 = true,
.shaderBufferInt64Atomics = info->cls_eng3d >= MAXWELL_A &&
nvk_use_nak(info),
.shaderSharedInt64Atomics = false, /* TODO */
.shaderInt8 = true,
.descriptorIndexing = true,
.shaderInputAttachmentArrayDynamicIndexing = true,
.shaderUniformTexelBufferArrayDynamicIndexing = true,
.shaderStorageTexelBufferArrayDynamicIndexing = true,

View file

@ -147,6 +147,7 @@ nvk_physical_device_spirv_options(const struct nvk_physical_device *pdev,
.int8 = true,
.int16 = true,
.int64 = true,
.int64_atomics = true,
.min_lod = true,
.multiview = true,
.physical_storage_buffer_address = true,