diff options
Diffstat (limited to 'gpu/command_buffer/service/shader_manager.h')
-rw-r--r-- | gpu/command_buffer/service/shader_manager.h | 22 |
1 files changed, 21 insertions, 1 deletions
diff --git a/gpu/command_buffer/service/shader_manager.h b/gpu/command_buffer/service/shader_manager.h index caf41b4..3391ff6 100644 --- a/gpu/command_buffer/service/shader_manager.h +++ b/gpu/command_buffer/service/shader_manager.h @@ -30,7 +30,8 @@ class ShaderManager { explicit ShaderInfo(GLuint service_id, GLenum shader_type) : service_id_(service_id), - shader_type_(shader_type) { + shader_type_(shader_type), + translation_valid_(true) { } void Update(const std::string& source) { @@ -49,6 +50,19 @@ class ShaderManager { return source_; } + void SetTranslationStatus(bool valid, const std::string& log) { + translation_valid_ = valid; + translation_log_ = log; + } + + const std::string& translation_log() const { + return translation_log_; + } + + bool translation_valid() const { + return translation_valid_; + } + bool IsDeleted() const { return service_id_ == 0; } @@ -67,8 +81,14 @@ class ShaderManager { // Type of shader - GL_VERTEX_SHADER or GL_FRAGMENT_SHADER. GLenum shader_type_; + // True if translation succeeded. + bool translation_valid_; + // The shader source as passed to glShaderSource. std::string source_; + + // The shader translation log. + std::string translation_log_; }; ShaderManager() { |