Commit Graph

42764 Commits

Author SHA1 Message Date
Robert Phillips
02dc0307ad Add bridge between GrContext::createBackendTexture and SkSurface::MakeFromBackendTexture
In order to effectively use the explicit backend texture allocation API Chrome needs a way to use them with surface characterizations

Change-Id: Ic61eff9f3b6b0e8280481149d7c08d37a2fe7ec0
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/222781
Reviewed-by: Brian Salomon <bsalomon@google.com>
Reviewed-by: Greg Daniel <egdaniel@google.com>
Commit-Queue: Robert Phillips <robertphillips@google.com>
2019-07-03 12:31:12 +00:00
Brian Salomon
c9d81f768f Fix issue where SkAutoSTMalloc doesn't default initialize std::unique_ptr.
TBR=jvanverth@google.com

Change-Id: Ifd29f55956f640dfc972490244d5d356bac89759
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/225418
Reviewed-by: Brian Salomon <bsalomon@google.com>
Commit-Queue: Brian Salomon <bsalomon@google.com>
2019-07-03 12:19:22 +00:00
Mike Klein
93eeff578b roll NDK to r20
Change-Id: I961af6c2f143df6fd1109c2659df9424d1086705
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/225443
Auto-Submit: Mike Klein <mtklein@google.com>
Reviewed-by: Derek Sollenberger <djsollen@google.com>
Commit-Queue: Mike Klein <mtklein@google.com>
2019-07-03 12:06:12 +00:00
skia-recreate-skps
38ae3f42fe Update Go deps
Change-Id: I16efd41658204f85d0ec19d525558f31ace30e71
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/225464
Reviewed-by: <skia-recreate-skps@skia-swarming-bots.iam.gserviceaccount.com>
Commit-Queue: <skia-recreate-skps@skia-swarming-bots.iam.gserviceaccount.com>
2019-07-03 05:34:52 +00:00
skia-autoroll
3411c9adcb Roll ../src fb906fa57d41..7625da7c0425 (397 commits)
fb906fa57d..7625da7c04


Created with:
  gclient setdep -r ../src@7625da7c04

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: Idd312aa89cbebd174d6d915f44c4e55433bcc267
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/225457
Reviewed-by: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
Commit-Queue: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
2019-07-03 04:35:52 +00:00
skia-autoroll
03c75441df Roll third_party/externals/swiftshader 52edb176f1bd..a29aa7717ff8 (4 commits)
https://swiftshader.googlesource.com/SwiftShader.git/+log/52edb176f1bd..a29aa7717ff8


git log 52edb176f1bd..a29aa7717ff8 --date=short --no-merges --format='%ad %ae %s'
2019-07-02 capn@google.com Don't emit bounds checks when robustness is disabled
2019-07-02 capn@google.com Fix treating Image storage class as non-interleaved
2019-07-02 bclayton@google.com SpirvShader: Optimize SIMD sequential, fully-in-bounds loads & stores
2019-07-02 swiftshader.regress@gmail.com Regres: Update test lists @ 52edb176


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

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: Ib46f31bd595eeaa69da7795bf741d7ff8f929774
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/225456
Reviewed-by: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
Commit-Queue: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
2019-07-03 04:31:12 +00:00
Mike Klein
febc162c78 ndk r20 compat.
Something's trying to link libc++.so by default,
so ask it to link libc++.a with -static-libstdc++.

Either way, the linker can't find libc++ without
adding another library directory path.

I think both changes should be harmlessly ignored
before r20.

Change-Id: I5b67e1dcb8b40548dae5a8300151e4392ae551f9
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/225436
Auto-Submit: Mike Klein <mtklein@google.com>
Reviewed-by: Derek Sollenberger <djsollen@google.com>
Commit-Queue: Derek Sollenberger <djsollen@google.com>
Commit-Queue: Mike Klein <mtklein@google.com>
2019-07-03 02:14:18 +00:00
recipe-roller
49c9690109 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/2e24f9a6923e685d7068cdef1e6c54c9cf24babf [recipe_engine] Add debug os.read method on darwin. (iannucci@chromium.org)


TBR=borenet@google.com

Recipe-Tryjob-Bypass-Reason: Autoroller
Bugdroid-Send-Email: False
Change-Id: Ib807a7536bfa9a74e68613d50d2617502871496f
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/225410
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-07-03 00:54:52 +00:00
recipe-roller
3de5c63881 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/f21ffb4f9826378ac8d16f094fb01c22dd0ec766 Copy presubmit logic up into the presubmit recipe module. (jbudorick@chromium.org)


TBR=borenet@google.com

Recipe-Tryjob-Bypass-Reason: Autoroller
Bugdroid-Send-Email: False
Change-Id: I18a74a191eb0ddc58b0e2b4fb25cd5e3ce89dee0
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/225396
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-07-02 23:37:46 +00:00
Florin Malita
60c84fdb18 [skottie] Clean up layer animator scoping
Most layer animators are scoped at the LayerController level - except for
animators related to layer transforms.

The reason for this exception is that dependent/child layers require up-to-date
transform chains even when the parent layer is inactive.

Currently, to escape LayerController scoping, layer transform animators
are stored directly in the parent (composition) scope.  This works fine
for the initial purpose, but discards layer->transform-animator ownership
info.

Upcoming features (motion blur) require knowledge of all animators associated
with a given layer, and the current scheme gets in the way.

To address this problem, update the layer controller logic to

  1) store all layer animators (including transform-related) in the controller
     scope
  2) always dispatch ticks to transform-related animators

No functional changes are expected.

TBR=
Change-Id: I60a443a51d11754dfbc953f28e57cb1c13c3d647
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/225195
Reviewed-by: Florin Malita <fmalita@chromium.org>
Commit-Queue: Florin Malita <fmalita@chromium.org>
2019-07-02 23:24:06 +00:00
Mike Klein
aab45b5638 add misc. value programs to SkVMTest.expected
Noticed we were only dumping the final register
programs for the integer code.  Might as well also
track the value programs.

Change-Id: I417c5c655b632691557bbbb136dcbd3f3167af9a
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/225324
Commit-Queue: Mike Klein <mtklein@google.com>
Reviewed-by: Herb Derby <herb@google.com>
2019-07-02 23:13:06 +00:00
Mike Klein
7e65076ae3 move Builder/Program dump()
This is test-only code only used by SkVMTest.cpp,
so it can live there.  This cuts the dependency
of SkVM on SkStream and co.

Change-Id: I7695e527b2d16e4485f8c5f4cd39bb8300e9221d
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/225321
Reviewed-by: Herb Derby <herb@google.com>
Commit-Queue: Mike Klein <mtklein@google.com>
2019-07-02 23:10:23 +00:00
Herb Derby
9ee1edda15 Add SkMakeSpan and helpful conversion
SkMakeSpan uses function type inference to remove boilerplate
code. The converting casts simplifies dealing with T* to const T*
uses.

Change-Id: I1851e144c4e530c275710514ce30ad75a7eb94c6
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/225192
Reviewed-by: Ben Wagner <bungeman@google.com>
Commit-Queue: Herb Derby <herb@google.com>
2019-07-02 21:49:09 +00:00
Yuqian Li
40aa85f589 Add tracing to GrContext resource cleanup
For https://github.com/flutter/flutter/issues/35296

The change is suggested by bsalomon@google.com

Change-Id: I70a2f5298b49d7a64e51cb1f364834e62dcaf4a9
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/225119
Commit-Queue: Yuqian Li <liyuqian@google.com>
Commit-Queue: Brian Salomon <bsalomon@google.com>
Reviewed-by: Brian Salomon <bsalomon@google.com>
Auto-Submit: Yuqian Li <liyuqian@google.com>
2019-07-02 21:32:19 +00:00
Robert Phillips
b2adbef6f6 Remove GrPixelConfig from SkSurfaceCharacterization
TBR=bsalomon@google.com
Change-Id: I3127e672512a398867f39029c97eb807ea77e217
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/225136
Commit-Queue: Robert Phillips <robertphillips@google.com>
Reviewed-by: Greg Daniel <egdaniel@google.com>
2019-07-02 21:20:39 +00:00
Ben Wagner
0a3c5d524a [go.mod] Remove unneeded broken dependency
This should allow Housekeeper-Nightly-UpdateGoDeps to complete.

Not clear why 'go get -u' is choking on this. The '1.1.7' tag seems to
have been deleted. If I change to '1.1.8', then 'go get -u' removes the
dependency anyway.

Change-Id: I8fbbf66c222b8d8894e91c72964f2cb5296d1a5a
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/225193
Commit-Queue: Ravi Mistry <rmistry@google.com>
Auto-Submit: Ben Wagner aka dogben <benjaminwagner@google.com>
Reviewed-by: Ravi Mistry <rmistry@google.com>
2019-07-02 21:17:49 +00:00
Robert Phillips
1e2cb444e0 Switch GrCaps::areColorTypeAndFormatCompatible over to using GrColorType
This necessitated some Gr*Caps refactoring

Change-Id: I8d72e9645b51bcf72d58b2c2c4fbd9ee7e83ddf1
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/225184
Reviewed-by: Brian Salomon <bsalomon@google.com>
Commit-Queue: Robert Phillips <robertphillips@google.com>
2019-07-02 21:04:19 +00:00
Brian Salomon
4d03689edb Make GrRenderTargetContext async read functions use GrRTC's alpha type.
This shouldn't have any practical effect since GrRTC can't be unpremul
but removes assumptions in these functions. This code will eventually
be lifted up to GrSurfaceContext which can be unpremul.

Change-Id: If8b2fb8b19d1160bc6561f6536518563f57c4351
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/225185
Reviewed-by: Robert Phillips <robertphillips@google.com>
Commit-Queue: Brian Salomon <bsalomon@google.com>
2019-07-02 20:18:49 +00:00
Mike Klein
b5f95cd1f8 tool support for SkVM JIT on aarch64
- Add quick-building skvmtool
    - Remove SkString dependency
    - Add aarch64 support for perf dumps

Here's what I see on now for the tiny skvmtool program:

x86-64 (Xeon Gold 6154)
           │      skvm-jit-1707131987():
     24.93 │   0:   vmovups (%rsi),%ymm0
     50.13 │        vpmulld %ymm0,%ymm0,%ymm0
     24.93 │        vmovups %ymm0,(%rsi)
           │        add    $0x20,%rsi
           │        sub    $0x8,%rdi
           │      ↑ jne    0
           │        vzeroupper
           │      ← retq

aarch64 (Cortex A53)
           │      skvm-jit-485593645():
     11.55 │   0:   ldr    q0, [x1]
     47.65 │        mul    v0.4s, v0.4s, v0.4s
     31.77 │        str    q0, [x1]
           │        add    x1, x1, #0x10
      8.66 │        subs   x0, x0, #0x4
           │      ↑ b.ne   0
      0.36 │      ← ret

Change-Id: Ia83ebdc6d96c8bd367bce0e8f2792b5e5c79f750
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/225186
Reviewed-by: Herb Derby <herb@google.com>
Commit-Queue: Mike Klein <mtklein@google.com>
2019-07-02 20:11:19 +00:00
Mike Klein
7aacb0b30a fix GCC arm64 builds
These two guards are checking if we're building for aarch64 and thus
have F16 conversion instructions, but weren't checking if we want to use
them (if we have them _and_ we're being compiled by Clang).  At head
we're trying to pass a 2-byte uint16_t to a function expecting an 8-byte
uint16x4_t, etc.

Change-Id: I21f6cd2100ec81ccdd47c4ec0575107624cd7c5a
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/225257
Reviewed-by: Herb Derby <herb@google.com>
Commit-Queue: Mike Klein <mtklein@google.com>
2019-07-02 20:02:18 +00:00
skia-autoroll
17cb3ae1ca Roll skia/third_party/skcms 4f682a1d0b94..180042c54610 (1 commits)
https://skia.googlesource.com/skcms.git/+log/4f682a1d0b94..180042c54610

2019-07-02 mtklein@google.com rewrite F_from_U16_BE() a little


The AutoRoll server is located here: https://autoroll.skia.org/r/skcms-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=luci.chromium.try:linux-blink-rel
TBR=jvanverth@google.com,mtklein@google.com

Change-Id: Id97de796ee7c9af44a478d9742297d4144ed1523
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/225187
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 19:55:18 +00:00
Greg Daniel
346c892a26 Add format workaround struct in GrGLCaps.
This will allow us to fill out all the workarounds in applyDriverCorrectnessWorkarounds
instead of having additional ones in initFormatTable.

Change-Id: I2fe2d6c831d0102e7cd8188033fee14b4e709ce4
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/225176
Reviewed-by: Brian Salomon <bsalomon@google.com>
Commit-Queue: Greg Daniel <egdaniel@google.com>
2019-07-02 19:31:51 +00:00
Brian Salomon
624f9063c1 Be more stringent about API failure cases in AsyncReadPixels test
Bug: skia:8962
Change-Id: I636d8d5c53a653c7b02bfe315e927c1e2fbc0ddf
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/222791
Commit-Queue: Brian Salomon <bsalomon@google.com>
Reviewed-by: Robert Phillips <robertphillips@google.com>
2019-07-02 19:06:47 +00:00
Mike Klein
1d1e44f689 remove all Debug Perf jobs
Lately we're not sure they're worth running.

I'd remove Perf-Debian9-Clang-GCE-CPU-AVX2-x86-Debug-All
from the CQ too but I can't find where that's configured.

Change-Id: Ieb55d9d39a6d9cf775e6740b9b541d3ceee01896
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/225163
Commit-Queue: Mike Klein <mtklein@google.com>
Reviewed-by: Ben Wagner aka dogben <benjaminwagner@google.com>
Reviewed-by: Brian Salomon <bsalomon@google.com>
2019-07-02 18:46:07 +00:00
Brian Salomon
5f39427b28 Fix trace event categories in src/gpu ("skia"->"skia.gpu")
Change-Id: I74b041d3f820d423601bd06805edec001a0d980e
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/225256
Reviewed-by: Greg Daniel <egdaniel@google.com>
Commit-Queue: Greg Daniel <egdaniel@google.com>
Commit-Queue: Brian Salomon <bsalomon@google.com>
Auto-Submit: Brian Salomon <bsalomon@google.com>
2019-07-02 18:39:07 +00:00
Brian Salomon
1047a49d82 GrGpu requires row bytes to be non-zero before read/writePixels and createTexture
Make GrGpu base class validate GrMipLevel arrays and row bytes parameters.

GrCaps states whether row bytes passed to GrGpu must be tight or not and callers
are responsible for temporary buffers if needed to make tight.

Change-Id: I2c522f7bd67c86044a36b3f70e13d7dcb38b0a6b
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/224961
Reviewed-by: Greg Daniel <egdaniel@google.com>
Commit-Queue: Brian Salomon <bsalomon@google.com>
2019-07-02 18:33:51 +00:00
Hal Canary
5823f6b90c SkPDF: fix typo s/ProcSets/ProcSet/ (again)
Bug: skia:9081
Change-Id: I713efff5ce7c9a79d873d527331c18490b897830
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/223978
Reviewed-by: Hal Canary <halcanary@google.com>
Commit-Queue: Hal Canary <halcanary@google.com>
2019-07-02 18:30:31 +00:00
Herb Derby
c9fce9c962 Centralize calculating SkPackedGlyphIDs
Currently the different strikes caclulate SkPackedGlyphIDs from positions and
SkGlyphIDs. This means that there are two implementations one for SkStrike
and one for SkRemoteGlyphCache. This moves all SkPackedGlyphID calculations to
the painter thereby centralizing it.

Change-Id: If9467aca01d46aa3a2d62e7acbc97a5b6a97f13b
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/224544
Commit-Queue: Herb Derby <herb@google.com>
Reviewed-by: Ben Wagner <bungeman@google.com>
2019-07-02 18:28:41 +00:00
Chris Dalton
215ff33252 Don't attempt mixed samples on "borrowed" render targets
Bug: skia:9231
Change-Id: I55809299c34bb835c2d3437b31dab318572a948d
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/225165
Reviewed-by: Robert Phillips <robertphillips@google.com>
Commit-Queue: Chris Dalton <csmartdalton@google.com>
2019-07-02 17:22:07 +00:00
Greg Daniel
e783ba4238 Add ColorTypeInfo struct to FormatInfo in GrGLCaps.
This CL starts the support for properties that are dependent on both the
format and color type. For now this adds a can upload data flag which is
currenly used in combination with the format texturable flag to determine
high level "textureability" for ganesh. The only format where these two
flags diverage from eachother currently is RGBA8 format with BGRA colortype.

Change-Id: I08b419af355d698ca4e9001949be6b7fd2e1c33d
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/224959
Commit-Queue: Greg Daniel <egdaniel@google.com>
Reviewed-by: Brian Salomon <bsalomon@google.com>
2019-07-02 15:05:04 +00:00
Brian Osman
22e47f985c Reland "Test MSAA on Gen9 Intel GPUs"
Updated caps to allow MSAA on newer Intel GPUs.

This reverts commit 41f937f042.

Bug: skia:9225
Change-Id: I15bdc4d4a754945fafcc4bc7d1afaa701d6f0426
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/224958
Auto-Submit: Brian Osman <brianosman@google.com>
Reviewed-by: Ben Wagner aka dogben <benjaminwagner@google.com>
Commit-Queue: Brian Osman <brianosman@google.com>
2019-07-02 14:22:03 +00:00
Lei Zhang
22f34b11f9 Make SkFloatToDecimal() param name match declaration.
In SkFloatToDecimal.cpp, the |output| parameter for SkFloatToDecimal()
is named |result|. Change it to |output| and change the local variable
|output| to |output_ptr|. Fix some typos along the way.

Change-Id: Id34848f4823e69fcbd5203618ea90083fc157b6c
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/225014
Commit-Queue: Hal Canary <halcanary@google.com>
Reviewed-by: Hal Canary <halcanary@google.com>
2019-07-02 13:54:21 +00:00
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