Top Description Fields Constructors Methods
org.lwjgl.vulkan

public final Class KHRGlobalPriority

extends Object
Class Inheritance

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

Field Summary

Modifier and TypeField and Description
public static final int
VK_ERROR_NOT_PERMITTED_KHR

Extends VkResult.

public static final String
public static final int
VK_KHR_GLOBAL_PRIORITY_SPEC_VERSION

The extension specification version.

public static final int
VK_MAX_GLOBAL_PRIORITY_SIZE_KHR

VK_MAX_GLOBAL_PRIORITY_SIZE_KHR

public static final int
public static final int
public static final int

Constructor Summary

AccessConstructor and Description
private

Method Summary

Inherited from java.lang.Object:
cloneequalsfinalizegetClasshashCodenotifynotifyAlltoStringwaitwaitwait

Field Detail

VK_ERROR_NOT_PERMITTED_KHRback to summary
public static final int VK_ERROR_NOT_PERMITTED_KHR

Extends VkResult.

VK_KHR_GLOBAL_PRIORITY_EXTENSION_NAMEback to summary
public static final String VK_KHR_GLOBAL_PRIORITY_EXTENSION_NAME

The extension name.

VK_KHR_GLOBAL_PRIORITY_SPEC_VERSIONback to summary
public static final int VK_KHR_GLOBAL_PRIORITY_SPEC_VERSION

The extension specification version.

VK_MAX_GLOBAL_PRIORITY_SIZE_KHRback to summary
public static final int VK_MAX_GLOBAL_PRIORITY_SIZE_KHR

VK_MAX_GLOBAL_PRIORITY_SIZE_KHR

VK_STRUCTURE_TYPE_DEVICE_QUEUE_GLOBAL_PRIORITY_CREATE_INFO_KHRback to summary
public static final int VK_STRUCTURE_TYPE_DEVICE_QUEUE_GLOBAL_PRIORITY_CREATE_INFO_KHR

Extends VkStructureType.

Enum values:
VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_GLOBAL_PRIORITY_QUERY_FEATURES_KHRback to summary
public static final int VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_GLOBAL_PRIORITY_QUERY_FEATURES_KHR

Extends VkStructureType.

Enum values:
VK_STRUCTURE_TYPE_QUEUE_FAMILY_GLOBAL_PRIORITY_PROPERTIES_KHRback to summary
public static final int VK_STRUCTURE_TYPE_QUEUE_FAMILY_GLOBAL_PRIORITY_PROPERTIES_KHR

Extends VkStructureType.

Enum values:

Constructor Detail

KHRGlobalPriorityback to summary
private KHRGlobalPriority()