Commit Graph

20591 Commits

Author SHA1 Message Date
robertphillips
98124ef2f9 Make SkPixelXorXfermode's opColor be SkPMColor
Xoring an SkColor with 2 SkPMColors creates rendering inconsistencies on Macs and some Android devices in 8888.

AFAICT Android doesn't compensate for this so we may be changing SkPixelXorXfermode's behavior on Android.

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

Review URL: https://codereview.chromium.org/1646453003
2016-01-28 06:41:11 -08:00
joshualitt
b35c82dc94 Add a background timing thread to kilobench
BUG=skia:
GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1612513002

Review URL: https://codereview.chromium.org/1612513002
2016-01-28 06:26:35 -08:00
jcgregorio
21ab1209f5 skiaserve: Clean up flags.
Remove unused flags.
Add --port and --source.

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

Review URL: https://codereview.chromium.org/1643963002
2016-01-28 06:24:19 -08:00
svaisanen
c47635e0ed Adding support for parsing extended gpu config parameters in nanobench
BUG=skia:2992
GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1603063005

Review URL: https://codereview.chromium.org/1603063005
2016-01-28 06:05:43 -08:00
jcgregorio
6a2046ea34 skiaserve: Add CORS header, and debugger code is served over HTTPS.
BUG=skia:
GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1646683002

Review URL: https://codereview.chromium.org/1646683002
2016-01-28 05:31:31 -08:00
fmalita
4c5f1f6114 Remove SK_SUPPORT_LEGACY_SAVEFLAGS define on Android
Android is the only platform still using SK_SUPPORT_LEGACY_SAVEFLAGS
(indirectly, due to SK_SUPPORT_LEGACY_CLIPTOLAYERFLAG).

At this point it should be safe to remove the define.

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

Review URL: https://codereview.chromium.org/1636103002
2016-01-27 18:46:30 -08:00
mtklein
62358e77c2 SkPngFilters: guard with libpng >= 1.5.7
The read_filter array was added in libpng-1.5.7.
No point to these filter methods if we can't plug them into libpng.

TBR=msarett@google.com
NOTRY=true
NOPRESUBMIT=true

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

Review URL: https://codereview.chromium.org/1640933004
2016-01-27 18:26:31 -08:00
mtklein
1c971faab7 SkPngFilters: use normal pointer types.
TBR=msarett@google.com

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

Review URL: https://codereview.chromium.org/1641793004
2016-01-27 16:10:53 -08:00
mtklein
bbb6dc80fd kill SkValue
This is clearly not what we're going to do.

TBR=reed@google.com

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

Review URL: https://codereview.chromium.org/1643753002
2016-01-27 13:08:33 -08:00
mtklein
372d65cc6e sketch hooking into PNG_FILTER_OPTIMIZATIONS
Local timing says this 4-byte Paeth function takes about 0.3x the time the serial libpng code does, dropping from ~10 cycles per byte to ~2.9.

bpp=4 is mainly an easy demo.  This approach can work for any bpp up to 16, 1 pixel at a time, at roughly the same cost per pixel.  Doing more than 1 pixel at a time is a tricky math problem I have yet to attempt to solve.

Everything here can be trivially downgraded to MMX, supporting bpp up to 8.  It seems to be a little slower (~3.5 cycles per byte), but it would make the code compatible with every x86 that can still power on.

I've tried four approaches:
  - this way;
  - doing things naively in 16-bit;
  - a 16-bit version that requires division by 3 (i.e. mulhi_epu16(..., 0x5580) );
  - a mostly 8-bit version of the same.

They're all fine, but this one is consistently the fastest I've measured.
I'd be happy to settle on the naive 16-bit version too, which would have a very clear implementation that's only minorly slower than this version.  The other two are way more complicated, and would require us to draw some serious ASCII diagrams to explain.

I have learned that the .skp serialization tests (serialize-8888) have a nice side effect of testing the correctness of these filters!

(Since writing the description above, I've bumped things up to {Paeth,Sub,Avg} x { 3 bpp, 4 bpp }.)

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

Review URL: https://codereview.chromium.org/1573943002
2016-01-27 13:01:41 -08:00
jcgregorio
9ce4110a29 skiaserve: Enable /cmd endpoint.
BUG=skia:
GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1639403002

Review URL: https://codereview.chromium.org/1639403002
2016-01-27 12:15:38 -08:00
msarett
553431240b Revert of Consolidate SkStream copying methods (patchset #1 id:1 of https://codereview.chromium.org/1640793002/ )
Reason for revert:
Test to see if this fixes the bots.

Original issue's description:
> Consolidate SkStream copying methods
>
> Make SkCopyStreamToData call SkStreamCopy, removing duplicate code.
>
> The former still has its own method of copying with a length, since
> it saves one copy.
>
> BUG=skia:4788
> GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1640793002
>
> Committed: https://skia.googlesource.com/skia/+/440c5a98dee428c661b77d149e30c794d264b8cd

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

Review URL: https://codereview.chromium.org/1641853002
2016-01-27 12:06:22 -08:00
msarett
a7dd73ba53 Suppress jpeg valgrind errors
Do a better job suppressing these errors until I can prioritize fixing
them.

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

Review URL: https://codereview.chromium.org/1641763002
2016-01-27 12:05:27 -08:00
jcgregorio
6f17bc5895 skiaserve: Set 303 status code on redirect.
BUG=skia:
GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1641823002

Review URL: https://codereview.chromium.org/1641823002
2016-01-27 11:44:38 -08:00
kjlubick
2b6aa21817 Make fuzz output the words success for a 'clean exit'
The analysis looks for "Success" to determine if the fuzz should be considered
a clean exit or not.  It classifies clean exists as "grey" fuzzes, i.e. fixed.

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

Review URL: https://codereview.chromium.org/1646603002
2016-01-27 11:34:36 -08:00
joshualitt
609d979187 Wire up JsonCanvas in skiaserve
BUG=skia:
GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1640333002

Review URL: https://codereview.chromium.org/1640333002
2016-01-27 11:07:23 -08:00
scroggo
440c5a98de Consolidate SkStream copying methods
Make SkCopyStreamToData call SkStreamCopy, removing duplicate code.

The former still has its own method of copying with a length, since
it saves one copy.

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

Review URL: https://codereview.chromium.org/1640793002
2016-01-27 10:51:56 -08:00
ethannicholas
2bbc343c14 switched to SkJSONCPP for JSON output
GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1639333002

Review URL: https://codereview.chromium.org/1639333002
2016-01-27 09:06:35 -08:00
yujieqin
fda27a977d Fix Windows build
BUG=skia:
GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1633413003

Review URL: https://codereview.chromium.org/1633413003
2016-01-27 09:03:20 -08:00
scroggo
0edf1693df Stop testing SkImageDecoder in DM/nanobench
We have already used it for comparison, and are switching forward
to using SkCodec. This also allows us to simplify the code for checking
the extensions we support for images.
GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1641663002

Review URL: https://codereview.chromium.org/1641663002
2016-01-27 08:26:44 -08:00
yujieqin
076d83d09a Enable RAW codec for Windows
* Use new DNG SDK version from ASOP, which fixed some build issues.
* Fix SkRawCodec.
* Fix gyp files.

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

Review URL: https://codereview.chromium.org/1641533004
2016-01-27 08:25:53 -08:00
ebrauer
b84b5b42c1 It derives the dng_host and overrides PerformAreaTask() to split the task into several sub-tasks which get added to SkTaskGroup.
BUG=skia:
GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1634763002

Review URL: https://codereview.chromium.org/1634763002
2016-01-27 08:21:03 -08:00
yujieqin
24716be1d1 Fix complier issue [-Werror, -Wvla]
BUG=skia:4861
GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1638323002

Review URL: https://codereview.chromium.org/1638323002
2016-01-27 07:59:00 -08:00
joshualitt
ccfdaa5f2a Add primitive url handling system to skiaserve
BUG=skia:
GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1644633002

Review URL: https://codereview.chromium.org/1644633002
2016-01-27 07:40:29 -08:00
yujieqin
8f5175842d Update DEPS to use new PIEX version from AOSP.
Highlight:
* Better support for reading GPS tags

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

Review URL: https://codereview.chromium.org/1646433003
2016-01-27 07:32:43 -08:00
joshualitt
9a4e1883b0 Allow clients to upload skps to skiaserve
BUG=skia:
GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1638883002

Review URL: https://codereview.chromium.org/1638883002
2016-01-27 07:03:29 -08:00
robertphillips
f42fca4027 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

Review URL: https://codereview.chromium.org/1607253002
2016-01-27 05:00:04 -08:00
caryclark
5ba2b9612a move more geometry to simd
Remove duplicate quad and cubic code around
computing the polynomial coefficients, and
use common SIMD-based code instead.

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

Review URL: https://codereview.chromium.org/1633143002
2016-01-26 17:02:30 -08:00
robertphillips
727b7d27af Add gpu backend for SkPixelXorXfermode
GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1631873002

Review URL: https://codereview.chromium.org/1631873002
2016-01-26 12:07:13 -08:00
reed
ed0bf1b43e remove unused sample
BUG=skia:
GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1634683006

TBR=

Review URL: https://codereview.chromium.org/1634683006
2016-01-26 10:37:21 -08:00
cblume
6121405df5 Cleaning up trailing spaces and typos.
BUG=skia:
GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1631993002

Review URL: https://codereview.chromium.org/1631993002
2016-01-26 09:10:48 -08:00
senorblanco
eae84c2e0e Image filters: fix srcOffset handling in asFragmentProcessor() path.
Filters such as SkMatrixConvolutionImageFilter which use the
asFragmentProcessor() path were not correctly handling srcOffset.
It is correctly applied to the bounds, but the srcRect and dstRect
were computed from the pre-offset bounds.

The fix is to move them to just above where they're used in drawing.

Note: this change adds a new test case to the imagefiltersgraph GM,
so it will have to be rebaselined post-landing.

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

Review URL: https://codereview.chromium.org/1637443003
2016-01-26 08:41:03 -08:00
ethannicholas
978d08a4a9 Initial support for turning Skia draws into a JSON document and vice versa.
GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1636563002

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

Review URL: https://codereview.chromium.org/1636563002
2016-01-26 07:47:58 -08:00
mtklein
a766ca87bf de-proc sk_float_rsqrt
This is the first of many little baby steps to have us stop runtime-detecting NEON.

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

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

Review URL: https://codereview.chromium.org/1616013003
2016-01-26 07:40:30 -08:00
lsalzman
05332d9c8a check for both __ARM_NEON__ and __ARM_NEON
No public API changes.
TBR=reed@google.com

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

Review URL: https://codereview.chromium.org/1630903004
2016-01-26 07:34:51 -08:00
bsalomon
e9573317d3 Make A8 readbacks work from non-A8 surfaces
Expand testing of A8 readbacks.

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

Review URL: https://codereview.chromium.org/1613903005
2016-01-25 14:33:25 -08:00
robertphillips
64b0f5f957 Remove SkLerpXfermode
This relies on the Chromium CL https://codereview.chromium.org/1610573004/ (Replace use of SkLerpXfermode with SkArithmeticMode)

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

Review URL: https://codereview.chromium.org/1611633002
2016-01-25 14:19:56 -08:00
msarett
7a561230a2 Revert of Initial support for turning Skia draws into a JSON document and vice versa. (patchset #3 id:80001 of https://codereview.chromium.org/1636563002/ )
Reason for revert:
Breaking the CMake build.

Original issue's description:
> Initial support for turning Skia draws into a JSON document and vice versa.
> GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1636563002
>
> Committed: https://skia.googlesource.com/skia/+/3cb582f688822461efa5a034e18008bf2f11e4f8

TBR=jcgregorio@google.com,joshualitt@google.com,mtklein@google.com,ethannicholas@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/1637643002
2016-01-25 13:57:25 -08:00
ethannicholas
3cb582f688 Initial support for turning Skia draws into a JSON document and vice versa.
GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1636563002

Review URL: https://codereview.chromium.org/1636563002
2016-01-25 13:28:28 -08:00
msarett
8e49ca33b0 Disable RAW test when SkRawCodec is not compiled
TBR=scroggo@google.com

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

Review URL: https://codereview.chromium.org/1639533002
2016-01-25 13:10:58 -08:00
benjaminwagner
8d61f0dd1b Add pre_log option to nanobench; make this option default true in nanobench_flags.py and dm_flags.py.
BUG=skia:4826
BUG=skia:4827
GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1612483002

Review URL: https://codereview.chromium.org/1612483002
2016-01-25 13:02:40 -08:00
bungeman
1fce5584cf Work around vs2013sp2-3 bug in skstd::unique_ptr.
When compiling skstd::unique_ptr::compressed_base with the vc++ in
some intermediate service pack versions of Visual Studio 2013 the
compiler will crash with an internal compiler error. In the interest of
reducing headaches, work around this issue in skstd::unique_ptr until
std::unique_ptr can be used.

BUG=skia:4564

Review URL: https://codereview.chromium.org/1636503002
2016-01-25 13:00:34 -08:00
msarett
7869bbff26 Fix gyp files so that gyp_to_Android.mk succeeds
BUG=skia:
GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1630723003

Review URL: https://codereview.chromium.org/1630723003
2016-01-25 11:40:02 -08:00
robertphillips
914bd435a8 Fix memory leak in pixelxorxfermode GM
GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1633773002

TBR=jvanverth@google.com

Review URL: https://codereview.chromium.org/1633773002
2016-01-25 11:34:16 -08:00
iroth
d2ccc772d4 Changes to public.bzl to support building on iOS with objc_library bazel target.
BUG=skia:
GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1639443002

Review URL: https://codereview.chromium.org/1639443002
2016-01-25 11:24:57 -08:00
msarett
02cb4d469a Disable RAW test on Chrome OS, Windows
TBR=scroggo@google.com

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

Review URL: https://codereview.chromium.org/1633763002
2016-01-25 11:01:34 -08:00
msarett
01813e880a Fix leak of SkImageGenerator
BUG=skia:
GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1638463002

Review URL: https://codereview.chromium.org/1638463002
2016-01-25 10:51:29 -08:00
joshualitt
8cc3f4e38f Build and link microhttpd from gyp
BUG=skia:
GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1628363002

Review URL: https://codereview.chromium.org/1628363002
2016-01-25 10:50:04 -08:00
benjaminwagner
89061ed2e7 Remove RAW Codec from Google3 build.
This should fix the build after https://codereview.chromium.org/1520403003 and allow the autoroller to complete. I will follow up to see if it will be simple to re-enable this codec.
GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1628393002

Review URL: https://codereview.chromium.org/1628393002
2016-01-25 09:29:09 -08:00
mtklein
20473344b2 spin off some safe parts from AVX2 CL
(reviewed here https://codereview.chromium.org/1532613002/)

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

Review URL: https://codereview.chromium.org/1628333003
2016-01-25 09:26:54 -08:00