summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorGravatar Fernando Sahmkow2022-12-06 17:36:06 +0100
committerGravatar Fernando Sahmkow2023-01-01 16:43:58 -0500
commit4c82e47edda85312e57fddfc4f87a827bda7650c (patch)
treeb393ad83bc6387674984a0d067f49eb8299aa595
parentVulkan: Implement Dynamic State 3 (diff)
downloadyuzu-4c82e47edda85312e57fddfc4f87a827bda7650c.tar.gz
yuzu-4c82e47edda85312e57fddfc4f87a827bda7650c.tar.xz
yuzu-4c82e47edda85312e57fddfc4f87a827bda7650c.zip
Vulkan: Add other additional pipeline specs
-rw-r--r--src/video_core/renderer_vulkan/vk_graphics_pipeline.cpp18
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 {
201 static constexpr bool has_images = false; 201 static constexpr bool has_images = false;
202}; 202};
203 203
204struct SimpleStorageSpec {
205 static constexpr std::array<bool, 5> enabled_stages{true, false, false, false, true};
206 static constexpr bool has_storage_buffers = true;
207 static constexpr bool has_texture_buffers = false;
208 static constexpr bool has_image_buffers = false;
209 static constexpr bool has_images = false;
210};
211
212struct SimpleImageSpec {
213 static constexpr std::array<bool, 5> enabled_stages{true, false, false, false, true};
214 static constexpr bool has_storage_buffers = false;
215 static constexpr bool has_texture_buffers = false;
216 static constexpr bool has_image_buffers = false;
217 static constexpr bool has_images = true;
218};
219
204struct DefaultSpec { 220struct DefaultSpec {
205 static constexpr std::array<bool, 5> enabled_stages{true, true, true, true, true}; 221 static constexpr std::array<bool, 5> enabled_stages{true, true, true, true, true};
206 static constexpr bool has_storage_buffers = true; 222 static constexpr bool has_storage_buffers = true;
@@ -211,7 +227,7 @@ struct DefaultSpec {
211 227
212ConfigureFuncPtr ConfigureFunc(const std::array<vk::ShaderModule, NUM_STAGES>& modules, 228ConfigureFuncPtr ConfigureFunc(const std::array<vk::ShaderModule, NUM_STAGES>& modules,
213 const std::array<Shader::Info, NUM_STAGES>& infos) { 229 const std::array<Shader::Info, NUM_STAGES>& infos) {
214 return FindSpec<SimpleVertexSpec, SimpleVertexFragmentSpec, DefaultSpec>(modules, infos); 230 return FindSpec<SimpleVertexSpec, SimpleVertexFragmentSpec, SimpleStorageSpec, SimpleImageSpec, DefaultSpec>(modules, infos);
215} 231}
216} // Anonymous namespace 232} // Anonymous namespace
217 233