forked from google/skia
-
Notifications
You must be signed in to change notification settings - Fork 56
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Update skia from m155 to m116 #122
Merged
Merged
Conversation
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Implement makeClone() based on makeFromStream/Data implementations. Modify SkTypeface_Fontations constructor to accept SkData instead of stream. Perform stream to data wrapping in MakeFromStream function. Modify test case to exercise makeClone() code path. Bug: skia:14361 Change-Id: Ic87828fe25a3f983c243e527abba87e5acda6447 Reviewed-on: https://skia-review.googlesource.com/c/skia/+/708596 Reviewed-by: Ben Wagner <[email protected]> Commit-Queue: Dominik Röttsches <[email protected]>
This is just the starting point. I'll expand this in a follow-on CL to include: bitmap vs. pictures images rotation clipping fast vs. strict constraints Bug: b/267656937 Change-Id: Id9edd6b49923d285a78691ba883cef255adc040e Reviewed-on: https://skia-review.googlesource.com/c/skia/+/708696 Reviewed-by: Jim Van Verth <[email protected]> Commit-Queue: Robert Phillips <[email protected]>
Bug: skia:9282 Bug: b/283467830 Change-Id: I999f4d321fba78880a411ed627208b0b70a3a381 Reviewed-on: https://skia-review.googlesource.com/c/skia/+/707583 Reviewed-by: Robert Phillips <[email protected]> Commit-Queue: Michael Ludwig <[email protected]>
There was some leftover code from a mid-CL revision that's no longer needed. In addition, there was some missing Vulkan code. Change-Id: Ic09ada84ba7430ac63f6f81910278e5abf5921de Reviewed-on: https://skia-review.googlesource.com/c/skia/+/708638 Commit-Queue: Jim Van Verth <[email protected]> Reviewed-by: Michael Ludwig <[email protected]>
This adds rotation and the fast/strict constraint into the mix. Note that strict-constraint drawing of big images appears to be broken. Bug: b/267656937 Bug: b/286239467 Bug: b/286256104 Change-Id: If62ae3690071fade4eaae3f7a9d6e4f43f0822e1 Reviewed-on: https://skia-review.googlesource.com/c/skia/+/708797 Reviewed-by: Jim Van Verth <[email protected]> Commit-Queue: Robert Phillips <[email protected]>
Previously, function parameters were used directly in the code. Now, function parameters are given generic names (`_skParam1`) and we synthesize variables for parameters which are assigned-to. For parameters which aren't directly assigned-to, we create a let- alias to the proper name instead; this shouldn't actually generate any extra backend code. Bug: skia:14356 Change-Id: I8813fda0c1d2ed862463019bba760ec053f4380d Reviewed-on: https://skia-review.googlesource.com/c/skia/+/708698 Reviewed-by: Arman Uguray <[email protected]> Commit-Queue: John Stiles <[email protected]> Auto-Submit: John Stiles <[email protected]>
This is a trivial statement, mirroring GLSL exactly. It unlocks two additional tests. Change-Id: I17e47029cd53068bb832df6d119eac0af05114fd Reviewed-on: https://skia-review.googlesource.com/c/skia/+/708796 Auto-Submit: John Stiles <[email protected]> Reviewed-by: Brian Osman <[email protected]>
When we have determined that a for-loop has a fixed number of iterations, we can move its termination check into the `continuing` block. This saves one comparison, and also makes the code read slightly more like idiomatic/user-authored WGSL. Change-Id: I941c8b8eb3389af532611c0eac08a415c5cb5289 Reviewed-on: https://skia-review.googlesource.com/c/skia/+/708798 Auto-Submit: John Stiles <[email protected]> Reviewed-by: Arman Uguray <[email protected]> Commit-Queue: John Stiles <[email protected]>
Rotated NN is failing on the following bots: Win10/D3D Win10/ANGLE D3D11 ES Win10/Vulkan Win10/OpenGL Bug: b/267656937 Change-Id: I0dbc4ae809a390685e5d92b157875b3350312f21 Reviewed-on: https://skia-review.googlesource.com/c/skia/+/708976 Reviewed-by: Michael Ludwig <[email protected]> Commit-Queue: Robert Phillips <[email protected]>
Bug: chromium:1425773, skia:9378 Change-Id: I78f9c4854de8daece9473cb4542e02e3df875cee Reviewed-on: https://skia-review.googlesource.com/c/skia/+/707584 Reviewed-by: Robert Phillips <[email protected]> Commit-Queue: Michael Ludwig <[email protected]>
This moves all asFragmentProcessor methods from the src/shaders and src/shaders/gradients into GrFragmentProcessors. As a requirement to do so, all shaders have had a public header made with the class declaration. Many classes required new getters to expose some fields for the construction of the GrFragmentProcessor. I briefly toyed with the idea of using friend functions, but decided against it for 2 reasons: 1) the syntax was verbose and gnarly; 2) the syntax would make the functions of GrFragmentProcessors callable from other places and not be static / contained to just GrFragmentProcessors.cpp. Other notable changes: - SkShaderBase::GradientType::kColor removed, as it has been superseded by SkShaderBase::ShaderType::kColor for detecting "is this a color shader?" Callsites that needed the color now cast it to SkColorShader - SkPerlinNoiseShader class removed from public API (Chromium migrated in https://crrev.com/c/4591270) and used internally instead of SkPerlinNoiseShaderImpl for closer alignment with the ShaderType enum. - SkPerlinNoiseShader::PaintingData no longer uses #ifdefs to make the bitmaps for the GPU backends, but this is now explicitly done in a function generateBitmaps(). - SkShaderBase::MatrixRec has been moved to the SkShaders namespace and had the Ganesh-specific apply() changed to applyForFragmentProcessor(). The Ganesh-parts (e.g. the creation of the GrMatrixEffect) were made the responsibility of the caller (e.g. in GrFragmentProcessors.cpp). - I thought it was strange that SkBitmapProcShader.h (but not the .cpp) was in public.bzl. I made that not necessary by #ifdef'ing the one include that was necessary removing other unnecessary ones. This is because G3 sets SK_DISABLE_LEGACY_SHADERCONTEXT The following shader subclasses did not appear to have Ganesh implementations and that is still the case: - SkEmptyShader - SpriteShader (appears SkVM only) - DitherShader (appears SkVM only) - SkTransformShader - SkTriColorShader - SkUpdatableColorShader I enforced IWYU on src/shaders and all other new files I created in this CL. This had some impact in wider files, but I do not expect it to impact clients as no public #includes had #includes removed. Suggested Review Order: - SkShaderBase.h/.cpp, noting that much of the .cpp came from SkShader.cpp - GrFragmentProcessors.cpp, glancing at the relevant subclass .h and .cpp changes as necessary - SkPerlinNoise* and GrPerlinNoise* to make sure I didn't overlook something in the refactor/extraction - Another pass through other changes in src/shaders and src/shaders/gradients - All other files in any order. Change-Id: Icf3db955d0653f97d7c793b167463162fb70d9f2 Bug: skia:14317 Reviewed-on: https://skia-review.googlesource.com/c/skia/+/706216 Reviewed-by: Brian Osman <[email protected]> Commit-Queue: Kevin Lubick <[email protected]>
https://chromium.googlesource.com/vulkan-deps.git/+log/5c35de42bbc6..c5a1402a455f Also rolling transitive DEPS: https://chromium.googlesource.com/external/github.com/KhronosGroup/SPIRV-Cross/+log/17d00edd97f11cbca0706e9d1316833f2bd60b2f..030d0be28c35bafebd20660c112852b1d8c8c6ca 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 [email protected],[email protected] 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: [email protected] Change-Id: Ide82b10ee0d9cb607e274eabc0ec0a67a71bc1e2 Reviewed-on: https://skia-review.googlesource.com/c/skia/+/709076 Commit-Queue: skia-autoroll <[email protected]> Bot-Commit: skia-autoroll <[email protected]>
https://dawn.googlesource.com/dawn.git/+log/fd2d24b01b67..d7b8efa431ad 2023-06-08 [email protected] [ir][spirv-writer] VarForDynamicIndex transform 2023-06-08 [email protected] [tint][utils] Add Offset and Truncate to Slice 2023-06-07 [email protected] [ir][spirv-writer] BlockDecoratedStructs transform 2023-06-07 [email protected] [tint][utils] Allow assignment of Slice to Vector 2023-06-07 [email protected] Roll ANGLE from 1ad4ae4d63bf to 15a29438b099 (3 revisions) 2023-06-07 [email protected] [ir] Emit disassembly from the validator 2023-06-07 [email protected] Roll vulkan-deps from fc3439e6ae3f to 34f70fba9bab (31 revisions) 2023-06-07 [email protected] [tint][ir] Add ControlInstruction 2023-06-07 [email protected] [ir] Emit struct declarations in the disassembly 2023-06-07 [email protected] Roll ANGLE from 2780cb0b46f9 to 1ad4ae4d63bf (3 revisions) 2023-06-07 [email protected] Revert "d3d11: Enable TextureZeroInitTests" 2023-06-07 [email protected] More dawn:: namespacing cleanups 2023-06-07 [email protected] [tint][ir] Add Initializer block to ir::Loop 2023-06-07 [email protected] [tint][ir] Add Front() and Back() accessors to Block 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 [email protected],[email protected] 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;skia/skia.primary:Test-Mac11-Clang-MacMini9.1-GPU-AppleM1-arm64-Debug-All-Graphite_Dawn;skia/skia.primary:Test-Win10-MSVC-Golo-GPU-QuadroP400-x86_64-Release-All-Graphite_Dawn Bug: None Tbr: [email protected] Change-Id: Ibaff36aafbf8097079dced25fde281ef3534edef Reviewed-on: https://skia-review.googlesource.com/c/skia/+/709078 Commit-Queue: skia-autoroll <[email protected]> Bot-Commit: skia-autoroll <[email protected]>
https://skia.googlesource.com/buildbot.git/+log/b54c2bdc9713..03004105c7e9 2023-06-07 [email protected] Fetch the response content of Pinpoint API. 2023-06-07 [email protected] [perf] Split up writeTracesChunkSize into 3 constants. 2023-06-07 [email protected] Move Gold to auth-proxy. 2023-06-07 [email protected] Use better option to run regex-heavy dart license script. 2023-06-07 [email protected] Show Anomaly icon in plot and display info when selected. 2023-06-07 [email protected] Don't react to keyboard shortcut if query/bisect dialog is on. 2023-06-07 [email protected] Update scss file to make bisect dialog broader 2023-06-07 [email protected] [autoroll] Add --gen-k8s-config flag to autoroll-be 2023-06-07 [email protected] [autoroll] Don't crash-loop if there are no matching GCS files 2023-06-07 [email protected] [autoroll] Skip RevisionFilters if the revision is already invalid 2023-06-07 [email protected] Roll Skia Infra CIPD packages from b8f3bbf465f8 to b54c2bdc9713 (10 revisions) If this roll has caused a breakage, revert this CL and stop the roller using the controls here: https://autoroll.skia.org/r/infra-skia Please CC [email protected],[email protected] on the revert to ensure that a human is aware of the problem. To file a bug in Skia Infra: https://bugs.chromium.org/p/skia/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 Bug: None Tbr: [email protected] Change-Id: If851d10d55529eb738865d57aca9677296a230bd Reviewed-on: https://skia-review.googlesource.com/c/skia/+/708538 Bot-Commit: skia-autoroll <[email protected]> Commit-Queue: skia-autoroll <[email protected]>
https://skia.googlesource.com/buildbot.git/+log/03004105c7e9..fc3aec58c346 2023-06-08 [email protected] Roll Skia Infra CIPD packages from b54c2bdc9713 to 03004105c7e9 (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/sk-tool-skia Please CC [email protected],[email protected] 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: [email protected] Change-Id: Id2e571c20fd9d2669402cffa9b3a59b26d683480 Reviewed-on: https://skia-review.googlesource.com/c/skia/+/709081 Bot-Commit: skia-autoroll <[email protected]> Commit-Queue: skia-autoroll <[email protected]>
https://chromium.googlesource.com/angle/angle.git/+log/1ad4ae4d63bf..bc66167d304a 2023-06-08 [email protected] Disable the roll of 'android_ndk' 2023-06-08 [email protected] Galaxy A23: add end2end expectations for crashing tests 2023-06-08 [email protected] Android: Galaxy A23 support 2023-06-07 [email protected] Migrate Android NDK to CIPD [1/2] 2023-06-07 [email protected] Roll VK-GL-CTS from 0c2e936905ea to f7613775cdc7 (3 revisions) 2023-06-07 [email protected] Roll Chromium from 9e0b5e8b8a85 to fe5f79e217c4 (537 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 [email protected],[email protected] 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:Build-Mac-Clang-arm64-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: [email protected] Test: Test: Verified local builds of ANGLE. Change-Id: I66bcca0e32b98a14849373aa3c8cf8b3b3df5561 Reviewed-on: https://skia-review.googlesource.com/c/skia/+/709080 Bot-Commit: skia-autoroll <[email protected]> Commit-Queue: skia-autoroll <[email protected]>
I added this during the refactor https://skia-review.googlesource.com/c/skia/+/706216 but it appears that it can happen in certain circumstances Test-Ubuntu18-Clang-Golo-GPU-QuadroP400-x86_64-Debug-All-PreAbandonGpuContext -> gl gm localmatrix_order Change-Id: I21b6e7a51841e1c4c0ef9543d2a3117e894dfdec Reviewed-on: https://skia-review.googlesource.com/c/skia/+/709156 Auto-Submit: Kevin Lubick <[email protected]> Reviewed-by: Eric Boren <[email protected]> Commit-Queue: Eric Boren <[email protected]>
Change-Id: I3462fe5aca4bea3b97ad345a9e861769b6c3f83f Reviewed-on: https://skia-review.googlesource.com/c/skia/+/702096 Reviewed-by: Michael Ludwig <[email protected]> Reviewed-by: Jim Van Verth <[email protected]> Commit-Queue: Nicolette Prevost <[email protected]> Auto-Submit: Nicolette Prevost <[email protected]>
The legacy SkXfermode blend implementations relied on `Sk4px::approxMulDiv255`, which ended up in `SkVx::approx_scale`. Interestingly, `SkVx::div255` is exact (just `(x + 127)/255`), where RP's div255 has a +/-1 bit approximation on non-NEON. `approx_scale` also has this same error, but leads to better behavior when blending. Particularly in the case of the linked bug where repeated dstout blends were taking an unexpectedly long time to saturate at `a=0`. For example, lets say we start with an opaque da=255, and a near opaque source sa=250. Repeated iterations of the RP dstout produces: `(255*(255-250) + 255)/256 = (6*255)/256 = 5` `( 5*(255-250) + 255)/256 = 280/256 = 1` `( 1*(255-250) + 255)/256 = 260/256 = 1` ... and it's stuck at `a=1` Using the `approx_scale` instead produces the series: `(255*(255-250) + 255)/256 = (6*255)/256 = 5` `( 5*(255-250) + 5)/256 = 30/256 = 0` The exact math would produce: `(255*(255-250)/255.0 = 5.0` or `(255*(255-250) + 127)/255 = 1402/255 = 5` `( 5*(255-250)/255.0 = 0.098` or `( 5*(255-250) + 127)/255 = 152/255 = 0` Instead of making an RP clone of approx_scale, this just switches the blend modes that historically had used approx_scale to use div255_accurate. Bug: chromium:145083 Change-Id: Ibe8120461ea7bcd056cea5c60985dd16e8265f54 Reviewed-on: https://skia-review.googlesource.com/c/skia/+/708229 Commit-Queue: Michael Ludwig <[email protected]> Reviewed-by: John Stiles <[email protected]> Reviewed-by: Brian Osman <[email protected]>
Semaphore support will be needed to get Vulkan working in Viewer. The Caps flag will be turned on for each backend once it's fully working in that backend. Bug: b/286088355 Change-Id: I83b6436f8484bc944ddc2def0e84afe1e3aa90f1 Reviewed-on: https://skia-review.googlesource.com/c/skia/+/708120 Reviewed-by: Michael Ludwig <[email protected]> Reviewed-by: Herb Derby <[email protected]> Commit-Queue: Jim Van Verth <[email protected]>
In practice, every call site was operating on an empty array, so this was a straightforward fix. (In one case, it was not necessarily clear that the array would be empty--even though it would in fact be empty in practice--so I added array.size() anyway, just in case.) Bug: skia:14316 Change-Id: I126e475fd5417f72c8f7495de37860c2273476f2 Reviewed-on: https://skia-review.googlesource.com/c/skia/+/709157 Auto-Submit: John Stiles <[email protected]> Reviewed-by: Jim Van Verth <[email protected]> Commit-Queue: John Stiles <[email protected]>
https://chromium.googlesource.com/vulkan-deps.git/+log/c5a1402a455f..dbc2d4fbc1cf Also rolling transitive DEPS: https://skia.googlesource.com/external/github.com/KhronosGroup/SPIRV-Tools/+log/59b4febd819977b440692674f6a862d6d17731b5..1d7dec3c51dfcecaf10036448e9709ae02f877e5 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 [email protected],[email protected] 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: [email protected] Change-Id: I66d96036df7e51bbffde2861865417b1edaa1c7e Reviewed-on: https://skia-review.googlesource.com/c/skia/+/709239 Bot-Commit: skia-autoroll <[email protected]> Commit-Queue: skia-autoroll <[email protected]>
Bug: skia:14076 Change-Id: I7ecd40c644f8a25e5778f8a38de3e697e11c82ec Reviewed-on: https://skia-review.googlesource.com/c/skia/+/639656 Reviewed-by: Brian Osman <[email protected]> Commit-Queue: Kevin Lubick <[email protected]>
Bug: b/267656937 Change-Id: I5c4d05ee0a2389897a0b0693ffee0f2b8c7b930f Reviewed-on: https://skia-review.googlesource.com/c/skia/+/708936 Commit-Queue: Robert Phillips <[email protected]> Reviewed-by: Jim Van Verth <[email protected]>
For external memory import, compatible memory types are decided by the Vulkan driver since the memory has been allocated externally. There are usually special requirements against external memory. e.g. AHB allocated with CPU R/W often usage bits is only importable for non-device-local heap on some AMD systems. Bug: b/285941817 Test: no crash in various cts Change-Id: I93e27446ebb20e51bcea80f3af1fe3a533788206 Reviewed-on: https://skia-review.googlesource.com/c/skia/+/709099 Auto-Submit: Yiwei Zhang <[email protected]> Commit-Queue: Michael Ludwig <[email protected]> Reviewed-by: Michael Ludwig <[email protected]>
Change-Id: Iaa3b6183e8eb1cf17ec3a270dfbd384e7ad5d201 Reviewed-on: https://skia-review.googlesource.com/c/skia/+/709200 Reviewed-by: John Stiles <[email protected]> Commit-Queue: John Stiles <[email protected]>
This necessitates recursively building up the comparison expression, since WGSL only natively supports scalar and vector comparisons. This can generate very large programs from small inputs when large arrays are compared; WGSL is no different from the SPIR-V codegen or glslang in this regard. This change also exposed a WGSL issue that I wasn't aware of; uniform arrays of scalars are not supported. (skia:14370) This leads to error reports at the top of ArrayComparison.wgsl and StructComparison.wgsl, because they both reference the `testArray` uniform. However, this isn't related to the feature being added in this CL. Change-Id: Iee30e290cb116650af30834f478ddf956bcc8df9 Bug: skia:14082 Reviewed-on: https://skia-review.googlesource.com/c/skia/+/708977 Reviewed-by: Arman Uguray <[email protected]> Auto-Submit: John Stiles <[email protected]> Commit-Queue: John Stiles <[email protected]>
As of http://review.skia.org/700799, WGSL now uses the shared test file at `shared/LogicalOrShortCircuit.sksl` instead of maintaining a simplified WGSL version. Bug: skia:14082 Change-Id: I850d3b15bcd534711f9fa9cfe5e8f94f73d21da4 Reviewed-on: https://skia-review.googlesource.com/c/skia/+/709202 Auto-Submit: John Stiles <[email protected]> Reviewed-by: Nicolette Prevost <[email protected]> Commit-Queue: Nicolette Prevost <[email protected]>
This uncovered one real bug (skia:14372) where I preserved the existing behavior since it is in performance-sensitive code. This will be investigated further by the author (sky@). In a few cases, I chose TArray::reserve as it seemed to be a better fit for the intent of the surrounding code. Bug: skia:14316 Change-Id: I203edb5ee8ecc9aa6c5b0ebdbd1ecc2a3d6b81ee Reviewed-on: https://skia-review.googlesource.com/c/skia/+/708392 Auto-Submit: John Stiles <[email protected]> Reviewed-by: Herb Derby <[email protected]>
We now have `TArray::reserve`, which matches the behavior of `vector::reserve`, and `TArray::reserve_exact`, which reserves the exact number of elements that the user asks for. Bug: skia:14316 Change-Id: I284e7cbe99e52d2c2fafd42204df7a7ab0aa994b Reviewed-on: https://skia-review.googlesource.com/c/skia/+/709203 Auto-Submit: John Stiles <[email protected]> Commit-Queue: John Stiles <[email protected]> Reviewed-by: Herb Derby <[email protected]>
Bug: skia:14392 Change-Id: Ie57e59adb298ab6577866bafddeed369cef0a1d4 Reviewed-on: https://skia-review.googlesource.com/c/skia/+/713236 Auto-Submit: Ho Cheung <[email protected]> Reviewed-by: Nicolette Prevost <[email protected]> Commit-Queue: Nicolette Prevost <[email protected]>
SkRP programs will no longer contain stages which fill in constant- variable slots. Instead, we now have an `store_immutable_value` instruction which fills in a slot with the desired value at program-initialization time, but does not emit a Raster Pipeline stage. Change-Id: I1a8ead0f995dfa9a4b04e2aae41d1fc4246fff90 Bug: skia:14386 Reviewed-on: https://skia-review.googlesource.com/c/skia/+/711823 Commit-Queue: Michael Ludwig <[email protected]> Auto-Submit: John Stiles <[email protected]> Commit-Queue: John Stiles <[email protected]> Reviewed-by: Michael Ludwig <[email protected]>
If a variable has a compile-time-constant initial-value, and is never written-to elsewhere, we can treat it as immutable whether or not the author of the code used the `const` modifier. Bug: skia:14386 Change-Id: I00f8f32593534b5273de83dde05738fc084a017e Reviewed-on: https://skia-review.googlesource.com/c/skia/+/712767 Auto-Submit: John Stiles <[email protected]> Commit-Queue: John Stiles <[email protected]> Reviewed-by: Michael Ludwig <[email protected]>
Divide-by-zero was already being handled correctly in subsequent code. Bug: oss-fuzz:59924 Change-Id: I8866c43c65f64a623bb13f8572f84b028c106fd8 Reviewed-on: https://skia-review.googlesource.com/c/skia/+/714058 Commit-Queue: Jim Van Verth <[email protected]> Commit-Queue: Brian Osman <[email protected]> Reviewed-by: Jim Van Verth <[email protected]> Auto-Submit: Brian Osman <[email protected]>
We never updated the index range when AlphaThreshold was removed, so many fuzzers would assert in debug builds. Change-Id: I6a2032ca9515fcd8556ee13cdff87cbab135da62 Reviewed-on: https://skia-review.googlesource.com/c/skia/+/714059 Reviewed-by: Michael Ludwig <[email protected]> Reviewed-by: Kevin Lubick <[email protected]> Commit-Queue: Brian Osman <[email protected]>
It looks like std::isfinite might produce slower code, but it is not clear. Change it back to see if performance reverts back. sk_float_isfinite(float): # @sk_float_isfinite(float) movd eax, xmm0 not eax test eax, 2139095040 setne al ret // std::isfinite .LCPI5_0: .long 0x7fffffff # float NaN .long 0x7fffffff # float NaN .long 0x7fffffff # float NaN .long 0x7fffffff # float NaN .LCPI5_1: .long 0x7f800000 # float +Inf test3(float): # @test3(float) andps xmm0, xmmword ptr [rip + .LCPI5_0] ucomiss xmm0, dword ptr [rip + .LCPI5_1] setne al ret Change-Id: Ibafc8b82c38bb86f7a157b28cf4ad88205839309 Reviewed-on: https://skia-review.googlesource.com/c/skia/+/714057 Reviewed-by: Brian Osman <[email protected]> Commit-Queue: Herb Derby <[email protected]>
The bulk of the fix was in skia CL 712277 which harden the quadratic solver. Add a nicer API that takes points, and calculates the coefficients using doubles. This is a reland of commit 46d65bb Original change's description: > Quad intersections for glyph underlines > > Introduce Intersect that takes two quadratics, and a > toIntersect value. It finds the roots that intersect > toIntersect in the first quadratic, and then uses those > roots to generate values from the second quadratic. > > Use Intersect to implement underline for glyphs with > quadratic curves. > > Bug: skia:14252 > Change-Id: I48c4f3edf687c0bfef3a6110251e3e34062d3b39 > Reviewed-on: https://skia-review.googlesource.com/c/skia/+/708379 > Reviewed-by: Herb Derby <[email protected]> > Commit-Queue: Herb Derby <[email protected]> > Reviewed-by: Kevin Lubick <[email protected]> Bug: skia:14252 Change-Id: I197238285db880246b960a874f096ba86ca56295 Reviewed-on: https://skia-review.googlesource.com/c/skia/+/712437 Commit-Queue: Herb Derby <[email protected]> Reviewed-by: Kevin Lubick <[email protected]>
Change-Id: I48e80f3d011b7e09b740490985ba4092d9ee6783 Reviewed-on: https://skia-review.googlesource.com/c/skia/+/713776 Reviewed-by: Herb Derby <[email protected]> Commit-Queue: Brian Osman <[email protected]>
Wtih this CL, we attempt to use the fallback color type and backend format in SurfaceContext::asyncRescaleAndReadPixels before bailing. credit: thanks to vasilyt@ for pointing out the color fallback code in GrCaps and explaining that this was the reason the async rescale and read actually succeeded and to dtapuska@ for suggested looking at the validity of the backend format in the needsRescale block. Bug: skia:14389 Change-Id: I81f2e18fb5cafb4466920450795ccbeddceb9808 Reviewed-on: https://skia-review.googlesource.com/c/skia/+/712766 Reviewed-by: Robert Phillips <[email protected]> Commit-Queue: Ian Vollick <[email protected]>
Bug: oss-fuzz:59927 Change-Id: Ib5f8597bb8443dd7fcb295e5da34434825ad0738 Reviewed-on: https://skia-review.googlesource.com/c/skia/+/714056 Reviewed-by: Michael Ludwig <[email protected]> Commit-Queue: Brian Osman <[email protected]>
Add two gradient shader GMs that apply the shader paint to a Bezier curve. This is to test the correctness of atlas path renders. Bug: b/280927575 Change-Id: I63bc0bc568dc1c2cdade49d7837b1c37653041a4 Reviewed-on: https://skia-review.googlesource.com/c/skia/+/712677 Reviewed-by: Brian Osman <[email protected]> Reviewed-by: Michael Ludwig <[email protected]> Commit-Queue: Arman Uguray <[email protected]>
Bug: skia:9282 Bug: b/263137049 Change-Id: I20fd6a5b626d67e37cf0c67d2d2a4c4cab277aab Reviewed-on: https://skia-review.googlesource.com/c/skia/+/712762 Reviewed-by: Brian Osman <[email protected]> Auto-Submit: Michael Ludwig <[email protected]> Commit-Queue: Brian Osman <[email protected]>
Bug: skia:9282 Bug: b/263138152 Change-Id: Ie3f6183d3ba4982cbf2c345962a5d693c0ffb748 Reviewed-on: https://skia-review.googlesource.com/c/skia/+/711687 Reviewed-by: Brian Osman <[email protected]> Commit-Queue: Brian Osman <[email protected]> Auto-Submit: Michael Ludwig <[email protected]>
This reverts commit bb74b51. Reason for revert: Chrome roll Original change's description: > Remove SkScalarToFloat and SkFloatToScalar calls > > Change-Id: I48e80f3d011b7e09b740490985ba4092d9ee6783 > Reviewed-on: https://skia-review.googlesource.com/c/skia/+/713776 > Reviewed-by: Herb Derby <[email protected]> > Commit-Queue: Brian Osman <[email protected]> Change-Id: I17cf44deb18b02ecdeb7aa8fd339a232c1bdb9c3 No-Presubmit: true No-Tree-Checks: true No-Try: true Reviewed-on: https://skia-review.googlesource.com/c/skia/+/713942 Commit-Queue: Rubber Stamper <[email protected]> Auto-Submit: Brian Osman <[email protected]> Bot-Commit: Rubber Stamper <[email protected]>
Change-Id: I49d529ec55de8f696782c9cd4ec4519e3652cb78 Reviewed-on: https://skia-review.googlesource.com/c/skia/+/714376 Commit-Queue: Chris Mumford <[email protected]> Auto-Submit: Rakshit Sharma <[email protected]> Reviewed-by: Chris Mumford <[email protected]>
Change-Id: I8aa16d614a7cffb9843740add7644f1f24fa1bf1 Reviewed-on: https://skia-review.googlesource.com/c/skia/+/714378 Auto-Submit: Rakshit Sharma <[email protected]> Commit-Queue: Chris Mumford <[email protected]> Reviewed-by: Chris Mumford <[email protected]>
This code was developed while building with msvc and clang adds some additional checks. Discovered while working on https://skia-review.googlesource.com/c/skia/+/714502 but should land separately. Change-Id: Ic3f6bf7bc7a458750ba0716040c4579025b859a9 Reviewed-on: https://skia-review.googlesource.com/c/skia/+/718237 Commit-Queue: Ben Wagner <[email protected]> Reviewed-by: John Stiles <[email protected]> (cherry picked from commit 6e2a2f6) Reviewed-on: https://skia-review.googlesource.com/c/skia/+/718557
Correctly convert the colors in the palette overrides and portably assign to DWRITE_COLOR_F. Change-Id: I9fb6c5ea3a41d230b21b276be9f0ed2f8cdf1458 Reviewed-on: https://skia-review.googlesource.com/c/skia/+/718977 Reviewed-by: John Stiles <[email protected]> Commit-Queue: Ben Wagner <[email protected]> (cherry picked from commit c60ac28) Reviewed-on: https://skia-review.googlesource.com/c/skia/+/719018 Auto-Submit: Ben Wagner <[email protected]> Commit-Queue: John Stiles <[email protected]>
For excessively large crop rects, isEmpty() was returning true when the width or height overflowed. isEmpty64() just checks left < right and top < bottom, which makes it consistent with SkRect::isEmpty(). The large crop rects are now allowed through, and when they are intersected with the desired output, become reasonable and usable. Previously they were causing the entire operation to be dropped. In the event that somehow we try to create a backing image for a layer irect that is this large, but was previously being rejected with the 32-bit isEmpty(), the width and height will still be negative and image allocation will fail, which is still guarded. Bug: chromium:1466359 Change-Id: I3045773e111bbb779826e155ea26da13212481bf Reviewed-on: https://skia-review.googlesource.com/c/skia/+/728676 Reviewed-by: Robert Phillips <[email protected]> Reviewed-by: Brian Osman <[email protected]> Commit-Queue: Michael Ludwig <[email protected]> (cherry picked from commit e99aea2) Reviewed-on: https://skia-review.googlesource.com/c/skia/+/728958 Reviewed-by: John Stiles <[email protected]>
…0 GPUs. This CL cherry-picks https://skia-review.googlesource.com/c/skia/+/729803. Bug: b/40045524 Change-Id: I481a14ccdf4b75dfa6f18255d63aa067ada4987f Reviewed-on: https://skia-review.googlesource.com/c/skia/+/732976 Commit-Queue: Leandro Lovisolo <[email protected]> Commit-Queue: Ravi Mistry <[email protected]> Reviewed-by: Ravi Mistry <[email protected]> Auto-Submit: Leandro Lovisolo <[email protected]>
Bug: chromium:1464215 Change-Id: I264d248f78b9991e2d49d9e42dcffe706e961518 Reviewed-on: https://skia-review.googlesource.com/c/skia/+/736359 Auto-Submit: John Stiles <[email protected]> Reviewed-by: Brian Osman <[email protected]> Commit-Queue: John Stiles <[email protected]> Commit-Queue: Brian Osman <[email protected]>
Change-Id: Ic0ca6976759595e2a105f6fe6facffe4fceb397a Reviewed-on: https://skia-review.googlesource.com/c/skia/+/718456 Reviewed-by: Florin Malita <[email protected]> Commit-Queue: Michael Ludwig <[email protected]> (cherry picked from commit 34f5d27) Reviewed-on: https://skia-review.googlesource.com/c/skia/+/746768 Reviewed-by: Brian Osman <[email protected]> Commit-Queue: Brian Osman <[email protected]> Auto-Submit: Xianzhu Wang <[email protected]> Reviewed-by: Michael Ludwig <[email protected]>
As per the linked bugs, this was causing a severe performance regression. Change-Id: Ibacf842408cee1eb434795437c8bbe0dc5244c8e Bug: b/291711510, chromium:1475906 Reviewed-on: https://skia-review.googlesource.com/c/skia/+/750403 Reviewed-by: Greg Daniel <[email protected]> Commit-Queue: Kevin Lubick <[email protected]> (cherry picked from commit 02fa147) Reviewed-on: https://skia-review.googlesource.com/c/skia/+/751516
…> APIs" This reverts commit 37822b7. Reason for revert: merge had not been approved Original change's description: > Fix unintentional cpu_sync=true and deprecate sk_sp<SkSurface> APIs > > As per the linked bugs, this was causing a severe performance > regression. > > Change-Id: Ibacf842408cee1eb434795437c8bbe0dc5244c8e > Bug: b/291711510, chromium:1475906 > Reviewed-on: https://skia-review.googlesource.com/c/skia/+/750403 > Reviewed-by: Greg Daniel <[email protected]> > Commit-Queue: Kevin Lubick <[email protected]> > (cherry picked from commit 02fa147) > Reviewed-on: https://skia-review.googlesource.com/c/skia/+/751516 Bug: b/291711510, chromium:1475906 Change-Id: I77f1f786491da32e784669d26febb4902d7a4a9a No-Presubmit: true No-Tree-Checks: true No-Try: true Reviewed-on: https://skia-review.googlesource.com/c/skia/+/751576 Owners-Override: Kevin Lubick <[email protected]> Bot-Commit: Rubber Stamper <[email protected]> Auto-Submit: Kevin Lubick <[email protected]> Commit-Queue: Rubber Stamper <[email protected]>
Change-Id: I1cd488c184bf82a1a03d12a754cba9fdf4394baf Reviewed-on: https://skia-review.googlesource.com/c/skia/+/772440 Reviewed-by: Heather Miller <[email protected]>
5 tasks
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Description of Change
A smaller update from 115 to 116.
There are no really breaking changes except for the removal of the alpha threshold image filter that appears to not really be used by anyone.
API Changes
Removed:
Behavioral Changes
None.
Required SkiaSharp PR
Requires mono/SkiaSharp#2829
PR Checklist
skiasharp
at time of PR