diff options
Diffstat (limited to 'src/command_buffer/validity/clear_color_image.rs')
-rw-r--r-- | src/command_buffer/validity/clear_color_image.rs | 81 |
1 files changed, 0 insertions, 81 deletions
diff --git a/src/command_buffer/validity/clear_color_image.rs b/src/command_buffer/validity/clear_color_image.rs deleted file mode 100644 index 6ecb68f..0000000 --- a/src/command_buffer/validity/clear_color_image.rs +++ /dev/null @@ -1,81 +0,0 @@ -// Copyright (c) 2016 The vulkano developers -// Licensed under the Apache License, Version 2.0 -// <LICENSE-APACHE or -// https://www.apache.org/licenses/LICENSE-2.0> or the MIT -// license <LICENSE-MIT or https://opensource.org/licenses/MIT>, -// at your option. All files in the project carrying such -// notice may not be copied, modified, or distributed except -// according to those terms. - -use std::error; -use std::fmt; - -use crate::device::Device; -use crate::image::ImageAccess; -use crate::VulkanObject; - -/// Checks whether a clear color image command is valid. -/// -/// # Panic -/// -/// - Panics if the destination was not created with `device`. -/// -pub fn check_clear_color_image<I>( - device: &Device, - image: &I, - first_layer: u32, - num_layers: u32, - first_mipmap: u32, - num_mipmaps: u32, -) -> Result<(), CheckClearColorImageError> -where - I: ?Sized + ImageAccess, -{ - assert_eq!( - image.inner().image.device().internal_object(), - device.internal_object() - ); - - if !image.inner().image.usage().transfer_destination { - return Err(CheckClearColorImageError::MissingTransferUsage); - } - - if first_layer + num_layers > image.dimensions().array_layers() { - return Err(CheckClearColorImageError::OutOfRange); - } - - if first_mipmap + num_mipmaps > image.mipmap_levels() { - return Err(CheckClearColorImageError::OutOfRange); - } - - Ok(()) -} - -/// Error that can happen from `check_clear_color_image`. -#[derive(Debug, Copy, Clone)] -pub enum CheckClearColorImageError { - /// The image is missing the transfer destination usage. - MissingTransferUsage, - /// The array layers and mipmap levels are out of range. - OutOfRange, -} - -impl error::Error for CheckClearColorImageError {} - -impl fmt::Display for CheckClearColorImageError { - #[inline] - fn fmt(&self, fmt: &mut fmt::Formatter) -> Result<(), fmt::Error> { - write!( - fmt, - "{}", - match *self { - CheckClearColorImageError::MissingTransferUsage => { - "the image is missing the transfer destination usage" - } - CheckClearColorImageError::OutOfRange => { - "the array layers and mipmap levels are out of range" - } - } - ) - } -} |