diff options
Diffstat (limited to 'src/pipeline/vertex/bufferless.rs')
-rw-r--r-- | src/pipeline/vertex/bufferless.rs | 67 |
1 files changed, 0 insertions, 67 deletions
diff --git a/src/pipeline/vertex/bufferless.rs b/src/pipeline/vertex/bufferless.rs deleted file mode 100644 index 7bb8cd4..0000000 --- a/src/pipeline/vertex/bufferless.rs +++ /dev/null @@ -1,67 +0,0 @@ -// Copyright (c) 2017 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 crate::buffer::BufferAccess; -use crate::pipeline::shader::ShaderInterface; -use crate::pipeline::vertex::IncompatibleVertexDefinitionError; -use crate::pipeline::vertex::VertexDefinition; -use crate::pipeline::vertex::VertexInput; -use crate::pipeline::vertex::VertexSource; - -/// Implementation of `VertexDefinition` for drawing with no buffers at all. -/// -/// This is only useful if your shaders come up with vertex data on their own, e.g. by inspecting -/// `gl_VertexIndex` -#[derive(Copy, Clone)] -pub struct BufferlessDefinition; - -/// Value to be passed as the vertex source for bufferless draw commands. -/// -/// Note that the concrete type of the graphics pipeline using `BufferlessDefinition` must be -/// visible to the command buffer builder for this to be usable. -#[derive(Copy, Clone)] -pub struct BufferlessVertices { - pub vertices: usize, - pub instances: usize, -} - -unsafe impl VertexSource<BufferlessVertices> for BufferlessDefinition { - fn decode( - &self, - n: BufferlessVertices, - ) -> ( - Vec<Box<dyn BufferAccess + Sync + Send + 'static>>, - usize, - usize, - ) { - (Vec::new(), n.vertices, n.instances) - } -} - -unsafe impl<T> VertexSource<Vec<T>> for BufferlessDefinition { - fn decode<'l>( - &self, - _: Vec<T>, - ) -> ( - Vec<Box<dyn BufferAccess + Sync + Send + 'static>>, - usize, - usize, - ) { - panic!("bufferless drawing should not be supplied with buffers") - } -} - -unsafe impl VertexDefinition for BufferlessDefinition { - fn definition( - &self, - _: &ShaderInterface, - ) -> Result<VertexInput, IncompatibleVertexDefinitionError> { - Ok(VertexInput::empty()) - } -} |