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
gdkchan
ceeb70a996
TextureStorage should hold a ref of the foreign storage, otherwise it might be freed while in use
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
riperiperi
e0edaa177e
Allow multithreading shaderc and vkCreateShaderModule
...
You'll only really see the benefit here with threaded-gal or parallel shader cache compile.
Fix shaderc multithreaded changes
Thread safety for shaderc Options constructor
Dunno how they managed to make a constructor not thread safe, but you do you. May avoid some freezes.
2022-06-17 22:42:31 +01:00
gdkchan
c6fbaf844e
No need to initialize attributes on the SPIR-V backend anymore
2022-06-17 22:42:31 +01:00
gdkchan
4513e8b226
WIP Vulkan implementation
2022-06-17 22:42:30 +01:00
riperiperi
68f9091870
Account for res scale changes when updating bindings ( #3403 )
...
Fixes a regression introduced by the texture bindings PR.
Also renames TextureStatePerStage, as it's no longer per stage.
2022-06-17 17:41:38 -03:00
riperiperi
99ffc061d3
Optimize Texture Binding and Shader Specialization Checks ( #3399 )
...
* Changes 1
* Changes 2
* Better ModifiedSequence handling
This should handle PreciseEvents properly, and simplifies a few things.
* Minor changes, remove debug log
* Handle stage.Info being null
Hopefully fixes Catherine crash
* Fix shader specialization fast texture lookup
* Fix some things.
* Address Feedback Part 1
* Make method static.
2022-06-17 13:09:14 -03:00
gdkchan
d987cacfb7
Fix VIC out of bounds copy ( #3386 )
...
* Fix VIC out of bounds copy
* Update the assert
2022-06-17 12:01:52 -03:00