New issue
Advanced search Search tips
Note: Color blocks (like or ) mean that a user may not be available. Tooltip shows the reason.

Issue 601866 link

Starred by 2 users

Issue metadata

Status: Fixed
Owner:
Last visit > 30 days ago
Closed: Apr 2016
Cc:
Components:
EstimatedDays: ----
NextAction: ----
OS: All
Pri: 2
Type: Bug
mus



Sign in to add a comment

GLHelper: Split into gpu and media bits

Project Member Reported by fsam...@chromium.org, Apr 8 2016

Issue description

GLHelper depends on both gpu and media.

Maybe we should split GLHelper into gpu only bits and media bits, and place the gpu only bits in gpu/ipc/service, and the media bits in media/gpu/ipc/service?
 
Blocking: 601863
The code that I needed from GLHelper for mus is client-side utility code without ipc dependency so is gpu/ipc/service the right place? ui/gl maybe?
Rob, I agree, gpu/ipc/service might not be the right place. ui/gl seems to make sense.

Some unrelated thoughts from Antoine offline:

It does too much, I agree. But I'm not sure cutting GLHelper around the media dependency is the right thing to do, that dependency is relatively small, but the API involved (ReadbackYUV) shares most of the code with the RGBA readback. media is only used for VideoFrame, to specify the 3 YUV planes. If the goal is only to remove the media dependency, my suggestion would be to change the interface to take the 3 YUV planes explicitly (data pointers and strides), that wouldn't depend on media, and keep a trivial wrapper that takes the VideoFrame and passes its planes to the new interface.

Comment 4 by piman@chromium.org, Apr 11 2016

Not ui/gl, which only concerns itself with service-side direct GL.
GLHelper is on top of command buffers (GLES2Interface/ContextSupport).
Some place in gpu/ would be ok. Be careful that it requires skia.
Labels: -Pri-3 Pri-2
I'll capture further cleanups in a separate bug. Right now I'd like to get the bits we need in mus in gpu/ and media/ so that they're shared with Chrome and Mus. We can dice GLHelper further after that.
Project Member

Comment 6 by bugdroid1@chromium.org, Apr 15 2016

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/59dcea480d282e78805de1c6e15ec29f4ebe7c9d

commit 59dcea480d282e78805de1c6e15ec29f4ebe7c9d
Author: fsamuel <fsamuel@chromium.org>
Date: Fri Apr 15 21:27:48 2016

Decouple GLHelper from media

We would like to share GLHelper with Mus. In order to do so, we would like
to place this file in gpu/. Thus, it cannot depend on media/.

This CL removes the dependency on media::VideoFrame by passing in the
stride and data of the Y, U, and V planes into ReadbackYUV instead of
passing in a media::VideoFrame. The callers are responsible for keeping
media::VideoFrame alive now instead of ReadbackYUV.

This CL also moves media::LetterboxYUV to the callers.

BUG= 601866 

Review URL: https://codereview.chromium.org/1893473002

Cr-Commit-Position: refs/heads/master@{#387701}

[modify] https://crrev.com/59dcea480d282e78805de1c6e15ec29f4ebe7c9d/content/browser/compositor/gl_helper.cc
[modify] https://crrev.com/59dcea480d282e78805de1c6e15ec29f4ebe7c9d/content/browser/compositor/gl_helper.h
[modify] https://crrev.com/59dcea480d282e78805de1c6e15ec29f4ebe7c9d/content/browser/compositor/gl_helper_unittest.cc
[modify] https://crrev.com/59dcea480d282e78805de1c6e15ec29f4ebe7c9d/content/browser/media/capture/aura_window_capture_machine.cc
[modify] https://crrev.com/59dcea480d282e78805de1c6e15ec29f4ebe7c9d/content/browser/renderer_host/delegated_frame_host.cc
[modify] https://crrev.com/59dcea480d282e78805de1c6e15ec29f4ebe7c9d/content/browser/renderer_host/delegated_frame_host.h

Components: MUS
Labels: mustash1 displaycompositor mustash mus OS-All
Project Member

Comment 8 by bugdroid1@chromium.org, Apr 18 2016

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/a06a56680ea8e000140f30466b976b61308d152a

commit a06a56680ea8e000140f30466b976b61308d152a
Author: fsamuel <fsamuel@chromium.org>
Date: Mon Apr 18 16:14:08 2016

Pull YUV Readback tests out of gl_helper_unittest

I'd like to put GLHelper in gpu/ to be reused by mus. I'd like to put
related unit tests next to gl_helper's final destination. To do so, I
decoupled the tests from media. I split up the test into gl_helper_unittest
and yuv_readback_unittest which depends on media. gl_helper_unittest
can now live in gpu/

BUG= 601866 

Review URL: https://codereview.chromium.org/1895443004

Cr-Commit-Position: refs/heads/master@{#387924}

[modify] https://crrev.com/a06a56680ea8e000140f30466b976b61308d152a/content/browser/compositor/gl_helper_unittest.cc
[add] https://crrev.com/a06a56680ea8e000140f30466b976b61308d152a/content/browser/compositor/yuv_readback_unittest.cc
[modify] https://crrev.com/a06a56680ea8e000140f30466b976b61308d152a/content/content_tests.gypi
[modify] https://crrev.com/a06a56680ea8e000140f30466b976b61308d152a/content/test/BUILD.gn

Owner: fsam...@chromium.org
Status: Fixed (was: Untriaged)
Blocking: -601863
Components: -MUS Internals>Services>WindowService

Sign in to add a comment