diff options
author | ReinUsesLisp <reinuseslisp@airmail.cc> | 2020-12-26 03:34:38 +0100 |
---|---|---|
committer | ReinUsesLisp <reinuseslisp@airmail.cc> | 2020-12-26 03:34:38 +0100 |
commit | 661483f313a7dbbbebd4f233acecb06b6505a636 (patch) | |
tree | 4d549417a89e271cd1d66295c1993ed7704e6d2e /src/video_core/renderer_vulkan/vk_graphics_pipeline.cpp | |
parent | Merge pull request #5226 from ReinUsesLisp/c4715-vc (diff) | |
download | yuzu-661483f313a7dbbbebd4f233acecb06b6505a636.tar yuzu-661483f313a7dbbbebd4f233acecb06b6505a636.tar.gz yuzu-661483f313a7dbbbebd4f233acecb06b6505a636.tar.bz2 yuzu-661483f313a7dbbbebd4f233acecb06b6505a636.tar.lz yuzu-661483f313a7dbbbebd4f233acecb06b6505a636.tar.xz yuzu-661483f313a7dbbbebd4f233acecb06b6505a636.tar.zst yuzu-661483f313a7dbbbebd4f233acecb06b6505a636.zip |
Diffstat (limited to 'src/video_core/renderer_vulkan/vk_graphics_pipeline.cpp')
-rw-r--r-- | src/video_core/renderer_vulkan/vk_graphics_pipeline.cpp | 13 |
1 files changed, 3 insertions, 10 deletions
diff --git a/src/video_core/renderer_vulkan/vk_graphics_pipeline.cpp b/src/video_core/renderer_vulkan/vk_graphics_pipeline.cpp index 970979fa1..a1a217b7c 100644 --- a/src/video_core/renderer_vulkan/vk_graphics_pipeline.cpp +++ b/src/video_core/renderer_vulkan/vk_graphics_pipeline.cpp @@ -190,11 +190,7 @@ vk::Pipeline VKGraphicsPipeline::CreatePipeline(const RenderPassParams& renderpa // state is ignored dynamic.raw1 = 0; dynamic.raw2 = 0; - for (FixedPipelineState::VertexBinding& binding : dynamic.vertex_bindings) { - // Enable all vertex bindings - binding.raw = 0; - binding.enabled.Assign(1); - } + dynamic.vertex_strides.fill(0); } else { dynamic = state.dynamic_state; } @@ -202,19 +198,16 @@ vk::Pipeline VKGraphicsPipeline::CreatePipeline(const RenderPassParams& renderpa std::vector<VkVertexInputBindingDescription> vertex_bindings; std::vector<VkVertexInputBindingDivisorDescriptionEXT> vertex_binding_divisors; for (std::size_t index = 0; index < Maxwell::NumVertexArrays; ++index) { - const auto& binding = dynamic.vertex_bindings[index]; - if (!binding.enabled) { + if (state.attributes[index].binding_index_enabled == 0) { continue; } const bool instanced = state.binding_divisors[index] != 0; const auto rate = instanced ? VK_VERTEX_INPUT_RATE_INSTANCE : VK_VERTEX_INPUT_RATE_VERTEX; - vertex_bindings.push_back({ .binding = static_cast<u32>(index), - .stride = binding.stride, + .stride = dynamic.vertex_strides[index], .inputRate = rate, }); - if (instanced) { vertex_binding_divisors.push_back({ .binding = static_cast<u32>(index), |