VkConditionalRenderingBeginInfo2EXT
The VkConditionalRenderingBeginInfo2EXT structure is defined as:
typedef struct VkConditionalRenderingBeginInfo2EXT {
VkStructureType sType;
const void* pNext;
VkDeviceAddressRangeKHR addressRange;
VkAddressCommandFlagsKHR addressFlags;
VkConditionalRenderingFlagsEXT flags;
} VkConditionalRenderingBeginInfo2EXT;
pub struct ConditionalRenderingBeginInfo2EXT {
s_type: vk::StructureType,
p_next: *const c_void,
address_range: vk::DeviceAddressRangeKHR,
address_flags: vk::AddressCommandFlagsKHR,
flags: vk::ConditionalRenderingFlagsEXT,
}
sTypeis a VkStructureType value identifying this structure.pN2EXTisNULLor a pointer to a structure 2EXTending this structure.addressRangeis the VkDeviceAddressRangeKHR containing the predicate for conditional rendering.addressFlagsis a VkAddressCommandFlagsKHR value defining the flags for the address range.flagsis a bitmask of VkConditionalRenderingFlagsEXT specifying the behavior of conditional rendering.
If the 32-bit value at addressRange.address is zero, then the
rendering commands are discarded, otherwise they are executed as normal.
If the value of the predicate in 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-VkConditionalRenderingBeginInfo2EXT-addressRange-13097
If the range specified by addressRange is not bound completely
to memory when accessed, addressFlags must not include
VK_ADDRESS_COMMAND_FULLY_BOUND_BIT_KHR
VUID-VkConditionalRenderingBeginInfo2EXT-addressRange-13098
If the buffer from which the range specified by addressRange was
created with VK_BUFFER_CREATE_PROTECTED_BIT, and
protectedNoFault is not supported,
addressFlags must include
VK_ADDRESS_COMMAND_PROTECTED_BIT_KHR
VUID-VkConditionalRenderingBeginInfo2EXT-addressRange-13099
If the buffer from which the range specified by addressRange was
created without VK_BUFFER_CREATE_PROTECTED_BIT, and
protectedNoFault is not supported,
addressFlags must not include
VK_ADDRESS_COMMAND_PROTECTED_BIT_KHR
VUID-VkConditionalRenderingBeginInfo2EXT-addressFlags-13100
addressFlags must not include both
VK_ADDRESS_COMMAND_STORAGE_BUFFER_USAGE_BIT_KHR and
VK_ADDRESS_COMMAND_UNKNOWN_STORAGE_BUFFER_USAGE_BIT_KHR
VUID-VkConditionalRenderingBeginInfo2EXT-addressRange-13122
If any buffer, which is bound to a range of VkDeviceMemory that
overlaps the range backing addressRange, was created with
VK_BUFFER_USAGE_STORAGE_BUFFER_BIT, addressFlags must
include VK_ADDRESS_COMMAND_STORAGE_BUFFER_USAGE_BIT_KHR or
VK_ADDRESS_COMMAND_UNKNOWN_STORAGE_BUFFER_USAGE_BIT_KHR
VUID-VkConditionalRenderingBeginInfo2EXT-addressRange-13123
If any buffer, which is bound to a range of VkDeviceMemory that
overlaps the range backing addressRange, was created without
VK_BUFFER_USAGE_STORAGE_BUFFER_BIT, addressFlags must not
include VK_ADDRESS_COMMAND_STORAGE_BUFFER_USAGE_BIT_KHR
VUID-VkConditionalRenderingBeginInfo2EXT-addressFlags-13101
addressFlags must not include both
VK_ADDRESS_COMMAND_TRANSFORM_FEEDBACK_BUFFER_USAGE_BIT_KHR and
VK_ADDRESS_COMMAND_UNKNOWN_TRANSFORM_FEEDBACK_BUFFER_USAGE_BIT_KHR
VUID-VkConditionalRenderingBeginInfo2EXT-addressRange-13124
If any buffer, which is bound to a range of VkDeviceMemory that
overlaps the range backing addressRange, was created with
VK_BUFFER_USAGE_TRANSFORM_FEEDBACK_BUFFER_BIT_EXT,
addressFlags must include
VK_ADDRESS_COMMAND_TRANSFORM_FEEDBACK_BUFFER_USAGE_BIT_KHR or
VK_ADDRESS_COMMAND_UNKNOWN_TRANSFORM_FEEDBACK_BUFFER_USAGE_BIT_KHR
VUID-VkConditionalRenderingBeginInfo2EXT-addressRange-13125
If any buffer, which is bound to a range of VkDeviceMemory that
overlaps the range backing addressRange, was created without
VK_BUFFER_USAGE_TRANSFORM_FEEDBACK_BUFFER_BIT_EXT,
addressFlags must not include
VK_ADDRESS_COMMAND_TRANSFORM_FEEDBACK_BUFFER_USAGE_BIT_KHR
VUID-VkConditionalRenderingBeginInfo2EXT-addressRange-13064
The VkBuffer that addressRange was queried from must have
been created with VK_BUFFER_USAGE_CONDITIONAL_RENDERING_BIT_EXT
VUID-VkConditionalRenderingBeginInfo2EXT-addressRange-13065
addressRange.address must be a multiple of 4
VUID-VkConditionalRenderingBeginInfo2EXT-addressRange-13066
addressRange.size must be greater than or equal to 4
Valid Usage (Implicit)
VUID-VkConditionalRenderingBeginInfo2EXT-sType-sType
sType must be VK_STRUCTURE_TYPE_CONDITIONAL_RENDERING_BEGIN_INFO_2_EXT
VUID-VkConditionalRenderingBeginInfo2EXT-pNext-pNext
pNext must be NULL
VUID-VkConditionalRenderingBeginInfo2EXT-addressFlags-parameter
addressFlags must be a valid combination of VkAddressCommandFlagBitsKHR values
VUID-VkConditionalRenderingBeginInfo2EXT-flags-parameter
flags must be a valid combination of VkConditionalRenderingFlagBitsEXT values