WebGPU Dev Extension
介绍
提供一些对WebGPU开发有帮助的功能
特征:
* 在源头打印调试错误。
* 抛出编码器错误
* 转储WebGPU程序的着色器
* 记录 requestAdapter 正在使用哪种类型的 GPU
* 强制使用低功耗或高性能 GPU
* 显示页面当前有多少设备处于活动状态
* 为对象添加描述符
* 在 DevTools 中显示 GPUTexture.usage 和 GPUBuffer.usage 的位名称
* 块特征
*禁用WebGPU(以测试你的后备)
* 删除 WebGPU(以测试您的后备)
* 添加API断点
细节
* 在源头打印调试错误
WebGPU 中的错误通常是异步处理的,这意味着生成错误的实际命令通常是未知的。此扩展添加了早期错误检查,以便您可以在生成错误的位置获得错误堆栈,从而更容易修复错误
* 抛出编码器错误
通常仅命令缓冲区编码器、传递编码器、渲染包编码器
完成命令编码器时会生成错误。启用 WebGPU 调试帮助程序
抛出这些类型的错误。
* 转储WebGPU程序的着色器
查看当前页面的着色器。
* 记录 requestAdapter 正在使用哪种类型的 GPU
每次调用 requestAdapter 时打印适配器信息。这可以让您查看双 GPU 计算机上使用了哪个 GPU 以及是否请求了兼容模式。
* 强制使用低功耗或高性能 GPU
强制为页面选择低功耗或高性能 GPU。
* 显示页面当前有多少设备处于活动状态
打印页面上当前活动设备的运行总数。
* 为对象添加描述符
将用于创建许多对象的描述符添加到这些对象中。例如:当您在纹理上调用“createView”时,您会传入一个描述符。该描述符是
没有反映在视图本身中,这可能会让人很难看到正在发生的事情。
这会将数据添加到视图中,以便您可以在调试器中或在“显示错误”打印的错误消息中检查它。类似地,bindGroups、bindGroupLayouts、
管道、管道布局、传递编码器、查询集、采样器、着色器模块、
外部纹理,...
* 块特征
允许您阻止 webgpu 功能。例如,输入“shader-f16”,shader-f16 功能将被阻止。您可以使用它来测试您的代码(应该在没有该功能的情况下运行)是否实际上在没有该功能的情况下运行。
* 禁用或删除 WebGPU API
允许您测试是否妥善处理返回 null 的 API 和不存在的 API。
* API断点
向指定的 WebGPU API 函数添加“调试器”语句。想知道页面在哪里调用importExternalTexture?添加断点。
来源https://github.com/greggman/webgpu-dev-extension