Commit Graph

42832 Commits

Author SHA1 Message Date
Brian Salomon
bd3d8d39b3 Remove GrPixelConfig from GrColorSpaceInfo.
Replace GrColorInfo with GrColorSpaceInfo.

Change-Id: I7abe28203dd7f22162d68c4eee41293f483bb1aa
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/225036
Commit-Queue: Brian Salomon <bsalomon@google.com>
Reviewed-by: Robert Phillips <robertphillips@google.com>
2019-07-02 13:43:41 +00:00
Chris Dalton
effee20657 Use mixed samples internally for default coverage AA
Lays the infrastructure to use mixed samples internally, and begins
using nvpr with mixed samples on the default "gl" and "gles" configs.

In this rendition, we take the simplest approach possible re: stencil
attachments. We initially create a render target without stencil
(i.e., 0 samples). Then, any time a proxy needs a stencil buffer with
more samples than its target currently has, we create and attach a new
stencil buffer. However, we never "downgrade" a render target's
stencil attachment to one with fewer samples. So if the proxy only
needs one sample and the target has many, we leave it.

Bug: skia:
Change-Id: I8558ba799ac3dee457f349f77d4517c11413c9a9
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/224456
Commit-Queue: Chris Dalton <csmartdalton@google.com>
Reviewed-by: Brian Salomon <bsalomon@google.com>
2019-07-02 06:04:09 +00:00
skia-autoroll
2ef8265768 Roll third_party/externals/angle2 f116aa9c158b..5faff91af499 (3 commits)
f116aa9c15..5faff91af4


git log f116aa9c158b..5faff91af499 --date=short --no-merges --format='%ad %ae %s'
2019-07-01 cnorthrop@google.com texture3D: Codegen changes towards OES_texture_3D
2019-07-01 cnorthrop@google.com Revert "Vulkan: pipeline cache not populated as blob cache is not set"
2019-07-01 angle-autoroll@skia-public.iam.gserviceaccount.com Roll ./third_party/spirv-tools/src 6ccb52b86492..e6e3e2ccc6a2 (1 commits)


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

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

Change-Id: I7850d53a7f6a0505d51488b6aafd23dc366b018a
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/225120
Reviewed-by: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
Commit-Queue: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
2019-07-02 04:59:19 +00:00
skia-autoroll
27c8b9fccc Roll ../src d38e9bb41f04..fb906fa57d41 (308 commits)
d38e9bb41f..fb906fa57d


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

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

Change-Id: I04940327362776ab6c97770c0f32b3857e35bd8b
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/225121
Reviewed-by: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
Commit-Queue: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
2019-07-02 04:36:49 +00:00
Brian Salomon
f2c52efce5 Update valgrind suppression
TBR: egdaniel@google.com

Change-Id: If44b5d4b4ac2ffbff5b10950fdf37bf6e79864ce
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/225097
Commit-Queue: Brian Salomon <bsalomon@google.com>
Reviewed-by: Greg Daniel <egdaniel@google.com>
Reviewed-by: Brian Salomon <bsalomon@google.com>
2019-07-02 01:45:03 +00:00
Brian Osman
9fb7fa537d Fix asserts in EllipticalRRectOp::Make to match logic of make_rrect_op
Comments and earlier code verify that the radii are not less than 1/2.
Asserting that they are therefore greater than 1/2 fails (rarely).

Change-Id: I294eb2304c087332698dd624567a8e1d286d0144
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/225037
Reviewed-by: Jim Van Verth <jvanverth@google.com>
Commit-Queue: Jim Van Verth <jvanverth@google.com>
2019-07-01 21:39:11 +00:00
Jim Van Verth
5e8f389797 Re-enable Metal buffer suballocation with extra mutex guard.
Bug: skia:9213
Change-Id: Ia29489b00bcaaf17d4c7b6613ed4f22e87a87ffc
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/224545
Reviewed-by: Herb Derby <herb@google.com>
Commit-Queue: Jim Van Verth <jvanverth@google.com>
2019-07-01 21:34:41 +00:00
Mike Klein
42d6d700c9 more --loops 1
Change-Id: Ie5d8eabb9db2911d41854535fb146ed53b0be8ed
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/225007
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-07-01 20:20:12 +00:00
Herb Derby
9c9af8ebc7 Use bulk metrics call in SkFont
Unify the handling of glyph metrics data in SkFont.

Change-Id: Ie1ad2a96ba205c0ee4570d70461b9db0cd874918
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/224577
Reviewed-by: Ben Wagner <bungeman@google.com>
Commit-Queue: Herb Derby <herb@google.com>
2019-07-01 20:10:12 +00:00
Robert Phillips
da2e67a357 Add GrProtected parameter to all createBackendTexture variants
Change-Id: I667bc730e321b579bef98f3d6003f7a7b29c9890
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/224957
Commit-Queue: Robert Phillips <robertphillips@google.com>
Reviewed-by: Greg Daniel <egdaniel@google.com>
2019-07-01 19:46:18 +00:00
Brian Salomon
a7de0f3231 Reenable GPU ReadPixels tests on ANGLE ES2
Bug: skia:6742
Change-Id: I96728c01e961c15085d44fdc7187806e363c27e3
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/224736
Reviewed-by: Brian Osman <brianosman@google.com>
Commit-Queue: Brian Salomon <bsalomon@google.com>
2019-07-01 19:32:48 +00:00
Brian Salomon
dc0710f2a2 Make GrCaps::surfaceSupportsReadPixels return distinct values rather than flags.
Change-Id: I2744ca6cb0e9f1f2fd7d20e293400c788e7d4083
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/224960
Reviewed-by: Greg Daniel <egdaniel@google.com>
Commit-Queue: Brian Salomon <bsalomon@google.com>
2019-07-01 19:30:18 +00:00
Florin Malita
45dc1f0001 [skottie] Cleanup: split off layers into own CUs
TBR=
Change-Id: Ia6c27cca33f9dc8f242a50e624341dd0b465b380
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/224738
Reviewed-by: Florin Malita <fmalita@chromium.org>
Commit-Queue: Florin Malita <fmalita@chromium.org>
2019-07-01 18:29:22 +00:00
Ethan Nicholas
cab767f219 SkSL now respects layout(key) on all variables
Change-Id: I33332967bba0f16a73633f13ffa851e38eba100d
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/224737
Reviewed-by: Brian Osman <brianosman@google.com>
Commit-Queue: Ethan Nicholas <ethannicholas@google.com>
2019-07-01 18:04:45 +00:00
Brian Osman
41f937f042 Revert "Test MSAA on Gen9 Intel GPUs"
This reverts commit e0b2dafeb6.

Reason for revert: Need to blacklist more unit tests

Original change's description:
> Test MSAA on Gen9 Intel GPUs
> 
> Change-Id: Ie5441350fc150356ffb7d6acffe1089ca1de4364
> Bug: skia:9225
> Reviewed-on: https://skia-review.googlesource.com/c/skia/+/224539
> Reviewed-by: Ben Wagner aka dogben <benjaminwagner@google.com>
> Commit-Queue: Brian Osman <brianosman@google.com>

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

Change-Id: I49c7a2f1132baeef80fa5296c2f2313f2bef0830
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Bug: skia:9225
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/224956
Reviewed-by: Brian Osman <brianosman@google.com>
Commit-Queue: Brian Osman <brianosman@google.com>
2019-07-01 18:04:44 +00:00
Mike Klein
1e87a5410e move SkVM interpreter back to SkVM.cpp
No real pressing reason to have an AVX2-specialized interpreter now that
we've got an AVX2 JIT.  Keeping things centralized makes it easier to
keep track of and helps reduce dependendcies on the rest of Skia, which
in turn makes it easier to develop SkVM on wimpy machines like an RPi.

Change-Id: Ic4729603ec6c9141929b3e2a56ba380240ea5e0d
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/224822
Reviewed-by: Herb Derby <herb@google.com>
Commit-Queue: Mike Klein <mtklein@google.com>
2019-07-01 17:55:17 +00:00
Brian Salomon
1d43530aa2 Pass alpha type to GrSurfaceContext::read/writePixels and remove flags.
We deduce whether to premul or unpremul based on the the input/output
alpha types. This means we also now support unpremuling on write and
premuling on read.

Class-ify former struct GrPixelInfo. Remove origin and instead pass a
flip bool to GrConvertPixels.

Unifies read/write methods on GrSurfaceContext via automatic conversion
of SkImageInfo to GrPixelInfo and making GrDirectContext an optional
parameter.

Bug: skia:7580

Change-Id: I42f6997852b4b902fb81264c6de68ca9537606aa
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/224281
Reviewed-by: Brian Osman <brianosman@google.com>
Commit-Queue: Brian Salomon <bsalomon@google.com>
2019-07-01 17:30:40 +00:00
Mike Klein
1fa149a713 finish up arm64 ops
Some small refactoring to common up redundant opcode building.

Oddly, I think I've got better codegen than what Clang would do here.
Clang doesn't generate uxtl-based code to unpack 8-bit to 32-bit,
instead preferring to load each byte one at a time and insert them one
at a time.

Me:
    ldr  s0, [x0]
    uxtl v0.8h, v0.8b
    uxtl v0.4s, v0.8h

Clang:
    ldrb  w8,  [x0]
    ldrb  w9,  [x0, #1]
    ldrb  w10, [x0, #2]
    ldrb  w11, [x0, #3]
    fmov  s0,      w8
    mov   v0.s[1], w9
    mov   v0.s[2], w10
    mov   v0.s[3], w11

Change-Id: I0fdf5c6cdcde6a4eb9290936284fd3ffcb2159f6
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/224821
Reviewed-by: Herb Derby <herb@google.com>
Commit-Queue: Mike Klein <mtklein@google.com>
2019-07-01 17:26:03 +00:00
Brian Osman
e0b2dafeb6 Test MSAA on Gen9 Intel GPUs
Change-Id: Ie5441350fc150356ffb7d6acffe1089ca1de4364
Bug: skia:9225
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/224539
Reviewed-by: Ben Wagner aka dogben <benjaminwagner@google.com>
Commit-Queue: Brian Osman <brianosman@google.com>
2019-07-01 16:56:45 +00:00
Mike Klein
ac8f443f92 auto-tune nanobench in all builds
I'm kind of getting bored of having to pass --loops 0
in optimized+asserts builds.

We'd been defaulting to 1 loop in Debug and ASAN builds,
and manually setting Valgrind builds to 1 loop with 1
sample.  Remove the default so all builds auto-tune,
but set Debug and ASAN bots like Valgrind bots.

Change-Id: Ifedd98a11ea74a2c222fe59bd50b96683d12b98c
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/224816
Reviewed-by: Brian Salomon <bsalomon@google.com>
Commit-Queue: Mike Klein <mtklein@google.com>
2019-07-01 16:07:22 +00:00
Robert Phillips
c046ff0b10 Add SkSurfaceCharacterization::isCompatible
Although the main change in this CL is the addition of GrCaps::areColorTypeAndFormatCompatible.

This is split out of:

https://skia-review.googlesource.com/c/skia/+/222781 (Add bridge between GrContext::createBackendTexture and SkSurface::MakeFromBackendTexture)

Change-Id: I2e50fff91eb07fb1358840e1a4a76dc138a2f195
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/223932
Reviewed-by: Greg Daniel <egdaniel@google.com>
Commit-Queue: Robert Phillips <robertphillips@google.com>
2019-07-01 15:15:12 +00:00
skia-recreate-skps
30e265153c Update Go deps
Change-Id: Ic0e54215a957224fb22f3d73274f51ca1fe71d51
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/224722
Reviewed-by: <skia-recreate-skps@skia-swarming-bots.iam.gserviceaccount.com>
Commit-Queue: <skia-recreate-skps@skia-swarming-bots.iam.gserviceaccount.com>
2019-07-01 05:25:20 +00:00
skia-autoroll
ebb7231326 Roll third_party/externals/angle2 923c30fba116..f116aa9c158b (14 commits)
923c30fba1..f116aa9c15


git log 923c30fba116..f116aa9c158b --date=short --no-merges --format='%ad %ae %s'
2019-06-28 lujc@google.com Vulkan: detect swapchain recreation passively
2019-06-28 jmadill@chromium.org Pull angle-internal for internal ANGLE devs.
2019-06-28 jonahr@google.com Update KHR GLES31 expectations to get bots running.
2019-06-28 jmadill@chromium.org Roll dEQP (June 2019)
2019-06-28 dongja@google.com Vulkan: improve handling of RGB texture formats
2019-06-28 dongja@google.com Test out-of-bounds writes in glCopyTexSubImage2D
2019-06-28 jmadill@chromium.org Re-land "Cleanup angle_libs_suffix in BUILD.gn."
2019-06-28 m.maiya@samsung.com Added end2end tests for GL_EXT_texture_rg
2019-06-28 syoussefi@chromium.org Add suppression for test failing on old MESA
2019-06-28 syoussefi@chromium.org Vulkan: Enable numerous deqp texture tests
2019-06-28 jmadill@chromium.org Revert "Cleanup angle_libs_suffix in BUILD.gn."
2019-06-28 geofflang@chromium.org GL: Clamp uniform array access on Android and AMD devices.
2019-06-28 fei.yang@arm.com Vulkan: pipeline cache not populated as blob cache is not set
2019-06-28 jmadill@chromium.org Cleanup angle_libs_suffix in BUILD.gn.


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

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

Change-Id: I7f6fb06d4bb11065a4194631b869df2202d03cfa
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/224698
Reviewed-by: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
Commit-Queue: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
2019-07-01 04:50:20 +00:00
skia-autoroll
6a68dbd48d Roll third_party/externals/swiftshader 40495290dceb..52edb176f1bd (7 commits)
https://swiftshader.googlesource.com/SwiftShader.git/+log/40495290dceb..52edb176f1bd


git log 40495290dceb..52edb176f1bd --date=short --no-merges --format='%ad %ae %s'
2019-06-28 sugoi@google.com PipelineCache implementation
2019-06-28 bclayton@google.com Reactor: Assert that array indexing is in bounds
2019-06-28 bclayton@google.com CMakeLists: Use ccache if found
2019-06-28 srisser@google.com Cleanup unittests a bit
2019-06-28 bclayton@google.com Pipeline/ShaderCore: Reimplement halfToFloatBits to not rely on denorm float multiply
2019-06-28 chrisforbes@google.com Wire up remaining 32b __sync_* functions required for arm32
2019-06-28 swiftshader.regress@gmail.com Regres: Update test lists @ 40495290


Created with:
  gclient setdep -r third_party/externals/swiftshader@52edb176f1bd

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

Change-Id: Ie9067fa4246818118b0ea280a2c7540d4004bd2d
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/224696
Reviewed-by: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
Commit-Queue: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
2019-07-01 04:32:40 +00:00
skia-autoroll
4b1572a795 Roll ../src 9ef8c105f0dc..d38e9bb41f04 (418 commits)
9ef8c105f0..d38e9bb41f


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

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

Change-Id: I2a85e4eafad572aea5b9327f02471f7e9f19c238
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/224697
Reviewed-by: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
Commit-Queue: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
2019-07-01 04:28:20 +00:00
Michael Ludwig
dcb832ac63 Revert "Switch drawTexture calls to use attemptQuadOptimization"
This reverts commit 9b2defc3d5.

Reason for revert: Likely broke chrome layout tests

Original change's description:
> Switch drawTexture calls to use attemptQuadOptimization
> 
> Before the quad-rendering op refactor, regular filled rectangles and
> textured rectangles used an internal crop_filled_rect function to crop
> to the bounding box of the clip. As the quad op refactor progressed,
> regular filled rectangle drawing went through the new attemptQuadOptimization
> function that supported more cropping to the exact clip when axis-aligned,
> and could be better handle complex paints.
> 
> Following the generalized factories added to GrTextureOp in earlier CLs,
> it is now possible to route all textured rectangle draws through the same
> optimizations. While there are a number of public interfaces for drawing
> rectangles and textures on GrRTC, internally there is now just drawFilledQuad
> (for complex paints) and drawTexturedQuad(for textures, avoids GrPaint use).
> Both of these are very similar, and share attemptQuadOptimization(), which
> makes all rectangle-drawing code, regardless of shader/paint/etc., handled
> in a consistent manner.
> 
> This doesn't entirely resolve the complexities of non-AA clipping and non-AA
> axis-aligned rectangle drawing. That needs additional logic added to the
> GrQuadUtils::CropToRect function, but this CL is the last structural change
> to how the ops are created, and to GrRTC to get Ganesh to that stage.
> 
> Change-Id: Icfbd223eef6e3da0054699334725b5084aaee58a
> Reviewed-on: https://skia-review.googlesource.com/c/skia/+/223934
> Commit-Queue: Michael Ludwig <michaelludwig@google.com>
> Reviewed-by: Brian Salomon <bsalomon@google.com>

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

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

Change-Id: Ide21002c336dbc3831a2b042acfec92a509ebacf
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/224639
Reviewed-by: Michael Ludwig <michaelludwig@google.com>
Commit-Queue: Michael Ludwig <michaelludwig@google.com>
2019-07-01 01:19:10 +00:00
skia-recreate-skps
21a486d04a Update SKP version
Automatic commit by the RecreateSKPs bot.

TBR=rmistry@google.com
NO_MERGE_BUILDS

Change-Id: I681f12498a583a6b86e0fe6a8932b48bca9afc58
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/224661
Reviewed-by: <skia-recreate-skps@skia-swarming-bots.iam.gserviceaccount.com>
Commit-Queue: <skia-recreate-skps@skia-swarming-bots.iam.gserviceaccount.com>
2019-06-30 08:18:39 +00:00
skia-recreate-skps
d70add68ff Update Go deps
Change-Id: I2f251776ccc378c2a9ceb3219b8567c8399a38ed
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/224656
Reviewed-by: <skia-recreate-skps@skia-swarming-bots.iam.gserviceaccount.com>
Commit-Queue: <skia-recreate-skps@skia-swarming-bots.iam.gserviceaccount.com>
2019-06-30 05:29:49 +00:00
skia-recreate-skps
161f47dfbf Update Go deps
Change-Id: I4aac068e0b4edec07560551cf87fa12b65604566
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/224616
Reviewed-by: <skia-recreate-skps@skia-swarming-bots.iam.gserviceaccount.com>
Commit-Queue: <skia-recreate-skps@skia-swarming-bots.iam.gserviceaccount.com>
2019-06-29 05:32:48 +00:00
recipe-roller
0d8c1aefd1 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/dc37feb99d46bdf499715ceb467d341d24524e0b Make it clear in the help message that my_activity.py dates are mm/dd/yy (mheikal@chromium.org)


TBR=borenet@google.com

Recipe-Tryjob-Bypass-Reason: Autoroller
Bugdroid-Send-Email: False
Change-Id: Ia31e374763b118d7531cfc0175d94e26b056d2f0
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/224567
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-06-28 23:08:47 +00:00
Herb Derby
1ddee02522 Remove preparePath from the SkStrikeInterface
This call is only used by the bitmap drawing. Just use SkStrike
for bitmap drawing.

Change-Id: Ib9313b21bb2f9c7de2b8ac084d905538ba45f51b
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/224576
Reviewed-by: Ben Wagner <bungeman@google.com>
Commit-Queue: Herb Derby <herb@google.com>
2019-06-28 21:57:47 +00:00
Greg Daniel
ab013ebe9c Move GL caps textureable and fbocolorattachment flags to FormatInfo.
Change-Id: I68d623151a64dd68a5ea7a396023c7909c6e48a0
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/223798
Commit-Queue: Greg Daniel <egdaniel@google.com>
Reviewed-by: Robert Phillips <robertphillips@google.com>
2019-06-28 19:43:37 +00:00
recipe-roller
8f284b01f7 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/6095d4006152c956759c24af5466f47b1a0ab1d3 Make sure PresubmitResult can be converted to a json. (debrian@google.com)


TBR=borenet@google.com

Recipe-Tryjob-Bypass-Reason: Autoroller
Bugdroid-Send-Email: False
Change-Id: Ie73b4614260176f15a8a46d086c8206554499cf3
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/224513
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-06-28 19:20:07 +00:00
Michael Ludwig
9b2defc3d5 Switch drawTexture calls to use attemptQuadOptimization
Before the quad-rendering op refactor, regular filled rectangles and
textured rectangles used an internal crop_filled_rect function to crop
to the bounding box of the clip. As the quad op refactor progressed,
regular filled rectangle drawing went through the new attemptQuadOptimization
function that supported more cropping to the exact clip when axis-aligned,
and could be better handle complex paints.

Following the generalized factories added to GrTextureOp in earlier CLs,
it is now possible to route all textured rectangle draws through the same
optimizations. While there are a number of public interfaces for drawing
rectangles and textures on GrRTC, internally there is now just drawFilledQuad
(for complex paints) and drawTexturedQuad(for textures, avoids GrPaint use).
Both of these are very similar, and share attemptQuadOptimization(), which
makes all rectangle-drawing code, regardless of shader/paint/etc., handled
in a consistent manner.

This doesn't entirely resolve the complexities of non-AA clipping and non-AA
axis-aligned rectangle drawing. That needs additional logic added to the
GrQuadUtils::CropToRect function, but this CL is the last structural change
to how the ops are created, and to GrRTC to get Ganesh to that stage.

Change-Id: Icfbd223eef6e3da0054699334725b5084aaee58a
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/223934
Commit-Queue: Michael Ludwig <michaelludwig@google.com>
Reviewed-by: Brian Salomon <bsalomon@google.com>
2019-06-28 19:14:47 +00:00
Jim Van Verth
ccd895e16d Disable some code to handle Metal TSAN errors.
This is a temporary fix until I can figure out where these errors are
coming from.

Bug: skia:9213
Change-Id: Iac21415bf26f39f5237e12ec146769252e833d36
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/223981
Reviewed-by: Derek Sollenberger <djsollen@google.com>
Commit-Queue: Jim Van Verth <jvanverth@google.com>
2019-06-28 18:36:42 +00:00
Michael Ludwig
205224fbd5 Remove old texture op factories
Change-Id: I526cd01be501bf356307f00deb2c3067ab16de8f
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/223927
Commit-Queue: Michael Ludwig <michaelludwig@google.com>
Reviewed-by: Brian Salomon <bsalomon@google.com>
2019-06-28 17:33:52 +00:00
Brian Osman
9c310473c6 Reland "DM: Add a per-sink MemoryCache to all GPU sinks"
Once https://skia-review.googlesource.com/c/skia/+/224258 lands, this
should be safe.

This reverts commit 1958fbbcff.

Change-Id: I2fca1e60a2d945d440b7cd5f60e4b4dec211decd
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/224278
Reviewed-by: Brian Salomon <bsalomon@google.com>
Commit-Queue: Brian Osman <brianosman@google.com>
2019-06-28 16:30:24 +00:00
Brian Osman
e4c88bb1f8 Prevent caching path-rendering programs
As described in the comments, this is a workaround for a rare situation
when trying to use cached program binaries in conjunction with ANGLE and
path rendering.

Change-Id: Ief5bb0042f5ec13cbea2242ff9c4f0b9f9e65641
Bug: angle:3619
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/224258
Reviewed-by: Brian Salomon <bsalomon@google.com>
Commit-Queue: Brian Osman <brianosman@google.com>
2019-06-28 16:25:54 +00:00
Florin Malita
afd2c10c98 [skottie] Use hybrid bounds for custom Shaper VAlign modes
We used to rely solely on visual bounds for vertical alignment.  That
had the downside of leading/trailing empty lines being ignored.

Then https://skia-review.googlesource.com/c/skia/+/220916 switched to
using typographical bounds.  This approach produces results in line
with AE, but allows some glyphs to overflow the alignment boundary.

This CL introduces a hybrid approach:

1) for standard AE text alignment, continue to use typographical bounds

2) for Skottie VAlign extensions (sk_vj), use the union of typographical
   and visual bounds - this should mitigate both issues mentioned above

Change-Id: Ifd3ccae3d721728ce67942206160ebe92056d3a2
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/224188
Reviewed-by: Ben Wagner <bungeman@google.com>
Reviewed-by: Avinash Parchuri <aparchur@google.com>
2019-06-28 11:35:09 +00:00
Florin Malita
d75fed41c2 [skottie] Use explicit font ascent in Shaper
Bodymovin exports an explicit ascent for each font, as a percentage of
the text size.

Change-Id: I25708944b2b79b42a6ccb05abbe002685e36dfa1
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/223986
Reviewed-by: Ben Wagner <bungeman@google.com>
2019-06-28 11:35:09 +00:00
skia-recreate-skps
b851469b8e Update Go deps
Change-Id: Id26b7f97fa724c0b7aefa829695667d5584ff058
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/224441
Reviewed-by: <skia-recreate-skps@skia-swarming-bots.iam.gserviceaccount.com>
Commit-Queue: <skia-recreate-skps@skia-swarming-bots.iam.gserviceaccount.com>
2019-06-28 05:29:33 +00:00
skia-autoroll
3a8c402f2d Roll third_party/externals/angle2 a9dfb3ba5db1..923c30fba116 (9 commits)
a9dfb3ba5d..923c30fba1


git log a9dfb3ba5db1..923c30fba116 --date=short --no-merges --format='%ad %ae %s'
2019-06-27 jonahr@google.com Update test expectations for vulkan gles31 bots.
2019-06-27 syoussefi@chromium.org Vulkan: Emulate Transform Feedback with vertex shader output
2019-06-27 geofflang@chromium.org BlitGL: Support CL readback from non-renderable textures.
2019-06-27 ynovikov@chromium.org Fix skip Texture3DTestES3.DrawWithLevelsOutsideRangeWithInconsistentDimensions
2019-06-27 yunchao.he@intel.com Test RGB32F texture format on Intel Linux
2019-06-27 jmadill@chromium.org Vulkan: Remove flaky test suppression.
2019-06-27 jmadill@chromium.org Add std::ostream output for packed enums.
2019-06-27 timvp@google.com Support NaN conversion in Float32ToFloat16
2019-06-27 syoussefi@chromium.org Vulkan: Initial support for ES3.1


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

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

Change-Id: Ia1a346f983c7628e3deea3ba06f49cac305de179
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/224418
Reviewed-by: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
Commit-Queue: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
2019-06-28 04:57:23 +00:00
skia-autoroll
5abea72bf8 Roll ../src 1fffa0139440..9ef8c105f0dc (439 commits)
1fffa01394..9ef8c105f0


Created with:
  gclient setdep -r ../src@9ef8c105f0

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

Change-Id: Id548fe2f29f028881f121a11739c59470e19d851
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/224417
Reviewed-by: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
Commit-Queue: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
2019-06-28 04:49:53 +00:00
skia-autoroll
e699a3a237 Roll third_party/externals/swiftshader 522d51219054..40495290dceb (4 commits)
https://swiftshader.googlesource.com/SwiftShader.git/+log/522d51219054..40495290dceb


git log 522d51219054..40495290dceb --date=short --no-merges --format='%ad %ae %s'
2019-06-28 lfy@google.com Fix extra semicolon after function def in FrameBufferOSX.mm
2019-06-28 lfy@google.com Allow 3d texture layers for framebuffer blit
2019-06-27 hliatis@google.com Add support for R8_SRGB textures
2019-06-27 capn@google.com Selectively suppress class-memaccess warning/error


Created with:
  gclient setdep -r third_party/externals/swiftshader@40495290dceb

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

Change-Id: I36803f799853129512811a5966bcd805a1dd2dce
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/224416
Reviewed-by: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
Commit-Queue: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
2019-06-28 04:34:03 +00:00
Ravi Mistry
199ff68ad3 [lottie-web-perf] Use canvas renderer for lottie-web
NoTry: true
Bug: skia:9195
Change-Id: I79276468c153783aebe7fdeda288166c52a6d1bc
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/224286
Reviewed-by: Ravi Mistry <rmistry@google.com>
Commit-Queue: Ravi Mistry <rmistry@google.com>
2019-06-28 00:17:36 +00:00
Mike Klein
ba41df7c60 disable SkVM JIT on Android
Crashing Nexus5x GPU Perf bots, who knows why...

Cq-Include-Trybots: skia.primary:Perf-Android-Clang-Nexus5x-GPU-Adreno418-arm64-Debug-All-Android
Change-Id: I351bb15651015561cd54b13c6e3732fd79c53cf8
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/224287
Reviewed-by: Mike Klein <mtklein@google.com>
Commit-Queue: Mike Klein <mtklein@google.com>
2019-06-27 23:18:03 +00:00
Mike Klein
842e92e292 implement Op::bytes with NEON tbl
Starting to look good:

    1.57ns	SkVM_4096_I32_SWAR
    3.89ns	SkVM_4096_I32
    4.08ns	SkVM_4096_I32_Naive
    7.84ns	SkVM_4096_F32
    2.7ns	SkVM_4096_RP
    1.26ns	SkVM_4096_Opts

Change-Id: I24f44ed5fc693a04afef8d7a6ce13f3733277fb3
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/224280
Reviewed-by: Herb Derby <herb@google.com>
Commit-Queue: Mike Klein <mtklein@google.com>
2019-06-27 22:03:23 +00:00
Mike Klein
135a9a5421 roll ANGLE to a9dfb3ba5db1751e51d603ce32f1c7c28a1df6c6
Change-Id: I20f19f09d778b5599fed61889bf2afb1d38d7f3f
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/224279
Commit-Queue: Mike Klein <mtklein@google.com>
Commit-Queue: Chris Dalton <csmartdalton@google.com>
Auto-Submit: Mike Klein <mtklein@google.com>
Reviewed-by: Chris Dalton <csmartdalton@google.com>
2019-06-27 21:28:03 +00:00
Mike Klein
97bc9a61c0 simplify nibble_to_vpshufb
Just realized the mapping from our bytes() control nibble
to vpshufb's control byte is even easier than we thought.

Change-Id: I86fec8d3ca091ecc3fbbd59fe51ac128f0cef2fa
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/224316
Reviewed-by: Herb Derby <herb@google.com>
Commit-Queue: Mike Klein <mtklein@google.com>
2019-06-27 20:53:58 +00:00
Greg Daniel
a3f44e230f Reland "Refactor of GrGLCaps to move some code around."
This reverts commit 838c8f65ca.

Reason for revert: <INSERT REASONING HERE>

Original change's description:
> Revert "Refactor of GrGLCaps to move some code around."
> 
> This reverts commit ed03e5f34b.
> 
> Reason for revert: breaking win10 angle srgb
> 
> Original change's description:
> > Refactor of GrGLCaps to move some code around.
> > 
> > The big changes here are that in initConfigTable we were setting a few
> > member variables (srgb support and compression related) whereas all other
> > member variables were set elsewhere. So this change moves the logic out
> > of initConfigTable and places it with other similar code.
> > 
> > Next setting of fSRGBWriteControl was affected by a driver workaround. We
> > need to apply this workaround before calling the initConfigTable. Thus I
> > moved the call to applyDriverWorkarounds above the initConfigTable. The
> > end result is that by the time initConfigTable is called we've now made all
> > decisions about what we will enable and disable (in terms of member variables),
> > and the only values writted in the function is setting values of the ConfigTable
> > itself.
> > 
> > Change-Id: I65b1bb4e9fc49d6020e1eb58d838f47057e6d1c8
> > Reviewed-on: https://skia-review.googlesource.com/c/skia/+/224191
> > Reviewed-by: Brian Salomon <bsalomon@google.com>
> > Commit-Queue: Greg Daniel <egdaniel@google.com>
> 
> TBR=egdaniel@google.com,bsalomon@google.com
> 
> Change-Id: Ib9ea36b8cba28df3fdf5fcdd828315cccfcc6ce3
> No-Presubmit: true
> No-Tree-Checks: true
> No-Try: true
> Reviewed-on: https://skia-review.googlesource.com/c/skia/+/224256
> Reviewed-by: Greg Daniel <egdaniel@google.com>
> Commit-Queue: Greg Daniel <egdaniel@google.com>

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

Change-Id: I04d3399e021a9eed98940061f9cb4c720580dee8
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/224259
Reviewed-by: Greg Daniel <egdaniel@google.com>
Commit-Queue: Greg Daniel <egdaniel@google.com>
2019-06-27 20:42:03 +00:00