use thiserror::Error;
#[derive(Debug, Error)]
pub enum GpuError {
#[error("No GPU adapter available")]
NoAdapter,
#[error("GPU device request failed: {0}")]
DeviceRequest(String),
#[error("Buffer size mismatch: expected {expected}, got {got}")]
BufferSize { expected: usize, got: usize },
#[error("Unsupported quant type for GPU: {name}")]
UnsupportedType { name: String },
#[error("Shader compilation failed: {detail}")]
ShaderCompilation { detail: String },
#[error("GPU buffer mapping failed: {detail}")]
BufferMap { detail: String },
}
pub type GpuResult<T> = Result<T, GpuError>;