use crate::{buffer, image};
use std::ops::Range;
#[derive(Clone, Copy, Debug)]
#[cfg_attr(feature = "serde", derive(Serialize, Deserialize))]
pub struct BufferCopy {
pub src: buffer::Offset,
pub dst: buffer::Offset,
pub size: buffer::Offset,
}
#[derive(Clone, Debug)]
#[cfg_attr(feature = "serde", derive(Serialize, Deserialize))]
pub struct ImageCopy {
pub src_subresource: image::SubresourceLayers,
pub src_offset: image::Offset,
pub dst_subresource: image::SubresourceLayers,
pub dst_offset: image::Offset,
pub extent: image::Extent,
}
#[derive(Clone, Debug)]
#[cfg_attr(feature = "serde", derive(Serialize, Deserialize))]
pub struct BufferImageCopy {
pub buffer_offset: buffer::Offset,
pub buffer_width: u32,
pub buffer_height: u32,
pub image_layers: image::SubresourceLayers,
pub image_offset: image::Offset,
pub image_extent: image::Extent,
}
#[derive(Clone, Debug)]
#[cfg_attr(feature = "serde", derive(Serialize, Deserialize))]
pub struct ImageResolve {
pub src_subresource: image::SubresourceLayers,
pub src_offset: image::Offset,
pub dst_subresource: image::SubresourceLayers,
pub dst_offset: image::Offset,
pub extent: image::Extent,
}
#[derive(Clone, Debug)]
#[cfg_attr(feature = "serde", derive(Serialize, Deserialize))]
pub struct ImageBlit {
pub src_subresource: image::SubresourceLayers,
pub src_bounds: Range<image::Offset>,
pub dst_subresource: image::SubresourceLayers,
pub dst_bounds: Range<image::Offset>,
}