diff options
| author | bunnei <bunneidev@gmail.com> | 2020-05-30 11:51:42 -0400 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2020-05-30 11:51:42 -0400 |
| commit | 058ec22787a6d3e41c3dfabd2060a1b723594374 (patch) | |
| tree | 0c9498d5e104ce52c2e50f1a0020a97516924d06 /src/video_core/renderer_vulkan | |
| parent | 9d9ffe0f9461ffa3b2e183b17a08953ada0ee91b (diff) | |
| parent | 32e6727daecab60d368d14619c1e04d0d7e60008 (diff) | |
Merge pull request #3982 from ReinUsesLisp/membar-cts
shader/other: Implement MEMBAR.CTS
Diffstat (limited to 'src/video_core/renderer_vulkan')
| -rw-r--r-- | src/video_core/renderer_vulkan/vk_shader_decompiler.cpp | 7 |
1 files changed, 4 insertions, 3 deletions
diff --git a/src/video_core/renderer_vulkan/vk_shader_decompiler.cpp b/src/video_core/renderer_vulkan/vk_shader_decompiler.cpp index 890f34a2c..6f6dedd82 100644 --- a/src/video_core/renderer_vulkan/vk_shader_decompiler.cpp +++ b/src/video_core/renderer_vulkan/vk_shader_decompiler.cpp @@ -2215,8 +2215,8 @@ private: return {}; } - Expression MemoryBarrierGL(Operation) { - const auto scope = spv::Scope::Device; + template <spv::Scope scope> + Expression MemoryBarrier(Operation) { const auto semantics = spv::MemorySemanticsMask::AcquireRelease | spv::MemorySemanticsMask::UniformMemory | spv::MemorySemanticsMask::WorkgroupMemory | @@ -2681,7 +2681,8 @@ private: &SPIRVDecompiler::ShuffleIndexed, &SPIRVDecompiler::Barrier, - &SPIRVDecompiler::MemoryBarrierGL, + &SPIRVDecompiler::MemoryBarrier<spv::Scope::Workgroup>, + &SPIRVDecompiler::MemoryBarrier<spv::Scope::Device>, }; static_assert(operation_decompilers.size() == static_cast<std::size_t>(OperationCode::Amount)); |
