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
Henrik Rydgård
22b26ffc09
Time for the vertex shaders. Set up a test, start eliminating differences.
2020-10-25 08:34:35 +01: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
886a8b1ac6
Remove Timer.cpp/h. Move various collections into Common/Data/Collections.
2020-10-05 21:05:23 +02: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
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
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
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
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
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
Henrik Rydgård
3e749a94ce
Vulkan: Fix bug where we ended up creating duplicate pipelines even if vertices decoded to the same format, if they were created from different formats.
...
This can cut down the number of pipelines to a third or less in some
games. However, benefit is likely smaller since Vulkan drivers will
deduplicate shaders inside each vkPipelineCache object.
Helps #10106 while not actually implementing any of the suggestions inside.
2017-11-13 11:22:33 +01:00
Henrik Rydgård
525cb40f84
Vulkan: Support wide lines if available on the GPU.
2017-11-12 10:17:49 +01:00
Henrik Rydgård
804aa79376
Various Vulkan image transition fixes and related
2017-10-20 18:09:05 +02:00
Henrik Rydgård
2f85e6516e
Minor optimizations (use the new hashmap in a few more places)
2017-08-20 19:18:46 +02:00
Henrik Rydgård
10cebb4195
32-bit buildfix
2017-08-20 15:33:53 +02:00
Henrik Rydgård
e0e13e191f
Replace the most critical unordered_maps and maps with two new maps: FastHashMap and PrehashMap.
2017-08-20 11:30:19 +02:00
Henrik Rydgård
2b93338255
Vulkan backend: Fix various issues, can almost run in buffered now (except the final blit)
2017-05-30 09:36:17 +02:00
Unknown W. Brackets
a4268fe0b8
Vulkan: Prep pipeline and shader cache for restore.
2016-10-09 11:28:10 -07:00
Henrik Rydgard
1677697735
Vulkan: Don't try to overlap proj with proj_through, will need a different approach.
...
Also, assorted bugfixes.
2016-03-20 19:30:11 +01:00
Henrik Rydgard
3284899844
More clearing fixes. Also fix some memory leaks.
2016-03-20 19:30:11 +01:00
Henrik Rydgard
dced84c9fc
Work on texture support, cube.elf works correctly. Delete unused code.
2016-03-20 19:30:11 +01:00
Henrik Rydgard
d67d187b72
Get untextured drawing working! (at least cube.elf)
2016-03-20 19:30:11 +01:00
Henrik Rydgard
28ae840abe
Pipelines, samplers, description sets, oh my
2016-03-20 19:30:11 +01:00
Henrik Rydgard
4063f7e0db
Fill out GPU_Vulkan.cpp with what's mostly a copy of GLES_GPU.cpp
2016-03-20 19:30:11 +01:00
Henrik Rydgard
5216a24590
Back to work on the PSP renderer
2016-03-20 19:30:11 +01:00
Henrik Rydgard
c64064024d
Initial vulkan code.
...
This was squashed from nine commits but using old versions of Vulkan.
2016-03-20 19:18:35 +01:00