Expand description
Functionality related to device and adapter limits.
§Limit Bucketing
Web browsers make various information about their operating environment available to content to provide a better experience. For example, content is able to detect whether the device has a touch-screen, in order to provide an appropriate user interface.
Browser fingerprinting employs this information for the purpose of constructing a unique “fingerprint” value that is unique to a single browser or shared among a relatively small number of browsers. Fingerprinting can be used for various purposes, including to identify and track users across different websites.
Limit bucketing can reduce the ability to fingerprint users based on GPU
hardware characteristics when using wgpu in applications like a web
browser.
When limit bucketing is enabled, the adapter limits offered by wgpu do not
necessarily reflect the exact capabilities of the hardware. Instead, the
hardware capabilities are rounded down to one of several pre-defined buckets.
The goal of doing this is for there to be enough devices assigned to each
bucket that knowledge of which bucket applies is minimally useful for
fingerprinting.
Limit bucketing may be requested by setting apply_limit_buckets in
wgt::RequestAdapterOptions or by setting apply_limit_buckets to
true when calling enumerate_adapters.
If your application does not expose wgpu to untrusted content, limit
bucketing is not necessary.
Structs§
Functions§
- apply_
limit_ buckets - Apply limit bucketing to the adapter limits and features in
raw.