Commit Graph

21308 Commits

Author SHA1 Message Date
aleksandar.stojiljkovic
88cb82246a 4377: drawVertices crashes when shader+colorfilter in the paint
Fix memory corruption that is result of static_casting SkFilterShaderContext*
 to SkTriColorShaderContext* and then changing it's state using setup()

SkTriColorShader and it's Context could be wrapped by Compose, 3DShader and
 SkFilterShader, but the link SkTriColorShaderContext -> SkTriColorShader
 (fShader) always remain - so this way, data about triangle is propagated.

BUG=4377

Didn't add new unit test - it would be redundant since the GM vertices update here: https://codereview.chromium.org/1361173003/ is covering the bug. With this patch it passes.

Review URL: https://codereview.chromium.org/1431713003
2016-03-08 11:18:22 -08:00
joshualitt
810f77fb9c Create a small python driver for skiaserve
BUG=skia:
GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1754213005

Review URL: https://codereview.chromium.org/1754213005
2016-03-08 10:56:41 -08:00
robertphillips
ab01ccd278 Rename SkSpecialImage::getBitmap to getBitmapDeprecated
Review URL: https://codereview.chromium.org/1780433002
2016-03-08 10:45:32 -08:00
joshualitt
b0666ad3a9 Fix up GrAuditTrail to allow arbitrary reordering
BUG=skia:
GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1765123002

Review URL: https://codereview.chromium.org/1765123002
2016-03-08 10:43:42 -08:00
fmalita
d8a4f77211 Fix 4f gradient swizzle post http://crrev.com/1774523002
* store interval colors in pm4f-natural/RGBA order
* swizzle to dst order during interval advance

Also remove an unused Interval ctor.

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

Review URL: https://codereview.chromium.org/1770153002
2016-03-08 10:20:49 -08:00
reed
93bb080503 make pm4f be RGBA always, not pmcolor order
BUG=skia:
GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1774523002

Review URL: https://codereview.chromium.org/1774523002
2016-03-08 10:09:18 -08:00
joshualitt
08e65e718a Lazy init batch unique ID
BUG=skia:
GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1772023003

Review URL: https://codereview.chromium.org/1772023003
2016-03-08 09:31:15 -08:00
senorblanco
e6eaa320e8 Small GrTessellator refactor and cleanup.
Implement a VertexList, and use it.
Rename insert<> -> list_insert<>.
Rename remove<> -> list_remove<>.
Remove some spurious returns.
GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1771373002

Review URL: https://codereview.chromium.org/1771373002
2016-03-08 09:06:44 -08:00
reed
aa5e1ae06b work around leftshift for negative values
BUG=skia:
GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1774963002

Review URL: https://codereview.chromium.org/1774963002
2016-03-08 09:02:24 -08:00
mtklein
c41fd9251d DM: verbose and quiet logging
If you pass no flags, output is pretty much unchanged from today: calls to
info() go to the console, calls to vlog() are ignored.

If you pass --verbose and -w dir, all calls to info(), vlog() and all of stderr
are redirected to dir/verbose.log.  info() calls also go to the console,
unless you pass --quiet, in which case nothing goes to the console at all.

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

Review URL: https://codereview.chromium.org/1771143002
2016-03-08 09:01:39 -08:00
robertphillips
c80bf74bcc Switch SkOffsetImageFilter over to new onFilterImage interface
This CL relies on: https://codereview.chromium.org/1762013002/ (Swap over to using SkImageFilter::filterImage instead of filterImageDeprecated)

TBR=bsalomon@google.com

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

Review URL: https://codereview.chromium.org/1766743003
2016-03-08 08:47:23 -08:00
robertphillips
bd590aa658 Fix caching bug in new SkImageFilter::filterImage path
GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1777573002

Review URL: https://codereview.chromium.org/1777573002
2016-03-08 08:37:18 -08:00
bungeman
c901c11549 Add element_type, swap, operators, fix reset on sk_sp.
The 'element_type' typedef is to play nice with std::pointer_traits.

The full complement of operators and swap to match unique_ptr so that
sk_sp can be properly compared to nullptr and used with standard
containers.

Update to 'reset' so that calling 'unref' is the last operation.

This also adds tests for these changes, and sets the fPtr to nullptr
in debug for easier bug finding.

Review URL: https://codereview.chromium.org/1773453002
2016-03-08 08:35:23 -08:00
halcanary
ece8392438 SkPDF: use sk_make_sp<T> when it makes sense.
GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1773033002

Review URL: https://codereview.chromium.org/1773033002
2016-03-08 08:32:12 -08:00
bsalomon
cdaa97bf66 Circle GP/batch housecleaning
GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1764923003

Review URL: https://codereview.chromium.org/1764923003
2016-03-08 08:30:15 -08:00
borenet
f2e2a1e290 Swarming bots: fix trybots
Requires a recipe-side change as well.

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

Review URL: https://codereview.chromium.org/1768333002
2016-03-08 05:33:03 -08:00
benjaminwagner
706d21ffd0 Hide new methods from non-Android.
Review URL: https://codereview.chromium.org/1769933004
2016-03-07 17:58:03 -08:00
msarett
53add95b2e Disable color space test for old versions of libpng
Should fix the Google3 build.

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

Review URL: https://codereview.chromium.org/1769953002
2016-03-07 17:25:12 -08:00
mtklein
4675220000 Archive SkRemote-related code. I want to start fresh.
BUG=skia:
GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1774013002

Review URL: https://codereview.chromium.org/1774013002
2016-03-07 17:20:26 -08:00
cdalton
8d988b3a73 Add support for 2x2 matrices
BUG=skia:
GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1755483002

Review URL: https://codereview.chromium.org/1755483002
2016-03-07 15:39:09 -08:00
halcanary
48810a0237 SkPDF: s/SkAutoTUnref/sk_sp/g
Review URL: https://codereview.chromium.org/1771073002
2016-03-07 14:57:50 -08:00
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