gfx-rs / wgpu

A cross-platform, safe, pure-Rust graphics API.
https://wgpu.rs
Apache License 2.0
12.16k stars 893 forks source link

Use Argument Buffers on Metal #3334

Open cwfitzgerald opened 1 year ago

cwfitzgerald commented 1 year ago

This is a major change for our binding model on Mac, but would allow us to support bindless in it's true form by letting us bind up to a million textures and buffers on modern chips.

Argument buffers are unconditionally supported for our target, so we can just universally change the API usage.

This isn't true, it requires Mac 10.13 and WebGPU is minimum 10.12. There are also issues with write resources on tier 1 hardware. I suspect we should just use argument buffer for bindless arrays.

kanerogers commented 1 year ago

According to @cwfitzgerald WebGPU minimum is now 10.13, which should ameliorate the compatibility issues.

kanerogers commented 1 year ago

I've made some progress on this issue, which I've documented on the corresponding naga issue.