riperiperi
cd3ad0a6ab
Push descriptor support check, buffer redundancy checks
...
Should make push descriptors faster, needs more testing though.
2022-06-17 23:23:43 +01:00
gdk
db4e7d28ea
Use push descriptors for uniform buffer updates (disabled for now)
2022-06-17 22:47:06 +01:00
riperiperi
088ea4545c
Fix and enable background compute shader compilation
...
Also disables warnings from shader cache pipeline misses.
2022-06-17 22:47:05 +01:00
gdk
d31360e7da
Implement GPU selector and expose texture recompression on the UI and config
2022-06-17 22:47:04 +01:00
riperiperi
c98b61ade8
Use RobustBufferAccess on NVIDIA gpus
...
Avoids the SMO waterfall triangle on older NVIDIA gpus.
2022-06-17 22:47:04 +01:00
gdk
400ed2d96d
Add minimal pipeline layouts that only contains used bindings
...
They are used by helper shaders, the intention is avoiding needing to recompile the shaders (from GLSL to SPIR-V) if the bindings changes on the translated guest shaders
2022-06-17 22:47:04 +01:00
gdk
38ecf0f117
Remove old CompileShader methods from the Vulkan backend
2022-06-17 22:47:03 +01:00
gdk
b6764620be
Support multisample texture copy with automatic resolve on Vulkan
2022-06-17 22:47:03 +01:00
Emmanuel Hansen
8a1bdf1f1e
Add support for avalonia ( #6 )
...
* add avalonia support
* only lock around skia flush
* addressed review
* cleanup
* add fallback size if avalonia attempts to render but the window size is 0. read desktop scale after enabling dpi check
* fix getting window handle on linux. skip render is size is 0
2022-06-17 22:47:03 +01:00
gdk
1fac9dc29b
If MultiViewport is not supported, do not try to set more than one viewport/scissor
2022-06-17 22:47:02 +01:00
gdk
74a8f37f8d
Do not require null descriptors support
2022-06-17 22:47:02 +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
riperiperi
f636810c6c
Check for transform feedback query support
...
Sometimes transform feedback is supported without the query type.
2022-06-17 22:47:01 +01:00
riperiperi
d4ccb6b895
Return of the Vector Indexing Bug
...
One day, everyone will get this right.
2022-06-17 22:47:00 +01:00
riperiperi
9f0feb8879
Don't create query pools for unsupported query types
2022-06-17 22:47:00 +01:00
gdk
daaa7fda11
Do not report R4G4 format as supported on Vulkan
...
It was causing mario head to become white on Super Mario 64 (???)
2022-06-17 22:46:59 +01:00
riperiperi
646be812ed
Report 32 bit query result on AMD windows (smo issue)
2022-06-17 22:46:59 +01:00
gdk
2852ddf510
Fix A1B5G5R5 texture format and support R4G4 on Vulkan
2022-06-17 22:46:06 +01:00
gdk
dd54eb4be1
Geometry shader passthrough emulation
2022-06-17 22:46:05 +01:00
gdk
fd2e53fdc6
Raise textures limit to 64 on Vulkan
2022-06-17 22:46:05 +01:00
gdk
c95cdc853e
Enable shader cache on Vulkan and implement MultiplyHighS32/U32 on SPIR-V (missed those before)
2022-06-17 22:45:57 +01:00
gdk
1edc85c26e
Check if the subgroup size is supported before passing a explicit size
2022-06-17 22:45:03 +01:00
gdk
746eded2cf
Use explicit subgroup size if we can (might fix some block flickering on AMD)
2022-06-17 22:42:57 +01:00
riperiperi
f6196fe07b
Multithreaded Pipeline Compilation
2022-06-17 22:42:49 +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
gdk
5738b66b75
Don't make Intel Mesa pay for Intel Windows bugs
2022-06-17 22:42:34 +01:00
gdkchan
4513e8b226
WIP Vulkan implementation
2022-06-17 22:42:30 +01:00