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 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
type ExternalFenceHandleTypeFlags ¶
type ExternalFenceHandleTypeFlags = core1_1.ExternalFenceHandleTypeFlags
ExternalFenceHandleTypeFlags is a bitmask of valid external Fence handle types
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 (*PhysicalDeviceIDProperties) PopulateOutData ¶
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