Documentation
¶
Index ¶
Constants ¶
const ( // ExtensionName is "VK_KHR_external_semaphore_capabilities" // // https://registry.khronos.org/vulkan/specs/1.3-extensions/man/html/VK_KHR_external_semaphore_capabilities.html ExtensionName string = C.VK_KHR_EXTERNAL_SEMAPHORE_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 // ExternalSemaphoreFeatureExportable specifies that handles of this type can be exported // from Vulkan Semaphore objects // // https://registry.khronos.org/vulkan/specs/1.3-extensions/man/html/VkExternalSemaphoreFeatureFlagBits.html ExternalSemaphoreFeatureExportable ExternalSemaphoreFeatureFlags = C.VK_EXTERNAL_SEMAPHORE_FEATURE_EXPORTABLE_BIT_KHR // ExternalSemaphoreFeatureImportable specifies that handles of this type can be imported // as Vulkan Semaphore objects // // https://registry.khronos.org/vulkan/specs/1.3-extensions/man/html/VkExternalSemaphoreFeatureFlagBits.html ExternalSemaphoreFeatureImportable ExternalSemaphoreFeatureFlags = C.VK_EXTERNAL_SEMAPHORE_FEATURE_IMPORTABLE_BIT_KHR // ExternalSemaphoreHandleTypeOpaqueFD 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/VkExternalSemaphoreHandleTypeFlagBits.html ExternalSemaphoreHandleTypeOpaqueFD ExternalSemaphoreHandleTypeFlags = C.VK_EXTERNAL_SEMAPHORE_HANDLE_TYPE_OPAQUE_FD_BIT_KHR // ExternalSemaphoreHandleTypeOpaqueWin32 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/VkExternalSemaphoreHandleTypeFlagBits.html ExternalSemaphoreHandleTypeOpaqueWin32 ExternalSemaphoreHandleTypeFlags = C.VK_EXTERNAL_SEMAPHORE_HANDLE_TYPE_OPAQUE_WIN32_BIT_KHR // ExternalSemaphoreHandleTypeOpaqueWin32KMT specifies a global share 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/VkExternalSemaphoreHandleTypeFlagBits.html ExternalSemaphoreHandleTypeOpaqueWin32KMT ExternalSemaphoreHandleTypeFlags = C.VK_EXTERNAL_SEMAPHORE_HANDLE_TYPE_OPAQUE_WIN32_KMT_BIT_KHR // ExternalSemaphoreHandleTypeD3D12Fence specifies an NT handle returned by // ID3D12Device::CreateSharedHandle referring to a Direct3D 12 fence, or // ID3D11Device5::CreateFence referring to a Direct3D 11 fence // // https://registry.khronos.org/vulkan/specs/1.3-extensions/man/html/VkExternalSemaphoreHandleTypeFlagBits.html ExternalSemaphoreHandleTypeD3D12Fence ExternalSemaphoreHandleTypeFlags = C.VK_EXTERNAL_SEMAPHORE_HANDLE_TYPE_D3D12_FENCE_BIT_KHR // ExternalSemaphoreHandleTypeSyncFD specifies a POSIX file descriptor handle to a Linux Sync // File or Android Fence object. It can be used with any native API accepting a valid sync file or // Fence as input // // https://registry.khronos.org/vulkan/specs/1.3-extensions/man/html/VkExternalSemaphoreHandleTypeFlagBits.html ExternalSemaphoreHandleTypeSyncFD ExternalSemaphoreHandleTypeFlags = C.VK_EXTERNAL_SEMAPHORE_HANDLE_TYPE_SYNC_FD_BIT_KHR )
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type ExtensionDriver ¶
type ExtensionDriver interface {
// GetPhysicalDeviceExternalSemaphoreProperties queries external Semaphore capabilities
//
// physicalDevice - The PhysicalDevice being queried
//
// o - Describes the parameters that would be consumed by Device.CreateSemaphore
//
// 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/vkGetPhysicalDeviceExternalSemaphoreProperties.html
GetPhysicalDeviceExternalSemaphoreProperties(physicalDevice core1_0.PhysicalDevice, o PhysicalDeviceExternalSemaphoreInfo, outData *ExternalSemaphoreProperties) error
}
ExtensionDriver contains all commands for the khr_external_semaphore_capabilities extension
func CreateExtensionDriverFromCoreDriver ¶
func CreateExtensionDriverFromCoreDriver(driver core1_0.DeviceDriver) ExtensionDriver
CreateExtensionDriverFromCoreDriver produces an ExtensionDriver object from a Device with khr_external_semaphore_capabilities loaded
type ExternalSemaphoreFeatureFlags ¶
type ExternalSemaphoreFeatureFlags = core1_1.ExternalSemaphoreFeatureFlags
ExternalSemaphoreFeatureFlags describes features of an external Semaphore handle type
type ExternalSemaphoreHandleTypeFlags ¶
type ExternalSemaphoreHandleTypeFlags = core1_1.ExternalSemaphoreHandleTypeFlags
ExternalSemaphoreHandleTypeFlags is a bitmask of valid external Semaphore handle types
type ExternalSemaphoreProperties ¶
type ExternalSemaphoreProperties = core1_1.ExternalSemaphoreProperties
type PhysicalDeviceExternalSemaphoreInfo ¶
type PhysicalDeviceExternalSemaphoreInfo = core1_1.PhysicalDeviceExternalSemaphoreInfo
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_semaphore_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) GetPhysicalDeviceExternalSemaphoreProperties ¶
func (e *VulkanExtensionDriver) GetPhysicalDeviceExternalSemaphoreProperties(physicalDevice core1_0.PhysicalDevice, o PhysicalDeviceExternalSemaphoreInfo, outData *ExternalSemaphoreProperties) error