WIP: [vk, msaa] Rewrite MSAA texture upload/download handling #133
Draft
MrPurple666
wants to merge 1 commit from
MrPurple666/eden:msaa-new into master
pull from: MrPurple666/eden:msaa-new
merge into: eden-emu:master
eden-emu:master
eden-emu:smartqueryreset
eden-emu:descriptor_pool_opt
eden-emu:descriptor
eden-emu:kjsdfndkfn-2834
eden-emu:bsd_fix
eden-emu:mmap-fixews
eden-emu:xbzk-mci-bare-minimum-boot-fix
eden-emu:dynarm7345
eden-emu:remove-unused-fastmem-fallback
eden-emu:jarrod-leaks-fix
eden-emu:overlay_fix
eden-emu:pipelinederivative
eden-emu:quick-fix
eden-emu:dynarmic-ppc64
eden-emu:memory-use-memcpy-4rw
eden-emu:scmfix-worktree
eden-emu:netgate1
eden-emu:memsetopsyscallavoid
eden-emu:pintocputhing
eden-emu:eds-true-adreno-fixes
eden-emu:pt-fix-attempt
eden-emu:fix-fibers-2
eden-emu:liz-dynarmic-macos-fbsd-port
eden-emu:liz-dynarmic-backport-waitpkg
eden-emu:fix/no-duplicate-drivers
eden-emu:interval-zero
eden-emu:sync_error_codes
eden-emu:liz-coalesce-ptr-to-variant
eden-emu:netusejthreadstuff
eden-emu:civa
eden-emu:eden-orbis-ps4
eden-emu:sjkdbsdfjkbsdf-2834
eden-emu:display-modified-settings-first
eden-emu:vk-fix-oom-force-maller-buffers
eden-emu:android/fix-gpu-driver-fetcher
eden-emu:true-eds
eden-emu:mutliplayer-filter-better1
eden-emu:rem-dup-applet-launch
eden-emu:reorder-menu-game-per-config
eden-emu:dynarmic-dtrace-1
eden-emu:liz-get-rid-of-mcl-intrusive-list
eden-emu:ffmpeg-cross-compile
eden-emu:fw21fuckinghell
eden-emu:vk-use-deque-for-presentation-queue
eden-emu:dynarmic-coproc
eden-emu:lanobu
eden-emu:liz-no-rtti-allowance
eden-emu:true-eds-graphics
eden-emu:sampleshaderfract
eden-emu:android6
eden-emu:update-icons-android-11
eden-emu:static-vector-thread-list
eden-emu:static-linux
eden-emu:xbzk-saf-recursive-write-with-permission-request
eden-emu:refactoreds2
eden-emu:no-d24
eden-emu:refactor-eds
eden-emu:stuffmadeforfun
eden-emu:date-android
eden-emu:macroify-surface-stuffs
eden-emu:showcase2
eden-emu:nce-strx
eden-emu:showcase
eden-emu:test-revert-gpu-optim
eden-emu:selfhost0
eden-emu:qcom-weird-vk-ftz
eden-emu:vulkan-thingy
eden-emu:vk-surface-andpc
eden-emu:flatopsfixes23485
eden-emu:release/0.0.4
eden-emu:fs_external_dlcupdates
eden-emu:discfix
eden-emu:lock-term-1
eden-emu:fix/discord-rpc
eden-emu:revolt-update-to-stoat
eden-emu:liz-crash-dumps-solaris
eden-emu:sured-revert
eden-emu:macos-sqbuild
eden-emu:atomicops-mxwell
eden-emu:revert-2695
eden-emu:descriptor_set
eden-emu:n64
eden-emu:release/0.0.3
eden-emu:feature/dmnt
eden-emu:Kernel
eden-emu:nce_cpp
No reviewers
Labels
Clear labels
Specific to android platform
Something is not working
For changes to the ci/building
Used when testers confirm a bug is reported and it is reproducable.
For core changes to the emulator
Specific to desktop PCs, handhelds, etc.
This issue or pull request already exists
New feature
Frontend changes
Changes related to firmware
For enhancements or changes regarding git.
For changes to any of the loader implementations
For use with changes that involve the emulator GPU and any services.
Used on anything Vulkan-related
android
Specific to android platform
audio
bug
Something is not working
ci
For changes to the ci/building
cmake
confirmed
Used when testers confirm a bug is reported and it is reproducable.
core
For core changes to the emulator
desktop
Specific to desktop PCs, handhelds, etc.
duplicate
This issue or pull request already exists
enhancement
New feature
frontend
Frontend changes
fw
Changes related to firmware
git
For enhancements or changes regarding git.
graphics
loader
For changes to any of the loader implementations
nv gpu
For use with changes that involve the emulator GPU and any services.
ui
vulkan
Used on anything Vulkan-related
No labels
android
audio
bug
ci
cmake
confirmed
core
desktop
duplicate
enhancement
frontend
fw
git
graphics
loader
nv gpu
ui
vulkan
Milestone
Clear milestone
No items
No milestone
Projects
Clear projects
No items
No project
Assignees
Clear assignees
No assignees
5 participants
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".
No due date set.
Dependencies
No dependencies set.
Reference
eden-emu/eden!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.
9be971f59b76727047317672704731e8c49be369e8c49be369e12a500720e12a50072055c1b9ddcd55c1b9ddcdf6b227ebfdCan you sync it?
[vk, msaa] Rewrite MSAA texture upload/download handlingto WIP: [vk, msaa] Rewrite MSAA texture upload/download handlingView command line instructions
Checkout
From your project repository, check out a new branch and test the changes.