VkDynamicState(3)
C Specification
The source of different pieces of dynamic state is specified by theVkPipelineDynamicStateCreateInfo::pDynamicStates property of thecurrently active pipeline, each of whose elementsmust be one of thevalues:
// Provided by VK_VERSION_1_0typedef enum VkDynamicState { VK_DYNAMIC_STATE_VIEWPORT = 0, VK_DYNAMIC_STATE_SCISSOR = 1, VK_DYNAMIC_STATE_LINE_WIDTH = 2, VK_DYNAMIC_STATE_DEPTH_BIAS = 3, VK_DYNAMIC_STATE_BLEND_CONSTANTS = 4, VK_DYNAMIC_STATE_DEPTH_BOUNDS = 5, VK_DYNAMIC_STATE_STENCIL_COMPARE_MASK = 6, VK_DYNAMIC_STATE_STENCIL_WRITE_MASK = 7, VK_DYNAMIC_STATE_STENCIL_REFERENCE = 8, // Provided by VK_VERSION_1_3 VK_DYNAMIC_STATE_CULL_MODE = 1000267000, // Provided by VK_VERSION_1_3 VK_DYNAMIC_STATE_FRONT_FACE = 1000267001, // Provided by VK_VERSION_1_3 VK_DYNAMIC_STATE_PRIMITIVE_TOPOLOGY = 1000267002, // Provided by VK_VERSION_1_3 VK_DYNAMIC_STATE_VIEWPORT_WITH_COUNT = 1000267003, // Provided by VK_VERSION_1_3 VK_DYNAMIC_STATE_SCISSOR_WITH_COUNT = 1000267004, // Provided by VK_VERSION_1_3 VK_DYNAMIC_STATE_VERTEX_INPUT_BINDING_STRIDE = 1000267005, // Provided by VK_VERSION_1_3 VK_DYNAMIC_STATE_DEPTH_TEST_ENABLE = 1000267006, // Provided by VK_VERSION_1_3 VK_DYNAMIC_STATE_DEPTH_WRITE_ENABLE = 1000267007, // Provided by VK_VERSION_1_3 VK_DYNAMIC_STATE_DEPTH_COMPARE_OP = 1000267008, // Provided by VK_VERSION_1_3 VK_DYNAMIC_STATE_DEPTH_BOUNDS_TEST_ENABLE = 1000267009, // Provided by VK_VERSION_1_3 VK_DYNAMIC_STATE_STENCIL_TEST_ENABLE = 1000267010, // Provided by VK_VERSION_1_3 VK_DYNAMIC_STATE_STENCIL_OP = 1000267011, // Provided by VK_VERSION_1_3 VK_DYNAMIC_STATE_RASTERIZER_DISCARD_ENABLE = 1000377001, // Provided by VK_VERSION_1_3 VK_DYNAMIC_STATE_DEPTH_BIAS_ENABLE = 1000377002, // Provided by VK_VERSION_1_3 VK_DYNAMIC_STATE_PRIMITIVE_RESTART_ENABLE = 1000377004, // Provided by VK_VERSION_1_4 VK_DYNAMIC_STATE_LINE_STIPPLE = 1000259000, // Provided by VK_NV_clip_space_w_scaling VK_DYNAMIC_STATE_VIEWPORT_W_SCALING_NV = 1000087000, // Provided by VK_EXT_discard_rectangles VK_DYNAMIC_STATE_DISCARD_RECTANGLE_EXT = 1000099000, // Provided by VK_EXT_discard_rectangles VK_DYNAMIC_STATE_DISCARD_RECTANGLE_ENABLE_EXT = 1000099001, // Provided by VK_EXT_discard_rectangles VK_DYNAMIC_STATE_DISCARD_RECTANGLE_MODE_EXT = 1000099002, // Provided by VK_EXT_sample_locations VK_DYNAMIC_STATE_SAMPLE_LOCATIONS_EXT = 1000143000, // Provided by VK_KHR_ray_tracing_pipeline VK_DYNAMIC_STATE_RAY_TRACING_PIPELINE_STACK_SIZE_KHR = 1000347000, // Provided by VK_NV_shading_rate_image VK_DYNAMIC_STATE_VIEWPORT_SHADING_RATE_PALETTE_NV = 1000164004, // Provided by VK_NV_shading_rate_image VK_DYNAMIC_STATE_VIEWPORT_COARSE_SAMPLE_ORDER_NV = 1000164006, // Provided by VK_NV_scissor_exclusive VK_DYNAMIC_STATE_EXCLUSIVE_SCISSOR_ENABLE_NV = 1000205000, // Provided by VK_NV_scissor_exclusive VK_DYNAMIC_STATE_EXCLUSIVE_SCISSOR_NV = 1000205001, // Provided by VK_KHR_fragment_shading_rate VK_DYNAMIC_STATE_FRAGMENT_SHADING_RATE_KHR = 1000226000, // Provided by VK_EXT_vertex_input_dynamic_state VK_DYNAMIC_STATE_VERTEX_INPUT_EXT = 1000352000, // Provided by VK_EXT_extended_dynamic_state2 VK_DYNAMIC_STATE_PATCH_CONTROL_POINTS_EXT = 1000377000, // Provided by VK_EXT_extended_dynamic_state2 VK_DYNAMIC_STATE_LOGIC_OP_EXT = 1000377003, // Provided by VK_EXT_color_write_enable VK_DYNAMIC_STATE_COLOR_WRITE_ENABLE_EXT = 1000381000, // Provided by VK_EXT_extended_dynamic_state3 VK_DYNAMIC_STATE_DEPTH_CLAMP_ENABLE_EXT = 1000455003, // Provided by VK_EXT_extended_dynamic_state3 VK_DYNAMIC_STATE_POLYGON_MODE_EXT = 1000455004, // Provided by VK_EXT_extended_dynamic_state3 VK_DYNAMIC_STATE_RASTERIZATION_SAMPLES_EXT = 1000455005, // Provided by VK_EXT_extended_dynamic_state3 VK_DYNAMIC_STATE_SAMPLE_MASK_EXT = 1000455006, // Provided by VK_EXT_extended_dynamic_state3 VK_DYNAMIC_STATE_ALPHA_TO_COVERAGE_ENABLE_EXT = 1000455007, // Provided by VK_EXT_extended_dynamic_state3 VK_DYNAMIC_STATE_ALPHA_TO_ONE_ENABLE_EXT = 1000455008, // Provided by VK_EXT_extended_dynamic_state3 VK_DYNAMIC_STATE_LOGIC_OP_ENABLE_EXT = 1000455009, // Provided by VK_EXT_extended_dynamic_state3 VK_DYNAMIC_STATE_COLOR_BLEND_ENABLE_EXT = 1000455010, // Provided by VK_EXT_extended_dynamic_state3 VK_DYNAMIC_STATE_COLOR_BLEND_EQUATION_EXT = 1000455011, // Provided by VK_EXT_extended_dynamic_state3 VK_DYNAMIC_STATE_COLOR_WRITE_MASK_EXT = 1000455012, // Provided by VK_EXT_extended_dynamic_state3 with VK_KHR_maintenance2 or VK_VERSION_1_1 VK_DYNAMIC_STATE_TESSELLATION_DOMAIN_ORIGIN_EXT = 1000455002, // Provided by VK_EXT_extended_dynamic_state3 with VK_EXT_transform_feedback VK_DYNAMIC_STATE_RASTERIZATION_STREAM_EXT = 1000455013, // Provided by VK_EXT_conservative_rasterization with VK_EXT_extended_dynamic_state3 VK_DYNAMIC_STATE_CONSERVATIVE_RASTERIZATION_MODE_EXT = 1000455014, // Provided by VK_EXT_conservative_rasterization with VK_EXT_extended_dynamic_state3 VK_DYNAMIC_STATE_EXTRA_PRIMITIVE_OVERESTIMATION_SIZE_EXT = 1000455015, // Provided by VK_EXT_depth_clip_enable with VK_EXT_extended_dynamic_state3 VK_DYNAMIC_STATE_DEPTH_CLIP_ENABLE_EXT = 1000455016, // Provided by VK_EXT_extended_dynamic_state3 with VK_EXT_sample_locations VK_DYNAMIC_STATE_SAMPLE_LOCATIONS_ENABLE_EXT = 1000455017, // Provided by VK_EXT_blend_operation_advanced with VK_EXT_extended_dynamic_state3 VK_DYNAMIC_STATE_COLOR_BLEND_ADVANCED_EXT = 1000455018, // Provided by VK_EXT_extended_dynamic_state3 with VK_EXT_provoking_vertex VK_DYNAMIC_STATE_PROVOKING_VERTEX_MODE_EXT = 1000455019, // Provided by VK_EXT_extended_dynamic_state3 with VK_EXT_line_rasterization VK_DYNAMIC_STATE_LINE_RASTERIZATION_MODE_EXT = 1000455020, // Provided by VK_EXT_extended_dynamic_state3 with VK_EXT_line_rasterization VK_DYNAMIC_STATE_LINE_STIPPLE_ENABLE_EXT = 1000455021, // Provided by VK_EXT_depth_clip_control with VK_EXT_extended_dynamic_state3 VK_DYNAMIC_STATE_DEPTH_CLIP_NEGATIVE_ONE_TO_ONE_EXT = 1000455022, // Provided by VK_EXT_extended_dynamic_state3 with VK_NV_clip_space_w_scaling VK_DYNAMIC_STATE_VIEWPORT_W_SCALING_ENABLE_NV = 1000455023, // Provided by VK_EXT_extended_dynamic_state3 with VK_NV_viewport_swizzle VK_DYNAMIC_STATE_VIEWPORT_SWIZZLE_NV = 1000455024, // Provided by VK_EXT_extended_dynamic_state3 with VK_NV_fragment_coverage_to_color VK_DYNAMIC_STATE_COVERAGE_TO_COLOR_ENABLE_NV = 1000455025, // Provided by VK_EXT_extended_dynamic_state3 with VK_NV_fragment_coverage_to_color VK_DYNAMIC_STATE_COVERAGE_TO_COLOR_LOCATION_NV = 1000455026, // Provided by VK_EXT_extended_dynamic_state3 with VK_NV_framebuffer_mixed_samples VK_DYNAMIC_STATE_COVERAGE_MODULATION_MODE_NV = 1000455027, // Provided by VK_EXT_extended_dynamic_state3 with VK_NV_framebuffer_mixed_samples VK_DYNAMIC_STATE_COVERAGE_MODULATION_TABLE_ENABLE_NV = 1000455028, // Provided by VK_EXT_extended_dynamic_state3 with VK_NV_framebuffer_mixed_samples VK_DYNAMIC_STATE_COVERAGE_MODULATION_TABLE_NV = 1000455029, // Provided by VK_EXT_extended_dynamic_state3 with VK_NV_shading_rate_image VK_DYNAMIC_STATE_SHADING_RATE_IMAGE_ENABLE_NV = 1000455030, // Provided by VK_EXT_extended_dynamic_state3 with VK_NV_representative_fragment_test VK_DYNAMIC_STATE_REPRESENTATIVE_FRAGMENT_TEST_ENABLE_NV = 1000455031, // Provided by VK_EXT_extended_dynamic_state3 with VK_NV_coverage_reduction_mode VK_DYNAMIC_STATE_COVERAGE_REDUCTION_MODE_NV = 1000455032, // Provided by VK_EXT_attachment_feedback_loop_dynamic_state VK_DYNAMIC_STATE_ATTACHMENT_FEEDBACK_LOOP_ENABLE_EXT = 1000524000, // Provided by VK_EXT_depth_clamp_control VK_DYNAMIC_STATE_DEPTH_CLAMP_RANGE_EXT = 1000582000, // Provided by VK_EXT_line_rasterization VK_DYNAMIC_STATE_LINE_STIPPLE_EXT = VK_DYNAMIC_STATE_LINE_STIPPLE, // Provided by VK_EXT_extended_dynamic_state VK_DYNAMIC_STATE_CULL_MODE_EXT = VK_DYNAMIC_STATE_CULL_MODE, // Provided by VK_EXT_extended_dynamic_state VK_DYNAMIC_STATE_FRONT_FACE_EXT = VK_DYNAMIC_STATE_FRONT_FACE, // Provided by VK_EXT_extended_dynamic_state VK_DYNAMIC_STATE_PRIMITIVE_TOPOLOGY_EXT = VK_DYNAMIC_STATE_PRIMITIVE_TOPOLOGY, // Provided by VK_EXT_extended_dynamic_state VK_DYNAMIC_STATE_VIEWPORT_WITH_COUNT_EXT = VK_DYNAMIC_STATE_VIEWPORT_WITH_COUNT, // Provided by VK_EXT_extended_dynamic_state VK_DYNAMIC_STATE_SCISSOR_WITH_COUNT_EXT = VK_DYNAMIC_STATE_SCISSOR_WITH_COUNT, // Provided by VK_EXT_extended_dynamic_state VK_DYNAMIC_STATE_VERTEX_INPUT_BINDING_STRIDE_EXT = VK_DYNAMIC_STATE_VERTEX_INPUT_BINDING_STRIDE, // Provided by VK_EXT_extended_dynamic_state VK_DYNAMIC_STATE_DEPTH_TEST_ENABLE_EXT = VK_DYNAMIC_STATE_DEPTH_TEST_ENABLE, // Provided by VK_EXT_extended_dynamic_state VK_DYNAMIC_STATE_DEPTH_WRITE_ENABLE_EXT = VK_DYNAMIC_STATE_DEPTH_WRITE_ENABLE, // Provided by VK_EXT_extended_dynamic_state VK_DYNAMIC_STATE_DEPTH_COMPARE_OP_EXT = VK_DYNAMIC_STATE_DEPTH_COMPARE_OP, // Provided by VK_EXT_extended_dynamic_state VK_DYNAMIC_STATE_DEPTH_BOUNDS_TEST_ENABLE_EXT = VK_DYNAMIC_STATE_DEPTH_BOUNDS_TEST_ENABLE, // Provided by VK_EXT_extended_dynamic_state VK_DYNAMIC_STATE_STENCIL_TEST_ENABLE_EXT = VK_DYNAMIC_STATE_STENCIL_TEST_ENABLE, // Provided by VK_EXT_extended_dynamic_state VK_DYNAMIC_STATE_STENCIL_OP_EXT = VK_DYNAMIC_STATE_STENCIL_OP, // Provided by VK_EXT_extended_dynamic_state2 VK_DYNAMIC_STATE_RASTERIZER_DISCARD_ENABLE_EXT = VK_DYNAMIC_STATE_RASTERIZER_DISCARD_ENABLE, // Provided by VK_EXT_extended_dynamic_state2 VK_DYNAMIC_STATE_DEPTH_BIAS_ENABLE_EXT = VK_DYNAMIC_STATE_DEPTH_BIAS_ENABLE, // Provided by VK_EXT_extended_dynamic_state2 VK_DYNAMIC_STATE_PRIMITIVE_RESTART_ENABLE_EXT = VK_DYNAMIC_STATE_PRIMITIVE_RESTART_ENABLE, // Provided by VK_KHR_line_rasterization VK_DYNAMIC_STATE_LINE_STIPPLE_KHR = VK_DYNAMIC_STATE_LINE_STIPPLE,} VkDynamicState;Description
VK_DYNAMIC_STATE_VIEWPORT specifies that the
pViewportsstate inVkPipelineViewportStateCreateInfo will be ignored andmust be set dynamically withvkCmdSetViewport before any drawingcommands.The number of viewports used by a pipeline is still specified by theviewportCountmember ofVkPipelineViewportStateCreateInfo.VK_DYNAMIC_STATE_SCISSOR specifies that the
pScissorsstateinVkPipelineViewportStateCreateInfo will be ignored andmust beset dynamically withvkCmdSetScissor before any drawing commands.The number of scissor rectangles used by a pipeline is still specifiedby thescissorCountmember ofVkPipelineViewportStateCreateInfo.VK_DYNAMIC_STATE_LINE_WIDTH specifies that the
lineWidthstate inVkPipelineRasterizationStateCreateInfo will be ignoredandmust be set dynamically withvkCmdSetLineWidth before anydrawing commands that generate line primitives for the rasterizer.VK_DYNAMIC_STATE_DEPTH_BIAS specifies that any instance ofVkDepthBiasRepresentationInfoEXT included in the
pNextchain ofVkPipelineRasterizationStateCreateInfo as well as thedepthBiasConstantFactor,depthBiasClampanddepthBiasSlopeFactorstates inVkPipelineRasterizationStateCreateInfo will be ignored andmust be set dynamically withvkCmdSetDepthBiasorvkCmdSetDepthBias2EXT before any draws are performed withdepth bias enabled.VK_DYNAMIC_STATE_BLEND_CONSTANTS specifies that the
blendConstantsstate inVkPipelineColorBlendStateCreateInfowill be ignored andmust be set dynamically withvkCmdSetBlendConstants before any draws are performed with apipeline state withVkPipelineColorBlendAttachmentStatememberblendEnableset toVK_TRUE and any of the blend functionsusing a constant blend color.VK_DYNAMIC_STATE_DEPTH_BOUNDS specifies that the
minDepthBoundsandmaxDepthBoundsstates ofVkPipelineDepthStencilStateCreateInfo will be ignored andmust beset dynamically withvkCmdSetDepthBounds before any draws areperformed with a pipeline state withVkPipelineDepthStencilStateCreateInfo memberdepthBoundsTestEnableset toVK_TRUE.VK_DYNAMIC_STATE_STENCIL_COMPARE_MASK specifies that the
compareMaskstate inVkPipelineDepthStencilStateCreateInfofor bothfrontandbackwill be ignored andmust be setdynamically withvkCmdSetStencilCompareMask before any draws areperformed with a pipeline state withVkPipelineDepthStencilStateCreateInfo memberstencilTestEnableset toVK_TRUEVK_DYNAMIC_STATE_STENCIL_WRITE_MASK specifies that the
writeMaskstate inVkPipelineDepthStencilStateCreateInfo forbothfrontandbackwill be ignored andmust be setdynamically withvkCmdSetStencilWriteMask before any draws areperformed with a pipeline state withVkPipelineDepthStencilStateCreateInfo memberstencilTestEnableset toVK_TRUEVK_DYNAMIC_STATE_STENCIL_REFERENCE specifies that the
referencestate inVkPipelineDepthStencilStateCreateInfo forbothfrontandbackwill be ignored andmust be setdynamically withvkCmdSetStencilReference before any draws areperformed with a pipeline state withVkPipelineDepthStencilStateCreateInfo memberstencilTestEnableset toVK_TRUEVK_DYNAMIC_STATE_VIEWPORT_W_SCALING_NV specifies that the
pViewportWScalingsstate inVkPipelineViewportWScalingStateCreateInfoNV will be ignored andmust be set dynamically withvkCmdSetViewportWScalingNV beforeany draws are performed with a pipeline state withVkPipelineViewportWScalingStateCreateInfoNV memberviewportScalingEnableset toVK_TRUEVK_DYNAMIC_STATE_DISCARD_RECTANGLE_EXT specifies that the
pDiscardRectanglesstate inVkPipelineDiscardRectangleStateCreateInfoEXT will be ignored andmust be set dynamically withvkCmdSetDiscardRectangleEXT beforeany draw or clear commands.VK_DYNAMIC_STATE_DISCARD_RECTANGLE_ENABLE_EXT specifies that thepresence of theVkPipelineDiscardRectangleStateCreateInfoEXTstructure in theVkGraphicsPipelineCreateInfo chain with a
discardRectangleCountgreater than zero does not implicitly enablediscard rectangles and theymust be enabled dynamically withvkCmdSetDiscardRectangleEnableEXT before any draw commands.This is available on implementations that support at leastspecVersion2of theVK_EXT_discard_rectanglesextension.VK_DYNAMIC_STATE_DISCARD_RECTANGLE_MODE_EXT specifies that the
discardRectangleModestate inVkPipelineDiscardRectangleStateCreateInfoEXT will be ignored andmust be set dynamically withvkCmdSetDiscardRectangleModeEXTbefore any draw commands.This is available on implementations that support at leastspecVersion2of theVK_EXT_discard_rectanglesextension.VK_DYNAMIC_STATE_SAMPLE_LOCATIONS_EXT specifies that the
sampleLocationsInfostate inVkPipelineSampleLocationsStateCreateInfoEXT will be ignored andmust be set dynamically withvkCmdSetSampleLocationsEXT beforeany draw or clear commands.Enabling custom sample locations is still indicated by thesampleLocationsEnablemember ofVkPipelineSampleLocationsStateCreateInfoEXT.VK_DYNAMIC_STATE_EXCLUSIVE_SCISSOR_NV specifies that the
pExclusiveScissorsstate inVkPipelineViewportExclusiveScissorStateCreateInfoNV will beignored andmust be set dynamically withvkCmdSetExclusiveScissorNV before any drawing commands.VK_DYNAMIC_STATE_EXCLUSIVE_SCISSOR_ENABLE_NV specifies that theexclusive scissorsmust be explicitly enabled withvkCmdSetExclusiveScissorEnableNV and the
exclusiveScissorCountvalue inVkPipelineViewportExclusiveScissorStateCreateInfoNV will notimplicitly enable them.This is available on implementations that support at leastspecVersion2of theVK_NV_scissor_exclusiveextension.VK_DYNAMIC_STATE_VIEWPORT_SHADING_RATE_PALETTE_NV specifies thatthe
pShadingRatePalettesstate inVkPipelineViewportShadingRateImageStateCreateInfoNV will beignored andmust be set dynamically withvkCmdSetViewportShadingRatePaletteNV before any drawing commands.VK_DYNAMIC_STATE_VIEWPORT_COARSE_SAMPLE_ORDER_NV specifies thatthe coarse sample order state inVkPipelineViewportCoarseSampleOrderStateCreateInfoNV will beignored andmust be set dynamically withvkCmdSetCoarseSampleOrderNV before any drawing commands.
VK_DYNAMIC_STATE_LINE_STIPPLE specifies that the
lineStippleFactorandlineStipplePatternstate inVkPipelineRasterizationLineStateCreateInfo will be ignored andmust be set dynamically withvkCmdSetLineStipple before any drawsare performed with a pipeline state withVkPipelineRasterizationLineStateCreateInfo memberstippledLineEnableset toVK_TRUE.VK_DYNAMIC_STATE_CULL_MODE specifies that the
cullModestateinVkPipelineRasterizationStateCreateInfo will be ignored andmust be set dynamically withvkCmdSetCullMode before any drawingcommands.VK_DYNAMIC_STATE_FRONT_FACE specifies that the
frontFacestate inVkPipelineRasterizationStateCreateInfo will be ignoredandmust be set dynamically withvkCmdSetFrontFace before anydrawing commands.VK_DYNAMIC_STATE_PRIMITIVE_TOPOLOGY specifies that the
topologystate inVkPipelineInputAssemblyStateCreateInfoonly specifies thetopology class,and the specific topology order and adjacencymust be set dynamicallywithvkCmdSetPrimitiveTopology before any drawing commands.VK_DYNAMIC_STATE_VIEWPORT_WITH_COUNT specifies that the
viewportCountandpViewportsstate inVkPipelineViewportStateCreateInfo will be ignored andmust be setdynamically withvkCmdSetViewportWithCount before any draw call.VK_DYNAMIC_STATE_SCISSOR_WITH_COUNT specifies that the
scissorCountandpScissorsstate inVkPipelineViewportStateCreateInfo will be ignored andmust be setdynamically withvkCmdSetScissorWithCount before any draw call.VK_DYNAMIC_STATE_VERTEX_INPUT_BINDING_STRIDE specifies that the
stridestate inVkVertexInputBindingDescription will beignored andmust be set dynamically withvkCmdBindVertexBuffers2before any draw call.VK_DYNAMIC_STATE_DEPTH_TEST_ENABLE specifies that the
depthTestEnablestate inVkPipelineDepthStencilStateCreateInfo will be ignored andmust beset dynamically withvkCmdSetDepthTestEnable before any draw call.VK_DYNAMIC_STATE_DEPTH_WRITE_ENABLE specifies that the
depthWriteEnablestate inVkPipelineDepthStencilStateCreateInfo will be ignored andmust beset dynamically withvkCmdSetDepthWriteEnable before any drawcall.VK_DYNAMIC_STATE_DEPTH_COMPARE_OP specifies that the
depthCompareOpstate inVkPipelineDepthStencilStateCreateInfo will be ignored andmust beset dynamically withvkCmdSetDepthCompareOp before any draw call.VK_DYNAMIC_STATE_DEPTH_BOUNDS_TEST_ENABLE specifies that the
depthBoundsTestEnablestate inVkPipelineDepthStencilStateCreateInfo will be ignored andmust beset dynamically withvkCmdSetDepthBoundsTestEnable before any drawcall.VK_DYNAMIC_STATE_STENCIL_TEST_ENABLE specifies that the
stencilTestEnablestate inVkPipelineDepthStencilStateCreateInfo will be ignored andmust beset dynamically withvkCmdSetStencilTestEnable before any drawcall.VK_DYNAMIC_STATE_STENCIL_OP specifies that the
failOp,passOp,depthFailOp, andcompareOpstates inVkPipelineDepthStencilStateCreateInfofor bothfrontandbackwill be ignored andmust be set dynamically withvkCmdSetStencilOp before any draws are performed with a pipelinestate withVkPipelineDepthStencilStateCreateInfomemberstencilTestEnableset toVK_TRUEVK_DYNAMIC_STATE_PATCH_CONTROL_POINTS_EXT specifies that the
patchControlPointsstate inVkPipelineTessellationStateCreateInfo will be ignored andmust beset dynamically withvkCmdSetPatchControlPointsEXT before anydrawing commands.VK_DYNAMIC_STATE_RASTERIZER_DISCARD_ENABLE specifies that the
rasterizerDiscardEnablestate inVkPipelineRasterizationStateCreateInfo will be ignored andmustbe set dynamically withvkCmdSetRasterizerDiscardEnable before anydrawing commands.VK_DYNAMIC_STATE_DEPTH_BIAS_ENABLE specifies that the
depthBiasEnablestate inVkPipelineRasterizationStateCreateInfo will be ignored andmustbe set dynamically withvkCmdSetDepthBiasEnable before any drawingcommands.VK_DYNAMIC_STATE_LOGIC_OP_EXT specifies that the
logicOpstate inVkPipelineColorBlendStateCreateInfo will be ignored andmust be set dynamically withvkCmdSetLogicOpEXT before anydrawing commands.VK_DYNAMIC_STATE_PRIMITIVE_RESTART_ENABLE specifies that the
primitiveRestartEnablestate inVkPipelineInputAssemblyStateCreateInfo will be ignored andmustbe set dynamically withvkCmdSetPrimitiveRestartEnable before anydrawing commands.VK_DYNAMIC_STATE_FRAGMENT_SHADING_RATE_KHR specifies that state inVkPipelineFragmentShadingRateStateCreateInfoKHRandVkPipelineFragmentShadingRateEnumStateCreateInfoNVwill be ignored andmust be set dynamically withvkCmdSetFragmentShadingRateKHRorvkCmdSetFragmentShadingRateEnumNVbefore any drawing commands.
VK_DYNAMIC_STATE_RAY_TRACING_PIPELINE_STACK_SIZE_KHR specifiesthat the default stack size computation for the pipeline will be ignoredandmust be set dynamically withvkCmdSetRayTracingPipelineStackSizeKHR before any ray tracingcalls are performed.
VK_DYNAMIC_STATE_VERTEX_INPUT_EXT specifies that the
pVertexInputStatestate will be ignored andmust be setdynamically withvkCmdSetVertexInputEXT before any drawingcommandsVK_DYNAMIC_STATE_COLOR_WRITE_ENABLE_EXT specifies that the
pColorWriteEnablesstate inVkPipelineColorWriteCreateInfoEXT will be ignored andmust be setdynamically withvkCmdSetColorWriteEnableEXT before any draw call.VK_DYNAMIC_STATE_TESSELLATION_DOMAIN_ORIGIN_EXT specifies that the
domainOriginstate inVkPipelineTessellationDomainOriginStateCreateInfo will be ignoredandmust be set dynamically withvkCmdSetTessellationDomainOriginEXT before any draw call.VK_DYNAMIC_STATE_DEPTH_CLAMP_ENABLE_EXT specifies that the
depthClampEnablestate inVkPipelineRasterizationStateCreateInfo will be ignored andmustbe set dynamically withvkCmdSetDepthClampEnableEXT before anydraw call.VK_DYNAMIC_STATE_POLYGON_MODE_EXT specifies that the
polygonModestate inVkPipelineRasterizationStateCreateInfowill be ignored andmust be set dynamically withvkCmdSetPolygonModeEXT before any draw call.VK_DYNAMIC_STATE_RASTERIZATION_SAMPLES_EXT specifies that the
rasterizationSamplesstate inVkPipelineMultisampleStateCreateInfo will be ignored andmust beset dynamically withvkCmdSetRasterizationSamplesEXT before anydraw call.VK_DYNAMIC_STATE_SAMPLE_MASK_EXT specifies that the
pSampleMaskstate inVkPipelineMultisampleStateCreateInfowill be ignored andmust be set dynamically withvkCmdSetSampleMaskEXT before any draw call.VK_DYNAMIC_STATE_ALPHA_TO_COVERAGE_ENABLE_EXT specifies that the
alphaToCoverageEnablestate inVkPipelineMultisampleStateCreateInfo will be ignored andmust beset dynamically withvkCmdSetAlphaToCoverageEnableEXT before anydraw call.VK_DYNAMIC_STATE_ALPHA_TO_ONE_ENABLE_EXT specifies that the
alphaToOneEnablestate inVkPipelineMultisampleStateCreateInfo will be ignored andmust beset dynamically withvkCmdSetAlphaToOneEnableEXT before any drawcall.VK_DYNAMIC_STATE_LOGIC_OP_ENABLE_EXT specifies that the
logicOpEnablestate inVkPipelineColorBlendStateCreateInfowill be ignored andmust be set dynamically withvkCmdSetLogicOpEnableEXT before any draw call.VK_DYNAMIC_STATE_COLOR_BLEND_ENABLE_EXT specifies that the
blendEnablestate inVkPipelineColorBlendAttachmentStatewill be ignored andmust be set dynamically withvkCmdSetColorBlendEnableEXT before any draw call.VK_DYNAMIC_STATE_COLOR_BLEND_EQUATION_EXT specifies that the
srcColorBlendFactor,dstColorBlendFactor,colorBlendOp,srcAlphaBlendFactor,dstAlphaBlendFactor, andalphaBlendOpstates inVkPipelineColorBlendAttachmentState will be ignored andmust beset dynamically withvkCmdSetColorBlendEquationEXT before any drawcall.VK_DYNAMIC_STATE_COLOR_WRITE_MASK_EXT specifies that the
colorWriteMaskstate inVkPipelineColorBlendAttachmentStatewill be ignored andmust be set dynamically withvkCmdSetColorWriteMaskEXT before any draw call.VK_DYNAMIC_STATE_RASTERIZATION_STREAM_EXT specifies that the
rasterizationStreamstate inVkPipelineRasterizationStateStreamCreateInfoEXT will be ignoredandmust be set dynamically withvkCmdSetRasterizationStreamEXTbefore any draw call.VK_DYNAMIC_STATE_CONSERVATIVE_RASTERIZATION_MODE_EXT specifiesthat the
conservativeRasterizationModestate inVkPipelineRasterizationConservativeStateCreateInfoEXT will beignored andmust be set dynamically withvkCmdSetConservativeRasterizationModeEXT before any draw call.VK_DYNAMIC_STATE_EXTRA_PRIMITIVE_OVERESTIMATION_SIZE_EXT specifiesthat the
extraPrimitiveOverestimationSizestate inVkPipelineRasterizationConservativeStateCreateInfoEXT will beignored andmust be set dynamically withvkCmdSetExtraPrimitiveOverestimationSizeEXT before any draw call.VK_DYNAMIC_STATE_DEPTH_CLIP_ENABLE_EXT specifies that the
depthClipEnablestate inVkPipelineRasterizationDepthClipStateCreateInfoEXT will be ignoredandmust be set dynamically withvkCmdSetDepthClipEnableEXTbefore any draw call.VK_DYNAMIC_STATE_SAMPLE_LOCATIONS_ENABLE_EXT specifies that the
sampleLocationsEnablestate inVkPipelineSampleLocationsStateCreateInfoEXT will be ignored andmust be set dynamically withvkCmdSetSampleLocationsEnableEXTbefore any draw call.VK_DYNAMIC_STATE_COLOR_BLEND_ADVANCED_EXT specifies that the
colorBlendOpstate inVkPipelineColorBlendAttachmentState,andsrcPremultiplied,dstPremultiplied, andblendOverlapstates inVkPipelineColorBlendAdvancedStateCreateInfoEXT will be ignored andmust be set dynamically withvkCmdSetColorBlendAdvancedEXT beforeany draw call.VK_DYNAMIC_STATE_PROVOKING_VERTEX_MODE_EXT specifies that the
provokingVertexModestate inVkPipelineRasterizationProvokingVertexStateCreateInfoEXT will beignored andmust be set dynamically withvkCmdSetProvokingVertexModeEXT before any draw call.VK_DYNAMIC_STATE_LINE_RASTERIZATION_MODE_EXT specifies that the
lineRasterizationModestate inVkPipelineRasterizationLineStateCreateInfo will be ignored andmust be set dynamically withvkCmdSetLineRasterizationModeEXTbefore any draw call.VK_DYNAMIC_STATE_LINE_STIPPLE_ENABLE_EXT specifies that the
stippledLineEnablestate inVkPipelineRasterizationLineStateCreateInfo will be ignored andmust be set dynamically withvkCmdSetLineStippleEnableEXT beforeany draw call.VK_DYNAMIC_STATE_DEPTH_CLIP_NEGATIVE_ONE_TO_ONE_EXT specifies thatthe
negativeOneToOnestate inVkPipelineViewportDepthClipControlCreateInfoEXT will be ignoredandmust be set dynamically withvkCmdSetDepthClipNegativeOneToOneEXT before any draw call.VK_DYNAMIC_STATE_DEPTH_CLAMP_RANGE_EXT specifies that the
depthClampModeandpDepthClampRangestate inVkPipelineViewportDepthClampControlCreateInfoEXT will be ignoredandmust be set dynamically withvkCmdSetDepthClampRangeEXTbefore any draw call.VK_DYNAMIC_STATE_VIEWPORT_W_SCALING_ENABLE_NV specifies that the
viewportWScalingEnablestate inVkPipelineViewportWScalingStateCreateInfoNV will be ignored andmust be set dynamically withvkCmdSetViewportWScalingEnableNVbefore any draw call.VK_DYNAMIC_STATE_VIEWPORT_SWIZZLE_NV specifies that the
viewportCount, andpViewportSwizzlesstates inVkPipelineViewportSwizzleStateCreateInfoNV will be ignored andmust be set dynamically withvkCmdSetViewportSwizzleNV before anydraw call.VK_DYNAMIC_STATE_COVERAGE_TO_COLOR_ENABLE_NV specifies that the
coverageToColorEnablestate inVkPipelineCoverageToColorStateCreateInfoNV will be ignored andmust be set dynamically withvkCmdSetCoverageToColorEnableNVbefore any draw call.VK_DYNAMIC_STATE_COVERAGE_TO_COLOR_LOCATION_NV specifies that the
coverageToColorLocationstate inVkPipelineCoverageToColorStateCreateInfoNV will be ignored andmust be set dynamically withvkCmdSetCoverageToColorLocationNVbefore any draw call.VK_DYNAMIC_STATE_COVERAGE_MODULATION_MODE_NV specifies that the
coverageModulationModestate inVkPipelineCoverageModulationStateCreateInfoNV will be ignored andmust be set dynamically withvkCmdSetCoverageModulationModeNVbefore any draw call.VK_DYNAMIC_STATE_COVERAGE_MODULATION_TABLE_ENABLE_NV specifiesthat the
coverageModulationTableEnablestate inVkPipelineCoverageModulationStateCreateInfoNV will be ignored andmust be set dynamically withvkCmdSetCoverageModulationTableEnableNV before any draw call.VK_DYNAMIC_STATE_COVERAGE_MODULATION_TABLE_NV specifies that the
coverageModulationTableCount, andpCoverageModulationTablestates inVkPipelineCoverageModulationStateCreateInfoNV will beignored andmust be set dynamically withvkCmdSetCoverageModulationTableNV before any draw call.VK_DYNAMIC_STATE_SHADING_RATE_IMAGE_ENABLE_NV specifies that the
shadingRateImageEnablestate inVkPipelineViewportShadingRateImageStateCreateInfoNV will beignored andmust be set dynamically withvkCmdSetShadingRateImageEnableNV before any draw call.VK_DYNAMIC_STATE_REPRESENTATIVE_FRAGMENT_TEST_ENABLE_NV specifiesthat the
representativeFragmentTestEnablestate inVkPipelineRepresentativeFragmentTestStateCreateInfoNV will beignored andmust be set dynamically withvkCmdSetRepresentativeFragmentTestEnableNV before any draw call.VK_DYNAMIC_STATE_COVERAGE_REDUCTION_MODE_NV specifies that the
coverageReductionModestate inVkPipelineCoverageReductionStateCreateInfoNV will be ignored andmust be set dynamically withvkCmdSetCoverageReductionModeNVbefore any draw call.VK_DYNAMIC_STATE_ATTACHMENT_FEEDBACK_LOOP_ENABLE_EXT specifiesthat theVK_PIPELINE_CREATE_COLOR_ATTACHMENT_FEEDBACK_LOOP_BIT_EXTandVK_PIPELINE_CREATE_DEPTH_STENCIL_ATTACHMENT_FEEDBACK_LOOP_BIT_EXTflags will be ignored andmust be set dynamically withvkCmdSetAttachmentFeedbackLoopEnableEXT before any draw call.
Document Notes
For more information, see theVulkan Specification.
This page is extracted from the Vulkan Specification.Fixes and changes should be made to the Specification, not directly.