Documentation
¶
Index ¶
Constants ¶
const ( // ExtensionName is "VK_KHR_device_group_creation" // // https://registry.khronos.org/vulkan/specs/1.3-extensions/man/html/VK_KHR_device_group_creation.html ExtensionName string = C.VK_KHR_DEVICE_GROUP_CREATION_EXTENSION_NAME // MaxDeviceGroupSize is the length of a PhysicalDevice handle array // // https://registry.khronos.org/vulkan/specs/1.3-extensions/man/html/VK_MAX_DEVICE_GROUP_SIZE_KHR.html MaxDeviceGroupSize int = C.VK_MAX_DEVICE_GROUP_SIZE_KHR // MemoryHeapMultiInstance specifies that ina logical Device representing more than one // PhysicalDevice, there is a per-PhysicalDevice instance of the heap memory // // https://registry.khronos.org/vulkan/specs/1.3-extensions/man/html/VkMemoryHeapFlagBits.html MemoryHeapMultiInstance core1_0.MemoryHeapFlags = C.VK_MEMORY_HEAP_MULTI_INSTANCE_BIT_KHR )
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type DeviceGroupDeviceCreateInfo ¶
type DeviceGroupDeviceCreateInfo struct { // PhysicalDevices is a slice of PhysicalDevice objects belonging to the same Device group PhysicalDevices []core1_0.PhysicalDevice common.NextOptions }
DeviceGroupDeviceCreateInfo creates a logical Device from multiple PhysicalDevice objects
https://registry.khronos.org/vulkan/specs/1.3-extensions/man/html/VkDeviceGroupDeviceCreateInfo.html
type Extension ¶
type Extension interface { // EnumeratePhysicalDeviceGroups enumerates groups of PhysicalDevice objects that can be used to // create a single logical Device // // instance - The Instance to enumerate device groups for // // outDataFactory - This method can be provided to allocate each PhysicalDeviceGroupProperties object // that is returned, along with any chained OutData structures. It can also be left nil, in which case // PhysicalDeviceGroupProperties will be allocated with no chained structures. // // https://www.khronos.org/registry/vulkan/specs/1.3-extensions/man/html/vkEnumeratePhysicalDeviceGroups.html EnumeratePhysicalDeviceGroups(instance core1_0.Instance, outDataFactory func() *PhysicalDeviceGroupProperties) ([]*PhysicalDeviceGroupProperties, common.VkResult, error) }
Extension contains all the commands for the khr_device_group_creation extension
https://registry.khronos.org/vulkan/specs/1.3-extensions/man/html/VK_KHR_device_group_creation.html
type PhysicalDeviceGroupProperties ¶
type PhysicalDeviceGroupProperties struct { // PhysicalDevices is a slice of PhysicalDevice objects that represent all PhysicalDevice // objects in the group PhysicalDevices []core1_0.PhysicalDevice // SubsetAllocation specifies whether logical Device objects created from the group support // allocating DeviceMemory on a subset of Device objects, via MemoryAllocateFlagsInfo SubsetAllocation bool common.NextOutData }
PhysicalDeviceGroupProperties specifies PhysicalDevice group properties
func (*PhysicalDeviceGroupProperties) PopulateHeader ¶
func (*PhysicalDeviceGroupProperties) PopulateOutData ¶
type VulkanExtension ¶
type VulkanExtension struct {
// contains filtered or unexported fields
}
VulkanExtension is an implementation of the Extension interface that actually communicates with Vulkan. This is the default implementation. See the interface for more documentation.
func CreateExtensionFromDriver ¶
func CreateExtensionFromDriver(driver khr_device_group_creation_driver.Driver) *VulkanExtension
CreateExtensionFromDriver generates an Extension from a driver.Driver object- this is usually used in tests to build an Extension from mock drivers
func CreateExtensionFromInstance ¶
func CreateExtensionFromInstance(instance core1_0.Instance) *VulkanExtension
CreateExtensionFromInstance produces an Extension object from an Instance with khr_device_group_creation loaded
func (*VulkanExtension) EnumeratePhysicalDeviceGroups ¶
func (e *VulkanExtension) EnumeratePhysicalDeviceGroups(instance core1_0.Instance, outDataFactory func() *PhysicalDeviceGroupProperties) ([]*PhysicalDeviceGroupProperties, common.VkResult, error)