Commit Graph

20590 Commits

Author SHA1 Message Date
reed
6dfc754360 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
2016-02-03 10:09:23 -08:00
egdaniel
2829bb7b9e 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
2016-02-03 09:52:51 -08:00
msarett
2db45e9de6 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
2016-02-03 09:47:56 -08:00
reed
ef5252e48f 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
2016-02-03 09:47:46 -08:00
robertphillips
afb188de27 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
2016-02-03 09:42:49 -08:00
scroggo
c5560bef14 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
2016-02-03 09:42:42 -08:00
mtklein
8ca88e41aa 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
2016-02-03 09:21:44 -08:00
jcgregorio
bd9dabdb3c 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
2016-02-03 08:31:07 -08:00
mtklein
1059b1fc9f 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
2016-02-03 07:25:02 -08:00
kulshin
69d1603266 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
2016-02-03 07:22:52 -08:00
rmistry
37ed996f2d 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
2016-02-03 07:08:02 -08:00
mtklein
84b8d897c2 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
2016-02-03 07:06:27 -08:00
mtklein
f16e2a2e92 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
2016-02-03 06:42:16 -08:00
scroggo
c9715406c4 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
2016-02-03 06:23:06 -08:00
rmistry
f5e83951ad 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
2016-02-03 05:58:31 -08:00
fmalita
2404f03413 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
2016-02-03 05:44:21 -08:00
robertphillips
15691a055d 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
2016-02-03 05:20:09 -08:00
rmistry
c33c79c97d 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
2016-02-03 04:27:54 -08:00
yujieqin
8f9447cf60 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
2016-02-03 00:50:10 -08:00
cdalton
4833f39a41 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
2016-02-02 22:46:16 -08:00
senorblanco
afc7cce5d6 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
2016-02-02 18:44:16 -08:00
benjaminwagner
67e8bd2072 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
2016-02-02 16:01:39 -08:00
rmistry
8870e94fe3 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
2016-02-02 13:55:38 -08:00
msarett
0700651128 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
2016-02-02 13:41:03 -08:00
joshualitt
792345f540 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
2016-02-02 13:02:33 -08:00
msarett
2eff71c9b5 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
2016-02-02 12:59:45 -08:00
benjaminwagner
c92159c825 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
2016-02-02 12:48:14 -08:00
scroggo
1497f9f264 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
2016-02-02 11:56:33 -08:00
joshualitt
136f517627 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
2016-02-02 11:07:39 -08:00
reed
bf907e628f 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
2016-02-02 11:00:55 -08:00
brianosman
5923535a04 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
2016-02-02 10:59:30 -08:00
fmalita
000b83bcdd 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
2016-02-02 10:41:35 -08:00
fmalita
eb54307172 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
2016-02-02 10:17:25 -08:00
reed
f46d8a6fff 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
2016-02-02 09:27:35 -08:00
ethannicholas
30c5dde90d 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
2016-02-02 08:36:58 -08:00
Brian Salomon
2ea6ff7f0d 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 .
2016-02-02 11:34:46 -05:00
yujieqin
22000d1f8e 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
2016-02-02 08:09:07 -08:00
joshualitt
a341b90c7f 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
2016-02-02 07:37:21 -08:00
joshualitt
483b90140a 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
2016-02-02 07:16:24 -08:00
ajuma
0735de67c8 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
2016-02-02 06:14:47 -08:00
jcgregorio
2ac722f1f8 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
2016-02-02 05:36:34 -08:00
yujieqin
fd918e8c73 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
2016-02-02 01:21:35 -08:00
Brian Salomon
be0fcb10f1 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 .
2016-02-01 18:41:58 -05:00
Brian Salomon
a64afd6680 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 .
2016-02-01 16:44:22 -05:00
bsalomon
f267c1efe7 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
2016-02-01 13:16:14 -08:00
bsalomon
9d02b264b7 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
2016-02-01 12:49:30 -08:00
mtklein
b21c752eb3 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
2016-02-01 12:20:33 -08:00
bsalomon
8610002ff8 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
2016-02-01 12:09:07 -08:00
ethannicholas
3b7af78e81 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
2016-02-01 11:45:45 -08:00
senorblanco
6404981b0c 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
2016-02-01 10:32:42 -08:00