diff --git a/docs/features.txt b/docs/features.txt index 7757fa512fc..4e26f55da85 100644 --- a/docs/features.txt +++ b/docs/features.txt @@ -601,7 +601,7 @@ Khronos extensions that are not part of any Vulkan version: VK_EXT_device_memory_report DONE (anv, radv, vn) VK_EXT_direct_mode_display DONE (anv, lvp, nvk, radv, tu, v3dv, vn) VK_EXT_discard_rectangles DONE (radv) - VK_EXT_display_control DONE (anv, hasvk, nvk, panvk, radv, tu) + VK_EXT_display_control DONE (anv, hasvk, nvk, panvk, radv, tu, vn) VK_EXT_display_surface_counter DONE (anv, lvp, nvk, radv, tu, vn) VK_EXT_dynamic_rendering_unused_attachments DONE (anv, nvk, radv, vn) VK_EXT_extended_dynamic_state3 DONE (anv, lvp, nvk, radv, tu, vn) @@ -614,7 +614,7 @@ Khronos extensions that are not part of any Vulkan version: VK_EXT_global_priority DONE (anv, hasvk, panvk, radv, tu, vn) VK_EXT_global_priority_query DONE (anv, hasvk, panvk, radv, tu, vn) VK_EXT_graphics_pipeline_library DONE (anv, lvp, nvk, panvk, radv, tu, vn) - VK_EXT_hdr_metadata DONE (anv, lvp, nvk, panvk, radv, tu) + VK_EXT_hdr_metadata DONE (anv, lvp, nvk, panvk, radv, tu, vn) VK_EXT_headless_surface DONE (anv, dzn, hasvk, lvp, nvk, panvk, pvr, radv, tu, v3dv, vn) VK_EXT_image_2d_view_of_3d DONE (anv, hasvk, lvp, nvk, radv, tu, vn) VK_EXT_image_compression_control DONE (radv) @@ -661,9 +661,9 @@ Khronos extensions that are not part of any Vulkan version: VK_EXT_ycbcr_image_arrays DONE (anv, hasvk, lvp, nvk, panvk/v10+, radv, vn) VK_ANDROID_external_memory_android_hardware_buffer DONE (anv, radv, tu, vn) VK_ANDROID_native_buffer DONE (anv, radv, tu, v3dv, vn) - VK_GOOGLE_decorate_string DONE (anv, hasvk, lvp, nvk, panvk, radv, tu) - VK_GOOGLE_hlsl_functionality1 DONE (anv, hasvk, lvp, nvk, panvk, radv, tu) - VK_GOOGLE_user_type DONE (anv, hasvk, nvk, panvk, radv, tu) + VK_GOOGLE_decorate_string DONE (anv, hasvk, lvp, nvk, panvk, radv, tu, vn) + VK_GOOGLE_hlsl_functionality1 DONE (anv, hasvk, lvp, nvk, panvk, radv, tu, vn) + VK_GOOGLE_user_type DONE (anv, hasvk, nvk, panvk, radv, tu, vn) VK_IMG_filter_cubic DONE (tu/a650+) VK_NV_compute_shader_derivatives DONE (anv, hasvk, nvk, radv, vn) VK_EXT_acquire_drm_display DONE (anv, nvk, radv, tu, v3dv, vn) diff --git a/src/virtio/vulkan/vn_device.c b/src/virtio/vulkan/vn_device.c index e2788b48146..8cb5b1c12b8 100644 --- a/src/virtio/vulkan/vn_device.c +++ b/src/virtio/vulkan/vn_device.c @@ -261,6 +261,10 @@ vn_device_fix_create_info(const struct vn_device *dev, VK_KHR_INCREMENTAL_PRESENT_EXTENSION_NAME; block_exts[block_count++] = VK_EXT_SWAPCHAIN_MAINTENANCE_1_EXTENSION_NAME; + block_exts[block_count++] = + VK_EXT_HDR_METADATA_EXTENSION_NAME; + block_exts[block_count++] = + VK_EXT_DISPLAY_CONTROL_EXTENSION_NAME; } if (app_exts->ANDROID_native_buffer) { diff --git a/src/virtio/vulkan/vn_physical_device.c b/src/virtio/vulkan/vn_physical_device.c index e1c968f23dd..65f6a051ede 100644 --- a/src/virtio/vulkan/vn_physical_device.c +++ b/src/virtio/vulkan/vn_physical_device.c @@ -1097,7 +1097,11 @@ vn_physical_device_get_native_extensions( exts->KHR_incremental_present = true; exts->KHR_swapchain = true; exts->KHR_swapchain_mutable_format = true; + exts->EXT_hdr_metadata = true; exts->EXT_swapchain_maintenance1 = true; +#ifdef VK_USE_PLATFORM_DISPLAY_KHR + exts->EXT_display_control = true; +#endif } /* VK_EXT_pci_bus_info is required by common wsi to decide whether native @@ -1306,6 +1310,9 @@ vn_physical_device_get_passthrough_extensions( /* vendor */ .ARM_rasterization_order_attachment_access = true, + .GOOGLE_decorate_string = true, + .GOOGLE_hlsl_functionality1 = true, + .GOOGLE_user_type = true, .NV_compute_shader_derivatives = true, .VALVE_mutable_descriptor_type = true, };