Seen on unmodified main while building #1728 (off-panel 2D in comp_multi_weave_linux.c). With the Vulkan validation layer on, the v6 N-view atlas path of the desktop-Linux weave engine reports VUID-VkImageMemoryBarrier-oldLayout-01197: the sim_display DP's process_atlas leaves the output image in VK_IMAGE_LAYOUT_PRESENT_SRC_KHR, while the engine's next barrier declares oldLayout = COLOR_ATTACHMENT_OPTIMAL. Works on Mesa/Intel by luck. Fix: either the engine reads the DP's documented post-weave layout (check xrt_display_processor_vk.h for the contract) or it uses UNDEFINED→… only where discarding is legal; and pin the contract so the vendor DP and sim DP agree. Repro: weave_probe_vk_linux N-view mode with VK_INSTANCE_LAYERS=VK_LAYER_KHRONOS_validation against a worktree service. Part of #1699.
Seen on unmodified main while building #1728 (off-panel 2D in
comp_multi_weave_linux.c). With the Vulkan validation layer on, the v6 N-view atlas path of the desktop-Linux weave engine reportsVUID-VkImageMemoryBarrier-oldLayout-01197: the sim_display DP'sprocess_atlasleaves the output image inVK_IMAGE_LAYOUT_PRESENT_SRC_KHR, while the engine's next barrier declaresoldLayout = COLOR_ATTACHMENT_OPTIMAL. Works on Mesa/Intel by luck. Fix: either the engine reads the DP's documented post-weave layout (checkxrt_display_processor_vk.hfor the contract) or it usesUNDEFINED→… only where discarding is legal; and pin the contract so the vendor DP and sim DP agree. Repro:weave_probe_vk_linuxN-view mode withVK_INSTANCE_LAYERS=VK_LAYER_KHRONOS_validationagainst a worktree service. Part of #1699.