WebGPU:是否可以在浏览器中访问编译后的着色器代码?

问题描述 投票:0回答:1

据我了解,Google Dawn(他们的 WebGPU 实现)中的 Tint 编译器用于将 WGSL 编译为 GPU 可执行代码。 (WGSL -> SPIR-V -> GPU 可执行二进制文件。)

给定我的 WGSL 着色器,在不自行下载/构建 Dawn / Tint 的情况下,我如何查看 Chrome 正在生成哪些编译指令并将其发送到 GPU?

或者,是否可以使用 Firefox、Edge 等查看相同内容?

我想找到我的新手 WGSL 导致的低效率问题,其中循环展开、函数内联、数字类型之间的多余转换等。

compilation shader webgpu
1个回答
2
投票

在 Chrome 中尝试传入

--enable-dawn-features=dump_shaders

好奇的其他标志

https://source.chromium.org/chromium/chromium/src/+/main:third_party/dawn/src/dawn/native/Toggles.cpp;l=1?q=Toggles.cpp&ss=chromium

您可以通过转到

about:gpu
并向下滚动到
Dawn Info
部分来查看当前正在使用哪些标志。

您可以传入多个标志,用逗号分隔

您还可以使用

--disable-dawn-features=<flag>

禁用标志
© www.soinside.com 2019 - 2024. All rights reserved.