| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
|
|
|
|
|
|
|
| |
https://codereview.chromium.org/23511004/
The spec for mix-blend-mode is http://dev.w3.org/fxtf/compositing-1/#mix-blend-mode
BUG=243223
Review URL: https://codereview.chromium.org/23455060
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@237295 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
If quads are culled from more than one consecutive layer, then multiple
shared quad states may appear in the list but not be used. CopyAll
should not break in this scenario, so use a loop instead of an if to
to find the corrent shared quad state.
This is validated by the cc_messages IPC de-pickling already, and
it allows this valid IPC through, but then we fail to deal
with it in CopyAll.
Tests:
RenderPassTest.CopyAllWithCulledQuads
R=piman
BUG=311438
Review URL: https://codereview.chromium.org/45033002
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@231122 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
When the child compositor performs occlusion culling and determines
what part of the quad is visible, we should preserve this in the
browser compositor, and only shrink the visible (unoccluded) rect on
quads if we're able due to occlusion in the browser. We should not
grow the visible rect ever.
Tests:
QuadCullerTest.PartialCullingNotDestroyed
QuadCullerTest.PartialCullingWithOcclusionNotDestroyed
R=alokp@chromium.org, piman
BUG=305757
Review URL: https://codereview.chromium.org/26726003
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@228350 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
There is a precision lost issue for texture layers with CSS
transforms(Scaling) when applying TextureDrawQuad::PerformClipping()
to avoid explicitly setting a scissor. The rect is first divided by
the scale_factor, then round to integer value and finally multiplied
by the scale_factor in GLRenderer::EnqueueTextureQuad(). The round
process loses precision and the later scale operation enlarges the
error. This error leads to wrong width and height drawn and
introduces visual defects.
BUG=240259
Review URL: https://codereview.chromium.org/24427006
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@227177 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
RenderSurface caching has been disabled for some time and getting in the way of optimizing OcclusionTracker. The proposed optimization cannot distinguish between inside and outside occlusion, which is needed by surface caching.
The proposed optimization for OcclusionTracker is here:
https://codereview.chromium.org/23708021/
BUG=276725
Review URL: https://codereview.chromium.org/23792012
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@226146 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
This method does a deep copy of a RenderPass. This is needed since
we must copy the RenderPass contents from DelegatedRendererLayer to
the DelegatedRendererLayerImpl instead of passing ownership, so that
if the DelegatedRendererLayer moves to a new tree, it can still pass
a copy of the render passes to the impl side again.
Tests:
RenderPassTest.CopyAllShouldBeIdentical
R=piman
BUG=263069
NOTRY=true
Review URL: https://codereview.chromium.org/24619002
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@225783 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
This defines a new type of cc::FilterOperation for reference filters, and
defines a method (RenderSurfaceFilters::BuildImageFilter) that builds an
SkImageFilter from a given cc::FilterOperations.
This also removes cc::Layer::SetFilter and cc::LayerImpl::SetFilter.
These were only used when we had a reference filter, but they are no
longer needed now that reference filters can be included in
FilterOperations.
BUG=181613
Review URL: https://codereview.chromium.org/21154002
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@225329 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
|
|
| |
had a bug in async_pixel_transfer_manager_egl.cc that wasn't directly related to the 4444 support. This patch includes the rest of the files in r223830. Changes to async_pixel_transfer_manager_egl.cc have been moved to the separate patch after fixing the bug: https://codereview.chromium.org/23533067/
BUG=272539
Review URL: https://chromiumcodereview.appspot.com/23447048
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@224040 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
This reverts commit 8e6d15826280b9f11a28060b5b2d2bbef17d15bc (r223830; http://crrev.com/21159007).
Although the 4444 textures work on S4, they break on N7v2 and N10.
(We've got inconsistent reports about N4.)
Passing --disable-4444-textures isn't sufficient to fix the problems.
ilevy@ points out that the commit bot is using GN, so could easily have missed this breakage. We're hoping to switch to N4, but in this case there's no guarantee that that would have caught it either.
Perhaps the main patch can be landed in pieces next time?
From N7:
E/chromium(32513): [ERROR:gles2_cmd_decoder.cc(5770)] [.RenderCompositor-0x783c9880]RENDER WARNING: texture bound to texture unit 0 is not renderable. It maybe non-power-of-2 and have incompatible texture filtering or is not 'texture complete'
From N10:
I/chromium( 2104): [INFO:CONSOLE(0)] "[.WebGLRenderingContext]RENDER WARNING: texture bound to texture unit 0 is not renderable. It maybe non-power-of-2 and have incompatible texture filtering or is not 'texture complete'", source: file:///sdcard/clanktemp/index.html (0)
R=skyostil@chromium.org
TBR=kaanb@chromium.org
BUG=245774,272539
Review URL: https://codereview.chromium.org/24219002
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@223871 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
| |
BUG=245774,272539
Review URL: https://chromiumcodereview.appspot.com/21159007
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@223830 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Delegated frames may contain an offscreen filter. If they do, then the
LayerTreeHost needs to know about it so it can create an offscreen
context.
R=piman
BUG=287870
Review URL: https://chromiumcodereview.appspot.com/23451023
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@222169 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
| |
BUG=156199
Review URL: https://chromiumcodereview.appspot.com/23653002
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@220488 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
This adds AddValue support to FrameData, RenderPass, *DrawQuad, FilterOperations, etc.
It also adds an optional 'frame' field to the LTHI state which is the frame
being produced at this point, with everything mentioned above.
BUG=None
R=danakj@chromium.org, nduca@chromium.org, vmpstr@chromium.org
Review URL: https://codereview.chromium.org/20667002
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@216782 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
| |
BUG=None
Review URL: https://chromiumcodereview.appspot.com/21648002
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@216339 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
This enables the following optimization:
1. The compositor will be able to disable GL blending
if the background-color is opaque.
2. For elements that paint directly to a texture layer,
i.e. accelerated canvas, video, etc., there is no need to
allocate an additional layer just to paint the background.
BUG=236982
Review URL: https://chromiumcodereview.appspot.com/18432002
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@211339 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Currently we destroy and recreate tiles with text if the LCD
status changes. With tile manager now supporting multiple
versions of tiles, we can use this to update a tile version with
new LCD status in place.
BUG=249048
Review URL: https://chromiumcodereview.appspot.com/17167003
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@208769 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
This moves the implementation of WebFilterOperations into cc, and
(behind an #ifdef) defines a WebFilterOperationsImpl class that
implements the WebFilterOperations interface by wrapping a
cc::FilterOperations.
With this change, cc and ui/compositor no longer need to include
WebFilterOperations.h.
BUG=181613
Review URL: https://chromiumcodereview.appspot.com/16968002
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@208531 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
| |
BUG=
Review URL: https://chromiumcodereview.appspot.com/17094004
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@207475 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
This adds the ability to request the compositor's output as a texture
instead of requiring a readback to a SkBitmap on the cpu. This will
allow the embedder to make a request for a texture and then scale or
sample it without reading back the entire full-sized texture to the
cpu.
To readback successive frames will require constant commits at this time,
but the mechanism could be extended to allow one main thread request to
result in multiple copy result callbacks.
This is tested by the LayerTreeHostPixelTestReadback tests. I've added a
viewport offset, and surface expansion size, to all of the LayerTreeTest
based pixel tests. This exposed a bug in the math for background filters
when a viewport offset/surface expansion size is present, so this is
fixed as well to make the tests pass (one line in
GLRenderer::ApplyBackgroundFilters).
Instead of having the CopyOutputRequest return a SkBitmap directly, or
return a TextureMailbox directly (sometimes backed by a software bitmap),
I've added a CopyOutputResult class to return with a reply from the
compositor. This reply may be a texture (via a TextureMailbox) or a
bitmap (via an SkBitmap). The embedder should be able to handle either
one when it makes a request, unless its request forces a software-bitmap
reply.
The tests verify GLRenderer+general request, GLRenderer+forced software
request, and SoftwareRenderer+general request. Adding the offset/expansion
to the viewport/surface causes the offaxis background blur pixel test to
become off-by-one in 5 pixels, requiring a rebaseline.
R=enne, jamesr, piman
BUG=242571
Review URL: https://chromiumcodereview.appspot.com/17018002
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@207037 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
|
|
|
| |
Remove forwarding header
BUG=
R=avi@chromium.org
Review URL: https://codereview.chromium.org/16667019
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@205584 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Adding YUVA support for enabling VP8 Alpha Playback. Trying to reland
the change that was reverted earlier.
Old CL: https://codereview.chromium.org/12157002/
BUG=147355
TBR=jschuh@chromium.org
Review URL: https://chromiumcodereview.appspot.com/16580006
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@204944 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
A rect R contains an empty rect E if the origin of E is within the bounds
of R. This change makes sure we guard for empty rects to get consistent
behaviour regardless of the position of the empty rect for cases where we
don't care about the position, only the pixels it covers.
R=enne
BUG=246760
Review URL: https://chromiumcodereview.appspot.com/15973005
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@204733 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
> Adding YUVA support for enabling Alpha Playback
>
> BUG=147355
>
> Review URL: https://chromiumcodereview.appspot.com/12157002
Failing linux_asan with SEGV and heap buffer overflow errors:
http://build.chromium.org/p/chromium.memory/builders/Linux%20ASAN%20Tests%20%283%29/builds/9750
TBR=vigneshv@chromium.org
Review URL: https://codereview.chromium.org/16564004
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@204518 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
| |
BUG=147355
Review URL: https://chromiumcodereview.appspot.com/12157002
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@204508 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
These headers have moved from Source/Platform/chromium/public to
public/platform. This CL updates CC's references to the old location to point
to the new location. After this CL lands, I'll remove the forwarding headers
that are letting these references still work.
TBR=jamesr@chromium.org
BUG=239545
Review URL: https://chromiumcodereview.appspot.com/16085003
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@202990 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Currently when you request an async copy of a layer as a bitmap, we
pass around the raw base::Callback. In order to add functionality to
the copy/readback mechanism, we need to pass along other parameters
such as a size to scale the copy to. Instead of passing along an
ever-growing list of parameters, wrap the base::Callback in a class
called CopyAsBitmapRequest. Then new parameters can be added to this
class.
No change in behaviour here, covered by existing tests.
R=piman
BUG=242571
Review URL: https://chromiumcodereview.appspot.com/15435003
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@201990 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
The --force-direct-layer-drawing flag causes any layer that could be
drawn direct to the backbuffer to be drawn to the backbuffer using
Ganesh. This flag also requires both the --enable-threaded-compositing
flag and the --enable-impl-side-painting flag to have any effect.
This patch also turns on testing for PictureDrawQuad using Ganesh in the
cc pixeltests.
BUG=none
Review URL: https://chromiumcodereview.appspot.com/13863015
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@201362 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
This will be always on in the future. All tests should pass with
it enabled.
If a pending tree is activated during draw, it requests another
redraw. If the context is also lost during the activation draw,
we end up trying to draw the active tree with its lost resources,
instead of doing a commit to get new resources. This is fixed and
covered by
SchedulerStateMachineTest.DontDrawBeforeCommitAfterLostOutputSurface
If you commit and pending tree with animations, but are unable to draw,
we would activate the pending tree via an animation tick, but never
unblock the main thread if it was waiting on the activation to finish
commit. This is covered by the animation unit tests.
Similarly, if you commited a tree without animations, it would be
activated by the thread proxy without drawing, but the main thread
would remain blocked. This was uncovered and is covered by layer tree
host tests.
When an active tree has layers in it, and the root layer is removed,
the impl side would crash trying to use the non-existent pending
tree's root layer. This is fixed in LayerTreeImpl::ClearRenderSurfaces()
and PushPersistedState().
BUG=239329
Review URL: https://chromiumcodereview.appspot.com/15004013
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@199721 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
When edge anti-aliasing is used, GL renderer forces blending to be used,
which causes hole punching logic to misbehave. Make force anti-aliasing
off option to SolidColorDrawQuad to avoid unwanted anti-aliasing.
TEST=cc_unittests ; content_unittests
BUG=236317
R=enne@chromium.org,danakj@chromium.org,jamesr@chromium.org
Review URL: https://chromiumcodereview.appspot.com/13842037
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@197931 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
|
|
|
|
| |
There's still 5 more after this that need a closer eye, so will submit
separately.
R=danakj@chromium.org
BUG=none
Review URL: https://chromiumcodereview.appspot.com/14694005
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@197719 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Provide a path to get a readback of a layer's subtree via an
asynchronous mechanism.
This path is used for all the cc pixel tests, to show that it
works. Also by some unit tests:
LayerTreeHostTestAsyncReadback.GLRenderer_RunSingleThread
LayerTreeHostTestAsyncReadback.GLRenderer_RunMultiThread
LayerTreeHostTestAsyncReadback.SoftwareRenderer_RunSingleThread
LayerTreeHostTestAsyncReadback.SoftwareRenderer_RunMultiThread
LayerTreeHostTestAsyncReadbackLayerDestroyed.RunSingleThread
LayerTreeHostTestAsyncReadbackLayerDestroyed.RunMultiThread
BUG=179896
Review URL: https://chromiumcodereview.appspot.com/14060015
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@196747 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Oops, wrong version landed!
> cc: Async readback.
>
> Provide a path to get a readback of a layer's subtree via an
> asynchronous mechanism.
>
> This path is used for all the cc pixel tests, to show that it
> works. Also by some unit tests:
>
> LayerTreeHostTestAsyncReadback.GLRenderer_RunSingleThread
> LayerTreeHostTestAsyncReadback.GLRenderer_RunMultiThread
> LayerTreeHostTestAsyncReadback.SoftwareRenderer_RunSingleThread
> LayerTreeHostTestAsyncReadback.SoftwareRenderer_RunMultiThread
> LayerTreeHostTestAsyncReadbackLayerDestroyed.RunSingleThread
> LayerTreeHostTestAsyncReadbackLayerDestroyed.RunMultiThread
>
> BUG=179896
>
> Review URL: https://chromiumcodereview.appspot.com/14060015
TBR=danakj@chromium.org
Review URL: https://codereview.chromium.org/14512003
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@196715 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Provide a path to get a readback of a layer's subtree via an
asynchronous mechanism.
This path is used for all the cc pixel tests, to show that it
works. Also by some unit tests:
LayerTreeHostTestAsyncReadback.GLRenderer_RunSingleThread
LayerTreeHostTestAsyncReadback.GLRenderer_RunMultiThread
LayerTreeHostTestAsyncReadback.SoftwareRenderer_RunSingleThread
LayerTreeHostTestAsyncReadback.SoftwareRenderer_RunMultiThread
LayerTreeHostTestAsyncReadbackLayerDestroyed.RunSingleThread
LayerTreeHostTestAsyncReadbackLayerDestroyed.RunMultiThread
BUG=179896
Review URL: https://chromiumcodereview.appspot.com/14060015
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@196713 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
suspected to break cc_unittests GLRendererPixelTest.AxisAligned on multiple bots
> cc: Async readback.
>
> Provide a path to get a readback of a layer's subtree via an
> asynchronous mechanism.
>
> This path is used for all the cc pixel tests, to show that it
> works. Also by some unit tests:
>
> LayerTreeHostTestAsyncReadback.GLRenderer_RunSingleThread
> LayerTreeHostTestAsyncReadback.GLRenderer_RunMultiThread
> LayerTreeHostTestAsyncReadback.SoftwareRenderer_RunSingleThread
> LayerTreeHostTestAsyncReadback.SoftwareRenderer_RunMultiThread
> LayerTreeHostTestAsyncReadbackLayerDestroyed.RunSingleThread
> LayerTreeHostTestAsyncReadbackLayerDestroyed.RunMultiThread
>
> BUG=179896
>
> Review URL: https://chromiumcodereview.appspot.com/14060015
TBR=danakj@chromium.org
Review URL: https://codereview.chromium.org/14510002
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@196605 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Provide a path to get a readback of a layer's subtree via an
asynchronous mechanism.
This path is used for all the cc pixel tests, to show that it
works. Also by some unit tests:
LayerTreeHostTestAsyncReadback.GLRenderer_RunSingleThread
LayerTreeHostTestAsyncReadback.GLRenderer_RunMultiThread
LayerTreeHostTestAsyncReadback.SoftwareRenderer_RunSingleThread
LayerTreeHostTestAsyncReadback.SoftwareRenderer_RunMultiThread
LayerTreeHostTestAsyncReadbackLayerDestroyed.RunSingleThread
LayerTreeHostTestAsyncReadbackLayerDestroyed.RunMultiThread
BUG=179896
Review URL: https://chromiumcodereview.appspot.com/14060015
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@196592 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
|
|
|
|
| |
Style-only change to match the rule being added in
CL https://codereview.chromium.org/14410002/ .
R=enne
BUG=
Review URL: https://chromiumcodereview.appspot.com/14301021
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@195726 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
|
|
|
|
| |
A 0 mask resource means we don't use a mask, it's a valid value. Don't iterate
over it, because we never want to send 0 to the parent, nor do we want to look
up 0 in the child->parent map.
BUG=None
Review URL: https://codereview.chromium.org/14167007
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@194689 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
|
| |
R=piman
BUG=231715
Review URL: https://codereview.chromium.org/14065015
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@194508 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
The VideoLayerImpl currently does upload of video frames from media::VideoFrame
to hardware/software resources, and displays these resources through quads. This
code is unfriendly to ubercomp as it requires holding onto the hardware resources
when using hardware decode, and because it reuses the same textures every frame
even though they need to be sent to the parent compositor.
This CL introduces the VideoResourceUpdater class, and moves all logic around
media::VideoFrame to that class. The VideoResourceUpdater class takes as input
a VideoFrame, and produces a set of TextureMailboxes for the video layer to
consume.
In the software case, the VideoResourceUpdater sets itself up as the release
callback so it can delete the backing texture when the browser compositor is
done with it (it could recycle it in the future).
In the hardware case, the VideoResourceUpdater takes a callback as input, so
it can have the WebMediaPlayer notified when the texture is given back from
the browser, and the hardware decoder can use it again for writing.
This CL also prepares us better for software uber-compositing video. The video
layer deals now only with abstract "resources", except for the mailboxes for
ubercompositor. The TextureMailbox construct needs to be abstracted in order to
hold a hardware or software backing for ubercompositor. Then the video layer's
special-case code for software can be entirely removed and it will be fully
software-uber-compositor-ready.
Currently, the VideoLayerImpl just makes use of the VideoResourceUpdater class,
making this a refactor without any functional change. This will make video
playback in ubercompositor work correctly for software-decoded video. In order
to address hardware-decoded video, a followup CL will have the WebMediaPlayer
hook up a callback through the VideoResourceUpdater to ensure it doesn't reuse
a texture for decode until it is returned from the parent compositor.
R=enne,jamesr
BUG=179729
Review URL: https://chromiumcodereview.appspot.com/13445009
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@193323 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
|
|
| |
cc_tests.gyp
The flag flip will be a follow up once ChromeOS build is sorted out.
Review URL: https://codereview.chromium.org/13206004
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@191417 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
CrOS bots are unhappy
> cc: Add ‘chromium_code’: 1 to cc.gyp and cc_tests.gyp
>
> And fix compile errors that it causes.
>
> Committed: https://src.chromium.org/viewvc/chrome?view=rev&revision=191364
>
> Review URL: https://codereview.chromium.org/13206004
TBR=danakj@chromium.org
Review URL: https://codereview.chromium.org/13334005
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@191414 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
|
|
| |
And fix compile errors that it causes.
Committed: https://src.chromium.org/viewvc/chrome?view=rev&revision=191364
Review URL: https://codereview.chromium.org/13206004
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@191400 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
> cc: Add ‘chromium_code’: 1 to cc.gyp and cc_tests.gyp
>
> And fix compile errors that it causes.
>
> Review URL: https://codereview.chromium.org/13206004
TBR=danakj@chromium.org
Review URL: https://codereview.chromium.org/13316003
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@191371 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
| |
And fix compile errors that it causes.
Review URL: https://codereview.chromium.org/13206004
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@191364 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
|
| |
BUG=173011
Review URL: https://chromiumcodereview.appspot.com/12642010
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@190969 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
cc/base/
cc/debug/
cc/resources/
cc/quads/
BUG=144577
Review URL: https://codereview.chromium.org/13051003
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@190715 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Style-only change.
Many already-chromified files missed a variable or function name
here and there. This grabs (hopefully) all of them.
For the record, I found these with:
git gs '[^a-zA-Z0-9_>\."][a-jl-z]\+[A-Z][A-Za-z0-9_]*\($\|[ !=;,\.^&*)"]\)'
R=enne
BUG=
Review URL: https://chromiumcodereview.appspot.com/12676029
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@190326 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
A few remaining files had four-space indent.
NOTRY=true
R=danakj@chromium.org
BUG=none
Review URL: https://chromiumcodereview.appspot.com/12992005
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@189882 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
|
| |
BUG=144577
Review URL: https://chromiumcodereview.appspot.com/12655009
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@188866 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
|
| |
BUG=144577
Review URL: https://chromiumcodereview.appspot.com/12780018
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@188832 0039d316-1c4b-4281-b951-d872f2087c98
|