Commit graph

14 commits

Author SHA1 Message Date
gdk
51d986da35 Multisampling: We can only resolve for unscaled copies 2022-06-17 22:42:47 +01:00
gdk
5efe0167ea Multisampling: Use resolve if src samples count > dst samples count 2022-06-17 22:42:47 +01:00
riperiperi
d14dbb0cff Use SupportBufferUpdater, add single layer flush 2022-06-17 22:42:38 +01:00
riperiperi
4d94b03622 Add single queue support
Multiqueue seems to be a bit more responsive on NVIDIA. Should fix texture flush on intel. AMD has been forced to single queue for an experiment.
2022-06-17 22:42:37 +01:00
riperiperi
dc0d0f49b1 Cleanup, disable device local buffers for now. 2022-06-17 22:42:36 +01:00
riperiperi
4994e50d1c Device local mapping for all buffers
May avoid issues with drivers with NVIDIA on linux/older gpus on windows when using large buffers (?)
Also some performance things and fixes issues with opengl games loading textures weird.
2022-06-17 22:42:36 +01:00
riperiperi
066094241a Add barriers around vkCmdCopyImage
Write->Read barrier for src image (we want to wait for a write to read it)
Write->Read barrier for dst image (we want to wait for the copy to complete before use)
2022-06-17 22:42:36 +01:00
gdk
0dc5a48e6f Fix R4G4B4A4Unorm texture format permutation 2022-06-17 22:42:35 +01:00
riperiperi
76a5beeb70 Use current command buffer for unscaled copy (perf)
Avoids flushing commands and renting a command buffer when fulfilling copy dependencies and when games do unscaled copies.
2022-06-17 22:42:33 +01:00
gdk
a9afcdfa10 Support format aliasing on SetImage 2022-06-17 22:42:32 +01:00
riperiperi
e9222a426a Submit command buffer before Texture GetData. (UE4 fix) 2022-06-17 22:42:32 +01:00
gdkchan
c109410ccd New depth-stencil blit method for AMD 2022-06-17 22:42:31 +01:00
riperiperi
c31dda3c1b Support multiple levels/layers for blit.
Fixes MK8D when scaled, maybe a few other games. AMD software "safe" blit not supported right now.
2022-06-17 22:42:31 +01:00
gdkchan
4513e8b226 WIP Vulkan implementation 2022-06-17 22:42:30 +01:00