Safe Haskell | None |
---|---|
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
- Extension and Version Dependencies
- Requires Vulkan 1.0
- 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 caller’s 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
- data DeviceQueueGlobalPriorityCreateInfoEXT = DeviceQueueGlobalPriorityCreateInfoEXT {}
- newtype QueueGlobalPriorityEXT where
- 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
Documentation
data DeviceQueueGlobalPriorityCreateInfoEXT Source #
VkDeviceQueueGlobalPriorityCreateInfoEXT - Specify a system wide priority
Description
A queue created without specifying
DeviceQueueGlobalPriorityCreateInfoEXT
will default to
QUEUE_GLOBAL_PRIORITY_MEDIUM_EXT
.
Valid Usage (Implicit)
See Also
DeviceQueueGlobalPriorityCreateInfoEXT | |
|
Instances
newtype QueueGlobalPriorityEXT Source #
VkQueueGlobalPriorityEXT - 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
pattern QUEUE_GLOBAL_PRIORITY_LOW_EXT :: QueueGlobalPriorityEXT |
|
pattern QUEUE_GLOBAL_PRIORITY_MEDIUM_EXT :: QueueGlobalPriorityEXT |
|
pattern QUEUE_GLOBAL_PRIORITY_HIGH_EXT :: QueueGlobalPriorityEXT |
|
pattern QUEUE_GLOBAL_PRIORITY_REALTIME_EXT :: QueueGlobalPriorityEXT |
|
Instances
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 #