Safe Haskell | None |
---|---|
Language | Haskell2010 |
Synopsis
- cmdBeginConditionalRenderingEXT :: forall io. MonadIO io => CommandBuffer -> ConditionalRenderingBeginInfoEXT -> io ()
- cmdWithConditionalRenderingEXT :: forall io r. MonadIO io => (io () -> io () -> r) -> CommandBuffer -> ConditionalRenderingBeginInfoEXT -> r
- cmdEndConditionalRenderingEXT :: forall io. MonadIO io => CommandBuffer -> io ()
- data ConditionalRenderingBeginInfoEXT = ConditionalRenderingBeginInfoEXT {}
- data CommandBufferInheritanceConditionalRenderingInfoEXT = CommandBufferInheritanceConditionalRenderingInfoEXT {}
- data PhysicalDeviceConditionalRenderingFeaturesEXT = PhysicalDeviceConditionalRenderingFeaturesEXT {}
- newtype ConditionalRenderingFlagBitsEXT where
- type ConditionalRenderingFlagsEXT = ConditionalRenderingFlagBitsEXT
- type EXT_CONDITIONAL_RENDERING_SPEC_VERSION = 2
- pattern EXT_CONDITIONAL_RENDERING_SPEC_VERSION :: forall a. Integral a => a
- type EXT_CONDITIONAL_RENDERING_EXTENSION_NAME = "VK_EXT_conditional_rendering"
- pattern EXT_CONDITIONAL_RENDERING_EXTENSION_NAME :: forall a. (Eq a, IsString a) => a
Documentation
cmdBeginConditionalRenderingEXT :: forall io. MonadIO io => CommandBuffer -> ConditionalRenderingBeginInfoEXT -> io () Source #
vkCmdBeginConditionalRenderingEXT - Define the beginning of a conditional rendering block
Parameters
commandBuffer
is the command buffer into which this command will be recorded.
pConditionalRenderingBegin
is a pointer to aConditionalRenderingBeginInfoEXT
structure specifying parameters of conditional rendering.
Valid Usage
- Conditional rendering must not already be active
Valid Usage (Implicit)
commandBuffer
must be a validCommandBuffer
handle
pConditionalRenderingBegin
must be a valid pointer to a validConditionalRenderingBeginInfoEXT
structurecommandBuffer
must be in the recording state- The
CommandPool
thatcommandBuffer
was allocated from must support graphics, or compute operations
Host Synchronization
- Host access to
commandBuffer
must be externally synchronized
- Host access to the
CommandPool
thatcommandBuffer
was allocated from must be externally synchronized
Command Properties
'
Command Buffer Levels | Render Pass Scope | Supported Queue Types | Pipeline Type |
---|---|---|---|
Primary Secondary | Both | Graphics Compute |
See Also
cmdWithConditionalRenderingEXT :: forall io r. MonadIO io => (io () -> io () -> r) -> CommandBuffer -> ConditionalRenderingBeginInfoEXT -> r Source #
A convenience wrapper to make a compatible pair of calls to
cmdBeginConditionalRenderingEXT
and cmdEndConditionalRenderingEXT
To ensure that cmdEndConditionalRenderingEXT
is always called: pass
bracket_
(or the allocate function from your
favourite resource management library) as the first argument.
To just extract the pair pass '(,)' as the first argument.
Note that there is no inner resource
cmdEndConditionalRenderingEXT :: forall io. MonadIO io => CommandBuffer -> io () Source #
vkCmdEndConditionalRenderingEXT - Define the end of a conditional rendering block
Parameters
commandBuffer
is the command buffer into which this command will be recorded.
Description
Once ended, conditional rendering becomes inactive.
Valid Usage
- Conditional rendering must be active
- If conditional rendering was made active outside of a render pass instance, it must not be ended inside a render pass instance
- If conditional rendering was made active within a subpass it must be ended in the same subpass
Valid Usage (Implicit)
commandBuffer
must be a validCommandBuffer
handle
commandBuffer
must be in the recording state- The
CommandPool
thatcommandBuffer
was allocated from must support graphics, or compute operations
Host Synchronization
- Host access to
commandBuffer
must be externally synchronized
- Host access to the
CommandPool
thatcommandBuffer
was allocated from must be externally synchronized
Command Properties
'
Command Buffer Levels | Render Pass Scope | Supported Queue Types | Pipeline Type |
---|---|---|---|
Primary Secondary | Both | Graphics Compute |
See Also
data ConditionalRenderingBeginInfoEXT Source #
VkConditionalRenderingBeginInfoEXT - Structure specifying conditional rendering begin info
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
- If
buffer
is non-sparse then it must be bound completely and contiguously to a singleDeviceMemory
object
buffer
must have been created with theBUFFER_USAGE_CONDITIONAL_RENDERING_BIT_EXT
bit setoffset
must be less than the size ofbuffer
by at least 32 bitsoffset
must be a multiple of 4
Valid Usage (Implicit)
sType
must beSTRUCTURE_TYPE_CONDITIONAL_RENDERING_BEGIN_INFO_EXT
pNext
must beNULL
buffer
must be a validBuffer
handleflags
must be a valid combination ofConditionalRenderingFlagBitsEXT
values
See Also
Buffer
, ConditionalRenderingFlagsEXT
,
DeviceSize
,
StructureType
,
cmdBeginConditionalRenderingEXT
ConditionalRenderingBeginInfoEXT | |
|
Instances
data CommandBufferInheritanceConditionalRenderingInfoEXT Source #
VkCommandBufferInheritanceConditionalRenderingInfoEXT - Structure specifying command buffer inheritance info
Description
If this structure is not present, the behavior is as if
conditionalRenderingEnable
is FALSE
.
Valid Usage
- If the
inherited conditional rendering
feature is not enabled,
conditionalRenderingEnable
must beFALSE
Valid Usage (Implicit)
See Also
CommandBufferInheritanceConditionalRenderingInfoEXT | |
|
Instances
data PhysicalDeviceConditionalRenderingFeaturesEXT Source #
VkPhysicalDeviceConditionalRenderingFeaturesEXT - Structure describing if a secondary command buffer can be executed if conditional rendering is active in the primary command buffer
Description
If the PhysicalDeviceConditionalRenderingFeaturesEXT
structure is
included in the pNext
chain of
PhysicalDeviceFeatures2
,
it is filled with values indicating the implementation-dependent
behavior. PhysicalDeviceConditionalRenderingFeaturesEXT
can also be
included in pNext
chain of
DeviceCreateInfo
to enable the features.
Valid Usage (Implicit)
See Also
PhysicalDeviceConditionalRenderingFeaturesEXT | |
|
Instances
newtype ConditionalRenderingFlagBitsEXT Source #
VkConditionalRenderingFlagBitsEXT - Specify the behavior of conditional rendering
See Also
pattern CONDITIONAL_RENDERING_INVERTED_BIT_EXT :: ConditionalRenderingFlagBitsEXT |
|
Instances
pattern EXT_CONDITIONAL_RENDERING_SPEC_VERSION :: forall a. Integral a => a Source #
type EXT_CONDITIONAL_RENDERING_EXTENSION_NAME = "VK_EXT_conditional_rendering" Source #
pattern EXT_CONDITIONAL_RENDERING_EXTENSION_NAME :: forall a. (Eq a, IsString a) => a Source #