platform/upstream/libSkiaSharp.git
7 years agoRevert "Revert "SaveLayerRec::fClipMask -> raw pointer""
Mike Klein [Mon, 1 May 2017 21:34:14 +0000 (21:34 +0000)]
Revert "Revert "SaveLayerRec::fClipMask -> raw pointer""

This reverts commit 3354969a4a4adcea159f3a0b01ad0a7c04fc9115.

Reason for revert: not the problem?

Original change's description:
> Revert "SaveLayerRec::fClipMask -> raw pointer"
>
> This reverts commit a6b72cb5729306fdd676d739c1e2c53afa0786a7.
>
> Reason for revert: red bots
>
> Original change's description:
> > SaveLayerRec::fClipMask -> raw pointer
> >
> > Use raw pointers for optional clip mask plumbing, to match the backdrop
> > API.
> >
> > Change-Id: I7eb0ee5896faf34cc05789ba0703f35a4ab6a4f2
> > Reviewed-on: https://skia-review.googlesource.com/14901
> > Reviewed-by: Mike Reed <reed@google.com>
> > Commit-Queue: Florin Malita <fmalita@chromium.org>
> >
>
> TBR=fmalita@chromium.org,reed@google.com
> NOPRESUBMIT=true
> NOTREECHECKS=true
> NOTRY=true
>
> Change-Id: I4387620cdc3410018af9cef221e5cf8d09015380
> Reviewed-on: https://skia-review.googlesource.com/14955
> Reviewed-by: Mike Klein <mtklein@chromium.org>
> Commit-Queue: Mike Klein <mtklein@chromium.org>
>

TBR=mtklein@chromium.org,reviews@skia.org,fmalita@chromium.org,reed@google.com
NOPRESUBMIT=true
NOTREECHECKS=true
NOTRY=true

Change-Id: I6dde9e0441928f7a7423139a5c39f520f892f4b5
Reviewed-on: https://skia-review.googlesource.com/14958
Reviewed-by: Mike Klein <mtklein@chromium.org>
Commit-Queue: Mike Klein <mtklein@chromium.org>

7 years agoRevert "Add a clip mask bench"
Mike Klein [Mon, 1 May 2017 21:33:55 +0000 (21:33 +0000)]
Revert "Add a clip mask bench"

This reverts commit c59a38d12dce287427f3d3fe1d4b3ad8052cda35.

Reason for revert: whoops, sorry, this one must have been the problem.

Original change's description:
> Add a clip mask bench
>
> Change-Id: I230729492fc23e290136f7d62610abe5ca51c067
> Reviewed-on: https://skia-review.googlesource.com/14941
> Reviewed-by: Mike Reed <reed@google.com>
> Commit-Queue: Florin Malita <fmalita@chromium.org>
>

TBR=fmalita@chromium.org,reed@google.com
NOPRESUBMIT=true
NOTREECHECKS=true
NOTRY=true

Change-Id: Ifbd74a8985ebaa95e54032aaaa2891b0f1b67940
Reviewed-on: https://skia-review.googlesource.com/14957
Reviewed-by: Mike Klein <mtklein@chromium.org>
Commit-Queue: Mike Klein <mtklein@chromium.org>

7 years agoRevert "SaveLayerRec::fClipMask -> raw pointer"
Mike Klein [Mon, 1 May 2017 21:31:32 +0000 (21:31 +0000)]
Revert "SaveLayerRec::fClipMask -> raw pointer"

This reverts commit a6b72cb5729306fdd676d739c1e2c53afa0786a7.

Reason for revert: red bots

Original change's description:
> SaveLayerRec::fClipMask -> raw pointer
>
> Use raw pointers for optional clip mask plumbing, to match the backdrop
> API.
>
> Change-Id: I7eb0ee5896faf34cc05789ba0703f35a4ab6a4f2
> Reviewed-on: https://skia-review.googlesource.com/14901
> Reviewed-by: Mike Reed <reed@google.com>
> Commit-Queue: Florin Malita <fmalita@chromium.org>
>

TBR=fmalita@chromium.org,reed@google.com
NOPRESUBMIT=true
NOTREECHECKS=true
NOTRY=true

Change-Id: I4387620cdc3410018af9cef221e5cf8d09015380
Reviewed-on: https://skia-review.googlesource.com/14955
Reviewed-by: Mike Klein <mtklein@chromium.org>
Commit-Queue: Mike Klein <mtklein@chromium.org>

7 years agoAdd a clip mask bench
Florin Malita [Mon, 1 May 2017 20:27:02 +0000 (16:27 -0400)]
Add a clip mask bench

Change-Id: I230729492fc23e290136f7d62610abe5ca51c067
Reviewed-on: https://skia-review.googlesource.com/14941
Reviewed-by: Mike Reed <reed@google.com>
Commit-Queue: Florin Malita <fmalita@chromium.org>

7 years agoSaveLayerRec::fClipMask -> raw pointer
Florin Malita [Mon, 1 May 2017 16:17:12 +0000 (12:17 -0400)]
SaveLayerRec::fClipMask -> raw pointer

Use raw pointers for optional clip mask plumbing, to match the backdrop
API.

Change-Id: I7eb0ee5896faf34cc05789ba0703f35a4ab6a4f2
Reviewed-on: https://skia-review.googlesource.com/14901
Reviewed-by: Mike Reed <reed@google.com>
Commit-Queue: Florin Malita <fmalita@chromium.org>

7 years agofinish up constants
Mike Klein [Mon, 1 May 2017 20:01:38 +0000 (16:01 -0400)]
finish up constants

For whatever reason, if I swap the condition in the if_then_else tests
from < to >= and swap the then/else values, I can use constants in
hsl_to_rgb.  Still don't understand why, but I'll take it.  I suspect it
has something to do with SSE, IEEE, and NaN, but I don't care enough to
speculate any more concretely.

This does that, removes C() and _f, updates some comments, and adds a
guard in build_stages.py to yell if it sees trouble like LCPI40_4...

This reminds me to try -ffast-math soon.  I think that was mostly held
back by constants.

Change-Id: I3f8a37a4d4642f77422ce3261b750061e9e604a3
Reviewed-on: https://skia-review.googlesource.com/14942
Reviewed-by: Herb Derby <herb@google.com>
7 years agorefactor hsl_to_rgb a touch
Mike Klein [Mon, 1 May 2017 19:34:01 +0000 (15:34 -0400)]
refactor hsl_to_rgb a touch

This rewrites the existing logic to expose more of the symmetries,
and especially to make them clearly identical subexpressions.

I think it's clear that the intent in hue_to_rgb is to wrap the t value
back into 0-1... that's t = fract(t).

No GM diffs.

Change-Id: I9d62d8f80bcb45711ee334f953d3f6410e068ce4
Reviewed-on: https://skia-review.googlesource.com/14940
Reviewed-by: Herb Derby <herb@google.com>
7 years agoUpdate Nexus6p to Android O developer release.
Ben Wagner [Mon, 1 May 2017 15:24:17 +0000 (11:24 -0400)]
Update Nexus6p to Android O developer release.

No-Try: true
Change-Id: I1b39d3548d0979385b24558170fdcd6d766a63bd
Reviewed-on: https://skia-review.googlesource.com/14900
Reviewed-by: Kevin Lubick <kjlubick@google.com>
Commit-Queue: Ben Wagner <benjaminwagner@google.com>

7 years agofix t / t2 confusion in hsl_to_rgb
Mike Klein [Mon, 1 May 2017 18:56:04 +0000 (14:56 -0400)]
fix t / t2 confusion in hsl_to_rgb

I think the original[1] SkRasterPipeline_opts.h version had a typo that
I faithfully copied over to hsl_to_rgb.  In Hue2RGB[2], the scalar
equivalent of hue_to_rgb, we mutate t to keep it in 0-1 range[3].  In
the SkRasterPipeline_opts.h code we introduced a new value t2 instead,
and then used it everywhere, but accidentally typed 't' in the t < 1/6 case.

The expression "p + (q - p)*6.0f*t" should have been "p + (q - p)*6.0f*t2".

This fixes things by changing t in place, much like Hue2RGB does.

The GM doesn't change anywhere, which is troubling.

[1] https://skia-review.googlesource.com/c/7460/21/src/opts/SkRasterPipeline_opts.h#808
[2] https://skia-review.googlesource.com/c/7460/21/src/effects/SkHighContrastFilter.cpp#26
[3] I think this whole clamp should probably become "t = fract(t)".
    Will follow up.

Change-Id: I3dcc1a79ffae46830178d931844ee3113f8bdfd1
Reviewed-on: https://skia-review.googlesource.com/14910
Reviewed-by: Brian Osman <brianosman@google.com>
Commit-Queue: Mike Klein <mtklein@chromium.org>

7 years agogetting close on float constants
Mike Klein [Mon, 1 May 2017 18:22:10 +0000 (14:22 -0400)]
getting close on float constants

I think I'm now down to just the constants used in comparisons in
hsl_to_rgb... so weird.  I don't get what's special about this code.

CQ_INCLUDE_TRYBOTS=skia.primary:Test-Win7-MSVC-Golo-CPU-AVX-x86_64-Release,Test-Ubuntu-Clang-GCE-CPU-AVX2-x86_64-Release,Test-Ubuntu-Clang-GCE-CPU-AVX2-x86_64-Release-SK_CPU_LIMIT_SSE41,Test-Ubuntu-Clang-GCE-CPU-AVX2-x86_64-Release-SK_CPU_LIMIT_SSE2

Change-Id: I398139f00371bdbc45281a49bca56d02ba59cba9
Reviewed-on: https://skia-review.googlesource.com/14909
Reviewed-by: Mike Klein <mtklein@chromium.org>
Reviewed-by: Herb Derby <herb@google.com>
Commit-Queue: Mike Klein <mtklein@chromium.org>

7 years agoSkFontMgr::matchFamily should not crash on nullptr.
bungeman [Mon, 1 May 2017 17:02:42 +0000 (13:02 -0400)]
SkFontMgr::matchFamily should not crash on nullptr.

While all systems can resolve a font from just a style request
(without a name) almost no systems specify a default font family.

BUG=skia:6574

Change-Id: If7c81808b62cd5d8212bce2eb4d9c476c45af80a
Reviewed-on: https://skia-review.googlesource.com/14902
Commit-Queue: Ben Wagner <bungeman@google.com>
Reviewed-by: Mike Reed <reed@google.com>
7 years agosome float constants
Mike Klein [Mon, 1 May 2017 16:56:35 +0000 (12:56 -0400)]
some float constants

Trying to go slowly to find where problems arise.
Weirdly, I think I got everything except hsl_to_rgb.

CQ_INCLUDE_TRYBOTS=skia.primary:Test-Win7-MSVC-Golo-CPU-AVX-x86_64-Release,Test-Ubuntu-Clang-GCE-CPU-AVX2-x86_64-Release,Test-Ubuntu-Clang-GCE-CPU-AVX2-x86_64-Release-SK_CPU_LIMIT_SSE41,Test-Ubuntu-Clang-GCE-CPU-AVX2-x86_64-Release-SK_CPU_LIMIT_SSE2

Change-Id: I4d85a4c1f40bd87e7cb18fc9b5ce020812dc31db
Reviewed-on: https://skia-review.googlesource.com/14905
Reviewed-by: Mike Klein <mtklein@chromium.org>
Commit-Queue: Mike Klein <mtklein@chromium.org>

7 years agoBlacklist SkImage_makeTextureImage on NVIDIA Win10 Vulkan
Leon Scroggins III [Mon, 1 May 2017 17:09:42 +0000 (13:09 -0400)]
Blacklist SkImage_makeTextureImage on NVIDIA Win10 Vulkan

Bug: skia:6554
Change-Id: I7c1086ce6afff84c1b1463ec58c2c6a9949aaa2e
Reviewed-on: https://skia-review.googlesource.com/14907
Reviewed-by: Ben Wagner <benjaminwagner@google.com>
Commit-Queue: Leon Scroggins <scroggo@google.com>

7 years agoFix Creation of GrBackendRenderTarget from GrBackendRenderTargetDesc in GL
Greg Daniel [Mon, 1 May 2017 17:04:22 +0000 (13:04 -0400)]
Fix Creation of GrBackendRenderTarget from GrBackendRenderTargetDesc in GL

Bug: skia:
Change-Id: I970e7bc36ae799996f9b28e70f97cb7ce4382eb2
Reviewed-on: https://skia-review.googlesource.com/14906
Reviewed-by: Brian Salomon <bsalomon@google.com>
Commit-Queue: Greg Daniel <egdaniel@google.com>

7 years agoOnly store width and height on SkPixelRef (last part)
Matt Sarett [Mon, 1 May 2017 15:12:47 +0000 (11:12 -0400)]
Only store width and height on SkPixelRef (last part)

Relanding https://skia-review.googlesource.com/c/14105/
in pieces to try to diagnose problems with the Chrome
roll.

Bug: skia:6535
Change-Id: Iefe4825b9ce9be999baeec8ab7ae6651f1caf451
Reviewed-on: https://skia-review.googlesource.com/14860
Reviewed-by: Mike Reed <reed@google.com>
Commit-Queue: Matt Sarett <msarett@google.com>

7 years agoBlacklist testimgari.jpg on CG
Matt Sarett [Mon, 1 May 2017 13:13:05 +0000 (09:13 -0400)]
Blacklist testimgari.jpg on CG

Bug: skia:
Change-Id: I2c471d18f29bb6d0e8ac4a4d0afa1815788bb121
Reviewed-on: https://skia-review.googlesource.com/14825
Reviewed-by: Leon Scroggins <scroggo@google.com>
Commit-Queue: Matt Sarett <msarett@google.com>

7 years agoRestore legacy SaveLayerRec ctor
Florin Malita [Mon, 1 May 2017 14:58:40 +0000 (10:58 -0400)]
Restore legacy SaveLayerRec ctor

Let's not break existing clients.

Change-Id: I056fefefb49d46fb284597c5bcf0319470537524
Reviewed-on: https://skia-review.googlesource.com/14829
Reviewed-by: Leon Scroggins <scroggo@google.com>
Commit-Queue: Florin Malita <fmalita@chromium.org>

7 years agoFix merge conflict.
Ben Wagner [Mon, 1 May 2017 15:09:18 +0000 (11:09 -0400)]
Fix merge conflict.

I accidentally caused a merged conflict between
https://skia-review.googlesource.com/14656 and
https://skia-review.googlesource.com/14821

No-Try: true
Change-Id: Ib00b293019fddc3951a5d413744b9d186dd103d8
Reviewed-on: https://skia-review.googlesource.com/14840
Reviewed-by: Leon Scroggins <scroggo@google.com>
Commit-Queue: Ben Wagner <benjaminwagner@google.com>

7 years agoRemove unnecessary SkFILEStream::getMemoryBase
Leon Scroggins III [Mon, 1 May 2017 14:31:27 +0000 (10:31 -0400)]
Remove unnecessary SkFILEStream::getMemoryBase

It overrides the SkStream:: version, but does the same thing.

Change-Id: I857f2119a85bb3f942707ab3cef58b45a2cf4b7a
Reviewed-on: https://skia-review.googlesource.com/14828
Reviewed-by: Ben Wagner <bungeman@google.com>
Reviewed-by: Mike Reed <reed@google.com>
Commit-Queue: Leon Scroggins <scroggo@google.com>

7 years agoOnly store width and height on SkPixelRef (part 2)
Matt Sarett [Mon, 1 May 2017 14:22:31 +0000 (10:22 -0400)]
Only store width and height on SkPixelRef (part 2)

Relanding https://skia-review.googlesource.com/c/14105/
in pieces to try to diagnose problems with the Chrome
roll.

Bug: skia:6535
Change-Id: Iada034fc41ef315f7f00984d8de9d9cc2f361ad2
Reviewed-on: https://skia-review.googlesource.com/14657
Commit-Queue: Matt Sarett <msarett@google.com>
Reviewed-by: Mike Reed <reed@google.com>
7 years agoOmit shapes_mixed_10000_32x33 on GTX960 ANGLE Release
Ben Wagner [Fri, 28 Apr 2017 21:13:32 +0000 (17:13 -0400)]
Omit shapes_mixed_10000_32x33 on GTX960 ANGLE Release

Bug: skia:6534
Change-Id: I5634b35c3a231da8b5714209889921933ca38962
No-Try: true
Reviewed-on: https://skia-review.googlesource.com/14656
Reviewed-by: Brian Osman <brianosman@google.com>
Commit-Queue: Ben Wagner <benjaminwagner@google.com>

7 years agoOmit HalfFloatAlphaTextureTest on CommandBuffer bot.
Ben Wagner [Fri, 28 Apr 2017 19:28:32 +0000 (15:28 -0400)]
Omit HalfFloatAlphaTextureTest on CommandBuffer bot.

Bug: chromium:697030
No-Try: true
Change-Id: Ib56c88c384e6b363aefe91c7027fa587d0b000b5
Reviewed-on: https://skia-review.googlesource.com/14648
Reviewed-by: Brian Salomon <bsalomon@google.com>
Commit-Queue: Ben Wagner <benjaminwagner@google.com>

7 years agoAdd Swarming bot id and task id to recipe expectations.
Ben Wagner [Sun, 30 Apr 2017 15:14:51 +0000 (11:14 -0400)]
Add Swarming bot id and task id to recipe expectations.

No-Try: true
Change-Id: Idd748bf61ab3d6611b85472de5d3f3a25d4ae9ee
Reviewed-on: https://skia-review.googlesource.com/14821
Reviewed-by: Eric Boren <borenet@google.com>
Commit-Queue: Ben Wagner <benjaminwagner@google.com>

7 years agoRevert "Revert "Plumb the use of GrBackendRenderTarget throughout Skia""
Greg Daniel [Mon, 1 May 2017 13:50:58 +0000 (13:50 +0000)]
Revert "Revert "Plumb the use of GrBackendRenderTarget throughout Skia""

This reverts commit e3bd422fafc74dd3410c3de24a576635be92c3b4.

Reason for revert: Pre-req changes have all landed in other projects at this point.

Original change's description:
> Revert "Plumb the use of GrBackendRenderTarget throughout Skia"
>
> This reverts commit fdd77daedbba3b7c53be74a82fb9fae891b51696.
>
> Reason for revert: Apparently I have a few more build files to update before this can land.
>
> Original change's description:
> > Plumb the use of GrBackendRenderTarget throughout Skia
> >
> > Bug: skia:
> > Change-Id: Ib99a58d9552f5c7b8d77c09dcc72fa88326c26aa
> > Reviewed-on: https://skia-review.googlesource.com/14148
> > Reviewed-by: Brian Salomon <bsalomon@google.com>
> > Reviewed-by: Robert Phillips <robertphillips@google.com>
> > Commit-Queue: Greg Daniel <egdaniel@google.com>
> >
>
> TBR=egdaniel@google.com,bsalomon@google.com,robertphillips@google.com,reviews@skia.org
> NOPRESUBMIT=true
> NOTREECHECKS=true
> NOTRY=true
>
> Change-Id: I984e1909870182474c4c3cce257f01b6a9d8581f
> Reviewed-on: https://skia-review.googlesource.com/14531
> Reviewed-by: Greg Daniel <egdaniel@google.com>
> Commit-Queue: Greg Daniel <egdaniel@google.com>
>

TBR=egdaniel@google.com,bsalomon@google.com,robertphillips@google.com,reviews@skia.org
# Not skipping CQ checks because original CL landed > 1 day ago.

Change-Id: Ib7ab94aada8a7cb80fe38f24daf32f9208c5b169
Reviewed-on: https://skia-review.googlesource.com/14826
Reviewed-by: Greg Daniel <egdaniel@google.com>
Commit-Queue: Greg Daniel <egdaniel@google.com>

7 years agoInitial clip-mask-layer support
Florin Malita [Fri, 28 Apr 2017 17:48:37 +0000 (13:48 -0400)]
Initial clip-mask-layer support

SkBitmapDevice-only implementation.

Will add A8 fast path specializations in a follow-up.

Change-Id: I2ccb1ffba3689e92ac90a23e94737471dfb121a1
BUG=skia:6005

Change-Id: I2ccb1ffba3689e92ac90a23e94737471dfb121a1
Reviewed-on: https://skia-review.googlesource.com/14183
Reviewed-by: Mike Reed <reed@google.com>
Commit-Queue: Florin Malita <fmalita@chromium.org>

7 years agoOptimizations for analytic shadows.
Jim Van Verth [Fri, 28 Apr 2017 21:30:30 +0000 (17:30 -0400)]
Optimizations for analytic shadows.

Lots of changes here:
* Batch circle shadows with rrect shadows
* Avoid checking matrix and path conditions twice
* Remove lots of checks for 1/2 pixel radii
  (needed before to force the rrect through the
   regular GPU path)
* Fix scaling effect on ambient blur width
* Remove unused flags

Bug: skia:6119
Change-Id: If0eb78ec4d19d9f978b19bdbc3a7e558a4db2ed9
Reviewed-on: https://skia-review.googlesource.com/14654
Reviewed-by: Brian Salomon <bsalomon@google.com>
Commit-Queue: Jim Van Verth <jvanverth@google.com>

7 years agoUpdate SKP version
UpdateSKPs [Sun, 30 Apr 2017 07:04:22 +0000 (07:04 +0000)]
Update SKP version

Automatic commit by the RecreateSKPs bot.

TBR=update-skps@skia.org
NO_MERGE_BUILDS

Change-Id: Ic3ced4cb5f518abc5d1d0611f68fce4b976f5082
Reviewed-on: https://skia-review.googlesource.com/14679
Reviewed-by: update-skps <update-skps@skia.org>
Commit-Queue: update-skps <update-skps@skia.org>

7 years agoRemove temporary_internal_describeTopLayer
Florin Malita [Wed, 19 Apr 2017 12:39:48 +0000 (08:39 -0400)]
Remove temporary_internal_describeTopLayer

Change-Id: I035b7db84b524be13fb675b75bc402bc9b733cb5
Reviewed-on: https://skia-review.googlesource.com/13803
Reviewed-by: Mike Reed <reed@google.com>
Commit-Queue: Florin Malita <fmalita@chromium.org>

7 years agoadd drawString helper to canvas
Cary Clark [Fri, 28 Apr 2017 19:35:12 +0000 (15:35 -0400)]
add drawString helper to canvas

Many tests and examples use drawText with
a guess of how long the text is in bytes,
or a call to strlen(). Add a helper to
SkCanvas to simplify these examples.

Add another helper for SkString.

R=reed@google.com

Change-Id: I0204a31e938f065606f08ee7cd9a6b36db791ee2
Reviewed-on: https://skia-review.googlesource.com/13642
Commit-Queue: Cary Clark <caryclark@google.com>
Reviewed-by: Cary Clark <caryclark@google.com>
Reviewed-by: Mike Reed <reed@google.com>
Reviewed-by: Cary Clark <caryclark@skia.org>
7 years agoFix bitmap copy gms
Matt Sarett [Fri, 28 Apr 2017 20:06:34 +0000 (16:06 -0400)]
Fix bitmap copy gms

Mark pixels as opaque so copying to 565 continues to work.

Bug: skia:
Change-Id: Id2b0a8c462fe35f7d1cc2ccc32ca10eda18981c8
Reviewed-on: https://skia-review.googlesource.com/14653
Reviewed-by: Mike Reed <reed@google.com>
Commit-Queue: Matt Sarett <msarett@google.com>

7 years agoOnly store width and height on SkPixelRef (part 1)
Matt Sarett [Fri, 28 Apr 2017 19:43:35 +0000 (15:43 -0400)]
Only store width and height on SkPixelRef (part 1)

Relanding https://skia-review.googlesource.com/c/14105/
in pieces to try to diagnose problems with the Chrome
roll.

Bug: skia:6535
Change-Id: Ic321c437ecd3cb7940a48fd73fc22b192804c67a
Reviewed-on: https://skia-review.googlesource.com/14650
Commit-Queue: Matt Sarett <msarett@google.com>
Reviewed-by: Mike Reed <reed@google.com>
7 years agoCombine GPU flush with semaphore API
Brian Osman [Fri, 28 Apr 2017 17:57:38 +0000 (13:57 -0400)]
Combine GPU flush with semaphore API

Bug: skia:
Change-Id: I5f388760d43b19755b2767d95d32065f6d0f926e
Reviewed-on: https://skia-review.googlesource.com/14646
Reviewed-by: Brian Salomon <bsalomon@google.com>
Commit-Queue: Brian Osman <brianosman@google.com>

7 years agoremove unused yuv methods
Mike Reed [Fri, 28 Apr 2017 17:53:21 +0000 (13:53 -0400)]
remove unused yuv methods

Bug: skia:
Change-Id: Ie1e6c905d8989b49c2cf5c9e5fd1f383268f6480
Reviewed-on: https://skia-review.googlesource.com/14645
Reviewed-by: Brian Salomon <bsalomon@google.com>
Commit-Queue: Mike Reed <reed@google.com>

7 years agochange drawAtlas to behave like drawVertices
Mike Reed [Fri, 28 Apr 2017 16:31:05 +0000 (12:31 -0400)]
change drawAtlas to behave like drawVertices

Bug: skia:6571
Change-Id: If60c30755ec0548df0e9bdeca2f3af0bc87764ca
Reviewed-on: https://skia-review.googlesource.com/14642
Reviewed-by: Brian Salomon <bsalomon@google.com>
Reviewed-by: Florin Malita <fmalita@chromium.org>
Commit-Queue: Mike Reed <reed@google.com>

7 years agoRevert "Only store width and height on SkPixelRef"
Ben Wagner [Fri, 28 Apr 2017 17:06:02 +0000 (13:06 -0400)]
Revert "Only store width and height on SkPixelRef"

This reverts commit 2cbb6662e329981840f90ef4edd62f70f69e6030.

Reason for revert: Likely cause of Chromium DEPS roll failure; speculative revert.

Original change's description:
> Only store width and height on SkPixelRef
>
> Bug: skia:6535
> Change-Id: Id91e8d1e82f593be7d4b23ca5abde752f2666a77
> Reviewed-on: https://skia-review.googlesource.com/14105
> Commit-Queue: Matt Sarett <msarett@google.com>
> Reviewed-by: Mike Reed <reed@google.com>
>

TBR=djsollen@google.com,msarett@google.com,reed@google.com,stani@google.com
NOPRESUBMIT=true
NOTREECHECKS=true
NOTRY=true

Change-Id: I12a024a71833f33432d5ea8cffdfc642b8b4240a
Bug: skia:
Reviewed-on: https://skia-review.googlesource.com/14644
Reviewed-by: Ben Wagner <benjaminwagner@google.com>
Commit-Queue: Ben Wagner <benjaminwagner@google.com>

7 years agoRevert "Revert "Delete copyTo(Allocator), hide copyTo() behind flag""
Matt Sarett [Fri, 28 Apr 2017 15:15:22 +0000 (11:15 -0400)]
Revert "Revert "Delete copyTo(Allocator), hide copyTo() behind flag""

This reverts commit 0122af08f6af0dee490e1a4f35b552377d0d4753.

Reason for revert: Fixed Android callsite

Original change's description:
> Revert "Delete copyTo(Allocator), hide copyTo() behind flag"
>
> This reverts commit d4a338f4d0a0cdc08d7d3668931c60997f0fa971.
>
> Reason for revert: Looks like I missed something I was supposed to delete in Android.
>
> Original change's description:
> > Delete copyTo(Allocator), hide copyTo() behind flag
> >
> > Replace uses of copyTo() in Skia.
> >
> > Bug: skia:6464
> > Change-Id: I921dc53a1c29a5176d18f05741f7c0b5a008e548
> > Reviewed-on: https://skia-review.googlesource.com/14502
> > Commit-Queue: Matt Sarett <msarett@google.com>
> > Reviewed-by: Mike Reed <reed@google.com>
> >
>
> TBR=msarett@google.com,reed@google.com
> NOPRESUBMIT=true
> NOTREECHECKS=true
> NOTRY=true
>
> Change-Id: I4d252940cc6a2462b030007055ea6c229471fc6e
> Reviewed-on: https://skia-review.googlesource.com/14602
> Reviewed-by: Matt Sarett <msarett@google.com>
> Commit-Queue: Matt Sarett <msarett@google.com>
>

TBR=msarett@google.com,reviews@skia.org,reed@google.com

Change-Id: I81659a820f79f1958fda23cb62513065b57db99d
Reviewed-on: https://skia-review.googlesource.com/14640
Commit-Queue: Matt Sarett <msarett@google.com>
Reviewed-by: Matt Sarett <msarett@google.com>
7 years agoadd helper makeShader for the common Clamp case
Mike Reed [Fri, 28 Apr 2017 15:12:19 +0000 (11:12 -0400)]
add helper makeShader for the common Clamp case

Bug: skia:
Change-Id: I22cac56f35fed16daede0cf1b3e34dfa6f5ae3ea
Reviewed-on: https://skia-review.googlesource.com/14625
Reviewed-by: Mike Reed <reed@google.com>
Commit-Queue: Mike Reed <reed@google.com>

7 years agoFix fast blur for shadow rrects.
Jim Van Verth [Fri, 28 Apr 2017 15:00:35 +0000 (11:00 -0400)]
Fix fast blur for shadow rrects.

* Handles case where blur is greater than
  corner radius.
* Speeds up shader by avoiding a divide.
* Tweaks shadow sample to be more MD-ish.

Bug: skia:
Change-Id: I2990357b39784c22f02a8e51872391fd68e8226a
Reviewed-on: https://skia-review.googlesource.com/14141
Commit-Queue: Jim Van Verth <jvanverth@google.com>
Reviewed-by: Brian Salomon <bsalomon@google.com>
7 years agoScrub DeviceCM
Florin Malita [Fri, 28 Apr 2017 14:57:24 +0000 (10:57 -0400)]
Scrub DeviceCM

* remove unused fMatrix, fMatrixStorage
* fPaint  -> std::unique_ptr<>
* fDevice -> sk_sp<>

Change-Id: I790b54bfc4d8154216e620a8c1642f3955fe7be0
Reviewed-on: https://skia-review.googlesource.com/14624
Reviewed-by: Mike Reed <reed@google.com>
Commit-Queue: Florin Malita <fmalita@chromium.org>

7 years agoTesting permissions
Ravi Mistry [Fri, 28 Apr 2017 12:22:03 +0000 (08:22 -0400)]
Testing permissions

Bug: skia:
Change-Id: I204a0956228de5afde9c5df02dc5afa12ab21bfd
Reviewed-on: https://skia-review.googlesource.com/14609
Reviewed-by: Ravi Mistry <rmistry@google.com>
Commit-Queue: Ravi Mistry <rmistry@google.com>

7 years agoAdd non-Valgrind PreAbandonGpuContext bot.
Ben Wagner [Thu, 27 Apr 2017 22:14:03 +0000 (18:14 -0400)]
Add non-Valgrind PreAbandonGpuContext bot.

This may help debug timeouts for
Test-Ubuntu-GCC-ShuttleA-GPU-GTX550Ti-x86_64-Release-Valgrind_PreAbandonGpuContext

Also stop uploading *AbandonGpuContext results to Gold.

No-Try: true
Change-Id: Ifa10d47cf27f86424d3936f451d190ee34f5637d
Reviewed-on: https://skia-review.googlesource.com/14525
Commit-Queue: Ben Wagner <benjaminwagner@google.com>
Reviewed-by: Eric Boren <borenet@google.com>
7 years agoRemove srgb flags from GrProcessorSet
Brian Salomon [Fri, 28 Apr 2017 12:57:12 +0000 (08:57 -0400)]
Remove srgb flags from GrProcessorSet

Bug: skia:
Change-Id: Icbb1b2f39cac70c9d74603514786d76b46d0afd9
Reviewed-on: https://skia-review.googlesource.com/14603
Reviewed-by: Brian Osman <brianosman@google.com>
Commit-Queue: Brian Salomon <bsalomon@google.com>

7 years agoadditional skslc vector optimizations
Ethan Nicholas [Thu, 27 Apr 2017 20:24:51 +0000 (16:24 -0400)]
additional skslc vector optimizations

Bug: skia:
Change-Id: I845d0952c281835a630882ae4026277c93ccf542
Reviewed-on: https://skia-review.googlesource.com/14406
Commit-Queue: Ethan Nicholas <ethannicholas@google.com>
Reviewed-by: Ben Wagner <benjaminwagner@google.com>
7 years agoadd GM to compare atlas and vertices
Mike Reed [Fri, 28 Apr 2017 14:02:47 +0000 (10:02 -0400)]
add GM to compare atlas and vertices

Bug: skia:6571
Change-Id: Ic97101c4623c7557eb33f69796232ed51a89af7e
Reviewed-on: https://skia-review.googlesource.com/14621
Reviewed-by: Brian Salomon <bsalomon@google.com>
Commit-Queue: Mike Reed <reed@google.com>

7 years agohandle GrVkTransferBuffer::Create failure
Forrest Reiling [Thu, 27 Apr 2017 02:26:12 +0000 (19:26 -0700)]
handle GrVkTransferBuffer::Create failure

Change-Id: I713dd7b678bfec6808bd6f57bfdf5748258e8b24
Reviewed-on: https://skia-review.googlesource.com/14420
Reviewed-by: Greg Daniel <egdaniel@google.com>
Commit-Queue: Greg Daniel <egdaniel@google.com>

7 years ago[infra/bots] Treat extra_config as a list.
Ben Wagner [Thu, 27 Apr 2017 17:08:50 +0000 (13:08 -0400)]
[infra/bots] Treat extra_config as a list.

Dependency of https://skia-review.googlesource.com/c/14525/

No-Try: true
Change-Id: I7686576aa48865116fe8a593f08d395f901a1d04
Reviewed-on: https://skia-review.googlesource.com/14524
Reviewed-by: Eric Boren <borenet@google.com>
Commit-Queue: Ben Wagner <benjaminwagner@google.com>

7 years agoDisable deferred proxies in Chrome
Robert Phillips [Thu, 27 Apr 2017 16:04:15 +0000 (12:04 -0400)]
Disable deferred proxies in Chrome

We will re-enable once the proxy instantiation is moved past the TextureSamplers

Bug: 715488
Change-Id: I4f0dee18fc191d7fffb6a2f4fedd825729ebb057
Reviewed-on: https://skia-review.googlesource.com/14520
Reviewed-by: Brian Salomon <bsalomon@google.com>
Commit-Queue: Robert Phillips <robertphillips@google.com>

7 years agoOnly store width and height on SkPixelRef
Matt Sarett [Thu, 27 Apr 2017 20:52:29 +0000 (16:52 -0400)]
Only store width and height on SkPixelRef

Bug: skia:6535
Change-Id: Id91e8d1e82f593be7d4b23ca5abde752f2666a77
Reviewed-on: https://skia-review.googlesource.com/14105
Commit-Queue: Matt Sarett <msarett@google.com>
Reviewed-by: Mike Reed <reed@google.com>
7 years agoRevert "Delete copyTo(Allocator), hide copyTo() behind flag"
Matt Sarett [Thu, 27 Apr 2017 20:08:39 +0000 (20:08 +0000)]
Revert "Delete copyTo(Allocator), hide copyTo() behind flag"

This reverts commit d4a338f4d0a0cdc08d7d3668931c60997f0fa971.

Reason for revert: Looks like I missed something I was supposed to delete in Android.

Original change's description:
> Delete copyTo(Allocator), hide copyTo() behind flag
>
> Replace uses of copyTo() in Skia.
>
> Bug: skia:6464
> Change-Id: I921dc53a1c29a5176d18f05741f7c0b5a008e548
> Reviewed-on: https://skia-review.googlesource.com/14502
> Commit-Queue: Matt Sarett <msarett@google.com>
> Reviewed-by: Mike Reed <reed@google.com>
>

TBR=msarett@google.com,reed@google.com
NOPRESUBMIT=true
NOTREECHECKS=true
NOTRY=true

Change-Id: I4d252940cc6a2462b030007055ea6c229471fc6e
Reviewed-on: https://skia-review.googlesource.com/14602
Reviewed-by: Matt Sarett <msarett@google.com>
Commit-Queue: Matt Sarett <msarett@google.com>

7 years agoAdd instrumentation into SkArenaAlloc.
Herb Derby [Thu, 27 Apr 2017 19:22:02 +0000 (15:22 -0400)]
Add instrumentation into SkArenaAlloc.

Add a parameter to the constructor that will have the dtor print out
stats for setting the initial parameters.

Clean up: Move some function so they are in the same order as .h

Change-Id: I19d87dcc9c3b8dcc3e1d4f2ff078b78bbc490d92
Reviewed-on: https://skia-review.googlesource.com/14600
Reviewed-by: Mike Klein <mtklein@chromium.org>
Commit-Queue: Herb Derby <herb@google.com>

7 years agojumper, remove C(int)
Mike Klein [Thu, 27 Apr 2017 17:56:33 +0000 (13:56 -0400)]
jumper, remove C(int)

This finishes off integer constants... they should all be normal now.

CQ_INCLUDE_TRYBOTS=skia.primary:Test-Win7-MSVC-Golo-CPU-AVX-x86_64-Release,Test-Ubuntu-Clang-GCE-CPU-AVX2-x86_64-Release,Test-Ubuntu-Clang-GCE-CPU-AVX2-x86_64-Release-SK_CPU_LIMIT_SSE41,Test-Ubuntu-Clang-GCE-CPU-AVX2-x86_64-Release-SK_CPU_LIMIT_SSE2

Change-Id: I66ecc6533807fc59bb5ac9d3c5f7ab9e6e1f0d7f
Reviewed-on: https://skia-review.googlesource.com/14528
Reviewed-by: Herb Derby <herb@google.com>
Commit-Queue: Mike Klein <mtklein@chromium.org>

7 years agoRevert "Plumb the use of GrBackendRenderTarget throughout Skia"
Greg Daniel [Thu, 27 Apr 2017 18:48:15 +0000 (18:48 +0000)]
Revert "Plumb the use of GrBackendRenderTarget throughout Skia"

This reverts commit fdd77daedbba3b7c53be74a82fb9fae891b51696.

Reason for revert: Apparently I have a few more build files to update before this can land.

Original change's description:
> Plumb the use of GrBackendRenderTarget throughout Skia
>
> Bug: skia:
> Change-Id: Ib99a58d9552f5c7b8d77c09dcc72fa88326c26aa
> Reviewed-on: https://skia-review.googlesource.com/14148
> Reviewed-by: Brian Salomon <bsalomon@google.com>
> Reviewed-by: Robert Phillips <robertphillips@google.com>
> Commit-Queue: Greg Daniel <egdaniel@google.com>
>

TBR=egdaniel@google.com,bsalomon@google.com,robertphillips@google.com,reviews@skia.org
NOPRESUBMIT=true
NOTREECHECKS=true
NOTRY=true

Change-Id: I984e1909870182474c4c3cce257f01b6a9d8581f
Reviewed-on: https://skia-review.googlesource.com/14531
Reviewed-by: Greg Daniel <egdaniel@google.com>
Commit-Queue: Greg Daniel <egdaniel@google.com>

7 years agoFold SkImageCacherator into SkImage_Lazy
Brian Osman [Wed, 26 Apr 2017 20:20:28 +0000 (16:20 -0400)]
Fold SkImageCacherator into SkImage_Lazy

SkImageCacherator still exists, but only as an interface implemented
(solely) by SkImage_Lazy. The only external clients are
GrImageTextureMaker and SkImage_Gpu::getDeferredTextureImageData.

This is probably an improvement, but doesn't go as far as I'd hoped.

Bug: skia:
Change-Id: I6812badfabb6924b025621b21af00cbde9c16cac
Reviewed-on: https://skia-review.googlesource.com/14371
Reviewed-by: Matt Sarett <msarett@google.com>
Reviewed-by: Mike Reed <reed@google.com>
Commit-Queue: Brian Osman <brianosman@google.com>

7 years agojumper, replace _i with normal constants
Mike Klein [Thu, 27 Apr 2017 17:36:57 +0000 (13:36 -0400)]
jumper, replace _i with normal constants

So far I only seem to be encountering constant pools with float
constants, so integer constants should be easy to make normal.

This just removes _i.  There might be a couple integer constants
generated with C() too... they'll be the next CL.

CQ_INCLUDE_TRYBOTS=skia.primary:Test-Win7-MSVC-Golo-CPU-AVX-x86_64-Release,Test-Ubuntu-Clang-GCE-CPU-AVX2-x86_64-Release,Test-Ubuntu-Clang-GCE-CPU-AVX2-x86_64-Release-SK_CPU_LIMIT_SSE41,Test-Ubuntu-Clang-GCE-CPU-AVX2-x86_64-Release-SK_CPU_LIMIT_SSE2

Change-Id: Icc82cbc660d1e33bcdb5282072fb86cb5190d901
Reviewed-on: https://skia-review.googlesource.com/14527
Reviewed-by: Herb Derby <herb@google.com>
Commit-Queue: Mike Klein <mtklein@chromium.org>

7 years agoPlumb the use of GrBackendRenderTarget throughout Skia
Greg Daniel [Wed, 26 Apr 2017 16:19:14 +0000 (12:19 -0400)]
Plumb the use of GrBackendRenderTarget throughout Skia

Bug: skia:
Change-Id: Ib99a58d9552f5c7b8d77c09dcc72fa88326c26aa
Reviewed-on: https://skia-review.googlesource.com/14148
Reviewed-by: Brian Salomon <bsalomon@google.com>
Reviewed-by: Robert Phillips <robertphillips@google.com>
Commit-Queue: Greg Daniel <egdaniel@google.com>

7 years agoAdd additional checks when creating vulkan context
Greg Daniel [Thu, 27 Apr 2017 16:57:59 +0000 (12:57 -0400)]
Add additional checks when creating vulkan context

Makes sure we get the phsyical devices and queues we expect

Bug: skia:
Change-Id: I13031caa8aa85d680a8e921bee3237d6b53cebf0
Reviewed-on: https://skia-review.googlesource.com/14523
Reviewed-by: Jim Van Verth <jvanverth@google.com>
Commit-Queue: Greg Daniel <egdaniel@google.com>

7 years agoDon't reboot Pixel C or Nexus Player before task
Kevin Lubick [Thu, 27 Apr 2017 17:23:32 +0000 (13:23 -0400)]
Don't reboot Pixel C or Nexus Player before task

We reboot this after in swarming with real adb, so this
is unnecessary and could, in fact, be harmful.

Bug: skia:6559
NOTRY=true
Change-Id: Iaf58416994637111c02013fe3c83f4ac92de2a66
Reviewed-on: https://skia-review.googlesource.com/14526
Reviewed-by: Eric Boren <borenet@google.com>
Reviewed-by: Ben Wagner <benjaminwagner@google.com>
Commit-Queue: Kevin Lubick <kjlubick@google.com>

7 years agoDelete copyTo(Allocator), hide copyTo() behind flag
Matt Sarett [Thu, 27 Apr 2017 16:45:45 +0000 (12:45 -0400)]
Delete copyTo(Allocator), hide copyTo() behind flag

Replace uses of copyTo() in Skia.

Bug: skia:6464
Change-Id: I921dc53a1c29a5176d18f05741f7c0b5a008e548
Reviewed-on: https://skia-review.googlesource.com/14502
Commit-Queue: Matt Sarett <msarett@google.com>
Reviewed-by: Mike Reed <reed@google.com>
7 years agoIn ok thread mode, use wait_util instead of wait_for.
Mike Klein [Thu, 27 Apr 2017 13:50:34 +0000 (09:50 -0400)]
In ok thread mode, use wait_util instead of wait_for.

wait_for(delta) is wait_until(steady_clock::now() + delta) under the
hood, so using wait_for() like this implies an extra call to now() that
we can avoid by using wait_until().

We can hoist that call out and just do it once...  the past stays the past.

This is not super important.  Just noticed while profiling.  It's nice
to keep the overhead of the ok tool down so the real work can show.  :)

Change-Id: I89d25a800b63ebcfc229b5b3aa3f2dd621f4e7b4
Reviewed-on: https://skia-review.googlesource.com/14480
Commit-Queue: Mike Klein <mtklein@google.com>
Reviewed-by: Herb Derby <herb@google.com>
7 years agoclear out C(), _i, and _f constants from SkJumper_vectors.h
Mike Klein [Thu, 27 Apr 2017 12:59:55 +0000 (08:59 -0400)]
clear out C(), _i, and _f constants from SkJumper_vectors.h

I think this is just gonna be a bunch of baby steps for now.
This gets everything in SkJumper_vectors.h.

CQ_INCLUDE_TRYBOTS=skia.primary:Test-Win7-MSVC-Golo-CPU-AVX-x86_64-Release,Test-Ubuntu-Clang-GCE-CPU-AVX2-x86_64-Release,Test-Ubuntu-Clang-GCE-CPU-AVX2-x86_64-Release-SK_CPU_LIMIT_SSE41,Test-Ubuntu-Clang-GCE-CPU-AVX2-x86_64-Release-SK_CPU_LIMIT_SSE2

Change-Id: Ic87faa9bf6380a4fc9a577936dad8c3a9c48472e
Reviewed-on: https://skia-review.googlesource.com/14441
Commit-Queue: Mike Klein <mtklein@google.com>
Reviewed-by: Herb Derby <herb@google.com>
7 years agoremove legacy code
Mike Reed [Tue, 25 Apr 2017 05:48:00 +0000 (22:48 -0700)]
remove legacy code

Bug: skia:
Change-Id: I719f68489e9295ec652ccb04de3b10632df534fa
Reviewed-on: https://skia-review.googlesource.com/14226
Reviewed-by: Mike Reed <reed@google.com>
Commit-Queue: Mike Reed <reed@google.com>

7 years agoChange vulkan image memory allocation back to using sub allocation
Greg Daniel [Wed, 26 Apr 2017 19:10:00 +0000 (15:10 -0400)]
Change vulkan image memory allocation back to using sub allocation

Bug: skia:
Change-Id: I8e1352c8d615b5a54ceba42500f0781767a1bd2d
Reviewed-on: https://skia-review.googlesource.com/14401
Reviewed-by: Jim Van Verth <jvanverth@google.com>
Commit-Queue: Greg Daniel <egdaniel@google.com>

7 years agoFinish removing GrContext param from onRefEncodedData
Brian Osman [Tue, 25 Apr 2017 20:41:47 +0000 (16:41 -0400)]
Finish removing GrContext param from onRefEncodedData

TBR=reed@roogle.com

Bug: skia:5485
Change-Id: Ia4ed45ffc39f2ba9a80d4a1001208079142ae985
Reviewed-on: https://skia-review.googlesource.com/14323
Reviewed-by: Brian Osman <brianosman@google.com>
Reviewed-by: Matt Sarett <msarett@google.com>
Commit-Queue: Brian Osman <brianosman@google.com>

7 years agoFix color space handling in SkImage_Gpu::getROPixels
Brian Osman [Wed, 26 Apr 2017 20:26:39 +0000 (16:26 -0400)]
Fix color space handling in SkImage_Gpu::getROPixels

The dstColorSpace is a badly named parameter. It's a hint about where/how
the returned pixels are going to be used. Raster and GPU are meant to
ignore that information, codecs use it to drive our decoding heuristic.

This is a re-land of https://skia-review.googlesource.com/c/10109/

Bug: skia:
Change-Id: Iee006a8e014e028b4f0f2471d7152b6bccd72cb2
Reviewed-on: https://skia-review.googlesource.com/14404
Commit-Queue: Brian Osman <brianosman@google.com>
Reviewed-by: Robert Phillips <robertphillips@google.com>
7 years agoadd #defines to limit SkCpu
Mike Klein [Wed, 26 Apr 2017 20:11:47 +0000 (16:11 -0400)]
add #defines to limit SkCpu

I just noticed we don't really have any CPU test bots that have less
than AVX anymore.  I'd like to make sure we're testing each mode of
SkJumper at least, so I've added flags to let us limit to SSE2 or
SSE4.1, the modes currently missing coverage.

Add the bots to test these modes too.

CQ_INCLUDE_TRYBOTS=skia.primary:Test-Ubuntu-Clang-GCE-CPU-AVX2-x86_64-Release-SK_CPU_LIMIT_SSE2,Test-Ubuntu-Clang-GCE-CPU-AVX2-x86_64-Release-SK_CPU_LIMIT_SSE41

Change-Id: I7c2b061332e7f037538488260583076c34ae7b1e
Reviewed-on: https://skia-review.googlesource.com/14405
Reviewed-by: Eric Boren <borenet@google.com>
Reviewed-by: Herb Derby <herb@google.com>
Commit-Queue: Mike Klein <mtklein@chromium.org>

7 years agoFix new IT blocks ARMv8
Amaury Le Leyzour [Wed, 8 Mar 2017 00:58:08 +0000 (16:58 -0800)]
Fix new IT blocks ARMv8

ARMv8 specifies that an IT block should be followed by only one 16-bit instruction.
* SkFloatToFix is back to a C implementation that mirrors the assembly code.

* S32A_D565_Opaque_neon switched the usage of the temporary 'ip' register to let
the compiler choose what is best in the context of the IT block. And replaced
'keep_dst' by 'ip' where low register or high register does not matter.

BUG=skia:

CQ_INCLUDE_TRYBOTS=skia.primary:Test-Ubuntu-GCC-GCE-CPU-AVX2-x86_64-Release-SKNX_NO_SIMD

Change-Id: If587110a0c74b637ae99460419d46cf969c694fc
Reviewed-on: https://skia-review.googlesource.com/9346
Reviewed-by: Mike Klein <mtklein@chromium.org>
Commit-Queue: Mike Klein <mtklein@chromium.org>

7 years agoFix uncached getROPixels from GPU images
Brian Osman [Wed, 26 Apr 2017 19:28:30 +0000 (15:28 -0400)]
Fix uncached getROPixels from GPU images

We were allocating a local bitmap, but then attempting to read into an
uninitialized local pixmap. The only public API that funnels the caching
hint to this function is scalePixels, so I added a test (which previously
failed).

Bug: skia:
Change-Id: Ib4370350be664935b4c85e34c70b675e6d82ba64
Reviewed-on: https://skia-review.googlesource.com/14402
Reviewed-by: Brian Salomon <bsalomon@google.com>
Commit-Queue: Brian Osman <brianosman@google.com>

7 years agoRemove pre-allocated clip space from GrRenderTargetOpList
Robert Phillips [Wed, 26 Apr 2017 18:55:34 +0000 (14:55 -0400)]
Remove pre-allocated clip space from GrRenderTargetOpList

It seems like this should be safe (perf-regression-wise) since the arena allocated clips are used infrequently.

In the following, each GM run has 621 srcs and a total of 81087 ops.
Each skp run has 87 srcs and a total of 14709 ops.
The following table shows how many times the arena allocator is called for each config/src.
Overall, I think is safe to only allocate the arena-allocated space on an as needed basis.

gl-gm:       0
gl-skp:      0

gl-msaa4:    0
gl-msaa4:    0

glinst-gm:   1225
glinst-skp:  579

glnvpr4-gm:  623
glnvpr4-skp: 77

Change-Id: I78e04b060b6ad3b78697519249bb4b9c3193fc85
Reviewed-on: https://skia-review.googlesource.com/14392
Reviewed-by: Brian Salomon <bsalomon@google.com>
Commit-Queue: Robert Phillips <robertphillips@google.com>

7 years agoprep for more constants
Mike Klein [Wed, 26 Apr 2017 13:52:09 +0000 (09:52 -0400)]
prep for more constants

 - Add -z to print zero bytes instead of ...
 - avx+hsw will create 32-byte constants in .const,
   so we should disassemble those too, and align to 32 bytes.
 - The default _text section on Windows is 16-byte aligned,
   so we make a new one that's 32-byte aligned.

Change-Id: Icb2a962baa4c3735e98a992f2285eaf5cb1680fd
Reviewed-on: https://skia-review.googlesource.com/14364
Commit-Queue: Mike Klein <mtklein@chromium.org>
Reviewed-by: Herb Derby <herb@google.com>
7 years agoadd SkLightingColorFilter for makeColorSpace()
Mike Klein [Wed, 26 Apr 2017 18:12:43 +0000 (14:12 -0400)]
add SkLightingColorFilter for makeColorSpace()

This implementation should be identical to the previous one,
except we remember that the inputs to our matrix were colors
and transform them if so requested.

This fixes the GM lightingcolorfilter in gbr-8888 config.

Change-Id: Iea0d1079e1c0f5515019b3a4786fc5387dac92ff
Reviewed-on: https://skia-review.googlesource.com/14378
Commit-Queue: Mike Klein <mtklein@chromium.org>
Reviewed-by: Matt Sarett <msarett@google.com>
7 years agoAdd releaseAndAbandonGpuContext bot
Eric Boren [Wed, 26 Apr 2017 18:25:29 +0000 (14:25 -0400)]
Add releaseAndAbandonGpuContext bot

Bug: skia:5142
Change-Id: I35bd42d1a9da2293092a2f09aaaf523a0f36537a
Reviewed-on: https://skia-review.googlesource.com/14376
Commit-Queue: Eric Boren <borenet@google.com>
Reviewed-by: Brian Salomon <bsalomon@google.com>
7 years agoSkColorFilter::makeColorSpace()
Mike Klein [Wed, 26 Apr 2017 17:45:36 +0000 (13:45 -0400)]
SkColorFilter::makeColorSpace()

Change-Id: Idea4afac67ef348c2f4e64f4fe6a03704a86652f
Reviewed-on: https://skia-review.googlesource.com/14375
Reviewed-by: Matt Sarett <msarett@google.com>
Commit-Queue: Mike Klein <mtklein@chromium.org>

7 years agoSkPngCodec: Do not return kInvalidConversion on corrupt png
Matt Sarett [Wed, 26 Apr 2017 14:59:48 +0000 (10:59 -0400)]
SkPngCodec: Do not return kInvalidConversion on corrupt png

In this case, the fuzzer thinks there is a bug because we are
returning kInvalidConversion for a corrupt png file.

Bug: skia:6550
Change-Id: I33f588442f5eaa8a4d642e9328750779f9a9ef5d
Reviewed-on: https://skia-review.googlesource.com/14324
Commit-Queue: Matt Sarett <msarett@google.com>
Reviewed-by: Leon Scroggins <scroggo@google.com>
7 years agoRemove GrResourceProvider & GrGpu pointers from GrRenderTargetOpList
Robert Phillips [Wed, 26 Apr 2017 15:53:10 +0000 (11:53 -0400)]
Remove GrResourceProvider & GrGpu pointers from GrRenderTargetOpList

Additional shrinking of GrRenderTargetOpList since there will soon be more of them.

Change-Id: Ib3e68fdf3462838baf7a5a2644e418be066cf79c
Reviewed-on: https://skia-review.googlesource.com/14363
Reviewed-by: Brian Salomon <bsalomon@google.com>
Commit-Queue: Robert Phillips <robertphillips@google.com>

7 years agoRespect cropRect in SkDropShadowImageFilter::onMakeColorSpace()
Matt Sarett [Wed, 26 Apr 2017 15:51:00 +0000 (11:51 -0400)]
Respect cropRect in SkDropShadowImageFilter::onMakeColorSpace()

Bug: skia:6516
Change-Id: Iec940c585654d0c45aa8de7743c270bd54f6af7a
Reviewed-on: https://skia-review.googlesource.com/14370
Commit-Queue: Mike Klein <mtklein@chromium.org>
Reviewed-by: Mike Klein <mtklein@chromium.org>
7 years agobroke up SkSLConstantFolding test
Ethan Nicholas [Wed, 26 Apr 2017 15:25:18 +0000 (11:25 -0400)]
broke up SkSLConstantFolding test

Bug: skia:
Change-Id: I496a6d1c82b4d3b6fdb34671de373c34abe90018
Reviewed-on: https://skia-review.googlesource.com/14321
Commit-Queue: Ethan Nicholas <ethannicholas@google.com>
Reviewed-by: Ben Wagner <benjaminwagner@google.com>
7 years agoDescribe GCC-like asm steps as "assemble ..."
Mike Klein [Wed, 26 Apr 2017 14:33:39 +0000 (10:33 -0400)]
Describe GCC-like asm steps as "assemble ..."

Oddly, the MSVC toolchain already says "assemble ...".

Change-Id: Iabf06afa1b7c05b5699a26813f1469346be439a5
Reviewed-on: https://skia-review.googlesource.com/14367
Reviewed-by: Mike Klein <mtklein@chromium.org>
Commit-Queue: Mike Klein <mtklein@chromium.org>

7 years agoHardwire opList lookAhead & lookBack parameters
Robert Phillips [Wed, 26 Apr 2017 12:31:08 +0000 (08:31 -0400)]
Hardwire opList lookAhead & lookBack parameters

If/when we double check these settings we can either re-add these parameters or change the code manually.
The driving goal here is to shrink GrRenderTargetOpList.

Change-Id: I7819de18f97e8282e8754e3438130f797ebb3c37
Reviewed-on: https://skia-review.googlesource.com/14381
Reviewed-by: Brian Salomon <bsalomon@google.com>
Commit-Queue: Robert Phillips <robertphillips@google.com>

7 years agoremove to_2dot2 and from_2dot2
Mike Klein [Tue, 25 Apr 2017 19:51:23 +0000 (15:51 -0400)]
remove to_2dot2 and from_2dot2

The parametric_{r,g,b} stages are just as good now;
under the hood it's all going through approx_powf.

Change-Id: If7f3ae1e24fcee2ddb201c1d66ce1dd64820c89a
Reviewed-on: https://skia-review.googlesource.com/14320
Reviewed-by: Matt Sarett <msarett@google.com>
Commit-Queue: Mike Klein <mtklein@chromium.org>

7 years agoRemove SK_IGNORE_GASP_VERSION_CHECK.
Ben Wagner [Wed, 26 Apr 2017 14:05:06 +0000 (10:05 -0400)]
Remove SK_IGNORE_GASP_VERSION_CHECK.

All users have now been updated and this define is no longer used.

Change-Id: Ib701b6e31f7c0958eed3d97e033b334e09fa9bb0
Reviewed-on: https://skia-review.googlesource.com/14365
Reviewed-by: Ben Wagner <bungeman@google.com>
Commit-Queue: Ben Wagner <bungeman@google.com>

7 years agoLink to vulkan in tools but not library.
Brian Salomon [Tue, 25 Apr 2017 20:05:29 +0000 (16:05 -0400)]
Link to vulkan in tools but not library.

This also now requires an explicit vulkan proc address getter to be used with GrVkBackendContext::Create.

Change-Id: I768ec487398dab68e6e10409419ac7a00ec1822a
Reviewed-on: https://skia-review.googlesource.com/14322
Reviewed-by: Greg Daniel <egdaniel@google.com>
Commit-Queue: Brian Salomon <bsalomon@google.com>

7 years agoPrevent creation of zero-sized proxies
Robert Phillips [Wed, 26 Apr 2017 11:44:26 +0000 (07:44 -0400)]
Prevent creation of zero-sized proxies

This wasn't seen locally b.c. it is an assert and I only ran release locally and the CQ also only runs release.

I have added linux_trusty_blink_dbg as a try job.

TBR=bsalomon@google.com
Bug: 715392
Change-Id: I010626cb97e886d2fbfd767f948bc640f0534338
Reviewed-on: https://skia-review.googlesource.com/14361
Reviewed-by: Robert Phillips <robertphillips@google.com>
Commit-Queue: Robert Phillips <robertphillips@google.com>

7 years agoMake SkNoncopyable movable
Chris Blume [Wed, 26 Apr 2017 00:33:13 +0000 (17:33 -0700)]
Make SkNoncopyable movable

SkNoncopyable declares (but does not define) its copy constructor and
copy assignment operator. These are also private so the error for misuse
happens at compile-time instead of link-time.

However, this seems to be from before C++11.

Because other constructors were declared, the compiler does not generate
a move constructor or a move assignment operator. The result of this is
perfectly legal non-copying scenarios are also accidentally blocked. An
example of this is returning the non-copyable type. The object being
returned is a candidate for a move, since it is about to be destroyed.
And in C++17 copy elision is actually guaranteed.

Change-Id: Ia31be9091c644f31a45dd18216330a68be3cf456
Reviewed-on: https://skia-review.googlesource.com/14294
Commit-Queue: Mike Klein <mtklein@google.com>
Reviewed-by: Mike Klein <mtklein@chromium.org>
7 years agoInject a dsb into SkAnalyticEdge::setLine() to work around ARMv7 CPU erratum.
Mike Klein [Fri, 21 Apr 2017 18:58:03 +0000 (14:58 -0400)]
Inject a dsb into SkAnalyticEdge::setLine() to work around ARMv7 CPU erratum.

BUG=chromium:710131

Change-Id: I4568bc24cc8fabb6f9df3b7645b01a98e11791b8
Reviewed-on: https://skia-review.googlesource.com/14062
Reviewed-by: Doug Anderson <dianders@google.com>
Commit-Queue: Mike Klein <mtklein@chromium.org>

7 years agoremove SkOpts::run_pipeline() declaration.
Mike Klein [Tue, 25 Apr 2017 21:49:44 +0000 (17:49 -0400)]
remove SkOpts::run_pipeline() declaration.

I missed this while removing SkRasterPipeline_opts.h.

It's just a declaration... this won't change any generated code.

Change-Id: I66f6e9fe5341e9ff6a91981da9275c944a63fee9
Reviewed-on: https://skia-review.googlesource.com/14325
Reviewed-by: Mike Klein <mtklein@chromium.org>
Commit-Queue: Mike Klein <mtklein@chromium.org>

7 years agoUpdate PixelC to latest build.
Ben Wagner [Tue, 25 Apr 2017 18:57:01 +0000 (14:57 -0400)]
Update PixelC to latest build.

Bug: skia:
No-Try: true
Change-Id: I1d9a6a7c1d1e0ca11abac4c3334eafe021fc825f
Reviewed-on: https://skia-review.googlesource.com/14302
Reviewed-by: Kevin Lubick <kjlubick@google.com>
Commit-Queue: Ben Wagner <benjaminwagner@google.com>

7 years agoAdd ability to relinquish control of VkDevice and VkInstance lifetime to GrVkBackendC...
Brian Salomon [Tue, 25 Apr 2017 19:03:41 +0000 (15:03 -0400)]
Add ability to relinquish control of VkDevice and VkInstance lifetime to GrVkBackendContext

Change-Id: I355a8bf573a84b4ba7cbfeed60feec13e251b352
Reviewed-on: https://skia-review.googlesource.com/14303
Reviewed-by: Greg Daniel <egdaniel@google.com>
Commit-Queue: Brian Salomon <bsalomon@google.com>

7 years agosksl can now fold constant vector or matrix equality expressions
Ethan Nicholas [Tue, 25 Apr 2017 18:42:11 +0000 (14:42 -0400)]
sksl can now fold constant vector or matrix equality expressions

Bug: skia:
Change-Id: Icaddae68e53ed3629bcdc04b5f0b541d9e4398e2
Reviewed-on: https://skia-review.googlesource.com/14260
Commit-Queue: Ethan Nicholas <ethannicholas@google.com>
Reviewed-by: Ben Wagner <benjaminwagner@google.com>
7 years agoFix writePixels of sRGB data to legacy GPU surface
Brian Osman [Tue, 25 Apr 2017 19:01:46 +0000 (15:01 -0400)]
Fix writePixels of sRGB data to legacy GPU surface

Adjusted unit test to verify this behavior.

Bug: skia:6547 chromium:713632 chromium:713702
Change-Id: I6240937b2faf6ccb6adfc9477dc85ae961cdbbb7
Reviewed-on: https://skia-review.googlesource.com/14279
Commit-Queue: Brian Osman <brianosman@google.com>
Reviewed-by: Brian Salomon <bsalomon@google.com>
7 years agoAdd GrVkInterface constructor with sepereate instance/device proc getters.
Brian Salomon [Tue, 25 Apr 2017 17:28:45 +0000 (13:28 -0400)]
Add GrVkInterface constructor with sepereate instance/device proc getters.

Change-Id: I8498c711ee1fa1cded71e4a7a63317a4b125272b
Reviewed-on: https://skia-review.googlesource.com/14277
Reviewed-by: Greg Daniel <egdaniel@google.com>
Commit-Queue: Brian Salomon <bsalomon@google.com>

7 years agoDisable msaa on all current iOS devices
Stephan Altmueller [Tue, 25 Apr 2017 18:40:10 +0000 (14:40 -0400)]
Disable msaa on all current iOS devices

Bug: skia:
Change-Id: I6b46f6e448b52a4473c5c16342ebe002b6818c8a
Reviewed-on: https://skia-review.googlesource.com/14301
Reviewed-by: Eric Boren <borenet@google.com>
Commit-Queue: Stephan Altmueller <stephana@google.com>

7 years agoUse system Vulkan headers except when no building with vulkan support
Greg Daniel [Tue, 25 Apr 2017 17:38:26 +0000 (13:38 -0400)]
Use system Vulkan headers except when no building with vulkan support

We now will always use the system vulkan.h files whenever we are building
with vulkan. With non vulkan builds we use our checked in header to so
that we can get the needed symbols for compiling.

Bug: skia:
Change-Id: I352a3e007b33c575cefcfd6752db0b3b12b86a16
Reviewed-on: https://skia-review.googlesource.com/14270
Commit-Queue: Greg Daniel <egdaniel@google.com>
Reviewed-by: Brian Salomon <bsalomon@google.com>
7 years agoMake SkColorSpaceXformer::apply(SkPaint) safe to call recursively
Matt Sarett [Tue, 25 Apr 2017 17:53:11 +0000 (13:53 -0400)]
Make SkColorSpaceXformer::apply(SkPaint) safe to call recursively

Before, we would stomp on the original paint in the recursive call.

This fixes 4 gbr-8888 gms.  Currently, this only affects loopers
and SkPaintImageFilter.

Bug: skia:6516
Change-Id: Ic47d637a912370c0a1ae8ef3282ad7d15d9902e3
Reviewed-on: https://skia-review.googlesource.com/14182
Commit-Queue: Matt Sarett <msarett@google.com>
Reviewed-by: Mike Klein <mtklein@chromium.org>
7 years agoRemove compressed texture support from cacherator
Brian Osman [Tue, 25 Apr 2017 14:02:12 +0000 (10:02 -0400)]
Remove compressed texture support from cacherator

All variants of (on)?[rR]efEncoded(Data)? no longer need a GrContext
parameter.

Bug: skia:5485 skia:4971
Change-Id: If4f5e785718d5522eb3df8588318ccb8a02a5749
Reviewed-on: https://skia-review.googlesource.com/14269
Reviewed-by: Leon Scroggins <scroggo@google.com>
Commit-Queue: Brian Osman <brianosman@google.com>

7 years agoImprove variation comment for iOS.
bungeman [Tue, 25 Apr 2017 17:32:50 +0000 (13:32 -0400)]
Improve variation comment for iOS.

CTFontCopyVariationAxes returns nullptr for fonts which began life with
CGFontCreateWithDataProvider on macOS 10.10 and earlier and iOS 9 and
earlier. The issue was fixed in maxOS 10.11 and iOS 10. Improve the
existing comments to make this clear.

Change-Id: I0de1734e266d30aab7d38d0dd752f66259f677d9
Reviewed-on: https://skia-review.googlesource.com/14278
Reviewed-by: Ben Wagner <bungeman@google.com>
Commit-Queue: Ben Wagner <bungeman@google.com>

7 years agoxform saveLayer() backdrop
Mike Klein [Tue, 25 Apr 2017 17:09:40 +0000 (13:09 -0400)]
xform saveLayer() backdrop

Just noticed this TODO is easy now.  This doesn't seem to change any
GMs, and definitely isn't used by Chrome or Android... this is just for
completeness.

It's also definitely correct to unfurl pictures.

Change-Id: Ida6e43788d1de7a9452dad47aea8a5fbe41a1f46
Reviewed-on: https://skia-review.googlesource.com/14276
Commit-Queue: Mike Klein <mtklein@chromium.org>
Reviewed-by: Matt Sarett <msarett@google.com>
7 years agoEnable ios on Raspberry Pi
Stephan Altmueller [Tue, 25 Apr 2017 15:38:38 +0000 (11:38 -0400)]
Enable ios on Raspberry Pi

Adds more jobs to iOS testing and switches to
RPi based hosts.

Bug: skia:
Change-Id: I0124c6554173fa3b22b077a198612bb30691d1fb
Reviewed-on: https://skia-review.googlesource.com/11521
Commit-Queue: Stephan Altmueller <stephana@google.com>
Reviewed-by: Eric Boren <borenet@google.com>
7 years agoBalance save()/restore() calls in dont_clip_to_layer gm
Matt Sarett [Mon, 24 Apr 2017 17:59:54 +0000 (13:59 -0400)]
Balance save()/restore() calls in dont_clip_to_layer gm

Bug: skia:6516
Change-Id: Id09336def938f6e4da028807912494cdae5f3734
Reviewed-on: https://skia-review.googlesource.com/14190
Reviewed-by: Mike Klein <mtklein@chromium.org>
Commit-Queue: Matt Sarett <msarett@google.com>

7 years agoDelete SkGTypeface and SkGScalerContext
Matt Sarett [Tue, 25 Apr 2017 15:09:16 +0000 (11:09 -0400)]
Delete SkGTypeface and SkGScalerContext

Bug: skia:
Change-Id: I6a513d0cb3600678bc3b9c2bdfa8e04d692e9acf
Reviewed-on: https://skia-review.googlesource.com/14191
Reviewed-by: Ben Wagner <bungeman@google.com>
Commit-Queue: Matt Sarett <msarett@google.com>

7 years agoSkMergeImageFilter: fModes might be nullptr
Matt Sarett [Tue, 25 Apr 2017 13:28:18 +0000 (09:28 -0400)]
SkMergeImageFilter: fModes might be nullptr

Bug:714994

Change-Id: Ib8349e8fc0aba455472035c9a4e873a1720b73e0
Reviewed-on: https://skia-review.googlesource.com/14267
Reviewed-by: Matt Sarett <msarett@google.com>
Commit-Queue: Matt Sarett <msarett@google.com>