Safe Haskell | Safe-Inferred |
---|---|
Language | Haskell2010 |
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; Deprecation State
- Promoted to
VK_KHR_global_priority
extension
- Promoted to
- 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 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
(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_VERSION
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
DeviceQueueGlobalPriorityCreateInfoEXT
, QueueGlobalPriorityEXT
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.
Synopsis
- pattern STRUCTURE_TYPE_DEVICE_QUEUE_GLOBAL_PRIORITY_CREATE_INFO_EXT :: StructureType
- pattern ERROR_NOT_PERMITTED_EXT :: Result
- type QueueGlobalPriorityEXT = QueueGlobalPriorityKHR
- type DeviceQueueGlobalPriorityCreateInfoEXT = DeviceQueueGlobalPriorityCreateInfoKHR
- type EXT_GLOBAL_PRIORITY_SPEC_VERSION = 2
- pattern EXT_GLOBAL_PRIORITY_SPEC_VERSION :: forall a. Integral a => a
- type EXT_GLOBAL_PRIORITY_EXTENSION_NAME = "VK_EXT_global_priority"
- pattern EXT_GLOBAL_PRIORITY_EXTENSION_NAME :: forall a. (Eq a, IsString a) => a
- data DeviceQueueGlobalPriorityCreateInfoKHR = DeviceQueueGlobalPriorityCreateInfoKHR {}
- newtype QueueGlobalPriorityKHR where
Documentation
pattern ERROR_NOT_PERMITTED_EXT :: Result Source #
type EXT_GLOBAL_PRIORITY_SPEC_VERSION = 2 Source #
pattern EXT_GLOBAL_PRIORITY_SPEC_VERSION :: forall a. Integral a => a Source #
type EXT_GLOBAL_PRIORITY_EXTENSION_NAME = "VK_EXT_global_priority" Source #
pattern EXT_GLOBAL_PRIORITY_EXTENSION_NAME :: forall a. (Eq a, IsString a) => a Source #
data DeviceQueueGlobalPriorityCreateInfoKHR Source #
VkDeviceQueueGlobalPriorityCreateInfoKHR - Specify a system wide priority
Description
Queues created without specifying
DeviceQueueGlobalPriorityCreateInfoKHR
will default to
QUEUE_GLOBAL_PRIORITY_MEDIUM_KHR
.
Valid Usage (Implicit)
See Also
VK_EXT_global_priority,
VK_KHR_global_priority,
QueueGlobalPriorityKHR
,
StructureType
DeviceQueueGlobalPriorityCreateInfoKHR | |
|
Instances
newtype QueueGlobalPriorityKHR Source #
VkQueueGlobalPriorityKHR - Values specifying a system-wide queue priority
Description
Priority values are sorted in ascending order. A comparison operation on the enum values can be used to determine the priority order.
See Also
VK_EXT_global_priority,
VK_KHR_global_priority,
DeviceQueueGlobalPriorityCreateInfoKHR
,
QueueFamilyGlobalPriorityPropertiesKHR
pattern QUEUE_GLOBAL_PRIORITY_LOW_KHR :: QueueGlobalPriorityKHR |
|
pattern QUEUE_GLOBAL_PRIORITY_MEDIUM_KHR :: QueueGlobalPriorityKHR |
|
pattern QUEUE_GLOBAL_PRIORITY_HIGH_KHR :: QueueGlobalPriorityKHR |
|
pattern QUEUE_GLOBAL_PRIORITY_REALTIME_KHR :: QueueGlobalPriorityKHR |
|