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

Side by Side Diff: content/renderer/gpu/webgraphicscontext3d_command_buffer_impl.cc

Issue 7753035: Allow each WGC3D subclass to determine the correct GrGLInterface for its GrContext. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src/
Patch Set: Created 9 years, 3 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 #if defined(ENABLE_GPU) 5 #if defined(ENABLE_GPU)
6 6
7 #include "content/renderer/gpu/webgraphicscontext3d_command_buffer_impl.h" 7 #include "content/renderer/gpu/webgraphicscontext3d_command_buffer_impl.h"
8 8
9 #include "gpu/GLES2/gl2.h" 9 #include "gpu/GLES2/gl2.h"
10 #ifndef GL_GLEXT_PROTOTYPES 10 #ifndef GL_GLEXT_PROTOTYPES
(...skipping 53 matching lines...) Expand 10 before | Expand all | Expand 10 after
64 static const char* kWebGLPreferredGLExtensions = 64 static const char* kWebGLPreferredGLExtensions =
65 "GL_OES_packed_depth_stencil " 65 "GL_OES_packed_depth_stencil "
66 "GL_OES_depth24 " 66 "GL_OES_depth24 "
67 "GL_CHROMIUM_webglsl"; 67 "GL_CHROMIUM_webglsl";
68 68
69 bool WebGraphicsContext3DCommandBufferImpl::initialize( 69 bool WebGraphicsContext3DCommandBufferImpl::initialize(
70 WebGraphicsContext3D::Attributes attributes, 70 WebGraphicsContext3D::Attributes attributes,
71 WebKit::WebView* web_view, 71 WebKit::WebView* web_view,
72 bool render_directly_to_web_view) { 72 bool render_directly_to_web_view) {
73 TRACE_EVENT0("gpu", "WebGfxCtx3DCmdBfrImpl::initialize"); 73 TRACE_EVENT0("gpu", "WebGfxCtx3DCmdBfrImpl::initialize");
74 webkit_glue::BindSkiaToCommandBufferGL();
75 RenderThread* render_thread = RenderThread::current(); 74 RenderThread* render_thread = RenderThread::current();
76 if (!render_thread) 75 if (!render_thread)
77 return false; 76 return false;
78 GpuChannelHost* host = render_thread->EstablishGpuChannelSync( 77 GpuChannelHost* host = render_thread->EstablishGpuChannelSync(
79 content:: 78 content::
80 CAUSE_FOR_GPU_LAUNCH_WEBGRAPHICSCONTEXT3DCOMMANDBUFFERIMPL_INITIALIZE); 79 CAUSE_FOR_GPU_LAUNCH_WEBGRAPHICSCONTEXT3DCOMMANDBUFFERIMPL_INITIALIZE);
81 if (!host) 80 if (!host)
82 return false; 81 return false;
83 DCHECK(host->state() == GpuChannelHost::kConnected); 82 DCHECK(host->state() == GpuChannelHost::kConnected);
84 83
(...skipping 947 matching lines...) Expand 10 before | Expand all | Expand 10 after
1032 1031
1033 return context_lost_reason_; 1032 return context_lost_reason_;
1034 } 1033 }
1035 1034
1036 void WebGraphicsContext3DCommandBufferImpl:: 1035 void WebGraphicsContext3DCommandBufferImpl::
1037 setSwapBuffersCompleteCallbackCHROMIUM( 1036 setSwapBuffersCompleteCallbackCHROMIUM(
1038 WebGraphicsContext3D::WebGraphicsSwapBuffersCompleteCallbackCHROMIUM* cb) { 1037 WebGraphicsContext3D::WebGraphicsSwapBuffersCompleteCallbackCHROMIUM* cb) {
1039 swapbuffers_complete_callback_ = cb; 1038 swapbuffers_complete_callback_ = cb;
1040 } 1039 }
1041 1040
1041 #if WEBKIT_USING_SKIA
1042 GrGLInterface* WebGraphicsContext3DCommandBufferImpl::grGLInterface() {
1043 return webkit_glue::GetCommandBufferSkiaGLBinding();
1044 }
1045 #endif
1046
1042 namespace { 1047 namespace {
1043 1048
1044 WGC3Denum convertReason(RendererGLContext::ContextLostReason reason) { 1049 WGC3Denum convertReason(RendererGLContext::ContextLostReason reason) {
1045 switch (reason) { 1050 switch (reason) {
1046 case RendererGLContext::kGuilty: 1051 case RendererGLContext::kGuilty:
1047 return GL_GUILTY_CONTEXT_RESET_ARB; 1052 return GL_GUILTY_CONTEXT_RESET_ARB;
1048 case RendererGLContext::kInnocent: 1053 case RendererGLContext::kInnocent:
1049 return GL_INNOCENT_CONTEXT_RESET_ARB; 1054 return GL_INNOCENT_CONTEXT_RESET_ARB;
1050 case RendererGLContext::kUnknown: 1055 case RendererGLContext::kUnknown:
1051 return GL_UNKNOWN_CONTEXT_RESET_ARB; 1056 return GL_UNKNOWN_CONTEXT_RESET_ARB;
(...skipping 13 matching lines...) Expand all
1065 } 1070 }
1066 #ifndef WTF_USE_THREADED_COMPOSITING 1071 #ifndef WTF_USE_THREADED_COMPOSITING
1067 RenderView* renderview = 1072 RenderView* renderview =
1068 web_view_ ? RenderView::FromWebView(web_view_) : NULL; 1073 web_view_ ? RenderView::FromWebView(web_view_) : NULL;
1069 if (renderview) 1074 if (renderview)
1070 renderview->OnViewContextSwapBuffersAborted(); 1075 renderview->OnViewContextSwapBuffersAborted();
1071 #endif 1076 #endif
1072 } 1077 }
1073 1078
1074 #endif // defined(ENABLE_GPU) 1079 #endif // defined(ENABLE_GPU)
OLDNEW
« no previous file with comments | « content/renderer/gpu/webgraphicscontext3d_command_buffer_impl.h ('k') | ui/gfx/gl/gl_bindings_skia_in_process.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698