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

Unified Diff: gpu/command_buffer/service/texture_manager.h

Issue 1256613002: Add tracing for GL texture objects (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@browser_process_id
Patch Set: Created 5 years, 5 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 side-by-side diff with in-line comments
Download patch
Index: gpu/command_buffer/service/texture_manager.h
diff --git a/gpu/command_buffer/service/texture_manager.h b/gpu/command_buffer/service/texture_manager.h
index 4de5421b1bc6ac3f1bb64b4ec0d07406a2166acf..dcd57be5d100e0eccdff476782dbabdfc307f612 100644
--- a/gpu/command_buffer/service/texture_manager.h
+++ b/gpu/command_buffer/service/texture_manager.h
@@ -555,7 +555,7 @@ struct DecoderTextureState {
//
// NOTE: To support shared resources an instance of this class will need to be
// shared by multiple GLES2Decoders.
-class GPU_EXPORT TextureManager {
+class GPU_EXPORT TextureManager : public base::trace_event::MemoryDumpProvider {
public:
class GPU_EXPORT DestructionObserver {
public:
@@ -587,7 +587,7 @@ class GPU_EXPORT TextureManager {
GLsizei max_rectangle_texture_size,
GLsizei max_3d_texture_size,
bool use_default_textures);
- ~TextureManager();
+ ~TextureManager() override;
void set_framebuffer_manager(FramebufferManager* manager) {
framebuffer_manager_ = manager;
@@ -866,6 +866,9 @@ class GPU_EXPORT TextureManager {
ErrorState* error_state, const char* function_name,
GLenum format, GLenum type, GLenum internal_format, GLint level);
+ // base::trace_event::MemoryDumpProvider implementation.
+ bool OnMemoryDump(base::trace_event::ProcessMemoryDump* pmd) override;
+
private:
friend class Texture;
friend class TextureRef;
@@ -895,9 +898,14 @@ class GPU_EXPORT TextureManager {
GLenum AdjustTexFormat(GLenum format) const;
+ // Helper function called by OnMemoryDump.
+ void DumpTextureRef(base::trace_event::ProcessMemoryDump* pmd,
+ TextureRef* ref);
+
MemoryTypeTracker* GetMemTracker(GLenum texture_pool);
scoped_ptr<MemoryTypeTracker> memory_tracker_managed_;
scoped_ptr<MemoryTypeTracker> memory_tracker_unmanaged_;
+ MemoryTracker* memory_tracker_;
scoped_refptr<FeatureInfo> feature_info_;

Powered by Google App Engine
This is Rietveld 408576698