Commit Graph

41315 Commits

Author SHA1 Message Date
Herb Derby
81fd86c1ca Revert "Convert the CPU path case to use prepareForDrawing"
This reverts commit 8be917af43.

Reason for revert: Causes layout tests to draw problem

Original change's description:
> Convert the CPU path case to use prepareForDrawing
> 
> Change-Id: I5babfc7f1fa9784d81896d5c036e3b50c2af8ca0
> Reviewed-on: https://skia-review.googlesource.com/c/skia/+/207760
> Reviewed-by: Ben Wagner <bungeman@google.com>
> Commit-Queue: Herb Derby <herb@google.com>

TBR=bungeman@google.com,herb@google.com

Change-Id: I8ec1e8fed49571cc70b0acac750cbbf302f551fe
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/207886
Reviewed-by: Herb Derby <herb@google.com>
Commit-Queue: Herb Derby <herb@google.com>
2019-04-12 20:04:30 +00:00
Michael Ludwig
9bf37f6817 Remove debug quadType() checks
This was originally in place to prevent gross programmer error when
writing the rectangle draw ops. Given how sensitive the quadType()
functions are to numerical precision issues, it created many false
positives. The quadType() is only used for minor optimizations that
don't really impact what is drawn, so there is no real risk when the
type determined via matrix differs from the type calculated from the
coordinates.

Bug: chromium:935563, chromium:935503
Change-Id: I4c9798758971dc853289975335506ade141441df
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/207882
Reviewed-by: Brian Osman <brianosman@google.com>
Commit-Queue: Michael Ludwig <michaelludwig@google.com>
2019-04-12 19:43:39 +00:00
Michael Ludwig
a6a8400e99 Support domain clamping and transform matrices in YUVToRGB effects
This helps avoid flattening of YUV/A images when drawn with a strict src
rect constraint. SkiaRenderer almost always provides a strict constraint
for their YUV videos.

This adds a GM that replicates the issue in skbug:8959, and adds a GM to
the wacky_yuv set that checks domain clamping across all of the different
formats.

Bug: 8959
Change-Id: I53f531a94f3b63f81d8c3cbe22d868e3356aeabd
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/207020
Commit-Queue: Michael Ludwig <michaelludwig@google.com>
Reviewed-by: Robert Phillips <robertphillips@google.com>
2019-04-12 19:43:38 +00:00
Herb Derby
8be917af43 Convert the CPU path case to use prepareForDrawing
Change-Id: I5babfc7f1fa9784d81896d5c036e3b50c2af8ca0
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/207760
Reviewed-by: Ben Wagner <bungeman@google.com>
Commit-Queue: Herb Derby <herb@google.com>
2019-04-12 18:10:05 +00:00
Ben Wagner
53eab013f5 Factor common SSH logic into a new flavor.
Change-Id: I3e9acc3f8e2690169b3c76f9aec1ac22f6dfc93a
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/205620
Commit-Queue: Ben Wagner aka dogben <benjaminwagner@google.com>
Auto-Submit: Ben Wagner aka dogben <benjaminwagner@google.com>
Reviewed-by: Eric Boren <borenet@google.com>
Reviewed-by: Kevin Lubick <kjlubick@google.com>
2019-04-12 17:37:25 +00:00
Mike Reed
bb85b8b3f3 remove dead code from old factories, enum
Change-Id: I12d46c2c60539689949a08636c3a654d2298285a
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/207868
Commit-Queue: Mike Reed <reed@google.com>
Reviewed-by: Mike Reed <reed@google.com>
Auto-Submit: Mike Reed <reed@google.com>
2019-04-12 17:11:25 +00:00
Mike Klein
3d6f8d0a46 replace Sk4px with SkVx in SkBlitter_ARGB32
This is a 1:1 transliteration, with the skvx code more explicit about
what's going on, the old Sk4px code more abstracted and specificially
designed to work with unorm8 types.  It's not as terse, but I think I've
got it equally or more clear?

I haven't changed anything here, but I think it should be pretty clear
how to generalize this up to say, 8 pixels at a time?

Writing this CL has got me pretty strongly considering adding explicit
bit-pun constructors to the skvx::Vec types, given how often I'm finding
them to be useful, particularly between uint32 and 4x uint8.

Change-Id: Ie62340e571258fc82176ae3d6605b1f96695f90e
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/207722
Commit-Queue: Mike Klein <mtklein@google.com>
Reviewed-by: Michael Ludwig <michaelludwig@google.com>
Auto-Submit: Mike Klein <mtklein@google.com>
2019-04-12 17:00:46 +00:00
Brian Osman
0b8bb88cbb GLSL editing in Viewer
When in GL backend, adds a "Shaders" section to the debug menu.
"Load" scrapes all of the vertex and fragment shaders being used,
then displays them. They can be edited, and "Save" pushes the
results.

Note: It is trivial to trigger an assert by saving a shader that
doesn't compile. I'd like to make the program builder more robust
in a follow-up CL, to fall back to the "real" SkSL, not draw, or
something along those lines.

Change-Id: I841fe2ee76a3c2eae58b64ef587fcbe25b95cc7e
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/206905
Reviewed-by: Greg Daniel <egdaniel@google.com>
Commit-Queue: Brian Osman <brianosman@google.com>
2019-04-12 16:23:54 +00:00
Michael Ludwig
904657dadf Make sure local rects are sorted post-clipping
Bug: chromium:946338
Change-Id: I7d78e84ddde32436990f5da5bcd0c6230bb8eaf1
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/207871
Reviewed-by: Brian Osman <brianosman@google.com>
Commit-Queue: Michael Ludwig <michaelludwig@google.com>
2019-04-12 16:04:14 +00:00
Michael Ludwig
25071cc52b Always initialize geometry domain if it's written to the GPU
Bug: chromium:948499
Change-Id: I19efe6bb73b0926a79d3ae629a22efa8ea500b18
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/207864
Reviewed-by: Greg Daniel <egdaniel@google.com>
Commit-Queue: Michael Ludwig <michaelludwig@google.com>
2019-04-12 15:10:59 +00:00
Greg Daniel
01e1f4df7f Reland "limit mask drawing to clip bounds"
This reverts commit 35f1c154c5.

Reason for revert: <INSERT REASONING HERE>

Original change's description:
> Revert "limit mask drawing to clip bounds"
> 
> This reverts commit 41d087c262.
> 
> Reason for revert: very speculative revert to see if this fixes android roll
> 
> Original change's description:
> > limit mask drawing to clip bounds
> > 
> > Change-Id: Iab74531614654f241e12d1cd1af14725888580c8
> > Reviewed-on: https://skia-review.googlesource.com/c/skia/+/207143
> > Reviewed-by: Mike Reed <reed@google.com>
> > Auto-Submit: Lee Salzman <lsalzman@mozilla.com>
> > Commit-Queue: Mike Klein <mtklein@google.com>
> 
> TBR=mtklein@chromium.org,mtklein@google.com,reed@google.com,lsalzman@mozilla.com
> 
> Change-Id: Ib848a276cc4bfdf346949acef3e81fd9f8b082a2
> No-Presubmit: true
> No-Tree-Checks: true
> No-Try: true
> Reviewed-on: https://skia-review.googlesource.com/c/skia/+/207860
> Reviewed-by: Greg Daniel <egdaniel@google.com>
> Commit-Queue: Greg Daniel <egdaniel@google.com>

TBR=mtklein@chromium.org,egdaniel@google.com,mtklein@google.com,reed@google.com,lsalzman@mozilla.com

Change-Id: I7c072e56ba744bad88f9b7cc65a857aef6fff756
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/207880
Reviewed-by: Greg Daniel <egdaniel@google.com>
Commit-Queue: Greg Daniel <egdaniel@google.com>
2019-04-12 15:05:58 +00:00
Brian Osman
c85f8e8dda Include particles in shared Windows builds
Avoids double-compiling SkTextUtils (with different settings),
which is already in the dependent 'skia' target.

Change-Id: I3f803e7ebcc0787b8b47a85d2a5a52fd8e0778db
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/207866
Reviewed-by: Mike Klein <mtklein@google.com>
Reviewed-by: Kevin Lubick <kjlubick@google.com>
Commit-Queue: Brian Osman <brianosman@google.com>
2019-04-12 15:05:57 +00:00
Herb Derby
820b8b716e Convert the fallback source case to use prepareForDrawing
Change-Id: I15438ecf7acba9e6b47c8de8b1acb8b24da5b8e9
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/207708
Reviewed-by: Ben Wagner <bungeman@google.com>
Commit-Queue: Herb Derby <herb@google.com>
2019-04-12 15:00:55 +00:00
Brian Osman
e6ef03d53b Make the persistent cache utility functions operate on SkData
This avoids boilerplate at every call-site (and more are being added
soon) to set up the reader/writer objects.

Change-Id: Idc632932b5a9be8d3164d249abab7dccbb905ca3
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/207704
Reviewed-by: Brian Osman <brianosman@google.com>
Commit-Queue: Brian Osman <brianosman@google.com>
2019-04-12 15:00:54 +00:00
Mike Klein
ed7f2aabbd Revert "clean up SK_SUPPORT_LEGACY_A8_MASKBLITTER"
This reverts commit ae6c5c08be.

Reason for revert: Android still is.

Original change's description:
> clean up SK_SUPPORT_LEGACY_A8_MASKBLITTER
> 
> cannot find anyone defining it
> 
> Change-Id: Ia93555b4d8fa1c07dd932dc39fe8854518f1455e
> Reviewed-on: https://skia-review.googlesource.com/c/skia/+/207720
> Reviewed-by: Mike Klein <mtklein@google.com>
> Commit-Queue: Mike Klein <mtklein@google.com>

TBR=mtklein@google.com

Change-Id: Ib9dbcb394f522fe2bd1e5be7a814952cc5d62b88
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/207848
Reviewed-by: Mike Klein <mtklein@google.com>
Commit-Queue: Mike Klein <mtklein@google.com>
2019-04-12 13:41:25 +00:00
Christopher Cameron
7e3370a9e5 Null-initialize pointer
This caused a warning (and therefore error) when building Metal into
Chromium.

Change-Id: I3a40247a438e85977f0afa2cf712151dba8d9290
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/207710
Reviewed-by: Robert Phillips <robertphillips@google.com>
Commit-Queue: Robert Phillips <robertphillips@google.com>
2019-04-12 12:29:14 +00:00
Greg Daniel
35f1c154c5 Revert "limit mask drawing to clip bounds"
This reverts commit 41d087c262.

Reason for revert: very speculative revert to see if this fixes android roll

Original change's description:
> limit mask drawing to clip bounds
> 
> Change-Id: Iab74531614654f241e12d1cd1af14725888580c8
> Reviewed-on: https://skia-review.googlesource.com/c/skia/+/207143
> Reviewed-by: Mike Reed <reed@google.com>
> Auto-Submit: Lee Salzman <lsalzman@mozilla.com>
> Commit-Queue: Mike Klein <mtklein@google.com>

TBR=mtklein@chromium.org,mtklein@google.com,reed@google.com,lsalzman@mozilla.com

Change-Id: Ib848a276cc4bfdf346949acef3e81fd9f8b082a2
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/207860
Reviewed-by: Greg Daniel <egdaniel@google.com>
Commit-Queue: Greg Daniel <egdaniel@google.com>
2019-04-12 11:55:26 +00:00
skia-recreate-skps
41476708db Update go_deps asset
Automatic commit by the UpdateGoDEPS bot.

TBR=borenet@google.com

Change-Id: Ibb829b329e5dc4d469a0795c61dce007fd8eb9e0
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/207794
Reviewed-by: <skia-recreate-skps@skia-swarming-bots.iam.gserviceaccount.com>
Commit-Queue: <skia-recreate-skps@skia-swarming-bots.iam.gserviceaccount.com>
2019-04-12 05:50:54 +00:00
skia-autoroll
f74fff6600 Roll third_party/externals/angle2 e6b23e45b380..cfc73cc1af5e (5 commits)
e6b23e45b3..cfc73cc1af


git log e6b23e45b380..cfc73cc1af5e --date=short --no-merges --format='%ad %ae %s'
2019-04-11 jmadill@chromium.org Correct subImage uses of texture type -> target.
2019-04-11 ynovikov@chromium.org Skip ParallelShaderCompileTestES31.LinkAndDispatchManyPrograms
2019-04-11 syoussefi@chromium.org Vulkan: remove clear depth ability from clearWithDraw
2019-04-11 syoussefi@chromium.org Vulkan: Use render pass loadOp for scissored clears
2019-04-11 syoussefi@chromium.org Vulkan: few more EGL dEQP suppressions on Android


Created with:
  gclient setdep -r third_party/externals/angle2@cfc73cc1af5e

The AutoRoll server is located here: https://autoroll.skia.org/r/angle-skia-autoroll

Documentation for the AutoRoller is here:
https://skia.googlesource.com/buildbot/+/master/autoroll/README.md

If the roll is causing failures, please contact the current sheriff, who should
be CC'd on the roll, and stop the roller if necessary.

CQ_INCLUDE_TRYBOTS=skia.primary:Build-Debian9-Clang-x86_64-Release-ANGLE;skia.primary:Perf-Win10-Clang-AlphaR2-GPU-RadeonR9M470X-x86_64-Debug-All-ANGLE;skia.primary:Perf-Win10-Clang-NUC5i7RYH-GPU-IntelIris6100-x86_64-Debug-All-ANGLE;skia.primary:Perf-Win10-Clang-NUC6i5SYK-GPU-IntelIris540-x86_64-Debug-All-ANGLE;skia.primary:Perf-Win10-Clang-NUCD34010WYKH-GPU-IntelHD4400-x86_64-Debug-All-ANGLE;skia.primary:Perf-Win10-Clang-ShuttleC-GPU-GTX960-x86_64-Debug-All-ANGLE;skia.primary:Test-Win10-Clang-AlphaR2-GPU-RadeonR9M470X-x86_64-Debug-All-ANGLE;skia.primary:Test-Win10-Clang-NUC6i5SYK-GPU-IntelIris540-x86_64-Debug-All-ANGLE;skia.primary:Test-Win10-Clang-NUCD34010WYKH-GPU-IntelHD4400-x86_64-Debug-All-ANGLE;skia.primary:Test-Win10-Clang-ShuttleC-GPU-GTX960-x86_64-Debug-All-ANGLE
TBR=egdaniel@google.com

Change-Id: I31d6280c47d167ed05dc717dec5e0b865cec9bf4
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/207791
Reviewed-by: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
Commit-Queue: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
2019-04-12 05:05:34 +00:00
skia-autoroll
ebf5bf0a41 Roll third_party/externals/swiftshader 3954a0bafb8a..13f230772370 (11 commits)
https://swiftshader.googlesource.com/SwiftShader.git/+log/3954a0bafb8a..13f230772370


git log 3954a0bafb8a..13f230772370 --date=short --no-merges --format='%ad %ae %s'
2019-04-11 bclayton@google.com Kokoro: Split the windows and linux configs
2019-04-11 bclayton@google.com Build: Default to treating warnings as errors
2019-04-11 bclayton@google.com SpirvShader: Fix unhelpful warning about parentheses on GCC
2019-04-11 bclayton@google.com Build fixes for LLVM 3 backend
2019-04-11 capn@google.com Fix implicit string cast to boolean warning (treated as error)
2019-04-11 sugoi@google.com Fixed all warnings in the Vulkan build on Windows
2019-04-11 sugoi@google.com External image/buffer/fence/semaphore properties
2019-04-11 swiftshader.regress@gmail.com Regres: Update test lists @ 5d64ec4c
2019-04-11 capn@google.com Enable multiprocess compilation for all Visual Studio projects
2019-04-11 bclayton@google.com Fix Subzero backend builds.
2019-04-11 bclayton@google.com Fix windows build.


Created with:
  gclient setdep -r third_party/externals/swiftshader@13f230772370

The AutoRoll server is located here: https://autoroll.skia.org/r/swiftshader-skia-autoroll

Documentation for the AutoRoller is here:
https://skia.googlesource.com/buildbot/+/master/autoroll/README.md

If the roll is causing failures, please contact the current sheriff, who should
be CC'd on the roll, and stop the roller if necessary.

CQ_INCLUDE_TRYBOTS=skia.primary:Test-Debian9-Clang-GCE-GPU-SwiftShader-x86_64-Debug-All-SwiftShader
TBR=egdaniel@google.com

Change-Id: I2f95239a81c5510536bacab1ce3f7442aefa4431
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/207792
Reviewed-by: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
Commit-Queue: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
2019-04-12 04:35:34 +00:00
skia-autoroll
ce3380f20f Roll ../src f8764798ff0e..6506f553b36c (417 commits)
f8764798ff..6506f553b3


Created with:
  gclient setdep -r ../src@6506f553b3

The AutoRoll server is located here: https://autoroll.skia.org/r/chromium-skia-autoroll

Documentation for the AutoRoller is here:
https://skia.googlesource.com/buildbot/+/master/autoroll/README.md

If the roll is causing failures, please contact the current sheriff, who should
be CC'd on the roll, and stop the roller if necessary.

CQ_INCLUDE_TRYBOTS=skia.primary:Perf-Mac10.13-Clang-MacBookPro11.5-GPU-RadeonHD8870M-x86_64-Release-All-CommandBuffer;skia.primary:Test-Mac10.13-Clang-MacBookPro11.5-GPU-RadeonHD8870M-x86_64-Debug-All-CommandBuffer
TBR=egdaniel@google.com

Change-Id: Ic6e1b6612b437970e9b657dc525df5e0aec85fde
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/207790
Reviewed-by: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
Commit-Queue: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
2019-04-12 04:33:24 +00:00
Herb Derby
3b60397fd3 Convert GPU SDF handling to use prepareForDrawing
Change-Id: Ic8af9d608e5c31ed59e37f28e74e0f39e80f0fdf
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/207707
Reviewed-by: Ben Wagner <bungeman@google.com>
Commit-Queue: Herb Derby <herb@google.com>
2019-04-11 22:45:53 +00:00
Ben Wagner
f55fa0d0cf Make SkPaintFilterCanvas paints no longer COW.
The two existing external users of SkPaintFilterCanvas always end up
making a copy of the paint when the canvas is in use. As a result, the
extra overhead of doing COW is being wasted. In general, it seems easier
for users to optimize by simply not using the filter canvas when it
won't be making any changes. Also, no users are using the 'Type'.

After users are updated to this new API, the old onFilter can be
removed.

Change-Id: Iee1ce3cd22bce8c00664de078375b105abd7c866
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/149806
Commit-Queue: Ben Wagner <bungeman@google.com>
Reviewed-by: Mike Klein <mtklein@google.com>
2019-04-11 22:42:13 +00:00
recipe-roller
532d6c57c1 Roll recipe dependencies (trivial).
This is an automated CL created by the recipe roller. This CL rolls recipe
changes from upstream projects (e.g. depot_tools) into downstream projects
(e.g. tools/build).


More info is at https://goo.gl/zkKdpD. Use https://goo.gl/noib3a to file a bug.
depot_tools:
  https://crrev.com/a67950d67088163e315e3bc4c6d66fb1968f2724 Update vpython pins to git_revision:0bff6ebf817352838b0e6f65fd6460b38c505c9c. (jbudorick@chromium.org)
recipe_engine:
  https://crrev.com/602257a66a4e492e7029ccaf542b55f9ef641346 [buildbucket] Add url_title_fn (nodir@google.com)


TBR=borenet@google.com

Recipe-Tryjob-Bypass-Reason: Autoroller
Bugdroid-Send-Email: False
Change-Id: Ifdd22275eb181fb4bf118ca68d0b7e6ee1cbcef2
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/207709
Reviewed-by: Recipe Roller <recipe-mega-autoroller@chops-service-accounts.iam.gserviceaccount.com>
Commit-Queue: Recipe Roller <recipe-mega-autoroller@chops-service-accounts.iam.gserviceaccount.com>
2019-04-11 22:28:03 +00:00
Mike Klein
8ad84f2c1b Revert "simplify and centralize SK_API"
This reverts commit 90c9749bd5.

Reason for revert: breaks chrome builds?

https://logs.chromium.org/logs/chromium/buildbucket/cr-buildbucket.appspot.com/8916446857468949360/+/steps/compile/0/stdout

Original change's description:
> simplify and centralize SK_API
> 
> Bug: skia:8975
> Change-Id: Id45738b178b108593cf931ac236505901e97330a
> Reviewed-on: https://skia-review.googlesource.com/c/skia/+/207680
> Reviewed-by: Brian Osman <brianosman@google.com>
> Commit-Queue: Mike Klein <mtklein@google.com>

TBR=mtklein@google.com,brianosman@google.com

Change-Id: Iae078e164c2b97fb52b73875e9d8066b749e2de0
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Bug: skia:8975
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/207780
Reviewed-by: Mike Klein <mtklein@google.com>
Commit-Queue: Mike Klein <mtklein@google.com>
2019-04-11 22:14:45 +00:00
Herb Derby
c562de0b50 Convert GPU path handling to using prepareForDrawing
Small cleanup in the mask case to remove cast.

Change-Id: I0867fa80372cc917eae7c1ca84beafd699d8a349
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/207705
Auto-Submit: Herb Derby <herb@google.com>
Commit-Queue: Herb Derby <herb@google.com>
Reviewed-by: Ben Wagner <bungeman@google.com>
2019-04-11 21:19:58 +00:00
Mike Klein
3bad19cfc2 use __builtin_shufflevector when available
See https://clang.llvm.org/docs/LanguageExtensions.html#langext-builtin-shufflevector

It's basically exactly skvx::shuffle(), but allows two input vectors.
I just pass the same vector twice.

Change-Id: I3920e2b156b4b85843eaf197adb540d8296c5569
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/207723
Commit-Queue: Michael Ludwig <michaelludwig@google.com>
Reviewed-by: Michael Ludwig <michaelludwig@google.com>
Auto-Submit: Mike Klein <mtklein@google.com>
2019-04-11 21:11:58 +00:00
Jim Van Verth
36477b49c2 Fix GrFillRRectOp rendering in Metal.
The issue was that a vector != comparison was getting translated into
!all(v1 != v2) rather than any(v1 != v2).

Bug: skia:8960
Change-Id: I9c0dcde7aa721ee093e91d93b84244e689735dd1
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/207706
Reviewed-by: Chris Dalton <csmartdalton@google.com>
Commit-Queue: Jim Van Verth <jvanverth@google.com>
2019-04-11 19:57:23 +00:00
Mike Klein
1dcc55b372 rewrite new SkVx unit test
- be more explicit about casting
 - general rewrite for clarity

Cq-Include-Trybots: skia.primary:Test-Win2016-MSVC-GCE-CPU-AVX2-x86_64-Debug-All-MSRTC
Change-Id: I924d6d247e6b9afcefb27c690715fdad84635a5d
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/207721
Reviewed-by: Greg Daniel <egdaniel@google.com>
Commit-Queue: Mike Klein <mtklein@google.com>
2019-04-11 19:14:04 +00:00
Mike Klein
ae6c5c08be clean up SK_SUPPORT_LEGACY_A8_MASKBLITTER
cannot find anyone defining it

Change-Id: Ia93555b4d8fa1c07dd932dc39fe8854518f1455e
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/207720
Reviewed-by: Mike Klein <mtklein@google.com>
Commit-Queue: Mike Klein <mtklein@google.com>
2019-04-11 18:38:22 +00:00
Mike Klein
90c9749bd5 simplify and centralize SK_API
Bug: skia:8975
Change-Id: Id45738b178b108593cf931ac236505901e97330a
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/207680
Reviewed-by: Brian Osman <brianosman@google.com>
Commit-Queue: Mike Klein <mtklein@google.com>
2019-04-11 18:23:02 +00:00
Lee Salzman
41d087c262 limit mask drawing to clip bounds
Change-Id: Iab74531614654f241e12d1cd1af14725888580c8
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/207143
Reviewed-by: Mike Reed <reed@google.com>
Auto-Submit: Lee Salzman <lsalzman@mozilla.com>
Commit-Queue: Mike Klein <mtklein@google.com>
2019-04-11 17:55:32 +00:00
Mike Klein
4b44a0d01a add SkVx helpers for working with unorm8
These replicate the base logic of Sk4px::Wide::div255() and
Sk4px::approxMulDiv255(), and will come in handy replacing them.

No platform specializations yet... want to remind myself what
codegen they get from these vanilla versions first, and then
I'll fill in the platform specific stuff as needed.  The tests
should cover everything pretty exhaustively.

Change-Id: I5854d1bc0902a85cbb2351f669c4da7cc31a8775
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/207683
Commit-Queue: Mike Klein <mtklein@google.com>
Commit-Queue: Michael Ludwig <michaelludwig@google.com>
Reviewed-by: Michael Ludwig <michaelludwig@google.com>
Auto-Submit: Mike Klein <mtklein@google.com>
2019-04-11 17:54:23 +00:00
Herb Derby
812499d7f6 Change getMetrics to the final API prepareForDrawing
Change the name, and add the atlas limit parameter.

Change-Id: Ic718d06d483667d7a341b74c280bc3fd016289ff
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/207314
Reviewed-by: Ben Wagner <bungeman@google.com>
Commit-Queue: Herb Derby <herb@google.com>
2019-04-11 17:30:12 +00:00
recipe-roller
caefdf123a Roll recipe dependencies (trivial).
This is an automated CL created by the recipe roller. This CL rolls recipe
changes from upstream projects (e.g. depot_tools) into downstream projects
(e.g. tools/build).


More info is at https://goo.gl/zkKdpD. Use https://goo.gl/noib3a to file a bug.
depot_tools:
  https://crrev.com/6379cd39a3336ab8716c77b1c68ab37ff406d060 Roll bb (nodir@google.com)
recipe_engine:
  https://crrev.com/ab483dae0cc2942e93506bedce9b814c77d42327 Add support for specifying swarming server. (yshaul@google.com)


TBR=borenet@google.com

Recipe-Tryjob-Bypass-Reason: Autoroller
Bugdroid-Send-Email: False
Change-Id: I50acaa0c477ef1af8484355118c8e54ecad93ca3
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/207682
Reviewed-by: Recipe Roller <recipe-mega-autoroller@chops-service-accounts.iam.gserviceaccount.com>
Commit-Queue: Recipe Roller <recipe-mega-autoroller@chops-service-accounts.iam.gserviceaccount.com>
2019-04-11 17:17:52 +00:00
Mike Klein
c33e6dcc70 restore SkOpts::blit_row_color32
We think there are some seemingly minor codegen improvements (pmovzxbw
instead of punpcklbw) when compiling for SSE 4.1 that might actually be
a bigger deal speed-wise than they'd seem.

Also rewrite using SkVx in a way that should scale well up to AVX2.

Change-Id: Ie7c0194dc4fe9fe81c1c932187c0bb00da69190b
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/207260
Commit-Queue: Mike Klein <mtklein@google.com>
Reviewed-by: Lee Salzman <lsalzman@mozilla.com>
2019-04-11 17:08:41 +00:00
Ben Wagner
25e371f7ee Make SkFontMgr_fontconfig respect the sysroot.
An FcConfig has the concept of a sysroot against which file names should
be resolved. Add support for this so that it is possible to use
relocatable FcConfigs. Also adds a test that this works.

Change-Id: I523d5fb1233830434a88dc52b27728aaf83bb5a5
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/206278
Commit-Queue: Ben Wagner <bungeman@google.com>
Reviewed-by: Herb Derby <herb@google.com>
2019-04-11 15:42:20 +00:00
Jim Van Verth
0a72a06d10 Enable all Mtl tests
Bug: skia:8243
Change-Id: Ic95aefa7f08ff3f931923dd57faab0e2ceeb03e4
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/207309
Reviewed-by: Greg Daniel <egdaniel@google.com>
Commit-Queue: Jim Van Verth <jvanverth@google.com>
2019-04-11 15:32:00 +00:00
Ethan Nicholas
b1cc013adf removed redundant GrCircleEffect.h
Bug: skia:
Change-Id: I1a7e5d7e6ca450c667cac2a2db258a48f862529b
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/207620
Reviewed-by: Ethan Nicholas <ethannicholas@google.com>
Reviewed-by: Greg Daniel <egdaniel@google.com>
Commit-Queue: Ethan Nicholas <ethannicholas@google.com>
2019-04-11 14:03:55 +00:00
Hal Canary
76e626d9bb SkQP: remove bad tests from future branches.
arcs_as_paths
    etc1
    ovals_as_paths
    perlinnoise
    radial_gradient_precision
    zero_length_paths_aa

Bug: b/129265491
Bug: b/127371533
Bug: skia:8857
Change-Id: Ib1d7a81c1d6002b052d37dc4d6f8403afdb178c8
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/207311
Reviewed-by: Derek Sollenberger <djsollen@google.com>
Commit-Queue: Hal Canary <halcanary@google.com>
2019-04-11 13:50:25 +00:00
skia-recreate-skps
6d60534e95 Update go_deps asset
Automatic commit by the UpdateGoDEPS bot.

TBR=borenet@google.com

Change-Id: Iabde3a10e89e06bc8f1322fbc0c38f3a4e5329d2
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/207297
Reviewed-by: <skia-recreate-skps@skia-swarming-bots.iam.gserviceaccount.com>
Commit-Queue: <skia-recreate-skps@skia-swarming-bots.iam.gserviceaccount.com>
2019-04-11 05:51:40 +00:00
skia-autoroll
80eff54147 Roll third_party/externals/angle2 f39b4f0280ef..e6b23e45b380 (7 commits)
f39b4f0280..e6b23e45b3


git log f39b4f0280ef..e6b23e45b380 --date=short --no-merges --format='%ad %ae %s'
2019-04-10 ynovikov@chromium.org Skip Texture2DTestES3.TextureImplPropogatesDirtyBits on Win AMD GL
2019-04-10 jonahr@google.com Use ANGLE's gpu_info_util libraries for test expectations
2019-04-10 ynovikov@chromium.org Skip EGLSurfaceTest.SwapInterval on Nexus 5X and 6P GLES
2019-04-10 jmadill@chromium.org Minor update to auto-roller infra docs.
2019-04-10 syoussefi@chromium.org Vulkan: update GLES3 and EGL expectations
2019-04-10 spang@chromium.org Vulkan: Expose GL_EXT_memory_object_fd & GL_EXT_semaphore_fd
2019-04-10 angle-autoroll@skia-public.iam.gserviceaccount.com Roll ./third_party/spirv-tools/src d90aae9a5a6c..82ebbbba15c2 (2 commits)


Created with:
  gclient setdep -r third_party/externals/angle2@e6b23e45b380

The AutoRoll server is located here: https://autoroll.skia.org/r/angle-skia-autoroll

Documentation for the AutoRoller is here:
https://skia.googlesource.com/buildbot/+/master/autoroll/README.md

If the roll is causing failures, please contact the current sheriff, who should
be CC'd on the roll, and stop the roller if necessary.

CQ_INCLUDE_TRYBOTS=skia.primary:Build-Debian9-Clang-x86_64-Release-ANGLE;skia.primary:Perf-Win10-Clang-AlphaR2-GPU-RadeonR9M470X-x86_64-Debug-All-ANGLE;skia.primary:Perf-Win10-Clang-NUC5i7RYH-GPU-IntelIris6100-x86_64-Debug-All-ANGLE;skia.primary:Perf-Win10-Clang-NUC6i5SYK-GPU-IntelIris540-x86_64-Debug-All-ANGLE;skia.primary:Perf-Win10-Clang-NUCD34010WYKH-GPU-IntelHD4400-x86_64-Debug-All-ANGLE;skia.primary:Perf-Win10-Clang-ShuttleC-GPU-GTX960-x86_64-Debug-All-ANGLE;skia.primary:Test-Win10-Clang-AlphaR2-GPU-RadeonR9M470X-x86_64-Debug-All-ANGLE;skia.primary:Test-Win10-Clang-NUC6i5SYK-GPU-IntelIris540-x86_64-Debug-All-ANGLE;skia.primary:Test-Win10-Clang-NUCD34010WYKH-GPU-IntelHD4400-x86_64-Debug-All-ANGLE;skia.primary:Test-Win10-Clang-ShuttleC-GPU-GTX960-x86_64-Debug-All-ANGLE
TBR=egdaniel@google.com

Change-Id: I91e964ae97905ae68e9addfe48f86b8eba1754e3
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/207293
Reviewed-by: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
Commit-Queue: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
2019-04-11 05:11:30 +00:00
skia-autoroll
235ec02e90 Roll ../src 1b121674f584..f8764798ff0e (366 commits)
1b121674f5..f8764798ff


Created with:
  gclient setdep -r ../src@f8764798ff

The AutoRoll server is located here: https://autoroll.skia.org/r/chromium-skia-autoroll

Documentation for the AutoRoller is here:
https://skia.googlesource.com/buildbot/+/master/autoroll/README.md

If the roll is causing failures, please contact the current sheriff, who should
be CC'd on the roll, and stop the roller if necessary.

CQ_INCLUDE_TRYBOTS=skia.primary:Perf-Mac10.13-Clang-MacBookPro11.5-GPU-RadeonHD8870M-x86_64-Release-All-CommandBuffer;skia.primary:Test-Mac10.13-Clang-MacBookPro11.5-GPU-RadeonHD8870M-x86_64-Debug-All-CommandBuffer
TBR=egdaniel@google.com

Change-Id: Id8388e29dbfacd2baac61af8b0d737df30c2d52f
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/207292
Reviewed-by: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
Commit-Queue: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
2019-04-11 04:58:30 +00:00
skia-autoroll
4d657d5e89 Roll third_party/externals/swiftshader f0aa9d5ab738..3954a0bafb8a (42 commits)
https://swiftshader.googlesource.com/SwiftShader.git/+log/f0aa9d5ab738..3954a0bafb8a


git log f0aa9d5ab738..3954a0bafb8a --date=short --no-merges --format='%ad %ae %s'
2019-04-11 bclayton@google.com SpirvShader: Document ops requiring capabilities
2019-04-11 bclayton@google.com SpirvShader: Implement GLSLstd450FindILsb
2019-04-11 bclayton@google.com SpirvShader: Implement GLSLstd450Find[U,S]Msb
2019-04-11 bclayton@google.com SpirvShader: Implement GLSLstd450Determinant
2019-04-11 bclayton@google.com SpirvShader: Implement GLSLstd450NClamp
2019-04-11 bclayton@google.com SpirvShader: Implement GLSLstd450NMax
2019-04-11 bclayton@google.com SpirvShader: Implement GLSLstd450NMin
2019-04-11 bclayton@google.com SpirvShader: Mark GLSLstd450IMix as unreachable.
2019-04-11 bclayton@google.com SpirvShader: Implement GLSLstd450InverseSqrt
2019-04-11 bclayton@google.com SpirvShader: Handle DecorationRelaxedPrecision decorations
2019-04-11 bclayton@google.com SpirvShader: Implement GLSLstd450Sqrt
2019-04-11 bclayton@google.com SpirvShader: Implement GLSLstd450Log2
2019-04-11 bclayton@google.com SpirvShader: Implement GLSLstd450Exp2
2019-04-11 bclayton@google.com SpirvShader: Implement GLSLstd450Log
2019-04-11 bclayton@google.com SpirvShader: Implement GLSLstd450Exp
2019-04-11 bclayton@google.com SpirvShader: Implement GLSLstd450Pow
2019-04-11 bclayton@google.com SpirvShader: Implement GLSLstd450Atan2
2019-04-11 bclayton@google.com SpirvShader: Implement GLSLstd450Atanh
2019-04-11 bclayton@google.com SpirvShader: Implement GLSLstd450Acosh
2019-04-11 bclayton@google.com SpirvShader: Implement GLSLstd450Asinh
2019-04-11 bclayton@google.com SpirvShader: Implement GLSLstd450Tanh
2019-04-11 bclayton@google.com SpirvShader: Implement GLSLstd450Cosh
2019-04-11 bclayton@google.com SpirvShader: Stub all the remaining GLSLstd450 unimplemented cases
2019-04-11 bclayton@google.com SpirvShader: Implement GLSLstd450Sinh
2019-04-11 bclayton@google.com SpirvShader: Implement GLSLstd450Atan
2019-04-11 bclayton@google.com SpirvShader: Implement GLSLstd450Acos
2019-04-11 bclayton@google.com SpirvShader: Implement GLSLstd450Asin
2019-04-11 bclayton@google.com SpirvShader: Implement GLSLstd450Tan
2019-04-10 bclayton@google.com SpirvShader: Implement GLSLstd450Cos
2019-04-10 bclayton@google.com SpirvShader: Implement GLSLstd450Sin
2019-04-10 bclayton@google.com SpirvShader: Implement GLSLstd450Degrees
2019-04-10 bclayton@google.com SpirvShader: Implement GLSLstd450Radians
2019-04-10 bclayton@google.com SpirvShader: Implement GLSLstd450Ldexp
2019-04-10 bclayton@google.com SpirvShader: Implement GLSLstd450Fma
2019-04-10 bclayton@google.com SpirvShader: Implement GLSLstd450Frexp
2019-04-10 chrisforbes@google.com Implement pack/unpack extended instructions
2019-04-10 chrisforbes@google.com SpirvShader: Implement GLSLStd450ModfStruct
2019-04-10 bclayton@google.com SpirvShader: Implement GLSLstd450Modf
2019-04-10 srisser@google.com Generic Transform Feedback buffer as global state
2019-04-10 sugoi@google.com Use the ImageView's format in clear operations
2019-04-10 hliatis@google.com Resolve build issues with Reactor on Android
2019-04-10 swiftshader.regress@gmail.com Regres: Update test lists @ f0aa9d5a


Created with:
  gclient setdep -r third_party/externals/swiftshader@3954a0bafb8a

The AutoRoll server is located here: https://autoroll.skia.org/r/swiftshader-skia-autoroll

Documentation for the AutoRoller is here:
https://skia.googlesource.com/buildbot/+/master/autoroll/README.md

If the roll is causing failures, please contact the current sheriff, who should
be CC'd on the roll, and stop the roller if necessary.

CQ_INCLUDE_TRYBOTS=skia.primary:Test-Debian9-Clang-GCE-GPU-SwiftShader-x86_64-Debug-All-SwiftShader
TBR=egdaniel@google.com

Change-Id: I4598c779d9fd2bb2931e5d7ab6684a239834f7fc
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/207294
Reviewed-by: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
Commit-Queue: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
2019-04-11 04:45:00 +00:00
recipe-roller
99d7922767 Roll recipe dependencies (trivial).
This is an automated CL created by the recipe roller. This CL rolls recipe
changes from upstream projects (e.g. depot_tools) into downstream projects
(e.g. tools/build).


More info is at https://goo.gl/zkKdpD. Use https://goo.gl/noib3a to file a bug.
recipe_engine:
  https://crrev.com/a8a96dca3e5e81e2bfff4b93a2384c8b40a58068 Add commit_position module (nodir@google.com)


TBR=borenet@google.com

Recipe-Tryjob-Bypass-Reason: Autoroller
Bugdroid-Send-Email: False
Change-Id: I3022a22da68d3062fa78f11013227a031602f279
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/207365
Reviewed-by: Recipe Roller <recipe-mega-autoroller@chops-service-accounts.iam.gserviceaccount.com>
Commit-Queue: Recipe Roller <recipe-mega-autoroller@chops-service-accounts.iam.gserviceaccount.com>
2019-04-10 23:59:10 +00:00
recipe-roller
be94a48426 Roll recipe dependencies (trivial).
This is an automated CL created by the recipe roller. This CL rolls recipe
changes from upstream projects (e.g. depot_tools) into downstream projects
(e.g. tools/build).


More info is at https://goo.gl/zkKdpD. Use https://goo.gl/noib3a to file a bug.
recipe_engine:
  https://crrev.com/10a2ec175037ae0a360b7e317ecc9b8ac76e9d95 [buildbucket] Print builder ids (nodir@google.com)


TBR=borenet@google.com

Recipe-Tryjob-Bypass-Reason: Autoroller
Bugdroid-Send-Email: False
Change-Id: Ib844817cb32747184a5b97ed2838566c32756535
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/207364
Reviewed-by: Recipe Roller <recipe-mega-autoroller@chops-service-accounts.iam.gserviceaccount.com>
Commit-Queue: Recipe Roller <recipe-mega-autoroller@chops-service-accounts.iam.gserviceaccount.com>
2019-04-10 22:49:40 +00:00
recipe-roller
34adc46220 Roll recipe dependencies (trivial).
This is an automated CL created by the recipe roller. This CL rolls recipe
changes from upstream projects (e.g. depot_tools) into downstream projects
(e.g. tools/build).


More info is at https://goo.gl/zkKdpD. Use https://goo.gl/noib3a to file a bug.
recipe_engine:
  https://crrev.com/cc7c58088b474b95483beaf4b41a3028121e4f7b [scheduler] Read current triggers (nodir@google.com)


TBR=borenet@google.com

Recipe-Tryjob-Bypass-Reason: Autoroller
Bugdroid-Send-Email: False
Change-Id: I643ad06f0668ce8c78c7efe776bc44bd4e41a414
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/207363
Reviewed-by: Recipe Roller <recipe-mega-autoroller@chops-service-accounts.iam.gserviceaccount.com>
Commit-Queue: Recipe Roller <recipe-mega-autoroller@chops-service-accounts.iam.gserviceaccount.com>
2019-04-10 22:10:40 +00:00
Mike Reed
fb5bcca999 oops, remove the rest of SkMixer
Change-Id: I64820668e9f501002e64942d5c8a2b07abedf74a
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/207313
Reviewed-by: Mike Reed <reed@google.com>
Commit-Queue: Mike Reed <reed@google.com>
Auto-Submit: Mike Reed <reed@google.com>
2019-04-10 21:50:30 +00:00
recipe-roller
49f0630cb8 Roll recipe dependencies (trivial).
This is an automated CL created by the recipe roller. This CL rolls recipe
changes from upstream projects (e.g. depot_tools) into downstream projects
(e.g. tools/build).


More info is at https://goo.gl/zkKdpD. Use https://goo.gl/noib3a to file a bug.
recipe_engine:
  https://crrev.com/166a0650c2d951e45118581b5fa442940a675a13 Add recipe_proto OWNERS (nodir@google.com)


TBR=borenet@google.com

Recipe-Tryjob-Bypass-Reason: Autoroller
Bugdroid-Send-Email: False
Change-Id: Ic011ac4b0bee4296a9604b4b1df16e334d108df4
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/207362
Reviewed-by: Recipe Roller <recipe-mega-autoroller@chops-service-accounts.iam.gserviceaccount.com>
Commit-Queue: Recipe Roller <recipe-mega-autoroller@chops-service-accounts.iam.gserviceaccount.com>
2019-04-10 21:28:40 +00:00
Herb Derby
eded39a92d Return a span from getMetrics
Change-Id: I41f339dfa1a49f07ea5ab42e30d1a1e20af97b30
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/207308
Commit-Queue: Herb Derby <herb@google.com>
Reviewed-by: Ben Wagner <bungeman@google.com>
2019-04-10 21:23:35 +00:00