diff --git a/docs/features.txt b/docs/features.txt index 7b8ef0f0a88..353fd7ae370 100644 --- a/docs/features.txt +++ b/docs/features.txt @@ -536,7 +536,7 @@ Khronos extensions that are not part of any Vulkan version: VK_KHR_xcb_surface DONE (anv, dzn, lvp, radv, tu, v3dv, vn) VK_KHR_xlib_surface DONE (anv, dzn, lvp, radv, tu, v3dv, vn) VK_EXT_attachment_feedback_loop_layout DONE (radv, tu) - VK_EXT_border_color_swizzle DONE (anv, lvp, tu, radv/gfx10+) + VK_EXT_border_color_swizzle DONE (anv, lvp, tu, radv/gfx10+, v3dv) VK_EXT_buffer_device_address DONE (anv/gen8+, radv) VK_EXT_calibrated_timestamps DONE (anv, lvp, radv, vn) VK_EXT_color_write_enable DONE (anv, lvp, radv, tu, v3dv) diff --git a/src/broadcom/vulkan/v3dv_device.c b/src/broadcom/vulkan/v3dv_device.c index 9904248de4a..181f80be245 100644 --- a/src/broadcom/vulkan/v3dv_device.c +++ b/src/broadcom/vulkan/v3dv_device.c @@ -166,6 +166,7 @@ get_device_extensions(const struct v3dv_physical_device *device, .KHR_vulkan_memory_model = true, .KHR_zero_initialize_workgroup_memory = true, .EXT_4444_formats = true, + .EXT_border_color_swizzle = true, .EXT_color_write_enable = true, .EXT_custom_border_color = true, .EXT_inline_uniform_block = true, @@ -1297,6 +1298,14 @@ v3dv_GetPhysicalDeviceFeatures2(VkPhysicalDevice physicalDevice, break; } + case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_BORDER_COLOR_SWIZZLE_FEATURES_EXT: { + VkPhysicalDeviceBorderColorSwizzleFeaturesEXT *features = + (void *) ext; + features->borderColorSwizzle = true; + features->borderColorSwizzleFromImage = true; + break; + } + default: v3dv_debug_ignored_stype(ext->sType); break;