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

Issue 19762004: Add multi-process GpuMemoryBuffer framework. (Closed)

Created:
7 years, 5 months ago by reveman
Modified:
7 years, 2 months ago
Reviewers:
piman, Cris Neckar
CC:
chromium-reviews, joi+watch-content_chromium.org, darin-cc_chromium.org, jam, android-webview-reviews_chromium.org, apatrick_chromium
Visibility:
Public.

Description

Add multi-process GpuMemoryBuffer framework. This adds a multi-process framework for reading/writing directly to memory that the 3D graphics hardware can use for rendering without any costly copying having to be done on the GPU process side. A GpuMemoryBuffer is a type of shared memory that can be accessed by the GPU. The high level procedure required to allocate this type of memory is almost exactly the same as that for standard shared memory. Only the browser process can allocated the memory and it needs to be shared and registered with the GPU process before it can be used. This also adds a GpuMemoryBuffer type that is backed by standard shared memory for testing purposes. TEST=gpu_unittests --gtest_filter=MockGpuMemoryBufferTest.Lifecycle BUG=261649 Committed: https://src.chromium.org/viewvc/chrome?view=rev&revision=230248

Patch Set 1 #

Patch Set 2 : rebase #

Total comments: 1

Patch Set 3 : rebase #

Patch Set 4 : rebase and about flag #

Patch Set 5 : rebase #

Patch Set 6 : rebase #

Patch Set 7 : #

Patch Set 8 : #

Total comments: 14

Patch Set 9 : address review feedback #

Patch Set 10 : Add GpuChannelHost::IsValidGpuMemoryBuffer and DCHECK in CommandBufferProxyImpl::CreateGpuMemoryBuf… #

Patch Set 11 : #

Unified diffs Side-by-side diffs Delta from patch set Stats (+451 lines, -7 lines) Patch
M content/browser/gpu/browser_gpu_channel_host_factory.h View 1 2 1 chunk +4 lines, -0 lines 0 comments Download
M content/browser/gpu/browser_gpu_channel_host_factory.cc View 1 2 3 4 5 6 7 8 2 chunks +23 lines, -1 line 0 comments Download
M content/browser/renderer_host/render_message_filter.h View 1 2 3 4 5 6 7 8 2 chunks +4 lines, -0 lines 0 comments Download
M content/browser/renderer_host/render_message_filter.cc View 1 2 3 4 5 6 7 8 2 chunks +21 lines, -0 lines 0 comments Download
M content/common/child_process_host_impl.h View 1 2 3 4 5 6 7 8 2 chunks +6 lines, -0 lines 0 comments Download
M content/common/child_process_host_impl.cc View 1 2 3 4 5 6 7 8 2 chunks +9 lines, -0 lines 0 comments Download
M content/common/child_process_messages.h View 1 2 3 4 5 6 7 8 3 chunks +13 lines, -0 lines 0 comments Download
content/common/gpu/client/command_buffer_proxy_impl.h View 1 2 3 4 5 4 chunks +8 lines, -1 line 0 comments Download
M content/common/gpu/client/command_buffer_proxy_impl.cc View 1 2 3 4 5 6 7 8 9 2 chunks +50 lines, -4 lines 0 comments Download
M content/common/gpu/client/gpu_channel_host.h View 1 2 3 4 5 6 7 8 9 10 6 chunks +22 lines, -0 lines 0 comments Download
content/common/gpu/client/gpu_channel_host.cc View 1 2 3 4 5 6 7 8 9 3 chunks +31 lines, -0 lines 0 comments Download
content/common/gpu/client/gpu_memory_buffer_impl.h View 1 2 1 chunk +45 lines, -0 lines 0 comments Download
A content/common/gpu/client/gpu_memory_buffer_impl.cc View 1 2 3 1 chunk +80 lines, -0 lines 0 comments Download
M content/common/gpu/client/webgraphicscontext3d_command_buffer_impl.h View 1 2 3 4 5 6 7 8 1 chunk +9 lines, -0 lines 0 comments Download
M content/common/gpu/client/webgraphicscontext3d_command_buffer_impl.cc View 1 2 3 4 5 6 7 8 2 chunks +19 lines, -0 lines 0 comments Download
M content/common/gpu/gpu_command_buffer_stub.h View 1 2 3 4 5 4 chunks +10 lines, -0 lines 0 comments Download
M content/common/gpu/gpu_command_buffer_stub.cc View 1 2 3 4 5 4 chunks +34 lines, -0 lines 0 comments Download
M content/common/gpu/gpu_messages.h View 1 2 3 4 5 6 7 8 3 chunks +15 lines, -1 line 0 comments Download
M content/content_common.gypi View 1 2 3 4 5 1 chunk +2 lines, -0 lines 0 comments Download
M content/renderer/render_thread_impl.h View 1 2 3 4 5 6 7 8 1 chunk +4 lines, -0 lines 0 comments Download
M content/renderer/render_thread_impl.cc View 1 2 3 4 5 6 7 8 2 chunks +42 lines, -0 lines 0 comments Download

Messages

Total messages: 9 (0 generated)
joth
https://codereview.chromium.org/19762004/diff/3001/android_webview/browser/gpu_memory_buffer_factory_impl.cc File android_webview/browser/gpu_memory_buffer_factory_impl.cc (right): https://codereview.chromium.org/19762004/diff/3001/android_webview/browser/gpu_memory_buffer_factory_impl.cc#newcode5 android_webview/browser/gpu_memory_buffer_factory_impl.cc:5: #include "android_webview/browser/gpu_memory_buffer_factory_impl.h" other than renaming, did anything change in ...
7 years, 5 months ago (2013-07-24 02:13:23 UTC) #1
joth
On 2013/07/24 02:13:23, joth wrote: > https://codereview.chromium.org/19762004/diff/3001/android_webview/browser/gpu_memory_buffer_factory_impl.cc > File android_webview/browser/gpu_memory_buffer_factory_impl.cc (right): > > https://codereview.chromium.org/19762004/diff/3001/android_webview/browser/gpu_memory_buffer_factory_impl.cc#newcode5 > ...
7 years, 5 months ago (2013-07-24 02:15:23 UTC) #2
reveman
This is ready for review. I think it's pretty clear that we will be using ...
7 years, 2 months ago (2013-10-19 20:47:01 UTC) #3
piman
LGTM + some nits. https://codereview.chromium.org/19762004/diff/340001/content/browser/gpu/browser_gpu_channel_host_factory.cc File content/browser/gpu/browser_gpu_channel_host_factory.cc (right): https://codereview.chromium.org/19762004/diff/340001/content/browser/gpu/browser_gpu_channel_host_factory.cc#newcode295 content/browser/gpu/browser_gpu_channel_host_factory.cc:295: return scoped_ptr<gfx::GpuMemoryBuffer>(); nit: either DCHECK ...
7 years, 2 months ago (2013-10-21 21:56:59 UTC) #4
reveman
+cdn for review of IPC changes. https://codereview.chromium.org/19762004/diff/340001/content/browser/gpu/browser_gpu_channel_host_factory.cc File content/browser/gpu/browser_gpu_channel_host_factory.cc (right): https://codereview.chromium.org/19762004/diff/340001/content/browser/gpu/browser_gpu_channel_host_factory.cc#newcode295 content/browser/gpu/browser_gpu_channel_host_factory.cc:295: return scoped_ptr<gfx::GpuMemoryBuffer>(); On ...
7 years, 2 months ago (2013-10-22 16:26:11 UTC) #5
Cris Neckar
IPC changes LGTM
7 years, 2 months ago (2013-10-22 20:08:52 UTC) #6
piman
lgtm
7 years, 2 months ago (2013-10-22 20:29:43 UTC) #7
commit-bot: I haz the power
CQ is trying da patch. Follow status at https://chromium-status.appspot.com/cq/reveman@chromium.org/19762004/560001
7 years, 2 months ago (2013-10-22 20:56:37 UTC) #8
commit-bot: I haz the power
7 years, 2 months ago (2013-10-22 23:13:13 UTC) #9
Message was sent while issue was closed.
Change committed as 230248

Powered by Google App Engine
This is Rietveld 408576698