Module vulkano::instance [−][src]
Expand description
API entry point.
The first thing to do before you start using Vulkan is to create an Instance
object.
For example:
use vulkano::instance::Instance; use vulkano::instance::InstanceExtensions; use vulkano::Version; let instance = match Instance::new(None, Version::V1_1, &InstanceExtensions::none(), None) { Ok(i) => i, Err(err) => panic!("Couldn't build instance: {:?}", err) };
Creating an instance initializes everything and allows you to enumerate physical devices, ie. all the Vulkan implementations that are available on the system.
use vulkano::device::physical::PhysicalDevice; for physical_device in PhysicalDevice::enumerate(&instance) { println!("Available device: {}", physical_device.properties().device_name); }
Enumerating physical devices and creating a device
After you have created an instance, the next step is usually to enumerate the physical devices
that are available on the system with PhysicalDevice::enumerate()
(see above).
When choosing which physical device to use, keep in mind that physical devices may or may not
be able to draw to a certain surface (ie. to a window or a monitor), or may even not be able
to draw at all. See the swapchain
module for more information about surfaces.
Once you have chosen a physical device, you can create a Device
object from it. See the
device
module for more info.
Re-exports
pub use self::loader::LoadingError;
Modules
Debug callback called by intermediate layers or by the driver.
Vulkan implementation loading system.
Structs
Information that can be given to the Vulkan driver so that it can identify your application.
An error that can happen when enabling an extension on an instance or device.
An instance of a Vulkan context. This is the main object that should be created by an application before everything else.
List of extensions that are enabled or available.
Properties of a layer.
Iterator that produces the list of layers that are available.
Represents an API version of Vulkan.
Enums
Error that can happen when creating an instance.
Error that can happen when loading the list of layers.
Error that can happen when loading the list of layers.
Functions
Queries the list of layers that are available when creating an instance.