summaryrefslogtreecommitdiffstats
path: root/src/video_core/renderer_opengl/gl_shader_cache.h
diff options
context:
space:
mode:
authorReinUsesLisp <reinuseslisp@airmail.cc>2019-04-10 23:03:52 +0200
committerReinUsesLisp <reinuseslisp@airmail.cc>2019-04-14 10:13:19 +0200
commitf15c59a164a7c4deafb77e9fc698cdf9a08691ce (patch)
treef232add61779165ba2d03773384b9df86c2f7af0 /src/video_core/renderer_opengl/gl_shader_cache.h
parentgl_device: Implement interface and add uniform offset alignment (diff)
downloadyuzu-f15c59a164a7c4deafb77e9fc698cdf9a08691ce.tar
yuzu-f15c59a164a7c4deafb77e9fc698cdf9a08691ce.tar.gz
yuzu-f15c59a164a7c4deafb77e9fc698cdf9a08691ce.tar.bz2
yuzu-f15c59a164a7c4deafb77e9fc698cdf9a08691ce.tar.lz
yuzu-f15c59a164a7c4deafb77e9fc698cdf9a08691ce.tar.xz
yuzu-f15c59a164a7c4deafb77e9fc698cdf9a08691ce.tar.zst
yuzu-f15c59a164a7c4deafb77e9fc698cdf9a08691ce.zip
Diffstat (limited to '')
-rw-r--r--src/video_core/renderer_opengl/gl_shader_cache.h8
1 files changed, 6 insertions, 2 deletions
diff --git a/src/video_core/renderer_opengl/gl_shader_cache.h b/src/video_core/renderer_opengl/gl_shader_cache.h
index 0cf8e0b3d..a332087f8 100644
--- a/src/video_core/renderer_opengl/gl_shader_cache.h
+++ b/src/video_core/renderer_opengl/gl_shader_cache.h
@@ -27,6 +27,7 @@ class System;
namespace OpenGL {
class CachedShader;
+class Device;
class RasterizerOpenGL;
struct UnspecializedShader;
@@ -38,7 +39,7 @@ using PrecompiledShaders = std::unordered_map<u64, GLShader::ProgramResult>;
class CachedShader final : public RasterizerCacheObject {
public:
- explicit CachedShader(VAddr cpu_addr, u64 unique_identifier,
+ explicit CachedShader(const Device& device, VAddr cpu_addr, u64 unique_identifier,
Maxwell::ShaderProgram program_type, ShaderDiskCacheOpenGL& disk_cache,
const PrecompiledPrograms& precompiled_programs,
ProgramCode&& program_code, ProgramCode&& program_code_b, u8* host_ptr);
@@ -112,7 +113,8 @@ private:
class ShaderCacheOpenGL final : public RasterizerCache<Shader> {
public:
- explicit ShaderCacheOpenGL(RasterizerOpenGL& rasterizer, Core::System& system);
+ explicit ShaderCacheOpenGL(RasterizerOpenGL& rasterizer, Core::System& system,
+ const Device& device);
/// Loads disk cache for the current game
void LoadDiskCache(const std::atomic_bool& stop_loading,
@@ -130,6 +132,8 @@ private:
CachedProgram GeneratePrecompiledProgram(const ShaderDiskCacheDump& dump,
const std::set<GLenum>& supported_formats);
+ const Device& device;
+
std::array<Shader, Maxwell::MaxShaderProgram> last_shaders;
ShaderDiskCacheOpenGL disk_cache;