diff options
author | ReinUsesLisp <reinuseslisp@airmail.cc> | 2021-06-02 07:15:07 +0200 |
---|---|---|
committer | ameerj <52414509+ameerj@users.noreply.github.com> | 2021-07-23 03:51:34 +0200 |
commit | 4a2361a1e2271727f3259e8e4a60869165537253 (patch) | |
tree | d741b0e808aa6a622c01dd047d66211c201e0f85 /src/video_core/renderer_vulkan/vk_compute_pipeline.cpp | |
parent | transform_feedback: Read buffer stride from index instead of layout (diff) | |
download | yuzu-4a2361a1e2271727f3259e8e4a60869165537253.tar yuzu-4a2361a1e2271727f3259e8e4a60869165537253.tar.gz yuzu-4a2361a1e2271727f3259e8e4a60869165537253.tar.bz2 yuzu-4a2361a1e2271727f3259e8e4a60869165537253.tar.lz yuzu-4a2361a1e2271727f3259e8e4a60869165537253.tar.xz yuzu-4a2361a1e2271727f3259e8e4a60869165537253.tar.zst yuzu-4a2361a1e2271727f3259e8e4a60869165537253.zip |
Diffstat (limited to 'src/video_core/renderer_vulkan/vk_compute_pipeline.cpp')
-rw-r--r-- | src/video_core/renderer_vulkan/vk_compute_pipeline.cpp | 6 |
1 files changed, 5 insertions, 1 deletions
diff --git a/src/video_core/renderer_vulkan/vk_compute_pipeline.cpp b/src/video_core/renderer_vulkan/vk_compute_pipeline.cpp index 168ffa7e9..ca59042ff 100644 --- a/src/video_core/renderer_vulkan/vk_compute_pipeline.cpp +++ b/src/video_core/renderer_vulkan/vk_compute_pipeline.cpp @@ -2,6 +2,7 @@ // Licensed under GPLv2 or any later version // Refer to the license.txt file included. +#include <algorithm> #include <vector> #include <boost/container/small_vector.hpp> @@ -27,6 +28,9 @@ ComputePipeline::ComputePipeline(const Device& device_, DescriptorPool& descript vk::ShaderModule spv_module_) : device{device_}, update_descriptor_queue{update_descriptor_queue_}, info{info_}, spv_module(std::move(spv_module_)) { + std::copy_n(info.constant_buffer_used_sizes.begin(), uniform_buffer_sizes.size(), + uniform_buffer_sizes.begin()); + auto func{[this, &descriptor_pool] { DescriptorLayoutBuilder builder{device.GetLogical()}; builder.Add(info, VK_SHADER_STAGE_COMPUTE_BIT); @@ -75,7 +79,7 @@ void ComputePipeline::Configure(Tegra::Engines::KeplerCompute& kepler_compute, BufferCache& buffer_cache, TextureCache& texture_cache) { update_descriptor_queue.Acquire(); - buffer_cache.SetEnabledComputeUniformBuffers(info.constant_buffer_mask); + buffer_cache.SetComputeUniformBufferState(info.constant_buffer_mask, &uniform_buffer_sizes); buffer_cache.UnbindComputeStorageBuffers(); size_t ssbo_index{}; for (const auto& desc : info.storage_buffers_descriptors) { |