#![forbid(unsafe_code)]
mod capabilities;
mod descriptors;
mod device;
mod encoder;
mod error;
mod queue;
mod residency;
mod surface;
mod timestamp_capture;
pub use capabilities::{Capabilities, CapabilityFlags, RayQueryLimits, TextureFormatCapabilities};
pub use descriptors::{
AabbGeometry, AabbGeometrySize, AccelerationGeometryFlags, AccelerationStructureBinding,
AccelerationStructureFlags, AccelerationStructureLayoutEntry, AccelerationStructureUpdateMode,
BindGroupDesc, BindGroupEntry, BindGroupLayoutDesc, BindGroupLayoutEntry, BindingType,
BlasBuildDesc, BlasDesc, BlasGeometries, BlasGeometrySizes, BlendMode, BufferDesc, BufferUsage,
ColorAttachment, ColorTarget, CompareFunction, ComputePassDesc, ComputePipelineDesc,
DepthAttachment, DepthLoadOp, DepthState, FilterMode, IndexFormat, LoadOp, PrimitiveTopology,
RayQueryBindGroupDesc, RayQueryBindGroupLayoutDesc, RenderPassDesc, RenderPipelineDesc,
SamplerDesc, ShaderModuleDesc, ShaderStages, TextureDesc, TextureDimension, TextureFormat,
TextureUsage, TextureViewDesc, TextureWrite, TimestampWrites, TlasDesc, TlasInstance,
TriangleGeometry, TriangleGeometrySize,
};
pub use device::{
Device, DeviceDesc, Opened, PowerPreference, RayQueryDevice, ResourceMemory, WindowSource,
WindowTarget,
};
pub use encoder::{CommandEncoder, ComputePassEncoder, RayQueryCommandEncoder, RenderPassEncoder};
pub use error::GpuError;
pub use queue::{Queue, Readback};
pub use residency::{
ArenaAllocation, ArenaError, ArenaMetrics, CommandScratch, CommandScratchMetrics, FenceValue,
PagedArena, Retirement, ScratchFull, UploadBackpressure, UploadMetrics, UploadReservation,
UploadRing, UploadRingConfig, UploadState, UploadTicket,
};
pub use surface::{Surface, SurfaceConfig, SurfaceError, SurfaceFrame};
pub use timestamp_capture::{
MAX_TIMESTAMP_CAPTURE_PASSES, PassTimestampAbsence, PassTimestampCapture, PassTimestampRecord,
TimestampCaptureError, TimestampCaptureIncomplete, TimestampPassKind, TimestampQueryPair,
};