vulkan-3.6: Bindings to the Vulkan graphics API.
Safe HaskellNone
LanguageHaskell2010

Vulkan.Core10.LayerDiscovery

Synopsis

Documentation

enumerateInstanceLayerProperties :: forall io. MonadIO io => io (Result, "properties" ::: Vector LayerProperties) Source #

vkEnumerateInstanceLayerProperties - Returns up to requested number of global layer properties

Description

If pProperties is NULL, then the number of layer properties available is returned in pPropertyCount. Otherwise, pPropertyCount must point to a variable set by the user to the number of elements in the pProperties array, and on return the variable is overwritten with the number of structures actually written to pProperties. If pPropertyCount is less than the number of layer properties available, at most pPropertyCount structures will be written. If pPropertyCount is smaller than the number of layers available, INCOMPLETE will be returned instead of SUCCESS, to indicate that not all the available layer properties were returned.

The list of available layers may change at any time due to actions outside of the Vulkan implementation, so two calls to enumerateInstanceLayerProperties with the same parameters may return different results, or retrieve different pPropertyCount values or pProperties contents. Once an instance has been created, the layers enabled for that instance will continue to be enabled and valid for the lifetime of that instance, even if some of them become unavailable for future instances.

Valid Usage (Implicit)

  • pPropertyCount must be a valid pointer to a uint32_t value
  • If the value referenced by pPropertyCount is not 0, and pProperties is not NULL, pProperties must be a valid pointer to an array of pPropertyCount LayerProperties structures

Return Codes

Success
Failure

See Also

LayerProperties

enumerateDeviceLayerProperties :: forall io. MonadIO io => PhysicalDevice -> io (Result, "properties" ::: Vector LayerProperties) Source #

vkEnumerateDeviceLayerProperties - Returns properties of available physical device layers

Description

If pProperties is NULL, then the number of layer properties available is returned in pPropertyCount. Otherwise, pPropertyCount must point to a variable set by the user to the number of elements in the pProperties array, and on return the variable is overwritten with the number of structures actually written to pProperties. If pPropertyCount is less than the number of layer properties available, at most pPropertyCount structures will be written. If pPropertyCount is smaller than the number of layers available, INCOMPLETE will be returned instead of SUCCESS, to indicate that not all the available layer properties were returned.

The list of layers enumerated by enumerateDeviceLayerProperties must be exactly the sequence of layers enabled for the instance. The members of LayerProperties for each enumerated layer must be the same as the properties when the layer was enumerated by enumerateInstanceLayerProperties.

Valid Usage (Implicit)

  • pPropertyCount must be a valid pointer to a uint32_t value
  • If the value referenced by pPropertyCount is not 0, and pProperties is not NULL, pProperties must be a valid pointer to an array of pPropertyCount LayerProperties structures

Return Codes

Success
Failure

See Also

LayerProperties, PhysicalDevice

data LayerProperties Source #

VkLayerProperties - Structure specifying layer properties

See Also

enumerateDeviceLayerProperties, enumerateInstanceLayerProperties

Constructors

LayerProperties 

Fields

Instances

Instances details
Show LayerProperties Source # 
Instance details

Defined in Vulkan.Core10.LayerDiscovery

Generic LayerProperties Source # 
Instance details

Defined in Vulkan.Core10.LayerDiscovery

Associated Types

type Rep LayerProperties :: Type -> Type #

Storable LayerProperties Source # 
Instance details

Defined in Vulkan.Core10.LayerDiscovery

FromCStruct LayerProperties Source # 
Instance details

Defined in Vulkan.Core10.LayerDiscovery

ToCStruct LayerProperties Source # 
Instance details

Defined in Vulkan.Core10.LayerDiscovery

Zero LayerProperties Source # 
Instance details

Defined in Vulkan.Core10.LayerDiscovery

type Rep LayerProperties Source # 
Instance details

Defined in Vulkan.Core10.LayerDiscovery

type Rep LayerProperties = D1 ('MetaData "LayerProperties" "Vulkan.Core10.LayerDiscovery" "vulkan-3.6-inplace" 'False) (C1 ('MetaCons "LayerProperties" 'PrefixI 'True) ((S1 ('MetaSel ('Just "layerName") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedStrict) (Rec0 ByteString) :*: S1 ('MetaSel ('Just "specVersion") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedStrict) (Rec0 Word32)) :*: (S1 ('MetaSel ('Just "implementationVersion") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedStrict) (Rec0 Word32) :*: S1 ('MetaSel ('Just "description") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedStrict) (Rec0 ByteString))))