Class KHRGlobalPriority


  • public final class KHRGlobalPriority
    extends java.lang.Object
    In 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 is 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 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 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.

    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
    Other Extension Metadata
    Last Modified Date
    2021-10-22
    Contributors