summaryrefslogtreecommitdiffstats
path: root/src/video_core/renderer_opengl/gl_shader_decompiler.cpp
diff options
context:
space:
mode:
authorbunnei <bunneidev@gmail.com>2019-12-11 20:24:39 +0100
committerGitHub <noreply@github.com>2019-12-11 20:24:39 +0100
commit1a66cde1753f4f0349989f3b9093b359e3e07136 (patch)
tree47aa17b54178b1aa150962401903d5a7dd659f83 /src/video_core/renderer_opengl/gl_shader_decompiler.cpp
parentKernel: Correct behavior of Address Arbiter threads. (#3165) (diff)
parentshader: Implement MEMBAR.GL (diff)
downloadyuzu-1a66cde1753f4f0349989f3b9093b359e3e07136.tar
yuzu-1a66cde1753f4f0349989f3b9093b359e3e07136.tar.gz
yuzu-1a66cde1753f4f0349989f3b9093b359e3e07136.tar.bz2
yuzu-1a66cde1753f4f0349989f3b9093b359e3e07136.tar.lz
yuzu-1a66cde1753f4f0349989f3b9093b359e3e07136.tar.xz
yuzu-1a66cde1753f4f0349989f3b9093b359e3e07136.tar.zst
yuzu-1a66cde1753f4f0349989f3b9093b359e3e07136.zip
Diffstat (limited to 'src/video_core/renderer_opengl/gl_shader_decompiler.cpp')
-rw-r--r--src/video_core/renderer_opengl/gl_shader_decompiler.cpp7
1 files changed, 7 insertions, 0 deletions
diff --git a/src/video_core/renderer_opengl/gl_shader_decompiler.cpp b/src/video_core/renderer_opengl/gl_shader_decompiler.cpp
index 9700c2ebe..fa7049bbe 100644
--- a/src/video_core/renderer_opengl/gl_shader_decompiler.cpp
+++ b/src/video_core/renderer_opengl/gl_shader_decompiler.cpp
@@ -1992,6 +1992,11 @@ private:
return {fmt::format("readInvocationARB({}, {})", value, index), Type::Float};
}
+ Expression MemoryBarrierGL(Operation) {
+ code.AddLine("memoryBarrier();");
+ return {};
+ }
+
struct Func final {
Func() = delete;
~Func() = delete;
@@ -2173,6 +2178,8 @@ private:
&GLSLDecompiler::ThreadId,
&GLSLDecompiler::ShuffleIndexed,
+
+ &GLSLDecompiler::MemoryBarrierGL,
};
static_assert(operation_decompilers.size() == static_cast<std::size_t>(OperationCode::Amount));