aboutsummaryrefslogtreecommitdiff
path: root/src/image/layout.rs
diff options
context:
space:
mode:
Diffstat (limited to 'src/image/layout.rs')
-rw-r--r--src/image/layout.rs60
1 files changed, 0 insertions, 60 deletions
diff --git a/src/image/layout.rs b/src/image/layout.rs
deleted file mode 100644
index 2e29f58..0000000
--- a/src/image/layout.rs
+++ /dev/null
@@ -1,60 +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.
-
-/// Layout of an image.
-///
-/// > **Note**: In vulkano, image layouts are mostly a low-level detail. You can ignore them,
-/// > unless you use an unsafe function that states in its documentation that you must take care of
-/// > an image's layout.
-///
-/// In the Vulkan API, each mipmap level of each array layer is in one of the layouts of this enum.
-///
-/// Unless you use some sort of high-level shortcut function, an image always starts in either
-/// the `Undefined` or the `Preinitialized` layout.
-/// Before you can use an image for a given purpose, you must ensure that the image in question is
-/// in the layout required for that purpose. For example if you want to write data to an image, you
-/// must first transition the image to the `TransferDstOptimal` layout. The `General` layout can
-/// also be used as a general-purpose fit-all layout, but using it will result in slower operations.
-///
-/// Transitioning between layouts can only be done through a GPU-side operation that is part of
-/// a command buffer.
-#[derive(Debug, Copy, Clone, PartialEq, Eq)]
-#[repr(i32)]
-pub enum ImageLayout {
- Undefined = ash::vk::ImageLayout::UNDEFINED.as_raw(),
- General = ash::vk::ImageLayout::GENERAL.as_raw(),
- ColorAttachmentOptimal = ash::vk::ImageLayout::COLOR_ATTACHMENT_OPTIMAL.as_raw(),
- DepthStencilAttachmentOptimal = ash::vk::ImageLayout::DEPTH_STENCIL_ATTACHMENT_OPTIMAL.as_raw(),
- DepthStencilReadOnlyOptimal = ash::vk::ImageLayout::DEPTH_STENCIL_READ_ONLY_OPTIMAL.as_raw(),
- ShaderReadOnlyOptimal = ash::vk::ImageLayout::SHADER_READ_ONLY_OPTIMAL.as_raw(),
- TransferSrcOptimal = ash::vk::ImageLayout::TRANSFER_SRC_OPTIMAL.as_raw(),
- TransferDstOptimal = ash::vk::ImageLayout::TRANSFER_DST_OPTIMAL.as_raw(),
- Preinitialized = ash::vk::ImageLayout::PREINITIALIZED.as_raw(),
- PresentSrc = ash::vk::ImageLayout::PRESENT_SRC_KHR.as_raw(),
-}
-
-impl From<ImageLayout> for ash::vk::ImageLayout {
- #[inline]
- fn from(val: ImageLayout) -> Self {
- Self::from_raw(val as i32)
- }
-}
-
-/// The set of layouts to use for an image when used in descriptor of various kinds.
-#[derive(Clone, Copy, Debug, PartialEq, Eq)]
-pub struct ImageDescriptorLayouts {
- /// The image layout to use in a descriptor as a storage image.
- pub storage_image: ImageLayout,
- /// The image layout to use in a descriptor as a combined image sampler.
- pub combined_image_sampler: ImageLayout,
- /// The image layout to use in a descriptor as a sampled image.
- pub sampled_image: ImageLayout,
- /// The image layout to use in a descriptor as an input attachment.
- pub input_attachment: ImageLayout,
-}