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

Issue 77023002: gpu: Add IOSurface backed GpuMemoryBuffer implementation. (Closed)

Created:
7 years, 1 month ago by reveman
Modified:
7 years ago
CC:
chromium-reviews, jbauman+watch_chromium.org, jam, sievers+watch_chromium.org, joi+watch-content_chromium.org, darin-cc_chromium.org, kalyank, piman+watch_chromium.org, danakj+watch_chromium.org, ccameron
Visibility:
Public.

Description

gpu: Add IOSurface backed GpuMemoryBuffer implementation. This adds a GpuMemoryBuffer implementation on MacOSX that is backed by IOSurfaces. These GpuMemmoryBuffers provide zero-copy texture updates when using impl-side painting on MacOSX. BUG=321785, 323338 Committed: https://src.chromium.org/viewvc/chrome?view=rev&revision=238841

Patch Set 1 #

Patch Set 2 : #

Patch Set 3 : rebase #

Patch Set 4 : rebase #

Patch Set 5 : #

Patch Set 6 : #

Patch Set 7 : Add IOSurfaceLookup() to sandbox warmup #

Total comments: 2

Patch Set 8 : add link to crbug #

Patch Set 9 : #

Patch Set 10 : #

Patch Set 11 : re-upload #

Patch Set 12 : #

Total comments: 7

Patch Set 13 : address review feedback #

Total comments: 16

Patch Set 14 : address review feedback #

Total comments: 2

Patch Set 15 : fix overflow check #

Unified diffs Side-by-side diffs Delta from patch set Stats (+754 lines, -107 lines) Patch
M content/browser/gpu/browser_gpu_channel_host_factory.cc View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 2 chunks +7 lines, -6 lines 0 comments Download
M content/browser/renderer_host/render_message_filter.h View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 3 chunks +8 lines, -1 line 0 comments Download
M content/browser/renderer_host/render_message_filter.cc View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 4 chunks +89 lines, -12 lines 0 comments Download
M content/common/child_process_host_impl.h View 1 chunk +3 lines, -1 line 0 comments Download
M content/common/child_process_host_impl.cc View 2 chunks +8 lines, -2 lines 0 comments Download
M content/common/child_process_messages.h View 1 2 3 4 2 chunks +7 lines, -2 lines 0 comments Download
M content/common/gpu/client/gpu_channel_host.cc View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 2 chunks +7 lines, -0 lines 0 comments Download
M content/common/gpu/client/gpu_memory_buffer_impl.h View 1 2 3 4 5 6 7 8 9 10 11 12 1 chunk +11 lines, -13 lines 0 comments Download
M content/common/gpu/client/gpu_memory_buffer_impl.cc View 1 2 2 chunks +10 lines, -37 lines 0 comments Download
A content/common/gpu/client/gpu_memory_buffer_impl_android.cc View 1 chunk +29 lines, -0 lines 0 comments Download
A content/common/gpu/client/gpu_memory_buffer_impl_io_surface.h View 1 2 3 4 5 6 7 8 9 10 11 12 13 1 chunk +42 lines, -0 lines 0 comments Download
A content/common/gpu/client/gpu_memory_buffer_impl_io_surface.cc View 1 2 3 4 5 6 7 8 9 10 11 12 13 1 chunk +79 lines, -0 lines 0 comments Download
A content/common/gpu/client/gpu_memory_buffer_impl_linux.cc View 1 chunk +29 lines, -0 lines 0 comments Download
A content/common/gpu/client/gpu_memory_buffer_impl_mac.cc View 1 chunk +38 lines, -0 lines 0 comments Download
A content/common/gpu/client/gpu_memory_buffer_impl_ozone.cc View 1 chunk +29 lines, -0 lines 0 comments Download
A content/common/gpu/client/gpu_memory_buffer_impl_shm.h View 1 2 3 4 5 6 7 8 9 10 11 12 1 chunk +36 lines, -0 lines 0 comments Download
A content/common/gpu/client/gpu_memory_buffer_impl_shm.cc View 1 chunk +56 lines, -0 lines 0 comments Download
A content/common/gpu/client/gpu_memory_buffer_impl_win.cc View 1 chunk +29 lines, -0 lines 0 comments Download
M content/common/sandbox_mac.mm View 1 2 3 4 5 6 7 2 chunks +10 lines, -0 lines 0 comments Download
M content/content_common.gypi View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 2 chunks +11 lines, -0 lines 0 comments Download
M content/renderer/render_thread_impl.h View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 2 chunks +6 lines, -0 lines 0 comments Download
M content/renderer/render_thread_impl.cc View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 3 chunks +14 lines, -19 lines 0 comments Download
M ui/gfx/gpu_memory_buffer.h View 3 chunks +9 lines, -1 line 0 comments Download
M ui/gl/gl.gyp View 1 chunk +2 lines, -0 lines 0 comments Download
A + ui/gl/gl_image_io_surface.h View 1 2 3 4 5 6 7 8 9 10 11 12 13 2 chunks +12 lines, -13 lines 0 comments Download
A ui/gl/gl_image_io_surface.cc View 1 2 3 4 5 6 7 8 9 10 11 12 13 1 chunk +79 lines, -0 lines 0 comments Download
M ui/gl/gl_image_mac.cc View 1 2 2 chunks +8 lines, -0 lines 0 comments Download
M ui/gl/io_surface_support_mac.h View 1 2 chunks +10 lines, -0 lines 0 comments Download
M ui/gl/io_surface_support_mac.cc View 1 15 chunks +76 lines, -0 lines 0 comments Download

Messages

Total messages: 21 (0 generated)
reveman
I think this is ready for review. It requires punching a hole in the renderer ...
7 years ago (2013-11-26 01:28:46 UTC) #1
jeremy
Opening new holes in the renderer sandbox is a last resort, can we get around ...
7 years ago (2013-11-26 14:29:15 UTC) #2
reveman
Latest patch adds IOSurfaceLookup to the sandbox warm up code. It seems to be enough ...
7 years ago (2013-11-26 23:40:39 UTC) #3
jeremy
Sandbox warmup LGTM, can't review the rest of the CL. Thank you for taking the ...
7 years ago (2013-11-27 08:26:08 UTC) #4
reveman
https://codereview.chromium.org/77023002/diff/210001/content/common/sandbox_mac.mm File content/common/sandbox_mac.mm (right): https://codereview.chromium.org/77023002/diff/210001/content/common/sandbox_mac.mm#newcode311 content/common/sandbox_mac.mm:311: { // IOSurfaceLookup() - 10.7 On 2013/11/27 08:26:09, jeremy ...
7 years ago (2013-11-27 16:04:28 UTC) #5
piman
+kbr for the IOSurface things which I don't fully understand. https://codereview.chromium.org/77023002/diff/310001/content/browser/renderer_host/render_message_filter.cc File content/browser/renderer_host/render_message_filter.cc (right): https://codereview.chromium.org/77023002/diff/310001/content/browser/renderer_host/render_message_filter.cc#newcode1226 ...
7 years ago (2013-12-03 02:59:51 UTC) #6
reveman
+kbr PTAL https://codereview.chromium.org/77023002/diff/310001/content/browser/renderer_host/render_message_filter.cc File content/browser/renderer_host/render_message_filter.cc (right): https://codereview.chromium.org/77023002/diff/310001/content/browser/renderer_host/render_message_filter.cc#newcode1226 content/browser/renderer_host/render_message_filter.cc:1226: last_io_surface_ = io_surface; On 2013/12/03 02:59:51, piman ...
7 years ago (2013-12-03 17:58:32 UTC) #7
piman
LGTM for my parts.
7 years ago (2013-12-03 21:17:08 UTC) #8
reveman
+cdn for ipc changes
7 years ago (2013-12-03 21:21:18 UTC) #9
Ken Russell (switch to Gerrit)
LGTM assuming this has been tested. I don't know how these GLImages are drawn by ...
7 years ago (2013-12-03 22:36:12 UTC) #10
Cris Neckar
https://codereview.chromium.org/77023002/diff/330001/content/browser/renderer_host/render_message_filter.cc File content/browser/renderer_host/render_message_filter.cc (right): https://codereview.chromium.org/77023002/diff/330001/content/browser/renderer_host/render_message_filter.cc#newcode1237 content/browser/renderer_host/render_message_filter.cc:1237: width * height * GpuMemoryBufferImpl::BytesPerPixel(internalformat), Need to check for ...
7 years ago (2013-12-03 22:54:47 UTC) #11
reveman
Fyi, crrev.com/236981 added support for GL_TEXTURE_RECTANGLE_ARB to the compositor and it's now used by default ...
7 years ago (2013-12-04 02:00:30 UTC) #12
Cris Neckar
https://codereview.chromium.org/77023002/diff/350001/content/browser/renderer_host/render_message_filter.cc File content/browser/renderer_host/render_message_filter.cc (right): https://codereview.chromium.org/77023002/diff/350001/content/browser/renderer_host/render_message_filter.cc#newcode1236 content/browser/renderer_host/render_message_filter.cc:1236: GpuMemoryBufferImpl::BytesPerPixel(internalformat); max size_t * max size_t * 4 still ...
7 years ago (2013-12-04 18:52:44 UTC) #13
Cris Neckar
On 2013/12/04 18:52:44, Cris Neckar wrote: > https://codereview.chromium.org/77023002/diff/350001/content/browser/renderer_host/render_message_filter.cc > File content/browser/renderer_host/render_message_filter.cc (right): > > https://codereview.chromium.org/77023002/diff/350001/content/browser/renderer_host/render_message_filter.cc#newcode1236 ...
7 years ago (2013-12-04 18:57:06 UTC) #14
reveman
https://codereview.chromium.org/77023002/diff/350001/content/browser/renderer_host/render_message_filter.cc File content/browser/renderer_host/render_message_filter.cc (right): https://codereview.chromium.org/77023002/diff/350001/content/browser/renderer_host/render_message_filter.cc#newcode1236 content/browser/renderer_host/render_message_filter.cc:1236: GpuMemoryBufferImpl::BytesPerPixel(internalformat); On 2013/12/04 18:52:45, Cris Neckar wrote: > max ...
7 years ago (2013-12-04 21:39:01 UTC) #15
Cris Neckar
On 2013/12/04 21:39:01, David Reveman wrote: > https://codereview.chromium.org/77023002/diff/350001/content/browser/renderer_host/render_message_filter.cc > File content/browser/renderer_host/render_message_filter.cc (right): > > https://codereview.chromium.org/77023002/diff/350001/content/browser/renderer_host/render_message_filter.cc#newcode1236 ...
7 years ago (2013-12-04 21:54:47 UTC) #16
commit-bot: I haz the power
CQ is trying da patch. Follow status at https://chromium-status.appspot.com/cq/reveman@chromium.org/77023002/370001
7 years ago (2013-12-04 21:59:06 UTC) #17
commit-bot: I haz the power
Retried try job too often on chromium_presubmit for step(s) presubmit http://build.chromium.org/p/tryserver.chromium/buildstatus?builder=chromium_presubmit&number=39453
7 years ago (2013-12-04 22:16:52 UTC) #18
danakj
ui/gfx rubberstamplgtm
7 years ago (2013-12-04 22:32:23 UTC) #19
commit-bot: I haz the power
CQ is trying da patch. Follow status at https://chromium-status.appspot.com/cq/reveman@chromium.org/77023002/370001
7 years ago (2013-12-04 22:33:25 UTC) #20
commit-bot: I haz the power
7 years ago (2013-12-05 01:02:16 UTC) #21
Message was sent while issue was closed.
Change committed as 238841

Powered by Google App Engine
This is Rietveld 408576698