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 |