代码之家  ›  专栏  ›  技术社区  ›  Pap113

Google chrome和Apple M1中的计算着色器

  •  0
  • Pap113  · 技术社区  · 2 年前

    我有一个用wgpu/rust编写的工作物理模拟器,当我从命令行运行时可以工作。然而,当我尝试在chrome v114上运行时(根据我在网上看到的支持),我得到了以下错误,即计算工作组的最大数量为零。我打印出了我的适配器功能,得到了以下内容: Limits { . . . max_compute_workgroup_storage_size: 0, max_compute_invocations_per_workgroup: 0, max_compute_workgroup_size_x: 0, max_compute_workgroup_size_y: 0, max_compute_workgroup_size_z: 0, max_compute_workgroups_per_dimension: 0, max_push_constant_size: 256 }

    此外,当抛出错误时,控制台会转储以下内容: Version: WebGL 2.0 (OpenGL ES 3.0 Chromium)

    我的适配器设置错了吗?或者wgpu还不支持浏览器中的计算着色器?欢迎任何建议。谢谢大家。

    编辑:为了防止这会破解代码,无论何时我以本机方式运行,这些都是我的设备功能。

    
    ...
    max_compute_workgroup_storage_size: 16384, 
    max_compute_invocations_per_workgroup: 256, max_compute_workgroup_size_x: 256, max_compute_workgroup_size_y: 256, max_compute_workgroup_size_z: 64, max_compute_workgroups_per_dimension: 65535, max_push_constant_size: 0 }```
    
    1 回复  |  直到 2 年前
        1
  •  5
  •   Kevin Reid    2 年前

    wgpu in Wasm目前支持 任何一个 WebGL 2 WebGPU,但是 not both in one build

    由于您看到了WebGL 2的报告,您已经 features = ["webgl"] 在您的 wgpu 依赖性规范;必须将其删除才能启用WebGPU支持。

    这不会对兼容性造成任何损害,因为您的应用程序需要计算着色器,而计算着色器不是WebGL 2的一部分。

    推荐文章