Commit Graph

59653 Commits

Author SHA1 Message Date
Kevin Lubick
ac8c554dbe [infra] Use ATL Golo Linux machines
Change-Id: I836eebcd16d55a86eca2020f7bdbec11889a1920
Bug: 1289453
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/522176
Reviewed-by: Joe Gregorio <jcgregorio@google.com>
2022-03-18 13:34:04 +00:00
skia-autoroll
9de6144f7d Roll ANGLE from 98bb4f32ded0 to 8a2a4fa70f16 (7 revisions)
98bb4f32de..8a2a4fa70f

2022-03-18 imaiguo@gmail.com Add loongarch support
2022-03-17 angle-autoroll@skia-public.iam.gserviceaccount.com Roll VK-GL-CTS from 8252a3d3cdd3 to 823d49cf5f5e (5 revisions)
2022-03-17 geofflang@chromium.org Revert "Emulate RGB10 (no alpha) on desktop OpenGL."
2022-03-17 lexa.knyazev@gmail.com Simplify ValidCompressedBaseLevel
2022-03-17 kkinnunen@apple.com Metal: Remove redundant CommandQueue::mMetalCmdBuffersTmp
2022-03-17 jmadill@chromium.org Vulkan: Add UpdateDescriptorSetsBuilder.
2022-03-17 angle-autoroll@skia-public.iam.gserviceaccount.com Roll SwiftShader from c27e99245d42 to d01dca1d18d0 (11 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 scroggo@google.com on the revert to ensure that a human
is aware of the problem.

To file a bug in ANGLE: https://bugs.chromium.org/p/angleproject/issues/entry
To file a bug in Skia: https://bugs.chromium.org/p/skia/issues/entry

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/main/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: scroggo@google.com
Change-Id: Ia6f55052b127959f3b514fe8082aa2c36e868c79
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/522059
Commit-Queue: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
Bot-Commit: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
2022-03-18 05:29:34 +00:00
skia-autoroll
339e4b9a72 Roll SwiftShader from a6c0e4120986 to 341ad7e57a3c (3 revisions)
https://swiftshader.googlesource.com/SwiftShader.git/+log/a6c0e4120986..341ad7e57a3c

2022-03-17 natsu@google.com Handle VK_FORMAT_G10X6_B10X6R10X6_2PLANE_420_UNORM_3PACK16 sampling
2022-03-17 capn@google.com Optimize fragment input interpolation using FMA
2022-03-17 swiftshader.regress@gmail.com Regres: Update test lists @ b3b1a3fe

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

To file a bug in SwiftShader: https://bugs.chromium.org/p/swiftshader/issues/entry
To file a bug in Skia: https://bugs.chromium.org/p/skia/issues/entry

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/main/autoroll/README.md

Cq-Include-Trybots: skia/skia.primary:Test-Debian10-Clang-GCE-GPU-SwiftShader-x86_64-Debug-All-SwiftShader
Bug: None
Tbr: scroggo@google.com
Change-Id: Ib01b36601ca1ae593b47f1c9dfb32165c9b3e2d0
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/522058
Commit-Queue: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
Bot-Commit: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
2022-03-18 04:53:34 +00:00
skia-autoroll
45c669f963 Roll Dawn from 2391382b1443 to 886903e8771b (8 revisions)
https://dawn.googlesource.com/dawn.git/+log/2391382b1443..886903e8771b

2022-03-17 dawn-autoroll@skia-public.iam.gserviceaccount.com Roll ANGLE from 98bb4f32ded0 to 1e6643d55a90 (6 revisions)
2022-03-17 kainino@chromium.org Add WebGPU CTS dep and build files
2022-03-17 dawn-autoroll@skia-public.iam.gserviceaccount.com Roll vulkan-deps from c888fd52efee to b5358195f58f (2 revisions)
2022-03-17 amaiorano@google.com Fix CMake build
2022-03-17 dawn-autoroll@skia-public.iam.gserviceaccount.com Roll SwiftShader from 40305f9cd5c7 to d01dca1d18d0 (6 revisions)
2022-03-17 dawn-autoroll@skia-public.iam.gserviceaccount.com Roll ANGLE from ed590dc8e7fe to 98bb4f32ded0 (6 revisions)
2022-03-17 dawn-autoroll@skia-public.iam.gserviceaccount.com Roll Tint from 2a761f736a51 to 453d5ae84ec3 (1 revision)
2022-03-17 dawn-autoroll@skia-public.iam.gserviceaccount.com Roll vulkan-deps from 51988dcdccbf to c888fd52efee (5 revisions)

Also rolling transitive DEPS:
  https://dawn.googlesource.com/tint from 2a761f736a51 to 453d5ae84ec3

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 enga@google.com on the revert to ensure that a human
is aware of the problem.

To file a bug in Dawn: https://bugs.chromium.org/p/dawn/issues/entry
To file a bug in Skia: https://bugs.chromium.org/p/skia/issues/entry

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/main/autoroll/README.md

Cq-Include-Trybots: skia/skia.primary:Build-Debian10-Clang-x86_64-Debug-Dawn
Bug: None
Tbr: enga@google.com
Change-Id: Iec3f320b3f097e6ea447ece012dce6f4b42f6059
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/522057
Commit-Queue: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
Bot-Commit: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
2022-03-18 04:36:36 +00:00
John Stiles
0ac3ebbcfd Fix shadowed-variable error.
Change-Id: Ie7bc325af6280e7714798d0d418e045f798cc2fd
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/521842
Auto-Submit: John Stiles <johnstiles@google.com>
Reviewed-by: Michael Ludwig <michaelludwig@google.com>
Commit-Queue: Michael Ludwig <michaelludwig@google.com>
2022-03-17 23:51:07 +00:00
Brian Osman
d37eac59fb Remove legacy RP bicubic code
Google3 and chromium have both updated, so this is unused

Cq-Include-Trybots: luci.skia.skia.primary:Canary-Chromium,Canary-G3
Change-Id: I1e6abe0db90a7163f222cc4243e68485b6b2f925
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/521839
Reviewed-by: Herb Derby <herb@google.com>
Commit-Queue: Brian Osman <brianosman@google.com>
2022-03-17 19:26:05 +00:00
Ethan Nicholas
c444394841 Removed file field from SkSL::Position
Bug: skia:13051
Change-Id: I13cdb1b625f65e6d15d3b59ba493897ed88b24c4
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/521005
Reviewed-by: John Stiles <johnstiles@google.com>
Reviewed-by: Brian Osman <brianosman@google.com>
Commit-Queue: Ethan Nicholas <ethannicholas@google.com>
2022-03-17 16:47:05 +00:00
Ethan Nicholas
5e035c66da Added safety checks to SkSL error reporting
This adds an assert to Position::line() to ensure that we don't run
past the end of the source string. Since the source string can
contain embedded nulls, we also switch the source handling from
const char* to std::string so we can accurately determine its length.

Change-Id: I9df47e98c1a0cbc35222a0ea709d9403762210d3
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/521656
Reviewed-by: John Stiles <johnstiles@google.com>
Reviewed-by: Brian Osman <brianosman@google.com>
Commit-Queue: Ethan Nicholas <ethannicholas@google.com>
2022-03-17 16:06:06 +00:00
Jim Van Verth
03044243cc [graphite] Revise UploadTask to allow creation from one UploadInstance
This allows us to create one-off UploadTasks to submit to the Recorder,
e.g. for makeTextureImage().

Also renames UploadCommand to UploadInstance to avoid confusion with
addCommand() method.

Bug: skia:12845
Change-Id: I6cad6f6df6406d1d790ecf6297996fb7ab376f54
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/521362
Reviewed-by: Michael Ludwig <michaelludwig@google.com>
Commit-Queue: Jim Van Verth <jvanverth@google.com>
2022-03-17 15:44:09 +00:00
Jim Van Verth
56ec512c78 [graphite] Add budgeted param to SkImage::asView(Recorder,...)
Bug: skia:12845
Change-Id: Iebaacfbb341554886fee1415aaf44fb0e44df723
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/521524
Reviewed-by: Robert Phillips <robertphillips@google.com>
Commit-Queue: Jim Van Verth <jvanverth@google.com>
2022-03-17 15:36:04 +00:00
Jim Van Verth
6916d3e90e [graphite] Don't delete MTLDepthStencilState until CommandBuffer is done
The MTLDepthStencilState objects are only refed in  MtlResourceProvider.
When we shut down, we tear down all the Recorders. That tears down their
resource providers, which in the Metal case deletes these DepthStencil
objects. But we can have a command buffer still in flight, so we need to
add a ref to keep those objects alive.

Bug: skia:13068
Change-Id: Ic2fb8fdd83c5323505fa4ccda509e28a8c7e3bfc
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/521521
Reviewed-by: Greg Daniel <egdaniel@google.com>
Commit-Queue: Jim Van Verth <jvanverth@google.com>
2022-03-17 15:25:35 +00:00
Herb Derby
96f09dc005 guard against bad sub run count and size hint
The number of sub runs > 0, and the size hint must be > 0. Check,
and fail if not true.

Bug: oss-fuzz:45638
Bug: oss-fuzz:45650

Change-Id: Icef9b30a142ac133b86b980ce40467cb64c7b033
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/521837
Reviewed-by: Ben Wagner <bungeman@google.com>
Commit-Queue: Herb Derby <herb@google.com>
2022-03-17 14:36:00 +00:00
skia-autoroll
4bd442901f Roll ANGLE from 63b54d9d07b5 to 98bb4f32ded0 (11 revisions)
63b54d9d07..98bb4f32de

2022-03-17 syoussefi@chromium.org Vulkan: Implement advanced blend through extension
2022-03-17 syoussefi@chromium.org Front-end support for KHR_blend_equation_advanced
2022-03-16 b.schade@samsung.com Reintroduce validation check only for D3D
2022-03-16 steven@valvesoftware.com end2end tests: add regression test for GL_LINE_LOOP drawing
2022-03-16 m.maiya@samsung.com Doc: Update supported EGL minor version
2022-03-16 yuxinhu@google.com Revert "Flush the texture staged updates when destroying context share group"
2022-03-16 lubosz.sarnecki@collabora.com FrameCapture: Add override for Glsizei* types.
2022-03-16 antonio.caggiano@collabora.com Vulkan: VkFormat/DrmFourCC
2022-03-16 romanl@google.com angle_system_info_test also exports androidSdkLevel
2022-03-16 romanl@google.com angle_system_info_test passes json via file
2022-03-16 angle-autoroll@skia-public.iam.gserviceaccount.com Roll vulkan-deps from a11411926c31 to 51988dcdccbf (9 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 scroggo@google.com on the revert to ensure that a human
is aware of the problem.

To file a bug in ANGLE: https://bugs.chromium.org/p/angleproject/issues/entry
To file a bug in Skia: https://bugs.chromium.org/p/skia/issues/entry

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/main/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: scroggo@google.com
Test: Test: capture_replay_tests.py --gtest_filter=FenceSyncTest.NullLength/*
Change-Id: I2353dba5e6e154bb49bc4205042f35c17b5a8619
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/521777
Commit-Queue: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
Bot-Commit: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
2022-03-17 05:25:45 +00:00
skia-autoroll
9ec401c75a Roll SwiftShader from b3b1a3fe8351 to a6c0e4120986 (9 revisions)
https://swiftshader.googlesource.com/SwiftShader.git/+log/b3b1a3fe8351..a6c0e4120986

2022-03-16 capn@google.com Use slow legacy log2() implementation for Chromium
2022-03-16 capn@google.com Add exp/log optimization documentation
2022-03-16 capn@google.com Improve the precision of highp log2()
2022-03-16 capn@google.com Improve the precision and performance of highp exp2()
2022-03-16 capn@google.com Fix handling infinity for relaxed precision log2()
2022-03-16 srisser@google.com Add variable to control regres daily branch
2022-03-16 joshuaduong@google.com Fix integer overflow in vkAllocateMemory.
2022-03-16 capn@google.com Implement a relaxed precision log2()
2022-03-16 capn@google.com Implement a relaxed precision exp2()

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

To file a bug in SwiftShader: https://bugs.chromium.org/p/swiftshader/issues/entry
To file a bug in Skia: https://bugs.chromium.org/p/skia/issues/entry

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/main/autoroll/README.md

Cq-Include-Trybots: skia/skia.primary:Test-Debian10-Clang-GCE-GPU-SwiftShader-x86_64-Debug-All-SwiftShader
Bug: None
Tbr: scroggo@google.com
Change-Id: I4a7296f191e777d5a3a93ad57d4b14a5602ee564
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/521776
Commit-Queue: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
Bot-Commit: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
2022-03-17 04:49:50 +00:00
skia-autoroll
9c7ce08954 Roll Dawn from 09681d57ed4b to 2391382b1443 (8 revisions)
https://dawn.googlesource.com/dawn.git/+log/09681d57ed4b..2391382b1443

2022-03-17 lokokung@google.com Implements a cache key serializer and tests.
2022-03-16 dawn-autoroll@skia-public.iam.gserviceaccount.com Roll Tint from 64b775419d2d to 2a761f736a51 (1 revision)
2022-03-16 dawn-autoroll@skia-public.iam.gserviceaccount.com Roll SwiftShader from f8864349feb1 to 40305f9cd5c7 (2 revisions)
2022-03-16 dawn-autoroll@skia-public.iam.gserviceaccount.com Roll ANGLE from 63b54d9d07b5 to ed590dc8e7fe (5 revisions)
2022-03-16 cwallez@chromium.org dawn.json: Update with recent WebIDL changes for upstream headers
2022-03-16 cwallez@chromium.org Fix -Wstrict-prototypes in webgpu.h
2022-03-16 dawn-autoroll@skia-public.iam.gserviceaccount.com Roll vulkan-deps from 41448155eff7 to 51988dcdccbf (4 revisions)
2022-03-16 dawn-autoroll@skia-public.iam.gserviceaccount.com Roll SwiftShader from b3b1a3fe8351 to f8864349feb1 (2 revisions)

Also rolling transitive DEPS:
  https://dawn.googlesource.com/tint from 64b775419d2d to 2a761f736a51

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 enga@google.com on the revert to ensure that a human
is aware of the problem.

To file a bug in Dawn: https://bugs.chromium.org/p/dawn/issues/entry
To file a bug in Skia: https://bugs.chromium.org/p/skia/issues/entry

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/main/autoroll/README.md

Cq-Include-Trybots: skia/skia.primary:Build-Debian10-Clang-x86_64-Debug-Dawn
Bug: None
Tbr: enga@google.com
Change-Id: Ia630f9ea34cf6823cf2e9246aa7bec0de6e4573a
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/521778
Commit-Queue: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
Bot-Commit: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
2022-03-17 04:43:12 +00:00
Herb Derby
2fad2703fb guard against missing paths in Slug deserialization
The glyph run painter only passes glyphs with paths to the sub run.
A missing path on a deserialization is an error.

Bug: chromium:1306954

Change-Id: I6e42287aec0afa844d29a197a4dfb7b5106b11c9
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/521533
Reviewed-by: Robert Phillips <robertphillips@google.com>
Commit-Queue: Herb Derby <herb@google.com>
2022-03-17 02:11:29 +00:00
Arman Uguray
c7fde5d4ca Use destination-space colors in drawFastShadow
The drawFastShadow code used in the GPU backend did not perform color
conversion on the ambient and spot shadow colors and produced incorrect
results as seen in GM_shadow_utils. This is now fixed.

Verified this by running GM_shadow_utils in viewer in Rec. 2020 color
mode and confirmed that shadows rendered via drawFastShadow now match
the rest of the slide.

Bug: skia: 13067
Change-Id: I33bb909381d2ac12aad42e31d1df82cd02e2470b
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/521617
Reviewed-by: Brian Osman <brianosman@google.com>
Commit-Queue: Arman Uguray <armansito@google.com>
2022-03-16 23:42:59 +00:00
Arman Uguray
4f3c1e5256 Bypass color transformation in shadow rendering via drawVertices
It is not necessary to convert the per-vertex color generated by a
tesselated shadow since the vertex colors are only used to generate an
alpha-gradient (with rgb=000) to modulate the actual "ambient" and
"spot" colors, which are already converted to the destination space on
the CPU.

This change removes this unnecessary extra step in both the CPU-raster
and GPU backends. This is done by introducing a "skipColorXform" flag to
SkDevice::drawVertices.

Tested the change by comparing GM_shadow_utils output in Rec. 2020 color
mode with the original output and observing no differences. Verfied
using viewer that the generated SkSL shaders used in the OpenGL and
Vulkan backends no longer inject color space transformation code for
shadows that use drawVertices as they did before.

Bug: skia:11848
Change-Id: Idfaf928eb3b6dada2940cba77861890cd38fe25b
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/521616
Reviewed-by: Brian Osman <brianosman@google.com>
Commit-Queue: Arman Uguray <armansito@google.com>
2022-03-16 23:41:47 +00:00
Ethan Nicholas
df40c7eae8 Fixed a past-the-end error location in SPIR-V output
The error was being reported at the position of the var declaration,
rather than the position of the reference. And since the declaration
was in a module, its position was both incorrect (with respect to the
program source) and could be past the end.

Change-Id: I443b9fbbe016c43b93d457abfefd17025e451d8a
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/521522
Reviewed-by: Brian Osman <brianosman@google.com>
Reviewed-by: John Stiles <johnstiles@google.com>
Commit-Queue: Ethan Nicholas <ethannicholas@google.com>
2022-03-16 21:54:21 +00:00
John Stiles
0ac14c4edd Simplify filtering in SkQPRunner.
Previously, we had a member variable `mShouldSkipTest` which existed to
track the filtered-or-not state of individual unit tests. Now, when a
unit test is filtered out, we just replace it with an empty Description
in the array of unit test descriptions.

`mShouldRunTestCount` was also unnecessary as it should always exactly
equal the number of child tests contained in the test-suite.

Bug: skia:13042
Change-Id: I541ba755ceabf9355a12f7de58e73ae302f62090
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/521636
Auto-Submit: John Stiles <johnstiles@google.com>
Reviewed-by: Leon Scroggins <scroggo@google.com>
Commit-Queue: Leon Scroggins <scroggo@google.com>
2022-03-16 21:11:03 +00:00
John Stiles
9944fb408c Remove obsolete python2 references.
gLinux has removed python2 everywhere. The officially recommended fix is
to always reference #!/usr/bin/python3 explicitly.

http://yaqs/2356833960463433728

Change-Id: I99278a18e95ac8a566e57e1f506986e69d42f57e
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/521360
Reviewed-by: Brian Osman <brianosman@google.com>
Commit-Queue: John Stiles <johnstiles@google.com>
Auto-Submit: John Stiles <johnstiles@google.com>
2022-03-16 19:56:37 +00:00
Herb Derby
4397488ce5 add testing code for serialized Slugs
By setting the compile time flag:
SK_EXPERIMENTAL_SIMULATE_DRAWGLYPHRUNLIST_WITH_SLUG_STRIKE_SERIALIZE
will cause all SkTextBlobs to be rendered by analyzing the Slug
to create strike cache differences and serialize the Blob to a Slug.
Then the serialized strike cache differences are used to populate
the strike cache using a different TypefaceIDs using SkTypeface_Remote
as a proxy for the real SkTypeface. This will create a hard break
between the original glyph data, and the proxied glyph data.
It will then deserialize the Slug doing TypefaceID translation to
the SkTypeface_Remote, and draw the unflattened Slug.

Bug: chromium:1278340

Change-Id: I0f1980dee966b1092a99741793aed9d138451f4d
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/510228
Reviewed-by: Robert Phillips <robertphillips@google.com>
Reviewed-by: Greg Daniel <egdaniel@google.com>
Commit-Queue: Herb Derby <herb@google.com>
2022-03-16 19:42:16 +00:00
John Stiles
6d244a0637 Pass SkSL error tests to SkQP.java via arrays.
In a followup CL, we can attempt to compile these shaders via the
RuntimeShader API and verify that compilation fails.

Change-Id: I5366024bd3a6b2efd720acbff0d6c1a6d331e8e5
Bug: skia:13042
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/521536
Reviewed-by: Brian Osman <brianosman@google.com>
Commit-Queue: John Stiles <johnstiles@google.com>
Auto-Submit: John Stiles <johnstiles@google.com>
2022-03-16 18:46:24 +00:00
John Stiles
3bdeedc497 Load the SkSL error tests when SkQP::init is executed.
Change-Id: I28d4859c13dfdf42da12d02899416aa86c944662
Bug: skia:13042
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/521219
Auto-Submit: John Stiles <johnstiles@google.com>
Reviewed-by: Leon Scroggins <scroggo@google.com>
Reviewed-by: Brian Osman <brianosman@google.com>
2022-03-16 18:46:24 +00:00
John Stiles
097e63584e Factor out SkQP exclusion-list handling into a helper class.
This will be used in followup CLs to allow exclusions to the SkSL error
tests.

Change-Id: I775de492c29a94f948841a54a822c9a11e16cf25
Bug: skia:13042
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/521217
Auto-Submit: John Stiles <johnstiles@google.com>
Reviewed-by: Leon Scroggins <scroggo@google.com>
Commit-Queue: John Stiles <johnstiles@google.com>
2022-03-16 18:42:35 +00:00
Leon Scroggins III
a4e20c8bde Update OWNERS.android with more details
We are unable to list proper OWNERS in a way that works with all of
the tooling. Document why, and also leave a recommendation for human
readers to find a knowledgeable reviewer.

Change-Id: Icf7779c55a983aea9b298b6f7a4a639e3090e279
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/521517
Reviewed-by: Ravi Mistry <rmistry@google.com>
Commit-Queue: Leon Scroggins <scroggo@google.com>
2022-03-16 18:13:33 +00:00
Michael Ludwig
02ebd1a233 [graphite] Implement stenciled curves RenderStep
Cq-Include-Trybots: luci.skia.skia.primary:Build-Mac-Clang-arm64-Debug-ASAN_Graphite,Build-Mac-Clang-arm64-Debug-Graphite,Build-Mac-Clang-arm64-Debug-Graphite_NoGpu,Build-Mac-Clang-arm64-Debug-iOS_Graphite,Build-Mac-Clang-arm64-Release-Graphite,Build-Mac-Clang-arm64-Release-iOS_Graphite,Build-Mac-Clang-x86_64-Debug-Graphite,Build-Mac-Clang-x86_64-Release-Graphite,Perf-Mac10.15.7-Clang-MacBookPro11.5-GPU-RadeonHD8870M-x86_64-Release-All-Graphite,Perf-Mac11-Clang-MacMini9.1-GPU-AppleM1-arm64-Release-All-Graphite,Test-Mac10.15.7-Clang-MacBookPro11.5-GPU-RadeonHD8870M-x86_64-Debug-All-Graphite,Test-Mac11-Clang-MacMini9.1-GPU-AppleM1-arm64-Debug-All-ASAN_Graphite,Test-Mac11-Clang-MacMini9.1-GPU-AppleM1-arm64-Release-All-Graphite,Test-Mac12-Clang-MacBookPro16.2-GPU-IntelIrisPlus-x86_64-Debug-All-Graphite
Bug: skia:12703
Change-Id: Ie80d495f38614f9b5d0b09741ca0d24560ebe870
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/520976
Reviewed-by: Robert Phillips <robertphillips@google.com>
Commit-Queue: Michael Ludwig <michaelludwig@google.com>
Auto-Submit: Michael Ludwig <michaelludwig@google.com>
Reviewed-by: Jim Van Verth <jvanverth@google.com>
2022-03-16 16:03:47 +00:00
Herb Derby
627969bf1b serialize/draw GrSlug into a SkPicture
Chrome uses a picture to manage some of their drawing in the GPU
process. This CL serializes GrSlugs into an SkPicture, and to
draw from that picture. Pictures with GrSlugs can not be stored;
they must be created and played back directly. In addition, the
SkStrikes used by the slugs must be pinned in the SkStrikeCache.

Bug: chromium:1302036

Change-Id: I19fa9c06c08f64ad066326e90bc6425dd90b3342
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/514360
Reviewed-by: Robert Phillips <robertphillips@google.com>
Commit-Queue: Herb Derby <herb@google.com>
2022-03-16 15:24:43 +00:00
Florin Malita
8d29ce3305 [skottie] Remove tracking fix guards
Change-Id: I83becfa4ac05a35cfe47305f1fdc852750135f11
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/521359
Commit-Queue: Florin Malita <fmalita@chromium.org>
Auto-Submit: Florin Malita <fmalita@chromium.org>
Reviewed-by: Jorge Betancourt <jmbetancourt@google.com>
Commit-Queue: Florin Malita <fmalita@google.com>
2022-03-16 14:43:11 +00:00
Herb Derby
21232bc814 use fast case for blurred paths
If the paint has a blur mask filter, then we can adjust the sigma
of the filter to use the CTM adjustment case instead of
transforming the path. This allows reusing the mask cache for the
blured part of the drawing.

Tested on TOT Chromium with this CL patched in. Smooth as silk.

Bug: chromium:1304806

Change-Id: I5cda17f1769ef173e6734d22edbd3fef4ed8db6f
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/521100
Reviewed-by: Robert Phillips <robertphillips@google.com>
Reviewed-by: Brian Osman <brianosman@google.com>
Commit-Queue: Herb Derby <herb@google.com>
2022-03-16 14:41:15 +00:00
Kevin Lubick
9301fe3779 [bazel] Test enforcement of IWYU on SkSVG backend.
This will use the recently added Bazel toolchain feature
to enforce proper includes for all files in //src/svg/...

In the future, I envision a CI/CQ job that will run
bazel build with a few different configurations and the
--feature skia_enforce_iwyu on to make sure we don't
regress.

Change-Id: Ibb9f816ab626415c11bd2b9b74c503297c4b0723
Bug: skia:13052
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/521036
Reviewed-by: Ben Wagner <bungeman@google.com>
Reviewed-by: Brian Salomon <bsalomon@google.com>
Commit-Queue: Kevin Lubick <kjlubick@google.com>
2022-03-16 14:20:14 +00:00
Kevin Lubick
e253cc3e55 [bazel] Use toolchain features to opt files into being IWYU compliant.
PS1 regenerates the Bazel files.

It is recommended to review this CL with a diff from PS1.

Example output when a file does not pass the test:
    tools/sk_app/CommandSet.h should add these lines:
    #include "include/core/SkTypes.h"
    #include "include/private/SkTArray.h"
    #include "tools/skui/InputState.h"
    #include "tools/skui/Key.h"
    #include "tools/skui/ModifierKey.h"
    namespace sk_app { class Window; }

    tools/sk_app/CommandSet.h should remove these lines:
    - #include "tools/sk_app/Window.h"

    The full include-list for tools/sk_app/CommandSet.h:
    #include "include/core/SkString.h"
    #include "include/core/SkTypes.h"
    #include "include/private/SkTArray.h"
    #include "tools/skui/InputState.h"
    #include "tools/skui/Key.h"
    #include "tools/skui/ModifierKey.h"
    #include <functional>
    #include <vector>
    class SkCanvas;
    namespace sk_app { class Window; }
    ---

This makes use of Bazel's toolchain features
https://bazel.build/docs/cc-toolchain-config-reference#features
to allow us to configure compiler flags when compiling
individual files. This analysis is off by default, and can
be turned on with --features skia_enforce_iwyu. When enabled,
it will only be run for files that have opted in.
Example:
    bazelisk build //example:hello_world_gl --config=clang \
       --sandbox_base=/dev/shm --features skia_enforce_iwyu

There are two ways to opt files in:
 - Add enforce_iwyu = True to a generated_cc_atom rule
 - Add enforce_iwyu_on_package() to a BUILD.bazel file
   (which enforces IWYU for all rules in that file)

Note that Bazel does not propagate features to dependencies
or dependents, so trying to enable the feature on cc_library
or cc_executable targets will only impact any files listed in
srcs or hdrs, not deps. This may be counter-intuitive when
compared to things like defines.

IWYU supports a mapping file, which we supply to help properly
handle things system headers (//toolchain/IWYU_mapping.imp)

Suggested Review Order:
 - toolchain/build_toolchain.bzl to see how we get the IWYU
   binaries into the toolchain
 - toolchain/BUILD.bazel and toolchain/IWYU_mapping.imp
   to see how the mapping file is made available for
   all compile steps
 - toolchain/clang_toolchain_config.bzl, where we define the
   skia_enforce_iwyu feature to turn on any verification at
   all and skia_opt_file_into_iwyu to enable the check for
   specific files using a define.
 - toolchain/clang_trampoline.sh, which is the toolchain is
   configured to call instead of clang directly (see line 83
   of clang_toolchain_config.bzl). This bash script used to
   just forward all arguments directly onto clang. Now it
   inspects them and either calls clang directly (if
   it does not find the define in the arguments or we are
   linking [bazel sometimes links with clang instead of ld])
   or calls clang and then include-what-you-use. In all cases,
   the trampoline sends the arguments to clang and IWYU
   unchanged).
 - //tools/sk_app/... to see enforcement enabled (and fixed)
   for select files, as an example of that method.
 - //experimental/bazel_test/... to see enforcement enabled
   for all rules in a BUILD.bazel file.
 - all other files.

Change-Id: I60a2ea9d5dc9955b6a8f166bd449de9e2b81a233
Bug: skia:13052
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/519776
Reviewed-by: Ben Wagner <bungeman@google.com>
Reviewed-by: Leandro Lovisolo <lovisolo@google.com>
Commit-Queue: Kevin Lubick <kjlubick@google.com>
2022-03-16 13:09:46 +00:00
skia-autoroll
0d81bc7bb0 Roll ANGLE from 7eb7596abf0b to 63b54d9d07b5 (21 revisions)
7eb7596abf..63b54d9d07

2022-03-16 yahan@google.com Do not copy parent layer frame position
2022-03-15 cclao@google.com Vulkan: Update mCurrentElementArrayBuffersync based on dirty bit
2022-03-15 yuxinhu@google.com Flush the texture staged updates when destroying context share group
2022-03-15 b.schade@samsung.com Remove invalid validation check on compressed texture formats
2022-03-15 cclao@google.com Vulkan: Handle the case where the bound buffer is empty
2022-03-15 lubosz.sarnecki@collabora.com FrameCapture: Skip invalid VertexAttribPointer calls in MEC.
2022-03-15 antonio.caggiano@collabora.com Vulkan: VkFormat/DrmFourCC
2022-03-15 jmadill@chromium.org Vulkan: Temporarily suppress 3 perf counter tests on P6.
2022-03-15 jmadill@chromium.org Revert "Vulkan: VkFormat/DrmFourCC"
2022-03-15 lexa.knyazev@gmail.com Skip no-op base instance draw calls
2022-03-15 lexa.knyazev@gmail.com Fix typo in DrawElementsInstancedBaseVertexBaseInstanceANGLE
2022-03-15 angle-autoroll@skia-public.iam.gserviceaccount.com Roll Chromium from ffa866a5ae9e to 45902868a797 (562 revisions)
2022-03-15 b.schade@samsung.com Add usage of Spirv through glslang build flag
2022-03-14 kkinnunen@apple.com Add device id as a part of the key in EGLDisplay cache
2022-03-14 antonio.caggiano@collabora.com Vulkan: VkFormat/DrmFourCC
2022-03-14 angle-autoroll@skia-public.iam.gserviceaccount.com Roll vulkan-deps from 2d9abfbddc1b to a11411926c31 (18 revisions)
2022-03-14 jmadill@chromium.org Fix crash when pausing XFB then deleting a buffer.
2022-03-14 cclao@google.com Vulkan: Fix another corner case of mCurrentElementArrayBuffer
2022-03-14 angle-autoroll@skia-public.iam.gserviceaccount.com Roll VK-GL-CTS from f7e842466e0a to 8252a3d3cdd3 (8 revisions)
2022-03-14 jmadill@chromium.org perf tests: Record perf counter metrics.
2022-03-14 angle-autoroll@skia-public.iam.gserviceaccount.com Roll Chromium from 06a76a17743b to ffa866a5ae9e (297 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 scroggo@google.com on the revert to ensure that a human
is aware of the problem.

To file a bug in ANGLE: https://bugs.chromium.org/p/angleproject/issues/entry
To file a bug in Skia: https://bugs.chromium.org/p/skia/issues/entry

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/main/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: scroggo@google.com
Test: Test: angle_end2end_tests --gtest_filter="VertexAttributeTestES3.InvalidAttribPointer/*"
Test: Test: gtest_filter=*DXT1CompressedTextureTest.NonBlockSizesMipLevels*
Test: Test: when using ANGLE (with metal or swiftshader backend) with
Change-Id: I57eddb29443881efcf156e41355522b10e2ada11
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/521201
Commit-Queue: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
Bot-Commit: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
2022-03-16 05:24:13 +00:00
skia-autoroll
c8bb06c986 Roll SwiftShader from c27e99245d42 to b3b1a3fe8351 (1 revision)
https://swiftshader.googlesource.com/SwiftShader.git/+log/c27e99245d42..b3b1a3fe8351

2022-03-15 swiftshader.regress@gmail.com Regres: Update test lists @ c27e9924

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

To file a bug in SwiftShader: https://bugs.chromium.org/p/swiftshader/issues/entry
To file a bug in Skia: https://bugs.chromium.org/p/skia/issues/entry

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/main/autoroll/README.md

Cq-Include-Trybots: skia/skia.primary:Test-Debian10-Clang-GCE-GPU-SwiftShader-x86_64-Debug-All-SwiftShader
Bug: None
Tbr: scroggo@google.com
Change-Id: If5c533e2148e0cf9a4b3c2dc6bc08183c0b2306e
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/521200
Commit-Queue: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
Bot-Commit: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
2022-03-16 04:50:50 +00:00
skia-autoroll
8afe53fd76 Roll Dawn from 0146d3e31d86 to 09681d57ed4b (7 revisions)
https://dawn.googlesource.com/dawn.git/+log/0146d3e31d86..09681d57ed4b

2022-03-16 dawn-autoroll@skia-public.iam.gserviceaccount.com Roll ANGLE from dffc907729dd to 63b54d9d07b5 (11 revisions)
2022-03-16 dawn-autoroll@skia-public.iam.gserviceaccount.com Roll vulkan-deps from 69c963a3412a to 41448155eff7 (4 revisions)
2022-03-15 dawn-autoroll@skia-public.iam.gserviceaccount.com Roll Tint from 30747f607dd9 to 64b775419d2d (7 revisions)
2022-03-15 dawn-autoroll@skia-public.iam.gserviceaccount.com Roll Tint from b86895da5f74 to 30747f607dd9 (1 revision)
2022-03-15 dawn-autoroll@skia-public.iam.gserviceaccount.com Roll SwiftShader from c27e99245d42 to b3b1a3fe8351 (1 revision)
2022-03-15 dawn-autoroll@skia-public.iam.gserviceaccount.com Roll ANGLE from 776c780422d4 to dffc907729dd (4 revisions)
2022-03-15 dawn-autoroll@skia-public.iam.gserviceaccount.com Roll vulkan-deps from f4b915ec4ceb to 69c963a3412a (2 revisions)

Also rolling transitive DEPS:
  https://dawn.googlesource.com/tint from b86895da5f74 to 64b775419d2d

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 enga@google.com on the revert to ensure that a human
is aware of the problem.

To file a bug in Dawn: https://bugs.chromium.org/p/dawn/issues/entry
To file a bug in Skia: https://bugs.chromium.org/p/skia/issues/entry

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/main/autoroll/README.md

Cq-Include-Trybots: skia/skia.primary:Build-Debian10-Clang-x86_64-Debug-Dawn
Bug: None
Tbr: enga@google.com
Change-Id: I54e145aef55c7574997b5b2ab3d70b63b261a15c
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/521202
Commit-Queue: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
Bot-Commit: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
2022-03-16 04:42:42 +00:00
Michael Ludwig
a9bc6c6437 [graphite] Add getStaticBuffer()->BindBufferInfo to DrawBufferManager
This is a short term solution. The linked bug has more details about
where we want to land. As is, this doesn't use much of the resource key
system but ideally should be updated to do so if we can handle resource
tracking w/in the CommandBuffer efficiently.

Alternatively we may pursue a direction where that is moot because it's
cached globally or held directly by the RenderStep.

As-is, this is a simple approach and should produce equivalent behavior
from a GPU command perspective in the single Recorder situation we are
in currently.

Cq-Include-Trybots: luci.skia.skia.primary:Test-Mac12-Clang-MacBookPro16.2-GPU-IntelIrisPlus-x86_64-Debug-All-Graphite,Test-Mac11-Clang-MacMini9.1-GPU-AppleM1-arm64-Release-All-Graphite,Test-Mac11-Clang-MacMini9.1-GPU-AppleM1-arm64-Debug-All-ASAN_Graphite,Test-Mac10.15.7-Clang-MacBookPro11.5-GPU-RadeonHD8870M-x86_64-Debug-All-Graphite,Build-Mac-Clang-x86_64-Release-Graphite,Build-Mac-Clang-x86_64-Debug-Graphite,Build-Mac-Clang-arm64-Release-iOS_Graphite,Build-Mac-Clang-arm64-Release-Graphite,Build-Mac-Clang-arm64-Debug-iOS_Graphite,Build-Mac-Clang-arm64-Debug-Graphite_NoGpu,Build-Mac-Clang-arm64-Debug-Graphite,Build-Mac-Clang-arm64-Debug-ASAN_Graphite
Bug: skia:13059
Change-Id: I6a110fafe2b69a8bfbc3d859b02d916c973baf26
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/520737
Reviewed-by: Greg Daniel <egdaniel@google.com>
Commit-Queue: Michael Ludwig <michaelludwig@google.com>
2022-03-16 00:36:23 +00:00
Michael Ludwig
ffb49630eb [graphite] Transform perspective paths to device space on CPU for now
Cq-Include-Trybots: luci.skia.skia.primary:Test-Mac12-Clang-MacBookPro16.2-GPU-IntelIrisPlus-x86_64-Debug-All-Graphite,Test-Mac11-Clang-MacMini9.1-GPU-AppleM1-arm64-Release-All-Graphite,Test-Mac11-Clang-MacMini9.1-GPU-AppleM1-arm64-Debug-All-ASAN_Graphite,Test-Mac10.15.7-Clang-MacBookPro11.5-GPU-RadeonHD8870M-x86_64-Debug-All-Graphite,Build-Mac-Clang-x86_64-Release-Graphite,Build-Mac-Clang-x86_64-Debug-Graphite,Build-Mac-Clang-arm64-Release-iOS_Graphite,Build-Mac-Clang-arm64-Release-Graphite,Build-Mac-Clang-arm64-Debug-iOS_Graphite,Build-Mac-Clang-arm64-Debug-Graphite,Build-Mac-Clang-arm64-Debug-ASAN_Graphite,Build-Mac-Clang-arm64-Debug-Graphite_NoGpu
Bug: skia:12703
Change-Id: Iea08a885565811c442e8177b3fa0c668db95fd0f
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/521008
Reviewed-by: Jim Van Verth <jvanverth@google.com>
Commit-Queue: Michael Ludwig <michaelludwig@google.com>
2022-03-15 20:25:04 +00:00
Michael Ludwig
986324ed7b [graphite] Draw strokes as filled paths for now
Cq-Include-Trybots: luci.skia.skia.primary:Test-Mac12-Clang-MacBookPro16.2-GPU-IntelIrisPlus-x86_64-Debug-All-Graphite,Test-Mac11-Clang-MacMini9.1-GPU-AppleM1-arm64-Release-All-Graphite,Test-Mac11-Clang-MacMini9.1-GPU-AppleM1-arm64-Debug-All-ASAN_Graphite,Test-Mac10.15.7-Clang-MacBookPro11.5-GPU-RadeonHD8870M-x86_64-Debug-All-Graphite,Build-Mac-Clang-x86_64-Release-Graphite,Build-Mac-Clang-x86_64-Debug-Graphite,Build-Mac-Clang-arm64-Release-iOS_Graphite,Build-Mac-Clang-arm64-Release-Graphite,Build-Mac-Clang-arm64-Debug-iOS_Graphite,Build-Mac-Clang-arm64-Debug-Graphite,Build-Mac-Clang-arm64-Debug-ASAN_Graphite,Build-Mac-Clang-arm64-Debug-Graphite_NoGpu
Bug: skia:12703
Change-Id: Ic0faa0c264157a4ac4b35157151ddf346cb72b19
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/521007
Reviewed-by: Greg Daniel <egdaniel@google.com>
Commit-Queue: Michael Ludwig <michaelludwig@google.com>
2022-03-15 20:20:16 +00:00
Michael Ludwig
384c982548 [graphite] DrawList is provided chosen Renderer
DrawList's recording functions that paralleled the defined Renderers are
removed in favor of a single recordDraw() call that takes a Renderer.

Device has to do too much logic around determining draw ordering that
is coupled with the selected Renderer's requirements (e.g. stencil)
that it is easier to have a Renderer selector that Device uses, and
then it can inspect the requirements of that Renderer and modify the
ordering tracking as needed.

Right now, this renderer selection process is just in Device, but I
can imagine it living in its own object that the Gpu exposes so that
all wrappers around DrawContext make consistent decisions. This will
also come in handy if Renderers are created per Gpu instead of static.

Bug: skia:12703
Change-Id: I73b5254b7c4183f4c4e54cf5e2993ab8143bd4bd
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/521006
Reviewed-by: Robert Phillips <robertphillips@google.com>
Commit-Queue: Michael Ludwig <michaelludwig@google.com>
2022-03-15 20:19:59 +00:00
skia-autoroll
a48a3c9417 Roll SK Tool from 88b7e05d9e23 to f8af42477b34
https://skia.googlesource.com/buildbot.git/+log/88b7e05d9e23..f8af42477b34

2022-03-15 kjlubick@google.com [baseapp] Properly serve /healthz

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 kjlubick@google.com on the revert to ensure that a human
is aware of the problem.

To file a bug in Skia: https://bugs.chromium.org/p/skia/issues/entry

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/main/autoroll/README.md

Tbr: kjlubick@google.com
Change-Id: Ia0fca4d17740b908fdc428dd4aedabba9b294d7e
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/521138
Commit-Queue: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
Bot-Commit: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
2022-03-15 19:26:46 +00:00
Greg Daniel
6dcb24b811 [graphite] Add nanobench bots.
Bug: skia:12974
Change-Id: I6ec7736edc871241b0cf78413b0d5f7ff9abd8c5
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/520736
Reviewed-by: Jim Van Verth <jvanverth@google.com>
Commit-Queue: Greg Daniel <egdaniel@google.com>
2022-03-15 19:00:46 +00:00
Kevin Lubick
34975a4d58 Reland "[includes] Remove link between SkImageEncoder and SkBitmap"
This is a reland of commit 965d9dc948

Upstream changes
 - http://cl/434609233
 - http://cl/434730162

Original change's description:
> [includes] Remove link between SkImageEncoder and SkBitmap
>
> This cleans up an old TODO and, according to go/chrome-includes
> [1] [2], will save 106 MB (0.05%) of build size.
>
> [1] https://commondatastorage.googleapis.com/chromium-browser-clang/chrome_includes_2022-03-09_114034.html#view=edges&filter=&sort=asize&reverse=&includer=%5Ethird_party%2Fskia%2Finclude%2Fcore%2FSkImageEncoder%5C.h%24&included=&limit=1000
> [2] http://screen/ohtAxmQcnXui47q
>
> Change-Id: Ic53bfa827964dd5d2d2dbce12f1722e57ea5a9bc
> Bug: 242216
> Reviewed-on: https://skia-review.googlesource.com/c/skia/+/518497
> Reviewed-by: Brian Osman <brianosman@google.com>
> Commit-Queue: Kevin Lubick <kjlubick@google.com>

Bug: 242216
Change-Id: I5bad2a8764c54e885c5b6cad6070549f2cbeefcf
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/520936
Reviewed-by: Brian Osman <brianosman@google.com>
Commit-Queue: Kevin Lubick <kjlubick@google.com>
2022-03-15 18:26:16 +00:00
Robert Phillips
9565f4bd90 [graphite] Plumb Recorder down into KeyHelpers
The KeyContext is used in the addToKey methods but must appear in the
AddToKey methods bc the latter can call the former.

Bug: skia:12701
Change-Id: I3143afec8337b1e3e12f1c3cc198714009ca6930
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/520539
Reviewed-by: Jim Van Verth <jvanverth@google.com>
Commit-Queue: Robert Phillips <robertphillips@google.com>
2022-03-15 18:06:05 +00:00
Leon Scroggins III
4a3601ed39 SkDebug_android: undef LOG_TAG if defined
In preparation for ag/Ib9bec1e1d72169a18e6ad1ce8f9008a65dbe5a71,
which will define it in SkUserConfigManual first.

Bug: b/224771432
Change-Id: I122895f089ce8949c028bccfcb971bd7d1c6ca72
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/521001
Reviewed-by: Greg Daniel <egdaniel@google.com>
Commit-Queue: Leon Scroggins <scroggo@google.com>
2022-03-15 17:07:11 +00:00
Leon Scroggins III
97bf9eac18 Revert (fatal) logs for investigating b/206415266
These logs were always intended to be temporary. Remove them, along with
RENDERENGINE_ABORTF. This is in preparation for turning *all* SK_ABORT
messages into ones that will appear in stack traces (b/224771432).

Revert "Convert RENDERENGINE_ABORTF to LOG_ALWAYS_FATAL"
This reverts commit 98fbe5eb8d.

Revert "Add more debugging info for backend texture failure"
This reverts commit 13f244c95c.

Revert "Add Android Framework specific logging to SkSurface::MakeFromBackendTexture"
This reverts commit 04a9672c0a.

Bug: b/206415266
Bug: b/224771432
Change-Id: I5a0d97b4e7d14e2a4222dc84c9049ebb4f9e7e0c
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/521000
Reviewed-by: Greg Daniel <egdaniel@google.com>
Commit-Queue: Leon Scroggins <scroggo@google.com>
2022-03-15 17:06:49 +00:00
Herb Derby
3d381dcbd2 make slug drawing const
Change-Id: I677ad3073725219897bec9f82d88ad3ba3fedb53
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/521002
Commit-Queue: Herb Derby <herb@google.com>
Auto-Submit: Herb Derby <herb@google.com>
Reviewed-by: Greg Daniel <egdaniel@google.com>
Commit-Queue: Greg Daniel <egdaniel@google.com>
Reviewed-by: Robert Phillips <robertphillips@google.com>
Commit-Queue: Robert Phillips <robertphillips@google.com>
2022-03-15 16:49:16 +00:00
Kevin Lubick
66efe821b7 [infra] Change upstream repo for abseil-cpp
Abseil (which is a DEP of dawn) has BUILD.bazel
files, but the ones in the chromium third_party
version are broken because there are some files
that are not included in the chromium clone
(fork?).

For example, internal/thread_annotations.h [1],
which is not found in [2].

We want to be able to use existing BUILD.bazel
rules as much as possible when building Skia
with Bazel, so this changes the repo we sync
abseil to be the one on GitHub (the source of
truth). The git revision I went with was the
most recent one and appeared to work locally.

I ran this idea by bajones@, who added the
DEP originally in [3], and got approval.

[1] https://github.com/abseil/abseil-cpp/blob/master/absl/base/internal/thread_annotations.h
[2] https://chromium.googlesource.com/chromium/src/third_party/abseil-cpp/+/refs/heads/main/absl/base/internal/
[3] https://skia-review.googlesource.com/c/skia/+/451638

Change-Id: I1a61907a86de08cbddc395bf261426237788c6a5
Bug: skia:12541
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/520696
Reviewed-by: Brian Osman <brianosman@google.com>
Reviewed-by: Eric Boren <borenet@google.com>
Commit-Queue: Kevin Lubick <kjlubick@google.com>
2022-03-15 13:16:16 +00:00
skia-autoroll
b17e7aafc1 Roll Dawn from b0ebbda24875 to 0146d3e31d86 (3 revisions)
https://dawn.googlesource.com/dawn.git/+log/b0ebbda24875..0146d3e31d86

2022-03-15 dawn-autoroll@skia-public.iam.gserviceaccount.com Roll ANGLE from 24ad581e7e44 to 776c780422d4 (5 revisions)
2022-03-14 dawn-autoroll@skia-public.iam.gserviceaccount.com Roll vulkan-deps from 881a589c0ed9 to f4b915ec4ceb (11 revisions)
2022-03-14 dawn-autoroll@skia-public.iam.gserviceaccount.com Roll ANGLE from 7eb7596abf0b to 24ad581e7e44 (1 revision)

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 enga@google.com on the revert to ensure that a human
is aware of the problem.

To file a bug in Dawn: https://bugs.chromium.org/p/dawn/issues/entry
To file a bug in Skia: https://bugs.chromium.org/p/skia/issues/entry

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/main/autoroll/README.md

Cq-Include-Trybots: skia/skia.primary:Build-Debian10-Clang-x86_64-Debug-Dawn
Bug: None
Tbr: enga@google.com
Change-Id: I9d3d52f5154f7a96d68c949807fb24df416e5902
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/520678
Commit-Queue: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
Bot-Commit: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
2022-03-15 04:39:46 +00:00
Kevin Lubick
e1880aed8f Revert "[includes] Remove link between SkImageEncoder and SkBitmap"
This reverts commit 965d9dc948.

Reason for revert: Breaking G3

Original change's description:
> [includes] Remove link between SkImageEncoder and SkBitmap
>
> This cleans up an old TODO and, according to go/chrome-includes
> [1] [2], will save 106 MB (0.05%) of build size.
>
> [1] https://commondatastorage.googleapis.com/chromium-browser-clang/chrome_includes_2022-03-09_114034.html#view=edges&filter=&sort=asize&reverse=&includer=%5Ethird_party%2Fskia%2Finclude%2Fcore%2FSkImageEncoder%5C.h%24&included=&limit=1000
> [2] http://screen/ohtAxmQcnXui47q
>
> Change-Id: Ic53bfa827964dd5d2d2dbce12f1722e57ea5a9bc
> Bug: 242216
> Reviewed-on: https://skia-review.googlesource.com/c/skia/+/518497
> Reviewed-by: Brian Osman <brianosman@google.com>
> Commit-Queue: Kevin Lubick <kjlubick@google.com>

Bug: 242216
Change-Id: I71d76582f44317f6ad3a4c0152c5ce10c9bbf783
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/520796
Owners-Override: Kevin Lubick <kjlubick@google.com>
Bot-Commit: Rubber Stamper <rubber-stamper@appspot.gserviceaccount.com>
2022-03-15 00:04:01 +00:00
Greg Daniel
ff138c94d6 [graphite] Add support to nanobench for Graphite.
Bug: skia:12974
Change-Id: I70f3ec7901cd32c2f61b23b3f41675fb1db16614
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/516805
Reviewed-by: Jim Van Verth <jvanverth@google.com>
Commit-Queue: Greg Daniel <egdaniel@google.com>
2022-03-14 20:10:30 +00:00