[vk, msaa] Rewrite MSAA texture upload/download handling #133
Loading…
Add table
Add a link
Reference in a new issue
No description provided.
Delete branch "MrPurple666/eden:msaa-new"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
This pull request significantly improves the robustness and flexibility of MSAA texture handling in the Vulkan backend. It replaces the previous MSAACopyPass-based method, which relied on limited and unstable logic, with an explicit and well-defined blit path that leverages Vulkan’s transfer and layout semantics. During texture uploads, MSAA images now receive data via an intermediate non-MSAA image followed by a vkCmdBlitImage operation, ensuring compliance with Vulkan’s constraints and providing a generalized solution for various image formats. Likewise, for downloads, the process is reversed: MSAA images are blitted into a temporary non-MSAA image before copying to the target buffer. Layout transitions and synchronization are handled with explicit barriers, enhancing clarity and correctness. This approach not only improves reliability and maintainability but also sets the foundation for supporting more complex formats like depth/stencil in future work. Furthermore, a minor change ensures that images flagged for storage use are initialized with a standard RGBA swizzle to avoid undefined shader behavior.
PS: Tested on Android only.
9be971f59b
to7672704731
7672704731
toe8c49be369
e8c49be369
toe12a500720
e12a500720
to55c1b9ddcd
55c1b9ddcd
tof6b227ebfd
@MrPurple666 Is this PR still valid?
View command line instructions
Checkout
From your project repository, check out a new branch and test the changes.