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 586 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
597 uint32_t max_draw_buffers, | 597 uint32_t max_draw_buffers, |
598 uint32_t max_dual_source_draw_buffers, | 598 uint32_t max_dual_source_draw_buffers, |
599 uint32_t max_vertex_attribs, | 599 uint32_t max_vertex_attribs, |
600 const GpuPreferences& gpu_preferences, | 600 const GpuPreferences& gpu_preferences, |
601 FeatureInfo* feature_info); | 601 FeatureInfo* feature_info); |
602 ~ProgramManager(); | 602 ~ProgramManager(); |
603 | 603 |
604 // Must call before destruction. | 604 // Must call before destruction. |
605 void Destroy(bool have_context); | 605 void Destroy(bool have_context); |
606 | 606 |
| 607 // Can be called before Destroy to perform expensive cleanup. Will run until |
| 608 // currently possible cleanup is performed, or timeout is reached. Returns |
| 609 // true if all possible cleanup has been performed. |
| 610 bool PreDestroyWithTimeout(bool have_context, const base::TimeTicks& timeout); |
| 611 |
607 // Creates a new program. | 612 // Creates a new program. |
608 Program* CreateProgram(GLuint client_id, GLuint service_id); | 613 Program* CreateProgram(GLuint client_id, GLuint service_id); |
609 | 614 |
610 // Gets a program. | 615 // Gets a program. |
611 Program* GetProgram(GLuint client_id); | 616 Program* GetProgram(GLuint client_id); |
612 | 617 |
613 // Gets a client id for a given service id. | 618 // Gets a client id for a given service id. |
614 bool GetClientId(GLuint service_id, GLuint* client_id) const; | 619 bool GetClientId(GLuint service_id, GLuint* client_id) const; |
615 | 620 |
616 // Gets the shader cache | 621 // Gets the shader cache |
(...skipping 67 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
684 }; | 689 }; |
685 | 690 |
686 inline const FeatureInfo& Program::feature_info() const { | 691 inline const FeatureInfo& Program::feature_info() const { |
687 return *manager_->feature_info_.get(); | 692 return *manager_->feature_info_.get(); |
688 } | 693 } |
689 | 694 |
690 } // namespace gles2 | 695 } // namespace gles2 |
691 } // namespace gpu | 696 } // namespace gpu |
692 | 697 |
693 #endif // GPU_COMMAND_BUFFER_SERVICE_PROGRAM_MANAGER_H_ | 698 #endif // GPU_COMMAND_BUFFER_SERVICE_PROGRAM_MANAGER_H_ |
OLD | NEW |