Commit Graph

3318 Commits

Author SHA1 Message Date
msarett
91c22b2ea6 Use new jpeg_crop_scanlines() API to optimize jpeg subset decodes
This was adapted from:
https://codereview.chromium.org/1530933003

Subset Decode Runtime (Original / Optimized) on Nexus 6P
TopLeft     0.51x
TopRight    0.56x
Middle      0.71x
BottomLeft  0.79x
BottomRight 0.79x

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

Review URL: https://codereview.chromium.org/1719073002
2016-02-22 12:27:46 -08:00
bsalomon
7499e69d99 Incorporate Vulkan files into main gpu.gyp/gpu.gypi
BUG=skia:
GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1718273002

Review URL: https://codereview.chromium.org/1718273002
2016-02-22 12:13:19 -08:00
fmalita
bc590c01b0 Initial linear gradient 4f impl
GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1688543002

Review URL: https://codereview.chromium.org/1688543002
2016-02-22 09:12:33 -08:00
Greg Daniel
164a9f061c Add vulkan files into skia repo. This is an incomplete backend with only partial functionality at this time.
R=robertphillips@google.com
TBR=bsalomon@google.com

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

Committed: https://skia.googlesource.com/skia/+/48cf268defad66f58f1aa03b4835e5583be96b2f

Review URL: https://codereview.chromium.org/1718693002
2016-02-22 09:56:40 -05:00
reed
129ed1cd6d lots of sRGB and F16 blits
- generalize F16 xfermode procs
- spriteblits for F16 and sRGB
- saveLayer now respects colortype and profiletype

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

Review URL: https://codereview.chromium.org/1685203002
2016-02-22 06:42:31 -08:00
egdaniel
ad3a13c4c3 Revert of Add vulkan files into skia repo. (patchset #2 id:20001 of https://codereview.chromium.org/1718693002/ )
Reason for revert:
breaking builds

Original issue's description:
> Add vulkan files into skia repo. This is an incomplete backend with only partial functionality at this time.
>
> R=robertphillips@google.com
> TBR=bsalomon@google.com
>
> BUG=skia:4955
> GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1718693002
>
> Committed: https://skia.googlesource.com/skia/+/48cf268defad66f58f1aa03b4835e5583be96b2f

TBR=robertphillips@google.com,bsalomon@google.com,jvanverth@google.com
# Skipping CQ checks because original CL landed less than 1 days ago.
NOPRESUBMIT=true
NOTREECHECKS=true
NOTRY=true
BUG=skia:4955

Review URL: https://codereview.chromium.org/1723503002
2016-02-22 06:17:53 -08:00
Greg Daniel
48cf268def Add vulkan files into skia repo. This is an incomplete backend with only partial functionality at this time.
R=robertphillips@google.com
TBR=bsalomon@google.com

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

Review URL: https://codereview.chromium.org/1718693002
2016-02-22 09:11:32 -05:00
bsalomon
365bbff200 Changes to merge vulkan code
BUG=skia:
GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1711793004

Review URL: https://codereview.chromium.org/1711793004
2016-02-19 14:26:30 -08:00
msarett
740668d907 Update libpng to 1.6.22beta
Intel SSE filter optimizations have been upstreamed.  Let's test on
the upstream version (which we can use in Android).

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

Review URL: https://codereview.chromium.org/1710083007
2016-02-19 11:14:43 -08:00
robertphillips
df7bb471e5 Update SkImageFilter's cache to handle SkSpecialImages and add unit test
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=1709263002
TBR=bsalomon@google.com

Review URL: https://codereview.chromium.org/1709263002
2016-02-19 08:19:40 -08:00
ethannicholas
c85d9fbc0a GrAuditTrail can now be enabled/disabled at runtime
GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1712753002

TBR=bsalomon@google.com
Doesn't actually change the public API

Review URL: https://codereview.chromium.org/1712753002
2016-02-18 13:45:40 -08:00
bungeman
d689bf8748 Move SkTInternalLList.h to src/core.
TBR=reed
Not intended for external use.

Review URL: https://codereview.chromium.org/1712563004
2016-02-18 11:53:18 -08:00
bungeman
bc1cebbd2b Move SkTDStack.h to src/animator.
This file is only used by animator and may or may not be sane. Move
the file from include/core to src/animator since no one else is using
it.

TBR=reed
Make it go away!

Review URL: https://codereview.chromium.org/1710083002
2016-02-18 11:01:13 -08:00
bungeman
a7e9f05119 Move SkTDArray to private.
TBR=reed
Moving to private is good.

Review URL: https://codereview.chromium.org/1707213002
2016-02-18 08:53:33 -08:00
bungeman
bf521ff941 Move SkTArray to include/private.
TBR=reed
Agreed moving to private is good.

Review URL: https://codereview.chromium.org/1702073002
2016-02-17 13:13:44 -08:00
joshualitt
6b3cf73af5 Add batch information to json
BUG=skia:
GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1705093002

Review URL: https://codereview.chromium.org/1705093002
2016-02-17 11:20:26 -08:00
msarett
8715d47e24 Make SkPicture/SkImageGenerator default to SkCodec
Remove reference to SkImageDecoder from SkPicture. Make the default
InstallPixelRefProc passed to CreateFromStream use
SkImageGenerator::NewFromEncoded instead.

Make SkImageGenerator::NewFromEncoded create an SkCodecImageGenerator.
Remove the old version that used SkImageDecoder.

Remove all versions of lazy_decode_bitmap/LazyDecodeBitmap. The default
now behaves lazily.

Update all clients to use the default.

Move SkImageDecoderGenerator into KtxTest.cpp, and use it directly.

This is a rebased version of:
https://codereview.chromium.org/1671193002/

TBR=reed@google.com

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

Review URL: https://codereview.chromium.org/1699183004
2016-02-17 10:02:29 -08:00
herb
feec878e85 Simplified linear pipeline.
BUG=skia:
GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1704583003

Review URL: https://codereview.chromium.org/1704583003
2016-02-17 10:00:07 -08:00
msarett
39b2d5a1ac Individually enable and disable SkCodecs
BUG=skia:4956
GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1702533004
CQ_EXTRA_TRYBOTS=client.skia.compile:Build-Ubuntu-GCC-x86_64-Release-CMake-Trybot

Review URL: https://codereview.chromium.org/1702533004
2016-02-17 08:26:32 -08:00
mtklein
34d26b9652 dead code: really kill these off again
BUG=skia:
GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1702343002

Review URL: https://codereview.chromium.org/1702343002
2016-02-17 06:47:52 -08:00
mtklein
32a45f6c96 These files must be in the gypi for GN to remove them...
BUG=skia:
GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1696373005

Review URL: https://codereview.chromium.org/1696373005
2016-02-16 20:56:13 -08:00
mtklein
048494c1e2 clean up more dead code
- SkSHA1 is unused
  - SkRunnable is obsolete now that we have std::function

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

Review URL: https://codereview.chromium.org/1705583003
2016-02-16 19:06:15 -08:00
mtklein
f60a8908d2 Delete dead code. SkBitmapHasher has not been used since gm.
BUG=skia:
GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1704783002

Review URL: https://codereview.chromium.org/1704783002
2016-02-16 18:38:15 -08:00
joshualitt
8e84a1ed07 Delete GrTextContext
TBR=bsalomon@google.com
BUG=skia:
GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1699073004

Review URL: https://codereview.chromium.org/1699073004
2016-02-16 11:09:25 -08:00
ethannicholas
546d66544b tuned skiaserve's png output for better performance
GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1704573002

Review URL: https://codereview.chromium.org/1704573002
2016-02-16 11:03:04 -08:00
joshualitt
96880d9e36 Create GrPathRenderingDrawContext
TBR=bsalomon@google.com
BUG=skia:
GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1701013002

Review URL: https://codereview.chromium.org/1701013002
2016-02-16 10:36:53 -08:00
djsollen
e71dc3fd0d Use a statically linked libhwui for testing.
GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1688383005

Review URL: https://codereview.chromium.org/1688383005
2016-02-16 09:19:36 -08:00
joshualitt
ddd22d8645 Remove last bit of privacy violation for GrAtlasTextBlob
BUG=skia:
GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1698503002

Review URL: https://codereview.chromium.org/1698503002
2016-02-16 06:47:52 -08:00
mtklein
6f65957335 Setup for -Fast GCE bot.
I'd like a bot that has got optimization turned up to 11,
to let us test things that our Chrome-like bots normally can't.

(Not quite ready to commit this bot to -ffast-math yet.)

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

Review URL: https://codereview.chromium.org/1704473002
2016-02-16 06:42:51 -08:00
reed
66a6589478 starter kit for colorspaces
BUG=skia:
GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1692893003

TBR=jvanverth

Review URL: https://codereview.chromium.org/1695353002
2016-02-15 14:26:14 -08:00
reed
8681e60b2c make SkComposeShader.h private
BUG=skia:
GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1697523003

Review URL: https://codereview.chromium.org/1697523003
2016-02-15 08:27:14 -08:00
msarett
3478f753ff Adding a tool to get images from skps
BUG=skia:
GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1696763002

Review URL: https://codereview.chromium.org/1696763002
2016-02-12 14:47:09 -08:00
mtklein
c089ba5d69 followups
BUG=skia:
GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1693823005

Review URL: https://codereview.chromium.org/1693823005
2016-02-12 12:58:10 -08:00
msarett
70e418b468 Make SkJpegCodec compatible with libjpeg
BUG=skia:4470
BUG=skia:4520
GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1687863003

Review URL: https://codereview.chromium.org/1687863003
2016-02-12 12:35:49 -08:00
mtklein
013475a272 Put all XSAN bots on the same DEPS-sourced build of Clang.
This adds LLVM, Clang, and compiler-rt (*san tools) to DEPS,
then uses them from xsan_build, building them if needed.

This is similar to how the CMake bots bootstrap CMake if needed.

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

Review URL: https://codereview.chromium.org/1693733003
2016-02-12 12:15:23 -08:00
jbroman
bbfe47bd0f Add a dependency from the debugger on tools.gyp:url_data_manager.
BUG=skia:4947
GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1695753003

Review URL: https://codereview.chromium.org/1695753003
2016-02-12 11:29:23 -08:00
djsollen
2a8fcb4647 Update Android framework makefile to build static and shared libs
Also use static lib for testing tools and expose includes needed for
other framework testing tools to statically link in Skia.
GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1696483002

Review URL: https://codereview.chromium.org/1696483002
2016-02-12 08:44:39 -08:00
msarett
829caa2f6b Delete SkDecodingImageGenerator
BUG=skia:
GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1692053002

Review URL: https://codereview.chromium.org/1692053002
2016-02-11 14:17:17 -08:00
ethannicholas
f62a8b786c integrated SkDebugCanvas JSON support with UrlDataManager
GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1686143004

Review URL: https://codereview.chromium.org/1686143004
2016-02-11 10:35:21 -08:00
kjlubick
1de415f2c3 Revert of Make SkPicture/SkImageGenerator default to SkCodec (patchset #7 id:120001 of https://codereview.chromium.org/1671193002/ )
Reason for revert:
Breaks Ubuntu and Mac CMAKE

Original issue's description:
> Make SkPicture/SkImageGenerator default to SkCodec
>
> Remove reference to SkImageDecoder from SkPicture. Make the default
> InstallPixelRefProc passed to CreateFromStream use
> SkImageGenerator::NewFromEncoded instead.
>
> Make SkImageGenerator::NewFromEncoded create an SkCodecImageGenerator.
> Remove the old version that used SkImageDecoder.
>
> Remove all versions of lazy_decode_bitmap/LazyDecodeBitmap. The default
> now behaves lazily.
>
> Update all clients to use the default.
>
> Move SkImageDecoderGenerator into KtxTest.cpp, and use it directly.
>
> BUG=skia:4691
> BUG=skia:4290
> GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1671193002
>
> Committed: https://skia.googlesource.com/skia/+/026388a01864c74208ad57d1ba4f711602d101c6

TBR=msarett@google.com,reed@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:4691

Review URL: https://codereview.chromium.org/1685963004
2016-02-10 11:25:07 -08:00
scroggo
026388a018 Make SkPicture/SkImageGenerator default to SkCodec
Remove reference to SkImageDecoder from SkPicture. Make the default
InstallPixelRefProc passed to CreateFromStream use
SkImageGenerator::NewFromEncoded instead.

Make SkImageGenerator::NewFromEncoded create an SkCodecImageGenerator.
Remove the old version that used SkImageDecoder.

Remove all versions of lazy_decode_bitmap/LazyDecodeBitmap. The default
now behaves lazily.

Update all clients to use the default.

Move SkImageDecoderGenerator into KtxTest.cpp, and use it directly.

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

Review URL: https://codereview.chromium.org/1671193002
2016-02-10 11:15:21 -08:00
ethannicholas
50a8dd0a00 Moved Canvas->JSON and JSON->Canvas functionality into SkDebugCanvas.
SkJSONCanvas and SkJSONRenderer will be deleted once the debug server
has been updated.
GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1681643002

Committed: https://skia.googlesource.com/skia/+/32fff1ba0c759d97ab78320b7ae46dd7696a4e6e

Committed: https://skia.googlesource.com/skia/+/46cb6d6b82b0ab71033aef91419e8beae25bb8a4

Review URL: https://codereview.chromium.org/1681643002
2016-02-10 05:40:46 -08:00
caryclark
d116561ddc Revert of Moved Canvas->JSON and JSON->Canvas functionality into SkDebugCanvas. (patchset #3 id:40001 of https://codereview.chromium.org/1681643002/ )
Reason for revert:
breaks various android builds, e.g.

acb02999d4/logs/build_error.log

external/skia/bench/../tools/debugger/SkDrawCommand.cpp:602:9: error: use of undeclared identifier 'free'
        free(data);

Original issue's description:
> Moved Canvas->JSON and JSON->Canvas functionality into SkDebugCanvas.
> SkJSONCanvas and SkJSONRenderer will be deleted once the debug server
> has been updated.
> GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1681643002
>
> Committed: https://skia.googlesource.com/skia/+/32fff1ba0c759d97ab78320b7ae46dd7696a4e6e
>
> Committed: https://skia.googlesource.com/skia/+/46cb6d6b82b0ab71033aef91419e8beae25bb8a4

TBR=jcgregorio@google.com,joshualitt@chromium.org,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/1683093002
2016-02-10 04:34:08 -08:00
ethannicholas
46cb6d6b82 Moved Canvas->JSON and JSON->Canvas functionality into SkDebugCanvas.
SkJSONCanvas and SkJSONRenderer will be deleted once the debug server
has been updated.
GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1681643002

Committed: https://skia.googlesource.com/skia/+/32fff1ba0c759d97ab78320b7ae46dd7696a4e6e

Review URL: https://codereview.chromium.org/1681643002
2016-02-09 14:37:55 -08:00
ethannicholas
3cb954245c moved debugger support files from src/utils/debugger to tools/debugger
GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1678893003

Review URL: https://codereview.chromium.org/1678893003
2016-02-09 12:44:06 -08:00
caryclark
f1d415188f Add unit test to feed valid SVG sequences to make sure that
path strings can be parsed without returning an error.

Draw the output through Skia and SVG to make sure they are
parsed correctly.

R=fmalita@chromium.org
BUG=skia:4549
GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1675053002

Review URL: https://codereview.chromium.org/1675053002
2016-02-09 10:30:22 -08:00
reed
d2ed622a2f start experimenting with 64bit frame-buffers
BUG=skia:
GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1680523002

Review URL: https://codereview.chromium.org/1680523002
2016-02-09 09:14:59 -08:00
bungeman
918090c819 SkTArray to move when moving.
This updates SkTArray to move elements when possible, instead of always
copying them.

TBR=reed
Agreed moving is good. This should also become private.

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

Review URL: https://codereview.chromium.org/1672063002
2016-02-09 09:14:28 -08:00
joshualitt
3ebd050be5 Create a thermal manager class and wire it in to nanobench behind a flag
BUG=skia:
GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1671573002

Review URL: https://codereview.chromium.org/1671573002
2016-02-09 07:18:08 -08:00
mtklein
81bb79b7b9 Remove SkNx AVX code. It is not really used. Getting in the way of refactoring.
BUG=skia:
GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1679053002
CQ_EXTRA_TRYBOTS=client.skia:Test-Ubuntu-GCC-GCE-CPU-AVX2-x86_64-Release-SKNX_NO_SIMD-Trybot

Review URL: https://codereview.chromium.org/1679053002
2016-02-08 15:50:22 -08:00
mtklein
6fd4e44e23 msan: define BREAK_IF_DEBUGGING_AND_OUT_OF_RANGE in piex
This should assert(false) if we're in the error case of RangeCheckedBytePtr::extractBytes:

> #ifdef BREAK_IF_DEBUGGING_AND_OUT_OF_RANGE
>   #define BREAK_IF_DEBUGGING() assert(false)
> #else
>   #define BREAK_IF_DEBUGGING() assert(true)
> #endif
  ...
> std::vector<unsigned char> RangeCheckedBytePtr::extractBytes(size_t pos, size_t length) const {
>   std::vector<unsigned char> result;
>   if (pos + length < pos /* overflow */ || remainingLength() < pos + length) {
>     BREAK_IF_DEBUGGING();
>     error_flag_ = RANGE_CHECKED_BYTE_ERROR_OVERFLOW;
>     return result;
>   }
  ...

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

Review URL: https://codereview.chromium.org/1678913002
2016-02-08 09:35:05 -08:00
joshualitt
cdad12f3b1 Create image cache for use by json canvas
BUG=skia:
GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1670153005

Review URL: https://codereview.chromium.org/1670153005
2016-02-08 07:08:21 -08:00
mtklein
b9c61f7a6e simplify piex.gyp
Was just starting to dig into skia:4903, and decided to start by learning piex.
It's tiny.  Why such GYP complexity to build 5 files?

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

Review URL: https://codereview.chromium.org/1681533002
2016-02-08 06:33:07 -08:00
mtklein
4e79f33452 msan: build expat from source
This should let us test it on the MSAN bot.

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

CQ_EXTRA_TRYBOTS=client.skia:Test-Ubuntu-GCC-GCE-CPU-AVX2-x86_64-Debug-MSAN-Trybot

Review URL: https://codereview.chromium.org/1674053002
2016-02-07 13:31:23 -08:00
mtklein
a861c007fd try -O1 to speed up msan bot
We want it to be a debug build, but it probably doesn't need to be
completely unoptimized.

dm: 27m -> 7m
nanobench: 140m -> 33m

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

CQ_EXTRA_TRYBOTS=client.skia:Test-Ubuntu-GCC-GCE-CPU-AVX2-x86_64-Debug-MSAN-Trybot

Review URL: https://codereview.chromium.org/1678693002
2016-02-07 09:12:29 -08:00
mtklein
e721a8e883 flags and hacks to get MSAN bot going
This disables a few tests in DM:
   - one BlurLargeImage GM maybe is really broken
   - FontMgrAndroidParser uses libexpat, which I've not (yet?) built from source,
     so MSAN can't see into it.

This extends some of the MSAN stifling we added around SkImageDecoder_libjpeg to SkCodec, and skips .wbmps, .pngs, and .bmps.  We're only seeing issues in colortables for .png and .bmp.

I think I can probably back out disabling Codec and the RAW image decodes...
they should all be covered by the libjpeg stifles.

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

CQ_EXTRA_TRYBOTS=client.skia:Test-Ubuntu-GCC-GCE-CPU-AVX2-x86_64-Release-SKNX_NO_SIMD-Trybot,Test-Ubuntu-GCC-GCE-CPU-AVX2-x86_64-Debug-MSAN-Trybot

TBR=msarett@google.com

Review URL: https://codereview.chromium.org/1673663002
2016-02-06 19:12:23 -08:00
robertphillips
b6c65e9995 Add SkSpecialImage & SkSpecialSurface classes
Initial classes.

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

Review URL: https://codereview.chromium.org/1579323002
2016-02-04 10:52:42 -08:00
halcanary
72002f28d5 SkMojo: generate on Darwin/x86_64
also clean up generate and skmojo.gyp to work right.

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

Review URL: https://codereview.chromium.org/1660043004
2016-02-03 13:54:03 -08:00
bungeman
1aeac30809 Revert "Factor out xcode c/cpp settings into variables to apply to cmake builds."
This reverts commit 32235eac4b.
This change should no longer be necessary now that gyp has been updated.

Review URL: https://codereview.chromium.org/1664923002
2016-02-03 13:06:28 -08:00
halcanary
7a76f9c8f4 SkMojo: test linking Skia against the Mojo SDK
TODO: build on systems other than Linux.

Add mojo_skd to the DEPS.

Add a DM::Via called `mojo-`.

everything is hidden behind the gyp variable `skia_mojo`.
GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1644043003

Review URL: https://codereview.chromium.org/1644043003
2016-02-03 11:53:19 -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
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
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
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
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
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
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
robertphillips
188d44c549 Move SkPixelXorXfermode.h to include/client/android
This intended to make clients aware that the SkPixelXorXfermode is Android-specific

This needs to land after the Chromium CL https://codereview.chromium.org/1647953006/ (Add include/client/android to skia .gn & .gypi files)

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

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

Review URL: https://codereview.chromium.org/1645093002
2016-02-01 04:54:15 -08:00
yujieqin
86e6b55b7c Only define NO_POSIX_MEMALIGN for arm
BUG=skia:
GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1647893003

Review URL: https://codereview.chromium.org/1647893003
2016-02-01 02:56:40 -08:00
reed
395eabeb0e float components in xfermodes
BUG=skia:
GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1623483002

TBR=mtklein

Review URL: https://codereview.chromium.org/1634273002
2016-01-30 18:52:31 -08:00
caryclark
70e6d6074a add new tests
These tests are for upcoming changes to optimize
the path edge list.

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

Review URL: https://codereview.chromium.org/1651573002
2016-01-30 10:11:21 -08:00
ethannicholas
2279325d53 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

Committed: https://skia.googlesource.com/skia/+/7df3f5e127f8016d17b637cc48a6a4718f1a6822

Review URL: https://codereview.chromium.org/1541903002
2016-01-30 09:59:10 -08:00
scroggo
ad38ed6003 Revert of Treat bad values passed to --images as a fatal error (patchset #17 id:320001 of https://codereview.chromium.org/1611323004/ )
Reason for revert:
Speculative to fix windows bots

Original issue's description:
> Treat bad values passed to --images as a fatal error
>
> If an option is passed to --images that is either a non-existent path or
> a folder with no images matching the supported types, assume this is
> an error and exit, so they can supply a valid path instead.
>
> Share code between DM and nanobench in SkCommonFlags.
>
> nanobench now behaves more like DM - it will check a directory for
> images that match the supported extensions.
>
> Only consider image paths ending in RAW suffixes as images if
> SK_CODE_DECODES_RAW is defined. This prevents us from seeing failure
> to decode errors on platforms that cannot decode it.
>
> GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1611323004
>
> Committed: https://skia.googlesource.com/skia/+/7579786f3bd5a8fda84a1abc45b16213c3371f93

TBR=mtklein@google.com,borenet@google.com,msarett@google.com

NOPRESUBMIT=true
NOTREECHECKS=true
NOTRY=true
# Not skipping CQ checks because original CL landed more than 1 days ago.

Review URL: https://codereview.chromium.org/1653543002
2016-01-29 14:41:55 -08:00
robertphillips
2a1d401bf2 Move SkAvoidXfermode over from Android
GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1649503002

Review URL: https://codereview.chromium.org/1649503002
2016-01-29 08:44:17 -08:00
ethannicholas
78fc22af41 added support for more features in JSON (blurs, dashing, different path fill types, etc.)
GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1644903003

Review URL: https://codereview.chromium.org/1644903003
2016-01-29 07:15:08 -08:00
robertphillips
6b2c3461b0 Revert of Move SkPixelXorXfermode.h to include/client/android (patchset #5 id:80001 of https://codereview.chromium.org/1645093002/ )
Reason for revert:
GN woes

Original issue's description:
> Move SkPixelXorXfermode.h to include/client/android
>
> This intended to make clients aware that the SkPixelXorXfermode is Android-specific
>
> GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1645093002
>
> Committed: https://skia.googlesource.com/skia/+/aa9cb62901075e9d2858353cb041e5e6d4719614

TBR=scroggo@google.com,reed@google.com,djsollen@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/1644903004
2016-01-29 05:34:26 -08:00
reed
fbc1e296b2 starter procs for blending with pm4f
curr/maxrss	loops	min	median	mean	max	stddev	samples   	config	bench
   8/8   MB	4	87.1µs	91µs	89.8µs	92µs	2%	▇▇▇▇█▇▅▁▁▁	nonrendering	xfer4f_srcover_N_opaque_linear
   9/9   MB	2	196µs	196µs	215µs	383µs	27%	▁▁▁▁█▁▁▁▁▁	nonrendering	xfer4f_srcover_N_opaque_srgb
   9/9   MB	1	313µs	313µs	313µs	313µs	0%	▁▄▅▅▅▂████	nonrendering	xfer4f_srcover_N_alpha_linear
   9/9   MB	1	580µs	580µs	582µs	602µs	1%	▁▁▁▁▁▁▂▁▁█	nonrendering	xfer4f_srcover_N_alpha_srgb
   9/9   MB	23	13.1µs	13.1µs	13.1µs	13.1µs	0%	▆▄▄█▂▂▂▁▂▁	nonrendering	xfer4f_srcover_1_opaque_linear
   9/9   MB	23	13.2µs	13.2µs	13.2µs	13.2µs	0%	█▄▂▁▃▁▂▂▂▂	nonrendering	xfer4f_srcover_1_opaque_srgb
   9/9   MB	2	178µs	183µs	183µs	185µs	1%	▇▇▇█▇▇▇▇▇▁	nonrendering	xfer4f_srcover_1_alpha_linear
   9/9   MB	1	517µs	517µs	517µs	517µs	0%	▇█▄▃▄▁▂▁▂▄	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=1642703003

TBR=
landing now so these incremental types/functions can be used to collaborate with herb's work. nothing is active at this point

Review URL: https://codereview.chromium.org/1642703003
2016-01-29 05:22:59 -08:00
robertphillips
aa9cb62901 Move SkPixelXorXfermode.h to include/client/android
This intended to make clients aware that the SkPixelXorXfermode is Android-specific

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

Review URL: https://codereview.chromium.org/1645093002
2016-01-29 05:11:14 -08:00
scroggo
7579786f3b Treat bad values passed to --images as a fatal error
If an option is passed to --images that is either a non-existent path or
a folder with no images matching the supported types, assume this is
an error and exit, so they can supply a valid path instead.

Share code between DM and nanobench in SkCommonFlags.

nanobench now behaves more like DM - it will check a directory for
images that match the supported extensions.

Only consider image paths ending in RAW suffixes as images if
SK_CODE_DECODES_RAW is defined. This prevents us from seeing failure
to decode errors on platforms that cannot decode it.

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

Review URL: https://codereview.chromium.org/1611323004
2016-01-28 08:41:10 -08:00
adaubert
382f8bdbf0 Disable verbose mode for DNG SDK on mac/ios.
The issue was, that the qDNGReportErrors was not disabled in xcode_settings.

With that also removed the complexety of the dng_sdk.gyp and unified the flags handling.

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

Review URL: https://codereview.chromium.org/1641553004
2016-01-28 07:56:15 -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
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
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
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
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
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
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
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
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
msarett
0dfffbeeec Revert of AVX 2 SrcOver blits: color32, blitmask. (patchset #24 id:450001 of https://codereview.chromium.org/1532613002/ )
Reason for revert:
Bot failures

Original issue's description:
> AVX 2 SrcOver blits: color32, blitmask.
>
> As a follow up to the SSE 4.1 CL, this should look pretty familiar.
>
> I've made some organizational changes around how we load, store, pack, and unpack data that I think makes things clearer and more orthogonal, and it'll make it easier to try out a pmaddubsw lerp.  I have backported these changes to the SSE 4.1 code, and I hope that I can actually get a lot of this code templated for sharing between the two later.
>
> Perf changes (relative to SSE 4.1):
> Xfermode_SrcOver:      1650 -> 1180  (0.71x)  // large opaque blit
> Xfermode_SrcOver_aa:   1794 -> 1653  (0.92x)  // large opaque + small transparent
> text_16_AA_{FF,BK,WT}: 1.72 -> 1.59  (0.92x)  // small opaque blit
> text_16_AA_88:         1.83 -> 1.77  (0.97x)  // small transparent blit
>
> This should be a big throughout win, and a small latency win.
> This should all be pixel-exact to the previous SSE 4.1 code.
>
>
> GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1532613002
> CQ_EXTRA_TRYBOTS=client.skia:Test-Ubuntu-GCC-GCE-CPU-AVX2-x86_64-Release-SKNX_NO_SIMD-Trybot;client.skia.compile:Build-Ubuntu-GCC-x86_64-Release-CMake-Trybot,Build-Mac10.9-Clang-x86_64-Release-CMake-Trybot
>
> Committed: https://skia.googlesource.com/skia/+/5d2117015eb271e09faf4a7ddd89093c9d618a36

TBR=herb@google.com,mtklein@google.com,mtklein@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/1632713002
2016-01-25 08:54:50 -08:00
mtklein
5d2117015e AVX 2 SrcOver blits: color32, blitmask.
As a follow up to the SSE 4.1 CL, this should look pretty familiar.

I've made some organizational changes around how we load, store, pack, and unpack data that I think makes things clearer and more orthogonal, and it'll make it easier to try out a pmaddubsw lerp.  I have backported these changes to the SSE 4.1 code, and I hope that I can actually get a lot of this code templated for sharing between the two later.

Perf changes (relative to SSE 4.1):
Xfermode_SrcOver:      1650 -> 1180  (0.71x)  // large opaque blit
Xfermode_SrcOver_aa:   1794 -> 1653  (0.92x)  // large opaque + small transparent
text_16_AA_{FF,BK,WT}: 1.72 -> 1.59  (0.92x)  // small opaque blit
text_16_AA_88:         1.83 -> 1.77  (0.97x)  // small transparent blit

This should be a big throughout win, and a small latency win.
This should all be pixel-exact to the previous SSE 4.1 code.

GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1532613002
CQ_EXTRA_TRYBOTS=client.skia:Test-Ubuntu-GCC-GCE-CPU-AVX2-x86_64-Release-SKNX_NO_SIMD-Trybot;client.skia.compile:Build-Ubuntu-GCC-x86_64-Release-CMake-Trybot,Build-Mac10.9-Clang-x86_64-Release-CMake-Trybot

Review URL: https://codereview.chromium.org/1532613002
2016-01-25 08:37:30 -08:00
yujieqin
916de9ff18 Add RAW decoding into Skia.
TBR=reed@google.com

BUG=skia:

(Based on the work from ebrauer in https://codereview.chromium.org/1459473007)
(Based on the work from adaubert in https://codereview.chromium.org/1494003003)
GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1520403003

Committed: https://skia.googlesource.com/skia/+/6bd8639f8c142eedf543f4e5f3b02d2bf11df308

Review URL: https://codereview.chromium.org/1520403003
2016-01-25 08:26:16 -08:00
fmalita
53d9f1cfbd SK_SUPPORT_LEGACY_DRAWFLTER typo
s/FLTER/FILTER/

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

Review URL: https://codereview.chromium.org/1634573002
2016-01-25 06:23:54 -08:00
msarett
c85a9fde77 Revert of Prototype of RAW decoding in Skia. (patchset #32 id:610001 of https://codereview.chromium.org/1520403003/ )
Reason for revert:
A few build failures on Chrome OS/Android.

Original issue's description:
> Add RAW decoding into Skia.
>
> TBR=reed@google.com
>
> BUG=skia:
>
> (Based on the work from ebrauer in https://codereview.chromium.org/1459473007)
> (Based on the work from adaubert in https://codereview.chromium.org/1494003003)
> GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1520403003
>
> Committed: https://skia.googlesource.com/skia/+/6bd8639f8c142eedf543f4e5f3b02d2bf11df308

TBR=scroggo@google.com,adaubert@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/1635443002
2016-01-25 06:05:19 -08:00
yujieqin
6bd8639f8c Add RAW decoding into Skia.
TBR=reed@google.com

BUG=skia:

(Based on the work from ebrauer in https://codereview.chromium.org/1459473007)
(Based on the work from adaubert in https://codereview.chromium.org/1494003003)
GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1520403003

Review URL: https://codereview.chromium.org/1520403003
2016-01-25 05:29:03 -08:00
mtklein
1138be45ea Revert of skstd -> std for unique_ptr (patchset #24 id:460001 of https://codereview.chromium.org/1436033003/ )
Reason for revert:
Still need an answer for SkAdvancedTypefaceMetrics (at least for Google3 iOS build).

Original issue's description:
> skstd -> std for unique_ptr
>
> TBR=reed@google.com
> No public API changes.
>
> BUG=skia:4564
>
> Committed: https://skia.googlesource.com/skia/+/755c553c17b82bb5de3d9cc8d3b2a866ff9e9e50
>
> CQ_EXTRA_TRYBOTS=client.skia.compile:Build-Mac10.9-Clang-x86_64-Release-CMake-Trybot,Build-Ubuntu-GCC-x86_64-Debug-CrOS_Link-Trybot;client.skia:Perf-Mac10.9-Clang-MacMini6.2-CPU-AVX-x86_64-Release-Trybot,Test-iOS-Clang-iPad4-GPU-SGX554-Arm7-Release-Trybot
>
> Committed: https://skia.googlesource.com/skia/+/06189155d987db5c7e69015f6ea87c2168d6a065
>
> Committed: https://skia.googlesource.com/skia/+/70e8dfca4a7f5bce97b8021a6e378c4828b09c8c
>
> Committed: https://skia.googlesource.com/skia/+/dadfc245cc9a0279ff7b73da3344f2ca5d139907
> GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1436033003
>
> Committed: https://skia.googlesource.com/skia/+/ccf1de0d9aa75f29829f1c4c462214b991fd8c9e

TBR=bungeman@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:4564

Review URL: https://codereview.chromium.org/1626873004
2016-01-24 19:49:24 -08:00
mtklein
ccf1de0d9a skstd -> std for unique_ptr
TBR=reed@google.com
No public API changes.

BUG=skia:4564

Committed: https://skia.googlesource.com/skia/+/755c553c17b82bb5de3d9cc8d3b2a866ff9e9e50

CQ_EXTRA_TRYBOTS=client.skia.compile:Build-Mac10.9-Clang-x86_64-Release-CMake-Trybot,Build-Ubuntu-GCC-x86_64-Debug-CrOS_Link-Trybot;client.skia:Perf-Mac10.9-Clang-MacMini6.2-CPU-AVX-x86_64-Release-Trybot,Test-iOS-Clang-iPad4-GPU-SGX554-Arm7-Release-Trybot

Committed: https://skia.googlesource.com/skia/+/06189155d987db5c7e69015f6ea87c2168d6a065

Committed: https://skia.googlesource.com/skia/+/70e8dfca4a7f5bce97b8021a6e378c4828b09c8c

Committed: https://skia.googlesource.com/skia/+/dadfc245cc9a0279ff7b73da3344f2ca5d139907
GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1436033003

Review URL: https://codereview.chromium.org/1436033003
2016-01-24 19:18:54 -08:00
bsalomon
32235eac4b Factor out xcode c/cpp settings into variables to apply to cmake builds.
BUG=skia:
GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1619243003

Review URL: https://codereview.chromium.org/1619243003
2016-01-22 12:54:58 -08:00
joshualitt
7f6a1e0786 First rough draft of skiaserve
Please excuse the mess while we iterate

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

Review URL: https://codereview.chromium.org/1621753002
2016-01-22 11:21:43 -08:00
ethannicholas
5366a09ed0 Revert of added support for PLS path rendering (patchset #16 id:360001 of https://codereview.chromium.org/1541903002/ )
Reason for revert:
ASAN failure at src/gpu/GrXferProcessor.cpp:224

Original issue's description:
> 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
>
> Committed: https://skia.googlesource.com/skia/+/7df3f5e127f8016d17b637cc48a6a4718f1a6822

TBR=bsalomon@google.com,egdaniel@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:3555
GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1626553002

Review URL: https://codereview.chromium.org/1626553002
2016-01-22 09:45:47 -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
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
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
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
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
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
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
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
benjaminwagner
e83c8ebbc4 Revert of Update libwebp to version 0.5.0 (patchset #2 id:20001 of https://codereview.chromium.org/1601253003/ )
Reason for revert:
Seems to be causing bots to fail:
https://build.chromium.org/p/client.skia.compile/builders/Build-Ubuntu-GCC-Arm7-Release-Android_NoNeon/builds/4032
https://build.chromium.org/p/client.skia.android/builders/Perf-Android-GCC-Nexus5-CPU-NEON-Arm7-Release/builds/3239
https://build.chromium.org/p/client.skia.android/builders/Perf-Android-GCC-Nexus5-GPU-Adreno330-Arm7-Release/builds/1887
https://build.chromium.org/p/client.skia.fyi/builders/Perf-Android-GCC-Nexus5-GPU-Adreno330-Arm7-Release-Appurify/builds/2075
https://build.chromium.org/p/client.skia.android/builders/Test-Android-GCC-Nexus5-CPU-NEON-Arm7-Debug/builds/2136
https://build.chromium.org/p/client.skia.android/builders/Test-Android-GCC-Nexus5-CPU-NEON-Arm7-Release/builds/3850
https://build.chromium.org/p/client.skia.android/builders/Test-Android-GCC-Nexus5-GPU-Adreno330-Arm7-Debug/builds/2078
https://build.chromium.org/p/client.skia.android/builders/Test-Android-GCC-Nexus5-GPU-Adreno330-Arm7-Release/builds/2000
https://build.chromium.org/p/client.skia.compile/builders/Build-Ubuntu-GCC-Arm7-Debug-Android_NoNeon/builds/4098

Original issue's description:
> 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
>
> Committed: https://skia.googlesource.com/skia/+/fe35455210294c3d9de9d0d9534743acfade523d

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/1601083004
2016-01-19 09:50:17 -08:00
scroggo
fe35455210 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-19 08:54:18 -08:00
reed
879caf86fd remove SkDebugUtils.h -- unused
BUG=skia:
GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1585553002

Review URL: https://codereview.chromium.org/1585553002
2016-01-16 12:44:12 -08:00
joshualitt
98eb3d3776 Modify kilobench to run each sample in its own process
BUG=skia:
GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1594553003

Review URL: https://codereview.chromium.org/1594553003
2016-01-15 12:07:39 -08:00
joshualitt
eb60d67120 Now Kilobench times, exact same timing mechanism as nanobench
BUG=skia:
GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1581153006

Review URL: https://codereview.chromium.org/1581153006
2016-01-15 10:00:08 -08:00
mtklein
f5e9782bde Restore creature comforts to fuzz binary
The hack to remove these niceties didn't seem to make a difference in my
fuzz/s, so we might as well keep them.

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

Review URL: https://codereview.chromium.org/1589493006
2016-01-15 06:19:53 -08:00
msarett
edd2dcf082 Create an SkCodecImageGenerator
BUG=skia:

patch from issue 1396323007 at patchset 120001 (http://crrev.com/1396323007#ps120001)
GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1487683004

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

Review URL: https://codereview.chromium.org/1487683004
2016-01-14 13:12:26 -08:00
msarett
8afddabeaf Revert of Create an SkCodecImageGenerator (patchset #10 id:260001 of https://codereview.chromium.org/1487683004/ )
Reason for revert:
Core doesn't know about Codec.

Original issue's description:
> Create an SkCodecImageGenerator
>
> BUG=skia:
>
> patch from issue 1396323007 at patchset 120001 (http://crrev.com/1396323007#ps120001)
> GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1487683004
>
> Committed: https://skia.googlesource.com/skia/+/e1102ce1d3d0895e840e756e155ec56b5a1a7540

TBR=reed@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:

Review URL: https://codereview.chromium.org/1582373003
2016-01-14 12:20:45 -08:00
msarett
e1102ce1d3 Create an SkCodecImageGenerator
BUG=skia:

patch from issue 1396323007 at patchset 120001 (http://crrev.com/1396323007#ps120001)
GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1487683004

Review URL: https://codereview.chromium.org/1487683004
2016-01-14 11:32:43 -08:00
joshualitt
99f3406809 Add skeleton for kilobench experiments
BUG=skia:
GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1582903002

Review URL: https://codereview.chromium.org/1582903002
2016-01-14 11:05:22 -08:00
reed
8229fd5c75 remove unused SkBitmapFilter::Allocate
BUG=skia:
GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1589683004

TBR=

Review URL: https://codereview.chromium.org/1589683004
2016-01-14 10:40:29 -08:00
bsalomon
e5286e0b37 Beginning of support for texture rectangles.
Adds support for importing a RECTANGLE texture into Skia via GrTexureProvider::wrapBackendTexture().

Tests read/writing pixels, copySurface, and clear.

Does not add support for texturing from a RECTANGLE texture as the coords will be incorrectly normalized.

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

Review URL: https://codereview.chromium.org/1583863002
2016-01-14 09:24:09 -08:00
mtklein
24a22c7de8 some fuzz hacking
Try to start faster:
 - remove flags dependency
 - print nothing
 - strip unused symbols from the binary on Mac (smaller binary)
 - only create one fuzz object
 - only run one DEF_FUZZ
I am not sure if any of these things mattered, but I thought you may like to look.

Good stuff:
 - make nextU() / nextF() work
 - drop nextURange() / nextFRange() for now
 - add nextB() for a single byte

As you may have guessed, I have figured out how to use afl-fuzz on my laptop.

Syntax to run becomes:
  $ afl-fuzz ... out/Release/fuzz <DEF_FUZZ name> @@

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

Review URL: https://codereview.chromium.org/1581203003
2016-01-14 04:59:42 -08:00
kkinnunen
702501ddca Simplify path allocation, clean up resources correctly
Simplify path id allocation in NVPR backend. Instead of using
an AVL tree of path id ranges for the first 65535 ids, use just
a simple stategy of overallocation and "bump index".

Fixes the bug where previously overallocated ids were not deleted.

The advantage is that the implementation is simple and all allocations
go through overallocation, not just the first 65535 of the 1-range
allocations.

Removes the logic where paths were cleared with setting path data to
null instead of deleting the whole path. Now deleted paths are just
deleted normally. These operations should have equivalent performance on
command buffer. Deleting the path should enable the driver to do more
maintainance.

Removes the GLNameAllocator, as it was only used for paths. In order for
it to be used for other IDs, it probably would need to be re-written to
support cleanup and arbitrary ranges. Also, the interface would probably
need to be changed to not requiring the block to be allocated before it
could be managed by the structure.
GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1150243003

Review URL: https://codereview.chromium.org/1150243003
2016-01-13 23:36:45 -08:00
mtklein
65e5824d3a Add new fuzz binary.
This is designed to have short startup time, for maximum fuzzing throughput.

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

Review URL: https://codereview.chromium.org/1589563002
2016-01-13 12:57:58 -08:00
reed
6054d686e6 reorg global initialization, separating core from optional
Chrome will be changed to just inherit our files, with no need to have their own copy. see https://codereview.chromium.org/1581533007/

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

Review URL: https://codereview.chromium.org/1580873002
2016-01-13 08:47:54 -08:00
ajuma
1554ec0689 Delete SkRectShaderImageFilter
This is no longer used (as of http://crrev.com/368929).

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

Review URL: https://codereview.chromium.org/1575233004
2016-01-12 14:17:30 -08:00
bsalomon
7f9b2e4a45 Swizzle shader output and blend when using GL_RED to implement kAlpha_8_GrPixelConfig
GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1584473002

Review URL: https://codereview.chromium.org/1584473002
2016-01-12 13:29:26 -08:00
msarett
a51e7782b2 Use SkOpts routines in SkSwizzler
This is a bit tricky because we don't intend to support sampling
in SkOpts.  The swizzler will fallback to a default routine in
the event that sampling is requested.

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

Review URL: https://codereview.chromium.org/1563393002
2016-01-12 06:51:11 -08:00
reed
c7141eb8fb remove external header for SkModeColorFilter
BUG=skia:4791
GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1577073002

Review URL: https://codereview.chromium.org/1577073002
2016-01-11 13:09:00 -08:00
ajuma
77b6ba3b6e Implement an SkPaint-based image filter
This implements SkPaintImageFilter, and is intended to replace
SkRectShaderImageFilter. By allowing a paint and not just a
shader as input, this allows consumers to control dithering.

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

Review URL: https://codereview.chromium.org/1556553002
2016-01-08 14:58:35 -08:00
joshualitt
27a48dc0cd Create stub GrAuditTrail class
BUG=skia:
GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1572553002

Review URL: https://codereview.chromium.org/1572553002
2016-01-08 07:19:47 -08:00
reed
7c554222dd remove SkGPipe
BUG=skia:
GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1568883003

Review URL: https://codereview.chromium.org/1568883003
2016-01-08 06:30:14 -08:00
reed
3061af4a5f add SkShader::newWithColorFilter
BUG=skia:
GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1556693003

Review URL: https://codereview.chromium.org/1562193002
2016-01-07 15:47:29 -08:00
ethannicholas
e9709e8319 Broke GrTessellatingPathRenderer's tessellator out into a separate file.
GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1557083002

Committed: https://skia.googlesource.com/skia/+/8b05cb8a00bdb82e100f1ba74bf4de4a504cceea

Review URL: https://codereview.chromium.org/1557083002
2016-01-07 13:34:16 -08:00
msarett
1a46467b69 Rename SkGifCodec, SkIcoCodec, SkWbmpCodec
BUG=skia:
GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1567863003

Review URL: https://codereview.chromium.org/1567863003
2016-01-07 13:17:19 -08:00
caryclark
fb82437173 Revert of Broke GrTessellatingPathRenderer's tessellator out into a separate file. (patchset #8 id:240001 of https://codereview.chromium.org/1557083002/ )
Reason for revert:
broke valgrind bot

Original issue's description:
> Broke GrTessellatingPathRenderer's tessellator out into a separate file.
> GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1557083002
>
> Committed: https://skia.googlesource.com/skia/+/8b05cb8a00bdb82e100f1ba74bf4de4a504cceea

TBR=bsalomon@google.com,joshualitt@chromium.org,senorblanco@chromium.org,ethannicholas@google.com
NOPRESUBMIT=true
NOTREECHECKS=true
NOTRY=true

Review URL: https://codereview.chromium.org/1570503002
2016-01-07 05:09:48 -08:00
kkinnunen
3405800d7a Make SkGLContext lifetime more well-defined
Remove refcounting from SkGLContext.

SkGLContext is expected to behave like GrContextFactory would own
it, as implied by the GrContextFactory function.

If it is refcounted, this does not hold.

Also other use sites, such as in SkOSWindow_win (command buffer gl
object), confirm the behavior. The object is explicitly owned and
destroyed, not shared.

Also fixes potential crashes from using GL context of an abandoned
context.

Also fixes potential crashes in DM/nanobench, if the GrContext lives
longer than GLContext through internal refing of GrContext.

Moves the non-trivial implementations from GrContextFactory.h to
.cpp, just for consistency sake.

Changes pathops_unittest.gyp. The pathops_unittest uses
GrContextFactory, but did not link to its implementation. The reason
they worked was that the implementation used (constructors, destructors)
happened to be in the .h file.

This works towards being able to use command buffer and NVPR from
the SampleApp.

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

Committed: https://skia.googlesource.com/skia/+/830e012187f951d49d7e46e196ac8d1e653a25da

Review URL: https://codereview.chromium.org/1511773005
2016-01-06 23:49:31 -08:00
ethannicholas
8b05cb8a00 Broke GrTessellatingPathRenderer's tessellator out into a separate file.
GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1557083002

Review URL: https://codereview.chromium.org/1557083002
2016-01-06 11:44:34 -08:00
djsollen
4ecb1ad0c1 Fix DM tests in the Android Framework
GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1567693002

Review URL: https://codereview.chromium.org/1567693002
2016-01-06 11:38:14 -08:00
joshualitt
1de610a528 Create debug only SkSingleOwner
This is so Gpu code can guard against improper multithreaded usage in
debug builds

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

Review URL: https://codereview.chromium.org/1555953004
2016-01-06 08:26:09 -08:00
bungeman
221524de3b Start using <type_traits> and <utility> (C++11).
SkUtility.h and SkTLogic.h implement a number of type traits now
available through <type_traits> and <utility>. This removes SkUtility.h,
replacing it with <utility>, and moves a number of traits in
SkTLogic.h to use the std:: equivelents. This change only uses C++11
parts of the standard library; SkTLogic.h will continue to provide
C++14 and beyond for now in the skstd namespace.

The changes to SkTLogic.h are being done gradually so that safe changes
may be landed confidently, with more risky changes in the future.

Review URL: https://codereview.chromium.org/1561683002
2016-01-05 14:59:40 -08:00
jcgregorio
54e2ca5a23 Revert of Make SkGLContext lifetime more well-defined (patchset #7 id:120001 of https://codereview.chromium.org/1511773005/ )
Reason for revert:
Broke tests on Android, iOS, Mac and Windows.

Original issue's description:
> Make SkGLContext lifetime more well-defined
>
> Remove refcounting from SkGLContext.
>
> SkGLContext is expected to behave like GrContextFactory would own
> it, as implied by the GrContextFactory function.
>
> If it is refcounted, this does not hold.
>
> Also other use sites, such as in SkOSWindow_win (command buffer gl
> object), confirm the behavior. The object is explicitly owned and
> destroyed, not shared.
>
> Also fixes potential crashes from using GL context of an abandoned
> context.
>
> Also fixes potential crashes in DM/nanobench, if the GrContext lives
> longer than GLContext through internal refing of GrContext.
>
> Moves the non-trivial implementations from GrContextFactory.h to
> .cpp, just for consistency sake.
>
> Changes pathops_unittest.gyp. The pathops_unittest uses
> GrContextFactory, but did not link to its implementation. The reason
> they worked was that the implementation used (constructors, destructors)
> happened to be in the .h file.
>
> This works towards being able to use command buffer and NVPR from
> the SampleApp.
>
> BUG=skia:2992
> GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1511773005
>
> Committed: https://skia.googlesource.com/skia/+/830e012187f951d49d7e46e196ac8d1e653a25da

TBR=bsalomon@google.com,kkinnunen@nvidia.com
NOPRESUBMIT=true
NOTREECHECKS=true
NOTRY=true
BUG=skia:2992

Review URL: https://codereview.chromium.org/1555053003
2016-01-05 04:15:23 -08:00
kkinnunen
830e012187 Make SkGLContext lifetime more well-defined
Remove refcounting from SkGLContext.

SkGLContext is expected to behave like GrContextFactory would own
it, as implied by the GrContextFactory function.

If it is refcounted, this does not hold.

Also other use sites, such as in SkOSWindow_win (command buffer gl
object), confirm the behavior. The object is explicitly owned and
destroyed, not shared.

Also fixes potential crashes from using GL context of an abandoned
context.

Also fixes potential crashes in DM/nanobench, if the GrContext lives
longer than GLContext through internal refing of GrContext.

Moves the non-trivial implementations from GrContextFactory.h to
.cpp, just for consistency sake.

Changes pathops_unittest.gyp. The pathops_unittest uses
GrContextFactory, but did not link to its implementation. The reason
they worked was that the implementation used (constructors, destructors)
happened to be in the .h file.

This works towards being able to use command buffer and NVPR from
the SampleApp.

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

Review URL: https://codereview.chromium.org/1511773005
2016-01-05 00:30:33 -08:00
caryclark
0152cc3819 remove 565 effects shaders
This removes the 565 optimization for radial,
linear, sweep, and picture shaders. The
optimization gets little real-world use and
has a reasonable fallback. This also permits
removing the square root table for the radial
gradient case.

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

Review URL: https://codereview.chromium.org/1553103003
2016-01-04 09:54:55 -08:00
reed
03f8968106 move SkDither.h to private, remove unused shadeSpan16
Since perlin noise shader never set the kHasShad16 flag, its shadeSpan16 method was never called.

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

TBR=

Review URL: https://codereview.chromium.org/1558933002
2016-01-04 05:06:07 -08:00