hk: Enable VK_KHR_present_id[2] and VK_KHR_present_wait[2]
These extensions are implemented in shared Vulkan/WSI code and not driver specific. A Vulkan driver just needs to support VK_KHR_timeline_semaphore, which Honeykrisp already supports since its inclusion into Mesa. Successfully tested on Apple MacBookAir 2020 with M1 SoC on top of KDE KWin 6.4 and GNOME mutter 48. Signed-off-by: Mario Kleiner <mario.kleiner.de@gmail.com> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/38069>
This commit is contained in:
@@ -561,10 +561,10 @@ Khronos extensions that are not part of any Vulkan version:
|
||||
VK_KHR_pipeline_binary DONE (radv)
|
||||
VK_KHR_pipeline_executable_properties DONE (anv, hk, nvk, panvk, hasvk, radv, tu, v3dv)
|
||||
VK_KHR_pipeline_library DONE (anv, hk, lvp, nvk, panvk, radv, tu, vn)
|
||||
VK_KHR_present_id DONE (anv, nvk, radv, tu, vn)
|
||||
VK_KHR_present_id2 DONE (anv, nvk, panvk, pvr, radv, tu, v3dv, vn)
|
||||
VK_KHR_present_wait DONE (anv, nvk, radv, tu, vn)
|
||||
VK_KHR_present_wait2 DONE (anv, nvk, panvk, pvr, radv, tu, v3dv, vn)
|
||||
VK_KHR_present_id DONE (anv, hk, nvk, radv, tu, vn)
|
||||
VK_KHR_present_id2 DONE (anv, hk, nvk, panvk, pvr, radv, tu, v3dv, vn)
|
||||
VK_KHR_present_wait DONE (anv, hk, nvk, radv, tu, vn)
|
||||
VK_KHR_present_wait2 DONE (anv, hk, nvk, panvk, pvr, radv, tu, v3dv, vn)
|
||||
VK_KHR_ray_query DONE (anv/gfx12.5+, lvp, radv/gfx10.3+, tu/a740+, vn)
|
||||
VK_KHR_ray_tracing_maintenance1 DONE (anv/gfx12.5+, lvp, radv/gfx10.3+, tu/a740+, vn)
|
||||
VK_KHR_ray_tracing_pipeline DONE (anv/gfx12.5+, lvp, radv/gfx10.3+, vn)
|
||||
|
||||
@@ -2,3 +2,7 @@ VK_KHR_relaxed_block_layout on pvr
|
||||
VK_KHR_storage_buffer_storage_class on pvr
|
||||
VK_EXT_external_memory_acquire_unmodified on panvk
|
||||
VK_EXT_discard_rectangles on NVK
|
||||
VK_KHR_present_id on HoneyKrisp
|
||||
VK_KHR_present_id2 on HoneyKrisp
|
||||
VK_KHR_present_wait on HoneyKrisp
|
||||
VK_KHR_present_wait2 on HoneyKrisp
|
||||
|
||||
@@ -94,6 +94,12 @@ hk_get_device_extensions(const struct hk_instance *instance,
|
||||
.KHR_multiview = true,
|
||||
.KHR_pipeline_executable_properties = true,
|
||||
.KHR_pipeline_library = true,
|
||||
#ifdef HK_USE_WSI_PLATFORM
|
||||
.KHR_present_id = true,
|
||||
.KHR_present_id2 = true,
|
||||
.KHR_present_wait = true,
|
||||
.KHR_present_wait2 = true,
|
||||
#endif
|
||||
.KHR_push_descriptor = true,
|
||||
.KHR_relaxed_block_layout = true,
|
||||
.KHR_sampler_mirror_clamp_to_edge = true,
|
||||
@@ -401,10 +407,16 @@ hk_get_device_features(
|
||||
.pipelineExecutableInfo = true,
|
||||
|
||||
/* VK_KHR_present_id */
|
||||
.presentId = false,
|
||||
.presentId = true,
|
||||
|
||||
/* VK_KHR_present_id2 */
|
||||
.presentId2 = true,
|
||||
|
||||
/* VK_KHR_present_wait */
|
||||
.presentWait = false,
|
||||
.presentWait = true,
|
||||
|
||||
/* VK_KHR_present_wait2 */
|
||||
.presentWait2 = true,
|
||||
|
||||
/* VK_KHR_shader_clock */
|
||||
.shaderSubgroupClock = false,
|
||||
|
||||
Reference in New Issue
Block a user