[Graphite] Add explicit root nodes struct ↗
Skia Graphite 为根着色器节点引入显式结构,避免 drawMesh 新增可选 SkMeshSpecification 根节点后与可选裁剪着色器产生布局歧义。实现会在 PaintParamsKey 中为每个根节点写入类型头,并据此构建 ShaderNode 树。
01 / KNOWLEDGE ATLAS
选择一个层级,沿组件、接口、数据流与调试入口向下钻取。
FRAMEWORK → HAL → KERNEL
02 / 08ARKUI → ROSEN → DISPLAY
03 / 08UAPI → GEM → ATOMIC KMS
04 / 08API → STATE TRACKER → GALLIUM
05 / 08PROTOCOL → COMPOSITOR → BACKEND
06 / 08SPEC → LOADER → ICD
07 / 08COMPILER → SCHEDULER → MEMORY
08 / 08RUNTIME → COMPOSITOR → DEVICE
02 / EDITOR'S SIGNAL
Skia Graphite 为根着色器节点引入显式结构,避免 drawMesh 新增可选 SkMeshSpecification 根节点后与可选裁剪着色器产生布局歧义。实现会在 PaintParamsKey 中为每个根节点写入类型头,并据此构建 ShaderNode 树。
摘要待补:No content.
摘要待补:当前证据不足,仅展示原题与来源。
摘要待补:Security updates have been issued by <b>AlmaLinux</b> (.NET 10.0, .NET 8.0, .NET 9.0, fence-agents, kernel, kernel-rt, openssh, osbuild-composer, perl-Archive-Tar, perl-DBI, perl:5.32, pipewire, python-pillow, qemu-kvm, unbound, and vim), <b>Debian</b> (chromium, incus, kernel, kissfft, libgd2, libmodbus, libssh, node-tar, php8.4, poppler, python-authlib, sslh, and starlette), <b>Fedora</b> (borgbackup, coturn, curl, exim, fuse-overlayfs, gh, GitPython, goaccess, lemonldap-ng, libgit2, nextcloud, nsd, php, postgresql16, python3.12, rabbitmq-server, rust-libgit2-sys, and xen), <b>Mageia</b> (bluez, firmware, kernel, kmod, wireless-regdb), <b>Oracle</b> (buildah, compat-libtiff3, dovecot, fence-agents, firefox, gimp, glibc, grafana, gstreamer1-plugins-bad-free, java-25-openjdk, kernel, libgcrypt, libtiff, libXfont2, nodejs24, nodejs:22, nodejs:24, openssh, openssl, PackageKit, pipewire, python-pillow, rest, sssd, vim, and yelp), <b>SUSE</b> (bind, chromium, dnsdist, gdk-pixbuf-loader-libheif, gio-branding-upstream, google-guest-agent, govulncheck-vulndb, GraphicsMagick, ignition, ImageMagick, keybase-client, kronosnet, libblkid-devel, libntpc1, libpng16, nano, openssh, openssl-1_0_0,
摘要待补:<p>Continuous build of the latest main branch by Github</p>
Skia 调整 Vulkan AMD 内存分配器的统计路径,用 vmaGetHeapBudgets 代替需要遍历内部数据结构的 vmaCalculateStatistics。提交说明前者只遍历最多 VK_MAX_MEMORY_HEAPS 个堆,用于降低 totalAllocatedAndUsedMemory() 的统计开销。
ANGLE 为 GenerateMipmap 增加 EnsureInitializedLevels 枚举,使随后会被 mipmap 生成覆盖的基础级以上纹理层可以跳过稳健初始化。提交同时给出了对应的 ANGLE 端到端测试过滤项。
FFmpeg 9.0 已发布,来源摘要将其描述为这一开源多媒体库的最新功能版本。标题显示该版本涉及更多 Vulkan 加速、动画 WebP 和 AMD AMF 支持;具体变更仍应以 FFmpeg 一手发布说明为准。
Mutter 51 与 GNOME Shell 51 的 Beta 版本已经发布,来源称其进入 API/ABI、功能和界面冻结阶段。标题列出的图形变化包括 Wayland 背景模糊和帧调度改进,细节应继续核对项目发布说明。
OpenXR SDK 1.1.62 新增一个厂商扩展,并修复上一版本加入的若干厂商扩展,同时包含加载器设计文档澄清和软件清理。扩展开发现在可在独立 fragment XML 中进行,再由工具生成合并后的 xr.xml,以减少开发时的合并冲突。
03 / LATEST
摘要待补:当前证据不足,仅展示原题与来源。
摘要待补:add isinuse Created-by: AZ22 Commit-by: wangdi Merged-by: openharmony_ci Description: **Description:** add isinuse **Issue number:** https://gitcode.com/openharmony/window_window_manager/issues/15344 **Test & Result:** **CodeCheck:** <table> <tr> <th>类型</th><th>自检项</th><th>自检结果</th> </tr> <tr> <td rowspan="2">多线程相关</td><td>在类的成员变量中定义了vector/map/list等容器类型,且在多个成员函数中有操作时,需要加锁保护</td><td>自检结果:Pass</td> </tr> <tr> <td>定义全局变量,在多个函数中都有操作时,需要加锁保护</td><td>自检结果:Pass</td> </tr> <tr> <td rowspan="4">内存相关</td><td>调用外部接口时,确认是否对返回值做了判断,尤其外部接口返回了nullptr的情况,避免进程崩溃</td><td>自检结果:Pass</td> </tr> <tr> <td>调用安全函数时,如memcpy_s等,是否检查其返回值</td><td>自检结果:Pass</td> </tr> <tr> <td>检查函数中是否涉及了内存或资源申请(如文件句柄),注意每个异常退出流程,是否都已经将资源释放(推荐使用RAII)</td><td>自检结果:Pass</td> </tr> </tr> <tr> <td>隐式内存分配场景:realpath、ReadParcelable序列化、cJSON相关函数时等,需主动释放或使用智能指针</td><td>自检结果:Pass</td> </tr> <tr> <td rowspan="4">校验外部输入</td><td>使用nlohmann:json解析外部输入时,需判断参数类型是否符合预期</td><td>自检结果:Pass</td> </tr> <tr> <td>所有外部输入均不可信,需判断外部输入是否直接作为内存分配的大小,数组下标、循环条件、SQL查询等</td><td>自检结果:Pass</td> </tr> <tr>
Skia 的自动依赖更新把 vulkan-deps 从 af17ae0ac3a5 推进到 fd9ab9744d0b,共包含 9 个修订。提交还同步滚动了 SPIR-V Tools 和 Vulkan Utility Libraries,属于构建依赖更新而非单独功能发布。
FFmpeg 9.0 已发布,来源摘要将其描述为这一开源多媒体库的最新功能版本。标题显示该版本涉及更多 Vulkan 加速、动画 WebP 和 AMD AMF 支持;具体变更仍应以 FFmpeg 一手发布说明为准。
摘要待补:In addition to the AMDGPU feature pull request to DRM-Next last week that landed DRM format modifiers for old AMD GPUs and a variety of other improvements, a secondary set of AMDGPU feature work followed that last week in preparation for the upcoming Linux 7.3 merge window...
摘要待补:Both Ganesh and Graphite share a lot of common structure to their glyph handling code, so the changes outlined below are applied pretty similarly to both codebases. 1. Adds a new shared type PackedGPUGlyphID that wraps SkPackedGlyphID and packs into the free bits the rest of the information that atlas-backed glyphs require, which is the mask format, the amount of padding, and whether or not the data is a coverage or distance value. 2. Pulls back the presence of MaskFormat from the GlyphVector concepts and functions as it's now handled internally by each backend's GlyphData classes and embedded into the packed GPU IDs that they make. 3. Each backend's TextStrike implementation stores PackedGPUGlyphIDs as the keys to GlyphEntries instead of SkPackedGlyphIDs. This ensures that an atlas will only have a cache hit if all of the mask/padding/data-type properties are consistent with what was in the atlas and what is requested by the subrun being drawn. 4. Each backend's GlyphData implementation takes in these additional properties in its constructor (propagating to initBackendData() calls). It then resolves the mask format and padding with the configuration of the backend's atlas mana
摘要待补:I noticed the flags (e.g. dawn) for --backend's help message were out of date. The intent was to update this dynamically based on what was compiled in, but this bitrotted. I updated this to match the logic for get_backend_type Change-Id: Ic6d3565b8f644ca87f4fb742b78d264d1a0c8079 Reviewed-on: https://skia-review.googlesource.com/c/skia/+/1313016 Commit-Queue: Kaylee Lubick <kjlubick@google.com> Auto-Submit: Kaylee Lubick <kjlubick@google.com> Commit-Queue: Alexis Cruz-Ayala <alexisdavidc@google.com> Reviewed-by: Alexis Cruz-Ayala <alexisdavidc@google.com>
摘要待补:Correct the mapped buffer range length in getIndexRange to only map the remaining buffer size. This prevents staging buffer copies from reading past the end of the suballocation. Test: angle_end2end_tests --gtest_filter="*DrawAtOffsetWithClientSideVertexData*" Bug: b/536598187 Change-Id: I6e1bb638562fc165a013478c16da639c1cfd5071 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/8178489 Reviewed-by: Charlie Lao <cclao@google.com> Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org> Commit-Queue: Ran Wang <wangra@google.com>