platform/upstream/libSkiaSharp.git
8 years agoRename SkBitmapProcStateAutoMapper methods
fmalita [Wed, 3 Feb 2016 18:21:33 +0000 (10:21 -0800)]
Rename SkBitmapProcStateAutoMapper methods

x(),y() -> fractionalIntX(), fractionalIntY()

(to clarify the return type)

Also add fixed & int helpers.

R=reed@google.com
GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1666433003
CQ_EXTRA_TRYBOTS=client.skia:Test-Ubuntu-GCC-GCE-CPU-AVX2-x86_64-Release-SKNX_NO_SIMD-Trybot

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

8 years agouse left-shift macro to fix/avoid undefined behvarior warnings
reed [Wed, 3 Feb 2016 18:16:08 +0000 (10:16 -0800)]
use left-shift macro to fix/avoid undefined behvarior warnings

motivated by https://codereview.chromium.org/1657333002/

BUG=skia:
GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1661873003

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

8 years agooptimize src mode (opaque src in srcover) singleton with aa (e.g. a8 text mask)
reed [Wed, 3 Feb 2016 18:09:22 +0000 (10:09 -0800)]
optimize src mode (opaque src in srcover) singleton with aa (e.g. a8 text mask)

Before:
   8/8   MB 1 9.09ms 10.8ms 10.3ms 11.5ms 9% █▆▆▁▁▁▂▅█▆ nonrendering xfer4f_srcover_aa_1_opaque_linear
   8/8   MB 1 10.2ms 12.1ms 11.7ms 13.2ms 9% ▅▇▁▂▁▄█▆▅▆ nonrendering xfer4f_srcover_aa_1_opaque_srgb

After:
   8/8   MB 1 1.6ms 1.68ms 1.73ms 2.17ms 10% ▄▄█▁▃▁▁▂▁▁ nonrendering xfer4f_srcover_aa_1_opaque_linear
   8/8   MB 1 3.13ms 3.62ms 3.97ms 5.81ms 21% █▃▁▂▆▂▂▂▃▂ nonrendering xfer4f_srcover_aa_1_opaque_srgb

BUG=skia:
GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1664713003

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

8 years agoMake helper function on GrGLSLProgramDataManager non virtual
egdaniel [Wed, 3 Feb 2016 17:52:51 +0000 (09:52 -0800)]
Make helper function on GrGLSLProgramDataManager non virtual

BUG=skia:
GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1663833002

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

8 years agoDisable RAW decodes on Windows
msarett [Wed, 3 Feb 2016 17:47:56 +0000 (09:47 -0800)]
Disable RAW decodes on Windows

BUG=skia:
GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1662643003

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

8 years agoextend gm to test aa[] parameter on xfer4f procs
reed [Wed, 3 Feb 2016 17:47:46 +0000 (09:47 -0800)]
extend gm to test aa[] parameter on xfer4f procs

BUG=skia:
GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1663643002

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

8 years agoAdd gpu implementation of SkAvoidXfermode
robertphillips [Wed, 3 Feb 2016 17:42:49 +0000 (09:42 -0800)]
Add gpu implementation of SkAvoidXfermode
GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1658623002

TBR=bsalomon@google.com

Committed: https://skia.googlesource.com/skia/+/15691a055db9b68c9b48f589e48d8a85888cf83f

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

8 years agoSupport decoding opaque to *premul
scroggo [Wed, 3 Feb 2016 17:42:42 +0000 (09:42 -0800)]
Support decoding opaque to *premul

If a client requests unpremul or premul from an opaque SkCodec,
support it. The opaque image can be treated as any of them, though
it will be less efficient to draw than if the client had used
opaque.

Change the filling code (i.e. for incomplete images) to base its color on
the source alpha type. Prior to adding the support to decode opaque to
any, it was fine to use either source or dest (which would have yielded
the same result). If the client requests non-opaque, we do not want this
to switch the fill value from black to transparent. This also allows
simplifying the signatures for getFillValue and onGetFillValue.

In CodexTest, expect the same result when decoding opaque to *premul,
and compare to the opaque version.

BUG=skia:4616
GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1641273003

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

8 years agoHack together MSAN build.
mtklein [Wed, 3 Feb 2016 17:21:44 +0000 (09:21 -0800)]
Hack together MSAN build.

  - Build our own: freetype.
  - Avoid using: fontconfig, expat, GPU drivers.
  - Lie about safety: libjpeg (only from src/images... need to in src/codec?)

To run:
  $ tools/xsan_build memory dm
  $ out/Debug/dm -v --match ~Codec ~BlurLargeImage ~FontMgrAndroidParser

Notes:
  - Codec triggers issues in piex.
  - BlurLargeImage probably has bugs in the GM only.
  - FontMgrAndroidParser uses expat.

BUG=skia:4550
GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1665823002

NOTREECHECKS=true

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

8 years agoRevert of Test CodecImageGenerator on GPU bots (patchset #1 id:1 of https://coderevie...
jcgregorio [Wed, 3 Feb 2016 16:31:07 +0000 (08:31 -0800)]
Revert of Test CodecImageGenerator on GPU bots (patchset #1 id:1 of https://codereview.chromium.org/1663453002/ )

Reason for revert:
Failures:
D/skia    ( 3581):  gpu image gen frame_larger_than_image.gif: Could not create a surface.
D/skia    ( 3581):  gpu image gen offsets_too_large.gif: Could not create a surface.
D/skia    ( 3581):  gpu image gen PANO_20121023_214540.jpg: Could not create a surface.
D/skia    ( 3581):  gpu image gen interlaced1.png: Could not create a surface.
D/skia    ( 3581):  gpu image gen interlaced2.png: Could not create a surface.
D/skia    ( 3581):  gpu image gen interlaced3.png: Could not create a surface.
D/skia    ( 3581):  gpu image gen Canon_5D2.dng: Could not create a surface.
D/skia    ( 3581):  gpu image gen Fuji_X20.dng: Could not create a surface.
D/skia    ( 3581):  gpu image gen HTC.dng: Could not create a surface.
D/skia    ( 3581):  gpu image gen lg_g4_iso_800.dng: Could not create a surface.
D/skia    ( 3581):  gpu image gen Canon_G7X.CR2: Could not create a surface.
D/skia    ( 3581):  gpu image gen Pentax_K5.DNG: Could not create a surface.
D/skia    ( 3581):  gpu image gen Nikon_1AW1.NEF: Could not create a surface.
D/skia    ( 3581):  gpu image gen Nikon_1J4.NEF: Could not create a surface.
D/skia    ( 3581):  gpu image gen Nikon_P330.NRW: Could not create a surface.
D/skia    ( 3581):  gpu image gen Olympus_E-PL3.ORF: Could not create a surface.
D/skia    ( 3581):  gpu image gen Olympus_PL7.ORF: Could not create a surface.
D/skia    ( 3581):  gpu image gen Pentax_K5.PEF: Could not create a surface.
D/skia    ( 3581):  gpu image gen Samsung_NX3000.SRW: Could not create a surface.

Original issue's description:
> Test CodecImageGenerator on GPU bots
>
> In crrev.com/1549473003, CodecImageGenerator implemented getYUV8Planes,
> so that we can test on a GPU bot. Update the arguments to DM so that
> we run CodecImageGenerator on GPU bots.
> GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1663453002
>
> Committed: https://skia.googlesource.com/skia/+/c9715406c4c9c995e5661a4ea2188fb8643845c0

TBR=msarett@google.com,scroggo@google.com
# Skipping CQ checks because original CL landed less than 1 days ago.
NOPRESUBMIT=true
NOTREECHECKS=true
NOTRY=true

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

8 years agoAdd SkMSAN.h
mtklein [Wed, 3 Feb 2016 15:25:02 +0000 (07:25 -0800)]
Add SkMSAN.h

This lets us tag up pieces of code as requiring initialized inputs.

Almost all code requires initialized inputs, of course.  This is for
code that works correctly with uninitialized data but triggers false
positive warnings in MSAN.  E.g., imagine MSAN's found use of uninitialized
data in this max function:

  static uint8_t max(uint8_t x, uint8_t y) { return x > y ? x : y; }

There's no bug in here... if there's uninitialized data being branched upon
here for the first time, it's sure not max's fault, it's its caller's fault.

So we might do this:
  static uint8_t max(uint8_t x, uint8_t y) {
      // This function uses branching, so if MSAN finds a problem here,
      // we can assert x and y are initialized.  This will remind us the
      // problem somewhere in the caller or above, not here.
      sk_msan_assert_initialized(&x, &x+1);
      sk_masn_assert_initialized(&y, &y+1);
      return x > y ? x : y;
  }

By allowing code to assert its inputs must be initialized,
we can make the blame for use of uninitialized data more clear.

(Sometimes we have another option, to rewrite the code to avoid branching:
  static uint8_t max(uint8_t x, uint8_t y) {
      // This function is branchfree, so MSAN won't complain here.
      // No real need to assert anything as requiring initialization.
      int diff = x - y;
      int negative = diff >> (sizeof(int)*8 - 1);
      return (y & negative) | (x & ~negative);
  }
These approaches to fixing MSAN false positives are orthogonal.)

BUG=chromium:574114
GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1658913005
CQ_EXTRA_TRYBOTS=client.skia:Test-Ubuntu-GCC-GCE-CPU-AVX2-x86_64-Release-SKNX_NO_SIMD-Trybot

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

8 years agoAdd option to specify a font collection when creating a
kulshin [Wed, 3 Feb 2016 15:22:52 +0000 (07:22 -0800)]
Add option to specify a font collection when creating a
DirectWrite font manager.

The corresponding Chromium change can be found at
https://codereview.chromium.org/1591883002/ .

TBR=reed
This is a trivial and long planned addition to the API.

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

8 years agoDo not upload to trusted partner's bucket if it is a dry run
rmistry [Wed, 3 Feb 2016 15:08:02 +0000 (07:08 -0800)]
Do not upload to trusted partner's bucket if it is a dry run

BUG=skia:3751
GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1665803002

# Trybots do not exercise this code.
NOTRY=true

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

8 years agoAlways build our own zlib.
mtklein [Wed, 3 Feb 2016 15:06:27 +0000 (07:06 -0800)]
Always build our own zlib.

If we want to have an MSAN build, it'll help if we can build our own zlib
so that it's instrumented by MSAN.

Today we build our own zlib on Windows, but require the system to provide it
elsewhere.  This just makes everyone build it (except Android framework of course).

This drops the SIMD files.  They're only used to accelerate deflate
(compression), so they're not terribly interesting to us.  Again, this only
really changes compression speed on Windows bots... pretty niche.

BUG=skia:
GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1665843002

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

8 years agoRevert of Add gpu implementation of SkAvoidXfermode (patchset #10 id:170001 of https...
mtklein [Wed, 3 Feb 2016 14:42:16 +0000 (06:42 -0800)]
Revert of Add gpu implementation of SkAvoidXfermode (patchset #10 id:170001 of https://codereview.chromium.org/1658623002/ )

Reason for revert:
shader compilation failures

error C1008: undefined variable "null"

https://uberchromegw.corp.google.com/i/client.skia/builders/Test-Ubuntu-GCC-ShuttleA-GPU-GTX660-x86_64-Debug/builds/4064/steps/dm/logs/stdio

Original issue's description:
> Add gpu implementation of SkAvoidXfermode
> GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1658623002
>
> TBR=bsalomon@google.com
>
> Committed: https://skia.googlesource.com/skia/+/15691a055db9b68c9b48f589e48d8a85888cf83f

TBR=egdaniel@google.com,bsalomon@google.com,robertphillips@google.com
# Skipping CQ checks because original CL landed less than 1 days ago.
NOPRESUBMIT=true
NOTREECHECKS=true
NOTRY=true

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

8 years agoTest CodecImageGenerator on GPU bots
scroggo [Wed, 3 Feb 2016 14:23:06 +0000 (06:23 -0800)]
Test CodecImageGenerator on GPU bots

In crrev.com/1549473003, CodecImageGenerator implemented getYUV8Planes,
so that we can test on a GPU bot. Update the arguments to DM so that
we run CodecImageGenerator on GPU bots.
GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1663453002

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

8 years agoFix delete_path in webpages_playback.py
rmistry [Wed, 3 Feb 2016 13:58:31 +0000 (05:58 -0800)]
Fix delete_path in webpages_playback.py

BUG=skia:3751
GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1662673003

# Trybots do not exercise this code.
NOTRY=true

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

8 years agoUse SkBitmapProcStateAutoMapper for filter samplers also
fmalita [Wed, 3 Feb 2016 13:44:21 +0000 (05:44 -0800)]
Use SkBitmapProcStateAutoMapper for filter samplers also

Observation: filter procs are also biased by s.fFilterOne{X,Y} / 2.  They all do
something along these lines:

  s.fInvProc(s.fInvMatrix,
    SkIntToScalar(x) + SK_ScalarHalf,
    SkIntToScalar(y) + SK_ScalarHalf, &srcPt);

  SkFixed fx = SkScalarToFixed(srcPt.fX) - (s.fFilterOneX >> 1);
  SkFixed fy = SkScalarToFixed(srcPt.fY) - (s.fFilterOneX >> 1);

It's trivial to extend SkBitmapProcStateAutoMapper to handle this internally, and
convert everyone off explicit mapping.

R=reed@google.com
GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1661613002
CQ_EXTRA_TRYBOTS=client.skia:Test-Ubuntu-GCC-GCE-CPU-AVX2-x86_64-Release-SKNX_NO_SIMD-Trybot

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

8 years agoAdd gpu implementation of SkAvoidXfermode
robertphillips [Wed, 3 Feb 2016 13:20:09 +0000 (05:20 -0800)]
Add gpu implementation of SkAvoidXfermode
GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1658623002

TBR=bsalomon@google.com

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

8 years agoDelete skp dir in partner bucket before uploading
rmistry [Wed, 3 Feb 2016 12:27:54 +0000 (04:27 -0800)]
Delete skp dir in partner bucket before uploading

BUG=skia:3751
GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1660363002

# Trybots do not exercise this code.
NOTRY=true
TBR=borenet

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

8 years agoUpdate the dng_sdk version. The new version handles the posix_memalign() better
yujieqin [Wed, 3 Feb 2016 08:50:10 +0000 (00:50 -0800)]
Update the dng_sdk version. The new version handles the posix_memalign() better
Remove the '-DNO_POSIX_MEMALIGN'
With this change, most new Android (API>=17) should be able to use posix_memalign()

BUG=skia:
GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1655933002

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

8 years agoTemplatize GrNonAtomicRef
cdalton [Wed, 3 Feb 2016 06:46:16 +0000 (22:46 -0800)]
Templatize GrNonAtomicRef

Templatizes GrNonAtomicRef so it does not necessarily require a virtual
destructor. This also gives us the flexibility to specialize how
different types get deleted.

BUG=skia:
GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1664613002

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

8 years agoFix for rounded-rect clips with filters.
senorblanco [Wed, 3 Feb 2016 02:44:15 +0000 (18:44 -0800)]
Fix for rounded-rect clips with filters.

Don't use the base canvas size to limit raster of complex clips, since
the top canvas size may actually be larger (e.g., a blur filter which
expands the clip bounds to accommodate filter margins). Use the top
canvas bounds instead.

BUG=skia:4879,471212
GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1657333002

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

8 years agoRevert of Move Google3-specific stack limitation logic to template classes. Remove...
benjaminwagner [Wed, 3 Feb 2016 00:01:39 +0000 (16:01 -0800)]
Revert of Move Google3-specific stack limitation logic to template classes. Remove #ifdefs in other files. (patchset #2 id:50001 of https://codereview.chromium.org/1656143003/ )

Reason for revert:
See https://codereview.chromium.org/1665603002

Original issue's description:
> Move Google3-specific stack limitation logic to template classes. Remove #ifdefs in other files.
>
> Does not change the public API.
>
> TBR=reed
> GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1656143003
>
> Committed: https://skia.googlesource.com/skia/+/c92159c8250c62cc47b7b63686538d61d54d2835

TBR=mtklein@google.com,reed@google.com
# Skipping CQ checks because original CL landed less than 1 days ago.
NOPRESUBMIT=true
NOTREECHECKS=true
NOTRY=true

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

8 years agoRecreate SKPs in a single directory for trusted partners.
rmistry [Tue, 2 Feb 2016 21:55:38 +0000 (13:55 -0800)]
Recreate SKPs in a single directory for trusted partners.

Context: https://bugs.chromium.org/p/skia/issues/detail?id=3751#c15

BUG=skia:3751
GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1662693002

# Trybots do not run this code
NOTRY=true
TBR=borenet

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

8 years agoSSSE3 optimizations for gray -> RGBA (or BGRA)
msarett [Tue, 2 Feb 2016 21:41:03 +0000 (13:41 -0800)]
SSSE3 optimizations for gray -> RGBA (or BGRA)

Swizzle Bench Runtime
Dell Venue 8 0.16x
HP z620      0.47x

PNG Decode Time (for test set of gray encoded PNGs)
Dell Venue 8 0.80x
HP z620      0.96x

BUG=skia:4767
GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1657393002
CQ_EXTRA_TRYBOTS=client.skia:Test-Ubuntu-GCC-GCE-CPU-AVX2-x86_64-Release-SKNX_NO_SIMD-Trybot

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

8 years agoModify skiaserve to support downloads
joshualitt [Tue, 2 Feb 2016 21:02:33 +0000 (13:02 -0800)]
Modify skiaserve to support downloads

BUG=skia:
GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1657403002

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

8 years agoNEON optimizations for gray -> RGBA (or BGRA) conversions
msarett [Tue, 2 Feb 2016 20:59:45 +0000 (12:59 -0800)]
NEON optimizations for gray -> RGBA (or BGRA) conversions

Swizzle Bench Runtime
Nexus 6P 0.32x
Nexus 9  0.89x

PNG Decode Time (for test set of gray encoded PNGs)
Nexus 6P 0.88x
Nexus 9  0.91x

BUG=skia:4767
GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1656383002
CQ_EXTRA_TRYBOTS=client.skia:Test-Ubuntu-GCC-GCE-CPU-AVX2-x86_64-Release-SKNX_NO_SIMD-Trybot

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

8 years agoMove Google3-specific stack limitation logic to template classes. Remove #ifdefs...
benjaminwagner [Tue, 2 Feb 2016 20:48:13 +0000 (12:48 -0800)]
Move Google3-specific stack limitation logic to template classes. Remove #ifdefs in other files.

Does not change the public API.

TBR=reed
GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1656143003

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

8 years agoUpdate SK_IMAGE_VERSION to test RAW
scroggo [Tue, 2 Feb 2016 19:56:33 +0000 (11:56 -0800)]
Update SK_IMAGE_VERSION to test RAW

Bump SK_IMAGE_VERSION to test the images in v2 in GoogleStorage, which
includes the images from v1 plus test images for SkRawCodec.

Only define skia_decodes_raw on platforms that support it, rather than
defining it always and checking additional conditions to determine
whether to support raw. Further, define it and SK_CODEC_DECODES_RAW
for all targets, so we can use the compile flag in other targets.

In DM, exclude the raw extensions if SK_CODEC_DECODES_RAW is not defined.

Blacklist raw extensions on NexusPlayer, which was running out of memory
when running them.

BUG=skia:4829

GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1612113002

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

8 years agoModify skiaserve to support drawTo
joshualitt [Tue, 2 Feb 2016 19:07:39 +0000 (11:07 -0800)]
Modify skiaserve to support drawTo

BUG=skia:
GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1651403003

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

8 years agounroll srcover_1 for blending a single color
reed [Tue, 2 Feb 2016 19:00:55 +0000 (11:00 -0800)]
unroll srcover_1 for blending a single color

Before:
curr/maxrss loops min median mean max stddev samples    config bench
   8/8   MB 1 1.59ms 1.82ms 1.89ms 2.59ms 14% ▁█▃▃▃▃▃▃▃▃ nonrendering xfer4f_srcover_1_alpha_linear
   8/8   MB 1 3.25ms 4.25ms 4.16ms 5.87ms 21% ▁▅▂▁▁▄█▄▅▂ nonrendering xfer4f_srcover_1_alpha_srgb

After:
curr/maxrss loops min median mean max stddev samples    config bench
   8/8   MB 1 915µs 915µs 946µs 1.02ms 4% █▄▇▁▁▁▆▁▁▁ nonrendering xfer4f_srcover_1_alpha_linear
   8/8   MB 1 2.69ms 3.08ms 3.03ms 3.63ms 10% ▁▃▂▁▁█▄▄▄▆ nonrendering xfer4f_srcover_1_alpha_srgb

BUG=skia:
GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1653943002

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

8 years agoFix SampleApp instructions in the Windows quick-start
brianosman [Tue, 2 Feb 2016 18:59:30 +0000 (10:59 -0800)]
Fix SampleApp instructions in the Windows quick-start

BUG=skia:
GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1661553002
NOTRY=true
DOCS_PREVIEW= https://skia.org/?cl=1661553002

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

8 years agoRemove SK_SUPPORT_LEGACY_SAMPLER_BIAS
fmalita [Tue, 2 Feb 2016 18:41:35 +0000 (10:41 -0800)]
Remove SK_SUPPORT_LEGACY_SAMPLER_BIAS

The guard has been removed from Chromium, this is now dead code.

TBR=reed@google.com,caryclark@google.com
GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1658563002

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

8 years agoSampler bias for all nofilter flavors
fmalita [Tue, 2 Feb 2016 18:17:24 +0000 (10:17 -0800)]
Sampler bias for all nofilter flavors

Instead of a piecemeal approach to sampler bias (http://crrev.com/1642273002,
http://crrev.com/1539083002), audit all nofilter procs (grep "fInvProc(")
and convert them to SkBitmapProcStateAutoMapper.

GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1656833002
CQ_EXTRA_TRYBOTS=client.skia:Test-Ubuntu-GCC-GCE-CPU-AVX2-x86_64-Release-SKNX_NO_SIMD-Trybot
R=reed@google.com

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

8 years agoincrease inner-loop for xfer4 benches to reduce variance
reed [Tue, 2 Feb 2016 17:27:35 +0000 (09:27 -0800)]
increase inner-loop for xfer4 benches to reduce variance

BUG=skia:
GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1653143004

TBR=

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

8 years agosupport for more features when rendering to/from JSON
ethannicholas [Tue, 2 Feb 2016 16:36:58 +0000 (08:36 -0800)]
support for more features when rendering to/from JSON
GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1662503003

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

8 years agoFix printfs for Windows and undo speculative test disable
Brian Salomon [Tue, 2 Feb 2016 16:34:46 +0000 (11:34 -0500)]
Fix printfs for Windows and undo speculative test disable

TBR=robertphillips@google.com
GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1662533002

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

8 years agoAvoid too small reads to bufferMoreData()
yujieqin [Tue, 2 Feb 2016 16:09:07 +0000 (08:09 -0800)]
Avoid too small reads to bufferMoreData()

BUG=skia:
GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1644893003

Committed: https://skia.googlesource.com/skia/+/fd918e8c739065fa467cf6614181d3a2c5dcadcb

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

8 years agofix skiaserve crash
joshualitt [Tue, 2 Feb 2016 15:37:21 +0000 (07:37 -0800)]
fix skiaserve crash

BUG=skia:
GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1659703004

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

8 years agocleanup of skia serve url handling
joshualitt [Tue, 2 Feb 2016 15:16:24 +0000 (07:16 -0800)]
cleanup of skia serve url handling

BUG=skia:
GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1653203002

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

8 years agoFix fuzzer-found deserialization bug in SkPathRef
ajuma [Tue, 2 Feb 2016 14:14:47 +0000 (06:14 -0800)]
Fix fuzzer-found deserialization bug in SkPathRef

This fixes a bug in SkPathRef::CreateFromBuffer found by
fuzzing SkPaintImageFilter.

BUG=582705
GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1653003004

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

8 years agoRevert of Avoid too small reads to bufferMoreData() (patchset #4 id:60001 of https...
jcgregorio [Tue, 2 Feb 2016 13:36:34 +0000 (05:36 -0800)]
Revert of Avoid too small reads to bufferMoreData() (patchset #4 id:60001 of https://codereview.chromium.org/1644893003/ )

Reason for revert:
Crashed both Nexus 5s:

  https://build.chromium.org/p/client.skia.android/builders/Perf-Android-GCC-Nexus5-CPU-NEON-Arm7-Release/builds/3355
https://build.chromium.org/p/client.skia.android/builders/Perf-Android-GCC-Nexus5-CPU-NEON-Arm7-Release/builds/3354

Original issue's description:
> Avoid too small reads to bufferMoreData()
>
> BUG=skia:
> GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1644893003
>
> Committed: https://skia.googlesource.com/skia/+/fd918e8c739065fa467cf6614181d3a2c5dcadcb

TBR=msarett@google.com,scroggo@google.com,yujieqin@google.com
# Skipping CQ checks because original CL landed less than 1 days ago.
NOPRESUBMIT=true
NOTREECHECKS=true
NOTRY=true
BUG=skia:

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

8 years agoAvoid too small reads to bufferMoreData()
yujieqin [Tue, 2 Feb 2016 09:21:35 +0000 (01:21 -0800)]
Avoid too small reads to bufferMoreData()

BUG=skia:
GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1644893003

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

8 years agoSpeculative fix for windows builders
Brian Salomon [Mon, 1 Feb 2016 23:41:58 +0000 (18:41 -0500)]
Speculative fix for windows builders

TBR=robertphillips@google.com
GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1651303002

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

8 years agoDisable test that is breaking Android and Windows bots.
Brian Salomon [Mon, 1 Feb 2016 21:44:22 +0000 (16:44 -0500)]
Disable test that is breaking Android and Windows bots.
GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1654283002
BUG=skia:

R=robertphillips@google.com

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

8 years agoAdd ability to extract YUV planes from SkImage
bsalomon [Mon, 1 Feb 2016 21:16:14 +0000 (13:16 -0800)]
Add ability to extract YUV planes from SkImage

GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1513393002

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

8 years agoFix GL readback code to handle rowbytes correctly for non-32bit formats
bsalomon [Mon, 1 Feb 2016 20:49:30 +0000 (12:49 -0800)]
Fix GL readback code to handle rowbytes correctly for non-32bit formats

Update tests to exercise more rowbytes.

BUG=skia:
GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1645043006

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

8 years agoLook beyond SSE2 for Paeth
mtklein [Mon, 1 Feb 2016 20:20:33 +0000 (12:20 -0800)]
Look beyond SSE2 for Paeth

You can break this CL down into three steps.  Steps 2 and 3 depend on 1.

    Step 1: go to a 16-bit impl.  Speed ~unaffected.
    Step 2: use SSSE3 16-bit abs.  ~20% speedup to Paeth.
    Step 3: use SSE4.1 blendv, total ~25% speedup to Paeth.

Overall this can improve PNG decoding by around 8% end-to-end.

I would feel most comfortable landing this only after we have a bot exercising the SSE4.1 code, either by moving this stuff behind a function pointer (simulating Chrome/Clank) or by adding a builder with at least SSE4.1 at compile time (simulating an Android system build).  We've got plenty of bots building with SSSE3 at compile time to test that path.

BUG=skia:
GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dimage&master=false&issue=1657503002

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

8 years agoMove SkColorMatrixFilter implementation to core.
bsalomon [Mon, 1 Feb 2016 20:09:07 +0000 (12:09 -0800)]
Move SkColorMatrixFilter implementation to core.

GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1648933002

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

8 years agoadded a default constructor for GrBatchToXPOverrides
ethannicholas [Mon, 1 Feb 2016 19:45:45 +0000 (11:45 -0800)]
added a default constructor for GrBatchToXPOverrides
GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1657803002

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

8 years agoFix zero-sized blur with crop rect.
senorblanco [Mon, 1 Feb 2016 18:32:42 +0000 (10:32 -0800)]
Fix zero-sized blur with crop rect.

Neither the GPU nor CPU paths were correctly handling the crop rect
in this case.

NOTE: this change adds a new test case to the imageblurcropped GM, so
it will have to be rebaselined.

BUG=skia:4876
GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1657773002

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

8 years agoUpload SKPs to chrome-partner-telemetry
rmistry [Mon, 1 Feb 2016 18:27:05 +0000 (10:27 -0800)]
Upload SKPs to chrome-partner-telemetry

Context:
https://bugs.chromium.org/p/skia/issues/detail?id=3751#c4
and
https://bugs.chromium.org/p/skia/issues/detail?id=3751#c6

BUG=skia:3751

# Trybots do not run this code.
NOTRY=true
GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1658653002

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

8 years agoSkPictureShader cleanup
fmalita [Mon, 1 Feb 2016 17:19:49 +0000 (09:19 -0800)]
SkPictureShader cleanup

Minor cleanup following http://crrev.com/1405103003.

R=reed@google.com
GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1652943002

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

8 years agoAdd dm to DM_INCLUDES to fix Google3 build.
benjaminwagner [Mon, 1 Feb 2016 17:05:08 +0000 (09:05 -0800)]
Add dm to DM_INCLUDES to fix Google3 build.

It seems that #including a file in the same directory works without the directory being in INCLUDES, but https://codereview.chromium.org/1631053003 #included DMGpuSupport.h from a test.

BUG=skia:
GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1657703002

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

8 years agoMake fuzz broadcast when it terminates via return.
kjlubick [Mon, 1 Feb 2016 16:23:50 +0000 (08:23 -0800)]
Make fuzz broadcast when it terminates via return.

This helps analysis figure out things like timeouts and unexpected, uncaught
exits.

TBR=mtkelin@google.com
BUG=skia:4438
GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1657743002

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

8 years agofix for GrPorterDuffTest valgrind error
ethannicholas [Mon, 1 Feb 2016 16:07:39 +0000 (08:07 -0800)]
fix for GrPorterDuffTest valgrind error

BUG=skia:4875
TBR=bsalomon@google.com
GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1656873002

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

8 years agoA variety of SkPngCodec clean-ups
msarett [Mon, 1 Feb 2016 16:03:29 +0000 (08:03 -0800)]
A variety of SkPngCodec clean-ups

(1) Remove #ifdefs that extend support to > 1.2.
Using nullptr everywhere should work on all versions.

(2) Use png_get_valid(tRNS) to check for transparency
It does the same thing we were doing previously in less
work.

(3) Remove image size check
Clients allocate their own memory, and they have the option
to perform scaled and partial decodes.  So we don't need
to arbitrarily fail on large images.

(4) Remove FIXME for subsitute trans color
libpng is already doing this for us.

(5) Remove #ifdef PNG_READ_PACK_SUPPORTED
We don't have a fallback, so we'll fail to compile if this
isn't supported.

BUG=skia:
GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1643623004
CQ_EXTRA_TRYBOTS=client.skia:Test-Ubuntu-GCC-GCE-CPU-AVX2-x86_64-Release-SKNX_NO_SIMD-Trybot

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

8 years agoReplace the id<-->key hashmap in SkImageFilter by a SkTArray
xidachen [Mon, 1 Feb 2016 13:27:16 +0000 (05:27 -0800)]
Replace the id<-->key hashmap in SkImageFilter by a SkTArray

In the current implementation, SkImageFilter::Cache maintains a hash map
that maps SkImageFilter's uniqueID to an array of keys, and its purpose
is to remove the values in Cache that are associated with this array of
keys that are indexed by uniqueID. However, maintaining this hash map
causes perf regression to smoothness.tough_filters_cases.

This CL removes the id<-->key hashmap. Instead, we maintain an array of
keys in SkImageFilter. Whenever there is a new key, we push it into the
array. In ~SkImageFilter(), we call Cache::purgeByKeys to remove all the
values that are associated with the keys that are maintained by SkImageFilter.

BUG=571655
GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1651433002

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

8 years agoMove SkPixelXorXfermode.h to include/client/android
robertphillips [Mon, 1 Feb 2016 12:54:14 +0000 (04:54 -0800)]
Move SkPixelXorXfermode.h to include/client/android

This intended to make clients aware that the SkPixelXorXfermode is Android-specific

This needs to land after the Chromium CL https://codereview.chromium.org/1647953006/ (Add include/client/android to skia .gn & .gypi files)

GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1645093002

Committed: https://skia.googlesource.com/skia/+/aa9cb62901075e9d2858353cb041e5e6d4719614

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

8 years agoFix S32_D32_constX_shaderproc assert
fmalita [Mon, 1 Feb 2016 12:48:39 +0000 (04:48 -0800)]
Fix S32_D32_constX_shaderproc assert

After https://crrev.com/1642273002, fFilterOneY includes a rounding bias
which is not accounted for in the debug-mode S32_D32_constX_shaderproc
check.

Update the S32_D32_constX_shaderproc assert to use the (biased)
SkBitmapProcStateAutoMapper utility.

GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1655823002
R=reed@google.com
BUG=skia:4874

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

8 years agobatch merge new edges
caryclark [Mon, 1 Feb 2016 12:34:57 +0000 (04:34 -0800)]
batch merge new edges

Find where newly introduced edges go in the edge list once,
then stitch all of them into the edge list.

R=reed@google.com
BUG=573166
GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1647223002

Committed: https://skia.googlesource.com/skia/+/ae658e15477df86d1a864feb48d0274af2784f40

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

8 years agoSuppress SkBitmapProcState assert temporarily
fmalita [Mon, 1 Feb 2016 11:20:27 +0000 (03:20 -0800)]
Suppress SkBitmapProcState assert temporarily

TBR=jcgregorio@google.com,reed@google.com
BUG=skia:4874
GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1658573002

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

8 years agoOnly define NO_POSIX_MEMALIGN for arm
yujieqin [Mon, 1 Feb 2016 10:56:40 +0000 (02:56 -0800)]
Only define NO_POSIX_MEMALIGN for arm

BUG=skia:
GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1647893003

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

8 years agoRemove SkDEPRECATED_InstallDiscardablePixelRef from SkPictureShader
fmalita [Mon, 1 Feb 2016 10:34:03 +0000 (02:34 -0800)]
Remove SkDEPRECATED_InstallDiscardablePixelRef from SkPictureShader

Use an SkImage generator/shader instead.

R=reed@google.com

Committed: https://skia.googlesource.com/skia/+/fa694ad067976a5b713eec0b6f92ba5efeb0aa9d

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

8 years agoSkNx Load/store: take any pointer.
mtklein [Sun, 31 Jan 2016 16:02:47 +0000 (08:02 -0800)]
SkNx Load/store: take any pointer.

This means we can remove a lot of explicit casts in code that uses SkNx.

BUG=skia:
GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1650653002
CQ_EXTRA_TRYBOTS=client.skia:Test-Ubuntu-GCC-GCE-CPU-AVX2-x86_64-Release-SKNX_NO_SIMD-Trybot

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

8 years agoUpdate SKP version
update-skps [Sun, 31 Jan 2016 08:30:55 +0000 (00:30 -0800)]
Update SKP version

Automatic commit by the RecreateSKPs bot.

TBR=
NO_MERGE_BUILDS
GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1651803002

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

8 years agoRemove SkBitmapProcStateAutoMapper's overflow check
fmalita [Sun, 31 Jan 2016 02:56:34 +0000 (18:56 -0800)]
Remove SkBitmapProcStateAutoMapper's overflow check

(follow-up to https://codereview.chromium.org/1642273002)

Add an optional SkPoint outparam, and relocate the overflow check to
the only client which needs it.

R=reed@google.com
GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1650403002

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

8 years agofloat components in xfermodes
reed [Sun, 31 Jan 2016 02:52:31 +0000 (18:52 -0800)]
float components in xfermodes

BUG=skia:
GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1623483002

TBR=mtklein

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

8 years agocombine vertical overlapping edges
caryclark [Sat, 30 Jan 2016 22:07:20 +0000 (14:07 -0800)]
combine vertical overlapping edges

Paths outside clips, and sometimes paths inside clips, devolve
to multiple adjacent or overlapping vertical edges. Combine
these edges when possible to reduce the overall edge count.

R=reed@google.com
BUG=573166
GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1654433002

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

8 years agoRevert of batch merge new edges (patchset #1 id:1 of https://codereview.chromium...
msarett [Sat, 30 Jan 2016 18:16:31 +0000 (10:16 -0800)]
Revert of batch merge new edges (patchset #1 id:1 of https://codereview.chromium.org/1647223002/ )

Reason for revert:
Breaks the roll.

Original issue's description:
> batch merge new edges
>
> Find where newly introduced edges go in the edge list once,
> then stitch all of them into the edge list.
>
> R=reed@google.com
> BUG=573166
> GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1647223002
>
> Committed: https://skia.googlesource.com/skia/+/ae658e15477df86d1a864feb48d0274af2784f40

TBR=reed@google.com,caryclark@google.com
# Skipping CQ checks because original CL landed less than 1 days ago.
NOPRESUBMIT=true
NOTREECHECKS=true
NOTRY=true
BUG=573166

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

8 years agoadd new tests
caryclark [Sat, 30 Jan 2016 18:11:21 +0000 (10:11 -0800)]
add new tests

These tests are for upcoming changes to optimize
the path edge list.

TBR=reed@google.com
BUG=573166
GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1651573002

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

8 years agoAdd sampler bias for the nofilter/translate specializations
fmalita [Sat, 30 Jan 2016 18:06:46 +0000 (10:06 -0800)]
Add sampler bias for the nofilter/translate specializations

Convert SkBitmapProcState::setupForTranslate() to use
SkBitmapProcStateAutoMapper.  This adds bias for the translate procs:
Clamp_S32_D32_nofilter_trans_shaderproc,
Repeat_S32_D32_nofilter_trans_shaderproc

Since the original impl checks for int overflow, extend
SkBitmapProcStateAutoMapper to detect this condition.

BUG=chromium:581870
R=reed@google.com
GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1642273002

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

8 years agoUse proper row step in SkRawCodec
scroggo [Sat, 30 Jan 2016 18:06:11 +0000 (10:06 -0800)]
Use proper row step in SkRawCodec
GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1643373002

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

8 years agoAdd SkImage factory method that forces image to be resolved to a texture.
bsalomon [Sat, 30 Jan 2016 18:01:40 +0000 (10:01 -0800)]
Add SkImage factory method that forces image to be resolved to a texture.
GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1631053003

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

8 years agoallow the caller to specified raster-surface rowbytes.
reed [Sat, 30 Jan 2016 18:01:06 +0000 (10:01 -0800)]
allow the caller to specified raster-surface rowbytes.
along the way, simplify how we copy the surface's bitmap

BUG=skia:
GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1643873002

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

8 years agobatch merge new edges
caryclark [Sat, 30 Jan 2016 17:59:18 +0000 (09:59 -0800)]
batch merge new edges

Find where newly introduced edges go in the edge list once,
then stitch all of them into the edge list.

R=reed@google.com
BUG=573166
GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1647223002

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

8 years agoadded support for PLS path rendering
ethannicholas [Sat, 30 Jan 2016 17:59:10 +0000 (09:59 -0800)]
added support for PLS path rendering

BUG=skia:3555
GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1541903002

Committed: https://skia.googlesource.com/skia/+/7df3f5e127f8016d17b637cc48a6a4718f1a6822

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

8 years agoRevert of Treat bad values passed to --images as a fatal error (patchset #17 id:32000...
scroggo [Fri, 29 Jan 2016 22:41:55 +0000 (14:41 -0800)]
Revert of Treat bad values passed to --images as a fatal error (patchset #17 id:320001 of https://codereview.chromium.org/1611323004/ )

Reason for revert:
Speculative to fix windows bots

Original issue's description:
> Treat bad values passed to --images as a fatal error
>
> If an option is passed to --images that is either a non-existent path or
> a folder with no images matching the supported types, assume this is
> an error and exit, so they can supply a valid path instead.
>
> Share code between DM and nanobench in SkCommonFlags.
>
> nanobench now behaves more like DM - it will check a directory for
> images that match the supported extensions.
>
> Only consider image paths ending in RAW suffixes as images if
> SK_CODE_DECODES_RAW is defined. This prevents us from seeing failure
> to decode errors on platforms that cannot decode it.
>
> GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1611323004
>
> Committed: https://skia.googlesource.com/skia/+/7579786f3bd5a8fda84a1abc45b16213c3371f93

TBR=mtklein@google.com,borenet@google.com,msarett@google.com

NOPRESUBMIT=true
NOTREECHECKS=true
NOTRY=true
# Not skipping CQ checks because original CL landed more than 1 days ago.

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

8 years agoRevert of Update SK_IMAGE_VERSION to test RAW (patchset #1 id:1 of https://codereview...
scroggo [Fri, 29 Jan 2016 22:32:32 +0000 (14:32 -0800)]
Revert of Update SK_IMAGE_VERSION to test RAW (patchset #1 id:1 of https://codereview.chromium.org/1612113002/ )

Reason for revert:
https://skia.googlesource.com/skia/+/7579786f3bd5a8fda84a1abc45b16213c3371f93 seems to have caused problems, but it allows us to test RAW. In order to reland this, we'll need to reland that one, or have a simpler fix to disable RAW on platforms where it's not supported (e.g. ChromeOS)

Original issue's description:
> Update SK_IMAGE_VERSION to test RAW
>
> Once https://codereview.chromium.org/1520403003/ lands, we can start
> testing RAW images. I have already added RAW images to a folder named
> v2/; this updates the version so the script (once written) will check
> the new version.
>
> Depends on skbug.com/4558
>
> BUG=skia:4829
> GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1612113002
>
> Committed: https://skia.googlesource.com/skia/+/317a45e879889f9ed876549a10bbfd51aab41b45

TBR=borenet@google.com,msarett@google.com
# Not skipping CQ checks because original CL landed more than 1 days ago.

# Skipping CQ checks because original CL landed less than 1 days ago.
NOPRESUBMIT=true
NOTREECHECKS=true
NOTRY=true
BUG=skia:4829

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

8 years agofix teeny dashed path bug
caryclark [Fri, 29 Jan 2016 17:54:20 +0000 (09:54 -0800)]
fix teeny dashed path bug

If the path dashed is sufficiently small, there may be no
segments generated to dash. Check for an empty segment list.

R=reed@google.com
BUG=skia:4871
GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1645613006

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

8 years agoConsolidate SK_CRASH and sk_throw into SK_ABORT
djsollen [Fri, 29 Jan 2016 16:51:04 +0000 (08:51 -0800)]
Consolidate SK_CRASH and sk_throw into SK_ABORT

TBR=reed@google.com
GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1648343003

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

8 years agoMove SkAvoidXfermode over from Android
robertphillips [Fri, 29 Jan 2016 16:44:17 +0000 (08:44 -0800)]
Move SkAvoidXfermode over from Android

GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1649503002

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

8 years agofix for skiaserve build error
ethannicholas [Fri, 29 Jan 2016 16:02:34 +0000 (08:02 -0800)]
fix for skiaserve build error
GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1651443002

TBR=jcgregorio@google.com

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

8 years agoPrint a message when DM finishes
scroggo [Fri, 29 Jan 2016 15:48:33 +0000 (07:48 -0800)]
Print a message when DM finishes

When running from the command line, it is obvious when DM finishes,
since it brings the prompt back up. But in XCode, it just sits
there, so my glance doesn't let me know that it's finished. Make
it more obvious that DM is done.
GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1650113002

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

8 years agoadded support for more features in JSON (blurs, dashing, different path fill types...
ethannicholas [Fri, 29 Jan 2016 15:15:08 +0000 (07:15 -0800)]
added support for more features in JSON (blurs, dashing, different path fill types, etc.)
GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1644903003

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

8 years agoRevert of Move SkPixelXorXfermode.h to include/client/android (patchset #5 id:80001...
robertphillips [Fri, 29 Jan 2016 13:34:26 +0000 (05:34 -0800)]
Revert of Move SkPixelXorXfermode.h to include/client/android (patchset #5 id:80001 of https://codereview.chromium.org/1645093002/ )

Reason for revert:
GN woes

Original issue's description:
> Move SkPixelXorXfermode.h to include/client/android
>
> This intended to make clients aware that the SkPixelXorXfermode is Android-specific
>
> GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1645093002
>
> Committed: https://skia.googlesource.com/skia/+/aa9cb62901075e9d2858353cb041e5e6d4719614

TBR=scroggo@google.com,reed@google.com,djsollen@google.com
# Skipping CQ checks because original CL landed less than 1 days ago.
NOPRESUBMIT=true
NOTREECHECKS=true
NOTRY=true

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

8 years agostarter procs for blending with pm4f
reed [Fri, 29 Jan 2016 13:22:59 +0000 (05:22 -0800)]
starter procs for blending with pm4f

curr/maxrss loops min median mean max stddev samples    config bench
   8/8   MB 4 87.1µs 91µs 89.8µs 92µs 2% ▇▇▇▇█▇▅▁▁▁ nonrendering xfer4f_srcover_N_opaque_linear
   9/9   MB 2 196µs 196µs 215µs 383µs 27% ▁▁▁▁█▁▁▁▁▁ nonrendering xfer4f_srcover_N_opaque_srgb
   9/9   MB 1 313µs 313µs 313µs 313µs 0% ▁▄▅▅▅▂████ nonrendering xfer4f_srcover_N_alpha_linear
   9/9   MB 1 580µs 580µs 582µs 602µs 1% ▁▁▁▁▁▁▂▁▁█ nonrendering xfer4f_srcover_N_alpha_srgb
   9/9   MB 23 13.1µs 13.1µs 13.1µs 13.1µs 0% ▆▄▄█▂▂▂▁▂▁ nonrendering xfer4f_srcover_1_opaque_linear
   9/9   MB 23 13.2µs 13.2µs 13.2µs 13.2µs 0% █▄▂▁▃▁▂▂▂▂ nonrendering xfer4f_srcover_1_opaque_srgb
   9/9   MB 2 178µs 183µs 183µs 185µs 1% ▇▇▇█▇▇▇▇▇▁ nonrendering xfer4f_srcover_1_alpha_linear
   9/9   MB 1 517µs 517µs 517µs 517µs 0% ▇█▄▃▄▁▂▁▂▄ nonrendering xfer4f_srcover_1_alpha_srgb

BUG=skia:
GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1642703003

TBR=
landing now so these incremental types/functions can be used to collaborate with herb's work. nothing is active at this point

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

8 years agoMove SkPixelXorXfermode.h to include/client/android
robertphillips [Fri, 29 Jan 2016 13:11:14 +0000 (05:11 -0800)]
Move SkPixelXorXfermode.h to include/client/android

This intended to make clients aware that the SkPixelXorXfermode is Android-specific

GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1645093002

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

8 years agoFix broken Android framework builds
djsollen [Thu, 28 Jan 2016 21:57:02 +0000 (13:57 -0800)]
Fix broken Android framework builds
GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1641173003

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

8 years agoSaveFlags begone!
fmalita [Thu, 28 Jan 2016 21:14:53 +0000 (13:14 -0800)]
SaveFlags begone!

This is now dead code (post https://codereview.chromium.org/1636103002).

R=reed@google.com,robertphillips@google.com
GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1648773002

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

8 years agoFix typo on trooper page.
benjaminwagner [Thu, 28 Jan 2016 20:58:02 +0000 (12:58 -0800)]
Fix typo on trooper page.

BUG=skia:
GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1642183002
NOTRY=true
DOCS_PREVIEW= https://skia.org/?cl=1642183002

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

8 years agoWork around exasperating Google3 Android build error.
benjaminwagner [Thu, 28 Jan 2016 20:55:31 +0000 (12:55 -0800)]
Work around exasperating Google3 Android build error.

BUG=skia:
GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1649493005

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

8 years agoUpdate SK_IMAGE_VERSION to test RAW
scroggo [Thu, 28 Jan 2016 20:30:07 +0000 (12:30 -0800)]
Update SK_IMAGE_VERSION to test RAW

Once https://codereview.chromium.org/1520403003/ lands, we can start
testing RAW images. I have already added RAW images to a folder named
v2/; this updates the version so the script (once written) will check
the new version.

Depends on skbug.com/4558

BUG=skia:4829
GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1612113002

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

8 years agoSkPDF: roll back 53b1c09 and 05b48e2
halcanary [Thu, 28 Jan 2016 18:59:34 +0000 (10:59 -0800)]
SkPDF: roll back 53b1c09 and 05b48e2

See:
https://crrev.com/1552263003
https://crrev.com/1438503002

BUG=skia:257
BUG=skia:734
  BUG=577794

GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1645803003

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

8 years agotools/git-sync-deps: fix error in git syntax for changing origin
halcanary [Thu, 28 Jan 2016 17:12:52 +0000 (09:12 -0800)]
tools/git-sync-deps: fix error in git syntax for changing origin

Error introduced in https://crrev.com/1475513004

NOTRY=true

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

8 years agoFix SkPixelXorXfermode serialization bug
robertphillips [Thu, 28 Jan 2016 16:50:26 +0000 (08:50 -0800)]
Fix SkPixelXorXfermode serialization bug

GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1647963002

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

8 years agoTreat bad values passed to --images as a fatal error
scroggo [Thu, 28 Jan 2016 16:41:10 +0000 (08:41 -0800)]
Treat bad values passed to --images as a fatal error

If an option is passed to --images that is either a non-existent path or
a folder with no images matching the supported types, assume this is
an error and exit, so they can supply a valid path instead.

Share code between DM and nanobench in SkCommonFlags.

nanobench now behaves more like DM - it will check a directory for
images that match the supported extensions.

Only consider image paths ending in RAW suffixes as images if
SK_CODE_DECODES_RAW is defined. This prevents us from seeing failure
to decode errors on platforms that cannot decode it.

GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1611323004

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

8 years agoImage filters: Make a recursive, forward-mapping bounds
senorblanco [Thu, 28 Jan 2016 16:23:02 +0000 (08:23 -0800)]
Image filters: Make a recursive, forward-mapping bounds
traversal which respects the CropRect. This is useful when
you want the device-space bounds of a primitive after
filtering. (This may also eventually subsume
computeFastBounds()).

This CL generalizes filterBounds() and onFilterBounds() to
take a mapping direction. It also makes filterBounds()
responsible for calling onFilterNodeBounds() and applying
the crop rect, simplifying onFilterBounds().

BUG=skia:4627
GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1612953004

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

8 years agoDisable verbose mode for DNG SDK on mac/ios.
adaubert [Thu, 28 Jan 2016 15:56:15 +0000 (07:56 -0800)]
Disable verbose mode for DNG SDK on mac/ios.

The issue was, that the qDNGReportErrors was not disabled in xcode_settings.

With that also removed the complexety of the dng_sdk.gyp and unified the flags handling.

BUG=26821211
GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1641553004

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