Vulkan-Docs/doc/specs/vulkan/appendices/VK_EXT_global_priority.txt
Jon Leech 52d809dd04 Change log for October 13, 2017 Vulkan 1.0.63 spec update:
* Bump API patch number and header version number to 63 for this update.

Github Issues:

  * Add missing valid usage statements for ptext:maxDescriptorSets*,
    ptext:maxPerStageDescriptorInputAttachments, and
    ptext:maxPerStageResources to slink:VkPipelineLayoutCreateInfo.txt,
    flink:VkComputePipelineCreateInfo, and
    flink:VkGraphicsPipelineCreateInfo (public issue 546).
  * Fix typos in ftext:vkCmdDraw*AMD descriptions (public pull request 549).
  * Fixed flink:vkCmdWriteTimestamp so it is not unnecessarily restricted to
    queues supporting graphics or compute operations (public issue 558).
  * Improvements to valid usage generator for output `*Flags` pointer
    parameters and for some `void *` parameters (public pull requests 560,
    562).
  * Document `altlen` attribute in XML schema as valid C99 syntax and tweak
    `vk.xml` to match (public pull request 566).
  * Clarify when pname:fence is signaled by flink:vkQueueSubmit in a more
    obvious place (public issue 577).

Internal Issues:

  * Specify a whitelist of supported SPIR-V Storage Classes in the
    <<spirvenv-module-validation, Validation Rules within a Module>>
    appendix (internal SPIR-V issue 166).
  * Relax the shared semaphore wait timeout requirement in the
    <<synchronization-semaphores-importing, Importing Semaphore Payloads>>
    section (internal issue 820).
  * Update the <<textures-image-level-selection, Image Level(s) Selection>>
    equations so that the parameters returned by the level-of-detail query
    appear explicitly, also fixing the issue that linear filtering would
    select a level below the base level for magnification (internal issue
    926).
  * Disallow creation of a swapchain with zero pname:imageExtent in
    slink:VkSurfaceCapabilitiesKHR and slink:VkSwapchainCreateInfoKHR
    (internal issue 1020).

Other Issues:

  * Clarify in <<textures-operation-validation,Image View Validation>> that
    the layout of subresources in an image view must have a layout that
    matches that written into the descriptor, and that this section is about
    validating image views, not images.

New Extensions:

  * `VK_EXT_global_priority`
2017-10-12 19:57:47 -07:00

73 lines
2.0 KiB
Plaintext

include::meta/VK_EXT_global_priority.txt[]
*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
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 elink:VK_QUEUE_GLOBAL_PRIORITY_MEDIUM.
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 predence over the
per-process queue priority
(sname:VkDeviceQueueCreateInfo::pname: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 (elink:VK_QUEUE_GLOBAL_PRIORITY_MEDIUM) if the
caller does not have sufficient privileges.
In this scenario elink:VK_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 elink:VK_ERROR_INITIALIZATION_FAILED is returned.
=== New Object Types
None.
=== New Enum Constants
* Extending elink:VkStructureType:
** elink:VK_STRUCTURE_TYPE_DEVICE_QUEUE_GLOBAL_PRIORITY_CREATE_INFO_EXT
* Extending elink:VkResult:
** elink:VK_ERROR_NOT_PERMITTED_EXT
=== New Enums
* elink:VkQueueGlobalPriorityEXT
=== New Structures
* slink:VkDeviceQueueGlobalPriorityCreateInfoEXT
=== New Functions
None.
=== Issues
None.
=== Version History
* Revision 1, 2017-10-06 (Andres Rodriguez)
- First version.