vulkan-3.24: Bindings to the Vulkan graphics API.
Safe HaskellSafe-Inferred
LanguageHaskell2010

Vulkan.Extensions.VK_EXT_global_priority_query

Description

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
Extension and Version Dependencies
  • Requires support for Vulkan 1.0
  • Requires VK_EXT_global_priority to be enabled for any device-level functionality
  • Requires VK_KHR_get_physical_device_properties2 to be enabled for any device-level functionality
Deprecation state
  • Promoted to VK_KHR_global_priority extension
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

Documentation

type EXT_GLOBAL_PRIORITY_QUERY_EXTENSION_NAME = "VK_EXT_global_priority_query" 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

VK_KHR_global_priority, Bool32, StructureType

Constructors

PhysicalDeviceGlobalPriorityQueryFeaturesKHR 

Fields

  • globalPriorityQuery :: Bool

    globalPriorityQuery indicates whether the implementation supports the ability to query global queue priorities.

Instances

Instances details
Storable PhysicalDeviceGlobalPriorityQueryFeaturesKHR Source # 
Instance details

Defined in Vulkan.Extensions.VK_KHR_global_priority

Show PhysicalDeviceGlobalPriorityQueryFeaturesKHR Source # 
Instance details

Defined in Vulkan.Extensions.VK_KHR_global_priority

Eq PhysicalDeviceGlobalPriorityQueryFeaturesKHR Source # 
Instance details

Defined in Vulkan.Extensions.VK_KHR_global_priority

FromCStruct PhysicalDeviceGlobalPriorityQueryFeaturesKHR Source # 
Instance details

Defined in Vulkan.Extensions.VK_KHR_global_priority

ToCStruct PhysicalDeviceGlobalPriorityQueryFeaturesKHR Source # 
Instance details

Defined in Vulkan.Extensions.VK_KHR_global_priority

Zero PhysicalDeviceGlobalPriorityQueryFeaturesKHR Source # 
Instance details

Defined in Vulkan.Extensions.VK_KHR_global_priority

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)

See Also

VK_KHR_global_priority, QueueGlobalPriorityKHR, StructureType

Constructors

QueueFamilyGlobalPriorityPropertiesKHR 

Fields

Instances

Instances details
Storable QueueFamilyGlobalPriorityPropertiesKHR Source # 
Instance details

Defined in Vulkan.Extensions.VK_KHR_global_priority

Show QueueFamilyGlobalPriorityPropertiesKHR Source # 
Instance details

Defined in Vulkan.Extensions.VK_KHR_global_priority

FromCStruct QueueFamilyGlobalPriorityPropertiesKHR Source # 
Instance details

Defined in Vulkan.Extensions.VK_KHR_global_priority

ToCStruct QueueFamilyGlobalPriorityPropertiesKHR Source # 
Instance details

Defined in Vulkan.Extensions.VK_KHR_global_priority

Zero QueueFamilyGlobalPriorityPropertiesKHR Source # 
Instance details

Defined in Vulkan.Extensions.VK_KHR_global_priority

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

Bundled Patterns

pattern QUEUE_GLOBAL_PRIORITY_LOW_KHR :: QueueGlobalPriorityKHR

QUEUE_GLOBAL_PRIORITY_LOW_KHR is below the system default. Useful for non-interactive tasks.

pattern QUEUE_GLOBAL_PRIORITY_MEDIUM_KHR :: QueueGlobalPriorityKHR

QUEUE_GLOBAL_PRIORITY_MEDIUM_KHR is the system default priority.

pattern QUEUE_GLOBAL_PRIORITY_HIGH_KHR :: QueueGlobalPriorityKHR

QUEUE_GLOBAL_PRIORITY_HIGH_KHR is above the system default.

pattern QUEUE_GLOBAL_PRIORITY_REALTIME_KHR :: QueueGlobalPriorityKHR

QUEUE_GLOBAL_PRIORITY_REALTIME_KHR is the highest priority. Useful for critical tasks.

Instances

Instances details
Storable QueueGlobalPriorityKHR Source # 
Instance details

Defined in Vulkan.Extensions.VK_KHR_global_priority

Read QueueGlobalPriorityKHR Source # 
Instance details

Defined in Vulkan.Extensions.VK_KHR_global_priority

Show QueueGlobalPriorityKHR Source # 
Instance details

Defined in Vulkan.Extensions.VK_KHR_global_priority

Eq QueueGlobalPriorityKHR Source # 
Instance details

Defined in Vulkan.Extensions.VK_KHR_global_priority

Ord QueueGlobalPriorityKHR Source # 
Instance details

Defined in Vulkan.Extensions.VK_KHR_global_priority

Zero QueueGlobalPriorityKHR Source # 
Instance details

Defined in Vulkan.Extensions.VK_KHR_global_priority

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

See Also

VK_KHR_global_priority