| 文件 | 最后提交记录 | 最后更新时间 |
|---|---|---|
[rust png] Extract ReadAndSeek traits from rust/png to rust/common Extract the StreamAdapter (Read+Seek) classes from PNG-specific code to rust/common for reuse across multiple codec implementations (PNG, BMP, JPEG, etc.). Key changes: - Created rust/common/SkStreamAdapter.h with StreamAdapter classes that wrap SkStream for Rust FFI - Created rust/common/io_traits_ffi.rs as canonical CXX bridge declaration for type unification across codec modules - Updated rust/png/FFI.rs to use unified types from rust::stream namespace Bug: 452666425 Change-Id: I8e2ec205d485603816690c0e15600f0c9a4eb89f Reviewed-on: https://skia-review.googlesource.com/c/skia/+/1093916 Reviewed-by: Łukasz Anforowicz <lukasza@google.com> Reviewed-by: Kaylee Lubick <kjlubick@google.com> Commit-Queue: Łukasz Anforowicz <lukasza@google.com> | 7 个月前 | |
Move SkStringView from include/private/base into src/base src/base is where files that we want to be used in the base package (i.e. minimal deps and used in many parts of Skia) which are not used by the public API can go. Change-Id: Idf781f7cc24ab8aa05004c099cea53d65484b1c0 Bug: skia:13983 Reviewed-on: https://skia-review.googlesource.com/c/skia/+/627696 Commit-Queue: Kevin Lubick <kjlubick@google.com> Reviewed-by: Brian Osman <brianosman@google.com> | 3 年前 | |
Revert " merge 144_trunk into 144_trunk" This reverts commit e74ee65452de5f8a63498c803c2f3c68a61ee974, reversing changes made to ee20d565acb08dece4a32e3f209cdd41119015ca. Signed-off-by: ohci1 <ohci1@noreply.gitcode.com> | 5 个月前 | |
Replace addPolyLine with addLine in SkBasicEdgeBuilder http://review.skia.org/976336 made SkEdge have a vtable. This causes a problem with SkArenaAlloc::makeArrayDefault because it takes a block of uninitialized bytes and says "you are an SkEdge*" without initializing the vtable. Chromium has some Control Flow Integrity CI jobs that caught this [1] runtime error: control flow integrity check for type 'SkEdge' failed during cast to unrelated type (vtable address 0x4242424242424242) This ends up being ok eventually because makeArrayDefault will call new using those bytes, filling in the vtable. The general design of SkArenaAlloc is better suited for structs that are just data, so I decided to remove the extra (and confusing) logic in buildPoly to more closely align with the other path. Those allocations from SkArenaAlloc are very fast (it's dividing up stack allocated memory) so trying to batch them has minimal gain. This adds a test to make sure this change doesn't break the existing functionality. [1] https://ci.chromium.org/ui/p/chromium/builders/ci/Linux%20CFI/29502/overview Change-Id: I80ccd8c12c5162d7edf130765061f5a0c15409a2 Bug: b/409738223 Reviewed-on: https://skia-review.googlesource.com/c/skia/+/978200 Reviewed-by: Daniel Dilan <danieldilan@google.com> Auto-Submit: Kaylee Lubick <kjlubick@google.com> Commit-Queue: Daniel Dilan <danieldilan@google.com> Commit-Queue: Kaylee Lubick <kjlubick@google.com> | 1 年前 | |
[base] Move more files into base The general answer to "What goes in base?" is "code which would be generally useful outside of a graphics library". As such, I'm moving several helpers we have for managing memory, as long as the remaining files which were needed to be in base during the proof-of-concept build [1]. Moved from include/private into include/private/base: - SkNoncopyable.h Moved from src/core into src/base: - SkArenaAlloc.cpp - SkArenaAlloc.h - SkArenaAllocList.h - SkASAN.h - SkAutoMalloc.h - SkBlockAllocator.cpp - SkBlockAllocator.h - SkMathPriv.cpp - SkMathPriv.h" - SkScopeExit.h - SkTBlockList.h - SkTDArray.cpp - SkThreadID.cpp - SkTLazy.h - SkUTF.cpp - SkUTF.h I moved SkUNREACHABLE out of SkTypes and into SkAssert.h since it felt assert-like. This adds GrMemoryPool.cpp/.h to the list of files for which we enforce IWYU, because it wasn't including <memory> and broke when I enforced IWYU on SkBlockAllocator. Suggested review order: - include/private/base/BUILD.bazel - include/private/BUILD.bazel - include/BUILD.bazel - gn/*.gni (these are generated from the BUILD.bazel files) - BUILD.gn - public.bzl - include/core/SkTypes.h and include/core/SkAssert.h - Everything else, mostly done with find and replace and cleaned up with the rewrite_includes.py script. [1] https://skia-review.googlesource.com/c/skia/+/616777 Change-Id: I8d9a7cff89cea425a0ff4e2ee7ccb15abb021217 Bug: skia:13983 Reviewed-on: https://skia-review.googlesource.com/c/skia/+/631422 Reviewed-by: Ben Wagner <bungeman@google.com> Owners-Override: Kevin Lubick <kjlubick@google.com> | 3 年前 | |
Add [[nodiscard]] to various SkAuto* types Using these types without naming them creates a temporary that immediately goes out of scope, which is generally unexpected and not desirable. [[nodiscard]] means the compiler can generate a warning for this case, allowing presubmits to be simplified. Change-Id: Ifae7393700b41d04dbc4797d34ed66e20d6a0673 Reviewed-on: https://skia-review.googlesource.com/c/skia/+/1101396 Reviewed-by: Florin Malita <fmalita@google.com> Auto-Submit: Daniel Cheng <dcheng@chromium.org> Reviewed-by: Ben Wagner <bungeman@google.com> Commit-Queue: Florin Malita <fmalita@google.com> | 7 个月前 | |
Remove SkBase64 from public API Client CLs: - https://github.com/flutter/engine/pull/46543 Change-Id: Ifd06cfa574be69bdfcbbd02e7f8e224a47493dcb Reviewed-on: https://skia-review.googlesource.com/c/skia/+/764176 Reviewed-by: Brian Osman <brianosman@google.com> Commit-Queue: Kevin Lubick <kjlubick@google.com> | 2 年前 | |
Remove SkBase64 from public API Client CLs: - https://github.com/flutter/engine/pull/46543 Change-Id: Ifd06cfa574be69bdfcbbd02e7f8e224a47493dcb Reviewed-on: https://skia-review.googlesource.com/c/skia/+/764176 Reviewed-by: Brian Osman <brianosman@google.com> Commit-Queue: Kevin Lubick <kjlubick@google.com> | 2 年前 | |
Update (some) callers to follow more strict span rules - allows us to migrate to std::span, keeping SkSpan (for now) as an alias. - idea is to land call-site-cleanups separately, so that when we do try to actually throw the switch, that CL only contains the switch (build-flag) itself. Change-Id: I5f9aaafeb297b7adc1d953019fdac6ffda95fe03 Reviewed-on: https://skia-review.googlesource.com/c/skia/+/1097896 Commit-Queue: Mike Reed <mike@reedtribe.org> Reviewed-by: Ben Wagner <bungeman@google.com> Reviewed-by: Florin Malita <fmalita@google.com> | 7 个月前 | |
Cubic intersections for glyph underlines Extract horizontal line intersection for cubic Beziers to support underline without the need for PathOps. This is the last CL. There is no more connection with PathOps. Bug: skia:14252 Change-Id: Ieb569f9bee6541bcb9e2954f48854bb6723bccaf Reviewed-on: https://skia-review.googlesource.com/c/skia/+/714776 Commit-Queue: Herb Derby <herb@google.com> Reviewed-by: Brian Osman <brianosman@google.com> | 2 年前 | |
Move SkBitmaskEnum out of include/private/. This was not actually used in any public headers. Change-Id: Ica1a2fd9d31e2377f5a673cf8596edf6bc965f2c Reviewed-on: https://skia-review.googlesource.com/c/skia/+/728796 Reviewed-by: Michael Ludwig <michaelludwig@google.com> Auto-Submit: John Stiles <johnstiles@google.com> Commit-Queue: John Stiles <johnstiles@google.com> Reviewed-by: Kevin Lubick <kjlubick@google.com> | 2 年前 | |
[base] Move more files into base The general answer to "What goes in base?" is "code which would be generally useful outside of a graphics library". As such, I'm moving several helpers we have for managing memory, as long as the remaining files which were needed to be in base during the proof-of-concept build [1]. Moved from include/private into include/private/base: - SkNoncopyable.h Moved from src/core into src/base: - SkArenaAlloc.cpp - SkArenaAlloc.h - SkArenaAllocList.h - SkASAN.h - SkAutoMalloc.h - SkBlockAllocator.cpp - SkBlockAllocator.h - SkMathPriv.cpp - SkMathPriv.h" - SkScopeExit.h - SkTBlockList.h - SkTDArray.cpp - SkThreadID.cpp - SkTLazy.h - SkUTF.cpp - SkUTF.h I moved SkUNREACHABLE out of SkTypes and into SkAssert.h since it felt assert-like. This adds GrMemoryPool.cpp/.h to the list of files for which we enforce IWYU, because it wasn't including <memory> and broke when I enforced IWYU on SkBlockAllocator. Suggested review order: - include/private/base/BUILD.bazel - include/private/BUILD.bazel - include/BUILD.bazel - gn/*.gni (these are generated from the BUILD.bazel files) - BUILD.gn - public.bzl - include/core/SkTypes.h and include/core/SkAssert.h - Everything else, mostly done with find and replace and cleaned up with the rewrite_includes.py script. [1] https://skia-review.googlesource.com/c/skia/+/616777 Change-Id: I8d9a7cff89cea425a0ff4e2ee7ccb15abb021217 Bug: skia:13983 Reviewed-on: https://skia-review.googlesource.com/c/skia/+/631422 Reviewed-by: Ben Wagner <bungeman@google.com> Owners-Override: Kevin Lubick <kjlubick@google.com> | 3 年前 | |
Move SkASAN.h to include/private/base. This will make it accessible to SkTArray.h. Bug: b/40044929 Change-Id: I64d3007ebe6bbb4df564418508801bcba12ca155 Reviewed-on: https://skia-review.googlesource.com/c/skia/+/841538 Reviewed-by: Leandro Lovisolo <lovisolo@google.com> Commit-Queue: John Stiles <johnstiles@google.com> | 2 年前 | |
[base] Move several more files from src/core into base. Files moved: - SkBuffer.h - SkTBlockList.h - SkTDPQueue.h - SkTInternalLList.h - SkTSearch.h - SkTSort.h - SkUtils.h - SkZip.h Client change: - http://ag/21090138 Suggested review order: - src/base/BUILD.bazel - src/core/BUILD.bazel - Files listed above (note some IWYU changes) - gn/*.gni (these are generated from the BUILD.bazel files) - BUILD.gn - public.bzl - Everything else, mostly done with find and replace and cleaned up with the rewrite_includes.py script. Change-Id: I2ea8146ca956daf1081693bdac3644022f888a40 Bug: skia:13983 Reviewed-on: https://skia-review.googlesource.com/c/skia/+/633976 Reviewed-by: Ben Wagner <bungeman@google.com> Commit-Queue: Kevin Lubick <kjlubick@google.com> | 3 年前 | |
Mark some private constructors explicit This is considered good practice by the style guide. https://google.github.io/styleguide/cppguide.html#Implicit_Conversions I don't expect this to break any clients, but I've made it a separate commit from the ones touching the public API. I asked Gemini CLI to help me with this one. I had it use a regex to find candidates and then it narrowed down the pool and applied the edits. Change-Id: I3b519698508b186438a4a185c92472dccfa15313 Reviewed-on: https://skia-review.googlesource.com/c/skia/+/1075876 Reviewed-by: Michael Ludwig <michaelludwig@google.com> Commit-Queue: Kaylee Lubick <kjlubick@google.com> | 8 个月前 | |
Reland "Add sk_malloc_size() to query usable allocation sizes" This is a reland of commit 57f975e8e391d4174844dd4427224d477e213036 Original change's description: > Add sk_malloc_size() to query usable allocation sizes > > The implementation in SkContainers.cpp tries to use a platform-dependent > way of figuring out the actual size allocated for a memory block, but > when using a custom allocator it should not assume how to obtain this > information. Instead, add a sk_malloc_size() function that custom > allocators can implement. > > Existing code gets moved to SkMemory_{malloc,mozalloc}.cpp into their > respective sk_malloc_size() implementations. > > Change-Id: I4c8f23cbcc03ec9384104a7985a11df15584f583 > Bug: b/325991359 > Reviewed-on: https://skia-review.googlesource.com/c/skia/+/816036 > Reviewed-by: Leon Scroggins <scroggo@google.com> > Commit-Queue: Brian Osman <brianosman@google.com> > Reviewed-by: Brian Osman <brianosman@google.com> > Reviewed-by: Ben Wagner <bungeman@google.com> > Auto-Submit: Adrian Perez de Castro <aperez@igalia.com> Bug: b/325991359 Change-Id: I33d53e76907f348e4cf1405ea4fe8e9747e80313 Reviewed-on: https://skia-review.googlesource.com/c/skia/+/817797 Commit-Queue: Brian Osman <brianosman@google.com> Reviewed-by: Ben Wagner <bungeman@google.com> | 2 年前 | |
Expand tValue check for SkCubic::RootsValidT Bug addressed an issue where we had a real root found that was ≈1 but <1. This adds the value to the solutions array even though we might already have a root ≈1. This CL adds a check if the next root found is close to 1 similar to the next check below for 0. Bug: 436904861 Change-Id: I5df9acf3fa1848f47b62e29703d4db1507699e66 Reviewed-on: https://skia-review.googlesource.com/c/skia/+/1034418 Reviewed-by: Michael Ludwig <michaelludwig@google.com> Commit-Queue: Daniel Dilan <danieldilan@google.com> | 10 个月前 | |
Cubic intersections for glyph underlines Extract horizontal line intersection for cubic Beziers to support underline without the need for PathOps. This is the last CL. There is no more connection with PathOps. Bug: skia:14252 Change-Id: Ieb569f9bee6541bcb9e2954f48854bb6723bccaf Reviewed-on: https://skia-review.googlesource.com/c/skia/+/714776 Commit-Queue: Herb Derby <herb@google.com> Reviewed-by: Brian Osman <brianosman@google.com> | 2 年前 | |
Move SkDebug.cpp from core to base The symbol defined there is declared in include/private/base, so we can't put it in the src/core module. Change-Id: I60ed9fd6c84c301511986c52b7f4e1349f6d16ab Bug: b/40045064 Reviewed-on: https://skia-review.googlesource.com/c/skia/+/766681 Commit-Queue: Kevin Lubick <kjlubick@google.com> Reviewed-by: Leandro Lovisolo <lovisolo@google.com> Commit-Queue: Leandro Lovisolo <lovisolo@google.com> Auto-Submit: Kevin Lubick <kjlubick@google.com> | 2 年前 | |
[base] Move more files into base Moved from include/private into include/private/base: - SkFloatingPoint.h - SkMacros.h - SkSafe32.h - SkTLogic.h - SkTPin.h - SkTemplates.h Moved from src/core into src/base: - SkDeque.cpp - SkFloatingPoint.cpp - SkTDArray.cpp - SkLeanWindows.h - SkMalloc.cpp - SkSafeMath.h - SkSemaphore.cpp - SkSafeMath.cpp* Some constants were moved from SkTypes.h into SkMath.h and the implementation of SkSafeMath was put into its own file (instead of being in SkMath.cpp) A shim was added for SkTemplates.h, due to a few uses lingering in Android. - frameworks/base/libs/hwui/SkiaCanvas.cpp - frameworks/base/libs/hwui/pipeline/skia/SkiaRecordingCanvas.cpp - frameworks/base/libs/hwui/jni/Graphics.cpp - vendor/...GIFDecode.cpp Client CLs: - http://ag/21017148 Suggested review order: - include/private/base/BUILD.bazel - include/private/BUILD.bazel - include/BUILD.bazel - gn/*.gni (these are generated from the BUILD.bazel files) - BUILD.gn - public.bzl - Everything else, mostly done with find and replace and cleaned up with the rewrite_includes.py script. Change-Id: If80cfac68fed4219c4ea144f428461d2426bed24 Bug: skia:13983 Reviewed-on: https://skia-review.googlesource.com/c/skia/+/630545 Reviewed-by: Herb Derby <herb@google.com> Owners-Override: Kevin Lubick <kjlubick@google.com> Commit-Queue: Kevin Lubick <kjlubick@google.com> | 3 年前 | |
Always have SkEndian_Swap* macros yield consistent types Bug: skia:14515 Change-Id: Ia0af1aad6f146e2f79d86b800cea03968daa2646 Reviewed-on: https://skia-review.googlesource.com/c/skia/+/720001 Commit-Queue: James Godfrey-Kittle <jamesgk@google.com> Reviewed-by: Brian Osman <brianosman@google.com> | 2 年前 | |
SkEnumBitmask sized to enum's underlying type Change-Id: Ib9cff1c5fa6d30f4bd2bfe888b9aeb7bc7f4537d Reviewed-on: https://skia-review.googlesource.com/c/skia/+/1098775 Reviewed-by: Ben Wagner <bungeman@google.com> Commit-Queue: Michael Ludwig <michaelludwig@google.com> | 7 个月前 | |
Update (some) callers to follow more strict span rules - allows us to migrate to std::span, keeping SkSpan (for now) as an alias. - idea is to land call-site-cleanups separately, so that when we do try to actually throw the switch, that CL only contains the switch (build-flag) itself. Change-Id: I5f9aaafeb297b7adc1d953019fdac6ffda95fe03 Reviewed-on: https://skia-review.googlesource.com/c/skia/+/1097896 Commit-Queue: Mike Reed <mike@reedtribe.org> Reviewed-by: Ben Wagner <bungeman@google.com> Reviewed-by: Florin Malita <fmalita@google.com> | 7 个月前 | |
Move SkFloatBits.h into src/base instead of include/private. These are no longer used anywhere from inside include/. This limits their exposure to client code. I added a release note in case someone was accidentally relying on these methods, since they existed in some example code despite being private. Change-Id: I26c92b83979b62484b7fd3e7d1f06e4b41c7ddb1 Reviewed-on: https://skia-review.googlesource.com/c/skia/+/842479 Auto-Submit: John Stiles <johnstiles@google.com> Reviewed-by: James Godfrey-Kittle <jamesgk@google.com> Commit-Queue: James Godfrey-Kittle <jamesgk@google.com> | 2 年前 | |
Remove unreferenced function in SkFloatingPoint. sk_floats_are_unit was not used anywhere in Skia. Change-Id: I20b8a55e2511fb0c398ddded03975a44347438ea Reviewed-on: https://skia-review.googlesource.com/c/skia/+/842496 Commit-Queue: Robert Phillips <robertphillips@google.com> Reviewed-by: Robert Phillips <robertphillips@google.com> Auto-Submit: John Stiles <johnstiles@google.com> | 2 年前 | |
Remove dependency on SkFloatBits.h from SkFloatingPoint.h. The helper functions in SkFloatBits have been replaced with equivalent standard library calls. In modern times, we expect the compiler to do a good job optimizing calls like isfinite or isinf without bit-twiddling. Change-Id: I83658746207816346bdc03c7d7dfbcb8d772fa1f Reviewed-on: https://skia-review.googlesource.com/c/skia/+/842476 Reviewed-by: Brian Osman <brianosman@google.com> Auto-Submit: John Stiles <johnstiles@google.com> | 2 年前 | |
Update SkVx to_half to support denormals,overflow, and RTNE Change-Id: I3155be97ceaeae17c90bb5d9c3e25f811ff10630 Reviewed-on: https://skia-review.googlesource.com/c/skia/+/798976 Commit-Queue: Michael Ludwig <michaelludwig@google.com> Reviewed-by: John Stiles <johnstiles@google.com> | 2 年前 | |
[base] Move more files into base Moved from include/private into include/private/base: - SkFloatingPoint.h - SkMacros.h - SkSafe32.h - SkTLogic.h - SkTPin.h - SkTemplates.h Moved from src/core into src/base: - SkDeque.cpp - SkFloatingPoint.cpp - SkTDArray.cpp - SkLeanWindows.h - SkMalloc.cpp - SkSafeMath.h - SkSemaphore.cpp - SkSafeMath.cpp* Some constants were moved from SkTypes.h into SkMath.h and the implementation of SkSafeMath was put into its own file (instead of being in SkMath.cpp) A shim was added for SkTemplates.h, due to a few uses lingering in Android. - frameworks/base/libs/hwui/SkiaCanvas.cpp - frameworks/base/libs/hwui/pipeline/skia/SkiaRecordingCanvas.cpp - frameworks/base/libs/hwui/jni/Graphics.cpp - vendor/...GIFDecode.cpp Client CLs: - http://ag/21017148 Suggested review order: - include/private/base/BUILD.bazel - include/private/BUILD.bazel - include/BUILD.bazel - gn/*.gni (these are generated from the BUILD.bazel files) - BUILD.gn - public.bzl - Everything else, mostly done with find and replace and cleaned up with the rewrite_includes.py script. Change-Id: If80cfac68fed4219c4ea144f428461d2426bed24 Bug: skia:13983 Reviewed-on: https://skia-review.googlesource.com/c/skia/+/630545 Reviewed-by: Herb Derby <herb@google.com> Owners-Override: Kevin Lubick <kjlubick@google.com> Commit-Queue: Kevin Lubick <kjlubick@google.com> | 3 年前 | |
[base] Move SkMSAN into base With some other misc fixes, like improving the IWYU mapping file. Change-Id: I09a497825e9adc5d13a87914afe641691b42da40 Bug: skia:13983 Reviewed-on: https://skia-review.googlesource.com/c/skia/+/642397 Commit-Queue: Kevin Lubick <kjlubick@google.com> Reviewed-by: Ben Wagner <bungeman@google.com> | 3 年前 | |
[base] Move more files into base Moved from include/private into include/private/base: - SkFloatingPoint.h - SkMacros.h - SkSafe32.h - SkTLogic.h - SkTPin.h - SkTemplates.h Moved from src/core into src/base: - SkDeque.cpp - SkFloatingPoint.cpp - SkTDArray.cpp - SkLeanWindows.h - SkMalloc.cpp - SkSafeMath.h - SkSemaphore.cpp - SkSafeMath.cpp* Some constants were moved from SkTypes.h into SkMath.h and the implementation of SkSafeMath was put into its own file (instead of being in SkMath.cpp) A shim was added for SkTemplates.h, due to a few uses lingering in Android. - frameworks/base/libs/hwui/SkiaCanvas.cpp - frameworks/base/libs/hwui/pipeline/skia/SkiaRecordingCanvas.cpp - frameworks/base/libs/hwui/jni/Graphics.cpp - vendor/...GIFDecode.cpp Client CLs: - http://ag/21017148 Suggested review order: - include/private/base/BUILD.bazel - include/private/BUILD.bazel - include/BUILD.bazel - gn/*.gni (these are generated from the BUILD.bazel files) - BUILD.gn - public.bzl - Everything else, mostly done with find and replace and cleaned up with the rewrite_includes.py script. Change-Id: If80cfac68fed4219c4ea144f428461d2426bed24 Bug: skia:13983 Reviewed-on: https://skia-review.googlesource.com/c/skia/+/630545 Reviewed-by: Herb Derby <herb@google.com> Owners-Override: Kevin Lubick <kjlubick@google.com> Commit-Queue: Kevin Lubick <kjlubick@google.com> | 3 年前 | |
Remove unreferenced function in SkFloatingPoint. sk_floats_are_unit was not used anywhere in Skia. Change-Id: I20b8a55e2511fb0c398ddded03975a44347438ea Reviewed-on: https://skia-review.googlesource.com/c/skia/+/842496 Commit-Queue: Robert Phillips <robertphillips@google.com> Reviewed-by: Robert Phillips <robertphillips@google.com> Auto-Submit: John Stiles <johnstiles@google.com> | 2 年前 | |
Replace/rename Gr* functions in SkMathPriv with Sk* naming convention Neither GrNextPow2 nor GrNextSizePow2 had Ganesh-specific logic in them, so we should drop Gr from the name. The only difference between GrNextPow2 and SkNextPow2 was the former allowed 0 as an input and would return 1. I updated or verified all previous callers would not pass 0, so we don't have to include this branching logic in the function itself. GrNextSizePow2 was renamed to SkNextSizePow2 and made constexpr since it appears to be so. Change-Id: I260e817de6cadf8f48981e00a53a05726043e19a Reviewed-on: https://skia-review.googlesource.com/c/skia/+/907357 Commit-Queue: Kaylee Lubick <kjlubick@google.com> Reviewed-by: Florin Malita <fmalita@google.com> | 1 年前 | |
Improve diagnostic text from NoDestructor. This CL mirrors https://crrev.com/c/5099603. I tried wrapping a struct holding an atomic<bool> in SkNoDestructor and it issued a diagnostic that I should use a function-level static. However, it should be safe to just use objects as-is when they are both trivially constructible and destructible. SkNoDestructor now detects this case and issues a different diagnostic message. Change-Id: I53306e8fe6ef1e6fa83160574fb90ff06e2e89e9 Reviewed-on: https://skia-review.googlesource.com/c/skia/+/787083 Commit-Queue: John Stiles <johnstiles@google.com> Reviewed-by: Ben Wagner <bungeman@google.com> Commit-Queue: Ben Wagner <bungeman@google.com> Auto-Submit: John Stiles <johnstiles@google.com> | 2 年前 | |
Harden quadratic solver Make the solve deal with A = 0 properly. Add the hard tests from the paper "The Ins and Outs of Solving the Quadratic Equations with Floating-Point Arithmetic" to check the degenerate cases. Change-Id: Iaea2498eb604ea7a240a3be81aee2efadcfc74f5 Reviewed-on: https://skia-review.googlesource.com/c/skia/+/712277 Reviewed-by: Jim Van Verth <jvanverth@google.com> Commit-Queue: Herb Derby <herb@google.com> | 3 年前 | |
Reland "Quad intersections for glyph underlines" 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 46d65bbd51bb1e0302bc5bbadbc2d956dd9350b5 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> | 2 年前 | |
Mark some private constructors explicit This is considered good practice by the style guide. https://google.github.io/styleguide/cppguide.html#Implicit_Conversions I don't expect this to break any clients, but I've made it a separate commit from the ones touching the public API. I asked Gemini CLI to help me with this one. I had it use a regex to find candidates and then it narrowed down the pool and applied the edits. Change-Id: I3b519698508b186438a4a185c92472dccfa15313 Reviewed-on: https://skia-review.googlesource.com/c/skia/+/1075876 Reviewed-by: Michael Ludwig <michaelludwig@google.com> Commit-Queue: Kaylee Lubick <kjlubick@google.com> | 8 个月前 | |
Split SkRectMemcpy from SkConvertPixels Several places (including SkImage_Raster) were including SkConvertPixels.h only for SkRectMemcpy. This established an unnecessary connection on Raster Pipeline (which currently backs SkConvertPixels). This removes those extra connections and enforces IWYU on SkConvertPixels. Change-Id: I84226a62e55e3d04341779445ec7e0cbfae52c57 Bug: skia:13983 Reviewed-on: https://skia-review.googlesource.com/c/skia/+/660858 Reviewed-by: Brian Osman <brianosman@google.com> Commit-Queue: Kevin Lubick <kjlubick@google.com> | 3 年前 | |
[base] Move more files into base Moved from include/private into include/private/base: - SkFloatingPoint.h - SkMacros.h - SkSafe32.h - SkTLogic.h - SkTPin.h - SkTemplates.h Moved from src/core into src/base: - SkDeque.cpp - SkFloatingPoint.cpp - SkTDArray.cpp - SkLeanWindows.h - SkMalloc.cpp - SkSafeMath.h - SkSemaphore.cpp - SkSafeMath.cpp* Some constants were moved from SkTypes.h into SkMath.h and the implementation of SkSafeMath was put into its own file (instead of being in SkMath.cpp) A shim was added for SkTemplates.h, due to a few uses lingering in Android. - frameworks/base/libs/hwui/SkiaCanvas.cpp - frameworks/base/libs/hwui/pipeline/skia/SkiaRecordingCanvas.cpp - frameworks/base/libs/hwui/jni/Graphics.cpp - vendor/...GIFDecode.cpp Client CLs: - http://ag/21017148 Suggested review order: - include/private/base/BUILD.bazel - include/private/BUILD.bazel - include/BUILD.bazel - gn/*.gni (these are generated from the BUILD.bazel files) - BUILD.gn - public.bzl - Everything else, mostly done with find and replace and cleaned up with the rewrite_includes.py script. Change-Id: If80cfac68fed4219c4ea144f428461d2426bed24 Bug: skia:13983 Reviewed-on: https://skia-review.googlesource.com/c/skia/+/630545 Reviewed-by: Herb Derby <herb@google.com> Owners-Override: Kevin Lubick <kjlubick@google.com> Commit-Queue: Kevin Lubick <kjlubick@google.com> | 3 年前 | |
Returns defined result for SkSafeMath::mulInt Change-Id: If943d202a0dfef77633e4070b915d53ece9754e4 Reviewed-on: https://skia-review.googlesource.com/c/skia/+/1046276 Reviewed-by: Robert Phillips <robertphillips@google.com> Commit-Queue: Thomas Smith <thomsmit@google.com> | 10 个月前 | |
Mark some private constructors explicit This is considered good practice by the style guide. https://google.github.io/styleguide/cppguide.html#Implicit_Conversions I don't expect this to break any clients, but I've made it a separate commit from the ones touching the public API. I asked Gemini CLI to help me with this one. I had it use a regex to find candidates and then it narrowed down the pool and applied the edits. Change-Id: I3b519698508b186438a4a185c92472dccfa15313 Reviewed-on: https://skia-review.googlesource.com/c/skia/+/1075876 Reviewed-by: Michael Ludwig <michaelludwig@google.com> Commit-Queue: Kaylee Lubick <kjlubick@google.com> | 8 个月前 | |
[base] Move more files into base Moved from include/private into include/private/base: - SkFloatingPoint.h - SkMacros.h - SkSafe32.h - SkTLogic.h - SkTPin.h - SkTemplates.h Moved from src/core into src/base: - SkDeque.cpp - SkFloatingPoint.cpp - SkTDArray.cpp - SkLeanWindows.h - SkMalloc.cpp - SkSafeMath.h - SkSemaphore.cpp - SkSafeMath.cpp* Some constants were moved from SkTypes.h into SkMath.h and the implementation of SkSafeMath was put into its own file (instead of being in SkMath.cpp) A shim was added for SkTemplates.h, due to a few uses lingering in Android. - frameworks/base/libs/hwui/SkiaCanvas.cpp - frameworks/base/libs/hwui/pipeline/skia/SkiaRecordingCanvas.cpp - frameworks/base/libs/hwui/jni/Graphics.cpp - vendor/...GIFDecode.cpp Client CLs: - http://ag/21017148 Suggested review order: - include/private/base/BUILD.bazel - include/private/BUILD.bazel - include/BUILD.bazel - gn/*.gni (these are generated from the BUILD.bazel files) - BUILD.gn - public.bzl - Everything else, mostly done with find and replace and cleaned up with the rewrite_includes.py script. Change-Id: If80cfac68fed4219c4ea144f428461d2426bed24 Bug: skia:13983 Reviewed-on: https://skia-review.googlesource.com/c/skia/+/630545 Reviewed-by: Herb Derby <herb@google.com> Owners-Override: Kevin Lubick <kjlubick@google.com> Commit-Queue: Kevin Lubick <kjlubick@google.com> | 3 年前 | |
Revert "Replace SkSharedMutex with std::shared_mutex" This reverts commit b2f3e3f6263ad231a042a2632bd98bfd26ab8ed7. There appears to be a deadlock somewhere. See linked bug. Bug: b/388383805 Change-Id: Id7971e130e83cad31c066c5f2f887cb5b476b633 Reviewed-on: https://skia-review.googlesource.com/c/skia/+/936536 Reviewed-by: Ben Wagner <bungeman@google.com> Commit-Queue: Kaylee Lubick <kjlubick@google.com> Auto-Submit: Kaylee Lubick <kjlubick@google.com> | 1 年前 | |
Add presubmit rule to check for unuspported G3 APIs I didn't know about these and it caused a problem in http://review.skia.org/930127 that had to be reverted. Change-Id: Iac806234827ac69728dc66fee7cabf26fa561143 Reviewed-on: https://skia-review.googlesource.com/c/skia/+/936444 Commit-Queue: Kaylee Lubick <kjlubick@google.com> Reviewed-by: Ben Wagner <bungeman@google.com> | 1 年前 | |
[base] Move SkSpinlock and SkSharedMutex to src/base No usages in include/ nor third-party clients, so this should be a trivial move. Change-Id: I6b481872b9e449c8197c95ae4107d4ef94e17994 Bug: skia:13983 Reviewed-on: https://skia-review.googlesource.com/c/skia/+/694696 Commit-Queue: Kevin Lubick <kjlubick@google.com> Reviewed-by: Herb Derby <herb@google.com> | 3 年前 | |
Mark some private constructors explicit This is considered good practice by the style guide. https://google.github.io/styleguide/cppguide.html#Implicit_Conversions I don't expect this to break any clients, but I've made it a separate commit from the ones touching the public API. I asked Gemini CLI to help me with this one. I had it use a regex to find candidates and then it narrowed down the pool and applied the edits. Change-Id: I3b519698508b186438a4a185c92472dccfa15313 Reviewed-on: https://skia-review.googlesource.com/c/skia/+/1075876 Reviewed-by: Michael Ludwig <michaelludwig@google.com> Commit-Queue: Kaylee Lubick <kjlubick@google.com> | 8 个月前 | |
Move SkStringView from include/private/base into src/base src/base is where files that we want to be used in the base package (i.e. minimal deps and used in many parts of Skia) which are not used by the public API can go. Change-Id: Idf781f7cc24ab8aa05004c099cea53d65484b1c0 Bug: skia:13983 Reviewed-on: https://skia-review.googlesource.com/c/skia/+/627696 Commit-Queue: Kevin Lubick <kjlubick@google.com> Reviewed-by: Brian Osman <brianosman@google.com> | 3 年前 | |
[graphite] Use kFibonacci GrowthPolicy in more SkTBlockLists MotionMark SKP timings on my M1 mini improved for Arcs, Suits-Clip, and Suits on grmtl. For whatever reason I was not seeing improvements on grdawn. It may be that the Dawn bottlenecks are masking the allocation issues given the system malloc. PartitionAlloc in chrome gives different performance characteristics, so it'll be interesting to see how chrome scores improve. Arcs: grmtl went from ~5.1ms to 4.5ms; grdawn from 5.5ms to 5.3ms. Suits-Clip: grmtl went from 9.1ms to 7.4ms; grdawn remains about 12ms Suits: grmtl went from 7ms to 6.2ms; grdawn from 10.6 to 10.2ms. Bug: b/309704293 Change-Id: I6b168575a1becbb46b2de607ef536ce21774335c Reviewed-on: https://skia-review.googlesource.com/c/skia/+/776157 Auto-Submit: Michael Ludwig <michaelludwig@google.com> Reviewed-by: James Godfrey-Kittle <jamesgk@google.com> Commit-Queue: James Godfrey-Kittle <jamesgk@google.com> | 2 年前 | |
Fix IWYU after recent change https://skia-review.googlesource.com/c/skia/+/928336 IWYU got confused about move (needs the utility one, not the algorithm one) Change-Id: I4dee41ed9fb62621cfaf087114b2385bdf565d98 Reviewed-on: https://skia-review.googlesource.com/c/skia/+/928444 Auto-Submit: Kaylee Lubick <kjlubick@google.com> Reviewed-by: Jim Van Verth <jvanverth@google.com> Commit-Queue: Kaylee Lubick <kjlubick@google.com> Commit-Queue: Jim Van Verth <jvanverth@google.com> | 1 年前 | |
[base] Move several more files from src/core into base. Files moved: - SkBuffer.h - SkTBlockList.h - SkTDPQueue.h - SkTInternalLList.h - SkTSearch.h - SkTSort.h - SkUtils.h - SkZip.h Client change: - http://ag/21090138 Suggested review order: - src/base/BUILD.bazel - src/core/BUILD.bazel - Files listed above (note some IWYU changes) - gn/*.gni (these are generated from the BUILD.bazel files) - BUILD.gn - public.bzl - Everything else, mostly done with find and replace and cleaned up with the rewrite_includes.py script. Change-Id: I2ea8146ca956daf1081693bdac3644022f888a40 Bug: skia:13983 Reviewed-on: https://skia-review.googlesource.com/c/skia/+/633976 Reviewed-by: Ben Wagner <bungeman@google.com> Commit-Queue: Kevin Lubick <kjlubick@google.com> | 3 年前 | |
Add const to operator== and operator!= C++20 thinks these equality operators are ambiguous without them being marked const [1]. Conceptually, equality should be a const operation, so adding it is free. [1] https://stackoverflow.com/questions/60386792/c20-comparison-warning-about-ambiguous-reversed-operator Change-Id: Idbb620a8dfed07bc268b8d85b2c77e5b78fa3d6a Bug: b/311238827 Reviewed-on: https://skia-review.googlesource.com/c/skia/+/970976 Auto-Submit: Kaylee Lubick <kjlubick@google.com> Owners-Override: Kaylee Lubick <kjlubick@google.com> Commit-Queue: Kaylee Lubick <kjlubick@google.com> Reviewed-by: Eric Boren <borenet@google.com> Commit-Queue: Eric Boren <borenet@google.com> | 1 年前 | |
Migrate sites from SkTLazy to std::optional Change-Id: I215060baad282cb2034e676a661e8f9c61f07e13 Reviewed-on: https://skia-review.googlesource.com/c/skia/+/1052756 Reviewed-by: Daniel Dilan <danieldilan@google.com> Reviewed-by: Kaylee Lubick <kjlubick@google.com> Commit-Queue: Mike Reed <mike@reedtribe.org> | 9 个月前 | |
[base] Move several more files from src/core into base. Files moved: - SkBuffer.h - SkTBlockList.h - SkTDPQueue.h - SkTInternalLList.h - SkTSearch.h - SkTSort.h - SkUtils.h - SkZip.h Client change: - http://ag/21090138 Suggested review order: - src/base/BUILD.bazel - src/core/BUILD.bazel - Files listed above (note some IWYU changes) - gn/*.gni (these are generated from the BUILD.bazel files) - BUILD.gn - public.bzl - Everything else, mostly done with find and replace and cleaned up with the rewrite_includes.py script. Change-Id: I2ea8146ca956daf1081693bdac3644022f888a40 Bug: skia:13983 Reviewed-on: https://skia-review.googlesource.com/c/skia/+/633976 Reviewed-by: Ben Wagner <bungeman@google.com> Commit-Queue: Kevin Lubick <kjlubick@google.com> | 3 年前 | |
Add [[nodiscard]] to various SkAuto* types Using these types without naming them creates a temporary that immediately goes out of scope, which is generally unexpected and not desirable. [[nodiscard]] means the compiler can generate a warning for this case, allowing presubmits to be simplified. Change-Id: Ifae7393700b41d04dbc4797d34ed66e20d6a0673 Reviewed-on: https://skia-review.googlesource.com/c/skia/+/1101396 Reviewed-by: Florin Malita <fmalita@google.com> Auto-Submit: Daniel Cheng <dcheng@chromium.org> Reviewed-by: Ben Wagner <bungeman@google.com> Commit-Queue: Florin Malita <fmalita@google.com> | 7 个月前 | |
[base] Move several more files from src/core into base. Files moved: - SkBuffer.h - SkTBlockList.h - SkTDPQueue.h - SkTInternalLList.h - SkTSearch.h - SkTSort.h - SkUtils.h - SkZip.h Client change: - http://ag/21090138 Suggested review order: - src/base/BUILD.bazel - src/core/BUILD.bazel - Files listed above (note some IWYU changes) - gn/*.gni (these are generated from the BUILD.bazel files) - BUILD.gn - public.bzl - Everything else, mostly done with find and replace and cleaned up with the rewrite_includes.py script. Change-Id: I2ea8146ca956daf1081693bdac3644022f888a40 Bug: skia:13983 Reviewed-on: https://skia-review.googlesource.com/c/skia/+/633976 Reviewed-by: Ben Wagner <bungeman@google.com> Commit-Queue: Kevin Lubick <kjlubick@google.com> | 3 年前 | |
[base] Move more files into base The general answer to "What goes in base?" is "code which would be generally useful outside of a graphics library". As such, I'm moving several helpers we have for managing memory, as long as the remaining files which were needed to be in base during the proof-of-concept build [1]. Moved from include/private into include/private/base: - SkNoncopyable.h Moved from src/core into src/base: - SkArenaAlloc.cpp - SkArenaAlloc.h - SkArenaAllocList.h - SkASAN.h - SkAutoMalloc.h - SkBlockAllocator.cpp - SkBlockAllocator.h - SkMathPriv.cpp - SkMathPriv.h" - SkScopeExit.h - SkTBlockList.h - SkTDArray.cpp - SkThreadID.cpp - SkTLazy.h - SkUTF.cpp - SkUTF.h I moved SkUNREACHABLE out of SkTypes and into SkAssert.h since it felt assert-like. This adds GrMemoryPool.cpp/.h to the list of files for which we enforce IWYU, because it wasn't including <memory> and broke when I enforced IWYU on SkBlockAllocator. Suggested review order: - include/private/base/BUILD.bazel - include/private/BUILD.bazel - include/BUILD.bazel - gn/*.gni (these are generated from the BUILD.bazel files) - BUILD.gn - public.bzl - include/core/SkTypes.h and include/core/SkAssert.h - Everything else, mostly done with find and replace and cleaned up with the rewrite_includes.py script. [1] https://skia-review.googlesource.com/c/skia/+/616777 Change-Id: I8d9a7cff89cea425a0ff4e2ee7ccb15abb021217 Bug: skia:13983 Reviewed-on: https://skia-review.googlesource.com/c/skia/+/631422 Reviewed-by: Ben Wagner <bungeman@google.com> Owners-Override: Kevin Lubick <kjlubick@google.com> | 3 年前 | |
Ensure correct includes for SkTime.cpp SkTime.cpp has two different implementations, a common one and a version which is compatible with MemorySanitizer. Ensure that the correct includes are used for each implementation. Bug: 436151213 Change-Id: I3067d1b38b890bd68bce4df27f1950ae0ffb0679 Reviewed-on: https://skia-review.googlesource.com/c/skia/+/1031637 Commit-Queue: Ben Wagner <bungeman@google.com> Commit-Queue: Kaylee Lubick <kjlubick@google.com> Reviewed-by: Kaylee Lubick <kjlubick@google.com> Auto-Submit: Ben Wagner <bungeman@google.com> | 10 个月前 | |
Reland "Remove SkTime from the public API" This reverts commit bd391577d4a62f3a7bf633817f4a8f5b9aa3f1ee. Reason for revert: Should not have been reverted, previous issue was fixed Original change's description: > Revert "Remove SkTime from the public API" > > This reverts commit a0572041af8e5317da14dd8fced3c72196545abb. > > Reason for revert: causing Google3 breakage > https://fusion2.corp.google.com/triage/615500517562051498/10304141939179520/invocations/0e55b3cd-e449-411e-8c56-61adc92f6f0d/targets/%2F%2Fjavatests%2Fcom%2Fgoogle%2Fandroid%2Fwearable%2Ffitbit%2Fecg%2Fapi:EcgApiFitbitTest/log > > Original change's description: > > Remove SkTime from the public API > > > > Change-Id: Ie310d9dad9f22bed5317568b9d862ec58dc3a66e > > Reviewed-on: https://skia-review.googlesource.com/c/skia/+/749817 > > Reviewed-by: Herb Derby <herb@google.com> > > Commit-Queue: Kevin Lubick <kjlubick@google.com> > > Change-Id: Ib267ad2b9bacc3cb3093f18912e8779f60bb11cd > No-Presubmit: true > No-Tree-Checks: true > No-Try: true > Reviewed-on: https://skia-review.googlesource.com/c/skia/+/752276 > Auto-Submit: John Stiles <johnstiles@google.com> > Reviewed-by: Herb Derby <herb@google.com> > Commit-Queue: Herb Derby <herb@google.com> Change-Id: I920bd49424dd98fc577857e9a842d6bb968c3286 Reviewed-on: https://skia-review.googlesource.com/c/skia/+/752201 Owners-Override: Kevin Lubick <kjlubick@google.com> Bot-Commit: Rubber Stamper <rubber-stamper@appspot.gserviceaccount.com> | 2 年前 | |
Revertng the revert of "Emoji font resolution fix" This reverts commit 0291c4868b728829020283cc08552599faa402d9. Reason for revert: Fixing the test break Google maps tests passed Emoji flags (two regionals) do not pass Original change's description: > Revert "Emoji font resolution fix" > > This reverts commit c7d2a4933dfae70fc969adeedcc3770a339ea26a. > > Reason for revert: Likely G3 failure > > Original change's description: > > Emoji font resolution fix > > > > Flutter bug: https://github.com/flutter/flutter/issues/107538 > > > > Change-Id: Id8c4ac1b9082dfd190b43e333af868aaac62ae1a > > Reviewed-on: https://skia-review.googlesource.com/c/skia/+/778336 > > Reviewed-by: Ben Wagner <bungeman@google.com> > > Commit-Queue: Julia Lavrova <jlavrova@google.com> > > Change-Id: I80a25be7c4ae1f5b5ce3277c31518ef0f31aa6a1 > No-Presubmit: true > No-Tree-Checks: true > No-Try: true > Reviewed-on: https://skia-review.googlesource.com/c/skia/+/780557 > Auto-Submit: Brian Osman <brianosman@google.com> > Commit-Queue: Rubber Stamper <rubber-stamper@appspot.gserviceaccount.com> > Bot-Commit: Rubber Stamper <rubber-stamper@appspot.gserviceaccount.com> Change-Id: I17a7652dec2d402fed1e07305e4a75a1086a79f3 No-Presubmit: true No-Tree-Checks: true No-Try: true Reviewed-on: https://skia-review.googlesource.com/c/skia/+/780303 Reviewed-by: Ben Wagner <bungeman@google.com> Commit-Queue: Julia Lavrova <jlavrova@google.com> | 2 年前 | |
Revertng the revert of "Emoji font resolution fix" This reverts commit 0291c4868b728829020283cc08552599faa402d9. Reason for revert: Fixing the test break Google maps tests passed Emoji flags (two regionals) do not pass Original change's description: > Revert "Emoji font resolution fix" > > This reverts commit c7d2a4933dfae70fc969adeedcc3770a339ea26a. > > Reason for revert: Likely G3 failure > > Original change's description: > > Emoji font resolution fix > > > > Flutter bug: https://github.com/flutter/flutter/issues/107538 > > > > Change-Id: Id8c4ac1b9082dfd190b43e333af868aaac62ae1a > > Reviewed-on: https://skia-review.googlesource.com/c/skia/+/778336 > > Reviewed-by: Ben Wagner <bungeman@google.com> > > Commit-Queue: Julia Lavrova <jlavrova@google.com> > > Change-Id: I80a25be7c4ae1f5b5ce3277c31518ef0f31aa6a1 > No-Presubmit: true > No-Tree-Checks: true > No-Try: true > Reviewed-on: https://skia-review.googlesource.com/c/skia/+/780557 > Auto-Submit: Brian Osman <brianosman@google.com> > Commit-Queue: Rubber Stamper <rubber-stamper@appspot.gserviceaccount.com> > Bot-Commit: Rubber Stamper <rubber-stamper@appspot.gserviceaccount.com> Change-Id: I17a7652dec2d402fed1e07305e4a75a1086a79f3 No-Presubmit: true No-Tree-Checks: true No-Try: true Reviewed-on: https://skia-review.googlesource.com/c/skia/+/780303 Reviewed-by: Ben Wagner <bungeman@google.com> Commit-Queue: Julia Lavrova <jlavrova@google.com> | 2 年前 | |
[base] Move several more files from src/core into base. Files moved: - SkBuffer.h - SkTBlockList.h - SkTDPQueue.h - SkTInternalLList.h - SkTSearch.h - SkTSort.h - SkUtils.h - SkZip.h Client change: - http://ag/21090138 Suggested review order: - src/base/BUILD.bazel - src/core/BUILD.bazel - Files listed above (note some IWYU changes) - gn/*.gni (these are generated from the BUILD.bazel files) - BUILD.gn - public.bzl - Everything else, mostly done with find and replace and cleaned up with the rewrite_includes.py script. Change-Id: I2ea8146ca956daf1081693bdac3644022f888a40 Bug: skia:13983 Reviewed-on: https://skia-review.googlesource.com/c/skia/+/633976 Reviewed-by: Ben Wagner <bungeman@google.com> Commit-Queue: Kevin Lubick <kjlubick@google.com> | 3 年前 | |
Reland "Zero-initialize Vec components to avoid MSan warnings" This is a reland of commit 3d5625d23dd4573e9e85410da3cde1acc70773fe This inludes a workaround to make gcc happy, since gcc's class-memaccess warning triggers when using memcpy() with a non-trivial type, even if the type is still trivially copyable. Original change's description: > Zero-initialize Vec components to avoid MSan warnings > > MSan now implements stricter checks when passing uninitialized values in > parameters or return values. The stricter checks catches code like > SkMatrix::Affine_vpts(), which intentionally avoided initializing the > hi float of the input float4, since it also ignored the hi float of the > output float4. > > However, MSan detects this case now. Rather than allowing the default > Vec<1, ...> constructor to intentionally leave the value uninitialized, > explicitly zero initialize the value field instead. This transitively > initializes lo/hi for all other Vec<N, ...> specializations. > > Bug: chromium:1369167 > Change-Id: Id3ed6a8cd1448e4a37a53a5deedcf8bddd4bb788 > Reviewed-on: https://skia-review.googlesource.com/c/skia/+/835697 > Commit-Queue: Daniel Cheng <dcheng@chromium.org> > Reviewed-by: Kevin Lubick <kjlubick@google.com> > Reviewed-by: Brian Osman <brianosman@google.com> Bug: chromium:1369167 Change-Id: Ia6b5899bd19875ba9c350353a585947b4cbada77 Reviewed-on: https://skia-review.googlesource.com/c/skia/+/836616 Reviewed-by: Michael Ludwig <michaelludwig@google.com> Reviewed-by: John Stiles <johnstiles@google.com> Commit-Queue: Daniel Cheng <dcheng@chromium.org> | 2 年前 | |
Use c++20 when building Dawn This removes 2 jobs that build Dawn on Ubuntu 18 (using Docker) because those images (added in [1]) only have libstdc++8 which is not new enough to support much of C++20 [2] We will want to eventually upgrade those Ubuntu18 images and machines in order to support C++20 in the core Skia codebase. [1] http://review.skia.org/971042 [2] https://en.cppreference.com/w/cpp/20 Change-Id: Ifd2c2e09d30ec7af6a3de0783e232613d765ffe6 Bug: b/311238827 Reviewed-on: https://skia-review.googlesource.com/c/skia/+/982256 Commit-Queue: Kaylee Lubick <kjlubick@google.com> Reviewed-by: Eric Boren <borenet@google.com> | 1 年前 | |
[infra] Replace Debian10 GCE tasks with Ubuntu 24.04 Bug: b/380037738 Change-Id: I02ce4febbb8b1639ece2aed8506bb5d8df0bffab Reviewed-on: https://skia-review.googlesource.com/c/skia/+/927102 Reviewed-by: Ben Wagner <bungeman@google.com> Commit-Queue: Eric Boren <borenet@google.com> | 1 年前 |
The files here are part of the base package (see also include/private/base). The distinction is that the files here are not needed by anything in the public API.
Files here should not depend on anything other than system headers or other files in base.