[−][src]Module rhyoea::instance
The primary connection between your application and the Vulkan library.
It involves specifying some details about your application to the driver.
Examples
Minimal :
use rhyoea::instance::{application::Application, Instance}; use rhyoea::result::InstanceError; let application = Application::default(); let _ = Instance::new(&application, vec![], vec![])?;
With a application:
use rhyoea::instance::{application::Application, application::Engine, version::Version, Instance}; use rhyoea::result::InstanceError; let application_version = Version::new(1, 0, 0); let engine_version = Version::new(1, 0, 0); let api_version = Version::new(1, 1, 82); let engine = Engine::new("buzz".to_string(), engine_version, api_version)?; let application = Application::new( "qux".to_string(), application_version, engine )?; let _ = Instance::new(&application, vec![], vec![])?;
Complete, with application informations and extends. To more informations about the extends see the Vulkan referance
use rhyoea::instance::{application::Application, application::Engine, version::Version, Instance}; use rhyoea::result::InstanceError; use rhyoea::extends::{Extends, Extensions, Layers}; let application_version = Version::new(1, 0, 0); let engine_version = Version::new(1, 0, 0); let api_version = Version::new(1, 1, 82); let engine = Engine::new("buzz".to_string(), engine_version, api_version)?; let application = Application::new( "qux".to_string(), application_version, engine )?; let extensions = Extensions::available() .into_iter() .filter(|extension| extension.name() == "VK_EXT_debug_report" ) .collect(); let layers: Vec <_> = Layers::available() .into_iter() .filter(|layer| layer.name() == "VK_LAYER_LUNARG_core_validation") .collect(); let _ = Instance::new(&application, extensions, layers)?;
Modules
application |
|
bind | TODO: Doc |
information | TODO: Doc |
version | Version number with the Vulkan convention |
Structs
Instance | The |
Traits
Connection | Connection between an application and the Vulkan library |