mirror of
https://github.com/status-im/Vulkan-Docs.git
synced 2025-01-11 14:34:08 +00:00
831e2d4525
* Update release number to 80. Public Issues: * Remove unused "`API Order`" term from glossary (public issue 657). * Dynamically generate the extension appendix includes based on information in `vk.xml`, including new metadata tags describing deprecated, obsoleted, and promoted extensions (public pull request 690). Internal Issues: * Add valid usage statements to flink:vkCmdBindDescriptorSets to keep offsets + range less than or equal to the buffer size (internal issue 1174). New Extensions: * `VK_EXT_conditional_render` * `VK_KHR_create_renderpass2` (public issue 736) * `VK_KHR_8bit_storage` (public issue 737)
81 lines
2.3 KiB
Plaintext
81 lines
2.3 KiB
Plaintext
include::meta/VK_EXT_conditional_rendering.txt[]
|
|
|
|
*Last Modified Date*::
|
|
2018-05-21
|
|
*IP Status*::
|
|
No known IP claims.
|
|
*Contributors*::
|
|
- Vikram Kushwaha, NVIDIA
|
|
- Daniel Rakos, AMD
|
|
- Jesse Hall, Google
|
|
- Jeff Bolz, NVIDIA
|
|
- Piers Daniell, NVIDIA
|
|
- Stuart Smith, Imagination Technologies
|
|
|
|
This extension allows the execution of one or more rendering commands to be
|
|
conditional on a value in buffer memory.
|
|
This may help an application reduce the latency by conditionally discarding
|
|
rendering commands without application intervention.
|
|
The conditional rendering commands are limited to draws, compute dispatches
|
|
and clearing attachments within a conditional rendering block.
|
|
|
|
=== New Object Types
|
|
|
|
None.
|
|
|
|
=== New Enum Constants
|
|
|
|
* Extending elink:VkAccessFlagBits:
|
|
** ename:VK_ACCESS_CONDITIONAL_RENDERING_READ_BIT_EXT
|
|
* Extending elink:VkBufferUsageFlagBits:
|
|
** ename:VK_BUFFER_USAGE_CONDITIONAL_RENDERING_BIT_EXT
|
|
* Extending elink:VkPipelineStageFlagBits:
|
|
** ename:VK_PIPELINE_STAGE_CONDITIONAL_RENDERING_BIT_EXT
|
|
|
|
=== New Enums
|
|
|
|
* elink:VkConditionalRenderingFlagBitsEXT
|
|
|
|
=== New Structures
|
|
|
|
* slink:VkConditionalRenderingBeginInfoEXT
|
|
* Extending slink:VkCommandBufferInheritanceInfo:
|
|
** slink:VkCommandBufferInheritanceConditionalRenderingInfoEXT
|
|
* Extending slink:VkPhysicalDeviceFeatures2:
|
|
** slink:VkPhysicalDeviceConditionalRenderingFeaturesEXT
|
|
|
|
None.
|
|
|
|
=== New Functions
|
|
|
|
* flink:vkCmdBeginConditionalRenderingEXT
|
|
* flink:vkCmdEndConditionalRenderingEXT
|
|
|
|
=== Issues
|
|
|
|
1) Should conditional rendering affect copy and blit commands?
|
|
|
|
RESOLVED: Conditional rendering should not affect copies and blits.
|
|
|
|
2) Should secondary command buffers be allowed to execute while conditional
|
|
rendering is active in the primary command buffer?
|
|
|
|
RESOLVED: The rendering commands in secondary command buffer will be
|
|
affected by an active conditional rendering in primary command buffer if the
|
|
pname:conditionalRenderingEnable is set to ename:VK_TRUE.
|
|
Conditional rendering must: not be active in the primary command buffer if
|
|
pname:conditionalRenderingEnable is ename:VK_FALSE.
|
|
|
|
=== Examples
|
|
|
|
None.
|
|
|
|
=== Version History
|
|
|
|
* Revision 1, 2018-04-19 (Vikram Kushwaha)
|
|
- First Version
|
|
|
|
* Revision 2, 2018-05-21 (Vikram Kushwaha)
|
|
- Add new pipeline stage, access flags and limit conditional rendering
|
|
to a subpass or entire renderpass.
|