diff options
author | ReinUsesLisp <reinuseslisp@airmail.cc> | 2019-11-13 03:39:45 +0100 |
---|---|---|
committer | ReinUsesLisp <reinuseslisp@airmail.cc> | 2019-11-23 01:28:47 +0100 |
commit | dbeb52387979c7e28c0acb03dfc1468146947104 (patch) | |
tree | 8c8e681dcc11a137517839dd64d839541cb6f9ce /src/video_core/renderer_opengl/gl_shader_cache.cpp | |
parent | gl_shader_cache: Specialize shader workgroup (diff) | |
download | yuzu-dbeb52387979c7e28c0acb03dfc1468146947104.tar yuzu-dbeb52387979c7e28c0acb03dfc1468146947104.tar.gz yuzu-dbeb52387979c7e28c0acb03dfc1468146947104.tar.bz2 yuzu-dbeb52387979c7e28c0acb03dfc1468146947104.tar.lz yuzu-dbeb52387979c7e28c0acb03dfc1468146947104.tar.xz yuzu-dbeb52387979c7e28c0acb03dfc1468146947104.tar.zst yuzu-dbeb52387979c7e28c0acb03dfc1468146947104.zip |
Diffstat (limited to '')
-rw-r--r-- | src/video_core/renderer_opengl/gl_shader_cache.cpp | 7 |
1 files changed, 7 insertions, 0 deletions
diff --git a/src/video_core/renderer_opengl/gl_shader_cache.cpp b/src/video_core/renderer_opengl/gl_shader_cache.cpp index a5789b6d3..982c4e23a 100644 --- a/src/video_core/renderer_opengl/gl_shader_cache.cpp +++ b/src/video_core/renderer_opengl/gl_shader_cache.cpp @@ -8,7 +8,9 @@ #include <thread> #include <unordered_set> #include <boost/functional/hash.hpp> +#include "common/alignment.h" #include "common/assert.h" +#include "common/logging/log.h" #include "common/scope_exit.h" #include "core/core.h" #include "core/frontend/emu_window.h" @@ -322,6 +324,11 @@ CachedProgram BuildShader(const Device& device, u64 unique_identifier, ProgramTy source += fmt::format("layout (local_size_x = {}, local_size_y = {}, local_size_z = {}) in;\n", variant.block_x, variant.block_y, variant.block_z); + + if (variant.shared_memory_size > 0) { + source += fmt::format("shared uint smem[{}];", + Common::AlignUp(variant.shared_memory_size, 4) / 4); + } } source += '\n'; |