Commit Graph

10395 Commits

Author SHA1 Message Date
halcanary@google.com
3d50ea1b87 Add Options to SkDecodingImageGenerator, simplify API.
Motivation: We want to remove redundant classes from Skia.  To
that end we want to remove SkImageRef and its subclasses and
replace their uses with SkDiscardablePixelRef +
SkDecodingImageGenerator.  Since Android uses SkImageRef, we need
to make sure that SkDecodingImageGenerator allows all of the
settings that Android exposes in BitmapFactory.Options.

To that end, we have created an Options struct for the
SkDecodingImageGenerator which lets the client of the generator set
sample size, dithering, and bitmap config.

We have made the SkDecodingImageGenerator constructor private
and replaced the SkDecodingImageGenerator::Install functions
with a SkDecodingImageGenerator::Create functions (one for
SkData and one for SkStream) which now take a
SkDecodingImageGenerator::Options struct.

Also added a ImageDecoderOptions test which loops through a list
of sets of options and tries them on a set of 5 small encoded
images.

Also updated several users of SkDecodingImageGenerator::Install to
follow new call signature - gm/factory.cpp, LazyDecodeBitmap.cpp,
and PictureTest.cpp, CachedDecodingPixelRefTest.cpp.

We also added a new ImprovedBitmapFactory Test which simulates the
exact function that Android will need to modify to use this,
installPixelRef() in BitmapFactory.

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

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

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

git-svn-id: http://skia.googlecode.com/svn/trunk@12855 2bbb7eff-a529-9590-31e7-b0007b416f81
2014-01-02 13:15:13 +00:00
skia.committer@gmail.com
f8affa2e5c Sanitizing source files in Housekeeper-Nightly
git-svn-id: http://skia.googlecode.com/svn/trunk@12853 2bbb7eff-a529-9590-31e7-b0007b416f81
2014-01-02 07:01:35 +00:00
mike@reedtribe.org
ae8f9528fd speedup SkRect::intersect
git-svn-id: http://skia.googlecode.com/svn/trunk@12851 2bbb7eff-a529-9590-31e7-b0007b416f81
2014-01-01 20:32:45 +00:00
tfarina@chromium.org
725a64cf89 Add default resource path for skia test cases in gm and bench tools.
BUG=skia:1765
TEST=./out/Release/gm --match downsamplebitmap_image
R=mtklein@google.com, scroggo@google.com, yunchao.he@intel.com

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

git-svn-id: http://skia.googlecode.com/svn/trunk@12850 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-12-31 14:29:52 +00:00
skia.committer@gmail.com
f5e1f63461 Sanitizing source files in Housekeeper-Nightly
git-svn-id: http://skia.googlecode.com/svn/trunk@12849 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-12-31 07:01:36 +00:00
reed@google.com
4856964eae ComputeRowBytes must not overflow width when it shifts
BUG=
R=halcanary@google.com

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

git-svn-id: http://skia.googlecode.com/svn/trunk@12848 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-12-30 19:21:22 +00:00
reed@google.com
51c2a83bda fix drawVertices when we have both colors and textures
fix: don't re-call setContext on the composshader (i.e. on the tricolor shader) for each triangle,
since the trishader handles that explicitly. Just call setContext on the original shader.

BUG=

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

git-svn-id: http://skia.googlecode.com/svn/trunk@12847 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-12-30 16:52:00 +00:00
commit-bot@chromium.org
73be1fc2b0 Possibly uninitialized SkRgnBuilder fStorage.
fStorage needs to be initialized regardless of SkRgnBuilder::init()'s
outcome - otherwise the destructor can end up freeing garbage.

BUG=330293
R=reed@google.com, fmalita@google.com

Author: fmalita@chromium.org

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

git-svn-id: http://skia.googlecode.com/svn/trunk@12846 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-12-30 16:21:06 +00:00
reed@google.com
85e143c33c reenable vertices gm, adding picture support
BUG=

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

git-svn-id: http://skia.googlecode.com/svn/trunk@12845 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-12-30 15:51:25 +00:00
commit-bot@chromium.org
fbd9b17711 Fixing crash found by fuzzer
A previous fix only partially fixed this issue by adding validation on some inputs of SkImageInfo. If anything invalid is detected in SkImageInfo, unfortunately, this can cause getSafeSize() to do an illegal memory access while calling bytesPerPixel(), which could have a bad color type at this point.

A possible fix is to simply make sure we are in a valid state before calling getSafeSize().

BUG=329254
R=reed@google.com, mtklein@google.com, bsalomon@google.com, sugoi@google.com

Author: sugoi@chromium.org

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

git-svn-id: http://skia.googlecode.com/svn/trunk@12844 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-12-30 15:48:10 +00:00
reed@google.com
57212f9469 Revert "Revert of https://codereview.chromium.org/113823003/"
This reverts commit 68b4b32066ea0ba9dbb5d326a836f8a54297b7aa.

BUG=

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

git-svn-id: http://skia.googlecode.com/svn/trunk@12842 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-12-30 14:40:38 +00:00
commit-bot@chromium.org
4ad4ae907f Revert of https://codereview.chromium.org/113823003/
Reason for revert: need to update callsites in linux codecs

R=robertphillips@google.com
TBR=robertphillips@google.com
NOTREECHECKS=true
NOTRY=true
BUG=

Author: reed@google.com

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

git-svn-id: http://skia.googlecode.com/svn/trunk@12841 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-12-30 14:24:37 +00:00
reed@google.com
a306d93cd7 remove Sk64 from public API, and start to remove usage internally
BUG=
R=robertphillips@google.com

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

git-svn-id: http://skia.googlecode.com/svn/trunk@12840 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-12-30 14:14:42 +00:00
skia.committer@gmail.com
4c9128664a Sanitizing source files in Housekeeper-Nightly
git-svn-id: http://skia.googlecode.com/svn/trunk@12838 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-12-30 07:01:37 +00:00
mike@reedtribe.org
6adf296a8f disable gm/vertices until I can find/fix all warnings
git-svn-id: http://skia.googlecode.com/svn/trunk@12837 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-12-30 04:34:44 +00:00
mike@reedtribe.org
5f14dfde9d really disable replay
git-svn-id: http://skia.googlecode.com/svn/trunk@12836 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-12-30 04:27:22 +00:00
mike@reedtribe.org
2c326b7359 suppress pictures for vertices for now
git-svn-id: http://skia.googlecode.com/svn/trunk@12835 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-12-30 04:20:38 +00:00
mike@reedtribe.org
0c87ea8082 add gm::vertices
git-svn-id: http://skia.googlecode.com/svn/trunk@12834 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-12-30 04:07:34 +00:00
commit-bot@chromium.org
6fa81d7878 Revert of https://codereview.chromium.org/119943002/
Reason for revert: False alert on zheng.xu's original CL - it didn't break anything.

R=bungeman@google.com, reed@google.com, zheng.xu@arm.com, robertphillips@google.com, rmistry@google.com
TBR=bungeman@google.com, reed@google.com, rmistry@google.com, robertphillips@google.com, zheng.xu@arm.com
NOTREECHECKS=true
NOTRY=true
BUG=

Author: bensong@google.com

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

git-svn-id: http://skia.googlecode.com/svn/trunk@12822 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-12-26 15:50:29 +00:00
skia.committer@gmail.com
f4552d6b66 Sanitizing source files in Housekeeper-Nightly
git-svn-id: http://skia.googlecode.com/svn/trunk@12820 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-12-24 07:01:39 +00:00
commit-bot@chromium.org
7b06c8ee61 create unittest for gm/rebaseline_server/results.py
NOTRY=True
R=rmistry@google.com

Author: epoger@google.com

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

git-svn-id: http://skia.googlecode.com/svn/trunk@12819 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-12-23 22:47:15 +00:00
rmistry@google.com
5861e52715 Adding additional optional parameters to imagediffdb to make calling from Cluster Telemetry possible.
R=epoger@google.com

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

git-svn-id: http://skia.googlecode.com/svn/trunk@12816 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-12-21 19:07:40 +00:00
skia.committer@gmail.com
5f31b4f8d4 Sanitizing source files in Housekeeper-Nightly
git-svn-id: http://skia.googlecode.com/svn/trunk@12812 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-12-21 07:01:35 +00:00
commit-bot@chromium.org
9de35eb375 Adds non-1 scalar to config names.
BUG=
R=robertphillips@google.com, bungeman@google.com, halcanary@google.com, scroggo@google.com, borenet@google.com

Author: bensong@google.com

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

git-svn-id: http://skia.googlecode.com/svn/trunk@12811 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-12-20 21:49:33 +00:00
borenet@google.com
4be2e001d2 Empty skimage expectations for Logan
R=scroggo@google.com

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

git-svn-id: http://skia.googlecode.com/svn/trunk@12809 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-12-20 21:35:51 +00:00
halcanary@google.com
89a38d3fb7 Rebaseline for WebP
What I did:

#!/bin/sh
cd expectations/skimage
for D in *; do
    [ -d "$D" ] || continue
    [ -f "${D}/expected-results.json" ] || continue
    gsutil cp \
        "gs://chromium-skia-gm/skimage/actuals/${D}/actual-results.json" \
        "${D}/expected-results.json"
done
cd ../..

R=robertphillips@google.com

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

git-svn-id: http://skia.googlecode.com/svn/trunk@12805 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-12-20 19:22:35 +00:00
halcanary@google.com
dedd44adea Fix Red/Blue decoding problem in WebP.
Added unit test with lossless webp data.

BUG=skia:1402

Will need to rebaseline webp expectations for some systems.

R=scroggo@google.com

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

git-svn-id: http://skia.googlecode.com/svn/trunk@12803 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-12-20 16:35:22 +00:00
commit-bot@chromium.org
872796bb8e Allow multiple concurrent timers.
BUG=
R=robertphillips@google.com

Author: jcgregorio@google.com

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

git-svn-id: http://skia.googlecode.com/svn/trunk@12802 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-12-20 15:56:52 +00:00
borenet@google.com
40fbcae783 Change bench_pictures configs
Aiming at CPU vs GPU

R=epoger@google.com, robertphillips@google.com

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

git-svn-id: http://skia.googlecode.com/svn/trunk@12799 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-12-20 14:48:38 +00:00
borenet@google.com
33c3b1e171 Skimage expectations for Valgrind builder
R=robertphillips@google.com

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

git-svn-id: http://skia.googlecode.com/svn/trunk@12797 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-12-20 14:35:24 +00:00
reed@google.com
01c41a556e Revert "Revert "begin to remove SkLONGLONG and wean Skia off of Sk64""
This reverts commit 15b986baf026a3da5e2cac8106a1b753df242c39.

BUG=

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

git-svn-id: http://skia.googlecode.com/svn/trunk@12796 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-12-20 14:24:21 +00:00
commit-bot@chromium.org
5f2fd5dd5d Revert of https://codereview.chromium.org/101423004/
Reason for revert: broke some win7 bots

R=bungeman@google.com, reed@google.com, zheng.xu@arm.com, robertphillips@google.com, rmistry@google.com
TBR=bungeman@google.com, reed@google.com, zheng.xu@arm.com
NOTREECHECKS=true
NOTRY=true
BUG=

Author: bensong@google.com

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

git-svn-id: http://skia.googlecode.com/svn/trunk@12794 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-12-20 13:52:54 +00:00
skia.committer@gmail.com
22e967228d Sanitizing source files in Housekeeper-Nightly
git-svn-id: http://skia.googlecode.com/svn/trunk@12793 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-12-20 07:01:36 +00:00
commit-bot@chromium.org
a9e9a25471 This patch makes SkScalerContext_FreeType to be the only one which embolden the glyphs.
Add bench cases for different font styles.

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

Author: zheng.xu@arm.com

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

git-svn-id: http://skia.googlecode.com/svn/trunk@12792 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-12-20 04:39:12 +00:00
robertphillips@google.com
385afd8b71 Disable SkFloat unit test due to Chromium-side compilation errors
git-svn-id: http://skia.googlecode.com/svn/trunk@12791 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-12-19 23:17:56 +00:00
reed@google.com
b1560445c6 Revert "begin to remove SkLONGLONG and wean Skia off of Sk64"
This reverts commit 784890196fdab96289f9389db43aca01f35db0f9.

Revert "use LL suffix for 64bit literal"

This reverts commit 9634295aff9bffd7a3875a0ca4a9b1a27d0793fc.

BUG=

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

git-svn-id: http://skia.googlecode.com/svn/trunk@12790 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-12-19 22:28:48 +00:00
reed@google.com
8d7ed847be use LL suffix for 64bit literal
BUG=

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

git-svn-id: http://skia.googlecode.com/svn/trunk@12789 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-12-19 22:18:51 +00:00
reed@google.com
d6a301e9ad begin to remove SkLONGLONG and wean Skia off of Sk64
BUG=
R=caryclark@google.com

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

git-svn-id: http://skia.googlecode.com/svn/trunk@12788 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-12-19 21:54:27 +00:00
bsalomon@google.com
3f2028e3e6 rebaselinedownsamplebitmap_image_high_mandrill_512.png
BUG=skia:1879

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

git-svn-id: http://skia.googlecode.com/svn/trunk@12787 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-12-19 21:36:35 +00:00
halcanary@google.com
3a8ebd9e71 Sanitize bitmaps produced by libgif
Motivation: fix the bug linked to below.

Some rare GIFs in the wild have a color table of size smaller than 256
and have one or more pixels with values that index out side of the
colortable.  Since it would be expensive to check the index every time
we do a color lookup, we sanitize it at the source, in
SkImageDecoder_libgif.cpp.  The new function sanitize_indexed_bitmap
checks each pixel to see if the index is outside of its allowed mask,
and if so, sets that pixel to point at color 0.

The bit mask optimization in this function relies on the fact that GIF
requires the color table size to be a power of 2.

To test:

	$ skia_images_gif_suppressDecoderWarnings=0 \
		..../render_pictures \
		--bbh grid 256 256 --clone 1 --config 8888 --mode tile 256 256 \
	    -r ..../http___www_cafe24_com_.skp -w /tmp

	This should show verbose errors.

BUG=skia:1946
R=robertphillips@google.com

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

git-svn-id: http://skia.googlecode.com/svn/trunk@12786 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-12-19 20:57:45 +00:00
bsalomon@google.com
cc36aab8ff Some more medium/MIP downsample gpu rebaslines and misc gpu innocuous rebaselines
Review URL: https://codereview.chromium.org/106523004

git-svn-id: http://skia.googlecode.com/svn/trunk@12785 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-12-19 20:54:47 +00:00
bsalomon@google.com
cf95fbad6b rebaseline clipped-bitmap-shaders GMs for gpu
Review URL: https://codereview.chromium.org/119443002

git-svn-id: http://skia.googlecode.com/svn/trunk@12784 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-12-19 20:44:04 +00:00
commit-bot@chromium.org
a47e7acbc0 rebaseline_server: stop catching KeyboardInterrupt (ctrl-C)
(SkipBuildbotRuns)
NOTRY=True
NOTREECHECKS=True
R=rmistry@google.com
TBR=rmistry

Author: epoger@google.com

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

git-svn-id: http://skia.googlecode.com/svn/trunk@12783 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-12-19 20:01:34 +00:00
robertphillips@google.com
f5a76839b9 Updated GLintptr and GLsizeiptr to be the appropriate types on 64 bit Windows (Take 2)
https://codereview.chromium.org/118533003/



git-svn-id: http://skia.googlecode.com/svn/trunk@12781 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-12-19 19:37:10 +00:00
bsalomon@google.com
dc8efaba99 rebaseline medium quality downscale images after mipmap change
Review URL: https://codereview.chromium.org/113803004

git-svn-id: http://skia.googlecode.com/svn/trunk@12780 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-12-19 19:36:18 +00:00
bungeman@google.com
12bd4a0147 Provide last resort for fCapHeight in SkFontHost_FreeType::onGetAdvancedTypefaceMetrics.
This was a pre-existing issue, but r12689 uncovered it in more cases.
Since there was no last resort, fonts without a cap height used
uninitialized data as their cap height here.

R=robertphillips@google.com

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

git-svn-id: http://skia.googlecode.com/svn/trunk@12779 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-12-19 19:34:22 +00:00
commit-bot@chromium.org
a6ecbb8414 rebaseline_server: add more timing and progress info to server-side log
(SkipBuildbotRuns)
BUG=skia:1941
NOTRY=True
NOTREECHECKS=True
R=bsalomon@google.com

Author: epoger@google.com

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

git-svn-id: http://skia.googlecode.com/svn/trunk@12777 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-12-19 19:08:31 +00:00
commit-bot@chromium.org
9e8f88b6ef create tools/tests/run_all.py to run all our Python self-tests within tools
Eventually, we want all of these self-tests to be written in Python;
this change makes it easier for us to add new Python self-tests, and discourages
the addition of bash self-tests.

BUG=skia:677,skia:1943
NOTRY=True
R=rmistry@google.com, scroggo@google.com

Author: epoger@google.com

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

git-svn-id: http://skia.googlecode.com/svn/trunk@12775 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-12-19 18:22:32 +00:00
commit-bot@chromium.org
6d7296aaa0 Accept displacement with no displacement input
BUG=
R=senorblanco@google.com, senorblanco@chromium.org, sugoi@google.com, bsalomon@google.com, bsalomon@chromium.org

Author: sugoi@chromium.org

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

git-svn-id: http://skia.googlecode.com/svn/trunk@12773 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-12-19 17:00:46 +00:00
commit-bot@chromium.org
5f6c2c0477 Rebaseline for Nexus7 tile multithreads config. Widens the range for benched calculated from average.
BUG=
R=robertphillips@google.com

Author: bensong@google.com

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

git-svn-id: http://skia.googlecode.com/svn/trunk@12772 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-12-19 16:20:04 +00:00