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_TEXTURE_MANAGER_H_ | 5 #ifndef GPU_COMMAND_BUFFER_SERVICE_TEXTURE_MANAGER_H_ |
6 #define GPU_COMMAND_BUFFER_SERVICE_TEXTURE_MANAGER_H_ | 6 #define GPU_COMMAND_BUFFER_SERVICE_TEXTURE_MANAGER_H_ |
7 | 7 |
8 #include <stddef.h> | 8 #include <stddef.h> |
9 #include <stdint.h> | 9 #include <stdint.h> |
10 | 10 |
(...skipping 740 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
751 FeatureInfo* feature_info, | 751 FeatureInfo* feature_info, |
752 GLsizei max_texture_size, | 752 GLsizei max_texture_size, |
753 GLsizei max_cube_map_texture_size, | 753 GLsizei max_cube_map_texture_size, |
754 GLsizei max_rectangle_texture_size, | 754 GLsizei max_rectangle_texture_size, |
755 GLsizei max_3d_texture_size, | 755 GLsizei max_3d_texture_size, |
756 GLsizei max_array_texture_layers, | 756 GLsizei max_array_texture_layers, |
757 bool use_default_textures, | 757 bool use_default_textures, |
758 ProgressReporter* progress_reporter); | 758 ProgressReporter* progress_reporter); |
759 ~TextureManager() override; | 759 ~TextureManager() override; |
760 | 760 |
761 void set_framebuffer_manager(FramebufferManager* manager) { | 761 void AddFramebufferManager(FramebufferManager* framebuffer_manager); |
762 framebuffer_manager_ = manager; | 762 void RemoveFramebufferManager(FramebufferManager* framebuffer_manager); |
763 } | |
764 | 763 |
765 // Init the texture manager. | 764 // Init the texture manager. |
766 bool Initialize(); | 765 bool Initialize(); |
767 | 766 |
768 // Must call before destruction. | 767 // Must call before destruction. |
769 void Destroy(bool have_context); | 768 void Destroy(bool have_context); |
770 | 769 |
771 // Returns the maximum number of levels. | 770 // Returns the maximum number of levels. |
772 GLint MaxLevelsForTarget(GLenum target) const { | 771 GLint MaxLevelsForTarget(GLenum target) const { |
773 switch (target) { | 772 switch (target) { |
(...skipping 411 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1185 // Helper function called by OnMemoryDump. | 1184 // Helper function called by OnMemoryDump. |
1186 void DumpTextureRef(base::trace_event::ProcessMemoryDump* pmd, | 1185 void DumpTextureRef(base::trace_event::ProcessMemoryDump* pmd, |
1187 TextureRef* ref); | 1186 TextureRef* ref); |
1188 | 1187 |
1189 MemoryTypeTracker* GetMemTracker(); | 1188 MemoryTypeTracker* GetMemTracker(); |
1190 std::unique_ptr<MemoryTypeTracker> memory_type_tracker_; | 1189 std::unique_ptr<MemoryTypeTracker> memory_type_tracker_; |
1191 MemoryTracker* memory_tracker_; | 1190 MemoryTracker* memory_tracker_; |
1192 | 1191 |
1193 scoped_refptr<FeatureInfo> feature_info_; | 1192 scoped_refptr<FeatureInfo> feature_info_; |
1194 | 1193 |
1195 FramebufferManager* framebuffer_manager_; | 1194 std::vector<FramebufferManager*> framebuffer_managers_; |
1196 | 1195 |
1197 // Info for each texture in the system. | 1196 // Info for each texture in the system. |
1198 typedef base::hash_map<GLuint, scoped_refptr<TextureRef> > TextureMap; | 1197 typedef base::hash_map<GLuint, scoped_refptr<TextureRef> > TextureMap; |
1199 TextureMap textures_; | 1198 TextureMap textures_; |
1200 | 1199 |
1201 GLsizei max_texture_size_; | 1200 GLsizei max_texture_size_; |
1202 GLsizei max_cube_map_texture_size_; | 1201 GLsizei max_cube_map_texture_size_; |
1203 GLsizei max_rectangle_texture_size_; | 1202 GLsizei max_rectangle_texture_size_; |
1204 GLsizei max_3d_texture_size_; | 1203 GLsizei max_3d_texture_size_; |
1205 GLsizei max_array_texture_layers_; | 1204 GLsizei max_array_texture_layers_; |
(...skipping 30 matching lines...) Expand all Loading... |
1236 // using in-process command buffer. | 1235 // using in-process command buffer. |
1237 ProgressReporter* progress_reporter_; | 1236 ProgressReporter* progress_reporter_; |
1238 | 1237 |
1239 DISALLOW_COPY_AND_ASSIGN(TextureManager); | 1238 DISALLOW_COPY_AND_ASSIGN(TextureManager); |
1240 }; | 1239 }; |
1241 | 1240 |
1242 } // namespace gles2 | 1241 } // namespace gles2 |
1243 } // namespace gpu | 1242 } // namespace gpu |
1244 | 1243 |
1245 #endif // GPU_COMMAND_BUFFER_SERVICE_TEXTURE_MANAGER_H_ | 1244 #endif // GPU_COMMAND_BUFFER_SERVICE_TEXTURE_MANAGER_H_ |
OLD | NEW |