The original code would reject glyphs that were too large
(!canDrawAsMask or !canDrawAsSDFT). After CL/251760 this behavior
was change so, that glyphs were only rejected once,
and then never again. The next stage (path, etc.) would then not
know to send a glyph in future draws. This code allows glyphs
that can't draw as mask and can't draw as SDFT be rejected.
I don't have a unit test yet.
BUG=chromium:1058517
Change-Id: I6117bc96a8f306be63ffea17b9f4a34e7388645e
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/281724
Reviewed-by: Khushal Sagar <khushalsagar@google.com>
Commit-Queue: Herb Derby <herb@google.com>
MSAN points out we oughta initialize anywhere we pull a trick like this,
ptr[*ip+0] = skvx::if_then_else(mask(), POP().fFloat, ptr[*ip+0].fFloat);
Change-Id: I321f0d54b7f0f048df2e942dd70a6fabf6fd4efb
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/283493
Reviewed-by: Brian Osman <brianosman@google.com>
Commit-Queue: Mike Klein <mtklein@google.com>
Also removes now unused GrShaderVar::appendArrayAccess.
Bug: skia:10139
Change-Id: Ic2583a6822e88510551b1031f3fb130266b3f395
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/283440
Commit-Queue: Brian Salomon <bsalomon@google.com>
Reviewed-by: Michael Ludwig <michaelludwig@google.com>
Also make GrDynamicAtlas directly use the GrSurface callback type rather
than go through a springboard.
Change-Id: I3e3c155bbc1e2e794e0d6828b0ea3c64c6a7f3e9
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/283226
Commit-Queue: Brian Salomon <bsalomon@google.com>
Reviewed-by: Greg Daniel <egdaniel@google.com>
Reviewed-by: Robert Phillips <robertphillips@google.com>
And abstract out writing a single instruction to
share between the dumps.
TBR=mtklein@google.com
Change-Id: I5e129889131b5581d61a0359a06643edeb0ef2ae
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/283505
Reviewed-by: Herb Derby <herb@google.com>
Commit-Queue: Herb Derby <herb@google.com>
In the flush-time op spew it is clear which renderTasks are the Ops-based ones. This clarifies which of the other varieties occur.
Change-Id: I0e55b93f6e8d3cc0d9a9223f9c0ba967eeebb633
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/283483
Reviewed-by: Greg Daniel <egdaniel@google.com>
Commit-Queue: Robert Phillips <robertphillips@google.com>
Required introducing a new type for stop-color attribute. A test that
exercises this is 'color-prop-01-b'.
Note that stop-color should be an inherited presentation attribute, but
that is not addressed in this CL.
Change-Id: I65b99bfc989f1d4b5a0746de31011b0e72eb6c59
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/282592
Commit-Queue: Tyler Denniston <tdenniston@google.com>
Reviewed-by: Florin Malita <fmalita@chromium.org>
* Init D3D texture resources to an appropriate resource state
* Standardize struct initialization
Bug: skia:9935
Change-Id: Ie7113457d59503a25d60b7dc045fae670cf7aebf
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/283358
Reviewed-by: Greg Daniel <egdaniel@google.com>
Commit-Queue: Jim Van Verth <jvanverth@google.com>
This allows fragment processors to sample their children with their
local coordinate system transformed by a matrix.
Change-Id: Ifa848bbd85b939bbc5751fec5cf8f89ee904bf39
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/282590
Reviewed-by: Brian Salomon <bsalomon@google.com>
Reviewed-by: Brian Osman <brianosman@google.com>
Commit-Queue: Ethan Nicholas <ethannicholas@google.com>
-Make generated build tasks for Pixelbook use Debian9...Docker and rename those in jobs.json
---Non-Pixelbook ChromeOS build tasks now use regular Debian10, as they seem to handle it fine.
---Removed 2 Build-Debian9-Clang-arm-.*-Chromebook_GLES jobs, since they are now unused.
-Added docker logic to chromebook.py, refactored to handle the differing directory structure (TODO to simplify)
---Added docker-chromeos-compile.sh to run in the container.
---util function to convert to string that can be used in the python or passed to bash (cribbed from docker.py, will consolidate in later CL)
-Prerequisite for upgrading the last 10% of the fleet to Debian10
Bug: skia:9438
Change-Id: I0727aad2d00383e568ddbeea98d56d42bcca26e5
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/282678
Commit-Queue: Weston Tracey <westont@google.com>
Reviewed-by: Eric Boren <borenet@google.com>
- owned by canvas
- pointed to by devices
Change-Id: Ia5abc60434cd34810ceea09ecab63c6b25eb972e
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/283436
Reviewed-by: Brian Osman <brianosman@google.com>
Commit-Queue: Mike Reed <reed@google.com>
The SlotCount of unsupported types (eg, fragmentProcessor) is zero,
causing things like vector_instruction to assert. Bail out before that
happens.
Change-Id: I24440bd67f09c2a645a54392185716b116f36ec6
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/283357
Reviewed-by: John Stiles <johnstiles@google.com>
Commit-Queue: Brian Osman <brianosman@google.com>
Currently used by ChromeOS/Pixelbook build jobs and WIP Flutter Android jobs.
Bug: skia:9438
Change-Id: I25072814291670829d1c24bbad4e718022311455
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/282619
Commit-Queue: Weston Tracey <westont@google.com>
Reviewed-by: Ravi Mistry <rmistry@google.com>
Auto-Submit: Weston Tracey <westont@google.com>
cf2c8e6068..dee4d7a54e
git log cf2c8e6068c8..dee4d7a54e44 --date=short --first-parent --format='%ad %ae %s'
2020-04-13 cclao@google.com Vulkan: Early fragment tests optimization
2020-04-13 tobine@google.com Vulkan: Roll Headers and VVL repos
2020-04-13 angle-autoroll@skia-public.iam.gserviceaccount.com Roll third_party/glslang/src fd593d5f0834..46572440189e (1 commits)
2020-04-13 angle-autoroll@skia-public.iam.gserviceaccount.com Roll third_party/vulkan-tools/src 2fd41fab58c8..490e39372126 (2 commits)
2020-04-13 angle-autoroll@skia-public.iam.gserviceaccount.com Roll third_party/SwiftShader e6f65d9265e7..9d2fd9c161ab (2 commits)
Created with:
gclient setdep -r third_party/externals/angle2@dee4d7a54e44
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 kjlubick@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/+/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
Bug: None
Tbr: kjlubick@google.com
Change-Id: Ib83c7fc29e95918c3f46cbff38286f3fdb73fdc7
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/283407
Reviewed-by: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
Commit-Queue: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
Bug: chromium:1064305
Change-Id: I10ca629ff88a5492bb9f89075f6d92094340ff55
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/282076
Reviewed-by: Mike Klein <mtklein@google.com>
Commit-Queue: Zhenyao Mo <zmo@google.com>
I propose landing this, but then pause on extending math functions until
we develop a clearer migration story for sksl.
Change-Id: Id42ec37071da058e6e7809abe1ed0570d48df8e7
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/283229
Reviewed-by: Mike Klein <mtklein@google.com>
Commit-Queue: Mike Reed <reed@google.com>
Change-Id: I3a33d2f80fcb243faec40b13960ea0310723e53e
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/283356
Reviewed-by: Jim Van Verth <jvanverth@google.com>
Reviewed-by: Brian Salomon <bsalomon@google.com>
Commit-Queue: Greg Daniel <egdaniel@google.com>
Change-Id: Ie21dece49a891f5c2dec5fe9385489ece88ae690
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/283222
Commit-Queue: Greg Daniel <egdaniel@google.com>
Reviewed-by: Jim Van Verth <jvanverth@google.com>
These are neat but mostly just a distraction for now.
I've left all the assembly in place and unit tested
to make putting these back easy when we want to.
Change-Id: Id2bd05eca363baf9c4e31125ee79e722ded54cb7
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/283307
Commit-Queue: Mike Klein <mtklein@google.com>
Reviewed-by: Herb Derby <herb@google.com>
One new instruction movzwl needed.
Change-Id: Ic70ba34d667eb6d570aeca88c4243e0c3309525f
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/283305
Reviewed-by: Herb Derby <herb@google.com>
Commit-Queue: Mike Klein <mtklein@google.com>
They're all best implemented as compound operations,
either by swapping the arguments or bit-negating the
result, or both.
Change-Id: I429c10182b66be7211e9170037755cea617895ed
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/283299
Commit-Queue: Mike Klein <mtklein@google.com>
Reviewed-by: Herb Derby <herb@google.com>
- let skvm tell us if FMAs are supported
- unguard previously LLVM-only tests
- simplify testing JIT and interpreter
We're getting close enough to always being able to JIT that carefully
marking what JITs and what doesn't is more annoying than helpful.
Now just test the JIT if present, and always test the interpreter.
Change-Id: I83762b38e0773ccaee795ae0fc9907e86628d73e
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/283275
Commit-Queue: Mike Klein <mtklein@google.com>
Reviewed-by: Mike Reed <reed@google.com>
These are the dregs of the omnibus GrDrawOpAtlas CL
Change-Id: I0723346db293dd6650b905f661053955d2f46a1d
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/279908
Reviewed-by: Herb Derby <herb@google.com>
Commit-Queue: Robert Phillips <robertphillips@google.com>
Bug: skia:9935
Change-Id: I249b819d3cc1387aecde200907657ffcd67d1833
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/282591
Reviewed-by: Greg Daniel <egdaniel@google.com>
Commit-Queue: Jim Van Verth <jvanverth@google.com>
There was a bug where nonzero values from even/odd fills, whose LSB==0
were not getting reset.
Change-Id: I93b311c079c766d14e63fa8ca535f80597465fd5
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/283267
Reviewed-by: Greg Daniel <egdaniel@google.com>
Commit-Queue: Chris Dalton <csmartdalton@google.com>
This is intended to help debug path renderer chain/selection behavior.
Change-Id: I581c4428c2f0cc586504f904255f88d0d4d5eb53
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/283220
Reviewed-by: Greg Daniel <egdaniel@google.com>
Commit-Queue: Robert Phillips <robertphillips@google.com>
The text strike has very little to do with adding a glyph to an atlas.
Change-Id: I3f9da3d70587ef80aa7c20f1aa511ffdb09e7411
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/282842
Reviewed-by: Herb Derby <herb@google.com>
Commit-Queue: Robert Phillips <robertphillips@google.com>
Change-Id: I8bd4ba328b024364972ddafff70fb31ec5a79001
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/282621
Reviewed-by: Mike Klein <mtklein@google.com>
Commit-Queue: Brian Osman <brianosman@google.com>
Previously, in cases where the backbuffer was null, we would call layer->onPrePaint (which starts a new frame with ImGui::NewFrame) without a matching call to layer->onPaint (which calls ImGui::Render). This causes the ImGui frame counter to go out of sync, which leads to an assertion when NewFrame is next called.
(The backbuffer can become null if unsupported settings are used, e.g. a MSAA setting above the maximum supported by your GPU.)
Change-Id: I1b8fbaa1bf78ad5e1aa41fd04eda6be206c952b4
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/283196
Commit-Queue: Brian Osman <brianosman@google.com>
Reviewed-by: Brian Osman <brianosman@google.com>
Auto-Submit: John Stiles <johnstiles@google.com>
This centralizes the PlotLocator code (esp. the construction & accessors). It also allows just the PlotLocator to be passed to hasID - since the AtlasLocator is overkill for that call.
Change-Id: I424b2d075c40ed46219a623f0c99b3101bc7e043
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/282861
Reviewed-by: Herb Derby <herb@google.com>
Commit-Queue: Robert Phillips <robertphillips@google.com>
This looks to be the culprit behind the failing/flaky metal bots. Not
sure what the direct cause is because it was different tests that were
failing and I would have thought we'd eventually submit at the end of
ProgramsTest when tearing things down. Maybe we just created such a
backlog of work submitted to the actual GPU that the GPU got put into
a bad state?
Bug: skia:10118
Change-Id: I318428e228e08fbcaaa12b23ad2869ecc35cc786
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/283136
Reviewed-by: Brian Salomon <bsalomon@google.com>
Commit-Queue: Greg Daniel <egdaniel@google.com>
Starting on atan2, but there is a lot of quadrant clean-up, so will
do that in a separate CL.
Change-Id: Ie1e70051a6ecb19a2e521b56ed09796e8e745276
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/283016
Reviewed-by: Brian Osman <brianosman@google.com>
Commit-Queue: Mike Reed <reed@google.com>
c68dfaf3a5..cf2c8e6068
git log c68dfaf3a529..cf2c8e6068c8 --date=short --first-parent --format='%ad %ae %s'
2020-04-10 m.maiya@samsung.com EGL: Relax test skip conditions for a few colorspace ImageTests
2020-04-10 angle-autoroll@skia-public.iam.gserviceaccount.com Roll third_party/spirv-tools/src 538512e8e898..34be23373b9e (2 commits)
2020-04-10 angle-autoroll@skia-public.iam.gserviceaccount.com Roll third_party/glslang/src 75de196cecab..fd593d5f0834 (1 commits)
2020-04-10 angle-autoroll@skia-public.iam.gserviceaccount.com Roll third_party/vulkan-validation-layers/src 47d5e27460af..e7bbc302dff2 (1 commits)
2020-04-10 angle-autoroll@skia-public.iam.gserviceaccount.com Roll third_party/vulkan-tools/src ae6787114fb5..2fd41fab58c8 (2 commits)
2020-04-10 angle-autoroll@skia-public.iam.gserviceaccount.com Roll third_party/SwiftShader 3cfa8e28be80..e6f65d9265e7 (5 commits)
Created with:
gclient setdep -r third_party/externals/angle2@cf2c8e6068c8
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 kjlubick@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/+/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
Bug: None
Tbr: kjlubick@google.com
Change-Id: Ia8f22d9d9008b8da86d43014283fa13994ceb7f8
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/283199
Reviewed-by: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
Commit-Queue: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
Change-Id: Ie14204015dfcbaed55a2a4f86f5decc695b6a983
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/283017
Commit-Queue: Brian Salomon <bsalomon@google.com>
Commit-Queue: Robert Phillips <robertphillips@google.com>
Auto-Submit: Brian Salomon <bsalomon@google.com>
Reviewed-by: Robert Phillips <robertphillips@google.com>