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 #ifndef GPU_COMMAND_BUFFER_SERVICE_PROGRAM_MANAGER_H_ | 5 #ifndef GPU_COMMAND_BUFFER_SERVICE_PROGRAM_MANAGER_H_ |
6 #define GPU_COMMAND_BUFFER_SERVICE_PROGRAM_MANAGER_H_ | 6 #define GPU_COMMAND_BUFFER_SERVICE_PROGRAM_MANAGER_H_ |
7 | 7 |
8 #include <stddef.h> | 8 #include <stddef.h> |
9 #include <stdint.h> | 9 #include <stdint.h> |
10 | 10 |
(...skipping 327 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
338 // glBindUniformLocationCHROMIUM() calls. | 338 // glBindUniformLocationCHROMIUM() calls. |
339 // We only consider the statically used uniforms in the program. | 339 // We only consider the statically used uniforms in the program. |
340 bool DetectUniformLocationBindingConflicts() const; | 340 bool DetectUniformLocationBindingConflicts() const; |
341 | 341 |
342 // Detects if there are uniforms of the same name but different type | 342 // Detects if there are uniforms of the same name but different type |
343 // or precision in vertex/fragment shaders. | 343 // or precision in vertex/fragment shaders. |
344 // Return true and set the first found conflicting hashed name to | 344 // Return true and set the first found conflicting hashed name to |
345 // conflicting_name if such cases are detected. | 345 // conflicting_name if such cases are detected. |
346 bool DetectUniformsMismatch(std::string* conflicting_name) const; | 346 bool DetectUniformsMismatch(std::string* conflicting_name) const; |
347 | 347 |
| 348 // Detects if there are interface blocks of the same name but different |
| 349 // layouts. |
| 350 bool DetectInterfaceBlocksMismatch(std::string* conflicting_name) const; |
| 351 |
348 // Return true if a varying is statically used in fragment shader, but it | 352 // Return true if a varying is statically used in fragment shader, but it |
349 // is not declared in vertex shader. | 353 // is not declared in vertex shader. |
350 bool DetectVaryingsMismatch(std::string* conflicting_name) const; | 354 bool DetectVaryingsMismatch(std::string* conflicting_name) const; |
351 | 355 |
352 // Detects if there are fragment input location conflicts from | 356 // Detects if there are fragment input location conflicts from |
353 // glBindFragmentInputLocationCHROMIUM() calls. | 357 // glBindFragmentInputLocationCHROMIUM() calls. |
354 // We only consider the statically used fragment inputs in the program. | 358 // We only consider the statically used fragment inputs in the program. |
355 bool DetectFragmentInputLocationBindingConflicts() const; | 359 bool DetectFragmentInputLocationBindingConflicts() const; |
356 | 360 |
357 // Detects if there are program output location conflicts from | 361 // Detects if there are program output location conflicts from |
(...skipping 262 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
620 }; | 624 }; |
621 | 625 |
622 inline const FeatureInfo& Program::feature_info() const { | 626 inline const FeatureInfo& Program::feature_info() const { |
623 return *manager_->feature_info_.get(); | 627 return *manager_->feature_info_.get(); |
624 } | 628 } |
625 | 629 |
626 } // namespace gles2 | 630 } // namespace gles2 |
627 } // namespace gpu | 631 } // namespace gpu |
628 | 632 |
629 #endif // GPU_COMMAND_BUFFER_SERVICE_PROGRAM_MANAGER_H_ | 633 #endif // GPU_COMMAND_BUFFER_SERVICE_PROGRAM_MANAGER_H_ |
OLD | NEW |