Expand description
Types and functions which define our public api and their helper functionality.
§Conventions
Each major type gets its own module. The module is laid out as follows:
- The type itself
impl
block for the typeDrop
implementation for the type (if needed)- Descriptor types and their subtypes.
- Any non-public helper types or functions.
§Imports
Because our public api is “flat” (i.e. all types are directly under the wgpu
module),
we use a single crate::*
import at the top of each module to bring in all the types in
the public api. This is done to:
- Avoid having to write out a long list of imports for each module.
- Allow docs to be written naturally, without needing to worry about needing dedicated doc imports.
- Treat wgpu-types types and wgpu-core types as a single set.
Re-exports§
pub use adapter::*;
pub use bind_group::*;
pub use bind_group_layout::*;
pub use blas::*;
pub use buffer::*;
pub use command_buffer::*;
pub use command_encoder::*;
pub use common_pipeline::*;
pub use compute_pass::*;
pub use compute_pipeline::*;
pub use device::*;
pub use instance::*;
pub use pipeline_cache::*;
pub use pipeline_layout::*;
pub use query_set::*;
pub use queue::*;
pub use render_bundle::*;
pub use render_bundle_encoder::*;
pub use render_pass::*;
pub use render_pipeline::*;
pub use sampler::*;
pub use shader_module::*;
pub use surface::*;
pub use surface_texture::*;
pub use texture::*;
pub use texture_view::*;
pub use tlas::*;
Modules§
Structs§
- A cute utility type that works just like
PhantomData
, but also implementsDrop
. This forces any lifetimes that are associated with the type to be used until theDrop
impl is ran. This prevents lifetimes from being shortened.
Type Aliases§
- Object debugging label.