Safe Haskell | None |
---|---|
Language | Haskell2010 |
Synopsis
- cmdSetCullMode :: forall io. MonadIO io => CommandBuffer -> CullModeFlags -> io ()
- cmdSetFrontFace :: forall io. MonadIO io => CommandBuffer -> FrontFace -> io ()
- cmdSetPrimitiveTopology :: forall io. MonadIO io => CommandBuffer -> PrimitiveTopology -> io ()
- cmdSetViewportWithCount :: forall io. MonadIO io => CommandBuffer -> ("viewports" ::: Vector Viewport) -> io ()
- cmdSetScissorWithCount :: forall io. MonadIO io => CommandBuffer -> ("scissors" ::: Vector Rect2D) -> io ()
- cmdBindVertexBuffers2 :: forall io. MonadIO io => CommandBuffer -> ("firstBinding" ::: Word32) -> ("buffers" ::: Vector Buffer) -> ("offsets" ::: Vector DeviceSize) -> ("sizes" ::: Vector DeviceSize) -> ("strides" ::: Vector DeviceSize) -> io ()
- cmdSetDepthTestEnable :: forall io. MonadIO io => CommandBuffer -> ("depthTestEnable" ::: Bool) -> io ()
- cmdSetDepthWriteEnable :: forall io. MonadIO io => CommandBuffer -> ("depthWriteEnable" ::: Bool) -> io ()
- cmdSetDepthCompareOp :: forall io. MonadIO io => CommandBuffer -> ("depthCompareOp" ::: CompareOp) -> io ()
- cmdSetDepthBoundsTestEnable :: forall io. MonadIO io => CommandBuffer -> ("depthBoundsTestEnable" ::: Bool) -> io ()
- cmdSetStencilTestEnable :: forall io. MonadIO io => CommandBuffer -> ("stencilTestEnable" ::: Bool) -> io ()
- cmdSetStencilOp :: forall io. MonadIO io => CommandBuffer -> ("faceMask" ::: StencilFaceFlags) -> ("failOp" ::: StencilOp) -> ("passOp" ::: StencilOp) -> ("depthFailOp" ::: StencilOp) -> CompareOp -> io ()
- newtype DynamicState where
- DynamicState Int32
- pattern DYNAMIC_STATE_VIEWPORT :: DynamicState
- pattern DYNAMIC_STATE_SCISSOR :: DynamicState
- pattern DYNAMIC_STATE_LINE_WIDTH :: DynamicState
- pattern DYNAMIC_STATE_DEPTH_BIAS :: DynamicState
- pattern DYNAMIC_STATE_BLEND_CONSTANTS :: DynamicState
- pattern DYNAMIC_STATE_DEPTH_BOUNDS :: DynamicState
- pattern DYNAMIC_STATE_STENCIL_COMPARE_MASK :: DynamicState
- pattern DYNAMIC_STATE_STENCIL_WRITE_MASK :: DynamicState
- pattern DYNAMIC_STATE_STENCIL_REFERENCE :: DynamicState
- pattern DYNAMIC_STATE_COLOR_WRITE_ENABLE_EXT :: DynamicState
- pattern DYNAMIC_STATE_LOGIC_OP_EXT :: DynamicState
- pattern DYNAMIC_STATE_PATCH_CONTROL_POINTS_EXT :: DynamicState
- pattern DYNAMIC_STATE_VERTEX_INPUT_EXT :: DynamicState
- pattern DYNAMIC_STATE_LINE_STIPPLE_EXT :: DynamicState
- pattern DYNAMIC_STATE_FRAGMENT_SHADING_RATE_KHR :: DynamicState
- pattern DYNAMIC_STATE_EXCLUSIVE_SCISSOR_NV :: DynamicState
- pattern DYNAMIC_STATE_VIEWPORT_COARSE_SAMPLE_ORDER_NV :: DynamicState
- pattern DYNAMIC_STATE_VIEWPORT_SHADING_RATE_PALETTE_NV :: DynamicState
- pattern DYNAMIC_STATE_RAY_TRACING_PIPELINE_STACK_SIZE_KHR :: DynamicState
- pattern DYNAMIC_STATE_SAMPLE_LOCATIONS_EXT :: DynamicState
- pattern DYNAMIC_STATE_DISCARD_RECTANGLE_EXT :: DynamicState
- pattern DYNAMIC_STATE_VIEWPORT_W_SCALING_NV :: DynamicState
- pattern DYNAMIC_STATE_PRIMITIVE_RESTART_ENABLE :: DynamicState
- pattern DYNAMIC_STATE_DEPTH_BIAS_ENABLE :: DynamicState
- pattern DYNAMIC_STATE_RASTERIZER_DISCARD_ENABLE :: DynamicState
- pattern DYNAMIC_STATE_STENCIL_OP :: DynamicState
- pattern DYNAMIC_STATE_STENCIL_TEST_ENABLE :: DynamicState
- pattern DYNAMIC_STATE_DEPTH_BOUNDS_TEST_ENABLE :: DynamicState
- pattern DYNAMIC_STATE_DEPTH_COMPARE_OP :: DynamicState
- pattern DYNAMIC_STATE_DEPTH_WRITE_ENABLE :: DynamicState
- pattern DYNAMIC_STATE_DEPTH_TEST_ENABLE :: DynamicState
- pattern DYNAMIC_STATE_VERTEX_INPUT_BINDING_STRIDE :: DynamicState
- pattern DYNAMIC_STATE_SCISSOR_WITH_COUNT :: DynamicState
- pattern DYNAMIC_STATE_VIEWPORT_WITH_COUNT :: DynamicState
- pattern DYNAMIC_STATE_PRIMITIVE_TOPOLOGY :: DynamicState
- pattern DYNAMIC_STATE_FRONT_FACE :: DynamicState
- pattern DYNAMIC_STATE_CULL_MODE :: DynamicState
Documentation
:: forall io. MonadIO io | |
=> CommandBuffer |
|
-> CullModeFlags |
|
-> io () |
vkCmdSetCullMode - Set cull mode dynamically for a command buffer
Description
This command sets the cull mode for subsequent drawing commands when the
graphics pipeline is created with
DYNAMIC_STATE_CULL_MODE
set in
PipelineDynamicStateCreateInfo
::pDynamicStates
.
Otherwise, this state is specified by the
PipelineRasterizationStateCreateInfo
::cullMode
value used to create the currently active pipeline.
Valid Usage
- The extendedDynamicState feature must be enabled
Valid Usage (Implicit)
-
commandBuffer
must be a validCommandBuffer
handle
-
cullMode
must be a valid combination ofCullModeFlagBits
values -
commandBuffer
must be in the recording state - The
CommandPool
thatcommandBuffer
was allocated from must support graphics 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 |
---|---|---|
Primary Secondary | Both | Graphics |
See Also
VK_EXT_extended_dynamic_state,
VK_VERSION_1_3,
CommandBuffer
,
CullModeFlags
:: forall io. MonadIO io | |
=> CommandBuffer |
|
-> FrontFace |
|
-> io () |
vkCmdSetFrontFace - Set front face orientation dynamically for a command buffer
Description
This command sets the front face orientation for subsequent drawing
commands when the graphics pipeline is created with
DYNAMIC_STATE_FRONT_FACE
set in
PipelineDynamicStateCreateInfo
::pDynamicStates
.
Otherwise, this state is specified by the
PipelineRasterizationStateCreateInfo
::frontFace
value used to create the currently active pipeline.
Valid Usage
- The extendedDynamicState feature must be enabled
Valid Usage (Implicit)
-
commandBuffer
must be a validCommandBuffer
handle
-
frontFace
must be a validFrontFace
value -
commandBuffer
must be in the recording state - The
CommandPool
thatcommandBuffer
was allocated from must support graphics 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 |
---|---|---|
Primary Secondary | Both | Graphics |
See Also
VK_EXT_extended_dynamic_state,
VK_VERSION_1_3,
CommandBuffer
,
FrontFace
cmdSetPrimitiveTopology Source #
:: forall io. MonadIO io | |
=> CommandBuffer |
|
-> PrimitiveTopology |
|
-> io () |
vkCmdSetPrimitiveTopology - Set primitive topology state dynamically for a command buffer
Description
This command sets the primitive topology for subsequent drawing commands
when the graphics pipeline is created with
DYNAMIC_STATE_PRIMITIVE_TOPOLOGY
set
in
PipelineDynamicStateCreateInfo
::pDynamicStates
.
Otherwise, this state is specified by the
PipelineInputAssemblyStateCreateInfo
::topology
value used to create the currently active pipeline.
Valid Usage
- The extendedDynamicState feature must be enabled
Valid Usage (Implicit)
-
commandBuffer
must be a validCommandBuffer
handle
-
primitiveTopology
must be a validPrimitiveTopology
value -
commandBuffer
must be in the recording state - The
CommandPool
thatcommandBuffer
was allocated from must support graphics 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 |
---|---|---|
Primary Secondary | Both | Graphics |
See Also
VK_EXT_extended_dynamic_state,
VK_VERSION_1_3,
CommandBuffer
,
PrimitiveTopology
cmdSetViewportWithCount Source #
:: forall io. MonadIO io | |
=> CommandBuffer |
|
-> ("viewports" ::: Vector Viewport) |
|
-> io () |
vkCmdSetViewportWithCount - Set the viewport count and viewports dynamically for a command buffer
Description
This command sets the viewport count and viewports state for subsequent
drawing commands when the graphics pipeline is created with
DYNAMIC_STATE_VIEWPORT_WITH_COUNT
set
in
PipelineDynamicStateCreateInfo
::pDynamicStates
.
Otherwise, this state is specified by the corresponding
PipelineViewportStateCreateInfo
::viewportCount
and pViewports
values used to create the currently active pipeline.
Valid Usage
- The extendedDynamicState feature must be enabled
-
viewportCount
must be between1
andPhysicalDeviceLimits
::maxViewports
, inclusive - If the
multiple viewports
feature is not enabled,
viewportCount
must be1
-
commandBuffer
must not haveCommandBufferInheritanceViewportScissorInfoNV
::viewportScissor2D
enabled
Valid Usage (Implicit)
-
commandBuffer
must be a validCommandBuffer
handle
-
pViewports
must be a valid pointer to an array ofviewportCount
validViewport
structures -
commandBuffer
must be in the recording state - The
CommandPool
thatcommandBuffer
was allocated from must support graphics operations -
viewportCount
must be greater than0
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 |
---|---|---|
Primary Secondary | Both | Graphics |
See Also
VK_EXT_extended_dynamic_state,
VK_VERSION_1_3,
CommandBuffer
, Viewport
cmdSetScissorWithCount Source #
:: forall io. MonadIO io | |
=> CommandBuffer |
|
-> ("scissors" ::: Vector Rect2D) |
|
-> io () |
vkCmdSetScissorWithCount - Set the scissor count and scissor rectangular bounds dynamically for a command buffer
Description
This command sets the scissor count and scissor rectangular bounds state
for subsequence drawing commands when the graphics pipeline is created
with DYNAMIC_STATE_SCISSOR_WITH_COUNT
set in
PipelineDynamicStateCreateInfo
::pDynamicStates
.
Otherwise, this state is specified by the corresponding
PipelineViewportStateCreateInfo
::scissorCount
and pScissors
values used to create the currently active pipeline.
Valid Usage
- The extendedDynamicState feature must be enabled
-
scissorCount
must be between1
andPhysicalDeviceLimits
::maxViewports
, inclusive - If the
multiple viewports
feature is not enabled,
scissorCount
must be1
- The
x
andy
members ofoffset
member of any element ofpScissors
must be greater than or equal to0
- Evaluation of
(
offset.x
+extent.width
) must not cause a signed integer addition overflow for any element ofpScissors
- Evaluation of
(
offset.y
+extent.height
) must not cause a signed integer addition overflow for any element ofpScissors
-
commandBuffer
must not haveCommandBufferInheritanceViewportScissorInfoNV
::viewportScissor2D
enabled
Valid Usage (Implicit)
-
commandBuffer
must be a validCommandBuffer
handle
-
pScissors
must be a valid pointer to an array ofscissorCount
Rect2D
structures -
commandBuffer
must be in the recording state - The
CommandPool
thatcommandBuffer
was allocated from must support graphics operations -
scissorCount
must be greater than0
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 |
---|---|---|
Primary Secondary | Both | Graphics |
See Also
VK_EXT_extended_dynamic_state,
VK_VERSION_1_3,
CommandBuffer
,
Rect2D
cmdBindVertexBuffers2 Source #
:: forall io. MonadIO io | |
=> CommandBuffer |
|
-> ("firstBinding" ::: Word32) |
|
-> ("buffers" ::: Vector Buffer) |
|
-> ("offsets" ::: Vector DeviceSize) |
|
-> ("sizes" ::: Vector DeviceSize) |
|
-> ("strides" ::: Vector DeviceSize) |
|
-> io () |
vkCmdBindVertexBuffers2 - Bind vertex buffers to a command buffer and dynamically set strides
Description
The values taken from elements i of pBuffers
and pOffsets
replace
the current state for the vertex input binding firstBinding
+ i, for i
in [0, bindingCount
). The vertex input binding is updated to start at
the offset indicated by pOffsets
[i] from the start of the buffer
pBuffers
[i]. If pSizes
is not NULL
then pSizes
[i] specifies the
bound size of the vertex buffer starting from the corresponding elements
of pBuffers
[i] plus pOffsets
[i]. All vertex input attributes that
use each of these bindings will use these updated addresses in their
address calculations for subsequent drawing commands. If the
nullDescriptor
feature is enabled, elements of pBuffers
can be
NULL_HANDLE
, and can be used by the
vertex shader. If a vertex input attribute is bound to a vertex input
binding that is NULL_HANDLE
, the values
taken from memory are considered to be zero, and missing G, B, or A
components are
filled with (0,0,1).
This command also
dynamically sets
the byte strides between consecutive elements within buffer
pBuffers
[i] to the corresponding pStrides
[i] value when the graphics
pipeline is created with
DYNAMIC_STATE_VERTEX_INPUT_BINDING_STRIDE
set in
PipelineDynamicStateCreateInfo
::pDynamicStates
.
Otherwise, strides are specified by the
VertexInputBindingDescription
::stride
values
used to create the currently active pipeline.
If the bound pipeline state object was also created with the
DYNAMIC_STATE_VERTEX_INPUT_EXT
dynamic state enabled then
cmdSetVertexInputEXT
can be used instead of cmdBindVertexBuffers2
to set the stride.
Valid Usage
-
firstBinding
must be less thanPhysicalDeviceLimits
::maxVertexInputBindings
- The sum of
firstBinding
andbindingCount
must be less than or equal toPhysicalDeviceLimits
::maxVertexInputBindings
- All elements of
pOffsets
must be less than the size of the corresponding element inpBuffers
- If
pSizes
is notNULL
, all elements ofpOffsets
pluspSizes
must be less than or equal to the size of the corresponding element inpBuffers
- All elements of
pBuffers
must have been created with theBUFFER_USAGE_VERTEX_BUFFER_BIT
flag - Each element of
pBuffers
that is non-sparse must be bound completely and contiguously to a singleDeviceMemory
object - If the
nullDescriptor
feature is not enabled, all elements of
pBuffers
must not beNULL_HANDLE
- If an element of
pBuffers
isNULL_HANDLE
, then the corresponding element ofpOffsets
must be zero - If
pStrides
is notNULL
each element ofpStrides
must be less than or equal toPhysicalDeviceLimits
::maxVertexInputBindingStride
- If
pStrides
is notNULL
each element ofpStrides
must be either 0 or greater than or equal to the maximum extent of all vertex input attributes fetched from the corresponding binding, where the extent is calculated as theVertexInputAttributeDescription
::offset
plusVertexInputAttributeDescription
::format
size
Valid Usage (Implicit)
-
commandBuffer
must be a validCommandBuffer
handle
-
pBuffers
must be a valid pointer to an array ofbindingCount
valid orNULL_HANDLE
Buffer
handles -
pOffsets
must be a valid pointer to an array ofbindingCount
DeviceSize
values - If
pSizes
is notNULL
,pSizes
must be a valid pointer to an array ofbindingCount
DeviceSize
values - If
pStrides
is notNULL
,pStrides
must be a valid pointer to an array ofbindingCount
DeviceSize
values -
commandBuffer
must be in the recording state - The
CommandPool
thatcommandBuffer
was allocated from must support graphics operations - If any of
pSizes
, orpStrides
are notNULL
,bindingCount
must be greater than0
- Both of
commandBuffer
, and the elements ofpBuffers
that are valid handles of non-ignored parameters must have been created, allocated, or retrieved from the sameDevice
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 |
---|---|---|
Primary Secondary | Both | Graphics |
See Also
VK_EXT_extended_dynamic_state,
VK_VERSION_1_3,
Buffer
, CommandBuffer
,
DeviceSize
cmdSetDepthTestEnable Source #
:: forall io. MonadIO io | |
=> CommandBuffer |
|
-> ("depthTestEnable" ::: Bool) |
|
-> io () |
vkCmdSetDepthTestEnable - Set depth test enable dynamically for a command buffer
Description
This command sets the depth test enable for subsequent drawing commands
when the graphics pipeline is created with
DYNAMIC_STATE_DEPTH_TEST_ENABLE
set
in
PipelineDynamicStateCreateInfo
::pDynamicStates
.
Otherwise, this state is specified by the
PipelineDepthStencilStateCreateInfo
::depthTestEnable
value used to create the currently active pipeline.
Valid Usage
- The extendedDynamicState feature must be enabled
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 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 |
---|---|---|
Primary Secondary | Both | Graphics |
See Also
VK_EXT_extended_dynamic_state,
VK_VERSION_1_3,
Bool32
,
CommandBuffer
cmdSetDepthWriteEnable Source #
:: forall io. MonadIO io | |
=> CommandBuffer |
|
-> ("depthWriteEnable" ::: Bool) |
|
-> io () |
vkCmdSetDepthWriteEnable - Set depth write enable dynamically for a command buffer
Description
This command sets the depth write enable for subsequent drawing commands
when the graphics pipeline is created with
DYNAMIC_STATE_DEPTH_WRITE_ENABLE
set
in
PipelineDynamicStateCreateInfo
::pDynamicStates
.
Otherwise, this state is specified by the
PipelineDepthStencilStateCreateInfo
::depthWriteEnable
value used to create the currently active pipeline.
Valid Usage
- The extendedDynamicState feature must be enabled
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 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 |
---|---|---|
Primary Secondary | Both | Graphics |
See Also
VK_EXT_extended_dynamic_state,
VK_VERSION_1_3,
Bool32
,
CommandBuffer
:: forall io. MonadIO io | |
=> CommandBuffer |
|
-> ("depthCompareOp" ::: CompareOp) |
|
-> io () |
vkCmdSetDepthCompareOp - Set depth comparison operator dynamically for a command buffer
Description
This command sets the depth comparison operator for subsequent drawing
commands when the graphics pipeline is created with
DYNAMIC_STATE_DEPTH_COMPARE_OP
set in
PipelineDynamicStateCreateInfo
::pDynamicStates
.
Otherwise, this state is specified by the
PipelineDepthStencilStateCreateInfo
::depthCompareOp
value used to create the currently active pipeline.
Valid Usage
- The extendedDynamicState feature must be enabled
Valid Usage (Implicit)
-
commandBuffer
must be a validCommandBuffer
handle
-
depthCompareOp
must be a validCompareOp
value -
commandBuffer
must be in the recording state - The
CommandPool
thatcommandBuffer
was allocated from must support graphics 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 |
---|---|---|
Primary Secondary | Both | Graphics |
See Also
VK_EXT_extended_dynamic_state,
VK_VERSION_1_3,
CommandBuffer
,
CompareOp
cmdSetDepthBoundsTestEnable Source #
:: forall io. MonadIO io | |
=> CommandBuffer |
|
-> ("depthBoundsTestEnable" ::: Bool) |
|
-> io () |
vkCmdSetDepthBoundsTestEnable - Set depth bounds test enable dynamically for a command buffer
Description
This command sets the depth bounds enable for subsequent drawing
commands when the graphics pipeline is created with
DYNAMIC_STATE_DEPTH_BOUNDS_TEST_ENABLE
set in
PipelineDynamicStateCreateInfo
::pDynamicStates
.
Otherwise, this state is specified by the
PipelineDepthStencilStateCreateInfo
::depthBoundsTestEnable
value used to create the currently active pipeline.
Valid Usage
- The extendedDynamicState feature must be enabled
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 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 |
---|---|---|
Primary Secondary | Both | Graphics |
See Also
VK_EXT_extended_dynamic_state,
VK_VERSION_1_3,
Bool32
,
CommandBuffer
cmdSetStencilTestEnable Source #
:: forall io. MonadIO io | |
=> CommandBuffer |
|
-> ("stencilTestEnable" ::: Bool) |
|
-> io () |
vkCmdSetStencilTestEnable - Set stencil test enable dynamically for a command buffer
Description
This command sets the stencil test enable for subsequent drawing
commands when the graphics pipeline is created with
DYNAMIC_STATE_STENCIL_TEST_ENABLE
set
in
PipelineDynamicStateCreateInfo
::pDynamicStates
.
Otherwise, this state is specified by the
PipelineDepthStencilStateCreateInfo
::stencilTestEnable
value used to create the currently active pipeline.
Valid Usage
- The extendedDynamicState feature must be enabled
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 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 |
---|---|---|
Primary Secondary | Both | Graphics |
See Also
VK_EXT_extended_dynamic_state,
VK_VERSION_1_3,
Bool32
,
CommandBuffer
:: forall io. MonadIO io | |
=> CommandBuffer |
|
-> ("faceMask" ::: StencilFaceFlags) |
|
-> ("failOp" ::: StencilOp) |
|
-> ("passOp" ::: StencilOp) |
|
-> ("depthFailOp" ::: StencilOp) |
|
-> CompareOp |
|
-> io () |
vkCmdSetStencilOp - Set stencil operation dynamically for a command buffer
Description
This command sets the stencil operation for subsequent drawing commands
when the graphics pipeline is created with
DYNAMIC_STATE_STENCIL_OP
set in
PipelineDynamicStateCreateInfo
::pDynamicStates
.
Otherwise, this state is specified by the corresponding
PipelineDepthStencilStateCreateInfo
::failOp
,
passOp
, depthFailOp
, and compareOp
values used to create the
currently active pipeline, for both front and back faces.
Valid Usage
- The extendedDynamicState feature must be enabled
Valid Usage (Implicit)
-
commandBuffer
must be a validCommandBuffer
handle
-
faceMask
must be a valid combination ofStencilFaceFlagBits
values -
faceMask
must not be0
-
failOp
must be a validStencilOp
value -
passOp
must be a validStencilOp
value -
depthFailOp
must be a validStencilOp
value -
compareOp
must be a validCompareOp
value -
commandBuffer
must be in the recording state - The
CommandPool
thatcommandBuffer
was allocated from must support graphics 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 |
---|---|---|
Primary Secondary | Both | Graphics |
See Also
VK_EXT_extended_dynamic_state,
VK_VERSION_1_3,
CommandBuffer
,
CompareOp
,
StencilFaceFlags
,
StencilOp
newtype DynamicState Source #
VkDynamicState - Indicate which dynamic state is taken from dynamic state commands
See Also
pattern DYNAMIC_STATE_VIEWPORT :: DynamicState |
|
pattern DYNAMIC_STATE_SCISSOR :: DynamicState |
|
pattern DYNAMIC_STATE_LINE_WIDTH :: DynamicState |
|
pattern DYNAMIC_STATE_DEPTH_BIAS :: DynamicState |
|
pattern DYNAMIC_STATE_BLEND_CONSTANTS :: DynamicState |
|
pattern DYNAMIC_STATE_DEPTH_BOUNDS :: DynamicState |
|
pattern DYNAMIC_STATE_STENCIL_COMPARE_MASK :: DynamicState |
|
pattern DYNAMIC_STATE_STENCIL_WRITE_MASK :: DynamicState |
|
pattern DYNAMIC_STATE_STENCIL_REFERENCE :: DynamicState |
|
pattern DYNAMIC_STATE_COLOR_WRITE_ENABLE_EXT :: DynamicState |
|
pattern DYNAMIC_STATE_LOGIC_OP_EXT :: DynamicState |
|
pattern DYNAMIC_STATE_PATCH_CONTROL_POINTS_EXT :: DynamicState |
|
pattern DYNAMIC_STATE_VERTEX_INPUT_EXT :: DynamicState |
|
pattern DYNAMIC_STATE_LINE_STIPPLE_EXT :: DynamicState |
|
pattern DYNAMIC_STATE_FRAGMENT_SHADING_RATE_KHR :: DynamicState |
|
pattern DYNAMIC_STATE_EXCLUSIVE_SCISSOR_NV :: DynamicState |
|
pattern DYNAMIC_STATE_VIEWPORT_COARSE_SAMPLE_ORDER_NV :: DynamicState |
|
pattern DYNAMIC_STATE_VIEWPORT_SHADING_RATE_PALETTE_NV :: DynamicState |
|
pattern DYNAMIC_STATE_RAY_TRACING_PIPELINE_STACK_SIZE_KHR :: DynamicState |
|
pattern DYNAMIC_STATE_SAMPLE_LOCATIONS_EXT :: DynamicState |
|
pattern DYNAMIC_STATE_DISCARD_RECTANGLE_EXT :: DynamicState |
|
pattern DYNAMIC_STATE_VIEWPORT_W_SCALING_NV :: DynamicState |
|
pattern DYNAMIC_STATE_PRIMITIVE_RESTART_ENABLE :: DynamicState |
|
pattern DYNAMIC_STATE_DEPTH_BIAS_ENABLE :: DynamicState |
|
pattern DYNAMIC_STATE_RASTERIZER_DISCARD_ENABLE :: DynamicState |
|
pattern DYNAMIC_STATE_STENCIL_OP :: DynamicState |
|
pattern DYNAMIC_STATE_STENCIL_TEST_ENABLE :: DynamicState |
|
pattern DYNAMIC_STATE_DEPTH_BOUNDS_TEST_ENABLE :: DynamicState |
|
pattern DYNAMIC_STATE_DEPTH_COMPARE_OP :: DynamicState |
|
pattern DYNAMIC_STATE_DEPTH_WRITE_ENABLE :: DynamicState |
|
pattern DYNAMIC_STATE_DEPTH_TEST_ENABLE :: DynamicState |
|
pattern DYNAMIC_STATE_VERTEX_INPUT_BINDING_STRIDE :: DynamicState |
|
pattern DYNAMIC_STATE_SCISSOR_WITH_COUNT :: DynamicState |
|
pattern DYNAMIC_STATE_VIEWPORT_WITH_COUNT :: DynamicState |
|
pattern DYNAMIC_STATE_PRIMITIVE_TOPOLOGY :: DynamicState |
|
pattern DYNAMIC_STATE_FRONT_FACE :: DynamicState |
|
pattern DYNAMIC_STATE_CULL_MODE :: DynamicState |
|