Commit Graph

418 Commits

Author SHA1 Message Date
senorblanco@chromium.org
cd9f55989e Add a factory Create function for SkColorFilterImageFilter, and move the matrix optimization there. This will allow the Chrome compositor to extract the optimized matrix, and potentially apply the color matrix itself, saving a buffer allocation & draw.
Review URL: https://codereview.appspot.com/6739057

git-svn-id: http://skia.googlecode.com/svn/trunk@6152 2bbb7eff-a529-9590-31e7-b0007b416f81
2012-10-26 19:37:00 +00:00
epoger@google.com
de96163a80 object-ify gmmain.cpp (no functional change) to ease planned changes later
Review URL: https://codereview.appspot.com/6801043

git-svn-id: http://skia.googlecode.com/svn/trunk@6147 2bbb7eff-a529-9590-31e7-b0007b416f81
2012-10-26 18:56:36 +00:00
djsollen@google.com
ebce16d21b Refactor gm to minimize wasted passes through picture and pipe code paths.
Testing this CL shows around a 40% time reduction when running gm on a mac debug build.

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

git-svn-id: http://skia.googlecode.com/svn/trunk@6140 2bbb7eff-a529-9590-31e7-b0007b416f81
2012-10-26 14:07:13 +00:00
bsalomon@google.com
08283afc26 Rename GrSamplerState to GrEffectStage.
R=robertphillips@google.com
Review URL: https://codereview.appspot.com/6777053

git-svn-id: http://skia.googlecode.com/svn/trunk@6135 2bbb7eff-a529-9590-31e7-b0007b416f81
2012-10-26 13:01:20 +00:00
reed@google.com
b5a5a9dc75 don't send % by itself to printf
git-svn-id: http://skia.googlecode.com/svn/trunk@6120 2bbb7eff-a529-9590-31e7-b0007b416f81
2012-10-25 17:58:23 +00:00
epoger@google.com
f28dd8ab10 clarify code/comments in gmmain.cpp (no functional change)
Review URL: https://codereview.appspot.com/6749067

git-svn-id: http://skia.googlecode.com/svn/trunk@6115 2bbb7eff-a529-9590-31e7-b0007b416f81
2012-10-25 16:27:34 +00:00
bsalomon@google.com
6f261bed02 GrCustomStage Renaming Part 2
GrSamplerState member rename
GrCustomStageUnitTest rename
some comment updates
Review URL: https://codereview.appspot.com/6771043

git-svn-id: http://skia.googlecode.com/svn/trunk@6078 2bbb7eff-a529-9590-31e7-b0007b416f81
2012-10-24 19:07:10 +00:00
senorblanco@chromium.org
985fa79141 Protect filter_texture() against render target change.
Fix blend filters when input textures are "sloppy" (approx scratch texture match)
Add a new test case to gm/imagefiltersgraph, and reduce its size.

NOTE:  this will require new baselines for the imagefiltersgraph GM.

BUG=950

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

git-svn-id: http://skia.googlecode.com/svn/trunk@6073 2bbb7eff-a529-9590-31e7-b0007b416f81
2012-10-24 15:14:26 +00:00
skia.committer@gmail.com
24c29d91ca Sanitizing source files in Skia_Periodic_House_Keeping
git-svn-id: http://skia.googlecode.com/svn/trunk@6023 2bbb7eff-a529-9590-31e7-b0007b416f81
2012-10-20 02:01:23 +00:00
bsalomon@google.com
c6126c1828 Add a GM that tests xfermode-based color filters.
Review URL: https://codereview.appspot.com/6736052

git-svn-id: http://skia.googlecode.com/svn/trunk@6022 2bbb7eff-a529-9590-31e7-b0007b416f81
2012-10-19 19:26:05 +00:00
edisonn@google.com
9cb9c2057c Enable gm/aarectmodes with pdf config. Does not crash in mac (nor windows) according to comment. I am working to improve pdf, first step to have all gms export to pdf.
Review URL: https://codereview.appspot.com/6713055

git-svn-id: http://skia.googlecode.com/svn/trunk@6016 2bbb7eff-a529-9590-31e7-b0007b416f81
2012-10-19 14:17:22 +00:00
skia.committer@gmail.com
6a748ad8d8 Sanitizing source files in Skia_Periodic_House_Keeping
git-svn-id: http://skia.googlecode.com/svn/trunk@6013 2bbb7eff-a529-9590-31e7-b0007b416f81
2012-10-19 02:01:19 +00:00
reed@google.com
ae7b8f3e7b add --modulo A B option to gm, so we can only execute 1/B of the tests in a
given instance.
Review URL: https://codereview.appspot.com/6739044

git-svn-id: http://skia.googlecode.com/svn/trunk@6007 2bbb7eff-a529-9590-31e7-b0007b416f81
2012-10-18 21:30:57 +00:00
mike@reedtribe.org
a0591698fd add two more tilemode gms, in advance of experimenting w/ decal
git-svn-id: http://skia.googlecode.com/svn/trunk@5990 2bbb7eff-a529-9590-31e7-b0007b416f81
2012-10-18 02:01:59 +00:00
bsalomon@google.com
1282009256 Add transparent source bitmap to colormatrix GM.
R=robertphillips@google.com
Review URL: https://codereview.appspot.com/6727043

git-svn-id: http://skia.googlecode.com/svn/trunk@5969 2bbb7eff-a529-9590-31e7-b0007b416f81
2012-10-16 17:50:48 +00:00
bsalomon@google.com
dfdb7e5240 Reland r5963 with two fixes:
Missing ref in GrSweepGradient::TestCreate.
Must reset() the sampler in setup_drawstate_aaclip() to avoid hitting a (dubious) assert.



git-svn-id: http://skia.googlecode.com/svn/trunk@5964 2bbb7eff-a529-9590-31e7-b0007b416f81
2012-10-16 15:19:45 +00:00
bsalomon@google.com
f6eac8af58 Revert r5962 because of failures.
git-svn-id: http://skia.googlecode.com/svn/trunk@5963 2bbb7eff-a529-9590-31e7-b0007b416f81
2012-10-16 14:31:26 +00:00
bsalomon@google.com
b022177777 Require matrix for custom stage to be set when custom stage is installed.
Review URL: https://codereview.appspot.com/6696044

git-svn-id: http://skia.googlecode.com/svn/trunk@5962 2bbb7eff-a529-9590-31e7-b0007b416f81
2012-10-16 14:16:11 +00:00
skia.committer@gmail.com
f57c01bdcf Sanitizing source files in Skia_Periodic_House_Keeping
git-svn-id: http://skia.googlecode.com/svn/trunk@5943 2bbb7eff-a529-9590-31e7-b0007b416f81
2012-10-13 02:01:56 +00:00
bsalomon@google.com
42316095ec Add new GM, shadertext3. It would have revealed a bug in the GPU draw-large-text-as-path code path that was recently fixed.
R=reed@google.com
Review URL: https://codereview.appspot.com/6638057

git-svn-id: http://skia.googlecode.com/svn/trunk@5932 2bbb7eff-a529-9590-31e7-b0007b416f81
2012-10-12 19:26:15 +00:00
senorblanco@chromium.org
8d21f6c7a9 When two or more color matrix image filters are connected together, and the non-leaf matrices do not require clamping, we can concatenate their matrices and apply them together.
Review URL: https://codereview.appspot.com/6489054

git-svn-id: http://skia.googlecode.com/svn/trunk@5931 2bbb7eff-a529-9590-31e7-b0007b416f81
2012-10-12 19:14:06 +00:00
skia.committer@gmail.com
fc84359aa9 Sanitizing source files in Skia_Periodic_House_Keeping
git-svn-id: http://skia.googlecode.com/svn/trunk@5892 2bbb7eff-a529-9590-31e7-b0007b416f81
2012-10-11 02:01:14 +00:00
senorblanco@chromium.org
9f25de7900 This patch implements generalized DAG connectivity for SkImageFilter. SkImageFilter maintains a list of inputs, which can be constructed either from a SkImageFilter** or zero or more SkImageFilter* arguments (varargs).
Existing filters which maintained their own filter connectivity were refactored to use the new constructors and flattening/unflattening code.  Modifying the remaining filters which are not yet DAG-friendly is left for future work; they are considered to have zero inputs for now.

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

git-svn-id: http://skia.googlecode.com/svn/trunk@5891 2bbb7eff-a529-9590-31e7-b0007b416f81
2012-10-10 20:36:13 +00:00
reed@google.com
1b6c73d67a add ability to skip 565 test in gm (until I can fix an assert in debug build)
git-svn-id: http://skia.googlecode.com/svn/trunk@5879 2bbb7eff-a529-9590-31e7-b0007b416f81
2012-10-10 15:17:24 +00:00
bsalomon@google.com
41fe45b955 Add a new GM: shadertext2.
It tests a bitmap shader with various combinations of matrices and shader matrices. The text is drawn filled and stroked.
Review URL: https://codereview.appspot.com/6639052

git-svn-id: http://skia.googlecode.com/svn/trunk@5877 2bbb7eff-a529-9590-31e7-b0007b416f81
2012-10-10 13:35:23 +00:00
bsalomon@google.com
c7448cef09 GrPaint encapsulation.
R=robertphillips@google.com
Review URL: https://codereview.appspot.com/6624052

git-svn-id: http://skia.googlecode.com/svn/trunk@5838 2bbb7eff-a529-9590-31e7-b0007b416f81
2012-10-05 19:04:13 +00:00
bsalomon@google.com
88becf450f Rename GrPaint fields/enums/members texture->color mask->coverage.
R=robertphillips@google.com
Review URL: https://codereview.appspot.com/6615046

git-svn-id: http://skia.googlecode.com/svn/trunk@5827 2bbb7eff-a529-9590-31e7-b0007b416f81
2012-10-05 14:54:42 +00:00
scroggo@google.com
30efb8a94f Do not do PNG encoding/decoding when testing picture serialization.
Fixes the build.

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

git-svn-id: http://skia.googlecode.com/svn/trunk@5819 2bbb7eff-a529-9590-31e7-b0007b416f81
2012-10-04 22:02:46 +00:00
scroggo@google.com
5a7c6be72b Add the ability to provide function pointers to SkPicture serialization
and deserialization for encoding and decoding bitmaps.

Remove kForceFlattenBitmapPixels_Flag, which is no longer used.

When an SkOrderedReadBuffer needs to read a bitmap, if it does not
have an image decoder, use a dummy bitmap.

In GM, add a tolerance option for color differences, used when
testing picture serialization, so it can assume two images are the
same even though PNG encoding/decoding may have resulted in small
differences.

Create dummy implementations for SkImageDecoder and SkImageEncoder
functions in SkImageDecoder_empty so that a project that does not
want to include the images project it can still build.

Allow ports to build without images project.

In Mac's image encoder, copy 4444 to 8888 before encoding.

Add SkWriter32::reservePad, to provide a pointer to write non 4 byte
aligned data, padded with zeroes.

In bench_ and render_ pictures, pass decode function to SkPicture
creation from a stream.

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

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

git-svn-id: http://skia.googlecode.com/svn/trunk@5818 2bbb7eff-a529-9590-31e7-b0007b416f81
2012-10-04 21:46:08 +00:00
senorblanco@chromium.org
3bc16c8bc1 Implement GPU path for matrix convolution. Note that when not convolving alpha,
the premultiplying is done less efficiently than in the raster path:  it's
done on each texture access, rather than as a pre-processing pass.   This was
so I could do the filter as a single custom stage; will try the optimization
separately.

This implementation gives a ~30X speedup on the GPU results for the
matrixconvolution bench (~10X due to the GPU, and ~3X due to texture
uploads/readback removal).

Note:  this changes the matrixconvolution for the software path as well, so
it will likely break the bots until that test is rebaselined.

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



git-svn-id: http://skia.googlecode.com/svn/trunk@5809 2bbb7eff-a529-9590-31e7-b0007b416f81
2012-10-04 17:18:20 +00:00
reed@google.com
1ba274d9f3 revert 5794
git-svn-id: http://skia.googlecode.com/svn/trunk@5795 2bbb7eff-a529-9590-31e7-b0007b416f81
2012-10-03 20:40:38 +00:00
reed@google.com
4837724a7e add test for rotated saveLayer, to see that we clip against the specified bounds
(hint: we don't at the moment)



git-svn-id: http://skia.googlecode.com/svn/trunk@5794 2bbb7eff-a529-9590-31e7-b0007b416f81
2012-10-03 20:17:22 +00:00
caryclark@google.com
5987f58036 build iOS with 'make all'
This builds all skia tests by treating iOS tools
as executable applications. A few warnings were
fixed as well.

Removed old trace draw code and remnants.
Review URL: https://codereview.appspot.com/6597063

git-svn-id: http://skia.googlecode.com/svn/trunk@5776 2bbb7eff-a529-9590-31e7-b0007b416f81
2012-10-02 18:33:14 +00:00
robertphillips@google.com
8fdb4c16a1 Fixed memory leak in bitmaprect GM
https://codereview.appspot.com/6593058/



git-svn-id: http://skia.googlecode.com/svn/trunk@5763 2bbb7eff-a529-9590-31e7-b0007b416f81
2012-10-02 11:47:16 +00:00
reed@google.com
7ec0015ec3 delete obsolete/unused SkGpuCanvas
git-svn-id: http://skia.googlecode.com/svn/trunk@5752 2bbb7eff-a529-9590-31e7-b0007b416f81
2012-10-01 18:06:05 +00:00
reed@google.com
44a42ea8b2 1. remove references to (deprecated) SkGpuCanvas
2. remove references to setDevice (soon to be deprecated)
Review URL: https://codereview.appspot.com/6597055

git-svn-id: http://skia.googlecode.com/svn/trunk@5751 2bbb7eff-a529-9590-31e7-b0007b416f81
2012-10-01 17:54:05 +00:00
robertphillips@google.com
ffad46b264 Fixed bug in drawing of large bitmaps
https://codereview.appspot.com/6595047/



git-svn-id: http://skia.googlecode.com/svn/trunk@5745 2bbb7eff-a529-9590-31e7-b0007b416f81
2012-10-01 14:32:51 +00:00
robertphillips@google.com
67d91be9bb Added additional case to GM:drawbitmapmatrix
https://codereview.appspot.com/6573067/

This require re-baselining of all drawbitmapmatrix images!




git-svn-id: http://skia.googlecode.com/svn/trunk@5723 2bbb7eff-a529-9590-31e7-b0007b416f81
2012-09-28 17:24:44 +00:00
skia.committer@gmail.com
44d498812a Sanitizing source files in Skia_Periodic_House_Keeping
git-svn-id: http://skia.googlecode.com/svn/trunk@5705 2bbb7eff-a529-9590-31e7-b0007b416f81
2012-09-27 02:01:04 +00:00
tfarina@chromium.org
7b3b26e56c gm: Include system_preferences.h in mac file.
This fixes the FIXME in there.

R=epoger@google.com

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

git-svn-id: http://skia.googlecode.com/svn/trunk@5692 2bbb7eff-a529-9590-31e7-b0007b416f81
2012-09-26 15:41:42 +00:00
robertphillips@google.com
653b0d678e Disable memory intensive drawBitmapRectToRect tests on Android
http://codereview.appspot.com/6567052/



git-svn-id: http://skia.googlecode.com/svn/trunk@5691 2bbb7eff-a529-9590-31e7-b0007b416f81
2012-09-26 15:28:04 +00:00
robertphillips@google.com
21a95f16c9 Added more drawBitmapRectToRect tests
http://codereview.appspot.com/6564053/



git-svn-id: http://skia.googlecode.com/svn/trunk@5688 2bbb7eff-a529-9590-31e7-b0007b416f81
2012-09-26 13:10:19 +00:00
mike@reedtribe.org
3bd2173663 SkCanvas::setDevice() must die, and so we begin by removing our own
references to setBitmapDevice() (gotta walk before we can run)



git-svn-id: http://skia.googlecode.com/svn/trunk@5680 2bbb7eff-a529-9590-31e7-b0007b416f81
2012-09-26 02:45:10 +00:00
bungeman@google.com
8ff8a1959f Vertical metrics for FreeType.
https://codereview.appspot.com/6554064/


git-svn-id: http://skia.googlecode.com/svn/trunk@5677 2bbb7eff-a529-9590-31e7-b0007b416f81
2012-09-25 20:38:28 +00:00
senorblanco@chromium.org
8640d5024d This patch adds support for optional processing of the alpha channel in
the matrix convolution filter.  Test cases are added to the GM and the
bench.

NOTE:  This will require rebaselining the matrixconvolution GM, so it will 
likely turn the bots red until that is done.

https://codereview.appspot.com/6547049/



git-svn-id: http://skia.googlecode.com/svn/trunk@5661 2bbb7eff-a529-9590-31e7-b0007b416f81
2012-09-25 14:32:42 +00:00
scroggo@google.com
977e6626af When recording a GM to a picture, pass the GM's size to beginRecording.
Review URL: https://codereview.appspot.com/6552047

git-svn-id: http://skia.googlecode.com/svn/trunk@5644 2bbb7eff-a529-9590-31e7-b0007b416f81
2012-09-21 19:12:32 +00:00
senorblanco@chromium.org
5faa2dc266 Implements a matrix convolution filter (raster path only). The filtering loop
is templated on the tiling mode for speed:  interior pixels are unconditionally
fetched; border pixels apply the appropriate tiling mode before fetching.  It
handles target, bias, divisor (as gain), and edge modes (named to be more
skia-like).  It does not handle the "preserveAlpha" semantics of
feConvolveMatrix, nor "kernelUnitLength".



git-svn-id: http://skia.googlecode.com/svn/trunk@5592 2bbb7eff-a529-9590-31e7-b0007b416f81
2012-09-18 20:32:34 +00:00
reed@google.com
7112173c3c re-re-land 5578
will follow w/ new .skp files to keep the waterfall green (I hope)



git-svn-id: http://skia.googlecode.com/svn/trunk@5584 2bbb7eff-a529-9590-31e7-b0007b416f81
2012-09-18 15:14:33 +00:00
reed@google.com
10f9f4a844 revert 5580
git-svn-id: http://skia.googlecode.com/svn/trunk@5581 2bbb7eff-a529-9590-31e7-b0007b416f81
2012-09-18 14:04:54 +00:00
reed@google.com
eab16dea1c re-land 5578 w/ pipe fix
git-svn-id: http://skia.googlecode.com/svn/trunk@5580 2bbb7eff-a529-9590-31e7-b0007b416f81
2012-09-18 13:47:20 +00:00