Henrik Rydgård
e723594133
Vulkan: Fix shutdown crash accidentally caused by #12324
2019-09-17 14:47:38 +02:00
Henrik Rydgård
6d2be0d716
Merge pull request #12324 from unknownbrackets/vulkan-cache
...
Vulkan: Clear caches when deleting shaders
2019-09-15 20:00:06 +02:00
Unknown W. Brackets
59062ca7bc
Vulkan: Clear caches when deleting shaders.
...
As noticed by iota97 in #12317 , we're not clearing these. If a pointer
gets reused by the Vulkan driver, we have to be careful not to reuse a
pipeline.
2019-09-14 11:23:12 -07:00
Henrik Rydgård
02a96e29bb
Fix a comment
2019-09-09 00:52:23 +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
f76adfd760
Vulkan ARM mali Z hack: Modify the matrix instead of the shader.
2019-09-09 00:09:57 +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
7ad10ff0ef
Vulkan profiling vis bugfix: Restore font scale after drawing.
2019-08-21 23:11:01 +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
e3f1e563f2
Improve renderpass profiling descriptions a little
2019-08-21 18:31:01 +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
cf06b4a947
Vulkan: Image views: The driver is probably smart enough to recognize a no-swizzle, but let's use the proper method.
2019-08-12 23:09:47 +02:00
Henrik Rydgård
caabc9023f
Vulkan: Set all four coordinates to NaN instead of just W. Fixes range culling on ARM. Fixes #11999 .
2019-08-08 23:14:20 +02:00
Henrik Rydgård
96a15cf525
Fix the indirect postprocessing path. Fixes #12133 (but see the issue for a secondary bug).
2019-08-04 18:01:36 +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
b5ad92b9ef
Avoid rotating the image when DrawActiveTexture is used for other things than drawing to the backbuffer.
2019-06-21 14:00:02 +02:00
Henrik Rydgård
e943724905
Vulkan: Apply the desired pretransform when drawing to the backbuffer.
...
This should save a lot of memory bandwidth on mobile devices that can't
rotate images natively in the display engine. Fixes #12099 .
2019-06-21 09:38:51 +02:00
vnctdj
0ec0c6eb92
Remove the related #include
...
Following https://github.com/hrydgard/ppsspp/pull/12030
Oops, I forgot to check if it was still needed...
2019-05-12 16:38:37 +02:00
vnctdj
80807675f1
Delete 2 unused i18n category pointer declarations
2019-05-11 23:47:37 +02:00
Henrik Rydgård
b0048525a1
Merge pull request #11884 from hrydgard/vulkan-buffer-usage
...
Vulkan: Tighten up push buffer usage flags a little bit.
2019-03-18 11:17:49 +01:00
Unknown W. Brackets
c5b844cc98
GPU: Respect stencil write mask on clear.
...
Actually identified this for the softgpu in #11319 , but applying it for
RGBA is a problem in most renderers. Forgot to at least apply it to
stencil.
Fixes #11901 .
2019-03-16 19:42:18 -07: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
3445f39f3f
Survive pipeline creation failure on Vulkan. Makes Burnout playable on Pocophone... Sigh.
...
Minor cleanups.
2019-03-11 16:40:10 +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 Rydgård
bf2bbd891c
Back out wrong change. Leaving better error handling for later.
2019-02-25 15:15:04 +01:00
Henrik Rydgård
c1427f5981
VulkanImage: Fix issue where we'd try to free dedicated allocations from the allocator_ instead of Vulkan directly.
...
Snuck in some minor cleanups.
2019-02-24 22:23:26 +01:00
Henrik Rydgard
5aed2a2cee
Gate fewer effects behind "Disable slow framebuffer effects".
2019-02-08 15:02:31 +01:00
Henrik Rydgard
9736bc431a
The block transfer setting should not affect clearing memory behind a render target, especially since that's already gated behind a compat flag.
2019-02-08 14:46:16 +01:00
Henrik Rydgard
e30daa8027
Remove unused API, assorted cleanup.
...
No longer enable the geometry shader feature, no plans to use it.
2019-02-05 21:31:43 +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
fdd0d7acb4
More Vulkan validation fixes
...
NVIDIA no longer uses nVidia capitalization.
2019-02-05 18:07:11 +01:00
Henrik Rydgard
128c0adc39
Vulkan: Fix typo, bump shader cache version.
2019-02-04 14:22:19 +01:00
Henrik Rydgard
992cea1082
Load a function from VK_EXT_external_memory_host
2019-01-31 13:53:27 +01:00
Henrik Rydgard
c38c5469c4
Fixes for issues found by Vulkan validation layers, including a common non-harmful perf warning (doesn't fix all cases, but does fix the most common one).
2019-01-25 20:18:56 +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
f8ce9b08ba
Vulkan: Limit stencil workaround to Adreno 5xx.
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
0037da55a1
Avoid breaking any alpha-stencil emulation in Adreno bug workaround
2018-12-23 11:57:06 +01:00
Henrik Rydgård
79ef185d6e
Vulkan/adreno: Apply workaround for Harvest Moon issue #10421
2018-12-22 18:29:56 +01:00
Henrik Rydgård
2d01db805e
Remove no-op DrawBuffer::End()
2018-12-18 10:10:53 +01: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
Henrik Rydgård
d9cfa3a8fa
Bump shader caches
2018-12-02 21:49:20 +01:00
Unknown W. Brackets
9a7ee41191
Vulkan: Avoid OpKill workaround with no stencil.
...
It seems like depth gets messed up either way on discard, but behaves
sorta better without the write to depth.
2018-12-01 14:10:47 -08:00
Unknown W. Brackets
5932cbabc3
GPU: Avoid stencil emulation if possible.
...
This reduces use of replaceAlpha, and reduces use of more complicated
blend states. This simplifies fragment shaders a little.
2018-12-01 14:05:29 -08:00
Unknown W. Brackets
b1e68c653c
GPU: Avoid a missing virtual destructor warning.
2018-12-01 13:59:47 -08:00
Unknown W. Brackets
d9510f8824
D3D11: Allow shader blend to self.
...
It was forcing from black before. See #9616 .
2018-11-24 10:19:28 -08:00
Unknown W. Brackets
1c19bce514
GPU: Correct specular exponent zero.
2018-11-22 08:53:25 -08:00