gfx_hal/command/
structs.rs1use crate::{buffer, image};
2
3use std::ops::Range;
4
5#[derive(Clone, Copy, Debug)]
9#[cfg_attr(feature = "serde", derive(Serialize, Deserialize))]
10pub struct BufferCopy {
11 pub src: buffer::Offset,
13 pub dst: buffer::Offset,
15 pub size: buffer::Offset,
17}
18
19#[derive(Clone, Debug)]
22#[cfg_attr(feature = "serde", derive(Serialize, Deserialize))]
23pub struct ImageCopy {
24 pub src_subresource: image::SubresourceLayers,
26 pub src_offset: image::Offset,
28 pub dst_subresource: image::SubresourceLayers,
30 pub dst_offset: image::Offset,
32 pub extent: image::Extent,
34}
35
36#[derive(Clone, Debug)]
39#[cfg_attr(feature = "serde", derive(Serialize, Deserialize))]
40pub struct BufferImageCopy {
41 pub buffer_offset: buffer::Offset,
43 pub buffer_width: u32,
45 pub buffer_height: u32,
47 pub image_layers: image::SubresourceLayers,
49 pub image_offset: image::Offset,
51 pub image_extent: image::Extent,
53}
54
55#[derive(Clone, Debug)]
59#[cfg_attr(feature = "serde", derive(Serialize, Deserialize))]
60pub struct ImageResolve {
61 pub src_subresource: image::SubresourceLayers,
63 pub src_offset: image::Offset,
65 pub dst_subresource: image::SubresourceLayers,
67 pub dst_offset: image::Offset,
69 pub extent: image::Extent,
71}
72
73#[derive(Clone, Debug)]
76#[cfg_attr(feature = "serde", derive(Serialize, Deserialize))]
77pub struct ImageBlit {
78 pub src_subresource: image::SubresourceLayers,
80 pub src_bounds: Range<image::Offset>,
82 pub dst_subresource: image::SubresourceLayers,
84 pub dst_bounds: Range<image::Offset>,
86}