diff options
Diffstat (limited to 'gpu/command_buffer/service/program_manager.h')
-rw-r--r-- | gpu/command_buffer/service/program_manager.h | 15 |
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_; }; |