khr_device_group_creation

package
v2.2.0 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Apr 27, 2023 License: MIT Imports: 9 Imported by: 0

Documentation

Index

Constants

View Source
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

func (DeviceGroupDeviceCreateInfo) PopulateCPointer

func (o DeviceGroupDeviceCreateInfo) PopulateCPointer(allocator *cgoparam.Allocator, preallocatedPointer unsafe.Pointer, next unsafe.Pointer) (unsafe.Pointer, error)

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

https://registry.khronos.org/vulkan/specs/1.3-extensions/man/html/VkPhysicalDeviceGroupProperties.html

func (*PhysicalDeviceGroupProperties) PopulateHeader

func (o *PhysicalDeviceGroupProperties) PopulateHeader(allocator *cgoparam.Allocator, preallocatedPointer unsafe.Pointer, next unsafe.Pointer) (unsafe.Pointer, error)

func (*PhysicalDeviceGroupProperties) PopulateOutData

func (o *PhysicalDeviceGroupProperties) PopulateOutData(cPointer unsafe.Pointer, helpers ...any) (next unsafe.Pointer, err error)

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)

Directories

Path Synopsis
Package mock_device_group_creation is a generated GoMock package.
Package mock_device_group_creation is a generated GoMock package.

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL