Name Description Size Coverage
adapter.rs 14232 -
assertions.rs Macros for validation internal to the wgpu. This module defines assertion macros that respect `wgpu-type`'s `"strict_asserts"` feature. Because `wgpu-core`'s public APIs validate their arguments in all types of builds, for performance, the `track` module skips some of Rust's usual run-time checks on its internal operations in release builds. However, some `wgpu-core` applications have a strong preference for robustness over performance. To accommodate them, `wgpu-core`'s `"strict_asserts"` feature enables that validation in both debug and release builds. 2358 -
backend.rs [`Backend`], [`Backends`], and backend-specific options. 37920 -
binding.rs Bind groups and the bindings in them. 13930 -
buffer.rs 7859 -
cast_utils.rs 999 -
counters.rs 7170 -
device.rs 4300 -
env.rs 326 -
error.rs Shared types for WebGPU errors. See also: <https://gpuweb.github.io/gpuweb/#errors-and-debugging> 1704 -
features.rs # Features Types identifying optional features of WebGPU and wgpu. Availability varies by hardware and can be checked when requesting an adapter and device. The `wgpu` Rust API always uses the `Features` bit flag type to represent a set of features. However, the WebGPU-defined JavaScript API uses `kebab-case` feature name strings, so some utilities are provided for working with those names. See [`Features::as_str`] and [`<Features as FromStr>::from_str`]. The [`bitflags`] crate names flags by stringifying the `SCREAMING_SNAKE_CASE` identifier. These names are returned by [`Features::iter_names`] and parsed by [`Features::from_name`]. [`bitflags`] does not currently support customized flag naming. See <https://github.com/bitflags/bitflags/issues/470>. 84262 -
instance.rs Types for dealing with Instances. 16153 -
lib.rs This library describes the API surface of WebGPU that is agnostic of the backend. This API is used for targeting both Web and Native. 24149 -
limits.rs [`Limits`] and downlevel-related types. 54099 -
math.rs Utility math functions. 787 -
origin_extent.rs 5721 -
ray_tracing.rs 7702 -
render.rs Types for configuring render passes and render pipelines (except for vertex attributes). 36435 -
send_sync.rs 1641 -
shader.rs 8217 -
surface.rs 15344 -
texture -
texture.rs 40337 -
tokens.rs 2715 -
transfers.rs 17778 -
vertex.rs Types for defining vertex attributes and their buffers. 11888 -
write_only.rs The [`WriteOnly`] type. This type gets its own module in order to provide an encapsulation boundary around the substantial `unsafe` code required to implement [`WriteOnly`]. Portions of this code and documentation have been copied from the Rust standard library. 42017 -