1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
//! vulkan for offscreen rendering and compute
//!
//! This library compiles the nobs-vk base crates into a single depencency and introduces two more moduls:
//!  - [cmd](cmd/index.html) - Handles command buffers and syrchronization
//!  - [fm](fb/index.html) - Handles renderpass and framebuffer management
//!
//! Rearranges module namespaces, so that we only have to use a single `external crate nobs_vulkanism` instruction instead of
//! the all three depencencies (nobs-vk, nobs-vkmem, nobs-vkpipes). Inlines the nobs-vk Symbols into thes crates root namespace.
//! for nobs-vkmem and nobs-vkpipes the modules `mem` and `pipes` are created respectively.
//!
//! ## Example
//! ```rust
//! extern crate nobs_vulkanism_headless as vk;
//!
//! fn main() {
//!   // nobs-vk Symbols remain in vk::*
//!   let lib = vk::VkLib::new();
//!   let inst = vk::instance::new()
//!     .validate(vk::DEBUG_REPORT_ERROR_BIT_EXT | vk::DEBUG_REPORT_WARNING_BIT_EXT)
//!     .application("awesome app", 0)
//!     .create(lib)
//!     .unwrap();
//!
//!   let (pdevice, device) = vk::device::PhysicalDevice::enumerate_all(inst.handle)
//!     .remove(0)
//!     .into_device()
//!     .add_queue(vk::device::QueueProperties {
//!       present: false,
//!       graphics: true,
//!       compute: true,
//!       transfer: true,
//!     })
//!     .create()
//!     .unwrap();
//!
//!   // Symbols of dependent moduls are put in their own namespace within vk::
//!   // e.g.:
//!   let mut allocator = vk::mem::Allocator::new(pdevice.handle, device.handle);
//!   //...
//! }
//! ```
#[macro_use]
extern crate nobs_vk as vk;
extern crate nobs_vkmem;
extern crate nobs_vkpipes;

pub use vk::*;
/// See [nobs_vkmem](../nobs_vkmem/index.html)
pub mod mem {
  pub use nobs_vkmem::*;
}
/// See [nobs_vkpipes](../nobs_vkpipes/index.html)
pub mod pipes {
  pub use nobs_vkpipes::*;
}

pub mod cmd;
pub mod fb;