diff options
author | ReinUsesLisp <reinuseslisp@airmail.cc> | 2019-02-07 04:05:41 +0100 |
---|---|---|
committer | ReinUsesLisp <reinuseslisp@airmail.cc> | 2019-04-14 05:25:32 +0200 |
commit | 5c280e6ff04ae36e8cd7ba81cce4ae89e0a49b80 (patch) | |
tree | d3f411c5b0c15539bd36e86944cfdc28972fb98a /src/video_core/renderer_vulkan | |
parent | Merge pull request #2378 from lioncash/ro (diff) | |
download | yuzu-5c280e6ff04ae36e8cd7ba81cce4ae89e0a49b80.tar yuzu-5c280e6ff04ae36e8cd7ba81cce4ae89e0a49b80.tar.gz yuzu-5c280e6ff04ae36e8cd7ba81cce4ae89e0a49b80.tar.bz2 yuzu-5c280e6ff04ae36e8cd7ba81cce4ae89e0a49b80.tar.lz yuzu-5c280e6ff04ae36e8cd7ba81cce4ae89e0a49b80.tar.xz yuzu-5c280e6ff04ae36e8cd7ba81cce4ae89e0a49b80.tar.zst yuzu-5c280e6ff04ae36e8cd7ba81cce4ae89e0a49b80.zip |
Diffstat (limited to 'src/video_core/renderer_vulkan')
-rw-r--r-- | src/video_core/renderer_vulkan/vk_shader_decompiler.cpp | 14 |
1 files changed, 8 insertions, 6 deletions
diff --git a/src/video_core/renderer_vulkan/vk_shader_decompiler.cpp b/src/video_core/renderer_vulkan/vk_shader_decompiler.cpp index e0a6f5e87..25500f9a3 100644 --- a/src/video_core/renderer_vulkan/vk_shader_decompiler.cpp +++ b/src/video_core/renderer_vulkan/vk_shader_decompiler.cpp @@ -191,8 +191,9 @@ public: for (const auto& cbuf : ir.GetConstantBuffers()) { entries.const_buffers.emplace_back(cbuf.second, cbuf.first); } - for (const auto& gmem : ir.GetGlobalMemoryBases()) { - entries.global_buffers.emplace_back(gmem.cbuf_index, gmem.cbuf_offset); + for (const auto& gmem_pair : ir.GetGlobalMemory()) { + const auto& [base, usage] = gmem_pair; + entries.global_buffers.emplace_back(base.cbuf_index, base.cbuf_offset); } for (const auto& sampler : ir.GetSamplers()) { entries.samplers.emplace_back(sampler); @@ -225,7 +226,7 @@ private: return current_binding; }; const_buffers_base_binding = Allocate(ir.GetConstantBuffers().size()); - global_buffers_base_binding = Allocate(ir.GetGlobalMemoryBases().size()); + global_buffers_base_binding = Allocate(ir.GetGlobalMemory().size()); samplers_base_binding = Allocate(ir.GetSamplers().size()); ASSERT_MSG(binding_iterator - binding_base < STAGE_BINDING_STRIDE, @@ -390,14 +391,15 @@ private: void DeclareGlobalBuffers() { u32 binding = global_buffers_base_binding; - for (const auto& entry : ir.GetGlobalMemoryBases()) { + for (const auto& entry : ir.GetGlobalMemory()) { + const auto [base, usage] = entry; const Id id = OpVariable(t_gmem_ssbo, spv::StorageClass::StorageBuffer); AddGlobalVariable( - Name(id, fmt::format("gmem_{}_{}", entry.cbuf_index, entry.cbuf_offset))); + Name(id, fmt::format("gmem_{}_{}", base.cbuf_index, base.cbuf_offset))); Decorate(id, spv::Decoration::Binding, binding++); Decorate(id, spv::Decoration::DescriptorSet, DESCRIPTOR_SET); - global_buffers.emplace(entry, id); + global_buffers.emplace(base, id); } } |