1#![forbid(unsafe_code)]
11
12mod capabilities;
13mod descriptors;
14mod device;
15mod device_loss;
16#[cfg(not(all(target_arch = "wasm32", target_os = "unknown")))]
17mod drive;
18mod encoder;
19mod error;
20mod host;
21mod queue;
22mod residency;
23mod surface;
24mod timestamp_capture;
25
26pub use capabilities::{Capabilities, CapabilityFlags, RayQueryLimits, TextureFormatCapabilities};
27pub use descriptors::{
28 AabbGeometry, AabbGeometrySize, AccelerationGeometryFlags, AccelerationStructureBinding,
29 AccelerationStructureFlags, AccelerationStructureLayoutEntry, AccelerationStructureUpdateMode,
30 BindGroupDesc, BindGroupEntry, BindGroupLayoutDesc, BindGroupLayoutEntry, BindingType,
31 BlasBuildDesc, BlasDesc, BlasGeometries, BlasGeometrySizes, BlendMode, BufferDesc, BufferUsage,
32 ColorAttachment, ColorTarget, CompareFunction, ComputePassDesc, ComputePipelineDesc,
33 DepthAttachment, DepthLoadOp, DepthState, FilterMode, IndexFormat, LoadOp, PrimitiveTopology,
34 RayQueryBindGroupDesc, RayQueryBindGroupLayoutDesc, RenderPassDesc, RenderPipelineDesc,
35 SamplerDesc, ShaderModuleDesc, ShaderStages, TextureDesc, TextureDimension, TextureFormat,
36 TextureUsage, TextureViewDesc, TextureWrite, TimestampWrites, TlasDesc, TlasInstance,
37 TriangleGeometry, TriangleGeometrySize,
38};
39pub use device::{
40 Device, DeviceDesc, Opened, PollOutcome, PowerPreference, RayQueryDevice, ResourceMemory,
41 WindowSource, WindowTarget,
42};
43pub use device_loss::{DeviceLoss, DeviceLossReason};
44#[cfg(not(all(target_arch = "wasm32", target_os = "unknown")))]
45pub use drive::block_on_polling;
46pub use encoder::{CommandEncoder, ComputePassEncoder, RayQueryCommandEncoder, RenderPassEncoder};
47pub use error::GpuError;
48pub use host::{HostDevice, HostDeviceDesc, ImportedTarget};
49pub use queue::{Queue, Readback};
50pub use residency::{
51 ArenaAllocation, ArenaError, ArenaMetrics, CommandScratch, CommandScratchMetrics, FenceValue,
52 PagedArena, Retirement, ScratchFull, UploadBackpressure, UploadMetrics, UploadReservation,
53 UploadRing, UploadRingConfig, UploadState, UploadTicket,
54};
55pub use surface::{Surface, SurfaceConfig, SurfaceError, SurfaceFrame};
56pub use timestamp_capture::{
57 MAX_TIMESTAMP_CAPTURE_PASSES, PassTimestampAbsence, PassTimestampCapture, PassTimestampRecord,
58 TimestampCaptureError, TimestampCaptureIncomplete, TimestampPassKind, TimestampQueryPair,
59};