Commit Graph

1286 Commits

Author SHA1 Message Date
skia.committer@gmail.com
472629190e Sanitizing source files in Housekeeper-Nightly
git-svn-id: http://skia.googlecode.com/svn/trunk@11800 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-10-16 07:02:24 +00:00
commit-bot@chromium.org
2f92966c6a Remove SkDataTable from SkFlattenable hierarchy.
As far as I can tell, we never really needed this.  No code outside the unit
test calls this code.

BUG=
R=reed@google.com

Author: mtklein@google.com

Review URL: https://codereview.chromium.org/26223009

git-svn-id: http://skia.googlecode.com/svn/trunk@11792 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-10-15 20:39:57 +00:00
reed@google.com
23d0ab7241 return false if we can't scale, to force us to try to lock the original and then proceed
BUG=
R=wangxianzhu@chromium.org

Review URL: https://codereview.chromium.org/27382002

git-svn-id: http://skia.googlecode.com/svn/trunk@11789 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-10-15 20:14:00 +00:00
reed@google.com
cef5bb4e42 test for failing pixelref (crashes, so disable for now)
test for a pixelref that fails to lock

BUG=

Review URL: https://codereview.chromium.org/26539012

git-svn-id: http://skia.googlecode.com/svn/trunk@11787 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-10-15 20:05:24 +00:00
reed@google.com
b58ba8912a account for inverse-paths when we prealloc storage in the rgn-builder
test inversepath->rgn

BUG=
R=caryclark@google.com

Review URL: https://codereview.chromium.org/27222005

git-svn-id: http://skia.googlecode.com/svn/trunk@11776 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-10-15 15:44:35 +00:00
reed@google.com
77658b5600 meant to DISABLE this test
git-svn-id: http://skia.googlecode.com/svn/trunk@11775 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-10-15 15:40:32 +00:00
reed@google.com
cc8be77bc2 add test for https://code.google.com/p/skia/issues/detail?id=1706
BUG=

Review URL: https://codereview.chromium.org/27344002

git-svn-id: http://skia.googlecode.com/svn/trunk@11774 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-10-15 15:35:29 +00:00
reed@google.com
4979f32cd3 remove SkDataSet, and just store a key/value in SkAnnotation
BUG=
R=mtklein@google.com

Review URL: https://codereview.chromium.org/27208002

git-svn-id: http://skia.googlecode.com/svn/trunk@11759 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-10-14 16:49:15 +00:00
commit-bot@chromium.org
ddf94cf108 Remove unnamed namespace usage from tests.
Skia code prefers static over unnamed namespace.

BUG=None
TEST=None
R=bsalomon@google.com, robertphillips@google.com

Author: tfarina@chromium.org

Review URL: https://codereview.chromium.org/26962002

git-svn-id: http://skia.googlecode.com/svn/trunk@11747 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-10-12 17:25:17 +00:00
bungeman@google.com
fab44db294 Clean up SkTypes.h.
This change removes sk_stdint.h since it is only needed for vs2008 and earlier.
This change removes SK_MMAP_SUPPORT define since it is no longer used.
This change removes the stdio.h include from SkTypes.h since on many systems
this is a very large header, few Skia files actually use it, it is
available everywhere standard, and SkDebugf should be used instead.

After this change there is no need for external users to put Skia's
include/config into their own list of includes, saving the headache
of having two header files of the same name and sometimes getting the
wrong one depending on include order.

R=bsalomon@google.com, djsollen@google.com

Review URL: https://codereview.chromium.org/27044002

git-svn-id: http://skia.googlecode.com/svn/trunk@11738 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-10-11 18:50:45 +00:00
robertphillips@google.com
8ec502b416 Add valgrind suppressions for driver bugs
https://codereview.chromium.org/27019005/



git-svn-id: http://skia.googlecode.com/svn/trunk@11736 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-10-11 18:28:18 +00:00
halcanary@google.com
29d4e63864 GIF decode: optional error messages and fault tolerance.
Add new runtime configuration variable,
images.gif.suppressDecoderWarnings, which suppresses warning and
errors from the GIF library.  It defaults to "true", which is current
behavior.

(This setting can be changed by setting the environment variable
skia_images_gif_suppressDecoderWarnings="false".)

Some conditions which were errors before are now warnings:

-   If the image width or height is greater than the GIF screen width or
    height (respectively) we expand the screen to hold the image.

-   If the offset of the image inside the screen would place the
    image outside of the screen, we shift the image to fix this.

-   If the image lacks a color table, we create a default color table.

-   If the image is truncated, then the rest of the image is filled with
    the fill color.

In all four cases, if images.gif.suppressDecoderWarnings is set to
false, then a warning message is printed via SkDebugf.

In the event of another kind of error, SkGIFImageDecoder::onDecode()
will still return false.  But with this change, if
images.gif.suppressDecoderWarnings is set to false, a description of
the error is printed via SkDebugf.

Also, added a new unit test GifTest, which tests the deconing of both
good GIf files and corrupted files that should now work with this
change.  This unit test is disabled on Win32, iOS, and Mac.

BUG=skia:1689
R=scroggo@google.com

Review URL: https://codereview.chromium.org/26743002

git-svn-id: http://skia.googlecode.com/svn/trunk@11734 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-10-11 18:21:56 +00:00
robertphillips@google.com
6d837aa1a1 Fix leak in BlurTest
https://codereview.chromium.org/26941002/



git-svn-id: http://skia.googlecode.com/svn/trunk@11725 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-10-11 14:38:46 +00:00
skia.committer@gmail.com
d33115d59b Sanitizing source files in Housekeeper-Nightly
git-svn-id: http://skia.googlecode.com/svn/trunk@11723 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-10-11 07:01:39 +00:00
robertphillips@google.com
9a282bee52 Fix uninitialized memory read in BitmapCopy test with A1 config
https://codereview.chromium.org/26890002/



git-svn-id: http://skia.googlecode.com/svn/trunk@11722 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-10-10 22:01:02 +00:00
commit-bot@chromium.org
d494b09f55 Align SkLumaColorFilter with the spec.
The spec requires the resulting RGB channels for LuminanceToAlpha to be
0 (and not just scaled by the luminance value</facepalm>):

  | R' |     |      0        0        0  0  0 |   | R |
  | G' |     |      0        0        0  0  0 |   | G |
  | B' |  =  |      0        0        0  0  0 | * | B |
  | A' |     | 0.2125   0.7154   0.0721  0  0 |   | A |
  | 1  |     |      0        0        0  0  1 |   | 1 |

(http://www.w3.org/TR/2011/REC-SVG11-20110816/filters.html#feColorMatrixElement)

This doesn't affect luminance masking (which depends only on the
resulting alpha channel), but other color filter users may care
about all color components.

R=bsalomon@google.com, reed@google.com, robertphillips@google.com

Author: fmalita@chromium.org

Review URL: https://codereview.chromium.org/26467003

git-svn-id: http://skia.googlecode.com/svn/trunk@11713 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-10-10 20:13:51 +00:00
commit-bot@chromium.org
a7538baeae SkThreadPool: tweak two little things that have been annoying me
1) it's pretty annoying that SkThreadPool doesn't include SkRunnable for us;
 2) add wait() so we don't have to keep using SkAutoTDelete/free() to wait for completion.

BUG=
R=scroggo@google.com, reed@google.com

Author: mtklein@google.com

Review URL: https://codereview.chromium.org/26470005

git-svn-id: http://skia.googlecode.com/svn/trunk@11711 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-10-10 18:49:04 +00:00
robertphillips@google.com
1b440d1574 Add leak to valgrind.supp
https://codereview.chromium.org/26869002/



git-svn-id: http://skia.googlecode.com/svn/trunk@11700 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-10-10 17:04:14 +00:00
reed@google.com
0a6151d66c Revert "Revert "change SkColorTable to be immutable""
This reverts commit b8162cb840f4cb6002ef68d5ac775c6a122c52a9.

Fixed was call-sites in benches that used the (now gone) setIsOpaque api.

R=scroggo@google.com

Review URL: https://codereview.chromium.org/26572006

git-svn-id: http://skia.googlecode.com/svn/trunk@11695 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-10-10 14:44:56 +00:00
senorblanco@chromium.org
b295fb6ff3 Change SkImageFilter's cropRect from SkIRect to a CropRect struct, containing an SkRect and flags indicating which parameters are set.
NOTE: this will require SK_CROP_RECT_IS_INT=1 to be set in Chrome until Blink has been updated to use SkImageFilter::CropRect. Include https://codereview.chromium.org/26528002/ with the Skia roll.

Note also that SK_CROP_RECT_IS_INT is a temporary measure until all call sites in Blink have been updated to use SkRect.

R=reed@google.com

Review URL: https://codereview.chromium.org/26371002

git-svn-id: http://skia.googlecode.com/svn/trunk@11692 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-10-10 13:51:19 +00:00
mtklein@google.com
3a19fb58a6 Sketch of SK_ONCE
BUG=
R=bungeman@google.com

Review URL: https://codereview.chromium.org/26563002

git-svn-id: http://skia.googlecode.com/svn/trunk@11674 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-10-09 16:12:23 +00:00
robertphillips@google.com
d1ce77d548 Fix valgrind uninitialized memory complaint
https://codereview.chromium.org/26469003/



git-svn-id: http://skia.googlecode.com/svn/trunk@11664 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-10-09 12:51:09 +00:00
robertphillips@google.com
6187abe776 Update valgrind suppressions
https://codereview.chromium.org/26465007/



git-svn-id: http://skia.googlecode.com/svn/trunk@11650 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-10-08 15:37:19 +00:00
commit-bot@chromium.org
6c1ee2d4e7 Luminance-to-alpha color filter (SkLumaColorFilter).
Adding a color filter luma implementation. The plan is to convert
existing clients and then deprecate SkLumaXfermode.

R=bsalomon@google.com, reed@google.com, robertphillips@google.com

Author: fmalita@chromium.org

Review URL: https://codereview.chromium.org/25453004

git-svn-id: http://skia.googlecode.com/svn/trunk@11636 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-10-07 18:00:17 +00:00
skia.committer@gmail.com
d34f05806f Sanitizing source files in Housekeeper-Nightly
git-svn-id: http://skia.googlecode.com/svn/trunk@11625 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-10-05 07:01:34 +00:00
commit-bot@chromium.org
722555bebb Add perspective support to SkMatrix44 initializers.
I noticed SkMatrix <-> SkMatrix44 conversions were dropping the
perspective values on the floor.  As we use SkMatrix44 heavily in
Chromium, I'm concerned this missing code will cause a bug eventually.
It should be correct to simply use the bottom row of the 4x4 matrix
excluding the third column.

Previously committed and reverted, second attempt with fix for
incorrect use of SkMScalar/SkScalar.

BUG=
R=reed@google.com, caryclark@google.com

Author: aelias@chromium.org

Review URL: https://codereview.chromium.org/25484006

git-svn-id: http://skia.googlecode.com/svn/trunk@11624 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-10-05 01:16:30 +00:00
aelias@chromium.org
851af07b11 Revert "Add perspective support to SkMatrix44 initializers."
This reverts commit 93db1bcae0863feed8d00a61ae2cf72a90a0083c.

git-svn-id: http://skia.googlecode.com/svn/trunk@11623 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-10-04 22:26:28 +00:00
commit-bot@chromium.org
761f860a42 Add perspective support to SkMatrix44 initializers.
I noticed SkMatrix <-> SkMatrix44 conversions were dropping the
perspective values on the floor.  As we use SkMatrix44 heavily in
Chromium, I'm concerned this missing code will cause a bug eventually.
It should be correct to simply use the bottom row of the 4x4 matrix
excluding the third column.

BUG=
R=reed@google.com

Author: aelias@chromium.org

Review URL: https://codereview.chromium.org/25484006

git-svn-id: http://skia.googlecode.com/svn/trunk@11622 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-10-04 20:38:08 +00:00
commit-bot@chromium.org
6b30e45740 Use vertexless shaders when NVpr is available
Adds support for vertexless shaders and enables them when
NV_path_rendering is available. This takes a
GrGLFragmentOnlyShaderBuilder class, a GrGLTexGenEffectArray class,
support for setting TexGen and the projection matrix in GrGpuGL, and
code for setting the GL fixed function state where necessary.

R=bsalomon@google.com, kkinnunen@nvidia.com

Author: cdalton@nvidia.com

Review URL: https://codereview.chromium.org/25846002

git-svn-id: http://skia.googlecode.com/svn/trunk@11620 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-10-04 20:02:53 +00:00
halcanary@google.com
70bd4bc092 Fix narrowing warning error
I was breaking build, by having a char instead of unsigned char.

Review URL: https://codereview.chromium.org/25683012

git-svn-id: http://skia.googlecode.com/svn/trunk@11599 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-10-04 13:24:59 +00:00
halcanary@google.com
fed3037217 Make image decoding more fault resistant, less verbose.
This change address what happens when a jpeg is partially downloaded
before failing.  Many browsers will render it anyway: we want Skia to
do the same.  The JpegTest takes a perfectly cromulent jpeg file and
only passes into the ImageDecoder the first half of the image.  We
then verify that the image decoder returns a valid bitmap of the
correct dimensions.

We also fixed some png library errors, including issue 1691.

Also, suppressed the majority of warnings from using libpng and
libjpeg.  By default, most warnings are *not* suppressed in debug mode.
If you have a debug binary and wish to suppress warnings, set the
following environment variables to true
    skia_images_png_suppressDecoderWarnings
    skia_images_jpeg_suppressDecoderWarnings
or from within a program that links to Skia:
    #if defined(SK_DEBUG)
    #include "SkRTConf.h"
    SK_CONF_SET("images.jpeg.suppressDecoderWarnings", true);
    SK_CONF_SET("images.png.suppressDecoderWarnings", true);
    #endif

I tested this, before (control) and after these changes (test), on
364,295 skps from the cluster telemetry.
-   number of errors+warnings in control = 2804
-   number of errors+warnings fixed = 2283
-   number of PNG verbosity fixed =  2152
-   number of PNG error fixed = 4
-   number of PNG segfault fixed = 3
-   number of PNG errors changed to warnings = 62
-   number of JPG verbosity fixed =  26
-   number of JPG error fixed = 91
Not all errors and warning have been fixed.

These numbers were generated using the find_bad_images_in_skps.py
program.  This program may be useful going forward for testing
image-decoding libraries on skp files from the cluster telemetry.
find_bad_images_in_skps.py depends on the test_image_decoder program,
which simply executes the SkImageDecoder::DecodeFile function and uses
its exit status to report success or failure.

BUG=skia:1649
BUG=skia:1691
BUG=skia:1680
R=scroggo@google.com

Review URL: https://codereview.chromium.org/24449003

git-svn-id: http://skia.googlecode.com/svn/trunk@11597 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-10-04 12:46:45 +00:00
commit-bot@chromium.org
608ea6508a Use SkPicture::ExtractBitmap callback in pdf too, there is no need for a specialized function pointer for pdf only only to pass a rectangle, when we can use subseted bitmaps.
R=scroggo@google.com, reed@google.com, vandebo@chromium.org, bsalomon@google.com

Author: edisonn@google.com

Review URL: https://codereview.chromium.org/25054002

git-svn-id: http://skia.googlecode.com/svn/trunk@11591 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-10-03 19:29:21 +00:00
skia.committer@gmail.com
b0a0589f8a Sanitizing source files in Housekeeper-Nightly
git-svn-id: http://skia.googlecode.com/svn/trunk@11585 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-10-03 07:01:37 +00:00
robertphillips@google.com
0308707248 Make it explicit that some validate methods are debug only
https://codereview.chromium.org/25716003/



git-svn-id: http://skia.googlecode.com/svn/trunk@11575 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-10-02 16:42:21 +00:00
commit-bot@chromium.org
409774e8ac Sadly TSAN still reports this as a race, even when we're obviously writing the
same values.  Initializing with the declaration should quiet it down.

BUG=
R=caryclark@google.com

Author: mtklein@google.com

Review URL: https://codereview.chromium.org/25713004

git-svn-id: http://skia.googlecode.com/svn/trunk@11574 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-10-02 16:15:44 +00:00
caryclark@google.com
f614b76377 fix 10.6
git-svn-id: http://skia.googlecode.com/svn/trunk@11572 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-10-02 15:07:52 +00:00
caryclark@google.com
7eaa53d8f7 path ops work in progress
make more skps work

remove edit files

BUG=

Review URL: https://codereview.chromium.org/23542056

git-svn-id: http://skia.googlecode.com/svn/trunk@11570 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-10-02 14:49:34 +00:00
commit-bot@chromium.org
57f035ecae Writing to testName and reading its size isn't thread safe, TSAN reminds us.
Guarding it into a no-op makes it safe.  Looks like this is only used for debugging, presumably singlethreaded?

BUG=
R=caryclark@google.com

Author: mtklein@google.com

Review URL: https://codereview.chromium.org/25366002

git-svn-id: http://skia.googlecode.com/svn/trunk@11562 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-10-01 18:44:04 +00:00
commit-bot@chromium.org
f6842e7c7b In skia_test.cc, atomics -> mutex.
These guys are not heavily contended nor speed critical.  No need for atomics,
plus this makes tsan stop complaining (correctly) about reading fNextIndex
unsafely in onEnd.

I took a look at failCount/fFailCount, which I think is safely atomic and quite
conveniently so:  It's never read until all the threads which could possibly
increment it have terminated (except for the one where it was created,
obviously).  We could guard it with a mutex too, but maybe we can let this one
slide.

BUG=
R=bungeman@google.com

Author: mtklein@google.com

Review URL: https://codereview.chromium.org/25357002

git-svn-id: http://skia.googlecode.com/svn/trunk@11561 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-10-01 18:43:50 +00:00
commit-bot@chromium.org
949eef0af2 Use explicitly-sized enums in GrGLProgramDesc::KeyHeader
Uses enums explicitly sized to 8 bits in GrGLProgramDesc::KeyHeader,
instead of storing them as uint8_t values. This avoids the need to
static_cast them.

R=bsalomon@google.com

Author: cdalton@nvidia.com

Review URL: https://codereview.chromium.org/23875048

git-svn-id: http://skia.googlecode.com/svn/trunk@11560 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-10-01 18:43:29 +00:00
scroggo@google.com
8d2392487c Add an option on SkImageDecoder to skip writing 0s.
Only implemented for PNG.

Add a getter and setter, and sets the default to false in the
constructor. Also copies the setting in copyFieldsToOther.

Fix an indpendent bug where fDitherImage was not being copied in
copyFieldsToOther.

In SkScaledBitmapSampler::begin, consolidate the settings passed in
by passing a const reference to the decoder. The decoder can be
referenced for its settings of dither, unpremultiplied, and now
skipping writing zeroes. Update callers to use the new API. In png
decoder, rather than passing around a pointer to an initial
read of getDitherImage, and potentially changing it, look at the
field on the decoder itself, and modify it directly. This is a
change in behavior - now if that same decoder is used to decode
a different image, the dither setting has changed. I think this is
okay because A) the typical use case is to use a new decoder for
each decode, B) we do not make any promises that a decode does not
change the decoder and C) it makes the code in SkScaledBitmapSampler
much cleaner.

In SkScaledBitmapScampler, add new row procs for skipping zeroes. Now
that choosing the row proc has five dimensions (src config, dst config,
dither, skip writing zeroes, unpremultiplied), use a new method: each
src/dst combination has a function for choosing the right proc depending
on the decoder.

SkScaledBitmapScampler::RowProc is now public for convenience.

Remove Sample_Gray_D8888_Unpremul, which is effectively no different
from Sample_Gray_D8888.

In cases where unpremultiplied was trivial, such as 565 and when
sampling from gray, decoding may now succeed.

Add a benchmark (currently disabled) for comparing the speed of skipping
writing zeroes versus not skipping. For this particular image, which is
mostly transparent pixels, normal decoding took about 3.6 milliseconds,
while skipping zeroes in the decode took only about 2.5 milliseconds
(this is on a Nexus 4). Presumably it would be slower on an image
with a small amount of transparency, but there will be no slowdown
for an image which reports that it has no transparency.

In SkImageRef_ashmem, always skip writing zeroes, since ashmem
memory is guaranteed to be initialized to 0.

Add a flag to skip writing zeroes in skimage.

Add a regression test for choosing the rowproc to ensure I did not
change any behavior accidentally.

BUG=skia:1661
R=reed@google.com

Review URL: https://codereview.chromium.org/24269006

git-svn-id: http://skia.googlecode.com/svn/trunk@11558 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-10-01 17:27:15 +00:00
scroggo@google.com
83fd2c7c43 Add a buffered SkStream class.
This is used by Android to buffer an input stream which may not
otherwise be able to rewind.

Add a test for the new class.

R=bungeman@google.com, mtklein@google.com, reed@google.com

Review URL: https://codereview.chromium.org/23717055

git-svn-id: http://skia.googlecode.com/svn/trunk@11488 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-09-26 21:35:39 +00:00
commit-bot@chromium.org
2c86fbb0b1 Add SkDivMod with a special case for ARM.
BUG=skia:1663
R=djsollen@google.com, tomhudson@google.com, reed@google.com

Author: mtklein@google.com

Review URL: https://chromiumcodereview.appspot.com/24159009

git-svn-id: http://skia.googlecode.com/svn/trunk@11482 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-09-26 19:22:54 +00:00
commit-bot@chromium.org
97f8167622 We don't flatten or unflatten SkPaintOptionsAndroid. Reproduce and fix.
BUG=skia:1625
R=djsollen@google.com, reed@google.com

Author: mtklein@google.com

Review URL: https://chromiumcodereview.appspot.com/24075010

git-svn-id: http://skia.googlecode.com/svn/trunk@11472 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-09-26 15:16:12 +00:00
bungeman@google.com
1435f9f29a Add skia_tsan_build to match skia_asan_build and fix one example race.
R=mtklein@google.com

Review URL: https://codereview.chromium.org/24644003

git-svn-id: http://skia.googlecode.com/svn/trunk@11464 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-09-25 22:39:22 +00:00
scroggo@google.com
b5571b3324 Change SkImageDecoders to take an SkStreamRewindable.
Only affects factories, static functions that will use the factories,
and subset decoding, which all require rewinding. The decoders
themselves continue to take an SkStream. This is merely documentation
stating which functions will possibly rewind the passed in SkStream.

This is part of the general change to coordinate SkStreams with
Android's streams, which don't necessarily support rewinding in all
cases.

Update callers to use SkStreamRewindable.

BUG=skia:1572
R=bungeman@google.com, reed@google.com

Review URL: https://codereview.chromium.org/23477009

git-svn-id: http://skia.googlecode.com/svn/trunk@11460 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-09-25 21:34:24 +00:00
bungeman@google.com
b8d9d5bd29 Refactor PathTest.cpp test_isNestedRects and test_isRect.
The existing implementations make it difficult to add new tests
and rely on non-local side effects.

R=bsalomon@google.com

Review URL: https://codereview.chromium.org/24502004

git-svn-id: http://skia.googlecode.com/svn/trunk@11455 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-09-25 18:21:39 +00:00
reed@google.com
d28ba8010c promote SkImage::AlphaType to SkAlphaType
BUG=
R=bsalomon@google.com

Review URL: https://codereview.chromium.org/24130009

git-svn-id: http://skia.googlecode.com/svn/trunk@11421 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-09-20 19:33:52 +00:00
mtklein@google.com
519f9677a4 Add sk_calloc. Remove SkMemory_stdlib, which seems unused.
I'm seeing basically no difference between malloc + bzero and calloc on my desktop, but on a Galaxy Nexus calloc is never slower, and significantly faster once the allocation size becomes large, both for allocation and for _reading_.

BUG=skia:1662
R=reed@google.com

Review URL: https://codereview.chromium.org/24251008

git-svn-id: http://skia.googlecode.com/svn/trunk@11414 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-09-20 14:31:45 +00:00
skia.committer@gmail.com
f91e3d4f54 Sanitizing source files in Housekeeper-Nightly
git-svn-id: http://skia.googlecode.com/svn/trunk@11411 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-09-20 07:01:33 +00:00
commit-bot@chromium.org
c5e57bd0a3 silence the error test to be a better citizen
BUG=
R=caryclark@google.com, bsalomon@google.com, tfarina@chromium.org, mtklein@google.com

Author: humper@google.com

Review URL: https://chromiumcodereview.appspot.com/23481012

git-svn-id: http://skia.googlecode.com/svn/trunk@11409 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-09-19 22:11:38 +00:00
mtklein@google.com
014f2c4183 Add an even more convenient way to declare tests, with example.
BUG=
R=reed@google.com

Review URL: https://codereview.chromium.org/23828008

git-svn-id: http://skia.googlecode.com/svn/trunk@11405 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-09-19 20:56:46 +00:00
reed@google.com
c1a81ebec5 expand alias fontname test
BUG=
R=bungeman@google.com

Review URL: https://codereview.chromium.org/24198004

git-svn-id: http://skia.googlecode.com/svn/trunk@11393 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-09-19 18:06:03 +00:00
djsollen@google.com
e2fd2d2651 fix build warning for unused function
R=robertphillips@google.com

Review URL: https://codereview.chromium.org/24240008

git-svn-id: http://skia.googlecode.com/svn/trunk@11382 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-09-19 14:40:42 +00:00
djsollen@google.com
2397c06ffb Disable broken test on Android
R=caryclark@google.com

Review URL: https://codereview.chromium.org/23484057

git-svn-id: http://skia.googlecode.com/svn/trunk@11380 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-09-19 12:55:26 +00:00
djsollen@google.com
1f584ed3f4 Update Android's FontHost to return NULL if familyName does not match
R=scroggo@google.com, wangxianzhu@chromium.org

Review URL: https://codereview.chromium.org/23601041

git-svn-id: http://skia.googlecode.com/svn/trunk@11377 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-09-19 12:08:40 +00:00
skia.committer@gmail.com
2262c58802 Sanitizing source files in Housekeeper-Nightly
git-svn-id: http://skia.googlecode.com/svn/trunk@11375 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-09-19 07:25:55 +00:00
reed@google.com
d44d988127 fix fontconfig backend to only cache new fonts if their outName was unique
BUG=
R=bungeman@google.com

Review URL: https://codereview.chromium.org/23710072

git-svn-id: http://skia.googlecode.com/svn/trunk@11364 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-09-18 20:32:25 +00:00
commit-bot@chromium.org
07f6cf372d fix printing of error messages in canvasstatetest.
R=scroggo@google.com, caryclark@google.com

Author: djsollen@google.com

Review URL: https://chromiumcodereview.appspot.com/23477067

git-svn-id: http://skia.googlecode.com/svn/trunk@11363 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-09-18 20:15:12 +00:00
edisonn@google.com
26d2e046cd pdf: write only ToUnicode mappings needed by the font, trimming anything out of [firstChar, lastChar] interval.
R=vandebo@chromium.org

Review URL: https://codereview.chromium.org/23519006

git-svn-id: http://skia.googlecode.com/svn/trunk@11360 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-09-18 19:29:08 +00:00
robertphillips@google.com
35349d80b3 Revert r11342 (Add infrastructure for testing the debugger code) due to build breakages
git-svn-id: http://skia.googlecode.com/svn/trunk@11343 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-09-18 13:28:10 +00:00
commit-bot@chromium.org
15ec2ea617 Add infrastructure for testing the debugger code.
This creates the necessarily files and GYP targets to start adding tests
for the debugger code. There is currently one test added, more will be added
once the infrastructure is in place.

BUG=
R=mtklein@google.com

Author: dsinclair@chromium.org

Review URL: https://chromiumcodereview.appspot.com/23589007

git-svn-id: http://skia.googlecode.com/svn/trunk@11342 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-09-18 13:01:17 +00:00
robertphillips@google.com
8c960bf965 Fix Mac 10.6 DeviceLooperTest build error (this time with feeling)
git-svn-id: http://skia.googlecode.com/svn/trunk@11338 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-09-18 12:51:50 +00:00
robertphillips@google.com
697b2121a3 Fix for Mac10.6 compiler error on tests\DeviceLooperTest.cpp
git-svn-id: http://skia.googlecode.com/svn/trunk@11337 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-09-18 12:06:02 +00:00
skia.committer@gmail.com
2291e72b99 Sanitizing source files in Housekeeper-Nightly
git-svn-id: http://skia.googlecode.com/svn/trunk@11336 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-09-18 07:01:33 +00:00
reed@google.com
a513efba95 add missing file
git-svn-id: http://skia.googlecode.com/svn/trunk@11332 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-09-17 20:14:52 +00:00
skia.committer@gmail.com
a604c4f971 Sanitizing source files in Housekeeper-Nightly
git-svn-id: http://skia.googlecode.com/svn/trunk@11309 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-09-17 07:01:20 +00:00
scroggo@google.com
9dfac2366d Suppress test output.
This output is for debugging purposes, and does not report an error.

BUG=skia:1616

Review URL: https://codereview.chromium.org/24110003

git-svn-id: http://skia.googlecode.com/svn/trunk@11292 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-09-16 17:36:39 +00:00
caryclark@google.com
570863f2e2 path ops work in progress
path ops work in progress

BUG=

Review URL: https://codereview.chromium.org/21359002

git-svn-id: http://skia.googlecode.com/svn/trunk@11291 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-09-16 15:55:01 +00:00
robertphillips@google.com
1588354a87 Compiler fix for r11288
git-svn-id: http://skia.googlecode.com/svn/trunk@11289 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-09-16 14:42:48 +00:00
robertphillips@google.com
24ddde9758 Revert 11247, 11250, 11251, 11257, and 11279 to unblock DEPS roll (https://codereview.chromium.org/24159002/)
11279 Sanitizing source files in Housekeeper-Nightly - https://code.google.com/p/skia/source/detail?r=11279
11257 Canary build fix - https://codereview.chromium.org/23532068
11251 More warnings as errors fixes - https://code.google.com/p/skia/source/detail?r=11251
11250 Warnings as errors fix - https://code.google.com/p/skia/source/detail?r=11250
11247 Initial error handling code - https://chromiumcodereview.appspot.com/23021015



git-svn-id: http://skia.googlecode.com/svn/trunk@11288 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-09-16 14:04:05 +00:00
robertphillips@google.com
ba6e954140 Revert the revert of 11247, 11250, 11251 and 11279 (Chrome already relies on changes in r11247)
git-svn-id: http://skia.googlecode.com/svn/trunk@11287 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-09-16 13:40:12 +00:00
robertphillips@google.com
478884f7d3 Revert 11247, 11250, 11251 and 11279 to unblock DEPS roll (https://codereview.chromium.org/24159002/)
11279 Sanitizing source files in Housekeeper-Nightly - https://code.google.com/p/skia/source/detail?r=11279
11251 More warnings as errors fixes - https://code.google.com/p/skia/source/detail?r=11251
11250 Warnings as errors fix - https://code.google.com/p/skia/source/detail?r=11250
11247 Initial error handling code - https://chromiumcodereview.appspot.com/23021015



git-svn-id: http://skia.googlecode.com/svn/trunk@11285 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-09-16 13:19:11 +00:00
skia.committer@gmail.com
dc9888c409 Sanitizing source files in Housekeeper-Nightly
git-svn-id: http://skia.googlecode.com/svn/trunk@11279 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-09-14 07:01:34 +00:00
robertphillips@google.com
40fcb59894 More warnings as errors fixes
git-svn-id: http://skia.googlecode.com/svn/trunk@11251 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-09-13 13:13:29 +00:00
commit-bot@chromium.org
4b681bc95b Fixed issues found by fuzzer
Last week, the fuzzer found a few numerical issue with filters and I had written some fixes for them. Here are the fixes with some unit tests.

For senorblanco : So I figured out what was asserting when we'd get a 0 width "result" in SkBicubicImageFilter::onFilterImage(). Basically, if the "result" SkBitmap object calls SkBitmap::setConfig() with "width" and/or "height" set to 0, then the SkBitmap object will call SkBitmap::reset(), making the SkBitmap object's config invalid. At this point, calling SkBitmap::getAddr32() will assert, even without attempting to dereference the data pointer, because the SkBitmap's config is invalid. If height is valid, but width is 0, then this call to SkBitmap::getAddr32() happens directly in SkBicubicImageFilter::onFilterImage() a few lines lower and asserts right away.

BUG=
R=senorblanco@google.com, senorblanco@chromium.org, bsalomon@google.com

Author: sugoi@chromium.org

Review URL: https://chromiumcodereview.appspot.com/23533042

git-svn-id: http://skia.googlecode.com/svn/trunk@11249 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-09-13 12:40:02 +00:00
commit-bot@chromium.org
e0e7cfe44b Change old PRG to be SkLCGRandom; change new one to SkRandom
The goal here is to get people to start using the new random number
generator, while leaving the old one in place so we don't have to 
rebaseline GMs.

R=reed@google.com, bsalomon@google.com

Author: jvanverth@google.com

Review URL: https://chromiumcodereview.appspot.com/23576015

git-svn-id: http://skia.googlecode.com/svn/trunk@11169 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-09-09 20:09:12 +00:00
commit-bot@chromium.org
a4de8c257e Remove GrRefCnt.h in favor of SkRefCnt.h
This removes GrRefCnt.h with all its tyepdefs and #defines and just switch them
to the Sk* equivalents.

GrSafeSetNull was promoted to SkSafeSetNull in SkRefCnt.h.

BUG=None
TEST=none, no functional changes.
R=bsalomon@google.com, robertphillips@google.com

Author: tfarina@chromium.org

Review URL: https://chromiumcodereview.appspot.com/23904003

git-svn-id: http://skia.googlecode.com/svn/trunk@11151 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-09-09 13:38:37 +00:00
skia.committer@gmail.com
b3ec29d2d8 Sanitizing source files in Housekeeper-Nightly
git-svn-id: http://skia.googlecode.com/svn/trunk@11143 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-09-07 07:01:16 +00:00
commit-bot@chromium.org
6485b0be74 Switch out random number generator for tests, benches, samples.
This change makes tests, benches and samples use the new SkMWCRandom PRNG. GMs will be saved for another time, as they'll require rebaselining.

R=reed@google.com, bsalomon@google.com

Author: jvanverth@google.com

Review URL: https://chromiumcodereview.appspot.com/23653018

git-svn-id: http://skia.googlecode.com/svn/trunk@11136 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-09-06 19:05:11 +00:00
commit-bot@chromium.org
91a798f121 alpha threshold bitmap shader
Committed: http://code.google.com/p/skia/source/detail?r=11122

R=reed@google.com

Author: bsalomon@google.com

Review URL: https://chromiumcodereview.appspot.com/23707019

git-svn-id: http://skia.googlecode.com/svn/trunk@11131 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-09-06 15:31:06 +00:00
robertphillips@google.com
b7061176c7 Push sigma-based blur interface into our GMs/benches/tests/samplecode
https://codereview.chromium.org/23701006/



git-svn-id: http://skia.googlecode.com/svn/trunk@11129 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-09-06 14:16:12 +00:00
skia.committer@gmail.com
6fc1b49989 Sanitizing source files in Housekeeper-Nightly
git-svn-id: http://skia.googlecode.com/svn/trunk@11126 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-09-06 07:01:45 +00:00
bsalomon@google.com
67db510c9c Revert "alpha threshold bitmap shader"
This reverts commit r11122.

git-svn-id: http://skia.googlecode.com/svn/trunk@11123 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-09-05 22:48:05 +00:00
commit-bot@chromium.org
4ec4cf93b7 alpha threshold bitmap shader
R=reed@google.com

Author: bsalomon@google.com

Review URL: https://chromiumcodereview.appspot.com/23707019

git-svn-id: http://skia.googlecode.com/svn/trunk@11122 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-09-05 21:54:04 +00:00
robertphillips@google.com
f4f3faade6 Tweak to r11099 for N4 & Ubuntu13
git-svn-id: http://skia.googlecode.com/svn/trunk@11113 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-09-05 18:55:42 +00:00
commit-bot@chromium.org
9188a15f84 Add a GrGpuGL reference for GrGLProgram/GrGLUniformManager
Updates GrGLProgram and GrGLUniformManager to keep a GrGpuGL reference
instead of one for GrGLContextInfo. No change in functionality, this
is in preparation to support fixed function GL calls for vertexless
shaders.

R=bsalomon@google.com

Author: cdalton@nvidia.com

Review URL: https://chromiumcodereview.appspot.com/23636011

git-svn-id: http://skia.googlecode.com/svn/trunk@11111 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-09-05 18:28:24 +00:00
robertphillips@google.com
b85564afff Warning/error fix for r11099 on Mac 10.6
git-svn-id: http://skia.googlecode.com/svn/trunk@11107 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-09-05 17:53:34 +00:00
robertphillips@google.com
3dfa4cc07c Add test to exercise extreme blur sigmas
https://codereview.chromium.org/23530039/



git-svn-id: http://skia.googlecode.com/svn/trunk@11099 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-09-05 16:39:03 +00:00
djsollen@google.com
1037c7b9f2 fix build breakage for missing SkScalarToInt
Review URL: https://codereview.chromium.org/23718005

git-svn-id: http://skia.googlecode.com/svn/trunk@11085 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-09-04 18:20:30 +00:00
mtklein@google.com
bd6343b1d6 Rewrite SkTRegistry to take any trivially-copyable type.
Obviously these are all currently function pointers of type T(*)(P) for various
T and P.  In bench refactoring, I'm trying to register a function pointer of
type T(*)(), which can't be done as is (passing P=void doesn't work).  This
also lets us register things like primitives, which is conceivable useful.

BUG=
R=reed@google.com, scroggo@google.com

Review URL: https://codereview.chromium.org/23453031

git-svn-id: http://skia.googlecode.com/svn/trunk@11082 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-09-04 17:20:18 +00:00
djsollen@google.com
339e79fbea Add SkCanvasStack and update the Canvas utilities to use it.
BUG=
R=reed@google.com

Review URL: https://codereview.chromium.org/23865004

git-svn-id: http://skia.googlecode.com/svn/trunk@11081 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-09-04 17:16:00 +00:00
skia.committer@gmail.com
85092f05c4 Sanitizing source files in Housekeeper-Nightly
git-svn-id: http://skia.googlecode.com/svn/trunk@11071 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-09-04 07:01:39 +00:00
jvanverth@google.com
25f72ed034 Fix Matrix44Test and double-to-float conversion in SVD code
git-svn-id: http://skia.googlecode.com/svn/trunk@11067 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-09-03 19:46:16 +00:00
commit-bot@chromium.org
5b2e2640ed Revise SVD code to remove arctangents.
Also added bench for timing matrix decomposition.

R=reed@google.com

Author: jvanverth@google.com

Review URL: https://chromiumcodereview.appspot.com/23596006

git-svn-id: http://skia.googlecode.com/svn/trunk@11066 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-09-03 19:08:14 +00:00
mtklein@google.com
8b4ba63735 Fix bug in SkWriter32.
If you give SkWriter32 external storage but that external storage is too small
for the first reservation you make, you'll hit an assert in debug mode.

I think the answer is to simply remove the SkASSERT.  Added a test.

BUG=
R=reed@google.com

Review URL: https://codereview.chromium.org/23646007

git-svn-id: http://skia.googlecode.com/svn/trunk@11062 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-09-03 18:07:01 +00:00
sglez@google.com
ffb71f2dd5 Fix rtree tests build error
Review URL: https://codereview.chromium.org/23531019

git-svn-id: http://skia.googlecode.com/svn/trunk@11038 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-08-30 17:43:31 +00:00
sglez@google.com
8c902126a9 R-Tree -- Don't sort draw commands unless specified.
We expect Webkit and Bink to give us draw commands in a reasonable x,y order.
We can maintain correctness and get a 17% recording speedup for the R-Tree by
not sorting in x and y when bulk-loading.

R=caryclark@google.com, reed@google.com

Review URL: https://codereview.chromium.org/23480002

git-svn-id: http://skia.googlecode.com/svn/trunk@11037 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-08-30 17:27:47 +00:00
commit-bot@chromium.org
a6f37e77c1 Add ShouldSkip variant that can read a --match flag directly.
Just seemed like we were going through lots of hoops for this common case.

BUG=
R=scroggo@google.com

Author: mtklein@google.com

Review URL: https://chromiumcodereview.appspot.com/23708009

git-svn-id: http://skia.googlecode.com/svn/trunk@11034 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-08-30 15:52:46 +00:00
skia.committer@gmail.com
772c4e6d09 Sanitizing source files in Housekeeper-Nightly
git-svn-id: http://skia.googlecode.com/svn/trunk@11017 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-08-30 07:01:34 +00:00
commit-bot@chromium.org
e029440758 Replace SkTScopedPtr with SkAutoTDelete in Skia.
BUG=
R=djsollen@google.com, reed@google.com, vandebo@chromium.org

Author: mtklein@google.com

Review URL: https://chromiumcodereview.appspot.com/23621005

git-svn-id: http://skia.googlecode.com/svn/trunk@11016 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-08-29 22:14:04 +00:00
djsollen@google.com
20146b3f73 fix windows test error for CanvasStateTest.cpp
Review URL: https://codereview.chromium.org/23539005

git-svn-id: http://skia.googlecode.com/svn/trunk@11015 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-08-29 20:36:22 +00:00
djsollen@google.com
5587ac09be Create a semi-stable API for capturing the state of an SkCanvas and reconstructing that state across different versions of Skia.
R=joth@chromium.org, mtklein@google.com, reed@google.com, scroggo@google.com

Committed: https://code.google.com/p/skia/source/detail?r=11010

Review URL: https://codereview.chromium.org/23545017

git-svn-id: http://skia.googlecode.com/svn/trunk@11013 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-08-29 20:20:40 +00:00
reed@google.com
5696baa16b dump out sizeof(void*) in header
BUG=
R=rmistry@google.com

Review URL: https://codereview.chromium.org/23773003

git-svn-id: http://skia.googlecode.com/svn/trunk@11012 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-08-29 20:20:39 +00:00
djsollen@google.com
16b86ced1f Revert "Create a semi-stable API for capturing the state of an SkCanvas and reconstructing that state across different versions of Skia."
This reverts r11010.

Review URL: https://codereview.chromium.org/23757008

git-svn-id: http://skia.googlecode.com/svn/trunk@11011 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-08-29 19:41:56 +00:00
djsollen@google.com
2ce9fce145 Create a semi-stable API for capturing the state of an SkCanvas and reconstructing that state across different versions of Skia.
R=joth@chromium.org, mtklein@google.com, reed@google.com, scroggo@google.com

Review URL: https://codereview.chromium.org/23545017

git-svn-id: http://skia.googlecode.com/svn/trunk@11010 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-08-29 19:29:09 +00:00
robertphillips@google.com
6323ca5ca5 Yet another patch for 10995
git-svn-id: http://skia.googlecode.com/svn/trunk@10998 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-08-29 12:53:23 +00:00
robertphillips@google.com
73672254a3 Patch for 10995
git-svn-id: http://skia.googlecode.com/svn/trunk@10997 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-08-29 12:40:26 +00:00
robertphillips@google.com
b0b03d98af Patch for r10995
git-svn-id: http://skia.googlecode.com/svn/trunk@10996 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-08-29 12:10:20 +00:00
robertphillips@google.com
1f2f338e23 Split SkDevice into SkBaseDevice and SkBitmapDevice
https://codereview.chromium.org/22978012/



git-svn-id: http://skia.googlecode.com/svn/trunk@10995 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-08-29 11:54:56 +00:00
reed@google.com
1c028bd395 fix state machine so we know simple only loops once, but we can call maprect in debug mode
Revert "Revert of r10943."

This reverts commit 9e83074cce521d3cc3b8b3a9b819a612a07d800a.

BUG=
R=tomhudson@google.com

Review URL: https://codereview.chromium.org/23618005

git-svn-id: http://skia.googlecode.com/svn/trunk@10981 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-08-28 15:23:19 +00:00
commit-bot@chromium.org
515dcd3603 Replace uses of GR_DEBUG by SK_DEBUG.
BUG=None
R=bsalomon@google.com, robertphillips@google.com

Author: tfarina@chromium.org

Review URL: https://chromiumcodereview.appspot.com/23137022

git-svn-id: http://skia.googlecode.com/svn/trunk@10978 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-08-28 14:17:03 +00:00
rmistry@google.com
e09d6f4819 Revert of r10943.
Review URL: https://codereview.chromium.org/23626002

git-svn-id: http://skia.googlecode.com/svn/trunk@10944 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-08-27 18:53:41 +00:00
reed@google.com
42cb6c0247 add SkDeviceLooper to handle larger-than-fixedpoint
BUG=

Review URL: https://codereview.chromium.org/23392006

git-svn-id: http://skia.googlecode.com/svn/trunk@10943 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-08-27 17:53:52 +00:00
mtklein@google.com
9f842d3904 New warning -> new pattern for fingers to learn for asserting failure.
The Ubuntu Clang compile bot has a warning enabled now that yells about !"foo"
before it breaks Chrome's build where the same warning is -Werror.

BUG=
R=reed@google.com

Review URL: https://codereview.chromium.org/23586002

git-svn-id: http://skia.googlecode.com/svn/trunk@10937 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-08-27 16:15:37 +00:00
fmalita@google.com
d0f1a4fb28 Fix clip expansion in SkPictureRecord::recordRestoreOffsetPlaceholder()
For operations which can expand the region, zeroing previous clip ops' restore offsets is not enough: we need to also break the chain - otherwise the next restore() will simply traverse back and reset the skip offsets.

R=robertphillips@google.com

Review URL: https://codereview.chromium.org/22987003

git-svn-id: http://skia.googlecode.com/svn/trunk@10934 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-08-27 15:50:19 +00:00
skia.committer@gmail.com
10adca5c4a Sanitizing source files in Housekeeper-Nightly
git-svn-id: http://skia.googlecode.com/svn/trunk@10929 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-08-27 07:02:54 +00:00
reed@google.com
f272e3554a test drawing large-coord aa rects
git-svn-id: http://skia.googlecode.com/svn/trunk@10926 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-08-26 21:27:03 +00:00
robertphillips@google.com
57c5672901 Fix leaked SkPDFDevice in PDFPrimitivesTest.cpp
https://chromiumcodereview.appspot.com/23003035/



git-svn-id: http://skia.googlecode.com/svn/trunk@10910 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-08-26 11:10:13 +00:00
mtklein@google.com
330313a8a8 My clang now doesn't complain about !"foo".
BUG=
R=robertphillips@google.com

Review URL: https://codereview.chromium.org/22875037

git-svn-id: http://skia.googlecode.com/svn/trunk@10874 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-08-22 15:37:26 +00:00
skia.committer@gmail.com
b74bdf0249 Sanitizing source files in Housekeeper-Nightly
git-svn-id: http://skia.googlecode.com/svn/trunk@10842 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-08-21 07:01:29 +00:00
commit-bot@chromium.org
9504575438 Add perf benchmarks and more unit tests for matrix inversion
R=jvanverth@google.com, reed@google.com

Author: shawnsingh@chromium.org

Review URL: https://chromiumcodereview.appspot.com/22886010

git-svn-id: http://skia.googlecode.com/svn/trunk@10836 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-08-20 20:15:24 +00:00
robertphillips@google.com
9b051a375b Revert r10830 (Split SkDevice out of SkRasterDevice) until we can get Chromium ready.
git-svn-id: http://skia.googlecode.com/svn/trunk@10835 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-08-20 20:06:40 +00:00
robertphillips@google.com
3055b70018 Split SkDevice out of SkBitmapDevice
https://codereview.chromium.org/22978012/



git-svn-id: http://skia.googlecode.com/svn/trunk@10830 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-08-20 17:49:04 +00:00
mtklein@google.com
9e3074e968 use SkTDynamicHash in picture recording
cleaned up SkPictureFlat.h quite a bit while working on this.

bench --match picture_record_ shows some improvement:
compare.sh bench --match picture_record_ --repeat 100
master -> usehash
N=3 p=0.001000 (corrected to 0.000333)
sig? rel. speed  bench
  y      1.0x  picture_record_dictionaries
  y      1.5x  picture_record_recurring_paint_dictionary
  y      3.8x  picture_record_unique_paint_dictionary
Overall relative speed:   1.9x

bench_pictures --record is pretty much neutral:
compare.sh bench_pictures -r ../skp --mode record --repeat 30
master -> usehash
N=63 p=0.001000 (corrected to 0.000016)
sig? rel. speed  bench
  n      0.9x  desk_pokemonwiki.skp
  y      0.9x  desk_googlespreadsheet.skp
  y      0.9x  tabl_pravda.skp
  y      1.0x  desk_googlespreadsheetdashed.skp
  n      1.0x  tabl_onlinewsj.skp
  n      1.0x  tabl_nytimes.skp
  n      1.0x  desk_googlehome.skp
  y      1.0x  desk_techcrunch.skp
  n      1.0x  tabl_slashdot.skp
  n      1.0x  tabl_techmeme.skp
  n      1.0x  desk_googleplus.skp
  n      1.0x  desk_sfgate.skp
  n      1.0x  tabl_transformice.skp
  n      1.0x  desk_espn.skp
  n      1.0x  desk_baidu.skp
  n      1.0x  tabl_worldjournal.skp
  n      1.0x  desk_chalkboard.skp
  n      1.0x  tabl_frantzen.skp
  n      1.0x  desk_gws.skp
  n      1.0x  tabl_androidpolice.skp
  n      1.0x  desk_linkedin.skp
  n      1.0x  mobi_wikipedia.skp
  n      1.0x  desk_wowwiki.skp
  n      1.0x  desk_css3gradients.skp
  n      1.0x  desk_gmailthread.skp
  n      1.0x  desk_yahoogames.skp
  n      1.0x  desk_facebook.skp
  n      1.0x  desk_wordpress.skp
  n      1.0x  tabl_vnexpress.skp
  n      1.0x  desk_br337.skp
  n      1.0x  tabl_engadget.skp
  n      1.0x  tabl_theverge.skp
  n      1.0x  desk_amazon.skp
  n      1.0x  desk_ebay.skp
  n      1.0x  tabl_hsfi.skp
  n      1.0x  tabl_sahadan.skp
  n      1.0x  desk_weather.skp
  n      1.0x  tabl_digg.skp
  n      1.0x  desk_youtubetvbrowse.skp
  n      1.0x  tabl_culturalsolutions.skp
  n      1.0x  tabl_ukwsj.skp
  n      1.0x  desk_youtube.skp
  n      1.0x  tabl_googlecalendar.skp
  y      1.0x  desk_yahooanswers.skp
  n      1.0x  desk_blogger.skp
  n      1.0x  desk_yahoonews.skp
  y      1.0x  desk_yahoosports.skp
  y      1.0x  tabl_mercurynews.skp
  n      1.0x  desk_youtubetvvideo.skp
  y      1.0x  tabl_gspro.skp
  y      1.1x  tabl_googleblog.skp
  y      1.1x  tabl_cnet.skp
  y      1.1x  tabl_mlb.skp
  y      1.1x  tabl_cuteoverload.skp
  y      1.1x  desk_booking.skp
  y      1.1x  tabl_deviantart.skp
  y      1.1x  desk_twitter.skp
  y      1.1x  tabl_cnn.skp
  y      1.1x  tabl_gamedeksiam.skp
  y      1.1x  tabl_gmail.skp
  y      1.1x  tabl_nofolo.skp
  y      1.1x  tabl_mozilla.skp
  y      1.1x  desk_pinterest.skp
Overall relative speed:   1.0x

(I'd take this to mean that the microbenches are probably drifting away from relevance.)
BUG=
R=reed@google.com

Review URL: https://codereview.chromium.org/21564008

git-svn-id: http://skia.googlecode.com/svn/trunk@10825 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-08-20 16:48:47 +00:00
commit-bot@chromium.org
edd18989ac Tweak Matrix44 test so it'll pass on ChromeOS
BUG=
R=robertphillips@google.com

Author: jvanverth@google.com

Review URL: https://chromiumcodereview.appspot.com/23093008

git-svn-id: http://skia.googlecode.com/svn/trunk@10822 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-08-20 16:28:42 +00:00
commit-bot@chromium.org
f02f07835e Make SkMatrix44::invert() check for finite 1/det instead of magic value
Previously we were checking to see if the magnitude of
determinant of the matrix to be inverted was less than 
1.0e-8, which is a magic number possibly plucked from 
Graphics Gems. After some discussion, it's been determined 
(ha) that we can simply check to see if 1/det is finite and 
if so proceed.

BUG=222926

Committed: http://code.google.com/p/skia/source/detail?r=10758

R=reed@google.com, shawnsingh@chromium.org

Author: jvanverth@google.com

Review URL: https://chromiumcodereview.appspot.com/22904003

git-svn-id: http://skia.googlecode.com/svn/trunk@10818 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-08-20 15:25:04 +00:00
scroggo@google.com
4271f79289 Revert "Make SkMatrix44::invert() check for finite 1/det instead of magic value"
This reverts commit f109b4ac6ef21ccb8b76891e50e63dae820af116.

git-svn-id: http://skia.googlecode.com/svn/trunk@10760 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-08-15 23:53:11 +00:00
commit-bot@chromium.org
7a3eeacd87 Make SkMatrix44::invert() check for finite 1/det instead of magic value
Previously we were checking to see if the magnitude of determinant of the 
matrix to be inverted was less than 1.0e-8, which is a magic number possibly
plucked from Graphics Gems. After some discussion, it's been determined (ha)
that we can simply check to see if 1/det is finite and if so proceed.

BUG=222926
R=reed@google.com, shawnsingh@chromium.org

Author: jvanverth@google.com

Review URL: https://chromiumcodereview.appspot.com/22904003

git-svn-id: http://skia.googlecode.com/svn/trunk@10758 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-08-15 21:56:38 +00:00
mtklein@google.com
cb8b0eeacf Update how SkPath handles fGenerationID and fSourcePath, and add tests to cover.
BUG=
R=bungeman@google.com, reed@google.com

Review URL: https://codereview.chromium.org/22911002

git-svn-id: http://skia.googlecode.com/svn/trunk@10756 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-08-15 21:14:51 +00:00
egdaniel@google.com
259fbaf7a4 Add homogeneous point mapping to Matrix
Adds mapping of homogeneous points (points with three scalar components,
where the last component is not 1). Includes fix for tests when
running on 32 bit debug builds

BUG=
R=bsalomon@google.com

Review URL: https://codereview.chromium.org/22816005

git-svn-id: http://skia.googlecode.com/svn/trunk@10755 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-08-15 21:12:11 +00:00
mtklein@google.com
0038c12f33 Write NULL as "" so readString() always returns a non-NULL string.
BUG=
R=reed@google.com

Review URL: https://codereview.chromium.org/22862002

git-svn-id: http://skia.googlecode.com/svn/trunk@10754 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-08-15 21:01:32 +00:00
robertphillips@google.com
0e6e8cc627 Revert r10705 (ARM Skia NEON patches - 04 - Clean SkFixed / SkLONGLONG) due to 1000+ linux_layout failures (http://build.chromium.org/p/tryserver.chromium/builders/linux_layout_rel/builds/18997/steps/webkit_tests/logs/stdio)
git-svn-id: http://skia.googlecode.com/svn/trunk@10729 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-08-15 13:43:23 +00:00
commit-bot@chromium.org
c1bf2de835 Fix crash when querying a runtime config that is defined in environment
Fix crash when querying a runtime config in case when there's no
skia.conf file and the config variable is still defined in the
environment.

Runs the added SkRTConf::UnitTest test as part of new "UnitTest" test.

Previous version of the patch failed Windows build due to setenv usage.
On Windows, use _putenv_s instead.

BUG=skia:1494
R=bsalomon@google.com, humper@google.com

Author: kkinnunen@nvidia.com

Review URL: https://chromiumcodereview.appspot.com/23174002

git-svn-id: http://skia.googlecode.com/svn/trunk@10715 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-08-14 18:14:37 +00:00
commit-bot@chromium.org
73ab296536 ARM Skia NEON patches - 04 - Clean SkFixed / SkLONGLONG
It removes SkLONGLONG and uses int64_t to implement the  SkFixed
operations for which a SkLONGLONG version existed. It also
removes the 32 bit version that are being replaced.

BUG=
R=djsollen@google.com, reed@google.com

Author: kevin.petit.arm@gmail.com

Review URL: https://chromiumcodereview.appspot.com/18539004

git-svn-id: http://skia.googlecode.com/svn/trunk@10705 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-08-14 11:43:52 +00:00
mtklein@google.com
c9ab2b7dd8 SkTDynamicHash
- add validate()
  - make add() and remove() strict
  - fill in maybeShrink()
  - make grow and shrink thresholds configurable.
  - fix issue where we were getting filled with deleted items - we need to count them as occupied when determining if we should grow

BUG=
R=reed@google.com

Review URL: https://codereview.chromium.org/22571010

git-svn-id: http://skia.googlecode.com/svn/trunk@10677 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-08-12 14:51:25 +00:00
robertphillips@google.com
1c0ade7fc6 Reverted r10654 (Fix crash when querying a runtime config that is defined in environment) due to compilation failure on Chromium win_layout bot
git-svn-id: http://skia.googlecode.com/svn/trunk@10669 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-08-11 13:20:18 +00:00
jvanverth@google.com
f6ad1e8a06 Revert r10659: Add a map homogenous points to SkMatrix
git-svn-id: http://skia.googlecode.com/svn/trunk@10667 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-08-09 21:06:38 +00:00
commit-bot@chromium.org
9d54aeb8a1 All rSomethingTo() immediately following a close() are relative to the point we closed from, not the point we close to. Fix that.
Seems like this has been broken since the stone ages.

BUG=skia:1474, code.google.com/p/android/issues/detail?id=41216
R=bsalomon@google.com

Author: mtklein@google.com

Review URL: https://chromiumcodereview.appspot.com/22681006

git-svn-id: http://skia.googlecode.com/svn/trunk@10666 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-08-09 19:48:26 +00:00
commit-bot@chromium.org
47fa13640b allow NULL in writeString/readString
BUG=skia:1469, code.google.com/p/android/issues/detail?id=58257
R=scroggo@google.com

Author: mtklein@google.com

Review URL: https://chromiumcodereview.appspot.com/22359003

git-svn-id: http://skia.googlecode.com/svn/trunk@10662 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-08-09 16:03:05 +00:00
egdaniel@google.com
2fae54d945 Add a map homogenous points to SkMatrix
BUG=
R=bsalomon@google.com

Review URL: https://codereview.chromium.org/22330004

git-svn-id: http://skia.googlecode.com/svn/trunk@10659 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-08-09 15:07:10 +00:00
commit-bot@chromium.org
cb62224996 Removing deprecated constructors and setDevice from SkDeferredCanvas
R=senorblanco@google.com, senorblanco@chromium.org
BUR=crbug.com/270143

Author: junov@chromium.org

Review URL: https://chromiumcodereview.appspot.com/22385011

git-svn-id: http://skia.googlecode.com/svn/trunk@10657 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-08-09 14:24:59 +00:00
commit-bot@chromium.org
a1007def7e Fix crash when querying a runtime config that is defined in environment
Fix crash when querying a runtime config in case when there's no
skia.conf file and the config variable is still defined in the
environment.

Runs the added SkRTConf::UnitTest test as part of new "UnitTest" test.

BUG=skia:1494
R=bsalomon@google.com, humper@google.com

Author: kkinnunen@nvidia.com

Review URL: https://chromiumcodereview.appspot.com/22650007

git-svn-id: http://skia.googlecode.com/svn/trunk@10654 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-08-09 13:23:56 +00:00
skia.committer@gmail.com
17f1ae63d5 Sanitizing source files in Housekeeper-Nightly
git-svn-id: http://skia.googlecode.com/svn/trunk@10650 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-08-09 07:01:22 +00:00
commit-bot@chromium.org
c28f555f7f This attempts to replicate some bad cache behavior Mozilla reported.
R=bsalomon@google.com

Author: robertphillips@google.com

Review URL: https://chromiumcodereview.appspot.com/22411005

git-svn-id: http://skia.googlecode.com/svn/trunk@10649 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-08-08 22:55:21 +00:00
robertphillips@google.com
b265741cc1 Revert r10603 (Remove operator== from SkPaint) due to Chrome failures
git-svn-id: http://skia.googlecode.com/svn/trunk@10632 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-08-07 22:36:29 +00:00
scroggo@google.com
d79277f678 Support decoding subsets from JPG on Android.
Previously we only supported it for the framework. Making this
change allows us to test subset decoding in skimage, to make sure
we don't break it.

Will require rebaselining android skimage results.

R=djsollen@google.com

Review URL: https://codereview.chromium.org/21612003

git-svn-id: http://skia.googlecode.com/svn/trunk@10625 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-08-07 19:53:53 +00:00
commit-bot@chromium.org
28621517f4 Fix BGRA readback on Android
R=bsalomon@google.com, robertphillips@google.com

Author: snorp@snorp.net

Review URL: https://chromiumcodereview.appspot.com/22522002

git-svn-id: http://skia.googlecode.com/svn/trunk@10624 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-08-07 19:43:45 +00:00
scroggo@google.com
7bb36ab259 Fix build.
Use SkIntToScalar.

Reflect that 8888 can be copied to 4444 in BitmapCopyTest.

Unreviewed.

git-svn-id: http://skia.googlecode.com/svn/trunk@10623 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-08-07 19:39:56 +00:00
mtklein@google.com
9c9d4a7002 Restore SkPath(const SkPath&) to copy the generation ID on Android.
BUG=
R=bsalomon@google.com, bungeman@google.com, reed@google.com

Review URL: https://codereview.chromium.org/22471002

git-svn-id: http://skia.googlecode.com/svn/trunk@10622 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-08-07 19:17:53 +00:00
bungeman@google.com
839702b619 Add getFamilyNames to SkTypeface.
Committed: https://code.google.com/p/skia/source/detail?r=10589

Committed: https://code.google.com/p/skia/source/detail?r=10592

Committed: https://code.google.com/p/skia/source/detail?r=10608

Review URL: https://codereview.chromium.org/21716005

git-svn-id: http://skia.googlecode.com/svn/trunk@10615 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-08-07 17:09:22 +00:00
robertphillips@google.com
f7af91bd79 Reverting r10608 (Add getFamilyNames to SkTypeface) due to compilation failures
git-svn-id: http://skia.googlecode.com/svn/trunk@10609 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-08-07 15:56:51 +00:00
bungeman@google.com
246b1c266f Add getFamilyNames to SkTypeface.
Committed: https://code.google.com/p/skia/source/detail?r=10589

Committed: https://code.google.com/p/skia/source/detail?r=10592

Review URL: https://codereview.chromium.org/21716005

git-svn-id: http://skia.googlecode.com/svn/trunk@10608 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-08-07 15:46:29 +00:00
commit-bot@chromium.org
37ffe8a5a3 Remove operator== from SkPaint
R=mtklein@google.com, reed@google.com

Author: sglez@google.com

Review URL: https://chromiumcodereview.appspot.com/21949007

git-svn-id: http://skia.googlecode.com/svn/trunk@10603 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-08-07 15:22:05 +00:00
bungeman@google.com
ad6477d02a Work around broken SkFontMgr_fontconfig.cpp for test.
git-svn-id: http://skia.googlecode.com/svn/trunk@10593 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-08-07 03:17:12 +00:00
bungeman@google.com
a980269c24 Add getFamilyNames to SkTypeface.
Committed: https://code.google.com/p/skia/source/detail?r=10589

Review URL: https://codereview.chromium.org/21716005

git-svn-id: http://skia.googlecode.com/svn/trunk@10592 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-08-07 02:45:25 +00:00
jvanverth@google.com
7ca6d2f070 Reverting r10589: Add getFamilyNames to SkTypeface
git-svn-id: http://skia.googlecode.com/svn/trunk@10590 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-08-06 23:31:44 +00:00
bungeman@google.com
990d85f02b Add getFamilyNames to SkTypeface.
Review URL: https://codereview.chromium.org/21716005

git-svn-id: http://skia.googlecode.com/svn/trunk@10589 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-08-06 22:53:04 +00:00
skia.committer@gmail.com
ea4b7970b9 Sanitizing source files in Housekeeper-Nightly
git-svn-id: http://skia.googlecode.com/svn/trunk@10554 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-08-06 07:01:27 +00:00
mtklein@google.com
0d9f5f76f7 old compiler is dumb
BUG=

Review URL: https://codereview.chromium.org/22318002

git-svn-id: http://skia.googlecode.com/svn/trunk@10553 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-08-05 23:08:19 +00:00
commit-bot@chromium.org
f916f9e7cf revise SkTDynamicHash and add unit tests
BUG=
R=reed@google.com

Author: mtklein@google.com

Review URL: https://chromiumcodereview.appspot.com/22292004

git-svn-id: http://skia.googlecode.com/svn/trunk@10552 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-08-05 22:31:20 +00:00
jvanverth@google.com
2f683ba958 Temporarily disable GpuTestPath.
git-svn-id: http://skia.googlecode.com/svn/trunk@10532 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-08-05 14:50:31 +00:00
commit-bot@chromium.org
19dd017a62 Fix a crash on stroking empty paths with nv_path_rendering enabled
Fix the crash by defining that GrPathRenderer::drawPath and
GrPathRenderer::stencilPath are called only with non-empty paths.

Adds a new test "GpuDrawPath" and tests the condition.

BUG=1477
R=bsalomon@google.com

Author: kkinnunen@nvidia.com

Review URL: https://chromiumcodereview.appspot.com/22173002

git-svn-id: http://skia.googlecode.com/svn/trunk@10528 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-08-05 13:28:55 +00:00
junov@chromium.org
44324fae1c Fixing SkDeferredCanvas::writePixels to trigger appropriate change notifications to SkSurface
BUG=crbug.com/256269
TEST=DeferredCanvas unit test, TestDeferredCanvasWritePixelsToSurface
R=reed@google.com

Review URL: https://codereview.chromium.org/20628005

git-svn-id: http://skia.googlecode.com/svn/trunk@10513 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-08-02 15:36:02 +00:00
commit-bot@chromium.org
62df526042 Make SkPath::conservativelyContainsRect not assert on paths that begin with repeated moveTos
R=reed@google.com

Author: bsalomon@google.com

Review URL: https://chromiumcodereview.appspot.com/21565002

git-svn-id: http://skia.googlecode.com/svn/trunk@10484 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-08-01 15:35:06 +00:00
commit-bot@chromium.org
4d24b747e2 Make SkImage_Gpu share it's pixelref with the surface to prevent premature return to scratch pool.
BUG=crbug.com/263329
TEST=Surface unit test, function Test_crbug263329
R=bsalomon@google.com, reed@google.com

Author: junov@chromium.org

Review URL: https://chromiumcodereview.appspot.com/20354003

git-svn-id: http://skia.googlecode.com/svn/trunk@10378 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-07-25 23:29:40 +00:00
robertphillips@google.com
9bf380ce7f drawBitmap* cleanup
https://codereview.chromium.org/19977003/



git-svn-id: http://skia.googlecode.com/svn/trunk@10342 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-07-25 12:10:42 +00:00
skia.committer@gmail.com
5c561cb8d8 Sanitizing source files in Housekeeper-Nightly
git-svn-id: http://skia.googlecode.com/svn/trunk@10340 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-07-25 07:01:00 +00:00
senorblanco@chromium.org
194d775edc This patch implements a crop rect for SkImageFilter. It has been implemented for SkColorFilterImageFilter and SkBlurImageFilter as examples.
In order to preserve the immutability of SkImageFilters, the crop rect is passed as a constructor parameter. If NULL (the default), the bounds of the input image are used, as before.

This also tightens up the boundary handling for SkImageBlurFilter on the GPU backend. Where we were previously using clamping semantics, we now respect decal semantics (so we don't oversaturate the edges). This brings the GPU and raster backends into closer alignment, but will require some new baselines for the GPU tests.

At a minimum, the following tests will need new baselines: imageblur, imagefiltersbase, imagefilterscropped, spritebitmap.

R=reed@google.com

Committed: https://code.google.com/p/skia/source/detail?r=10251

Review URL: https://codereview.chromium.org/19775006

git-svn-id: http://skia.googlecode.com/svn/trunk@10338 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-07-24 22:19:24 +00:00
commit-bot@chromium.org
ff36a1d07f Start from scratch on a faster SkFlatDictionary.
This is like codereview.chromium.org/19276003, except it fits in better with the existing code, doesn't leak memory, and because it's back using SkChunkFlatController it's a little faster too, now a win across the board:

Slowdown	bench
-1.59%	desk_youtubetvbrowse.skp
-2.56%	desk_googlehome.skp
-6.40%	tabl_androidpolice.skp
-6.45%	desk_youtubetvvideo.skp
-6.91%	tabl_googlecalendar.skp
...
-29.70%	desk_yahoogames.skp
-32.17%	desk_googlespreadsheet.skp
-32.23%	mobi_wikipedia.skp
-37.16%	desk_chalkboard.skp
-41.57%	desk_pokemonwiki.skp
Overall slowdown: -22.74%

running bench [640 480] picture_record_recurring_paint_dictionary  NONRENDERING: cmsecs =   9.92
running bench [640 480] picture_record_unique_paint_dictionary  NONRENDERING: cmsecs =  22.16
running bench [640 480]  picture_record_dictionaries  NONRENDERING: cmsecs =   9.18

BUG=

Committed: http://code.google.com/p/skia/source/detail?r=10328

R=tomhudson@google.com, reed@google.com, scroggo@google.com

Author: mtklein@google.com

Review URL: https://chromiumcodereview.appspot.com/19564007

git-svn-id: http://skia.googlecode.com/svn/trunk@10336 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-07-24 20:37:30 +00:00
mtklein@google.com
5174286bc5 Revert "Start from scratch on a faster SkFlatDictionary."
This reverts commit fec9bfa02d5d2b27bfa2dad3e37e5825a720784d.

git-svn-id: http://skia.googlecode.com/svn/trunk@10331 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-07-24 19:11:15 +00:00
commit-bot@chromium.org
cae5d8d570 Start from scratch on a faster SkFlatDictionary.
This is like codereview.chromium.org/19276003, except it fits in better with the existing code, doesn't leak memory, and because it's back using SkChunkFlatController it's a little faster too, now a win across the board:

Slowdown	bench
-1.59%	desk_youtubetvbrowse.skp
-2.56%	desk_googlehome.skp
-6.40%	tabl_androidpolice.skp
-6.45%	desk_youtubetvvideo.skp
-6.91%	tabl_googlecalendar.skp
...
-29.70%	desk_yahoogames.skp
-32.17%	desk_googlespreadsheet.skp
-32.23%	mobi_wikipedia.skp
-37.16%	desk_chalkboard.skp
-41.57%	desk_pokemonwiki.skp
Overall slowdown: -22.74%

running bench [640 480] picture_record_recurring_paint_dictionary  NONRENDERING: cmsecs =   9.92
running bench [640 480] picture_record_unique_paint_dictionary  NONRENDERING: cmsecs =  22.16
running bench [640 480]  picture_record_dictionaries  NONRENDERING: cmsecs =   9.18

BUG=
R=tomhudson@google.com, reed@google.com, scroggo@google.com

Author: mtklein@google.com

Review URL: https://chromiumcodereview.appspot.com/19564007

git-svn-id: http://skia.googlecode.com/svn/trunk@10328 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-07-24 18:45:27 +00:00
jvanverth@google.com
588f3d3896 Change double constants to floats.
git-svn-id: http://skia.googlecode.com/svn/trunk@10327 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-07-24 18:44:10 +00:00
commit-bot@chromium.org
08284e4d24 Add basic SVD support to SkMatrix. Allows you to pull out the x- and y-scale factors, sandwiched by two rotations.
R=reed@google.com

Author: jvanverth@google.com

Review URL: https://chromiumcodereview.appspot.com/19569007

git-svn-id: http://skia.googlecode.com/svn/trunk@10322 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-07-24 18:08:08 +00:00
sglez@google.com
586db93c44 refactor duplication (shouldSkip and skip_name) into a utility function
R=caryclark@google.com, reed@google.com

Committed: https://code.google.com/p/skia/source/detail?r=10280

Review URL: https://codereview.chromium.org/19807005

git-svn-id: http://skia.googlecode.com/svn/trunk@10317 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-07-24 17:24:23 +00:00
reed@google.com
2c38fed29d use sk_bzero to init level, since I got the number of 0s wrong using { }
git-svn-id: http://skia.googlecode.com/svn/trunk@10308 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-07-24 14:55:00 +00:00
robertphillips@google.com
58c856a54a Reverting r10251 (Implement crop rect for SkImageFilter) due to Chromium-side unit test failures
git-svn-id: http://skia.googlecode.com/svn/trunk@10304 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-07-24 13:18:06 +00:00
skia.committer@gmail.com
7f1af501f2 Sanitizing source files in Housekeeper-Nightly
git-svn-id: http://skia.googlecode.com/svn/trunk@10299 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-07-24 07:01:12 +00:00
commit-bot@chromium.org
a7aa810894 Deterministic SkTSet and PDF Output
Addresses this issue: https://code.google.com/p/skia/issues/detail?id=1277

R=edisonn@google.com, vandebo@chromium.org

Author: richardlin@chromium.org

Review URL: https://chromiumcodereview.appspot.com/19283005

git-svn-id: http://skia.googlecode.com/svn/trunk@10298 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-07-24 01:51:08 +00:00
commit-bot@chromium.org
70d75ca764 Add SkChecksum::Murmur3.
BUG=
R=reed@google.com

Author: mtklein@google.com

Review URL: https://chromiumcodereview.appspot.com/19500020

git-svn-id: http://skia.googlecode.com/svn/trunk@10292 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-07-23 20:25:34 +00:00
reed@google.com
0e66162161 fix signed/unsigned warning
git-svn-id: http://skia.googlecode.com/svn/trunk@10287 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-07-23 19:27:48 +00:00
reed@google.com
602a1d7025 add scaledimagecache
BUG=

Review URL: https://codereview.chromium.org/20005003

git-svn-id: http://skia.googlecode.com/svn/trunk@10286 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-07-23 19:13:54 +00:00
epoger@google.com
ed5eb4ef2a Revert r10280, which caused https://code.google.com/p/skia/issues/detail?id=1441
Review URL: https://codereview.chromium.org/19537005

git-svn-id: http://skia.googlecode.com/svn/trunk@10284 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-07-23 17:56:20 +00:00
sglez@google.com
434251f872 refactor duplication (shouldSkip and skip_name) into a utility function
R=caryclark@google.com, reed@google.com

Review URL: https://codereview.chromium.org/19807005

git-svn-id: http://skia.googlecode.com/svn/trunk@10280 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-07-23 17:26:34 +00:00
caryclark@google.com
4fdbb22964 turn off debugging printfs
fix pathops issues 1417, 1418

be more rigorous about pulling intersections of lines to end points
rewrite cubic/line and quad/line intersections to share style

BUG=

Review URL: https://codereview.chromium.org/19543005

git-svn-id: http://skia.googlecode.com/svn/trunk@10270 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-07-23 15:27:41 +00:00
commit-bot@chromium.org
3e2ea2565d I don't want these changes as part of the "allow bleeding" CL.
R=bsalomon@google.com

Author: robertphillips@google.com

Review URL: https://chromiumcodereview.appspot.com/19842002

git-svn-id: http://skia.googlecode.com/svn/trunk@10256 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-07-23 11:28:45 +00:00
skia.committer@gmail.com
6ae6383f56 Sanitizing source files in Housekeeper-Nightly
git-svn-id: http://skia.googlecode.com/svn/trunk@10254 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-07-23 07:01:05 +00:00
reed@google.com
9cfc83cc8a stop using bitmap-filter flags outside of paint itself, as a step towards really changing them into an enum
BUG=

Review URL: https://codereview.chromium.org/19825002

git-svn-id: http://skia.googlecode.com/svn/trunk@10240 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-07-22 17:18:18 +00:00
bungeman@google.com
c29f3d8c6d Add a detachAsStream to SkDynamicMemoryWStream.
R=reed@google.com

Committed: https://code.google.com/p/skia/source/detail?r=10171

Committed: https://code.google.com/p/skia/source/detail?r=10178

Review URL: https://codereview.chromium.org/19677002

git-svn-id: http://skia.googlecode.com/svn/trunk@10218 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-07-19 22:32:11 +00:00
bungeman@google.com
88682b77d1 Add a detachAsStream to SkDynamicMemoryWStream.
R=reed@google.com

Committed: https://code.google.com/p/skia/source/detail?r=10171

Review URL: https://codereview.chromium.org/19677002

git-svn-id: http://skia.googlecode.com/svn/trunk@10178 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-07-19 13:55:41 +00:00
skia.committer@gmail.com
a79919883e Sanitizing source files in Housekeeper-Nightly
git-svn-id: http://skia.googlecode.com/svn/trunk@10175 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-07-19 07:00:57 +00:00
robertphillips@google.com
6eee5c3ec4 Revert r10171 due to test failure in StreamTest
git-svn-id: http://skia.googlecode.com/svn/trunk@10172 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-07-18 23:59:16 +00:00
bungeman@google.com
eacb54e174 Add a detachAsStream to SkDynamicMemoryWStream.
R=reed@google.com

Review URL: https://codereview.chromium.org/19677002

git-svn-id: http://skia.googlecode.com/svn/trunk@10171 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-07-18 22:27:21 +00:00
reed@google.com
9a47ed785f use { 0, 0, 0, 0 } to fix warning
git-svn-id: http://skia.googlecode.com/svn/trunk@10167 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-07-18 20:48:06 +00:00
reed@google.com
7437bfb9fa init prevLevel to avoid warning
git-svn-id: http://skia.googlecode.com/svn/trunk@10166 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-07-18 20:20:10 +00:00
scroggo@google.com
826d63af97 Add test to ensure buildTileIndex stores SkStream.
PNG fails this test without https://codereview.chromium.org/19185006/

R=djsollen@google.com

Review URL: https://codereview.chromium.org/19555004

git-svn-id: http://skia.googlecode.com/svn/trunk@10163 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-07-18 20:06:28 +00:00
reed@google.com
eed6f1b76b pull mipmap class into its own (private) header
BUG=
R=scroggo@google.com

Review URL: https://codereview.chromium.org/19462007

git-svn-id: http://skia.googlecode.com/svn/trunk@10161 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-07-18 19:53:31 +00:00
scroggo@google.com
f698c8262d Allow decoding JPEG into A8.
If the original image is grayscale, allow decoding into A8.

Change the size of PrefConfigTable to allow for 8bit gray, a new source config.

Add a new sampler to SkScaledBitmapSampler to 'convert' to A8.

FIXME: Should there be a dithered option for gray scale?

R=reed@google.com

Review URL: https://codereview.chromium.org/18083026

git-svn-id: http://skia.googlecode.com/svn/trunk@10157 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-07-18 19:34:49 +00:00
commit-bot@chromium.org
fd03d4a829 Replace all instances of GrRect with SkRect.
And remove the typedef in GrRect.h. The same with GrIRect.

R=robertphillips@google.com

Author: tfarina@chromium.org

Review URL: https://chromiumcodereview.appspot.com/19449002

git-svn-id: http://skia.googlecode.com/svn/trunk@10130 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-07-17 21:39:42 +00:00
skia.committer@gmail.com
eebe6f4a59 Sanitizing source files in Housekeeper-Nightly
git-svn-id: http://skia.googlecode.com/svn/trunk@10122 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-07-17 07:01:13 +00:00