| // Copyright (c) 2021 The Khronos Group Inc. |
| // |
| // SPDX-License-Identifier: CC-BY-4.0 |
| |
| include::{generated}/meta/{refprefix}VK_EXT_global_priority_query.txt[] |
| |
| === 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. |
| |
| include::{generated}/interfaces/VK_EXT_global_priority_query.txt[] |
| |
| === 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) |