| OLD | NEW |
| 1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. | 1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. |
| 2 // Use of this source code is governed by a BSD-style license that can be | 2 // Use of this source code is governed by a BSD-style license that can be |
| 3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
| 4 | 4 |
| 5 #include "gpu/command_buffer/service/shader_manager.h" | 5 #include "gpu/command_buffer/service/shader_manager.h" |
| 6 | 6 |
| 7 #include <utility> | 7 #include <utility> |
| 8 | 8 |
| 9 #include "base/logging.h" | 9 #include "base/logging.h" |
| 10 #include "base/strings/string_util.h" | 10 #include "base/strings/string_util.h" |
| (...skipping 12 matching lines...) Expand all Loading... |
| 23 } | 23 } |
| 24 | 24 |
| 25 } // namespace anonymous | 25 } // namespace anonymous |
| 26 | 26 |
| 27 Shader::Shader(GLuint service_id, GLenum shader_type) | 27 Shader::Shader(GLuint service_id, GLenum shader_type) |
| 28 : use_count_(0), | 28 : use_count_(0), |
| 29 shader_state_(kShaderStateWaiting), | 29 shader_state_(kShaderStateWaiting), |
| 30 marked_for_deletion_(false), | 30 marked_for_deletion_(false), |
| 31 service_id_(service_id), | 31 service_id_(service_id), |
| 32 shader_type_(shader_type), | 32 shader_type_(shader_type), |
| 33 shader_version_(kUndefinedShaderVersion), |
| 33 source_type_(kANGLE), | 34 source_type_(kANGLE), |
| 34 valid_(false) { | 35 valid_(false) { |
| 35 } | 36 } |
| 36 | 37 |
| 37 Shader::~Shader() { | 38 Shader::~Shader() { |
| 38 } | 39 } |
| 39 | 40 |
| 40 void Shader::Destroy() { | 41 void Shader::Destroy() { |
| 41 if (service_id_) { | 42 if (service_id_) { |
| 42 DeleteServiceID(); | 43 DeleteServiceID(); |
| (...skipping 21 matching lines...) Expand all Loading... |
| 64 valid_ = false; | 65 valid_ = false; |
| 65 | 66 |
| 66 // Translate GL ES 2.0 shader to Desktop GL shader and pass that to | 67 // Translate GL ES 2.0 shader to Desktop GL shader and pass that to |
| 67 // glShaderSource and then glCompileShader. | 68 // glShaderSource and then glCompileShader. |
| 68 const char* source_for_driver = last_compiled_source_.c_str(); | 69 const char* source_for_driver = last_compiled_source_.c_str(); |
| 69 ShaderTranslatorInterface* translator = translator_.get(); | 70 ShaderTranslatorInterface* translator = translator_.get(); |
| 70 if (translator) { | 71 if (translator) { |
| 71 bool success = translator->Translate(last_compiled_source_, | 72 bool success = translator->Translate(last_compiled_source_, |
| 72 &log_info_, | 73 &log_info_, |
| 73 &translated_source_, | 74 &translated_source_, |
| 75 &shader_version_, |
| 74 &attrib_map_, | 76 &attrib_map_, |
| 75 &uniform_map_, | 77 &uniform_map_, |
| 76 &varying_map_, | 78 &varying_map_, |
| 77 &name_map_); | 79 &name_map_); |
| 78 if (!success) { | 80 if (!success) { |
| 79 return; | 81 return; |
| 80 } | 82 } |
| 81 source_for_driver = translated_source_.c_str(); | 83 source_for_driver = translated_source_.c_str(); |
| 82 } | 84 } |
| 83 | 85 |
| (...skipping 200 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 284 | 286 |
| 285 void ShaderManager::UnuseShader(Shader* shader) { | 287 void ShaderManager::UnuseShader(Shader* shader) { |
| 286 DCHECK(shader); | 288 DCHECK(shader); |
| 287 DCHECK(IsOwned(shader)); | 289 DCHECK(IsOwned(shader)); |
| 288 shader->DecUseCount(); | 290 shader->DecUseCount(); |
| 289 RemoveShader(shader); | 291 RemoveShader(shader); |
| 290 } | 292 } |
| 291 | 293 |
| 292 } // namespace gles2 | 294 } // namespace gles2 |
| 293 } // namespace gpu | 295 } // namespace gpu |
| OLD | NEW |