pub array_layer_count: u32,
}
+impl Default for ImageSubresourceLayers {
+ fn default() -> Self {
+ Self {
+ aspect: ImageAspectFlags::COLOR,
+ mip_level: 0,
+ base_array_layer: 0,
+ array_layer_count: 1,
+ }
+ }
+}
+
pub struct ImageSubresourceRange {
pub aspect: ImageAspectFlags,
pub base_mip_level: u32,
pub array_layer_count: u32,
}
+impl Default for ImageSubresourceRange {
+ fn default() -> Self {
+ Self {
+ aspect: ImageAspectFlags::COLOR,
+ base_mip_level: 0,
+ mip_level_count: 1,
+ base_array_layer: 0,
+ array_layer_count: 1,
+ }
+ }
+}
+
flags_def!(BufferUsageFlags);
impl BufferUsageFlags {
pub const UNIFORM: Self = Self(1 << 0);
let frame = device.begin_frame();
let buffer = create_buffer_with_data(device, BufferUsageFlags::TRANSFER_SRC, data);
+
let image = device.create_image(&ImageDesc {
memory_location: MemoryLocation::PreferDevice,
usage: ImageUsageFlags::SAMPLED | ImageUsageFlags::TRANSFER_DST,
prev_layout: ImageLayout::Optimal,
next_layout: ImageLayout::Optimal,
image,
- subresource_range: ImageSubresourceRange {
- aspect: ImageAspectFlags::COLOR,
- base_mip_level: 0,
- mip_level_count: 1,
- base_array_layer: 0,
- array_layer_count: 1,
- },
+ subresource_range: default(),
}],
);
buffer_offset: 0,
buffer_row_length: 0,
buffer_image_height: 0,
- image_subresource_layers: ImageSubresourceLayers {
- aspect: ImageAspectFlags::COLOR,
- mip_level: 0,
- base_array_layer: 0,
- array_layer_count: 1,
- },
+ image_subresource_layers: default(),
image_offset: Offset3d { x: 0, y: 0, z: 0 },
image_extent: Extent3d {
width,
prev_layout: ImageLayout::Optimal,
next_layout: ImageLayout::Optimal,
image,
- subresource_range: ImageSubresourceRange {
- aspect: ImageAspectFlags::COLOR,
- base_mip_level: 0,
- mip_level_count: 1,
- base_array_layer: 0,
- array_layer_count: 1,
- },
+ subresource_range: default(),
}],
);