riperiperi
f2b1cfe10c
Fix D32S8 copy workaround (AMD)
...
Fixes water in Pokemon Legends Arceus on AMD GPUs. Possibly fixes other things.
2022-06-17 22:47:05 +01:00
gdk
ed681977f9
If S8D24 is not supported, use D32FS8
2022-06-17 22:47:05 +01:00
gdk
b6764620be
Support multisample texture copy with automatic resolve on Vulkan
2022-06-17 22:47:03 +01:00
gdk
782a0c4e93
Add support for BC6 and BC7 decompression, decompress all BC formats if they are not supported by the host
2022-06-17 22:47:02 +01:00
gdk
2852ddf510
Fix A1B5G5R5 texture format and support R4G4 on Vulkan
2022-06-17 22:46:06 +01:00
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