Unknown W. Brackets
b8342fb8ec
SaveState: Rename ChunkFile files to Serialize.
...
Makes more sense and less weird than ChunkFileDoMap, etc.
2020-08-10 08:04:05 +00:00
Unknown W. Brackets
1dc5ee424b
SaveState: Split out Do types to reduce headers.
2020-08-10 08:03:44 +00:00
Henrik Rydgård
eadd3c5785
Remove the LARGE_VIEWPORTS separate path. The fewer paths the better, all need to work anyway.
...
Required fixing a bug in ShaderUniforms.cpp (used by D3D11 and Vulkan,
the two backends that previously exposed LARGE_VIEWPORTS).
2020-08-05 19:03:08 +02:00
Henrik Rydgård
882cc6295e
Rename FramebufferVulkan.cpp/h to FramebufferManagerVulkan.cpp/h
2020-08-03 23:22:11 +02:00
Henrik Rydgård
d57edfbdac
Rename FramebufferCommon.cpp/h to FramebufferManagerCommon.cpp/h for consistency
2020-08-03 23:17:22 +02:00
Henrik Rydgård
bb6219e402
Merge pull request #12921 from unknownbrackets/postshader
...
Use less FBOs for chained post-processing shaders
2020-07-13 18:52:53 +02:00
Henrik Rydgård
f9cef5b6b2
Partly clean up SDL resize code, should help #11974
2020-06-24 01:06:01 +02:00
Unknown W. Brackets
9ef521d945
GPU: Avoid immediate postshader FBO recreate.
...
Before, we created things at the wrong size, then recreated at the right.
Now we just start at the correct size once.
2020-06-12 12:35:35 -07:00
Unknown W. Brackets
32a7e7345e
GPU: Centralize framebuffer download.
...
And try not to use a potentially-null nvfb. Primarily this can happen on
Direct3D backends.
2020-05-17 10:59:33 -07:00
Unknown W. Brackets
22e46b51c2
GPU: Centralize DestroyAllFBOs().
...
This cleans up the postshader update code.
2020-05-13 18:15:04 -07:00
Unknown W. Brackets
ad98609819
GPU: Use consistent buffered rendering state.
...
The setting can be changed in Qt and Windows between frames, so let's
track the current setting in most places. This is everywhere fbman is
easily accessible.
2020-04-04 10:51:47 -07:00
Unknown W. Brackets
051a84e9bd
GPU: Restart when changing inflight frames setting.
...
We need to keep the push and pull in step, so changing at runtime is
messy.
2020-03-02 19:21:15 -08:00
Henrik Rydgård
fa8968f5c6
Merge pull request #12660 from unknownbrackets/frame-latency
...
GPU: Add setting to control inflight frame usage
2020-03-02 00:16:48 +01:00
Unknown W. Brackets
cebcfb1bbd
GPU: Use old frame when presenting a skip.
...
If we flip using a skipped frame, we may show an even older frame causing
weird flickering.
2020-03-01 13:55:28 -08:00
Unknown W. Brackets
98df4bbec3
GPU: Allow choosing number of inflight frames.
2020-03-01 08:53:46 -08:00
Unknown W. Brackets
a91e206926
GPU: Add setting to control inflight frame usage.
2020-03-01 06:21:27 -08:00
Henrik Rydgård
0da04f3694
Vulkan: Support devices that don't properly support 16-bit texture (like MoltenVK).
...
Fixes #12615 .
Will make finishing #10654 worthwhile.
2020-03-01 14:07:13 +01:00
Unknown W. Brackets
3c1e8abcfe
GPU: Centralize vsync interval logic.
...
We already do unthrottle checking here.
2020-02-29 22:27:00 -08:00
Henrik Rydgård
714205d699
Vulkan: Enable renderpass merging for all games (was introduced in 1.9 for GoW games). A number of other games can also benefit.
2019-11-30 22:44:59 +01:00
Henrik Rydgård
e723594133
Vulkan: Fix shutdown crash accidentally caused by #12324
2019-09-17 14:47:38 +02:00
Henrik Rydgård
70ec327b40
Vulkan: Slim down and rename the Mali hack.
2019-09-09 00:43:31 +02:00
Henrik Rydgård
0462c01228
Workaround ARM Mali depth hardware bug. Fixes #11937
...
When triangles coincide with the Z=1 plane in specific ways, triggered
by Burnout Legends' sky for example, the depth buffer gets corrupted.
This is worked around here by slightly rescaling Z. This type of
workaround is recommended by ARM driver engineers.
Ugly but what can you do when the hardware is bugged. I've done quick
tests on a number of games with no issues.
2019-09-08 23:44:26 +02:00
Henrik Rydgård
025a9f4dae
Improve Mali driver version detection
2019-09-04 21:46:07 +02:00
Henrik Rydgård
93412aff3b
Vulkan: Automatically merge render passes to the same target when possible.
...
Should speed things up a bit on mobile in some games that do stupid
things like GoW. Currently only enabled in GoW, but plan to enable this
globally as it should be quite cheap when nothing is detected.
2019-08-21 20:32:23 +02:00
Henrik Rydgård
653afeb7ab
Vulkan: Implement basic integrated GPU profiling.
...
Currently simply measures the total GPU time of the frame. Will later be
extended to get the execution time of individual render passes.
2019-08-21 00:03:00 +02:00
Henrik Rydgård
3916f8d7b6
Add a little reminder to self with a link to an interesting article.
2019-07-23 17:45:52 +02:00
Henrik Rydgård
06b04f65a0
Vulkan: Narrow down buffer usage flags a little bit.
2019-03-14 12:41:39 +01:00
Henrik Rydgård
8e7da3fef4
Disable vertex range culling when the depthrange hack is enabled. Temporary workaround for #11576 .
2019-02-26 16:07:11 +01:00
Henrik Rydgård
593c3139bd
Ignore DisableAccurateDepth on Adreno as well. Fixes #11557
2019-02-26 15:21:21 +01:00
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