Safe Haskell | None |
---|---|
Language | Haskell2010 |
Synopsis
- data InstanceRequirement where
- RequireInstanceVersion :: {..} -> InstanceRequirement
- RequireInstanceLayer :: {..} -> InstanceRequirement
- RequireInstanceExtension :: {..} -> InstanceRequirement
- data DeviceRequirement where
- RequireDeviceVersion :: {..} -> DeviceRequirement
- RequireDeviceFeature :: forall struct. KnownFeatureStruct struct => {..} -> DeviceRequirement
- RequireDeviceProperty :: forall struct. KnownPropertyStruct struct => {..} -> DeviceRequirement
- RequireDeviceExtension :: {..} -> DeviceRequirement
- class Typeable feat => KnownFeatureStruct feat where
- sFeatureStruct :: SFeatureStruct feat
- class Typeable prop => KnownPropertyStruct prop where
- sPropertyStruct :: SPropertyStruct prop
- data SFeatureStruct feat where
- BasicFeatureStruct :: SFeatureStruct PhysicalDeviceFeatures
- ExtendedFeatureStruct :: (Show feat, Extends PhysicalDeviceFeatures2 feat, Extends DeviceCreateInfo feat, Zero feat, FromCStruct feat, ToCStruct feat) => SFeatureStruct feat
- data SPropertyStruct prop where
- BasicPropertyStruct :: SPropertyStruct PhysicalDeviceProperties
- ExtendedPropertyStruct :: (Typeable prop, Extends PhysicalDeviceProperties2 prop, FromCStruct prop, ToCStruct prop) => SPropertyStruct prop
Vulkan requirements
data InstanceRequirement where Source #
A requirement on a Vulkan Instance
.
RequireInstanceVersion | Require a minimum Vulkan instance version. |
| |
RequireInstanceLayer | Require a Vulkan layer. |
| |
RequireInstanceExtension | Require a Vulkan instance extension. |
data DeviceRequirement where Source #
RequireDeviceVersion | Require a minimum device version. |
| |
RequireDeviceFeature | Require a Vulkan physical device feature. |
| |
RequireDeviceProperty | Require a Vulkan physical device property. |
| |
RequireDeviceExtension | Require a Vulkan device extension. |
|
Utility functionality for handling structure chains
class Typeable feat => KnownFeatureStruct feat where Source #
A Vulkan structure that can appear in PhysicalDeviceFeatures2
.
sFeatureStruct :: SFeatureStruct feat Source #
Instances
(Typeable feat, Show feat, Extends PhysicalDeviceFeatures2 feat, Extends DeviceCreateInfo feat, Zero feat, FromCStruct feat, ToCStruct feat) => KnownFeatureStruct feat Source # | |
Defined in Vulkan.Requirement sFeatureStruct :: SFeatureStruct feat Source # | |
KnownFeatureStruct PhysicalDeviceFeatures Source # | |
Defined in Vulkan.Requirement |
class Typeable prop => KnownPropertyStruct prop where Source #
A Vulkan structure that can appear in PhysicalDeviceProperties2
.
sPropertyStruct :: SPropertyStruct prop Source #
Instances
(Typeable prop, Extends PhysicalDeviceProperties2 prop, FromCStruct prop, ToCStruct prop) => KnownPropertyStruct prop Source # | |
Defined in Vulkan.Requirement sPropertyStruct :: SPropertyStruct prop Source # | |
KnownPropertyStruct PhysicalDeviceProperties Source # | |
data SFeatureStruct feat where Source #
Singleton for a Vulkan structure that can appear in PhysicalDeviceFeatures2
.
It is either PhysicalDeviceFeatures
, or it Extends
PhysicalDeviceFeatures2
.
BasicFeatureStruct :: SFeatureStruct PhysicalDeviceFeatures | |
ExtendedFeatureStruct :: (Show feat, Extends PhysicalDeviceFeatures2 feat, Extends DeviceCreateInfo feat, Zero feat, FromCStruct feat, ToCStruct feat) => SFeatureStruct feat |
data SPropertyStruct prop where Source #
Singleton for a Vulkan structure that can appear in PhysicalDeviceProperties2
.
It is either PhysicalDeviceProperties
, or it Extends
PhysicalDeviceProperties2
.
BasicPropertyStruct :: SPropertyStruct PhysicalDeviceProperties | |
ExtendedPropertyStruct :: (Typeable prop, Extends PhysicalDeviceProperties2 prop, FromCStruct prop, ToCStruct prop) => SPropertyStruct prop |