summaryrefslogtreecommitdiffstats
path: root/cc/quads/picture_draw_quad.cc
Commit message (Collapse)AuthorAgeFilesLines
* cc: Add out-of-line copy ctors for complex classes.vmpstr2016-02-251-0/+2
| | | | | | | | | | | | | | 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: Remove the base RasterSourcehendrikw2015-10-191-23/+25
| | | | | | | | | | | | | | | | 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 DrawQuad::IterateResorucesvmpstr2015-06-021-6/+0
| | | | | | | | | | | | | | | | | | | | | | 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}
* mechanical rename of base::debug -> base::trace_event for /ccssid2015-02-091-1/+1
| | | | | | | | | | | | | | This is the last stage of the trace_event directory restructuring. This is part of a set of 3 CLs which is moving tracing clients to use the new base::trace_debug namespace. See crrev.com/837303004 and the related bug for motivations. BUG=451032 TBR=nduca@chromium.org Review URL: https://codereview.chromium.org/879913002 Cr-Commit-Position: refs/heads/master@{#315335}
* Mechanical rename of tracing includes for /ccssid2015-01-271-1/+1
| | | | | | | | | | | This is just a mechanical rename of tracing includes. See crrev.com/837303004 and the related bug for motivations. BUG=451032 Review URL: https://codereview.chromium.org/866853002 Cr-Commit-Position: refs/heads/master@{#313279}
* cc: refactor of MathUtil::AddToTracedValuejungjik.lee2015-01-211-3/+1
| | | | | | | | | | | Pass the name to MathUtilAddToTracedValue and decide the json value type internally. so that we could add the value without knowing the value type. Review URL: https://codereview.chromium.org/853393002 Cr-Commit-Position: refs/heads/master@{#312339}
* [cc] Add nearest neighbor filtering for PictureLayer.jackhou2014-12-131-2/+6
| | | | | | | | | | | Blink side here (depends on this CL): https://codereview.chromium.org/782693003/ BUG=317991 Review URL: https://codereview.chromium.org/789433003 Cr-Commit-Position: refs/heads/master@{#308289}
* cc: Remove references to picture pile impl from more areas.vmpstr2014-11-101-5/+5
| | | | | | | | | | | | | This patch augments raster source interface to include all things that are accessed from picture pile impl. It further removes picture pile references from places where they can be removed. R=danakj, enne BUG=430260 Review URL: https://codereview.chromium.org/707193007 Cr-Commit-Position: refs/heads/master@{#303499}
* Add builders for tracing event's structural argumentsyurys@chromium.org2014-08-011-2/+5
| | | | | | | | | | | | | | | | The new classes allow building JSON-like structural arguments. Current implementation uses base::Value as backing store but that can be replaced in the future with something more efficient without changing client code. All clients of cc/debug/traced_value.h should eventually switch to use the new builders. BUG=361045 Committed: https://src.chromium.org/viewvc/chrome?view=rev&revision=286849 R=alph@chromium.org, dsinclair@chromium.org, nduca@chromium.org, willchan@chromium.org Review URL: https://codereview.chromium.org/380763002 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@286984 0039d316-1c4b-4281-b951-d872f2087c98
* Revert of Add builders for tracing event's structural arguments ↵erikchen@chromium.org2014-07-311-5/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | (https://codereview.chromium.org/380763002/) Reason for revert: linux ASAN errors. http://build.chromium.org/p/chromium.memory/builders/Linux%20ASan%20LSan%20Tests%20%281%29/builds/4493/steps/base_unittests/logs/stdio Original issue's description: > Add builders for tracing event's structural arguments > > The new classes allow building JSON-like structural arguments. Current implementation uses base::Value as backing store but that can be replaced in the future with something more efficient without changing client code. > > All clients of cc/debug/traced_value.h should eventually switch to use the new builders. > > BUG=361045 > > Committed: https://src.chromium.org/viewvc/chrome?view=rev&revision=286849 TBR=alph, caseq, dsinclair, nduca, willchan, yurys NOTREECHECKS=true NOTRY=true BUG=361045 Review URL: https://codereview.chromium.org/421183003 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@286862 0039d316-1c4b-4281-b951-d872f2087c98
* Add builders for tracing event's structural argumentsyurys@chromium.org2014-07-311-2/+5
| | | | | | | | | | | | The new classes allow building JSON-like structural arguments. Current implementation uses base::Value as backing store but that can be replaced in the future with something more efficient without changing client code. All clients of cc/debug/traced_value.h should eventually switch to use the new builders. BUG=361045 Review URL: https://codereview.chromium.org/380763002 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@286849 0039d316-1c4b-4281-b951-d872f2087c98
* Make DrawQuad constructors public, rm DQ::Create() functionweiliangc@chromium.org2014-07-161-4/+0
| | | | | | | | | | | | | | In order to let RenderPass control allocation of DrawQuads, public DQ constructors, and make all use of DQ::Create function to make_scoped_ptr of public constructors. Similar to 271683004, and follow 380893004. BUG=344962 Review URL: https://codereview.chromium.org/398533002 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@283389 0039d316-1c4b-4281-b951-d872f2087c98
* cc: Add visible_rect to Draw*Quad::SetNew().danakj@chromium.org2014-03-071-8/+10
| | | | | | | | | | | | | | | Currently the visible_rect is implicitly set to the quad's |rect| value then later changed by the occlusion/culling code. Instead we want to compute this value up front and set it on the quad when the quad is created. So add it to the SetNew() method. Currently it should always be set to the same value as the |rect|. R=enne BUG=344962 Review URL: https://codereview.chromium.org/185563008 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@255662 0039d316-1c4b-4281-b951-d872f2087c98
* [#7] Pass gfx::Size by const ref.prashant.n@samsung.com2014-01-291-2/+2
| | | | | | | | | | | | | | | Any struct of size > 4 bytes should be passed by const ref. Passing by ref for these structs is faster than passing by value, especially when invoking function has multiple parameters and some other scenarios mentioned in the bug. BUG=159273 Committed: https://src.chromium.org/viewvc/chrome?view=rev&revision=247426 Review URL: https://codereview.chromium.org/145313006 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@247769 0039d316-1c4b-4281-b951-d872f2087c98
* Revert of [#7] Pass gfx structs by const ref (gfx::Size) ↵mnissler@chromium.org2014-01-281-2/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | (https://codereview.chromium.org/145313006/) Reason for revert: Suspected of breaking the Linux ASAN tests ( http://build.chromium.org/p/chromium.memory/builders/Linux%20ASAN%20Tests%20%283%29/builds/22104 ) Original issue's description: > [#7] Pass gfx::Size by const ref. > > Any struct of size > 4 bytes should be passed by const ref. > Passing by ref for these structs is faster than passing by value, > especially when invoking function has multiple parameters and some > other scenarios mentioned in the bug. > > BUG=159273 > > Committed: https://src.chromium.org/viewvc/chrome?view=rev&revision=247426 TBR=danakj@chromium.org,enne@chromium.org,bulach@chromium.org,piman@chromium.org,prashant.n@samsung.com NOTREECHECKS=true NOTRY=true BUG=159273 Review URL: https://codereview.chromium.org/142863008 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@247437 0039d316-1c4b-4281-b951-d872f2087c98
* [#7] Pass gfx::Size by const ref.prashant.n@samsung.com2014-01-281-2/+2
| | | | | | | | | | | | | Any struct of size > 4 bytes should be passed by const ref. Passing by ref for these structs is faster than passing by value, especially when invoking function has multiple parameters and some other scenarios mentioned in the bug. BUG=159273 Review URL: https://codereview.chromium.org/145313006 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@247426 0039d316-1c4b-4281-b951-d872f2087c98
* Pass gfx::Rect and gfx::RectF by const ref.prashant.n@samsung.com2014-01-101-7/+7
| | | | | | | | | | | | | | | | | Avoid unneccessary copy of structures gfx::Rect & gfx::RectF by passing them by const ref rather than value. Any struct of size > 4 bytes should be passed by const ref. Passing by ref for these structs is faster than passing by value, especially when invoking function has multiple parameters. Pass by value creates unneccessary overhead which should be avoided. BUG=159273 Review URL: https://codereview.chromium.org/93663004 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@244224 0039d316-1c4b-4281-b951-d872f2087c98
* Remove direct-to-backbuffer Ganesh pathenne@chromium.org2013-12-061-6/+0
| | | | | | | | | | | | | | | | | The usage of the GrContext in GLRenderer is getting in the way of cleaning up the WebGraphicsContext3D usage in cc. This path was good for trying out the Ganesh path, but was never really used, available on all platforms, or compatible with ubercompositor. Ganesh-to-tile is almost landed and so it seems like this can be safely removed for the present. BUG=none TBR=sky Review URL: https://codereview.chromium.org/98463008 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@239261 0039d316-1c4b-4281-b951-d872f2087c98
* cc: Reland r233830. "Adding support for RGBA_4444 tile textures". r223830 ↵kaanb@chromium.org2013-09-191-8/+23
| | | | | | | | | | 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-181-23/+8
| | | | | | | | | | | | | | | | | | | | | | | | | | 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-181-8/+23
| | | | | | | | 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: Add frame data to LTHI tracingpiman@chromium.org2013-08-091-0/+12
| | | | | | | | | | | | | 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
* Add flag for drawing layers to screen with Ganeshenne@chromium.org2013-05-211-0/+4
| | | | | | | | | | | | | | | | 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
* Implement on demand quad rasterization for PicturePiles.leandrogracia@chromium.org2013-03-271-0/+67
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