No diffs against head for DM --config 8888 gpu 2ndpic-8888 2ndpic-gpu.
picture_overhead_draw 1.62us -> 1.6us 0.99x
picture_overhead_nodraw 792ns -> 342ns 0.43x
tiles and serialization modes will also test this a bit.
BUG=chromium:470553
Review URL: https://codereview.chromium.org/1067893002
approx-match.
This revealed some further 0..1 texture coordinate
depedencies,specifically in SkDisplacementMapEffect and
SkXfermodeImageFilter, fixed through use of
GrTextureDomain.
Note: causes minor pixel diffs in pictureimagefilter,
testimagefilters GMs.
Also causes minor pixel diffs in some Blink layout tests,
suppressed here: https://codereview.chromium.org/1064943002
BUG=skia:3532
Review URL: https://codereview.chromium.org/1065683002
Since wide strings are only used in SkPDFDevice, I have moved the
function that manages them to that directory.
Motivation: The SkPDFString will be refactored later along with the
other SkPFObject heirarchy.
BUG=skia:3585
Review URL: https://codereview.chromium.org/1064013003
I'm going to start hacking on SkCanvas a bit to allow a fast reset method,
and I want to have some testing checking me.
BUG=skia:
Review URL: https://codereview.chromium.org/1062043004
On Mac, it appears that sometimes fonts created from data have
their table data used after the table data copy is freed.
This appears to be most common with 'sbix' fonts for some reason,
so pin that table while in use.
Review URL: https://codereview.chromium.org/1061123002
If no one has read the picture's unique ID, there's no point invalidating it.
This is the same trick we pull with SkPixelRefs.
Before:
26M 1 1.49µs 1.6µs 1.77µs 6.25µs 42% picture_overhead_draw
13M 32 742ns 749ns 756ns 823ns 2% picture_overhead_nodraw
After:
26M 1 1.27µs 1.33µs 1.49µs 5.51µs 45% picture_overhead_draw
14M 43 677ns 680ns 681ns 701ns 1% picture_overhead_nodraw
BUG=skia:
Review URL: https://codereview.chromium.org/1061283002
Reason for revert:
This appears to be breaking large text on Nexus 7.
Original issue's description:
> Calculate inverse scale for distance field text in vertex shader
>
> This is for the uniform scale case only. Using the dFdx() function on certain
> Mali GPUs causes issues because the precision is too low, so we have to
> compute 1/scale from the view matrix instead.
>
> BUG=skia:3528
>
> Committed: https://skia.googlesource.com/skia/+/5b143038cb47763974d2750ed78d436eb6c38beaTBR=bsalomon@google.com,joshualitt@google.com
NOPRESUBMIT=true
NOTREECHECKS=true
NOTRY=true
BUG=skia:3528
Review URL: https://codereview.chromium.org/1066613003
This is for the uniform scale case only. Using the dFdx() function on certain
Mali GPUs causes issues because the precision is too low, so we have to
compute 1/scale from the view matrix instead.
BUG=skia:3528
Review URL: https://codereview.chromium.org/1029423003
This is the same clamp we do in onCreateTexture() for Skia-native textures.
Without this fix, setting to a count higher than the max in Chrome results
in a black screen.
BUG=skia:
Review URL: https://codereview.chromium.org/1056253003
- It's no longer needed to help the (2011?) transition to SkAutoTUnref.
- It prevents us from making classes that go in SkAutoTUnrefs final,
i.e. all ref-counted classes.
This had better not have been public API...
TBR=reed@google.com
BUG=skia:
Review URL: https://codereview.chromium.org/1068443002
The file is expected to contain a list of strings. If the hash for
any result is in this file, don't write an image for it.
BUG=skia:3521
Review URL: https://codereview.chromium.org/1059363002
All platforms except android are configured to use the statically linked copy
of libpng. Android uses the system provided dynamic copy for SkImageDecoder
and the static copy for SkCodec. The exception being android framework builds
that currently use the dynamic copy everywhere.
This CL also enables NEON optimizations for libpng.
Review URL: https://codereview.chromium.org/1058823002
SkCodec::NewFromStream claims to delete the passed in SkStream on
failure. This allows the caller to pass an SkStream to the function
and not worry about deleting it depending on the return value.
Most of our SkCodecs did not honor this contract though. Update them
to delete the stream on failure. Further, update SkCodec::NewFromStream
to delete the stream if it did not match any subclass, and delete the
SkCodec if we decided to return NULL because it was too big.
Add a test which tests streams which represent the beginnings of
supported format types but do not contain enough data to create an
SkCodec. The interesting part of the test is when we run it on ASAN,
which will report that we leaked something without the other changes.
BUG=skia:3257
Review URL: https://codereview.chromium.org/1058873006