392 Commits

Author SHA1 Message Date
Henrik Rydgard 8e1a5ef3d6 Minor refactor of physical device property/feature detection, to allow for more extension use. 2019-02-05 18:07:17 +01:00
Henrik Rydgard 992cea1082 Load a function from VK_EXT_external_memory_host 2019-01-31 13:53:27 +01:00
Unknown W. Brackets 9a3de5cb1c GPU: Move dual source blending bug check to Draw.
This also allows the ini setting to avoid it on Intel.
2018-12-23 14:11:57 -08:00
Unknown W. Brackets 1f594f3fb5 GPU: Track draw in shader manager.
With device restore etc. everywhere.
2018-12-23 12:55:37 -08:00
Henrik Rydgård d82ec339ee Remove the DisableShaderCache setting, rename the other 2018-12-15 10:44:05 +01:00
Henrik Rydgård 25b2ba013b VK: Add INI options to disable some vendor checks, and to disable the shader cache. 2018-12-11 00:36:15 +01:00
Unknown W. Brackets 40ca49d0e3 GPU: Cancel shader preload on shutdown/lost.
Otherwise, we could've ended up with shaders loading after or during the
lost event, and dense hash map corruption.
2018-10-30 20:32:12 -07:00
Unknown W. Brackets 6130eb34be Vulkan: Wait for GPU ready on shutdown.
In case it's still busy preloading shaders.
2018-10-30 19:13:22 -07:00
Henrik Rydgård fa40bcff8d Disable triangle range culling on D3D9 on Intel. Should fix #11477 2018-10-21 09:36:15 +02:00
Henrik Rydgård 6fd1c0e3d9 Instead of the last commit, don't enable the dual src extension at all on Adreno.
This reverts commit eba6c00a8a.
2018-10-07 12:19:11 +02:00
Henrik Rydgård eba6c00a8a Experimental commit trying to solve #10421: Blacklist dual src blending on Adreno/Vulkan 2018-10-06 22:57:23 +02:00
Unknown W. Brackets cd0662c065 GPU: Cleanup outdated flushbefore code.
Backends didn't match.
2018-09-20 20:36:41 -07:00
Unknown W. Brackets a4c0640f01 GE Debugger: Factor out host calls some.
Moving more of this to cross platform for the web debugger.
2018-09-01 08:32:03 -07:00
Henrik Rydgård b037efdb55 If there are multiple Vulkan devices, show a setting to allow the user to choose. 2018-06-06 10:20:12 +02:00
Unknown W. Brackets 3f3dd6b3bb Vulkan: Fix shutdown crash when device lost called.
Fixes #10917.
2018-04-14 13:14:20 -07:00
Henrik Rydgård 0ac6cea34d Add a queue processing hack for Sonic Rivals too. Now it's fast. 2018-04-13 18:05:04 +02:00
Henrik Rydgård 413a204138 Vulkan: Semi-gross hack that massively improves the perf of MGS2:Acid. 2018-04-13 17:32:56 +02:00
Henrik Rydgård 36fd2711d6 Revert "Remove further remains of hardware skinning."
This reverts commit 40db61a680.
2018-04-10 12:22:41 +02:00
Henrik Rydgård 2cd8bd9bc3 Fixes to in-game GPU shutdown/switching. Fixes #10860 2018-04-05 20:26:29 +02:00
Henrik Rydgård 170b600835 Oops, fix mistake in #10834 2018-03-29 16:21:58 +02:00
Henrik Rydgård d160292f54 Include renderpass definition in Vulkan shader cache entries, should make it more effective again. 2018-03-29 14:36:04 +02:00
Unknown W. Brackets 7ae4a9e977 Vulkan: Load shaders/pipelines on thread.
In case it's slow when not reading raw cache data.
2018-03-17 07:42:07 -07:00
Henrik Rydgård 614cabb115 Implement pipeline/shader cache for Vulkan, to avoid shader compile stutters on second and subsequent runs.
The raw pipeline cache got pretty large. Instead, store IDs like GL.

There's still a disabled option to store the pipeline cache objects.
2018-03-16 21:03:03 +01:00
Henrik Rydgård 40db61a680 Remove further remains of hardware skinning. Fixes #10661 2018-03-05 00:03:47 +01:00
Henrik Rydgård 64ec46e705 Unify FramebufferDirty()/FramebufferReallyDirty() for the hw backends 2018-02-26 11:58:17 +01:00
Henrik Rydgård 78467d6092 Unify FastRunLoop for the hardware backends. 2018-02-26 11:52:16 +01:00
Henrik Rydgård 6a2f45c2e1 Unify UpdateCmdInfo 2018-02-26 11:48:56 +01:00
Henrik Rydgård 8cef1f0f8d GPU: Unify command table (cmdInfo_) 2018-02-26 11:44:02 +01:00
Henrik Rydgård 967018b7f8 Unify Execute_LoadClut 2018-02-26 11:32:02 +01:00
Henrik Rydgård c7f8f4c5ca Unify Execute_Prim 2018-02-26 11:22:27 +01:00
Henrik Rydgård 2dda2bfa78 Dual source blend: Remove bad #ifdef that killed dual src code on Android... oops. Re-enable on nVidia Shield TV/Tablet. Fixes #10136 properly. 2017-12-30 00:53:24 +01:00
Unknown W. Brackets 0151c5e649 GPU: Track stats on uploads.
A lot can lead to slowdown, so it's useful when logging frame drops.
2017-12-28 19:27:45 -08:00
Henrik Rydgård ea50561c80 Merge pull request #10454 from unknownbrackets/gpu-minor
Vulkan: Use depth clamping, where available
2017-12-27 11:11:18 +01:00
Unknown W. Brackets f9750dd137 Display: Avoid limiting FPS without a clear.
A bit of a dirty heuristic to avoid the slowdown in #8538.
2017-12-26 19:37:40 -08:00
Unknown W. Brackets b94ca6e75e Vulkan: Use depth clamping, where available.
This fixes, for example, Shadow of Destiny, even without the hack.
2017-12-26 16:54:39 -08:00
Henrik Rydgård be1806e6cf Another driver version check change, should help Galaxy A5 2017 on issue #10361 2017-12-10 19:35:47 +01:00
Henrik Rydgård 2b1f8d36f1 Force AccurateDepth on, on older Mali drivers which don't handle reverse Z viewports. Should help #10361 2017-12-10 19:20:36 +01:00
Henrik Rydgård fb74c9dfeb Clean up a small inconsistency 2017-12-07 21:09:09 +01:00
Henrik Rydgård 2ebae034a4 Vulkan: Show samplers in "shader debug" 2017-12-07 09:28:18 +01:00
Henrik Rydgård 20af8264c2 Also disable dualsrc blend on Tegra K1. Should help #10208 2017-12-05 08:24:20 +01:00
Henrik Rydgård 1bf44b7ca3 Shutdown fix. 2017-12-03 11:02:49 +01:00
Henrik Rydgård d0c248368d Use a VulkanDeviceAllocator for thin3d textures. Many devices have a hard limit on the total number of allocs and it's unnecessary to have the UI put pressure on that. 2017-12-03 10:29:41 +01:00
Henrik Rydgård be115822f7 Minor cleanup. Add a debug assert in shader ID calculation 2017-12-01 11:23:09 +01:00
Henrik Rydgård 2c86217552 Cleanup GPU vendor detection a bit, use it to avoid the issue mentioned in #9545 2017-11-21 16:19:28 +01:00
Henrik Rydgård 4628334bb9 Disable the DisableAccurateDepth compat flag on AMD/Vulkan, see #9545. Ugh. 2017-11-21 13:58:42 +01:00
Henrik Rydgård 6a3d41892a Workarounds for issue with "accurate depth". See #9545, #10087 2017-11-21 12:11:05 +01:00
Henrik Rydgård 23b795e947 Vulkan: Forgot to enable our various depth rounding features. 2017-11-16 18:40:19 +01:00
Henrik Rydgård a56d6f2399 Vulkan: Flush at display list waits. Fixes #10095 2017-11-16 16:28:13 +01:00
Henrik Rydgård 656ec18ded Vulkan: Dual Src blending strikes again! Disable it on nVidia X1 (Shield TV) due to driver bugs, sigh.
Should help #10136
2017-11-15 10:24:11 +01:00
Henrik Rydgård 5582b8fe22 Just more accurate feature flags for Vulkan. 2017-11-15 09:08:30 +01:00