Commit Graph

54975 Commits

Author SHA1 Message Date
Ethan Nicholas
371f6e18e5 Refactored SkSL function creation and error handling
This breaks up the giant IRGenerator::convertFunction method into more-
manageable chunks, moves the functionality into FunctionDeclaration,
and funnels the DSL through it so it receives the same error checking.

Change-Id: Icf2ac650ab3d5276d8c0134062a4e7e220f9bf32
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/402778
Commit-Queue: Ethan Nicholas <ethannicholas@google.com>
Reviewed-by: John Stiles <johnstiles@google.com>
2021-05-04 19:25:25 +00:00
Brian Salomon
4fd6d0cea8 Don't pass GrRecordingContext and GrSurfaceDraw to SkGpuDevice
SkGpuDevice still needs to separately ref the context as
GrSurfaceContext has a bare GrRecordingContext pointer. However, it
doesn't need to be separately specified.

Also rm unused SkSpecialSurface_Gpu() width/height params.

Change-Id: Ia24bbce2a85e21277aff2c1c9e1fd37a29246a6e
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/404236
Reviewed-by: Robert Phillips <robertphillips@google.com>
Commit-Queue: Brian Salomon <bsalomon@google.com>
2021-05-04 18:47:55 +00:00
Adlai Holler
51ba1a927e Enable reordering on Pixel5 Vulkan
Bug: skia:10877
Change-Id: I34b73c366ce593a2abe2b633bd026e883435cf77
Cq-Include-Trybots: luci.skia.skia.primary:Perf-Android-Clang-Pixel5-GPU-Adreno620-arm64-Release-All-Android,Perf-Android-Clang-Pixel5-GPU-Adreno620-arm64-Release-All-Android_Vulkan,Test-Android-Clang-Pixel5-GPU-Adreno620-arm64-Debug-All-Android,Test-Android-Clang-Pixel5-GPU-Adreno620-arm64-Release-All-Android_Vulkan
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/402996
Commit-Queue: Adlai Holler <adlai@google.com>
Reviewed-by: Robert Phillips <robertphillips@google.com>
2021-05-04 17:25:45 +00:00
Ethan Nicholas
a1a0b92b04 Added DSLWrapper so DSL classes can be used in containers
This will be used by the upcoming DSLParser, which needs to be able to
put DSLExpression and DSLVar into containers such as std::vector and
std::optional.

Change-Id: I8d367cfd0b3a852a368c69a5b3be6c0eaa41d74a
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/404156
Commit-Queue: Ethan Nicholas <ethannicholas@google.com>
Reviewed-by: John Stiles <johnstiles@google.com>
2021-05-04 17:19:35 +00:00
Adlai Holler
e2a2dfda56 Enable reordering on Pixel4, 4XL Vulkan
A followup CL also applies this to Pixel5.

Bug: skia:10877
Change-Id: I2344bb1be75c94ed6960f4b13206c8b517f98613
Cq-Include-Trybots: luci.skia.skia.primary:Test-Android-Clang-Pixel4-GPU-Adreno640-arm64-Debug-All-Android_API30,Perf-Android-Clang-Pixel4XL-GPU-Adreno640-arm64-Release-All-Android,Perf-Android-Clang-Pixel4XL-GPU-Adreno640-arm64-Release-All-Android_Vulkan,Test-Android-Clang-Pixel4-GPU-Adreno640-arm64-Debug-All-Android_Vulkan,Test-Android-Clang-Pixel4XL-GPU-Adreno640-arm64-Debug-All-Android,Test-Android-Clang-Pixel4XL-GPU-Adreno640-arm64-Debug-All-Android_Vulkan
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/403636
Commit-Queue: Robert Phillips <robertphillips@google.com>
Auto-Submit: Adlai Holler <adlai@google.com>
Reviewed-by: Robert Phillips <robertphillips@google.com>
2021-05-04 17:19:05 +00:00
Ethan Nicholas
722c83e8ac Removed byte/ubyte types from SkSL
These types had no tests, have never been used, and GLSL doesn't support
byte types.

Change-Id: Id423e3e4790be7f443acc88bce5497470c7d3fd4
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/404219
Commit-Queue: Ethan Nicholas <ethannicholas@google.com>
Commit-Queue: John Stiles <johnstiles@google.com>
Reviewed-by: John Stiles <johnstiles@google.com>
2021-05-04 16:58:55 +00:00
Adlai Holler
4b6b1dd218 Re-enable CCPR atlasing + reordering
CCPR atlasing now handles merged tasks correctly so they can work
together happily again.

Bug: skia:10877, skia:11731
Change-Id: Id15c8fc3ed0560150f5c373651f5c583239f3e09
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/404136
Commit-Queue: Adlai Holler <adlai@google.com>
Reviewed-by: Robert Phillips <robertphillips@google.com>
2021-05-04 16:54:05 +00:00
Jim Van Verth
2776dd161e Direct3D: More interface changes to support mipmap generation.
Adds aliasing barriers, a texture copy convenience routine, and
subresource support in texture resource state transitions. Also
some minor formatting cleanup.

Change-Id: Ic8ba504350a3f954a21d24a214d9cceb3f5fc44d
Bug: skia:10446
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/403600
Commit-Queue: Jim Van Verth <jvanverth@google.com>
Reviewed-by: Greg Daniel <egdaniel@google.com>
2021-05-04 16:47:59 +00:00
John Stiles
f2872e6089 Use accessors to refer to the ModifiersPool.
This is a first step towards moving the ModifiersPool out of the
IRGenerator and into the Context.

Change-Id: I8000923f32a9e3cc1878a09464680884b950e513
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/404216
Commit-Queue: John Stiles <johnstiles@google.com>
Commit-Queue: Ethan Nicholas <ethannicholas@google.com>
Auto-Submit: John Stiles <johnstiles@google.com>
Reviewed-by: Ethan Nicholas <ethannicholas@google.com>
2021-05-04 16:46:55 +00:00
Adlai Holler
566cf465fc Do reordering & memory budgeting after onFlushCB
This allows the CCPR atlas manager to setup its atlas before
we do any memory budgeting. That way the atlas size is known.

Bug: skia:10877
Change-Id: I9d73df29d1e8412b714b00dbf2ebff47025d3e3e
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/403857
Commit-Queue: Robert Phillips <robertphillips@google.com>
Auto-Submit: Adlai Holler <adlai@google.com>
Reviewed-by: Robert Phillips <robertphillips@google.com>
2021-05-04 16:38:05 +00:00
Herb Derby
f5b03fcdd2 maintain RenderTask dependencies through merge
If they are not maintained, then the merge leaves links to
deleted RenderTarget nodes. This creates confusion while
trying to debug.

Change-Id: I9d98a4ed2887573ddc5dfa2bae1bb22d30879c5a
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/402641
Commit-Queue: Herb Derby <herb@google.com>
Reviewed-by: Adlai Holler <adlai@google.com>
2021-05-04 16:23:55 +00:00
John Stiles
048b5a2967 Transform verts using nonsquare matrices when available.
We were previously doing a square-matrix multiply then discarding one
third of the result; now, when available, we just get the result we need
via a non-square multiply.

Change-Id: Ie13ae6f2c7f23e3a4c1f2c4eeb6361a97cdccf67
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/403079
Auto-Submit: John Stiles <johnstiles@google.com>
Commit-Queue: John Stiles <johnstiles@google.com>
Reviewed-by: Brian Salomon <bsalomon@google.com>
2021-05-04 15:49:15 +00:00
Mike Reed
2a5eacb0f9 Split some helpers into separate js file
Also handle ctrl and meta better.

Change-Id: I2149f1dfaa4b0af58cae8d16ead5432d17e05916
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/404157
Reviewed-by: Mike Reed <reed@google.com>
2021-05-04 15:18:28 +00:00
Adlai Holler
516c1ce3d4 Have CCPR atlas generator run for all paths, ignore opsTaskIDs
This simplifies our world a lot, especially when reordering/merging
ops tasks. As noted in the comments, this assumes a full flush every
time but the successor – which is coming soon – won't rely on that.

Bug: skia:10877, skia:11948
Change-Id: I1843e80dfee8d7a868c6db4bae94bcd2cbfb5b78
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/403856
Commit-Queue: Adlai Holler <adlai@google.com>
Reviewed-by: Chris Dalton <csmartdalton@google.com>
2021-05-04 15:10:45 +00:00
Chris Dalton
dbed577501 Re-enable tessellation for cacheable paths
Now that the fixed count stroke tessellator has landed, these should
hopefully not regress performance.

Bug: skia:11138
Bug: skia:11139
Change-Id: Ifdcd817705d394ea6d0f932711ed725a66a7fc91
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/403956
Reviewed-by: Greg Daniel <egdaniel@google.com>
Commit-Queue: Chris Dalton <csmartdalton@google.com>
2021-05-04 15:05:35 +00:00
Mike Reed
faf7bf5966 Edit text
Change-Id: I57282da8f9d2bf1334bc8246c843dfdf475e338c
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/404016
Reviewed-by: Mike Reed <reed@google.com>
2021-05-04 14:34:09 +00:00
Ravi Mistry
64e74e6497 Remove unused common repository
Bug: skia:11945
Change-Id: I1a8b167c320108392c2a168ad88a92c36b34459f
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/404118
Commit-Queue: Ravi Mistry <rmistry@google.com>
Reviewed-by: Eric Boren <borenet@google.com>
2021-05-04 14:18:01 +00:00
Greg Daniel
c2cca5a8a0 Revert "Better first-class shader & color filter support in runtime effects"
This reverts commit adadb95a9f.

Reason for revert: breaking android

Original change's description:
> Better first-class shader & color filter support in runtime effects
>
> This does a few things, because they're all intertwined:
>
> 1) SkRuntimeEffect's API now includes details about children (which Skia
>    stage was declared, not just the name). The factories verify that the
>    declared types in the SkSL match up with the C++ types being passed.
>    Today, we still only support adding children of the same type, so the
>    checks are simple. Once we allow mixing types, we'll be testing the
>    declared type against the actual C++ type supplied for each slot.
> 2) Adds sample variants that supply the input color to the child. This
>    is now the only way to invoke a colorFilter child. Internally, we
>    support passing a color when invoking a child shader, but I'm not
>    exposing that. It's not clearly part of the semantics of the Skia
>    pipeline, and is almost never useful. It also exposes users to
>    several inconsistencies (skbug.com/11942).
> 3) Because of #2, it's possible that we can't compute a reusable program
>    to filter individual colors. In that case, we don't set the constant
>    output for constant input optimization, and filterColor4f falls back
>    to the slower base-class implementation.
>
> Bug: skia:11813 skia:11942
> Change-Id: I06c41e1b35056e486f3163a72acf6b9535d7fed4
> Reviewed-on: https://skia-review.googlesource.com/c/skia/+/401917
> Commit-Queue: Brian Osman <brianosman@google.com>
> Reviewed-by: Mike Klein <mtklein@google.com>

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

Change-Id: I94ba57e73305b2302f86fd0c1d76f667d4e45b92
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Bug: skia:11813 skia:11942
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/404117
Reviewed-by: Greg Daniel <egdaniel@google.com>
Commit-Queue: Greg Daniel <egdaniel@google.com>
2021-05-04 13:36:26 +00:00
Ethan Nicholas
b83199e289 Added unsigned types and type query functions to DSL
Change-Id: I721825d1a38e9f6846b94f84d14cb8c85b7a7519
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/403601
Reviewed-by: Brian Osman <brianosman@google.com>
Commit-Queue: Ethan Nicholas <ethannicholas@google.com>
2021-05-04 13:14:15 +00:00
Ethan Nicholas
0cb3b8280b Improved DSLType constructor signatures
Being able to Construct() arbitrary types is necessary for the upcoming
DSLParser.

Change-Id: I2d439b4a1db7a460043efa5f0e9207b6073e9f1f
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/403696
Reviewed-by: Brian Osman <brianosman@google.com>
Commit-Queue: Ethan Nicholas <ethannicholas@google.com>
2021-05-04 13:08:05 +00:00
Chris Dalton
c17099c171 Add ARM to the denied club for KHR_blend_equation_advanced
Galaxy S20 is dropping draws that involve stencil. This hopefully
won't affect performance since these GPUs have fast framebuffer fetch
support.

Bug: skia:11906
Change-Id: I5d81e689e161bdf5cdc767439561172bb6a4d311
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/401042
Auto-Submit: Chris Dalton <csmartdalton@google.com>
Commit-Queue: Brian Salomon <bsalomon@google.com>
Reviewed-by: Brian Salomon <bsalomon@google.com>
2021-05-04 13:03:45 +00:00
skia-autoroll
f60081c6d7 Roll Chromium from 1095e9117645 to 2dddec205bbd (420 revisions)
1095e91176..2dddec205b

If this roll has caused a breakage, revert this CL and stop the roller
using the controls here:
https://autoroll.skia.org/r/chromium-skia-autoroll
Please CC egdaniel@google.com on the revert to ensure that a human
is aware of the problem.

To report a problem with the AutoRoller itself, please file a bug:
https://bugs.chromium.org/p/skia/issues/entry?template=Autoroller+Bug

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

Cq-Include-Trybots: skia/skia.primary:Perf-Mac10.13-Clang-MacBookPro11.5-GPU-RadeonHD8870M-x86_64-Release-All-CommandBuffer;skia/skia.primary:Test-Mac10.13-Clang-MacBookPro11.5-GPU-RadeonHD8870M-x86_64-Debug-All-CommandBuffer
Tbr: egdaniel@google.com
Change-Id: I0057b9341b57535e698eb00caaed5ecf805f080e
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/404037
Reviewed-by: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
Commit-Queue: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
2021-05-04 05:18:14 +00:00
skia-autoroll
9c4f705e5b Roll ANGLE from 4ab224f7b05a to c6fb0e5afbdb (10 revisions)
4ab224f7b0..c6fb0e5afb

2021-05-03 angle-autoroll@skia-public.iam.gserviceaccount.com Roll Chromium from ae499a6ea7cf to 34166dd37ed5 (607 revisions)
2021-05-03 jmadill@chromium.org infra: Add trybot_analyze_config.
2021-05-03 tandrii@google.com [infra][realms] bump usage to 25% of all builds.
2021-05-03 timvp@google.com Fix Rolling ANGLE into AOSP
2021-05-03 jplate@google.com Add support for OpenCL ICD Loader
2021-05-03 angle-autoroll@skia-public.iam.gserviceaccount.com Roll vulkan-deps from c5559fe406e3 to 4676514cf188 (3 revisions)
2021-05-03 tandrii@google.com [infra] use realms on 5% of Angle builds.
2021-05-03 tandrii@google.com infra: init LUCI Realms config for Angle.
2021-05-03 tandrii@google.com infra: validate configs using lucicfg tool in PRESUBMIT.py
2021-05-03 tandrii@google.com infra: remove redundant ACL.

If this roll has caused a breakage, revert this CL and stop the roller
using the controls here:
https://autoroll.skia.org/r/angle-skia-autoroll
Please CC egdaniel@google.com on the revert to ensure that a human
is aware of the problem.

To report a problem with the AutoRoller itself, please file a bug:
https://bugs.chromium.org/p/skia/issues/entry?template=Autoroller+Bug

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

Cq-Include-Trybots: skia/skia.primary:Build-Debian10-Clang-x86_64-Release-ANGLE;skia/skia.primary:Test-Win10-Clang-AlphaR2-GPU-RadeonR9M470X-x86_64-Debug-All-ANGLE;skia/skia.primary:Test-Win10-Clang-Golo-GPU-QuadroP400-x86_64-Debug-All-ANGLE;skia/skia.primary:Test-Win10-Clang-NUC5i7RYH-GPU-IntelIris6100-x86_64-Debug-All-ANGLE;skia/skia.primary:Test-Win10-Clang-NUC6i5SYK-GPU-IntelIris540-x86_64-Debug-All-ANGLE;skia/skia.primary:Test-Win10-Clang-NUC8i5BEK-GPU-IntelIris655-x86_64-Debug-All-ANGLE;skia/skia.primary:Test-Win10-Clang-NUCD34010WYKH-GPU-IntelHD4400-x86_64-Debug-All-ANGLE
Tbr: egdaniel@google.com
Change-Id: I3b147e5cd58eb7af996e121e24badb964194be4b
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/404038
Reviewed-by: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
Commit-Queue: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
2021-05-04 04:49:24 +00:00
skia-autoroll
3f53b1731f Roll Dawn from c74af7037817 to 6e62e2f8e529 (1 revision)
https://dawn.googlesource.com/dawn.git/+log/c74af7037817..6e62e2f8e529

2021-05-03 dawn-autoroll@skia-public.iam.gserviceaccount.com Roll Tint from b6831c339537 to 1b898d56b4ab (1 revision)

Also rolling transitive DEPS:
  https://dawn.googlesource.com/tint from b6831c339537 to 1b898d56b4ab

If this roll has caused a breakage, revert this CL and stop the roller
using the controls here:
https://autoroll.skia.org/r/dawn-skia-autoroll
Please CC bajones@google.com on the revert to ensure that a human
is aware of the problem.

To report a problem with the AutoRoller itself, please file a bug:
https://bugs.chromium.org/p/skia/issues/entry?template=Autoroller+Bug

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

Cq-Include-Trybots: skia/skia.primary:Build-Debian10-Clang-x86_64-Debug-Dawn
Bug: None
Tbr: bajones@google.com
Change-Id: If96ea0b33067ec637a1aa376e5eaee2d3a6a2019
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/404036
Reviewed-by: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
Commit-Queue: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
2021-05-04 04:47:54 +00:00
Brian Osman
adadb95a9f Better first-class shader & color filter support in runtime effects
This does a few things, because they're all intertwined:

1) SkRuntimeEffect's API now includes details about children (which Skia
   stage was declared, not just the name). The factories verify that the
   declared types in the SkSL match up with the C++ types being passed.
   Today, we still only support adding children of the same type, so the
   checks are simple. Once we allow mixing types, we'll be testing the
   declared type against the actual C++ type supplied for each slot.
2) Adds sample variants that supply the input color to the child. This
   is now the only way to invoke a colorFilter child. Internally, we
   support passing a color when invoking a child shader, but I'm not
   exposing that. It's not clearly part of the semantics of the Skia
   pipeline, and is almost never useful. It also exposes users to
   several inconsistencies (skbug.com/11942).
3) Because of #2, it's possible that we can't compute a reusable program
   to filter individual colors. In that case, we don't set the constant
   output for constant input optimization, and filterColor4f falls back
   to the slower base-class implementation.

Bug: skia:11813 skia:11942
Change-Id: I06c41e1b35056e486f3163a72acf6b9535d7fed4
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/401917
Commit-Queue: Brian Osman <brianosman@google.com>
Reviewed-by: Mike Klein <mtklein@google.com>
2021-05-04 01:29:57 +00:00
Chris Dalton
537293bf15 Don't attempt to use stencil on wrapped, stencil-less targets
We can't attach stencil to a wrapped render target. If we find
ourselves rendering to one that doesn't have stencil already, don't
issue any ops that use stencil.

Bug: chromium:1196353
Bug: skia:11943
Change-Id: I9db93f31a4f8556103be72eb708755e4eaf78136
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/399839
Commit-Queue: Chris Dalton <csmartdalton@google.com>
Reviewed-by: Robert Phillips <robertphillips@google.com>
2021-05-03 23:05:54 +00:00
Mike Reed
bf688645ac Support arrow-keys
Change-Id: I4cfd99001ea99888c8781e018f67c644d1d6e3d1
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/403597
Reviewed-by: Florin Malita <fmalita@chromium.org>
2021-05-03 20:33:33 +00:00
Herb Derby
b6cce2d4c7 don't draw strings that have no glyphs
This string had several characters which resulted in zero
glyphs. Having zero glyphs bypassed the buffer sizing code,
and continued to process the glyph run list assuming it had
7 runs because the buffer sizing code also clears the run list.
This caused the code to process runs from a previous SkTextBlob,
which was already deleted.

If the there are no glyphs, call the buffer sizing code to
set up all the invariants. Exit if there are no runs produced.

Bug: oss-fuzz:33915

Change-Id: I9f3f38a58112c44ddd65265c68d982b3b0dcd79c
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/403439
Reviewed-by: Ben Wagner <bungeman@google.com>
Commit-Queue: Herb Derby <herb@google.com>
2021-05-03 19:27:54 +00:00
Greg Daniel
4ecc0f43f2 Revert "Fix semaphore support check on GrDirectContext::wait"
This reverts commit 671177905d.

Reason for revert: breaking chrome dawn test, most likely chrome bug

Original change's description:
> Fix semaphore support check on GrDirectContext::wait
>
> Change-Id: Ifce5346b513b0caa291333c80effda7901bfb0c5
> Reviewed-on: https://skia-review.googlesource.com/c/skia/+/403236
> Reviewed-by: Brian Salomon <bsalomon@google.com>
> Commit-Queue: Greg Daniel <egdaniel@google.com>

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

Change-Id: I6248850376ca1d0236b6f44d049bf65f3f8e9127
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/403697
Reviewed-by: Greg Daniel <egdaniel@google.com>
Commit-Queue: Greg Daniel <egdaniel@google.com>
2021-05-03 18:47:47 +00:00
Tyler Denniston
80ba617cab [svg] Implement 'display:none'
The full 'display' presentation attribute [1] has a number of settings
that we likely don't want to support. However, 'display:none' has some
practical uses and is easy enough to support. This progresses some
local tests as well as a few W3C tests.

[1] https://www.w3.org/TR/SVG11/painting.html#DisplayProperty

Bug: skia:10842
Change-Id: I60fef959fb45c3cfb229b85b720dfa69fc458bc3
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/403438
Commit-Queue: Tyler Denniston <tdenniston@google.com>
Reviewed-by: Florin Malita <fmalita@chromium.org>
2021-05-03 18:11:54 +00:00
skia-autoroll
561aa83a3f Roll SK Tool from 55a19cee35b8 to 23a0b822befe
https://skia.googlesource.com/buildbot.git/+log/55a19cee35b8..23a0b822befe

2021-05-03 borenet@google.com [autoroll] Retry all 4XX HTTP requests

If this roll has caused a breakage, revert this CL and stop the roller
using the controls here:
https://autoroll.skia.org/r/sk-tool-skia
Please CC rmistry@google.com on the revert to ensure that a human
is aware of the problem.

To report a problem with the AutoRoller itself, please file a bug:
https://bugs.chromium.org/p/skia/issues/entry?template=Autoroller+Bug

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

Tbr: rmistry@google.com
Change-Id: I1095af77ea0b09e5574d1a6d7a0f0ada5bab4b27
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/403617
Reviewed-by: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
Commit-Queue: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
2021-05-03 18:08:44 +00:00
Mike Reed
ca2ad539f2 Remove getShapedRuns, add some dox
Change-Id: I7e226622475f7ee7173e7d2ec6fc388bd1792253
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/403598
Reviewed-by: Yegor Jbanov <yjbanov@google.com>
Commit-Queue: Mike Reed <reed@google.com>
2021-05-03 17:54:50 +00:00
Adlai Holler
75b43ce6cc Add a driver workaround for Adreno 620, 640 GL reordering
This will be followed up by a CL that actually flips the flag
back for these GPUs under Vulkan. For reasons that are
entirely wacky, flipping the flag AND landing this change in
one CL causes the segfault in the Pixel5 perf job. Makes no
sense.

So we separate this flag into its own CL to see what happens.

Bug: skia:10877
Change-Id: Ia7c91b52f1d9c7e0817454a1af2de69706ed8c34
Cq-Include-Trybots: luci.skia.skia.primary:Perf-Android-Clang-Pixel5-GPU-Adreno620-arm64-Release-All-Android
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/403576
Reviewed-by: Robert Phillips <robertphillips@google.com>
Commit-Queue: Adlai Holler <adlai@google.com>
2021-05-03 17:21:24 +00:00
Greg Daniel
671177905d Fix semaphore support check on GrDirectContext::wait
Change-Id: Ifce5346b513b0caa291333c80effda7901bfb0c5
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/403236
Reviewed-by: Brian Salomon <bsalomon@google.com>
Commit-Queue: Greg Daniel <egdaniel@google.com>
2021-05-03 14:24:54 +00:00
Mike Reed
a46fe7d587 Return shapedlines for text api
Change-Id: I8f9aa6e0cffb3441706bd0efeb0886209cac012a
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/403256
Reviewed-by: Julia Lavrova <jlavrova@google.com>
Commit-Queue: Mike Reed <reed@google.com>
2021-05-03 14:21:11 +00:00
John Stiles
f1ff004a7a Remove unused inlining flag.
This flag was only used by the IRGenerator-based inliner, and has not
been used since it was removed.

Change-Id: Ie8f3e60dfd0065c1056c54fec2597abd34292613
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/403437
Commit-Queue: John Stiles <johnstiles@google.com>
Commit-Queue: Brian Osman <brianosman@google.com>
Auto-Submit: John Stiles <johnstiles@google.com>
Reviewed-by: Brian Osman <brianosman@google.com>
2021-05-03 14:11:44 +00:00
Brian Osman
8f39137a45 Simplify optimization flags in a bunch of FPs
ProcessorOptimzationFlags already returns kAll for null children

Change-Id: Iff29d1a2bfd4d6a3aaa7359f3003b757fdef8ccb
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/402649
Reviewed-by: Brian Salomon <bsalomon@google.com>
Commit-Queue: Brian Osman <brianosman@google.com>
2021-05-03 14:02:24 +00:00
John Stiles
ec79349bad Add caps bit for nonsquare matrix availability.
Change-Id: Ifddf49096943260eefa8d313a8a90a74ddb27097
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/403078
Commit-Queue: John Stiles <johnstiles@google.com>
Commit-Queue: Brian Salomon <bsalomon@google.com>
Auto-Submit: John Stiles <johnstiles@google.com>
Reviewed-by: Brian Salomon <bsalomon@google.com>
2021-05-03 14:01:24 +00:00
skia-autoroll
ff8b52df55 Roll ANGLE from 257b29efa976 to 4ab224f7b05a (7 revisions)
257b29efa9..4ab224f7b0

2021-04-30 jmadill@chromium.org infra: Always checkout swarming_client in standalone.
2021-04-30 angle-autoroll@skia-public.iam.gserviceaccount.com Roll vulkan-deps from 42d8716d0294 to c5559fe406e3 (24 revisions)
2021-04-30 cclao@google.com Vulkan: Disable logMemoryReportStats if driver extension not exist
2021-04-30 jmadill@chromium.org Add tools/perf essential Python files.
2021-04-30 lubosz.sarnecki@collabora.com formatutils: Add 8 unused bits to 24 bit depth formats.
2021-04-30 gert.wollny@collabora.com Angle: drop ANGLE_serialized_context_string from requestable
2021-04-30 angle-autoroll@skia-public.iam.gserviceaccount.com Roll Chromium from 5feb27ec9892 to ae499a6ea7cf (462 revisions)

If this roll has caused a breakage, revert this CL and stop the roller
using the controls here:
https://autoroll.skia.org/r/angle-skia-autoroll
Please CC egdaniel@google.com on the revert to ensure that a human
is aware of the problem.

To report a problem with the AutoRoller itself, please file a bug:
https://bugs.chromium.org/p/skia/issues/entry?template=Autoroller+Bug

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

Cq-Include-Trybots: skia/skia.primary:Build-Debian10-Clang-x86_64-Release-ANGLE;skia/skia.primary:Test-Win10-Clang-AlphaR2-GPU-RadeonR9M470X-x86_64-Debug-All-ANGLE;skia/skia.primary:Test-Win10-Clang-Golo-GPU-QuadroP400-x86_64-Debug-All-ANGLE;skia/skia.primary:Test-Win10-Clang-NUC5i7RYH-GPU-IntelIris6100-x86_64-Debug-All-ANGLE;skia/skia.primary:Test-Win10-Clang-NUC6i5SYK-GPU-IntelIris540-x86_64-Debug-All-ANGLE;skia/skia.primary:Test-Win10-Clang-NUC8i5BEK-GPU-IntelIris655-x86_64-Debug-All-ANGLE;skia/skia.primary:Test-Win10-Clang-NUCD34010WYKH-GPU-IntelHD4400-x86_64-Debug-All-ANGLE
Tbr: egdaniel@google.com
Test: Test: mb.py zip
Change-Id: Id9e4c7e79854d70b39d38a57486bf0011ce944f3
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/403376
Reviewed-by: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
Commit-Queue: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
2021-05-03 04:48:43 +00:00
skia-autoroll
856693bce1 Roll Chromium from 720eb67ae375 to 1095e9117645 (533 revisions)
720eb67ae3..1095e91176

If this roll has caused a breakage, revert this CL and stop the roller
using the controls here:
https://autoroll.skia.org/r/chromium-skia-autoroll
Please CC egdaniel@google.com on the revert to ensure that a human
is aware of the problem.

To report a problem with the AutoRoller itself, please file a bug:
https://bugs.chromium.org/p/skia/issues/entry?template=Autoroller+Bug

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

Cq-Include-Trybots: skia/skia.primary:Perf-Mac10.13-Clang-MacBookPro11.5-GPU-RadeonHD8870M-x86_64-Release-All-CommandBuffer;skia/skia.primary:Test-Mac10.13-Clang-MacBookPro11.5-GPU-RadeonHD8870M-x86_64-Debug-All-CommandBuffer
Tbr: egdaniel@google.com
Change-Id: I9764e401c2a0aa0d7cdf453a3ebf57e6702f1b2a
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/403357
Reviewed-by: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
Commit-Queue: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
2021-05-03 04:47:53 +00:00
skia-autoroll
c779d432f3 Roll Dawn from 2a979e6b70f6 to c74af7037817 (9 revisions)
https://dawn.googlesource.com/dawn.git/+log/2a979e6b70f6..c74af7037817

2021-05-02 jiawei.shao@intel.com Implement CallbackTaskManager for Create*PipelineAsync
2021-05-02 jiajia.qin@intel.com Add perf test on shader robustness
2021-05-01 dawn-autoroll@skia-public.iam.gserviceaccount.com Roll Tint from 1a492a27db87 to b6831c339537 (1 revision)
2021-04-30 dawn-autoroll@skia-public.iam.gserviceaccount.com Roll Tint from 275eb7e4e435 to 1a492a27db87 (12 revisions)
2021-04-30 bajones@chromium.org Added offset and length to CompilationMessage
2021-04-30 yunchao.he@intel.com Fix a bug about mip dimension calculation
2021-04-30 dawn-autoroll@skia-public.iam.gserviceaccount.com Roll Tint from 30c03a5d5075 to 275eb7e4e435 (2 revisions)
2021-04-30 dawn-autoroll@skia-public.iam.gserviceaccount.com Roll Tint from e08cc15dd97e to 30c03a5d5075 (1 revision)
2021-04-30 dawn-autoroll@skia-public.iam.gserviceaccount.com Roll Tint from 5f7f7c0f9e6e to e08cc15dd97e (1 revision)

Also rolling transitive DEPS:
  https://dawn.googlesource.com/tint from 5f7f7c0f9e6e to b6831c339537

If this roll has caused a breakage, revert this CL and stop the roller
using the controls here:
https://autoroll.skia.org/r/dawn-skia-autoroll
Please CC sarahmashay@google.com on the revert to ensure that a human
is aware of the problem.

To report a problem with the AutoRoller itself, please file a bug:
https://bugs.chromium.org/p/skia/issues/entry?template=Autoroller+Bug

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

Cq-Include-Trybots: skia/skia.primary:Build-Debian10-Clang-x86_64-Debug-Dawn
Bug: None
Tbr: sarahmashay@google.com
Change-Id: Iefa3c13cf8ccec3c2f8cbb9dc68f3a3ca13c7784
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/403356
Reviewed-by: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
Commit-Queue: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
2021-05-03 04:42:24 +00:00
skia-autoroll
5c95bcb48b Roll SK Tool from 6613f376bd82 to 5aa7ac620be2
https://skia.googlesource.com/buildbot.git/+log/6613f376bd82..5aa7ac620be2

2021-05-02 skia-recreate-skps@skia-swarming-bots.iam.gserviceaccount.com Update CIPD Packages

If this roll has caused a breakage, revert this CL and stop the roller
using the controls here:
https://autoroll.skia.org/r/sk-tool-skia
Please CC borenet@google.com on the revert to ensure that a human
is aware of the problem.

To report a problem with the AutoRoller itself, please file a bug:
https://bugs.chromium.org/p/skia/issues/entry?template=Autoroller+Bug

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

Tbr: borenet@google.com
Change-Id: I6d74e51623f1ecfe117870c306e9568bc40b561f
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/403277
Reviewed-by: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
Commit-Queue: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
2021-05-02 06:16:23 +00:00
Chris Dalton
5dfb3f4068 Collect DMSAA stats
Adds counters for the number of render passes, number of MSAA render
passes, and each op that either does or would trigger MSAA. Adds a
bot that collects stats on the html (not svg) skps.

Bug: skia:11396
Change-Id: Ic48263d6310670d8f0d09ec4c4bf6a2b83fc7d02
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/401636
Commit-Queue: Chris Dalton <csmartdalton@google.com>
Reviewed-by: Kevin Lubick <kjlubick@google.com>
2021-05-01 00:46:22 +00:00
Mike Reed
097263bb50 Track mouse for cursor and hilites
Change-Id: Icfc8a28fa0c9e3118ef4ddc5ae12162aab3fb484
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/398556
Commit-Queue: Mike Reed <reed@google.com>
Reviewed-by: Florin Malita <fmalita@chromium.org>
2021-04-30 20:49:40 +00:00
Brian Salomon
31fddc3769 MSKP support in nanobench
Bug: skia:11900
Change-Id: I97d1f2a9523252318ffb4f479b197cb0ef9cf0b1
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/402920
Reviewed-by: Jim Van Verth <jvanverth@google.com>
Commit-Queue: Brian Salomon <bsalomon@google.com>
2021-04-30 20:04:08 +00:00
Leon Scroggins
d87a98f196 Add LOCAL_LICENSE_KINDS to external/skia
Bug: b/68860345
Bug: b/151177513
Bug: b/151953481

ag/Iead63ec340208211058d0a04ed4e476af6cd51b0 added these to Android.bp,
resulting in merge conflicts. After that is reverted, we can land these
here unchanged to get the same effect, without conflicts.

Change-Id: Ia9e3970564dca014e4f144fba9e3da4f0c174e7d
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/357277
Commit-Queue: Leon Scroggins <scroggo@google.com>
Reviewed-by: Derek Sollenberger <djsollen@google.com>
2021-04-30 20:03:22 +00:00
Kevin Lubick
5567862bda [canvaskit] Remove unnecessary imports
Change-Id: I16dff4eecb044edc49ba0dbee883feafb9fd820b
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/402997
Reviewed-by: Nathaniel Nifong <nifong@google.com>
2021-04-30 19:54:49 +00:00
Chris Dalton
2579c2876a nanobench: Don't tile skps outside their cull rect
Bug: skia:11396
Change-Id: I8ce2bbc0723b318272a2005e1b8cc1ce8f6f8f31
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/401597
Reviewed-by: Brian Salomon <bsalomon@google.com>
Commit-Queue: Chris Dalton <csmartdalton@google.com>
2021-04-30 19:47:21 +00:00
Brian Salomon
8e880af78e Choose background color and whether to draw mskp bounds in viewer
Default the background color to transparent black, which is correct for
mskps captures from Android framework.

Bug: skia:11900
Change-Id: I97cab04993c0f85259e831f3d0c44f9b962365af
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/403077
Reviewed-by: Nathaniel Nifong <nifong@google.com>
Commit-Queue: Brian Salomon <bsalomon@google.com>
2021-04-30 19:33:49 +00:00
Florin Malita
48fb05b81c [svg] Fix text object bounding box resolution
Two issues:

1) we are currently computing object bounding boxes using the
   RenderContext of the client resource, which can override presentation
   attributes

   -> introduce an OBBScope to capture not just the current OBB node but
      also its original RenderContext

2) text fragments must use the root <text> bounding box for OBB-relative
   units [1]

   -> update SkSVGTextFragment::renderText to not override the current
   OBBScope; this ensures we're using the root element scope for the
   whole text subtree


[1] https://www.w3.org/TR/SVG11/text.html#ObjectBoundingBoxUnitsTextObjects

Bug: skia:11936
Change-Id: Ib48ccd3dc22639de42ea150b881a26dda72fa4bf
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/403037
Commit-Queue: Florin Malita <fmalita@chromium.org>
Commit-Queue: Florin Malita <fmalita@google.com>
Reviewed-by: Tyler Denniston <tdenniston@google.com>
2021-04-30 19:09:18 +00:00