summaryrefslogtreecommitdiffstats
path: root/cc/quads
Commit message (Collapse)AuthorAgeFilesLines
* cc: Add out-of-line copy ctors for complex classes.vmpstr2016-02-2510-0/+17
| | | | | | | | | | | | | | 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}
* Added sync token generation for more resources.dyen2016-02-241-0/+6
| | | | | | | | | | | | | | | | | | As an optimization, resource sync token generation should be done as early as possible and ideally within the same GL command buffer stream as the commands which modify the resource. Sync token generation has been moved for the direct renderer case after it has added all the render pass commands. It has also been added for the HUD resource. R=piman@chromium.org BUG=584381 CQ_INCLUDE_TRYBOTS=tryserver.blink:linux_blink_rel Review URL: https://codereview.chromium.org/1717443002 Cr-Commit-Position: refs/heads/master@{#377196}
* Add support for 9- and 10-bit h264 videos.hubbe2016-02-093-13/+61
| | | | | | | | | | | | | | | | | 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}
* Switch cc::RenderPassId and cc::DrawQuad::Resources to use uint32_t instead ↵jam2016-02-082-3/+5
| | | | | | | | | | | | | | | of size_t. This is because size_t's size depends on the architecture and we send these structs over IPC. We need IPCs to match as we're now going to support 32 and 64 bit processes communicating on Android. This is split off from https://codereview.chromium.org/1619363002/. BUG=581409 CQ_INCLUDE_TRYBOTS=tryserver.blink:linux_blink_rel Review URL: https://codereview.chromium.org/1678623002 Cr-Commit-Position: refs/heads/master@{#374192}
* Revert of Add support for 9- and 10-bit h264 videos. (patchset #27 of ↵flackr2016-02-053-61/+13
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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-053-13/+61
| | | | | | | | | | | | | | 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}
* Switch cc to std::unordered_*.davidben2016-01-282-14/+11
| | | | | | | | | | | | This removes all uses of base::hash_*, BASE_HASH_NAMESPACE, and base::ScopedPtrHashMap in favor of the C++11 versions. BUG=576864, 579229 CQ_INCLUDE_TRYBOTS=tryserver.blink:linux_blink_rel Review URL: https://codereview.chromium.org/1587283002 Cr-Commit-Position: refs/heads/master@{#371937}
* cc cleanup: simplify mask_uv_scale and MaskUVRect().senorblanco2016-01-271-5/+1
| | | | | | | | | | | | | | | | RenderPassDrawQuad::MaskUVRect() computes the UV rect by scaling the quad->rect() by mask_uv_scale, then dividing by quad->rect size. However, RenderSurfaceImpl::AppendQuads() computes the mask UV scale as quad->rect() size / mask size. So let's just take the quad->rect() size out of mask_uv_scale in the first place, so we don't have to divide it back out in MaskUVRect(). BUG= CQ_INCLUDE_TRYBOTS=tryserver.blink:linux_blink_rel Review URL: https://codereview.chromium.org/1647573002 Cr-Commit-Position: refs/heads/master@{#371879}
* Allow std::unordered_*.davidben2016-01-223-4/+6
| | | | | | | | | | | | | | | | | | | | | | | | | | | | This is a reland of https://codereview.chromium.org/1502373009 with some fixes for components/metrics/leak_detector allocator type mismatches. Original issue's description: > Allow std::unordered_*. > > base::hash_* is, as a transition step, implemented in terms of > std::unordered_*. Later commits will convert existing uses. > > Also fix a host of IWYU problems that arose from this CL. > > (NOPRESUBMIT because the wstring presubmit check is overzealous > and complains about the reference to wstring in the comment.) > > Committed: https://crrev.com/3f37f7f1459e7b5a452c0e433493e0a6e9649ca7 > Cr-Commit-Position: refs/heads/master@{#370553} BUG=576864 TBR=derat@chromium.org,danakj@chromium.org,dalecurtis@chromium.org,jbauman@chromium.org,blundell@chromium.org NOPRESUBMIT=true CQ_INCLUDE_TRYBOTS=tryserver.blink:linux_blink_rel Review URL: https://codereview.chromium.org/1615713003 Cr-Commit-Position: refs/heads/master@{#370867}
* Revert of Allow std::unordered_*. (patchset #15 id:280001 of ↵davidben2016-01-213-6/+4
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | https://codereview.chromium.org/1502373009/ ) Reason for revert: MSan build failure. https://build.chromium.org/p/chromium.memory.fyi/builders/Chromium%20Linux%20ChromeOS%20MSan%20Builder/builds/12498 Original issue's description: > Allow std::unordered_*. > > base::hash_* is, as a transition step, implemented in terms of > std::unordered_*. Later commits will convert existing uses. > > Also fix a host of IWYU problems that arose from this CL. > > (NOPRESUBMIT because the wstring presubmit check is overzealous > and complains about the reference to wstring in the comment.) > > NOPRESUBMIT=true > BUG=576864 > TBR=derat@chromium.org,blundell@chromium.org,jbauman@chromium.org,dalecurtis@chromium.org > CQ_INCLUDE_TRYBOTS=tryserver.blink:linux_blink_rel > > Committed: https://crrev.com/3f37f7f1459e7b5a452c0e433493e0a6e9649ca7 > Cr-Commit-Position: refs/heads/master@{#370553} TBR=danakj@chromium.org,thakis@chromium.org,derat@chromium.org,blundell@chromium.org,dalecurtis@chromium.org,jbauman@chromium.org # Skipping CQ checks because original CL landed less than 1 days ago. NOPRESUBMIT=true NOTREECHECKS=true NOTRY=true BUG=576864 Review URL: https://codereview.chromium.org/1610023003 Cr-Commit-Position: refs/heads/master@{#370559}
* Allow std::unordered_*.davidben2016-01-213-4/+6
| | | | | | | | | | | | | | | | | | | base::hash_* is, as a transition step, implemented in terms of std::unordered_*. Later commits will convert existing uses. Also fix a host of IWYU problems that arose from this CL. (NOPRESUBMIT because the wstring presubmit check is overzealous and complains about the reference to wstring in the comment.) NOPRESUBMIT=true BUG=576864 TBR=derat@chromium.org,blundell@chromium.org,jbauman@chromium.org,dalecurtis@chromium.org CQ_INCLUDE_TRYBOTS=tryserver.blink:linux_blink_rel Review URL: https://codereview.chromium.org/1502373009 Cr-Commit-Position: refs/heads/master@{#370553}
* Switch to standard integer types in cc/.avi2015-12-2119-5/+39
| | | | | | | | | | BUG=138542 TBR=danakj@chromium.org CQ_INCLUDE_TRYBOTS=tryserver.blink:linux_blink_rel Review URL: https://codereview.chromium.org/1539203002 Cr-Commit-Position: refs/heads/master@{#366333}
* Replace inverse transform with Cross-product computation.petermayo2015-12-103-10/+166
| | | | | | | | | | | | | | | | | | | This changes how we compute the 3d normals for quads moved into a 3d context. The inverse transform approach seems to suffer numeric instability around small Y rotations that invert the normal, causing artifacts during rotation animations. BUG=565758 TEST=observe 565758#2 html, and see no flicker at the start of the twist. R=vollick@chromium.org CQ_INCLUDE_TRYBOTS=tryserver.blink:linux_blink_rel Review URL: https://codereview.chromium.org/1497153002 Cr-Commit-Position: refs/heads/master@{#364367}
* List all child surfaces (including occluded) in CompositorFramejbauman2015-12-092-7/+0
| | | | | | | | | | | | Then any occluded child surface with a copy request can be aggregated (and have its copy done) whenever its parent draws. BUG=529378 CQ_INCLUDE_TRYBOTS=tryserver.blink:linux_blink_rel Review URL: https://codereview.chromium.org/1491743006 Cr-Commit-Position: refs/heads/master@{#363877}
* Revert of List all child surfaces (including occluded) in CompositorFrame ↵jbauman2015-11-252-0/+7
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | (patchset #7 id:120001 of https://codereview.chromium.org/1430363002/ ) Reason for revert: Seems to have broken resize of some OOPIF. BUG=560237 Original issue's description: > List all child surfaces (including occluded) in CompositorFrame > > Then any occluded child surface with a copy request can be aggregated > (and have its copy done) whenever its parent draws. > > BUG=529378 > CQ_INCLUDE_TRYBOTS=tryserver.blink:linux_blink_rel > > Committed: https://crrev.com/915e16b393182f9ccc0ddc4caadd5f7744b25fd4 > Cr-Commit-Position: refs/heads/master@{#360896} TBR=danakj@chromium.org,kenrb@chromium.org NOPRESUBMIT=true NOTREECHECKS=true NOTRY=true BUG=529378 Review URL: https://codereview.chromium.org/1475643006 Cr-Commit-Position: refs/heads/master@{#361604}
* List all child surfaces (including occluded) in CompositorFramejbauman2015-11-202-7/+0
| | | | | | | | | | | | Then any occluded child surface with a copy request can be aggregated (and have its copy done) whenever its parent draws. BUG=529378 CQ_INCLUDE_TRYBOTS=tryserver.blink:linux_blink_rel Review URL: https://codereview.chromium.org/1430363002 Cr-Commit-Position: refs/heads/master@{#360896}
* Use std::tie() for operator< in cc/jsbell2015-11-201-2/+3
| | | | | | | | | | | | | Simplify the code for operator< when comparing multiple members using a common std::tie idiom. BUG=555171 R=danakj@chromium.org CQ_INCLUDE_TRYBOTS=tryserver.blink:linux_blink_rel Review URL: https://codereview.chromium.org/1463623002 Cr-Commit-Position: refs/heads/master@{#360872}
* cc: Replace Pass() with std::move() in some subdirs.danakj2015-11-183-10/+10
| | | | | | | | | | | | | | | | | | | This hits the following: cc/layers/ cc/output/ cc/quads/ cc/resources/ cc/scheduler/ cc/surfaces/ cc/trees/ R=enne, vmpstr BUG=557422 CQ_INCLUDE_TRYBOTS=tryserver.blink:linux_blink_rel Review URL: https://codereview.chromium.org/1455023002 Cr-Commit-Position: refs/heads/master@{#360405}
* Simplify SideComparepetermayo2015-11-182-37/+43
| | | | | | | | | | | | | | | | Remove the apparent simplification to use the similar normals to only test one point. For large polygons the small difference is compensated over large distances, yielding large artifacts. Checking the vertices of the polygon (almost always a quad) through simpler logic is more stable. R=vollick@chromium.org, flackr@chromium.org BUG=518804 TEST=Described in Issue, comments 0, 7 and 10. CQ_INCLUDE_TRYBOTS=tryserver.blink:linux_blink_rel Review URL: https://codereview.chromium.org/1430093003 Cr-Commit-Position: refs/heads/master@{#360330}
* cc: Remove ScopedPtrVector and cc::remove_if.vmpstr2015-11-183-14/+11
| | | | | | | | | | | | This patch removes ScopedPtrVector and cc::remove_if. It depends on https://codereview.chromium.org/1441613002 for TakeBack. R=danakj CQ_INCLUDE_TRYBOTS=tryserver.blink:linux_blink_rel Review URL: https://codereview.chromium.org/1437413002 Cr-Commit-Position: refs/heads/master@{#360318}
* Decrease the presumed thickness of polygons.petermayo2015-11-062-2/+23
| | | | | | | | | | | | | | This addresses some of the common expectations that single digit differences in Z value will change rendering order. BUG=499397 R=flackr@chromium.org TEST=Rendering of Z stacked boxes, test case in bug. CQ_INCLUDE_TRYBOTS=tryserver.blink:linux_blink_rel Review URL: https://codereview.chromium.org/1412143004 Cr-Commit-Position: refs/heads/master@{#358416}
* Code cleanup, change parameter order to EXPECT_EQ.petermayo2015-11-061-12/+12
| | | | | | | | | | | | | Correct expected order of constant and testvalue. R=danakj@chromium.org BUG=None TEST=unitest still passes - only failures should see a difference in wording. CQ_INCLUDE_TRYBOTS=tryserver.blink:linux_blink_rel Review URL: https://codereview.chromium.org/1428713007 Cr-Commit-Position: refs/heads/master@{#358368}
* Don't include trace_event.h from trace_event_argument.h.jbroman2015-10-221-0/+1
| | | | | | | | | | | | This pulls in the trace event macros into the header, but all that is needed is base::trace_event::ConvertableToTraceFormat. This also fixes the missing includes that this change surfaces. CQ_INCLUDE_TRYBOTS=tryserver.blink:linux_blink_rel Review URL: https://codereview.chromium.org/1412943006 Cr-Commit-Position: refs/heads/master@{#355583}
* Remove unused variable.petermayo2015-10-221-5/+1
| | | | | | | | | | | | | | The value of normal_match is completely determined in all of the places it is used. BUG=None TEST=No extra sorting artifacts introduced in layouts. R=vollick@chromium.org CQ_INCLUDE_TRYBOTS=tryserver.blink:linux_blink_rel Review URL: https://codereview.chromium.org/1415283002 Cr-Commit-Position: refs/heads/master@{#355470}
* cc: Remove the base RasterSourcehendrikw2015-10-193-29/+31
| | | | | | | | | | | | | | | | We only have one raster source now, we can remove the base class. Also, the helper is no longer needed because we only have one implementation now. Change-Id: I97c63f37a039ea31fa8eaa7b0c3e4f0e8bb6f8bf BUG=536104 CQ_INCLUDE_TRYBOTS=tryserver.blink:linux_blink_rel Review URL: https://codereview.chromium.org/1405883002 Cr-Commit-Position: refs/heads/master@{#354915}
* cc: Remove redundant overlay argumentsccameron2015-10-087-80/+20
| | | | | | | | | | | | | | | | | | | | | | | | | | Whether or not a quad can be made into an overlay is dependent on whether there is a GLImage backing the texture resources that the quad uses. Prior to this patch, this information was passed along to the layer or quad via a side-channel, in the form of a "allow overlay" argument. Now, store this information in the cc::Resource, in particular, through the cc::TextureMailbox that it is created from, and have the overlay strategy query the property of the cc::Resource. Add appropriate plumbing of the parameters from the cc::TextureMailbox, through the cc::Resource, to cc::TransferableResource, and finally to a cc::Resource in other compositors. R=reveman,fsamuel,dcheng TBR=danakj BUG=533690 CQ_INCLUDE_TRYBOTS=tryserver.blink:linux_blink_rel Review URL: https://codereview.chromium.org/1387283002 Cr-Commit-Position: refs/heads/master@{#353128}
* cc: Remove PicturePile and PicturePileImpl.vmpstr2015-09-241-5/+3
| | | | | | | | | | | | | | This patch removes the picture pile approach for recording and raster sources. Most of the patch is to switch over the tests that were using picture piles to use display list raster and recording sources. BUG=533151 R=pdr, danakj, enne CQ_INCLUDE_TRYBOTS=tryserver.blink:linux_blink_rel Review URL: https://codereview.chromium.org/1362663002 Cr-Commit-Position: refs/heads/master@{#350414}
* cc: Refactor SurfaceHittest for readabilityfsamuel2015-09-113-4/+6
| | | | | | | | | BUG=492389 CQ_INCLUDE_TRYBOTS=tryserver.blink:linux_blink_rel Review URL: https://codereview.chromium.org/1327073002 Cr-Commit-Position: refs/heads/master@{#348469}
* cc: Remove implicit conversions from Rect to RectF in src/cc/.danakj2015-09-053-8/+14
| | | | | | | | | | | | | This changes them to be explicit. I'd like to do this everywhere and then make such implicit conversion not possible in the gfx classes. R=enne, vmpstr BUG=342848 CQ_INCLUDE_TRYBOTS=tryserver.blink:linux_blink_rel Review URL: https://codereview.chromium.org/1314943008 Cr-Commit-Position: refs/heads/master@{#347557}
* Allow IOSurfaceDrawQuad to be a candidate for overlaysandresantoso2015-08-213-10/+29
| | | | | | | | | | | | Add allow_overlay field to IOSurfaceDrawQuad, and use it to check whether an IOSurface quad can be an overlay candidate. BUG=510252 CQ_INCLUDE_TRYBOTS=tryserver.blink:linux_blink_rel Review URL: https://codereview.chromium.org/1304533002 Cr-Commit-Position: refs/heads/master@{#344771}
* cc: Remove render_pass_test_common, move to render_pass_test_utils.danakj2015-08-181-7/+4
| | | | | | | | | | | | The common file had a single method, while the utils has 6. Move that one method over to the utils file, and drop the TestRenderPass type. R=enne, vmpstr, weiliangc CQ_INCLUDE_TRYBOTS=tryserver.blink:linux_blink_rel Review URL: https://codereview.chromium.org/1291363003 Cr-Commit-Position: refs/heads/master@{#344014}
* cc: Remove code for drawing checkerboard quads, it's not used.danakj2015-08-058-181/+38
| | | | | | | | | | | | | We're always drawing solid color for checkerboards now, so remove the code to support drawing the checker pattern. R=enne, vmpstr BUG=516496 CQ_INCLUDE_TRYBOTS=tryserver.blink:linux_blink_rel Review URL: https://codereview.chromium.org/1271843005 Cr-Commit-Position: refs/heads/master@{#341930}
* Avoid destroying webview Surface too earlyjbauman2015-07-312-0/+8
| | | | | | | | | | | | | Suppose a Surface W is referenced by surfaces A, B, and C. There's currently no mechanism to ensure that W will be deleted when all of A, B, and C are. This currently causes problems if a Surface containing an embedded renderer is resized, and then the previous embedded Surface is destroyed. To fix this, allow each surface to keep track of what child surfaces it references. Then whenever those references change or when a surface is destroyed the SurfaceManager can do a GC to remove surfaces that aren't referenced anymore. BUG=510826 CQ_INCLUDE_TRYBOTS=tryserver.blink:linux_blink_rel Review URL: https://codereview.chromium.org/1229053006 Cr-Commit-Position: refs/heads/master@{#341397}
* Change wrong BeginDictionary() to BeginArray in ↵wangxianzhu2015-06-291-2/+2
| | | | | | | | | | | | | RenderPassDrawQuad::ExtentValue() The original code caused DCHECK failure when converting a RenderPassDrawQuad to TracedValue because FilterOperations::AsValueInto expects an array context. CQ_INCLUDE_TRYBOTS=tryserver.blink:linux_blink_rel Review URL: https://codereview.chromium.org/1213253002 Cr-Commit-Position: refs/heads/master@{#336615}
* cc: Rename visible_content_rect and content stuff on quads.danakj2015-06-199-62/+48
| | | | | | | | | | | | | | | This renames visible_content_rect to visible_layer_rect. And for SharedQuadState renames the transforms and rects to no longer refer to "content" and instead refer to the space the the DrawQuad rects. R=enne, vmpstr TBR=dcheng BUG=413479 CQ_INCLUDE_TRYBOTS=tryserver.blink:linux_blink_rel Review URL: https://codereview.chromium.org/1175113010 Cr-Commit-Position: refs/heads/master@{#335172}
* cc: Remove TiledLayer and ContentLayer.danakj2015-06-171-4/+4
| | | | | | | | | | | These are now dead code. Long live impl-side painting. BUG=413479 CQ_INCLUDE_TRYBOTS=tryserver.blink:linux_blink_rel Review URL: https://codereview.chromium.org/1190743003 Cr-Commit-Position: refs/heads/master@{#334910}
* cc: Rework overlays to not use the ResourceProvider and pass texture sizeachaulk2015-06-105-14/+95
| | | | | | | | | | | | Instead of querying the ResourceProvider, the size & overlay flag are stored in the quads directly. This eliminates the lookups that were otherwise required CQ_INCLUDE_TRYBOTS=tryserver.blink:linux_blink_rel TBR=jam (approved interface change) Review URL: https://codereview.chromium.org/1142343008 Cr-Commit-Position: refs/heads/master@{#333748}
* Reland: cc: Fix size_t to int truncations in layers/ output/ playback/ quads/vmpstr2015-06-085-17/+13
| | | | | | | | | | | | | | | | This patch fixes size_t to int truncations in layers/, output/, playback/, and quads/ directories in cc/. R=danakj BUG=167187 CQ_INCLUDE_TRYBOTS=tryserver.blink:linux_blink_rel;tryserver.chromium.win:win_chromium_gn_x64_dbg Committed: https://crrev.com/0d5963315aa03e6ebb20351f13d3d517ca14d816 Cr-Commit-Position: refs/heads/master@{#333153} Review URL: https://codereview.chromium.org/1158433010 Cr-Commit-Position: refs/heads/master@{#333362}
* Revert of cc: Fix size_t to int truncations in layers/ output/ playback/ ↵vmpstr2015-06-055-13/+17
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | quads/ (patchset #12 id:260001 of https://codereview.chromium.org/1158433010/) Reason for revert: Broke windows build. http://build.chromium.org/p/chromium.win/builders/Win%20x64%20GN%20%28dbg%29/builds/2919 Original issue's description: > cc: Fix size_t to int truncations in layers/ output/ playback/ quads/ > > This patch fixes size_t to int truncations in layers/, output/, > playback/, and quads/ directories in cc/. > > R=danakj > BUG=167187 > CQ_INCLUDE_TRYBOTS=tryserver.blink:linux_blink_rel > > Committed: https://crrev.com/0d5963315aa03e6ebb20351f13d3d517ca14d816 > Cr-Commit-Position: refs/heads/master@{#333153} TBR=danakj@chromium.org,mkwst@chromium.org,jschuh@chromium.org NOPRESUBMIT=true NOTREECHECKS=true NOTRY=true BUG=167187 Review URL: https://codereview.chromium.org/1155553006 Cr-Commit-Position: refs/heads/master@{#333167}
* cc: Fix size_t to int truncations in layers/ output/ playback/ quads/vmpstr2015-06-055-17/+13
| | | | | | | | | | | | | This patch fixes size_t to int truncations in layers/, output/, playback/, and quads/ directories in cc/. R=danakj BUG=167187 CQ_INCLUDE_TRYBOTS=tryserver.blink:linux_blink_rel Review URL: https://codereview.chromium.org/1158433010 Cr-Commit-Position: refs/heads/master@{#333153}
* cc: Move list_container_unittest.cc to cc/base/.prashant.n2015-06-051-765/+0
| | | | | | | | | | | | | | | | | | | | This CL takes care of moving unittest file to cc/base. The ListContainer class now gets tested using dummy classes of following types - 1. DerivedElement - This has classes derived from it. This tests classes created using ListContainer(size_t max_size_for_derived_class) constructor. 2. NonDerivedElement - This does not have any classes derived from it. This tests classes created using ListContainer() constructor. BUG=492952 CQ_INCLUDE_TRYBOTS=tryserver.blink:linux_blink_rel Review URL: https://codereview.chromium.org/1165653002 Cr-Commit-Position: refs/heads/master@{#333095}
* cc: Implement RemoveLast for DisplayItemList.jbroman2015-06-051-0/+112
| | | | | | | | | | | | | | | | | Blink currently does this operation on its display item lists to remove superfluous begin/end pairs. To port Blink's current display item list operations, such an operation is required. This is not possible when in "cached picture" mode, but Blink currently only does this on the unmerged list (in blink::DisplayItemList::add), so this should be sufficient (if unfortunately asymmetric). BUG=484943 CQ_INCLUDE_TRYBOTS=tryserver.blink:linux_blink_rel Review URL: https://codereview.chromium.org/1163803003 Cr-Commit-Position: refs/heads/master@{#333084}
* Fix function name style issues in cc::DrawQuadenne2015-06-041-11/+0
| | | | | | | | | | | As the TODO suggests, rather than fixing quadTransform->quad_transform, just remove the helpers and access everything off the SharedQuadState. CQ_INCLUDE_TRYBOTS=tryserver.blink:linux_blink_rel Review URL: https://codereview.chromium.org/1153273003 Cr-Commit-Position: refs/heads/master@{#332954}
* cc: Remove DrawQuad::IterateResorucesvmpstr2015-06-0227-179/+161
| | | | | | | | | | | | | | | | | | | | | | This patch removes IterateResources function in favor of iterating resources directly on the quad. In order to accomplish this, each derived quad uses new resources object on the base class to store all of the resources it needs. This allows the calling code that used to call IterateResources with a callback to instead directly iterate all of the ids and manipulate them in any way that is required. This improves the performance of the IterateResources test by ~30%. BUG=492765 R=danakj, piman@chromium.org CQ_INCLUDE_TRYBOTS=tryserver.blink:linux_blink_rel Review URL: https://codereview.chromium.org/1152473006 Cr-Commit-Position: refs/heads/master@{#332476}
* cc: Added draw_quad_perftest, IterateResources test.vmpstr2015-05-291-0/+116
| | | | | | | | | | | | | | | | | | | This patch adds an IterateResources perftest. Results of the initial run on z620: [ RUN ] DrawQuadPerfTest.IterateResources *RESULT draw_quad_iterate_resources: 10_quads= 686016.5625 runs/s *RESULT draw_quad_iterate_resources: 100_quads= 78050.7890625 runs/s *RESULT draw_quad_iterate_resources: 500_quads= 17467.80859375 runs/s [ OK ] DrawQuadPerfTest.IterateResources (6004 ms) R=danakj, piman@chromium.org BUG=492765 CQ_INCLUDE_TRYBOTS=tryserver.blink:linux_blink_rel Review URL: https://codereview.chromium.org/1159493005 Cr-Commit-Position: refs/heads/master@{#331917}
* Remove resource_provider.h include from draw_quad.hjbauman2015-05-282-1/+2
| | | | | | | | This allows quad creators to avoid including resource_provider.h and all that entails. Review URL: https://codereview.chromium.org/1163473002 Cr-Commit-Position: refs/heads/master@{#331882}
* cc: Move ListContainer to cc/base/.jbroman2015-05-284-994/+19
| | | | | | | | | | | | | | | | | | | | | This means that list_container.cc can no longer refer to quad types etc., so instead the bulk of the logic is moved to the non-template class ListContainerBase, which can be defined without any knowledge outside cc/base/. Due to linking issues, the instantiations are no longer explicit. However, the actual template to be instantiated is now much smaller, with most of the actual code being in ListContainerBase (which defined in list_container.cc). Effort has been made to make minimal changes aside from code movement. In particular, other refactorings (including of the unit test) are intentionally not in this CL. BUG=492952 CQ_INCLUDE_TRYBOTS=tryserver.blink:linux_blink_rel Review URL: https://codereview.chromium.org/1161883003 Cr-Commit-Position: refs/heads/master@{#331843}
* Rename cc::ResourceProvider::ResourceId to cc::ResourceId and move it to its ↵jbauman2015-05-194-23/+21
| | | | | | | | | | own file. This allows files like surface_resource_holder.h and transferable_resource.h to depend on the typedef without depending on resource_provider.h Review URL: https://codereview.chromium.org/1144523003 Cr-Commit-Position: refs/heads/master@{#330459}
* cc: Move files out of cc/resources/.danakj2015-05-182-2/+2
| | | | | | | | | | | | | | This moves files into cc/playback/ cc/raster/ cc/tiles/ and cc/output/ and is based on the proposal found in https://docs.google.com/spreadsheets/d/1wmPOmV9uqd9zNJ5l2TGePH7_vlSvPeXbC-Y3SeGJ_rc/edit#gid=0 R=enne, vmpstr TBR=piman BUG=488755 Review URL: https://codereview.chromium.org/1144693002 Cr-Commit-Position: refs/heads/master@{#330396}
* Add detection for rotation and flip overlay transformshalliwell2015-05-133-16/+16
| | | | | | | | | | | Rotations and flips were listed in the enum, but not being allowed by OverlayCandidate::GetOverlayTransform. BUG= Review URL: https://codereview.chromium.org/1135813005 Cr-Commit-Position: refs/heads/master@{#329719}