aboutsummaryrefslogtreecommitdiffhomepage
path: root/src/gpu/GrDefaultPathRenderer.cpp
Commit message (Collapse)AuthorAge
* Revert of r13384 (Stateful PathRenderer implementation)Gravatar robertphillips@google.com2014-02-11
| | | | | | | | https://codereview.chromium.org/142543007/ git-svn-id: http://skia.googlecode.com/svn/trunk@13409 2bbb7eff-a529-9590-31e7-b0007b416f81
* Stateful PathRenderer implementationGravatar robertphillips@google.com2014-02-10
| | | | | | | | https://codereview.chromium.org/23926019/ git-svn-id: http://skia.googlecode.com/svn/trunk@13384 2bbb7eff-a529-9590-31e7-b0007b416f81
* Apply hairline optimization only if the path renderer wants itGravatar commit-bot@chromium.org2013-11-22
| | | | | | | | | | | | | | | | | | | | | | | | | | | Make the decision to convert thin, non-hairline paths to hairline paths at the renderer level. The current nv_path_rendering implementation does not render hairlines. Rendering the hairlines with normal renderers cause unneccessary gl program changes, which is quite slow. Changes the behavior of non-nv_path_rendering paths to always perform the optimization if the shape ends up being painted by a renderer that wants the optimization. Previously the optimization was applied only when callgraph started with SkCanvas::drawPath. Applies the optimization for GrAAHairLineRenderer and GrDefaultPathRenderer. This changes gm results for dashing3_{msaa4,gpu} and drawlooper_msaa4. R=bsalomon@google.com, jvanverth@google.com, rmistry@google.com Author: kkinnunen@nvidia.com Review URL: https://codereview.chromium.org/38573007 git-svn-id: http://skia.googlecode.com/svn/trunk@12357 2bbb7eff-a529-9590-31e7-b0007b416f81
* Start cleaning up 64bit Win warningsGravatar robertphillips@google.com2013-10-14
| | | | | | | | https://codereview.chromium.org/27192003/ git-svn-id: http://skia.googlecode.com/svn/trunk@11764 2bbb7eff-a529-9590-31e7-b0007b416f81
* My clang now doesn't complain about !"foo".Gravatar mtklein@google.com2013-08-22
| | | | | | | | | BUG= R=robertphillips@google.com Review URL: https://codereview.chromium.org/22875037 git-svn-id: http://skia.googlecode.com/svn/trunk@10874 2bbb7eff-a529-9590-31e7-b0007b416f81
* Replace uses of GrAssert by SkASSERT.Gravatar tfarina@chromium.org2013-08-17
| | | | | | | | R=bsalomon@google.com Review URL: https://codereview.chromium.org/22850006 git-svn-id: http://skia.googlecode.com/svn/trunk@10789 2bbb7eff-a529-9590-31e7-b0007b416f81
* Replace all instances of GrRect with SkRect.Gravatar commit-bot@chromium.org2013-07-17
| | | | | | | | | | | | And remove the typedef in GrRect.h. The same with GrIRect. R=robertphillips@google.com Author: tfarina@chromium.org Review URL: https://chromiumcodereview.appspot.com/19449002 git-svn-id: http://skia.googlecode.com/svn/trunk@10130 2bbb7eff-a529-9590-31e7-b0007b416f81
* bump picture version since SkPath has changed (conics)Gravatar reed@google.com2013-05-31
| | | | | | enable conics in SkPath git-svn-id: http://skia.googlecode.com/svn/trunk@9370 2bbb7eff-a529-9590-31e7-b0007b416f81
* Revert "add asserts to point<-->verb helpers"Gravatar reed@google.com2013-05-30
| | | | | | This reverts commit b4775ac7b55802e87231768f002e4b42f233b0aa. git-svn-id: http://skia.googlecode.com/svn/trunk@9347 2bbb7eff-a529-9590-31e7-b0007b416f81
* add asserts to point<-->verb helpersGravatar reed@google.com2013-05-30
| | | | | | | | | | patch from issue 16153005 BUG= Review URL: https://codereview.chromium.org/16195004 git-svn-id: http://skia.googlecode.com/svn/trunk@9344 2bbb7eff-a529-9590-31e7-b0007b416f81
* Replace GrDrawState::AutoDeviceCoordDraw with ↵Gravatar bsalomon@google.com2013-05-29
| | | | | | | | | | GrDrawState::AutoViewMatrixRestore::setIdentity(). s R=robertphillips@google.com Review URL: https://codereview.chromium.org/15780002 git-svn-id: http://skia.googlecode.com/svn/trunk@9331 2bbb7eff-a529-9590-31e7-b0007b416f81
* Reland path bounds change with correct bounds for convex and hairline path ↵Gravatar bsalomon@google.com2013-05-20
| | | | | | | | | | renderers. R=robertphillips@google.com Review URL: https://codereview.chromium.org/15465005 git-svn-id: http://skia.googlecode.com/svn/trunk@9194 2bbb7eff-a529-9590-31e7-b0007b416f81
* Revert "Revert "Revert "Pass bounds into draw calls in path renderers."""Gravatar bsalomon@google.com2013-05-17
| | | | git-svn-id: http://skia.googlecode.com/svn/trunk@9181 2bbb7eff-a529-9590-31e7-b0007b416f81
* Revert "Revert "Pass bounds into draw calls in path renderers.""Gravatar bsalomon@google.com2013-05-17
| | | | | | This reverts commit 2b80eb179df14c7c8d67b8ef2b2ee60efc504f65. git-svn-id: http://skia.googlecode.com/svn/trunk@9176 2bbb7eff-a529-9590-31e7-b0007b416f81
* Revert "Pass bounds into draw calls in path renderers."Gravatar bsalomon@google.com2013-05-16
| | | | | | This reverts commit 9e6c4259d8453b893b4abc28beba8f77226d18d1. git-svn-id: http://skia.googlecode.com/svn/trunk@9173 2bbb7eff-a529-9590-31e7-b0007b416f81
* Pass bounds into draw calls in path renderers.Gravatar bsalomon@google.com2013-05-16
| | | | | | | | R=jvanverth@google.com, robertphillips@google.com Review URL: https://codereview.chromium.org/14882011 git-svn-id: http://skia.googlecode.com/svn/trunk@9171 2bbb7eff-a529-9590-31e7-b0007b416f81
* Remove GrPathCmdGravatar bsalomon@google.com2013-05-10
| | | | | | | | R=reed@google.com Review URL: https://codereview.chromium.org/15068008 git-svn-id: http://skia.googlecode.com/svn/trunk@9097 2bbb7eff-a529-9590-31e7-b0007b416f81
* Resubmit r7899 and r7901.Gravatar jvanverth@google.com2013-03-01
| | | | git-svn-id: http://skia.googlecode.com/svn/trunk@7929 2bbb7eff-a529-9590-31e7-b0007b416f81
* Revert r7901 & r7899 to allow DEPS rollGravatar robertphillips@google.com2013-02-28
| | | | git-svn-id: http://skia.googlecode.com/svn/trunk@7909 2bbb7eff-a529-9590-31e7-b0007b416f81
* Add new vertex attribute array specification.Gravatar jvanverth@google.com2013-02-28
| | | | | | | | | | | | This changes the old method of setting vertex layout to a new one where we specify vertex attribute data separately from attribute bindings (i.e. program functionality). Attribute data is now set up via an array of generic attribute types and offsets, and this is mapped to the old program functionality by setting specific attribute indices. This allows us to create more general inputs to shaders. git-svn-id: http://skia.googlecode.com/svn/trunk@7899 2bbb7eff-a529-9590-31e7-b0007b416f81
* Move vertex layout from GeometrySrcState to GrDrawState.Gravatar jvanverth@google.com2013-02-05
| | | | | | | | | | | Also adds AutoStateRestore member to AutoGeometryPush to push DrawState as well as GeometrySrcState. And removed vertex layout as an argument to a number of functions -- they will get vertex layout info from the current DrawState. Review URL: https://codereview.appspot.com/7286047 git-svn-id: http://skia.googlecode.com/svn/trunk@7600 2bbb7eff-a529-9590-31e7-b0007b416f81
* Follow up on the previous patch :Gravatar sugoi@google.com2012-12-17
| | | | | | | | | | | | | | | - Moved the SkStrokeRec class in its own file - Replaced SkStroke by SkStrokeRec in Ganesh - Moved path stroking to the Ganesh level in some cases (everytime it isn't required to do it directly in SkGpuDevice). PathEffect and MaskFilter still require path stroking at the SkGpuDevice for now. - Renamed static functions in SkPath with proper names * No functionality shold have changed with this patch. This is a step towards enabling Ganesh Path Renderers to decide whether or not to stroke the path rather than always receiving the stroked path as an input argument. BUG=chromium:135111 TEST=Try path rendering tests from the gm Review URL: https://codereview.appspot.com/6946072 git-svn-id: http://skia.googlecode.com/svn/trunk@6861 2bbb7eff-a529-9590-31e7-b0007b416f81
* Modifications to GrPatherRenderer(Chain) interfaces to support clip mask ↵Gravatar bsalomon@google.com2012-12-10
| | | | | | | | | manager. R=robertphillips@google.com Review URL: https://codereview.appspot.com/6904069 git-svn-id: http://skia.googlecode.com/svn/trunk@6741 2bbb7eff-a529-9590-31e7-b0007b416f81
* As part of preliminary groundwork for a chromium fix, this changelist is ↵Gravatar sugoi@google.com2012-12-06
| | | | | | | | | | deprecating GrPathFill so that SkPath::FillType is used everywhere in order to remove some code duplication between Skia and Ganesh. BUG=chromium:135111 TEST=Try path rendering tests from the gm Review URL: https://codereview.appspot.com/6875058 git-svn-id: http://skia.googlecode.com/svn/trunk@6693 2bbb7eff-a529-9590-31e7-b0007b416f81
* Replace GrMatrix with SkMatrix.Gravatar bsalomon@google.com2012-11-01
| | | | | | Review URL: https://codereview.appspot.com/6814067 git-svn-id: http://skia.googlecode.com/svn/trunk@6247 2bbb7eff-a529-9590-31e7-b0007b416f81
* Remove GrScalar, replace with SkScalar.Gravatar bsalomon@google.com2012-11-01
| | | | | | Review URL: https://codereview.appspot.com/6812064 git-svn-id: http://skia.googlecode.com/svn/trunk@6243 2bbb7eff-a529-9590-31e7-b0007b416f81
* Separate out the texture matrix from the coord-system change matrix in ↵Gravatar bsalomon@google.com2012-10-17
| | | | | | | | | GrSamplerState. This is a step towards moving texture matrix to GrCustomStage. R=robertphillips@google.com Review URL: https://codereview.appspot.com/6721047 git-svn-id: http://skia.googlecode.com/svn/trunk@5973 2bbb7eff-a529-9590-31e7-b0007b416f81
* Remove translate param from GrContext::drawPath (and subsequent calls).Gravatar bsalomon@google.com2012-10-08
| | | | | | Review URL: https://codereview.appspot.com/6615062 git-svn-id: http://skia.googlecode.com/svn/trunk@5852 2bbb7eff-a529-9590-31e7-b0007b416f81
* Fix for typo in r5754 Gravatar robertphillips@google.com2012-10-01
| | | | | | | | unreviewed git-svn-id: http://skia.googlecode.com/svn/trunk@5755 2bbb7eff-a529-9590-31e7-b0007b416f81
* Speculative render target ref/unref fixesGravatar robertphillips@google.com2012-10-01
| | | | | | | | https://codereview.appspot.com/6592051/ git-svn-id: http://skia.googlecode.com/svn/trunk@5754 2bbb7eff-a529-9590-31e7-b0007b416f81
* Result of running tools/sanitize_source_files.py (which was added in ↵Gravatar rmistry@google.com2012-08-23
| | | | | | | | | https://codereview.appspot.com/6465078/) This CL is part I of IV (I broke down the 1280 files into 4 CLs). Review URL: https://codereview.appspot.com/6485054 git-svn-id: http://skia.googlecode.com/svn/trunk@5262 2bbb7eff-a529-9590-31e7-b0007b416f81
* Remove stage masksGravatar bsalomon@google.com2012-07-20
| | | | | | | | Review URL: http://codereview.appspot.com/6422047/ git-svn-id: http://skia.googlecode.com/svn/trunk@4688 2bbb7eff-a529-9590-31e7-b0007b416f81
* Simplify vertex layout bitfields by making Position-as-texcoords theGravatar tomhudson@google.com2012-06-25
| | | | | | | | | | default. http://codereview.appspot.com/6337050/ git-svn-id: http://skia.googlecode.com/svn/trunk@4321 2bbb7eff-a529-9590-31e7-b0007b416f81
* Search and replace change. Some Gr enum value names didn't have a "Gr" in ↵Gravatar bsalomon@google.com2012-06-06
| | | | | | | | | | | their suffix. Verbal LGTM from TomH git-svn-id: http://skia.googlecode.com/svn/trunk@4198 2bbb7eff-a529-9590-31e7-b0007b416f81
* fix warnings on Mac in src/gpu and include/gpuGravatar caryclark@google.com2012-06-06
| | | | | | | | | | | | | | | | | | Fix these class of warnings: - unused functions - unused locals - sign mismatch - missing function prototypes - missing newline at end of file - 64 to 32 bit truncation The changes prefer to link in dead code in the debug build with 'if (false)' than to comment it out, but trivial cases are commented out or sometimes deleted if it appears to be a copy/paste error. Review URL: https://codereview.appspot.com/6296044 git-svn-id: http://skia.googlecode.com/svn/trunk@4180 2bbb7eff-a529-9590-31e7-b0007b416f81
* Remove GrPath typedefGravatar bsalomon@google.com2012-04-27
| | | | | | | | Review URL: http://codereview.appspot.com/6128045/ git-svn-id: http://skia.googlecode.com/svn/trunk@3780 2bbb7eff-a529-9590-31e7-b0007b416f81
* Make fewer copies when using GrDrawTarget::AutoStateRestoreGravatar bsalomon@google.com2012-03-30
| | | | | | | | Review URL: http://codereview.appspot.com/5938043/ git-svn-id: http://skia.googlecode.com/svn/trunk@3557 2bbb7eff-a529-9590-31e7-b0007b416f81
* Convert SkMatrix::I() assignments to SkMatrix::reset() callsGravatar bsalomon@google.com2012-03-20
| | | | git-svn-id: http://skia.googlecode.com/svn/trunk@3441 2bbb7eff-a529-9590-31e7-b0007b416f81
* make pathrenderers release their geometry before returningGravatar bsalomon@google.com2012-03-07
| | | | | | | | Review URL: http://codereview.appspot.com/5753073/ git-svn-id: http://skia.googlecode.com/svn/trunk@3335 2bbb7eff-a529-9590-31e7-b0007b416f81
* simplify GrPathRenderer interfaceGravatar bsalomon@google.com2012-03-02
| | | | | | | | Review URL: http://codereview.appspot.com/5706053/ git-svn-id: http://skia.googlecode.com/svn/trunk@3312 2bbb7eff-a529-9590-31e7-b0007b416f81
* code cleanup for single_pass_path() and remove enum GrConvexHintGravatar bsalomon@google.com2012-01-30
| | | | | | | | Review URL: code cleanup for single_pass_path() and remove enum GrConvexHint git-svn-id: http://skia.googlecode.com/svn/trunk@3099 2bbb7eff-a529-9590-31e7-b0007b416f81
* Make GrStencilState a class to enable future optimizationsGravatar bsalomon@google.com2011-12-15
| | | | | | | Review URL: http://codereview.appspot.com/5492047/ git-svn-id: http://skia.googlecode.com/svn/trunk@2881 2bbb7eff-a529-9590-31e7-b0007b416f81
* Cleanup of r2830.Gravatar bsalomon@google.com2011-12-09
| | | | git-svn-id: http://skia.googlecode.com/svn/trunk@2841 2bbb7eff-a529-9590-31e7-b0007b416f81
* Revert 2830 and 2831.Gravatar bsalomon@google.com2011-12-08
| | | | git-svn-id: http://skia.googlecode.com/svn/trunk@2832 2bbb7eff-a529-9590-31e7-b0007b416f81
* Make GrDrawState a real class with getters and settersGravatar bsalomon@google.com2011-12-08
| | | | | | | | Review URL: http://codereview.appspot.com/5448119/ git-svn-id: http://skia.googlecode.com/svn/trunk@2830 2bbb7eff-a529-9590-31e7-b0007b416f81
* Prep #1 for making GrDrawState a classGravatar bsalomon@google.com2011-12-06
| | | | | | | | | Review URL: http://codereview.appspot.com/5437138/ git-svn-id: http://skia.googlecode.com/svn/trunk@2808 2bbb7eff-a529-9590-31e7-b0007b416f81
* Speed up GrDrawState handling.Gravatar tomhudson@google.com2011-11-09
| | | | | | | | | | | | | | | | Compact GrDrawState and nested structs; dynamically only copy and compare the fields actually active on the structs in question. Yields 10-20% speedup of text benchmarks in GPU configuration. Could probably get additional marginal speedup by ignoring unused kernel fields. Has some fragile constructs: pointer math on members to compute sizes of portions of structs. Removes fields necessary for GrTesselatedPathRenderer. git-svn-id: http://skia.googlecode.com/svn/trunk@2644 2bbb7eff-a529-9590-31e7-b0007b416f81
* Extract GrDrawTarget::DrState into independent GrDrawState struct.Gravatar tomhudson@google.com2011-10-27
| | | | | | | | | This is intended to be a first step towards making the stack of states maintained by GrDrawTarget cheaper to maintain. git-svn-id: http://skia.googlecode.com/svn/trunk@2544 2bbb7eff-a529-9590-31e7-b0007b416f81
* Don't use GrDrawTarget's AA state bit to convey whether to do custom-aaGravatar bsalomon@google.com2011-10-27
| | | | | | | | Review URL: http://codereview.appspot.com/5314061/ git-svn-id: http://skia.googlecode.com/svn/trunk@2539 2bbb7eff-a529-9590-31e7-b0007b416f81
* Move gpu/include/* to include/gpu and gpu/src/* to src/gpuGravatar bsalomon@google.com2011-10-12
Review URL: http://codereview.appspot.com/5250070/ git-svn-id: http://skia.googlecode.com/svn/trunk@2471 2bbb7eff-a529-9590-31e7-b0007b416f81