From efa58f6b47abf558b3e89b41cabae6656e9160b8 Mon Sep 17 00:00:00 2001 From: Mike Blumenkrantz Date: Sat, 11 Jun 2022 09:51:54 -0400 Subject: [PATCH] lavapipe: VK_EXT_border_color_swizzle Reviewed-by: Jason Ekstrand Part-of: --- docs/features.txt | 1 + docs/relnotes/new_features.txt | 1 + src/gallium/frontends/lavapipe/lvp_device.c | 8 ++++++++ 3 files changed, 10 insertions(+) diff --git a/docs/features.txt b/docs/features.txt index 0aac30e4bfa..2603841da4b 100644 --- a/docs/features.txt +++ b/docs/features.txt @@ -529,6 +529,7 @@ Khronos extensions that are not part of any Vulkan version: VK_KHR_win32_surface DONE (lvp) VK_KHR_xcb_surface DONE (anv, lvp, radv, tu, v3dv, vn) VK_KHR_xlib_surface DONE (anv, lvp, radv, tu, v3dv, vn) + VK_EXT_border_color_swizzle DONE (lvp) VK_EXT_buffer_device_address DONE (radv) VK_EXT_calibrated_timestamps DONE (anv, lvp, radv) VK_EXT_color_write_enable DONE (anv, lvp, radv, v3dv) diff --git a/docs/relnotes/new_features.txt b/docs/relnotes/new_features.txt index 8443b90ecde..3b25755f117 100644 --- a/docs/relnotes/new_features.txt +++ b/docs/relnotes/new_features.txt @@ -7,3 +7,4 @@ vertexAttributeInstanceRateZeroDivisor support for lavapipe panfrost Valhall support (conformant OpenGL ES 3.1 on Mali-G57) VK_EXT_primitives_generated_query on RADV VK_EXT_non_seamless_cube_map on RADV, ANV +VK_EXT_border_color_swizzle on lavapipe diff --git a/src/gallium/frontends/lavapipe/lvp_device.c b/src/gallium/frontends/lavapipe/lvp_device.c index bcbbf684b66..5e73d81a9de 100644 --- a/src/gallium/frontends/lavapipe/lvp_device.c +++ b/src/gallium/frontends/lavapipe/lvp_device.c @@ -139,6 +139,7 @@ static const struct vk_device_extension_table lvp_device_extensions_supported = .KHR_vulkan_memory_model = true, .KHR_zero_initialize_workgroup_memory = true, .EXT_4444_formats = true, + .EXT_border_color_swizzle = true, .EXT_calibrated_timestamps = true, .EXT_color_write_enable = true, .EXT_conditional_rendering = true, @@ -766,6 +767,13 @@ VKAPI_ATTR void VKAPI_CALL lvp_GetPhysicalDeviceFeatures2( features->primitivesGeneratedQueryWithNonZeroStreams = true; break; } + case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_BORDER_COLOR_SWIZZLE_FEATURES_EXT: { + VkPhysicalDeviceBorderColorSwizzleFeaturesEXT *features = + (VkPhysicalDeviceBorderColorSwizzleFeaturesEXT *)ext; + features->borderColorSwizzle = true; + features->borderColorSwizzleFromImage = true; + break; + } case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_LINE_RASTERIZATION_FEATURES_EXT: { VkPhysicalDeviceLineRasterizationFeaturesEXT *features = (VkPhysicalDeviceLineRasterizationFeaturesEXT *)ext;