nvk: enable KHR_shader_clock.
authorDave Airlie <airlied@redhat.com>
Mon, 7 Aug 2023 02:51:36 +0000 (12:51 +1000)
committerMarge Bot <emma+marge@anholt.net>
Thu, 10 Aug 2023 03:39:49 +0000 (03:39 +0000)
This should all be wired up.

Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/24595>

docs/features.txt
src/nouveau/vulkan/nvk_physical_device.c
src/nouveau/vulkan/nvk_shader.c

index 003da6f..0ea23d9 100644 (file)
@@ -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)
index b745c2f..72565c6 100644 (file)
@@ -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,
    };
 }
 
index 8a8a9e4..f53d243 100644 (file)
@@ -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,