Commit 63db2fb
csmartdalton
Begin rework of Vulkan synchronization
Final vision: Client takes full responsibility for their app's Vulkan
synchronization; Rive never touches a fence or semaphore.
In this PR: Update just the testing backends to synchronize on their own
fences instead of passing them along to Rive. Factor out a
rive_vkb::Swapchain class that encapsulates the common functionality
from all the Vulkan testing backends.
This update alone fixes the Vulkan crashes we were seeing on Android, so
also turn Vulkan CI testing back on!
...And also fix some bugs to get us running on ARM GPUs.
Diffs=
051f5a7411 Begin rework of Vulkan synchronization (#9275)1 parent 3a63936 commit 63db2fb
2 files changed
+2
-2
lines changed| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
1 | | - | |
| 1 | + | |
Submodule rive-runtime updated 15 files
- .rive_head+1-1
- renderer/include/rive/renderer/vulkan/render_context_vulkan_impl.hpp+13-5
- renderer/include/rive/renderer/vulkan/vkutil.hpp-7
- renderer/include/rive/renderer/vulkan/vkutil_resource_pool.hpp-105
- renderer/include/rive/renderer/vulkan/vulkan_context.hpp+1-13
- renderer/path_fiddle/fiddle_context_vulkan.cpp+33-240
- renderer/rive_vk_bootstrap/include/rive_vk_bootstrap/rive_vk_bootstrap.hpp+77
- renderer/rive_vk_bootstrap/rive_vk_bootstrap.cpp+338
- renderer/src/shaders/constants.glsl+10-1
- renderer/src/shaders/draw_path.glsl+16-1
- renderer/src/shaders/specialization.glsl+3
- renderer/src/vulkan/render_context_vulkan_impl.cpp+94-96
- renderer/src/vulkan/vkutil_resource_pool.cpp-99
- tests/common/testing_window_android_vulkan.cpp+29-132
- tests/common/testing_window_vulkan_texture.cpp+35-174
0 commit comments