-
-
Notifications
You must be signed in to change notification settings - Fork 67
Make use of float32-filterable webgpu feature #618
Description
Background
WebGPU defines a feature called "float32-filterable". We need hardware-based linear interpolation of float textures, because scientific visualization cases often need that precision. One particular use-case is volume rendering - without linear interpolation it looks awful, and doing the interpolation in the shader (in software) strains the already heavy computation.
Current state
In wgpu-py the feature is present in the wgpu.FeatureName flags, but the adapter always says it does not support it. This is because it has not been implemented downstream.
We currently use the feature "texture_adapter_specific_format_features" instead, which basically unlocks all restrictions, and thereby enables filtering for float textures. The risk of this, however, is that we may accidentally make use of other non-webgpu features, making pygfx code less portable.
Tasks
- Implement in wgpu-core.
- Implement in wgpu-native
- Add missing webgpu features gfx-rs/wgpu-native#322
- Add missing webgpu features, part 2 gfx-rs/wgpu-native#323
- update wgpu gfx-rs/wgpu-native#332
- Updates wgpu-native to the version of wgpu-core that has the feature.
- Enables the feature in wgpu-native.
- Update wgpu-py
- Need a release of wgpu-native that includes the feature.
- Update to that release.
- Update in pygfx