VkConditionalRenderingBeginInfoEXT(3)

# VkConditionalRenderingBeginInfoEXT(3) Manual Page

## Name

VkConditionalRenderingBeginInfoEXT - Structure specifying conditional rendering begin information

Loading… please wait.

## C Specification

The `VkConditionalRenderingBeginInfoEXT` structure is defined as:

Warning | This functionality is superseded by VkConditionalRenderingBeginInfo2EXT. See Legacy Functionality for more information.

    // Provided by VK_EXT_conditional_rendering
    typedef struct VkConditionalRenderingBeginInfoEXT {
        VkStructureType                   sType;
        const void*                       pNext;
        VkBuffer                          buffer;
        VkDeviceSize                      offset;
        VkConditionalRenderingFlagsEXT    flags;
    } VkConditionalRenderingBeginInfoEXT;

## Members

- `sType` is a VkStructureType value identifying this structure.

- `pNext` is `NULL` or a pointer to a structure extending this structure.

- `buffer` is a buffer containing the predicate for conditional rendering.

- `offset` is the byte offset into `buffer` where the predicate is located.

- `flags` is a bitmask of VkConditionalRenderingFlagsEXT specifying the behavior of conditional rendering.

## Description

If the 32-bit value at `offset` in `buffer` memory is zero, then the rendering commands are discarded, otherwise they are executed as normal. If the value of the predicate in buffer memory changes while conditional rendering is active, the rendering commands may be discarded in an implementation-dependent way. Some implementations may latch the value of the predicate upon beginning conditional rendering while others may read it before every rendering command.

Valid Usage

- VUID-VkConditionalRenderingBeginInfoEXT-buffer-01981
  If `buffer` is non-sparse then it must be bound completely and contiguously to a single `VkDeviceMemory` object

- VUID-VkConditionalRenderingBeginInfoEXT-buffer-01982
  `buffer` must have been created with the VK_BUFFER_USAGE_CONDITIONAL_RENDERING_BIT_EXT usage flag set

- VUID-VkConditionalRenderingBeginInfoEXT-offset-01983
  `offset` must be less than the size of `buffer` by at least 32 bits

- VUID-VkConditionalRenderingBeginInfoEXT-offset-01984
  `offset` must be a multiple of 4

Valid Usage (Implicit)

- VUID-VkConditionalRenderingBeginInfoEXT-sType-sType
  `sType` must be VK_STRUCTURE_TYPE_CONDITIONAL_RENDERING_BEGIN_INFO_EXT

- VUID-VkConditionalRenderingBeginInfoEXT-pNext-pNext
  `pNext` must be `NULL`

- VUID-VkConditionalRenderingBeginInfoEXT-buffer-parameter
  `buffer` must be a valid VkBuffer handle

- VUID-VkConditionalRenderingBeginInfoEXT-flags-parameter
  `flags` must be a valid combination of VkConditionalRenderingFlagBitsEXT values

## See Also

VK_EXT_conditional_rendering, VkBuffer, VkConditionalRenderingFlagsEXT, VkDeviceSize, VkStructureType, vkCmdBeginConditionalRenderingEXT

## Document Notes

For more information, see the Vulkan Specification.

This page is extracted from the Vulkan Specification. Fixes and changes should be made to the Specification, not directly.

## Copyright

Copyright 2014-2026 The Khronos Group Inc.

SPDX-License-Identifier: CC-BY-4.0