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

Issue 1062853002: Add gfx::GpuMemoryBuffer::YUV_420 and GpuMemoryBufferImplSharedMemory support (Closed)

Created:
5 years, 8 months ago by emircan
Modified:
5 years, 8 months ago
CC:
cc-bugs_chromium.org, chromium-reviews, danakj+watch_chromium.org, darin-cc_chromium.org, jam, jbauman+watch_chromium.org, kalyank, ozone-reviews_chromium.org, piman+watch_chromium.org, sievers+watch_chromium.org
Base URL:
https://chromium.googlesource.com/chromium/src.git@master
Target Ref:
refs/pending/heads/master
Project:
chromium
Visibility:
Public.

Description

We started redesigning GpuMemoryBuffer interface to handle multiple buffers [0]. [0] https://codereview.chromium.org/1024113003/#ps200001 In this CL: - I added a new format gfx::GpuMemoryBuffer::YUV_420 - Implemented helper functions to use with it on GpuMemoryBufferImpl. - I added support in GpuMemoryBufferImplSharedMemory and GpuMemoryBufferFactorySharedMemory - I added { gfx::GpuMemoryBuffer::YUV_420, gfx::GpuMemoryBuffer::MAP } as a supported config for testing - I added support for multi plane in test implementations: test_gpu_memory_buffer_manager, gl_manager, gpu_memory_buffer_impl_unittest The future steps are: - Add a new GL_* internalformat corresponding to YUV_420 - Implement support for YUV_420 in GpuMemoryBufferFactoryOzoneNativeBuffer, GLImageLinuxDMABuffer and SurfaceFactoryOzone - Expose file descriptors for gfx::GpuMemoryBuffer::YUV_420 via Map() or GpuMemoryBufferHandle struct Check usage of gbm_bo_get_fd() at the lowest gbmbuffer level - Add support in GLImageSharedMemory and GLImageMemory through Bind functions - Look for possible use cases of multiple buffers on Android, Mac, and Win platforms BUG=439520 TEST=content_unittests --gtest_filter=GpuMemoryBufferImplTests.* content_unittests --gtest_filter=GpuMemoryBufferFactoryTest.* gl_tests --gtest_filter=GpuMemoryBufferTest* Committed: https://crrev.com/607ed17ba5d0d1c67901ecc7160db660f08bd831 Cr-Commit-Position: refs/heads/master@{#324190}

Patch Set 1 : #

Total comments: 23

Patch Set 2 : fixing trybots errors. #

Patch Set 3 : reveman@ comments. #

Total comments: 22

Patch Set 4 : reveman@ comments. #

Total comments: 2

Patch Set 5 : Updated comment. #

Patch Set 6 : #

Total comments: 3
Unified diffs Side-by-side diffs Delta from patch set Stats (+330 lines, -114 lines) Patch
M cc/test/test_gpu_memory_buffer_manager.cc View 1 2 4 chunks +72 lines, -8 lines 0 comments Download
M content/common/gpu/client/gpu_memory_buffer_impl.h View 1 2 3 1 chunk +7 lines, -3 lines 0 comments Download
M content/common/gpu/client/gpu_memory_buffer_impl.cc View 1 2 3 1 chunk +51 lines, -22 lines 0 comments Download
M content/common/gpu/client/gpu_memory_buffer_impl_shared_memory.h View 1 2 3 4 5 1 chunk +6 lines, -0 lines 0 comments Download
M content/common/gpu/client/gpu_memory_buffer_impl_shared_memory.cc View 1 2 3 8 chunks +60 lines, -31 lines 3 comments Download
M content/common/gpu/client/gpu_memory_buffer_impl_surface_texture.cc View 2 chunks +2 lines, -1 line 0 comments Download
M content/common/gpu/client/gpu_memory_buffer_impl_unittest.cc View 1 2 3 2 chunks +31 lines, -23 lines 0 comments Download
M content/common/gpu/gpu_memory_buffer_factory_io_surface.cc View 2 chunks +2 lines, -0 lines 0 comments Download
M content/common/gpu/gpu_memory_buffer_factory_shared_memory.cc View 1 2 3 3 chunks +8 lines, -13 lines 0 comments Download
M content/common/gpu/gpu_memory_buffer_factory_unittest.cc View 1 chunk +1 line, -1 line 0 comments Download
M gpu/command_buffer/service/image_factory.cc View 2 chunks +2 lines, -0 lines 0 comments Download
M gpu/command_buffer/tests/gl_gpu_memory_buffer_unittest.cc View 3 chunks +3 lines, -0 lines 0 comments Download
M gpu/command_buffer/tests/gl_manager.cc View 1 2 3 chunks +70 lines, -5 lines 0 comments Download
M ui/gfx/gpu_memory_buffer.h View 1 chunk +2 lines, -1 line 0 comments Download
M ui/gl/gl_image_linux_dma_buffer.cc View 3 chunks +3 lines, -0 lines 0 comments Download
M ui/gl/gl_image_memory.cc View 6 chunks +9 lines, -6 lines 0 comments Download
M ui/ozone/gpu/gpu_memory_buffer_factory_ozone_native_buffer.cc View 1 chunk +1 line, -0 lines 0 comments Download

Messages

Total messages: 27 (11 generated)
emircan
Please take a look.
5 years, 8 months ago (2015-04-07 17:16:21 UTC) #5
reveman
this looks great! mostly nits and a possible overflow issue https://codereview.chromium.org/1062853002/diff/60001/cc/test/test_gpu_memory_buffer_manager.cc File cc/test/test_gpu_memory_buffer_manager.cc (right): https://codereview.chromium.org/1062853002/diff/60001/cc/test/test_gpu_memory_buffer_manager.cc#newcode8 ...
5 years, 8 months ago (2015-04-07 19:03:25 UTC) #6
emircan
https://codereview.chromium.org/1062853002/diff/60001/cc/test/test_gpu_memory_buffer_manager.cc File cc/test/test_gpu_memory_buffer_manager.cc (right): https://codereview.chromium.org/1062853002/diff/60001/cc/test/test_gpu_memory_buffer_manager.cc#newcode8 cc/test/test_gpu_memory_buffer_manager.cc:8: #include "base/memory/scoped_vector.h" On 2015/04/07 19:03:24, reveman wrote: > nit: ...
5 years, 8 months ago (2015-04-07 20:08:12 UTC) #8
reveman
https://codereview.chromium.org/1062853002/diff/120001/content/common/gpu/client/gpu_memory_buffer_impl.cc File content/common/gpu/client/gpu_memory_buffer_impl.cc (right): https://codereview.chromium.org/1062853002/diff/120001/content/common/gpu/client/gpu_memory_buffer_impl.cc#newcode81 content/common/gpu/client/gpu_memory_buffer_impl.cc:81: gfx::GpuMemoryBuffer::Format format) { nit: remove gfx::GpuMemoryBuffer:: prefix if possible ...
5 years, 8 months ago (2015-04-07 20:33:45 UTC) #9
emircan
Please take a look. https://codereview.chromium.org/1062853002/diff/120001/content/common/gpu/client/gpu_memory_buffer_impl.cc File content/common/gpu/client/gpu_memory_buffer_impl.cc (right): https://codereview.chromium.org/1062853002/diff/120001/content/common/gpu/client/gpu_memory_buffer_impl.cc#newcode81 content/common/gpu/client/gpu_memory_buffer_impl.cc:81: gfx::GpuMemoryBuffer::Format format) { On 2015/04/07 ...
5 years, 8 months ago (2015-04-07 21:28:46 UTC) #10
reveman
lgtm with nit https://codereview.chromium.org/1062853002/diff/140001/content/common/gpu/client/gpu_memory_buffer_impl_shared_memory.h File content/common/gpu/client/gpu_memory_buffer_impl_shared_memory.h (right): https://codereview.chromium.org/1062853002/diff/140001/content/common/gpu/client/gpu_memory_buffer_impl_shared_memory.h#newcode27 content/common/gpu/client/gpu_memory_buffer_impl_shared_memory.h:27: // Calculates the number of bytes ...
5 years, 8 months ago (2015-04-07 21:43:56 UTC) #11
reveman
+alexst for ui/ozone
5 years, 8 months ago (2015-04-07 21:44:39 UTC) #13
emircan
https://codereview.chromium.org/1062853002/diff/140001/content/common/gpu/client/gpu_memory_buffer_impl_shared_memory.h File content/common/gpu/client/gpu_memory_buffer_impl_shared_memory.h (right): https://codereview.chromium.org/1062853002/diff/140001/content/common/gpu/client/gpu_memory_buffer_impl_shared_memory.h#newcode27 content/common/gpu/client/gpu_memory_buffer_impl_shared_memory.h:27: // Calculates the number of bytes that an implementation ...
5 years, 8 months ago (2015-04-07 21:47:47 UTC) #14
alexst (slow to review)
lgtm
5 years, 8 months ago (2015-04-08 00:31:14 UTC) #16
emircan
Thanks. I still need OWNERS review: sievers for content/common/gpu/client/* and gpu/command_buffer/*
5 years, 8 months ago (2015-04-08 00:49:05 UTC) #18
reveman
+piman for gpu/command_buffer/service/image_factory.cc and gpu/command_buffer/tests/gl_manager.cc
5 years, 8 months ago (2015-04-08 02:15:24 UTC) #20
reveman
On 2015/04/08 at 02:15:24, reveman wrote: > +piman for gpu/command_buffer/service/image_factory.cc and gpu/command_buffer/tests/gl_manager.cc sorry, I missed ...
5 years, 8 months ago (2015-04-08 02:19:12 UTC) #21
piman
lgtm https://codereview.chromium.org/1062853002/diff/180001/content/common/gpu/client/gpu_memory_buffer_impl_shared_memory.cc File content/common/gpu/client/gpu_memory_buffer_impl_shared_memory.cc (right): https://codereview.chromium.org/1062853002/diff/180001/content/common/gpu/client/gpu_memory_buffer_impl_shared_memory.cc#newcode78 content/common/gpu/client/gpu_memory_buffer_impl_shared_memory.cc:78: for (size_t i = 0; i < NumberOfPlanesForGpuMemoryBufferFormat(format); ...
5 years, 8 months ago (2015-04-08 04:58:05 UTC) #22
commit-bot: I haz the power
CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/patch-status/1062853002/180001
5 years, 8 months ago (2015-04-08 05:04:53 UTC) #25
commit-bot: I haz the power
Committed patchset #6 (id:180001)
5 years, 8 months ago (2015-04-08 06:25:26 UTC) #26
commit-bot: I haz the power
5 years, 8 months ago (2015-04-08 06:26:18 UTC) #27
Message was sent while issue was closed.
Patchset 6 (id:??) landed as
https://crrev.com/607ed17ba5d0d1c67901ecc7160db660f08bd831
Cr-Commit-Position: refs/heads/master@{#324190}

Powered by Google App Engine
This is Rietveld 408576698