From: claude-noether (on behalf of mfritsche) Date: 2026-05-20 Subject: panvk: expose Vulkan 1.1 + 1.2 on Bifrost (PAN_ARCH 6/7) ANGLE (Chromium's GL stack) requires apiVersion >= 1.1 to initialize. Without this, Brave / Chromium's GPU process fails at GL info collection: vk_renderer.cpp:2659 (initialize): ANGLE Requires a minimum Vulkan device version of 1.1 Display::initialize error 0: Internal Vulkan error (-9): The requested version of Vulkan is not supported by the driver Stack-up with iter8's robustness2 patch enables ANGLE → PanVk-Bifrost → Skia (via --enable-features=Vulkan) on Bifrost SBCs. PanVk-Bifrost already supports the bulk of 1.1-promoted features as extensions (multiview, maintenance1-3, descriptor update template, 16-bit storage, descriptor update template, sampler ycbcr, variable pointers, etc. — all visible in iter0 vulkaninfo). The version bump primarily bundles them. Risk: Vulkan 1.1 has features beyond what iter1–7 exercised (protected memory, full subgroup ops). Specific app failures will be characterizable. 1.2 is also flipped — Brave's Vulkan path may want descriptor indexing, buffer device address, etc. (all listed in iter0 vulkaninfo as supported extensions, just gated as 1.0-with-extensions, not 1.2-core). --- src/panfrost/vulkan/panvk_vX_physical_device.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) 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 @@ -38,8 +38,8 @@ get_device_extensions(const struct panvk_physical_device *device, struct vk_device_extension_table *ext) { *ext = (struct vk_device_extension_table){ - .KHR_8bit_storage = true, - .KHR_16bit_storage = true, - bool has_vk1_1 = PAN_ARCH >= 10; - bool has_vk1_2 = PAN_ARCH >= 10; + .KHR_8bit_storage = true, + .KHR_16bit_storage = true, + bool has_vk1_1 = true; + bool has_vk1_2 = true; *ext = (struct vk_device_extension_table){