mirror of
https://github.com/TomHarte/CLK.git
synced 2024-11-26 08:49:37 +00:00
Eliminates unsafe optimisation.
Also likely to be unhelpful as and when multiple machines are in play.
This commit is contained in:
parent
7d75e864b1
commit
fc9e84c72e
@ -14,7 +14,9 @@
|
|||||||
using namespace OpenGL;
|
using namespace OpenGL;
|
||||||
|
|
||||||
namespace {
|
namespace {
|
||||||
Shader *bound_shader = nullptr;
|
// The below is disabled because it isn't context/thread-specific. Which makes it
|
||||||
|
// fairly 'unuseful'.
|
||||||
|
// Shader *bound_shader = nullptr;
|
||||||
}
|
}
|
||||||
|
|
||||||
GLuint Shader::compile_shader(const std::string &source, GLenum type) {
|
GLuint Shader::compile_shader(const std::string &source, GLenum type) {
|
||||||
@ -75,20 +77,20 @@ Shader::Shader(const std::string &vertex_shader, const std::string &fragment_sha
|
|||||||
}
|
}
|
||||||
|
|
||||||
Shader::~Shader() {
|
Shader::~Shader() {
|
||||||
if(bound_shader == this) Shader::unbind();
|
// if(bound_shader == this) Shader::unbind();
|
||||||
glDeleteProgram(shader_program_);
|
glDeleteProgram(shader_program_);
|
||||||
}
|
}
|
||||||
|
|
||||||
void Shader::bind() {
|
void Shader::bind() {
|
||||||
if(bound_shader != this) {
|
// if(bound_shader != this) {
|
||||||
glUseProgram(shader_program_);
|
glUseProgram(shader_program_);
|
||||||
bound_shader = this;
|
// bound_shader = this;
|
||||||
}
|
// }
|
||||||
flush_functions();
|
flush_functions();
|
||||||
}
|
}
|
||||||
|
|
||||||
void Shader::unbind() {
|
void Shader::unbind() {
|
||||||
bound_shader = nullptr;
|
// bound_shader = nullptr;
|
||||||
glUseProgram(0);
|
glUseProgram(0);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user