Commit Graph

339 Commits

Author SHA1 Message Date
senorblanco@chromium.org
f1369ce607 Implements a new class, SkSingleInputImageFilter, to handle DAG connectivity
for filters with a single image input.  This provides functionality to store,
flatten and unflatten a single SkImageFilter input, as well as to recursively
evaluate it on the CPU or GPU.  The following classes were re-parented to 
implement DAG connectivity:  SkBlurImageFilter, SkDilateImageFilter,
SkErodeImageFilter, SkColorFilterImageFilter.  The constructors for each
have been appended with a new parameter, representing the input filter
(default NULL).

This change also implements an arbitrary SkBitmap input source for filtering,
SkBitmapSource.

NOTE:  This CL will require gyp file changes when rolling past this revision.

Review URL:  https://codereview.appspot.com/6462071/



git-svn-id: http://skia.googlecode.com/svn/trunk@5170 2bbb7eff-a529-9590-31e7-b0007b416f81
2012-08-20 14:53:21 +00:00
scroggo@google.com
837d31a0c9 Use SkCanvas::concat instead of SkCanvas::setMatrix so this GM can be tiled.
Review URL: https://codereview.appspot.com/6460091

git-svn-id: http://skia.googlecode.com/svn/trunk@5116 2bbb7eff-a529-9590-31e7-b0007b416f81
2012-08-15 18:42:45 +00:00
scroggo@google.com
63258865c4 Skip tiled drawing in GM for magnifier image filter.
Merely skips the test until we get a real fix for the problem.

BUG=https://code.google.com/p/skia/issues/detail?id=781

Review URL: https://codereview.appspot.com/6459094

git-svn-id: http://skia.googlecode.com/svn/trunk@5111 2bbb7eff-a529-9590-31e7-b0007b416f81
2012-08-15 16:32:19 +00:00
robertphillips@google.com
5d8d18651a Addressed Windows compiler complaints
http://codereview.appspot.com/6462062/

This CL will require re-baselining of the imagemagnifier GM



git-svn-id: http://skia.googlecode.com/svn/trunk@5108 2bbb7eff-a529-9590-31e7-b0007b416f81
2012-08-15 14:36:41 +00:00
bsalomon@google.com
82aa7482cb Add a zoom filter to Skia. This will be used on ChromeOS to implement the screen magnifier.
Committed on behalf of zork@chromium.org

Review URL: http://codereview.appspot.com/6354065/


git-svn-id: http://skia.googlecode.com/svn/trunk@5056 2bbb7eff-a529-9590-31e7-b0007b416f81
2012-08-13 14:22:17 +00:00
mike@reedtribe.org
d6c38137e2 suppress pip for now, since we use locally-defined effects
git-svn-id: http://skia.googlecode.com/svn/trunk@5053 2bbb7eff-a529-9590-31e7-b0007b416f81
2012-08-13 01:57:05 +00:00
mike@reedtribe.org
3e044403e1 adjust size to match the content
git-svn-id: http://skia.googlecode.com/svn/trunk@5052 2bbb7eff-a529-9590-31e7-b0007b416f81
2012-08-13 01:13:38 +00:00
mike@reedtribe.org
3d1cb97240 move texteffects from Sample to gm
git-svn-id: http://skia.googlecode.com/svn/trunk@5051 2bbb7eff-a529-9590-31e7-b0007b416f81
2012-08-13 00:52:07 +00:00
reed@google.com
d74e710c00 remove SkShape (unused)
Review URL: https://codereview.appspot.com/6461069

git-svn-id: http://skia.googlecode.com/svn/trunk@5033 2bbb7eff-a529-9590-31e7-b0007b416f81
2012-08-09 18:05:33 +00:00
reed@google.com
7b4531f64c change SkTextToPathIter to allow continuation even when there is no path for
the current glyph. Fixes bug in getTextPath() if there are spaces in the text.

Update gm to add space-characters, so images will have to be rebaselined.



git-svn-id: http://skia.googlecode.com/svn/trunk@4979 2bbb7eff-a529-9590-31e7-b0007b416f81
2012-08-07 15:53:00 +00:00
borenet@google.com
24e8999b4b Remove verylargebitmap gm on Android
We can't allocate that much memory on Android
Review URL: https://codereview.appspot.com/6460054

git-svn-id: http://skia.googlecode.com/svn/trunk@4973 2bbb7eff-a529-9590-31e7-b0007b416f81
2012-08-07 14:46:05 +00:00
reed@google.com
7eb3a2653b add gm for very large bitmaps (>32K >64K)
raster expected to fail when scaling >64K (for now)



git-svn-id: http://skia.googlecode.com/svn/trunk@4967 2bbb7eff-a529-9590-31e7-b0007b416f81
2012-08-07 14:05:14 +00:00
bsalomon@google.com
a68937c950 Move SK_SUPPORT_GPU checks below first #includes in case the macro is defined in SkUserConfig.h rather than by the build system.
git-svn-id: http://skia.googlecode.com/svn/trunk@4948 2bbb7eff-a529-9590-31e7-b0007b416f81
2012-08-03 15:00:52 +00:00
bsalomon@google.com
2a48c3adb7 Fix includes files missing in release builds from GrCustomStageUnitTest.h.
Also fix SK_SUPPORT_GPU=0 build breaks in gmmain.cpp and GLProgramsTest.cpp




git-svn-id: http://skia.googlecode.com/svn/trunk@4947 2bbb7eff-a529-9590-31e7-b0007b416f81
2012-08-03 14:54:45 +00:00
robertphillips@google.com
a73e860923 Skipping MSAA GMs on Android
http://codereview.appspot.com/6453079/



git-svn-id: http://skia.googlecode.com/svn/trunk@4926 2bbb7eff-a529-9590-31e7-b0007b416f81
2012-08-02 17:56:02 +00:00
robertphillips@google.com
a2f8008fd7 Added output of failed GMs to assist tracking errors on Android
http://codereview.appspot.com/6452084/



git-svn-id: http://skia.googlecode.com/svn/trunk@4923 2bbb7eff-a529-9590-31e7-b0007b416f81
2012-08-02 16:22:47 +00:00
bsalomon@google.com
54ad851361 Fix infinite recursion in cubic->quad conversion, also attempt to detect nearly flat cubics early.
Review URL: http://codereview.appspot.com/6448100/

THIS WILL REQUIRE REBASELINING OF CONVEXPATHS GM.



git-svn-id: http://skia.googlecode.com/svn/trunk@4917 2bbb7eff-a529-9590-31e7-b0007b416f81
2012-08-02 14:55:45 +00:00
bsalomon@google.com
cf8fb1f6f0 Create GPU-less build of Skia.
git-svn-id: http://skia.googlecode.com/svn/trunk@4912 2bbb7eff-a529-9590-31e7-b0007b416f81
2012-08-02 14:03:32 +00:00
robertphillips@google.com
ab5ec7e3a5 Translated clip GMs to increase stability
http://codereview.appspot.com/6458064/

This will require rebaselining of complexclip2* & simplaaaclip*



git-svn-id: http://skia.googlecode.com/svn/trunk@4905 2bbb7eff-a529-9590-31e7-b0007b416f81
2012-08-02 12:37:01 +00:00
scroggo@google.com
19c2894bc7 Fix memory leak in gammatext GM.
Review URL: https://codereview.appspot.com/6458055

git-svn-id: http://skia.googlecode.com/svn/trunk@4902 2bbb7eff-a529-9590-31e7-b0007b416f81
2012-08-01 20:53:33 +00:00
scroggo@google.com
9f7520898e Fix a memory leak in cmykjpeg GM.
Review URL: https://codereview.appspot.com/6448089

git-svn-id: http://skia.googlecode.com/svn/trunk@4861 2bbb7eff-a529-9590-31e7-b0007b416f81
2012-07-31 16:37:11 +00:00
reed@google.com
076f4c9791 fix LayerDrawLooper to record its fFlagsMask
convert SampleDrawLooper to a GM



git-svn-id: http://skia.googlecode.com/svn/trunk@4854 2bbb7eff-a529-9590-31e7-b0007b416f81
2012-07-31 14:32:38 +00:00
mike@reedtribe.org
d829b5cbff add SkImage from encoded data
git-svn-id: http://skia.googlecode.com/svn/trunk@4845 2bbb7eff-a529-9590-31e7-b0007b416f81
2012-07-31 03:57:11 +00:00
mike@reedtribe.org
d2782edf07 update to surface.getCanvas()
git-svn-id: http://skia.googlecode.com/svn/trunk@4844 2bbb7eff-a529-9590-31e7-b0007b416f81
2012-07-31 02:45:15 +00:00
reed@google.com
58b21ec7f0 expand internal subclasses into separate files
git-svn-id: http://skia.googlecode.com/svn/trunk@4836 2bbb7eff-a529-9590-31e7-b0007b416f81
2012-07-30 18:20:12 +00:00
scroggo@google.com
58be682c77 Share code in various SkGPipeCanvas::drawBitmap_ calls.
Also implement SkGPipeCanvas::drawBitmapMatrix, and
create a GM to make sure it works properly.

Use a flag instead of writing a bool for determining whether
drawBitmap_ has a paint and whether drawBitmapRect has a source
rectangle.

BUG=
TEST=drawbitmapmatrix GM

Review URL: https://codereview.appspot.com/6450053

git-svn-id: http://skia.googlecode.com/svn/trunk@4828 2bbb7eff-a529-9590-31e7-b0007b416f81
2012-07-30 14:40:01 +00:00
mike@reedtribe.org
70e3590552 check-point for image/surface work
git-svn-id: http://skia.googlecode.com/svn/trunk@4823 2bbb7eff-a529-9590-31e7-b0007b416f81
2012-07-29 20:38:16 +00:00
scroggo@google.com
3cb969f27d In SkGPipe, only serialize SkTypefaces in cross process mode.
Also make SkGPipeController ref the recording canvas to ensure that
objects used by SkGPipeCanvas (e.g. SharedHeap and fTypefaceSet, which
hold references to objects to which pointers are written to the stream)
survive to be played back even if SkGPipeWriter.endRecording() is called.

BUG=
TEST=TypefaceGM

Review URL: https://codereview.appspot.com/6447055

git-svn-id: http://skia.googlecode.com/svn/trunk@4817 2bbb7eff-a529-9590-31e7-b0007b416f81
2012-07-27 20:39:19 +00:00
scroggo@google.com
15011ee5e4 Make SkDeferredCanvas query SkGPipeWriter for space allocated for bitmaps.
SkGPipe now has a method to report how much memory is used for its shared heap.

BUG=http://code.google.com/p/skia/issues/detail?id=738
TEST=DeferredCanvasTest

Review URL: https://codereview.appspot.com/6445046

git-svn-id: http://skia.googlecode.com/svn/trunk@4791 2bbb7eff-a529-9590-31e7-b0007b416f81
2012-07-26 20:03:32 +00:00
bsalomon@google.com
1c31f63323 Remove texture/mask setters on GrPaint
Review URL: http://codereview.appspot.com/6446052/



git-svn-id: http://skia.googlecode.com/svn/trunk@4790 2bbb7eff-a529-9590-31e7-b0007b416f81
2012-07-26 19:39:06 +00:00
borenet@google.com
b4e704306a Add flag to skip pipe on select GMs
Confirmed with scroggo@ that these should not be run
with pipe.
Review URL: https://codereview.appspot.com/6405068

git-svn-id: http://skia.googlecode.com/svn/trunk@4698 2bbb7eff-a529-9590-31e7-b0007b416f81
2012-07-20 18:45:10 +00:00
borenet@google.com
03fc17cbf8 Disable bitmapcopy gm on Android
This has been failing on Nexus S.  Disable so that we
don't miss further regressions.

Bug @ http://code.google.com/p/skia/issues/detail?id=705
Review URL: https://codereview.appspot.com/6427053

git-svn-id: http://skia.googlecode.com/svn/trunk@4696 2bbb7eff-a529-9590-31e7-b0007b416f81
2012-07-20 18:19:06 +00:00
reed@google.com
005832439e #include "SkTemplates.h"
git-svn-id: http://skia.googlecode.com/svn/trunk@4685 2bbb7eff-a529-9590-31e7-b0007b416f81
2012-07-20 11:34:36 +00:00
reed@google.com
ca0062ee5e add SkPaint::getPosTextPath(), with gm to test it
Review URL: https://codereview.appspot.com/6427055

git-svn-id: http://skia.googlecode.com/svn/trunk@4684 2bbb7eff-a529-9590-31e7-b0007b416f81
2012-07-20 11:20:32 +00:00
senorblanco@chromium.org
1e95d715d0 Clean up the use of AutoScratchTexture in the gaussian blur and morphology
filters.  Instead of passing in AutoScratchTextures for temporaries, we allocate
them inside the function and detach() after rendering.  Since the functions now
return a ref()'ed texture, we no longer ref() the result in filter_texture().

Also, the imageblur gm was passing a paint with an image filter both to
saveLayer()/restore(), and to every text draw call.  Back when only restore()
was applying filters, this was fine, but since we're now applying filters on all
draw calls, this means we're double-blurring in this GM.

I've reverted the Mac baselines for the imageblur GM to their previous versions;
hopefully this will be correct.



git-svn-id: http://skia.googlecode.com/svn/trunk@4659 2bbb7eff-a529-9590-31e7-b0007b416f81
2012-07-18 19:52:53 +00:00
robertphillips@google.com
2a021292f5 Fixed simpleaaclip gm - it wasn't showing xor case
http://codereview.appspot.com/6402055/

This CL will require image rebaselining



git-svn-id: http://skia.googlecode.com/svn/trunk@4636 2bbb7eff-a529-9590-31e7-b0007b416f81
2012-07-17 15:37:15 +00:00
reed@google.com
8d850be3aa don't add circles on chopped cubics
git-svn-id: http://skia.googlecode.com/svn/trunk@4600 2bbb7eff-a529-9590-31e7-b0007b416f81
2012-07-13 15:55:15 +00:00
robertphillips@google.com
7fb2601e7a Fixed calling SkIntToScalar on a float error
git-svn-id: http://skia.googlecode.com/svn/trunk@4597 2bbb7eff-a529-9590-31e7-b0007b416f81
2012-07-13 15:17:53 +00:00
robertphillips@google.com
54bb7abc09 Improved clarity of complexclip GM
http://codereview.appspot.com/6344108/



git-svn-id: http://skia.googlecode.com/svn/trunk@4596 2bbb7eff-a529-9590-31e7-b0007b416f81
2012-07-13 14:55:25 +00:00
chudy@google.com
f32f6e8323 Added annotation for gm's -wp flag
Review URL: https://codereview.appspot.com/6345098

git-svn-id: http://skia.googlecode.com/svn/trunk@4573 2bbb7eff-a529-9590-31e7-b0007b416f81
2012-07-12 15:42:37 +00:00
robertphillips@google.com
50a69a0727 Altered complexclip GM to test out saveLayer w/ a bound and clipping
http://codereview.appspot.com/6344108/



git-svn-id: http://skia.googlecode.com/svn/trunk@4561 2bbb7eff-a529-9590-31e7-b0007b416f81
2012-07-12 13:48:46 +00:00
robertphillips@google.com
56c79b1037 Added GrContext::AutoClipStack to encapsulate setting\resetting of clip stack
http://codereview.appspot.com/6343097/



git-svn-id: http://skia.googlecode.com/svn/trunk@4558 2bbb7eff-a529-9590-31e7-b0007b416f81
2012-07-11 20:57:46 +00:00
robertphillips@google.com
3e11c0bd92 Forced GrClip to always have conservative bounds
http://codereview.appspot.com/6353089/



git-svn-id: http://skia.googlecode.com/svn/trunk@4545 2bbb7eff-a529-9590-31e7-b0007b416f81
2012-07-11 18:20:35 +00:00
tomhudson@google.com
cb325ceda1 Change TextContext handling of stages and draw targets; this allows us to
assert in GrContext::setPaint() that all stages are disabled every time
the paint is set.

Watch for possible performance implications.

http://codereview.appspot.com/6347043/



git-svn-id: http://skia.googlecode.com/svn/trunk@4531 2bbb7eff-a529-9590-31e7-b0007b416f81
2012-07-11 14:41:19 +00:00
mike@reedtribe.org
bad1b2ff1d add SkPath::contains(x, y)
git-svn-id: http://skia.googlecode.com/svn/trunk@4526 2bbb7eff-a529-9590-31e7-b0007b416f81
2012-07-11 01:51:33 +00:00
rileya@google.com
6219728eec Added pdf implementation of conical gradient.
Also fixed an erroneous comment in the gpu implementation.
Review URL: https://codereview.appspot.com/6351076

git-svn-id: http://skia.googlecode.com/svn/trunk@4520 2bbb7eff-a529-9590-31e7-b0007b416f81
2012-07-10 20:05:23 +00:00
bsalomon@google.com
a51ab8416d Preserve convex control point polygon in cubic->quadratic approximation
GM test modified, will require rebaselining.

Review URL: http://codereview.appspot.com/6355088/





git-svn-id: http://skia.googlecode.com/svn/trunk@4518 2bbb7eff-a529-9590-31e7-b0007b416f81
2012-07-10 19:53:34 +00:00
robertphillips@google.com
5c0b3134ab r4511 with handling for the Mac-specific CAN_IMAGE_PDF path
git-svn-id: http://skia.googlecode.com/svn/trunk@4513 2bbb7eff-a529-9590-31e7-b0007b416f81
2012-07-10 17:50:00 +00:00
scroggo@google.com
d3ba5cc85e In SkGPipe, set a limit on the amount of flattenables cached.
Also fix a type in gmmain.

Review URL: https://codereview.appspot.com/6351061

git-svn-id: http://skia.googlecode.com/svn/trunk@4473 2bbb7eff-a529-9590-31e7-b0007b416f81
2012-07-09 16:05:53 +00:00
rileya@google.com
5cf2c28427 Added conical gradient to gm gradients test, and added two variants of that test, one with perspective applied to the local matrices of the gradients and the other with perspective applied to the overall view matrix.
Will require GM rebaselining.
Review URL: https://codereview.appspot.com/6344091

git-svn-id: http://skia.googlecode.com/svn/trunk@4468 2bbb7eff-a529-9590-31e7-b0007b416f81
2012-07-09 14:42:16 +00:00