Vulkan-Docs/doc/specs/vulkan/man/VkDynamicState.txt

108 lines
4.7 KiB
Plaintext

// Copyright (c) 2014-2016 Khronos Group. This work is licensed under a
// Creative Commons Attribution 4.0 International License; see
// http://creativecommons.org/licenses/by/4.0/
VkDynamicState(3)
=================
Name
----
VkDynamicState - indicate which dynamic state is taken from dynamic state commands
C Specification
---------------
// refBegin VkDynamicState - indicate which dynamic state is taken from dynamic state commands
The source of difference pieces of dynamic state is determined by the
slink:VkPipelineDynamicStateCreateInfo::pname:pDynamicStates property of the
currently active pipeline, which takes the following values:
include::../api/enums/VkDynamicState.txt[]
Description
-----------
* ename:VK_DYNAMIC_STATE_VIEWPORT indicates that the pname:pViewports
state in sname:VkPipelineViewportStateCreateInfo will be ignored and
must: be set dynamically with flink:vkCmdSetViewport before any draw
commands. The number of viewports used by a pipeline is still
specified by the pname:viewportCount member of
sname:VkPipelineViewportStateCreateInfo.
* ename:VK_DYNAMIC_STATE_SCISSOR indicates that the pname:pScissors
state in sname:VkPipelineViewportStateCreateInfo will be ignored and
must: be set dynamically with flink:vkCmdSetScissor before any draw
commands. The number of scissor rectangles used by a pipeline is still
specified by the pname:scissorCount member of
sname:VkPipelineViewportStateCreateInfo.
* ename:VK_DYNAMIC_STATE_LINE_WIDTH indicates that the pname:lineWidth
state in sname:VkPipelineRasterizationStateCreateInfo will be ignored
and must: be set dynamically with flink:vkCmdSetLineWidth before any
draw commands that generate line primitives for the rasterizer.
* ename:VK_DYNAMIC_STATE_DEPTH_BIAS indicates that the
pname:depthBiasConstantFactor, pname:depthBiasClamp and
pname:depthBiasSlopeFactor states in
sname:VkPipelineRasterizationStateCreateInfo will be ignored and must:
be set dynamically with flink:vkCmdSetDepthBias before any draws are
performed with pname:depthBiasEnable in
sname:VkPipelineRasterizationStateCreateInfo set to ename:VK_TRUE.
* ename:VK_DYNAMIC_STATE_BLEND_CONSTANTS indicates that the
pname:blendConstants state in
sname:VkPipelineColorBlendStateCreateInfo will be ignored and must: be
set dynamically with flink:vkCmdSetBlendConstants before any draws are
performed with a pipeline state with
sname:VkPipelineColorBlendAttachmentState member pname:blendEnable set
to ename:VK_TRUE and any of the blend functions using a constant blend
color.
* ename:VK_DYNAMIC_STATE_DEPTH_BOUNDS indicates that the
pname:minDepthBounds and pname:maxDepthBounds states of
slink:VkPipelineDepthStencilStateCreateInfo will be ignored and must:
be set dynamically with flink:vkCmdSetDepthBounds before any draws are
performed with a pipeline state with
sname:VkPipelineDepthStencilStateCreateInfo member
pname:depthBoundsTestEnable set to ename:VK_TRUE.
* ename:VK_DYNAMIC_STATE_STENCIL_COMPARE_MASK indicates that the
pname:compareMask state in
sname:VkPipelineDepthStencilStateCreateInfo for both pname:front and
pname:back will be ignored and must: be set dynamically with
flink:vkCmdSetStencilCompareMask before any draws are performed with a
pipeline state with sname:VkPipelineDepthStencilStateCreateInfo member
pname:stencilTestEnable set to ename:VK_TRUE
* ename:VK_DYNAMIC_STATE_STENCIL_WRITE_MASK indicates that the
pname:writeMask state in sname:VkPipelineDepthStencilStateCreateInfo
for both pname:front and pname:back will be ignored and must: be set
dynamically with flink:vkCmdSetStencilWriteMask before any draws are
performed with a pipeline state with
sname:VkPipelineDepthStencilStateCreateInfo member
pname:stencilTestEnable set to ename:VK_TRUE
* ename:VK_DYNAMIC_STATE_STENCIL_REFERENCE indicates that the
pname:reference state in sname:VkPipelineDepthStencilStateCreateInfo
for both pname:front and pname:back will be ignored and must: be set
dynamically with flink:vkCmdSetStencilReference before any draws are
performed with a pipeline state with
sname:VkPipelineDepthStencilStateCreateInfo member
pname:stencilTestEnable set to ename:VK_TRUE
// refEnd VkDynamicState
See Also
--------
slink:VkPipelineDynamicStateCreateInfo
Document Notes
--------------
For more information, see the Vulkan Specification at URL
https://www.khronos.org/registry/vulkan/specs/1.0/xhtml/vkspec.html#VkDynamicState
This page is extracted from the Vulkan Specification.
Fixes and changes should be made to the Specification,not directly.
include::footer.txt[]