Name Description Size Coverage
as_hal.rs 9057 -
binding_model.rs 55665 -
command -
conv.rs 8768 -
device -
error.rs 13228 -
id.rs 2494 -
indirect_validation -
init_tracker -
instance.rs 62141 -
lib.rs This library safely implements WebGPU on native platforms. It is designed for integration into browsers, as well as wrapping into other language-specific user-friendly libraries. ## Feature flags 7495 -
limits.rs 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][bfp] 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. [bfp]: https://support.mozilla.org/en-US/kb/firefox-protection-against-fingerprinting [`enumerate_adapters`]: `crate::instance::Instance::enumerate_adapters` 22795 -
lock -
pipeline.rs 50195 -
pipeline_cache.rs 22954 -
pool.rs 10478 -
present.rs ! Presentation. ## Lifecycle Whenever a submission detects the use of any surface texture, it adds it to the device tracker for the duration of the submission (temporarily, while recording). It's added with `UNINITIALIZED` state and transitioned into `empty()` state. When this texture is presented, we remove it from the device tracker as well as extract it from the hub. ! 18059 -
ray_tracing.rs 17762 -
resource.rs 132177 -
scratch.rs 1407 -
snatch.rs 6341 -
storage.rs 768 -
timestamp_normalization -
track -
validation -
validation.rs 93389 -
weak_vec.rs Module containing the [`WeakVec`] API. 1954 -