Understanding WebGPU Features
mainFeatures are optional capabilities (e.g., shader-f16 or subgroups) that are either present or absent on a GPU.
Three.js Behavior: Three.js automatically requests all features supported by the adapter, so manual feature management is generally unnecessary for most users.
To check for a specific feature in raw WebGPU, use the features.has() method on the adapter.
const adapter = await navigator.gpu?.requestAdapter();
// adapter.features is a Set
console.log(adapter.features.has('float32-filterable'));
console.log(adapter.features.has('shader-f16'));