Documentation
¶
Index ¶
Constants ¶
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 Extension ¶
type Extension interface {
// PhysicalDeviceExternalFenceProperties 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
PhysicalDeviceExternalFenceProperties(physicalDevice core1_0.PhysicalDevice, o PhysicalDeviceExternalFenceInfo, outData *ExternalFenceProperties) error
}
Extension contains all the commands for the khr_external_fence_capabilities extension
type ExternalFenceFeatureFlags ¶
type ExternalFenceFeatureFlags int32
ExternalFenceFeatureFlags describes features of an external Fence handle type
func (ExternalFenceFeatureFlags) Register ¶
func (f ExternalFenceFeatureFlags) Register(str string)
func (ExternalFenceFeatureFlags) String ¶
func (f ExternalFenceFeatureFlags) String() string
type ExternalFenceHandleTypeFlags ¶
type ExternalFenceHandleTypeFlags int32
ExternalFenceHandleTypeFlags is a bitmask of valid external Fence handle types
func (ExternalFenceHandleTypeFlags) Register ¶
func (f ExternalFenceHandleTypeFlags) Register(str string)
func (ExternalFenceHandleTypeFlags) String ¶
func (f ExternalFenceHandleTypeFlags) String() string
type ExternalFenceProperties ¶
type ExternalFenceProperties struct {
// ExportFromImportedHandleTypes indicates which type of imported handle HandleType can be exported from
ExportFromImportedHandleTypes ExternalFenceHandleTypeFlags
// CompatibleHandleTypes specifies handle types which can be specified at the same time as HandleType when creating a Fence
CompatibleHandleTypes ExternalFenceHandleTypeFlags
// ExternalFenceFeatures indicates the features of HandleType
ExternalFenceFeatures ExternalFenceFeatureFlags
common.NextOutData
}
ExternalFenceProperties describes supported external Fence handle features
https://registry.khronos.org/vulkan/specs/1.3-extensions/man/html/VkExternalFenceProperties.html
func (*ExternalFenceProperties) PopulateHeader ¶
func (*ExternalFenceProperties) PopulateOutData ¶
type PhysicalDeviceExternalFenceInfo ¶
type PhysicalDeviceExternalFenceInfo struct {
// HandleType specifies an external Fence handle type for which capabilities will be
// returned
HandleType ExternalFenceHandleTypeFlags
common.NextOptions
}
PhysicalDeviceExternalFenceInfo specifies Fence creation parameters
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 driver 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 (*PhysicalDeviceIDProperties) 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 CreateExtensionFromDevice ¶
func CreateExtensionFromDevice(device core1_0.Device) *VulkanExtension
CreateExtensionFromDevice produces an Extension object from a Device with khr_external_fence_capabilities loaded
func CreateExtensionFromDriver ¶
func CreateExtensionFromDriver(driver khr_external_fence_capabilities_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 (*VulkanExtension) PhysicalDeviceExternalFenceProperties ¶
func (e *VulkanExtension) PhysicalDeviceExternalFenceProperties(physicalDevice core1_0.PhysicalDevice, o PhysicalDeviceExternalFenceInfo, outData *ExternalFenceProperties) error