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