From 81cae3d8d23f4ee8745ebe9661fa06107457713a Mon Sep 17 00:00:00 2001 From: Dave Airlie Date: Mon, 7 Aug 2023 12:51:36 +1000 Subject: [PATCH] nvk: enable KHR_shader_clock. This should all be wired up. Part-of: --- docs/features.txt | 2 +- src/nouveau/vulkan/nvk_physical_device.c | 5 +++++ src/nouveau/vulkan/nvk_shader.c | 1 + 3 files changed, 7 insertions(+), 1 deletion(-) diff --git a/docs/features.txt b/docs/features.txt index 003da6f..0ea23d9 100644 --- a/docs/features.txt +++ b/docs/features.txt @@ -526,7 +526,7 @@ Khronos extensions that are not part of any Vulkan version: VK_KHR_ray_query DONE (anv/gfx12.5+, radv/gfx10.3+) VK_KHR_ray_tracing_maintenance1 DONE (anv/gfx12.5+, radv/gfx10.3+) VK_KHR_ray_tracing_pipeline DONE (anv/gfx12.5+, radv/gfx10.3+) - VK_KHR_shader_clock DONE (anv, hasvk, lvp, radv, vn) + VK_KHR_shader_clock DONE (anv, hasvk, lvp, nvk, radv, vn) VK_KHR_shader_subgroup_uniform_control_flow DONE (anv, hasvk, radv) VK_KHR_shared_presentable_image not started VK_KHR_surface DONE (anv, dzn, hasvk, lvp, nvk, panvk, pvr, radv, tu, v3dv, vn) diff --git a/src/nouveau/vulkan/nvk_physical_device.c b/src/nouveau/vulkan/nvk_physical_device.c index b745c2f..72565c6 100644 --- a/src/nouveau/vulkan/nvk_physical_device.c +++ b/src/nouveau/vulkan/nvk_physical_device.c @@ -382,6 +382,7 @@ 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_clock = true, .KHR_shader_draw_parameters = true, .KHR_shader_non_semantic_info = true, .KHR_spirv_1_4 = true, @@ -660,6 +661,10 @@ nvk_get_device_features(const struct nv_device_info *info, /* VALVE_mutable_descriptor_type */ .mutableDescriptorType = true, + + /* VK_KHR_shader_clock */ + .shaderSubgroupClock = true, + .shaderDeviceClock = true, }; } diff --git a/src/nouveau/vulkan/nvk_shader.c b/src/nouveau/vulkan/nvk_shader.c index 8a8a9e4..f53d243 100644 --- a/src/nouveau/vulkan/nvk_shader.c +++ b/src/nouveau/vulkan/nvk_shader.c @@ -85,6 +85,7 @@ nvk_physical_device_spirv_options(const struct nvk_physical_device *pdev, .multiview = true, .physical_storage_buffer_address = true, .runtime_descriptor_array = true, + .shader_clock = true, .shader_viewport_index_layer = true, .tessellation = true, .transform_feedback = true, -- 2.7.4