aboutsummaryrefslogtreecommitdiff
path: root/src/pipeline/input_assembly.rs
diff options
context:
space:
mode:
Diffstat (limited to 'src/pipeline/input_assembly.rs')
-rw-r--r--src/pipeline/input_assembly.rs136
1 files changed, 0 insertions, 136 deletions
diff --git a/src/pipeline/input_assembly.rs b/src/pipeline/input_assembly.rs
deleted file mode 100644
index d797d0d..0000000
--- a/src/pipeline/input_assembly.rs
+++ /dev/null
@@ -1,136 +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.
-
-//! Assembling vertices into primitives.
-//!
-//! The input assembly is the stage where lists of vertices are turned into primitives.
-//!
-
-/// How the input assembly stage should behave.
-#[derive(Copy, Clone, Debug)]
-#[deprecated]
-pub struct InputAssembly {
- /// The type of primitives.
- ///
- /// Note that some topologies don't support primitive restart.
- pub topology: PrimitiveTopology,
-
- /// If true, then the special index value `0xffff` or `0xffffffff` will tell the GPU that it is
- /// the end of the current primitive. A new primitive will restart at the next index.
- ///
- /// Note that some topologies don't support primitive restart.
- pub primitive_restart_enable: bool,
-}
-
-impl InputAssembly {
- /// Builds an `InputAssembly` struct with the `TriangleList` topology.
- #[inline]
- pub fn triangle_list() -> InputAssembly {
- InputAssembly {
- topology: PrimitiveTopology::TriangleList,
- primitive_restart_enable: false,
- }
- }
-}
-
-/// Describes how vertices must be grouped together to form primitives.
-///
-/// Note that some topologies don't support primitive restart.
-#[derive(Copy, Clone, Debug, PartialEq, Eq)]
-pub enum PrimitiveTopology {
- PointList,
- LineList,
- LineStrip,
- TriangleList,
- TriangleStrip,
- TriangleFan,
- LineListWithAdjacency,
- LineStripWithAdjacency,
- TriangleListWithAdjacency,
- TriangleStripWithAdjacency,
- PatchList { vertices_per_patch: u32 },
-}
-
-impl From<PrimitiveTopology> for ash::vk::PrimitiveTopology {
- #[inline]
- fn from(val: PrimitiveTopology) -> ash::vk::PrimitiveTopology {
- match val {
- PrimitiveTopology::PointList => ash::vk::PrimitiveTopology::POINT_LIST,
- PrimitiveTopology::LineList => ash::vk::PrimitiveTopology::LINE_LIST,
- PrimitiveTopology::LineStrip => ash::vk::PrimitiveTopology::LINE_STRIP,
- PrimitiveTopology::TriangleList => ash::vk::PrimitiveTopology::TRIANGLE_LIST,
- PrimitiveTopology::TriangleStrip => ash::vk::PrimitiveTopology::TRIANGLE_STRIP,
- PrimitiveTopology::TriangleFan => ash::vk::PrimitiveTopology::TRIANGLE_FAN,
- PrimitiveTopology::LineListWithAdjacency => {
- ash::vk::PrimitiveTopology::LINE_LIST_WITH_ADJACENCY
- }
- PrimitiveTopology::LineStripWithAdjacency => {
- ash::vk::PrimitiveTopology::LINE_STRIP_WITH_ADJACENCY
- }
- PrimitiveTopology::TriangleListWithAdjacency => {
- ash::vk::PrimitiveTopology::TRIANGLE_LIST_WITH_ADJACENCY
- }
- PrimitiveTopology::TriangleStripWithAdjacency => {
- ash::vk::PrimitiveTopology::TRIANGLE_STRIP_WITH_ADJACENCY
- }
- PrimitiveTopology::PatchList { .. } => ash::vk::PrimitiveTopology::PATCH_LIST,
- }
- }
-}
-
-impl PrimitiveTopology {
- /// Returns true if this primitive topology supports using primitives restart.
- #[inline]
- pub fn supports_primitive_restart(&self) -> bool {
- match *self {
- PrimitiveTopology::LineStrip => true,
- PrimitiveTopology::TriangleStrip => true,
- PrimitiveTopology::TriangleFan => true,
- PrimitiveTopology::LineStripWithAdjacency => true,
- PrimitiveTopology::TriangleStripWithAdjacency => true,
- _ => false,
- }
- }
-}
-
-/// Trait for types that can be used as indices by the GPU.
-pub unsafe trait Index {
- /// Returns the type of data.
- fn ty() -> IndexType;
-}
-
-unsafe impl Index for u16 {
- #[inline(always)]
- fn ty() -> IndexType {
- IndexType::U16
- }
-}
-
-unsafe impl Index for u32 {
- #[inline(always)]
- fn ty() -> IndexType {
- IndexType::U32
- }
-}
-
-/// An enumeration of all valid index types.
-#[derive(Copy, Clone, Debug, PartialEq, Eq, Hash)]
-#[allow(missing_docs)]
-#[repr(i32)]
-pub enum IndexType {
- U16 = ash::vk::IndexType::UINT16.as_raw(),
- U32 = ash::vk::IndexType::UINT32.as_raw(),
-}
-
-impl From<IndexType> for ash::vk::IndexType {
- #[inline]
- fn from(val: IndexType) -> Self {
- Self::from_raw(val as i32)
- }
-}