platform/upstream/libSkiaSharp.git
8 years agoexperimental/tools/coreGraphicsPdf2png: remove skia dependency
halcanary [Thu, 5 May 2016 18:17:08 +0000 (11:17 -0700)]
experimental/tools/coreGraphicsPdf2png: remove skia dependency

// experimental-only
TBR=
NOTRY=true

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

8 years agoUpdate SK_IMAGE_VERSION to 5
msarett [Thu, 5 May 2016 18:03:38 +0000 (11:03 -0700)]
Update SK_IMAGE_VERSION to 5

This is should allow us to begin seeing colorspace tests on Gold.

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

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

8 years agoRemove NEON runtime detection support.
mtklein [Thu, 5 May 2016 17:58:39 +0000 (10:58 -0700)]
Remove NEON runtime detection support.

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

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

8 years agoModernize SkMutex and SkSemaphore.
mtklein [Thu, 5 May 2016 17:57:37 +0000 (10:57 -0700)]
Modernize SkMutex and SkSemaphore.

   - use <atomic>
   - fuse SkMutex and SkBaseMutex
   - fuse SkSemaphore and SkBaseSemaphore

Still TODO:
   - replace SK_DECLARE_STATIC_MUTEX(name) with static SkMutex name

I just didn't want to bother fixing all that up until I know this CL sticks.

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

No public API changes.
TBR=reed@google.com

Committed: https://skia.googlesource.com/skia/+/427c2819d9237d7d7729c59238036cfc73c072ea

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

8 years agoMake GrPathRenderer only support fills for path stenciling
bsalomon [Thu, 5 May 2016 16:26:21 +0000 (09:26 -0700)]
Make GrPathRenderer only support fills for path stenciling

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

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

8 years agoStop banning stroke-and-fill for GrStyle and add tests
bsalomon [Thu, 5 May 2016 15:28:30 +0000 (08:28 -0700)]
Stop banning stroke-and-fill for GrStyle and add tests

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

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

8 years agoRevert of SkOncePtr -> SkOnce (patchset #1 id:1 of https://codereview.chromium.org...
reed [Thu, 5 May 2016 08:36:43 +0000 (01:36 -0700)]
Revert of SkOncePtr -> SkOnce (patchset #1 id:1 of https://codereview.chromium.org/1949313003/ )

Reason for revert:
ok, I have no idea what's going on

Original issue's description:
> Reland of SkOncePtr -> SkOnce (patchset #1 id:1 of https://codereview.chromium.org/1945293004/ )
>
> Reason for revert:
> previous revert unneeded (I think)
>
> Original issue's description:
> > Revert of SkOncePtr -> SkOnce (patchset #4 id:60001 of https://codereview.chromium.org/1953533002/ )
> >
> > Reason for revert:
> > broken the Mac and Linux builders, e.g.:
> >
> > https://build.chromium.org/p/chromium/builders/Mac/builds/15151
> > https://build.chromium.org/p/chromium/builders/Linux%20x64/builds/19052
> >
> > Original issue's description:
> > > SkOncePtr -> SkOnce
> > >
> > > It's always nice to kill off a synchronization primitive.
> > > And while less terse, I think this new code reads more clearly.
> > >
> > > ... and, SkOncePtr's tests were the only thing now using sk_num_cores()
> > > outside of SkTaskGroup, so I've hidden it as static inside SkTaskGroup.cpp.
> > >
> > > BUG=skia:
> > > GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1953533002
> > > CQ_EXTRA_TRYBOTS=client.skia:Test-Ubuntu-GCC-GCE-CPU-AVX2-x86_64-Release-SKNX_NO_SIMD-Trybot
> > >
> > > Committed: https://skia.googlesource.com/skia/+/9bd3fc7fa9bb7cad050bd619aa93d4c48ebb5c02
> >
> > TBR=herb@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/+/7eb33da7eede34c050b865dbb1b60c3dcea7191b
>
> TBR=herb@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/+/82da9a8aa0ce648f36882830765b42e0ada6c0fa

TBR=herb@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/1948313002

8 years agoReland of SkOncePtr -> SkOnce (patchset #1 id:1 of https://codereview.chromium.org...
reed [Thu, 5 May 2016 08:28:56 +0000 (01:28 -0700)]
Reland of SkOncePtr -> SkOnce (patchset #1 id:1 of https://codereview.chromium.org/1945293004/ )

Reason for revert:
previous revert unneeded (I think)

Original issue's description:
> Revert of SkOncePtr -> SkOnce (patchset #4 id:60001 of https://codereview.chromium.org/1953533002/ )
>
> Reason for revert:
> broken the Mac and Linux builders, e.g.:
>
> https://build.chromium.org/p/chromium/builders/Mac/builds/15151
> https://build.chromium.org/p/chromium/builders/Linux%20x64/builds/19052
>
> Original issue's description:
> > SkOncePtr -> SkOnce
> >
> > It's always nice to kill off a synchronization primitive.
> > And while less terse, I think this new code reads more clearly.
> >
> > ... and, SkOncePtr's tests were the only thing now using sk_num_cores()
> > outside of SkTaskGroup, so I've hidden it as static inside SkTaskGroup.cpp.
> >
> > BUG=skia:
> > GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1953533002
> > CQ_EXTRA_TRYBOTS=client.skia:Test-Ubuntu-GCC-GCE-CPU-AVX2-x86_64-Release-SKNX_NO_SIMD-Trybot
> >
> > Committed: https://skia.googlesource.com/skia/+/9bd3fc7fa9bb7cad050bd619aa93d4c48ebb5c02
>
> TBR=herb@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/+/7eb33da7eede34c050b865dbb1b60c3dcea7191b

TBR=herb@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/1949313003

8 years agoRevert of Modernize SkMutex and SkSemaphore. (patchset #2 id:20001 of https://coderev...
sclittle [Thu, 5 May 2016 01:23:30 +0000 (18:23 -0700)]
Revert of Modernize SkMutex and SkSemaphore. (patchset #2 id:20001 of https://codereview.chromium.org/1947153002/ )

Reason for revert:
This CL seems to have broken the Linux x64 and Mac
bots, e.g.

https://build.chromium.org/p/chromium/builders/Linux%20x64/builds/19052
https://build.chromium.org/p/chromium/builders/Mac/builds/15151

The error appears to have something to do with new static initializers being
added.

Original issue's description:
> Modernize SkMutex and SkSemaphore.
>
>    - use <atomic>
>    - fuse SkMutex and SkBaseMutex
>    - fuse SkSemaphore and SkBaseSemaphore
>
> Still TODO:
>    - replace SK_DECLARE_STATIC_MUTEX(name) with static SkMutex name
>
> I just didn't want to bother fixing all that up until I know this CL sticks.
>
> BUG=skia:
> GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1947153002
>
> No public API changes.
> TBR=reed@google.com
>
> Committed: https://skia.googlesource.com/skia/+/427c2819d9237d7d7729c59238036cfc73c072ea

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

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

8 years agoRevert of SkOncePtr -> SkOnce (patchset #4 id:60001 of https://codereview.chromium...
reed [Thu, 5 May 2016 00:14:44 +0000 (17:14 -0700)]
Revert of SkOncePtr -> SkOnce (patchset #4 id:60001 of https://codereview.chromium.org/1953533002/ )

Reason for revert:
broken the Mac and Linux builders, e.g.:

https://build.chromium.org/p/chromium/builders/Mac/builds/15151
https://build.chromium.org/p/chromium/builders/Linux%20x64/builds/19052

Original issue's description:
> SkOncePtr -> SkOnce
>
> It's always nice to kill off a synchronization primitive.
> And while less terse, I think this new code reads more clearly.
>
> ... and, SkOncePtr's tests were the only thing now using sk_num_cores()
> outside of SkTaskGroup, so I've hidden it as static inside SkTaskGroup.cpp.
>
> BUG=skia:
> GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1953533002
> CQ_EXTRA_TRYBOTS=client.skia:Test-Ubuntu-GCC-GCE-CPU-AVX2-x86_64-Release-SKNX_NO_SIMD-Trybot
>
> Committed: https://skia.googlesource.com/skia/+/9bd3fc7fa9bb7cad050bd619aa93d4c48ebb5c02

TBR=herb@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/1945293004

8 years agoRevert of SK_DECLARE_STATIC_MUTEX -> static SkMutex (patchset #1 id:1 of https:/...
reed [Thu, 5 May 2016 00:12:46 +0000 (17:12 -0700)]
Revert of SK_DECLARE_STATIC_MUTEX -> static SkMutex (patchset #1 id:1 of https://codereview.chromium.org/1948193002/ )

Reason for revert:
broken the Mac and Linux builders, e.g.:

https://build.chromium.org/p/chromium/builders/Mac/builds/15151
https://build.chromium.org/p/chromium/builders/Linux%20x64/builds/19052

Original issue's description:
> SK_DECLARE_STATIC_MUTEX -> static SkMutex
>
> There's no need to use a macro to declare static SkMutexes any more
> (and there's likewise no need to restrict them to global scope).
>
> BUG=skia:
> GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1948193002
>
> Committed: https://skia.googlesource.com/skia/+/5e56cfd3fa1041dbb83899844fb92fa9a2ef1009

TBR=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/1945353003

8 years agoSK_DECLARE_STATIC_MUTEX -> static SkMutex
mtklein [Wed, 4 May 2016 22:21:12 +0000 (15:21 -0700)]
SK_DECLARE_STATIC_MUTEX -> static SkMutex

There's no need to use a macro to declare static SkMutexes any more
(and there's likewise no need to restrict them to global scope).

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

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

8 years agoSkOncePtr -> SkOnce
mtklein [Wed, 4 May 2016 21:40:18 +0000 (14:40 -0700)]
SkOncePtr -> SkOnce

It's always nice to kill off a synchronization primitive.
And while less terse, I think this new code reads more clearly.

... and, SkOncePtr's tests were the only thing now using sk_num_cores()
outside of SkTaskGroup, so I've hidden it as static inside SkTaskGroup.cpp.

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

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

8 years agoNow we're on MSVC 2015, try using std::chrono for timing again.
mtklein [Wed, 4 May 2016 21:02:14 +0000 (14:02 -0700)]
Now we're on MSVC 2015, try using std::chrono for timing again.

2015's std::chrono::high_resolution_clock should have a precision equal to our old custom code.

Tested this locally on Windows 10 and Mac (the two affected platforms).

Long term SkTime::GetNSecs() can probably be phased out for direct <chrono> use.

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

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

8 years agoSimplify implementation of SkOnce to not need so many comments.
mtklein [Wed, 4 May 2016 20:57:30 +0000 (13:57 -0700)]
Simplify implementation of SkOnce to not need so many comments.

I think this version reads more clearly, and the key invariants are
expressed in code rather than comments:
   - race losers always go through an acquire
   - we never exit the function unless fState is Done

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

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

8 years agoMake cap only affect the keys of GrShapes that are possibly-open
bsalomon [Wed, 4 May 2016 20:50:29 +0000 (13:50 -0700)]
Make cap only affect the keys of GrShapes that are possibly-open

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

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

8 years agoRename VulkanViewer to Viewer, take 2.
jvanverth [Wed, 4 May 2016 20:49:13 +0000 (13:49 -0700)]
Rename VulkanViewer to Viewer, take 2.

Also puts Window and Application in sk_app namespace.

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

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

8 years agoRemove executable bit from source code files.
benjaminwagner [Wed, 4 May 2016 20:45:06 +0000 (13:45 -0700)]
Remove executable bit from source code files.

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

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

8 years agomove colorshader into its own .cpp, add color4f variant
reed [Wed, 4 May 2016 20:09:39 +0000 (13:09 -0700)]
move colorshader into its own .cpp, add color4f variant

Implemented as a different subclass for SkColorShader (which is also private) partly to make the CL clearer/simpler, and partly for flatten/unflatten compatibility. Later I'm sure we could combine these if that proves useful.

Lots of TODOs at the moment, but still valuable to get reviewed.

Note: this ignores the question (for the moment) about how to interpret SkColor in the larger world. That needs to happen, but this CL is more focused on what *else* to do besides handle the old-style input (and old-style pipeline).

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

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

8 years agoFix ICO bug exposed by the fuzzer
msarett [Wed, 4 May 2016 20:03:48 +0000 (13:03 -0700)]
Fix ICO bug exposed by the fuzzer

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

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

8 years agoAdd Gr*Proxy classes
robertphillips [Wed, 4 May 2016 19:47:41 +0000 (12:47 -0700)]
Add Gr*Proxy classes

This isn't wired in anywhere yet.

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

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

Committed: https://skia.googlesource.com/skia/+/92605b35efa0155c44d24bd8415b4cc1db8831db

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

8 years agoAllow stencils to be attached to render targets created via SkSurface::MakeFromBacken...
ericrk [Wed, 4 May 2016 19:01:58 +0000 (12:01 -0700)]
Allow stencils to be attached to render targets created via SkSurface::MakeFromBackendTextureAsRenderTarget

This is a regression from "Refactor to separate backend object lifecycle
and GpuResource budget decision".

GrGLRenderer::canAttemptStencilAttachment was incorrectly returning false
for all wrapped render targets. This function should return false only if
the FBO is wrapped (unowned). If the FBO is owned by Skia, we can attach
stencils.

BUG=608238

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

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

8 years agoModernize SkMutex and SkSemaphore.
mtklein [Wed, 4 May 2016 18:31:29 +0000 (11:31 -0700)]
Modernize SkMutex and SkSemaphore.

   - use <atomic>
   - fuse SkMutex and SkBaseMutex
   - fuse SkSemaphore and SkBaseSemaphore

Still TODO:
   - replace SK_DECLARE_STATIC_MUTEX(name) with static SkMutex name

I just didn't want to bother fixing all that up until I know this CL sticks.

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

No public API changes.
TBR=reed@google.com

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

8 years agoDisable Ganesh layer hoister in a more revertable form
robertphillips [Wed, 4 May 2016 18:26:46 +0000 (11:26 -0700)]
Disable Ganesh layer hoister in a more revertable form

I have a worry that disabling the layer hoister might cause a perf regression on tiled architectures. This CL will be easier to revert than https://codereview.chromium.org/1950523002/ (Remove GrLayerHoister)

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

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

8 years agoPrototype code that turns any/every flattenable into JSON
brianosman [Wed, 4 May 2016 18:06:28 +0000 (11:06 -0700)]
Prototype code that turns any/every flattenable into JSON

This makes inspecting things in SkDebugger far more useful - any filter
or other complex object on the paint is ultimately visible. You still
have to do some guess work to figure out what the fields actually mean,
but you can at least cross-reference with the code in flatten().

Screenshots:
Before: https://screenshot.googleplex.com/a6JM5HBBe6G.png
After : https://screenshot.googleplex.com/XQfr4YJ6mnH.png

Changes to public API are just removals and changes to make
some functions virtual.

TBR=reed@google.com

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

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

8 years agoFix ASAN errors.
benjaminwagner [Wed, 4 May 2016 18:06:19 +0000 (11:06 -0700)]
Fix ASAN errors.

These errors occur when building for GPU but running dm with --nogpu. The current ASAN bots do not catch these because 1) the CPU bot compiles with skia_gpu=0 and 2) the GPU bot runs with --nocpu; whereas the new ASAN bots use the same compile for both the CPU and GPU bots.

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

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

8 years agoRevert of Allow stencils to be attached to render targets created via SkSurface:...
jvanverth [Wed, 4 May 2016 17:08:12 +0000 (10:08 -0700)]
Revert of Allow stencils to be attached to render targets created via SkSurface::MakeFromBackendTextureAsRend… (patchset #1 id:60001 of https://codereview.chromium.org/1941353003/ )

Reason for revert:
Breaking the ANGLE bots. Message is:

Caught exception 3221225477 EXCEPTION_ACCESS_VIOLATION

8.59m elapsed, 1 active, 82 queued, 315MB RAM, 1442MB peak
unit test  SurfaceAttachStencil_Gpu
step returned non-zero exit code: -1073741819

Original issue's description:
> Allow stencils to be attached to render targets created via SkSurface::MakeFromBackendTextureAsRenderTarget
>
> This is a regression from "Refactor to separate backend object lifecycle
> and GpuResource budget decision".
>
> GrGLRenderer::canAttemptStencilAttachment was incorrectly returning false
> for all wrapped render targets. This function should return false only if
> the FBO is wrapped (unowned). If the FBO is owned by Skia, we can attach
> stencils.
>
> BUG=608238
>
> GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1924183003
>
> Committed: https://skia.googlesource.com/skia/+/0736f3386820f19c0fe90b5dda2094e253780071

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

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

8 years agotools/using_skia_and_harfbuzz: minor cleanup
halcanary [Wed, 4 May 2016 16:34:25 +0000 (09:34 -0700)]
tools/using_skia_and_harfbuzz: minor cleanup

TBR=aam@

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

8 years agoAdd some more testing around hairline GrShapes
bsalomon [Wed, 4 May 2016 15:44:15 +0000 (08:44 -0700)]
Add some more testing around hairline GrShapes
GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1949903002

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

8 years agoexperimental/tools/coreGraphicsPdf2png: fix
halcanary [Wed, 4 May 2016 15:42:35 +0000 (08:42 -0700)]
experimental/tools/coreGraphicsPdf2png: fix

NOTRY=true
TBR=

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

8 years agoExpand GrStyle's interface.
bsalomon [Wed, 4 May 2016 15:27:41 +0000 (08:27 -0700)]
Expand GrStyle's interface.

Adds some basic getters on GrStyle as well as static const instances for fill and hairline.

Adds the ability to apply a GrStyle to a SkPath to produce an output SkPath.

Moves style key functions from GrShape to GrStyle.

Also fixes some issues with SkPath creation when applying style to GrShapes.

Adds tests that GrShape produces the correct SkPath when its GrStyle is applied.
GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1951613002

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

8 years agoFix type conversion compile errors
brianosman [Wed, 4 May 2016 15:19:44 +0000 (08:19 -0700)]
Fix type conversion compile errors

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

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

8 years agoAdd XSAN suppression files to infrabots.isolate. Only compile 'dm' and 'nanobench...
benjaminwagner [Wed, 4 May 2016 13:35:50 +0000 (06:35 -0700)]
Add XSAN suppression files to infrabots.isolate. Only compile 'dm' and 'nanobench' for XSAN flavors.

Needed for https://codereview.chromium.org/1920283002

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

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

8 years agoAllow stencils to be attached to render targets created via SkSurface::MakeFromBacken...
ericrk [Wed, 4 May 2016 00:14:07 +0000 (17:14 -0700)]
Allow stencils to be attached to render targets created via SkSurface::MakeFromBackendTextureAsRenderTarget

This is a regression from "Refactor to separate backend object lifecycle
and GpuResource budget decision".

GrGLRenderer::canAttemptStencilAttachment was incorrectly returning false
for all wrapped render targets. This function should return false only if
the FBO is wrapped (unowned). If the FBO is owned by Skia, we can attach
stencils.

BUG=608238

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

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

8 years agoStart building HarfBuzz+Skia example
halcanary [Tue, 3 May 2016 22:09:52 +0000 (15:09 -0700)]
Start building HarfBuzz+Skia example

(prevent bitrot in example code)

tools/using_skia_and_harfbuzz.cpp was written by aam@:
  https://github.com/aam/skiaex

update HarfBuzz to latest release: 1.2.7

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

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

8 years agoCreate a single, unique pointer to sRGB color space
msarett [Tue, 3 May 2016 21:24:47 +0000 (14:24 -0700)]
Create a single, unique pointer to sRGB color space

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

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

8 years agoRevert of Add Gr*Proxy classes (patchset #10 id:220001 of https://codereview.chromium...
robertphillips [Tue, 3 May 2016 19:56:04 +0000 (12:56 -0700)]
Revert of Add Gr*Proxy classes (patchset #10 id:220001 of https://codereview.chromium.org/1937553002/ )

Reason for revert:
ASAN

Original issue's description:
> Add Gr*Proxy classes
>
> This isn't wired in anywhere yet.
>
> GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1937553002
>
> Committed: https://skia.googlesource.com/skia/+/de5bf0cfeca908b81a28cc50065f7bc2da3d2fd1
>
> Committed: https://skia.googlesource.com/skia/+/92605b35efa0155c44d24bd8415b4cc1db8831db

TBR=bsalomon@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/1944953002

8 years agoreturn 4x4 matrix from SkColorSpace
reed [Tue, 3 May 2016 19:13:21 +0000 (12:13 -0700)]
return 4x4 matrix from SkColorSpace
move SkMatrix44 into core (with alias in utils to transition chrome)

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

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

8 years agodocumentation: SkDocument::MakePDF()
halcanary [Tue, 3 May 2016 19:10:04 +0000 (12:10 -0700)]
documentation: SkDocument::MakePDF()

also, update some tools.

DOCS_PREVIEW= https://skia.org/user/sample/pdf?cl=1936283003
DOCS_PREVIEW= https://skia.org/user/api/canvas?cl=1936283003

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

8 years agoAdd SK_API to SkFontLCDConfig.
bungeman [Tue, 3 May 2016 18:56:03 +0000 (11:56 -0700)]
Add SK_API to SkFontLCDConfig.

This will allow transition from double deprecated SkFontHost.

TBR=reed
This is obviously needed to remove other code.

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

8 years agoSet barriers and image layout changes between mipmap blits.
jvanverth [Tue, 3 May 2016 18:19:01 +0000 (11:19 -0700)]
Set barriers and image layout changes between mipmap blits.

Also fix some issues with mipLayer counts.
GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1945823002

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

8 years agoEnable two-sided stencil in Vulkan.
jvanverth [Tue, 3 May 2016 17:45:48 +0000 (10:45 -0700)]
Enable two-sided stencil in Vulkan.

Two-sided stencil is always available in Vulkan.

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

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

8 years agoApply setImageLayout() to all of a VkImage's subresources.
jvanverth [Tue, 3 May 2016 17:36:49 +0000 (10:36 -0700)]
Apply setImageLayout() to all of a VkImage's subresources.

This also adds fLevelCount to GrVkImage::Resource, which allows
clients to wrap mipmapped textures.

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

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

8 years agoDocumentation: Skia+Harfbuzz example
halcanary [Tue, 3 May 2016 17:18:30 +0000 (10:18 -0700)]
Documentation: Skia+Harfbuzz example

BUG=skia:4742
NOTRY=true
DOCS_PREVIEW= https://skia.org/user/tips?cl=1939123002#kerning

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

8 years agoRevert of Make GrStyle more sk_sp savy (patchset #1 id:1 of https://codereview.chromi...
bsalomon [Tue, 3 May 2016 17:11:55 +0000 (10:11 -0700)]
Revert of Make GrStyle more sk_sp savy (patchset #1 id:1 of https://codereview.chromium.org/1947543002/ )

Reason for revert:
Crashing Ubuntu/GCC bot (but not clang)

Original issue's description:
> Make GrStyle more sk_sp savy
> GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1947543002
>
> Committed: https://skia.googlesource.com/skia/+/46db22f1cfc65a7a4f1de13d774718347362f60f

TBR=robertphillips@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/1943973002

8 years agoMinor refactor of GrLayerHoister
robertphillips [Tue, 3 May 2016 16:37:08 +0000 (09:37 -0700)]
Minor refactor of GrLayerHoister

The main point of this CL is to make sure using the rect bounds (rather than the underlying texture's bounds) is acceptable in GrLayerHoister::FilterLayer.

This is split out of https://codereview.chromium.org/1943913002/ (Retract GrRenderTarget from GrLayerHoister)

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

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

8 years agoMake GrStyle more sk_sp savy
bsalomon [Tue, 3 May 2016 16:31:44 +0000 (09:31 -0700)]
Make GrStyle more sk_sp savy
GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1947543002

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

8 years agoAdd Gr*Proxy classes
robertphillips [Tue, 3 May 2016 15:47:00 +0000 (08:47 -0700)]
Add Gr*Proxy classes

This isn't wired in anywhere yet.

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

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

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

8 years agoAdd 8888 fast SrcOver mode.
herb [Tue, 3 May 2016 15:11:52 +0000 (08:11 -0700)]
Add 8888 fast SrcOver mode.

The SkLinearBitmapPipeline_tile change is an edge case fix.

This will not function until gDefaultProfileSRGB in SkImageInfo is set to true.

The srcover implementation is not the fastest, and I'm working on a better version.

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

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

8 years agoAdd sync in vulkan when writing to linear texture
egdaniel [Tue, 3 May 2016 14:25:56 +0000 (07:25 -0700)]
Add sync in vulkan when writing to linear texture

Since mapping memory of linear textures happens in real time and not via
a command buffer, we need to flush all work that access the texture
before uploading new data to it. Even if the texture is already in the
correct layout, General, we still need to make sure all work has been
finished.

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

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

8 years agoRevert of Add Gr*Proxy classes (patchset #9 id:160001 of https://codereview.chromium...
robertphillips [Tue, 3 May 2016 13:44:49 +0000 (06:44 -0700)]
Revert of Add Gr*Proxy classes (patchset #9 id:160001 of https://codereview.chromium.org/1937553002/ )

Reason for revert:
Seems to be breaking N7 & ANGLE bots

Original issue's description:
> Add Gr*Proxy classes
>
> This isn't wired in anywhere yet.
>
> GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1937553002
>
> Committed: https://skia.googlesource.com/skia/+/de5bf0cfeca908b81a28cc50065f7bc2da3d2fd1

TBR=bsalomon@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/1949463002

8 years agoRemove SkBitmapHeap and SkBitmapHeapReader. They're unused.
brianosman [Tue, 3 May 2016 13:07:38 +0000 (06:07 -0700)]
Remove SkBitmapHeap and SkBitmapHeapReader. They're unused.

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

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

8 years agoRevert of Make stencils be attachable to render targets created via SkSurface::MakeFr...
jvanverth [Tue, 3 May 2016 12:37:45 +0000 (05:37 -0700)]
Revert of Make stencils be attachable to render targets created via SkSurface::MakeFromBackendTextureAsRender… (patchset #9 id:150001 of https://codereview.chromium.org/1924183003/ )

Reason for revert:
Appears to be breaking the roll.

Original issue's description:
> Make stencils be attachable to render targets created via SkSurface::MakeFromBackendTextureAsRenderTarget
>
> This is a regression from "Refactor to separate backend object lifecycle
> and GpuResource budget decision".
>
> GrGLRenderTarget::CreateWrapped creates only render targets that wrap
> the FBO.
> GrGLRenderTargetTexture::CreateWrapped creates render targets that
> wrap the texture.
>
> Use the latter as the implementation for
> SkSurface::MakeFromBackendTextureAsRenderTarget.
>
>
> BUG=608238
>
> GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1924183003
>
> Committed: https://skia.googlesource.com/skia/+/fe635fd76bbc375d527d1884af23cc617ca364ee
>
> Committed: https://skia.googlesource.com/skia/+/1cb00e42bff455e23f6883bf09680438fa631224

TBR=bsalomon@google.com,kkinnunen@nvidia.com
# Skipping CQ checks because original CL landed less than 1 days ago.
NOPRESUBMIT=true
NOTREECHECKS=true
NOTRY=true
BUG=608238

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

8 years agoAdd Gr*Proxy classes
robertphillips [Tue, 3 May 2016 12:06:29 +0000 (05:06 -0700)]
Add Gr*Proxy classes

This isn't wired in anywhere yet.

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

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

8 years agoMake stencils be attachable to render targets created via SkSurface::MakeFromBackendT...
kkinnunen [Tue, 3 May 2016 06:16:42 +0000 (23:16 -0700)]
Make stencils be attachable to render targets created via SkSurface::MakeFromBackendTextureAsRenderTarget

This is a regression from "Refactor to separate backend object lifecycle
and GpuResource budget decision".

GrGLRenderTarget::CreateWrapped creates only render targets that wrap
the FBO.
GrGLRenderTargetTexture::CreateWrapped creates render targets that
wrap the texture.

Use the latter as the implementation for
SkSurface::MakeFromBackendTextureAsRenderTarget.

BUG=608238

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

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

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

8 years agoMake SkTime SK_API so that SkTime::GetDateTime() is visible to the clients.
aam [Mon, 2 May 2016 22:04:46 +0000 (15:04 -0700)]
Make SkTime SK_API so that SkTime::GetDateTime() is visible to the clients.

# begin mtklein edits...
No public API changes.
TBR=reed@google.com
# end mtklein edits

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

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

8 years agoMake sure that Vulkan debug callback ptr is non-null.
jvanverth [Mon, 2 May 2016 20:24:48 +0000 (13:24 -0700)]
Make sure that Vulkan debug callback ptr is non-null.

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

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

8 years agoWhen filling nested rect path check for empty inner and empty outer rects
bsalomon [Mon, 2 May 2016 20:22:13 +0000 (13:22 -0700)]
When filling nested rect path check for empty inner and empty outer rects

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

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

8 years agoadded GrMSAAPathRenderer
ethannicholas [Mon, 2 May 2016 19:16:49 +0000 (12:16 -0700)]
added GrMSAAPathRenderer
GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1834133003

Committed: https://skia.googlesource.com/skia/+/47a2dc8e229e93e1bcf7405747320920da1ab742

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

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

8 years agoClean up SkFontConfigInterface implementation.
bungeman [Mon, 2 May 2016 18:54:13 +0000 (11:54 -0700)]
Clean up SkFontConfigInterface implementation.

Renames some classes to avoid confusion with FontConfig.

Removed direct calls to FontConfig instead of calling FCI.

Moves the globals and factory to one (optional) file.

Moves font management code from typeface to font manager.

Adds index to fonts created from streams.

Associates FCI typefaces with the FCI instance which provides its identity.

Simplifies the singleton initialization.

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

8 years agoAdd a hook for CPU-optimized sRGB-sRGB srcover.
mtklein [Mon, 2 May 2016 18:48:42 +0000 (11:48 -0700)]
Add a hook for CPU-optimized sRGB-sRGB srcover.

Herb's really starting to get serious about tweaking this, which becomes
a lot easier when you've got SkOpts' runtime CPU detection. We should be
able to optimize this usefully for SSSE3, SSE4.1, AVX, AVX2, or NEON.
(We can of course implement a subset.)

This function takes two counts to give us flexibility to write src patterns:
   nsrc >= ndst -> the usual srcover function
   nsrc <  ndst -> repeat src until it fills dst
   nsrc << ndst -> possibly preprocess src into registers
   nsrc == 1    -> equivalent of blitrow_color32, srcover_1, etc.

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

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

8 years agoIntroduce SkGammas type to represent ICC gamma curves
msarett [Mon, 2 May 2016 18:12:14 +0000 (11:12 -0700)]
Introduce SkGammas type to represent ICC gamma curves

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

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

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

8 years agoFix VK WritePixels with offset rect
jvanverth [Mon, 2 May 2016 17:58:12 +0000 (10:58 -0700)]
Fix VK WritePixels with offset rect

VkUploadPixelsTest was failing because it was reallocating
the image when it didn't need to, because it was not
resetting the rowBytes when it did need to, and because the
origin was incorrect when using bottom-up images.

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

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

8 years agoUpdate libjpeg-turbo to 1.4.90
msarett [Mon, 2 May 2016 17:43:22 +0000 (10:43 -0700)]
Update libjpeg-turbo to 1.4.90

Google3, Chrome, and Android are considering updates.  Let's start
testing Skia on the newest version.
https://critique.corp.google.com/#review/116667446
https://codereview.chromium.org/1934113002
https://buganizer.corp.google.com/u/0/issues/28268702

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

Committed: https://skia.googlesource.com/skia/+/3994c161ec5a2b83e8f6bab4d9c469eec2668d92

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

8 years agoSimplify ColorFilter in the add-free case.
djsollen [Mon, 2 May 2016 16:45:43 +0000 (09:45 -0700)]
Simplify ColorFilter in the add-free case.
GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1938003002

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

8 years agoFix VulkanViewer package name
djsollen [Mon, 2 May 2016 16:45:04 +0000 (09:45 -0700)]
Fix VulkanViewer package name
GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1941813002

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

8 years agoUpdate gdb_app script to work with NDK r11c
djsollen [Mon, 2 May 2016 16:19:58 +0000 (09:19 -0700)]
Update gdb_app script to work with NDK r11c
GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1936163002

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

8 years agoRevert of Update libjpeg-turbo to 1.4.90 (patchset #1 id:20001 of https://codereview...
msarett [Mon, 2 May 2016 16:14:23 +0000 (09:14 -0700)]
Revert of Update libjpeg-turbo to 1.4.90 (patchset #1 id:20001 of https://codereview.chromium.org/1940903002/ )

Reason for revert:
Clang wants "strbeq" and gcc wants "streqb".  Uggh.

https://build.chromium.org/p/client.skia.compile/builders/Build-Mac-Clang-Arm7-Debug-Android/builds/1766/steps/compile_skia%20on%20Mac/logs/stdio

Original issue's description:
> Update libjpeg-turbo to 1.4.90
>
> Google3, Chrome, and Android are considering updates.  Let's start
> testing Skia on the newest version.
> https://critique.corp.google.com/#review/116667446
> https://codereview.chromium.org/1934113002
> https://buganizer.corp.google.com/u/0/issues/28268702
>
> BUG=skia:
> GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1940903002
>
> Committed: https://skia.googlesource.com/skia/+/3994c161ec5a2b83e8f6bab4d9c469eec2668d92

TBR=scroggo@google.com,djsollen@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/1937143002

8 years agoRemove (almost) unused read/writeFunctionPtr API.
brianosman [Mon, 2 May 2016 14:51:08 +0000 (07:51 -0700)]
Remove (almost) unused read/writeFunctionPtr API.

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

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

8 years agoUpdate libjpeg-turbo to 1.4.90
msarett [Mon, 2 May 2016 14:48:58 +0000 (07:48 -0700)]
Update libjpeg-turbo to 1.4.90

Google3, Chrome, and Android are considering updates.  Let's start
testing Skia on the newest version.
https://critique.corp.google.com/#review/116667446
https://codereview.chromium.org/1934113002
https://buganizer.corp.google.com/u/0/issues/28268702

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

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

8 years agoremove non-static uses of SkOncePtr
mtklein [Mon, 2 May 2016 14:19:41 +0000 (07:19 -0700)]
remove non-static uses of SkOncePtr

Still slowly working through all the SK_DECLARE_STATIC_FOO macros.

SkOncePtr is complicating things by having SkOncePtr delete its pointer
and SkBaseOncePtr not.  Simplify things by removing SkOncePtr, leaving
only the leaky SkBaseOncePtr.

We replace SkOncePtr<T> instead with SkOnce and T.  In most cases this
did not need to be a pointer, and in some cases here we're even saving
a few bytes by replacing SkOncePtr<T> with SkOnce and a T.

The dependency map of SK_DECLARE_STATIC_FOO is:
  SkBaseMutex -> SkBaseSemaphore -> SkBaseOncePtr

They're intertwined enough that I think I've got to do all three in one
next CL.

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

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

8 years agoRemove unused encodedString API on SkWriteBuffer/SkReadBuffer
brianosman [Mon, 2 May 2016 14:09:24 +0000 (07:09 -0700)]
Remove unused encodedString API on SkWriteBuffer/SkReadBuffer

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

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

8 years agoUnify DescriptorPools for vulkan uniform descriptor sets
egdaniel [Mon, 2 May 2016 13:50:36 +0000 (06:50 -0700)]
Unify DescriptorPools for vulkan uniform descriptor sets

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

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

8 years agoDisable yet another GCC warning in Release_Developer mode.
djsollen [Mon, 2 May 2016 13:06:02 +0000 (06:06 -0700)]
Disable yet another GCC warning in Release_Developer mode.
GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1934293002

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

8 years agoAdd CMake path to gradle
liyuqian [Mon, 2 May 2016 12:33:20 +0000 (05:33 -0700)]
Add CMake path to gradle

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

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

8 years agoEnable generating SkImage with the same uniqueID in SkImageGenerator subclass
aleksandar.stojiljkovic [Mon, 2 May 2016 08:43:38 +0000 (01:43 -0700)]
Enable generating SkImage with the same uniqueID in SkImageGenerator subclass

Enable reusing uniqueID when instantiating SkImageGenerator subclasses enables
using uniqueID in client code to cache generated bitmaps with no need to keep
the reference to SkImageGenerator.

This is a bug fix for out of memory cause in chromium and 100% CPU usage
described in issue 165750#13:
- cache uses SkImage::uniqueID() to cache decoded bitmaps.
- every animation loop creates new SkImage instances.
- after decoding, bitmap copies are added to cache, filling it up with
duplicates of previous loops frames.

BUG=165750

Blink patch that depends on this:
https://codereview.chromium.org/1925533003/
"High CPU and increased memory usage fix for high-res (GIF, WEBP...) animations."

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

8 years agoPatch in internal cl/121138374.
benjaminwagner [Sun, 1 May 2016 22:02:25 +0000 (15:02 -0700)]
Patch in internal cl/121138374.

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

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

8 years agoremove SK_SUPPORT_LEGACY_IMAGEFILTER_CTM flag
reed [Sun, 1 May 2016 22:00:20 +0000 (15:00 -0700)]
remove SK_SUPPORT_LEGACY_IMAGEFILTER_CTM flag

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

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

8 years agoUpdate SKP version
update-skps [Sun, 1 May 2016 07:29:08 +0000 (00:29 -0700)]
Update SKP version

Automatic commit by the RecreateSKPs bot.

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

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

8 years agoFix gcc warnings in Vulkan backend
bsalomon [Sat, 30 Apr 2016 01:30:06 +0000 (18:30 -0700)]
Fix gcc warnings in Vulkan backend

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

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

8 years agoFix race in SkTypeface_FreeType::onCountGlyphs.
bungeman [Fri, 29 Apr 2016 22:05:02 +0000 (15:05 -0700)]
Fix race in SkTypeface_FreeType::onCountGlyphs.

Found by TSAN. This makes the operation slightly slower, but it is
not on any user's hot path.

BUG=skia:5238

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

8 years agoRemove SkWriter32::contiguousArray().
mtklein [Fri, 29 Apr 2016 21:45:36 +0000 (14:45 -0700)]
Remove SkWriter32::contiguousArray().

This method requires SkWriter32 have a contiguous array.
It does, and I plan to keep it that way (last time we checked
it's faster), but this turns that feature back into an
implementation detail.

This feature is only used by another unused feature, deep copies of
ops arrays in SkPictureData.  Kill that, kill this.

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

Depends on https://codereview.chromium.org/1936563002/

Only deleting API
TBR=reed@google.com

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

8 years agoFix old debugger
robertphillips [Fri, 29 Apr 2016 21:02:18 +0000 (14:02 -0700)]
Fix old debugger
GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1935623002

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

8 years agoDelete ChromeOS code
borenet [Fri, 29 Apr 2016 21:01:34 +0000 (14:01 -0700)]
Delete ChromeOS code

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

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

8 years agoAdd reminders that these classes have constexpr default constructors.
mtklein [Fri, 29 Apr 2016 20:58:18 +0000 (13:58 -0700)]
Add reminders that these classes have constexpr default constructors.

We can do this now that we can write "constexpr".

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

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

8 years agoremove SkWriteBuffer::getWriter32().
mtklein [Fri, 29 Apr 2016 20:58:09 +0000 (13:58 -0700)]
remove SkWriteBuffer::getWriter32().

SkWriteBuffer exposes its lower-level implementation SkWriter32 through
this one call.  It's not currently used in any interesting way:
   - write_encoded_bitmap() uses it to manually re-create writeDataAsByteArray();
   - unit tests use it incidentally as a quick way to read the serialized bytes.

This should be SkWriteBuffer no longer necessarily needs to have an SkWriter32.

Landing this will let us then remove SkWriter32::contiguousArray().

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

TBR=reed@google.com
Just deleting API

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

8 years agoAdd mipmap loading to Vulkan.
jvanverth [Fri, 29 Apr 2016 20:53:12 +0000 (13:53 -0700)]
Add mipmap loading to Vulkan.
GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1925303002

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

8 years agoFix warnings that were exposed when running with SK_DEBUG enable on an optimized...
djsollen [Fri, 29 Apr 2016 20:53:05 +0000 (13:53 -0700)]
Fix warnings that were exposed when running with SK_DEBUG enable on an optimized release build.
GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1917223006

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

8 years agoUnbreak vulkan after stencil constant name changes
bsalomon [Fri, 29 Apr 2016 19:03:52 +0000 (12:03 -0700)]
Unbreak vulkan after stencil constant name changes

TBR=egdaniel@google.com,jvanverth@google.com
GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1930323003

NOTREECHECKS=true

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

8 years agoRevert of Make stencils be attachable to render targets created via SkSurface::MakeFr...
benjaminwagner [Fri, 29 Apr 2016 18:17:07 +0000 (11:17 -0700)]
Revert of Make stencils be attachable to render targets created via SkSurface::MakeFromBackendTextureAsRender… (patchset #5 id:80001 of https://codereview.chromium.org/1924183003/ )

Reason for revert:
Breaking the DEPS roll.

Also seems to be causing failure in DM on some Windows bots:
c:\0\build\slave\workdir\build\skia\tests\surfacetest.cpp:963 kShapeColor == bitmap.getColor(kW / 2, kH / 2)

Original issue's description:
> Make stencils be attachable to render targets created via SkSurface::MakeFromBackendTextureAsRenderTarget
>
> This is a regression from "Refactor to separate backend object lifecycle
> and GpuResource budget decision".
>
> GrGLRenderTarget::CreateWrapped creates only render targets that wrap
> the FBO.
> GrGLRenderTargetTexture::CreateWrapped creates render targets that
> wrap the texture.
>
> Use the latter as the implementation for
> SkSurface::MakeFromBackendTextureAsRenderTarget.
>
> The test contains disabled code. The
> MakeFromBackendTextureAsRenderTarget does not copy the existing texture
> contents to the FBO render buffer.
> GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1924183003
>
> Committed: https://skia.googlesource.com/skia/+/fe635fd76bbc375d527d1884af23cc617ca364ee

TBR=bsalomon@google.com,kkinnunen@nvidia.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/1931293003

8 years agoRevert of Introduce SkGammas type to represent ICC gamma curves (patchset #7 id:40002...
msarett [Fri, 29 Apr 2016 18:12:22 +0000 (11:12 -0700)]
Revert of Introduce SkGammas type to represent ICC gamma curves (patchset #7 id:40002 of https://codereview.chromium.org/1928123002/ )

Reason for revert:
Breaks TSAN
https://build.chromium.org/p/client.skia/builders/Test-Ubuntu-GCC-GCE-CPU-AVX2-x86_64-Release-TSAN/builds/6387/steps/dm/logs/stdio

Original issue's description:
> Introduce SkGammas type to represent ICC gamma curves
>
> BUG=skia:
> GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1928123002
>
> Committed: https://skia.googlesource.com/skia/+/7b2c6dd8c918209cb92e1338905d511c68da3eb2

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

8 years agoIntroduce SkGammas type to represent ICC gamma curves
msarett [Fri, 29 Apr 2016 17:01:26 +0000 (10:01 -0700)]
Introduce SkGammas type to represent ICC gamma curves

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

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

8 years agoFix Vulkan Build in Android
liyuqian [Fri, 29 Apr 2016 17:00:26 +0000 (10:00 -0700)]
Fix Vulkan Build in Android

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

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

8 years agoDon't mark mipmaps dirty if uploading > 1 levels
jvanverth [Fri, 29 Apr 2016 16:50:25 +0000 (09:50 -0700)]
Don't mark mipmaps dirty if uploading > 1 levels

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

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

8 years agoAdd ColorCodecSrc for testing/comparison on color corrected decodes
msarett [Fri, 29 Apr 2016 16:38:40 +0000 (09:38 -0700)]
Add ColorCodecSrc for testing/comparison on color corrected decodes

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

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

8 years agoremove SkWriteBuffer::reserve()
mtklein [Fri, 29 Apr 2016 15:46:41 +0000 (08:46 -0700)]
remove SkWriteBuffer::reserve()

We're not using it for anything that we can't do using the clearer writeFoo()/readFoo() methods.

The deletions in SkPictureFlat.{h,cpp} and BitmapHeapTest.cpp clean up dead code.
This code has not been used for a long time.  I happened to notice it because it
was another caller of reserve() (in a terrifyingly hacking/interesting way that
I bet we'll find I authored...)

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

Deleting APIs unused publicly.
TBR=reed@google.com

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

8 years agoUse constexpr constructors of GrStencilSettings rather than hacky macro system.
bsalomon [Fri, 29 Apr 2016 15:44:16 +0000 (08:44 -0700)]
Use constexpr constructors of GrStencilSettings rather than hacky macro system.

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

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

8 years agoRemove skstd::is_function.
bungeman [Fri, 29 Apr 2016 15:27:14 +0000 (08:27 -0700)]
Remove skstd::is_function.

The VC++ STL with 2015u2 now provides a complete std::is_function.
Also, Skia is no longer using skstd::is_function.

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

8 years agoRequire Android SDK copy of CMake to build Vulkan on Android.
djsollen [Fri, 29 Apr 2016 15:09:43 +0000 (08:09 -0700)]
Require Android SDK copy of CMake to build Vulkan on Android.
GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1930423002

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

8 years agoRevert of Adjust tolerance to fix bezier glitches issue (patchset #1 id:1 of https...
jvanverth [Fri, 29 Apr 2016 14:38:10 +0000 (07:38 -0700)]
Revert of Adjust tolerance to fix bezier glitches issue (patchset #1 id:1 of https://codereview.chromium.org/1926063002/ )

Reason for revert:
This is causing undesirable image failures in a large number of Skia GMs.

Original issue's description:
> Adjust tolerance to fix bezier glitches issue
>
> In a previous CL: https://codereview.chromium.org/1126793003, the value
> of gDegenerateToLineTol was changed from 1.0 to 0.25 which caused the
> bezier glitches.
>
> This CL changes the value to SK_ScalarRoot2Over2, with this change the
> bezier curve looks fine, and the result of the layout tests pointed out
> in this bug: https://bugs.chromium.org/p/chromium/issues/detail?id=472847
> is also reasonable.
>
> BUG=605439
> GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1926063002
>
> Committed: https://skia.googlesource.com/skia/+/45a6f49ef9ff276e08025d0d2ba6a821a96d3f34

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

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