forked from google/skia
-
Notifications
You must be signed in to change notification settings - Fork 55
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 <bungeman@google.com> Commit-Queue: Dominik Röttsches <drott@google.com>
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 <jvanverth@google.com> Commit-Queue: Robert Phillips <robertphillips@google.com>
Bug: skia:9282 Bug: b/283467830 Change-Id: I999f4d321fba78880a411ed627208b0b70a3a381 Reviewed-on: https://skia-review.googlesource.com/c/skia/+/707583 Reviewed-by: Robert Phillips <robertphillips@google.com> Commit-Queue: Michael Ludwig <michaelludwig@google.com>
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 <jvanverth@google.com> Reviewed-by: Michael Ludwig <michaelludwig@google.com>
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 <jvanverth@google.com> Commit-Queue: Robert Phillips <robertphillips@google.com>
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 <armansito@google.com> Commit-Queue: John Stiles <johnstiles@google.com> Auto-Submit: John Stiles <johnstiles@google.com>
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 <johnstiles@google.com> Reviewed-by: Brian Osman <brianosman@google.com>
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 <johnstiles@google.com> Reviewed-by: Arman Uguray <armansito@google.com> Commit-Queue: John Stiles <johnstiles@google.com>
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 <michaelludwig@google.com> Commit-Queue: Robert Phillips <robertphillips@google.com>
Bug: chromium:1425773, skia:9378 Change-Id: I78f9c4854de8daece9473cb4542e02e3df875cee Reviewed-on: https://skia-review.googlesource.com/c/skia/+/707584 Reviewed-by: Robert Phillips <robertphillips@google.com> Commit-Queue: Michael Ludwig <michaelludwig@google.com>
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 <brianosman@google.com> Commit-Queue: Kevin Lubick <kjlubick@google.com>
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 borenet@google.com,skiabot@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: Ide82b10ee0d9cb607e274eabc0ec0a67a71bc1e2 Reviewed-on: https://skia-review.googlesource.com/c/skia/+/709076 Commit-Queue: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com> Bot-Commit: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
https://dawn.googlesource.com/dawn.git/+log/fd2d24b01b67..d7b8efa431ad 2023-06-08 jrprice@google.com [ir][spirv-writer] VarForDynamicIndex transform 2023-06-08 jrprice@google.com [tint][utils] Add Offset and Truncate to Slice 2023-06-07 jrprice@google.com [ir][spirv-writer] BlockDecoratedStructs transform 2023-06-07 jrprice@google.com [tint][utils] Allow assignment of Slice to Vector 2023-06-07 dawn-autoroll@skia-public.iam.gserviceaccount.com Roll ANGLE from 1ad4ae4d63bf to 15a29438b099 (3 revisions) 2023-06-07 dsinclair@chromium.org [ir] Emit disassembly from the validator 2023-06-07 dawn-autoroll@skia-public.iam.gserviceaccount.com Roll vulkan-deps from fc3439e6ae3f to 34f70fba9bab (31 revisions) 2023-06-07 bclayton@google.com [tint][ir] Add ControlInstruction 2023-06-07 jrprice@google.com [ir] Emit struct declarations in the disassembly 2023-06-07 dawn-autoroll@skia-public.iam.gserviceaccount.com Roll ANGLE from 2780cb0b46f9 to 1ad4ae4d63bf (3 revisions) 2023-06-07 enga@chromium.org Revert "d3d11: Enable TextureZeroInitTests" 2023-06-07 enga@chromium.org More dawn:: namespacing cleanups 2023-06-07 bclayton@google.com [tint][ir] Add Initializer block to ir::Loop 2023-06-07 bclayton@google.com [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 cwallez@google.com,senorblanco@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;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: senorblanco@google.com Change-Id: Ibaff36aafbf8097079dced25fde281ef3534edef Reviewed-on: https://skia-review.googlesource.com/c/skia/+/709078 Commit-Queue: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com> Bot-Commit: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
https://skia.googlesource.com/buildbot.git/+log/b54c2bdc9713..03004105c7e9 2023-06-07 sunpeng@google.com Fetch the response content of Pinpoint API. 2023-06-07 jcgregorio@google.com [perf] Split up writeTracesChunkSize into 3 constants. 2023-06-07 jcgregorio@google.com Move Gold to auth-proxy. 2023-06-07 aam@google.com Use better option to run regex-heavy dart license script. 2023-06-07 eduardoyap@google.com Show Anomaly icon in plot and display info when selected. 2023-06-07 funing@google.com Don't react to keyboard shortcut if query/bisect dialog is on. 2023-06-07 funing@google.com Update scss file to make bisect dialog broader 2023-06-07 borenet@google.com [autoroll] Add --gen-k8s-config flag to autoroll-be 2023-06-07 borenet@google.com [autoroll] Don't crash-loop if there are no matching GCS files 2023-06-07 borenet@google.com [autoroll] Skip RevisionFilters if the revision is already invalid 2023-06-07 skia-autoroll@skia-public.iam.gserviceaccount.com 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 kjlubick@google.com,skiabot@google.com 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: kjlubick@google.com Change-Id: If851d10d55529eb738865d57aca9677296a230bd Reviewed-on: https://skia-review.googlesource.com/c/skia/+/708538 Bot-Commit: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com> Commit-Queue: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
https://skia.googlesource.com/buildbot.git/+log/03004105c7e9..fc3aec58c346 2023-06-08 skia-autoroll@skia-public.iam.gserviceaccount.com 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 kjlubick@google.com,skiabot@google.com on the revert to ensure that a human is aware of the problem. To file a bug in Skia: https://bugs.chromium.org/p/skia/issues/entry To report a problem with the AutoRoller itself, please file a bug: https://bugs.chromium.org/p/skia/issues/entry?template=Autoroller+Bug Documentation for the AutoRoller is here: https://skia.googlesource.com/buildbot/+doc/main/autoroll/README.md Tbr: kjlubick@google.com Change-Id: Id2e571c20fd9d2669402cffa9b3a59b26d683480 Reviewed-on: https://skia-review.googlesource.com/c/skia/+/709081 Bot-Commit: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com> Commit-Queue: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
https://chromium.googlesource.com/angle/angle.git/+log/1ad4ae4d63bf..bc66167d304a 2023-06-08 prashanthsw@google.com Disable the roll of 'android_ndk' 2023-06-08 ianelliott@google.com Galaxy A23: add end2end expectations for crashing tests 2023-06-08 ianelliott@google.com Android: Galaxy A23 support 2023-06-07 prashanthsw@google.com Migrate Android NDK to CIPD [1/2] 2023-06-07 angle-autoroll@skia-public.iam.gserviceaccount.com Roll VK-GL-CTS from 0c2e936905ea to f7613775cdc7 (3 revisions) 2023-06-07 angle-autoroll@skia-public.iam.gserviceaccount.com 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 borenet@google.com,jmadill@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: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: borenet@google.com Test: Test: Verified local builds of ANGLE. Change-Id: I66bcca0e32b98a14849373aa3c8cf8b3b3df5561 Reviewed-on: https://skia-review.googlesource.com/c/skia/+/709080 Bot-Commit: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com> Commit-Queue: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
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 <kjlubick@google.com> Reviewed-by: Eric Boren <borenet@google.com> Commit-Queue: Eric Boren <borenet@google.com>
Change-Id: I3462fe5aca4bea3b97ad345a9e861769b6c3f83f Reviewed-on: https://skia-review.googlesource.com/c/skia/+/702096 Reviewed-by: Michael Ludwig <michaelludwig@google.com> Reviewed-by: Jim Van Verth <jvanverth@google.com> Commit-Queue: Nicolette Prevost <nicolettep@google.com> Auto-Submit: Nicolette Prevost <nicolettep@google.com>
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 <michaelludwig@google.com> Reviewed-by: John Stiles <johnstiles@google.com> Reviewed-by: Brian Osman <brianosman@google.com>
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 <michaelludwig@google.com> Reviewed-by: Herb Derby <herb@google.com> Commit-Queue: Jim Van Verth <jvanverth@google.com>
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 <johnstiles@google.com> Reviewed-by: Jim Van Verth <jvanverth@google.com> Commit-Queue: John Stiles <johnstiles@google.com>
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 borenet@google.com,skiabot@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: I66d96036df7e51bbffde2861865417b1edaa1c7e Reviewed-on: https://skia-review.googlesource.com/c/skia/+/709239 Bot-Commit: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com> Commit-Queue: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
Bug: skia:14076 Change-Id: I7ecd40c644f8a25e5778f8a38de3e697e11c82ec Reviewed-on: https://skia-review.googlesource.com/c/skia/+/639656 Reviewed-by: Brian Osman <brianosman@google.com> Commit-Queue: Kevin Lubick <kjlubick@google.com>
Bug: b/267656937 Change-Id: I5c4d05ee0a2389897a0b0693ffee0f2b8c7b930f Reviewed-on: https://skia-review.googlesource.com/c/skia/+/708936 Commit-Queue: Robert Phillips <robertphillips@google.com> Reviewed-by: Jim Van Verth <jvanverth@google.com>
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 <zzyiwei@google.com> Commit-Queue: Michael Ludwig <michaelludwig@google.com> Reviewed-by: Michael Ludwig <michaelludwig@google.com>
Change-Id: Iaa3b6183e8eb1cf17ec3a270dfbd384e7ad5d201 Reviewed-on: https://skia-review.googlesource.com/c/skia/+/709200 Reviewed-by: John Stiles <johnstiles@google.com> Commit-Queue: John Stiles <johnstiles@google.com>
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 <armansito@google.com> Auto-Submit: John Stiles <johnstiles@google.com> Commit-Queue: John Stiles <johnstiles@google.com>
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 <johnstiles@google.com> Reviewed-by: Nicolette Prevost <nicolettep@google.com> Commit-Queue: Nicolette Prevost <nicolettep@google.com>
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 <johnstiles@google.com> Reviewed-by: Herb Derby <herb@google.com>
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 <johnstiles@google.com> Commit-Queue: John Stiles <johnstiles@google.com> Reviewed-by: Herb Derby <herb@google.com>
Bug: skia:14392 Change-Id: Ie57e59adb298ab6577866bafddeed369cef0a1d4 Reviewed-on: https://skia-review.googlesource.com/c/skia/+/713236 Auto-Submit: Ho Cheung <uioptt24@gmail.com> Reviewed-by: Nicolette Prevost <nicolettep@google.com> Commit-Queue: Nicolette Prevost <nicolettep@google.com>
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 <michaelludwig@google.com> Auto-Submit: John Stiles <johnstiles@google.com> Commit-Queue: John Stiles <johnstiles@google.com> Reviewed-by: Michael Ludwig <michaelludwig@google.com>
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 <johnstiles@google.com> Commit-Queue: John Stiles <johnstiles@google.com> Reviewed-by: Michael Ludwig <michaelludwig@google.com>
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 <jvanverth@google.com> Commit-Queue: Brian Osman <brianosman@google.com> Reviewed-by: Jim Van Verth <jvanverth@google.com> Auto-Submit: Brian Osman <brianosman@google.com>
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 <michaelludwig@google.com> Reviewed-by: Kevin Lubick <kjlubick@google.com> Commit-Queue: Brian Osman <brianosman@google.com>
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 <brianosman@google.com> Commit-Queue: Herb Derby <herb@google.com>
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 <herb@google.com> > Commit-Queue: Herb Derby <herb@google.com> > Reviewed-by: Kevin Lubick <kjlubick@google.com> Bug: skia:14252 Change-Id: I197238285db880246b960a874f096ba86ca56295 Reviewed-on: https://skia-review.googlesource.com/c/skia/+/712437 Commit-Queue: Herb Derby <herb@google.com> Reviewed-by: Kevin Lubick <kjlubick@google.com>
Change-Id: I48e80f3d011b7e09b740490985ba4092d9ee6783 Reviewed-on: https://skia-review.googlesource.com/c/skia/+/713776 Reviewed-by: Herb Derby <herb@google.com> Commit-Queue: Brian Osman <brianosman@google.com>
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 <robertphillips@google.com> Commit-Queue: Ian Vollick <vollick@chromium.org>
Bug: oss-fuzz:59927 Change-Id: Ib5f8597bb8443dd7fcb295e5da34434825ad0738 Reviewed-on: https://skia-review.googlesource.com/c/skia/+/714056 Reviewed-by: Michael Ludwig <michaelludwig@google.com> Commit-Queue: Brian Osman <brianosman@google.com>
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 <brianosman@google.com> Reviewed-by: Michael Ludwig <michaelludwig@google.com> Commit-Queue: Arman Uguray <armansito@google.com>
Bug: skia:9282 Bug: b/263137049 Change-Id: I20fd6a5b626d67e37cf0c67d2d2a4c4cab277aab Reviewed-on: https://skia-review.googlesource.com/c/skia/+/712762 Reviewed-by: Brian Osman <brianosman@google.com> Auto-Submit: Michael Ludwig <michaelludwig@google.com> Commit-Queue: Brian Osman <brianosman@google.com>
Bug: skia:9282 Bug: b/263138152 Change-Id: Ie3f6183d3ba4982cbf2c345962a5d693c0ffb748 Reviewed-on: https://skia-review.googlesource.com/c/skia/+/711687 Reviewed-by: Brian Osman <brianosman@google.com> Commit-Queue: Brian Osman <brianosman@google.com> Auto-Submit: Michael Ludwig <michaelludwig@google.com>
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 <herb@google.com> > Commit-Queue: Brian Osman <brianosman@google.com> 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 <rubber-stamper@appspot.gserviceaccount.com> Auto-Submit: Brian Osman <brianosman@google.com> Bot-Commit: Rubber Stamper <rubber-stamper@appspot.gserviceaccount.com>
Change-Id: I49d529ec55de8f696782c9cd4ec4519e3652cb78 Reviewed-on: https://skia-review.googlesource.com/c/skia/+/714376 Commit-Queue: Chris Mumford <cmumford@google.com> Auto-Submit: Rakshit Sharma <sharaks@google.com> Reviewed-by: Chris Mumford <cmumford@google.com>
Change-Id: I8aa16d614a7cffb9843740add7644f1f24fa1bf1 Reviewed-on: https://skia-review.googlesource.com/c/skia/+/714378 Auto-Submit: Rakshit Sharma <sharaks@google.com> Commit-Queue: Chris Mumford <cmumford@google.com> Reviewed-by: Chris Mumford <cmumford@google.com>
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 <bungeman@google.com> Reviewed-by: John Stiles <johnstiles@google.com> (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 <johnstiles@google.com> Commit-Queue: Ben Wagner <bungeman@google.com> (cherry picked from commit c60ac28) Reviewed-on: https://skia-review.googlesource.com/c/skia/+/719018 Auto-Submit: Ben Wagner <bungeman@google.com> Commit-Queue: John Stiles <johnstiles@google.com>
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 <robertphillips@google.com> Reviewed-by: Brian Osman <brianosman@google.com> Commit-Queue: Michael Ludwig <michaelludwig@google.com> (cherry picked from commit e99aea2) Reviewed-on: https://skia-review.googlesource.com/c/skia/+/728958 Reviewed-by: John Stiles <johnstiles@google.com>
…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 <lovisolo@google.com> Commit-Queue: Ravi Mistry <rmistry@google.com> Reviewed-by: Ravi Mistry <rmistry@google.com> Auto-Submit: Leandro Lovisolo <lovisolo@google.com>
Bug: chromium:1464215 Change-Id: I264d248f78b9991e2d49d9e42dcffe706e961518 Reviewed-on: https://skia-review.googlesource.com/c/skia/+/736359 Auto-Submit: John Stiles <johnstiles@google.com> Reviewed-by: Brian Osman <brianosman@google.com> Commit-Queue: John Stiles <johnstiles@google.com> Commit-Queue: Brian Osman <brianosman@google.com>
Change-Id: Ic0ca6976759595e2a105f6fe6facffe4fceb397a Reviewed-on: https://skia-review.googlesource.com/c/skia/+/718456 Reviewed-by: Florin Malita <fmalita@google.com> Commit-Queue: Michael Ludwig <michaelludwig@google.com> (cherry picked from commit 34f5d27) Reviewed-on: https://skia-review.googlesource.com/c/skia/+/746768 Reviewed-by: Brian Osman <brianosman@google.com> Commit-Queue: Brian Osman <brianosman@google.com> Auto-Submit: Xianzhu Wang <wangxianzhu@chromium.org> Reviewed-by: Michael Ludwig <michaelludwig@google.com>
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 <egdaniel@google.com> Commit-Queue: Kevin Lubick <kjlubick@google.com> (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 <egdaniel@google.com> > Commit-Queue: Kevin Lubick <kjlubick@google.com> > (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 <kjlubick@google.com> Bot-Commit: Rubber Stamper <rubber-stamper@appspot.gserviceaccount.com> Auto-Submit: Kevin Lubick <kjlubick@google.com> Commit-Queue: Rubber Stamper <rubber-stamper@appspot.gserviceaccount.com>
Change-Id: I1cd488c184bf82a1a03d12a754cba9fdf4394baf Reviewed-on: https://skia-review.googlesource.com/c/skia/+/772440 Reviewed-by: Heather Miller <hcm@google.com>
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