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

Side by Side Diff: gpu/blink/webgraphicscontext3d_in_process_command_buffer_impl.h

Issue 1053393002: Remove //gpu/{blink,ipc}, gyp files, DEPS files (Closed) Base URL: git@github.com:domokit/mojo.git@master
Patch Set: Created 5 years, 8 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
(Empty)
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
3 // found in the LICENSE file.
4
5 #ifndef GPU_BLINK_WEBGRAPHICSCONTEXT3D_IN_PROCESS_COMMAND_BUFFER_IMPL_H_
6 #define GPU_BLINK_WEBGRAPHICSCONTEXT3D_IN_PROCESS_COMMAND_BUFFER_IMPL_H_
7
8 #include <vector>
9
10 #include "base/compiler_specific.h"
11 #include "base/memory/scoped_ptr.h"
12 #include "gpu/blink/gpu_blink_export.h"
13 #include "gpu/blink/webgraphicscontext3d_impl.h"
14 #include "gpu/command_buffer/client/gl_in_process_context.h"
15 #include "third_party/WebKit/public/platform/WebGraphicsContext3D.h"
16 #include "third_party/WebKit/public/platform/WebString.h"
17 #include "ui/gfx/native_widget_types.h"
18
19 namespace gpu {
20 class ContextSupport;
21 class GLInProcessContext;
22
23 namespace gles2 {
24 class GLES2Interface;
25 class GLES2Implementation;
26 struct ContextCreationAttribHelper;
27 }
28 }
29
30 namespace gpu_blink {
31
32 class GPU_BLINK_EXPORT WebGraphicsContext3DInProcessCommandBufferImpl
33 : public WebGraphicsContext3DImpl {
34 public:
35 enum MappedMemoryReclaimLimit {
36 kNoLimit = 0,
37 };
38
39 static scoped_ptr<WebGraphicsContext3DInProcessCommandBufferImpl>
40 CreateViewContext(
41 const blink::WebGraphicsContext3D::Attributes& attributes,
42 bool lose_context_when_out_of_memory,
43 gfx::AcceleratedWidget window);
44
45 static scoped_ptr<WebGraphicsContext3DInProcessCommandBufferImpl>
46 CreateOffscreenContext(
47 const blink::WebGraphicsContext3D::Attributes& attributes,
48 bool lose_context_when_out_of_memory);
49
50 static scoped_ptr<WebGraphicsContext3DInProcessCommandBufferImpl>
51 WrapContext(
52 scoped_ptr< ::gpu::GLInProcessContext> context,
53 const blink::WebGraphicsContext3D::Attributes& attributes);
54
55 virtual ~WebGraphicsContext3DInProcessCommandBufferImpl();
56
57 size_t GetMappedMemoryLimit();
58
59 bool InitializeOnCurrentThread();
60 void SetLock(base::Lock* lock);
61
62 //----------------------------------------------------------------------
63 // WebGraphicsContext3D methods
64 virtual bool isContextLost();
65
66 virtual blink::WGC3Denum getGraphicsResetStatusARB();
67
68 ::gpu::ContextSupport* GetContextSupport();
69
70 ::gpu::gles2::GLES2Implementation* GetImplementation() {
71 return real_gl_;
72 }
73
74 private:
75 WebGraphicsContext3DInProcessCommandBufferImpl(
76 scoped_ptr< ::gpu::GLInProcessContext> context,
77 const blink::WebGraphicsContext3D::Attributes& attributes,
78 bool lose_context_when_out_of_memory,
79 bool is_offscreen,
80 gfx::AcceleratedWidget window);
81
82 void OnContextLost();
83
84 bool MaybeInitializeGL();
85
86 // Used to try to find bugs in code that calls gl directly through the gl api
87 // instead of going through WebGraphicsContext3D.
88 void ClearContext();
89
90 ::gpu::gles2::ContextCreationAttribHelper attribs_;
91 bool share_resources_;
92 bool webgl_context_;
93
94 bool is_offscreen_;
95 // Only used when not offscreen.
96 gfx::AcceleratedWidget window_;
97
98 // The context we use for OpenGL rendering.
99 scoped_ptr< ::gpu::GLInProcessContext> context_;
100 // The GLES2Implementation we use for OpenGL rendering.
101 ::gpu::gles2::GLES2Implementation* real_gl_;
102 };
103
104 } // namespace gpu_blink
105
106 #endif // GPU_BLINK_WEBGRAPHICSCONTEXT3D_IN_PROCESS_COMMAND_BUFFER_IMPL_H_
OLDNEW
« no previous file with comments | « gpu/blink/webgraphicscontext3d_impl.cc ('k') | gpu/blink/webgraphicscontext3d_in_process_command_buffer_impl.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698