platform/upstream/libSkiaSharp.git
8 years agoGN
mtklein [Thu, 23 Jun 2016 17:29:30 +0000 (10:29 -0700)]
GN

What we've got here is a little GN MVP.  It's lacking any knobs and doesn't yet build anything but libskia, zlib, libpng, and libjpeg-turbo.  I've been hopping back and forth between Linux at work and Mac at home.  These seem to be at least partially working, enough to build and run cmake/example.cpp.

The xcode backend seems to work.  From here, we can start exploring how to handle other backends (cmake,Android make, Google3).  There are a couple things I want to try:
  - add another backend like vs or xcode to GN directly
  - intercept via a custom toolchain
  - reverse from ninja -t commands
That last option seems kind of fun.

This tries to piggyback on Chrome's GN setup as much as possible.  Chrome's got quite a lot figured out, and we're basically required to do this if we want to have a single GN build system shareable by Chrome, our bots, and other clients.

This pulls in some new DEPS:
   - build: Chrome's GN configuration, and much more
   - buildtools: hashes for gn binary, pulled via hooks
   - tools/clang: hashes for Chrome's clang, pulled via hooks into third_party/llvm-build
It additionally symlinks tools/gyp to third_party/externals/gyp.  GN pulls some stuff from tools/gyp on Mac.

Have not yet tried building for Windows, Android, or iOS.

BUG=skia:
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2087593002

Committed: https://skia.googlesource.com/skia/+/1d8de594f126b9a80bd8f8fa2005e90faf3b5b17
Review-Url: https://codereview.chromium.org/2087593002

8 years agoAdd stub for avx.
herb [Thu, 23 Jun 2016 16:40:30 +0000 (09:40 -0700)]
Add stub for avx.
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2087343002
CQ_EXTRA_TRYBOTS=client.skia:Test-Ubuntu-GCC-GCE-CPU-AVX2-x86_64-Release-SKNX_NO_SIMD-Trybot

Review-Url: https://codereview.chromium.org/2087343002

8 years agoStart using GrGpuCommandBuffer in GrDrawTarget.
egdaniel [Thu, 23 Jun 2016 15:37:05 +0000 (08:37 -0700)]
Start using GrGpuCommandBuffer in GrDrawTarget.

BUG=skia:
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2052263003

Review-Url: https://codereview.chromium.org/2078483002

8 years agoDocumentaion: top level link.
halcanary [Thu, 23 Jun 2016 14:00:44 +0000 (07:00 -0700)]
Documentaion: top level link.

NOTRY=true
DOCS_PREVIEW= https://skia.org/?cl=2084593008

Review-Url: https://codereview.chromium.org/2084593008

8 years agoRevert of Support GL_SAMPLES queries in null contexts (patchset #4 id:60001 of https...
brianosman [Thu, 23 Jun 2016 13:11:51 +0000 (06:11 -0700)]
Revert of Support GL_SAMPLES queries in null contexts (patchset #4 id:60001 of https://codereview.chromium.org/2085043002/ )

Reason for revert:
ASAN failures (including DEPS roll).

Original issue's description:
> Support GL_SAMPLES queries in null contexts
>
> BUG=skia:
> GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2085043002
>
> Committed: https://skia.googlesource.com/skia/+/64b92a59294a2f73448b3fa8f36f39079f032521
> Committed: https://skia.googlesource.com/skia/+/57e98530c113066c4c2d9c64505c52dc25e66c00

TBR=bsalomon@google.com,csmartdalton@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/2091773002

8 years agoGN: just new deps
mtklein [Thu, 23 Jun 2016 12:56:18 +0000 (05:56 -0700)]
GN: just new deps

These just are the DEPS changes from the previous GN CL, each rolled up to head.

I've removed the hooks to fetch GN and Clang... will have to figure out how to
deal with .gclient files in different places later.

BUG=skia:5452
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2087403002

Review-Url: https://codereview.chromium.org/2087403002

8 years agoReland of add a Chrome builder to the CQ (patchset #1 id:1 of https://codereview...
rmistry [Thu, 23 Jun 2016 11:16:38 +0000 (04:16 -0700)]
Reland of add a Chrome builder to the CQ (patchset #1 id:1 of https://codereview.chromium.org/2087913003/ )

Reason for revert:
Will watch this after it is in.

Original issue's description:
> Revert of add a Chrome builder to the CQ (patchset #1 id:1 of https://codereview.chromium.org/2085333002/ )
>
> Reason for revert:
> Reverting due to purple trybots in https://codereview.chromium.org/2087343002/
>
> We will have to investigate..
>
> Original issue's description:
> > add a Chrome builder to the CQ
> >
> > This appears to be the fastest Chrome builder, averaging 8-9 minutes.
> >
> > BUG=skia:
> > GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2085333002
> >
> > Committed: https://skia.googlesource.com/skia/+/cb4efa90ab5f6ea7cf5e0f44aec6f4e6418aad3d
>
> TBR=reed@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
> BUG=skia:
>
> Committed: https://skia.googlesource.com/skia/+/1afb8f8965b0549525c1ad8d8baa885ccdb48f6d

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

Review-Url: https://codereview.chromium.org/2096613002

8 years agoPotential fix for flaky TSAN
msarett [Wed, 22 Jun 2016 22:29:00 +0000 (15:29 -0700)]
Potential fix for flaky TSAN

TBR=mtklein@google.com
BUG=skia:
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2084243003

Review-Url: https://codereview.chromium.org/2084243003

8 years agoDo loads and math in parallel in SkColorXform_opts
msarett [Wed, 22 Jun 2016 21:55:51 +0000 (14:55 -0700)]
Do loads and math in parallel in SkColorXform_opts

Note that baselines have changed a little since I
recently started using clang.

201295.jpg on HP z620 (300x280)

Skia Xform sRGB Dst Before    0.378 ms
Skia Xform sRGB Dst After     0.322 ms
                              1.17x

Skia Xform 2.2  Dst Before    0.428 ms
Skia Xform 2.2  Dst After     0.395 ms
                              1.08x

QCMS Xform                    0.418 ms

sRGB Dst vs QCMS              1.30x
2.2  Dst vs QCMS              1.06x

--------------------------------------------

Nexus 6P:
Skia Xform sRGB Dst Before    1.58 ms
Skia Xform sRGB Dst After     1.43 ms
Skia Xform 2.2  Dst Before    2.69 ms
Skia Xform 2.2  Dst After     2.62 ms

Dell Venue 8:
Skia Xform sRGB Dst Before    2.78 ms
Skia Xform sRGB Dst After     2.74 ms
Skia Xform 2.2  Dst Before    3.73 ms
Skia Xform 2.2  Dst After     3.64 ms

BUG=skia:
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2081933005
CQ_EXTRA_TRYBOTS=client.skia:Test-Ubuntu-GCC-GCE-CPU-AVX2-x86_64-Release-SKNX_NO_SIMD-Trybot

Review-Url: https://codereview.chromium.org/2081933005

8 years agoUse a table-based implementation of SkDefaultXform
msarett [Wed, 22 Jun 2016 21:07:48 +0000 (14:07 -0700)]
Use a table-based implementation of SkDefaultXform

BUG=skia:
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2084673002
CQ_EXTRA_TRYBOTS=client.skia:Test-Ubuntu-GCC-GCE-CPU-AVX2-x86_64-Release-SKNX_NO_SIMD-Trybot

Review-Url: https://codereview.chromium.org/2084673002

8 years agoSupport GL_SAMPLES queries in null contexts
csmartdalton [Wed, 22 Jun 2016 20:47:08 +0000 (13:47 -0700)]
Support GL_SAMPLES queries in null contexts

BUG=skia:
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2085043002

Committed: https://skia.googlesource.com/skia/+/64b92a59294a2f73448b3fa8f36f39079f032521
Review-Url: https://codereview.chromium.org/2085043002

8 years agoAdd GM for hard stop gradients
fmenozzi [Wed, 22 Jun 2016 20:39:25 +0000 (13:39 -0700)]
Add GM for hard stop gradients

BUG=skia:
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2087273002

Review-Url: https://codereview.chromium.org/2087273002

8 years agoRevert of add a Chrome builder to the CQ (patchset #1 id:1 of https://codereview...
rmistry [Wed, 22 Jun 2016 17:41:01 +0000 (10:41 -0700)]
Revert of add a Chrome builder to the CQ (patchset #1 id:1 of https://codereview.chromium.org/2085333002/ )

Reason for revert:
Reverting due to purple trybots in https://codereview.chromium.org/2087343002/

We will have to investigate..

Original issue's description:
> add a Chrome builder to the CQ
>
> This appears to be the fastest Chrome builder, averaging 8-9 minutes.
>
> BUG=skia:
> GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2085333002
>
> Committed: https://skia.googlesource.com/skia/+/cb4efa90ab5f6ea7cf5e0f44aec6f4e6418aad3d

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

Review-Url: https://codereview.chromium.org/2087913003

8 years agoadd a Chrome builder to the CQ
mtklein [Wed, 22 Jun 2016 17:22:55 +0000 (10:22 -0700)]
add a Chrome builder to the CQ

This appears to be the fastest Chrome builder, averaging 8-9 minutes.

BUG=skia:
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2085333002

Review-Url: https://codereview.chromium.org/2085333002

8 years agoAdd guards around access to font cache global fields.
herb [Wed, 22 Jun 2016 17:19:16 +0000 (10:19 -0700)]
Add guards around access to font cache global fields.

BUG=589439
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2082423002

Review-Url: https://codereview.chromium.org/2082423002

8 years agoRevert of GN (patchset #12 id:220001 of https://codereview.chromium.org/2087593002/ )
mtklein [Wed, 22 Jun 2016 17:07:07 +0000 (10:07 -0700)]
Revert of GN (patchset #12 id:220001 of https://codereview.chromium.org/2087593002/ )

Reason for revert:
gclient not happy on some bots

Original issue's description:
> GN
>
> What we've got here is a little GN MVP.  It's lacking any knobs and doesn't yet build anything but libskia, zlib, libpng, and libjpeg-turbo.  I've been hopping back and forth between Linux at work and Mac at home.  These seem to be at least partially working, enough to build and run cmake/example.cpp.
>
> The xcode backend seems to work.  From here, we can start exploring how to handle other backends (cmake,Android make, Google3).  There are a couple things I want to try:
>   - add another backend like vs or xcode to GN directly
>   - intercept via a custom toolchain
>   - reverse from ninja -t commands
> That last option seems kind of fun.
>
> This tries to piggyback on Chrome's GN setup as much as possible.  Chrome's got quite a lot figured out, and we're basically required to do this if we want to have a single GN build system shareable by Chrome, our bots, and other clients.
>
> This pulls in some new DEPS:
>    - build: Chrome's GN configuration, and much more
>    - buildtools: hashes for gn binary, pulled via hooks
>    - tools/clang: hashes for Chrome's clang, pulled via hooks into third_party/llvm-build
> It additionally symlinks tools/gyp to third_party/externals/gyp.  GN pulls some stuff from tools/gyp on Mac.
>
> Have not yet tried building for Windows, Android, or iOS.
>
> BUG=skia:
> GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2087593002
>
> Committed: https://skia.googlesource.com/skia/+/1d8de594f126b9a80bd8f8fa2005e90faf3b5b17

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

Review-Url: https://codereview.chromium.org/2088253002

8 years agoGN
mtklein [Wed, 22 Jun 2016 16:52:13 +0000 (09:52 -0700)]
GN

What we've got here is a little GN MVP.  It's lacking any knobs and doesn't yet build anything but libskia, zlib, libpng, and libjpeg-turbo.  I've been hopping back and forth between Linux at work and Mac at home.  These seem to be at least partially working, enough to build and run cmake/example.cpp.

The xcode backend seems to work.  From here, we can start exploring how to handle other backends (cmake,Android make, Google3).  There are a couple things I want to try:
  - add another backend like vs or xcode to GN directly
  - intercept via a custom toolchain
  - reverse from ninja -t commands
That last option seems kind of fun.

This tries to piggyback on Chrome's GN setup as much as possible.  Chrome's got quite a lot figured out, and we're basically required to do this if we want to have a single GN build system shareable by Chrome, our bots, and other clients.

This pulls in some new DEPS:
   - build: Chrome's GN configuration, and much more
   - buildtools: hashes for gn binary, pulled via hooks
   - tools/clang: hashes for Chrome's clang, pulled via hooks into third_party/llvm-build
It additionally symlinks tools/gyp to third_party/externals/gyp.  GN pulls some stuff from tools/gyp on Mac.

Have not yet tried building for Windows, Android, or iOS.

BUG=skia:
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2087593002

Review-Url: https://codereview.chromium.org/2087593002

8 years agoTab -> spaces
brianosman [Wed, 22 Jun 2016 15:30:40 +0000 (08:30 -0700)]
Tab -> spaces

BUG=skia:
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2082393002

Review-Url: https://codereview.chromium.org/2082393002

8 years agoEnable flattening and unflattening of SkColorSpace
msarett [Wed, 22 Jun 2016 15:18:54 +0000 (08:18 -0700)]
Enable flattening and unflattening of SkColorSpace

BUG=skia:
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2085653003

Review-Url: https://codereview.chromium.org/2085653003

8 years agoUse single alloc for vulkan optimal image heaps to fix memory crash
egdaniel [Wed, 22 Jun 2016 14:45:50 +0000 (07:45 -0700)]
Use single alloc for vulkan optimal image heaps to fix memory crash

BUG=skia:
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2087283002

Review-Url: https://codereview.chromium.org/2087283002

8 years agoRevert of Bring back compiling third_party/libpng in public.bzl (patchset #3 id:40001...
scroggo [Wed, 22 Jun 2016 14:25:16 +0000 (07:25 -0700)]
Revert of Bring back compiling third_party/libpng in public.bzl (patchset #3 id:40001 of https://codereview.chromium.org/2044703006/ )

Reason for revert:
Breaking Google3

Original issue's description:
> Bring back compiling third_party/libpng in public.bzl
>
> Disable the optimizations for simplicity, as suggested in [1].
>
> Remove PNG_SKIP_SETJMP_CHECK, which is not defined in version 1.6.22.
>
> [1] https://codereview.chromium.org/2033063003/diff/20001/public.bzl#newcode84
>
> GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2044703006
>
> Committed: https://skia.googlesource.com/skia/+/e6939c15dc0c09f1348988dc56e50b6bea27b7ce

TBR=benjaminwagner@google.com,msarett@google.com,mtklein@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/2090643002

8 years agoRevert of Store mipmap levels in deferred texture image (patchset #15 id:280001 of...
brianosman [Wed, 22 Jun 2016 14:10:06 +0000 (07:10 -0700)]
Revert of Store mipmap levels in deferred texture image (patchset #15 id:280001 of https://codereview.chromium.org/2034933003/ )

Reason for revert:
Crashes on a few different bots (including ASAN). Examples:

https://build.chromium.org/p/client.skia.android/builders/Test-Android-GCC-Nexus7-GPU-Tegra3-Arm7-Release/builds/6324
https://build.chromium.org/p/client.skia/builders/Test-iOS-Clang-iPad4-GPU-SGX554-Arm7-Debug/builds/5400
https://build.chromium.org/p/client.skia/builders/Test-Ubuntu-GCC-Golo-GPU-GT610-x86_64-Debug-ASAN/builds/3539

Original issue's description:
> Store mipmap levels in deferred texture image
>
> When creating the deferred texture image, detect if using medium / high
> quality. If so, generate and store mipmaps in the deferred texture
> image.
>
> When creating a texture from that be sure to read it back out.
>
> BUG=578304
> R=bsalomon@google.com
> GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2034933003
>
> Committed: https://skia.googlesource.com/skia/+/b3105190a6e02d37f1d7f07a3a8bdd368ec7f157

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

Review-Url: https://codereview.chromium.org/2083393002

8 years agoRemove bubbles GM
fmenozzi [Wed, 22 Jun 2016 13:36:26 +0000 (06:36 -0700)]
Remove bubbles GM

BUG=skia:
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2087263002

Review-Url: https://codereview.chromium.org/2087263002

8 years agoRevert of Support GL_SAMPLES queries in null contexts (patchset #2 id:20001 of https...
brianosman [Wed, 22 Jun 2016 12:57:17 +0000 (05:57 -0700)]
Revert of Support GL_SAMPLES queries in null contexts (patchset #2 id:20001 of https://codereview.chromium.org/2085043002/ )

Reason for revert:
Chrome unit tests failing (eg https://codereview.chromium.org/2085243002)

Original issue's description:
> Support GL_SAMPLES queries in null contexts
>
> BUG=skia:
> GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2085043002
>
> Committed: https://skia.googlesource.com/skia/+/64b92a59294a2f73448b3fa8f36f39079f032521

TBR=bsalomon@google.com,csmartdalton@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/2089013003

8 years agoSupport GL_SAMPLES queries in null contexts
csmartdalton [Tue, 21 Jun 2016 21:27:16 +0000 (14:27 -0700)]
Support GL_SAMPLES queries in null contexts

BUG=skia:
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2085043002

Review-Url: https://codereview.chromium.org/2085043002

8 years agoBring back compiling third_party/libpng in public.bzl
scroggo [Tue, 21 Jun 2016 21:13:40 +0000 (14:13 -0700)]
Bring back compiling third_party/libpng in public.bzl

Disable the optimizations for simplicity, as suggested in [1].

Remove PNG_SKIP_SETJMP_CHECK, which is not defined in version 1.6.22.

[1] https://codereview.chromium.org/2033063003/diff/20001/public.bzl#newcode84

GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2044703006

Review-Url: https://codereview.chromium.org/2044703006

8 years agoStore mipmap levels in deferred texture image
cblume [Tue, 21 Jun 2016 20:43:13 +0000 (13:43 -0700)]
Store mipmap levels in deferred texture image

When creating the deferred texture image, detect if using medium / high
quality. If so, generate and store mipmaps in the deferred texture
image.

When creating a texture from that be sure to read it back out.

BUG=578304
R=bsalomon@google.com
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2034933003

Review-Url: https://codereview.chromium.org/2034933003

8 years agoAdd new GM that exercises Gray 8 mipmapping and sRGB-ness
brianosman [Tue, 21 Jun 2016 20:40:12 +0000 (13:40 -0700)]
Add new GM that exercises Gray 8 mipmapping and sRGB-ness

This demonstrates the bug that was fixed by:
  https://codereview.chromium.org/2088883002/

BUG=skia:
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2087933002

Review-Url: https://codereview.chromium.org/2087933002

8 years agoRemove check for cmake in android make script.
stani [Tue, 21 Jun 2016 20:13:19 +0000 (13:13 -0700)]
Remove check for cmake in android make script.
Update docs explaining how to setup Android SDK.

BUG=skia:
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2084763003
DOCS_PREVIEW= https://skia.org/?cl=2084763003

Review-Url: https://codereview.chromium.org/2084763003

8 years agoNever use CPU-built mips for Gray_8.
brianosman [Tue, 21 Jun 2016 19:08:24 +0000 (12:08 -0700)]
Never use CPU-built mips for Gray_8.

Fixes a bug where Gray_8 textures would still render as Alpha_8 (if the
first draw was detected as needing mips).

BUG=skia:
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2088883002

Review-Url: https://codereview.chromium.org/2088883002

8 years agoupdate callers to not use SkColorProfileType
reed [Tue, 21 Jun 2016 17:28:14 +0000 (10:28 -0700)]
update callers to not use SkColorProfileType

Requires https://codereview.chromium.org/2087833002/ to land first.

BUG=skia:
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2086583002

Review-Url: https://codereview.chromium.org/2086583002

8 years agoFix Mac clang linker
msarett [Tue, 21 Jun 2016 16:44:29 +0000 (09:44 -0700)]
Fix Mac clang linker

BUG=skia:
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2077353006

Review-Url: https://codereview.chromium.org/2077353006

8 years agoIntegers can now be passed as uniforms; needed for passing color count to fragment...
fmenozzi [Tue, 21 Jun 2016 16:42:12 +0000 (09:42 -0700)]
Integers can now be passed as uniforms; needed for passing color count to fragment shader

BUG=skia:
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2076143003

Committed: https://skia.googlesource.com/skia/+/cc3a22b369e1a60fa2acf2987f2934baf7c4b198
Review-Url: https://codereview.chromium.org/2076143003

8 years agoAdd --simpleCodec to nanobench flags to run a smaller set of benchmarks
msarett [Tue, 21 Jun 2016 15:49:26 +0000 (08:49 -0700)]
Add --simpleCodec to nanobench flags to run a smaller set of benchmarks

BUG=skia:
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2084683002

Review-Url: https://codereview.chromium.org/2084683002

8 years agoApply canonicalizations to path GrShapes.
bsalomon [Tue, 21 Jun 2016 15:35:49 +0000 (08:35 -0700)]
Apply canonicalizations to path GrShapes.

The following canonicalizations of path-backed GrShapes are added:

*convex shapes are stored with even/odd (or inv even/odd) fill.

*filled paths are closed.

*dashed paths ignore inverseness of the fill

This will improve the results of queries about the geometry that will be added in a future change.

GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2067283003

Review-Url: https://codereview.chromium.org/2067283003

8 years agoSupport texel and draw-indirect buffers in null GL contexts
csmartdalton [Tue, 21 Jun 2016 14:55:17 +0000 (07:55 -0700)]
Support texel and draw-indirect buffers in null GL contexts

BUG=skia:
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2081183002

Review-Url: https://codereview.chromium.org/2081183002

8 years agoUpdate SKP version
update-skps [Tue, 21 Jun 2016 13:29:02 +0000 (06:29 -0700)]
Update SKP version

Automatic commit by the RecreateSKPs bot.

TBR=
NO_MERGE_BUILDS
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2086843002

Review-Url: https://codereview.chromium.org/2086843002

8 years agoReorder colorspaces in GM to match previous behavior
brianosman [Mon, 20 Jun 2016 21:43:00 +0000 (14:43 -0700)]
Reorder colorspaces in GM to match previous behavior

BUG=skia:
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2088493002

Review-Url: https://codereview.chromium.org/2088493002

8 years agoBenchmark rotated rect with AA/noAA
liyuqian [Mon, 20 Jun 2016 21:05:27 +0000 (14:05 -0700)]
Benchmark rotated rect with AA/noAA

Using this benchmark, we verify that AA is about 4x slower than noAA in
path_fill_big_rotated_rect. This is what I aim to improve in the next
CL.

BUG=skia:
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2087453003

Review-Url: https://codereview.chromium.org/2087453003

8 years agoBuildbot spec: Add device_type for Android One
borenet [Mon, 20 Jun 2016 20:04:25 +0000 (13:04 -0700)]
Buildbot spec: Add device_type for Android One

BUG=skia:5185
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2085713002

Review-Url: https://codereview.chromium.org/2085713002

8 years agoExempt GrShape test from running on Android
bsalomon [Mon, 20 Jun 2016 19:48:33 +0000 (12:48 -0700)]
Exempt GrShape test from running on Android

BUG=skia:5438
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2074403003

Review-Url: https://codereview.chromium.org/2074403003

8 years agoSome simplifications of GrShape reductions/canonicalizations
bsalomon [Mon, 20 Jun 2016 19:28:17 +0000 (12:28 -0700)]
Some simplifications of GrShape reductions/canonicalizations
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2064113004

Review-Url: https://codereview.chromium.org/2064113004

8 years agoassert that non-empty clips have non-empty bounds
reed [Mon, 20 Jun 2016 17:21:24 +0000 (10:21 -0700)]
assert that non-empty clips have non-empty bounds

BUG=skia:
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2084603002

TBR=

Review-Url: https://codereview.chromium.org/2084603002

8 years agoRespect color type and gamma settings in nanobench GPU configs
brianosman [Mon, 20 Jun 2016 16:41:41 +0000 (09:41 -0700)]
Respect color type and gamma settings in nanobench GPU configs

We were ignoring the requested properties in things like gpuf16 and
gpusrgb.

BUG=skia:
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2075133003

Review-Url: https://codereview.chromium.org/2075133003

8 years agoMore removal of SkColorProfileType...
brianosman [Mon, 20 Jun 2016 15:25:02 +0000 (08:25 -0700)]
More removal of SkColorProfileType...

Scrub GMs. Remove the gDefaultProfile thing (it's unused now), along with
the command line flag that was setting it in DM and nanobench.

BUG=skia:
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2071393002

Committed: https://skia.googlesource.com/skia/+/944876f2745a62a839e49275daf93a0329372e67
Review-Url: https://codereview.chromium.org/2071393002

8 years agoSanitize parsing of color look-up table
msarett [Mon, 20 Jun 2016 15:08:28 +0000 (08:08 -0700)]
Sanitize parsing of color look-up table

BUG=skia:5443
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2079243003

Review-Url: https://codereview.chromium.org/2079243003

8 years agoSupport sRGB dsts in opt code
msarett [Mon, 20 Jun 2016 13:07:45 +0000 (06:07 -0700)]
Support sRGB dsts in opt code

201295.jpg on HP z620 (300x280)

QCMS Xform                    0.418 ms
Skia NEW Xform                0.378 ms

Vs QCMS                       1.11x

BUG=skia:
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2078623002
CQ_EXTRA_TRYBOTS=client.skia:Test-Ubuntu-GCC-GCE-CPU-AVX2-x86_64-Release-SKNX_NO_SIMD-Trybot

Review-Url: https://codereview.chromium.org/2078623002

8 years agoRevert of Integers can now be passed as uniforms (patchset #1 id:1 of https://coderev...
brianosman [Mon, 20 Jun 2016 01:05:12 +0000 (18:05 -0700)]
Revert of Integers can now be passed as uniforms (patchset #1 id:1 of https://codereview.chromium.org/2076143003/ )

Reason for revert:
Compile failures on Vulkan platforms (eg https://build.chromium.org/p/client.skia.compile/builders/Build-Ubuntu-GCC-Arm7-Debug-Android_Vulkan)

Original issue's description:
> Integers can now be passed as uniforms; needed for passing color count to fragment shader
>
> BUG=skia:
> GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2076143003
>
> Committed: https://skia.googlesource.com/skia/+/cc3a22b369e1a60fa2acf2987f2934baf7c4b198

TBR=tomhudson@google.com,bsalomon@google.com,fmenozzi@google.com
# Not skipping CQ checks because original CL landed more than 1 days ago.
BUG=skia:

Review-Url: https://codereview.chromium.org/2080133002

8 years agoSimplify mask/clip intersection, making sure to explicitly check for an empty mask.
mtklein [Sun, 19 Jun 2016 12:28:33 +0000 (05:28 -0700)]
Simplify mask/clip intersection, making sure to explicitly check for an empty mask.

Previously we were only asserting the mask wasn't empty, which isn't necessarily true when we're given pathological float coordinates like +Inf or NaN.

A local run of nanobench --match text_ was not able to show this is faster or slower.

This patch fixed this first Chrome bug on my desktop, and the second is probably a dupe.
BUG=chromium:619378,chromium:613912

GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2073873002

Review-Url: https://codereview.chromium.org/2073873002

8 years agoIntegers can now be passed as uniforms; needed for passing color count to fragment...
fmenozzi [Sat, 18 Jun 2016 16:31:58 +0000 (09:31 -0700)]
Integers can now be passed as uniforms; needed for passing color count to fragment shader

BUG=skia:
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2076143003

Review-Url: https://codereview.chromium.org/2076143003

8 years agoRevert of More removal of SkColorProfileType... (patchset #2 id:20001 of https:/...
egdaniel [Fri, 17 Jun 2016 22:11:45 +0000 (15:11 -0700)]
Revert of More removal of SkColorProfileType... (patchset #2 id:20001 of https://codereview.chromium.org/2071393002/ )

Reason for revert:
This was still used in chrome

Original issue's description:
> More removal of SkColorProfileType...
>
> Scrub GMs. Remove the gDefaultProfile thing (it's unused now), along with
> the command line flag that was setting it in DM and nanobench.
>
> BUG=skia:
> GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2071393002
>
> Committed: https://skia.googlesource.com/skia/+/944876f2745a62a839e49275daf93a0329372e67

TBR=msarett@google.com,reed@google.com,bsalomon@google.com,brianosman@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/2074103004

8 years agoFix mixup where SamplePathOverstroke wasn't added
hstern [Fri, 17 Jun 2016 21:06:13 +0000 (14:06 -0700)]
Fix mixup where SamplePathOverstroke wasn't added

- My sampleapp for the stroking bugs was inflight or something when
this change got made, so it didn't get added to this file.

BUG=skia:
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2076283002

Review-Url: https://codereview.chromium.org/2076283002

8 years agoQuick bandaid for chromium:611002.
mtklein [Fri, 17 Jun 2016 20:47:53 +0000 (13:47 -0700)]
Quick bandaid for chromium:611002.

We're somehow receiving non-premultiplied src inputs like 0x00ffffff to this
SrcOver blend.  That's a bug I intend to follow up on.  But for a quick
compatibility fix, go back to treating values like 0x00ffffff as transparent,
like we used to before crrev.com/1820313002.

This will not affect the correctness of code paths using properly premultiplied colors.

This should not change performance in any meaningful way.

The SIMD code paths (handling strides of 16 pixels at a time) happen to treat
invalid colors like 0x00fffff as transparent already.

BUG=chromium:611002
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2075173002
CQ_EXTRA_TRYBOTS=client.skia:Test-Ubuntu-GCC-GCE-CPU-AVX2-x86_64-Release-SKNX_NO_SIMD-Trybot

Review-Url: https://codereview.chromium.org/2075173002

8 years agoMore removal of SkColorProfileType...
brianosman [Fri, 17 Jun 2016 20:43:27 +0000 (13:43 -0700)]
More removal of SkColorProfileType...

Scrub GMs. Remove the gDefaultProfile thing (it's unused now), along with
the command line flag that was setting it in DM and nanobench.

BUG=skia:
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2071393002

Review-Url: https://codereview.chromium.org/2071393002

8 years agoSkPDF: Use type 2/3 shading for gradient shaders
cabanier [Fri, 17 Jun 2016 19:38:53 +0000 (12:38 -0700)]
SkPDF: Use type 2/3 shading for gradient shaders

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

Review-Url: https://codereview.chromium.org/1925233003

8 years agoport SkColorXform_opts to Sk4f
mtklein [Fri, 17 Jun 2016 19:09:16 +0000 (12:09 -0700)]
port SkColorXform_opts to Sk4f

I have tested that this compiles.

BUG=skia:
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2078913003
CQ_EXTRA_TRYBOTS=client.skia:Test-Ubuntu-GCC-GCE-CPU-AVX2-x86_64-Release-SKNX_NO_SIMD-Trybot

Review-Url: https://codereview.chromium.org/2078913003

8 years agoUpdate GYP for linux Vulkan to support SDK 1.0.13
egdaniel [Fri, 17 Jun 2016 19:04:05 +0000 (12:04 -0700)]
Update GYP for linux Vulkan to support SDK 1.0.13

BUG=skia:
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2077043002

Review-Url: https://codereview.chromium.org/2077043002

8 years agoKeep drawer open in xlarge-land and add float fps
liyuqian [Fri, 17 Jun 2016 18:04:44 +0000 (11:04 -0700)]
Keep drawer open in xlarge-land and add float fps

BUG=skia:
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2071333002

Review-Url: https://codereview.chromium.org/2071333002

8 years agoEnable viewer in non-Vulkan builds
jvanverth [Fri, 17 Jun 2016 16:29:14 +0000 (09:29 -0700)]
Enable viewer in non-Vulkan builds

BUG=skia:
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2067023002

Committed: https://skia.googlesource.com/skia/+/746b792a9aad1230ab69158a51c49b2e5437d95b
Review-Url: https://codereview.chromium.org/2067023002

8 years agoremove colorprofiletype from imageinfo
reed [Fri, 17 Jun 2016 16:26:41 +0000 (09:26 -0700)]
remove colorprofiletype from imageinfo

BUG=skia:
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2075853002

Review-Url: https://codereview.chromium.org/2075853002

8 years agoDon't try to set gamma treatment if texture creation fails.
brianosman [Fri, 17 Jun 2016 14:03:45 +0000 (07:03 -0700)]
Don't try to set gamma treatment if texture creation fails.

Guessing this will fix the valgrind failure.

BUG=skia:
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2075133002

Review-Url: https://codereview.chromium.org/2075133002

8 years agoQuickly fix the Compile Problem of Unused kkImageColorXformMetaData
liyuqian [Fri, 17 Jun 2016 01:09:11 +0000 (18:09 -0700)]
Quickly fix the Compile Problem of Unused kkImageColorXformMetaData
TBR=msarett@google.com

I don't know why the compiler is complaining that since ImageSlide.cpp is still
using it.

BUG=skia:
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2075873003

Review-Url: https://codereview.chromium.org/2075873003

8 years agoMove headers in include/utils/win to src/utils/win.
bungeman [Thu, 16 Jun 2016 22:31:42 +0000 (15:31 -0700)]
Move headers in include/utils/win to src/utils/win.

These headers are not intended for external use and are only used in src.

Review-Url: https://codereview.chromium.org/2070983002

8 years agoRevert of Support pixel antialising in DirectWrite. (patchset #4 id:60001 of https...
bungeman [Thu, 16 Jun 2016 21:41:53 +0000 (14:41 -0700)]
Revert of Support pixel antialising in DirectWrite. (patchset #4 id:60001 of https://codereview.chromium.org/2065833002/ )

Reason for revert:
Moving to the new glyph run analysis changes things anyway, and the Chromium Win 10 bots are having issues with this. Revert until I have time to make the suppression wider.

Original issue's description:
> Support pixel antialising in DirectWrite.
>
> DirectWrite2 supports pixel antialiasing and rendering without hinting.
>
> BUG=skia:5416
> GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2065833002
>
> TBR=reed
> Will move SkTScopedComPtr into src.
>
> Committed: https://skia.googlesource.com/skia/+/bd770d619553a88eeaa64ff29082f62db5c9b4d2

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

Review-Url: https://codereview.chromium.org/2075913002

8 years agoUse Offscreen Surface for Split Screen
liyuqian [Thu, 16 Jun 2016 21:10:34 +0000 (14:10 -0700)]
Use Offscreen Surface for Split Screen

A dashed line is also added to split the screen. Currently, drawing
images with sRGB seems to still have bugs.

BUG=skia:
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2069653002

Review-Url: https://codereview.chromium.org/2069653002

8 years agoCheck for some potential subheap allocation failures.
jvanverth [Thu, 16 Jun 2016 21:05:09 +0000 (14:05 -0700)]
Check for some potential subheap allocation failures.

Need to make sure we can allocate areas larger than our specified
subheap sizes, and deal with potential fragmentation in the main
system heap.
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2072763002

Review-Url: https://codereview.chromium.org/2072763002

8 years agoAdd missing include
brianosman [Thu, 16 Jun 2016 20:32:51 +0000 (13:32 -0700)]
Add missing include

TBR=egdaniel@google.com

BUG=skia:
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2070953002

Review-Url: https://codereview.chromium.org/2070953002

8 years agoLots of progress on switching to SkColorSpace rather than SkColorProfileType
brianosman [Thu, 16 Jun 2016 20:03:24 +0000 (13:03 -0700)]
Lots of progress on switching to SkColorSpace rather than SkColorProfileType

Fixed a bunch of code in Ganesh, as well as usage of SkColorProfileType in most of our tools (DM, SampleApp, Viewer, nanobench, skiaserve, HelloWorld).

BUG=skia:
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2069173002

Committed: https://skia.googlesource.com/skia/+/6a61a875467646f8dbc37cfecf49e12d1f475170
Review-Url: https://codereview.chromium.org/2069173002

8 years agoRefactoring of GPU NormalMap handling out into its own class.
dvonbeck [Thu, 16 Jun 2016 19:39:25 +0000 (12:39 -0700)]
Refactoring of GPU NormalMap handling out into its own class.

The purpose of this change is to refactor the handling of normal maps out of SkLightingShader, laying the groundwork to eventually allow for multiple normal sources.

What this CL includes:

- Created a new 'NormalMapFP', out of the existing normal map reading behavior in LightingFP.

- Encapsulates this new fragment processor on a new class NormalMapSource.

- Created a NormalSource abstraction that will interface with SkLightingShader.

- Adapted SkLightingShader to use the normals from its NormalSource field ON THE GPU SIDE. No changes done to the CPU side yet.

BUG=skia:
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2043393002

Committed: https://skia.googlesource.com/skia/+/87b0dd00cf9409c5fc990f5d0bb7c0df837f08da
Committed: https://skia.googlesource.com/skia/+/a7d1e2a57aef2aa4913d4380646d60bbab761318
Review-Url: https://codereview.chromium.org/2043393002

8 years agoClean up two unlaunched SSE 4.1 8888 blits.
mtklein [Thu, 16 Jun 2016 19:11:51 +0000 (12:11 -0700)]
Clean up two unlaunched SSE 4.1 8888 blits.

This code was running on our bots but never in Chrome.
That's a bad state to be in.

My plan here use to be to redesign how our 8888 blits worked in SSE 4.1, mainly
for perfect correctness but also for speed, then to spread what I learned there
to SSE2, AVX+, and NEON.

I have since lost interest in changing any aspect of how our legacy 8888 blits
work.  There's not much point in making them a bit or two more correct when the
math is fundamentally wrong.

This will cause many diffs in Gold, none perceptible.

BUG=skia:
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2062853002
CQ_EXTRA_TRYBOTS=client.skia:Test-Ubuntu-GCC-GCE-CPU-AVX2-x86_64-Release-SKNX_NO_SIMD-Trybot

Committed: https://skia.googlesource.com/skia/+/6e472093009bf2fc4a8e53010b51040efcb71213
Review-Url: https://codereview.chromium.org/2062853002

8 years agoFix Vulkan build after API change
msarett [Thu, 16 Jun 2016 18:42:48 +0000 (11:42 -0700)]
Fix Vulkan build after API change

TBR=brianosman@google.com
BUG=skia:
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2075713002

Review-Url: https://codereview.chromium.org/2075713002

8 years agoRevert of Lots of progress switching to SkColorSpace rather than SkColorProfileType...
brianosman [Thu, 16 Jun 2016 18:41:44 +0000 (11:41 -0700)]
Revert of Lots of progress switching to SkColorSpace rather than SkColorProfileType (patchset #10 id:180001 of https://codereview.chromium.org/2069173002/ )

Reason for revert:
Mac crashes in GrUploadPixmapToTexture

Original issue's description:
> Lots of progress on switching to SkColorSpace rather than SkColorProfileType
>
> Fixed a bunch of code in Ganesh, as well as usage of SkColorProfileType in most of our tools (DM, SampleApp, Viewer, nanobench, skiaserve, HelloWorld).
>
> BUG=skia:
> GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2069173002
>
> Committed: https://skia.googlesource.com/skia/+/6a61a875467646f8dbc37cfecf49e12d1f475170

TBR=reed@google.com,herb@google.com,msarett@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/2072813002

8 years agoLots of progress on switching to SkColorSpace rather than SkColorProfileType
brianosman [Thu, 16 Jun 2016 18:10:03 +0000 (11:10 -0700)]
Lots of progress on switching to SkColorSpace rather than SkColorProfileType

Fixed a bunch of code in Ganesh, as well as usage of SkColorProfileType in most of our tools (DM, SampleApp, Viewer, nanobench, skiaserve, HelloWorld).

BUG=skia:
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2069173002

Review-Url: https://codereview.chromium.org/2069173002

8 years agoImplement fast, correct gamma conversion for color xforms
msarett [Thu, 16 Jun 2016 17:50:55 +0000 (10:50 -0700)]
Implement fast, correct gamma conversion for color xforms

201295.jpg on HP z620
(300x280, most common form of sRGB profile)

QCMS Xform                    0.495 ms
Skia Old Xform                0.235 ms
Skia NEW Xform                0.423 ms

Vs Old Code                   0.56x
Vs QCMS                       1.17x

So to summarize, we are now much slower than before,
but still a bit faster than QCMS.  And now we are also
far more accurate than QCMS :).

BUG=skia:
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2060823003
CQ_EXTRA_TRYBOTS=client.skia:Test-Ubuntu-GCC-GCE-CPU-AVX2-x86_64-Release-SKNX_NO_SIMD-Trybot

Review-Url: https://codereview.chromium.org/2060823003

8 years agoSupport pixel antialising in DirectWrite.
bungeman [Thu, 16 Jun 2016 17:42:23 +0000 (10:42 -0700)]
Support pixel antialising in DirectWrite.

DirectWrite2 supports pixel antialiasing and rendering without hinting.

BUG=skia:5416
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2065833002

TBR=reed
Will move SkTScopedComPtr into src.

Review-Url: https://codereview.chromium.org/2065833002

8 years agoAdd samples to Viewer.
jvanverth [Thu, 16 Jun 2016 16:52:35 +0000 (09:52 -0700)]
Add samples to Viewer.

This adds support with animation, assuming the sample has
implemented onAnimate. Event handling has not been
implemented.

BUG=skia:
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2056343004

Committed: https://skia.googlesource.com/skia/+/76963e73704a42a18c29d6fbdcccb566e5c67658
Review-Url: https://codereview.chromium.org/2056343004

8 years agoDifferentiate between sRGBGamma and 2Dot2Gamma
msarett [Thu, 16 Jun 2016 14:37:41 +0000 (07:37 -0700)]
Differentiate between sRGBGamma and 2Dot2Gamma

BUG=skia:
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2067833003

Review-Url: https://codereview.chromium.org/2067833003

8 years agoKeep SkColorSpace and SkColorProfileType in sync
msarett [Thu, 16 Jun 2016 12:33:31 +0000 (05:33 -0700)]
Keep SkColorSpace and SkColorProfileType in sync

BUG=skia:
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2068743003

Committed: https://skia.googlesource.com/skia/+/04d35bd80dde7cace866781037cbbdcab14ab683
Review-Url: https://codereview.chromium.org/2068743003

8 years agoAdd heap tests for Vulkan.
jvanverth [Thu, 16 Jun 2016 11:42:30 +0000 (04:42 -0700)]
Add heap tests for Vulkan.

Also fixes some bugs that were found.

BUG=skia:
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2072453002

Review-Url: https://codereview.chromium.org/2072453002

8 years agoRevert of Keep SkColorSpace and SkColorProfileType in sync (patchset #2 id:20001...
egdaniel [Wed, 15 Jun 2016 22:39:13 +0000 (15:39 -0700)]
Revert of Keep SkColorSpace and SkColorProfileType in sync (patchset #2 id:20001 of https://codereview.chromium.org/2068743003/ )

Reason for revert:
breaking roll.

../../third_party/skia/include/core/SkImageInfo.h:202: error: undefined reference to 'SkColorSpace::NewNamed(SkColorSpace::Named)'

Original issue's description:
> Keep SkColorSpace and SkColorProfileType in sync
>
> BUG=skia:
> GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2068743003
>
> Committed: https://skia.googlesource.com/skia/+/04d35bd80dde7cace866781037cbbdcab14ab683

TBR=reed@google.com,brianosman@google.com,herb@google.com,msarett@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/2073593002

8 years agoRevert of Refactoring of GPU NormalMap handling out into its own class (patchset...
egdaniel [Wed, 15 Jun 2016 21:28:17 +0000 (14:28 -0700)]
Revert of Refactoring of GPU NormalMap handling out into its own class (patchset #9 id:160001 of https://codereview.chromium.org/2043393002/ )

Reason for revert:
break deps roll

Original issue's description:
> Refactoring of GPU NormalMap handling out into its own class.
>
> The purpose of this change is to refactor the handling of normal maps out of SkLightingShader, laying the groundwork to eventually allow for multiple normal sources.
>
> What this CL includes:
>
> - Created a new 'NormalMapFP', out of the existing normal map reading behavior in LightingFP.
>
> - Encapsulates this new fragment processor on a new class NormalMapSource.
>
> - Created a NormalSource abstraction that will interface with SkLightingShader.
>
> - Adapted SkLightingShader to use the normals from its NormalSource field ON THE GPU SIDE. No changes done to the CPU side yet.
>
> BUG=skia:
> GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2043393002
>
> Committed: https://skia.googlesource.com/skia/+/87b0dd00cf9409c5fc990f5d0bb7c0df837f08da
> Committed: https://skia.googlesource.com/skia/+/a7d1e2a57aef2aa4913d4380646d60bbab761318

TBR=reed@google.com,dvonbeck@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/2068983005

8 years agoRevert of Enable viewer in non-Vulkan builds (patchset #2 id:20001 of https://coderev...
egdaniel [Wed, 15 Jun 2016 21:23:40 +0000 (14:23 -0700)]
Revert of Enable viewer in non-Vulkan builds (patchset #2 id:20001 of https://codereview.chromium.org/2067023002/ )

Reason for revert:
breaking compile bots

Original issue's description:
> Enable viewer in non-Vulkan builds
>
> BUG=skia:
> GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2067023002
>
> Committed: https://skia.googlesource.com/skia/+/746b792a9aad1230ab69158a51c49b2e5437d95b

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

Review-Url: https://codereview.chromium.org/2072563002

8 years agoDisable SkImage_drawAbandonedGpuImage on Vulkan.
bsalomon [Wed, 15 Jun 2016 21:15:30 +0000 (14:15 -0700)]
Disable SkImage_drawAbandonedGpuImage on Vulkan.

It crashes issuing a clear batch.
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2060263005

TBR=brianosman@google.com

Review-Url: https://codereview.chromium.org/2060263005

8 years agoEnable viewer in non-Vulkan builds
jvanverth [Wed, 15 Jun 2016 20:44:15 +0000 (13:44 -0700)]
Enable viewer in non-Vulkan builds

BUG=skia:
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2067023002

Review-Url: https://codereview.chromium.org/2067023002

8 years agoWorkaround NVIDIA driver bug with NV_sample_mask_override_coverage
csmartdalton [Wed, 15 Jun 2016 19:42:13 +0000 (12:42 -0700)]
Workaround NVIDIA driver bug with NV_sample_mask_override_coverage

BUG=skia:
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2070133002

Review-Url: https://codereview.chromium.org/2070133002

8 years agoKeep SkColorSpace and SkColorProfileType in sync
msarett [Wed, 15 Jun 2016 19:12:48 +0000 (12:12 -0700)]
Keep SkColorSpace and SkColorProfileType in sync

BUG=skia:
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2068743003

Review-Url: https://codereview.chromium.org/2068743003

8 years agoRefactoring of GPU NormalMap handling out into its own class.
dvonbeck [Wed, 15 Jun 2016 19:07:56 +0000 (12:07 -0700)]
Refactoring of GPU NormalMap handling out into its own class.

The purpose of this change is to refactor the handling of normal maps out of SkLightingShader, laying the groundwork to eventually allow for multiple normal sources.

What this CL includes:

- Created a new 'NormalMapFP', out of the existing normal map reading behavior in LightingFP.

- Encapsulates this new fragment processor on a new class NormalMapSource.

- Created a NormalSource abstraction that will interface with SkLightingShader.

- Adapted SkLightingShader to use the normals from its NormalSource field ON THE GPU SIDE. No changes done to the CPU side yet.

BUG=skia:
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2043393002

Committed: https://skia.googlesource.com/skia/+/87b0dd00cf9409c5fc990f5d0bb7c0df837f08da
Review-Url: https://codereview.chromium.org/2043393002

8 years agoAdd asset management scripts
borenet [Wed, 15 Jun 2016 19:07:42 +0000 (12:07 -0700)]
Add asset management scripts

These provide an easy way to create assets to be used by bots,
eg. Android SDK.

To create an asset:
$ infra/bots/assets/assets.py add android_sdk
(adds scripts in infra/bots/assets/android_sdk)

To upload a new version of an asset:
$ infra/bots/assets/android_sdk/upload.py -t $ANDROID_SDK_ROOT
(uploads Android SDK to GS, writes a version file)
$ git commit
$ git cl upload

To download the current version of the asset:
$ infra/bots/assets/android_sdk/download.py -t ../tmp

BUG=skia:5427
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2069543002

Review-Url: https://codereview.chromium.org/2069543002

8 years agoAdded warning for variable-length arrays to GYP, since they are unsupprted under...
dvonbeck [Wed, 15 Jun 2016 16:13:50 +0000 (09:13 -0700)]
Added warning for variable-length arrays to GYP, since they are unsupprted under Win targets

BUG=skia:
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2068863002

Review-Url: https://codereview.chromium.org/2068863002

8 years agoAdd SampleApp that shows problems in stroking
hstern [Wed, 15 Jun 2016 16:13:34 +0000 (09:13 -0700)]
Add SampleApp that shows problems in stroking

- When the stroke width gets too big the raster algorithm produces
  incorrect output
- This also causes the GPU path to produce incorrect output if the width
  is larger than an arbitrary limit in GrAALinearizingConvexPathRenderer
  (which is the renderer used for this specific geometry)

- Other non-convex geometries probably also produce strange results

BUG=skia:5405,skia:5406
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2060903002

Review-Url: https://codereview.chromium.org/2060903002

8 years agoActually fix leak in deferred_texture_image_data
bsalomon [Wed, 15 Jun 2016 16:00:21 +0000 (09:00 -0700)]
Actually fix leak in deferred_texture_image_data

TBR=egdaniel@google.com
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2068863003

Review-Url: https://codereview.chromium.org/2068863003

8 years agoAdd test for rendering an already abandoned texture-backed SkImage.
bsalomon [Wed, 15 Jun 2016 14:36:15 +0000 (07:36 -0700)]
Add test for rendering an already abandoned texture-backed SkImage.

BUG=chromium:618858
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2067133002

Review-Url: https://codereview.chromium.org/2067133002

8 years agoCheck for abandoned texture in GrTextureAdjuster::refTextureSafeForParams
bsalomon [Tue, 14 Jun 2016 23:13:09 +0000 (16:13 -0700)]
Check for abandoned texture in GrTextureAdjuster::refTextureSafeForParams

BUG=chromium:618858
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2063313002

TBR=egdaniel@google.com

Review-Url: https://codereview.chromium.org/2063313002

8 years agoRevert of Refactoring of GPU NormalMap handling out into its own class (patchset...
egdaniel [Tue, 14 Jun 2016 22:30:05 +0000 (15:30 -0700)]
Revert of Refactoring of GPU NormalMap handling out into its own class (patchset #7 id:120001 of https://codereview.chromium.org/2043393002/ )

Reason for revert:
Breaking build and deps roll. Need to move include of SkBitmapProcShader in SkLightingShader.cpp from gpu include list to general list.

Original issue's description:
> Refactoring of GPU NormalMap handling out into its own class.
>
> The purpose of this change is to refactor the handling of normal maps out of SkLightingShader, laying the groundwork to eventually allow for multiple normal sources.
>
> What this CL includes:
>
> - Created a new 'NormalMapFP', out of the existing normal map reading behavior in LightingFP.
>
> - Encapsulates this new fragment processor on a new class NormalMapSource.
>
> - Created a NormalSource abstraction that will interface with SkLightingShader.
>
> - Adapted SkLightingShader to use the normals from its NormalSource field ON THE GPU SIDE. No changes done to the CPU side yet.
>
> BUG=skia:
> GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2043393002
>
> Committed: https://skia.googlesource.com/skia/+/87b0dd00cf9409c5fc990f5d0bb7c0df837f08da

TBR=reed@google.com,dvonbeck@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/2062133004

8 years agoFix leak of GrContextThreadSafeProxy in deferred_texture_image_data
bsalomon [Tue, 14 Jun 2016 21:44:28 +0000 (14:44 -0700)]
Fix leak of GrContextThreadSafeProxy in deferred_texture_image_data
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2069443004

Review-Url: https://codereview.chromium.org/2069443004

8 years agoRefactoring of GPU NormalMap handling out into its own class.
dvonbeck [Tue, 14 Jun 2016 21:43:52 +0000 (14:43 -0700)]
Refactoring of GPU NormalMap handling out into its own class.

The purpose of this change is to refactor the handling of normal maps out of SkLightingShader, laying the groundwork to eventually allow for multiple normal sources.

What this CL includes:

- Created a new 'NormalMapFP', out of the existing normal map reading behavior in LightingFP.

- Encapsulates this new fragment processor on a new class NormalMapSource.

- Created a NormalSource abstraction that will interface with SkLightingShader.

- Adapted SkLightingShader to use the normals from its NormalSource field ON THE GPU SIDE. No changes done to the CPU side yet.

BUG=skia:
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2043393002

Review-Url: https://codereview.chromium.org/2043393002

8 years agoFix GrShape to preserve inverseness of rrects for strokes but not dashes.
bsalomon [Tue, 14 Jun 2016 21:37:21 +0000 (14:37 -0700)]
Fix GrShape to preserve inverseness of rrects for strokes but not dashes.
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2051263003

Review-Url: https://codereview.chromium.org/2051263003

8 years agoBin circular blur profile textures by scale and blur to radius ratio.
bsalomon [Tue, 14 Jun 2016 21:37:12 +0000 (14:37 -0700)]
Bin circular blur profile textures by scale and blur to radius ratio.

This reduces the number of profile textures that will be generated throughout an animation and also caps the texture size. It could probably be better tuned.

GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2062743003

Review-Url: https://codereview.chromium.org/2062743003

8 years agoSkMultiPictureDocument: don't rely on SkPicture::cullRect
halcanary [Tue, 14 Jun 2016 18:06:37 +0000 (11:06 -0700)]
SkMultiPictureDocument: don't rely on SkPicture::cullRect

SkPicture::cullRect() is not guaranteed to be the same as the
bounds passed to SkPictureRecorder::beginRecording().

Review-Url: https://codereview.chromium.org/2067473003

8 years agoRemove command buffer sample app support.
bsalomon [Tue, 14 Jun 2016 16:43:52 +0000 (09:43 -0700)]
Remove command buffer sample app support.

This hasn't compiled for months. We are deemphasizing SampleApp in favor of viewer. Windowed command buffer is not currently something we currently plan to maintain.

TBR=reed@google.com

GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2061233002

Review-Url: https://codereview.chromium.org/2061233002