mirror of
https://github.com/status-im/Vulkan-Docs.git
synced 2025-02-03 01:53:40 +00:00
e24e42dcff
* Update release number to 91. Public Issues: * Update Ubuntu subsystem build instructions in `BUILD.adoc` (public pull request 624). * Delete the `VK_KHR_mir_surface` extension from the Specification and XML, due to EOL of the only driver known to have supported it, and near-EOL of Mir itself (public issue 814). * Fix options for some figures that were using old ones (public pull request 841). * Fix various accidentally repeated words (public pull request 843). * Use `time.process_time()`, introduced in Python 3.3, in the scripts instead of `time.clock()`, which will be removed in Python 3.8 (public pull request 844). Internal Issues: * Update valid usage statements for `VK_ANDROID_external_memory_android_hardware_buffer` in slink:VkMemoryAllocateInfo, slink:VkImportAndroidHardwareBufferInfoANDROID, and flink:vkGetAndroidHardwareBufferPropertiesANDROID to actually be verifiable (internal issue 1419). * Update valid usage statements for `VK_ANDROID_external_memory_android_hardware_buffer` in slink:VkMemoryAllocateInfo, slink:VkImageCreateInfo, and slink:VkImageViewCreateInfo to move valid usage statements in doubly-nested bullet points up one level, accomodating limitations of the valid usage extraction script that creates `validusage.json` (internal issue 1434). * Fix typo etext:VK_ACCESS_SHADING_RATE_IMAGE_BIT_NV to the correct ename:VK_ACCESS_SHADING_RATE_IMAGE_READ_BIT_NV. * Add missing etext:VK_STRUCTURE_TYPE_* tokens to appendices for extensions missing them. New Extensions: * `VK_AMD_memory_overallocation_behavior` * `VK_NV_ray_tracing`, replacing `VK_NVX_raytracing`
85 lines
2.6 KiB
Plaintext
85 lines
2.6 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:VkStructureType:
|
|
** ename:VK_STRUCTURE_TYPE_COMMAND_BUFFER_INHERITANCE_CONDITIONAL_RENDERING_INFO_EXT
|
|
** ename:VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_CONDITIONAL_RENDERING_FEATURES_EXT
|
|
** ename:VK_STRUCTURE_TYPE_CONDITIONAL_RENDERING_BEGIN_INFO_EXT
|
|
* 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.
|