summaryrefslogtreecommitdiffstats
path: root/cc
Commit message (Collapse)AuthorAgeFilesLines
* Prevent cc:TextureLayer from calling AcquireLayerTexture when using mailboxesjunov@chromium.org2013-11-141-2/+3
| | | | | | | | | BUG=315170 R=danakj@chromium.org, enne@chromium.org, piman@chromium.org Review URL: https://codereview.chromium.org/69933014 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@235241 0039d316-1c4b-4281-b951-d872f2087c98
* GTTF: Fix cc_unittests ignoring gtest_filter with new test launcher.phajdan.jr@chromium.org2013-11-142-4/+0
| | | | | | | | | BUG=299200, 236893 R=danakj@chromium.org, jamesr@chromium.org Review URL: https://codereview.chromium.org/70943002 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@235184 0039d316-1c4b-4281-b951-d872f2087c98
* cc: Don't double-tick unthrottled FrameRateControllerskyostil@chromium.org2013-11-143-7/+39
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | When the FrameRateController is configured with a non-throttling time source (i.e., vsync is off), it posts the next tick task manually whenever it is active at the end of a previous tick. However, it also posts a manual tick task when a swap buffers call completes to make sure rendering doesn't stall. These two tick task sources combined can lead to an expential growth of tick tasks. Consider the following call tree where each edge is an asynchronous task: OnTimerTick | | | `--------------------. | | BeginImplFrame | Deadline | | | OnSwapBuffers | Complete | | | OnTimerTick OnTimerTick | | | | | `--------. | `----------. | | | | BeginImplFrame | BeginImplFrame | Deadline | Deadline | | | | | OnSwapBuffers | OnSwapBuffers | Complete | Complete | | | | | OnTimerTick OnTimerTick OnTimerTick OnTimerTick | | | | | | | | : : : : : : : : (etc.) In practice this situation happens if both the impl and main threads request a BeginFrame and when the tick task runs, the scheduler isn't ready to draw because the previous BeginFrame deadline hasn't triggered yet. This means the the pending swap count never increases to the throttling limit and each timer tick causes another one to get queued. Once the deadline triggers and we do swap, the swap completion spawns a parallel line of tick tasks. This patch fixes the problem by only queueing a new tick task if we haven't queued one already. BUG=312960 Review URL: https://codereview.chromium.org/67023003 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@235178 0039d316-1c4b-4281-b951-d872f2087c98
* Moving the VSyncProvider interface to ui/gfx from ui/gldnicoara@chromium.org2013-11-141-1/+1
| | | | | | | | | | | | | Custom implementations of the VSyncProvider (such as the Ozone provider) need to inherit from VSyncProvider. However, these implementations leave outside of ui/gl and would break deps. Moving the interface to ui/gfx would allow such implementations to inherit the VSyncProvider interface. BUG= Review URL: https://codereview.chromium.org/68893002 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@235172 0039d316-1c4b-4281-b951-d872f2087c98
* Remove GSC usage from ExynosVideoDecodeAccelerator.sheu@chromium.org2013-11-141-8/+8
| | | | | | | | | | | | | | | | With support for compositing from GL_TEXTURE_EXTERNAL_OES image (and support from the Exynos GL stack for creating those textures), the video decoder does not have to perform an explicit YUV->RGB color conversion step. +27% throughput on birds0.h264 through vda_unittest. BUG=167417 TEST=local build, run on CrOS snow, vda_unittest TEST=local build, run on Android/clank Review URL: https://codereview.chromium.org/23526070 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@235128 0039d316-1c4b-4281-b951-d872f2087c98
* Revert 234641 "cc: Combine analysis and raster"enne@chromium.org2013-11-138-78/+99
| | | | | | | | | | | | | | | | | | | | | | | | | This breaks rasterization. Reverting to investigate. > cc: Combine analysis and raster > > This changes the analysis of PicturePiles from optimistic (hoping to > save raster work by checking if a rastered bitmap would be a solid > color) to pessimistic (assuming most bitmaps are not solid colors and > just checking afterwards). It does this by rastering to both an > AnalysisCanvas and a normal SkCanvas via SkNWayCanvas and then > checking the results afterwards. > > R=reveman@chromium.org, senorblanco@chromium.org > BUG=310796 > > Review URL: https://codereview.chromium.org/63443003 TBR=enne@chromium.org, senorblanco@chromium.org BUG=318782 Review URL: https://codereview.chromium.org/62103012 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@234962 0039d316-1c4b-4281-b951-d872f2087c98
* Use software compositor for windows under 64 pixels wide or tall.jbauman@chromium.org2013-11-133-3/+16
| | | | | | | | | | | They're broken on AMD drivers. Switch back and forth between software and hardware using lost device on the output surface on resize. BUG=286609 R=jamesr@chromium.org Review URL: https://codereview.chromium.org/61323003 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@234928 0039d316-1c4b-4281-b951-d872f2087c98
* cc: Fix memory leak in cc_perftests.vmpstr@chromium.org2013-11-133-13/+25
| | | | | | | | | | | | | This patch fixes a memory leak in the cc_perftests. When we assign memory to tiles, if we use ManageTiles call then we also create raster tasks which causes a memory leak in resources acquired. BUG=317970, 317969 R=reveman@chromium.org, epenner@chromium.org Review URL: https://codereview.chromium.org/68173006 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@234840 0039d316-1c4b-4281-b951-d872f2087c98
* Add animated bounds to AsValue data for a LayerImplvollick@chromium.org2013-11-133-0/+22
| | | | | | | | BUG=None Review URL: https://codereview.chromium.org/64123007 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@234834 0039d316-1c4b-4281-b951-d872f2087c98
* Kick ProcessScheduledActions while a commit is pendingjamesr@chromium.org2013-11-135-2/+90
| | | | | | | | | | | | | | | | | | | | | We can get into situations where the render compositor is at the pending swap limit but we won't get any swap acks until we allow a pending commit to complete. For example, on windows when using ubercompositor the browser's UI thread can be blocked on an NPAPI plugin (via HWND parenting) and the NPAPI plugin can be blocked on running a piece of javascript that is blocked on the render process main thread which is blocked on the commit finishing. When we're in this state, we need to continually ProcessScheduledActions() in order to process any pending uploads, etc, so the commit can complete and release the deadlock. This sort of thread dependency is rare, and polling is not the ideal behavior for framerate, so this sets up a repeating timer at 1/2 the expected framerate to make sure we don't block forever but usually use the normal BeginImplFrame mechanism to rate limit. The deadlock here is specifically: 1.) Render compositor's FrameRateController is at the swap limit 2.) Render compositor's frame is pending on the browser UI thread's message loop 3.) Browser UI thread is blocked on ::SetWindowPos(), which is synchronous on the thread owning the HWND (a windowed plugin in this case) 4.) NPAPI plugin's thread is blocked executing a synchronous call to its host 5.) Render process main thread is blocked waiting for its commit to complete 6.) Render process compositor thread has uploaded all the textures that ResourceUpdateController wants to upload per tick and is waiting for a frame to be produced before it uploads more textures This releases the deadlock by calling cc::Scheduler::ProcessScheduledActions() which calls cc::ThreadProxy::DidAnticipatedDrawTimeChange() which then calls cc::ResourceUpdateController::PerformMoreUpdates() with the new anticipated draw time. The ResourceUpdateController will eventually upload all of the textures pending in the commit and unblock the commit completing. BUG=317430 R=enne@chromium.org Review URL: https://codereview.chromium.org/66783005 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@234728 0039d316-1c4b-4281-b951-d872f2087c98
* CC: Set a reasonable raster task limit for perf-testing.epenner@chromium.org2013-11-133-1/+17
| | | | | | | | | | | This is much higher than average android platform, which will keep our perf tests on the strict side. BUG=316573 Review URL: https://codereview.chromium.org/67393003 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@234722 0039d316-1c4b-4281-b951-d872f2087c98
* cc: don't lose resources sent to parent when ResourceProvider::Child is ↵piman@chromium.org2013-11-134-48/+83
| | | | | | | | | | | | | | | destroyed. Since we recreate the DelegatedRendererLayer in some cases (e.g. child changed, size changed), we'll delete the Child, but we don't want to lose resources that may be in the parent. Instead we can delay the Child destruction until all resources have been returned (or we destroy the ResourceProvider). BUG=315847 Review URL: https://codereview.chromium.org/66803006 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@234712 0039d316-1c4b-4281-b951-d872f2087c98
* cc: Combine analysis and rasterenne@chromium.org2013-11-128-99/+78
| | | | | | | | | | | | | | | | This changes the analysis of PicturePiles from optimistic (hoping to save raster work by checking if a rastered bitmap would be a solid color) to pessimistic (assuming most bitmaps are not solid colors and just checking afterwards). It does this by rastering to both an AnalysisCanvas and a normal SkCanvas via SkNWayCanvas and then checking the results afterwards. R=reveman@chromium.org, senorblanco@chromium.org BUG=310796 Review URL: https://codereview.chromium.org/63443003 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@234641 0039d316-1c4b-4281-b951-d872f2087c98
* Revert 232881 "cc: Fix hit-testing in zero-opacity layers."skyostil@google.com2013-11-1212-404/+33
| | | | | | | | | | | | | | | | | | | | | Reverting because this broke scrolling on mobile GMail. > cc: Fix hit-testing in zero-opacity layers. > > If a layer that accepts touch or wheel events, but the layer (or one of its > ancestor layers) has zero opacity, then make sure the layer hit-tests correctly. > > BUG=295295 > R=enne@chromium.org, rbyers@google.com > > Review URL: https://codereview.chromium.org/26112002 TBR=sadrul@chromium.org BUG=318088,313523 Review URL: https://codereview.chromium.org/68933008 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@234482 0039d316-1c4b-4281-b951-d872f2087c98
* Propagate source_frame_number from LTH to DevToolscaseq@chromium.org2013-11-124-4/+6
| | | | | | | | | | | | | | | This plumbs source_frame_number to WebDevToolsAgent::didBeginFrame(), so we can associate impl-side activity with the main frame. BUG=305863 Related blink-side issue: https://codereview.chromium.org/54273005/ R=jamesr@chromium.org, nduca@chromium.org, sky@chromium.org Review URL: https://codereview.chromium.org/54493003 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@234469 0039d316-1c4b-4281-b951-d872f2087c98
* cc: Make PictureLayerImpl::AsValue emit unrecorded regionenne@chromium.org2013-11-121-1/+5
| | | | | | | | | | | | In retrospect, the unrecorded region is more useful to visualize. Doing this in C++ means that JavaScript doesn't have to do the region subtraction. BUG=none Review URL: https://codereview.chromium.org/69253003 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@234429 0039d316-1c4b-4281-b951-d872f2087c98
* Fixes for -Wunused-function on Linux, Android and ChromeOShans@chromium.org2013-11-121-1/+1
| | | | | | | | | BUG=315884, 78045 TBR=owners Review URL: https://codereview.chromium.org/67923002 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@234373 0039d316-1c4b-4281-b951-d872f2087c98
* Disable TextureLayerNoExtraCommitForMailboxTest because of crashes.phajdan.jr@chromium.org2013-11-121-1/+2
| | | | | | | | | | TBR=kloveless BUG=317854 Review URL: https://codereview.chromium.org/69533002 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@234337 0039d316-1c4b-4281-b951-d872f2087c98
* cc: Minor clean ups to ETC1PixelRef header.tfarina@chromium.org2013-11-091-6/+7
| | | | | | | | | | | | | | - remove unnecessary includes - use chromium OVERRIDE macro instead of skia SK_OVERRIDE. - use DISALLOW_COPY_AND_ASSIGN macro. BUG=None TEST=cc_unittests R=enne@chromium.org,jamesr@chromium.org Review URL: https://codereview.chromium.org/67613002 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@234110 0039d316-1c4b-4281-b951-d872f2087c98
* Record UMA metrics for video pixel formats.rileya@chromium.org2013-11-081-0/+2
| | | | | | | | | | | Also renumbers VideoFrame::Format enum to remove gaps. BUG=310272 TBR=danakj Review URL: https://codereview.chromium.org/47623005 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@234019 0039d316-1c4b-4281-b951-d872f2087c98
* Adding support for VSyncProvider to the software drawing pathdnicoara@chromium.org2013-11-082-0/+15
| | | | | | | | BUG= Review URL: https://codereview.chromium.org/57883007 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@233985 0039d316-1c4b-4281-b951-d872f2087c98
* cc: Included recorded region in PictureLayerImpl::AsValueenne@chromium.org2013-11-081-0/+1
| | | | | | | | | R=nduca@chromium.org, vmpstr@chromium.org BUG=none Review URL: https://codereview.chromium.org/65923002 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@233881 0039d316-1c4b-4281-b951-d872f2087c98
* cc: Fix incomplete changes to add ETC1 supportpowei@chromium.org2013-11-089-19/+116
| | | | | | | | | | | | | ETC1 resources was recently added (https://codereview.chromium.org/27973002), but the change did not cover the LayerTreeHostImpl path, which cause crashes when one tries to use ETC1 UIResourceBitmap. This update adds in the missing changes. BUG=314749 Review URL: https://codereview.chromium.org/41903003 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@233874 0039d316-1c4b-4281-b951-d872f2087c98
* Remove eager program initialization from compositor startupjamesr@chromium.org2013-11-081-17/+0
| | | | | | | | | | | | | | | | | | | | | | | In the old days, the compositor would make a sequence of synchronous glGetUniformLocation calls for each program it initialized in order to set up its uniforms. Since program initialization is lazy and we don't use programs until fairly far along in a frame - when we're ready to draw - these calls would tend to be stuck behind a long series of other calls (like texture uploads) on the compositor's first frame and get stuck. To mitigate this cost, we eagerly initialized a few programs we expected to use often before entering many other commands. Nowadays, we associate uniform locations with programs using the non-blocking GL_CHROMIUM_bind_uniform_location extension, so it doesn't matter as much when the program initialization calls are made relative to other GL commands. Eagerly initializing all possibly used programs just wastes memory in cases where we don't end up using them all. BUG=316141 Review URL: https://codereview.chromium.org/65153002 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@233867 0039d316-1c4b-4281-b951-d872f2087c98
* CC: Remove latency query until we can find the bug.epenner@chromium.org2013-11-081-0/+2
| | | | | | | | | | | | | | | The addition of latency queries causes black flickering on Galaxy Note 3. Chrome queries shouldn't even change the GL stream, so there must a bug somewhere and this could be affecting all platforms. Minimal disable until we find the bug. BUG=306690 Review URL: https://codereview.chromium.org/29313004 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@233824 0039d316-1c4b-4281-b951-d872f2087c98
* cc: Move UIResourceRequest into its own fileenne@chromium.org2013-11-086-62/+91
| | | | | | | | | R=jamesr@chromium.org BUG=none Review URL: https://codereview.chromium.org/59263007 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@233783 0039d316-1c4b-4281-b951-d872f2087c98
* Replaces uses of the WGC3DSwapBuffersClient with LTHSingleThreadClientjamesr@chromium.org2013-11-0812-4/+28
| | | | | | | | | | | | | | | | | This converts users of the WebGraphicsContext3DSwapBuffersClient mechanism over to using callbacks from cc::LayerTreeHostSingleThreadClient instead. This mechanism is a way to implement flow control when using single threaded compositing by keeping track of the number of pending SwapBuffers calls. WGC3DSwapBuffersClient hooked into the context directly to observer these calls, but intercepted the calls at an awkward place. This instead gets callbacks directly from the compositor when using the single threaded path. R=piman BUG=181120 Review URL: https://codereview.chromium.org/59033012 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@233777 0039d316-1c4b-4281-b951-d872f2087c98
* Remove EMPTY from VideoFrame::Format.rileya@chromium.org2013-11-081-2/+0
| | | | | | | | | | | It was being used to indicate end-of-stream, which was sort of an abuse of the format enum. Instead, we now have a CreateEOSFrame(), rather than CreateEmptyFrame(), and an |end_of_stream_| member. BUG=313827 TBR=danakj Review URL: https://codereview.chromium.org/57403003 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@233776 0039d316-1c4b-4281-b951-d872f2087c98
* cc: Only report calc_draw_props_time.tonyg@chromium.org2013-11-082-10/+0
| | | | | | | | | | | | | | | | | | The perf dashboard is configured to monitor every trace output by the cc_perftests. Here, we were outputting two traces that represent the exact same thing. This only causes more work for the perf sheriffs. So I'm cutting it down to one. Incidentally, this eliminates a bug where the dashboard thought that a higher count was a regression. This also improves the precision by supporting decimals. BUG=313537 Review URL: https://codereview.chromium.org/56573002 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@233775 0039d316-1c4b-4281-b951-d872f2087c98
* Scheduler: Switch from high to low latency mode if possible.dominikg@chromium.org2013-11-087-2/+173
| | | | | | | | | | | | | | | Detect if the renderer's impl thread is one frame behind the main thread (i.e. the main thread is in a high latency mode). If, based on our estimates, the main thread can produce a new tree before the impl thread's deadline, skip a BeginMainFrame to let the impl thread catch up and operate in low latency mode from then on. This feature is currently disabled by default. BUG=309648 Review URL: https://codereview.chromium.org/54913003 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@233734 0039d316-1c4b-4281-b951-d872f2087c98
* CC: Account for memory assigned to raster tasks.epenner@chromium.org2013-11-087-32/+75
| | | | | | | | | | | | | | | Rasters are already throttled by a transfer buffer limit. This applies the same limit in TileManager which should have several advantages: - We keep more content cached (raster tasks take from cache) - The memory spike due to priority changes is minimized. - Time spent in ScheduleTasks is much reduced. BUG=303397 Review URL: https://codereview.chromium.org/26654008 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@233731 0039d316-1c4b-4281-b951-d872f2087c98
* Clean up GPU latency queries when the context is resetajuma@chromium.org2013-11-081-0/+10
| | | | | | | | | | | | This explicitly deletes queries when the context is reset (e.g. when the OutputSurface is destroyed). Failing to destroy the queries may be causing flickering on some devices. BUG=306690,243459 Review URL: https://codereview.chromium.org/32723003 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@233718 0039d316-1c4b-4281-b951-d872f2087c98
* Re-land https://codereview.chromium.org/56713002/ with ChromeOS fix.rileya@chromium.org2013-11-071-2/+0
| | | | | | | | | | | | | Remove RGB32 from VideoFrame::Format. It wasn't used anywhere outside of the unit tests. BUG=313827 TBR=danakj Review URL: https://codereview.chromium.org/60573005 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@233670 0039d316-1c4b-4281-b951-d872f2087c98
* mac: Prepare for -Wunused-functions.thakis@chromium.org2013-11-072-18/+0
| | | | | | | | | | | | Mostly involves deleting hundreds of lines of unused code. BUG=315884 R=akalin@chromium.org, brettw@chromium.org, fischman@chromium.org, jamesr@chromium.org, sky@chromium.org, thestig@chromium.org TBR=piman, youngki Review URL: https://codereview.chromium.org/63153003 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@233646 0039d316-1c4b-4281-b951-d872f2087c98
* cc: Remove duplicate computation of subtree content-rect.alokp@chromium.org2013-11-071-9/+6
| | | | | | Review URL: https://codereview.chromium.org/63373002 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@233588 0039d316-1c4b-4281-b951-d872f2087c98
* Limit pixels that get cleared to repaint area.vangelis@chromium.org2013-11-071-4/+6
| | | | | | | | | | | | | Since we now keep the canvas around in the ContentLayerUpdater, we often end up getting small invalidations that paint on a large canvas. In those cases, instead of clearing the entire canvas to transparent, clear only the portion that will be repainted. BUG=313494 Review URL: https://codereview.chromium.org/61403003 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@233539 0039d316-1c4b-4281-b951-d872f2087c98
* Rename WebKit namespace to blink (part 5)abarth@chromium.org2013-11-0738-796/+796
| | | | | | | | | | | | This CL updates all references to the WebKit namespace outside of content, chrome, and components. TBR=darin@chromium.org BUG=295096 Review URL: https://codereview.chromium.org/61553006 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@233518 0039d316-1c4b-4281-b951-d872f2087c98
* Introduce separate client and init path for single-threaded ccjamesr@chromium.org2013-11-0718-145/+202
| | | | | | | | | | | | | | | | | | | The chromium compositor can be used in either a single-threaded fashion or multi-threaded. The requirements, APIs and responsibilities of the embedder are different for these two modes. Some users of cc only use one path or the other. This adds a separate client interface and initialization path for code that only uses the single threaded path. Having a dedicated client for the single threaded path will make it possible to get rid of the WebGraphicsContext3DSwapBuffersClient which will then make it easier to break cc's dependency on WGC3D. R=piman BUG=181120 Review URL: https://codereview.chromium.org/61823008 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@233483 0039d316-1c4b-4281-b951-d872f2087c98
* Only draw the overhang pattern on overhang areas.ccameron@chromium.org2013-11-063-35/+66
| | | | | | | | | | | | Split the draw gutter quads into two regions -- one to be drawn with the overhang texture and the other to be drawn with the the background color. BUG=314767 Review URL: https://codereview.chromium.org/53303006 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@233380 0039d316-1c4b-4281-b951-d872f2087c98
* cc: Keep track of busy resources in ResourcePooljadahl@opera.com2013-11-063-10/+27
| | | | | | | | | | | | | | | | | | | | Instead of assuming every released resource could be potentially reusable, manage a list of busy resources and a list of immediately reusable resources. A busy resource is one which can not be locked for write. Recheck busy resources before the tile manager is to schedule new tasks, in AssignGpuMemoryToTiles(). If this operation becomes too expensive, the CheckBusyResources() function should only be called if some resource(s) are returned from the parent compositor or when ResourcePool releases some resource. BUG= Review URL: https://codereview.chromium.org/43753002 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@233374 0039d316-1c4b-4281-b951-d872f2087c98
* Restructure the events target into two components:ben@chromium.org2013-11-061-1/+1
| | | | | | | | | | | | | | - events_base (built by most people) - defining some basic utilities. - events (built by users of aura/views) - the ui::Event type & friends. Prior to this there was one target, and platforms that did not want ui::Event would exclude those files explicitly, making it hard to build those files on those platforms without breaking other components. R=sadrul@chromium.org BUG=none Review URL: https://codereview.chromium.org/57433011 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@233347 0039d316-1c4b-4281-b951-d872f2087c98
* Remove WGC3D::isContextLost references from ccjamesr@chromium.org2013-11-0619-652/+376
| | | | | | | | | | | | | | | | | | | | | | | | | | | | The notion of whether a context is lost is a property of both the gpu:: context itself and the system providing it. For instance, the content context provider checks if there is an error in the context or if the IPC channel backing the command buffer is down. Thus, asking if a context is lost really should go through the ContextProvider. This patch routes all lost context checks from cc through the ContextProvider. Unfortunately, this required reworking the program initialization code considerably due to the way some DCHECKs were written. The new model is that the program binding itself is inert upon construction and all initialization is done in the Initialize() call. This call is still made eagerly for some expected-to-be-common programs and lazily for the rest. This patch moves when the linkProgram() call is issued slightly for the eagerly compiled programs, but it shouldn't make any difference in practice. This patch also revamps TextureLayerClient to hide the backing context since cc only makes two calls (check for loss and insert rate limiting token) on the client's context. R=piman BUG=181120 Review URL: https://codereview.chromium.org/51653008 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@233325 0039d316-1c4b-4281-b951-d872f2087c98
* Switch from (deprecated) setIsOpaque to setAlphaType.tfarina@chromium.org2013-11-061-3/+5
| | | | | | | | | | BUG=None TEST=cc_unittests R=reed@google.com,danakj@chromium.org,thakis@chromium.org Review URL: https://codereview.chromium.org/57153002 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@233221 0039d316-1c4b-4281-b951-d872f2087c98
* cc: Reduce command buffer flushes related to creating buffer ids.reveman@chromium.org2013-11-062-39/+95
| | | | | | | | | | | | This reduces command buffer flushes by allocating buffer ids in chunks of 64 just as texture ids. BUG=314152 TEST=cc_unittests --gtest_filter=ResourceProviderTest.TextureAllocationChunk Review URL: https://codereview.chromium.org/58603002 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@233196 0039d316-1c4b-4281-b951-d872f2087c98
* cc: Don't ManageTiles twice in one frameenne@chromium.org2013-11-0511-0/+77
| | | | | | | | | | | | | | | | | | | | Any external callers of ManageTiles should inform the Scheduler that ManageTiles happened so that (1) it can clear the "needs manage tiles" flag and (2) it can avoid doing a second ManageTiles on the same frame. Other than after commit, where ManageTiles needs to be called immediately in order to kick off new raster tasks (or determine that no raster tasks are required to activate the tree), ManageTiles just needs to be called periodically to keep the raster jobs working on the most important content. Delaying the periodic caller to prevent these bad frames with commits is a worthwhile tradeoff. R=brianderson@chromium.org BUG=314882 Review URL: https://codereview.chromium.org/45923005 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@233111 0039d316-1c4b-4281-b951-d872f2087c98
* Revert 233046 "Remove RGB32 from VideoFrame::Format."shrikant@chromium.org2013-11-051-0/+2
| | | | | | | | | | | | | | | | | | | (Reverting as it seem to break ChromeOS, please re-land as soon as fixed.) > Remove RGB32 from VideoFrame::Format. > > It wasn't used anywhere outside of the unit tests. > > BUG=313827 > TBR=danakj > > Review URL: https://codereview.chromium.org/56713002 TBR=rileya@chromium.org Review URL: https://codereview.chromium.org/60393004 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@233106 0039d316-1c4b-4281-b951-d872f2087c98
* Make tree id sequence in LayerTreeHost thread-safe.dongseong.hwang@intel.com2013-11-052-14/+11
| | | | | | | | | | | LayerTreeHost instances can exists in multiple threads. e.g. Aura with --single-process. So this CL makes the sequence thread-safe. In addition, this CL removes unused s_num_layer_tree_instances. Review URL: https://codereview.chromium.org/57713004 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@233047 0039d316-1c4b-4281-b951-d872f2087c98
* Remove RGB32 from VideoFrame::Format.rileya@chromium.org2013-11-051-2/+0
| | | | | | | | | | | It wasn't used anywhere outside of the unit tests. BUG=313827 TBR=danakj Review URL: https://codereview.chromium.org/56713002 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@233046 0039d316-1c4b-4281-b951-d872f2087c98
* Simplify rate limiting since it's main thread shared context onlyjamesr@chromium.org2013-11-058-178/+35
| | | | | | | | | | | | This simplifies the compositor rate limiting code to only rate limit the shared main thread context, which as it happens is the only context that uses this feature at all. BUG=181120 Review URL: https://codereview.chromium.org/53153006 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@232972 0039d316-1c4b-4281-b951-d872f2087c98
* Allow the computation of inflated bounds for non matrix transform operations.vollick@chromium.org2013-11-053-157/+206
| | | | | | | | | | | | This CL expands the list of transform operations for which we may compute inflated bounds for animation. R=hartmanng@chromium.org,ajuma@chromium.org BUG= Review URL: https://codereview.chromium.org/55763004 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@232889 0039d316-1c4b-4281-b951-d872f2087c98