aboutsummaryrefslogtreecommitdiffhomepage
path: root/src/gpu/GrClipMaskManager.cpp
Commit message (Collapse)AuthorAge
...
* rename GrTextureDesc->GrSurfaceDesc, GrTextureFlags->GrSurfaceFlagsGravatar bsalomon2014-10-28
| | | | Review URL: https://codereview.chromium.org/682223002
* aa rect renderer takes a gpu on constructionGravatar joshualitt2014-10-28
| | | | | | BUG=skia: Review URL: https://codereview.chromium.org/683483004
* Scissor rect on drawinfoGravatar joshualitt2014-10-27
| | | | | | BUG=skia: Review URL: https://codereview.chromium.org/678683005
* Clip mask manager sets stencil on draw typeGravatar joshualitt2014-10-27
| | | | | | | | BUG=skia: Committed: https://skia.googlesource.com/skia/+/7afb5aa201e4b59397cbd8480e121d7501a227e7 Review URL: https://codereview.chromium.org/676983003
* Revert of Clip mask manager sets stencil on draw type (patchset #3 id:40001 ↵Gravatar joshualitt2014-10-27
| | | | | | | | | | | | | | | | | | | | | of https://codereview.chromium.org/676983003/) Reason for revert: seems to cause a gm issue on windows. Original issue's description: > Clip mask manager sets stencil on draw type > > BUG=skia: > > Committed: https://skia.googlesource.com/skia/+/7afb5aa201e4b59397cbd8480e121d7501a227e7 TBR=bsalomon@google.com,joshualitt@chromium.org NOTREECHECKS=true NOTRY=true BUG=skia: Review URL: https://codereview.chromium.org/678843003
* Clip mask manager sets stencil on draw typeGravatar joshualitt2014-10-27
| | | | | | BUG=skia: Review URL: https://codereview.chromium.org/676983003
* Set temporary paths volatile so we don't cache them.Gravatar jvanverth2014-10-24
| | | | | | | | | | Any path that is generated frame-to-frame should not be rendered by using the DistanceFieldPathRenderer, because generating the initial distance field, uploading it and rendering it takes longer than the SoftwarePathRenderer. BUG=skia:2935 Review URL: https://codereview.chromium.org/677463002
* Cleanup: Turn GrReducedClip into a class with a static function.Gravatar tfarina2014-10-23
| | | | | | | | | | | | | Clean up namespace usage. Similar to what was done in https://skia.googlesource.com/skia/+/a5414c4a8efc3119ee20fcee96c0bf68a04909c7 BUG=None TEST=None R=bsalomon@google.com Review URL: https://codereview.chromium.org/653393003
* Remove AutoScratchTextureGravatar bsalomon2014-10-16
| | | | | | | | | | | | Remove AST from GrClipMaskCache Remove AST from GrClipMaskManager BUG=skia:2889 R=robertphillips@google.com Review URL: https://codereview.chromium.org/663583002
* 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