Commit graph

2172 commits

Author SHA1 Message Date
gdk
bd56998f4d Re-enable BGRA (was not supposed to disable it) 2022-06-17 22:42:41 +01:00
gdk
3c949309e5 SPIR-V: Implement LoopContinue IR instruction 2022-06-17 22:42:41 +01:00
gdk
aa0913838d SPIR-V: Set DepthReplacing execution mode when FragDepth is modified 2022-06-17 22:42:40 +01:00
gdk
97b179696b SPIR-V: Fix ImageQuerySizeLod 2022-06-17 22:42:40 +01:00
gdk
a2e4b4b6d8 SPIR-V: Functions must always end with a return 2022-06-17 22:42:40 +01:00
gdk
be36f6fa5b Correct GTK UI status bar positions 2022-06-17 22:42:40 +01:00
gdk
f1a1f477ef Allow custom aspect ratio on Vulkan 2022-06-17 22:42:40 +01:00
gdk
7347642c05 More instructions + fixes on SPIR-V backend 2022-06-17 22:42:40 +01:00
gdk
9b779adf57 Better workaround for AMD vertex buffer size alignment issue 2022-06-17 22:42:39 +01:00
gdk
522e7933e8 Workaround for wrong last attribute on AMD (affects FFVII, STRIKERS1945, probably more) 2022-06-17 22:42:39 +01:00
gdk
36b3ab0741 Fix draw outside of render pass and missing capability 2022-06-17 22:42:39 +01:00
gdk
5a3695c968 Don't pause transform feedback for multi draw 2022-06-17 22:42:39 +01:00
gdk
52249e50dd Fix transform feedback on Intel, gl_Position feedback and clears to inexistent depth buffers 2022-06-17 22:42:38 +01:00
riperiperi
0fe19f51c0 Insert barriers around vkCmdBlitImage (may fix some amd flicker) 2022-06-17 22:42:38 +01:00
riperiperi
3f38a8526c Port #3019 2022-06-17 22:42:38 +01:00
riperiperi
2f066d1d6d Force device local storage for textures (fixes linux performance) 2022-06-17 22:42:38 +01:00
riperiperi
1e167788d4 Fix counter queue leak when game decides to use host conditional rendering 2022-06-17 22:42:38 +01:00
riperiperi
d14dbb0cff Use SupportBufferUpdater, add single layer flush 2022-06-17 22:42:38 +01:00
riperiperi
db5ac3488a Use circular queue for checking consumption on command buffers
Speeds up games that spam command buffers a little. Avoids checking multiple command buffers if multiple are active at once.
2022-06-17 22:42:38 +01:00
gdk
64d11d3574 Remove Intel bug workaround, it was fixed on the latest driver 2022-06-17 22:42:37 +01:00
gdk
f6a4fe8f5f Fix some validation errors around extended dynamic state 2022-06-17 22:42:37 +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
74f8ef93c7 Be a bit more careful with texture access flags, since it can be used for anything 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
d3e7606a74 Validation layers should be enabled for any log level other than None 2022-06-17 22:42:35 +01:00
gdk
0dc5a48e6f Fix R4G4B4A4Unorm texture format permutation 2022-06-17 22:42:35 +01:00
gdk
4c7e6df7d1 Add alpha test emulation on shader (but no shader specialisation yet...) 2022-06-17 22:42:35 +01:00
gdk
9a95c3c3bc Update Spv.Generator 2022-06-17 22:42:35 +01:00
gdk
adfba37a3f Fix samplers with MinFilter Linear or Nearest (fixes New Super Mario Bros U Deluxe black borders) 2022-06-17 22:42:34 +01:00
gdk
5738b66b75 Don't make Intel Mesa pay for Intel Windows bugs 2022-06-17 22:42:34 +01:00
gdk
cd01a2f74a Fix triangle overlay on SMO, Captain Toad, maybe others? 2022-06-17 22:42:34 +01:00
riperiperi
393d0a6134 Update findMSB/findLSB to match master's instruction enum 2022-06-17 22:42:34 +01:00
riperiperi
5590811ea3 Don't throw when ending conditional rendering for now
This should be re-enabled when conditional rendering is enabled on nvidia etc.
2022-06-17 22:42:34 +01:00
riperiperi
23b8bd8642 Update counter queue to be similar to the OGL one
Fixes softlocks when games had to flush counters.
2022-06-17 22:42:33 +01:00
riperiperi
d55f664908 Fix PrimitivesGenerated query, disable Transform Feedback queries for now
Lets Splatoon 2 work on nvidia. (mostly)
2022-06-17 22:42:33 +01:00
riperiperi
51bd7454bd Update Silk.NET to version 2.10.1
Somehow, massive performance boost. Seems like their vtable for looking up vulkan methods was really slow before.
2022-06-17 22:42:33 +01:00
riperiperi
d4e4ae60d5 Update to .net6 2022-06-17 22:42:33 +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
riperiperi
f6c2f7a8d6 Fix storage buffers being lost when bindings are out of order
(also avoid allocations when changing bindings)
2022-06-17 22:42:33 +01:00
gdk
db3a28f731 Fix uniform buffers being lost when bindings are out of order 2022-06-17 22:42:32 +01:00
gdk
a9afcdfa10 Support format aliasing on SetImage 2022-06-17 22:42:32 +01:00
gdk
616f14c46d Fix rebase build break 2022-06-17 22:42:32 +01:00
gdk
ae783c5b5e Fix BGRA on OpenGL backend 2022-06-17 22:42:32 +01:00
gdk
5fbfa9a9bd DrawTexture support 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
gdk
fa24c41d32 Fix some tessellation related issues (still doesn't work?) 2022-06-17 22:42:32 +01:00
gdkchan
b7bf95c754 Workaround for AMD driver bug 2022-06-17 22:42:31 +01:00
gdkchan
c109410ccd New depth-stencil blit method for AMD 2022-06-17 22:42:31 +01:00