aboutsummaryrefslogtreecommitdiffhomepage
path: root/src/gpu/GrClip.cpp
Commit message (Collapse)AuthorAge
* Pre-crop filled rects to avoid scissorGravatar csmartdalton2016-07-13
| | | | | | | | | | | | | | | | | | Updates GrDrawContext to crop filled rects to the clip bounds before creating batches for them. Also adds clipping logic to ignore scissor when the draw falls completely inside. These two changes combined reduce API traffic and improve batching. In the future this can and should be improved by switching to floating point clip boundaries, thus allowing us to throw out non pixel aligned rectangle clips as well. BUG=skia: GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2132073002 Committed: https://skia.googlesource.com/skia/+/7969838702135b9f127bd738728da61bc49b050a Committed: https://skia.googlesource.com/skia/+/86de59f4a99b5f54be0483c60ff0335be55b2bdf Review-Url: https://codereview.chromium.org/2132073002
* Retract PipelineBuilder from GrClip::applyGravatar robertphillips2016-07-13
| | | | | | GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2147443004 Review-Url: https://codereview.chromium.org/2147443004
* Revert of Pre-crop filled rects to avoid scissor (patchset #6 id:100001 of ↵Gravatar msarett2016-07-12
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | https://codereview.chromium.org/2132073002/ ) Reason for revert: I think this is still causing a test failure on Chrome windows bots. https://build.chromium.org/p/tryserver.chromium.win/builders/win_chromium_x64_rel_ng/builds/243928/steps/cc_unittests%20%28with%20patch%29%20on%20Windows-7-SP1/logs/stdio Original issue's description: > Pre-crop filled rects to avoid scissor > > Updates GrDrawContext to crop filled rects to the clip bounds before > creating batches for them. Also adds clipping logic to ignore scissor > when the draw falls completely inside. These two changes combined > reduce API traffic and improve batching. > > In the future this can and should be improved by switching to floating > point clip boundaries, thus allowing us to throw out non pixel aligned > rectangle clips as well. > > BUG=skia: > GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2132073002 > > Committed: https://skia.googlesource.com/skia/+/7969838702135b9f127bd738728da61bc49b050a > Committed: https://skia.googlesource.com/skia/+/86de59f4a99b5f54be0483c60ff0335be55b2bdf TBR=bsalomon@google.com,robertphillips@google.com,csmartdalton@google.com # Skipping CQ checks because original CL landed less than 1 days ago. NOPRESUBMIT=true NOTREECHECKS=true NOTRY=true BUG=skia: Review-Url: https://codereview.chromium.org/2140253004
* Pre-crop filled rects to avoid scissorGravatar csmartdalton2016-07-12
| | | | | | | | | | | | | | | | | Updates GrDrawContext to crop filled rects to the clip bounds before creating batches for them. Also adds clipping logic to ignore scissor when the draw falls completely inside. These two changes combined reduce API traffic and improve batching. In the future this can and should be improved by switching to floating point clip boundaries, thus allowing us to throw out non pixel aligned rectangle clips as well. BUG=skia: GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2132073002 Committed: https://skia.googlesource.com/skia/+/7969838702135b9f127bd738728da61bc49b050a Review-Url: https://codereview.chromium.org/2132073002
* Revert of Pre-crop filled rects to avoid scissor (patchset #6 id:100001 of ↵Gravatar msarett2016-07-12
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | https://codereview.chromium.org/2132073002/ ) Reason for revert: I believe that this is breaking the roll. https://codereview.chromium.org/2141923002 https://build.chromium.org/p/tryserver.chromium.mac/builders/mac_chromium_rel_ng/builds/258434/steps/cc_unittests%20%28with%20patch%29%20on%20Mac-10.9/logs/stdio Original issue's description: > Pre-crop filled rects to avoid scissor > > Updates GrDrawContext to crop filled rects to the clip bounds before > creating batches for them. Also adds clipping logic to ignore scissor > when the draw falls completely inside. These two changes combined > reduce API traffic and improve batching. > > In the future this can and should be improved by switching to floating > point clip boundaries, thus allowing us to throw out non pixel aligned > rectangle clips as well. > > BUG=skia: > GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2132073002 > > Committed: https://skia.googlesource.com/skia/+/7969838702135b9f127bd738728da61bc49b050a TBR=bsalomon@google.com,robertphillips@google.com,csmartdalton@google.com # Skipping CQ checks because original CL landed less than 1 days ago. NOPRESUBMIT=true NOTREECHECKS=true NOTRY=true BUG=skia: Review-Url: https://codereview.chromium.org/2145573002
* Pre-crop filled rects to avoid scissorGravatar csmartdalton2016-07-11
| | | | | | | | | | | | | | | | Updates GrDrawContext to crop filled rects to the clip bounds before creating batches for them. Also adds clipping logic to ignore scissor when the draw falls completely inside. These two changes combined reduce API traffic and improve batching. In the future this can and should be improved by switching to floating point clip boundaries, thus allowing us to throw out non pixel aligned rectangle clips as well. BUG=skia: GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2132073002 Review-Url: https://codereview.chromium.org/2132073002
* Use clipped bounds for reordering decisionsGravatar bsalomon2016-07-08
| | | | | | | | | GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2137543002 NOTREECHECKS=true NOPRESUBMIT=true Review-Url: https://codereview.chromium.org/2137543002
* Make GrClipMaskManager stateless and push GrPipelineBuilder construction ↵Gravatar robertphillips2016-06-03
| | | | | | | | | | | | | downstack This will be followed up with a CL to remove the GrRenderTarget from the GrPipelineBuilder. Split out of: https://codereview.chromium.org/1988923002/ (Declassify GrClipMaskManager and Remove GrRenderTarget and GrDrawTarget from GrPipelineBuilder) GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2035823002 Review-Url: https://codereview.chromium.org/2035823002
* Make GrAppliedClip friendlessGravatar robertphillips2016-05-19
| | | | | | | | | GrAppliedClip is a pretty amiable class but not so good about setting boundaries. It is probably for the best that it breaks things off with GrClipMaskManager before the drama of https://codereview.chromium.org/1988923002/ (Declassify GrClipMaskManager and Remove GrRenderTarget and GrDrawTarget from GrPipelineBuilder) begins. BUG=skia: GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1993263002 Review-Url: https://codereview.chromium.org/1993263002
* Convert GrClip to an abstract base classGravatar cdalton2016-05-13
| | | | | | | | | | | | | | | | Converts GrClip to an abstract base class and adds a "GrFixedClip" implementation. GrFixedClip denotes a clip implemented with fixed- function hardware. GrFixedClip allows us to remove the stateful "fClipMode" member from GrClipMaskManager, and in the future will be able to nicely encapsulate window rectangles. After this change GrClipMaskManager is just a wrapper around GrDrawTarget. We may want to consider removing it altogether. BUG=skia: GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1971343002 Review-Url: https://codereview.chromium.org/1971343002
* Remove rect clip type from grclip.Gravatar bsalomon2015-03-06
| | | | | | | | R=joshualitt@google.com BUG=skia: NOTREECHECKS=true Review URL: https://codereview.chromium.org/989443003
* I'd really like to land this before the branch so speedy reviews are ↵Gravatar joshualitt2015-02-25
| | | | | | | | | | appreciated. BUG=skia: Committed: https://skia.googlesource.com/skia/+/586d5d640b19860dfbbd903a5188da1bbbe87336 Review URL: https://codereview.chromium.org/936943002
* Revert of Pass clip to context (patchset #8 id:180001 of ↵Gravatar joshualitt2015-02-25
| | | | | | | | | | | | | | | | | | | | | | https://codereview.chromium.org/936943002/) Reason for revert: Strange blur problems on nexus 5 Original issue's description: > I'd really like to land this before the branch so speedy reviews are appreciated. > > BUG=skia: > > Committed: https://skia.googlesource.com/skia/+/586d5d640b19860dfbbd903a5188da1bbbe87336 TBR=jvanverth@google.com,senorblanco@google.com,bsalomon@google.com,senorblanco@chromium.org,joshualitt@chromium.org NOPRESUBMIT=true NOTREECHECKS=true NOTRY=true BUG=skia: Review URL: https://codereview.chromium.org/956083002
* I'd really like to land this before the branch so speedy reviews are ↵Gravatar joshualitt2015-02-25
| | | | | | | | appreciated. BUG=skia: Review URL: https://codereview.chromium.org/936943002
* probable fix for asan botGravatar joshualitt2015-02-24
| | | | | | | | NOTREECHECKS=True TBR=bsalomon@google.com BUG=skia: Review URL: https://codereview.chromium.org/956583002
* move static init to cpp file to fix linux builderGravatar joshualitt2015-02-23
| | | | | | | TBR=bsalomon@google.com BUG=skia: Review URL: https://codereview.chromium.org/947933004
* Move clip off of draw targetGravatar joshualitt2015-02-23
| | | | | | BUG=skia: Review URL: https://codereview.chromium.org/947443003
* Removed GrClip & related classesGravatar robertphillips@google.com2012-08-01
| | | | | | | | http://codereview.appspot.com/6450071/ git-svn-id: http://skia.googlecode.com/svn/trunk@4899 2bbb7eff-a529-9590-31e7-b0007b416f81
* Replace GrClip with SkClipStackGravatar robertphillips@google.com2012-07-31
| | | | | | | | http://codereview.appspot.com/6449070/ git-svn-id: http://skia.googlecode.com/svn/trunk@4865 2bbb7eff-a529-9590-31e7-b0007b416f81
* Added dev- & canv- prefixes to Ganesh bounding boxes to indicate coordinate ↵Gravatar robertphillips@google.com2012-07-31
| | | | | | | | | | space http://codereview.appspot.com/6457061/ git-svn-id: http://skia.googlecode.com/svn/trunk@4856 2bbb7eff-a529-9590-31e7-b0007b416f81
* GrClip no longer translates its clips (to better mimic SkClipStack's behavior)Gravatar robertphillips@google.com2012-07-31
| | | | | | | | http://codereview.appspot.com/6445052/ git-svn-id: http://skia.googlecode.com/svn/trunk@4848 2bbb7eff-a529-9590-31e7-b0007b416f81
* Fix for clip assert in Chrome testsGravatar robertphillips@google.com2012-07-30
| | | | | | | | http://codereview.appspot.com/6442063/ git-svn-id: http://skia.googlecode.com/svn/trunk@4834 2bbb7eff-a529-9590-31e7-b0007b416f81
* Added getConservativeBound helper function to GrClipDataGravatar robertphillips@google.com2012-07-26
| | | | | | | | http://codereview.appspot.com/6454054/ git-svn-id: http://skia.googlecode.com/svn/trunk@4798 2bbb7eff-a529-9590-31e7-b0007b416f81
* Added requires_AA method to GrClipMaskManager.cpp to replace GrClip capabilityGravatar robertphillips@google.com2012-07-24
| | | | | | | | http://codereview.appspot.com/6422062/ git-svn-id: http://skia.googlecode.com/svn/trunk@4738 2bbb7eff-a529-9590-31e7-b0007b416f81
* Gave GrClip an SkClipStack-style iteratorGravatar robertphillips@google.com2012-07-23
| | | | | | | | http://codereview.appspot.com/6434046/ git-svn-id: http://skia.googlecode.com/svn/trunk@4723 2bbb7eff-a529-9590-31e7-b0007b416f81
* Forced GrClip to always have conservative boundsGravatar robertphillips@google.com2012-07-11
| | | | | | | | http://codereview.appspot.com/6353089/ git-svn-id: http://skia.googlecode.com/svn/trunk@4545 2bbb7eff-a529-9590-31e7-b0007b416f81
* Minor refactoring to remove duplicate enum from Ganesh (_SetOp -> SkRegion::Op)Gravatar robertphillips@google.com2012-04-25
| | | | | | | | http://codereview.appspot.com/6116047/ git-svn-id: http://skia.googlecode.com/svn/trunk@3763 2bbb7eff-a529-9590-31e7-b0007b416f81
* Propagated AA flags through Ganesh's clip stack (in preparation for GL AA ↵Gravatar robertphillips@google.com2012-04-16
| | | | | | | | | | clipping) http://codereview.appspot.com/6038051/ git-svn-id: http://skia.googlecode.com/svn/trunk@3685 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