Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(456)

Issue 777643003: use ClipOp instead of SkRegion for clipping (Closed)

Created:
6 years ago by reed2
Modified:
5 years, 9 months ago
CC:
reviews_skia.org
Base URL:
https://skia.googlesource.com/skia.git@master
Project:
skia
Visibility:
Public.

Description

use ClipOp instead of SkRegion for clipping BUG=skia:3191 follow on CLs in the works... https://codereview.chromium.org/771563003/ https://codereview.chromium.org/781373002/

Patch Set 1 #

Patch Set 2 : #

Patch Set 3 : #

Patch Set 4 : #

Unified diffs Side-by-side diffs Delta from patch set Stats (+187 lines, -125 lines) Patch
M bench/AAClipBench.cpp View 2 chunks +3 lines, -3 lines 0 comments Download
M gm/aaclip.cpp View 1 1 chunk +1 line, -1 line 0 comments Download
M gm/bigblurs.cpp View 1 chunk +1 line, -1 line 0 comments Download
M gm/circularclips.cpp View 1 chunk +2 lines, -2 lines 0 comments Download
M gm/clip_strokerect.cpp View 2 chunks +2 lines, -2 lines 0 comments Download
M gm/complexclip.cpp View 1 1 chunk +2 lines, -2 lines 0 comments Download
M gm/complexclip2.cpp View 1 chunk +3 lines, -9 lines 0 comments Download
M gm/convexpolyclip.cpp View 1 3 chunks +3 lines, -3 lines 0 comments Download
M gm/distantclip.cpp View 1 1 chunk +1 line, -1 line 0 comments Download
M gm/megalooper.cpp View 1 3 chunks +6 lines, -6 lines 0 comments Download
M gm/pathopsinverse.cpp View 1 2 chunks +2 lines, -2 lines 0 comments Download
M gm/pathopsskpclip.cpp View 1 1 chunk +2 lines, -2 lines 0 comments Download
M gm/rrects.cpp View 1 chunk +1 line, -1 line 0 comments Download
M gm/samplerstress.cpp View 1 chunk +1 line, -1 line 0 comments Download
M gm/simpleaaclip.cpp View 1 chunk +4 lines, -4 lines 0 comments Download
M gm/skbug1719.cpp View 1 1 chunk +1 line, -1 line 0 comments Download
M gyp/skia_for_android_framework_defines.gypi View 1 2 3 1 chunk +1 line, -0 lines 0 comments Download
M gyp/skia_for_chromium_defines.gypi View 1 2 3 1 chunk +1 line, -0 lines 0 comments Download
M include/core/SkCanvas.h View 1 2 3 5 chunks +59 lines, -16 lines 0 comments Download
M samplecode/SampleApp.cpp View 1 1 chunk +1 line, -1 line 0 comments Download
M samplecode/SampleClip.cpp View 1 1 chunk +1 line, -1 line 0 comments Download
M samplecode/SampleComplexClip.cpp View 1 chunk +1 line, -1 line 0 comments Download
M samplecode/SampleFatBits.cpp View 1 1 chunk +1 line, -1 line 0 comments Download
M samplecode/SampleIdentityScale.cpp View 1 1 chunk +1 line, -1 line 0 comments Download
M src/core/SkCanvas.cpp View 1 2 1 chunk +25 lines, -0 lines 0 comments Download
M src/core/SkPicturePlayback.cpp View 1 4 chunks +4 lines, -4 lines 0 comments Download
M src/core/SkRecordDraw.cpp View 1 chunk +4 lines, -4 lines 0 comments Download
M src/effects/SkXfermodeImageFilter.cpp View 1 1 chunk +1 line, -1 line 0 comments Download
M src/pipe/SkGPipeRead.cpp View 2 chunks +4 lines, -4 lines 0 comments Download
M src/utils/SkCanvasStack.cpp View 1 2 chunks +2 lines, -2 lines 0 comments Download
M src/utils/SkDeferredCanvas.cpp View 1 3 chunks +4 lines, -4 lines 0 comments Download
M src/utils/SkGatherPixelRefsAndRects.cpp View 1 chunk +1 line, -1 line 0 comments Download
M src/utils/SkNWayCanvas.cpp View 1 4 chunks +4 lines, -4 lines 0 comments Download
M src/utils/SkPictureUtils.cpp View 1 1 chunk +1 line, -1 line 0 comments Download
M src/utils/SkProxyCanvas.cpp View 1 2 chunks +5 lines, -5 lines 0 comments Download
M src/utils/debugger/SkDrawCommand.cpp View 4 chunks +4 lines, -4 lines 0 comments Download
M tests/CanvasStateHelpers.cpp View 1 2 3 1 chunk +2 lines, -2 lines 0 comments Download
M tests/CanvasStateTest.cpp View 1 1 chunk +1 line, -1 line 0 comments Download
M tests/CanvasTest.cpp View 2 chunks +4 lines, -4 lines 0 comments Download
M tests/DeferredCanvasTest.cpp View 3 chunks +3 lines, -3 lines 0 comments Download
M tests/PictureBBHTest.cpp View 1 chunk +2 lines, -4 lines 0 comments Download
M tests/PictureTest.cpp View 1 9 chunks +13 lines, -13 lines 0 comments Download
M tests/ReadPixelsTest.cpp View 1 chunk +1 line, -1 line 0 comments Download
M tests/WritePixelsTest.cpp View 1 chunk +1 line, -1 line 0 comments Download

Messages

Total messages: 21 (8 generated)
commit-bot: I haz the power
CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/patch-status/777643003/20001
6 years ago (2014-12-06 16:10:41 UTC) #2
commit-bot: I haz the power
Note for Reviewers: The CQ is waiting for an approval. If you believe that the ...
6 years ago (2014-12-06 16:10:41 UTC) #3
commit-bot: I haz the power
Try jobs failed on following builders: Build-Ubuntu13.10-GCC4.8-Arm7-Debug-Android-Trybot on client.skia.compile (http://build.chromium.org/p/client.skia.compile/builders/Build-Ubuntu13.10-GCC4.8-Arm7-Debug-Android-Trybot/builds/1002) Build-Ubuntu13.10-GCC4.8-x86_64-Release-Trybot on client.skia.compile (http://build.chromium.org/p/client.skia.compile/builders/Build-Ubuntu13.10-GCC4.8-x86_64-Release-Trybot/builds/1012)
6 years ago (2014-12-06 16:12:30 UTC) #5
commit-bot: I haz the power
CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/patch-status/777643003/40001
6 years ago (2014-12-06 16:20:39 UTC) #7
commit-bot: I haz the power
Note for Reviewers: The CQ is waiting for an approval. If you believe that the ...
6 years ago (2014-12-06 16:20:40 UTC) #8
commit-bot: I haz the power
Try jobs failed on following builders: Build-Ubuntu13.10-GCC4.8-Arm7-Debug-Android-Trybot on client.skia.compile (http://build.chromium.org/p/client.skia.compile/builders/Build-Ubuntu13.10-GCC4.8-Arm7-Debug-Android-Trybot/builds/1004)
6 years ago (2014-12-06 16:23:05 UTC) #10
commit-bot: I haz the power
CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/patch-status/777643003/60001
6 years ago (2014-12-06 17:54:54 UTC) #12
commit-bot: I haz the power
Note for Reviewers: The CQ is waiting for an approval. If you believe that the ...
6 years ago (2014-12-06 17:54:55 UTC) #13
mikerreed
6 years ago (2014-12-06 21:35:59 UTC) #15
commit-bot: I haz the power
No LGTM from a valid reviewer yet. Please ask for an LGTM from a full ...
6 years ago (2014-12-06 23:55:01 UTC) #17
scroggo
We'll need to convince Android that they don't want to support any clip operations besides ...
6 years ago (2014-12-07 17:45:54 UTC) #19
djsollen
The Android Java canvas exposes the following (i.e ALL) Region.Ops in the public canvas. So ...
6 years ago (2014-12-08 12:55:35 UTC) #20
scroggo
6 years ago (2014-12-08 15:08:06 UTC) #21
On 2014/12/08 12:55:35, djsollen wrote:
> The Android Java canvas exposes the following (i.e ALL) Region.Ops in the
public
> canvas.  So it seems like we will need to support these for a while...
> 
> Region.Op 	DIFFERENCE 	 
> Region.Op 	INTERSECT 	 
> Region.Op 	REPLACE 	 
> Region.Op 	REVERSE_DIFFERENCE 	 
> Region.Op 	UNION 	 
> Region.Op 	XOR

Does the hardware canvas support them? Looking at
http://developer.android.com/guide/topics/graphics/hardware-accel.html, it looks
like as of API level 18, Android supported XOR, DIFFERENCE, and
REVERSE_DIFFERENCE (which includes some of the ones we want to eliminate). As
for the others (REPLACE, UNION, INTERSECT), I'm guessing they supported it all
along?

Powered by Google App Engine
This is Rietveld 408576698