Commit Graph

9133 Commits

Author SHA1 Message Date
sugoi@google.com
55f5682523 Added missing SK_API
BUG=
R=senorblanco@chromium.org

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

git-svn-id: http://skia.googlecode.com/svn/trunk@11580 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-10-02 18:27:43 +00:00
commit-bot@chromium.org
03e3e89641 Add support to dump font cache texture for debug purposes
R=robertphillips@google.com, bsalomon@google.com

Author: jvanverth@google.com

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

git-svn-id: http://skia.googlecode.com/svn/trunk@11579 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-10-02 18:19:17 +00:00
robertphillips@google.com
aaf3e64b2c Move makeSpace and resetToSize from SkPathRef.cpp to .h
https://codereview.chromium.org/25754002/



git-svn-id: http://skia.googlecode.com/svn/trunk@11578 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-10-02 17:49:50 +00:00
commit-bot@chromium.org
09846a05be Add new skyline Rectanizer
The skyline Rectanizer tracks the leading silhouette of the
currently packed rects and tries to fit the next rectangle
on top of that. This gives slightly better packing behavior
than the current log2 scheme.

Also shrank the size of the plots, which increases their
number from 18 to 32 and gives better cache behavior (fewer
purges and uploads).

R=bsalomon@google.com

Author: jvanverth@google.com

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

git-svn-id: http://skia.googlecode.com/svn/trunk@11577 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-10-02 17:37:59 +00:00
commit-bot@chromium.org
80390ec0f5 Threads can race to be the first one to calculate the empty path ref's bounds.
To dodge the problem, call computeBounds when creating the global empty path
ref.

There's still another race here, which is that we can race to create the empty
path ref in the first place.  As written we can conceivably allocate an
arbitrary number of empty path refs, one of which ends up pointed to by the
global variable at the end.

I've punted on fixing this for now because 1) tsan has not complained yet; 2) I
think it can be fixed by the same approach as we can fix the memsets in
25415003, so I want to wait to see how that review goes
first.

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

Author: mtklein@google.com

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

git-svn-id: http://skia.googlecode.com/svn/trunk@11576 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-10-02 16:42:58 +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
scroggo@google.com
354fd97ee0 Do not convert non gray PNG to A8.
If the user requested A8, but the source is not gray, switch to
ARGB8888.

BUG=https://b.corp.google.com/issue?id=9189955
R=reed@google.com

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

git-svn-id: http://skia.googlecode.com/svn/trunk@11573 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-10-02 15:50:19 +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
bsalomon@google.com
ea1abfcab6 Fix gpu.gypi missing file issue
git-svn-id: http://skia.googlecode.com/svn/trunk@11571 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-10-02 15:02:55 +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
bsalomon@google.com
77af6805e5 Make GPU coord transforms automatic
Adds a GrCoordTransform class and updates the framework to handle
coord transforms similar to how it handles textures with
GrTextureAccess. Renames GrGLEffectMatrix to GrGLCoordTransform and
slightly repurposes it to be used by the framework instead of effects.

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

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

git-svn-id: http://skia.googlecode.com/svn/trunk@11569 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-10-02 13:04:56 +00:00
commit-bot@chromium.org
693a837082 Whitespace change to test CQ emails.
BUG=
NOTRY=True
R=borenet@google.com
TBR=borenet@google.com

Author: rmistry@google.com

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

git-svn-id: http://skia.googlecode.com/svn/trunk@11567 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-10-02 12:16:25 +00:00
scroggo@google.com
e5c9c4960c Empty implementations for SkImageDecoder.
Add constructor and destructor, so SkScaledBitmapSampler's
DummyDecoder has no unresolved symbols in Chrome.

Fixes our Chrome canary.

Unreviewed.

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

git-svn-id: http://skia.googlecode.com/svn/trunk@11566 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-10-01 19:54:42 +00:00
commit-bot@chromium.org
edf2367346 Fix race between ~SkThreadPool and SkThreadPool::Loop on fDone.
We're writing fDone without holding the mutex.  Bad form, says tsan.

In practice this is fairly innocuous, as fDone only ever goes from false to
true and only once.  Though, I wouldn't be surprised if there were some way
this could leak a thread that never got the signal to die.

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

Author: mtklein@google.com

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

git-svn-id: http://skia.googlecode.com/svn/trunk@11563 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-10-01 18:44:18 +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
1d06999bc2 Fix build.
Predeclare a function.

Unreviewed.

git-svn-id: http://skia.googlecode.com/svn/trunk@11559 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-10-01 17:46:35 +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
djsollen@google.com
3702b2587c Fix ninja build on Android
R=mtklein@google.com

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

git-svn-id: http://skia.googlecode.com/svn/trunk@11555 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-10-01 15:31:54 +00:00
scroggo@google.com
12705329d0 Allow creating a picture from skp to fail.
Replace the current constructor for creating an
SkPicturePlayback to a factory. In the factory,
check for incorrect data that would result in an invalid
playback. If the playback is invalid, return NULL, and
return NULL from SkPicture's factory as well.

Update SkTimedPicture(Playback) as well.

BUG=skia:1672
R=caryclark@google.com

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

git-svn-id: http://skia.googlecode.com/svn/trunk@11554 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-10-01 15:30:46 +00:00
bungeman@google.com
635091f0a9 Minor changes to XPS device.
git-svn-id: http://skia.googlecode.com/svn/trunk@11552 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-10-01 15:03:18 +00:00
borenet@google.com
9a112f5605 Reverted r11547; filing bugs for 64-bit warnings
Review URL: https://codereview.chromium.org/25530002

git-svn-id: http://skia.googlecode.com/svn/trunk@11551 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-10-01 13:54:16 +00:00
borenet@google.com
bb8c321eeb Whitespace change to trigger builds after r11547: Always use WERR for skia_lib
Review URL: https://codereview.chromium.org/25521002

git-svn-id: http://skia.googlecode.com/svn/trunk@11548 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-10-01 13:22:07 +00:00
skia.committer@gmail.com
1d3bfdc341 Sanitizing source files in Housekeeper-Nightly
git-svn-id: http://skia.googlecode.com/svn/trunk@11544 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-10-01 07:01:46 +00:00
mtklein@google.com
fe21538138 fix the android build. now both android_ninja _and_ android_make work.
BUG=

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

git-svn-id: http://skia.googlecode.com/svn/trunk@11542 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-09-30 20:58:48 +00:00
mtklein@google.com
cf0573fc69 VERBOSE -> SKIA_ANDROID_VERBOSE_SETUP
BUG=
R=borenet@google.com

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

git-svn-id: http://skia.googlecode.com/svn/trunk@11541 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-09-30 20:53:36 +00:00
mtklein@google.com
1c4015ab14 make vanilla android_ninja work, and add quiet options
BUG=
R=djsollen@google.com

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

git-svn-id: http://skia.googlecode.com/svn/trunk@11540 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-09-30 20:42:10 +00:00
djsollen@google.com
0b499ae6ba Remove uneeded copy of gdbserver from apk
R=mtklein@google.com

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

git-svn-id: http://skia.googlecode.com/svn/trunk@11539 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-09-30 20:33:21 +00:00
bsalomon@google.com
b016f41c34 Reduce max number of textures to 4 to make room for a larger class id in effect key
git-svn-id: http://skia.googlecode.com/svn/trunk@11538 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-09-30 19:57:15 +00:00
commit-bot@chromium.org
234d4fba75 Mark when effects and programs have vertex code
Adds a 'hasVertexCode' method to GrEffect and a 'fHasVertexCode' field
to GrGLProgramDesc::KeyHeader. Also adds a GrVertexEffect class that
effects have to inherit from in order to set the 'hasVertexCode' flag
and be able to emit vertex code, and updates the existing effects to
use it as needed.

R=bsalomon@google.com

Author: cdalton@nvidia.com

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

git-svn-id: http://skia.googlecode.com/svn/trunk@11537 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-09-30 19:55:49 +00:00
commit-bot@chromium.org
3400f4b00a Add 3 color variant to gradient bench, include scale in name, add more benchs
R=reed@google.com

Author: bsalomon@google.com

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

git-svn-id: http://skia.googlecode.com/svn/trunk@11536 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-09-30 19:41:09 +00:00
mtklein@google.com
efcef6a7cb fix Android release builds
BUG=
R=djsollen@google.com

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

git-svn-id: http://skia.googlecode.com/svn/trunk@11535 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-09-30 19:23:05 +00:00
commit-bot@chromium.org
76eaf749cf Add a GrCustomCoordsTextureEffect class
Extracts a GrCustomCoordsTextureEffect class from
GrSimpleTextureEffect. This way there are no effects that can
conditionally require a vertex shader. They either always need one or
never do. Also removes kCustom_CoordsType from the CoordsType enum in
GrEffect (that enum is really only meant for coords provided by the
framework), and updates GrSimpleTextureEffect::TestCreate to make the
effect with position as well, instead of just local coords.

R=bsalomon@google.com

Author: cdalton@nvidia.com

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

git-svn-id: http://skia.googlecode.com/svn/trunk@11531 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-09-30 18:41:38 +00:00
commit-bot@chromium.org
1e10a9a207 quiet down more third-party warnings in poppler and jsoncpp
BUG=
R=djsollen@google.com

Author: mtklein@google.com

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

git-svn-id: http://skia.googlecode.com/svn/trunk@11530 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-09-30 18:19:26 +00:00
djsollen@google.com
06b7209ef7 remove unecessary warnings from third_party code
R=mtklein@google.com

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

git-svn-id: http://skia.googlecode.com/svn/trunk@11529 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-09-30 18:06:34 +00:00
commit-bot@chromium.org
6c5d9a1dff Add GrSurface::savePixels().
R=bsalomon@google.com

Author: jvanverth@google.com

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

git-svn-id: http://skia.googlecode.com/svn/trunk@11528 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-09-30 18:05:43 +00:00
mtklein@google.com
48f9e1f2c1 Add android_ninja, like android_make for ninja.
android_ninja {tests,bench,gm,bench_pictures,render_pictures} all build and run
fine.  They build so fast I thought maybe they were broken.

Note that android_ninja with no argument is failing:
    ninja: Entering directory `out/config/android-arm_v7_thumb/Debug'
    ninja: error: 'lib.target/libSampleApp.so', needed by 'android/libs/armeabi-v7a/libSampleApp.so', missing and no known rule to make it
Will look into this.

BUG=
R=djsollen@google.com

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

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

git-svn-id: http://skia.googlecode.com/svn/trunk@11527 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-09-30 17:32:09 +00:00
mtklein@google.com
741ea9e009 Revert "Add android_ninja, like android_make for ninja."
Broke some builds.  Will try again.

BUG=

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

git-svn-id: http://skia.googlecode.com/svn/trunk@11526 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-09-30 17:22:48 +00:00
mtklein@google.com
9eecef0744 Add android_ninja, like android_make for ninja.
android_ninja {tests,bench,gm,bench_pictures,render_pictures} all build and run
fine.  They build so fast I thought maybe they were broken.

Note that android_ninja with no argument is failing:
    ninja: Entering directory `out/config/android-arm_v7_thumb/Debug'
    ninja: error: 'lib.target/libSampleApp.so', needed by 'android/libs/armeabi-v7a/libSampleApp.so', missing and no known rule to make it
Will look into this.

BUG=
R=djsollen@google.com

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

git-svn-id: http://skia.googlecode.com/svn/trunk@11525 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-09-30 17:13:58 +00:00
epoger@google.com
4b00412a4c Ignore flaky shadertext2_pdf-poppler tests on Mac-10.7 Release builds
BUG=skia:1692
TBR=edisonn

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

git-svn-id: http://skia.googlecode.com/svn/trunk@11524 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-09-30 15:46:50 +00:00
commit-bot@chromium.org
410552a73d Move the GL shader compilation step into GrGLShaderBuilder
Moves the compilation step and a few other blocks of code from
GrGLProgram to GrGLShaderBuilder. This way GrGLProgram doesn't have to
know whether or not there is a vertex shader.

R=bsalomon@google.com

Author: cdalton@nvidia.com

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

git-svn-id: http://skia.googlecode.com/svn/trunk@11523 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-09-30 15:30:27 +00:00
commit-bot@chromium.org
a4acf12a93 Revert "Add a requiresVertexShader method to GrGLEffect"
This reverts commit 1a30a3af805b7ea688d4a0f0bfe373c204085a27. We're
going to take a different direction for vertexless shaders.

R=bsalomon@google.com

Author: cdalton@nvidia.com

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

git-svn-id: http://skia.googlecode.com/svn/trunk@11521 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-09-30 15:13:58 +00:00
epoger@google.com
afaad3dd70 HTTP GM results viewer: server now returns category summaries along with testData
(SkipBuildbotRuns)

R=borenet@google.com

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

git-svn-id: http://skia.googlecode.com/svn/trunk@11520 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-09-30 15:06:25 +00:00
epoger@google.com
5e49738c99 revert temporary r11517
Review URL: https://codereview.chromium.org/25215002

git-svn-id: http://skia.googlecode.com/svn/trunk@11518 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-09-30 07:01:55 +00:00
epoger@google.com
19fcd8e2ef gm: temporarily re-enable multiple rendermodes, to make sure they haven't regressed
Review URL: https://codereview.chromium.org/25213002

git-svn-id: http://skia.googlecode.com/svn/trunk@11517 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-09-30 06:29:19 +00:00
robertphillips@google.com
09bbb72eb9 More image rebaselines
https://codereview.chromium.org/25184002/



git-svn-id: http://skia.googlecode.com/svn/trunk@11516 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-09-29 17:57:36 +00:00
robertphillips@google.com
650ead2f1b Added SK_API to SkPathRef.h
git-svn-id: http://skia.googlecode.com/svn/trunk@11515 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-09-29 14:48:38 +00:00
skia.committer@gmail.com
50df4d013f Sanitizing source files in Housekeeper-Nightly
git-svn-id: http://skia.googlecode.com/svn/trunk@11513 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-09-28 07:01:33 +00:00