summaryrefslogtreecommitdiffstats
path: root/cc/test
Commit message (Collapse)AuthorAgeFilesLines
* Directly use GrGLInterface in cc tests rather than SkNullGLContext.bsalomon2016-03-251-4/+5
| | | | | | | | | | This unblocks removal of SkGLContext and its subclasses from the Skia lib. Using the null GrGLInterface here used to be problematic because its implementation stored its state globally, assuming there was only one instance. This is no longer the case. CQ_INCLUDE_TRYBOTS=tryserver.blink:linux_blink_rel Review URL: https://codereview.chromium.org/1829363003 Cr-Commit-Position: refs/heads/master@{#383375}
* cc: Force a redraw on initializing a new output surface for remote compositor.khushalsagar2016-03-252-0/+8
| | | | | | | | | | | | | | | When the output surface is lost, the LTHI drops all resources and tiles, and waits for the next commit for the next draw. This commit might early out with no updates in which case we will never perform raster new tiles and redraw. Schedule a draw when a new output is surface is initialized to avoid this. BUG=597710 CQ_INCLUDE_TRYBOTS=tryserver.blink:linux_blink_rel Review URL: https://codereview.chromium.org/1831083002 Cr-Commit-Position: refs/heads/master@{#383204}
* cc : Update render surfaces using LayerListIterator instead of treewalkjaydasika2016-03-233-13/+27
| | | | | | | | | | This is the update render surfaces treewalk in draw_property_utils.cc BUG=594024 CQ_INCLUDE_TRYBOTS=tryserver.blink:linux_blink_rel Review URL: https://codereview.chromium.org/1823833002 Cr-Commit-Position: refs/heads/master@{#382767}
* Update secure output flags on display changes.dcastagna2016-03-222-2/+3
| | | | | | | | | | | | | | | | | | | | | This patch adds a WindowTreeHostManager::Observer to exo that sets the appropriate output secure flag to the compositors when the display configuration changes. The first iteration for the logic that determines if the output is secure is simply a check if the connected display is internal and mirroring is disabled on all the devices. Additionally this patch moves the 'is_secure_' flag from the OutputSurface to LayerTreeImpl, since the lifetime of the latter better matches the display configuration changes. BUG=b/27173841,b/27174223 CQ_INCLUDE_TRYBOTS=tryserver.blink:linux_blink_rel Review URL: https://codereview.chromium.org/1821553002 Cr-Commit-Position: refs/heads/master@{#382683}
* Transfer LayerImpl ownership to LayerTreeImplvollick2016-03-224-14/+5
| | | | | | | | | | | | | | | | | | | I have taken a very simple strategy. I have retained all LayerImpl functions related to transfer of ownership (AddChild, etc). These now update raw pointers on the LayerImpl as well as updating true ownership by talking to the LTI. This allows most unit test code to remain as is. LayerImpl's may be constructed and ownership may be transferred just as it had been. BUG=594026 CQ_INCLUDE_TRYBOTS=tryserver.blink:linux_blink_rel Review URL: https://codereview.chromium.org/1801853002 Cr-Commit-Position: refs/heads/master@{#382619}
* Use sk_sp-based picture recording APIsfmalita2016-03-222-5/+4
| | | | | | | | | | | | | | | | 1) use SkPictureRecorder::finishRecordingAsPicture() over endRecordingAsPicture() 2) convert to sk_sp<SkPicture> fields/params where feasible BUG=skia:5077 R=reed@google.com,danakj@chromium.org,enne@chromium.org TBR=pdr@chromium.org,alekseys@chromium.org CQ_INCLUDE_TRYBOTS=tryserver.blink:linux_blink_rel Review URL: https://codereview.chromium.org/1819683002 Cr-Commit-Position: refs/heads/master@{#382563}
* Bind GrContext to GLES2Interface rather than C GLES interfacebsalomon2016-03-211-33/+1
| | | | | | | | | | CQ_INCLUDE_TRYBOTS=tryserver.blink:linux_blink_rel BUG=442811 Review URL: https://codereview.chromium.org/1671283002 Cr-Commit-Position: refs/heads/master@{#382393}
* cc : Make tree synchronization independent of layer tree hierarchy (2)jaydasika2016-03-211-2/+4
| | | | | | | | | | | | | | | | | This CL : * Stores layers that need to push properties in LayerTreeHost(layer_set) * Deletes bools needs_push_properties and dependants_needs_push_properties from Layer. * Iterate the layer_set tp push properties during commit. * Changes what layers are serialized (Both dirty layers and their ancestors are serialized currently. With this CL, only dirty layers serialize). BUG=568874 CQ_INCLUDE_TRYBOTS=tryserver.blink:linux_blink_rel Review URL: https://codereview.chromium.org/1808373002 Cr-Commit-Position: refs/heads/master@{#382379}
* Add CONTEXT_TYPE_OPENGLES2_PEPPERericrk2016-03-181-0/+3
| | | | | | | | | | | | | | | Adds a new context type for Pepper GL contexts. This allows us to fine tune driver bug workarounds for pepper vs. non-pepper contexts. Currently used to disable the Intel MSAA blacklist on pepper contexts, as it should be up to the app whether to use MSAA. BUG=527565 CQ_INCLUDE_TRYBOTS=tryserver.chromium.win:win_optional_gpu_tests_rel;tryserver.chromium.mac:mac_optional_gpu_tests_rel Review URL: https://codereview.chromium.org/1781093002 Cr-Commit-Position: refs/heads/master@{#382097}
* Allow null begin frame sources in cc::Schedulerenne2016-03-181-1/+3
| | | | | | | | | | | | | | | | | | | This adds support to make it possible to set the begin frame source in Scheduler back to null before setting it to something else again. This is primarily to support the use case of losing an output surface (which will provide the begin frame source) before asynchronously later initializing another output surface (with potentially another source). In this case, there will be some period of time where there is no valid begin frame source. The scheduler owner could provide a fake one, but I think that's more confusing than helpful. Depends on https://codereview.chromium.org/1774323003 CQ_INCLUDE_TRYBOTS=tryserver.blink:linux_blink_rel Review URL: https://codereview.chromium.org/1781663004 Cr-Commit-Position: refs/heads/master@{#382016}
* Store recording invalidations in DisplayListRecordingSource, save them via ↵chrishtr2016-03-181-1/+2
| | | | | | | | | | | | | | | | | | | | | Update. This fixes the referenced bug, as well as cleaning up the interaction between PictureLayer and DisplayListRecordingSource a little bit. This way both the invalidation and picture come from DisplayListRecordingSource, rather than one coming from PictureLayer and the other from DisplayListRecordingSource, with the latter modifying the invalidation during Update. Also renamed LayerImpl::GetInvalidationRegion() to LayerImpl::GetInvalidationRegionForDebugging() to make clear it's only used for that purpose. BUG=591561 CQ_INCLUDE_TRYBOTS=tryserver.blink:linux_blink_rel Review URL: https://codereview.chromium.org/1812733003 Cr-Commit-Position: refs/heads/master@{#381977}
* Allow cc::Scheduler begin frame source to be changedenne2016-03-171-3/+0
| | | | | | | | | | | Also, add back throttling tests to check changing the source. Depends on https://codereview.chromium.org/1765723002 CQ_INCLUDE_TRYBOTS=tryserver.blink:linux_blink_rel Review URL: https://codereview.chromium.org/1774323003 Cr-Commit-Position: refs/heads/master@{#381779}
* Fold BeginFrameSource::SetClientReady into AddObserverenne2016-03-173-13/+0
| | | | | | | | | | | | | | | | | | As a part of https://codereview.chromium.org/1774323003, it became clear that it needed to be possible to call SetClientReady repeatedly, which some sources didn't support. Instead of just making that part of the contract, instead fold the two places where SetClientReady mattered into AddObserver (the first time where a begin frame could actually be delivered) and remove SetClientReady from the API. R=skyostil@chromium.org,sunnyps@chomium.org CQ_INCLUDE_TRYBOTS=tryserver.blink:linux_blink_rel Review URL: https://codereview.chromium.org/1778853003 Cr-Commit-Position: refs/heads/master@{#381612}
* Hoist begin frame sources out of schedulerenne2016-03-163-50/+13
| | | | | | | | | | | | | | | | | | | | | | | | | | To avoid cc::Scheduler having to sometimes own / sometimes create / switch between sources / manage parameters on sources, hoist all this logic up to the owners of cc::Scheduler. This refactoring makes it possible to eventually allow an OutputSurface to set a BeginFrameSource on its client and then forward that to the scheduler to use. That future is made easier by the scheduler having a single begin frame source managed by its owner. This patch adds a bit of duplicated logic in three places (single thread proxy / threaded proxy / tests) for the creation of the begin frame source. However, the single thread and threaded versions were already doing different things (re: authoritative vsync signals). The hope is that the vsync information and begin frame source creation for the synthetic sources can get further hoisted into OutputSurface itself. Depends on https://codereview.chromium.org/1762823002 CQ_INCLUDE_TRYBOTS=tryserver.blink:linux_blink_rel Review URL: https://codereview.chromium.org/1765723002 Cr-Commit-Position: refs/heads/master@{#381558}
* cc: Remove some unnecessary const scoped_refptr&.vmpstr2016-03-161-2/+2
| | | | | | | | | | | | | | | This patch makes the API a bit clearer by taking a copy of scoped_refptr in some situations (where ownership is shared) and using a raw pointer in situations where ownership is not needed. The only references that remain are the ones captured in lambdas or Callbacks. R=danakj BUG=589044 CQ_INCLUDE_TRYBOTS=tryserver.blink:linux_blink_rel Review URL: https://codereview.chromium.org/1803863003 Cr-Commit-Position: refs/heads/master@{#381524}
* Clean scroll logic in LayerTreeImpl:sunxd2016-03-163-12/+15
| | | | | | | | | | | | * Move DidUpdateScrollOffset to LayerTreeImpl * Make SyncedScrollOffset transparent to LayerImpl BUG=568830 CQ_INCLUDE_TRYBOTS=tryserver.blink:linux_blink_rel Review URL: https://codereview.chromium.org/1803643002 Cr-Commit-Position: refs/heads/master@{#381467}
* cc: Refactor SkipImageCanvas and create it during playback.vmpstr2016-03-142-4/+7
| | | | | | | | | | | | | | | This patch moves SkipImageCanvas into a separate file in the same directory as ImageHijackCanvas and also moves the creation of SkipImageCanvas to raster source playback (the same place as ImageHijackCanvas is created). BUG=594679 R=enne, ericrk CQ_INCLUDE_TRYBOTS=tryserver.blink:linux_blink_rel Review URL: https://codereview.chromium.org/1799883002 Cr-Commit-Position: refs/heads/master@{#381101}
* CC Animation: Erase cc::LayerSettings everywhere.loyso2016-03-1415-160/+68
| | | | | | | | | | | Also, erase LayerTreeSettings::use_compositor_animation_timelines flag. BUG=575041 CQ_INCLUDE_TRYBOTS=tryserver.blink:linux_blink_rel Review URL: https://codereview.chromium.org/1783613004 Cr-Commit-Position: refs/heads/master@{#380914}
* CC Animation: Erase old animation system.loyso2016-03-114-163/+1
| | | | | | | | | | | | | | | | | | Basically, specialize all the code as if: - use_compositor_animation_timelines is always true. - Layer::layer_animation_controller_ is always nullptr. - LayerImpl::layer_animation_controller_ is always nullptr. - LayerTreeHost::animation_registrar_ is always nullptr. - LayerTreeHostImpl::animation_registrar_ is always nullptr. Next CL: Erase cc::LayerSettings everywhere. BUG=575041 CQ_INCLUDE_TRYBOTS=tryserver.blink:linux_blink_rel Review URL: https://codereview.chromium.org/1782433002 Cr-Commit-Position: refs/heads/master@{#380576}
* Clean LayerImpl's scroll offset callers in unit tests.sunxd2016-03-092-0/+18
| | | | | | | | | | | | | | | The getter ScrollDelta is left because it is called by property tree builder. LayerImpl is now not aware of the internal logic of synced property. BUG=568830 CQ_INCLUDE_TRYBOTS=tryserver.blink:linux_blink_rel Review URL: https://codereview.chromium.org/1766053002 Cr-Commit-Position: refs/heads/master@{#380217}
* Remove runtime toggling of throttling framesenne2016-03-095-9/+3
| | | | | | | | | | | | | | | | This was added in https://codereview.chromium.org/811523002, but was never actually hooked up to anything. So, time to remove it. Sorry year old feature that never got finished, your time can come again. This is just scheduler cleanup to make it possible to do further begin frame source refactoring. The followups to this patch are to make scheduler not own any begin frame source (always external, from its perspective) and then make it possible to remove/change the begin frame source the scheduler is using. Review URL: https://codereview.chromium.org/1762823002 Cr-Commit-Position: refs/heads/master@{#380000}
* Hook up BeginFrameSource to SurfaceFactoryClient via SurfaceManagerenne2016-03-091-2/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | SurfaceManager now maintains a dag of surface id namespaces. Optionally, a single BeginFrameSource input can be attached to a single namespace node. Every namespace node also has a SurfaceFactoryClient. This client is informed of a current BeginFrameSource, which is chosen from any BeginFrameSource attached to it or a parent of that node. Any children of that namespace also are able to use that source. SurfaceManager is responsible for picking which source to use, of which it currently just picks the first one until that source goes is removed after which it arbitrarily picks another valid one. In practice, this means that a window moved to another display in ChromeOS will switch its BeginFrameSource after the window is dropped onto the new window. Because the users of this dag all have very different requirements, the ordering of SurfaceFactoryClient registration, namespace hierarchy registration, and BeginFrameSource attaching are not particularly strict. BeginFrameSources, SurfaceFactoryClients, and hierarchies can be registered and unregistered in any order with respect to each other. BUG=401331 CQ_INCLUDE_TRYBOTS=tryserver.blink:linux_blink_rel Review URL: https://codereview.chromium.org/1673783004 Cr-Commit-Position: refs/heads/master@{#379988}
* Make TextureLayerImplTest comply with secure_output flag.dcastagna2016-03-082-0/+17
| | | | | | | | | | | | | | | This patch adds a flag 'secure_output_only_' to TextureMailbox and a flag 'is_secure_output_' to the LayerTreeImpl. This flags are used by TextureLayerImpl to determine if it's secure to composite specific textures coming from a mailbox on a specific compositor. BUG=b/27173841,b/27174223 CQ_INCLUDE_TRYBOTS=tryserver.blink:linux_blink_rel Review URL: https://codereview.chromium.org/1773923002 Cr-Commit-Position: refs/heads/master@{#379966}
* cc: Fix for releasing output surface during commit.khushalsagar2016-03-081-0/+1
| | | | | | | | | | | | | | | | | | | | | | In the remote compositor we can get into a state where the LTH on the client requests a BeginMainFrame and then releases the output surface. The server will still send a commit but we can't push this commit till the client initializes a new output surface. At the same time the scheduler will not request a new output surface till it clears the pipeline of the previous commit. This change adds a setting to the Scheduler to allow it to request a new output surface, while there is a commit pending. The RemoteChannelImpl queues any protos received if the output is released and process them when a new output surface is initialized. BUG=586210 CQ_INCLUDE_TRYBOTS=tryserver.blink:linux_blink_rel Review URL: https://codereview.chromium.org/1691143002 Cr-Commit-Position: refs/heads/master@{#379947}
* cc: Fix interchange of red and blue content when using ETC1_RGB8_OES texturesradu.velea2016-03-071-2/+1
| | | | | | | | | | | | | | | | | | Content is swizzled when texture format has different component order than expected format by platform. ETC1 implies the use RGBX layout and should not trigger a swizzle. Updated unittest. TEST=visual inspection with --enable-tile-compression and PlatformColorTest.SameComponentOrder in cc_unittests BUG=570715 CQ_INCLUDE_TRYBOTS=tryserver.blink:linux_blink_rel Review URL: https://codereview.chromium.org/1746763002 Cr-Commit-Position: refs/heads/master@{#379533}
* cc: Move SyncedScrollOffset to scroll treesunxd2016-03-033-29/+7
| | | | | | | | | | | | | | | | Now updating scrolling information on impl side can be independent of layer impl. There are still some left-over changes corresponding to NoteLayerPropertiesChanged. SyncedScrollOffset of scrollable layers are now stored in property trees instead of layer impl. The main thread property tree has one copy while pending and active share one. BUG=568830 CQ_INCLUDE_TRYBOTS=tryserver.blink:linux_blink_rel Review URL: https://codereview.chromium.org/1736073002 Cr-Commit-Position: refs/heads/master@{#379116}
* Clean up function names with from property treesweiliangc2016-03-031-2/+2
| | | | | | | | | | | | | Now we are always using property trees, the names saying from property trees are redundant. BUG= R=enne CQ_INCLUDE_TRYBOTS=tryserver.blink:linux_blink_rel Review URL: https://codereview.chromium.org/1751983002 Cr-Commit-Position: refs/heads/master@{#379042}
* cc: Separate ImageDecodeController into software and gpu parts.vmpstr2016-03-032-2/+6
| | | | | | | | | | | | | | | | | This patch separates ImageDecodeController into the software and gpu components, which are created when tile manager resources are set. This allows independent development of the two paths without extra complications involved trying to handle both cases in the same class. R=enne, ericrk BUG=581423 CQ_EXTRA_TRYBOTS=tryserver.blink:linux_blink_rel CQ_INCLUDE_TRYBOTS=tryserver.blink:linux_blink_rel Review URL: https://codereview.chromium.org/1642803003 Cr-Commit-Position: refs/heads/master@{#378895}
* Fix name collisions that will occur with chromium style.danakj2016-03-021-1/+1
| | | | | | | | | | | | | | | | | | This fixes cases where renaming a method from thisStyle to ThisStyle makes it collide with something, usually another method with the same name. For the case in PrintStream.h, the collision function is actually dead code so remove it. TBR=avi,pdr R=pdr BUG=584539 CQ_INCLUDE_TRYBOTS=tryserver.blink:linux_blink_rel Review URL: https://codereview.chromium.org/1753023002 Cr-Commit-Position: refs/heads/master@{#378868}
* Revert of Introduce LayerListImpl (patchset #11 id:200001 of ↵vollick2016-03-012-39/+39
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | https://codereview.chromium.org/1746603002/ ) Reason for revert: I'm going to try another, less code churny approach to the layer list refactor. Original issue's description: > Introduce LayerListImpl > > In this cl, the LayerTreeImpl constructs a LayerListImpl. > The idea being that most plumbing won't need to change at > first to get the list to where it needs to be. The first > consumer of the LayerTreeImpl that I'm attempting to > teach to speak LayerListImpl-ese is the LayerImpl. That > has not been completely finished in this cl so that it > doesn't become too big and difficult to review. > > NB: since the actual storage of the LayerImpls doesn't > change in this cl (they're still in the LayerTreeImpl), > there's no need to guard this work behind a flag. > > BUG=557194 > CQ_INCLUDE_TRYBOTS=tryserver.blink:linux_blink_rel > > Committed: https://crrev.com/299bf1f63b8253c77530b904874f3435f9bde6d3 > Cr-Commit-Position: refs/heads/master@{#378398} TBR=weiliangc@chromium.org,ajuma@chromium.org # Skipping CQ checks because original CL landed less than 1 days ago. NOPRESUBMIT=true NOTREECHECKS=true NOTRY=true BUG=557194 Review URL: https://codereview.chromium.org/1751243002 Cr-Commit-Position: refs/heads/master@{#378608}
* Share animations from compositor to main thread.ymalik2016-03-012-0/+8
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This CL introduces a new state that a compositor animation can be in, namely, ABORT_BUT_NEEDS_COMPLETION. When a main thread scrolling reason is added, the current scroll offset animation is put into this state. The layer animation controller looks for impl-only animations in this state and passes a TAKEOVER animation event to the main thread with the animation_curve. The main thread then completes the animation. Notes: - This CL is for impl only animations, i.e, the jidder bug won't be fixed for an animation running on cc that was initiated by the main thread (keyboard scroll). Future CL will add the takeover logic for MT-initiated animations. - This CL doesn't support the takeover notification from the old animation path. The old path is where we don't use CompositorAnimationPlayer and its better to not add the plumbing for something that will be removed soon anyway. Design-doc https://docs.google.com/a/google.com/document/d/1JUYvp5gilux7bca8vfmE4Rr5BUjSthizmz7g4BnOnBA/edit?usp=sharing Test page: http://philipwalton.github.io/polyfill/demos/position-sticky/ BUG=581875 CQ_INCLUDE_TRYBOTS=tryserver.blink:linux_blink_rel Review URL: https://codereview.chromium.org/1734063003 Cr-Commit-Position: refs/heads/master@{#378411}
* Introduce LayerListImplvollick2016-03-012-39/+39
| | | | | | | | | | | | | | | | | | | | | In this cl, the LayerTreeImpl constructs a LayerListImpl. The idea being that most plumbing won't need to change at first to get the list to where it needs to be. The first consumer of the LayerTreeImpl that I'm attempting to teach to speak LayerListImpl-ese is the LayerImpl. That has not been completely finished in this cl so that it doesn't become too big and difficult to review. NB: since the actual storage of the LayerImpls doesn't change in this cl (they're still in the LayerTreeImpl), there's no need to guard this work behind a flag. BUG=557194 CQ_INCLUDE_TRYBOTS=tryserver.blink:linux_blink_rel Review URL: https://codereview.chromium.org/1746603002 Cr-Commit-Position: refs/heads/master@{#378398}
* Revert checkerboarding image/no-image metrics.vollick2016-03-012-35/+0
| | | | | | | | | | | | | | This is currently providing no more value. Let's ditch it. This is a revert of https://codereview.chromium.org/1566813002 BUG=None CQ_INCLUDE_TRYBOTS=tryserver.blink:linux_blink_rel Review URL: https://codereview.chromium.org/1741183003 Cr-Commit-Position: refs/heads/master@{#378388}
* Remove unused function LastCommittedSourceFrameNumber from LayerTreeTestweiliangc2016-02-292-11/+0
| | | | | | | | | | | | | | | | The function LastCommittedSourceFrame number has no caller and should be removed. This function is added in https://codereview.chromium.org/139053002, and usages have been removed in https://codereview.chromium.org/279013002. BUG= R=vollick CQ_INCLUDE_TRYBOTS=tryserver.blink:linux_blink_rel Review URL: https://codereview.chromium.org/1746743003 Cr-Commit-Position: refs/heads/master@{#378264}
* tracing: Make ConvertableToTraceFormat move-onlyprimiano2016-02-292-10/+10
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Summary. This CL: - Makes TraceEvent ownership a move-only scoped_ptr. - Makes ConvertableToTraceFormat (CTTF) itself move-only scoped_ptr. - Updates all the codebase that uses CTTF in TRACE_EVENT macros to use move-only semantics. Background: Historically ConvertableToTraceFormat (CTTF) was RefCounted. The main reason seems to be supporting monitoring mode (now deprecated) where tracing needed to copy TraceEvents without flushing the TraceLog. Not what monitoring mode is gone, there is no reason why TraceEvent(s) should not be move-only. Unfortunately CTTF being RefCounted exposed that implementation detail to its public interface. Fortunately, most of the codebase doesn't care about the fact that CTTF is RefCounted. The only exceptions are: 1. Memory-infra heap profiler {StackFrame,TypeInfo}Deduplicator 2. cc::Layer DebugInfo 1) Is addressed creating a proxy class which delegates the CTTF methods to the duplicators inside MDSessionState. Essentially it makes the CTTF metadata events shared co-owners of the MDSessionState. 2) After an offline chat with danakj@, it seems OK to make DebugInfo(s) moved scoped_ptr (as opposite as copied), moving the ownership to the active layer and keeping a raw ptr into the pending layer. BUG=559117 CQ_INCLUDE_TRYBOTS=tryserver.blink:linux_blink_rel TBR=thakis,jochen,tbarzic,mnaganov,skyostil Review URL: https://codereview.chromium.org/1717283003 Cr-Commit-Position: refs/heads/master@{#378263}
* CC Animation: Expose TargetProperty enum to be aliased in Blink Platform.loyso2016-02-255-37/+34
| | | | | | | | | | | | | | | | | | | TargetProperty is intended to be used as an alias in Source/platform/animation/CompositorTargetProperty.h This is slightly better then untyped approach used here: https://codereview.chromium.org/1599673002 where we setup struct with constants in it and pass uint32_t everywhere. An alternative approach with strongly typed enum considered too verbose: https://codereview.chromium.org/1698813002/ BUG=577016 CQ_INCLUDE_TRYBOTS=tryserver.blink:linux_blink_rel Review URL: https://codereview.chromium.org/1700653002 Cr-Commit-Position: refs/heads/master@{#377501}
* cc: Add out-of-line copy ctors for complex classes.vmpstr2016-02-252-0/+3
| | | | | | | | | | | | | | This patch adds out of line copy constructors for classes that our clang-plugin considers heavy. This is an effort to enable copy constructor checks by default. BUG=436357 R=enne@chromium.org, dcheng@chromium.org, thakis@chromium.org CQ_INCLUDE_TRYBOTS=tryserver.blink:linux_blink_rel Review URL: https://codereview.chromium.org/1732573002 Cr-Commit-Position: refs/heads/master@{#377462}
* cc: Replace LayerImpl with ScrollNode when updating scrolling info.sunxd2016-02-222-0/+14
| | | | | | | | | | | | | | | | | | | | ScrollState, DistributeScrollDelta and ScrollAnimated use scroll_node instead of LayerImpl. Move user_scrollable, clip_height and currently_scrolling_layer to scroll_tree. Use scroll_node->owner_id to create animation, but still use LayerImpl for the deprecated LayerAnimationController code path. LayerImpl::scroll_offset_ is the only left-over. BUG=568830 CQ_INCLUDE_TRYBOTS=tryserver.blink:linux_blink_rel Review URL: https://codereview.chromium.org/1708763002 Cr-Commit-Position: refs/heads/master@{#376838}
* Reland Allow one-copy and zero-copy task tile worker pools to use compressed ↵auygun2016-02-221-2/+4
| | | | | | | | | | | textures. BUG=434699 CQ_INCLUDE_TRYBOTS=tryserver.blink:linux_blink_rel Review URL: https://codereview.chromium.org/1713503002 Cr-Commit-Position: refs/heads/master@{#376711}
* cc: Add MainAndImplFrameTimeDelta UMA.brianderson2016-02-202-4/+10
| | | | | | | | | | | | | | | Records how often the main and impl threads are synchronized when the compositor draws with a new active tree. Some DCHECKS are disabled for the synchronous compositor because draws can come in at any time or not at all. BUG=582749 CQ_INCLUDE_TRYBOTS=tryserver.blink:linux_blink_rel Review URL: https://codereview.chromium.org/1681393003 Cr-Commit-Position: refs/heads/master@{#376628}
* Delete CalcDrawPropsweiliangc2016-02-194-10/+0
| | | | | | | | | | | | | | We always use property trees. Delete CalcDrawProps. Delete |use_property_trees| because it's always true. Delete |verify_property_trees| because we don't have CDP to verify against. R=enne, piman, ajuma, vollick, dtrainor BUG=581832 CQ_INCLUDE_TRYBOTS=tryserver.blink:linux_blink_rel Review URL: https://codereview.chromium.org/1706903002 Cr-Commit-Position: refs/heads/master@{#376337}
* Introducing gpu::CommandBufferId as a distinct, IdType<...>-based type.lukasza2016-02-162-3/+4
| | | | | | | | | | | | | | | This CL generalizes the pattern used by content::SavePackageId and cc::SurfaceId and puts it into //base/id_type.h. Using this pattern for gpu::CommandBufferId should hopefully help avoid bugs like the mixup fixed by https://crrev.com/365437. BUG=514815, 565545 CQ_INCLUDE_TRYBOTS=tryserver.blink:linux_blink_rel TBR=wolenetz@chromium.org, sky@chromium.org Review URL: https://codereview.chromium.org/1548443002 Cr-Commit-Position: refs/heads/master@{#375620}
* Add framework for (de)serialization of images in SkPicturenyquist2016-02-124-1/+90
| | | | | | | | | | | | This CL adds Plumbing for picture serialization and deserialization from //blimp to DrawingDisplayItem. BUG=577262 CQ_INCLUDE_TRYBOTS=tryserver.blink:linux_blink_rel Review URL: https://codereview.chromium.org/1675763002 Cr-Commit-Position: refs/heads/master@{#375053}
* Move MaxScrollOffset to property_treessunxd2016-02-111-1/+2
| | | | | | | | | | | | | | | | | | | MaxScrollOffset is removed from LayerImpl so that updating scrolling info does not need to touch LayerImpl unless a non-fast scrollable region is met (this is also planned to be removed from LayerImpl when hit testing list is available). ScrollTree now stores information about layer bounds, scroll clip layer bounds, bounds_delta and inner/outer viewport container/scroller layer info. Also needs to push page_scale_factor to TransformTree when updated. BUG=568830 CQ_INCLUDE_TRYBOTS=tryserver.blink:linux_blink_rel Review URL: https://codereview.chromium.org/1675963002 Cr-Commit-Position: refs/heads/master@{#374809}
* Adds an interface to SurfaceHittestDelegate in order to overridelfg2016-02-092-11/+39
| | | | | | | | | | | | | the hittesting decision to accept a surface. This will be used to override hittesting on transparent backgrounds. BUG=491334 CQ_INCLUDE_TRYBOTS=tryserver.blink:linux_blink_rel Review URL: https://codereview.chromium.org/1663433002 Cr-Commit-Position: refs/heads/master@{#374433}
* Remove DelegatedRendererLayerjbauman2016-02-095-157/+0
| | | | | | | | | | | We now use SurfaceLayer instead in all cases. BUG=579275 CQ_INCLUDE_TRYBOTS=tryserver.blink:linux_blink_rel Review URL: https://codereview.chromium.org/1675023002 Cr-Commit-Position: refs/heads/master@{#374311}
* Add support for 9- and 10-bit h264 videos.hubbe2016-02-092-1/+5
| | | | | | | | | | | | | | | | | Videos are uploaded to GPU using half-floats if supported, otherwise they are downshifted to regular 8-bit textures before uploading. No dithering is done, except for whatever GL_DITHER might do. (Which is probably nothing.) BUG=445071 CQ_INCLUDE_TRYBOTS=tryserver.blink:linux_blink_rel Committed: https://crrev.com/074c4287f2625860b2a9eb437b97f1f1788f8f4b Cr-Commit-Position: refs/heads/master@{#373691} Review URL: https://codereview.chromium.org/1599533002 Cr-Commit-Position: refs/heads/master@{#374221}
* cc: fix for huge filtered render surfaces.senorblanco2016-02-081-0/+0
| | | | | | | | | | | | | | | | Now that we're properly taking crop rects (filter region) into account in accelerated reference filters, we may end up with a very large size for the resulting render target. This is inefficient, and may fail to allocate. The fix is to apply the layer's clip_rect to the computed rect. BUG=582357 CQ_INCLUDE_TRYBOTS=tryserver.blink:linux_blink_rel Review URL: https://codereview.chromium.org/1670763002 Cr-Commit-Position: refs/heads/master@{#374216}
* Revert of Add support for 9- and 10-bit h264 videos. (patchset #27 of ↵flackr2016-02-052-5/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | https://codereview.chromium.org/1599533002/ ) Reason for revert: Commit was failing content_browsertests on Mac 10.10: failures: Http/MediaTest.VideoBearHighBitDepthMp4/0 File/MediaTest.VideoBearHighBitDepthMp4/0 First failure: https://build.chromium.org/p/chromium.mac/builders/Mac10.10%20Tests/builds/5222 Original issue's description: > Add support for 9- and 10-bit h264 videos. > > Videos are uploaded to GPU using half-floats if supported, otherwise > they are downshifted to regular 8-bit textures before uploading. No > dithering is done, except for whatever GL_DITHER might do. (Which > is probably nothing.) > > BUG=445071 > CQ_INCLUDE_TRYBOTS=tryserver.blink:linux_blink_rel > > Committed: https://crrev.com/074c4287f2625860b2a9eb437b97f1f1788f8f4b > Cr-Commit-Position: refs/heads/master@{#373691} TBR=fbarchard@chromium.org,erg@chromium.org,reed@chromium.org,piman@chromium.org,danakj@chromium.org,asvitkine@chromium.org,dalecurtis@chromium.org,nasko@chromium.org,fsamuel@chromium.org BUG=445071 NOPRESUBMIT=true NOTREECHECKS=true NOTRY=true CQ_INCLUDE_TRYBOTS=tryserver.blink:linux_blink_rel Review URL: https://codereview.chromium.org/1674703002 Cr-Commit-Position: refs/heads/master@{#373824}
* Add support for 9- and 10-bit h264 videos.hubbe2016-02-052-1/+5
| | | | | | | | | | | | | | Videos are uploaded to GPU using half-floats if supported, otherwise they are downshifted to regular 8-bit textures before uploading. No dithering is done, except for whatever GL_DITHER might do. (Which is probably nothing.) BUG=445071 CQ_INCLUDE_TRYBOTS=tryserver.blink:linux_blink_rel Review URL: https://codereview.chromium.org/1599533002 Cr-Commit-Position: refs/heads/master@{#373691}