Safe Haskell | None |
---|---|
Language | Haskell2010 |
Synopsis
- checkInstanceRequirements :: forall m o r es. (MonadIO m, Traversable r, Traversable o) => r InstanceRequirement -> o InstanceRequirement -> InstanceCreateInfo es -> m (Maybe (InstanceCreateInfo es), r RequirementResult, o RequirementResult)
- checkDeviceRequirements :: forall m o r. (MonadIO m, Traversable r, Traversable o) => r DeviceRequirement -> o DeviceRequirement -> PhysicalDevice -> DeviceCreateInfo '[] -> m (Maybe (SomeStruct DeviceCreateInfo), r RequirementResult, o RequirementResult)
- data RequirementResult
- = Satisfied
- | UnattemptedProperties ByteString
- | UnattemptedFeatures ByteString
- | MissingLayer ByteString
- | UnsatisfiedDeviceVersion (Unsatisfied Word32)
- | UnsatisfiedInstanceVersion (Unsatisfied Word32)
- | UnsatisfiedLayerVersion ByteString (Unsatisfied Word32)
- | UnsatisfiedFeature ByteString
- | UnsatisfiedProperty ByteString
- | UnsatisfiedDeviceExtension ByteString
- | UnsatisfiedInstanceExtension ByteString
- data Unsatisfied a = Unsatisfied {
- unsatisfiedMinimum :: a
- unsatisfiedActual :: a
- requirementReport :: (Foldable r, Foldable o) => r RequirementResult -> o RequirementResult -> Maybe String
- prettyRequirementResult :: RequirementResult -> String
Instance requirements
checkInstanceRequirements Source #
:: forall m o r es. (MonadIO m, Traversable r, Traversable o) | |
=> r InstanceRequirement | Required requests |
-> o InstanceRequirement | Optional requests |
-> InstanceCreateInfo es | An |
-> m (Maybe (InstanceCreateInfo es), r RequirementResult, o RequirementResult) |
Device requirements
checkDeviceRequirements Source #
:: forall m o r. (MonadIO m, Traversable r, Traversable o) | |
=> r DeviceRequirement | Required requests |
-> o DeviceRequirement | Optional requests |
-> PhysicalDevice | |
-> DeviceCreateInfo '[] | A deviceCreateInfo with no extensions. If you need elements in the
struct chain you can add them later with
|
-> m (Maybe (SomeStruct DeviceCreateInfo), r RequirementResult, o RequirementResult) |
Results
data RequirementResult Source #
Satisfied | All the requirements were met |
UnattemptedProperties ByteString | Didn't attempt this check because it required getPhysicalDeviceProperties2 which wasn't loaded |
UnattemptedFeatures ByteString | Didn't attempt this check because it required getPhysicalDeviceFeatures2 which wasn't loaded |
MissingLayer ByteString | A Layer was not found |
UnsatisfiedDeviceVersion (Unsatisfied Word32) | A device version didn't meet the minimum requested |
UnsatisfiedInstanceVersion (Unsatisfied Word32) | The instance version didn't meet the minimum requested |
UnsatisfiedLayerVersion ByteString (Unsatisfied Word32) | A layer version didn't meet the minimum requested |
UnsatisfiedFeature ByteString | A feature was missing |
UnsatisfiedProperty ByteString | A propery was not an appropriate value |
UnsatisfiedDeviceExtension ByteString | A device extension was missing |
UnsatisfiedInstanceExtension ByteString | An instance extension was missing |
Instances
Eq RequirementResult Source # | |
Defined in Vulkan.Utils.Requirements (==) :: RequirementResult -> RequirementResult -> Bool # (/=) :: RequirementResult -> RequirementResult -> Bool # | |
Ord RequirementResult Source # | |
Defined in Vulkan.Utils.Requirements compare :: RequirementResult -> RequirementResult -> Ordering # (<) :: RequirementResult -> RequirementResult -> Bool # (<=) :: RequirementResult -> RequirementResult -> Bool # (>) :: RequirementResult -> RequirementResult -> Bool # (>=) :: RequirementResult -> RequirementResult -> Bool # max :: RequirementResult -> RequirementResult -> RequirementResult # min :: RequirementResult -> RequirementResult -> RequirementResult # |
data Unsatisfied a Source #
Unsatisfied | |
|
Instances
Eq a => Eq (Unsatisfied a) Source # | |
Defined in Vulkan.Utils.Requirements (==) :: Unsatisfied a -> Unsatisfied a -> Bool # (/=) :: Unsatisfied a -> Unsatisfied a -> Bool # | |
Ord a => Ord (Unsatisfied a) Source # | |
Defined in Vulkan.Utils.Requirements compare :: Unsatisfied a -> Unsatisfied a -> Ordering # (<) :: Unsatisfied a -> Unsatisfied a -> Bool # (<=) :: Unsatisfied a -> Unsatisfied a -> Bool # (>) :: Unsatisfied a -> Unsatisfied a -> Bool # (>=) :: Unsatisfied a -> Unsatisfied a -> Bool # max :: Unsatisfied a -> Unsatisfied a -> Unsatisfied a # min :: Unsatisfied a -> Unsatisfied a -> Unsatisfied a # |
requirementReport :: (Foldable r, Foldable o) => r RequirementResult -> o RequirementResult -> Maybe String Source #
Generate a string describing which requirements were not met, if
everything was satisfied return Nothing
.