From: marfrit-packages noether Subject: [PATCH] panvk: advertise VK_EXT_legacy_dithering on Bifrost Backports Mesa main's flip — vanilla 26.0.6 doesn't have the extension in the panvk advertisement list; main does (line 172 / 647 on snapshot 617da94, 2026-05-06). VK_EXT_legacy_dithering exposes the classic OpenGL-style dithering behavior to Vulkan apps. Pure-software composition; no new HW path. ARM's own libmali driver release r51p0 (BXODROIDN2PL, Aug 2024) lists this extension in its Vulkan implementation for ODROID-N2 boards using the same Mali-G52 architecture family — confirms ARM ships it for Mali-G52-class hardware. Consumer benefit: dithering matters for low-bit-depth framebuffers (RGB565 / RGB5A1 — common on portable / battery-saving renders) where banding is visible. DXVK / vkd3d-proton both opt in when available. Verify-before-ship: vulkaninfo lists the extension and VkPhysicalDeviceLegacyDitheringFeaturesEXT.legacyDithering == true. Cross-refs: - marfrit/panvk-bifrost research/r6_r7_mali_g52_feature_audit_2026-05-24.md - ARM blob r51p0 strings dump (in-blob extension confirmed) --- src/panfrost/vulkan/panvk_vX_physical_device.c | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/src/panfrost/vulkan/panvk_vX_physical_device.c b/src/panfrost/vulkan/panvk_vX_physical_device.c --- a/src/panfrost/vulkan/panvk_vX_physical_device.c +++ b/src/panfrost/vulkan/panvk_vX_physical_device.c @@ -156,6 +156,7 @@ .EXT_image_drm_format_modifier = true, .EXT_image_robustness = true, .EXT_index_type_uint8 = true, + .EXT_legacy_dithering = true, .EXT_line_rasterization = true, .EXT_load_store_op_none = true, .EXT_non_seamless_cube_map = true, @@ -552,6 +553,9 @@ /* VK_EXT_multisampled_render_to_single_sampled */ .multisampledRenderToSingleSampled = true, + + /* VK_EXT_legacy_dithering */ + .legacyDithering = true, }; }