From 98c69878309e9850b5862f4ed5dfb67b7b2508ad Mon Sep 17 00:00:00 2001 From: spencer-lunarg Date: Thu, 13 Jun 2024 13:26:20 -0500 Subject: [PATCH] layers: Move more dynamic state VUs as combined --- layers/core_checks/cc_cmd_buffer_dynamic.cpp | 155 ++++++++-------- layers/drawdispatch/drawdispatch_vuids.cpp | 165 ------------------ layers/drawdispatch/drawdispatch_vuids.h | 11 -- layers/state_tracker/pipeline_state.cpp | 11 ++ layers/state_tracker/pipeline_state.h | 1 + .../vulkan/generated/dynamic_state_helper.cpp | 71 +++++++- scripts/generators/dynamic_state_generator.py | 33 +++- tests/unit/dynamic_state.cpp | 33 +++- tests/unit/shader_object.cpp | 47 +++-- 9 files changed, 252 insertions(+), 275 deletions(-) diff --git a/layers/core_checks/cc_cmd_buffer_dynamic.cpp b/layers/core_checks/cc_cmd_buffer_dynamic.cpp index 05ebe0916a1..6ed9d577611 100644 --- a/layers/core_checks/cc_cmd_buffer_dynamic.cpp +++ b/layers/core_checks/cc_cmd_buffer_dynamic.cpp @@ -48,6 +48,51 @@ bool CoreChecks::ValidateDynamicStateIsSet(const LastBound& last_bound_state, co case CB_DYNAMIC_STATE_DEPTH_BOUNDS: vuid_str = vuid.dynamic_depth_bounds_07836; break; + case CB_DYNAMIC_STATE_CULL_MODE: + vuid_str = vuid.dynamic_cull_mode_07840; + break; + case CB_DYNAMIC_STATE_DEPTH_TEST_ENABLE: + vuid_str = vuid.dynamic_depth_test_enable_07843; + break; + case CB_DYNAMIC_STATE_DEPTH_WRITE_ENABLE: + vuid_str = vuid.dynamic_depth_write_enable_07844; + break; + case CB_DYNAMIC_STATE_STENCIL_TEST_ENABLE: + vuid_str = vuid.dynamic_stencil_test_enable_07847; + break; + case CB_DYNAMIC_STATE_DEPTH_BIAS_ENABLE: + vuid_str = vuid.depth_bias_enable_04877; + break; + case CB_DYNAMIC_STATE_DEPTH_BOUNDS_TEST_ENABLE: + vuid_str = vuid.dynamic_depth_bound_test_enable_07846; + break; + case CB_DYNAMIC_STATE_PRIMITIVE_TOPOLOGY: + vuid_str = vuid.dynamic_primitive_topology_07842; + break; + case CB_DYNAMIC_STATE_PRIMITIVE_RESTART_ENABLE: + vuid_str = vuid.primitive_restart_enable_04879; + break; + case CB_DYNAMIC_STATE_VERTEX_INPUT_EXT: + vuid_str = vuid.vertex_input_04914; + break; + case CB_DYNAMIC_STATE_FRAGMENT_SHADING_RATE_KHR: + vuid_str = vuid.set_fragment_shading_rate_09238; + break; + case CB_DYNAMIC_STATE_LOGIC_OP_EXT: + vuid_str = vuid.logic_op_04878; + break; + case CB_DYNAMIC_STATE_POLYGON_MODE_EXT: + vuid_str = vuid.dynamic_polygon_mode_07621; + break; + case CB_DYNAMIC_STATE_RASTERIZATION_SAMPLES_EXT: + vuid_str = vuid.dynamic_rasterization_samples_07622; + break; + case CB_DYNAMIC_STATE_SAMPLE_MASK_EXT: + vuid_str = vuid.dynamic_sample_mask_07623; + break; + case CB_DYNAMIC_STATE_ALPHA_TO_ONE_ENABLE_EXT: + vuid_str = vuid.dynamic_alpha_to_one_enable_07625; + break; default: assert(false); break; @@ -65,15 +110,27 @@ bool CoreChecks::ValidateDynamicStateIsSet(const LastBound& last_bound_state, co bool CoreChecks::ValidateGraphicsDynamicStateSetStatus(const LastBound& last_bound_state, const vvl::DrawDispatchVuid& vuid) const { bool skip = false; const vvl::CommandBuffer& cb_state = last_bound_state.cb_state; + const bool has_pipeline = last_bound_state.pipeline_state != nullptr; + bool vertex_shader_bound = has_pipeline || last_bound_state.IsValidShaderBound(ShaderObjectStage::VERTEX); + bool fragment_shader_bound = has_pipeline || last_bound_state.IsValidShaderBound(ShaderObjectStage::FRAGMENT); // build the mask of what has been set in the Pipeline, but yet to be set in the Command Buffer, // for Shader Object, everything is dynamic don't need a mask const CBDynamicFlags state_status_cb = - last_bound_state.pipeline_state ? (~((cb_state.dynamic_state_status.cb ^ last_bound_state.pipeline_state->dynamic_state) & - last_bound_state.pipeline_state->dynamic_state)) - : cb_state.dynamic_state_status.cb; + has_pipeline ? (~((cb_state.dynamic_state_status.cb ^ last_bound_state.pipeline_state->dynamic_state) & + last_bound_state.pipeline_state->dynamic_state)) + : cb_state.dynamic_state_status.cb; if (!last_bound_state.IsRasterizationDisabled()) { + skip |= ValidateDynamicStateIsSet(last_bound_state, state_status_cb, CB_DYNAMIC_STATE_CULL_MODE, vuid); + skip |= ValidateDynamicStateIsSet(last_bound_state, state_status_cb, CB_DYNAMIC_STATE_DEPTH_TEST_ENABLE, vuid); + skip |= ValidateDynamicStateIsSet(last_bound_state, state_status_cb, CB_DYNAMIC_STATE_DEPTH_WRITE_ENABLE, vuid); + skip |= ValidateDynamicStateIsSet(last_bound_state, state_status_cb, CB_DYNAMIC_STATE_STENCIL_TEST_ENABLE, vuid); + skip |= ValidateDynamicStateIsSet(last_bound_state, state_status_cb, CB_DYNAMIC_STATE_DEPTH_BIAS_ENABLE, vuid); + skip |= ValidateDynamicStateIsSet(last_bound_state, state_status_cb, CB_DYNAMIC_STATE_POLYGON_MODE_EXT, vuid); + skip |= ValidateDynamicStateIsSet(last_bound_state, state_status_cb, CB_DYNAMIC_STATE_RASTERIZATION_SAMPLES_EXT, vuid); + skip |= ValidateDynamicStateIsSet(last_bound_state, state_status_cb, CB_DYNAMIC_STATE_SAMPLE_MASK_EXT, vuid); + if (last_bound_state.IsDepthTestEnable()) { skip |= ValidateDynamicStateIsSet(last_bound_state, state_status_cb, CB_DYNAMIC_STATE_DEPTH_COMPARE_OP, vuid); } @@ -83,7 +140,30 @@ bool CoreChecks::ValidateGraphicsDynamicStateSetStatus(const LastBound& last_bou if (last_bound_state.IsDepthBoundTestEnable()) { skip |= ValidateDynamicStateIsSet(last_bound_state, state_status_cb, CB_DYNAMIC_STATE_DEPTH_BOUNDS, vuid); } + if (enabled_features.depthBounds) { + skip |= ValidateDynamicStateIsSet(last_bound_state, state_status_cb, CB_DYNAMIC_STATE_DEPTH_BOUNDS_TEST_ENABLE, vuid); + } + if (enabled_features.alphaToOne) { + skip |= ValidateDynamicStateIsSet(last_bound_state, state_status_cb, CB_DYNAMIC_STATE_ALPHA_TO_ONE_ENABLE_EXT, vuid); + } + + if (fragment_shader_bound) { + if (enabled_features.pipelineFragmentShadingRate) { + skip |= + ValidateDynamicStateIsSet(last_bound_state, state_status_cb, CB_DYNAMIC_STATE_FRAGMENT_SHADING_RATE_KHR, vuid); + } + if (last_bound_state.IsLogicOpEnabled()) { + skip |= ValidateDynamicStateIsSet(last_bound_state, state_status_cb, CB_DYNAMIC_STATE_LOGIC_OP_EXT, vuid); + } + } } + + if (vertex_shader_bound) { + skip |= ValidateDynamicStateIsSet(last_bound_state, state_status_cb, CB_DYNAMIC_STATE_PRIMITIVE_TOPOLOGY, vuid); + skip |= ValidateDynamicStateIsSet(last_bound_state, state_status_cb, CB_DYNAMIC_STATE_PRIMITIVE_RESTART_ENABLE, vuid); + skip |= ValidateDynamicStateIsSet(last_bound_state, state_status_cb, CB_DYNAMIC_STATE_VERTEX_INPUT_EXT, vuid); + } + return skip; } @@ -126,20 +206,8 @@ bool CoreChecks::ValidateGraphicsDynamicStatePipelineSetStatus(const LastBound& // VK_EXT_extended_dynamic_state { - skip |= ValidateDynamicStateIsSet(state_status_cb, CB_DYNAMIC_STATE_CULL_MODE, cb_state, objlist, loc, - vuid.dynamic_cull_mode_07840); skip |= ValidateDynamicStateIsSet(state_status_cb, CB_DYNAMIC_STATE_FRONT_FACE, cb_state, objlist, loc, vuid.dynamic_front_face_07841); - skip |= ValidateDynamicStateIsSet(state_status_cb, CB_DYNAMIC_STATE_PRIMITIVE_TOPOLOGY, cb_state, objlist, loc, - vuid.dynamic_primitive_topology_07842); - skip |= ValidateDynamicStateIsSet(state_status_cb, CB_DYNAMIC_STATE_DEPTH_TEST_ENABLE, cb_state, objlist, loc, - vuid.dynamic_depth_test_enable_07843); - skip |= ValidateDynamicStateIsSet(state_status_cb, CB_DYNAMIC_STATE_DEPTH_WRITE_ENABLE, cb_state, objlist, loc, - vuid.dynamic_depth_write_enable_07844); - skip |= ValidateDynamicStateIsSet(state_status_cb, CB_DYNAMIC_STATE_DEPTH_BOUNDS_TEST_ENABLE, cb_state, objlist, loc, - vuid.dynamic_depth_bound_test_enable_07846); - skip |= ValidateDynamicStateIsSet(state_status_cb, CB_DYNAMIC_STATE_STENCIL_TEST_ENABLE, cb_state, objlist, loc, - vuid.dynamic_stencil_test_enable_07847); skip |= ValidateDynamicStateIsSet(state_status_cb, CB_DYNAMIC_STATE_STENCIL_OP, cb_state, objlist, loc, vuid.dynamic_stencil_op_07848); } @@ -150,30 +218,16 @@ bool CoreChecks::ValidateGraphicsDynamicStatePipelineSetStatus(const LastBound& vuid.patch_control_points_04875); skip |= ValidateDynamicStateIsSet(state_status_cb, CB_DYNAMIC_STATE_RASTERIZER_DISCARD_ENABLE, cb_state, objlist, loc, vuid.rasterizer_discard_enable_04876); - skip |= ValidateDynamicStateIsSet(state_status_cb, CB_DYNAMIC_STATE_DEPTH_BIAS_ENABLE, cb_state, objlist, loc, - vuid.depth_bias_enable_04877); - skip |= - ValidateDynamicStateIsSet(state_status_cb, CB_DYNAMIC_STATE_LOGIC_OP_EXT, cb_state, objlist, loc, vuid.logic_op_04878); - skip |= ValidateDynamicStateIsSet(state_status_cb, CB_DYNAMIC_STATE_PRIMITIVE_RESTART_ENABLE, cb_state, objlist, loc, - vuid.primitive_restart_enable_04879); } // VK_EXT_extended_dynamic_state3 { skip |= ValidateDynamicStateIsSet(state_status_cb, CB_DYNAMIC_STATE_DEPTH_CLAMP_ENABLE_EXT, cb_state, objlist, loc, vuid.dynamic_depth_clamp_enable_07620); - skip |= ValidateDynamicStateIsSet(state_status_cb, CB_DYNAMIC_STATE_POLYGON_MODE_EXT, cb_state, objlist, loc, - vuid.dynamic_polygon_mode_07621); - skip |= ValidateDynamicStateIsSet(state_status_cb, CB_DYNAMIC_STATE_RASTERIZATION_SAMPLES_EXT, cb_state, objlist, loc, - vuid.dynamic_rasterization_samples_07622); - skip |= ValidateDynamicStateIsSet(state_status_cb, CB_DYNAMIC_STATE_SAMPLE_MASK_EXT, cb_state, objlist, loc, - vuid.dynamic_sample_mask_07623); skip |= ValidateDynamicStateIsSet(state_status_cb, CB_DYNAMIC_STATE_TESSELLATION_DOMAIN_ORIGIN_EXT, cb_state, objlist, loc, vuid.dynamic_tessellation_domain_origin_07619); skip |= ValidateDynamicStateIsSet(state_status_cb, CB_DYNAMIC_STATE_ALPHA_TO_COVERAGE_ENABLE_EXT, cb_state, objlist, loc, vuid.dynamic_alpha_to_coverage_enable_07624); - skip |= ValidateDynamicStateIsSet(state_status_cb, CB_DYNAMIC_STATE_ALPHA_TO_ONE_ENABLE_EXT, cb_state, objlist, loc, - vuid.dynamic_alpha_to_one_enable_07625); skip |= ValidateDynamicStateIsSet(state_status_cb, CB_DYNAMIC_STATE_LOGIC_OP_ENABLE_EXT, cb_state, objlist, loc, vuid.dynamic_logic_op_enable_07626); skip |= ValidateDynamicStateIsSet(state_status_cb, CB_DYNAMIC_STATE_COLOR_BLEND_EQUATION_EXT, cb_state, objlist, loc, @@ -247,8 +301,6 @@ bool CoreChecks::ValidateGraphicsDynamicStatePipelineSetStatus(const LastBound& skip |= ValidateDynamicStateIsSet(state_status_cb, CB_DYNAMIC_STATE_VERTEX_INPUT_BINDING_STRIDE, cb_state, objlist, loc, vuid.vertex_input_binding_stride_04913); } - skip |= ValidateDynamicStateIsSet(state_status_cb, CB_DYNAMIC_STATE_VERTEX_INPUT_EXT, cb_state, objlist, loc, - vuid.vertex_input_04914); } // VK_EXT_color_write_enable @@ -1245,20 +1297,9 @@ bool CoreChecks::ValidateDrawDynamicStateShaderObject(const LastBound& last_boun } } } - skip |= ValidateDynamicStateIsSet(cb_state.dynamic_state_status.cb, CB_DYNAMIC_STATE_POLYGON_MODE_EXT, cb_state, objlist, - loc, vuid.set_polygon_mode_08651); - skip |= ValidateDynamicStateIsSet(cb_state.dynamic_state_status.cb, CB_DYNAMIC_STATE_RASTERIZATION_SAMPLES_EXT, cb_state, - objlist, loc, vuid.set_rasterization_samples_08652); - skip |= ValidateDynamicStateIsSet(cb_state.dynamic_state_status.cb, CB_DYNAMIC_STATE_SAMPLE_MASK_EXT, cb_state, objlist, - loc, vuid.set_sample_mask_08653); + skip |= ValidateDynamicStateIsSet(cb_state.dynamic_state_status.cb, CB_DYNAMIC_STATE_ALPHA_TO_COVERAGE_ENABLE_EXT, cb_state, objlist, loc, vuid.set_alpha_to_coverage_enable_08654); - if (enabled_features.alphaToOne) { - skip |= ValidateDynamicStateIsSet(cb_state.dynamic_state_status.cb, CB_DYNAMIC_STATE_ALPHA_TO_ONE_ENABLE_EXT, cb_state, - objlist, loc, vuid.set_alpha_to_one_enable_08655); - } - skip |= ValidateDynamicStateIsSet(cb_state.dynamic_state_status.cb, CB_DYNAMIC_STATE_CULL_MODE, cb_state, objlist, loc, - vuid.set_cull_mode_08627); if ((cb_state.IsDynamicStateSet(CB_DYNAMIC_STATE_CULL_MODE) && cb_state.dynamic_state_value.cull_mode != VK_CULL_MODE_NONE) || @@ -1266,16 +1307,7 @@ bool CoreChecks::ValidateDrawDynamicStateShaderObject(const LastBound& last_boun skip |= ValidateDynamicStateIsSet(cb_state.dynamic_state_status.cb, CB_DYNAMIC_STATE_FRONT_FACE, cb_state, objlist, loc, vuid.set_front_face_08628); } - skip |= ValidateDynamicStateIsSet(cb_state.dynamic_state_status.cb, CB_DYNAMIC_STATE_DEPTH_TEST_ENABLE, cb_state, objlist, - loc, vuid.set_depth_test_enable_08629); - skip |= ValidateDynamicStateIsSet(cb_state.dynamic_state_status.cb, CB_DYNAMIC_STATE_DEPTH_WRITE_ENABLE, cb_state, objlist, - loc, vuid.set_depth_write_enable_08630); - if (enabled_features.depthBounds) { - skip |= ValidateDynamicStateIsSet(cb_state.dynamic_state_status.cb, CB_DYNAMIC_STATE_DEPTH_BOUNDS_TEST_ENABLE, cb_state, - objlist, loc, vuid.set_depth_bounds_test_enable_08632); - } - skip |= ValidateDynamicStateIsSet(cb_state.dynamic_state_status.cb, CB_DYNAMIC_STATE_DEPTH_BIAS_ENABLE, cb_state, objlist, - loc, vuid.set_depth_bias_enable_08640); + if (enabled_features.depthClamp) { skip |= ValidateDynamicStateIsSet(cb_state.dynamic_state_status.cb, CB_DYNAMIC_STATE_DEPTH_CLAMP_ENABLE_EXT, cb_state, objlist, loc, vuid.set_depth_clamp_enable_08650); @@ -1302,8 +1334,7 @@ bool CoreChecks::ValidateDrawDynamicStateShaderObject(const LastBound& last_boun objlist, loc, vuid.set_sample_locations_08626); } } - skip |= ValidateDynamicStateIsSet(cb_state.dynamic_state_status.cb, CB_DYNAMIC_STATE_STENCIL_TEST_ENABLE, cb_state, objlist, - loc, vuid.set_stencil_test_enable_08633); + if (cb_state.dynamic_state_value.stencil_test_enable) { skip |= ValidateDynamicStateIsSet(cb_state.dynamic_state_status.cb, CB_DYNAMIC_STATE_STENCIL_OP, cb_state, objlist, loc, vuid.set_stencil_op_08634); @@ -1425,12 +1456,6 @@ bool CoreChecks::ValidateDrawDynamicStateShaderObject(const LastBound& last_boun vuid.set_line_width_08617); } - if (vertex_shader_bound) { - skip |= ValidateDynamicStateIsSet(cb_state.dynamic_state_status.cb, CB_DYNAMIC_STATE_PRIMITIVE_TOPOLOGY, cb_state, objlist, - loc, vuid.dynamic_primitive_topology_07842); - skip |= ValidateDynamicStateIsSet(cb_state.dynamic_state_status.cb, CB_DYNAMIC_STATE_PRIMITIVE_RESTART_ENABLE, cb_state, - objlist, loc, vuid.primitive_restart_enable_04879); - } if (tessev_shader_bound) { skip |= ValidateDynamicStateIsSet(cb_state.dynamic_state_status.cb, CB_DYNAMIC_STATE_PATCH_CONTROL_POINTS_EXT, cb_state, objlist, loc, vuid.patch_control_points_04875); @@ -1453,10 +1478,6 @@ bool CoreChecks::ValidateDrawDynamicStateShaderObject(const LastBound& last_boun skip |= ValidateDynamicStateIsSet(cb_state.dynamic_state_status.cb, CB_DYNAMIC_STATE_LOGIC_OP_ENABLE_EXT, cb_state, objlist, loc, vuid.set_logic_op_enable_08656); } - if (cb_state.IsDynamicStateSet(CB_DYNAMIC_STATE_LOGIC_OP_ENABLE_EXT) && cb_state.dynamic_state_value.logic_op_enable) { - skip |= ValidateDynamicStateIsSet(cb_state.dynamic_state_status.cb, CB_DYNAMIC_STATE_LOGIC_OP_EXT, cb_state, - objlist, loc, vuid.set_logic_op_08641); - } const uint32_t attachment_count = cb_state.activeRenderPass->GetDynamicRenderingColorAttachmentCount(); if (attachment_count > 0) { @@ -1510,10 +1531,6 @@ bool CoreChecks::ValidateDrawDynamicStateShaderObject(const LastBound& last_boun DynamicStateToString(CB_DYNAMIC_STATE_COLOR_BLEND_ADVANCED_EXT)); } } - if (enabled_features.pipelineFragmentShadingRate) { - skip |= ValidateDynamicStateIsSet(cb_state.dynamic_state_status.cb, CB_DYNAMIC_STATE_FRAGMENT_SHADING_RATE_KHR, - cb_state, objlist, loc, vuid.set_fragment_shading_rate_09238); - } if (enabled_features.attachmentFeedbackLoopDynamicState) { skip |= ValidateDynamicStateIsSet(cb_state.dynamic_state_status.cb, CB_DYNAMIC_STATE_ATTACHMENT_FEEDBACK_LOOP_ENABLE_EXT, cb_state, objlist, loc, diff --git a/layers/drawdispatch/drawdispatch_vuids.cpp b/layers/drawdispatch/drawdispatch_vuids.cpp index 896ac35e2a2..11282f8550a 100644 --- a/layers/drawdispatch/drawdispatch_vuids.cpp +++ b/layers/drawdispatch/drawdispatch_vuids.cpp @@ -205,8 +205,6 @@ struct DispatchVuidsCmdDraw : DrawDispatchVuid { external_format_resolve_09370 = "VUID-vkCmdDraw-pFragmentSize-09370"; external_format_resolve_09371 = "VUID-vkCmdDraw-pFragmentSize-09371"; set_rasterizer_discard_enable_08639 = "VUID-vkCmdDraw-None-08639"; - set_depth_bias_enable_08640 = "VUID-vkCmdDraw-None-08640"; - set_logic_op_08641 = "VUID-vkCmdDraw-None-08641"; set_color_blend_enable_08643 = "VUID-vkCmdDraw-None-08643"; set_rasterization_samples_08644 = "VUID-vkCmdDraw-None-08644"; set_color_write_enable_08646 = "VUID-vkCmdDraw-None-08646"; @@ -214,11 +212,7 @@ struct DispatchVuidsCmdDraw : DrawDispatchVuid { set_discard_rectangles_enable_08648 = "VUID-vkCmdDraw-None-08648"; set_discard_rectangles_mode_08649 = "VUID-vkCmdDraw-None-08649"; set_depth_clamp_enable_08650 = "VUID-vkCmdDraw-None-08650"; - set_polygon_mode_08651 = "VUID-vkCmdDraw-None-08651"; - set_rasterization_samples_08652 = "VUID-vkCmdDraw-None-08652"; - set_sample_mask_08653 = "VUID-vkCmdDraw-None-08653"; set_alpha_to_coverage_enable_08654 = "VUID-vkCmdDraw-None-08654"; - set_alpha_to_one_enable_08655 = "VUID-vkCmdDraw-None-08655"; set_logic_op_enable_08656 = "VUID-vkCmdDraw-None-08656"; set_color_blend_enable_08657 = "VUID-vkCmdDraw-None-08657"; set_color_blend_equation_08658 = "VUID-vkCmdDraw-None-08658"; @@ -272,12 +266,7 @@ struct DispatchVuidsCmdDraw : DrawDispatchVuid { set_stencil_write_mask_08624 = "VUID-vkCmdDraw-None-08624"; set_stencil_reference_08625 = "VUID-vkCmdDraw-None-08625"; set_sample_locations_08626 = "VUID-vkCmdDraw-None-08626"; - set_cull_mode_08627 = "VUID-vkCmdDraw-None-08627"; set_front_face_08628 = "VUID-vkCmdDraw-None-08628"; - set_depth_test_enable_08629 = "VUID-vkCmdDraw-None-08629"; - set_depth_write_enable_08630 = "VUID-vkCmdDraw-None-08630"; - set_depth_bounds_test_enable_08632 = "VUID-vkCmdDraw-None-08632"; - set_stencil_test_enable_08633 = "VUID-vkCmdDraw-None-08633"; set_stencil_op_08634 = "VUID-vkCmdDraw-None-08634"; set_line_width_08619 = "VUID-vkCmdDraw-None-08619"; set_viewport_with_count_08642 = "VUID-vkCmdDraw-primitiveFragmentShadingRateWithMultipleViewports-08642"; @@ -516,8 +505,6 @@ struct DispatchVuidsCmdDrawMultiEXT : DrawDispatchVuid { external_format_resolve_09370 = "VUID-vkCmdDrawMultiEXT-pFragmentSize-09370"; external_format_resolve_09371 = "VUID-vkCmdDrawMultiEXT-pFragmentSize-09371"; set_rasterizer_discard_enable_08639 = "VUID-vkCmdDrawMultiEXT-None-08639"; - set_depth_bias_enable_08640 = "VUID-vkCmdDrawMultiEXT-None-08640"; - set_logic_op_08641 = "VUID-vkCmdDrawMultiEXT-None-08641"; set_color_blend_enable_08643 = "VUID-vkCmdDrawMultiEXT-None-08643"; set_rasterization_samples_08644 = "VUID-vkCmdDrawMultiEXT-None-08644"; set_color_write_enable_08646 = "VUID-vkCmdDrawMultiEXT-None-08646"; @@ -525,11 +512,7 @@ struct DispatchVuidsCmdDrawMultiEXT : DrawDispatchVuid { set_discard_rectangles_enable_08648 = "VUID-vkCmdDrawMultiEXT-None-08648"; set_discard_rectangles_mode_08649 = "VUID-vkCmdDrawMultiEXT-None-08649"; set_depth_clamp_enable_08650 = "VUID-vkCmdDrawMultiEXT-None-08650"; - set_polygon_mode_08651 = "VUID-vkCmdDrawMultiEXT-None-08651"; - set_rasterization_samples_08652 = "VUID-vkCmdDrawMultiEXT-None-08652"; - set_sample_mask_08653 = "VUID-vkCmdDrawMultiEXT-None-08653"; set_alpha_to_coverage_enable_08654 = "VUID-vkCmdDrawMultiEXT-None-08654"; - set_alpha_to_one_enable_08655 = "VUID-vkCmdDrawMultiEXT-None-08655"; set_logic_op_enable_08656 = "VUID-vkCmdDrawMultiEXT-None-08656"; set_color_blend_enable_08657 = "VUID-vkCmdDrawMultiEXT-None-08657"; set_color_blend_equation_08658 = "VUID-vkCmdDrawMultiEXT-None-08658"; @@ -583,12 +566,7 @@ struct DispatchVuidsCmdDrawMultiEXT : DrawDispatchVuid { set_stencil_write_mask_08624 = "VUID-vkCmdDrawMultiEXT-None-08624"; set_stencil_reference_08625 = "VUID-vkCmdDrawMultiEXT-None-08625"; set_sample_locations_08626 = "VUID-vkCmdDrawMultiEXT-None-08626"; - set_cull_mode_08627 = "VUID-vkCmdDrawMultiEXT-None-08627"; set_front_face_08628 = "VUID-vkCmdDrawMultiEXT-None-08628"; - set_depth_test_enable_08629 = "VUID-vkCmdDrawMultiEXT-None-08629"; - set_depth_write_enable_08630 = "VUID-vkCmdDrawMultiEXT-None-08630"; - set_depth_bounds_test_enable_08632 = "VUID-vkCmdDrawMultiEXT-None-08632"; - set_stencil_test_enable_08633 = "VUID-vkCmdDrawMultiEXT-None-08633"; set_stencil_op_08634 = "VUID-vkCmdDrawMultiEXT-None-08634"; set_line_width_08619 = "VUID-vkCmdDrawMultiEXT-None-08619"; set_viewport_with_count_08642 = "VUID-vkCmdDrawMultiEXT-primitiveFragmentShadingRateWithMultipleViewports-08642"; @@ -828,8 +806,6 @@ struct DispatchVuidsCmdDrawIndexed : DrawDispatchVuid { external_format_resolve_09370 = "VUID-vkCmdDrawIndexed-pFragmentSize-09370"; external_format_resolve_09371 = "VUID-vkCmdDrawIndexed-pFragmentSize-09371"; set_rasterizer_discard_enable_08639 = "VUID-vkCmdDrawIndexed-None-08639"; - set_depth_bias_enable_08640 = "VUID-vkCmdDrawIndexed-None-08640"; - set_logic_op_08641 = "VUID-vkCmdDrawIndexed-None-08641"; set_color_blend_enable_08643 = "VUID-vkCmdDrawIndexed-None-08643"; set_rasterization_samples_08644 = "VUID-vkCmdDrawIndexed-None-08644"; set_color_write_enable_08646 = "VUID-vkCmdDrawIndexed-None-08646"; @@ -837,11 +813,7 @@ struct DispatchVuidsCmdDrawIndexed : DrawDispatchVuid { set_discard_rectangles_enable_08648 = "VUID-vkCmdDrawIndexed-None-08648"; set_discard_rectangles_mode_08649 = "VUID-vkCmdDrawIndexed-None-08649"; set_depth_clamp_enable_08650 = "VUID-vkCmdDrawIndexed-None-08650"; - set_polygon_mode_08651 = "VUID-vkCmdDrawIndexed-None-08651"; - set_rasterization_samples_08652 = "VUID-vkCmdDrawIndexed-None-08652"; - set_sample_mask_08653 = "VUID-vkCmdDrawIndexed-None-08653"; set_alpha_to_coverage_enable_08654 = "VUID-vkCmdDrawIndexed-None-08654"; - set_alpha_to_one_enable_08655 = "VUID-vkCmdDrawIndexed-None-08655"; set_logic_op_enable_08656 = "VUID-vkCmdDrawIndexed-None-08656"; set_color_blend_enable_08657 = "VUID-vkCmdDrawIndexed-None-08657"; set_color_blend_equation_08658 = "VUID-vkCmdDrawIndexed-None-08658"; @@ -895,12 +867,7 @@ struct DispatchVuidsCmdDrawIndexed : DrawDispatchVuid { set_stencil_write_mask_08624 = "VUID-vkCmdDrawIndexed-None-08624"; set_stencil_reference_08625 = "VUID-vkCmdDrawIndexed-None-08625"; set_sample_locations_08626 = "VUID-vkCmdDrawIndexed-None-08626"; - set_cull_mode_08627 = "VUID-vkCmdDrawIndexed-None-08627"; set_front_face_08628 = "VUID-vkCmdDrawIndexed-None-08628"; - set_depth_test_enable_08629 = "VUID-vkCmdDrawIndexed-None-08629"; - set_depth_write_enable_08630 = "VUID-vkCmdDrawIndexed-None-08630"; - set_depth_bounds_test_enable_08632 = "VUID-vkCmdDrawIndexed-None-08632"; - set_stencil_test_enable_08633 = "VUID-vkCmdDrawIndexed-None-08633"; set_stencil_op_08634 = "VUID-vkCmdDrawIndexed-None-08634"; set_line_width_08619 = "VUID-vkCmdDrawIndexed-None-08619"; set_viewport_with_count_08642 = "VUID-vkCmdDrawIndexed-primitiveFragmentShadingRateWithMultipleViewports-08642"; @@ -1140,8 +1107,6 @@ struct DispatchVuidsCmdDrawMultiIndexedEXT : DrawDispatchVuid { external_format_resolve_09370 = "VUID-vkCmdDrawMultiIndexedEXT-pFragmentSize-09370"; external_format_resolve_09371 = "VUID-vkCmdDrawMultiIndexedEXT-pFragmentSize-09371"; set_rasterizer_discard_enable_08639 = "VUID-vkCmdDrawMultiIndexedEXT-None-08639"; - set_depth_bias_enable_08640 = "VUID-vkCmdDrawMultiIndexedEXT-None-08640"; - set_logic_op_08641 = "VUID-vkCmdDrawMultiIndexedEXT-None-08641"; set_color_blend_enable_08643 = "VUID-vkCmdDrawMultiIndexedEXT-None-08643"; set_rasterization_samples_08644 = "VUID-vkCmdDrawMultiIndexedEXT-None-08644"; set_color_write_enable_08646 = "VUID-vkCmdDrawMultiIndexedEXT-None-08646"; @@ -1149,11 +1114,7 @@ struct DispatchVuidsCmdDrawMultiIndexedEXT : DrawDispatchVuid { set_discard_rectangles_enable_08648 = "VUID-vkCmdDrawMultiIndexedEXT-None-08648"; set_discard_rectangles_mode_08649 = "VUID-vkCmdDrawMultiIndexedEXT-None-08649"; set_depth_clamp_enable_08650 = "VUID-vkCmdDrawMultiIndexedEXT-None-08650"; - set_polygon_mode_08651 = "VUID-vkCmdDrawMultiIndexedEXT-None-08651"; - set_rasterization_samples_08652 = "VUID-vkCmdDrawMultiIndexedEXT-None-08652"; - set_sample_mask_08653 = "VUID-vkCmdDrawMultiIndexedEXT-None-08653"; set_alpha_to_coverage_enable_08654 = "VUID-vkCmdDrawMultiIndexedEXT-None-08654"; - set_alpha_to_one_enable_08655 = "VUID-vkCmdDrawMultiIndexedEXT-None-08655"; set_logic_op_enable_08656 = "VUID-vkCmdDrawMultiIndexedEXT-None-08656"; set_color_blend_enable_08657 = "VUID-vkCmdDrawMultiIndexedEXT-None-08657"; set_color_blend_equation_08658 = "VUID-vkCmdDrawMultiIndexedEXT-None-08658"; @@ -1207,12 +1168,7 @@ struct DispatchVuidsCmdDrawMultiIndexedEXT : DrawDispatchVuid { set_stencil_write_mask_08624 = "VUID-vkCmdDrawMultiIndexedEXT-None-08624"; set_stencil_reference_08625 = "VUID-vkCmdDrawMultiIndexedEXT-None-08625"; set_sample_locations_08626 = "VUID-vkCmdDrawMultiIndexedEXT-None-08626"; - set_cull_mode_08627 = "VUID-vkCmdDrawMultiIndexedEXT-None-08627"; set_front_face_08628 = "VUID-vkCmdDrawMultiIndexedEXT-None-08628"; - set_depth_test_enable_08629 = "VUID-vkCmdDrawMultiIndexedEXT-None-08629"; - set_depth_write_enable_08630 = "VUID-vkCmdDrawMultiIndexedEXT-None-08630"; - set_depth_bounds_test_enable_08632 = "VUID-vkCmdDrawMultiIndexedEXT-None-08632"; - set_stencil_test_enable_08633 = "VUID-vkCmdDrawMultiIndexedEXT-None-08633"; set_stencil_op_08634 = "VUID-vkCmdDrawMultiIndexedEXT-None-08634"; set_line_width_08619 = "VUID-vkCmdDrawMultiIndexedEXT-None-08619"; set_viewport_with_count_08642 = "VUID-vkCmdDrawMultiIndexedEXT-primitiveFragmentShadingRateWithMultipleViewports-08642"; @@ -1452,8 +1408,6 @@ struct DispatchVuidsCmdDrawIndirect : DrawDispatchVuid { external_format_resolve_09370 = "VUID-vkCmdDrawIndirect-pFragmentSize-09370"; external_format_resolve_09371 = "VUID-vkCmdDrawIndirect-pFragmentSize-09371"; set_rasterizer_discard_enable_08639 = "VUID-vkCmdDrawIndirect-None-08639"; - set_depth_bias_enable_08640 = "VUID-vkCmdDrawIndirect-None-08640"; - set_logic_op_08641 = "VUID-vkCmdDrawIndirect-None-08641"; set_color_blend_enable_08643 = "VUID-vkCmdDrawIndirect-None-08643"; set_rasterization_samples_08644 = "VUID-vkCmdDrawIndirect-None-08644"; set_color_write_enable_08646 = "VUID-vkCmdDrawIndirect-None-08646"; @@ -1461,11 +1415,7 @@ struct DispatchVuidsCmdDrawIndirect : DrawDispatchVuid { set_discard_rectangles_enable_08648 = "VUID-vkCmdDrawIndirect-None-08648"; set_discard_rectangles_mode_08649 = "VUID-vkCmdDrawIndirect-None-08649"; set_depth_clamp_enable_08650 = "VUID-vkCmdDrawIndirect-None-08650"; - set_polygon_mode_08651 = "VUID-vkCmdDrawIndirect-None-08651"; - set_rasterization_samples_08652 = "VUID-vkCmdDrawIndirect-None-08652"; - set_sample_mask_08653 = "VUID-vkCmdDrawIndirect-None-08653"; set_alpha_to_coverage_enable_08654 = "VUID-vkCmdDrawIndirect-None-08654"; - set_alpha_to_one_enable_08655 = "VUID-vkCmdDrawIndirect-None-08655"; set_logic_op_enable_08656 = "VUID-vkCmdDrawIndirect-None-08656"; set_color_blend_enable_08657 = "VUID-vkCmdDrawIndirect-None-08657"; set_color_blend_equation_08658 = "VUID-vkCmdDrawIndirect-None-08658"; @@ -1519,12 +1469,7 @@ struct DispatchVuidsCmdDrawIndirect : DrawDispatchVuid { set_stencil_write_mask_08624 = "VUID-vkCmdDrawIndirect-None-08624"; set_stencil_reference_08625 = "VUID-vkCmdDrawIndirect-None-08625"; set_sample_locations_08626 = "VUID-vkCmdDrawIndirect-None-08626"; - set_cull_mode_08627 = "VUID-vkCmdDrawIndirect-None-08627"; set_front_face_08628 = "VUID-vkCmdDrawIndirect-None-08628"; - set_depth_test_enable_08629 = "VUID-vkCmdDrawIndirect-None-08629"; - set_depth_write_enable_08630 = "VUID-vkCmdDrawIndirect-None-08630"; - set_depth_bounds_test_enable_08632 = "VUID-vkCmdDrawIndirect-None-08632"; - set_stencil_test_enable_08633 = "VUID-vkCmdDrawIndirect-None-08633"; set_stencil_op_08634 = "VUID-vkCmdDrawIndirect-None-08634"; set_line_width_08619 = "VUID-vkCmdDrawIndirect-None-08619"; set_viewport_with_count_08642 = "VUID-vkCmdDrawIndirect-primitiveFragmentShadingRateWithMultipleViewports-08642"; @@ -1763,8 +1708,6 @@ struct DispatchVuidsCmdDrawIndexedIndirect : DrawDispatchVuid { external_format_resolve_09370 = "VUID-vkCmdDrawIndexedIndirect-pFragmentSize-09370"; external_format_resolve_09371 = "VUID-vkCmdDrawIndexedIndirect-pFragmentSize-09371"; set_rasterizer_discard_enable_08639 = "VUID-vkCmdDrawIndexedIndirect-None-08639"; - set_depth_bias_enable_08640 = "VUID-vkCmdDrawIndexedIndirect-None-08640"; - set_logic_op_08641 = "VUID-vkCmdDrawIndexedIndirect-None-08641"; set_color_blend_enable_08643 = "VUID-vkCmdDrawIndexedIndirect-None-08643"; set_rasterization_samples_08644 = "VUID-vkCmdDrawIndexedIndirect-None-08644"; set_color_write_enable_08646 = "VUID-vkCmdDrawIndexedIndirect-None-08646"; @@ -1772,11 +1715,7 @@ struct DispatchVuidsCmdDrawIndexedIndirect : DrawDispatchVuid { set_discard_rectangles_enable_08648 = "VUID-vkCmdDrawIndexedIndirect-None-08648"; set_discard_rectangles_mode_08649 = "VUID-vkCmdDrawIndexedIndirect-None-08649"; set_depth_clamp_enable_08650 = "VUID-vkCmdDrawIndexedIndirect-None-08650"; - set_polygon_mode_08651 = "VUID-vkCmdDrawIndexedIndirect-None-08651"; - set_rasterization_samples_08652 = "VUID-vkCmdDrawIndexedIndirect-None-08652"; - set_sample_mask_08653 = "VUID-vkCmdDrawIndexedIndirect-None-08653"; set_alpha_to_coverage_enable_08654 = "VUID-vkCmdDrawIndexedIndirect-None-08654"; - set_alpha_to_one_enable_08655 = "VUID-vkCmdDrawIndexedIndirect-None-08655"; set_logic_op_enable_08656 = "VUID-vkCmdDrawIndexedIndirect-None-08656"; set_color_blend_enable_08657 = "VUID-vkCmdDrawIndexedIndirect-None-08657"; set_color_blend_equation_08658 = "VUID-vkCmdDrawIndexedIndirect-None-08658"; @@ -1830,12 +1769,7 @@ struct DispatchVuidsCmdDrawIndexedIndirect : DrawDispatchVuid { set_stencil_write_mask_08624 = "VUID-vkCmdDrawIndexedIndirect-None-08624"; set_stencil_reference_08625 = "VUID-vkCmdDrawIndexedIndirect-None-08625"; set_sample_locations_08626 = "VUID-vkCmdDrawIndexedIndirect-None-08626"; - set_cull_mode_08627 = "VUID-vkCmdDrawIndexedIndirect-None-08627"; set_front_face_08628 = "VUID-vkCmdDrawIndexedIndirect-None-08628"; - set_depth_test_enable_08629 = "VUID-vkCmdDrawIndexedIndirect-None-08629"; - set_depth_write_enable_08630 = "VUID-vkCmdDrawIndexedIndirect-None-08630"; - set_depth_bounds_test_enable_08632 = "VUID-vkCmdDrawIndexedIndirect-None-08632"; - set_stencil_test_enable_08633 = "VUID-vkCmdDrawIndexedIndirect-None-08633"; set_stencil_op_08634 = "VUID-vkCmdDrawIndexedIndirect-None-08634"; set_line_width_08619 = "VUID-vkCmdDrawIndexedIndirect-None-08619"; set_viewport_with_count_08642 = "VUID-vkCmdDrawIndexedIndirect-primitiveFragmentShadingRateWithMultipleViewports-08642"; @@ -2173,8 +2107,6 @@ struct DispatchVuidsCmdDrawIndirectCount : DrawDispatchVuid { external_format_resolve_09370 = "VUID-vkCmdDrawIndirectCount-pFragmentSize-09370"; external_format_resolve_09371 = "VUID-vkCmdDrawIndirectCount-pFragmentSize-09371"; set_rasterizer_discard_enable_08639 = "VUID-vkCmdDrawIndirectCount-None-08639"; - set_depth_bias_enable_08640 = "VUID-vkCmdDrawIndirectCount-None-08640"; - set_logic_op_08641 = "VUID-vkCmdDrawIndirectCount-None-08641"; set_color_blend_enable_08643 = "VUID-vkCmdDrawIndirectCount-None-08643"; set_rasterization_samples_08644 = "VUID-vkCmdDrawIndirectCount-None-08644"; set_color_write_enable_08646 = "VUID-vkCmdDrawIndirectCount-None-08646"; @@ -2182,11 +2114,7 @@ struct DispatchVuidsCmdDrawIndirectCount : DrawDispatchVuid { set_discard_rectangles_enable_08648 = "VUID-vkCmdDrawIndirectCount-None-08648"; set_discard_rectangles_mode_08649 = "VUID-vkCmdDrawIndirectCount-None-08649"; set_depth_clamp_enable_08650 = "VUID-vkCmdDrawIndirectCount-None-08650"; - set_polygon_mode_08651 = "VUID-vkCmdDrawIndirectCount-None-08651"; - set_rasterization_samples_08652 = "VUID-vkCmdDrawIndirectCount-None-08652"; - set_sample_mask_08653 = "VUID-vkCmdDrawIndirectCount-None-08653"; set_alpha_to_coverage_enable_08654 = "VUID-vkCmdDrawIndirectCount-None-08654"; - set_alpha_to_one_enable_08655 = "VUID-vkCmdDrawIndirectCount-None-08655"; set_logic_op_enable_08656 = "VUID-vkCmdDrawIndirectCount-None-08656"; set_color_blend_enable_08657 = "VUID-vkCmdDrawIndirectCount-None-08657"; set_color_blend_equation_08658 = "VUID-vkCmdDrawIndirectCount-None-08658"; @@ -2240,12 +2168,7 @@ struct DispatchVuidsCmdDrawIndirectCount : DrawDispatchVuid { set_stencil_write_mask_08624 = "VUID-vkCmdDrawIndirectCount-None-08624"; set_stencil_reference_08625 = "VUID-vkCmdDrawIndirectCount-None-08625"; set_sample_locations_08626 = "VUID-vkCmdDrawIndirectCount-None-08626"; - set_cull_mode_08627 = "VUID-vkCmdDrawIndirectCount-None-08627"; set_front_face_08628 = "VUID-vkCmdDrawIndirectCount-None-08628"; - set_depth_test_enable_08629 = "VUID-vkCmdDrawIndirectCount-None-08629"; - set_depth_write_enable_08630 = "VUID-vkCmdDrawIndirectCount-None-08630"; - set_depth_bounds_test_enable_08632 = "VUID-vkCmdDrawIndirectCount-None-08632"; - set_stencil_test_enable_08633 = "VUID-vkCmdDrawIndirectCount-None-08633"; set_stencil_op_08634 = "VUID-vkCmdDrawIndirectCount-None-08634"; set_line_width_08619 = "VUID-vkCmdDrawIndirectCount-None-08619"; set_viewport_with_count_08642 = "VUID-vkCmdDrawIndirectCount-primitiveFragmentShadingRateWithMultipleViewports-08642"; @@ -2487,8 +2410,6 @@ struct DispatchVuidsCmdDrawIndexedIndirectCount : DrawDispatchVuid { external_format_resolve_09370 = "VUID-vkCmdDrawIndexedIndirectCount-pFragmentSize-09370"; external_format_resolve_09371 = "VUID-vkCmdDrawIndexedIndirectCount-pFragmentSize-09371"; set_rasterizer_discard_enable_08639 = "VUID-vkCmdDrawIndexedIndirectCount-None-08639"; - set_depth_bias_enable_08640 = "VUID-vkCmdDrawIndexedIndirectCount-None-08640"; - set_logic_op_08641 = "VUID-vkCmdDrawIndexedIndirectCount-None-08641"; set_color_blend_enable_08643 = "VUID-vkCmdDrawIndexedIndirectCount-None-08643"; set_rasterization_samples_08644 = "VUID-vkCmdDrawIndexedIndirectCount-None-08644"; set_color_write_enable_08646 = "VUID-vkCmdDrawIndexedIndirectCount-None-08646"; @@ -2496,11 +2417,7 @@ struct DispatchVuidsCmdDrawIndexedIndirectCount : DrawDispatchVuid { set_discard_rectangles_enable_08648 = "VUID-vkCmdDrawIndexedIndirectCount-None-08648"; set_discard_rectangles_mode_08649 = "VUID-vkCmdDrawIndexedIndirectCount-None-08649"; set_depth_clamp_enable_08650 = "VUID-vkCmdDrawIndexedIndirectCount-None-08650"; - set_polygon_mode_08651 = "VUID-vkCmdDrawIndexedIndirectCount-None-08651"; - set_rasterization_samples_08652 = "VUID-vkCmdDrawIndexedIndirectCount-None-08652"; - set_sample_mask_08653 = "VUID-vkCmdDrawIndexedIndirectCount-None-08653"; set_alpha_to_coverage_enable_08654 = "VUID-vkCmdDrawIndexedIndirectCount-None-08654"; - set_alpha_to_one_enable_08655 = "VUID-vkCmdDrawIndexedIndirectCount-None-08655"; set_logic_op_enable_08656 = "VUID-vkCmdDrawIndexedIndirectCount-None-08656"; set_color_blend_enable_08657 = "VUID-vkCmdDrawIndexedIndirectCount-None-08657"; set_color_blend_equation_08658 = "VUID-vkCmdDrawIndexedIndirectCount-None-08658"; @@ -2554,12 +2471,7 @@ struct DispatchVuidsCmdDrawIndexedIndirectCount : DrawDispatchVuid { set_stencil_write_mask_08624 = "VUID-vkCmdDrawIndexedIndirectCount-None-08624"; set_stencil_reference_08625 = "VUID-vkCmdDrawIndexedIndirectCount-None-08625"; set_sample_locations_08626 = "VUID-vkCmdDrawIndexedIndirectCount-None-08626"; - set_cull_mode_08627 = "VUID-vkCmdDrawIndexedIndirectCount-None-08627"; set_front_face_08628 = "VUID-vkCmdDrawIndexedIndirectCount-None-08628"; - set_depth_test_enable_08629 = "VUID-vkCmdDrawIndexedIndirectCount-None-08629"; - set_depth_write_enable_08630 = "VUID-vkCmdDrawIndexedIndirectCount-None-08630"; - set_depth_bounds_test_enable_08632 = "VUID-vkCmdDrawIndexedIndirectCount-None-08632"; - set_stencil_test_enable_08633 = "VUID-vkCmdDrawIndexedIndirectCount-None-08633"; set_stencil_op_08634 = "VUID-vkCmdDrawIndexedIndirectCount-None-08634"; set_line_width_08619 = "VUID-vkCmdDrawIndexedIndirectCount-None-08619"; set_viewport_with_count_08642 = "VUID-vkCmdDrawIndexedIndirectCount-primitiveFragmentShadingRateWithMultipleViewports-08642"; @@ -2980,8 +2892,6 @@ struct DispatchVuidsCmdDrawMeshTasksNV: DrawDispatchVuid { external_format_resolve_09370 = "VUID-vkCmdDrawMeshTasksNV-pFragmentSize-09370"; external_format_resolve_09371 = "VUID-vkCmdDrawMeshTasksNV-pFragmentSize-09371"; set_rasterizer_discard_enable_08639 = "VUID-vkCmdDrawMeshTasksNV-None-08639"; - set_depth_bias_enable_08640 = "VUID-vkCmdDrawMeshTasksNV-None-08640"; - set_logic_op_08641 = "VUID-vkCmdDrawMeshTasksNV-None-08641"; set_color_blend_enable_08643 = "VUID-vkCmdDrawMeshTasksNV-None-08643"; set_rasterization_samples_08644 = "VUID-vkCmdDrawMeshTasksNV-None-08644"; set_color_write_enable_08646 = "VUID-vkCmdDrawMeshTasksNV-None-08646"; @@ -2989,11 +2899,7 @@ struct DispatchVuidsCmdDrawMeshTasksNV: DrawDispatchVuid { set_discard_rectangles_enable_08648 = "VUID-vkCmdDrawMeshTasksNV-None-08648"; set_discard_rectangles_mode_08649 = "VUID-vkCmdDrawMeshTasksNV-None-08649"; set_depth_clamp_enable_08650 = "VUID-vkCmdDrawMeshTasksNV-None-08650"; - set_polygon_mode_08651 = "VUID-vkCmdDrawMeshTasksNV-None-08651"; - set_rasterization_samples_08652 = "VUID-vkCmdDrawMeshTasksNV-None-08652"; - set_sample_mask_08653 = "VUID-vkCmdDrawMeshTasksNV-None-08653"; set_alpha_to_coverage_enable_08654 = "VUID-vkCmdDrawMeshTasksNV-None-08654"; - set_alpha_to_one_enable_08655 = "VUID-vkCmdDrawMeshTasksNV-None-08655"; set_logic_op_enable_08656 = "VUID-vkCmdDrawMeshTasksNV-None-08656"; set_color_blend_enable_08657 = "VUID-vkCmdDrawMeshTasksNV-None-08657"; set_color_blend_equation_08658 = "VUID-vkCmdDrawMeshTasksNV-None-08658"; @@ -3046,12 +2952,7 @@ struct DispatchVuidsCmdDrawMeshTasksNV: DrawDispatchVuid { set_stencil_write_mask_08624 = "VUID-vkCmdDrawMeshTasksNV-None-08624"; set_stencil_reference_08625 = "VUID-vkCmdDrawMeshTasksNV-None-08625"; set_sample_locations_08626 = "VUID-vkCmdDrawMeshTasksNV-None-08626"; - set_cull_mode_08627 = "VUID-vkCmdDrawMeshTasksNV-None-08627"; set_front_face_08628 = "VUID-vkCmdDrawMeshTasksNV-None-08628"; - set_depth_test_enable_08629 = "VUID-vkCmdDrawMeshTasksNV-None-08629"; - set_depth_write_enable_08630 = "VUID-vkCmdDrawMeshTasksNV-None-08630"; - set_depth_bounds_test_enable_08632 = "VUID-vkCmdDrawMeshTasksNV-None-08632"; - set_stencil_test_enable_08633 = "VUID-vkCmdDrawMeshTasksNV-None-08633"; set_stencil_op_08634 = "VUID-vkCmdDrawMeshTasksNV-None-08634"; set_line_width_08619 = "VUID-vkCmdDrawMeshTasksNV-None-08619"; set_viewport_with_count_08642 = "VUID-vkCmdDrawMeshTasksNV-primitiveFragmentShadingRateWithMultipleViewports-08642"; @@ -3277,8 +3178,6 @@ struct DispatchVuidsCmdDrawMeshTasksIndirectNV: DrawDispatchVuid { external_format_resolve_09370 = "VUID-vkCmdDrawMeshTasksIndirectNV-pFragmentSize-09370"; external_format_resolve_09371 = "VUID-vkCmdDrawMeshTasksIndirectNV-pFragmentSize-09371"; set_rasterizer_discard_enable_08639 = "VUID-vkCmdDrawMeshTasksIndirectNV-None-08639"; - set_depth_bias_enable_08640 = "VUID-vkCmdDrawMeshTasksIndirectNV-None-08640"; - set_logic_op_08641 = "VUID-vkCmdDrawMeshTasksIndirectNV-None-08641"; set_color_blend_enable_08643 = "VUID-vkCmdDrawMeshTasksIndirectNV-None-08643"; set_rasterization_samples_08644 = "VUID-vkCmdDrawMeshTasksIndirectNV-None-08644"; set_color_write_enable_08646 = "VUID-vkCmdDrawMeshTasksIndirectNV-None-08646"; @@ -3286,11 +3185,7 @@ struct DispatchVuidsCmdDrawMeshTasksIndirectNV: DrawDispatchVuid { set_discard_rectangles_enable_08648 = "VUID-vkCmdDrawMeshTasksIndirectNV-None-08648"; set_discard_rectangles_mode_08649 = "VUID-vkCmdDrawMeshTasksIndirectNV-None-08649"; set_depth_clamp_enable_08650 = "VUID-vkCmdDrawMeshTasksIndirectNV-None-08650"; - set_polygon_mode_08651 = "VUID-vkCmdDrawMeshTasksIndirectNV-None-08651"; - set_rasterization_samples_08652 = "VUID-vkCmdDrawMeshTasksIndirectNV-None-08652"; - set_sample_mask_08653 = "VUID-vkCmdDrawMeshTasksIndirectNV-None-08653"; set_alpha_to_coverage_enable_08654 = "VUID-vkCmdDrawMeshTasksIndirectNV-None-08654"; - set_alpha_to_one_enable_08655 = "VUID-vkCmdDrawMeshTasksIndirectNV-None-08655"; set_logic_op_enable_08656 = "VUID-vkCmdDrawMeshTasksIndirectNV-None-08656"; set_color_blend_enable_08657 = "VUID-vkCmdDrawMeshTasksIndirectNV-None-08657"; set_color_blend_equation_08658 = "VUID-vkCmdDrawMeshTasksIndirectNV-None-08658"; @@ -3343,12 +3238,7 @@ struct DispatchVuidsCmdDrawMeshTasksIndirectNV: DrawDispatchVuid { set_stencil_write_mask_08624 = "VUID-vkCmdDrawMeshTasksIndirectNV-None-08624"; set_stencil_reference_08625 = "VUID-vkCmdDrawMeshTasksIndirectNV-None-08625"; set_sample_locations_08626 = "VUID-vkCmdDrawMeshTasksIndirectNV-None-08626"; - set_cull_mode_08627 = "VUID-vkCmdDrawMeshTasksIndirectNV-None-08627"; set_front_face_08628 = "VUID-vkCmdDrawMeshTasksIndirectNV-None-08628"; - set_depth_test_enable_08629 = "VUID-vkCmdDrawMeshTasksIndirectNV-None-08629"; - set_depth_write_enable_08630 = "VUID-vkCmdDrawMeshTasksIndirectNV-None-08630"; - set_depth_bounds_test_enable_08632 = "VUID-vkCmdDrawMeshTasksIndirectNV-None-08632"; - set_stencil_test_enable_08633 = "VUID-vkCmdDrawMeshTasksIndirectNV-None-08633"; set_stencil_op_08634 = "VUID-vkCmdDrawMeshTasksIndirectNV-None-08634"; set_line_width_08619 = "VUID-vkCmdDrawMeshTasksIndirectNV-None-08619"; set_viewport_with_count_08642 = "VUID-vkCmdDrawMeshTasksIndirectNV-primitiveFragmentShadingRateWithMultipleViewports-08642"; @@ -3577,8 +3467,6 @@ struct DispatchVuidsCmdDrawMeshTasksIndirectCountNV : DrawDispatchVuid { external_format_resolve_09370 = "VUID-vkCmdDrawMeshTasksIndirectCountNV-pFragmentSize-09370"; external_format_resolve_09371 = "VUID-vkCmdDrawMeshTasksIndirectCountNV-pFragmentSize-09371"; set_rasterizer_discard_enable_08639 = "VUID-vkCmdDrawMeshTasksIndirectCountNV-None-08639"; - set_depth_bias_enable_08640 = "VUID-vkCmdDrawMeshTasksIndirectCountNV-None-08640"; - set_logic_op_08641 = "VUID-vkCmdDrawMeshTasksIndirectCountNV-None-08641"; set_color_blend_enable_08643 = "VUID-vkCmdDrawMeshTasksIndirectCountNV-None-08643"; set_rasterization_samples_08644 = "VUID-vkCmdDrawMeshTasksIndirectCountNV-None-08644"; set_color_write_enable_08646 = "VUID-vkCmdDrawMeshTasksIndirectCountNV-None-08646"; @@ -3586,11 +3474,7 @@ struct DispatchVuidsCmdDrawMeshTasksIndirectCountNV : DrawDispatchVuid { set_discard_rectangles_enable_08648 = "VUID-vkCmdDrawMeshTasksIndirectCountNV-None-08648"; set_discard_rectangles_mode_08649 = "VUID-vkCmdDrawMeshTasksIndirectCountNV-None-08649"; set_depth_clamp_enable_08650 = "VUID-vkCmdDrawMeshTasksIndirectCountNV-None-08650"; - set_polygon_mode_08651 = "VUID-vkCmdDrawMeshTasksIndirectCountNV-None-08651"; - set_rasterization_samples_08652 = "VUID-vkCmdDrawMeshTasksIndirectCountNV-None-08652"; - set_sample_mask_08653 = "VUID-vkCmdDrawMeshTasksIndirectCountNV-None-08653"; set_alpha_to_coverage_enable_08654 = "VUID-vkCmdDrawMeshTasksIndirectCountNV-None-08654"; - set_alpha_to_one_enable_08655 = "VUID-vkCmdDrawMeshTasksIndirectCountNV-None-08655"; set_logic_op_enable_08656 = "VUID-vkCmdDrawMeshTasksIndirectCountNV-None-08656"; set_color_blend_enable_08657 = "VUID-vkCmdDrawMeshTasksIndirectCountNV-None-08657"; set_color_blend_equation_08658 = "VUID-vkCmdDrawMeshTasksIndirectCountNV-None-08658"; @@ -3643,12 +3527,7 @@ struct DispatchVuidsCmdDrawMeshTasksIndirectCountNV : DrawDispatchVuid { set_stencil_write_mask_08624 = "VUID-vkCmdDrawMeshTasksIndirectCountNV-None-08624"; set_stencil_reference_08625 = "VUID-vkCmdDrawMeshTasksIndirectCountNV-None-08625"; set_sample_locations_08626 = "VUID-vkCmdDrawMeshTasksIndirectCountNV-None-08626"; - set_cull_mode_08627 = "VUID-vkCmdDrawMeshTasksIndirectCountNV-None-08627"; set_front_face_08628 = "VUID-vkCmdDrawMeshTasksIndirectCountNV-None-08628"; - set_depth_test_enable_08629 = "VUID-vkCmdDrawMeshTasksIndirectCountNV-None-08629"; - set_depth_write_enable_08630 = "VUID-vkCmdDrawMeshTasksIndirectCountNV-None-08630"; - set_depth_bounds_test_enable_08632 = "VUID-vkCmdDrawMeshTasksIndirectCountNV-None-08632"; - set_stencil_test_enable_08633 = "VUID-vkCmdDrawMeshTasksIndirectCountNV-None-08633"; set_stencil_op_08634 = "VUID-vkCmdDrawMeshTasksIndirectCountNV-None-08634"; set_line_width_08619 = "VUID-vkCmdDrawMeshTasksIndirectCountNV-None-08619"; set_viewport_with_count_08642 = "VUID-vkCmdDrawMeshTasksIndirectCountNV-primitiveFragmentShadingRateWithMultipleViewports-08642"; @@ -3871,8 +3750,6 @@ struct DispatchVuidsCmdDrawMeshTasksEXT: DrawDispatchVuid { external_format_resolve_09370 = "VUID-vkCmdDrawMeshTasksEXT-pFragmentSize-09370"; external_format_resolve_09371 = "VUID-vkCmdDrawMeshTasksEXT-pFragmentSize-09371"; set_rasterizer_discard_enable_08639 = "VUID-vkCmdDrawMeshTasksEXT-None-08639"; - set_depth_bias_enable_08640 = "VUID-vkCmdDrawMeshTasksEXT-None-08640"; - set_logic_op_08641 = "VUID-vkCmdDrawMeshTasksEXT-None-08641"; set_color_blend_enable_08643 = "VUID-vkCmdDrawMeshTasksEXT-None-08643"; set_rasterization_samples_08644 = "VUID-vkCmdDrawMeshTasksEXT-None-08644"; set_color_write_enable_08646 = "VUID-vkCmdDrawMeshTasksEXT-None-08646"; @@ -3880,11 +3757,7 @@ struct DispatchVuidsCmdDrawMeshTasksEXT: DrawDispatchVuid { set_discard_rectangles_enable_08648 = "VUID-vkCmdDrawMeshTasksEXT-None-08648"; set_discard_rectangles_mode_08649 = "VUID-vkCmdDrawMeshTasksEXT-None-08649"; set_depth_clamp_enable_08650 = "VUID-vkCmdDrawMeshTasksEXT-None-08650"; - set_polygon_mode_08651 = "VUID-vkCmdDrawMeshTasksEXT-None-08651"; - set_rasterization_samples_08652 = "VUID-vkCmdDrawMeshTasksEXT-None-08652"; - set_sample_mask_08653 = "VUID-vkCmdDrawMeshTasksEXT-None-08653"; set_alpha_to_coverage_enable_08654 = "VUID-vkCmdDrawMeshTasksEXT-None-08654"; - set_alpha_to_one_enable_08655 = "VUID-vkCmdDrawMeshTasksEXT-None-08655"; set_logic_op_enable_08656 = "VUID-vkCmdDrawMeshTasksEXT-None-08656"; set_color_blend_enable_08657 = "VUID-vkCmdDrawMeshTasksEXT-None-08657"; set_color_blend_equation_08658 = "VUID-vkCmdDrawMeshTasksEXT-None-08658"; @@ -3937,12 +3810,7 @@ struct DispatchVuidsCmdDrawMeshTasksEXT: DrawDispatchVuid { set_stencil_write_mask_08624 = "VUID-vkCmdDrawMeshTasksEXT-None-08624"; set_stencil_reference_08625 = "VUID-vkCmdDrawMeshTasksEXT-None-08625"; set_sample_locations_08626 = "VUID-vkCmdDrawMeshTasksEXT-None-08626"; - set_cull_mode_08627 = "VUID-vkCmdDrawMeshTasksEXT-None-08627"; set_front_face_08628 = "VUID-vkCmdDrawMeshTasksEXT-None-08628"; - set_depth_test_enable_08629 = "VUID-vkCmdDrawMeshTasksEXT-None-08629"; - set_depth_write_enable_08630 = "VUID-vkCmdDrawMeshTasksEXT-None-08630"; - set_depth_bounds_test_enable_08632 = "VUID-vkCmdDrawMeshTasksEXT-None-08632"; - set_stencil_test_enable_08633 = "VUID-vkCmdDrawMeshTasksEXT-None-08633"; set_stencil_op_08634 = "VUID-vkCmdDrawMeshTasksEXT-None-08634"; set_line_width_08619 = "VUID-vkCmdDrawMeshTasksEXT-None-08619"; set_viewport_with_count_08642 = "VUID-vkCmdDrawMeshTasksEXT-primitiveFragmentShadingRateWithMultipleViewports-08642"; @@ -4168,8 +4036,6 @@ struct DispatchVuidsCmdDrawMeshTasksIndirectEXT: DrawDispatchVuid { external_format_resolve_09370 = "VUID-vkCmdDrawMeshTasksIndirectEXT-pFragmentSize-09370"; external_format_resolve_09371 = "VUID-vkCmdDrawMeshTasksIndirectEXT-pFragmentSize-09371"; set_rasterizer_discard_enable_08639 = "VUID-vkCmdDrawMeshTasksIndirectEXT-None-08639"; - set_depth_bias_enable_08640 = "VUID-vkCmdDrawMeshTasksIndirectEXT-None-08640"; - set_logic_op_08641 = "VUID-vkCmdDrawMeshTasksIndirectEXT-None-08641"; set_color_blend_enable_08643 = "VUID-vkCmdDrawMeshTasksIndirectEXT-None-08643"; set_rasterization_samples_08644 = "VUID-vkCmdDrawMeshTasksIndirectEXT-None-08644"; set_color_write_enable_08646 = "VUID-vkCmdDrawMeshTasksIndirectEXT-None-08646"; @@ -4177,11 +4043,7 @@ struct DispatchVuidsCmdDrawMeshTasksIndirectEXT: DrawDispatchVuid { set_discard_rectangles_enable_08648 = "VUID-vkCmdDrawMeshTasksIndirectEXT-None-08648"; set_discard_rectangles_mode_08649 = "VUID-vkCmdDrawMeshTasksIndirectEXT-None-08649"; set_depth_clamp_enable_08650 = "VUID-vkCmdDrawMeshTasksIndirectEXT-None-08650"; - set_polygon_mode_08651 = "VUID-vkCmdDrawMeshTasksIndirectEXT-None-08651"; - set_rasterization_samples_08652 = "VUID-vkCmdDrawMeshTasksIndirectEXT-None-08652"; - set_sample_mask_08653 = "VUID-vkCmdDrawMeshTasksIndirectEXT-None-08653"; set_alpha_to_coverage_enable_08654 = "VUID-vkCmdDrawMeshTasksIndirectEXT-None-08654"; - set_alpha_to_one_enable_08655 = "VUID-vkCmdDrawMeshTasksIndirectEXT-None-08655"; set_logic_op_enable_08656 = "VUID-vkCmdDrawMeshTasksIndirectEXT-None-08656"; set_color_blend_enable_08657 = "VUID-vkCmdDrawMeshTasksIndirectEXT-None-08657"; set_color_blend_equation_08658 = "VUID-vkCmdDrawMeshTasksIndirectEXT-None-08658"; @@ -4234,12 +4096,7 @@ struct DispatchVuidsCmdDrawMeshTasksIndirectEXT: DrawDispatchVuid { set_stencil_write_mask_08624 = "VUID-vkCmdDrawMeshTasksIndirectEXT-None-08624"; set_stencil_reference_08625 = "VUID-vkCmdDrawMeshTasksIndirectEXT-None-08625"; set_sample_locations_08626 = "VUID-vkCmdDrawMeshTasksIndirectEXT-None-08626"; - set_cull_mode_08627 = "VUID-vkCmdDrawMeshTasksIndirectEXT-None-08627"; set_front_face_08628 = "VUID-vkCmdDrawMeshTasksIndirectEXT-None-08628"; - set_depth_test_enable_08629 = "VUID-vkCmdDrawMeshTasksIndirectEXT-None-08629"; - set_depth_write_enable_08630 = "VUID-vkCmdDrawMeshTasksIndirectEXT-None-08630"; - set_depth_bounds_test_enable_08632 = "VUID-vkCmdDrawMeshTasksIndirectEXT-None-08632"; - set_stencil_test_enable_08633 = "VUID-vkCmdDrawMeshTasksIndirectEXT-None-08633"; set_stencil_op_08634 = "VUID-vkCmdDrawMeshTasksIndirectEXT-None-08634"; set_line_width_08619 = "VUID-vkCmdDrawMeshTasksIndirectEXT-None-08619"; set_viewport_with_count_08642 = "VUID-vkCmdDrawMeshTasksIndirectEXT-primitiveFragmentShadingRateWithMultipleViewports-08642"; @@ -4468,8 +4325,6 @@ struct DispatchVuidsCmdDrawMeshTasksIndirectCountEXT : DrawDispatchVuid { external_format_resolve_09370 = "VUID-vkCmdDrawMeshTasksIndirectCountEXT-pFragmentSize-09370"; external_format_resolve_09371 = "VUID-vkCmdDrawMeshTasksIndirectCountEXT-pFragmentSize-09371"; set_rasterizer_discard_enable_08639 = "VUID-vkCmdDrawMeshTasksIndirectCountEXT-None-08639"; - set_depth_bias_enable_08640 = "VUID-vkCmdDrawMeshTasksIndirectCountEXT-None-08640"; - set_logic_op_08641 = "VUID-vkCmdDrawMeshTasksIndirectCountEXT-None-08641"; set_color_blend_enable_08643 = "VUID-vkCmdDrawMeshTasksIndirectCountEXT-None-08643"; set_rasterization_samples_08644 = "VUID-vkCmdDrawMeshTasksIndirectCountEXT-None-08644"; set_color_write_enable_08646 = "VUID-vkCmdDrawMeshTasksIndirectCountEXT-None-08646"; @@ -4477,11 +4332,7 @@ struct DispatchVuidsCmdDrawMeshTasksIndirectCountEXT : DrawDispatchVuid { set_discard_rectangles_enable_08648 = "VUID-vkCmdDrawMeshTasksIndirectCountEXT-None-08648"; set_discard_rectangles_mode_08649 = "VUID-vkCmdDrawMeshTasksIndirectCountEXT-None-08649"; set_depth_clamp_enable_08650 = "VUID-vkCmdDrawMeshTasksIndirectCountEXT-None-08650"; - set_polygon_mode_08651 = "VUID-vkCmdDrawMeshTasksIndirectCountEXT-None-08651"; - set_rasterization_samples_08652 = "VUID-vkCmdDrawMeshTasksIndirectCountEXT-None-08652"; - set_sample_mask_08653 = "VUID-vkCmdDrawMeshTasksIndirectCountEXT-None-08653"; set_alpha_to_coverage_enable_08654 = "VUID-vkCmdDrawMeshTasksIndirectCountEXT-None-08654"; - set_alpha_to_one_enable_08655 = "VUID-vkCmdDrawMeshTasksIndirectCountEXT-None-08655"; set_logic_op_enable_08656 = "VUID-vkCmdDrawMeshTasksIndirectCountEXT-None-08656"; set_color_blend_enable_08657 = "VUID-vkCmdDrawMeshTasksIndirectCountEXT-None-08657"; set_color_blend_equation_08658 = "VUID-vkCmdDrawMeshTasksIndirectCountEXT-None-08658"; @@ -4534,12 +4385,7 @@ struct DispatchVuidsCmdDrawMeshTasksIndirectCountEXT : DrawDispatchVuid { set_stencil_write_mask_08624 = "VUID-vkCmdDrawMeshTasksIndirectCountEXT-None-08624"; set_stencil_reference_08625 = "VUID-vkCmdDrawMeshTasksIndirectCountEXT-None-08625"; set_sample_locations_08626 = "VUID-vkCmdDrawMeshTasksIndirectCountEXT-None-08626"; - set_cull_mode_08627 = "VUID-vkCmdDrawMeshTasksIndirectCountEXT-None-08627"; set_front_face_08628 = "VUID-vkCmdDrawMeshTasksIndirectCountEXT-None-08628"; - set_depth_test_enable_08629 = "VUID-vkCmdDrawMeshTasksIndirectCountEXT-None-08629"; - set_depth_write_enable_08630 = "VUID-vkCmdDrawMeshTasksIndirectCountEXT-None-08630"; - set_depth_bounds_test_enable_08632 = "VUID-vkCmdDrawMeshTasksIndirectCountEXT-None-08632"; - set_stencil_test_enable_08633 = "VUID-vkCmdDrawMeshTasksIndirectCountEXT-None-08633"; set_stencil_op_08634 = "VUID-vkCmdDrawMeshTasksIndirectCountEXT-None-08634"; set_line_width_08619 = "VUID-vkCmdDrawMeshTasksIndirectCountEXT-None-08619"; set_viewport_with_count_08642 = "VUID-vkCmdDrawMeshTasksIndirectCountEXT-primitiveFragmentShadingRateWithMultipleViewports-08642"; @@ -4775,8 +4621,6 @@ struct DispatchVuidsCmdDrawIndirectByteCountEXT: DrawDispatchVuid { external_format_resolve_09370 = "VUID-vkCmdDrawIndirectByteCountEXT-pFragmentSize-09370"; external_format_resolve_09371 = "VUID-vkCmdDrawIndirectByteCountEXT-pFragmentSize-09371"; set_rasterizer_discard_enable_08639 = "VUID-vkCmdDrawIndirectByteCountEXT-None-08639"; - set_depth_bias_enable_08640 = "VUID-vkCmdDrawIndirectByteCountEXT-None-08640"; - set_logic_op_08641 = "VUID-vkCmdDrawIndirectByteCountEXT-None-08641"; set_color_blend_enable_08643 = "VUID-vkCmdDrawIndirectByteCountEXT-None-08643"; set_rasterization_samples_08644 = "VUID-vkCmdDrawIndirectByteCountEXT-None-08644"; set_color_write_enable_08646 = "VUID-vkCmdDrawIndirectByteCountEXT-None-08646"; @@ -4784,11 +4628,7 @@ struct DispatchVuidsCmdDrawIndirectByteCountEXT: DrawDispatchVuid { set_discard_rectangles_enable_08648 = "VUID-vkCmdDrawIndirectByteCountEXT-None-08648"; set_discard_rectangles_mode_08649 = "VUID-vkCmdDrawIndirectByteCountEXT-None-08649"; set_depth_clamp_enable_08650 = "VUID-vkCmdDrawIndirectByteCountEXT-None-08650"; - set_polygon_mode_08651 = "VUID-vkCmdDrawIndirectByteCountEXT-None-08651"; - set_rasterization_samples_08652 = "VUID-vkCmdDrawIndirectByteCountEXT-None-08652"; - set_sample_mask_08653 = "VUID-vkCmdDrawIndirectByteCountEXT-None-08653"; set_alpha_to_coverage_enable_08654 = "VUID-vkCmdDrawIndirectByteCountEXT-None-08654"; - set_alpha_to_one_enable_08655 = "VUID-vkCmdDrawIndirectByteCountEXT-None-08655"; set_logic_op_enable_08656 = "VUID-vkCmdDrawIndirectByteCountEXT-None-08656"; set_color_blend_enable_08657 = "VUID-vkCmdDrawIndirectByteCountEXT-None-08657"; set_color_blend_equation_08658 = "VUID-vkCmdDrawIndirectByteCountEXT-None-08658"; @@ -4842,12 +4682,7 @@ struct DispatchVuidsCmdDrawIndirectByteCountEXT: DrawDispatchVuid { set_stencil_write_mask_08624 = "VUID-vkCmdDrawIndirectByteCountEXT-None-08624"; set_stencil_reference_08625 = "VUID-vkCmdDrawIndirectByteCountEXT-None-08625"; set_sample_locations_08626 = "VUID-vkCmdDrawIndirectByteCountEXT-None-08626"; - set_cull_mode_08627 = "VUID-vkCmdDrawIndirectByteCountEXT-None-08627"; set_front_face_08628 = "VUID-vkCmdDrawIndirectByteCountEXT-None-08628"; - set_depth_test_enable_08629 = "VUID-vkCmdDrawIndirectByteCountEXT-None-08629"; - set_depth_write_enable_08630 = "VUID-vkCmdDrawIndirectByteCountEXT-None-08630"; - set_depth_bounds_test_enable_08632 = "VUID-vkCmdDrawIndirectByteCountEXT-None-08632"; - set_stencil_test_enable_08633 = "VUID-vkCmdDrawIndirectByteCountEXT-None-08633"; set_stencil_op_08634 = "VUID-vkCmdDrawIndirectByteCountEXT-None-08634"; set_line_width_08619 = "VUID-vkCmdDrawIndirectByteCountEXT-None-08619"; set_viewport_with_count_08642 = "VUID-vkCmdDrawIndirectByteCountEXT-primitiveFragmentShadingRateWithMultipleViewports-08642"; diff --git a/layers/drawdispatch/drawdispatch_vuids.h b/layers/drawdispatch/drawdispatch_vuids.h index f3df1eb1a50..752e7c8c993 100644 --- a/layers/drawdispatch/drawdispatch_vuids.h +++ b/layers/drawdispatch/drawdispatch_vuids.h @@ -224,8 +224,6 @@ struct DrawDispatchVuid { const char* external_format_resolve_09370 = kVUIDUndefined; const char* external_format_resolve_09371 = kVUIDUndefined; const char* set_rasterizer_discard_enable_08639 = kVUIDUndefined; - const char* set_depth_bias_enable_08640 = kVUIDUndefined; - const char* set_logic_op_08641 = kVUIDUndefined; const char* set_color_blend_enable_08643 = kVUIDUndefined; const char* set_rasterization_samples_08644 = kVUIDUndefined; const char* set_color_write_enable_08646 = kVUIDUndefined; @@ -233,11 +231,7 @@ struct DrawDispatchVuid { const char* set_discard_rectangles_enable_08648 = kVUIDUndefined; const char* set_discard_rectangles_mode_08649 = kVUIDUndefined; const char* set_depth_clamp_enable_08650 = kVUIDUndefined; - const char* set_polygon_mode_08651 = kVUIDUndefined; - const char* set_rasterization_samples_08652 = kVUIDUndefined; - const char* set_sample_mask_08653 = kVUIDUndefined; const char* set_alpha_to_coverage_enable_08654 = kVUIDUndefined; - const char* set_alpha_to_one_enable_08655 = kVUIDUndefined; const char* set_logic_op_enable_08656 = kVUIDUndefined; const char* set_color_blend_enable_08657 = kVUIDUndefined; const char* set_color_blend_equation_08658 = kVUIDUndefined; @@ -291,12 +285,7 @@ struct DrawDispatchVuid { const char* set_stencil_write_mask_08624 = kVUIDUndefined; const char* set_stencil_reference_08625 = kVUIDUndefined; const char* set_sample_locations_08626 = kVUIDUndefined; - const char* set_cull_mode_08627 = kVUIDUndefined; const char* set_front_face_08628 = kVUIDUndefined; - const char* set_depth_test_enable_08629 = kVUIDUndefined; - const char* set_depth_write_enable_08630 = kVUIDUndefined; - const char* set_depth_bounds_test_enable_08632 = kVUIDUndefined; - const char* set_stencil_test_enable_08633 = kVUIDUndefined; const char* set_stencil_op_08634 = kVUIDUndefined; const char* set_line_width_08619 = kVUIDUndefined; const char* set_viewport_with_count_08642 = kVUIDUndefined; diff --git a/layers/state_tracker/pipeline_state.cpp b/layers/state_tracker/pipeline_state.cpp index cb18079ab79..6116250c91f 100644 --- a/layers/state_tracker/pipeline_state.cpp +++ b/layers/state_tracker/pipeline_state.cpp @@ -946,6 +946,17 @@ bool LastBound::IsRasterizationDisabled() const { return false; } +bool LastBound::IsLogicOpEnabled() const { + if (!pipeline_state || pipeline_state->IsDynamic(CB_DYNAMIC_STATE_LOGIC_OP_ENABLE_EXT)) { + if (cb_state.IsDynamicStateSet(CB_DYNAMIC_STATE_LOGIC_OP_ENABLE_EXT)) { + return cb_state.dynamic_state_value.logic_op_enable; + } + } else { + return pipeline_state->ColorBlendState() && pipeline_state->ColorBlendState()->logicOpEnable; + } + return false; +} + VkColorComponentFlags LastBound::GetColorWriteMask(uint32_t i) const { if (!pipeline_state || pipeline_state->IsDynamic(CB_DYNAMIC_STATE_COLOR_WRITE_MASK_EXT)) { if (i < cb_state.dynamic_state_value.color_write_masks.size()) { diff --git a/layers/state_tracker/pipeline_state.h b/layers/state_tracker/pipeline_state.h index f1b0c2b53d6..cb0e11bca3f 100644 --- a/layers/state_tracker/pipeline_state.h +++ b/layers/state_tracker/pipeline_state.h @@ -677,6 +677,7 @@ struct LastBound { VkStencilOpState GetStencilOpStateBack() const; VkSampleCountFlagBits GetRasterizationSamples() const; bool IsRasterizationDisabled() const; + bool IsLogicOpEnabled() const; VkColorComponentFlags GetColorWriteMask(uint32_t i) const; bool IsColorWriteEnabled(uint32_t i) const; VkPrimitiveTopology GetPrimitiveTopology() const; diff --git a/layers/vulkan/generated/dynamic_state_helper.cpp b/layers/vulkan/generated/dynamic_state_helper.cpp index 80c086feff1..a2ea76d6e41 100644 --- a/layers/vulkan/generated/dynamic_state_helper.cpp +++ b/layers/vulkan/generated/dynamic_state_helper.cpp @@ -624,6 +624,30 @@ std::string DescribeDynamicStateDependency(CBDynamicState dynamic_state, const v "pipeline.\n"; } break; + case CB_DYNAMIC_STATE_CULL_MODE: + if (!pipeline || pipeline->IsDynamic(CB_DYNAMIC_STATE_RASTERIZER_DISCARD_ENABLE)) { + ss << "vkCmdSetRasterizerDiscardEnable last set rasterizerDiscardEnable to VK_FALSE.\n"; + } else { + ss << "VkPipelineRasterizationStateCreateInfo::rasterizerDiscardEnable was VK_FALSE in the last bound graphics " + "pipeline.\n"; + } + break; + case CB_DYNAMIC_STATE_DEPTH_TEST_ENABLE: + if (!pipeline || pipeline->IsDynamic(CB_DYNAMIC_STATE_RASTERIZER_DISCARD_ENABLE)) { + ss << "vkCmdSetRasterizerDiscardEnable last set rasterizerDiscardEnable to VK_FALSE.\n"; + } else { + ss << "VkPipelineRasterizationStateCreateInfo::rasterizerDiscardEnable was VK_FALSE in the last bound graphics " + "pipeline.\n"; + } + break; + case CB_DYNAMIC_STATE_DEPTH_WRITE_ENABLE: + if (!pipeline || pipeline->IsDynamic(CB_DYNAMIC_STATE_RASTERIZER_DISCARD_ENABLE)) { + ss << "vkCmdSetRasterizerDiscardEnable last set rasterizerDiscardEnable to VK_FALSE.\n"; + } else { + ss << "VkPipelineRasterizationStateCreateInfo::rasterizerDiscardEnable was VK_FALSE in the last bound graphics " + "pipeline.\n"; + } + break; case CB_DYNAMIC_STATE_DEPTH_COMPARE_OP: if (!pipeline || pipeline->IsDynamic(CB_DYNAMIC_STATE_RASTERIZER_DISCARD_ENABLE)) { ss << "vkCmdSetRasterizerDiscardEnable last set rasterizerDiscardEnable to VK_FALSE.\n"; @@ -637,8 +661,53 @@ std::string DescribeDynamicStateDependency(CBDynamicState dynamic_state, const v ss << "VkPipelineDepthStencilStateCreateInfo::depthTestEnable was VK_TRUE in the last bound graphics pipeline.\n"; } break; + case CB_DYNAMIC_STATE_DEPTH_BOUNDS_TEST_ENABLE: + if (!pipeline || pipeline->IsDynamic(CB_DYNAMIC_STATE_RASTERIZER_DISCARD_ENABLE)) { + ss << "vkCmdSetRasterizerDiscardEnable last set rasterizerDiscardEnable to VK_FALSE.\n"; + } else { + ss << "VkPipelineRasterizationStateCreateInfo::rasterizerDiscardEnable was VK_FALSE in the last bound graphics " + "pipeline.\n"; + } + break; + case CB_DYNAMIC_STATE_STENCIL_TEST_ENABLE: + if (!pipeline || pipeline->IsDynamic(CB_DYNAMIC_STATE_RASTERIZER_DISCARD_ENABLE)) { + ss << "vkCmdSetRasterizerDiscardEnable last set rasterizerDiscardEnable to VK_FALSE.\n"; + } else { + ss << "VkPipelineRasterizationStateCreateInfo::rasterizerDiscardEnable was VK_FALSE in the last bound graphics " + "pipeline.\n"; + } + break; + case CB_DYNAMIC_STATE_DEPTH_BIAS_ENABLE: + if (!pipeline || pipeline->IsDynamic(CB_DYNAMIC_STATE_RASTERIZER_DISCARD_ENABLE)) { + ss << "vkCmdSetRasterizerDiscardEnable last set rasterizerDiscardEnable to VK_FALSE.\n"; + } else { + ss << "VkPipelineRasterizationStateCreateInfo::rasterizerDiscardEnable was VK_FALSE in the last bound graphics " + "pipeline.\n"; + } + break; + case CB_DYNAMIC_STATE_FRAGMENT_SHADING_RATE_KHR: + if (!pipeline || pipeline->IsDynamic(CB_DYNAMIC_STATE_RASTERIZER_DISCARD_ENABLE)) { + ss << "vkCmdSetRasterizerDiscardEnable last set rasterizerDiscardEnable to VK_FALSE.\n"; + } else { + ss << "VkPipelineRasterizationStateCreateInfo::rasterizerDiscardEnable was VK_FALSE in the last bound graphics " + "pipeline.\n"; + } + break; + case CB_DYNAMIC_STATE_LOGIC_OP_EXT: + if (!pipeline || pipeline->IsDynamic(CB_DYNAMIC_STATE_RASTERIZER_DISCARD_ENABLE)) { + ss << "vkCmdSetRasterizerDiscardEnable last set rasterizerDiscardEnable to VK_FALSE.\n"; + } else { + ss << "VkPipelineRasterizationStateCreateInfo::rasterizerDiscardEnable was VK_FALSE in the last bound graphics " + "pipeline.\n"; + } + if (!pipeline || pipeline->IsDynamic(CB_DYNAMIC_STATE_LOGIC_OP_ENABLE_EXT)) { + ss << "vkCmdSetLogicOpEnableEXT last set logicOpEnable to VK_TRUE.\n"; + } else { + ss << "VkPipelineColorBlendStateCreateInfo::logicOpEnable was VK_TRUE in the last bound graphics pipeline.\n"; + } + break; default: - ss << "(Unknown Dynamic State)"; + break; // not all state will be dependent on other state } return ss.str(); diff --git a/scripts/generators/dynamic_state_generator.py b/scripts/generators/dynamic_state_generator.py index 897a2d05aea..57148eaf201 100644 --- a/scripts/generators/dynamic_state_generator.py +++ b/scripts/generators/dynamic_state_generator.py @@ -50,7 +50,8 @@ "command" : ["vkCmdSetStencilReference"] }, "VK_DYNAMIC_STATE_CULL_MODE" : { - "command" : ["vkCmdSetCullMode"] + "command" : ["vkCmdSetCullMode"], + "dependency" : ["rasterizerDiscardEnable"] }, "VK_DYNAMIC_STATE_FRONT_FACE" : { "command" : ["vkCmdSetFrontFace"] @@ -68,20 +69,24 @@ "command" : ["vkCmdBindVertexBuffers2"] }, "VK_DYNAMIC_STATE_DEPTH_TEST_ENABLE" : { - "command" : ["vkCmdSetDepthTestEnable"] + "command" : ["vkCmdSetDepthTestEnable"], + "dependency" : ["rasterizerDiscardEnable"] }, "VK_DYNAMIC_STATE_DEPTH_WRITE_ENABLE" : { - "command" : ["vkCmdSetDepthWriteEnable"] + "command" : ["vkCmdSetDepthWriteEnable"], + "dependency" : ["rasterizerDiscardEnable"] }, "VK_DYNAMIC_STATE_DEPTH_COMPARE_OP" : { "command" : ["vkCmdSetDepthCompareOp"], "dependency" : ["rasterizerDiscardEnable", "depthTestEnable"] }, "VK_DYNAMIC_STATE_DEPTH_BOUNDS_TEST_ENABLE" : { - "command" : ["vkCmdSetDepthBoundsTestEnable"] + "command" : ["vkCmdSetDepthBoundsTestEnable"], + "dependency" : ["rasterizerDiscardEnable"] }, "VK_DYNAMIC_STATE_STENCIL_TEST_ENABLE" : { - "command" : ["vkCmdSetStencilTestEnable"] + "command" : ["vkCmdSetStencilTestEnable"], + "dependency" : ["rasterizerDiscardEnable"] }, "VK_DYNAMIC_STATE_STENCIL_OP" : { "command" : ["vkCmdSetStencilOp"] @@ -90,7 +95,8 @@ "command" : ["vkCmdSetRasterizerDiscardEnable"] }, "VK_DYNAMIC_STATE_DEPTH_BIAS_ENABLE" : { - "command" : ["vkCmdSetDepthBiasEnable"] + "command" : ["vkCmdSetDepthBiasEnable"], + "dependency" : ["rasterizerDiscardEnable"] }, "VK_DYNAMIC_STATE_PRIMITIVE_RESTART_ENABLE" : { "command" : ["vkCmdSetPrimitiveRestartEnable"] @@ -123,7 +129,8 @@ "command" : ["vkCmdSetExclusiveScissorNV"] }, "VK_DYNAMIC_STATE_FRAGMENT_SHADING_RATE_KHR" : { - "command" : ["vkCmdSetFragmentShadingRateKHR"] + "command" : ["vkCmdSetFragmentShadingRateKHR"], + "dependency" : ["rasterizerDiscardEnable"] }, "VK_DYNAMIC_STATE_LINE_STIPPLE_KHR" : { "command" : ["vkCmdSetLineStippleKHR"] @@ -135,7 +142,8 @@ "command" : ["vkCmdSetPatchControlPointsEXT"] }, "VK_DYNAMIC_STATE_LOGIC_OP_EXT" : { - "command" : ["vkCmdSetLogicOpEXT"] + "command" : ["vkCmdSetLogicOpEXT"], + "dependency" : ["rasterizerDiscardEnable", "logicOpEnable"] }, "VK_DYNAMIC_STATE_COLOR_WRITE_ENABLE_EXT" : { "command" : ["vkCmdSetColorWriteEnableEXT"] @@ -452,11 +460,18 @@ def generateSource(self): } else { ss << "VkPipelineRasterizationStateCreateInfo::depthTestEnable was VK_TRUE in the last bound graphics pipeline.\\n"; }''') + if 'logicOpEnable' in dependency: + out.append(''' + if (!pipeline || pipeline->IsDynamic(CB_DYNAMIC_STATE_LOGIC_OP_ENABLE_EXT)) { + ss << "vkCmdSetLogicOpEnableEXT last set logicOpEnable to VK_TRUE.\\n"; + } else { + ss << "VkPipelineColorBlendStateCreateInfo::logicOpEnable was VK_TRUE in the last bound graphics pipeline.\\n"; + }''') out.append(' break;') out.append(''' default: - ss << "(Unknown Dynamic State)"; + break; // not all state will be dependent on other state } return ss.str(); diff --git a/tests/unit/dynamic_state.cpp b/tests/unit/dynamic_state.cpp index f5fb196167e..b3378e33567 100644 --- a/tests/unit/dynamic_state.cpp +++ b/tests/unit/dynamic_state.cpp @@ -1164,6 +1164,7 @@ TEST_F(NegativeDynamicState, ExtendedDynamicState2LogicOpEnabled) { { CreatePipelineHelper pipe(*this); pipe.AddDynamicState(VK_DYNAMIC_STATE_LOGIC_OP_EXT); + pipe.cb_ci_.logicOpEnable = VK_TRUE; pipe.CreateGraphicsPipeline(); vkt::CommandBuffer command_buffer(*m_device, m_command_pool); @@ -1706,15 +1707,9 @@ TEST_F(NegativeDynamicState, DrawNotSetPolygonMode) { TEST_F(NegativeDynamicState, DrawNotSetAlphaToOneEnable) { TEST_DESCRIPTION("VK_EXT_extended_dynamic_state3 dynamic state not set before drawing"); AddRequiredExtensions(VK_EXT_EXTENDED_DYNAMIC_STATE_3_EXTENSION_NAME); - RETURN_IF_SKIP(InitFramework()); - - VkPhysicalDeviceExtendedDynamicState3FeaturesEXT extended_dynamic_state3_features = vku::InitStructHelper(); - auto features2 = GetPhysicalDeviceFeatures2(extended_dynamic_state3_features); - if (!extended_dynamic_state3_features.extendedDynamicState3AlphaToOneEnable) { - GTEST_SKIP() << "extendedDynamicState3AlphaToOneEnable not supported"; - } - features2.features.alphaToOne = VK_FALSE; - RETURN_IF_SKIP(InitState(nullptr, &features2)); + AddRequiredFeature(vkt::Feature::alphaToOne); + AddRequiredFeature(vkt::Feature::extendedDynamicState3AlphaToOneEnable); + RETURN_IF_SKIP(Init()); InitRenderTarget(); m_commandBuffer->begin(); @@ -1728,6 +1723,26 @@ TEST_F(NegativeDynamicState, DrawNotSetAlphaToOneEnable) { m_errorMonitor->SetDesiredError("VUID-vkCmdDraw-None-07625"); vk::CmdDraw(m_commandBuffer->handle(), 1, 1, 0, 0); m_errorMonitor->VerifyFound(); + m_commandBuffer->EndRenderPass(); + m_commandBuffer->end(); +} + +TEST_F(NegativeDynamicState, AlphaToOneFeature) { + TEST_DESCRIPTION("VK_EXT_extended_dynamic_state3 dynamic state not set before drawing"); + AddRequiredExtensions(VK_EXT_EXTENDED_DYNAMIC_STATE_3_EXTENSION_NAME); + AddRequiredFeature(vkt::Feature::extendedDynamicState3AlphaToOneEnable); + AddDisabledFeature(vkt::Feature::alphaToOne); + RETURN_IF_SKIP(Init()); + InitRenderTarget(); + + m_commandBuffer->begin(); + + CreatePipelineHelper pipe(*this); + pipe.AddDynamicState(VK_DYNAMIC_STATE_ALPHA_TO_ONE_ENABLE_EXT); + pipe.CreateGraphicsPipeline(); + vk::CmdBindPipeline(m_commandBuffer->handle(), VK_PIPELINE_BIND_POINT_GRAPHICS, pipe.Handle()); + + m_commandBuffer->BeginRenderPass(m_renderPassBeginInfo); m_errorMonitor->SetDesiredError("VUID-vkCmdSetAlphaToOneEnableEXT-alphaToOne-07607"); vk::CmdSetAlphaToOneEnableEXT(m_commandBuffer->handle(), VK_TRUE); m_errorMonitor->VerifyFound(); diff --git a/tests/unit/shader_object.cpp b/tests/unit/shader_object.cpp index 2b374ad291c..342495a024a 100644 --- a/tests/unit/shader_object.cpp +++ b/tests/unit/shader_object.cpp @@ -1403,7 +1403,7 @@ TEST_F(NegativeShaderObject, MissingCmdSetRasterizerDiscardEnable) { TEST_F(NegativeShaderObject, MissingCmdSetDepthBiasEnable) { TEST_DESCRIPTION("Draw with shaders without setting vkCmdSetDepthBiasEnable."); - m_errorMonitor->SetDesiredError("VUID-vkCmdDraw-None-08640"); + m_errorMonitor->SetDesiredError("VUID-vkCmdDraw-None-04877"); RETURN_IF_SKIP(InitBasicShaderObject()); InitDynamicRenderTarget(); @@ -1426,7 +1426,7 @@ TEST_F(NegativeShaderObject, MissingCmdSetDepthBiasEnable) { TEST_F(NegativeShaderObject, MissingCmdSetLogicOp) { TEST_DESCRIPTION("Draw with shaders without setting vkCmdSetLogicOp."); - m_errorMonitor->SetDesiredError("VUID-vkCmdDraw-None-08641"); + m_errorMonitor->SetDesiredError("VUID-vkCmdDraw-None-04878"); SetTargetApiVersion(VK_API_VERSION_1_1); AddRequiredExtensions(VK_EXT_SHADER_OBJECT_EXTENSION_NAME); @@ -1722,7 +1722,7 @@ TEST_F(NegativeShaderObject, MissingCmdSetDepthClampEnableEXT) { TEST_F(NegativeShaderObject, MissingCmdSetPolygonModeEXT) { TEST_DESCRIPTION("Draw with shader objects without setting vkCmdSetPolygonModeEXT."); - m_errorMonitor->SetDesiredError("VUID-vkCmdDraw-None-08651"); + m_errorMonitor->SetDesiredError("VUID-vkCmdDraw-None-07621"); RETURN_IF_SKIP(InitBasicShaderObject()); InitDynamicRenderTarget(); @@ -1745,7 +1745,7 @@ TEST_F(NegativeShaderObject, MissingCmdSetPolygonModeEXT) { TEST_F(NegativeShaderObject, MissingCmdSetRasterizationSamplesEXT) { TEST_DESCRIPTION("Draw with shader objects without setting vkCmdSetRasterizationSamplesEXT."); - m_errorMonitor->SetDesiredError("VUID-vkCmdDraw-None-08652"); + m_errorMonitor->SetDesiredError("VUID-vkCmdDraw-None-07622"); RETURN_IF_SKIP(InitBasicShaderObject()); InitDynamicRenderTarget(); @@ -1768,7 +1768,7 @@ TEST_F(NegativeShaderObject, MissingCmdSetRasterizationSamplesEXT) { TEST_F(NegativeShaderObject, MissingCmdSetSampleMaskEXT) { TEST_DESCRIPTION("Draw with shader objects without setting vkCmdSetSampleMaskEXT."); - m_errorMonitor->SetDesiredError("VUID-vkCmdDraw-None-08653"); + m_errorMonitor->SetDesiredError("VUID-vkCmdDraw-None-07623"); RETURN_IF_SKIP(InitBasicShaderObject()); InitDynamicRenderTarget(); @@ -1814,7 +1814,7 @@ TEST_F(NegativeShaderObject, MissingCmdSetAlphaToCoverageEnableEXT) { TEST_F(NegativeShaderObject, MissingCmdSetAlphaToOneEnableEXT) { TEST_DESCRIPTION("Draw with shader objects without setting vkCmdSetAlphaToOneEnableEXT."); - m_errorMonitor->SetDesiredError("VUID-vkCmdDraw-None-08655"); + m_errorMonitor->SetDesiredError("VUID-vkCmdDraw-None-07625"); RETURN_IF_SKIP(InitBasicShaderObject()); InitDynamicRenderTarget(); @@ -3410,6 +3410,31 @@ TEST_F(NegativeShaderObject, MissingCmdSetPrimitiveRestartEnableEXT) { m_errorMonitor->VerifyFound(); } +TEST_F(NegativeShaderObject, MissingCmdSetVertexInput) { + m_errorMonitor->SetDesiredError("VUID-vkCmdDraw-None-04914"); + + AddRequiredExtensions(VK_EXT_VERTEX_INPUT_DYNAMIC_STATE_EXTENSION_NAME); + AddRequiredExtensions(VK_EXT_EXTENDED_DYNAMIC_STATE_EXTENSION_NAME); + AddRequiredFeature(vkt::Feature::extendedDynamicState); + AddRequiredFeature(vkt::Feature::vertexInputDynamicState); + RETURN_IF_SKIP(InitBasicShaderObject()); + InitDynamicRenderTarget(); + + const vkt::Shader vertShader(*m_device, VK_SHADER_STAGE_VERTEX_BIT, GLSLToSPV(VK_SHADER_STAGE_VERTEX_BIT, kVertexMinimalGlsl)); + + const vkt::Shader fragShader(*m_device, VK_SHADER_STAGE_FRAGMENT_BIT, + GLSLToSPV(VK_SHADER_STAGE_FRAGMENT_BIT, kFragmentMinimalGlsl)); + m_commandBuffer->begin(); + m_commandBuffer->BeginRenderingColor(GetDynamicRenderTarget(), GetRenderTargetArea()); + SetDefaultDynamicStatesExclude({VK_DYNAMIC_STATE_VERTEX_INPUT_EXT}); + m_commandBuffer->BindVertFragShader(vertShader, fragShader); + vk::CmdDraw(m_commandBuffer->handle(), 4, 1, 0, 0); + m_commandBuffer->EndRendering(); + m_commandBuffer->end(); + + m_errorMonitor->VerifyFound(); +} + TEST_F(NegativeShaderObject, DrawWithGraphicsShadersWhenMeshShaderIsBound) { TEST_DESCRIPTION("Draw with graphics shader objects when a mesh shader is bound."); @@ -3685,7 +3710,7 @@ TEST_F(NegativeShaderObject, MissingCmdSetSampleLocationsEXT) { TEST_F(NegativeShaderObject, MissingCmdSetCullModeEXT) { TEST_DESCRIPTION("Draw with shader objects without setting vkCmdSetCullModeEXT."); - m_errorMonitor->SetDesiredError("VUID-vkCmdDraw-None-08627"); + m_errorMonitor->SetDesiredError("VUID-vkCmdDraw-None-07840"); RETURN_IF_SKIP(InitBasicShaderObject()); InitDynamicRenderTarget(); @@ -3732,7 +3757,7 @@ TEST_F(NegativeShaderObject, MissingCmdSetFrontFaceEXT) { TEST_F(NegativeShaderObject, MissingCmdSetDepthTestEnableEXT) { TEST_DESCRIPTION("Draw with shader objects without setting vkCmdSetDepthTestEnableEXT."); - m_errorMonitor->SetDesiredError("VUID-vkCmdDraw-None-08629"); + m_errorMonitor->SetDesiredError("VUID-vkCmdDraw-None-07843"); RETURN_IF_SKIP(InitBasicShaderObject()); InitDynamicRenderTarget(); @@ -3755,7 +3780,7 @@ TEST_F(NegativeShaderObject, MissingCmdSetDepthTestEnableEXT) { TEST_F(NegativeShaderObject, MissingCmdSetDepthWriteEnableEXT) { TEST_DESCRIPTION("Draw with shader objects without setting vkCmdSetDepthWriteEnableEXT."); - m_errorMonitor->SetDesiredError("VUID-vkCmdDraw-None-08630"); + m_errorMonitor->SetDesiredError("VUID-vkCmdDraw-None-07844"); RETURN_IF_SKIP(InitBasicShaderObject()); InitDynamicRenderTarget(); @@ -3802,7 +3827,7 @@ TEST_F(NegativeShaderObject, MissingCmdSetDepthCompareOp) { TEST_F(NegativeShaderObject, MissingCmdSetDepthBoundsTestEnable) { TEST_DESCRIPTION("Draw with shader objects without setting vkCmdSetDepthBoundsTestEnable."); - m_errorMonitor->SetDesiredError("VUID-vkCmdDraw-None-08632"); + m_errorMonitor->SetDesiredError("VUID-vkCmdDraw-None-07846"); RETURN_IF_SKIP(InitBasicShaderObject()); InitDynamicRenderTarget(); @@ -3830,7 +3855,7 @@ TEST_F(NegativeShaderObject, MissingCmdSetDepthBoundsTestEnable) { TEST_F(NegativeShaderObject, MissingCmdSetStencilTestEnable) { TEST_DESCRIPTION("Draw with shader objects without setting vkCmdSetStencilTestEnable."); - m_errorMonitor->SetDesiredError("VUID-vkCmdDraw-None-08633"); + m_errorMonitor->SetDesiredError("VUID-vkCmdDraw-None-07847"); RETURN_IF_SKIP(InitBasicShaderObject()); InitDynamicRenderTarget();