Commit Graph

21187 Commits

Author SHA1 Message Date
cdalton
28f45b949a Add "sample locations" feature to GrProcessor
Adds a "sample locations" feature to GrProcessor. When enabled, this
allows a processor to know inside the shader where all the samples are
located. Also adds various infastructure to query, cache, and identify
multisample data.

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

Review URL: https://codereview.chromium.org/1717393002
2016-03-07 13:58:26 -08:00
mtklein
b3b13b7ede dm: log log
BUG=skia:
GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1771993002

Review URL: https://codereview.chromium.org/1771993002
2016-03-07 13:20:52 -08:00
robertphillips
4418dbac33 Swap over to using SkImageFilter::filterImage instead of filterImageDeprecated
This CL relies on https://codereview.chromium.org/1757983002/ (Add SkSpecialImage-based methods to SkImageFilter)

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

TBR=bsalomon@google.com

Review URL: https://codereview.chromium.org/1762013002
2016-03-07 12:45:14 -08:00
benjaminwagner
19de504eae Add advance[XY]Fixed getters for Android.
This prepares for changing the type of these fields to float.

BUG=skia:4632

Review URL: https://codereview.chromium.org/1772863002
2016-03-07 12:41:49 -08:00
halcanary
d7b2885b90 SkPDF Create working move constructor for inner classes
BUG=chromium:592330,chromium:592702

Review URL: https://codereview.chromium.org/1774633002
2016-03-07 12:39:14 -08:00
djsollen
f9deeb66d0 Update android_make to support both --gcc and --clang options.
This CL also fixes all the errors that resulted from compiling
with clang and ccache.

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

Review URL: https://codereview.chromium.org/1774503004
2016-03-07 12:30:47 -08:00
mtklein
71aca54991 add virtual ~Effect()
Today we make an sk_sp<Effect> from an sk_sp<EffectImpl>.
But when the sk_sp<Effect> dies, it calls ~Effect(), not ~EffectImpl().
Making ~Effect() virtual fixes this.

This should make our Google3 tests sized-delete clean, unblocking those folks.

Review URL: https://codereview.chromium.org/1769093002
2016-03-07 12:28:17 -08:00
bsalomon
aecc018f86 Attempt to combine batches in forward direction before flush
GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1763883005

Review URL: https://codereview.chromium.org/1763883005
2016-03-07 11:50:44 -08:00
mtklein
673748a320 link with -rdynamic on Linux
This lets our tools get symbols when they backtrace themselves.

Here's an example improved stack trace.
Notice there are symbols for some Skia methods now.

Stack trace:
    out/Release/dm() [0x5ec19b]
    out/Release/dm() [0x5ec209]
    /lib/x86_64-linux-gnu/libc.so.6(+0x36d40) [0x7f6ae0ce2d40]
    /lib/x86_64-linux-gnu/libc.so.6(gsignal+0x39) [0x7f6ae0ce2cc9]
    /lib/x86_64-linux-gnu/libc.so.6(abort+0x148) [0x7f6ae0ce60d8]
    out/Release/dm() [0xcd19f9]
    out/Release/dm() [0x8ca959]
    out/Release/dm(_ZN11XfermodesGM16onOnceBeforeDrawEv+0x70) [0x8cb640]
    out/Release/dm(_ZN6skiagm2GM4drawEP8SkCanvas+0x1c) [0x5fc81c]
    out/Release/dm(_ZNK2DM5GMSrc4drawEP8SkCanvas+0x73) [0x5f3563]
    out/Release/dm(_ZNK2DM10RasterSink4drawERKNS_3SrcEP8SkBitmapP9SkWStreamP8SkString+0xcc) [0x5f9eac]
    out/Release/dm(_ZN4Task3RunERKS_+0xd5) [0x5f1685]
    out/Release/dm() [0xa4d320]
    out/Release/dm() [0xcb66ba]
    /lib/x86_64-linux-gnu/libpthread.so.0(+0x8182) [0x7f6ae2667182]
    /lib/x86_64-linux-gnu/libc.so.6(clone+0x6d) [0x7f6ae0da647d]

Today the same crash looks more like this.

Stack trace:
    out/Release/dm() [0x5ec19b]
    out/Release/dm() [0x5ec209]
    /lib/x86_64-linux-gnu/libc.so.6(+0x36d40) [0x7f6ae0ce2d40]
    /lib/x86_64-linux-gnu/libc.so.6(gsignal+0x39) [0x7f6ae0ce2cc9]
    /lib/x86_64-linux-gnu/libc.so.6(abort+0x148) [0x7f6ae0ce60d8]
    out/Release/dm() [0xcd19f9]
    out/Release/dm() [0x8ca959]
    out/Release/dm() [0x8cb640]
    out/Release/dm() [0x5fc81c]
    out/Release/dm() [0x5f3563]
    out/Release/dm() [0x5f9eac]
    out/Release/dm() [0x5f1685]
    out/Release/dm() [0xa4d320]
    out/Release/dm() [0xcb66ba]
    /lib/x86_64-linux-gnu/libpthread.so.0(+0x8182) [0x7f6ae2667182]
    /lib/x86_64-linux-gnu/libc.so.6(clone+0x6d) [0x7f6ae0da647d]

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

Review URL: https://codereview.chromium.org/1774593002
2016-03-07 11:05:15 -08:00
borenet
d8d046c81f Swarming bots: add build products whitelist
Should reduce output isolate size (and therefore upload time) for
compile task by ~10x

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

Review URL: https://codereview.chromium.org/1768273002
2016-03-07 10:57:26 -08:00
herb
c60fee0f15 Rework files and add test cases.
BUG=skia:
GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1757193002

Review URL: https://codereview.chromium.org/1757193002
2016-03-07 09:17:47 -08:00
msarett
1590f3b328 Revert of Update Skia's YUV API (patchset #5 id:160001 of https://codereview.chromium.org/1716523002/ )
Reason for revert:
Blimp failures with manual roll in Chrome.

Original issue's description:
> Update Skia's YUV API
>
> We should match the recently designed API in SkCodec.
> https://codereview.chromium.org/1549473003/
>
> This requires changes in Chromium as well.
>
> BUG=skia:
> GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1716523002
>
> Committed: https://skia.googlesource.com/skia/+/095d31c8a0eeb5d491febf064bc3c8a44e22b94f

TBR=scroggo@google.com,reed@google.com,bsalomon@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/1775493002
2016-03-07 09:16:52 -08:00
benjaminwagner
54887a6a2e Revert of Add BigRectGM. (patchset #2 id:20001 of https://codereview.chromium.org/1758113005/ )
Reason for revert:
Causing ASAN failures. (I had expected float-cast ASAN failures, which are disabled right now, but we're also seeing integer overflows.)

Original issue's description:
> Add BigRectGM.
>
> BUG=skia:5060
> GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1758113005
>
> Committed: https://skia.googlesource.com/skia/+/a9101eef5ffc5f329a5edc75fd67441d868b0e9b

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

Review URL: https://codereview.chromium.org/1773593005
2016-03-07 09:09:19 -08:00
msarett
095d31c8a0 Update Skia's YUV API
We should match the recently designed API in SkCodec.
https://codereview.chromium.org/1549473003/

This requires changes in Chromium as well.

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

Review URL: https://codereview.chromium.org/1716523002
2016-03-07 08:39:12 -08:00
benjaminwagner
a9101eef5f Add BigRectGM.
BUG=skia:5060
GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1758113005

Review URL: https://codereview.chromium.org/1758113005
2016-03-07 08:16:11 -08:00
update-skps
92080d57ed 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=1769023002

Review URL: https://codereview.chromium.org/1769023002
2016-03-07 07:28:08 -08:00
msarett
ad8bcfeac4 Use a smart pointer for SkColorSpace factories
This should fix master-skia in Android because we no longer need
to include src/core for SkCodec.h.

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

Review URL: https://codereview.chromium.org/1766413002
2016-03-07 07:09:03 -08:00
robertphillips
eaf086e3ce Add SkSpecialImage-based methods to SkImageFilter
This is calved off of https://codereview.chromium.org/1695823002/ (Get OffsetImageFilter really working with SkSpecialImages)

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

Review URL: https://codereview.chromium.org/1757983002
2016-03-07 04:51:10 -08:00
reed
a5ab9ec295 Add variants of the setters on SkPaint which take a sk_sp<effect>. At the same time, change the internal storage to be sk_sp<effect>.
Follow-on CL might try to use = default for the constructors and assignment operators.

This reverts commit 992854d62e.

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

Review URL: https://codereview.chromium.org/1770723002
2016-03-06 18:10:48 -08:00
halcanary
fcad44bbb1 SkPDF: AutoTUnref<T> changes in use
::detach()      -> ::release()
    ::operator T*() -> ::get()

This makes all use of AutoTUnref work the same as sk_sp.
GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1772493002

Review URL: https://codereview.chromium.org/1772493002
2016-03-06 14:47:10 -08:00
reed
941da9d661 Fix behavior of sk_sp::reset(T*) and add unittest.
Previously, sk_sp::reset(T* t) did not release its own reference
if its internal pointer was the same as 't'. This leaks a reference.
Now always release the current reference when non-nullptr.

Review URL: https://codereview.chromium.org/1767983002
2016-03-06 13:54:00 -08:00
reed
992854d62e Revert of add setter on SkPaint that takes sk_sp (patchset #1 id:1 of https://codereview.chromium.org/1769803002/ )
Reason for revert:
investigate leak

Original issue's description:
> add setter on SkPaint that takes sk_sp
>
> BUG=skia:
> GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1769803002
>
> TBR=
>
> Committed: https://skia.googlesource.com/skia/+/a917eba6ea8a6936f2c9271e487b14d14b99c98e

TBR=
# 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/1771613002
2016-03-05 17:51:45 -08:00
reed
a917eba6ea add setter on SkPaint that takes sk_sp
BUG=skia:
GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1769803002

TBR=

Review URL: https://codereview.chromium.org/1769803002
2016-03-05 16:39:25 -08:00
halcanary
ffa39e02bc sk_sp: fix contravariant constructors
TBR=reed
This is obviously correct and needs to be fixed.

Review URL: https://codereview.chromium.org/1771583002
2016-03-05 08:30:28 -08:00
reed
ec7c0cec3f remove unneeded flag for annotations
BUG=skia:
GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1767783004

TBR=halcanary

Review URL: https://codereview.chromium.org/1767783004
2016-03-05 06:00:12 -08:00
reed
f70b531daa Move annotations to canvas virtual (patchset #8 id:140001 of https://codereview.chromium.org/1744103002/ )"
Need to land chrome change first https://codereview.chromium.org/1766723003/

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

TBR=

Review URL: https://codereview.chromium.org/1758023003
2016-03-04 16:36:20 -08:00
jvanverth
e77875aa42 Fix stall in Vk clear
TBR=egdaniel@google.com
GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1765863003

Review URL: https://codereview.chromium.org/1765863003
2016-03-04 15:16:25 -08:00
msarett
e244322a9d Check libpng version before reading color space
TBR=scroggo@google.com

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

Review URL: https://codereview.chromium.org/1767723003
2016-03-04 14:20:50 -08:00
halcanary
91fcb3ed58 SkPDF: PDFDevice use SkTArray<T> rather than SkTDArray<T*>
GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1767713002

Review URL: https://codereview.chromium.org/1767713002
2016-03-04 13:53:22 -08:00
bsalomon
41dc3d63a5 Support building Vulkan on Linux.
BUG=skia:
GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1761163003

Review URL: https://codereview.chromium.org/1761163003
2016-03-04 13:38:27 -08:00
msarett
6a738217ea Set SkColorSpace object for PNGs and parse ICC profiles
Code for ICC profile parsing adapted from:
https://codereview.chromium.org/1707033002/

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

Review URL: https://codereview.chromium.org/1726823002
2016-03-04 13:27:35 -08:00
bsalomon
97220199d4 Turn on gpu stats in debug builds.
GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1769633002

Review URL: https://codereview.chromium.org/1769633002
2016-03-04 13:15:29 -08:00
reed
20adafa1d6 disable linear pipeline for now (so bots don't crash)
BUG=skia:
GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1766813002

TBR=

Review URL: https://codereview.chromium.org/1766813002
2016-03-04 12:56:51 -08:00
brianosman
fd95789e49 Ignore backspace when appending to the filter string in SampleApp. Fixes a bug on Windows where the initial Backspace gets appended, causing no slides to match.
BUG=skia:
GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1767683002

Review URL: https://codereview.chromium.org/1767683002
2016-03-04 11:59:27 -08:00
reed
d882901576 Add support for new bitmapshader context (patchset #5 id:80001 of https://codereview.chromium.org/1757993002/ )"
This reverts commit cd660e1c07.

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

Review URL: https://codereview.chromium.org/1760123003
2016-03-04 11:07:43 -08:00
fmalita
7520fc4ad3 Relocate the specialized linear gradient interval builder
The specialized interval setup works really well for (4f) linear
gradients, but it seems unlikely to benefit other gradient subclasses.

Since it gets in the way of a general/fallback gradient impl, let's move
this code to Sk4fLinearGradient.

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

Review URL: https://codereview.chromium.org/1764183002
2016-03-04 11:01:24 -08:00
borenet
d4f89e4e39 Swarming tasks: print start and end time
This will help determine how long each component of the task takes.

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

Review URL: https://codereview.chromium.org/1769583002
2016-03-04 10:58:21 -08:00
joshualitt
e43f7e67b6 Fix SkiaServe gpu JSON to work with any reordering algorithm
BUG=skia:
GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1761003004

Review URL: https://codereview.chromium.org/1761003004
2016-03-04 10:45:05 -08:00
herb
490d30fff6 break out the tile and matrix strategies
BUG=skia:
GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1765953002

Review URL: https://codereview.chromium.org/1765953002
2016-03-04 10:39:14 -08:00
halcanary
7b0b2ca435 Make Cmake work with debug build
Before this CL, the following failed to link:

    cd .../skia
    git fetch
    git checkout origin/master
    git clean -ffdx
    SKIA="$PWD"
    cd $(mktemp -d);
    cmake "${SKIA}/cmake" -DCMAKE_BUILD_TYPE=Debug -G Ninja
    ninja
GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1757993006

Review URL: https://codereview.chromium.org/1757993006
2016-03-04 08:30:05 -08:00
reed
a0cee5f30e remove align16 calls in skhader context sizes. will handle this elsewhere as needed
BUG=skia:
GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1768433003

TBR=

basically reverts previous CL, but keeps the create --> onCreate change

Review URL: https://codereview.chromium.org/1768433003
2016-03-04 07:38:12 -08:00
egdaniel
8b6394c24f Add a cache of GrVkSamplers in GrVkResourceProvider.
BUG=skia:
GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1765523002

Review URL: https://codereview.chromium.org/1765523002
2016-03-04 07:35:10 -08:00
bsalomon
d3312595c8 Revert of Don't allow nullptr in texels array params (unless using a transfer buffer). (patchset #3 id:60001 of https://codereview.chromium.org/1765633002/ )
Reason for revert:
breaks vk build

Original issue's description:
> Don't allow nullptr in texels array params (unless using a transfer buffer).
>
> Require all levels in writePixels to have a non-nullptr.
> GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1765633002
>
> Committed: https://skia.googlesource.com/skia/+/8ee78f31b2a29a5f76403755ea17bad9be74a3ec

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

Review URL: https://codereview.chromium.org/1760343003
2016-03-04 07:06:43 -08:00
fmalita
0032a302ca Fix SkRadialGradient center discontinuity
(AKA let's slow down radial gradients!)

Avoid discontinuities when r ~= 0.

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

Review URL: https://codereview.chromium.org/1753133003
2016-03-04 06:29:35 -08:00
bsalomon
8ee78f31b2 Don't allow nullptr in texels array params (unless using a transfer buffer).
Require all levels in writePixels to have a non-nullptr.
GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1765633002

Review URL: https://codereview.chromium.org/1765633002
2016-03-04 06:23:36 -08:00
msarett
7c87cf44cf Fix YUV horizontal and vertical sampling checks
The should fix crashes while decoding skps.

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

Review URL: https://codereview.chromium.org/1766523002
2016-03-04 06:23:20 -08:00
borenet
f1215a537f Swarming bots: setup for skipping download of build products
Turns out it's pretty easy to pass the compile outputs to the test task by just adding the hash to the "includes" list in the .isolated file.  So the flow is:
1. Isolate skia repo
2. Run compile task, record hash of results
3. Isolate test inputs for DM. This writes a .isolated file
4. Edit the .isolated file from #3 to include the hash from #2
5. Upload the modified .isolated file to the isolate server
6. Trigger the swarming task for DM
7. Wait for DM task to finish, download results from isolate server
8. Upload results to GS as normal

I expect the swarming bots to break when this is committed due to the moved out directory.  The associated recipe change will fix them.

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

Review URL: https://codereview.chromium.org/1759553003
2016-03-04 04:55:26 -08:00
kkinnunen
68c63b3727 Avoid drawing NVPR DIF text when text size is 0
Avoid drawing text when using NVPR and device independent fonts.
The drawing calculations cause division by zero and produce NaNs
to transforms (due to fTextInverseRatio).

Reproed by top25desk_twitter.skp as well as the added testcase.
GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1760163002

Review URL: https://codereview.chromium.org/1760163002
2016-03-04 00:12:34 -08:00
reed
56fb57a051 disable assert for now
BUG=skia:
GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1760373002

TBR=

Review URL: https://codereview.chromium.org/1760373002
2016-03-03 19:43:50 -08:00
reed
773ceda51c Enforce 16byte alignment in shader contexts (patchset #1 id:1 of https://codereview.chromium.org/1759653004/ )"
This reverts commit e38bcaf24b.

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

TBR=

Review URL: https://codereview.chromium.org/1763973002
2016-03-03 18:18:25 -08:00