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

Side by Side Diff: content/renderer/renderer_webkitplatformsupport_impl.cc

Issue 101223005: Plumbing explicit share groups through context creation (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Refactored to always use a ShareGroup + Rebase errata. Created 6 years, 11 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 #include "content/renderer/renderer_webkitplatformsupport_impl.h" 5 #include "content/renderer/renderer_webkitplatformsupport_impl.h"
6 6
7 #include "base/command_line.h" 7 #include "base/command_line.h"
8 #include "base/files/file_path.h" 8 #include "base/files/file_path.h"
9 #include "base/lazy_instance.h" 9 #include "base/lazy_instance.h"
10 #include "base/memory/shared_memory.h" 10 #include "base/memory/shared_memory.h"
(...skipping 917 matching lines...) Expand 10 before | Expand all | Expand 10 after
928 928
929 bool RendererWebKitPlatformSupportImpl::processMemorySizesInBytes( 929 bool RendererWebKitPlatformSupportImpl::processMemorySizesInBytes(
930 size_t* private_bytes, size_t* shared_bytes) { 930 size_t* private_bytes, size_t* shared_bytes) {
931 content::RenderThread::Get()->Send( 931 content::RenderThread::Get()->Send(
932 new ViewHostMsg_GetProcessMemorySizes(private_bytes, shared_bytes)); 932 new ViewHostMsg_GetProcessMemorySizes(private_bytes, shared_bytes));
933 return true; 933 return true;
934 } 934 }
935 935
936 //------------------------------------------------------------------------------ 936 //------------------------------------------------------------------------------
937 937
938
938 blink::WebGraphicsContext3D* 939 blink::WebGraphicsContext3D*
939 RendererWebKitPlatformSupportImpl::createOffscreenGraphicsContext3D( 940 RendererWebKitPlatformSupportImpl::createOffscreenGraphicsContext3D(
941 #ifdef ENABLE_EXPLICIT_GL_SHARE_GROUPS
942 const blink::WebGraphicsContext3D::Attributes& attributes,
943 blink::WebGraphicsContext3D* share_context) {
944 #else
940 const blink::WebGraphicsContext3D::Attributes& attributes) { 945 const blink::WebGraphicsContext3D::Attributes& attributes) {
946 blink::WebGraphicsContext3D* share_context = NULL;
947 #endif
941 if (!RenderThreadImpl::current()) 948 if (!RenderThreadImpl::current())
942 return NULL; 949 return NULL;
943 950
944 scoped_refptr<GpuChannelHost> gpu_channel_host( 951 scoped_refptr<GpuChannelHost> gpu_channel_host(
945 RenderThreadImpl::current()->EstablishGpuChannelSync( 952 RenderThreadImpl::current()->EstablishGpuChannelSync(
946 CAUSE_FOR_GPU_LAUNCH_WEBGRAPHICSCONTEXT3DCOMMANDBUFFERIMPL_INITIALIZE) ); 953 CAUSE_FOR_GPU_LAUNCH_WEBGRAPHICSCONTEXT3DCOMMANDBUFFERIMPL_INITIALIZE) );
947 954
948 WebGraphicsContext3DCommandBufferImpl::SharedMemoryLimits limits; 955 WebGraphicsContext3DCommandBufferImpl::SharedMemoryLimits limits;
949 956
950 CommandLine* command_line = CommandLine::ForCurrentProcess(); 957 CommandLine* command_line = CommandLine::ForCurrentProcess();
951 if (command_line->HasSwitch(switches::kWebGLCommandBufferSizeKb)) { 958 if (command_line->HasSwitch(switches::kWebGLCommandBufferSizeKb)) {
952 std::string size_string = command_line->GetSwitchValueASCII( 959 std::string size_string = command_line->GetSwitchValueASCII(
953 switches::kWebGLCommandBufferSizeKb); 960 switches::kWebGLCommandBufferSizeKb);
954 size_t buffer_size_kb; 961 size_t buffer_size_kb;
955 if (base::StringToSizeT(size_string, &buffer_size_kb)) { 962 if (base::StringToSizeT(size_string, &buffer_size_kb)) {
956 limits.command_buffer_size = buffer_size_kb * 1024; 963 limits.command_buffer_size = buffer_size_kb * 1024;
957 } 964 }
958 } 965 }
959 966
960 return WebGraphicsContext3DCommandBufferImpl::CreateOffscreenContext( 967 return WebGraphicsContext3DCommandBufferImpl::CreateOffscreenContext(
961 gpu_channel_host.get(), 968 gpu_channel_host.get(),
962 attributes, 969 attributes,
963 GURL(attributes.topDocumentURL), 970 GURL(attributes.topDocumentURL),
964 limits); 971 limits,
972 static_cast<WebGraphicsContext3DCommandBufferImpl*>(share_context));
965 } 973 }
966 974
967 //------------------------------------------------------------------------------ 975 //------------------------------------------------------------------------------
968 976
969 blink::WebGraphicsContext3DProvider* RendererWebKitPlatformSupportImpl:: 977 blink::WebGraphicsContext3DProvider* RendererWebKitPlatformSupportImpl::
970 createSharedOffscreenGraphicsContext3DProvider() { 978 createSharedOffscreenGraphicsContext3DProvider() {
971 scoped_refptr<cc::ContextProvider> provider = 979 scoped_refptr<cc::ContextProvider> provider =
972 RenderThreadImpl::current()->SharedMainThreadContextProvider(); 980 RenderThreadImpl::current()->SharedMainThreadContextProvider();
973 if (!provider) 981 if (!provider)
974 return NULL; 982 return NULL;
(...skipping 98 matching lines...) Expand 10 before | Expand all | Expand 10 after
1073 return; 1081 return;
1074 QuotaDispatcher::ThreadSpecificInstance( 1082 QuotaDispatcher::ThreadSpecificInstance(
1075 thread_safe_sender_.get(), 1083 thread_safe_sender_.get(),
1076 quota_message_filter_.get())->QueryStorageUsageAndQuota( 1084 quota_message_filter_.get())->QueryStorageUsageAndQuota(
1077 storage_partition, 1085 storage_partition,
1078 static_cast<quota::StorageType>(type), 1086 static_cast<quota::StorageType>(type),
1079 QuotaDispatcher::CreateWebStorageQuotaCallbacksWrapper(callbacks)); 1087 QuotaDispatcher::CreateWebStorageQuotaCallbacksWrapper(callbacks));
1080 } 1088 }
1081 1089
1082 } // namespace content 1090 } // namespace content
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698