vulkan-3.13.1: Bindings to the Vulkan graphics API.
Safe HaskellNone
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 Vulkan 1.0
  • Requires VK_EXT_global_priority
  • Requires VK_KHR_get_physical_device_properties2
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

data PhysicalDeviceGlobalPriorityQueryFeaturesEXT Source #

VkPhysicalDeviceGlobalPriorityQueryFeaturesEXT - Structure describing whether global priority query can be supported by an implementation

Members

The members of the PhysicalDeviceGlobalPriorityQueryFeaturesEXT structure describe the following features:

Description

If the PhysicalDeviceGlobalPriorityQueryFeaturesEXT 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. PhysicalDeviceGlobalPriorityQueryFeaturesEXT can also be used in the pNext chain of DeviceCreateInfo to selectively enable these features.

Valid Usage (Implicit)

See Also

VK_EXT_global_priority_query, Bool32, StructureType

Constructors

PhysicalDeviceGlobalPriorityQueryFeaturesEXT 

Fields

  • globalPriorityQuery :: Bool

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

Instances

Instances details
Eq PhysicalDeviceGlobalPriorityQueryFeaturesEXT Source # 
Instance details

Defined in Vulkan.Extensions.VK_EXT_global_priority_query

Show PhysicalDeviceGlobalPriorityQueryFeaturesEXT Source # 
Instance details

Defined in Vulkan.Extensions.VK_EXT_global_priority_query

Storable PhysicalDeviceGlobalPriorityQueryFeaturesEXT Source # 
Instance details

Defined in Vulkan.Extensions.VK_EXT_global_priority_query

FromCStruct PhysicalDeviceGlobalPriorityQueryFeaturesEXT Source # 
Instance details

Defined in Vulkan.Extensions.VK_EXT_global_priority_query

ToCStruct PhysicalDeviceGlobalPriorityQueryFeaturesEXT Source # 
Instance details

Defined in Vulkan.Extensions.VK_EXT_global_priority_query

Zero PhysicalDeviceGlobalPriorityQueryFeaturesEXT Source # 
Instance details

Defined in Vulkan.Extensions.VK_EXT_global_priority_query

data QueueFamilyGlobalPriorityPropertiesEXT Source #

VkQueueFamilyGlobalPriorityPropertiesEXT - Return structure for queue family global priority information query

Description

The valid elements of priorities must not contain any duplicate values.

The valid elements of priorities must be a continuous sequence of QueueGlobalPriorityEXT enums in the ascending order.

Note

For example, returning priorityCount as 3 with supported priorities as QUEUE_GLOBAL_PRIORITY_LOW_EXT, QUEUE_GLOBAL_PRIORITY_MEDIUM_EXT and QUEUE_GLOBAL_PRIORITY_REALTIME_EXT is not allowed.

Valid Usage (Implicit)

See Also

VK_EXT_global_priority_query, QueueGlobalPriorityEXT, StructureType

Constructors

QueueFamilyGlobalPriorityPropertiesEXT 

Fields

Instances

Instances details
Show QueueFamilyGlobalPriorityPropertiesEXT Source # 
Instance details

Defined in Vulkan.Extensions.VK_EXT_global_priority_query

Storable QueueFamilyGlobalPriorityPropertiesEXT Source # 
Instance details

Defined in Vulkan.Extensions.VK_EXT_global_priority_query

FromCStruct QueueFamilyGlobalPriorityPropertiesEXT Source # 
Instance details

Defined in Vulkan.Extensions.VK_EXT_global_priority_query

ToCStruct QueueFamilyGlobalPriorityPropertiesEXT Source # 
Instance details

Defined in Vulkan.Extensions.VK_EXT_global_priority_query

Zero QueueFamilyGlobalPriorityPropertiesEXT Source # 
Instance details

Defined in Vulkan.Extensions.VK_EXT_global_priority_query

type EXT_GLOBAL_PRIORITY_QUERY_EXTENSION_NAME = "VK_EXT_global_priority_query" Source #

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

VK_EXT_global_priority, DeviceQueueGlobalPriorityCreateInfoEXT, QueueFamilyGlobalPriorityPropertiesEXT

Bundled Patterns

pattern QUEUE_GLOBAL_PRIORITY_LOW_EXT :: QueueGlobalPriorityEXT

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

pattern QUEUE_GLOBAL_PRIORITY_MEDIUM_EXT :: QueueGlobalPriorityEXT

QUEUE_GLOBAL_PRIORITY_MEDIUM_EXT is the system default priority.

pattern QUEUE_GLOBAL_PRIORITY_HIGH_EXT :: QueueGlobalPriorityEXT

QUEUE_GLOBAL_PRIORITY_HIGH_EXT is above the system default.

pattern QUEUE_GLOBAL_PRIORITY_REALTIME_EXT :: QueueGlobalPriorityEXT

QUEUE_GLOBAL_PRIORITY_REALTIME_EXT is the highest priority. Useful for critical tasks.

Instances

Instances details
Eq QueueGlobalPriorityEXT Source # 
Instance details

Defined in Vulkan.Extensions.VK_EXT_global_priority

Ord QueueGlobalPriorityEXT Source # 
Instance details

Defined in Vulkan.Extensions.VK_EXT_global_priority

Read QueueGlobalPriorityEXT Source # 
Instance details

Defined in Vulkan.Extensions.VK_EXT_global_priority

Show QueueGlobalPriorityEXT Source # 
Instance details

Defined in Vulkan.Extensions.VK_EXT_global_priority

Storable QueueGlobalPriorityEXT Source # 
Instance details

Defined in Vulkan.Extensions.VK_EXT_global_priority

Zero QueueGlobalPriorityEXT Source # 
Instance details

Defined in Vulkan.Extensions.VK_EXT_global_priority

pattern MAX_GLOBAL_PRIORITY_SIZE_EXT :: forall a. Integral a => a Source #