aboutsummaryrefslogtreecommitdiffhomepage
path: root/src/gpu/GrClipMaskManager.cpp
Commit message (Collapse)AuthorAge
* Patch to create a distinct geometry processor. The vast majority of this patchGravatar joshualitt2014-09-23
| | | | | | | | | | | | | is just a rename. The meat is in GrGeometryProcessor, GrProcessor, GrGL*Processor, GrProcessorStage, Gr*BackendProcessorFactory, GrProcessUnitTestFactory, and the builders BUG=skia: R=bsalomon@google.com Author: joshualitt@chromium.org Review URL: https://codereview.chromium.org/582963002
* "NULL !=" = NULLGravatar bsalomon2014-09-05
| | | | | | | | R=reed@google.com Author: bsalomon@google.com Review URL: https://codereview.chromium.org/544233002
* Remove GrDrawTarget::AutoRenderTargetRestore.Gravatar bsalomon2014-09-03
| | | | | | | | | | | Pass GrRenderTarget in GrGpuG clear\bind methods. BUG=skia:2889 R=egdaniel@google.com Author: bsalomon@google.com Review URL: https://codereview.chromium.org/533883004
* Add GrResourceCache2.Gravatar bsalomon2014-08-21
| | | | | | | | | | | | Currently it just replaces GrGpu as the owner of the linked list of resources. Committed: https://skia.googlesource.com/skia/+/94ce9ac8624dbb45656b8f5c992fad9c9ff3ee5f R=mtklein@google.com, robertphillips@google.com Author: bsalomon@google.com Review URL: https://codereview.chromium.org/481443002
* Revert of Add GrResourceCache2. (patchset #4 of ↵Gravatar bsalomon2014-08-19
| | | | | | | | | | | | | | | | | | | | | | | https://codereview.chromium.org/481443002/) Reason for revert: Likely caused a leak detected in Chromium after last Skia roll. Original issue's description: > Add GrResourceCache2. > > Currently it just replaces GrGpu as the owner of the linked list of resources. > > Committed: https://skia.googlesource.com/skia/+/94ce9ac8624dbb45656b8f5c992fad9c9ff3ee5f R=mtklein@google.com, robertphillips@google.com TBR=mtklein@google.com, robertphillips@google.com NOTREECHECKS=true NOTRY=true Author: bsalomon@google.com Review URL: https://codereview.chromium.org/477323006
* Add GrResourceCache2.Gravatar bsalomon2014-08-19
| | | | | | | | | | Currently it just replaces GrGpu as the owner of the linked list of resources. R=robertphillips@google.com, mtklein@google.com Author: bsalomon@google.com Review URL: https://codereview.chromium.org/481443002
* Add override to force bitmap renderingGravatar krajcevski2014-08-13
| | | | | | | | R=robertphillips@google.com Author: krajcevski@google.com Review URL: https://codereview.chromium.org/462203002
* Always use both a color and coverage attribute in GrAARectRenderer.Gravatar bsalomon2014-08-11
| | | | | | | | R=robertphillips@google.com Author: bsalomon@google.com Review URL: https://codereview.chromium.org/435743002
* Remove unused matrix param from GrContext/GrDrawTarget rect drawing functions.Gravatar bsalomon2014-08-04
| | | | | | | | R=robertphillips@google.com Author: bsalomon@google.com Review URL: https://codereview.chromium.org/441623005
* Goodbye GrEffectRef.Gravatar bsalomon2014-07-08
| | | | | | | | | | Also, reworked some var names and comments around SkShader::asNewEffect. R=robertphillips@google.com Author: bsalomon@google.com Review URL: https://codereview.chromium.org/374923002
* Revert of Remove the AA requirement for selecting GrEffect-based clipping. ↵Gravatar mtklein2014-07-02
| | | | | | | | | | | | | | | | | | | | | | | | | (https://codereview.chromium.org/367013003/) Reason for revert: We think this is breaking the roll. Original issue's description: > Remove the AA requirement for selecting GrEffect-based clipping. > > Also, optionally use the scissor for a bw clip rect element instead of an effect. > > Committed: https://skia.googlesource.com/skia/+/a73218bbbdcbe458651d10815e8d3b73d71b8e11 > > Committed: https://skia.googlesource.com/skia/+/e9a729cb4d3f05b9c750dc1f63a9cc65b5659f04 R=robertphillips@google.com, bsalomon@google.com TBR=bsalomon@google.com, robertphillips@google.com NOTREECHECKS=true NOTRY=true Author: mtklein@google.com Review URL: https://codereview.chromium.org/361313002
* Remove the AA requirement for selecting GrEffect-based clipping.Gravatar bsalomon2014-07-02
| | | | | | | | | | | | Also, optionally use the scissor for a bw clip rect element instead of an effect. Committed: https://skia.googlesource.com/skia/+/a73218bbbdcbe458651d10815e8d3b73d71b8e11 R=robertphillips@google.com Author: bsalomon@google.com Review URL: https://codereview.chromium.org/367013003
* Revert of Remove the AA requirement for selecting GrEffect-based clipping. ↵Gravatar bsalomon2014-07-02
| | | | | | | | | | | | | | | | | | | | | | | (https://codereview.chromium.org/367013003/) Reason for revert: Assertion failing. Original issue's description: > Remove the AA requirement for selecting GrEffect-based clipping. > > Also, optionally use the scissor for a bw clip rect element instead of an effect. > > Committed: https://skia.googlesource.com/skia/+/a73218bbbdcbe458651d10815e8d3b73d71b8e11 R=robertphillips@google.com TBR=robertphillips@google.com NOTREECHECKS=true NOTRY=true Author: bsalomon@google.com Review URL: https://codereview.chromium.org/369613002
* Remove the AA requirement for selecting GrEffect-based clipping.Gravatar bsalomon2014-07-02
| | | | | | | | | | Also, optionally use the scissor for a bw clip rect element instead of an effect. R=robertphillips@google.com Author: bsalomon@google.com Review URL: https://codereview.chromium.org/367013003
* Split caching from allocation in GrClipMaskManagerGravatar krajcevski2014-06-10
| | | | | | | | R=robertphillips@google.com Author: krajcevski@google.com Review URL: https://codereview.chromium.org/324963005
* Convert GrCrash->SkFAIL GrDebugCrash->SkDEBUGFAILGravatar commit-bot@chromium.org2014-04-30
| | | | | | | | | | R=robertphillips@google.com, reed@google.com, mtklein@google.com Author: bsalomon@google.com Review URL: https://codereview.chromium.org/257393004 git-svn-id: http://skia.googlecode.com/svn/trunk@14460 2bbb7eff-a529-9590-31e7-b0007b416f81
* Remove unnecessary isrect code in clip mask managerGravatar commit-bot@chromium.org2014-03-24
| | | | | | | | | | R=robertphillips@google.com Author: bsalomon@google.com Review URL: https://codereview.chromium.org/205213002 git-svn-id: http://skia.googlecode.com/svn/trunk@13911 2bbb7eff-a529-9590-31e7-b0007b416f81
* Only use analytic effect-based clipping when AA is required by at least one ↵Gravatar commit-bot@chromium.org2014-03-19
| | | | | | | | | | | | | element. BUG=352718 R=robertphillips@google.com Author: bsalomon@google.com Review URL: https://codereview.chromium.org/204983003 git-svn-id: http://skia.googlecode.com/svn/trunk@13867 2bbb7eff-a529-9590-31e7-b0007b416f81
* Implement the clip as 4 or fewer GrEffects when possible.Gravatar commit-bot@chromium.org2014-03-07
| | | | | | | | | | | BUG=skia:2181 R=robertphillips@google.com Author: bsalomon@google.com Review URL: https://codereview.chromium.org/188693008 git-svn-id: http://skia.googlecode.com/svn/trunk@13710 2bbb7eff-a529-9590-31e7-b0007b416f81
* Unify edge type enums across GrEffect subclasses that clip rendering to a ↵Gravatar commit-bot@chromium.org2014-03-05
| | | | | | | | | | | | | geometry. BUG=skia: R=egdaniel@google.com, robertphillips@google.com Author: bsalomon@google.com Review URL: https://codereview.chromium.org/183893023 git-svn-id: http://skia.googlecode.com/svn/trunk@13674 2bbb7eff-a529-9590-31e7-b0007b416f81
* Add GM that directly tests GrRRectEffect and add inverse fill version of effect.Gravatar commit-bot@chromium.org2014-03-04
| | | | | | | | | | | BUG=skia: R=robertphillips@google.com Author: bsalomon@google.com Review URL: https://codereview.chromium.org/176843016 git-svn-id: http://skia.googlecode.com/svn/trunk@13653 2bbb7eff-a529-9590-31e7-b0007b416f81
* Make GrConvexPolyEffect support inverse fills and non-AA rectsGravatar commit-bot@chromium.org2014-02-28
| | | | | | | | | | | BUG=skia:2151 R=robertphillips@google.com Author: bsalomon@google.com Review URL: https://codereview.chromium.org/183833003 git-svn-id: http://skia.googlecode.com/svn/trunk@13621 2bbb7eff-a529-9590-31e7-b0007b416f81
* Analytic rrect clip for cicular corners, radius >= 0.5Gravatar commit-bot@chromium.org2014-02-19
| | | | | | | | | | | BUG=skia:2181 R=robertphillips@google.com, jvanverth@google.com Author: bsalomon@google.com Review URL: https://codereview.chromium.org/171413004 git-svn-id: http://skia.googlecode.com/svn/trunk@13498 2bbb7eff-a529-9590-31e7-b0007b416f81
* Fix another clipstack element !rect doesn't mean path bug.Gravatar commit-bot@chromium.org2014-02-17
| | | | | | | | | | | | BUG=skia:2183 R=robertphillips@google.com TBR=robertphillips@google.com Author: bsalomon@google.com Review URL: https://codereview.chromium.org/169763002 git-svn-id: http://skia.googlecode.com/svn/trunk@13481 2bbb7eff-a529-9590-31e7-b0007b416f81
* Store SkRRects in SkClipStackGravatar commit-bot@chromium.org2014-02-16
| | | | | | | | | | | BUG=skia:2181 R=robertphillips@google.com Author: bsalomon@google.com Review URL: https://codereview.chromium.org/163683002 git-svn-id: http://skia.googlecode.com/svn/trunk@13465 2bbb7eff-a529-9590-31e7-b0007b416f81
* Add dev bounds to bmp txt context, use bounds to ignore clipsGravatar commit-bot@chromium.org2014-02-11
| | | | | | | | | | R=robertphillips@google.com, jvanverth@google.com Author: bsalomon@google.com Review URL: https://codereview.chromium.org/144283004 git-svn-id: http://skia.googlecode.com/svn/trunk@13413 2bbb7eff-a529-9590-31e7-b0007b416f81
* 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
* Revert "SkBitmap now really stores SkImageInfo -- config is just a ruse"Gravatar mike@reedtribe.org2014-02-11
| | | | | | | | BUG=skia: Review URL: https://codereview.chromium.org/147733004 git-svn-id: http://skia.googlecode.com/svn/trunk@13395 2bbb7eff-a529-9590-31e7-b0007b416f81
* Sanitizing source files in Housekeeper-NightlyGravatar skia.committer@gmail.com2014-02-11
| | | | git-svn-id: http://skia.googlecode.com/svn/trunk@13393 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
* Specialize GrConvexPolyEffect for AA rects, use for AA clip rects.Gravatar commit-bot@chromium.org2014-02-08
| | | | | | | | | | | BUG=skia:2051 R=robertphillips@google.com Author: bsalomon@google.com Review URL: https://codereview.chromium.org/140093004 git-svn-id: http://skia.googlecode.com/svn/trunk@13375 2bbb7eff-a529-9590-31e7-b0007b416f81
* Make GMs aware of what tool they're being run in.Gravatar commit-bot@chromium.org2014-02-07
| | | | | | | | | | | | | Add a saveLayer set of draws to convex_poly_clip and fix GPU bug where polygon clips don't account for the translation between clip and device space. BUG=skia:2051 R=robertphillips@google.com, reed@google.com Author: bsalomon@google.com Review URL: https://codereview.chromium.org/148283017 git-svn-id: http://skia.googlecode.com/svn/trunk@13371 2bbb7eff-a529-9590-31e7-b0007b416f81
* Set scissor to clip bounding box when using GrConvexPolyEffectGravatar commit-bot@chromium.org2014-02-07
| | | | | | | | | | | BUG=skia:2051 R=robertphillips@google.com Author: bsalomon@google.com Review URL: https://codereview.chromium.org/156843005 git-svn-id: http://skia.googlecode.com/svn/trunk@13361 2bbb7eff-a529-9590-31e7-b0007b416f81
* Use GrConvexPolyEffect when clip is a single convex polygonGravatar commit-bot@chromium.org2014-02-04
| | | | | | | | | | | | | | BUG=skia:2051 Committed: http://code.google.com/p/skia/source/detail?r=13286 R=robertphillips@google.com Author: bsalomon@google.com Review URL: https://codereview.chromium.org/151523005 git-svn-id: http://skia.googlecode.com/svn/trunk@13306 2bbb7eff-a529-9590-31e7-b0007b416f81
* Revert of Use GrConvexPolyEffect when clip is a single convex polygon ↵Gravatar bsalomon@google.com2014-02-03
| | | | | | | | | | | | | | | | | | | | | | | (https://codereview.chromium.org/151523005/) Reason for revert: unit tests crashing on windows? Original issue's description: > Use GrConvexPolyEffect when clip is a single convex polygon > > BUG=skia:2051 > > Committed: http://code.google.com/p/skia/source/detail?r=13286 TBR=robertphillips@google.com NOTREECHECKS=true NOTRY=true BUG=skia:2051 Review URL: https://codereview.chromium.org/142443006 git-svn-id: http://skia.googlecode.com/svn/trunk@13288 2bbb7eff-a529-9590-31e7-b0007b416f81
* Use GrConvexPolyEffect when clip is a single convex polygonGravatar commit-bot@chromium.org2014-02-03
| | | | | | | | | | | BUG=skia:2051 R=robertphillips@google.com Author: bsalomon@google.com Review URL: https://codereview.chromium.org/151523005 git-svn-id: http://skia.googlecode.com/svn/trunk@13286 2bbb7eff-a529-9590-31e7-b0007b416f81
* Make texture domain a helper so that it can be incorporated into other effects.Gravatar commit-bot@chromium.org2013-12-09
| | | | | | | | | | R=robertphillips@google.com, jvanverth@google.com Author: bsalomon@google.com Review URL: https://codereview.chromium.org/98893006 git-svn-id: http://skia.googlecode.com/svn/trunk@12569 2bbb7eff-a529-9590-31e7-b0007b416f81
* Avoid re-rendering stencil clip for every draw with reducable clip stackGravatar commit-bot@chromium.org2013-11-05
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Fixes the cases where clip stack reduction would cause clip to be re-rendered to stencil for each draw call. This causes unneeded slowdown. Stencil cache would not be used because the clip stack generation id communicated by the clip stack element list would be invalid. This happended due to a) clip stack reduction creating new elements in the element list. b) purging logic removing the generation id, but reduction logic selecting already purged element, and thus the generation id, as the representative state of the clip. Cases of a) where reduction would flatten the stack to a single new element were fixed by assigning the generation id of the top-most element of the clip stack as the generation id of the new element. This is not strictly minimal, but enables more caching than using invalid id. Cases of a) where reduction would substitute a stack element with a new element the generation id of the substituted element is used. The b) part was fixed by removing the purging logic. It was not exactly correct, as the previously purged states were actually used. The purging was not used for anything. Changes SkClipStack API to highlight that invalid generation id is never returned by SkClipStack. Empty stacks are wide open. Changes the clients to reflect this. Fixes a crash when not passing anti-alias out parameter to GrReducedClip::ReduceClipStack. The crash is not exercised in the current code. Committed: http://code.google.com/p/skia/source/detail?r=12084 R=bsalomon@google.com, robertphillips@google.com Author: kkinnunen@nvidia.com Review URL: https://codereview.chromium.org/48593003 git-svn-id: http://skia.googlecode.com/svn/trunk@12127 2bbb7eff-a529-9590-31e7-b0007b416f81
* Revert "Avoid re-rendering stencil clip for every draw with reducable clip ↵Gravatar reed@google.com2013-11-01
| | | | | | | | | | | | | | | | stack" This reverts commit 92a7d4bf6a371f1f864154be902e8d86938e560b. Revert "fix mac 10.6 build" This reverts commit 114cd1a9f2734aaed6914718814364811b78bd7f. BUG= Review URL: https://codereview.chromium.org/54543008 git-svn-id: http://skia.googlecode.com/svn/trunk@12087 2bbb7eff-a529-9590-31e7-b0007b416f81
* Avoid re-rendering stencil clip for every draw with reducable clip stackGravatar commit-bot@chromium.org2013-11-01
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Fixes the cases where clip stack reduction would cause clip to be re-rendered to stencil for each draw call. This causes unneeded slowdown. Stencil cache would not be used because the clip stack generation id communicated by the clip stack element list would be invalid. This happended due to a) clip stack reduction creating new elements in the element list. b) purging logic removing the generation id, but reduction logic selecting already purged element, and thus the generation id, as the representative state of the clip. Cases of a) where reduction would flatten the stack to a single new element were fixed by assigning the generation id of the top-most element of the clip stack as the generation id of the new element. This is not strictly minimal, but enables more caching than using invalid id. Cases of a) where reduction would substitute a stack element with a new element the generation id of the substituted element is used. The b) part was fixed by removing the purging logic. It was not exactly correct, as the previously purged states were actually used. The purging was not used for anything. Changes SkClipStack API to highlight that invalid generation id is never returned by SkClipStack. Empty stacks are wide open. Changes the clients to reflect this. Fixes a crash when not passing anti-alias out parameter to GrReducedClip::ReduceClipStack. The crash is not exercised in the current code. R=bsalomon@google.com, robertphillips@google.com Author: kkinnunen@nvidia.com Review URL: https://codereview.chromium.org/48593003 git-svn-id: http://skia.googlecode.com/svn/trunk@12084 2bbb7eff-a529-9590-31e7-b0007b416f81
* Add can-ignore-rect hint to clear callGravatar robertphillips@google.com2013-10-31
| | | | | | | | https://codereview.chromium.org/53823003/ git-svn-id: http://skia.googlecode.com/svn/trunk@12064 2bbb7eff-a529-9590-31e7-b0007b416f81
* Revert "Revert "add SK_ATTR_DEPRECATED -- will need to disable for chrome, ↵Gravatar reed@google.com2013-10-31
| | | | | | | | | | | | since it triggers a warning"" This reverts commit 1e787c38fa71f2a21fd728f1b1d620b9b09b0d3d. BUG= Review URL: https://codereview.chromium.org/54603004 git-svn-id: http://skia.googlecode.com/svn/trunk@12057 2bbb7eff-a529-9590-31e7-b0007b416f81
* Revert "add SK_ATTR_DEPRECATED -- will need to disable for chrome, since it ↵Gravatar reed@google.com2013-10-31
| | | | | | | | triggers a warning" This reverts commit 1d22c4aaf9d8f053f25194a1ed74b137bfb19497. git-svn-id: http://skia.googlecode.com/svn/trunk@12056 2bbb7eff-a529-9590-31e7-b0007b416f81
* add SK_ATTR_DEPRECATED -- will need to disable for chrome, since it triggers ↵Gravatar reed@google.com2013-10-31
| | | | | | | | | | | a warning BUG= R=robertphillips@google.com, senorblanco@chromium.org, vandebo@chromium.org Review URL: https://codereview.chromium.org/51033004 git-svn-id: http://skia.googlecode.com/svn/trunk@12055 2bbb7eff-a529-9590-31e7-b0007b416f81
* Fix bug in don't-reuse-scratch-textures pathGravatar robertphillips@google.com2013-10-31
| | | | | | | | https://codereview.chromium.org/50853003/ git-svn-id: http://skia.googlecode.com/svn/trunk@12054 2bbb7eff-a529-9590-31e7-b0007b416f81
* Make not-reusing-scratch-textures only apply to texture uploadsGravatar robertphillips@google.com2013-10-30
| | | | | | | | https://codereview.chromium.org/53133002/ git-svn-id: http://skia.googlecode.com/svn/trunk@12037 2bbb7eff-a529-9590-31e7-b0007b416f81
* separate state for msaa renderabilityGravatar commit-bot@chromium.org2013-10-15
| | | | | | | | | | R=robertphillips@google.com, brian@thesalomons.net Author: bsalomon@google.com Review URL: https://codereview.chromium.org/26695005 git-svn-id: http://skia.googlecode.com/svn/trunk@11770 2bbb7eff-a529-9590-31e7-b0007b416f81
* Sanitizing source files in Housekeeper-NightlyGravatar skia.committer@gmail.com2013-10-10
| | | | git-svn-id: http://skia.googlecode.com/svn/trunk@11691 2bbb7eff-a529-9590-31e7-b0007b416f81
* Implement filling a path with nv_path_rendering coverGravatar commit-bot@chromium.org2013-10-09
| | | | | | | | | | | | | | | | | | Implement filling a path with nv_path_rendering cover functionality. The nv_path_rendering cover can be used if the fill is non-inverted and the draw operation does not require use of vertex shaders. Moves code for the inverted fill from GrStencilAndCoverPathRenderer down to GrGpuGL. R=bsalomon@google.com, markkilgard@gmail.com, cdalton@nvidia.com Author: kkinnunen@nvidia.com Review URL: https://codereview.chromium.org/22686002 git-svn-id: http://skia.googlecode.com/svn/trunk@11667 2bbb7eff-a529-9590-31e7-b0007b416f81
* Make GPU coord transforms automaticGravatar bsalomon@google.com2013-10-02
| | | | | | | | | | | | | Adds a GrCoordTransform class and updates the framework to handle coord transforms similar to how it handles textures with GrTextureAccess. Renames GrGLEffectMatrix to GrGLCoordTransform and slightly repurposes it to be used by the framework instead of effects. R=bsalomon@google.com, robertphillips@google.com Review URL: https://codereview.chromium.org/24853002 git-svn-id: http://skia.googlecode.com/svn/trunk@11569 2bbb7eff-a529-9590-31e7-b0007b416f81