[−][src]Module rhyoea::extends
Extends Vulkan
Additional functionality may be provided by layers or extensions. A layer cannot add or modify Vulkan commands, while an extension may do so.
The set of layers to enable is specified when creating an instance, and those layers are able to intercept any Vulkan command dispatched to that instance or any of its child objects.
Extensions can operate at either the instance or device extension scope. Enabled instance extensions are able to affect the operation of the instance and any of its child objects, while device extensions may only be available on a subset of physical devices, must be individually enabled per-device, and only affect the operation of the devices where they are enabled.
Examples of these might be:
-
Whole API validation is an example of a layer.
-
Debug capabilities might make a good instance extension.
-
A layer that provides hardware-specific performance telemetry and analysis could be a layer that is only active for devices created from compatible physical devices.
-
Functions to allow an application to use additional hardware features beyond the core would be a good candidate for a device extension.
Re-exports
pub use crate::extends::extension::Extension; |
pub use crate::extends::extension::Extensions; |
pub use crate::extends::layer::Layer; |
pub use crate::extends::layer::Layers; |
Modules
extension | Extensions may define new Vulkan commands, structures, and enumerants. |
layer | Validation layer |
Traits
Extends | Vulkan extends |
Filtrable | TODO: Doc |