Class KHRGlobalPriority
- java.lang.Object
-
- org.lwjgl.vulkan.KHRGlobalPriority
-
public final class KHRGlobalPriority extends java.lang.ObjectIn Vulkan, users can specify device-scope queue priorities. In some cases it may be useful to extend this concept to a system-wide scope. This device extension allows applications to query the global queue priorities supported by a queue family, and then set a priority when creating queues. The default queue priority isQUEUE_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 favour 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 scenarioERROR_NOT_PERMITTED_EXTis 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_FAILEDis returned.VK_KHR_global_priority
- Name String
VK_KHR_global_priority- Extension Type
- Device extension
- Registered Extension Number
- 189
- Revision
- 1
- Extension and Version Dependencies
- Requires Vulkan 1.0
- 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
Fields Modifier and Type Field Description static intVK_ERROR_NOT_PERMITTED_KHRExtendsVkResult.static java.lang.StringVK_KHR_GLOBAL_PRIORITY_EXTENSION_NAMEThe extension name.static intVK_KHR_GLOBAL_PRIORITY_SPEC_VERSIONThe extension specification version.static intVK_MAX_GLOBAL_PRIORITY_SIZE_KHRVK_MAX_GLOBAL_PRIORITY_SIZE_KHRstatic intVK_STRUCTURE_TYPE_DEVICE_QUEUE_GLOBAL_PRIORITY_CREATE_INFO_KHR
VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_GLOBAL_PRIORITY_QUERY_FEATURES_KHR
VK_STRUCTURE_TYPE_QUEUE_FAMILY_GLOBAL_PRIORITY_PROPERTIES_KHRExtendsVkStructureType.
-
-
-
Field Detail
-
VK_KHR_GLOBAL_PRIORITY_SPEC_VERSION
The extension specification version.
-
VK_KHR_GLOBAL_PRIORITY_EXTENSION_NAME
The extension name.
-
VK_STRUCTURE_TYPE_DEVICE_QUEUE_GLOBAL_PRIORITY_CREATE_INFO_KHR, VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_GLOBAL_PRIORITY_QUERY_FEATURES_KHR, VK_STRUCTURE_TYPE_QUEUE_FAMILY_GLOBAL_PRIORITY_PROPERTIES_KHR
-
VK_ERROR_NOT_PERMITTED_KHR
ExtendsVkResult.
-
VK_MAX_GLOBAL_PRIORITY_SIZE_KHR
VK_MAX_GLOBAL_PRIORITY_SIZE_KHR
-
-