khr_device_group

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: 12 Imported by: 0

Documentation

Index

Constants

View Source
const (
	// ExtensionName is "VK_KHR_device_group"
	//
	// https://registry.khronos.org/vulkan/specs/1.3-extensions/man/html/VK_KHR_device_group.html
	ExtensionName string = C.VK_KHR_DEVICE_GROUP_EXTENSION_NAME

	// DependencyDeviceGroup specifies that dependencies are non-device-local
	//
	// https://registry.khronos.org/vulkan/specs/1.3-extensions/man/html/VkDependencyFlagBits.html
	DependencyDeviceGroup core1_0.DependencyFlags = C.VK_DEPENDENCY_DEVICE_GROUP_BIT_KHR

	// MemoryAllocateDeviceMask specifies that memory will be allocated for the devices
	// in MemoryAllocateFlagsInfo.DeviceMask
	//
	// https://registry.khronos.org/vulkan/specs/1.3-extensions/man/html/VkMemoryAllocateFlagBitsKHR.html
	MemoryAllocateDeviceMask MemoryAllocateFlags = C.VK_MEMORY_ALLOCATE_DEVICE_MASK_BIT_KHR

	// DeviceGroupPresentModeLocal specifies that any PhysicalDevice with a presentation engine can
	// present its own swapchain Image objects
	//
	// https://registry.khronos.org/vulkan/specs/1.3-extensions/man/html/VkDeviceGroupPresentModeFlagBitsKHR.html
	DeviceGroupPresentModeLocal DeviceGroupPresentModeFlags = C.VK_DEVICE_GROUP_PRESENT_MODE_LOCAL_BIT_KHR
	// DeviceGroupPresentModeRemote specifies that any PhysicalDevice with a presentation engine can
	// present swapchain Image objects from any PhysicalDevice in its PresentMask
	//
	// https://registry.khronos.org/vulkan/specs/1.3-extensions/man/html/VkDeviceGroupPresentModeFlagBitsKHR.html
	DeviceGroupPresentModeRemote DeviceGroupPresentModeFlags = C.VK_DEVICE_GROUP_PRESENT_MODE_REMOTE_BIT_KHR
	// DeviceGroupPresentModeSum specifies that any PhysicalDevice with a presentation engine can present
	// the sum of swapchain Image objects from any PhysicalDevice in its PresentMask
	//
	// https://registry.khronos.org/vulkan/specs/1.3-extensions/man/html/VkDeviceGroupPresentModeFlagBitsKHR.html
	DeviceGroupPresentModeSum DeviceGroupPresentModeFlags = C.VK_DEVICE_GROUP_PRESENT_MODE_SUM_BIT_KHR
	// DeviceGroupPresentModeLocalMultiDevice specifies that multiple PhysicalDevice objects with a presentation
	// engine can each present their own swapchain Image objects
	//
	// https://registry.khronos.org/vulkan/specs/1.3-extensions/man/html/VkDeviceGroupPresentModeFlagBitsKHR.html
	DeviceGroupPresentModeLocalMultiDevice DeviceGroupPresentModeFlags = C.VK_DEVICE_GROUP_PRESENT_MODE_LOCAL_MULTI_DEVICE_BIT_KHR

	// PeerMemoryFeatureCopyDst specifies that the memory can be accessed as the destination of
	// any CommandBuffer.CmdCopy... command
	//
	// https://registry.khronos.org/vulkan/specs/1.3-extensions/man/html/VkPeerMemoryFeatureFlagBits.html
	PeerMemoryFeatureCopyDst PeerMemoryFeatureFlags = C.VK_PEER_MEMORY_FEATURE_COPY_DST_BIT_KHR
	// PeerMemoryFeatureCopySrc specifies that the memory can be accessed as the source of any
	// CommandBuffer.CmdCopy... command
	//
	// https://registry.khronos.org/vulkan/specs/1.3-extensions/man/html/VkPeerMemoryFeatureFlagBits.html
	PeerMemoryFeatureCopySrc PeerMemoryFeatureFlags = C.VK_PEER_MEMORY_FEATURE_COPY_SRC_BIT_KHR
	// PeerMemoryFeatureGenericDst specifies that the memory can be written as any memory access type
	//
	// https://registry.khronos.org/vulkan/specs/1.3-extensions/man/html/VkPeerMemoryFeatureFlagBits.html
	PeerMemoryFeatureGenericDst PeerMemoryFeatureFlags = C.VK_PEER_MEMORY_FEATURE_GENERIC_DST_BIT_KHR
	// PeerMemoryFeatureGenericSrc specifies that the memory can be read as any memory access type
	//
	// https://registry.khronos.org/vulkan/specs/1.3-extensions/man/html/VkPeerMemoryFeatureFlagBits.html
	PeerMemoryFeatureGenericSrc PeerMemoryFeatureFlags = C.VK_PEER_MEMORY_FEATURE_GENERIC_SRC_BIT_KHR

	// PipelineCreateDispatchBase specifies that a compute pipeline can be used with
	// CommandBuffer.CmdDispatchBase with a non-zero base workgroup
	//
	// https://registry.khronos.org/vulkan/specs/1.3-extensions/man/html/VkPipelineCreateFlagBits.html
	PipelineCreateDispatchBase core1_0.PipelineCreateFlags = C.VK_PIPELINE_CREATE_DISPATCH_BASE_KHR
	// PipelineCreateViewIndexFromDeviceIndex specifies that any shader input variables
	// decorated as ViewIndex will be assigned values as if they were decorated as DeviceIndex
	//
	// https://registry.khronos.org/vulkan/specs/1.3-extensions/man/html/VkPipelineCreateFlagBits.html
	PipelineCreateViewIndexFromDeviceIndex core1_0.PipelineCreateFlags = C.VK_PIPELINE_CREATE_VIEW_INDEX_FROM_DEVICE_INDEX_BIT_KHR

	// ImageCreateSplitInstanceBindRegions specifies that the Image can be used with a non-empty
	// BindImageMemoryDeviceGroupInfo.SplitInstanceBindRegions
	//
	// https://registry.khronos.org/vulkan/specs/1.3-extensions/man/html/VkImageCreateFlagBits.html
	ImageCreateSplitInstanceBindRegions core1_0.ImageCreateFlags = C.VK_IMAGE_CREATE_SPLIT_INSTANCE_BIND_REGIONS_BIT_KHR

	// SwapchainCreateSplitInstanceBindRegions specifies that Image objects created from the swpachain
	// must use ImageCreateSplitInstanceBindRegions
	//
	// https://registry.khronos.org/vulkan/specs/1.3-extensions/man/html/VkSwapchainCreateFlagBitsKHR.html
	SwapchainCreateSplitInstanceBindRegions khr_swapchain.SwapchainCreateFlags = C.VK_SWAPCHAIN_CREATE_SPLIT_INSTANCE_BIND_REGIONS_BIT_KHR
)

Variables

This section is empty.

Functions

This section is empty.

Types

type AcquireNextImageInfo

type AcquireNextImageInfo struct {
	// Swapchain is the khr_swapchain.Swapchain from which an Image is acquired
	Swapchain khr_swapchain.Swapchain
	// Timeout is how long to wait, in nanoseconds, if no Image is available, before returning core1_0.VKTimeout.
	// May be common.NoTimeout to wait indefinitely. The timeout is adjusted to the closest value allowed by the
	// implementation timeout accuracy, which may be substantially longer than the requested timeout.
	Timeout time.Duration
	// Semaphore is, optionally, a Semaphore to signal when acquisition is complete
	Semaphore core1_0.Semaphore
	// Fence is, optionally, a Fence to signal when acquisition is complete
	Fence core1_0.Fence
	// DeviceMask is a mask of PhysicalDevice objects for which the khr_swapchain.Swapchain Image will be
	// ready to use when the Semaphore or Fence is signaled
	DeviceMask uint32

	common.NextOptions
}

AcquireNextImageInfo specifies parameters of the acquire operation

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

func (AcquireNextImageInfo) PopulateCPointer

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

type BindBufferMemoryDeviceGroupInfo

type BindBufferMemoryDeviceGroupInfo struct {
	// DeviceIndices is a slice of Device indices
	DeviceIndices []int

	common.NextOptions
}

BindBufferMemoryDeviceGroupInfo specifies Device within a group to bind to

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

func (BindBufferMemoryDeviceGroupInfo) PopulateCPointer

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

type BindImageMemoryDeviceGroupInfo

type BindImageMemoryDeviceGroupInfo struct {
	// DeviceIndices is a slice of Device indices
	DeviceIndices []int
	// SplitInstanceBindRegions is a slice of Rect2D structures describing which regions of
	// the Image are attached to each instance of DeviceMemory
	SplitInstanceBindRegions []core1_0.Rect2D

	common.NextOptions
}

BindImageMemoryDeviceGroupInfo specifies Device within a group to bind to

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

func (BindImageMemoryDeviceGroupInfo) PopulateCPointer

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

type BindImageMemorySwapchainInfo

type BindImageMemorySwapchainInfo struct {
	// Swapchain is the khr_swapchain.Swapchain whose Image memory will be bound
	Swapchain khr_swapchain.Swapchain
	// ImageIndex is an Image index within Swapchain
	ImageIndex int

	common.NextOptions
}

BindImageMemorySwapchainInfo specifies swapchain Image memory to bind to

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

func (BindImageMemorySwapchainInfo) PopulateCPointer

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

type DeviceGroupBindSparseInfo

type DeviceGroupBindSparseInfo struct {
	// ResourceDeviceIndex is a Device index indicating which instance of the resource is bound
	ResourceDeviceIndex int
	// MemoryDeviceIndex is a Device index indicating which instance of the memory the resource instance is bound to
	MemoryDeviceIndex int

	common.NextOptions
}

DeviceGroupBindSparseInfo indicates which instances are bound

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

func (DeviceGroupBindSparseInfo) PopulateCPointer

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

type DeviceGroupCommandBufferBeginInfo

type DeviceGroupCommandBufferBeginInfo struct {
	// DeviceMask is the initial value of the CommandBuffer object's device mask
	DeviceMask uint32

	common.NextOptions
}

DeviceGroupCommandBufferBeginInfo sets the initial device mask for a CommandBuffer

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

func (DeviceGroupCommandBufferBeginInfo) PopulateCPointer

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

type DeviceGroupPresentCapabilities

type DeviceGroupPresentCapabilities struct {
	// PresentMask is an array of masks, where the mask at element i is non-zero if PhysicalDevice i
	// has a presentation engine, and where bit j is set in element i if PhysicalDevice i can present
	// swapchain Image objects from PhysicalDevice j
	PresentMask [khr_device_group_creation.MaxDeviceGroupSize]uint32
	// Modes indicates which Device group presentation modes are supported
	Modes DeviceGroupPresentModeFlags

	common.NextOutData
}

DeviceGroupPresentCapabilities returns present capabilities from other PhysicalDevice objects

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

func (*DeviceGroupPresentCapabilities) PopulateHeader

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

func (*DeviceGroupPresentCapabilities) PopulateOutData

func (o *DeviceGroupPresentCapabilities) PopulateOutData(cDataPointer unsafe.Pointer, helpers ...any) (next unsafe.Pointer, err error)

type DeviceGroupPresentInfo

type DeviceGroupPresentInfo struct {
	// DeviceMasks is a slice of Device masks, one for each element of khr_swapchain.PresentInfo.Swapchains
	DeviceMasks []uint32
	// Mode specifies the Device group present mode that will be used for this present
	Mode DeviceGroupPresentModeFlags

	common.NextOptions
}

DeviceGroupPresentInfo controls which PhysicalDevice objects' Image objects are presented

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

func (DeviceGroupPresentInfo) PopulateCPointer

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

type DeviceGroupPresentModeFlags

type DeviceGroupPresentModeFlags int32

DeviceGroupPresentModeFlags specifies supported Device group present modes

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

func (DeviceGroupPresentModeFlags) Register

func (f DeviceGroupPresentModeFlags) Register(str string)

func (DeviceGroupPresentModeFlags) String

type DeviceGroupRenderPassBeginInfo

type DeviceGroupRenderPassBeginInfo struct {
	// DeviceMask is the deivce mask for the RenderPass instance
	DeviceMask uint32
	// DeviceRenderAreas is a slice of Rect2D structures defining the render area for each
	// PhysicalDevice
	DeviceRenderAreas []core1_0.Rect2D

	common.NextOptions
}

DeviceGroupRenderPassBeginInfo sets the initial Device mask and render areas for a RenderPass instance

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

func (DeviceGroupRenderPassBeginInfo) PopulateCPointer

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

type DeviceGroupSubmitInfo

type DeviceGroupSubmitInfo struct {
	// WaitSemaphoreDeviceIndices is a slice of Device indices indicating which PhysicalDevice
	// executes the Semaphore wait operation in the corresponding element of SubmitInfo.WaitSemaphores
	WaitSemaphoreDeviceIndices []int
	// CommandBufferDeviceMasks is a slice of Device masks indicating which PhysicalDevice objects
	// execute the CommandBuffer in teh corresponding element of SubmitInfo.CommandBuffers
	CommandBufferDeviceMasks []uint32
	// SignalSemaphoreDeviceIndices is a slice of Device indices indicating which PhysicalDevice
	// executes the Semaphore signal operation in the SubmitInfo.SignalSemaphores
	SignalSemaphoreDeviceIndices []int

	common.NextOptions
}

DeviceGroupSubmitInfo indicates which PhysicalDevice objects execute Semaphore operations and CommandBuffer objects

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

func (DeviceGroupSubmitInfo) PopulateCPointer

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

type DeviceGroupSwapchainCreateInfo

type DeviceGroupSwapchainCreateInfo struct {
	// Modes is a set of modes that the khr_swapchain.Swapchain can be used with
	Modes DeviceGroupPresentModeFlags

	common.NextOptions
}

DeviceGroupSwapchainCreateInfo specifies parameters of a newly-created khr_swapchain.Swapchain object

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

func (DeviceGroupSwapchainCreateInfo) PopulateCPointer

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

type Extension

type Extension interface {
	// CmdDispatchBase dispatches compute work items with non-zero base values for the workgroup IDs
	//
	// commandBuffer - The CommandBuffer to dispatch the work items on
	//
	// baseGroupX - The start value of the X component of WorkgroupId
	//
	// baseGroupY - The start value of the Y component of WorkGroupId
	//
	// baseGroupZ - The start value of the Z component of WorkGroupId
	//
	// groupCountX - The number of local workgroups to dispatch in the X dimension
	//
	// groupCountY - The number of local workgroups to dispatch in the Y dimension
	//
	// groupCountZ - The number of local workgroups to dispatch in the Z dimension
	//
	// https://registry.khronos.org/vulkan/specs/1.3-extensions/man/html/vkCmdDispatchBase.html
	CmdDispatchBase(commandBuffer core1_0.CommandBuffer, baseGroupX, baseGroupY, baseGroupZ, groupCountX, groupCountY, groupCountZ int)
	// CmdSetDeviceMask modifies the device mask of a CommandBuffer
	//
	// commandBuffer - The CommandBuffer to set the Device mask on
	//
	// deviceMask - The new value of the current Device mask
	//
	// https://registry.khronos.org/vulkan/specs/1.3-extensions/man/html/vkCmdSetDeviceMask.html
	CmdSetDeviceMask(commandBuffer core1_0.CommandBuffer, deviceMask uint32)
	// DeviceGroupPeerMemoryFeatures queries supported peer memory features of a Device
	//
	// device - The Device to query peer memory features on
	//
	// heapIndex - The index of the memory heap from which the memory is allocated
	//
	// localDeviceIndex - The device index of the PhysicalDevice that performs the memory access
	//
	// remoteDeviceIndex - The device index of the PhysicalDevice that the memory is allocated for
	//
	// https://registry.khronos.org/vulkan/specs/1.3-extensions/man/html/vkGetDeviceGroupPeerMemoryFeatures.html
	DeviceGroupPeerMemoryFeatures(device core1_0.Device, heapIndex, localDeviceIndex, remoteDeviceIndex int) PeerMemoryFeatureFlags

	// WithKHRSurface will return nil if the khr_surface extension is not active, or will return an
	// object with additional commands that are available when both khr_device_group and khr_surface are
	// both active
	WithKHRSurface() ExtensionWithKHRSurface
	// WithKHRSwapchain will return nil if the khr_swapchain extension is not active, or will return an
	// object with additional commands that are available when both khr_device_group and khr_swapchain are
	// both active
	WithKHRSwapchain() ExtensionWithKHRSwapchain
}

Extension contains all the commands for the khr_device_group extension

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

type ExtensionWithKHRSurface

type ExtensionWithKHRSurface interface {
	// DeviceGroupPresentCapabilities queries Device group present capabilities for a surface
	//
	// device - The Device being queried
	//
	// outData - A pre-allocated object in which the capabilities will be populated. It should include any desired
	// chained OutData objects
	//
	// https://registry.khronos.org/vulkan/specs/1.3-extensions/man/html/vkGetDeviceGroupPresentCapabilitiesKHR.html
	DeviceGroupPresentCapabilities(device core1_0.Device, outData *DeviceGroupPresentCapabilities) (common.VkResult, error)
	// DeviceGroupSurfacePresentModes queries present capabilities for a khr_surface.Surface
	//
	// device - The Device being queried
	//
	// surface - The Surface whose present capabilities are being requested
	//
	// https://registry.khronos.org/vulkan/specs/1.3-extensions/man/html/vkGetDeviceGroupSurfacePresentModesKHR.html
	DeviceGroupSurfacePresentModes(device core1_0.Device, surface khr_surface.Surface) (DeviceGroupPresentModeFlags, common.VkResult, error)
	// PhysicalDevicePresentRectangles queries present rectangles for a khr_surface.Surface on a PhysicalDevice
	//
	// physicalDevice - The PhysicalDevice being queried
	//
	// surface - The Surface whose present rectangles are being requested
	//
	// https://registry.khronos.org/vulkan/specs/1.3-extensions/man/html/vkGetPhysicalDevicePresentRectanglesKHR.html
	PhysicalDevicePresentRectangles(physicalDevice core1_0.PhysicalDevice, surface khr_surface.Surface) ([]core1_0.Rect2D, common.VkResult, error)
}

ExtensionWithKHRSurface contains commands available when both khr_device_group and khr_surface extensions are active

type ExtensionWithKHRSwapchain

type ExtensionWithKHRSwapchain interface {
	// AcquireNextImage2 retrieves the index of the next available presentable Image
	//
	// device - The Device which owns the requested khr_swapchain.Swapchain
	//
	// o - Contains parameters of the acquire operation
	//
	// https://registry.khronos.org/vulkan/specs/1.3-extensions/man/html/vkAcquireNextImage2KHR.html
	AcquireNextImage2(device core1_0.Device, o AcquireNextImageInfo) (int, common.VkResult, error)
}

ExtensionWithKHRSwapchain contains commands available when both khr_device_group and khr_swapchain extensions are active

type ImageSwapchainCreateInfo

type ImageSwapchainCreateInfo struct {
	// Swapchain is a khr_swapchain.Swapchain object that the Image will be bound to
	Swapchain khr_swapchain.Swapchain

	common.NextOptions
}

ImageSwapchainCreateInfo specifies that an Image will be bound to swapchain memory

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

func (ImageSwapchainCreateInfo) PopulateCPointer

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

type MemoryAllocateFlags

type MemoryAllocateFlags int32

MemoryAllocateFlags specifies flags for a DeviceMemory allocation

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

func (MemoryAllocateFlags) Register

func (f MemoryAllocateFlags) Register(str string)

func (MemoryAllocateFlags) String

func (f MemoryAllocateFlags) String() string

type MemoryAllocateFlagsInfo

type MemoryAllocateFlagsInfo struct {
	// Flags controls the allocation
	Flags MemoryAllocateFlags
	// DeviceMask is a mask of PhysicalDevice objects in the logical Device, indicating that
	// memory must be allocated on each Device in the mask, if MemoryAllocateDeviceMask is set
	// in flags
	DeviceMask uint32

	common.NextOptions
}

MemoryAllocateFlagsInfo controls how many instances of memory will be allocated

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

func (MemoryAllocateFlagsInfo) PopulateCPointer

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

type PeerMemoryFeatureFlags

type PeerMemoryFeatureFlags int32

PeerMemoryFeatureFlags specifies supported peer memory features

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

func (PeerMemoryFeatureFlags) Register

func (f PeerMemoryFeatureFlags) Register(str string)

func (PeerMemoryFeatureFlags) String

func (f PeerMemoryFeatureFlags) String() string

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 CreateExtensionFromDevice

func CreateExtensionFromDevice(device core1_0.Device, instance core1_0.Instance) *VulkanExtension

CreateExtensionFromDevice produces an Extension object from a Device with khr_device_group loaded

func CreateExtensionFromDriver

func CreateExtensionFromDriver(driver khr_device_group_driver.Driver, khrSurfaceInteraction bool, khrSwapchainInteraction bool) *VulkanExtension

CreateExtensionFromDriver generates an Extension from a driver.Driver object- this is usually used in tests to build an Extension from mock drivers

func (*VulkanExtension) CmdDispatchBase

func (v *VulkanExtension) CmdDispatchBase(commandBuffer core1_0.CommandBuffer, baseGroupX, baseGroupY, baseGroupZ, groupCountX, groupCountY, groupCountZ int)

func (*VulkanExtension) CmdSetDeviceMask

func (v *VulkanExtension) CmdSetDeviceMask(commandBuffer core1_0.CommandBuffer, deviceMask uint32)

func (*VulkanExtension) DeviceGroupPeerMemoryFeatures

func (v *VulkanExtension) DeviceGroupPeerMemoryFeatures(device core1_0.Device, heapIndex, localDeviceIndex, remoteDeviceIndex int) PeerMemoryFeatureFlags

func (*VulkanExtension) WithKHRSurface

func (v *VulkanExtension) WithKHRSurface() ExtensionWithKHRSurface

WithKHRSurface returns nil if khr_surface is not currently active, or

func (*VulkanExtension) WithKHRSwapchain

func (v *VulkanExtension) WithKHRSwapchain() ExtensionWithKHRSwapchain

type VulkanExtensionWithKHRSurface

type VulkanExtensionWithKHRSurface struct {
	// contains filtered or unexported fields
}

func (*VulkanExtensionWithKHRSurface) DeviceGroupPresentCapabilities

func (v *VulkanExtensionWithKHRSurface) DeviceGroupPresentCapabilities(device core1_0.Device, outData *DeviceGroupPresentCapabilities) (common.VkResult, error)

func (*VulkanExtensionWithKHRSurface) DeviceGroupSurfacePresentModes

func (v *VulkanExtensionWithKHRSurface) DeviceGroupSurfacePresentModes(device core1_0.Device, surface khr_surface.Surface) (DeviceGroupPresentModeFlags, common.VkResult, error)

func (*VulkanExtensionWithKHRSurface) PhysicalDevicePresentRectangles

func (v *VulkanExtensionWithKHRSurface) PhysicalDevicePresentRectangles(physicalDevice core1_0.PhysicalDevice, surface khr_surface.Surface) ([]core1_0.Rect2D, common.VkResult, error)

type VulkanExtensionWithKHRSwapchain

type VulkanExtensionWithKHRSwapchain struct {
	// contains filtered or unexported fields
}

func (*VulkanExtensionWithKHRSwapchain) AcquireNextImage2

Directories

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

Jump to

Keyboard shortcuts

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