Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(188)

Side by Side Diff: gpu/command_buffer/service/texture_manager.h

Issue 2826043002: Do not share FBOs/VAOs/Transform feedback objects across contexts (Closed)
Patch Set: added DeleteFramebuffers() expectation Created 3 years, 7 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
OLDNEW
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
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
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
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_
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698