| Safe Haskell | None |
|---|---|
| Language | Haskell2010 |
Vulkan.Extensions.VK_EXT_global_priority
Description
Name
VK_EXT_global_priority - device extension
VK_EXT_global_priority
- Name String
VK_EXT_global_priority
- Extension Type
- Device extension
- Registered Extension Number
- 175
- Revision
- 2
- Ratification Status
- Not ratified
- Extension and Version Dependencies
- None
- Deprecation State
Promoted to VK_KHR_global_priority extension
- Which in turn was promoted to Vulkan 1.4
- Contact
Other Extension Metadata
- Last Modified Date
- 2017-10-06
- IP Status
- No known IP claims.
- Contributors
- Andres Rodriguez, Valve
- Pierre-Loup Griffais, Valve
- Dan Ginsburg, Valve
- Mitch Singer, AMD
Description
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 extension provides a mechanism for callers to set their system-wide
priority. The default queue priority is
QUEUE_GLOBAL_PRIORITY_MEDIUM_EXT.
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
(DeviceQueueCreateInfo::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.
New Structures
New Enums
New Enum Constants
EXT_GLOBAL_PRIORITY_SPEC_VERSIONExtending
QueueGlobalPriority:Extending
Result:Extending
StructureType:
Version History
Revision 2, 2017-11-03 (Andres Rodriguez)
- Fixed VkQueueGlobalPriorityEXT missing _EXT suffix
Revision 1, 2017-10-06 (Andres Rodriguez)
- First version.
See Also
No cross-references are available
Document Notes
For more information, see the Vulkan Specification.
This page is a generated document. Fixes and changes should be made to the generator scripts, not directly.
Documentation
pattern ERROR_NOT_PERMITTED_EXT :: Result Source #
pattern QUEUE_GLOBAL_PRIORITY_LOW_EXT :: QueueGlobalPriority Source #
pattern QUEUE_GLOBAL_PRIORITY_HIGH_EXT :: QueueGlobalPriority Source #
type EXT_GLOBAL_PRIORITY_SPEC_VERSION = 2 Source #
pattern EXT_GLOBAL_PRIORITY_SPEC_VERSION :: Integral a => a Source #
type EXT_GLOBAL_PRIORITY_EXTENSION_NAME = "VK_EXT_global_priority" Source #
pattern EXT_GLOBAL_PRIORITY_EXTENSION_NAME :: (Eq a, IsString a) => a Source #