1#[derive(Debug, thiserror::Error)]
2pub enum RenderError {
3 #[error("GPU device creation failed: {message}")]
4 DeviceCreation { message: String },
5
6 #[error("shader compile failed: {message}")]
7 ShaderCompile { message: String },
8
9 #[error("texture creation failed: width={width} height={height} reason={reason}")]
10 TextureCreation {
11 width: u32,
12 height: u32,
13 reason: String,
14 },
15
16 #[error("composite failed: {message}")]
17 Composite { message: String },
18
19 #[error("lut load failed: path={path} reason={reason}")]
20 LutLoad { path: String, reason: String },
21
22 #[error("unsupported pixel format: {format}")]
23 UnsupportedFormat { format: String },
24
25 #[error("gpu operation timed out: {operation}")]
26 GpuTimeout { operation: String },
27
28 #[error("ffmpeg error: {message} (code={code})")]
29 Ffmpeg { code: i32, message: String },
30
31 #[error("io error: {0}")]
32 Io(#[from] std::io::Error),
33}