wgpu-py icon indicating copy to clipboard operation
wgpu-py copied to clipboard

No access to subgroup_min_size, subgroup_max_size

Open fyellin opened this issue 11 months ago • 1 comments

This is actually several interlocked bugs that I noticed when playing around with subgroups.

#1) The two classes named GPUAdapterInfo are never actually used. There is no reference to them anywhere else in the code. When creating an Adapter, the current Python code pulls the information it needs out the C structure and then releases the C structure.

#2) The never used class GPUAdapterInfo has properties subgroup_min_size and subgroup_max_size, but there is no such field in the corresponding WGPUAdapterInfo structure. Presumably this is a bug in the Rust -> C interface that this field was forgotten?

fyellin avatar Mar 26 '25 17:03 fyellin

The two classes named GPUAdapterInfo are never actually used.

Good point! the adapter.info property simply returns a dict. We can improve this by instead returning GPUAdapterInfo. And then implement __getitem__ and __repr__ so it looks a bit more like a dict. So this is relatively easy to fix.

The never used class GPUAdapterInfo has properties subgroup_min_size and subgroup_max_size, but there is no such field in the corresponding WGPUAdapterInfo structure. Presumably this is a bug in the Rust -> C interface that this field was forgotten?

IIRC these fields were added only recently to the WebGPU spec. They have been added to webgpu.h on jan 31, but wgpu-native uses webgpu.h commit bac5208 from 12-11-2024. So someone needs to bump `webgpu.h in wgpu-native.

almarklein avatar Mar 27 '25 08:03 almarklein

I think both problems have been addressed by now. Feel free to re-open if you disagree.

almarklein avatar Sep 29 '25 09:09 almarklein