Commit Graph

61277 Commits

Author SHA1 Message Date
skia-autoroll
546c4daca9 Roll Dawn from 8866b114af93 to 24239fcc4786 (11 revisions)
https://dawn.googlesource.com/dawn.git/+log/8866b114af93..24239fcc4786

2022-07-01 dawn-autoroll@skia-public.iam.gserviceaccount.com Roll ANGLE from 1e96beb9ff89 to 4b745c2bfa6b (6 revisions)
2022-07-01 bsheedy@google.com Move WebGPU worker globs
2022-06-30 dawn-autoroll@skia-public.iam.gserviceaccount.com Roll SwiftShader from 90fdde382489 to 43183d8b4d0c (6 revisions)
2022-06-30 enga@chromium.org Roll third_party/webgpu-cts/ cef4c7678..7334f06d2 (18 commits)
2022-06-30 senorblanco@chromium.org Implement EGL error handling.
2022-06-30 senorblanco@chromium.org Implement InstanceBase::ConsumedError taking a ResultOrError<T>.
2022-06-30 jiawei.shao@intel.com Implement ResolveDeferredExpectationsNow() for dawn_end2end_tests
2022-06-30 dawn-autoroll@skia-public.iam.gserviceaccount.com Roll ANGLE from 785353fd3501 to 1e96beb9ff89 (4 revisions)
2022-06-30 dawn-autoroll@skia-public.iam.gserviceaccount.com Roll SwiftShader from 1144d58f8be5 to 90fdde382489 (5 revisions)
2022-06-30 hogehoge@gachapin.jp Implement RenderPassDescriptor.maxDrawCount
2022-06-30 dawn-autoroll@skia-public.iam.gserviceaccount.com Roll vulkan-deps from 6aff2983cd8c to 76c2f42ea652 (5 revisions)

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 shrekshao@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: shrekshao@google.com
Test: Test: dawn_end2end_tests
Change-Id: Ia1efec568d3549bf22e538c14bcf71588015ad33
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/555318
Commit-Queue: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
Bot-Commit: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
2022-07-01 04:42:54 +00:00
Jim Van Verth
d9eeef0790 [graphite] Add sampleCount to pipeline key.
Without this fix, a Pipeline created for an attachment with one
sampleCount could be found and used for an attachment with a different
sampleCount, which is invalid.

Change-Id: Ibab0736e0e8dd7b920485eec54d70f00ab8507c5
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/554999
Reviewed-by: Robert Phillips <robertphillips@google.com>
Commit-Queue: Jim Van Verth <jvanverth@google.com>
2022-06-30 21:23:52 +00:00
Herb Derby
44d58be8bd Find the best font size for too big glyphs
If the font produces glyphs that won't fit in the atlas then:

Given the original font as a starting point, find a smaller font
where the maximum glyphs size will fit in the atlas with room for
padding.

From that new font size, calculate a scale factor that will
make the smaller glyphs the same size as the original font.

This is the second attempt at this code.

Change-Id: I2add9a8e9bae59546b7e8c3bbd5c17eb48d90f65
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/554401
Commit-Queue: Herb Derby <herb@google.com>
Reviewed-by: Jim Van Verth <jvanverth@google.com>
2022-06-30 20:58:11 +00:00
Peng Huang
1cfdd63f23 Do not use flat interpolation with ANGLE's metal backend
Using flat interpolation is slow with ANGLE's metal backend,
so not using it.

Bug: chromium:1340620
Change-Id: I91ff04a975ca9778690c6372d240028f24b7c2a0
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/554976
Reviewed-by: Greg Daniel <egdaniel@google.com>
Commit-Queue: Greg Daniel <egdaniel@google.com>
2022-06-30 20:52:33 +00:00
John Stiles
143f191edd Fix uniform manager handling of vec3 types.
std140, std430, and Metal all agree that non-array vec3 types should
pack like the equivalent vec4.

std140: http://screen/5NHiYze3sk4CbWv
std430: http://screen/8G6CuomyEkxge5t
Metal:  http://screen/7t9LfvmuZmtJ4zq

Our Stride() function in the UniformManager, however, did not pad out
vec3 types. This would manifest as an assertion when the _next_
uniform was added; we would assert because get_ubo_aligned_offset
would mismatch our expected values.

This CL fixes the bug and adds a test.

Change-Id: I33f04f37d68b0099236576f69250ed73d9e010cd
Bug: skia:13478
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/554404
Commit-Queue: John Stiles <johnstiles@google.com>
Reviewed-by: Robert Phillips <robertphillips@google.com>
2022-06-30 20:26:44 +00:00
Kevin Lubick
2e61aa9b6e [bazel] Reduce stack size usage of debug skcms build
Bug: skia:12541
Change-Id: If08b05c77b0d5e610f6b4d5435cea9cc117053b2
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/555080
Reviewed-by: Brian Salomon <bsalomon@google.com>
2022-06-30 19:35:53 +00:00
John Stiles
cb7bfa28fd Simplify unit test logic around Metal half-precision uniforms.
The pattern of treating Metal half-precision uniforms differently was
affecting both existing and upcoming tests, so it's factored out to a
helper function.

Also, added in calls to `doneWithExpectedUniforms`--these aren't
required, but it will give us more thorough test coverage.

Change-Id: I3f76a775816242cd1e5de9be1a96486738ddb12f
Bug: skia:13478
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/554998
Reviewed-by: James Godfrey-Kittle <jamesgk@google.com>
Commit-Queue: John Stiles <johnstiles@google.com>
Auto-Submit: John Stiles <johnstiles@google.com>
Commit-Queue: James Godfrey-Kittle <jamesgk@google.com>
2022-06-30 19:24:43 +00:00
Kevin Lubick
a74ebc9bac [bazel] Use exec_tools instead of tools for better RBE compatibility
The tools in genrules [1] correspond to the HOST's version, which
is a problem if we are doing cross-platform builds. In this case,
when I was using my M1 Mac to run on a Linux RBE platform, the
Mac's python binaries (e.g. python3_9_aarch64-apple-darwin/bin/python3)
were being uploaded to RBE and attempted to be used, which resulted
in OSError: [Errno 8] Exec format error because the won't run
on the Linux RBE machine.

Thanks to tjgq@, I learned about exec_tools [2], which will use
the version of the tools for the EXECUTION platform, which
is exactly what we want.

While debugging this, I added a minimal reproduction case in
//experimental/bazel_test and updated the py_tools version
in an effort to diagnose the issue further.

We will need to contribute similar fixes to @spirv_tools

[1] https://bazel.build/reference/be/general#genrule.tools
[2] https://bazel.build/reference/be/general#genrule.exec_tools
Bug: skia:12541
Change-Id: Ib14deb4e326d3103fd08c21e93afe342d751c17a
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/554518
Reviewed-by: Jorge Betancourt <jmbetancourt@google.com>
2022-06-30 18:02:35 +00:00
John Stiles
9a9a6925ac Add unit test verifying int encoding of uniforms.
Similar to floats, Metal expects short-int uniforms to be passed in 16
bits, but other layouts always use 32 bits for integers.

Change-Id: I99575349d8547876ab6dab00f393158fbeea5385
Bug: skia:13478
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/554345
Reviewed-by: Michael Ludwig <michaelludwig@google.com>
Commit-Queue: Michael Ludwig <michaelludwig@google.com>
Auto-Submit: John Stiles <johnstiles@google.com>
2022-06-30 16:41:04 +00:00
Brian Salomon
f6a84dfb53 Revert "Add option to GrGpuBuffer::updateData to *not* discard non-updated area."
This reverts commit a9b52ca52a.

Reason for revert: breaking non-apple mac gms?

Original change's description:
> Add option to GrGpuBuffer::updateData to *not* discard non-updated area.
>
> Also support minimal map region in Dawn implementation when onUpdateBuffer uses mapping.
>
> Bug: skia:13427
> Change-Id: I5c8a2872b520e04f8a55085c86430e635da2f43f
> Reviewed-on: https://skia-review.googlesource.com/c/skia/+/553585
> Reviewed-by: Greg Daniel <egdaniel@google.com>
> Commit-Queue: Brian Salomon <bsalomon@google.com>

Bug: skia:13427
Change-Id: Ifc9fb9311b19887a8dd14ea6b43709b5a814b766
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/554996
Commit-Queue: Rubber Stamper <rubber-stamper@appspot.gserviceaccount.com>
Auto-Submit: Brian Salomon <bsalomon@google.com>
Bot-Commit: Rubber Stamper <rubber-stamper@appspot.gserviceaccount.com>
2022-06-30 15:56:12 +00:00
Robert Phillips
3c4759d04c [graphite] Add runtime effects to new API proposal
Bug: skia:13430
Change-Id: I4958b0d14f7805889ed2061fe929778f69d40c48
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/549566
Commit-Queue: Robert Phillips <robertphillips@google.com>
Reviewed-by: Brian Osman <brianosman@google.com>
Reviewed-by: John Stiles <johnstiles@google.com>
2022-06-30 15:23:13 +00:00
Brian Salomon
a9b52ca52a Add option to GrGpuBuffer::updateData to *not* discard non-updated area.
Also support minimal map region in Dawn implementation when onUpdateBuffer uses mapping.

Bug: skia:13427
Change-Id: I5c8a2872b520e04f8a55085c86430e635da2f43f
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/553585
Reviewed-by: Greg Daniel <egdaniel@google.com>
Commit-Queue: Brian Salomon <bsalomon@google.com>
2022-06-30 15:05:44 +00:00
Ethan Nicholas
26afe80a62 Fix assertion failure with 'uniform texture2D'
Bug: oss-fuzz:48371
Change-Id: Ia92a652022985ea738791f3e2e57d360a04b05bd
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/554517
Commit-Queue: Ethan Nicholas <ethannicholas@google.com>
Reviewed-by: John Stiles <johnstiles@google.com>
2022-06-30 14:48:48 +00:00
John Stiles
02fd3fc63d Enable Graphite bots when tests/graphite/ is modified.
Change-Id: Ie54eae222c65a30225ce0dc5514908e1395299eb
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/554402
Commit-Queue: John Stiles <johnstiles@google.com>
Commit-Queue: Kevin Lubick <kjlubick@google.com>
Auto-Submit: John Stiles <johnstiles@google.com>
Reviewed-by: Kevin Lubick <kjlubick@google.com>
2022-06-30 14:28:11 +00:00
John Stiles
eb35a3783e Add unit test verifying float encoding of uniforms.
This test verifies that float scalars and vectors can be added as
uniforms. In Metal, this is a particularly interesting challenge because
we represent half values as 16-bit floats.

Change-Id: I4ce2280a61afee905ac5980792b6dbe6e4be572f
Bug: skia:13478
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/554344
Reviewed-by: Jim Van Verth <jvanverth@google.com>
Auto-Submit: John Stiles <johnstiles@google.com>
Commit-Queue: Jim Van Verth <jvanverth@google.com>
2022-06-30 14:06:26 +00:00
John Stiles
91c25e9b05 Reland "Create simple unit test for UniformManager types and layouts."
This reverts commit 6c05f9064f.

Reason for revert: fixed in release

Original change's description:
> Revert "Create simple unit test for UniformManager types and layouts."
>
> This reverts commit c42782ad74.
>
> Reason for revert: breaks in release
>
> Original change's description:
> > Create simple unit test for UniformManager types and layouts.
> >
> > The first test is an extremely simple check (can we create a uniform of
> > every allowed type in every layout?) and already uncovered a bug, so
> > we're off to a good start.
> >
> > Change-Id: If9d6aa9c0845727c5422185094711734951c2e0a
> > Bug: skia:13478
> > Reviewed-on: https://skia-review.googlesource.com/c/skia/+/554339
> > Reviewed-by: Michael Ludwig <michaelludwig@google.com>
> > Auto-Submit: John Stiles <johnstiles@google.com>
> > Commit-Queue: Michael Ludwig <michaelludwig@google.com>
> > Commit-Queue: John Stiles <johnstiles@google.com>
>
> Bug: skia:13478
> Change-Id: I75c051c3daee63cad0ffd55e3823d9eb333980ee
> No-Presubmit: true
> No-Tree-Checks: true
> No-Try: true
> Reviewed-on: https://skia-review.googlesource.com/c/skia/+/554398
> Auto-Submit: John Stiles <johnstiles@google.com>
> Commit-Queue: Rubber Stamper <rubber-stamper@appspot.gserviceaccount.com>
> Bot-Commit: Rubber Stamper <rubber-stamper@appspot.gserviceaccount.com>

Bug: skia:13478
Change-Id: Ic8fafda7c2149cbb07e3469fe7165787e110114e
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/554400
Bot-Commit: Rubber Stamper <rubber-stamper@appspot.gserviceaccount.com>
Reviewed-by: John Stiles <johnstiles@google.com>
Commit-Queue: John Stiles <johnstiles@google.com>
2022-06-30 14:03:22 +00:00
John Stiles
1a79444741 Make UniformManager expectation methods available in release.
In release, these methods are no-ops: all code is either assertions, or
wrapped in #ifdef SK_DEBUG or SkDEBUGCODE(...). In release, any calls to
these methods should be trivially eliminated by LTO.

This change makes it easier to use the class. Previously, UniformManager
required a call to `setExpectedUniforms` before passing in uniforms, or
it would immediately assert, but this method did not exist in release.
This made UniformManager impossible to use without SkDEBUGCODE.

Change-Id: I638843b4413b0ee10d00238c96fe07b0e4e17eb5
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/554399
Reviewed-by: Robert Phillips <robertphillips@google.com>
Auto-Submit: John Stiles <johnstiles@google.com>
Commit-Queue: John Stiles <johnstiles@google.com>
2022-06-30 14:03:22 +00:00
Tommy Chiang
2e79abd941 [docs] Fix SkCanvas Creation API
The `encode` method of SkImage is renamed to `encodeToData` in
6409f84fc3.

We also don't use GrContext anymore. According to the file we included,
we should use GrDirectContext instead now.

This patch should make the code in the documentation buildable.

Change-Id: I07d27c5686673e17afb8a893b1c1c238fa84ecff
No-Try: true
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/554816
Commit-Queue: Brian Salomon <bsalomon@google.com>
Reviewed-by: Brian Salomon <bsalomon@google.com>
2022-06-30 13:11:31 +00:00
John Stiles
6c05f9064f Revert "Create simple unit test for UniformManager types and layouts."
This reverts commit c42782ad74.

Reason for revert: breaks in release

Original change's description:
> Create simple unit test for UniformManager types and layouts.
>
> The first test is an extremely simple check (can we create a uniform of
> every allowed type in every layout?) and already uncovered a bug, so
> we're off to a good start.
>
> Change-Id: If9d6aa9c0845727c5422185094711734951c2e0a
> Bug: skia:13478
> Reviewed-on: https://skia-review.googlesource.com/c/skia/+/554339
> Reviewed-by: Michael Ludwig <michaelludwig@google.com>
> Auto-Submit: John Stiles <johnstiles@google.com>
> Commit-Queue: Michael Ludwig <michaelludwig@google.com>
> Commit-Queue: John Stiles <johnstiles@google.com>

Bug: skia:13478
Change-Id: I75c051c3daee63cad0ffd55e3823d9eb333980ee
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/554398
Auto-Submit: John Stiles <johnstiles@google.com>
Commit-Queue: Rubber Stamper <rubber-stamper@appspot.gserviceaccount.com>
Bot-Commit: Rubber Stamper <rubber-stamper@appspot.gserviceaccount.com>
2022-06-30 12:09:18 +00:00
Kevin Lubick
52904d35ab Make copy of skcms checkout in //modules/skcms
This will make our Bazel rules in G3 easier to use.

We will have to clean up a lot of clients (and this still
might require a manual G3 roll to land to account for the
source files).

Eventually, we will be able to delete the old one
//include/third_party/skcms and //third_party/skcms

Bug: skia:12451, b/237076898
Change-Id: I9fd55607cbb7e1196d175aa8f140e99a73505c89
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/554056
Reviewed-by: Brian Salomon <bsalomon@google.com>
2022-06-30 12:05:13 +00:00
Tommy Chiang
de194e40ce [docs] Fix incorrect auto-generated URL link in
The auto-generated URL link contains the left parenthesis, which makes
the URL linked to a 404 page.
Fix it by explicit specifying the URL linked.

Change-Id: Ic44a8cb8eecd8bbec6a9ef68b53acf201d739357
No-Try: true
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/554817
Commit-Queue: Joe Gregorio <jcgregorio@google.com>
Reviewed-by: Joe Gregorio <jcgregorio@google.com>
2022-06-30 11:57:31 +00:00
Kevin Lubick
0044be70dc [canvaskit] Deploy v0.35.0
No-Try: true
Change-Id: Ia6a010b69373677e874723c34a0b81809002742b
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/554856
Auto-Submit: Kevin Lubick <kjlubick@google.com>
Commit-Queue: Joe Gregorio <jcgregorio@google.com>
Reviewed-by: Joe Gregorio <jcgregorio@google.com>
2022-06-30 11:56:12 +00:00
Arman Uguray
49f89eafef [canvaskit] Update CHANGELOG on WebGPU support
Bug: skia:12512
Change-Id: I0e49d44615af5c44b9eff4be96b77b51cf6a789c
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/554693
Reviewed-by: Kevin Lubick <kjlubick@google.com>
2022-06-30 11:05:24 +00:00
skia-autoroll
2deec73c21 Roll ANGLE from d50b22764b7f to 4884e9de1da9 (8 revisions)
d50b22764b..4884e9de1d

2022-06-30 chris@rive.app Add a pls test for maximum capacity
2022-06-29 geofflang@chromium.org Support Desktop OpenGL context creation in end2end tests
2022-06-29 angle-autoroll@skia-public.iam.gserviceaccount.com Roll vulkan-deps from 20ef3c4c476b to 470172656108 (3 revisions)
2022-06-29 patrto@microsoft.com Remove non-negative offsets restriction in D3D extension
2022-06-29 syoussefi@chromium.org Clean up OWNERS files
2022-06-29 gert.wollny@collabora.com Capture/Replay: Capture egl surface related calls
2022-06-29 angle-autoroll@skia-public.iam.gserviceaccount.com Roll vulkan-deps from 137b026580e5 to 20ef3c4c476b (5 revisions)
2022-06-29 angle-autoroll@skia-public.iam.gserviceaccount.com Roll Chromium from 1bfae54dd233 to 8bf3474ad33a (639 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 borenet@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: borenet@google.com
Change-Id: I79ec860346cf36ba81116d7c38c70c4b88fe2ead
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/554766
Commit-Queue: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
Bot-Commit: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
2022-06-30 05:57:48 +00:00
skia-autoroll
4fd2d141a2 Roll SwiftShader from ec31f547750c to 90fdde382489 (6 revisions)
https://swiftshader.googlesource.com/SwiftShader.git/+log/ec31f547750c..90fdde382489

2022-06-29 capn@google.com Support printing of SIMD types
2022-06-29 capn@google.com Implement lane-independent SIMD operations
2022-06-29 capn@google.com Refactor scalarized vector processing
2022-06-29 capn@google.com Wrap shuffle and constant construction values
2022-06-29 nicolas.capens@gmail.com Implement minimal SIMD::Int functionality
2022-06-29 srisser@google.com Support VK_SUBGROUP_FEATURE_QUAD_BIT

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 borenet@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: borenet@google.com
Change-Id: I61c4d198e149e96e378dfbeeb0ec6a8948ec50e0
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/554767
Commit-Queue: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
Bot-Commit: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
2022-06-30 04:52:24 +00:00
skia-autoroll
023d1be40d Roll Dawn from c64ca23d94aa to 8866b114af93 (14 revisions)
https://dawn.googlesource.com/dawn.git/+log/c64ca23d94aa..8866b114af93

2022-06-30 dawn-autoroll@skia-public.iam.gserviceaccount.com Roll ANGLE from 3224b16a4dea to 785353fd3501 (6 revisions)
2022-06-29 amaiorano@google.com tint: spirv reader: detect and replace loads and stores of atomic variables with atomicLoad/Store
2022-06-29 bclayton@google.com tint: Prevent function calls at module-scope
2022-06-29 bclayton@google.com tint: Refactor sem::Constant to be less memory-hungry
2022-06-29 cwallez@chromium.org api_cpp.h: Fix alignas declaration following ChainedStruct.
2022-06-29 bclayton@google.com tint: Have Number equality consider sign
2022-06-29 dawn-autoroll@skia-public.iam.gserviceaccount.com Roll SwiftShader from ec31f547750c to 1144d58f8be5 (1 revision)
2022-06-29 senorblanco@chromium.org GL: implement EGL context creation in Dawn native.
2022-06-29 dsinclair@chromium.org Fixup various warnings in Tint which were accidentally suppressed.
2022-06-29 dawn-autoroll@skia-public.iam.gserviceaccount.com Roll vulkan-deps from 4e6188c82519 to 6aff2983cd8c (1 revision)
2022-06-29 bclayton@google.com tint/number: Fix CheckedConvert() logic
2022-06-29 dawn-autoroll@skia-public.iam.gserviceaccount.com Roll ANGLE from fd256b0d9ad1 to 3224b16a4dea (2 revisions)
2022-06-29 bclayton@google.com tint/sem/constant.h: Remove #include to program_builder.h
2022-06-29 ukai@google.com set $build/goma["use_luci_auth"] = True

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 shrekshao@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: shrekshao@google.com
Change-Id: I9e8806863068c0371e9c8c52dc399e5e74c60632
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/554768
Commit-Queue: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
Bot-Commit: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
2022-06-30 04:42:23 +00:00
Herb Derby
3b60bf2c84 Replace SK_ARRAY_COUNT with std::size() for skia/src/core
Change-Id: I8d8eee2b2515e1f9961b408245a1f6bc3e820d14
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/554341
Commit-Queue: Herb Derby <herb@google.com>
Reviewed-by: John Stiles <johnstiles@google.com>
2022-06-30 02:51:16 +00:00
John Stiles
c42782ad74 Create simple unit test for UniformManager types and layouts.
The first test is an extremely simple check (can we create a uniform of
every allowed type in every layout?) and already uncovered a bug, so
we're off to a good start.

Change-Id: If9d6aa9c0845727c5422185094711734951c2e0a
Bug: skia:13478
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/554339
Reviewed-by: Michael Ludwig <michaelludwig@google.com>
Auto-Submit: John Stiles <johnstiles@google.com>
Commit-Queue: Michael Ludwig <michaelludwig@google.com>
Commit-Queue: John Stiles <johnstiles@google.com>
2022-06-30 01:43:37 +00:00
John Stiles
45fb8fc982 Add support for short uniform types in Metal.
In practice we didn't have any code which uses uniform shorts, but
unit testing quickly uncovered that this conversion path was never
written. (In non-Metal layouts, getUniformTypeForLayout will convert
the shorts to 32-bit ints.)

Change-Id: I31985628d7f03e1e6d1ce592d6a4b6eb4598718e
Bug: skia:13478
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/554338
Auto-Submit: John Stiles <johnstiles@google.com>
Reviewed-by: Jim Van Verth <jvanverth@google.com>
Commit-Queue: John Stiles <johnstiles@google.com>
2022-06-30 01:43:12 +00:00
Jim Van Verth
fdf8628521 [graphite] Re-enable text as paths.
Mistakenly changed this with the last CL.

Bug: skia:13118
Change-Id: Iadf39a8dc37a7d6bc5ffcc15031ba8c4d8ffec27
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/554340
Reviewed-by: Michael Ludwig <michaelludwig@google.com>
Commit-Queue: Michael Ludwig <michaelludwig@google.com>
Auto-Submit: Jim Van Verth <jvanverth@google.com>
2022-06-29 21:04:28 +00:00
Arman Uguray
62c44d7e93 [canvaskit] New public API methods for WebGPU context creation
Bug: skia:13427
Change-Id: I259d3617317a1473c6f703dd2023e63e42d8e534
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/550327
Reviewed-by: Kevin Lubick <kjlubick@google.com>
Commit-Queue: Arman Uguray <armansito@google.com>
2022-06-29 20:49:31 +00:00
Greg Daniel
bf65800589 [Graphite] Store Task Graph on Recording.
Bug: skia:13357
Change-Id: Ib2566e9c38f667368b20f18ed2b1851615602cad
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/548480
Reviewed-by: Michael Ludwig <michaelludwig@google.com>
Commit-Queue: Greg Daniel <egdaniel@google.com>
2022-06-29 20:42:49 +00:00
Herb Derby
70b94c946a Aggressively check maximum glyph dimensions
Because glyph dimensions are always forced to integers, using simple
ratios to calculate scaling factors doesn't always create glyphs that
are small enough to fit in the atlas.

Keep reducing the font size until all the glyphs fit in the atlas.

Change-Id: Iac2c75d0e58dfd993ea5e8e356eae762eaa111d4
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/554078
Commit-Queue: Herb Derby <herb@google.com>
Reviewed-by: Jim Van Verth <jvanverth@google.com>
2022-06-29 20:05:28 +00:00
Jim Van Verth
96da16d221 [graphite] Hook up text renderers.
Sets up the matrix that transforms the SubRun data to device space,
and adds a method to get the correct Renderer for a SubRun.

Bug: skia:13118
Change-Id: I6d478af02a5e21635a7ed6c49f1c2a0649937f8b
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/553524
Reviewed-by: Michael Ludwig <michaelludwig@google.com>
Commit-Queue: Jim Van Verth <jvanverth@google.com>
2022-06-29 19:55:13 +00:00
Robert Phillips
c0cd71d4fd [graphite] Add compile guards to precompile system (take 2)
Bug: skia:13430
Change-Id: I64d6049fec8cc942a8f7c56c01ba292cc8f3835c
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/554378
Commit-Queue: Robert Phillips <robertphillips@google.com>
Reviewed-by: Greg Daniel <egdaniel@google.com>
2022-06-29 19:37:15 +00:00
Brian Salomon
9666709f37 Add offset parameter to GrGpuBuffer::updateData.
Bug: skia:13427
Change-Id: I05e538bb9464d32817a39c8d38e53c2b284c2960
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/553357
Commit-Queue: Brian Salomon <bsalomon@google.com>
Reviewed-by: Jim Van Verth <jvanverth@google.com>
2022-06-29 19:21:55 +00:00
Ethan Nicholas
4d378b4b9f Added threadgroup modifier to compute shaders
Change-Id: I3a244bcd25994217d5107de98c24c144f2dabdf0
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/543076
Reviewed-by: John Stiles <johnstiles@google.com>
Commit-Queue: Ethan Nicholas <ethannicholas@google.com>
2022-06-29 18:06:28 +00:00
Herb Derby
eabb1067e9 Replace SK_ARRAY_COUNT with std::size() for skia/src/gpu
Change-Id: I9451a06f43de66727b9562a29eea7b838175712b
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/554336
Commit-Queue: Herb Derby <herb@google.com>
Reviewed-by: Robert Phillips <robertphillips@google.com>
2022-06-29 15:57:58 +00:00
John Stiles
e3161ca50c Expose generic uniform-write ability.
Internally, uniform gathering used a generic method based on the
SkSLType of the uniform, but the exposed methods only allowed writing
(a subset of) those uniform types, via overloads/type deduction.
It's easiest for Runtime Effects to write the uniforms generically,
using the SkSLType approach.

This CL exposes the SkSLType-based approach publicly, and makes it
work properly with the UniformExpectationValidator.

Change-Id: I7484859fba664bd422e270a57d59fd49cb2c54c0
Bug: skia:13457
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/554079
Reviewed-by: Jim Van Verth <jvanverth@google.com>
Auto-Submit: John Stiles <johnstiles@google.com>
Commit-Queue: Jim Van Verth <jvanverth@google.com>
2022-06-29 15:52:55 +00:00
skia-autoroll
1345058543 Roll vulkan-deps from 4e6188c82519 to 5d1ce362f85f (2 revisions)
https://chromium.googlesource.com/vulkan-deps.git/+log/4e6188c82519..5d1ce362f85f

Also rolling transitive DEPS:
  https://skia.googlesource.com/external/github.com/KhronosGroup/SPIRV-Tools from 37d2396cabe5 to 66d88508dd31

If this roll has caused a breakage, revert this CL and stop the roller
using the controls here:
https://autoroll.skia.org/r/vulkan-deps-skia-autoroll
Please CC borenet@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

Cq-Include-Trybots: skia/skia.primary:Build-Debian10-Clang-x86_64-Debug-Dawn;skia/skia.primary:Build-Debian10-Clang-x86_64-Release-ANGLE;skia/skia.primary:Test-Win10-Clang-NUC5i7RYH-GPU-IntelIris6100-x86_64-Debug-All-ANGLE
Bug: None
Tbr: borenet@google.com
Change-Id: I9a2b522e41394c0bd43295d83de058a9a025d97a
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/554457
Bot-Commit: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
Commit-Queue: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
2022-06-29 15:52:42 +00:00
Kevin Lubick
d6d513778a [canvaskit] Handle Premul textures better
See https://github.com/flutter/flutter/issues/106433

Change-Id: Ib11fcd208d2c2c275a5119edbd2678a058ef4b22
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/553523
Reviewed-by: Greg Daniel <egdaniel@google.com>
2022-06-29 15:25:03 +00:00
John Stiles
3a0d4d974e Add custom glue code for Graphite runtime shaders.
At present, the custom glue code just emits a function that behaves
the same as `sk_runtime_placeholder` (solid magenta). It does
generate a standalone function in the preamble, though, and correctly
passes the local-coords and input color to it.

Change-Id: I0832c406f2273630f853ace420120deb0b7bd745
Bug: skia:13405
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/554080
Commit-Queue: John Stiles <johnstiles@google.com>
Reviewed-by: Michael Ludwig <michaelludwig@google.com>
2022-06-29 15:24:58 +00:00
Jim Van Verth
e34d528b86 [graphite] Add Geometry creation for text.
Adds SubRunData class to wrap all of the necessary data to be passed
to the text Renderers.

Bug: skia:13118
Change-Id: I0bc9988400817951abc0876dc56197b89ce0bcfd
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/553586
Reviewed-by: Michael Ludwig <michaelludwig@google.com>
Commit-Queue: Jim Van Verth <jvanverth@google.com>
2022-06-29 15:14:47 +00:00
Michael Ludwig
9b88c8b66c Manual dawn roll
Bug: skia:13477
Change-Id: I524e076282e9dde3a8ad5d39c58e6054f684fbf0
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/554376
Reviewed-by: Kevin Lubick <kjlubick@google.com>
Commit-Queue: Michael Ludwig <michaelludwig@google.com>
Auto-Submit: Michael Ludwig <michaelludwig@google.com>
2022-06-29 15:02:34 +00:00
Kevin Lubick
187340c89e Revert "[graphite] Add compile guards to precompile system"
This reverts commit 1da712adda.

Reason for revert: Breaking G3

Original change's description:
> [graphite] Add compile guards to precompile system
>
> Bug: skia:13430
> Change-Id: I6c577b459bc3a699e6c660d21d2b119643fe1f88
> Reviewed-on: https://skia-review.googlesource.com/c/skia/+/553877
> Reviewed-by: Eric Boren <borenet@google.com>
> Reviewed-by: Greg Daniel <egdaniel@google.com>
> Commit-Queue: Robert Phillips <robertphillips@google.com>

Bug: skia:13430
Change-Id: I2fd518c9b7950e362e8c27cc74811f840887c7fa
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/554377
Owners-Override: Kevin Lubick <kjlubick@google.com>
Bot-Commit: Rubber Stamper <rubber-stamper@appspot.gserviceaccount.com>
2022-06-29 14:58:21 +00:00
Robert Phillips
1da712adda [graphite] Add compile guards to precompile system
Bug: skia:13430
Change-Id: I6c577b459bc3a699e6c660d21d2b119643fe1f88
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/553877
Reviewed-by: Eric Boren <borenet@google.com>
Reviewed-by: Greg Daniel <egdaniel@google.com>
Commit-Queue: Robert Phillips <robertphillips@google.com>
2022-06-29 13:48:45 +00:00
John Stiles
e2a70692dc Factor out addTextToArena into dedicated function.
This code has the potential for reuse, and is complex enough to stand on
its own. (I thought I would need to reuse it in a separate CL, but I
eventually realized that I wouldn't need it; still, it's useful to have
prepared.)

Change-Id: I5da1a39d57cd3d4b2504932801002b6eead22915
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/554081
Reviewed-by: Michael Ludwig <michaelludwig@google.com>
Auto-Submit: John Stiles <johnstiles@google.com>
Commit-Queue: Michael Ludwig <michaelludwig@google.com>
2022-06-29 13:25:56 +00:00
skia-autoroll
ecf0246a7e Roll ANGLE from c775dd498ae4 to d50b22764b7f (11 revisions)
c775dd498a..d50b22764b

2022-06-28 m.maiya@samsung.com Reland "Vulkan: Support EGL_ANDROID_front_buffer_auto_refresh"
2022-06-28 ffz@google.com Tests: Add Uber trace
2022-06-28 syoussefi@chromium.org Vulkan: Don't sync pipeline cache if warm up is effective
2022-06-28 angle-autoroll@skia-public.iam.gserviceaccount.com Roll vulkan-deps from 11ad77222bfe to 137b026580e5 (1 revision)
2022-06-28 syoussefi@chromium.org Document angle_restricted_traces
2022-06-28 lexa.knyazev@gmail.com Fix typos in multi-draw extension specs
2022-06-28 jdapena@igalia.com libstdc++: move FramebufferHelper to cache utils
2022-06-28 b.schade@samsung.com Fix ValidateES3TexImageParametersBase for glTexImage*D
2022-06-28 gert.wollny@collabora.com libANGLE: Add a unique ID to the Surface
2022-06-28 cnorthrop@google.com Textures: Allow compressed texture from PBO
2022-06-28 cnorthrop@google.com Textures: Centralize texture format emulation check

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 borenet@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: borenet@google.com
Test: Test: PBOCompressedTexture3DTest
Test: Test: angle_perftests --gtest_filter="*uber*"
Change-Id: I7823cf9a20cf622c581c7891d25ec3fe79d10c1d
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/553954
Commit-Queue: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
Bot-Commit: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
2022-06-29 05:53:42 +00:00
Brian Salomon
240cb91f5e Add GrGpuBuffer MapType to describe map semantics.
Currently there are two values:
*Read - map for reading. effect of writes is undefined.
*WriteDiscard - discards previous contents before mapping for writing.

MapType is currently determined by GrGpuBufferType but is nonetheless
communicated to subclass via virtual onMap and onUnmap. Not all
backends actually actively discard with WriteDiscard for all types
of buffers.

Some internal map/unmap functions in GrGpuBuffer subclasses now take
ranges. This is in anticipation of adding an offset param to
updateData. Some backends that use mapping in onUpdateData will be
able to use a more optimal subrange. The exact meaning of the ranges depends on the backend API's mapping semantics (e.g. a range to map,
a range to flush from CPU to GPU, a range to complete gpu writes before
reading).

Bug: skia:13427
Change-Id: I470c70336eef1538855bd4951163fd74b06ea5f4
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/553356
Reviewed-by: Greg Daniel <egdaniel@google.com>
Commit-Queue: Brian Salomon <bsalomon@google.com>
Reviewed-by: Jim Van Verth <jvanverth@google.com>
2022-06-29 01:01:12 +00:00
Aaron Krajeski
93f5c2b6f0 SkPixmap::getColor4f and SkBitmap::getColor4f
Part of an ongoing effort to move chromium away from SkColor and towards SkColor4f: crbug.com/1308932

Many tests use SkBitmap::getColor to validate pixels, this means that we're now in a state where we draw using float colors but then have to validate the operation with the nearest integer color value. As can be seen in SoftwareRendererTest.SolidColorQuad.

Change-Id: Ic4493e578c8f4066c2439f1e793eef10eb4f4056
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/553797
Reviewed-by: Brian Osman <brianosman@google.com>
Commit-Queue: Brian Osman <brianosman@google.com>
2022-06-28 23:54:01 +00:00