khr_external_fence_capabilities

package
v3.3.1 Latest Latest
Warning

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

Go to latest
Published: Aug 27, 2026 License: MIT Imports: 9 Imported by: 0

Documentation

Index

Constants

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

	// LUIDSize is the length of a locally unique Device identifier
	//
	// https://registry.khronos.org/vulkan/specs/1.3-extensions/man/html/VK_LUID_SIZE.html
	LUIDSize int = C.VK_LUID_SIZE_KHR

	// ExternalFenceFeatureExportable specifies handles of this type can be exported from Vulkan
	// Fence objects
	//
	// https://registry.khronos.org/vulkan/specs/1.3-extensions/man/html/VkExternalFenceFeatureFlagBits.html
	ExternalFenceFeatureExportable ExternalFenceFeatureFlags = C.VK_EXTERNAL_FENCE_FEATURE_EXPORTABLE_BIT_KHR
	// ExternalFenceFeatureImportable specifies handles of this type can be imported to Vulkan Fence
	// objects
	//
	// https://registry.khronos.org/vulkan/specs/1.3-extensions/man/html/VkExternalFenceFeatureFlagBits.html
	ExternalFenceFeatureImportable ExternalFenceFeatureFlags = C.VK_EXTERNAL_FENCE_FEATURE_IMPORTABLE_BIT_KHR

	// ExternalFenceHandleTypeOpaqueFD specifies a POSIX file descriptor handle that has only limited
	// valid usage outside of Vulkan and other compatible APIs
	//
	// https://registry.khronos.org/vulkan/specs/1.3-extensions/man/html/VkExternalFenceHandleTypeFlagBits.html
	ExternalFenceHandleTypeOpaqueFD ExternalFenceHandleTypeFlags = C.VK_EXTERNAL_FENCE_HANDLE_TYPE_OPAQUE_FD_BIT_KHR
	// ExternalFenceHandleTypeOpaqueWin32 specifies an NT handle that has only limited valid usage
	// outside of Vulkan and other compatible APIs
	//
	// https://registry.khronos.org/vulkan/specs/1.3-extensions/man/html/VkExternalFenceHandleTypeFlagBits.html
	ExternalFenceHandleTypeOpaqueWin32 ExternalFenceHandleTypeFlags = C.VK_EXTERNAL_FENCE_HANDLE_TYPE_OPAQUE_WIN32_BIT_KHR
	// ExternalFenceHandleTypeOpaqueWin32KMT specifies a global share handle that has only limited
	// usage outside of Vulkan and other compatible APIs
	//
	// https://registry.khronos.org/vulkan/specs/1.3-extensions/man/html/VkExternalFenceHandleTypeFlagBits.html
	ExternalFenceHandleTypeOpaqueWin32KMT ExternalFenceHandleTypeFlags = C.VK_EXTERNAL_FENCE_HANDLE_TYPE_OPAQUE_WIN32_KMT_BIT_KHR
	// ExternalFenceHandleTypeSyncFD specifies a POSIX file descriptor handle to a Linux Sync File
	// or Android Fence
	//
	// https://registry.khronos.org/vulkan/specs/1.3-extensions/man/html/VkExternalFenceHandleTypeFlagBits.html
	ExternalFenceHandleTypeSyncFD ExternalFenceHandleTypeFlags = C.VK_EXTERNAL_FENCE_HANDLE_TYPE_SYNC_FD_BIT_KHR
)

Variables

This section is empty.

Functions

This section is empty.

Types

type ExtensionDriver

type ExtensionDriver interface {
	// GetPhysicalDeviceExternalFenceProperties queries external Fence capabilities
	//
	// physicalDevice - The PhysicalDevice to retrieve capabilities for
	//
	// o - Describes the parameters that would be consumed by Device.CreateFence
	//
	// outData - A pre-allocated object in which the results will be populated. It should include
	// any desired chained OutData objects.
	//
	// https://www.khronos.org/registry/vulkan/specs/1.3-extensions/man/html/vkGetPhysicalDeviceExternalFenceProperties.html
	GetPhysicalDeviceExternalFenceProperties(physicalDevice core1_0.PhysicalDevice, o PhysicalDeviceExternalFenceInfo, outData *ExternalFenceProperties) error
}

ExtensionDriver contains all the commands for the khr_external_fence_capabilities extension

func CreateExtensionDriverFromCoreDriver

func CreateExtensionDriverFromCoreDriver(driver core1_0.DeviceDriver) ExtensionDriver

CreateExtensionDriverFromCoreDriver produces an ExtensionDriver object from a Device with khr_external_fence_capabilities loaded

type ExternalFenceFeatureFlags

type ExternalFenceFeatureFlags = core1_1.ExternalFenceFeatureFlags

ExternalFenceFeatureFlags describes features of an external Fence handle type

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

type ExternalFenceHandleTypeFlags

type ExternalFenceHandleTypeFlags = core1_1.ExternalFenceHandleTypeFlags

ExternalFenceHandleTypeFlags is a bitmask of valid external Fence handle types

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

type ExternalFenceProperties

type ExternalFenceProperties = core1_1.ExternalFenceProperties

type PhysicalDeviceExternalFenceInfo

type PhysicalDeviceExternalFenceInfo = core1_1.PhysicalDeviceExternalFenceInfo

type PhysicalDeviceIDProperties

type PhysicalDeviceIDProperties struct {
	// DeviceUUID represents a universally-unique identifier for the device
	DeviceUUID uuid.UUID
	// DriverUUID represents a universally-unique identifier for the loader build
	// in use by the device
	DriverUUID uuid.UUID
	// DeviceLUID represents a locally-unique identifier for the device
	DeviceLUID uint64
	// DeviceNodeMask identifies the node within a linked device adapter corresponding to the
	// Device
	DeviceNodeMask uint32
	// DeviceLUIDValid is true if DeviceLUID contains a valid LUID and DeviceNodeMask contains
	// a valid node mask
	DeviceLUIDValid bool

	common.NextOutData
}

PhysicalDeviceIDProperties speicifes IDs related to the PhysicalDevice

func (*PhysicalDeviceIDProperties) PopulateHeader

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

func (*PhysicalDeviceIDProperties) PopulateOutData

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

type VulkanExtensionDriver

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

VulkanExtensionDriver is an implementation of the ExtensionDriver interface that actually communicates with Vulkan. This is the default implementation. See the interface for more documentation.

func CreateExtensionDriverFromLoader

func CreateExtensionDriverFromLoader(driver khr_external_fence_capabilities_loader.Loader) *VulkanExtensionDriver

CreateExtensionDriverFromLoader generates an ExtensionDriver from a loader.Loader object- this is usually used in tests to build an ExtensionDriver from mock drivers

func (*VulkanExtensionDriver) GetPhysicalDeviceExternalFenceProperties

func (e *VulkanExtensionDriver) GetPhysicalDeviceExternalFenceProperties(physicalDevice core1_0.PhysicalDevice, o PhysicalDeviceExternalFenceInfo, outData *ExternalFenceProperties) error

Directories

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

Jump to

Keyboard shortcuts

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