aboutsummaryrefslogtreecommitdiff
path: root/src/image/aspect.rs
diff options
context:
space:
mode:
Diffstat (limited to 'src/image/aspect.rs')
-rw-r--r--src/image/aspect.rs145
1 files changed, 0 insertions, 145 deletions
diff --git a/src/image/aspect.rs b/src/image/aspect.rs
deleted file mode 100644
index 41d834e..0000000
--- a/src/image/aspect.rs
+++ /dev/null
@@ -1,145 +0,0 @@
-// Copyright (c) 2020 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::ops::BitOr;
-
-/// An individual data type within an image.
-///
-/// Most images have only the `Color` aspect, but some may have several.
-#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash)]
-#[repr(u32)]
-pub enum ImageAspect {
- Color = ash::vk::ImageAspectFlags::COLOR.as_raw(),
- Depth = ash::vk::ImageAspectFlags::DEPTH.as_raw(),
- Stencil = ash::vk::ImageAspectFlags::STENCIL.as_raw(),
- Metadata = ash::vk::ImageAspectFlags::METADATA.as_raw(),
- Plane0 = ash::vk::ImageAspectFlags::PLANE_0.as_raw(),
- Plane1 = ash::vk::ImageAspectFlags::PLANE_1.as_raw(),
- Plane2 = ash::vk::ImageAspectFlags::PLANE_2.as_raw(),
- MemoryPlane0 = ash::vk::ImageAspectFlags::MEMORY_PLANE_0_EXT.as_raw(),
- MemoryPlane1 = ash::vk::ImageAspectFlags::MEMORY_PLANE_1_EXT.as_raw(),
- MemoryPlane2 = ash::vk::ImageAspectFlags::MEMORY_PLANE_2_EXT.as_raw(),
-}
-
-impl From<ImageAspect> for ash::vk::ImageAspectFlags {
- #[inline]
- fn from(val: ImageAspect) -> Self {
- Self::from_raw(val as u32)
- }
-}
-
-/// A mask specifying one or more `ImageAspect`s.
-#[derive(Clone, Copy, Debug, Default, PartialEq, Eq, Hash)]
-pub struct ImageAspects {
- pub color: bool,
- pub depth: bool,
- pub stencil: bool,
- pub metadata: bool,
- pub plane0: bool,
- pub plane1: bool,
- pub plane2: bool,
- pub memory_plane0: bool,
- pub memory_plane1: bool,
- pub memory_plane2: bool,
-}
-
-impl ImageAspects {
- /// Builds an `ImageAspect` with all values set to false. Useful as a default value.
- #[inline]
- pub const fn none() -> ImageAspects {
- ImageAspects {
- color: false,
- depth: false,
- stencil: false,
- metadata: false,
- plane0: false,
- plane1: false,
- plane2: false,
- memory_plane0: false,
- memory_plane1: false,
- memory_plane2: false,
- }
- }
-}
-
-impl BitOr for ImageAspects {
- type Output = Self;
-
- #[inline]
- fn bitor(self, rhs: Self) -> Self {
- ImageAspects {
- color: self.color || rhs.color,
- depth: self.depth || rhs.depth,
- stencil: self.stencil || rhs.stencil,
- metadata: self.metadata || rhs.metadata,
- plane0: self.plane0 || rhs.plane0,
- plane1: self.plane1 || rhs.plane1,
- plane2: self.plane2 || rhs.plane2,
- memory_plane0: self.memory_plane0 || rhs.memory_plane0,
- memory_plane1: self.memory_plane1 || rhs.memory_plane1,
- memory_plane2: self.memory_plane2 || rhs.memory_plane2,
- }
- }
-}
-
-impl From<ImageAspects> for ash::vk::ImageAspectFlags {
- #[inline]
- fn from(value: ImageAspects) -> ash::vk::ImageAspectFlags {
- let mut result = ash::vk::ImageAspectFlags::empty();
- if value.color {
- result |= ash::vk::ImageAspectFlags::COLOR;
- }
- if value.depth {
- result |= ash::vk::ImageAspectFlags::DEPTH;
- }
- if value.stencil {
- result |= ash::vk::ImageAspectFlags::STENCIL;
- }
- if value.metadata {
- result |= ash::vk::ImageAspectFlags::METADATA;
- }
- if value.plane0 {
- result |= ash::vk::ImageAspectFlags::PLANE_0;
- }
- if value.plane1 {
- result |= ash::vk::ImageAspectFlags::PLANE_1;
- }
- if value.plane2 {
- result |= ash::vk::ImageAspectFlags::PLANE_2;
- }
- if value.memory_plane0 {
- result |= ash::vk::ImageAspectFlags::MEMORY_PLANE_0_EXT;
- }
- if value.memory_plane1 {
- result |= ash::vk::ImageAspectFlags::MEMORY_PLANE_1_EXT;
- }
- if value.memory_plane2 {
- result |= ash::vk::ImageAspectFlags::MEMORY_PLANE_2_EXT
- }
- result
- }
-}
-
-impl From<ash::vk::ImageAspectFlags> for ImageAspects {
- #[inline]
- fn from(val: ash::vk::ImageAspectFlags) -> ImageAspects {
- ImageAspects {
- color: !(val & ash::vk::ImageAspectFlags::COLOR).is_empty(),
- depth: !(val & ash::vk::ImageAspectFlags::DEPTH).is_empty(),
- stencil: !(val & ash::vk::ImageAspectFlags::STENCIL).is_empty(),
- metadata: !(val & ash::vk::ImageAspectFlags::METADATA).is_empty(),
- plane0: !(val & ash::vk::ImageAspectFlags::PLANE_0).is_empty(),
- plane1: !(val & ash::vk::ImageAspectFlags::PLANE_1).is_empty(),
- plane2: !(val & ash::vk::ImageAspectFlags::PLANE_2).is_empty(),
- memory_plane0: !(val & ash::vk::ImageAspectFlags::MEMORY_PLANE_0_EXT).is_empty(),
- memory_plane1: !(val & ash::vk::ImageAspectFlags::MEMORY_PLANE_1_EXT).is_empty(),
- memory_plane2: !(val & ash::vk::ImageAspectFlags::MEMORY_PLANE_2_EXT).is_empty(),
- }
- }
-}