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

Side by Side Diff: gpu/command_buffer/tests/gl_manager.h

Issue 20017005: gpu: Refactor GpuMemoryBuffer framework for multi-process support. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: rebase Created 7 years, 4 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 | Annotate | Revision Log
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_TESTS_GL_MANAGER_H_ 5 #ifndef GPU_COMMAND_BUFFER_TESTS_GL_MANAGER_H_
6 #define GPU_COMMAND_BUFFER_TESTS_GL_MANAGER_H_ 6 #define GPU_COMMAND_BUFFER_TESTS_GL_MANAGER_H_
7 7
8 #include "base/memory/ref_counted.h" 8 #include "base/memory/ref_counted.h"
9 #include "base/memory/scoped_ptr.h" 9 #include "base/memory/scoped_ptr.h"
10 #include "gpu/command_buffer/service/feature_info.h" 10 #include "gpu/command_buffer/service/feature_info.h"
11 #include "ui/gfx/size.h" 11 #include "ui/gfx/size.h"
12 12
13 namespace gfx { 13 namespace gfx {
14 14
15 class GLContext; 15 class GLContext;
16 class GLShareGroup; 16 class GLShareGroup;
17 class GLSurface; 17 class GLSurface;
18 18
19 } 19 }
20 20
21 namespace gpu { 21 namespace gpu {
22 22
23 class CommandBufferService; 23 class CommandBufferService;
24 class GpuControlService;
25 class GpuMemoryBufferFactory;
26 class GpuScheduler;
24 class TransferBuffer; 27 class TransferBuffer;
25 class GpuScheduler;
26 28
27 namespace gles2 { 29 namespace gles2 {
28 30
29 class ContextGroup; 31 class ContextGroup;
30 class MailboxManager; 32 class MailboxManager;
31 class GLES2Decoder; 33 class GLES2Decoder;
32 class GLES2CmdHelper; 34 class GLES2CmdHelper;
33 class GLES2Implementation; 35 class GLES2Implementation;
34 class ImageFactory; 36 class ImageFactory;
35 class ImageManager; 37 class ImageManager;
(...skipping 12 matching lines...) Expand all
48 // If not null will share a mailbox manager with this context. 50 // If not null will share a mailbox manager with this context.
49 GLManager* share_mailbox_manager; 51 GLManager* share_mailbox_manager;
50 // If not null will create a virtual manager based on this context. 52 // If not null will create a virtual manager based on this context.
51 GLManager* virtual_manager; 53 GLManager* virtual_manager;
52 // Whether or not glBindXXX generates a resource. 54 // Whether or not glBindXXX generates a resource.
53 bool bind_generates_resource; 55 bool bind_generates_resource;
54 // Whether or not it's ok to lose the context. 56 // Whether or not it's ok to lose the context.
55 bool context_lost_allowed; 57 bool context_lost_allowed;
56 // Image manager to be used. 58 // Image manager to be used.
57 gles2::ImageManager* image_manager; 59 gles2::ImageManager* image_manager;
58 // Image factory to be used. 60 // GpuMemoryBuffer factory to be used.
59 gles2::ImageFactory* image_factory; 61 GpuMemoryBufferFactory* gpu_memory_buffer_factory;
60 }; 62 };
61 GLManager(); 63 GLManager();
62 ~GLManager(); 64 ~GLManager();
63 65
64 void Initialize(const Options& options); 66 void Initialize(const Options& options);
65 void Destroy(); 67 void Destroy();
66 68
67 void MakeCurrent(); 69 void MakeCurrent();
68 70
69 void SetSurface(gfx::GLSurface* surface); 71 void SetSurface(gfx::GLSurface* surface);
(...skipping 21 matching lines...) Expand all
91 const gpu::gles2::FeatureInfo::Workarounds& workarounds() const; 93 const gpu::gles2::FeatureInfo::Workarounds& workarounds() const;
92 94
93 private: 95 private:
94 void PumpCommands(); 96 void PumpCommands();
95 bool GetBufferChanged(int32 transfer_buffer_id); 97 bool GetBufferChanged(int32 transfer_buffer_id);
96 void SetupBaseContext(); 98 void SetupBaseContext();
97 99
98 scoped_refptr<gles2::MailboxManager> mailbox_manager_; 100 scoped_refptr<gles2::MailboxManager> mailbox_manager_;
99 scoped_refptr<gfx::GLShareGroup> share_group_; 101 scoped_refptr<gfx::GLShareGroup> share_group_;
100 scoped_ptr<CommandBufferService> command_buffer_; 102 scoped_ptr<CommandBufferService> command_buffer_;
103 scoped_ptr<GpuControlService> gpu_control_;
101 scoped_ptr<gles2::GLES2Decoder> decoder_; 104 scoped_ptr<gles2::GLES2Decoder> decoder_;
102 scoped_ptr<GpuScheduler> gpu_scheduler_; 105 scoped_ptr<GpuScheduler> gpu_scheduler_;
103 scoped_refptr<gfx::GLSurface> surface_; 106 scoped_refptr<gfx::GLSurface> surface_;
104 scoped_refptr<gfx::GLContext> context_; 107 scoped_refptr<gfx::GLContext> context_;
105 scoped_ptr<gles2::GLES2CmdHelper> gles2_helper_; 108 scoped_ptr<gles2::GLES2CmdHelper> gles2_helper_;
106 scoped_ptr<TransferBuffer> transfer_buffer_; 109 scoped_ptr<TransferBuffer> transfer_buffer_;
107 scoped_ptr<gles2::GLES2Implementation> gles2_implementation_; 110 scoped_ptr<gles2::GLES2Implementation> gles2_implementation_;
108 bool context_lost_allowed_; 111 bool context_lost_allowed_;
109 112
110 // Used on Android to virtualize GL for all contexts. 113 // Used on Android to virtualize GL for all contexts.
111 static int use_count_; 114 static int use_count_;
112 static scoped_refptr<gfx::GLShareGroup>* base_share_group_; 115 static scoped_refptr<gfx::GLShareGroup>* base_share_group_;
113 static scoped_refptr<gfx::GLSurface>* base_surface_; 116 static scoped_refptr<gfx::GLSurface>* base_surface_;
114 static scoped_refptr<gfx::GLContext>* base_context_; 117 static scoped_refptr<gfx::GLContext>* base_context_;
115 }; 118 };
116 119
117 } // namespace gpu 120 } // namespace gpu
118 121
119 #endif // GPU_COMMAND_BUFFER_TESTS_GL_MANAGER_H_ 122 #endif // GPU_COMMAND_BUFFER_TESTS_GL_MANAGER_H_
OLDNEW
« no previous file with comments | « gpu/command_buffer/tests/gl_gpu_memory_buffer_unittests.cc ('k') | gpu/command_buffer/tests/gl_manager.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698