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

Side by Side Diff: content/renderer/renderer_gl_context.h

Issue 6840060: Progress towards fixing 77536 (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: "" Created 9 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 | Annotate | Revision Log
OLDNEW
1 // Copyright (c) 2011 The Chromium Authors. All rights reserved. 1 // Copyright (c) 2011 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 // This API is consistent with other OpenGL setup APIs like window's WGL 5 // This API is consistent with other OpenGL setup APIs like window's WGL
6 // and pepper's PGL. This API is used to manage OpenGL RendererGLContexts in the 6 // and pepper's PGL. This API is used to manage OpenGL RendererGLContexts in the
7 // Chrome renderer process in a way that is consistent with other platforms. 7 // Chrome renderer process in a way that is consistent with other platforms.
8 8
9 #ifndef CONTENT_RENDERER_RENDERER_GL_CONTEXT_H_ 9 #ifndef CONTENT_RENDERER_RENDERER_GL_CONTEXT_H_
10 #define CONTENT_RENDERER_RENDERER_GL_CONTEXT_H_ 10 #define CONTENT_RENDERER_RENDERER_GL_CONTEXT_H_
(...skipping 73 matching lines...) Expand 10 before | Expand all | Expand 10 after
84 // already in place. We could add more entry points and messages to 84 // already in place. We could add more entry points and messages to
85 // allocate both fake PluginWindowHandles and NativeViewIds and map 85 // allocate both fake PluginWindowHandles and NativeViewIds and map
86 // from fake NativeViewIds to PluginWindowHandles, but this seems like 86 // from fake NativeViewIds to PluginWindowHandles, but this seems like
87 // unnecessary complexity at the moment. 87 // unnecessary complexity at the moment.
88 // 88 //
89 // The render_view_id is currently also only used on Mac OS X. 89 // The render_view_id is currently also only used on Mac OS X.
90 // TODO(kbr): clean up the arguments to this function and make them 90 // TODO(kbr): clean up the arguments to this function and make them
91 // more cross-platform. 91 // more cross-platform.
92 static RendererGLContext* CreateViewContext( 92 static RendererGLContext* CreateViewContext(
93 GpuChannelHost* channel, 93 GpuChannelHost* channel,
94 gfx::PluginWindowHandle render_surface,
94 int render_view_id, 95 int render_view_id,
95 const char* allowed_extensions, 96 const char* allowed_extensions,
96 const int32* attrib_list, 97 const int32* attrib_list,
97 const GURL& active_arl); 98 const GURL& active_arl);
98 99
99 #if defined(OS_MACOSX) 100 #if defined(OS_MACOSX)
100 // On Mac OS X only, view RendererGLContexts actually behave like offscreen 101 // On Mac OS X only, view RendererGLContexts actually behave like offscreen
101 // RendererGLContexts, and require an explicit resize operation which is 102 // RendererGLContexts, and require an explicit resize operation which is
102 // slightly different from that of offscreen RendererGLContexts. 103 // slightly different from that of offscreen RendererGLContexts.
103 void ResizeOnscreen(const gfx::Size& size); 104 void ResizeOnscreen(const gfx::Size& size);
(...skipping 94 matching lines...) Expand 10 before | Expand all | Expand 10 after
198 // for synchronization with parent context. If *this* context does not have a 199 // for synchronization with parent context. If *this* context does not have a
199 // parent context, these methods will return false. 200 // parent context, these methods will return false.
200 bool GetParentToChildLatch(uint32* parent_to_child_latch); 201 bool GetParentToChildLatch(uint32* parent_to_child_latch);
201 bool GetChildToParentLatch(uint32* child_to_parent_latch); 202 bool GetChildToParentLatch(uint32* child_to_parent_latch);
202 203
203 private: 204 private:
204 RendererGLContext(GpuChannelHost* channel, 205 RendererGLContext(GpuChannelHost* channel,
205 RendererGLContext* parent); 206 RendererGLContext* parent);
206 207
207 bool Initialize(bool onscreen, 208 bool Initialize(bool onscreen,
209 gfx::PluginWindowHandle render_surface,
208 int render_view_id, 210 int render_view_id,
209 const gfx::Size& size, 211 const gfx::Size& size,
210 const char* allowed_extensions, 212 const char* allowed_extensions,
211 const int32* attrib_list, 213 const int32* attrib_list,
212 const GURL& active_url); 214 const GURL& active_url);
213 void Destroy(); 215 void Destroy();
214 216
215 void OnSwapBuffers(); 217 void OnSwapBuffers();
216 void OnContextLost(); 218 void OnContextLost();
217 219
218 scoped_refptr<GpuChannelHost> channel_; 220 scoped_refptr<GpuChannelHost> channel_;
219 base::WeakPtr<RendererGLContext> parent_; 221 base::WeakPtr<RendererGLContext> parent_;
220 scoped_ptr<Callback0::Type> swap_buffers_callback_; 222 scoped_ptr<Callback0::Type> swap_buffers_callback_;
221 scoped_ptr<Callback0::Type> context_lost_callback_; 223 scoped_ptr<Callback0::Type> context_lost_callback_;
222 uint32 parent_texture_id_; 224 uint32 parent_texture_id_;
223 uint32 child_to_parent_latch_; 225 uint32 child_to_parent_latch_;
224 uint32 parent_to_child_latch_; 226 uint32 parent_to_child_latch_;
225 int32 latch_transfer_buffer_id_; 227 int32 latch_transfer_buffer_id_;
226 CommandBufferProxy* command_buffer_; 228 CommandBufferProxy* command_buffer_;
227 gpu::gles2::GLES2CmdHelper* gles2_helper_; 229 gpu::gles2::GLES2CmdHelper* gles2_helper_;
228 int32 transfer_buffer_id_; 230 int32 transfer_buffer_id_;
229 gpu::gles2::GLES2Implementation* gles2_implementation_; 231 gpu::gles2::GLES2Implementation* gles2_implementation_;
230 gfx::Size size_; 232 gfx::Size size_;
231 Error last_error_; 233 Error last_error_;
232 234
233 DISALLOW_COPY_AND_ASSIGN(RendererGLContext); 235 DISALLOW_COPY_AND_ASSIGN(RendererGLContext);
234 }; 236 };
235 237
236 #endif // CONTENT_RENDERER_RENDERER_GL_CONTEXT_H_ 238 #endif // CONTENT_RENDERER_RENDERER_GL_CONTEXT_H_
OLDNEW
« no previous file with comments | « content/renderer/render_widget_fullscreen_pepper.cc ('k') | content/renderer/renderer_gl_context.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698