summaryrefslogtreecommitdiffstats
path: root/src/video_core/renderer_opengl/gl_shader_cache.cpp
diff options
context:
space:
mode:
authorReinUsesLisp <reinuseslisp@airmail.cc>2020-05-28 22:06:22 +0200
committerReinUsesLisp <reinuseslisp@airmail.cc>2020-06-01 02:33:49 +0200
commitee21e4ecd372d6a191244dffbc5ac5c7b80150c1 (patch)
treefe7f77170edfdabfe3bf9dc974f3d8b3672eb45e /src/video_core/renderer_opengl/gl_shader_cache.cpp
parentMerge pull request #3930 from ReinUsesLisp/animal-borders (diff)
downloadyuzu-ee21e4ecd372d6a191244dffbc5ac5c7b80150c1.tar
yuzu-ee21e4ecd372d6a191244dffbc5ac5c7b80150c1.tar.gz
yuzu-ee21e4ecd372d6a191244dffbc5ac5c7b80150c1.tar.bz2
yuzu-ee21e4ecd372d6a191244dffbc5ac5c7b80150c1.tar.lz
yuzu-ee21e4ecd372d6a191244dffbc5ac5c7b80150c1.tar.xz
yuzu-ee21e4ecd372d6a191244dffbc5ac5c7b80150c1.tar.zst
yuzu-ee21e4ecd372d6a191244dffbc5ac5c7b80150c1.zip
Diffstat (limited to '')
-rw-r--r--src/video_core/renderer_opengl/gl_shader_cache.cpp12
1 files changed, 7 insertions, 5 deletions
diff --git a/src/video_core/renderer_opengl/gl_shader_cache.cpp b/src/video_core/renderer_opengl/gl_shader_cache.cpp
index 4cd0f36cf..a991ca64a 100644
--- a/src/video_core/renderer_opengl/gl_shader_cache.cpp
+++ b/src/video_core/renderer_opengl/gl_shader_cache.cpp
@@ -241,8 +241,9 @@ Shader CachedShader::CreateStageFromMemory(const ShaderParameters& params,
entry.bindless_samplers = registry->GetBindlessSamplers();
params.disk_cache.SaveEntry(std::move(entry));
- return std::shared_ptr<CachedShader>(new CachedShader(
- params.cpu_addr, size_in_bytes, std::move(registry), MakeEntries(ir), std::move(program)));
+ return std::shared_ptr<CachedShader>(
+ new CachedShader(params.cpu_addr, size_in_bytes, std::move(registry),
+ MakeEntries(params.device, ir, shader_type), std::move(program)));
}
Shader CachedShader::CreateKernelFromMemory(const ShaderParameters& params, ProgramCode code) {
@@ -265,8 +266,9 @@ Shader CachedShader::CreateKernelFromMemory(const ShaderParameters& params, Prog
entry.bindless_samplers = registry->GetBindlessSamplers();
params.disk_cache.SaveEntry(std::move(entry));
- return std::shared_ptr<CachedShader>(new CachedShader(
- params.cpu_addr, size_in_bytes, std::move(registry), MakeEntries(ir), std::move(program)));
+ return std::shared_ptr<CachedShader>(
+ new CachedShader(params.cpu_addr, size_in_bytes, std::move(registry),
+ MakeEntries(params.device, ir, ShaderType::Compute), std::move(program)));
}
Shader CachedShader::CreateFromCache(const ShaderParameters& params,
@@ -348,7 +350,7 @@ void ShaderCacheOpenGL::LoadDiskCache(const std::atomic_bool& stop_loading,
PrecompiledShader shader;
shader.program = std::move(program);
shader.registry = std::move(registry);
- shader.entries = MakeEntries(ir);
+ shader.entries = MakeEntries(device, ir, entry.type);
std::scoped_lock lock{mutex};
if (callback) {