Skip to content

Commit 4dd2c6b

Browse files
author
JoshJRive
committed
Add asynchronous shader and pipeline creation to Vulkan renderer (#10591) 3b6e2b6bc4
This gets the Vulkan runtime running with the async pipeline manager. This required moving a bunch of the internal render context impl classes up to the header, which made the header a bit unwieldy so they got moved out to their own files. Additionally, this has some changes to the async pipeline manager: - Vulkan's pipelines have additional information that the other renders' do not, so PipelineProps is now a property of the pipeline type so that it can have its own pipeline type - Similarly, Vulkan uses a 64-bit index for its pipeline key (so that it can use 32 bits of it as the standard shader key) so that had to be generalized as well - Moved the vertex shader manager functionality into the pipeline manager because every pipeline should share vertex shaders - Generalized it so that vulkan can also use it to share other things. This includes fragment shaders which are now managed as shared like vertex shaders were, because on Vulkan multiple pipelines can share the same fragment shader. - Changed the std::maps to std::unordered_map because the lookup speed should be better (it's a hash map vs. a binary tree)
1 parent a86c156 commit 4dd2c6b

File tree

2 files changed

+2
-2
lines changed

2 files changed

+2
-2
lines changed

.rive_head

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1 +1 @@
1-
b2aed6839dd85eaf90fb56427eb98362fea311e5
1+
3b6e2b6bc41f0165c5fa1c61cf62f59d12c73602

submodules/rive-runtime

Submodule rive-runtime updated 32 files

0 commit comments

Comments
 (0)