主要观点:wgpu 进行了一系列更新,包括移除 API 中的哈希表、为所有后端添加功能、重写device.poll
API、重命名和文档化wgpu::Device::start_capture
、确保循环有界、内部拆分Features
、添加 WebGPU 合规的双源混合功能、统一 SpirV 着色器传递接口、创建无操作后端、添加SHADER_F16
功能、改进无绑定支持及验证规则等,同时还新增了许多功能,如Buffer
相关方法、Naga 支持等,也有一些通用、Naga、Vulkan 等方面的更改、Bug 修复、性能提升和文档改进等。
关键信息:
- 哈希表相关:
PipelineCompilationOptions::constants
和ShaderSource::Glsl::defines
改取键值对切片。 - 后端功能:
vulkan
和gles
后端可禁用,webgl
feature 下在 WebAssembly 仅使用 GLES 后端。 device.poll
API:重写后返回结果包含 poll 信息,WebGL 默认行为改变。wgpu::Device::start_capture
:重命名、文档化并设为 unsafe。- 循环有界:确保 Naga 后端生成的着色器中的循环有界。
- 内部拆分
Features
:更明确地管理 wgpu 特定功能和 WebGPU 功能。 - WebGPU 功能:添加双源混合功能,统一 SpirV 着色器传递接口。
- 无操作后端:可在无 GPU 时创建 dummy 设备。
SHADER_F16
功能:可在所有 shader 中使用。- 绑定支持:Metal 绑定数组支持改进,限制增加。
重要细节: - [@cwfitzgerald]在多个 pull request 中做出贡献,如 [#7133]、[#7076]等。
- 新增功能涉及
Buffer
、Naga、examples 等多个方面,如添加Buffer
方法、Naga 支持新特性等。 - 更改包括
wgpu::Instance::request_adapter()
返回Result
等。 - Bug 修复涵盖 Naga、General、Vulkan、Gles、Dx12、WebGPU 等多个领域。
- 性能提升方面替换
unicode-xid
为unicode-ident
。 - 文档改进体现在多个方面,如 pipeline caches、
PresentMode
等的文档完善。
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用
。你还可以使用@
来通知其他用户。