| Safe Haskell | None |
|---|---|
| Language | Haskell2010 |
Vulkan.Extensions.VK_EXT_extended_dynamic_state
Synopsis
- cmdSetCullModeEXT :: forall io. MonadIO io => CommandBuffer -> CullModeFlags -> io ()
- cmdSetFrontFaceEXT :: forall io. MonadIO io => CommandBuffer -> FrontFace -> io ()
- cmdSetPrimitiveTopologyEXT :: forall io. MonadIO io => CommandBuffer -> PrimitiveTopology -> io ()
- cmdSetViewportWithCountEXT :: forall io. MonadIO io => CommandBuffer -> ("viewports" ::: Vector Viewport) -> io ()
- cmdSetScissorWithCountEXT :: forall io. MonadIO io => CommandBuffer -> ("scissors" ::: Vector Rect2D) -> io ()
- cmdBindVertexBuffers2EXT :: forall io. MonadIO io => CommandBuffer -> ("firstBinding" ::: Word32) -> ("buffers" ::: Vector Buffer) -> ("offsets" ::: Vector DeviceSize) -> ("sizes" ::: Vector DeviceSize) -> ("strides" ::: Vector DeviceSize) -> io ()
- cmdSetDepthTestEnableEXT :: forall io. MonadIO io => CommandBuffer -> ("depthTestEnable" ::: Bool) -> io ()
- cmdSetDepthWriteEnableEXT :: forall io. MonadIO io => CommandBuffer -> ("depthWriteEnable" ::: Bool) -> io ()
- cmdSetDepthCompareOpEXT :: forall io. MonadIO io => CommandBuffer -> ("depthCompareOp" ::: CompareOp) -> io ()
- cmdSetDepthBoundsTestEnableEXT :: forall io. MonadIO io => CommandBuffer -> ("depthBoundsTestEnable" ::: Bool) -> io ()
- cmdSetStencilTestEnableEXT :: forall io. MonadIO io => CommandBuffer -> ("stencilTestEnable" ::: Bool) -> io ()
- cmdSetStencilOpEXT :: forall io. MonadIO io => CommandBuffer -> ("faceMask" ::: StencilFaceFlags) -> ("failOp" ::: StencilOp) -> ("passOp" ::: StencilOp) -> ("depthFailOp" ::: StencilOp) -> CompareOp -> io ()
- data PhysicalDeviceExtendedDynamicStateFeaturesEXT = PhysicalDeviceExtendedDynamicStateFeaturesEXT {}
- type EXT_EXTENDED_DYNAMIC_STATE_SPEC_VERSION = 1
- pattern EXT_EXTENDED_DYNAMIC_STATE_SPEC_VERSION :: forall a. Integral a => a
- type EXT_EXTENDED_DYNAMIC_STATE_EXTENSION_NAME = "VK_EXT_extended_dynamic_state"
- pattern EXT_EXTENDED_DYNAMIC_STATE_EXTENSION_NAME :: forall a. (Eq a, IsString a) => a
Documentation
Arguments
| :: forall io. MonadIO io | |
| => CommandBuffer |
|
| -> CullModeFlags |
|
| -> io () |
vkCmdSetCullModeEXT - Set the cull mode property
Valid Usage
- The extendedDynamicState feature must be enabled
Valid Usage (Implicit)
commandBuffermust be a validCommandBufferhandle
cullModemust be a valid combination ofCullModeFlagBitsvaluescommandBuffermust be in the recording state- The
CommandPoolthatcommandBufferwas allocated from must support graphics operations
Host Synchronization
- Host access to
commandBuffermust be externally synchronized
- Host access to the
CommandPoolthatcommandBufferwas allocated from must be externally synchronized
Command Properties
'
| Command Buffer Levels | Render Pass Scope | Supported Queue Types | Pipeline Type |
|---|---|---|---|
| Primary Secondary | Both | Graphics |
See Also
Arguments
| :: forall io. MonadIO io | |
| => CommandBuffer |
|
| -> FrontFace |
|
| -> io () |
vkCmdSetFrontFaceEXT - Set the front face property
Valid Usage
- The extendedDynamicState feature must be enabled
Valid Usage (Implicit)
commandBuffermust be a validCommandBufferhandle
frontFacemust be a validFrontFacevaluecommandBuffermust be in the recording state- The
CommandPoolthatcommandBufferwas allocated from must support graphics operations
Host Synchronization
- Host access to
commandBuffermust be externally synchronized
- Host access to the
CommandPoolthatcommandBufferwas allocated from must be externally synchronized
Command Properties
'
| Command Buffer Levels | Render Pass Scope | Supported Queue Types | Pipeline Type |
|---|---|---|---|
| Primary Secondary | Both | Graphics |
See Also
cmdSetPrimitiveTopologyEXT Source #
Arguments
| :: forall io. MonadIO io | |
| => CommandBuffer |
|
| -> PrimitiveTopology | |
| -> io () |
vkCmdSetPrimitiveTopologyEXT - Set the primitive topology state
Valid Usage
- The extendedDynamicState feature must be enabled
Valid Usage (Implicit)
commandBuffermust be a validCommandBufferhandle
primitiveTopologymust be a validPrimitiveTopologyvaluecommandBuffermust be in the recording state- The
CommandPoolthatcommandBufferwas allocated from must support graphics operations
Host Synchronization
- Host access to
commandBuffermust be externally synchronized
- Host access to the
CommandPoolthatcommandBufferwas allocated from must be externally synchronized
Command Properties
'
| Command Buffer Levels | Render Pass Scope | Supported Queue Types | Pipeline Type |
|---|---|---|---|
| Primary Secondary | Both | Graphics |
See Also
cmdSetViewportWithCountEXT Source #
Arguments
| :: forall io. MonadIO io | |
| => CommandBuffer |
|
| -> ("viewports" ::: Vector Viewport) |
|
| -> io () |
vkCmdSetViewportWithCountEXT - Set the viewport count and viewports
Valid Usage
- The extendedDynamicState feature must be enabled
viewportCountmust be between1andPhysicalDeviceLimits::maxViewports, inclusive- If the
multiple viewports
feature is not enabled,
viewportCountmust be1
Valid Usage (Implicit)
commandBuffermust be a validCommandBufferhandle
pViewportsmust be a valid pointer to an array ofviewportCountvalidViewportstructurescommandBuffermust be in the recording state- The
CommandPoolthatcommandBufferwas allocated from must support graphics operations viewportCountmust be greater than0
Host Synchronization
- Host access to
commandBuffermust be externally synchronized
- Host access to the
CommandPoolthatcommandBufferwas allocated from must be externally synchronized
Command Properties
'
| Command Buffer Levels | Render Pass Scope | Supported Queue Types | Pipeline Type |
|---|---|---|---|
| Primary Secondary | Both | Graphics |
See Also
cmdSetScissorWithCountEXT Source #
Arguments
| :: forall io. MonadIO io | |
| => CommandBuffer |
|
| -> ("scissors" ::: Vector Rect2D) |
|
| -> io () |
vkCmdSetScissorWithCountEXT - Set the scissor count and scissors
Valid Usage
- The extendedDynamicState feature must be enabled
scissorCountmust be between1andPhysicalDeviceLimits::maxViewports, inclusive- If the
multiple viewports
feature is not enabled,
scissorCountmust be1 - The
xandymembers ofoffsetmember of any element ofpScissorsmust 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
Valid Usage (Implicit)
commandBuffermust be a validCommandBufferhandle
pScissorsmust be a valid pointer to an array ofscissorCountRect2DstructurescommandBuffermust be in the recording state- The
CommandPoolthatcommandBufferwas allocated from must support graphics operations scissorCountmust be greater than0
Host Synchronization
- Host access to
commandBuffermust be externally synchronized
- Host access to the
CommandPoolthatcommandBufferwas allocated from must be externally synchronized
Command Properties
'
| Command Buffer Levels | Render Pass Scope | Supported Queue Types | Pipeline Type |
|---|---|---|---|
| Primary Secondary | Both | Graphics |
See Also
cmdBindVertexBuffers2EXT Source #
Arguments
| :: forall io. MonadIO io | |
| => CommandBuffer |
|
| -> ("firstBinding" ::: Word32) |
|
| -> ("buffers" ::: Vector Buffer) |
|
| -> ("offsets" ::: Vector DeviceSize) |
|
| -> ("sizes" ::: Vector DeviceSize) |
|
| -> ("strides" ::: Vector DeviceSize) |
|
| -> io () |
vkCmdBindVertexBuffers2EXT - Bind vertex buffers to a command buffer
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 draw commands.
If the bound pipeline state object was created with the
DYNAMIC_STATE_VERTEX_INPUT_BINDING_STRIDE_EXT
dynamic state enabled then pStrides[i] specifies the distance in bytes
between two consecutive elements within the corresponding buffer. In
this case the
VertexInputBindingDescription::stride state
from the pipeline state object is ignored.
Valid Usage
firstBindingmust be less thanPhysicalDeviceLimits::maxVertexInputBindings
- The sum of
firstBindingandbindingCountmust be less than or equal toPhysicalDeviceLimits::maxVertexInputBindings - All elements of
pOffsetsmust be less than the size of the corresponding element inpBuffers - If
pSizesis notNULL, all elements ofpOffsetspluspSizesmust be less than or equal to the size of the corresponding element inpBuffers - All elements of
pBuffersmust have been created with theBUFFER_USAGE_VERTEX_BUFFER_BITflag - Each element of
pBuffersthat is non-sparse must be bound completely and contiguously to a singleDeviceMemoryobject - If the
nullDescriptor
feature is not enabled, all elements of
pBuffersmust not beNULL_HANDLE - If an element of
pBuffersisNULL_HANDLE, then the corresponding element ofpOffsetsmust be zero - If the bound pipeline state object was created with the
DYNAMIC_STATE_VERTEX_INPUT_BINDING_STRIDE_EXTdynamic state enabled thenpStridesmust not beNULL, otherwisepStridesmust beNULL - If
pStridesis notNULLeach element ofpStridesmust be less than or equal toPhysicalDeviceLimits::maxVertexInputBindingStride - If
pStridesis notNULLeach element ofpStridesmust be greater than or equal to the maximum extent of of all vertex input attributes fetched from the corresponding binding, where the extent is calculated as the VkVertexInputAttributeDescription::offset plus VkVertexInputAttributeDescription::format size
Valid Usage (Implicit)
commandBuffermust be a validCommandBufferhandle
pBuffersmust be a valid pointer to an array ofbindingCountvalidBufferhandlespOffsetsmust be a valid pointer to an array ofbindingCountDeviceSizevalues- If
pSizesis notNULL,pSizesmust be a valid pointer to an array ofbindingCountDeviceSizevalues - If
pStridesis notNULL,pStridesmust be a valid pointer to an array ofbindingCountDeviceSizevalues commandBuffermust be in the recording state- The
CommandPoolthatcommandBufferwas allocated from must support graphics operations - If any of
pSizes, orpStridesare notNULL,bindingCountmust be greater than0 - Both of
commandBuffer, and the elements ofpBuffersmust have been created, allocated, or retrieved from the sameDevice
Host Synchronization
- Host access to
commandBuffermust be externally synchronized
- Host access to the
CommandPoolthatcommandBufferwas allocated from must be externally synchronized
Command Properties
'
| Command Buffer Levels | Render Pass Scope | Supported Queue Types | Pipeline Type |
|---|---|---|---|
| Primary Secondary | Both | Graphics |
See Also
cmdSetDepthTestEnableEXT Source #
Arguments
| :: forall io. MonadIO io | |
| => CommandBuffer |
|
| -> ("depthTestEnable" ::: Bool) |
|
| -> io () |
vkCmdSetDepthTestEnableEXT - Set the depth test enable for a command buffer
Description
This command sets the state for a given draw when the graphics pipeline
is created with
DYNAMIC_STATE_DEPTH_TEST_ENABLE_EXT
set in
PipelineDynamicStateCreateInfo::pDynamicStates.
Valid Usage
- The extendedDynamicState feature must be enabled
Valid Usage (Implicit)
commandBuffermust be a validCommandBufferhandle
commandBuffermust be in the recording state- The
CommandPoolthatcommandBufferwas allocated from must support graphics operations
Host Synchronization
- Host access to
commandBuffermust be externally synchronized
- Host access to the
CommandPoolthatcommandBufferwas allocated from must be externally synchronized
Command Properties
'
| Command Buffer Levels | Render Pass Scope | Supported Queue Types | Pipeline Type |
|---|---|---|---|
| Primary Secondary | Both | Graphics |
See Also
cmdSetDepthWriteEnableEXT Source #
Arguments
| :: forall io. MonadIO io | |
| => CommandBuffer |
|
| -> ("depthWriteEnable" ::: Bool) |
|
| -> io () |
vkCmdSetDepthWriteEnableEXT - Set the depth write enable for the command buffer
Description
This command sets the state for a given draw when the graphics pipeline
is created with
DYNAMIC_STATE_DEPTH_WRITE_ENABLE_EXT
set in
PipelineDynamicStateCreateInfo::pDynamicStates.
Valid Usage
- The extendedDynamicState feature must be enabled
Valid Usage (Implicit)
commandBuffermust be a validCommandBufferhandle
commandBuffermust be in the recording state- The
CommandPoolthatcommandBufferwas allocated from must support graphics operations
Host Synchronization
- Host access to
commandBuffermust be externally synchronized
- Host access to the
CommandPoolthatcommandBufferwas allocated from must be externally synchronized
Command Properties
'
| Command Buffer Levels | Render Pass Scope | Supported Queue Types | Pipeline Type |
|---|---|---|---|
| Primary Secondary | Both | Graphics |
See Also
cmdSetDepthCompareOpEXT Source #
Arguments
| :: forall io. MonadIO io | |
| => CommandBuffer |
|
| -> ("depthCompareOp" ::: CompareOp) |
|
| -> io () |
vkCmdSetDepthCompareOpEXT - Set the depth comparison operator for the command buffer
Description
This command sets the state for a given draw when the graphics pipeline
is created with
DYNAMIC_STATE_DEPTH_COMPARE_OP_EXT
set in
PipelineDynamicStateCreateInfo::pDynamicStates.
Valid Usage
- The extendedDynamicState feature must be enabled
Valid Usage (Implicit)
commandBuffermust be a validCommandBufferhandle
depthCompareOpmust be a validCompareOpvaluecommandBuffermust be in the recording state- The
CommandPoolthatcommandBufferwas allocated from must support graphics operations
Host Synchronization
- Host access to
commandBuffermust be externally synchronized
- Host access to the
CommandPoolthatcommandBufferwas allocated from must be externally synchronized
Command Properties
'
| Command Buffer Levels | Render Pass Scope | Supported Queue Types | Pipeline Type |
|---|---|---|---|
| Primary Secondary | Both | Graphics |
See Also
cmdSetDepthBoundsTestEnableEXT Source #
Arguments
| :: forall io. MonadIO io | |
| => CommandBuffer |
|
| -> ("depthBoundsTestEnable" ::: Bool) |
|
| -> io () |
vkCmdSetDepthBoundsTestEnableEXT - Set the depth bounds test enable for a command buffer
Description
This command sets the state for a given draw when the graphics pipeline
is created with
DYNAMIC_STATE_DEPTH_BOUNDS_TEST_ENABLE_EXT
set in
PipelineDynamicStateCreateInfo::pDynamicStates.
Valid Usage
- The extendedDynamicState feature must be enabled
Valid Usage (Implicit)
commandBuffermust be a validCommandBufferhandle
commandBuffermust be in the recording state- The
CommandPoolthatcommandBufferwas allocated from must support graphics operations
Host Synchronization
- Host access to
commandBuffermust be externally synchronized
- Host access to the
CommandPoolthatcommandBufferwas allocated from must be externally synchronized
Command Properties
'
| Command Buffer Levels | Render Pass Scope | Supported Queue Types | Pipeline Type |
|---|---|---|---|
| Primary Secondary | Both | Graphics |
See Also
cmdSetStencilTestEnableEXT Source #
Arguments
| :: forall io. MonadIO io | |
| => CommandBuffer |
|
| -> ("stencilTestEnable" ::: Bool) |
|
| -> io () |
vkCmdSetStencilTestEnableEXT - Set the stencil test enable for the command buffer
Description
This command sets the state for a given draw when the graphics pipeline
is created with
DYNAMIC_STATE_STENCIL_TEST_ENABLE_EXT
set in
PipelineDynamicStateCreateInfo::pDynamicStates.
Valid Usage
- The extendedDynamicState feature must be enabled
Valid Usage (Implicit)
commandBuffermust be a validCommandBufferhandle
commandBuffermust be in the recording state- The
CommandPoolthatcommandBufferwas allocated from must support graphics operations
Host Synchronization
- Host access to
commandBuffermust be externally synchronized
- Host access to the
CommandPoolthatcommandBufferwas allocated from must be externally synchronized
Command Properties
'
| Command Buffer Levels | Render Pass Scope | Supported Queue Types | Pipeline Type |
|---|---|---|---|
| Primary Secondary | Both | Graphics |
See Also
Arguments
| :: forall io. MonadIO io | |
| => CommandBuffer |
|
| -> ("faceMask" ::: StencilFaceFlags) |
|
| -> ("failOp" ::: StencilOp) |
|
| -> ("passOp" ::: StencilOp) |
|
| -> ("depthFailOp" ::: StencilOp) |
|
| -> CompareOp |
|
| -> io () |
vkCmdSetStencilOpEXT - Set the stencil operation for the command buffer
Description
This command sets the state for a given draw when the graphics pipeline
is created with
DYNAMIC_STATE_STENCIL_OP_EXT set in
PipelineDynamicStateCreateInfo::pDynamicStates.
Valid Usage
- The extendedDynamicState feature must be enabled
Valid Usage (Implicit)
commandBuffermust be a validCommandBufferhandle
faceMaskmust be a valid combination ofStencilFaceFlagBitsvaluesfaceMaskmust not be0failOpmust be a validStencilOpvaluepassOpmust be a validStencilOpvaluedepthFailOpmust be a validStencilOpvaluecompareOpmust be a validCompareOpvaluecommandBuffermust be in the recording state- The
CommandPoolthatcommandBufferwas allocated from must support graphics operations
Host Synchronization
- Host access to
commandBuffermust be externally synchronized
- Host access to the
CommandPoolthatcommandBufferwas allocated from must be externally synchronized
Command Properties
'
| Command Buffer Levels | Render Pass Scope | Supported Queue Types | Pipeline Type |
|---|---|---|---|
| Primary Secondary | Both | Graphics |
See Also
data PhysicalDeviceExtendedDynamicStateFeaturesEXT Source #
VkPhysicalDeviceExtendedDynamicStateFeaturesEXT - Structure describing what extended dynamic state can be used
Members
The members of the PhysicalDeviceExtendedDynamicStateFeaturesEXT
structure describe the following features:
Description
If the PhysicalDeviceExtendedDynamicStateFeaturesEXT structure is
included in the pNext chain of
PhysicalDeviceFeatures2,
it is filled with values indicating whether the feature is supported.
PhysicalDeviceExtendedDynamicStateFeaturesEXT can also be used in
the pNext chain of DeviceCreateInfo to enable
features.
Valid Usage (Implicit)
See Also
Constructors
Instances
pattern EXT_EXTENDED_DYNAMIC_STATE_SPEC_VERSION :: forall a. Integral a => a Source #
type EXT_EXTENDED_DYNAMIC_STATE_EXTENSION_NAME = "VK_EXT_extended_dynamic_state" Source #
pattern EXT_EXTENDED_DYNAMIC_STATE_EXTENSION_NAME :: forall a. (Eq a, IsString a) => a Source #