Unknown W. Brackets
fe7b573a38
Vulkan: Fix use-after-free on shutdown.
2021-12-09 23:52:10 -08:00
Henrik Rydgård
dda425b068
Vulkan: Add a single background thread for pipeline creation
...
Add proper waits for compile-done
Don't rely on non-standard struct initialization of classes
Attempt to drain the pipeline compile queue before destroying the PipelineManager.
Vulkan: Bump the cache version for testing
2021-11-21 18:36:00 +01:00
Henrik Rydgård
62f4875e24
VulkanRenderManager: Add deferred pipeline creation (to get it off the CPU thread)
2021-11-21 18:36:00 +01:00
Unknown W. Brackets
60bd25582c
Vulkan: Remove wide line handling.
...
No longer used, since we convert lines to triangles now.
2021-10-31 14:47:21 -07:00
Unknown W. Brackets
4ec75de0e7
GPU: Add fog separately for swtransform verts.
...
At this point, still being processed wrong, this just changes the
attribute structure.
2021-10-30 18:22:54 -07:00
Bram Verweij
a31cbe42d2
Rename namespace to PPSSPP_VK, remove indentation
2021-08-21 12:39:15 +02:00
Bram Verweij
cc00a4132d
Prevent dlopen collisions between ppsspp_libretro.so and libvulkan.so
2021-08-20 11:22:57 +02:00
Henrik Rydgård
f8ad621df5
PipelineManagerVulkan: Log shader source when pipeline creation fails.
2021-03-08 00:12:38 +01:00
Unknown W. Brackets
e85a8b0f5b
Global: Cleanup class init order warnings.
2021-02-15 11:59:45 -08:00
Unknown W. Brackets
f32f89dd90
Global: Remove some unused variables.
2021-02-15 11:59:45 -08:00
Henrik Rydgård
5ece3de8ba
Track and accumulate pipeline flags for render passes.
...
(Information that will later let us make some interesting optimizations)
2020-10-11 12:22:25 +02:00
Henrik Rydgård
0e3a84b4a8
Move most GPU things to Common.
...
It works after the move, on Windows and Android at least.
Deletes the D3DX9 shader compiler loader, which was not used.
2020-10-04 23:39:02 +02:00
Henrik Rydgård
821817e6d4
Move the profiler to Common
2020-10-04 11:42:16 +02:00
Henrik Rydgård
6e9d5ffbd7
VulkanRenderManager: Improve logging. LogSteps output is much better.
...
More logging improvements
2020-08-27 21:50:05 +02:00
Henrik Rydgård
5d64fc5ff1
Switch to PPSSPP's assert functions (don't use the system's)
2020-08-16 10:01:10 +02:00
Henrik Rydgård
62a8329c33
Remove sstream from stringutil.h. See #13267
2020-08-10 14:33:00 +02:00
Henrik Rydgård
c5e0b799d9
Remove category from _assert_msg_ functions. We don't filter these by category anyway.
...
Fixes the inconsistency where we _assert_ didn't take a category but
_assert_msg_ did.
2020-07-19 20:33:25 +02:00
Henrik Rydgård
1e3711ee66
Vulkan blend factor: Bugfix and minor optimization
2019-10-13 21:17:29 +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
3445f39f3f
Survive pipeline creation failure on Vulkan. Makes Burnout playable on Pocophone... Sigh.
...
Minor cleanups.
2019-03-11 16:40:10 +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
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
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
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
cddc7b5dc5
Vulkan: Fix cache file error handling warnings.
2018-04-14 10:59:41 -07:00
Henrik Rydgård
1c99ebcbcc
Fix DecFmt bug
2018-04-10 12:12:47 +02:00
Henrik Rydgård
69309aa400
Revert "Remove some remains of software skinning"
...
This reverts commit 2d33d526b8
.
2018-04-10 11:21:56 +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
Henrik Rydgård
24b9fb6ea9
Buildfix
2018-03-19 18:14:57 +01:00
Henrik Rydgård
f1359af0b0
Vulkan: Improve handling of shader compile failures (don't crash)
2018-03-19 17:46:58 +01:00
Henrik Rydgård
7ce5f8d29c
Delete some mistaken logging code
2018-03-19 14:44:20 +01:00
Henrik Rydgård
3e5757d7d7
Minor improvement in pipeline-to-string (debug)
2018-03-19 11:19:10 +01:00
Henrik Rydgård
8f87a9f5c5
Vulkan: De-duplicate pipelines when storing cache
...
The new variety of renderpasses with different transitions causes
duplication. Hopefully drivers are smart enough to re-use work
between similar pipelines as much as possible...
2018-03-19 11:18:37 +01: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
1bb7be489f
Remove some unused tracking of whether lighting is used by a shader
2018-03-17 10:33:50 +01: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
2d33d526b8
Remove some remains of software skinning
2018-03-16 20:38:05 +01:00
Henrik Rydgård
8dc85c1a60
Vulkan pipeline: Merge a few property fields to a flags field.
...
To make saving/loading them easier.
2018-03-16 17:38:02 +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
eb014e8c6b
Try to be more consistent when initializing vulkan structs.
2018-02-25 12:15:29 +01: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
04913be779
Move pushbuffer map/unmap to the .cpp file to avoid inlining (for stack traces)
2017-11-29 20:13:38 +01:00
Henrik Rydgård
543bb34dbc
Yet another buildfix, sorry :/
2017-11-22 15:35:01 +01:00
Henrik Rydgård
b6911d2764
Add a hidden debug option [Graphics]GfxDebugSplitSubmit to try to narrow down some Vulkan issues, see #10163 . Also improve some asserts.
2017-11-22 10:47:04 +01:00
Henrik Rydgård
4788221251
Vulkan shader view (debug): Add a simple textural representation (incomplete) of pipelines
2017-11-13 15:27:06 +01:00
Henrik Rydgård
5c7f7c1df6
Vulkan: Make sure to clear the pipeline key to avoid padding bytes causing us to allocate duplicate pipelines.
...
Also pack the struct better.
2017-11-13 15:20:11 +01:00