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

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: Large rebase Created 6 years, 10 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 915 matching lines...) Expand 10 before | Expand all | Expand 10 after
926 926
927 bool RendererWebKitPlatformSupportImpl::processMemorySizesInBytes( 927 bool RendererWebKitPlatformSupportImpl::processMemorySizesInBytes(
928 size_t* private_bytes, size_t* shared_bytes) { 928 size_t* private_bytes, size_t* shared_bytes) {
929 content::RenderThread::Get()->Send( 929 content::RenderThread::Get()->Send(
930 new ViewHostMsg_GetProcessMemorySizes(private_bytes, shared_bytes)); 930 new ViewHostMsg_GetProcessMemorySizes(private_bytes, shared_bytes));
931 return true; 931 return true;
932 } 932 }
933 933
934 //------------------------------------------------------------------------------ 934 //------------------------------------------------------------------------------
935 935
936
936 blink::WebGraphicsContext3D* 937 blink::WebGraphicsContext3D*
937 RendererWebKitPlatformSupportImpl::createOffscreenGraphicsContext3D( 938 RendererWebKitPlatformSupportImpl::createOffscreenGraphicsContext3D(
939 #ifdef ENABLE_EXPLICIT_GL_SHARE_GROUPS
940 const blink::WebGraphicsContext3D::Attributes& attributes,
941 blink::WebGraphicsContext3D* share_context) {
942 #else
938 const blink::WebGraphicsContext3D::Attributes& attributes) { 943 const blink::WebGraphicsContext3D::Attributes& attributes) {
944 blink::WebGraphicsContext3D* share_context = NULL;
945 #endif
939 if (!RenderThreadImpl::current()) 946 if (!RenderThreadImpl::current())
940 return NULL; 947 return NULL;
941 948
942 scoped_refptr<GpuChannelHost> gpu_channel_host( 949 scoped_refptr<GpuChannelHost> gpu_channel_host(
943 RenderThreadImpl::current()->EstablishGpuChannelSync( 950 RenderThreadImpl::current()->EstablishGpuChannelSync(
944 CAUSE_FOR_GPU_LAUNCH_WEBGRAPHICSCONTEXT3DCOMMANDBUFFERIMPL_INITIALIZE) ); 951 CAUSE_FOR_GPU_LAUNCH_WEBGRAPHICSCONTEXT3DCOMMANDBUFFERIMPL_INITIALIZE) );
945 952
946 WebGraphicsContext3DCommandBufferImpl::SharedMemoryLimits limits; 953 WebGraphicsContext3DCommandBufferImpl::SharedMemoryLimits limits;
947 954
948 CommandLine* command_line = CommandLine::ForCurrentProcess(); 955 CommandLine* command_line = CommandLine::ForCurrentProcess();
949 if (command_line->HasSwitch(switches::kWebGLCommandBufferSizeKb)) { 956 if (command_line->HasSwitch(switches::kWebGLCommandBufferSizeKb)) {
950 std::string size_string = command_line->GetSwitchValueASCII( 957 std::string size_string = command_line->GetSwitchValueASCII(
951 switches::kWebGLCommandBufferSizeKb); 958 switches::kWebGLCommandBufferSizeKb);
952 size_t buffer_size_kb; 959 size_t buffer_size_kb;
953 if (base::StringToSizeT(size_string, &buffer_size_kb)) { 960 if (base::StringToSizeT(size_string, &buffer_size_kb)) {
954 limits.command_buffer_size = buffer_size_kb * 1024; 961 limits.command_buffer_size = buffer_size_kb * 1024;
955 } 962 }
956 } 963 }
957 964
958 return WebGraphicsContext3DCommandBufferImpl::CreateOffscreenContext( 965 return WebGraphicsContext3DCommandBufferImpl::CreateOffscreenContext(
959 gpu_channel_host.get(), 966 gpu_channel_host.get(),
960 attributes, 967 attributes,
961 GURL(attributes.topDocumentURL), 968 GURL(attributes.topDocumentURL),
962 limits); 969 limits,
970 static_cast<WebGraphicsContext3DCommandBufferImpl*>(share_context));
963 } 971 }
964 972
965 //------------------------------------------------------------------------------ 973 //------------------------------------------------------------------------------
966 974
967 blink::WebGraphicsContext3DProvider* RendererWebKitPlatformSupportImpl:: 975 blink::WebGraphicsContext3DProvider* RendererWebKitPlatformSupportImpl::
968 createSharedOffscreenGraphicsContext3DProvider() { 976 createSharedOffscreenGraphicsContext3DProvider() {
969 scoped_refptr<webkit::gpu::ContextProviderWebContext> provider = 977 scoped_refptr<webkit::gpu::ContextProviderWebContext> provider =
970 RenderThreadImpl::current()->SharedMainThreadContextProvider(); 978 RenderThreadImpl::current()->SharedMainThreadContextProvider();
971 if (!provider) 979 if (!provider)
972 return NULL; 980 return NULL;
(...skipping 98 matching lines...) Expand 10 before | Expand all | Expand 10 after
1071 return; 1079 return;
1072 QuotaDispatcher::ThreadSpecificInstance( 1080 QuotaDispatcher::ThreadSpecificInstance(
1073 thread_safe_sender_.get(), 1081 thread_safe_sender_.get(),
1074 quota_message_filter_.get())->QueryStorageUsageAndQuota( 1082 quota_message_filter_.get())->QueryStorageUsageAndQuota(
1075 storage_partition, 1083 storage_partition,
1076 static_cast<quota::StorageType>(type), 1084 static_cast<quota::StorageType>(type),
1077 QuotaDispatcher::CreateWebStorageQuotaCallbacksWrapper(callbacks)); 1085 QuotaDispatcher::CreateWebStorageQuotaCallbacksWrapper(callbacks));
1078 } 1086 }
1079 1087
1080 } // namespace content 1088 } // namespace content
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698