summaryrefslogtreecommitdiffstats
path: root/src/video_core/renderer_opengl/gl_shader_cache.h
diff options
context:
space:
mode:
Diffstat (limited to 'src/video_core/renderer_opengl/gl_shader_cache.h')
-rw-r--r--src/video_core/renderer_opengl/gl_shader_cache.h12
1 files changed, 9 insertions, 3 deletions
diff --git a/src/video_core/renderer_opengl/gl_shader_cache.h b/src/video_core/renderer_opengl/gl_shader_cache.h
index 2eaa63804..7c80ee86b 100644
--- a/src/video_core/renderer_opengl/gl_shader_cache.h
+++ b/src/video_core/renderer_opengl/gl_shader_cache.h
@@ -73,15 +73,15 @@ public:
/// Gets the GL uniform location for the specified resource, caching as needed
GLint GetUniformLocation(const GLShader::SamplerEntry& sampler);
- GLint GetAlphaTestingEnableLocation();
- GLint GetAlphaTestingFuncLocation();
- GLint GetAlphaTestingRefLocation();
+ void SetAlphaTesting(const bool enable, const float ref, const u32 func);
private:
/// Generates a geometry shader or returns one that already exists.
GLuint LazyGeometryProgram(OGLProgram& target_program, const std::string& glsl_topology,
const std::string& debug_name);
+ void SaveAlphaTestingLocations();
+
VAddr addr;
Maxwell::ShaderProgram program_type;
GLShader::ShaderSetup setup;
@@ -102,6 +102,12 @@ private:
OGLProgram triangles_adjacency;
} geometry_programs;
+ struct {
+ GLint enable_loc;
+ GLint ref_loc;
+ GLint func_loc;
+ } alpha_test;
+
std::map<u32, GLuint> resource_cache;
std::map<u32, GLint> uniform_cache;
};