This code contained lots of handcrafted bit-packing logic, but
GrProcessorKeyBuilder already knows how to pack bits for us.
Change-Id: Ia076524db99b5a56de08dc829600d32fecc1d456
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/415896
Commit-Queue: Greg Daniel <egdaniel@google.com>
Auto-Submit: John Stiles <johnstiles@google.com>
Reviewed-by: Greg Daniel <egdaniel@google.com>
The dest-texture uniforms are being set directly inside GrPipeline now;
our callers don't have any other reason to inspect the offset.
Change-Id: I319287cc26767a4ea294da6615e83168500b318f
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/415876
Commit-Queue: John Stiles <johnstiles@google.com>
Commit-Queue: Greg Daniel <egdaniel@google.com>
Auto-Submit: John Stiles <johnstiles@google.com>
Reviewed-by: Greg Daniel <egdaniel@google.com>
This reverts commit c227bbea02.
Reason for revert: Breaking Win7 Golo
Original change's description:
> [infra] Roll Infra dep to update CIPD packages
>
> This is intended to pick up https://skia-review.googlesource.com/c/buildbot/+/414458 which updates the tasks to use cpython3, but it also updates the luci-auth, kitchen, and git packages.
>
> Also includes fixes needed after https://skia-review.googlesource.com/c/buildbot/+/387896
>
> Bug: chromium:1210114
> Change-Id: I2003be762b59a08a6b972b6563e4f3a9920b082d
> Reviewed-on: https://skia-review.googlesource.com/c/skia/+/414438
> Reviewed-by: Kevin Lubick <kjlubick@google.com>
> Reviewed-by: Joe Gregorio <jcgregorio@google.com>
> Commit-Queue: Eric Boren <borenet@google.com>
TBR=borenet@google.com,jcgregorio@google.com,kjlubick@google.com
Change-Id: Ie4cf5932ad163d2085ecd7c08b915cbeaea3f14b
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Bug: chromium:1210114
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/415899
Reviewed-by: Eric Boren <borenet@google.com>
Commit-Queue: Eric Boren <borenet@google.com>
RenderTargetContext was renamed several months ago; this CL just fixes
up a few related names which hadn't yet updated yet.
Change-Id: I59a6ea92fc5d309a9b45a83e3aca6e49cb8d662e
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/415745
Auto-Submit: John Stiles <johnstiles@google.com>
Commit-Queue: John Stiles <johnstiles@google.com>
Reviewed-by: Robert Phillips <robertphillips@google.com>
This fragment processor reads back the color from the destination
surface; you can then use it as an input to other fragment processors.
Change-Id: Ibfe01fa92cf043f31e8284b7c7ed6c3d284d6429
Bug: skia:12066
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/415158
Commit-Queue: John Stiles <johnstiles@google.com>
Auto-Submit: John Stiles <johnstiles@google.com>
Reviewed-by: Brian Osman <brianosman@google.com>
This allows it to be read by any stage of fragment processing, without
needing to pass it between functions.
Change-Id: I0fdabd37f3c47e40b622766ab84c482147970284
Bug: skia:12066
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/415742
Commit-Queue: John Stiles <johnstiles@google.com>
Auto-Submit: John Stiles <johnstiles@google.com>
Reviewed-by: Brian Salomon <bsalomon@google.com>
Previously we blocked all PBO->texture transfers.
Bug: angleproject:5542
Change-Id: I1decfbc9293c03da125716c73e6d635e2ab9cb1d
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/406997
Commit-Queue: Brian Salomon <bsalomon@google.com>
Reviewed-by: Robert Phillips <robertphillips@google.com>
Paint both sides (two passes), and skip a face for inside visibility.
Change-Id: I138d790578c4ce30c7d4df9400485a983c1f9e95
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/414900
Commit-Queue: Florin Malita <fmalita@google.com>
Reviewed-by: Jorge Betancourt <jmbetancourt@google.com>
Additionally, pass return value from native save and saveLayer to java
Change-Id: I1a4e04305ba8e57f6a639978b00f8e2ca1a59f90
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/415170
Commit-Queue: Jorge Betancourt <jmbetancourt@google.com>
Reviewed-by: Florin Malita <fmalita@chromium.org>
It's slightly more efficient to use fewer uniforms where possible. Fewer
lines of SkSL code, fewer variable names in the symbol table, and fewer
uniform-setting calls to OpenGL.
Change-Id: I790c6c967c058a1fdbb2b5e6088173b89aadba67
Bug: skia:12066
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/415740
Commit-Queue: John Stiles <johnstiles@google.com>
Auto-Submit: John Stiles <johnstiles@google.com>
Reviewed-by: Brian Salomon <bsalomon@google.com>
The destination texture readback now occurs before any fragment
processors run. This makes `_dstColor` accessible to fragment shaders.
Change-Id: Ifa5bd76de46414a21d7ae15ccf40938b4336429f
Bug: skia:12066
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/415737
Reviewed-by: Brian Salomon <bsalomon@google.com>
Commit-Queue: Brian Salomon <bsalomon@google.com>
Auto-Submit: John Stiles <johnstiles@google.com>
Bug: skia:11837
Change-Id: I4fa19c46b38659d160de92de90e80a23ee8e5fcc
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/415461
Reviewed-by: Michael Ludwig <michaelludwig@google.com>
Commit-Queue: Robert Phillips <robertphillips@google.com>
Bug: skia:12055
Bug: chromium:1213633
The old decoder was lenient on images with extra pixel data, so use
WUFFS_GIF__QUIRK_IGNORE_TOO_MUCH_PIXEL_DATA to match the behavior.
Change-Id: I626e8cad4d2466d3a076b9fed659e96b6373cb80
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/414417
Commit-Queue: Leon Scroggins <scroggo@google.com>
Reviewed-by: Nigel Tao <nigeltao@google.com>
and make SkSurface_Gpu hold an SkBaseGpuDevice.
Bug: skia:11837
Change-Id: Ief3b78440bce95a6b95f26642130ba8e2f2f3193
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/415460
Reviewed-by: Michael Ludwig <michaelludwig@google.com>
Commit-Queue: Robert Phillips <robertphillips@google.com>
Previously, these lived in GrGLSLXferProcessor because only XPs needed
to support readback from the destination. We want the allow destination
readback from anywhere in the fragment pipeline (either FPs or XPs), so
a shared location was needed.
Followup CLs will continue to move dest-texture support out of XPs and
into shared/common homes.
Change-Id: Ic14de687463c0b234abe2d293b934d726646a17d
Bug: skia:12066
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/415556
Auto-Submit: John Stiles <johnstiles@google.com>
Commit-Queue: Brian Salomon <bsalomon@google.com>
Reviewed-by: Brian Salomon <bsalomon@google.com>
152450f821..fafd64a62e
2021-06-04 syoussefi@chromium.org Vulkan: SPIR-V Gen: Matrix decorations
2021-06-04 m.maiya@samsung.com Vulkan: Handle immutable sampler state change in TextureVk
2021-06-03 cnorthrop@google.com Tests: Skip flaky capture_replay_tests
2021-06-03 syoussefi@chromium.org Vulkan: Fix missing operand list in OpExecutionMode parser & builder
2021-06-03 jmadill@chromium.org Revert "Capture/Replay: Emit SetupReplay() late"
2021-06-03 cnorthrop@google.com Revert "FrameCapture: Write the frame cpp file even if frame is empty"
2021-06-03 jmadill@chromium.org Add missing buffer validation to BeginTransformFeedback.
2021-06-03 angle-autoroll@skia-public.iam.gserviceaccount.com Roll VK-GL-CTS from 2e0ecf9812ba to c25238228ea4 (11 revisions)
2021-06-03 syoussefi@chromium.org Vulkan: SPIR-V Gen: Code blocks
2021-06-03 jmadill@chromium.org Experimental fix for stdout freopen race.
2021-06-03 ynovikov@chromium.org Revert "Make SH_CLAMP_INDIRECT_ARRAY_BOUNDS do proper AST transformation"
2021-06-03 cnorthrop@google.com Tests: Add Genshin Impact trace
2021-06-03 syoussefi@chromium.org Make SH_CLAMP_INDIRECT_ARRAY_BOUNDS do proper AST transformation
2021-06-03 jmadill@chromium.org Gold Tests: Fix sharding + batching.
2021-06-03 angle-autoroll@skia-public.iam.gserviceaccount.com Roll SwiftShader from 90c0551ca547 to c1e4abc1bcfe (2 revisions)
2021-06-03 angle-autoroll@skia-public.iam.gserviceaccount.com Roll vulkan-deps from 682cfc04ad59 to c245c9a0bac1 (4 revisions)
2021-06-03 angle-autoroll@skia-public.iam.gserviceaccount.com Roll Chromium from 1413aecd34bf to b078d3ef5de8 (417 revisions)
2021-06-03 syoussefi@chromium.org Vulkan: SPIR-V Gen: Handle constants and constructors
2021-06-03 ynovikov@chromium.org Skip flaky end2end tests on Mac AMD OpenGL
2021-06-03 syoussefi@chromium.org Vulkan: SPIR-V Gen: Handle load/store access chain
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 lovisolo@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: lovisolo@google.com
Test: Test: ImageTest.SourceAHBTarget2DExternalCycleThrough*Vulkan
Test: Test: angle_perftests --gtest_filter="*genshin_impact*"
Change-Id: I1df1b7ac9ffe99f074756cd879d6b984c8a1bc8c
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/415617
Reviewed-by: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
Commit-Queue: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
The vertex ID bug was specific to legacy GL SwiftShader. The unit test
failure on the Vulkan cc_unittests was actually due to skia:12056.
Bug: skia:11965
Bug: skia:12056
Bug: b/188239650
Change-Id: I0fd27c6e48a7a14d0367d2e7db7e4e70cd7dad1d
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/415116
Reviewed-by: Brian Salomon <bsalomon@google.com>
Commit-Queue: Chris Dalton <csmartdalton@google.com>
This ensures stencil contents get properly preserved between render
passes, if needed.
Bug: skia:11396
Change-Id: Ib4219a5b4cbc7015ec16bb0294e5836c48ac29e4
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/415357
Reviewed-by: Brian Salomon <bsalomon@google.com>
Commit-Queue: Chris Dalton <csmartdalton@google.com>
Bug: skia:11837
Change-Id: I72dfef62f497af417d3f7248a58aad272f095398
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/415171
Reviewed-by: Michael Ludwig <michaelludwig@google.com>
Commit-Queue: Robert Phillips <robertphillips@google.com>
The goal here is to delegate these calls to the SkBaseGpuDevice-derived
classes so SkSurface_Gpu doesn't need to know about SDCs.
Bug: skia:11837
Change-Id: I28bea7ad1cf5d9fc0ce690b2bd70ff79e022f8d2
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/414998
Reviewed-by: Michael Ludwig <michaelludwig@google.com>
Commit-Queue: Robert Phillips <robertphillips@google.com>
The GTX 1080 Ti with driver version 466.47 wants to enable
VK_NV_acquire_winrt_display, which depends on VK_EXT_direct_mode_display
but VK_EXT_direct_mode_display is not one of its available device
extensions. This leads to correct validation errors that prevent viewer
from launching in debug mode.
Change-Id: I989477861007d7a5baa529698ffd86910618b9f8
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/415173
Reviewed-by: Greg Daniel <egdaniel@google.com>
Commit-Queue: Michael Ludwig <michaelludwig@google.com>
Commit-Queue: Greg Daniel <egdaniel@google.com>
Auto-Submit: Michael Ludwig <michaelludwig@google.com>
First try, all tests work.
Change-Id: Ifb1b102b3fc45d714d706e9c123d3ca0aeafd600
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/415156
Reviewed-by: Mike Reed <reed@google.com>
Commit-Queue: Julia Lavrova <jlavrova@google.com>
While the SDC-accessing versions have to stick around due to their
usage in unit tests, they will return null when exercising the NGA.
The render-target-proxy versions will work in both the OGA and NGA
and should, thus, be prefered.
Bug: skia:11837
Change-Id: I36213472e46e9da3ae6561f80d413090ceb6ad3e
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/415058
Commit-Queue: Robert Phillips <robertphillips@google.com>
Reviewed-by: Brian Salomon <bsalomon@google.com>
The GrProcessor analysis pass needs to know if the dest-texture is
required. XPs already had a flag for this; now FPs have one as well.
Change-Id: I4ff88edfc7e9c735e9c2e23327c65e9f569a6b60
Bug: skia:12066
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/415166
Reviewed-by: Greg Daniel <egdaniel@google.com>
Commit-Queue: Greg Daniel <egdaniel@google.com>
Auto-Submit: John Stiles <johnstiles@google.com>
This early-out was a useful optimization when the passed-in count could
be large, but the analysis pass only takes 1-2 inputs nowadays, so it
doesn't add value. (Even if we did have a lot of inputs, most of the
checks in this loop correspond directly to a flag-bit check on an FP;
they aren't expensive either way.)
Also, did some minor polish/variable renaming for readability.
Change-Id: I556db3269fd2f1781b4b0ff26a252ba4c76a1d4b
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/415378
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>
In the future, the SDC won't be return by SkCanvas/SkDevices and gms/tests that rely on it won't be run. These GMs don't actually require the SDC.
There is also some opportunistic renaming going on.
TBR=michaelludwig@google.com
Change-Id: I15cbaf69269892fbbf229c0263b567425049c3f0
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/415167
Reviewed-by: Robert Phillips <robertphillips@google.com>
Commit-Queue: Robert Phillips <robertphillips@google.com>
Bumps [ws](https://github.com/websockets/ws) from 7.3.0 to 7.4.6.
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a href="https://github.com/websockets/ws/releases">ws's releases</a>.</em></p>
<blockquote>
<h2>7.4.6</h2>
<h1>Bug fixes</h1>
<ul>
<li>Fixed a ReDoS vulnerability (00c425ec).</li>
</ul>
<p>A specially crafted value of the <code>Sec-Websocket-Protocol</code> header could be used
to significantly slow down a ws server.</p>
<pre lang="js"><code>for (const length of [1000, 2000, 4000, 8000, 16000, 32000]) {
const value = 'b' + ' '.repeat(length) + 'x';
const start = process.hrtime.bigint();
<p>value.trim().split(/ *, */);</p>
<p>const end = process.hrtime.bigint();</p>
<p>console.log('length = %d, time = %f ns', length, end - start);
}
</code></pre></p>
<p>The vulnerability was responsibly disclosed along with a fix in private by
<a href="https://github.com/robmcl4">Robert McLaughlin</a> from University of California, Santa Barbara.</p>
<p>In vulnerable versions of ws, the issue can be mitigated by reducing the maximum
allowed length of the request headers using the <a href="https://nodejs.org/api/cli.html#cli_max_http_header_size_size"><code>--max-http-header-size=size</code></a>
and/or the <a href="https://nodejs.org/api/http.html#http_http_createserver_options_requestlistener"><code>maxHeaderSize</code></a> options.</p>
<h2>7.4.5</h2>
<h1>Bug fixes</h1>
<ul>
<li>UTF-8 validation is now done even if <code>utf-8-validate</code> is not installed
(23ba6b29).</li>
<li>Fixed an edge case where <code>websocket.close()</code> and <code>websocket.terminate()</code> did
not close the connection (67e25ff5).</li>
</ul>
<h2>7.4.4</h2>
<h1>Bug fixes</h1>
<ul>
<li>Fixed a bug that could cause the process to crash when using the
permessage-deflate extension (92774377).</li>
</ul>
<h2>7.4.3</h2>
<h1>Bug fixes</h1>
<ul>
<li>The deflate/inflate stream is now reset instead of reinitialized when context
takeover is disabled (<a href="https://github-redirect.dependabot.com/websockets/ws/issues/1840">#1840</a>).</li>
</ul>
<h2>7.4.2</h2>
<h1>Bug fixes</h1>
<!-- raw HTML omitted -->
</blockquote>
<p>... (truncated)</p>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a href="f5297f7090"><code>f5297f7</code></a> [dist] 7.4.6</li>
<li><a href="00c425ec77"><code>00c425e</code></a> [security] Fix ReDoS vulnerability</li>
<li><a href="990306d144"><code>990306d</code></a> [lint] Fix prettier error</li>
<li><a href="32e3a8439b"><code>32e3a84</code></a> [security] Remove reference to Node Security Project</li>
<li><a href="8c914d18b8"><code>8c914d1</code></a> [minor] Fix nits</li>
<li><a href="fc7e27d12a"><code>fc7e27d</code></a> [ci] Test on node 16</li>
<li><a href="587c201bfc"><code>587c201</code></a> [ci] Do not test on node 15</li>
<li><a href="f672710797"><code>f672710</code></a> [dist] 7.4.5</li>
<li><a href="67e25ff502"><code>67e25ff</code></a> [fix] Fix case where <code>abortHandshake()</code> does not close the connection</li>
<li><a href="23ba6b2922"><code>23ba6b2</code></a> [fix] Make UTF-8 validation work even if utf-8-validate is not installed</li>
<li>Additional commits viewable in <a href="https://github.com/websockets/ws/compare/7.3.0...7.4.6">compare view</a></li>
</ul>
</details>
<br />
[![Dependabot compatibility score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=ws&package-manager=npm_and_yarn&previous-version=7.3.0&new-version=7.4.6)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores)
Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting `@dependabot rebase`.
[//]: # (dependabot-automerge-start)
[//]: # (dependabot-automerge-end)
---
<details>
<summary>Dependabot commands and options</summary>
<br />
You can trigger Dependabot actions by commenting on this PR:
- `@dependabot rebase` will rebase this PR
- `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it
- `@dependabot merge` will merge this PR after your CI passes on it
- `@dependabot squash and merge` will squash and merge this PR after your CI passes on it
- `@dependabot cancel merge` will cancel a previously requested merge and block automerging
- `@dependabot reopen` will reopen this PR if it is closed
- `@dependabot close` will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
- `@dependabot ignore this major version` will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
- `@dependabot ignore this minor version` will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
- `@dependabot ignore this dependency` will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
- `@dependabot use these labels` will set the current labels as the default for future PRs for this repo and language
- `@dependabot use these reviewers` will set the current reviewers as the default for future PRs for this repo and language
- `@dependabot use these assignees` will set the current assignees as the default for future PRs for this repo and language
- `@dependabot use this milestone` will set the current milestone as the default for future PRs for this repo and language
You can disable automated security fix PRs for this repo from the [Security Alerts page](https://github.com/google/skia/network/alerts).
</details>
This is an imported pull request from
https://github.com/google/skia/pull/80
GitOrigin-RevId: a9a98b522212ab86f81c15979a3550ea7e276edb
Change-Id: Ia61edf467fb25d96bed7066b9355975005ca6393
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/415377
Reviewed-by: Ravi Mistry <rmistry@google.com>
Commit-Queue: Ravi Mistry <rmistry@google.com>
Previous code had assumed that width/height of targetOutput bounds were
reasonable and restricted by having to allocate an actual buffer. For
picture recording, etc. there is no such limit and the canvas dimensions
are unbounded, so this prevents the overflow and UB.
TBR=robertphillips@google.com
Change-Id: If00e2327021c0fa2515b5e33fd1dbb5451ed2fe9
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/415169
Reviewed-by: Michael Ludwig <michaelludwig@google.com>
Commit-Queue: Michael Ludwig <michaelludwig@google.com>
Auto-Submit: Michael Ludwig <michaelludwig@google.com>
Change-Id: I4f0d1358eeb2046ebf7b7830dd9e7c39add33393
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/414997
Commit-Queue: Eric Boren <borenet@google.com>
Reviewed-by: Ravi Mistry <rmistry@google.com>
This reverts commit 1fe2b80dc7.
Reason for revert: TODO investigating chrome unit test failures
Original change's description:
> Revert "Reland "Draw image filters directly under non-axis-aligned transforms""
>
> This reverts commit 7712db9c24.
>
> Reason for revert: blink unittests and maybe vulkan+skiarenderer masks appear broken. The blink unittests had actually failed with original CL, but was missed because of focus on Android. Not sure what's going on yet.
>
> Original change's description:
> > Reland "Draw image filters directly under non-axis-aligned transforms"
> >
> > This reverts commit 6cafdc069b.
> >
> > Reason for revert: Fixes unit test failure in Android
> >
> > In the original version, this internalSaveLayer() returned early if the
> > strategy was kNoLayer. This diverged from the old code that updated the
> > canvas' clip bounds and then returned before making the layer. A comment
> > had suggested this was maybe okay to switch to this early out, but it
> > turns out that's not the case.
> >
> > In Android's unit tests, it queries the clip bounds on a recording canvas
> > which always uses a no-layer strategy. However, we do need to set the
> > clip bounds of these types of canvas' (or virtual wrappers of a real
> > canvas) so that they stay consistent with a real canvas.
> >
> > The unit tests had two failures, first the bounds and second a color
> > mismatch after reading back. However, the bounds test was an ASSERT_EQ
> > inside an SkDrawable function. ASSERT_EQ aborts the current function, so
> > it never ran the drawRect that sets the color to green. The later
> > readback is outside the drawable function, so that test still happened
> > and failed. The only real issue to fix is the clip bounds tracking; once
> > that unit test succeeds, the color readback will work properly.
> >
> > Original change's description:
> > > Revert "Draw image filters directly under non-axis-aligned transforms"
> > >
> > > This reverts commit f8f23b2030.
> > >
> > > Reason for revert: b/172617382 is creating issues for Android's Webview
> > >
> > > Original change's description:
> > > > Draw image filters directly under non-axis-aligned transforms
> > > >
> > > > This removes hacking the canvas CTM and wrapping the paint's image
> > > > filter in a special MatrixTransform that computed a post-transform
> > > > instead of its documented pre-transform effect. Performance-wise, the
> > > > computed layer sizes should be about the same, but we avoid one less
> > > > render target switch because we apply the transformation while drawing
> > > > to the dst device, vs. transforming into another temporary layer and
> > > > then drawing that to the dst device.
> > > >
> > > > Several important changes in behavior here:
> > > > 1. The DeviceCM record no longer has a stashed matrix to restore and
> > > > holds its restoration paint directly.
> > > > 2. Devices for image filter inputs can now have device-to-global
> > > > transforms that are not integer translates.
> > > > 3. The MatrixTransform hack punted when there was perspective because it
> > > > could produce excessively large temporary images, but the new version
> > > > appears to work around that. We now impose a maximum layer size to
> > > > protect against that and automatically scale the layer to prevent it.
> > > > Perspective image filters otherwise now draw correctly.
> > > > 6. Updated layer sizing code to use the new image filter APIs
> > > > 7. Updated backdrop filter and restore filters to go through the same
> > > > code paths, although restore filters skip the intermediate image
> > > > transform.
> > > > - layer bounds and transforms now go through the updated skif API
> > > > and is hopefully more straight forward to understand.
> > > > 8. Now we can optimize root color filter nodes of a filter DAG, even if
> > > > the entire DAG can't be represented as a color filter. The last node
> > > > is pulled off and composed with the restoration paint instead.
> > > >
> > > > Bug: skia:9074,skia:9283
> > > > Change-Id: I1fa1d50135b9d6d453b02f89aa3cc3b54deab678
> > > > Reviewed-on: https://skia-review.googlesource.com/c/skia/+/328376
> > > > Commit-Queue: Michael Ludwig <michaelludwig@google.com>
> > > > Reviewed-by: Brian Salomon <bsalomon@google.com>
> > >
> > > TBR=bsalomon@google.com,robertphillips@google.com,fmalita@google.com,reed@google.com,michaelludwig@google.com
> > >
> > > Change-Id: I098d0e4b8ee067b436400eb9fea047e629544eec
> > > No-Presubmit: true
> > > No-Tree-Checks: true
> > > No-Try: true
> > > Bug: skia:9074
> > > Bug: skia:9283
> > > Reviewed-on: https://skia-review.googlesource.com/c/skia/+/332737
> > > Reviewed-by: Michael Ludwig <michaelludwig@google.com>
> > > Reviewed-by: Derek Sollenberger <djsollen@google.com>
> > > Commit-Queue: Michael Ludwig <michaelludwig@google.com>
> >
> > TBR=djsollen@google.com,bsalomon@google.com,robertphillips@google.com,fmalita@google.com,reed@google.com,michaelludwig@google.com
> >
> > # Not skipping CQ checks because original CL landed > 1 day ago.
> >
> > Bug: skia:9074
> > Bug: skia:9283
> > Change-Id: Ifd5fed708d05a64ddccbd096fbf29896a44ef9f5
> > Reviewed-on: https://skia-review.googlesource.com/c/skia/+/333123
> > Reviewed-by: Brian Salomon <bsalomon@google.com>
> > Reviewed-by: Michael Ludwig <michaelludwig@google.com>
> > Commit-Queue: Michael Ludwig <michaelludwig@google.com>
>
> TBR=djsollen@google.com,bsalomon@google.com,robertphillips@google.com,fmalita@google.com,reed@google.com,michaelludwig@google.com
>
> Change-Id: I7758641e0279ab5af44794d70cd381bc0a69f956
> No-Presubmit: true
> No-Tree-Checks: true
> No-Try: true
> Bug: skia:9074
> Bug: skia:9283
> Reviewed-on: https://skia-review.googlesource.com/c/skia/+/333756
> Reviewed-by: Michael Ludwig <michaelludwig@google.com>
> Commit-Queue: Michael Ludwig <michaelludwig@google.com>
TBR=djsollen@google.com,bsalomon@google.com,robertphillips@google.com,fmalita@google.com,reed@google.com,michaelludwig@google.com
# Not skipping CQ checks because this is a reland.
Bug: skia:9074
Bug: skia:9283
Change-Id: Ifc0b962d0db8ef5c52fd31689306caca03420702
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/334040
Reviewed-by: Michael Ludwig <michaelludwig@google.com>
Reviewed-by: Robert Phillips <robertphillips@google.com>
Commit-Queue: Michael Ludwig <michaelludwig@google.com>
This includes a helper Surface.makeFromTextureSource that will
make the gl calls with some sensible defaults.
Change-Id: I31bb2f3118b4749e77fb1fc2cb013d35ccb7cfce
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/413336
Reviewed-by: Brian Osman <brianosman@google.com>
c12f594a19..152450f821
2021-06-03 ianelliott@google.com Fix ContextVk::handleNoopDrawEvent() for when no cmd buffer
2021-06-03 syoussefi@chromium.org Vulkan: Fix deferred clears vs 3D textures
2021-06-03 syoussefi@chromium.org Re-enable atomic counter tests on Vulkan/Windows
2021-06-03 ynovikov@chromium.org Mark a dEQP.GLES31 test slow
2021-06-02 cnorthrop@google.com Tests: Disable trace compilation for MSVC and GCC
2021-06-02 jmadill@chromium.org Add support for triggering gold tests.
2021-06-02 jplate@google.com CL: Add buffer enqueue commands
2021-06-02 jplate@google.com CL: Refactor front end entry functions
2021-06-02 cnorthrop@google.com Tests: Turn lineage_m on for Nvidia Linux
2021-06-02 ianelliott@google.com Create tests for GL_EXT_shader_framebuffer_fetch extension
2021-06-02 jplate@google.com CL: Remove object cache and fix multi-threading
2021-06-02 jplate@google.com CL: event creation for front end & passthrough
2021-06-02 kpiddington@apple.com Upstream Apple's direct-to-Metal backend: compile translator.
2021-06-02 jplate@google.com CL: kernel creation for front end & passthrough
2021-06-02 angle-autoroll@skia-public.iam.gserviceaccount.com Roll vulkan-deps from 6be0134d13be to 682cfc04ad59 (6 revisions)
2021-06-02 jplate@google.com CL: Improve validation readablity
2021-06-02 angle-autoroll@skia-public.iam.gserviceaccount.com Roll Chromium from 9fc71f2e66f4 to 1413aecd34bf (475 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 lovisolo@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: lovisolo@google.com
Test: Test: angle_perftests --gtest_filter="*lineage_m*"
Change-Id: I62b75686e95864d175625dd51c6f99bad3f65c74
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/415238
Reviewed-by: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
Commit-Queue: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
Emitting this sampler before FPs are emitted will allow FPs to do read-
back from the destination texture. (There are other missing pieces as
well--e.g. the fragment processor EmitArgs need to include this sampler
and its associated uniform, but that isn't included in this CL.)
Note that each rendering API implements texture-binding separately, so
all of them needed to be modified slightly to switch around the binding
order.
Change-Id: Ie32aa412422d2a6cc4d278a55b8263be082356eb
Bug: skia:12066
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/414999
Auto-Submit: John Stiles <johnstiles@google.com>
Commit-Queue: Brian Osman <brianosman@google.com>
Reviewed-by: Brian Osman <brianosman@google.com>