Class KHRGlobalPriority
QUEUE_GLOBAL_PRIORITY_MEDIUM_EXT.
Implementations can report which global priority levels are treated differently by the implementation. It is intended primarily for use in system integration along with certain platform-specific priority enforcement rules.
The driver implementation will attempt to skew hardware resource allocation in favor of the higher-priority task. Therefore, higher-priority work may retain similar latency and throughput characteristics even if the system is congested with lower priority work.
The global priority level of a queue shall take precedence over the per-process queue priority (VkDeviceQueueCreateInfo::pQueuePriorities).
Abuse of this feature may result in starving the rest of the system from hardware resources. Therefore, the driver implementation may deny requests to acquire a priority above the default priority (QUEUE_GLOBAL_PRIORITY_MEDIUM_EXT) if the caller does not have sufficient privileges. In this scenario ERROR_NOT_PERMITTED_EXT is returned.
The driver implementation may fail the queue allocation request if resources required to complete the operation have been exhausted (either by the same process or a different process). In this scenario ERROR_INITIALIZATION_FAILED is returned.
Promotion to Vulkan 1.4
Functionality in this extension is included in core Vulkan 1.4 with the KHR suffix omitted. The original type, enum and command names are still available as aliases of the core functionality.
- Name String
VK_KHR_global_priority- Extension Type
- Device extension
- Registered Extension Number
- 189
- Revision
- 1
- Extension and Version Dependencies
VK_KHR_get_physical_device_properties2or Version 1.1- Deprecation State
- Promoted to Vulkan 1.4
- Contact
- Tobias Hector tobski
Other Extension Metadata
- Last Modified Date
- 2021-10-22
- Contributors
- Tobias Hector, AMD
- Contributors to
VK_EXT_global_priority - Contributors to
VK_EXT_global_priority_query
-
Field Summary
FieldsModifier and TypeFieldDescriptionstatic final intExtendsVkResult.static final StringThe extension name.static final intThe extension specification version.static final intVK_MAX_GLOBAL_PRIORITY_SIZE_KHRstatic final intExtendsVkQueueGlobalPriority.static final intExtendsVkQueueGlobalPriority.static final intExtendsVkQueueGlobalPriority.static final intExtendsVkQueueGlobalPriority.static final intExtendsVkStructureType.static final intExtendsVkStructureType.static final intExtendsVkStructureType. -
Method Summary
-
Field Details
-
VK_KHR_GLOBAL_PRIORITY_SPEC_VERSION
public static final int VK_KHR_GLOBAL_PRIORITY_SPEC_VERSIONThe extension specification version.- See Also:
-
VK_KHR_GLOBAL_PRIORITY_EXTENSION_NAME
The extension name.- See Also:
-
VK_STRUCTURE_TYPE_DEVICE_QUEUE_GLOBAL_PRIORITY_CREATE_INFO_KHR
public static final int VK_STRUCTURE_TYPE_DEVICE_QUEUE_GLOBAL_PRIORITY_CREATE_INFO_KHRExtendsVkStructureType.Enum values:
- See Also:
-
VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_GLOBAL_PRIORITY_QUERY_FEATURES_KHR
public static final int VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_GLOBAL_PRIORITY_QUERY_FEATURES_KHRExtendsVkStructureType.Enum values:
- See Also:
-
VK_STRUCTURE_TYPE_QUEUE_FAMILY_GLOBAL_PRIORITY_PROPERTIES_KHR
public static final int VK_STRUCTURE_TYPE_QUEUE_FAMILY_GLOBAL_PRIORITY_PROPERTIES_KHRExtendsVkStructureType.Enum values:
- See Also:
-
VK_ERROR_NOT_PERMITTED_KHR
public static final int VK_ERROR_NOT_PERMITTED_KHRExtendsVkResult.- See Also:
-
VK_MAX_GLOBAL_PRIORITY_SIZE_KHR
public static final int VK_MAX_GLOBAL_PRIORITY_SIZE_KHRVK_MAX_GLOBAL_PRIORITY_SIZE_KHR- See Also:
-
VK_QUEUE_GLOBAL_PRIORITY_LOW_KHR
public static final int VK_QUEUE_GLOBAL_PRIORITY_LOW_KHRExtendsVkQueueGlobalPriority.Enum values:
- See Also:
-
VK_QUEUE_GLOBAL_PRIORITY_MEDIUM_KHR
public static final int VK_QUEUE_GLOBAL_PRIORITY_MEDIUM_KHRExtendsVkQueueGlobalPriority.Enum values:
- See Also:
-
VK_QUEUE_GLOBAL_PRIORITY_HIGH_KHR
public static final int VK_QUEUE_GLOBAL_PRIORITY_HIGH_KHRExtendsVkQueueGlobalPriority.Enum values:
- See Also:
-
VK_QUEUE_GLOBAL_PRIORITY_REALTIME_KHR
public static final int VK_QUEUE_GLOBAL_PRIORITY_REALTIME_KHRExtendsVkQueueGlobalPriority.Enum values:
- See Also:
-