blob: 0c64745979a24730ce5fec9e674b5108794c2f32 (
plain) (
blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
|
mod context;
use thiserror::Error;
pub use context::GpuContext;
pub use wgpu;
pub const GPU_TEXTURE_FORMAT: wgpu::TextureFormat = wgpu::TextureFormat::Bgra8Unorm;
pub const FULLSCREEN_SHADER_SOURCE: &str = include_str!("shaders/fullscreen.wgsl");
#[derive(Debug, Error)]
pub enum GpuError {
#[error("No WebGPU adapter is available")]
AdapterUnavailable,
#[error("Failed to request a WebGPU device: {0}")]
RequestDevice(#[from] wgpu::RequestDeviceError),
#[error("Failed to create a WebGPU surface: {0}")]
CreateSurface(#[from] wgpu::CreateSurfaceError),
#[error("The output surface does not support the required texture format")]
UnsupportedSurfaceFormat,
#[error("Failed to read back a texture: {0}")]
Readback(String),
}
|