From 27c97dc0d13ac6dbed3948630df083b7689de305 Mon Sep 17 00:00:00 2001 From: Mike Blumenkrantz Date: Fri, 22 Jul 2022 01:05:21 -0400 Subject: [PATCH] lavapipe: advertise VK_EXT_multisampled_render_to_single_sampled Reviewed-by: Dave Airlie Part-of: --- docs/features.txt | 1 + docs/relnotes/new_features.txt | 1 + src/gallium/frontends/lavapipe/lvp_device.c | 8 +++++++- 3 files changed, 9 insertions(+), 1 deletion(-) diff --git a/docs/features.txt b/docs/features.txt index a316ac83c6c..c44569946a2 100644 --- a/docs/features.txt +++ b/docs/features.txt @@ -558,6 +558,7 @@ Khronos extensions that are not part of any Vulkan version: VK_EXT_memory_budget DONE (anv, radv, tu) VK_EXT_memory_priority DONE (radv) VK_EXT_multi_draw DONE (anv, lvp, radv) + VK_EXT_multisampled_render_to_single_sampled DONE (lvp) VK_EXT_non_seamless_cube_map DONE (anv, lvp, radv) VK_EXT_pci_bus_info DONE (anv, radv) VK_EXT_physical_device_drm DONE (anv, radv, tu, v3dv) diff --git a/docs/relnotes/new_features.txt b/docs/relnotes/new_features.txt index 485405bb134..81a9886476d 100644 --- a/docs/relnotes/new_features.txt +++ b/docs/relnotes/new_features.txt @@ -10,3 +10,4 @@ VK_EXT_non_seamless_cube_map on RADV, ANV, lavapipe VK_EXT_border_color_swizzle on lavapipe, ANV, turnip, RADV VK_EXT_shader_module_identifier on RADV variablePointers on lavapipe +VK_EXT_multisampled_render_to_single_sampled on lavapipe diff --git a/src/gallium/frontends/lavapipe/lvp_device.c b/src/gallium/frontends/lavapipe/lvp_device.c index ed82dba8dd4..d460596d20b 100644 --- a/src/gallium/frontends/lavapipe/lvp_device.c +++ b/src/gallium/frontends/lavapipe/lvp_device.c @@ -155,6 +155,7 @@ static const struct vk_device_extension_table lvp_device_extensions_supported = .EXT_image_robustness = true, .EXT_index_type_uint8 = true, .EXT_inline_uniform_block = true, + .EXT_multisampled_render_to_single_sampled = true, .EXT_multi_draw = true, .EXT_non_seamless_cube_map = true, .EXT_pipeline_creation_feedback = true, @@ -805,7 +806,12 @@ VKAPI_ATTR void VKAPI_CALL lvp_GetPhysicalDeviceFeatures2( } break; } - + case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MULTISAMPLED_RENDER_TO_SINGLE_SAMPLED_FEATURES_EXT: { + VkPhysicalDeviceMultisampledRenderToSingleSampledFeaturesEXT *features = + (VkPhysicalDeviceMultisampledRenderToSingleSampledFeaturesEXT *)ext; + features->multisampledRenderToSingleSampled = true; + break; + } case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_INDEX_TYPE_UINT8_FEATURES_EXT: { VkPhysicalDeviceIndexTypeUint8FeaturesEXT *features = (VkPhysicalDeviceIndexTypeUint8FeaturesEXT *)ext;