summaryrefslogtreecommitdiffstats
path: root/gpu/command_buffer/service/program_manager.h
diff options
context:
space:
mode:
Diffstat (limited to 'gpu/command_buffer/service/program_manager.h')
-rw-r--r--gpu/command_buffer/service/program_manager.h15
1 files changed, 11 insertions, 4 deletions
diff --git a/gpu/command_buffer/service/program_manager.h b/gpu/command_buffer/service/program_manager.h
index b7229d9..ab51bf1 100644
--- a/gpu/command_buffer/service/program_manager.h
+++ b/gpu/command_buffer/service/program_manager.h
@@ -75,9 +75,6 @@ class ProgramManager {
return sampler_indices_;
}
- // Resets the program after an unsuccessful link.
- void Reset();
-
// Updates the program info after a successful link.
void Update();
@@ -131,6 +128,10 @@ class ProgramManager {
return valid_;
}
+ void ClearLinkStatus() {
+ link_status_ = false;
+ }
+
bool AttachShader(ShaderManager* manager, ShaderManager::ShaderInfo* info);
void DetachShader(ShaderManager* manager, ShaderManager::ShaderInfo* info);
@@ -169,6 +170,9 @@ class ProgramManager {
service_id_ = 0;
}
+ // Resets the program.
+ void Reset();
+
const UniformInfo* AddUniformInfo(
GLsizei size, GLenum type, GLint location, const std::string& name);
@@ -205,9 +209,12 @@ class ProgramManager {
// Shaders by type of shader.
ShaderManager::ShaderInfo::Ref attached_shaders_[kMaxAttachedShaders];
- // This is true if glLinkProgram was successful.
+ // This is true if glLinkProgram was successful at least once.
bool valid_;
+ // This is true if glLinkProgram was successful last time it was called.
+ bool link_status_;
+
// Log info
std::string log_info_;
};