summaryrefslogtreecommitdiffstats
path: root/cc/quads
Commit message (Collapse)AuthorAgeFilesLines
* The blink part of this implementation is uploaded at ↵rosca@adobe.com2013-11-264-27/+78
| | | | | | | | | | | | 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
* cc: RenderPass::CopyAll should not break if quads are culled.danakj@chromium.org2013-10-252-27/+96
| | | | | | | | | | | | | | | | | | | | | 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
* cc: Preserve partial culling from child compositor.danakj@chromium.org2013-10-122-8/+15
| | | | | | | | | | | | | | | | | | | 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
* Remove PerformClipping(),CanClipSelf() and the related logic in LTHCommon.jun.a.jiang@intel.com2013-10-053-172/+0
| | | | | | | | | | | | | | | | | 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
* cc: Delete RenderSurface caching.alokp@chromium.org2013-10-013-32/+8
| | | | | | | | | | | | | 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
* cc: Add RenderPass::CopyAll().danakj@chromium.org2013-09-273-2/+187
| | | | | | | | | | | | | | | | | | | 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
* Add support for converting cc::FilterOperations into an SkImageFilterajuma@chromium.org2013-09-263-25/+23
| | | | | | | | | | | | | | | | | 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
* cc: Reland r233830. "Adding support for RGBA_4444 tile textures". r223830 ↵kaanb@chromium.org2013-09-193-17/+33
| | | | | | | | | | 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
* Revert "Adding support for RGBA_4444 tile textures"tomhudson@google.com2013-09-183-33/+17
| | | | | | | | | | | | | | | | | | | | | | | | | | 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
* Adding support for RGBA_4444 tile textureskaanb@chromium.org2013-09-183-17/+33
| | | | | | | | 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
* cc: Tell the LayerTreeHost that the filter context is needed.danakj@chromium.org2013-09-102-2/+1
| | | | | | | | | | | | | 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
* So that ScopedPtrHashMap can be used by user outside of cc.powei@chromium.org2013-08-301-1/+0
| | | | | | | | 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
* cc: Add frame data to LTHI tracingpiman@chromium.org2013-08-0928-7/+270
| | | | | | | | | | | | | 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
* Extract pair hash functions so that they can be re-used outside of hash tablespiman@chromium.org2013-08-081-6/+3
| | | | | | | | 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
* Blend TextureLayer background-color at draw time.alokp@chromium.org2013-07-123-9/+26
| | | | | | | | | | | | | | | | | 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
* cc: Use multiple resources to switch LCD statusvmpstr@chromium.org2013-06-261-2/+2
| | | | | | | | | | | | | 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
* Move implementation of WebFilterOperations into ccajuma@chromium.org2013-06-255-24/+22
| | | | | | | | | | | | | | | | 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
* Move hash_pair.h from cc/base into base/.nasko@chromium.org2013-06-201-2/+2
| | | | | | | | BUG= Review URL: https://chromiumcodereview.appspot.com/17094004 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@207475 0039d316-1c4b-4281-b951-d872f2087c98
* cc: Add ability to request copy of compositor output as a texture.danakj@chromium.org2013-06-181-2/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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
* Rename base/hash_tables to base/containers/hash_tables.brettw@chromium.org2013-06-111-1/+1
| | | | | | | | | | | 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 Alpha Playbackvigneshv@chromium.org2013-06-073-12/+31
| | | | | | | | | | | | | | 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
* cc: Audit use of Rect::Contains with empty rects.danakj@chromium.org2013-06-071-2/+5
| | | | | | | | | | | | | | 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
* Revert 204508 "Adding YUVA support for enabling Alpha Playback"dalecurtis@google.com2013-06-063-31/+12
| | | | | | | | | | | | | | | | | | > 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
* Adding YUVA support for enabling Alpha Playbackvigneshv@chromium.org2013-06-063-12/+31
| | | | | | | | 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
* Update refernces to Blink's Platform API (cc)abarth@chromium.org2013-05-294-4/+4
| | | | | | | | | | | | | | 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
* cc: Add CopyAsBitmapRequest class to hold the readback callback.danakj@chromium.org2013-05-243-8/+11
| | | | | | | | | | | | | | | | | | | 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
* Add flag for drawing layers to screen with Ganeshenne@chromium.org2013-05-213-3/+19
| | | | | | | | | | | | | | | | 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
* Run all LayerTreeHost tests with impl-side painting.danakj@chromium.org2013-05-131-2/+0
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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
* cc: Add force anti-aliasing off option to SolidColorDrawQuadwonsik@chromium.org2013-05-023-8/+20
| | | | | | | | | | | | | | 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
* cc: Fix most cpplint errors in cc/enne@chromium.org2013-05-013-6/+10
| | | | | | | | | | | | 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
* cc: Async readback.danakj@chromium.org2013-04-263-4/+17
| | | | | | | | | | | | | | | | | | | | | 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
* Revert 196713 "cc: Async readback."danakj@chromium.org2013-04-263-17/+4
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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
* cc: Async readback.danakj@chromium.org2013-04-263-4/+17
| | | | | | | | | | | | | | | | | | | | | 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
* Revert 196592 "cc: Async readback."kinuko@chromium.org2013-04-263-17/+4
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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
* cc: Async readback.danakj@chromium.org2013-04-263-4/+17
| | | | | | | | | | | | | | | | | | | | | 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
* cc: Don't pass simple well-defined classes by reference.danakj@chromium.org2013-04-232-6/+6
| | | | | | | | | | | | 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
* Don't iterate over a 0 mask resource in RenderPassDrawQuadpiman@chromium.org2013-04-172-1/+5
| | | | | | | | | | | | 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
* cc: Disable DrawQuad unit test that tests a NOTIMPLEMENTED method.danakj@chromium.org2013-04-171-1/+2
| | | | | | | | | 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
* cc: Move video upload to VideoResourceUpdater.danakj@chromium.org2013-04-107-115/+102
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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: Fix build issues for adding ‘chromium_code’: 1 to cc.gyp and ↵danakj@chromium.org2013-03-291-6/+5
| | | | | | | | | | 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
* Revert 191400 "cc: Add ‘chromium_code’: 1 to cc.gyp and cc_t..."rsleevi@chromium.org2013-03-291-5/+6
| | | | | | | | | | | | | | | | | 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
* cc: Add ‘chromium_code’: 1 to cc.gyp and cc_tests.gypdanakj@chromium.org2013-03-291-6/+5
| | | | | | | | | | 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
* Revert 191364 "cc: Add ‘chromium_code’: 1 to cc.gyp and cc_t..."danakj@chromium.org2013-03-291-5/+6
| | | | | | | | | | | | | > 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
* cc: Add ‘chromium_code’: 1 to cc.gyp and cc_tests.gypdanakj@chromium.org2013-03-291-6/+5
| | | | | | | | 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
* Implement on demand quad rasterization for PicturePiles.leandrogracia@chromium.org2013-03-279-26/+314
| | | | | | | | | 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
* This fixes all lint issues (except for false positives) in:jamesr@chromium.org2013-03-2617-32/+42
| | | | | | | | | | | | | 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
* cc: Fix capitalization style in chromified files.danakj@chromium.org2013-03-254-34/+34
| | | | | | | | | | | | | | | | | 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
* cc: Fix style errors with indented returnsenne@chromium.org2013-03-223-3/+3
| | | | | | | | | | | | | 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
* cc chromification: render_pass_unittest.ccpiman@chromium.org2013-03-181-41/+45
| | | | | | | | | 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
* cc chromification: draw_quad.cc and draw_quad_unittest.ccpiman@chromium.org2013-03-182-492/+638
| | | | | | | | | 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