Safe Haskell | Safe-Inferred |
---|---|
Language | Haskell2010 |
Name
VK_EXT_global_priority_query - device extension
VK_EXT_global_priority_query
- Name String
VK_EXT_global_priority_query
- Extension Type
- Device extension
- Registered Extension Number
- 389
- Revision
- 1
- Ratification Status
- Not ratified
- Extension and Version Dependencies
- VK_EXT_global_priority and VK_KHR_get_physical_device_properties2
- Deprecation State
- Promoted to
VK_KHR_global_priority
extension
- Promoted to
- Contact
Other Extension Metadata
- Last Modified Date
- 2021-03-29
- IP Status
- No known IP claims.
- Contributors
- Yiwei Zhang, Google
Description
This device extension allows applications to query the global queue priorities supported by a queue family. It allows implementations to report which global priority levels are treated differently by the implementation, instead of silently mapping multiple requested global priority levels to the same internal priority, or using device creation failure to signal that a requested priority is not supported. It is intended primarily for use by system integration along with certain platform-specific priority enforcement rules.
New Structures
New Enum Constants
Issues
1) Can we additionally query whether a caller is permitted to acquire a specific global queue priority in this extension?
RESOLVED: No. Whether a caller has enough privilege goes with the OS, and the Vulkan driver cannot really guarantee that the privilege will not change in between this query and the actual queue creation call.
2) If more than 1 queue using global priority is requested, is there a good way to know which queue is failing the device creation?
RESOLVED: No. There is not a good way at this moment, and it is also not quite actionable for the applications to know that because the information may not be accurate. Queue creation can fail because of runtime constraints like insufficient privilege or lack of resource, and the failure is not necessarily tied to that particular queue configuration requested.
Version History
- Revision 1, 2021-03-29 (Yiwei Zhang)
See Also
MAX_GLOBAL_PRIORITY_SIZE_EXT
,
PhysicalDeviceGlobalPriorityQueryFeaturesEXT
,
QueueFamilyGlobalPriorityPropertiesEXT
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_PHYSICAL_DEVICE_GLOBAL_PRIORITY_QUERY_FEATURES_EXT :: StructureType
- pattern STRUCTURE_TYPE_QUEUE_FAMILY_GLOBAL_PRIORITY_PROPERTIES_EXT :: StructureType
- pattern MAX_GLOBAL_PRIORITY_SIZE_EXT :: Integral a => a
- type PhysicalDeviceGlobalPriorityQueryFeaturesEXT = PhysicalDeviceGlobalPriorityQueryFeaturesKHR
- type QueueFamilyGlobalPriorityPropertiesEXT = QueueFamilyGlobalPriorityPropertiesKHR
- type EXT_GLOBAL_PRIORITY_QUERY_SPEC_VERSION = 1
- pattern EXT_GLOBAL_PRIORITY_QUERY_SPEC_VERSION :: forall a. Integral a => a
- type EXT_GLOBAL_PRIORITY_QUERY_EXTENSION_NAME = "VK_EXT_global_priority_query"
- pattern EXT_GLOBAL_PRIORITY_QUERY_EXTENSION_NAME :: forall a. (Eq a, IsString a) => a
- data PhysicalDeviceGlobalPriorityQueryFeaturesKHR = PhysicalDeviceGlobalPriorityQueryFeaturesKHR {}
- data QueueFamilyGlobalPriorityPropertiesKHR = QueueFamilyGlobalPriorityPropertiesKHR {}
- newtype QueueGlobalPriorityKHR where
- type MAX_GLOBAL_PRIORITY_SIZE_KHR = 16
- pattern MAX_GLOBAL_PRIORITY_SIZE_KHR :: forall a. Integral a => a
Documentation
pattern MAX_GLOBAL_PRIORITY_SIZE_EXT :: Integral a => a Source #
type PhysicalDeviceGlobalPriorityQueryFeaturesEXT = PhysicalDeviceGlobalPriorityQueryFeaturesKHR Source #
pattern EXT_GLOBAL_PRIORITY_QUERY_SPEC_VERSION :: forall a. Integral a => a Source #
type EXT_GLOBAL_PRIORITY_QUERY_EXTENSION_NAME = "VK_EXT_global_priority_query" Source #
pattern EXT_GLOBAL_PRIORITY_QUERY_EXTENSION_NAME :: forall a. (Eq a, IsString a) => a Source #
data PhysicalDeviceGlobalPriorityQueryFeaturesKHR Source #
VkPhysicalDeviceGlobalPriorityQueryFeaturesKHR - Structure describing whether global priority query can be supported by an implementation
Members
This structure describes the following feature:
Description
If the PhysicalDeviceGlobalPriorityQueryFeaturesKHR
structure is
included in the pNext
chain of the
PhysicalDeviceFeatures2
structure passed to
getPhysicalDeviceFeatures2
,
it is filled in to indicate whether each corresponding feature is
supported. PhysicalDeviceGlobalPriorityQueryFeaturesKHR
can also be
used in the pNext
chain of DeviceCreateInfo
to
selectively enable these features.
Valid Usage (Implicit)
See Also
Instances
data QueueFamilyGlobalPriorityPropertiesKHR Source #
VkQueueFamilyGlobalPriorityPropertiesKHR - Return structure for queue family global priority information query
Description
If the QueueFamilyGlobalPriorityPropertiesKHR
structure is included in
the pNext
chain of the
QueueFamilyProperties2
structure passed to
getPhysicalDeviceQueueFamilyProperties2
,
it is filled in with the list of supported global queue priorities for
the indicated family.
The valid elements of priorities
must not contain any duplicate
values.
The valid elements of priorities
must be a continuous sequence of
QueueGlobalPriorityKHR
enums in the ascending order.
Note
For example, returning priorityCount
as 3 with supported priorities
as QUEUE_GLOBAL_PRIORITY_LOW_KHR
, QUEUE_GLOBAL_PRIORITY_MEDIUM_KHR
and QUEUE_GLOBAL_PRIORITY_REALTIME_KHR
is not allowed.
Valid Usage (Implicit)
-
Each element of
priorities
must be a validQueueGlobalPriorityKHR
value
See Also
VK_KHR_global_priority,
QueueGlobalPriorityKHR
,
StructureType
QueueFamilyGlobalPriorityPropertiesKHR | |
|
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 |
|
Instances
type MAX_GLOBAL_PRIORITY_SIZE_KHR = 16 Source #
pattern MAX_GLOBAL_PRIORITY_SIZE_KHR :: forall a. Integral a => a Source #
VK_MAX_GLOBAL_PRIORITY_SIZE_KHR - Length of an array of global queue priorities