Commit Graph

20444 Commits

Author SHA1 Message Date
mtklein
8bf7b79cf9 Refactor swizzle names and types.
- Plant a flag to say "pretend all the inputs are RGBA".
    This is how libpng thinks.
    This is the opposite of what the implementation had been doing,
    so I've rearranged everything to reflect the new orientation.

  - Rewrite the names to be less mysterious looking.  No more Xs.

  - Make the src type uniformly const void*, to allow for 888 (RGB) srcs.

This should be performance and pixel neutral.  (Please revert if it's not.)

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

Review URL: https://codereview.chromium.org/1626463002
2016-01-22 07:42:53 -08:00
bsalomon
6c9cd55f00 Make swizzling in read/write pixel copy code more generic
BUG=skia:
GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1617433002

Review URL: https://codereview.chromium.org/1617433002
2016-01-22 07:17:34 -08:00
scroggo
0ac723b6f4 Update libwebp to version 0.5.0
This is the version used by Android.
GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1601253003

Review URL: https://codereview.chromium.org/1601253003
2016-01-22 06:58:27 -08:00
robertphillips
e429c88a81 Revert of Add gpu implementation of OverdrawXfermode (patchset #6 id:100001 of https://codereview.chromium.org/1607253002/ )
Reason for revert:
Overdraw Xfer mode using new fangled glsl features

Original issue's description:
> Add gpu implementation of OverdrawXfermode
> GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1607253002
>
> Committed: https://skia.googlesource.com/skia/+/8bc3cf88bbf5e5d5724356f076931bb70a6117ba

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

Review URL: https://codereview.chromium.org/1626443002
2016-01-22 06:53:57 -08:00
djsollen
aa97a84404 Revert of Consolidate SK_CRASH and sk_throw into SK_ABORT (patchset #5 id:80001 of https://codereview.chromium.org/1610823002/ )
Reason for revert:
Chrome is calling SK_CRASH

Original issue's description:
> Consolidate SK_CRASH and sk_throw into SK_ABORT
> GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1610823002
>
> Committed: https://skia.googlesource.com/skia/+/4c5cd7d527ed29aabfa72aa47b23a4496eeda357

TBR=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/1620333002
2016-01-22 06:50:25 -08:00
ethannicholas
7df3f5e127 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

Review URL: https://codereview.chromium.org/1541903002
2016-01-22 06:48:46 -08:00
joshualitt
7481e75830 Fix GrAtlasTextBlob bounds management
BUG=skia:
GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1605013002

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

Review URL: https://codereview.chromium.org/1605013002
2016-01-22 06:08:48 -08:00
djsollen
4c5cd7d527 Consolidate SK_CRASH and sk_throw into SK_ABORT
GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1610823002

Review URL: https://codereview.chromium.org/1610823002
2016-01-22 06:04:55 -08:00
reed
6d3cef930a Revert[2] of float color components
This reverts commit 2a2bdc6984.

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

TBR=
NOTRY=True
Test-Ubuntu-GCC-ShuttleA-GPU-GTX660-x86_64-Release-Trybot  seems wicked slow

Review URL: https://codereview.chromium.org/1622483002
2016-01-22 01:04:29 -08:00
reed
2a2bdc6984 Revert of experiment: float color components (patchset #6 id:100001 of https://codereview.chromium.org/1617813002/ )
Reason for revert:
broke some colormatrix tests

Original issue's description:
> experiment: float color components
>
> BUG=skia:
> GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1617813002
>
> Committed: https://skia.googlesource.com/skia/+/353c148d8e8c9031daca34c6f9d6bcc6f08706c7

TBR=fmalita@chromium.org,mtklein@google.com,herb@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/1623453002
2016-01-22 00:04:30 -08:00
fmalita
7765000709 Hide SkCanvas::{set,get}DrawFilter
Except for Android, which still makes use of it.

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

Review URL: https://codereview.chromium.org/1618843002
2016-01-21 18:47:11 -08:00
reed
353c148d8e experiment: float color components
BUG=skia:
GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1617813002

Review URL: https://codereview.chromium.org/1617813002
2016-01-21 15:29:10 -08:00
egdaniel
07caf56e72 Add setter for GrGLSLShaderVar layout qualifier
BUG=skia:
GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1611423002

Review URL: https://codereview.chromium.org/1611423002
2016-01-21 15:21:48 -08:00
Ben Wagner
a182b808f8 Fix CMake build on Mac. 2016-01-21 17:38:36 -05:00
mtklein
80fc19cd3a Stop testing builds with runtime-detected NEON
O frabjous day!

Chrome has switched on requiring NEON globally at head.
Android has always built with NEON as appropriate for each device.

In practice, this switches our Nexus 5 bots from runtime-detected to
building with NEON globally.  It also lines a few columns up and makes
equivalent aliases more obviously the same.

We still have Build bots to test we can build on ARMv7 with no NEON.  (We even have Build bots to test building ARMv6.)

(It looks like that buildbot_spec.json just hasn't been updated in a while.)

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

CQ_EXTRA_TRYBOTS=client.skia.android:Perf-Android-GCC-Nexus5-CPU-NEON-Arm7-Release-Trybot,Test-Android-GCC-Nexus5-CPU-NEON-Arm7-Debug-Trybot,Test-Android-GCC-Nexus5-CPU-NEON-Arm7-Release-Trybot

Review URL: https://codereview.chromium.org/1612753002
2016-01-21 14:24:10 -08:00
bungeman
f6c7107d03 Expose API for gx font variation axes.
GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1590223003

Review URL: https://codereview.chromium.org/1590223003
2016-01-21 14:17:47 -08:00
halcanary
27a6e86fb1 SkValue: SkXfermode
Implement:
  template<> SkValue SkToValue<SkXfermode>(const SkXfermode*);

  template<> bool SkFromValue<SkXfermode*>(const SkValue&, SkXfermode**);

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

NOTRY=true

Review URL: https://codereview.chromium.org/1585813004
2016-01-21 14:15:10 -08:00
egdaniel
ae47418936 Add ability to add general layout qualifiers GrGLSLShaderVar
BUG=skia:
GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1610853002

Review URL: https://codereview.chromium.org/1610853002
2016-01-21 11:19:52 -08:00
msarett
19032f7216 Use fActualProc to choose fFastProc or fSlowProc in SkSwizzler
(1) We will now (correctly) choose fFastProc if the client
    calls setSampleX(1).
(2) The logic to choose between fFastProc and fSlowProc
    is now performed once, rather than every time we call
    swizzle().
(3) This will be easier to extend when we add
    fFastSampleProcs for different sample sizes.

This comes from Leon's suggestion in:
https://codereview.chromium.org/1582083005

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

Review URL: https://codereview.chromium.org/1616753003
2016-01-21 09:59:38 -08:00
senorblanco
00502373c8 Fix bounds computations for SkDisplacementMapEffect with negative scale.
BUG=skia:4835
GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1616663003

Review URL: https://codereview.chromium.org/1616663003
2016-01-21 09:55:47 -08:00
mtklein
ba6ada74e8 DM: dump images for task failures too (but not skipped tasks)
This will get us back to uploading things like serialize-8888 mismatches.

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

Review URL: https://codereview.chromium.org/1614443002
2016-01-21 09:39:35 -08:00
scroggo
b864f5ffd8 Add version number to images tested in DM
BUG=skia:4558
GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1619493003

Review URL: https://codereview.chromium.org/1619493003
2016-01-21 09:32:58 -08:00
mtklein
26379ca002 Demo fuzz for Herb
BUG=skia:4692
GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1611293002

Review URL: https://codereview.chromium.org/1611293002
2016-01-21 09:25:33 -08:00
robertphillips
233bab918f Add Lua SkXfermode skp scraping support
This is to answer the question of do any of our skps have SkLerpXfermodes. AFAICT they should not so this is just to verify.

The only controversial part of this is the addition of 'getLuaName' to SkXfermode

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

Review URL: https://codereview.chromium.org/1614923002
2016-01-21 09:05:32 -08:00
msarett
be1d55514b Rename SkCodec_libpng to SkPngCodec
BUG=skia:
GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1613043003

Review URL: https://codereview.chromium.org/1613043003
2016-01-21 09:05:23 -08:00
bungeman
5eff9e79da Implement onMatchFamilyStyle for Mac.
GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1612653002

Review URL: https://codereview.chromium.org/1612653002
2016-01-21 08:18:43 -08:00
caryclark
1a7eb26664 resolution dependent path measure
When a dash is drawn through a canvas with a scaled up
matrix, path measure needs the pixel resolution through
the matrix to construct the dash with sufficient
resolution.

Pass the resolution through to path measure.

Replicate chrome bug in skia GM.

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

Review URL: https://codereview.chromium.org/1608353002
2016-01-21 07:07:02 -08:00
caryclark
46895be918 fix skp fuzz
R=kjlubick@google.com
BUG=skia:4816
GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1617033002

Review URL: https://codereview.chromium.org/1617033002
2016-01-21 06:54:46 -08:00
senorblanco
d247e5862e Remove SK_SUPPORT_SRC_BOUNDS_BLOAT_FOR_IMAGEFILTERS (now unused).
BUG=skia:3194
GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1616503002

Review URL: https://codereview.chromium.org/1616503002
2016-01-21 06:49:15 -08:00
reed
b0d25466be detect bad/corrupt flattenable factory indices
BUG=skia:4814
GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1615883002

Review URL: https://codereview.chromium.org/1615883002
2016-01-21 06:44:18 -08:00
bsalomon
dfe3e50522 Make colorimagefilter GM not crash when resource path not specified
GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1619723002
BUG=skia:

Review URL: https://codereview.chromium.org/1619723002
2016-01-21 06:44:09 -08:00
mtklein
d4387ea993 fuzz: list API fuzzing options if -t api and -n matches nothing.
Today we segfault if --name is empty.  This fixes that too.

This updates some terms: -t api lets us fuzz an API.

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

Review URL: https://codereview.chromium.org/1617713003
2016-01-21 06:13:52 -08:00
kjlubick
dba5734409 Seperating our fuzzing binary from DM produces a 50x speed increase for decoding images and a 10x speed increase in decoding/rendering Skps.
This also lets us differentiate between the decoding of Skps and the rendering of them, the latter of which may be more interesting for bugs.

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

Review URL: https://codereview.chromium.org/1591073002
2016-01-21 05:03:28 -08:00
reed
744fdb5d78 remove dead code around SK_SUPPORT_LEGACY_TRANSLATEROUNDHACK
BUG=skia:
GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1611183002

TBR=

Review URL: https://codereview.chromium.org/1611183002
2016-01-21 04:33:07 -08:00
joshualitt
269a82f288 Revert of Fix GrAtlasTextBlob bounds management (patchset #8 id:140001 of https://codereview.chromium.org/1605013002/ )
Reason for revert:
seems to break upright matrix

Original issue's description:
> Fix GrAtlasTextBlob bounds management
>
> BUG=skia:
> GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1605013002
>
> Committed: https://skia.googlesource.com/skia/+/ae473fdfc3db2d9dd82b05b2568767d6d4038fcd

TBR=bsalomon@google.com,jvanverth@google.com,joshualitt@chromium.org
# 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/1615473002
2016-01-20 13:54:28 -08:00
mtklein
fac3d1b725 SkValue: improve SkFromValue<T> implementation
Add template<> bool SkFromValue<float>(const SkValue&, float*);
Refactor template<> bool SkFromValue<SkMatrix>(const SkValue&, SkMatrix*);

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

Review URL: https://codereview.chromium.org/1605093003
2016-01-20 13:35:21 -08:00
joshualitt
01836add2a Revert to old behavior for swap buffers
New behavior is preserved with 'syncOrSwap' call

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

Review URL: https://codereview.chromium.org/1606883005
2016-01-20 13:09:12 -08:00
joshualitt
ae473fdfc3 Fix GrAtlasTextBlob bounds management
BUG=skia:
GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1605013002

Review URL: https://codereview.chromium.org/1605013002
2016-01-20 12:35:22 -08:00
robertphillips
8bc3cf88bb Add gpu implementation of OverdrawXfermode
GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1607253002

Review URL: https://codereview.chromium.org/1607253002
2016-01-20 12:00:22 -08:00
mtklein
550e9b0ef1 SkNx miplevel building
All sizes approximately twice as fast.

Before:
    micros   	bench
   1649.35  	mipmap_build_512x512	nonrendering
   1824.42  	mipmap_build_511x512	nonrendering
   2100.66 ?	mipmap_build_512x511	nonrendering
   2375.94  	mipmap_build_511x511	nonrendering

After:
    micros   	bench
    730.32 !	mipmap_build_512x512	nonrendering
    922.12  	mipmap_build_511x512	nonrendering
    999.07  	mipmap_build_512x511	nonrendering
   1342.93 !	mipmap_build_511x511	nonrendering

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

Committed: https://skia.googlesource.com/skia/+/3bd5aba2a0e165997f683cf3aa306661e71464f6

Review URL: https://codereview.chromium.org/1606013003
2016-01-20 11:55:51 -08:00
caryclark
88651aeb55 replace arcto quads with a conic
also, remove code used only for
the quad generation

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

Review URL: https://codereview.chromium.org/1612543003
2016-01-20 11:55:11 -08:00
fmalita
55b29b2551 Convert CanvasStateTest to the new saveLayer API
The test needs to still work when SK_SUPPORT_LEGACY_CLIPTOLAYERFLAG is
defined but SK_SUPPORT_LEGACY_SAVEFLAGS is not.

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

Review URL: https://codereview.chromium.org/1610193002
2016-01-20 11:17:40 -08:00
reed
2252edabc1 change kMedium_SkFilterQuality to never pop if we're scaling
BUG=skia:
GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1605193002

Review URL: https://codereview.chromium.org/1605193002
2016-01-20 11:04:40 -08:00
joshualitt
4e8f567fa3 add wait on fence without flush
BUG=skia:
GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1610183002

Review URL: https://codereview.chromium.org/1610183002
2016-01-20 10:54:58 -08:00
halcanary
76097f8235 SkValue: implementation, unit test
GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1604253002

Review URL: https://codereview.chromium.org/1604253002
2016-01-20 10:00:26 -08:00
mtklein
5352015fa3 Make nanobench --outResultsFile only work with Release builds.
It is very, very misleading to report performance numbers for Debug builds.
This makes it impossible for us to upload them to perf.skia.org.

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

Review URL: https://codereview.chromium.org/1606323002
2016-01-20 09:53:59 -08:00
fs
b1475b0d41 Add SkPath::isLastContourClosed()
Adds a simple method for checking if the last command/verb in the
current contour is a 'close'.

This will simplify determining "closedness" for blink::Path, and aid
in the implementation of algorithms such as:

https://drafts.fxtf.org/motion-1/#motion-processing (second item in list)

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

Review URL: https://codereview.chromium.org/1601103006
2016-01-20 09:51:08 -08:00
mtklein
3425cbaee1 teach dump_record to recurse into subpictures
BUG=skia:
GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1606293002

Review URL: https://codereview.chromium.org/1606293002
2016-01-20 08:46:40 -08:00
mtklein
26def8687f Revert of SkNx miplevel building (patchset #3 id:40001 of https://codereview.chromium.org/1606013003/ )
Reason for revert:
Paranoid revert to see if it helps skia:4823

Original issue's description:
> SkNx miplevel building
>
> All sizes approximately twice as fast.
>
> Before:
>     micros   	bench
>    1649.35  	mipmap_build_512x512	nonrendering
>    1824.42  	mipmap_build_511x512	nonrendering
>    2100.66 ?	mipmap_build_512x511	nonrendering
>    2375.94  	mipmap_build_511x511	nonrendering
>
> After:
>     micros   	bench
>     730.32 !	mipmap_build_512x512	nonrendering
>     922.12  	mipmap_build_511x512	nonrendering
>     999.07  	mipmap_build_512x511	nonrendering
>    1342.93 !	mipmap_build_511x511	nonrendering
>
>
> BUG=skia:
> GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1606013003
> CQ_EXTRA_TRYBOTS=client.skia:Test-Ubuntu-GCC-GCE-CPU-AVX2-x86_64-Release-SKNX_NO_SIMD-Trybot
>
> Committed: https://skia.googlesource.com/skia/+/3bd5aba2a0e165997f683cf3aa306661e71464f6

TBR=reed@google.com,mtklein@chromium.org
# 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/1607323002
2016-01-20 08:34:00 -08:00
reed
bf361d3ba2 remove fragile assert
The assert basically wants the following to always be true (but it aint)

floor(int + 0.5 + float) == floor(0.5 + float) + int

... where int + 0.5 happens first, and then we add the float.

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

Review URL: https://codereview.chromium.org/1609873003
2016-01-20 08:12:02 -08:00