diff options
Diffstat (limited to 'src/command_buffer/synced/tests.rs')
-rw-r--r-- | src/command_buffer/synced/tests.rs | 52 |
1 files changed, 52 insertions, 0 deletions
diff --git a/src/command_buffer/synced/tests.rs b/src/command_buffer/synced/tests.rs new file mode 100644 index 0000000..d40654b --- /dev/null +++ b/src/command_buffer/synced/tests.rs @@ -0,0 +1,52 @@ +// 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 crate::buffer::BufferUsage; +use crate::buffer::CpuAccessibleBuffer; +use crate::command_buffer::pool::CommandPool; +use crate::command_buffer::pool::CommandPoolBuilderAlloc; +use crate::command_buffer::synced::base::SyncCommandBufferBuilder; +use crate::command_buffer::synced::base::SyncCommandBufferBuilderError; +use crate::command_buffer::sys::Flags; +use crate::command_buffer::Kind; +use crate::device::Device; +use std::iter; + +#[test] +fn basic_creation() { + unsafe { + let (device, queue) = gfx_dev_and_queue!(); + let pool = Device::standard_command_pool(&device, queue.family()); + let pool_builder_alloc = pool.alloc(false, 1).unwrap().next().unwrap(); + SyncCommandBufferBuilder::new(&pool_builder_alloc.inner(), Kind::primary(), Flags::None) + .unwrap(); + } +} + +#[test] +fn basic_conflict() { + unsafe { + let (device, queue) = gfx_dev_and_queue!(); + + let pool = Device::standard_command_pool(&device, queue.family()); + let pool_builder_alloc = pool.alloc(false, 1).unwrap().next().unwrap(); + let mut sync = SyncCommandBufferBuilder::new( + &pool_builder_alloc.inner(), + Kind::primary(), + Flags::None, + ) + .unwrap(); + let buf = CpuAccessibleBuffer::from_data(device, BufferUsage::all(), false, 0u32).unwrap(); + + match sync.copy_buffer(buf.clone(), buf.clone(), iter::once((0, 0, 4))) { + Err(SyncCommandBufferBuilderError::Conflict { .. }) => (), + _ => panic!(), + }; + } +} |