| Safe Haskell | None |
|---|---|
| Language | Haskell2010 |
Graphics.Vulkan.Core11.Promoted_from_VK_KHR_device_group_creation
- pattern VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_GROUP_PROPERTIES :: VkStructureType
- pattern VK_STRUCTURE_TYPE_DEVICE_GROUP_DEVICE_CREATE_INFO :: VkStructureType
- pattern VK_MEMORY_HEAP_MULTI_INSTANCE_BIT :: VkMemoryHeapFlagBits
- type VK_MAX_DEVICE_GROUP_SIZE = 32
- pattern VK_MAX_DEVICE_GROUP_SIZE :: Integral a => a
- vkEnumeratePhysicalDeviceGroups :: ("instance" ::: VkInstance) -> ("pPhysicalDeviceGroupCount" ::: Ptr Word32) -> ("pPhysicalDeviceGroupProperties" ::: Ptr VkPhysicalDeviceGroupProperties) -> IO VkResult
- data VkPhysicalDeviceGroupProperties = VkPhysicalDeviceGroupProperties {}
- data VkDeviceGroupDeviceCreateInfo = VkDeviceGroupDeviceCreateInfo {}
Documentation
pattern VK_MEMORY_HEAP_MULTI_INSTANCE_BIT :: VkMemoryHeapFlagBits Source #
VK_MEMORY_HEAP_MULTI_INSTANCE_BIT specifies that in a logical device
representing more than one physical device, there is a per-physical
device instance of the heap memory. By default, an allocation from such
a heap will be replicated to each physical device’s instance of the
heap.
type VK_MAX_DEVICE_GROUP_SIZE = 32 Source #
pattern VK_MAX_DEVICE_GROUP_SIZE :: Integral a => a Source #
vkEnumeratePhysicalDeviceGroups :: ("instance" ::: VkInstance) -> ("pPhysicalDeviceGroupCount" ::: Ptr Word32) -> ("pPhysicalDeviceGroupProperties" ::: Ptr VkPhysicalDeviceGroupProperties) -> IO VkResult Source #
vkEnumeratePhysicalDeviceGroups - Enumerates groups of physical devices that can be used to create a single logical device
Parameters
instanceis a handle to a Vulkan instance previously created withvkCreateInstance.
pPhysicalDeviceGroupCountis a pointer to an integer related to the number of device groups available or queried, as described below.pPhysicalDeviceGroupPropertiesis eitherNULLor a pointer to an array ofVkPhysicalDeviceGroupPropertiesstructures.
Description
If pPhysicalDeviceGroupProperties is NULL, then the number of device
groups available is returned in pPhysicalDeviceGroupCount. Otherwise,
pPhysicalDeviceGroupCount must point to a variable set by the user
to the number of elements in the pPhysicalDeviceGroupProperties array,
and on return the variable is overwritten with the number of structures
actually written to pPhysicalDeviceGroupProperties. If
pPhysicalDeviceGroupCount is less than the number of device groups
available, at most pPhysicalDeviceGroupCount structures will be
written. If pPhysicalDeviceGroupCount is smaller than the number of
device groups available, VK_INCOMPLETE will be returned instead of
VK_SUCCESS, to indicate that not all the available device groups were
returned.
Every physical device must be in exactly one device group.
Valid Usage (Implicit)
instancemust be a validVkInstancehandle
pPhysicalDeviceGroupCountmust be a valid pointer to auint32_tvalue- If the value referenced by
pPhysicalDeviceGroupCountis not0, andpPhysicalDeviceGroupPropertiesis notNULL,pPhysicalDeviceGroupPropertiesmust be a valid pointer to an array ofpPhysicalDeviceGroupCountVkPhysicalDeviceGroupPropertiesstructures
Return Codes
- Success
- -
VK_SUCCESSVK_INCOMPLETE
- Failure
- -
VK_ERROR_OUT_OF_HOST_MEMORYVK_ERROR_OUT_OF_DEVICE_MEMORY
VK_ERROR_INITIALIZATION_FAILED
See Also
data VkPhysicalDeviceGroupProperties Source #
VkPhysicalDeviceGroupProperties - Structure specifying physical device group properties
Description
See Also
VkBool32,
VkPhysicalDevice,
VkStructureType,
vkEnumeratePhysicalDeviceGroups,
vkEnumeratePhysicalDeviceGroupsKHR
Constructors
| VkPhysicalDeviceGroupProperties | |
Fields
| |
data VkDeviceGroupDeviceCreateInfo Source #
VkDeviceGroupDeviceCreateInfo - Create a logical device from multiple physical devices
Description
The elements of the pPhysicalDevices array are an ordered list of the
physical devices that the logical device represents. These must be a
subset of a single device group, and need not be in the same order as
they were enumerated. The order of the physical devices in the
pPhysicalDevices array determines the device index of each physical
device, with element i being assigned a device index of i. Certain
commands and structures refer to one or more physical devices by using
device indices or device masks formed using device indices.
A logical device created without using VkDeviceGroupDeviceCreateInfo,
or with physicalDeviceCount equal to zero, is equivalent to a
physicalDeviceCount of one and pPhysicalDevices pointing to the
physicalDevice parameter to
vkCreateDevice. In particular, the
device index of that physical device is zero.
Valid Usage
- Each element of
pPhysicalDevicesmust be unique
- All elements of
pPhysicalDevicesmust be in the same device group as enumerated byvkEnumeratePhysicalDeviceGroups - If
physicalDeviceCountis not0, thephysicalDeviceparameter ofvkCreateDevicemust be an element ofpPhysicalDevices.
Valid Usage (Implicit)
sTypemust beVK_STRUCTURE_TYPE_DEVICE_GROUP_DEVICE_CREATE_INFO
- If
physicalDeviceCountis not0,pPhysicalDevicesmust be a valid pointer to an array ofphysicalDeviceCountvalidVkPhysicalDevicehandles
See Also
Constructors
| VkDeviceGroupDeviceCreateInfo | |
Fields
| |