aboutsummaryrefslogtreecommitdiffhomepage
path: root/src/gpu/GrClipMaskManager.h
Commit message (Collapse)AuthorAge
* Begin weaning GrClipMaskManager off of GrDrawTarget (take 2)Gravatar robertphillips2016-03-02
| | | | | | | | GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1754563003 Committed: https://skia.googlesource.com/skia/+/86c60758e9e4f9e203d7462cb22b2a245a0f51bd Review URL: https://codereview.chromium.org/1754563003
* Revert of Begin weaning GrClipMaskManager off of GrDrawTarget (take 2) ↵Gravatar robertphillips2016-03-02
| | | | | | | | | | | | | | | | | | | | | | (patchset #7 id:120001 of https://codereview.chromium.org/1754563003/ ) Reason for revert: fAuditTrail Original issue's description: > Begin weaning GrClipMaskManager off of GrDrawTarget (take 2) > > GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1754563003 > > Committed: https://skia.googlesource.com/skia/+/86c60758e9e4f9e203d7462cb22b2a245a0f51bd TBR=joshualitt@chromium.org,bsalomon@google.com,joshualitt@google.com # Skipping CQ checks because original CL landed less than 1 days ago. NOPRESUBMIT=true NOTREECHECKS=true NOTRY=true Review URL: https://codereview.chromium.org/1754353002
* Begin weaning GrClipMaskManager off of GrDrawTarget (take 2)Gravatar robertphillips2016-03-02
| | | | | | GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1754563003 Review URL: https://codereview.chromium.org/1754563003
* Add debug option to clip each GrBatch to its device boundsGravatar bsalomon2015-11-30
| | | | Review URL: https://codereview.chromium.org/1471083002
* Revert of Fix mixed samples stencil clip (patchset #5 id:80001 of ↵Gravatar cdalton2015-11-10
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | https://codereview.chromium.org/1431593006/ ) Reason for revert: Co-centered sample locations are not needed to do stencil clip with mixed samples. Original issue's description: > Fix mixed samples stencil clip > > Fixes rendering bugs and nondeterminism in gm. > > Before, mixed samples stencil clip would try to infer whether the draw > wanted co-centered sample locations from within GrGLGpu, which caused > various errors. This change reworks it so the draw itself can request > the co-centered sample locations when it knows it will need them. > > Also reduces framebuffer binds by moving the code that enables > GL_FRAMEBUFFER_PROGRAMMABLE_SAMPLE_LOCATIONS into flushRenderTarget. > > Committed: https://skia.googlesource.com/skia/+/14184d5567b58085b6d8a6375796d405056f7f73 TBR=bsalomon@google.com NOPRESUBMIT=true NOTREECHECKS=true NOTRY=true Review URL: https://codereview.chromium.org/1407063011
* Fix mixed samples stencil clipGravatar cdalton2015-11-09
| | | | | | | | | | | | | | Fixes rendering bugs and nondeterminism in gm. Before, mixed samples stencil clip would try to infer whether the draw wanted co-centered sample locations from within GrGLGpu, which caused various errors. This change reworks it so the draw itself can request the co-centered sample locations when it knows it will need them. Also reduces framebuffer binds by moving the code that enables GL_FRAMEBUFFER_PROGRAMMABLE_SAMPLE_LOCATIONS into flushRenderTarget. Review URL: https://codereview.chromium.org/1431593006
* Remove GrPipelineBuilder from getPathRenderer callGravatar robertphillips2015-10-29
| | | | | | | | | | | | | Logically this CL: Moves the PathRendererChain from GrContext to GrDrawManager - this was needed to untangled the Path-Chain/Renderer header mess - this entailed adding getDrawingMgr so the CMM could access the PathRenderingChain - this also entailed re-adding freeGpuResources to the GrDrawingMgr Moves the CanDrawArgs struct up stack Removes the GrPipelineBuilder from the CanDrawArgs struct Review URL: https://codereview.chromium.org/1407883004
* Remove gpu-side clip mask merging from clip mask managerGravatar robertphillips2015-10-28
| | | | | | | | | | | | | In the clip mask merging path, the CMM creates new renderTargets and draws to them. In the non-MDB world this is okay b.c. all the draws land in the same drawTarget anyway. In the MDB world the draws for the new renderTargets have to land in different drawTargets. This can be resolved by a lot of plumbing and refactoring to create drawContexts for the created renderTargets or by removing the mask-merging drawing path. Since, https://codereview.chromium.org/1424853002/ (Disable gpu-side clip mask merging in the clip mask manager), appears to have stuck, this CL removes the clip mask merging code. BUG=skia:4094 BUG=skia:4519 Review URL: https://codereview.chromium.org/1418073005
* Disable gpu-side clip mask merging in the clip mask managerGravatar robertphillips2015-10-27
| | | | | | | | | | In the MDB world the clip mask manager would need to create a separate drawContext for each temporary mask (and we would need to support stencil draws in the drawContext). For now, disable the feature. Please see skbug.com/4519 (Re-enable gpu-side mask merging in Ganesh) BUG=skia:4094 Review URL: https://codereview.chromium.org/1424853002
* Move scissor state to GrAppliedClipGravatar bsalomon2015-10-27
| | | | Review URL: https://codereview.chromium.org/1385233002
* Revert of Fix ClipMaskManager's SW-fallback logic (patchset #4 id:60001 of ↵Gravatar robertphillips2015-10-26
| | | | | | | | | | | | | | | | | | | | | | https://codereview.chromium.org/1421533007/ ) Reason for revert: Logic may be incorrect Original issue's description: > Fix ClipMaskManager's SW-fallback logic > > > 'useSWOnlyPath' was not correctly toggling between stencil and color draws so there was a mismatch with the behavior in createAlphaClipMask (i.e., we were inadvertently rendering some of the elements in a clip using SW but using stenciling for others - precisely what 'useSWOnlyPath' was intended to prevent). > > Committed: https://skia.googlesource.com/skia/+/5c3ea4cd3921e8904d4f201bcdedfd5b8a726542 TBR=bsalomon@google.com NOPRESUBMIT=true NOTREECHECKS=true NOTRY=true Review URL: https://codereview.chromium.org/1426443008
* Fix ClipMaskManager's SW-fallback logicGravatar robertphillips2015-10-26
| | | | | | 'useSWOnlyPath' was not correctly toggling between stencil and color draws so there was a mismatch with the behavior in createAlphaClipMask (i.e., we were inadvertently rendering some of the elements in a clip using SW but using stenciling for others - precisely what 'useSWOnlyPath' was intended to prevent). Review URL: https://codereview.chromium.org/1421533007
* Don't abort analytic clipping if using MSAA until elements are examinedGravatar bsalomon2015-10-14
| | | | | | TBR=joshualitt@google.com Review URL: https://codereview.chromium.org/1399223005
* Fix clipping when all analytic FP creations can be skippedGravatar bsalomon2015-10-14
| | | | | | BUG=skia: Review URL: https://codereview.chromium.org/1400343004
* Remove ClipMaskType from GrCMMGravatar bsalomon2015-10-07
| | | | Review URL: https://codereview.chromium.org/1391653002
* Insert clip fragment processor outside GrCMMGravatar bsalomon2015-10-07
| | | | Review URL: https://codereview.chromium.org/1393553002
* Remove separate cache for clip mask texturesGravatar bsalomon2015-10-02
| | | | Review URL: https://codereview.chromium.org/1377943003
* Remove GrClipTargetGravatar bsalomon2015-09-10
| | | | Review URL: https://codereview.chromium.org/1330353006
* Style Change: NULL->nullptrGravatar halcanary2015-08-27
| | | | | | DOCS_PREVIEW= https://skia.org/?cl=1316233002 Review URL: https://codereview.chromium.org/1316233002
* small cleanups after fixing const of GrPipelineBuilder on DrawTargetGravatar joshualitt2015-07-13
| | | | | | | | Fuse AutoRestoreFragmentProcessors and AutoRestoreProcessorDataManager into new AutoRestoreFragmentProcessorState class BUG=skia: Review URL: https://codereview.chromium.org/1228763005
* Modify GrClipMaskManager to reflect logical constnessGravatar joshualitt2015-07-13
| | | | | | | TBR=bsalomon@google.com BUG=skia: Review URL: https://codereview.chromium.org/1230023003
* Remove GrContext from GrClipMaskCacheGravatar bsalomon2015-05-29
| | | | Review URL: https://codereview.chromium.org/1144013007
* Rename GrStencilBuffer to GrStencilAttachmentGravatar egdaniel2015-04-16
| | | | | | BUG=skia: Review URL: https://codereview.chromium.org/1083133002
* Cleanup in GrPipelineBuilderGravatar bsalomon2015-02-26
| | | | Review URL: https://codereview.chromium.org/956363003
* Move clip off of draw targetGravatar joshualitt2015-02-23
| | | | | | BUG=skia: Review URL: https://codereview.chromium.org/947443003
* Add stencil buffer create tracking to GPU stats.Gravatar bsalomon2015-02-23
| | | | Review URL: https://codereview.chromium.org/949953002
* Rename GrResourceCache2->GrResourceCacheGravatar bsalomon2015-02-11
| | | | | | TBR=robertphillips@google.com Review URL: https://codereview.chromium.org/921453002
* Rename GrOptDrawState to GrPipeline and GrDrawState to GrPipelineBuilderGravatar egdaniel2015-01-22
| | | | | | BUG=skia: Review URL: https://codereview.chromium.org/858343002
* Move ViewMatrix off of drawstateGravatar joshualitt2014-12-29
| | | | | | BUG=skia: Review URL: https://codereview.chromium.org/815553003
* Stop creating GrODS for stencilPath commands.Gravatar bsalomon2014-12-17
| | | | Review URL: https://codereview.chromium.org/816513003
* Add Coverage Drawing XPGravatar egdaniel2014-12-17
| | | | | | BUG=skia: Review URL: https://codereview.chromium.org/808813002
* This cl moves color and coverage off of drawstate. In an effort to keep ↵Gravatar joshualitt2014-12-09
| | | | | | | | | | this CL manageable, I have left the compute invariant input / output in a bit of a strange state(fixing this will be complicated). In addition, NVPR makes this very complicated, and I haven't quite figured out a good way to handle it, so for now color and coverage DO live on optstate, but I will figure out some way to refactor that in future CLs. BUG=skia: Review URL: https://codereview.chromium.org/783763002
* Drawstate on stackGravatar joshualitt2014-11-17
| | | | | | BUG=skia: Review URL: https://codereview.chromium.org/732693002
* Combine similar DrawPaths calls in GrInOrderDrawBufferGravatar cdalton2014-11-13
| | | | | | | | | | | | Combines adjacent DrawPaths commands into one single call when a conservative set of conditions are met. The end result is that whole paragraphs can be drawn with a single call to gliStencilThenCoverFillPathInstancedNV(), rather than one call for each line. BUG=skia: Review URL: https://codereview.chromium.org/712223002
* Clip in grdrawtargetGravatar joshualitt2014-11-06
| | | | | | | NOTREECHECKS=true BUG=skia: Review URL: https://codereview.chromium.org/685883003
* small fix for cache clearGravatar joshualitt2014-10-31
| | | | | | BUG=skia: Review URL: https://codereview.chromium.org/695873002
* cleanup reentrance logic in CMMGravatar joshualitt2014-10-29
| | | | | | BUG=skia: Review URL: https://codereview.chromium.org/684223002
* BUG=skia:Gravatar joshualitt2014-10-29
| | | | Review URL: https://codereview.chromium.org/683933003
* clear stencil clip on draw targetGravatar joshualitt2014-10-29
| | | | | | | TBR= BUG=skia: Review URL: https://codereview.chromium.org/683673002
* 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
* 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
* 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
* 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