diff options
author | liamwhite <liamwhite@users.noreply.github.com> | 2023-02-10 04:14:55 +0100 |
---|---|---|
committer | GitHub <noreply@github.com> | 2023-02-10 04:14:55 +0100 |
commit | c5743d5499db336718b93a6954ec1168c660fbec (patch) | |
tree | 5a5e94006a7dc5f3f13a6147c2253735e4e7c171 /src/video_core/renderer_vulkan | |
parent | Merge pull request #9750 from ameerj/glsl-sample-id-mask (diff) | |
parent | Remove fake vertex bindings when dynamic state is enabled (diff) | |
download | yuzu-c5743d5499db336718b93a6954ec1168c660fbec.tar yuzu-c5743d5499db336718b93a6954ec1168c660fbec.tar.gz yuzu-c5743d5499db336718b93a6954ec1168c660fbec.tar.bz2 yuzu-c5743d5499db336718b93a6954ec1168c660fbec.tar.lz yuzu-c5743d5499db336718b93a6954ec1168c660fbec.tar.xz yuzu-c5743d5499db336718b93a6954ec1168c660fbec.tar.zst yuzu-c5743d5499db336718b93a6954ec1168c660fbec.zip |
Diffstat (limited to '')
-rw-r--r-- | src/video_core/renderer_vulkan/vk_graphics_pipeline.cpp | 26 |
1 files changed, 1 insertions, 25 deletions
diff --git a/src/video_core/renderer_vulkan/vk_graphics_pipeline.cpp b/src/video_core/renderer_vulkan/vk_graphics_pipeline.cpp index f91bb5a1d..baedc4424 100644 --- a/src/video_core/renderer_vulkan/vk_graphics_pipeline.cpp +++ b/src/video_core/renderer_vulkan/vk_graphics_pipeline.cpp @@ -548,31 +548,7 @@ void GraphicsPipeline::MakePipeline(VkRenderPass render_pass) { static_vector<VkVertexInputBindingDescription, 32> vertex_bindings; static_vector<VkVertexInputBindingDivisorDescriptionEXT, 32> vertex_binding_divisors; static_vector<VkVertexInputAttributeDescription, 32> vertex_attributes; - if (key.state.dynamic_vertex_input) { - const size_t num_vertex_arrays = std::min( - key.state.attributes.size(), static_cast<size_t>(device.GetMaxVertexInputBindings())); - for (size_t index = 0; index < num_vertex_arrays; ++index) { - const u32 type = key.state.DynamicAttributeType(index); - if (!stage_infos[0].loads.Generic(index) || type == 0) { - continue; - } - vertex_attributes.push_back({ - .location = static_cast<u32>(index), - .binding = 0, - .format = type == 1 ? VK_FORMAT_R32_SFLOAT - : type == 2 ? VK_FORMAT_R32_SINT - : VK_FORMAT_R32_UINT, - .offset = 0, - }); - } - if (!vertex_attributes.empty()) { - vertex_bindings.push_back({ - .binding = 0, - .stride = 4, - .inputRate = VK_VERTEX_INPUT_RATE_VERTEX, - }); - } - } else { + if (!key.state.dynamic_vertex_input) { const size_t num_vertex_arrays = std::min( Maxwell::NumVertexArrays, static_cast<size_t>(device.GetMaxVertexInputBindings())); for (size_t index = 0; index < num_vertex_arrays; ++index) { |