diff options
author | Fernando Sahmkow <fsahmkow27@gmail.com> | 2022-12-06 17:36:06 +0100 |
---|---|---|
committer | Fernando Sahmkow <fsahmkow27@gmail.com> | 2023-01-01 22:43:58 +0100 |
commit | 4c82e47edda85312e57fddfc4f87a827bda7650c (patch) | |
tree | b393ad83bc6387674984a0d067f49eb8299aa595 | |
parent | Vulkan: Implement Dynamic State 3 (diff) | |
download | yuzu-4c82e47edda85312e57fddfc4f87a827bda7650c.tar yuzu-4c82e47edda85312e57fddfc4f87a827bda7650c.tar.gz yuzu-4c82e47edda85312e57fddfc4f87a827bda7650c.tar.bz2 yuzu-4c82e47edda85312e57fddfc4f87a827bda7650c.tar.lz yuzu-4c82e47edda85312e57fddfc4f87a827bda7650c.tar.xz yuzu-4c82e47edda85312e57fddfc4f87a827bda7650c.tar.zst yuzu-4c82e47edda85312e57fddfc4f87a827bda7650c.zip |
-rw-r--r-- | src/video_core/renderer_vulkan/vk_graphics_pipeline.cpp | 18 |
1 files changed, 17 insertions, 1 deletions
diff --git a/src/video_core/renderer_vulkan/vk_graphics_pipeline.cpp b/src/video_core/renderer_vulkan/vk_graphics_pipeline.cpp index dab3d7e3f..c69ebe396 100644 --- a/src/video_core/renderer_vulkan/vk_graphics_pipeline.cpp +++ b/src/video_core/renderer_vulkan/vk_graphics_pipeline.cpp @@ -201,6 +201,22 @@ struct SimpleVertexSpec { static constexpr bool has_images = false; }; +struct SimpleStorageSpec { + static constexpr std::array<bool, 5> enabled_stages{true, false, false, false, true}; + static constexpr bool has_storage_buffers = true; + static constexpr bool has_texture_buffers = false; + static constexpr bool has_image_buffers = false; + static constexpr bool has_images = false; +}; + +struct SimpleImageSpec { + static constexpr std::array<bool, 5> enabled_stages{true, false, false, false, true}; + static constexpr bool has_storage_buffers = false; + static constexpr bool has_texture_buffers = false; + static constexpr bool has_image_buffers = false; + static constexpr bool has_images = true; +}; + struct DefaultSpec { static constexpr std::array<bool, 5> enabled_stages{true, true, true, true, true}; static constexpr bool has_storage_buffers = true; @@ -211,7 +227,7 @@ struct DefaultSpec { ConfigureFuncPtr ConfigureFunc(const std::array<vk::ShaderModule, NUM_STAGES>& modules, const std::array<Shader::Info, NUM_STAGES>& infos) { - return FindSpec<SimpleVertexSpec, SimpleVertexFragmentSpec, DefaultSpec>(modules, infos); + return FindSpec<SimpleVertexSpec, SimpleVertexFragmentSpec, SimpleStorageSpec, SimpleImageSpec, DefaultSpec>(modules, infos); } } // Anonymous namespace |