Commit Graph

42568 Commits

Author SHA1 Message Date
Mike Klein
ff0ae81e74 two register + immediate ops
The encoding kind of all goes through the same paths,
as the three argument instructions, but like the nursery
rhyme when there are only two they kind of all roll over
and the op-extension hops into the bed.

vpermq is the first place we need to set the W bit
to indicate a 64-bit lane operation, so a little
minimal plumbing for that.  It takes its arguments
a little differently too, passing dst where you'd
expect, the source where we'd pass y, and requiring
us to pass literal 0000 for the vvvv bits in VEX
(inverted as normal to literal 1111).

Change-Id: I91a4cd1b316eb908992631ce8b2cb3c62078e8c6
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/222565
Commit-Queue: Mike Klein <mtklein@google.com>
Reviewed-by: Herb Derby <herb@google.com>
2019-06-20 21:25:16 +00:00
Mike Klein
74ad844086 remaining 3-reg ops
Somewhat arbitrarily switched from vandps et al. float bitwise
ops to vpand et al. int bitwise ops.  We tend to use them more
int-y generally so the disassembly maybe reads more clearly?
They're identical in behavior AFAIK.

Shuffle tmp around from being an Xbyak::Ymm to its index.

I don't think there's anything tricky here.  Spookily things
all seem to work first try, as long as I don't make a typo.

Change-Id: I2b5d4ded7800915824cbd7c917edfd36e229d306
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/222528
Auto-Submit: Mike Klein <mtklein@google.com>
Reviewed-by: Herb Derby <herb@google.com>
Commit-Queue: Mike Klein <mtklein@google.com>
2019-06-20 21:14:39 +00:00
Julia Lavrova
9af5cc4d98 Adding TestFontCollection
Change-Id: I43c20616dd842e9ffeaac614c853be4702a819a7
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/222104
Commit-Queue: Julia Lavrova <jlavrova@google.com>
Reviewed-by: Ben Wagner <bungeman@google.com>
2019-06-20 20:42:46 +00:00
Michael Ludwig
fa97463793 Add lighting, alpha threshold, and tile image filters to GM
Bug: skia:
Change-Id: I43f723f617602de5ba2bf82ff2fe1286527a8cc6
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/222500
Commit-Queue: Michael Ludwig <michaelludwig@google.com>
Reviewed-by: Robert Phillips <robertphillips@google.com>
2019-06-20 20:39:16 +00:00
Stephen White
1e5c05e99f Revert "GPU: always use TopLeft origin for saveLayer render targets."
This reverts commit 6f24faa623.

Reason for revert: larger impact on GMs than expected

Original change's description:
> GPU: always use TopLeft origin for saveLayer render targets.
> 
> Should have no user-visible result.
> 
> Change-Id: Iae444888557347bfdf75e6353966cde907ee0a1e
> Reviewed-on: https://skia-review.googlesource.com/c/skia/+/222506
> Reviewed-by: Greg Daniel <egdaniel@google.com>
> Commit-Queue: Stephen White <senorblanco@chromium.org>

TBR=egdaniel@google.com,bsalomon@google.com,senorblanco@chromium.org

Change-Id: Ic8217206adfbd7d506a70c3d9ca828f0dde58c66
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/222509
Reviewed-by: Stephen White <senorblanco@chromium.org>
Commit-Queue: Stephen White <senorblanco@chromium.org>
2019-06-20 20:28:57 +00:00
Jim Van Verth
bcfd0535d0 Fix ASAN issue.
The bufferAllocator was being unref'ed before the SkSpinlock went out
of scope, so the spinlock was then using deleted memory.

Bug: skia:8243
Change-Id: I69f090acccaaa3ba7fe2e4190103019a6f4e9359
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/222503
Commit-Queue: Jim Van Verth <jvanverth@google.com>
Reviewed-by: Robert Phillips <robertphillips@google.com>
2019-06-20 20:17:12 +00:00
Brian Osman
ecb3bb53ac ByteCode: Fixes for TRACE
Change-Id: I6b709a2b5e8014cedb152e763ea4470c6f79de4b
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/222504
Commit-Queue: Brian Osman <brianosman@google.com>
Commit-Queue: Mike Klein <mtklein@google.com>
Auto-Submit: Brian Osman <brianosman@google.com>
Reviewed-by: Mike Klein <mtklein@google.com>
2019-06-20 19:41:19 +00:00
Stephen White
6f24faa623 GPU: always use TopLeft origin for saveLayer render targets.
Should have no user-visible result.

Change-Id: Iae444888557347bfdf75e6353966cde907ee0a1e
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/222506
Reviewed-by: Greg Daniel <egdaniel@google.com>
Commit-Queue: Stephen White <senorblanco@chromium.org>
2019-06-20 19:40:10 +00:00
Brian Osman
fba386b940 ByteCode: Allow calls to functions that return void
Change-Id: Ia2e21bc984c509cd2405499f93ee5e19941cc492
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/222499
Commit-Queue: Brian Osman <brianosman@google.com>
Reviewed-by: Mike Klein <mtklein@google.com>
2019-06-20 19:29:40 +00:00
Jim Van Verth
d1b2c85dca Revert "Prefer using GrOvalOpFactory over GrFillRRect for circles and"
This reverts commit 731454a085.

Reason for revert: Seeing a lot of performance regressions.

Original change's description:
> Prefer using GrOvalOpFactory over GrFillRRect for circles and
> axis-aligned circular roundrects.
> 
> Bug: chromium:971936
> Change-Id: I4cd0cd9047b9b06d657826820ba5a937547f87c3
> Reviewed-on: https://skia-review.googlesource.com/c/skia/+/221000
> Commit-Queue: Jim Van Verth <jvanverth@google.com>
> Reviewed-by: Khushal Sagar <khushalsagar@chromium.org>

TBR=jvanverth@google.com,csmartdalton@google.com,khushalsagar@chromium.org

# Not skipping CQ checks because original CL landed > 1 day ago.

Bug: chromium:971936
Change-Id: Iab803b1777ef5e3d754d8ac1f404b01f57d9c1a8
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/222501
Reviewed-by: Jim Van Verth <jvanverth@google.com>
Commit-Queue: Jim Van Verth <jvanverth@google.com>
2019-06-20 19:11:50 +00:00
Brian Salomon
384981be3d Revert "Deserialize MultiPictureDocument based SKP files (with image sharing proc) in wasm debugger."
This reverts commit 7635013ad1.

Reason for revert: breaking bots 

Original change's description:
> Deserialize MultiPictureDocument based SKP files (with image sharing proc) in wasm debugger.
> 
> Change-Id: I73affae3cd05a2aa6ac1c75c8e049d352bbf3a85
> Bug: 9176
> Reviewed-on: https://skia-review.googlesource.com/c/skia/+/217135
> Commit-Queue: Nathaniel Nifong <nifong@google.com>
> Reviewed-by: Derek Sollenberger <djsollen@google.com>
> Reviewed-by: Kevin Lubick <kjlubick@google.com>

TBR=djsollen@google.com,mtklein@google.com,kjlubick@google.com,reed@google.com,nifong@google.com

Change-Id: Ie5e5dac46ba1beeb8de0a29c1a7be1264616fe92
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Bug: 9176
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/222502
Reviewed-by: Brian Salomon <bsalomon@google.com>
Commit-Queue: Brian Salomon <bsalomon@google.com>
2019-06-20 18:52:01 +00:00
Ben Wagner
940aa43eb7 Update NVIDIA_Shield
Switch to version 7.2.3 from
https://developer.nvidia.com/gameworksdownload

Change-Id: Ic2b0a833ebfcb8508a71584021e7eae238e7ca7a
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/222496
Auto-Submit: Ben Wagner aka dogben <benjaminwagner@google.com>
Reviewed-by: Eric Boren <borenet@google.com>
Commit-Queue: Greg Daniel <egdaniel@google.com>
2019-06-20 18:48:39 +00:00
Greg Daniel
52ee5f6753 Add FormatInfo struct to GrGLCaps.
Just landing the initial struct before adding specific flags to the struct
and filling out the formats.

Bug: skia:6718
Change-Id: I1013845cb61482184915d181a7fc7f85800b72c5
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/222498
Reviewed-by: Robert Phillips <robertphillips@google.com>
Commit-Queue: Greg Daniel <egdaniel@google.com>
2019-06-20 18:37:39 +00:00
Mike Klein
397fc88fc0 first VEX ymm vector ops
- 32x8 i32 add,sub,mul
   - add I32_Naive bench/test builder to get better i32 mul coverage
   - minor refactoring all over

Change-Id: I13cc19ff37a2da0bcff289ba51baac08f456d6c5
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/222485
Reviewed-by: Herb Derby <herb@google.com>
Commit-Queue: Mike Klein <mtklein@google.com>
2019-06-20 18:20:00 +00:00
Florin Malita
3127dd6c2a [sksg] Clear the context mask filter when applied via layers
Fixes rendering issues when a mask filter is applied to non-atomic
draws.

TBR=
Change-Id: I29486e7e759170bb2ece1e257bd6b981c161b1dc
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/222459
Reviewed-by: Florin Malita <fmalita@chromium.org>
Commit-Queue: Florin Malita <fmalita@chromium.org>
2019-06-20 17:39:14 +00:00
Nathaniel Nifong
7635013ad1 Deserialize MultiPictureDocument based SKP files (with image sharing proc) in wasm debugger.
Change-Id: I73affae3cd05a2aa6ac1c75c8e049d352bbf3a85
Bug: 9176
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/217135
Commit-Queue: Nathaniel Nifong <nifong@google.com>
Reviewed-by: Derek Sollenberger <djsollen@google.com>
Reviewed-by: Kevin Lubick <kjlubick@google.com>
2019-06-20 17:33:04 +00:00
Mike Reed
3fd3cc94c3 runtime shaders
This extends the runStriped to all for return data.
GPU impl not done yet, will be done in a follow-on CL.

Change-Id: Ib107d2945f6fdb34ce1b5405a6c88a5ae7e9f7ac
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/221539
Reviewed-by: Brian Osman <brianosman@google.com>
Commit-Queue: Mike Reed <reed@google.com>
2019-06-20 17:11:05 +00:00
Jim Van Verth
bbf85f951c Switch Metal dynamic buffer allocations to use a ring buffer.
Buffer creation is a big hit on Metal. This allows us to recycle more
of the buffer.

Bug: skia:8243
Change-Id: If2e3b13d8175dfe370bd61771af0a59cce277340
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/221120
Commit-Queue: Jim Van Verth <jvanverth@google.com>
Reviewed-by: Brian Osman <brianosman@google.com>
2019-06-20 17:09:44 +00:00
Brian Salomon
f30b1c1bd5 Revert "Revert "Make SkASSERT not break build in constexpr GrSwizzle method on GCC""
This reverts commit 27239e456a.

Revert "Revert "Add function to GrDataUtils to handle color conversions.""

This reverts commit c34d993b62.

Change-Id: Iac1bdaa6f8380e63bbb87394e7fca96808572131
Bug: skia:8962
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/222039
Reviewed-by: Brian Salomon <bsalomon@google.com>
Commit-Queue: Brian Salomon <bsalomon@google.com>
2019-06-20 16:56:15 +00:00
Ravi Mistry
b2ca0067a7 [lottie-web-perf] Add LottieWeb CPU and GPU bots
* Added support for LottieWeb bots in perf_skottiewasm_lottieweb.py
* Adds a LOTTIE_WEB_BLACKLIST for lottie files that crash lottie-web as described in https://bugs.chromium.org/p/skia/issues/detail?id=9187#c4

NoTry: true
Bug: skia:9187
Change-Id: I8dbf485e7162e027cb4c4db2bf8f8e9c3ec4d966
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/222157
Reviewed-by: Joe Gregorio <jcgregorio@google.com>
Commit-Queue: Ravi Mistry <rmistry@google.com>
2019-06-20 16:49:13 +00:00
Mike Klein
df465e206e forward-declare Program::Instruction
I'm getting tired of having changes to SkVM.h trigger
383 build targets, now 13.  No other reason.

Change-Id: I12b637e68db409ede9c0c5be74fcca66cca32505
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/222479
Commit-Queue: Mike Klein <mtklein@google.com>
Commit-Queue: Brian Osman <brianosman@google.com>
Auto-Submit: Mike Klein <mtklein@google.com>
Reviewed-by: Brian Osman <brianosman@google.com>
2019-06-20 16:14:41 +00:00
Robert Phillips
6b973876ba Fix up wacky_yuv_formats GM and GL caps
This CL:
  enables the Y416 row (i.e., uses RGBA_16161616)
  spruces up the GL caps configuration of R16, RG16, RGBA16 and RG16F

Change-Id: I405c5acaf3f31b7ab0e9797e6f5df1d4c41d70d0
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/220535
Commit-Queue: Robert Phillips <robertphillips@google.com>
Reviewed-by: Greg Daniel <egdaniel@google.com>
2019-06-20 15:58:34 +00:00
Mike Klein
13daa4f305 no -ffoo-sections on Darwin
-dead_strip works just fine there without those flags,
and they interfere with embedded bitcode.

Change-Id: If3766d245334fd9fa275e90fe67216ababafcecb
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/222450
Commit-Queue: Mike Klein <mtklein@google.com>
Commit-Queue: Brian Osman <brianosman@google.com>
Auto-Submit: Mike Klein <mtklein@google.com>
Reviewed-by: Brian Osman <brianosman@google.com>
2019-06-20 15:35:54 +00:00
Ravi Mistry
4918bbcbfd Rename recipe from perf_skottie_wasm to perf_skottiewasm_lottieweb
The lottieweb perf recipe will be very similar to the skottiewasm perf
recipe, so decided to eventually use the same one for both.

Bug: skia:9187
Change-Id: Id9da91c9cf79df7c01c61c7920f944bec974e9f8
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/222156
Reviewed-by: Joe Gregorio <jcgregorio@google.com>
Commit-Queue: Ravi Mistry <rmistry@google.com>
2019-06-20 15:03:44 +00:00
Ben Wagner
1811d1615e Update GPU driver for Intel Skylake and later
Also, removed the blacklist for skia:8706 since the tests are passing
before this CL.

Bug: skia:8587, skia:8659, skia:8706, skia:8961, skia:9023
Change-Id: Ib7bf3268b1981ba9860f77ea7e12673976105ef9
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/222041
Reviewed-by: Greg Daniel <egdaniel@google.com>
Commit-Queue: Ben Wagner aka dogben <benjaminwagner@google.com>
2019-06-20 14:40:04 +00:00
Stephen White
1e1ad8dda9 Rename a shader variable to please MSL.
"vertex" is a reserved word in MSL. Rename the variable to "position".

Change-Id: I20a8bdd443cbdb1a41496728fc1ff388a02e1d24
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/222105
Reviewed-by: Ethan Nicholas <ethannicholas@google.com>
Commit-Queue: Stephen White <senorblanco@chromium.org>
2019-06-20 14:30:57 +00:00
Greg Daniel
2c3398dc26 Switch from querying swizzle on caps to using swizzles stored on proxies.
Change-Id: I03f4a3affd6dda7a83bee8eec768dcaa93a6b801
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/220534
Reviewed-by: Brian Salomon <bsalomon@google.com>
Commit-Queue: Greg Daniel <egdaniel@google.com>
2019-06-20 13:38:05 +00:00
Robert Phillips
b520476ee6 Swap GrSurfaceProxy over to being held via sk_sp
This CL:
   replaces GrProxyRef with sk_sp
   streamlines GrIORefProxy to be more like SkRefCntBase (i.e., move the fTarget pointer to GrSurfaceProxy)

Change-Id: I17d515100bb2d9104eed64269bd3bf75c1ebbbb8
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/221997
Reviewed-by: Brian Salomon <bsalomon@google.com>
Commit-Queue: Robert Phillips <robertphillips@google.com>
2019-06-20 11:43:45 +00:00
skia-autoroll
b9ca863aba Roll third_party/externals/angle2 88e0322122f2..c5c937e1e8bd (5 commits)
88e0322122..c5c937e1e8


git log 88e0322122f2..c5c937e1e8bd --date=short --no-merges --format='%ad %ae %s'
2019-06-20 syoussefi@chromium.org Vulkan: Support R11G11B10_FLOAT and R9G9B9E5_SHAREDEXP
2019-06-20 syoussefi@chromium.org Vulkan: Minor cleanup of Transform Feedback validation
2019-06-19 geofflang@chromium.org Documentation: Update support matrix.
2019-06-19 dongja@google.com Vulkan: fix texture swizzle
2019-06-19 angle-autoroll@skia-public.iam.gserviceaccount.com Roll ./third_party/glslang/src 11805e41d992..f9d08a25fbe1 (1 commits)


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

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=bsalomon@google.com

Change-Id: Ib87ab346eb1277240b6578d1eb323147faae1661
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/222363
Reviewed-by: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
Commit-Queue: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
2019-06-20 05:55:14 +00:00
skia-recreate-skps
933d3a4ba8 Update Go deps
Change-Id: I1a2c28113d2ee55ff64dd4f5560030f2575d5863
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/222372
Reviewed-by: <skia-recreate-skps@skia-swarming-bots.iam.gserviceaccount.com>
Commit-Queue: <skia-recreate-skps@skia-swarming-bots.iam.gserviceaccount.com>
2019-06-20 05:34:24 +00:00
skia-autoroll
91dbe847c5 Roll ../src a69f99029b91..8f8d2c8d5447 (406 commits)
a69f99029b..8f8d2c8d54


Created with:
  gclient setdep -r ../src@8f8d2c8d54

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=bsalomon@google.com

Change-Id: I50b6a53c9d5aac92948036e462e807608a63ac0c
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/222364
Reviewed-by: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
Commit-Queue: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
2019-06-20 04:42:04 +00:00
skia-autoroll
10475bf947 Roll third_party/externals/swiftshader 62bb5edfe0a6..4aa4fcd61334 (5 commits)
https://swiftshader.googlesource.com/SwiftShader.git/+log/62bb5edfe0a6..4aa4fcd61334


git log 62bb5edfe0a6..4aa4fcd61334 --date=short --no-merges --format='%ad %ae %s'
2019-06-19 capn@google.com Avoid recompiling identical SPIR-V code
2019-06-19 sugoi@google.com Fixed Vulkan unittests for Visual Studio
2019-06-19 sugoi@google.com Android build fix
2019-06-19 sugoi@google.com Make VkNonDispatchableHandle POD
2019-06-19 swiftshader.regress@gmail.com Regres: Update test lists @ 62bb5edf


Created with:
  gclient setdep -r third_party/externals/swiftshader@4aa4fcd61334

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=bsalomon@google.com

Change-Id: I6d7715d50f5aff3aa28ba790a9d4f66920d9609a
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/222362
Reviewed-by: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
Commit-Queue: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
2019-06-20 04:34:44 +00:00
Michael Ludwig
e08b443f9b Make rt bounds dependent on stencil settings for quad optimizations
Before the the consolidation to the internal drawFilledQuad(),
regular draws would use the logical rt bounds to decide if it can be
a fullscreen clear. Stencil rect draws would use the worst case bounds
(needed to pass GrDefaultPathRendererTest).

Initially, the new drawFilledQuad() switched to always using the worst
case bounds to determine fullscreen clears. Since stencil rect draws
used drawFilledQuad(), this was necessary for the path renderer tests to
pass. But this had the side effect of making render targets with approx.
backing storage no longer perform fullscreen clears when a draw would
otherwise cover the logical bounds of the render target.

Normally, this would only be a performance issue, but it also seems to
have exposed a driver bug in the Nexus 5x on Vulkan where the draws
didn't properly fill the backing store. Having attemptQuadOptimization()
choose its rt bounds based on the presence of stencil settings keeps
both tests happy and increases the likelihood of using fullscreen clears.

Change-Id: I6df2c789211f32a4c94bee394d27b7fb4f7293e2
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/222278
Commit-Queue: Michael Ludwig <michaelludwig@google.com>
Commit-Queue: Greg Daniel <egdaniel@google.com>
Auto-Submit: Michael Ludwig <michaelludwig@google.com>
Reviewed-by: Greg Daniel <egdaniel@google.com>
2019-06-19 23:05:34 +00:00
Ravi Mistry
0233b1edf2 [lottie-web-perf] Use latest lottie-web version and use install location
NoTry: true
Bug: skia:9187
Change-Id: Id0a35b77e41c2b8ef8f3b0b61558c9d96db1c09a
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/222177
Reviewed-by: Joe Gregorio <jcgregorio@google.com>
Commit-Queue: Ravi Mistry <rmistry@google.com>
2019-06-19 20:57:20 +00:00
Greg Daniel
46e61805c3 Revert "Remove gpu config fallback in onMakeColorTypeAndColorSpace."
This reverts commit 1fb0874af5.

Reason for revert: maybe breaking chrome roll.

Original change's description:
> Remove gpu config fallback in onMakeColorTypeAndColorSpace.
> 
> If the client is asking for a specific colorType for a GPU image it seems
> wrong to give them one they didn't ask for.
> 
> Change-Id: I65bcdfcb0f744458e2162fe266c08bd3c8fb5a85
> Reviewed-on: https://skia-review.googlesource.com/c/skia/+/222176
> Reviewed-by: Brian Osman <brianosman@google.com>
> Commit-Queue: Greg Daniel <egdaniel@google.com>

TBR=egdaniel@google.com,bsalomon@google.com,brianosman@google.com

Change-Id: If3469e45d03471af126605072f4d6debec7101b6
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/222038
Reviewed-by: Greg Daniel <egdaniel@google.com>
Commit-Queue: Greg Daniel <egdaniel@google.com>
2019-06-19 20:46:42 +00:00
Joe Gregorio
024a912136 Make debugger-assets part of cloudbuild CI.
Change-Id: I5d5946304e3c20ffad5b0af69d7d43b6847ab724
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/222097
Reviewed-by: Nathaniel Nifong <nifong@google.com>
Commit-Queue: Joe Gregorio <jcgregorio@google.com>
2019-06-19 20:44:40 +00:00
Herb Derby
71f2eb7d10 Add bounds accessors to SkGlyph
Change-Id: I9132b98a9c5ef14a6679de381aec5d9807f84e14
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/222037
Reviewed-by: Ben Wagner <bungeman@google.com>
Commit-Queue: Herb Derby <herb@google.com>
2019-06-19 20:38:50 +00:00
Brian Osman
2b1a544fa0 Reland "Reland "Reland "Interpreter: Support striped inputs for less overhead"""
This reverts commit 01c9b89a85.

Change-Id: Ibe2184043f5aee1a252e9a693eb88dab3ed6ca65
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/222100
Reviewed-by: Mike Klein <mtklein@google.com>
Commit-Queue: Brian Osman <brianosman@google.com>
2019-06-19 20:24:50 +00:00
Ben Wagner
870cccaf72 Use specific build number for NVIDIA Shield.
NVIDIA's updates for the NVIDIA Shield use the same build number, so we
can only distinguish them by the build fingerprint number.

Change-Id: I750ce8c0c0a13519a8155dab49391f6bd1b4e35d
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/222103
Auto-Submit: Ben Wagner aka dogben <benjaminwagner@google.com>
Reviewed-by: Eric Boren <borenet@google.com>
Commit-Queue: Ben Wagner aka dogben <benjaminwagner@google.com>
2019-06-19 19:52:09 +00:00
Greg Daniel
1fb0874af5 Remove gpu config fallback in onMakeColorTypeAndColorSpace.
If the client is asking for a specific colorType for a GPU image it seems
wrong to give them one they didn't ask for.

Change-Id: I65bcdfcb0f744458e2162fe266c08bd3c8fb5a85
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/222176
Reviewed-by: Brian Osman <brianosman@google.com>
Commit-Queue: Greg Daniel <egdaniel@google.com>
2019-06-19 19:24:49 +00:00
Stephen White
d523a06516 Change samplerVariable() to return a const char *.
This allows backends to use an expression rather than a variable for
sampler access.

Change-Id: I2346ac418c8d6277416a4430e2eaf6ab3ffee0a2
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/222036
Reviewed-by: Brian Salomon <bsalomon@google.com>
Commit-Queue: Stephen White <senorblanco@chromium.org>
2019-06-19 18:56:09 +00:00
Michael Ludwig
613282042d Reland "Consolidate quad optimizations into single internal function."
This reverts commit 7694b90eb0.

Reason for revert: suppression: https://chromium-review.googlesource.com/c/chromium/src/+/1666472
Original change's description:
> Revert "Consolidate quad optimizations into single internal function."
>
> This reverts commit 646616a78f.
>
> Reason for revert: Suspected as cause of layout test changes.
>
> Original change's description:
> > Consolidate quad optimizations into single internal function.
> >
> > Routes all non-textured quad draws through single internal function
> >
> > Change-Id: Ief66864a0ad2d598982c5bf500c8a84ecbf84387
> > Reviewed-on: https://skia-review.googlesource.com/c/skia/+/215455
> > Commit-Queue: Michael Ludwig <michaelludwig@google.com>
> > Reviewed-by: Robert Phillips <robertphillips@google.com>
>
> TBR=robertphillips@google.com,michaelludwig@google.com
>
> Change-Id: I0dc6a0d948c0f5e9221ff6c9fbbbbbb9bc3d9bc0
> No-Presubmit: true
> No-Tree-Checks: true
> No-Try: true
> Reviewed-on: https://skia-review.googlesource.com/c/skia/+/221737
> Reviewed-by: Brian Salomon <bsalomon@google.com>
> Commit-Queue: Brian Salomon <bsalomon@google.com>

TBR=bsalomon@google.com,robertphillips@google.com,michaelludwig@google.com

Change-Id: I4e5d39d603d32b18c48db291fb1650fe33e9ba11
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/222096
Commit-Queue: Michael Ludwig <michaelludwig@google.com>
Reviewed-by: Michael Ludwig <michaelludwig@google.com>
2019-06-19 18:26:10 +00:00
Michael Ludwig
8d3e279ed9 Fix GM for preAbandonGpuContext flag
Bug: skia:
Change-Id: If54356b57b6aeba73857ab7d9ff5f78b51303910
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/222101
Auto-Submit: Michael Ludwig <michaelludwig@google.com>
Commit-Queue: Brian Salomon <bsalomon@google.com>
Reviewed-by: Brian Salomon <bsalomon@google.com>
2019-06-19 18:16:08 +00:00
Michael Ludwig
ecba713a8d Blacklist imagemakewithfilter GM for Intel 655
Bug: skia:8659
Change-Id: Ic51077d915559f8acd0200b422020dae0f63c3c0
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/222102
Auto-Submit: Michael Ludwig <michaelludwig@google.com>
Commit-Queue: Brian Salomon <bsalomon@google.com>
Reviewed-by: Brian Salomon <bsalomon@google.com>
2019-06-19 17:42:45 +00:00
Herb Derby
d2a188701c Update getAdvances for using a mutex
I'm hoping to have a few pinch points that will actually hold a mutex.
The call getAdvances uses to get glyphs, called metrics(), is one of them.

+ Update some call sites to use the new glyph() call.

Change-Id: I04158e200db43758fe6d33337e5d1137f197a5b7
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/221777
Commit-Queue: Herb Derby <herb@google.com>
Reviewed-by: Mike Klein <mtklein@google.com>
2019-06-19 17:41:45 +00:00
Ravi Mistry
6ac3795ebf [lottie-web-perf] Command line application to measure perf
Uses puppeteer to bring up Chrome headless and then calls lottie-web-perf.html with endpoints for lottie.min.js and the target lottie file.

NoTry: true
Bug: skia:9187
Change-Id: Ic1f4c9fc1cd68b3f747e58bdbf1ea51387e5e139
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/221717
Commit-Queue: Ravi Mistry <rmistry@google.com>
Reviewed-by: Joe Gregorio <jcgregorio@google.com>
2019-06-19 17:06:35 +00:00
Brian Osman
01c9b89a85 Revert "Reland "Reland "Interpreter: Support striped inputs for less overhead"""
This reverts commit 59b22f9297.

Reason for revert: ios

Original change's description:
> Reland "Reland "Interpreter: Support striped inputs for less overhead""
> 
> This reverts commit 2c59b4e9ea.
> 
> Change-Id: I2b06936994430722b8fc3890ff9b4a6f4710db04
> Reviewed-on: https://skia-review.googlesource.com/c/skia/+/221998
> Reviewed-by: Brian Osman <brianosman@google.com>
> Reviewed-by: Mike Klein <mtklein@google.com>
> Commit-Queue: Brian Osman <brianosman@google.com>

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

Change-Id: I321d257e400f5df3c6115dfe9aa18a2794a95910
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/222099
Reviewed-by: Brian Osman <brianosman@google.com>
Commit-Queue: Brian Osman <brianosman@google.com>
2019-06-19 15:37:17 +00:00
Brian Osman
8d56457f77 ByteCode: Fix subtle bug with nested loops and lanes re-activating
When starting a nested loop, we can't rely on the condition mask to keep
dead lanes dead, because of conditional breaks/continues that may have
happened earlier. So always narrow the loop mask by inheriting the
previous one.

Change-Id: I5bb076e6467fe1b6a2f682a590e8ae972a440b03
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/222098
Reviewed-by: Ethan Nicholas <ethannicholas@google.com>
Reviewed-by: Mike Klein <mtklein@google.com>
Commit-Queue: Brian Osman <brianosman@google.com>
2019-06-19 15:28:05 +00:00
Ravi Mistry
5d7f61b6a0 [skottie-wasm-perf] Add GPU bot
* Picked a GPU bot with 200+% capacity.
* Uses git from CIPD because some bots do not have git installed.
* Uses npm from node asset because some bots do not have npm installed.

NoTry: true
Bug: skia:9179
Change-Id: I75af7cd9f96b040481dcea85d65f95b29c11e3f7
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/221616
Commit-Queue: Ravi Mistry <rmistry@google.com>
Reviewed-by: Joe Gregorio <jcgregorio@google.com>
2019-06-19 15:17:05 +00:00
Michael Ludwig
d5fad8cc18 Overhaul makewithfilter gm to better show subset/clipping errors.
Tests more filter types since their implementations may differ in how
they access the underling SkSpecialImages.

Includes reference slides that use saveLayer with filters instead of
makeWithFilter+draw.

Bug: skia:9177

Change-Id: Ic40e2fb2c81ab72b2999ed3dbd9b06870d95d31e
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/221117
Reviewed-by: Robert Phillips <robertphillips@google.com>
Commit-Queue: Michael Ludwig <michaelludwig@google.com>
2019-06-19 15:14:35 +00:00