diff --git a/layers/VkLayer_khronos_validation.json.in b/layers/VkLayer_khronos_validation.json.in index de46dda05dc..cafd29eb242 100644 --- a/layers/VkLayer_khronos_validation.json.in +++ b/layers/VkLayer_khronos_validation.json.in @@ -4,7 +4,7 @@ "name": "VK_LAYER_KHRONOS_validation", "type": "GLOBAL", "library_path": "@JSON_LIBRARY_PATH@", - "api_version": "1.3.275", + "api_version": "1.3.276", "implementation_version": "1", "description": "Khronos Validation Layer", "introduction": "The main, comprehensive Khronos validation layer.\n\nVulkan is an Explicit API, enabling direct control over how GPUs actually work. By design, minimal error checking is done inside a Vulkan driver. Applications have full control and responsibility for correct operation. Any errors in how Vulkan is used can result in a crash. \n\nThe Khronos Valiation Layer can be enabled to assist development by enabling developers to verify their applications correctly use the Vulkan API.", diff --git a/layers/core_checks/cc_cmd_buffer_dynamic.cpp b/layers/core_checks/cc_cmd_buffer_dynamic.cpp index ebe5fac8d60..a8b2c523ac9 100644 --- a/layers/core_checks/cc_cmd_buffer_dynamic.cpp +++ b/layers/core_checks/cc_cmd_buffer_dynamic.cpp @@ -198,9 +198,9 @@ bool CoreChecks::ValidateGraphicsDynamicStateSetStatus(const LastBound& last_bou pipeline.topology_at_rasterizer == VK_PRIMITIVE_TOPOLOGY_LINE_STRIP_WITH_ADJACENCY) { skip |= ValidateDynamicStateIsSet(state_status_cb, CB_DYNAMIC_STATE_LINE_WIDTH, objlist, loc, vuid.dynamic_line_width_07833); - const auto *line_state = vku::FindStructInPNextChain(rp_state); + const auto *line_state = vku::FindStructInPNextChain(rp_state); if (line_state && line_state->stippledLineEnable) { - skip |= ValidateDynamicStateIsSet(state_status_cb, CB_DYNAMIC_STATE_LINE_STIPPLE_EXT, objlist, loc, + skip |= ValidateDynamicStateIsSet(state_status_cb, CB_DYNAMIC_STATE_LINE_STIPPLE_KHR, objlist, loc, vuid.dynamic_line_stipple_ext_07849); } } @@ -1233,7 +1233,7 @@ bool CoreChecks::ValidateDrawDynamicStateShaderObject(const LastBound& last_boun } if (cb_state.dynamic_state_status.cb[CB_DYNAMIC_STATE_LINE_STIPPLE_ENABLE_EXT] && cb_state.dynamic_state_value.stippled_line_enable) { - skip |= ValidateDynamicStateIsSet(cb_state.dynamic_state_status.cb, CB_DYNAMIC_STATE_LINE_STIPPLE_EXT, objlist, loc, + skip |= ValidateDynamicStateIsSet(cb_state.dynamic_state_status.cb, CB_DYNAMIC_STATE_LINE_STIPPLE_KHR, objlist, loc, vuid.set_line_stipple_08672); } } diff --git a/layers/core_checks/cc_pipeline_graphics.cpp b/layers/core_checks/cc_pipeline_graphics.cpp index 3e87da76f69..c24d00e2f0a 100644 --- a/layers/core_checks/cc_pipeline_graphics.cpp +++ b/layers/core_checks/cc_pipeline_graphics.cpp @@ -3005,7 +3005,7 @@ bool CoreChecks::ValidatePipelineDrawtimeState(const LastBound &last_bound_state const bool dynamic_line_stipple_enable = pipeline->IsDynamic(VK_DYNAMIC_STATE_LINE_STIPPLE_ENABLE_EXT); if (dynamic_line_stipple_enable || dynamic_line_raster_mode) { const auto raster_line_state = - vku::FindStructInPNextChain(raster_state->pNext); + vku::FindStructInPNextChain(raster_state->pNext); const VkLineRasterizationModeEXT line_rasterization_mode = (dynamic_line_raster_mode) ? cb_state.dynamic_state_value.line_rasterization_mode diff --git a/layers/core_checks/cc_ray_tracing.cpp b/layers/core_checks/cc_ray_tracing.cpp index d08ac153c45..bdb789446f7 100644 --- a/layers/core_checks/cc_ray_tracing.cpp +++ b/layers/core_checks/cc_ray_tracing.cpp @@ -1436,7 +1436,7 @@ bool CoreChecks::PreCallValidateCmdBuildAccelerationStructuresIndirectKHR(VkComm bool skip = false; skip |= ValidateCmd(*cb_state, error_obj.location); if (!cb_state->unprotected) { - skip |= LogError("VUID-vkCmdBuildAccelerationStructuresIndirectKHR-commandBuffer-03649", commandBuffer, error_obj.location, + skip |= LogError("VUID-vkCmdBuildAccelerationStructuresIndirectKHR-commandBuffer-09547", commandBuffer, error_obj.location, "called in a protected command buffer."); } for (uint32_t i = 0; i < infoCount; ++i) { diff --git a/layers/state_tracker/state_tracker.cpp b/layers/state_tracker/state_tracker.cpp index 567dbfcad1c..11ad1c2bcd0 100644 --- a/layers/state_tracker/state_tracker.cpp +++ b/layers/state_tracker/state_tracker.cpp @@ -2565,7 +2565,7 @@ void ValidationStateTracker::PostCallRecordCmdSetLineWidth(VkCommandBuffer comma void ValidationStateTracker::PostCallRecordCmdSetLineStippleEXT(VkCommandBuffer commandBuffer, uint32_t lineStippleFactor, uint16_t lineStipplePattern, const RecordObject &record_obj) { auto cb_state = GetWrite(commandBuffer); - cb_state->RecordStateCmd(record_obj.location.function, CB_DYNAMIC_STATE_LINE_STIPPLE_EXT); + cb_state->RecordStateCmd(record_obj.location.function, CB_DYNAMIC_STATE_LINE_STIPPLE_KHR); } void ValidationStateTracker::PostCallRecordCmdSetDepthBias(VkCommandBuffer commandBuffer, float depthBiasConstantFactor, diff --git a/layers/stateless/sl_cmd_buffer_dynamic.cpp b/layers/stateless/sl_cmd_buffer_dynamic.cpp index a705bffa53d..a0c8813c033 100644 --- a/layers/stateless/sl_cmd_buffer_dynamic.cpp +++ b/layers/stateless/sl_cmd_buffer_dynamic.cpp @@ -1,7 +1,7 @@ -/* Copyright (c) 2015-2023 The Khronos Group Inc. - * Copyright (c) 2015-2023 Valve Corporation - * Copyright (c) 2015-2023 LunarG, Inc. - * Copyright (C) 2015-2023 Google Inc. +/* Copyright (c) 2015-2024 The Khronos Group Inc. + * Copyright (c) 2015-2024 Valve Corporation + * Copyright (c) 2015-2024 LunarG, Inc. + * Copyright (C) 2015-2024 Google Inc. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. @@ -570,7 +570,7 @@ bool StatelessValidation::manual_PreCallValidateCmdSetLineWidth(VkCommandBuffer return skip; } -bool StatelessValidation::manual_PreCallValidateCmdSetLineStippleEXT(VkCommandBuffer commandBuffer, uint32_t lineStippleFactor, +bool StatelessValidation::manual_PreCallValidateCmdSetLineStippleKHR(VkCommandBuffer commandBuffer, uint32_t lineStippleFactor, uint16_t lineStipplePattern, const ErrorObject &error_obj) const { bool skip = false; diff --git a/layers/stateless/sl_pipeline.cpp b/layers/stateless/sl_pipeline.cpp index d0a664ea077..b90ec0dee0b 100644 --- a/layers/stateless/sl_pipeline.cpp +++ b/layers/stateless/sl_pipeline.cpp @@ -1177,7 +1177,7 @@ bool StatelessValidation::manual_PreCallValidateCreateGraphicsPipelines( if (line_state->stippledLineEnable && !dynamic_line_stipple_enable) { if (line_state->lineStippleFactor < 1 || line_state->lineStippleFactor > 256) { skip |= LogError("VUID-VkGraphicsPipelineCreateInfo-stippledLineEnable-02767", device, - rasterization_loc.pNext(Struct::VkPipelineRasterizationLineStateCreateInfoEXT, + rasterization_loc.pNext(Struct::VkPipelineRasterizationLineStateCreateInfoKHR, Field::lineStippleFactor), "is %" PRIu32 ".", line_state->lineStippleFactor); } @@ -1189,26 +1189,26 @@ bool StatelessValidation::manual_PreCallValidateCreateGraphicsPipelines( line_state->lineRasterizationMode == VK_LINE_RASTERIZATION_MODE_RECTANGULAR_SMOOTH_EXT)) { if (create_info.pMultisampleState->alphaToCoverageEnable) { skip |= LogError("VUID-VkGraphicsPipelineCreateInfo-lineRasterizationMode-02766", device, - rasterization_loc.pNext(Struct::VkPipelineRasterizationLineStateCreateInfoEXT, + rasterization_loc.pNext(Struct::VkPipelineRasterizationLineStateCreateInfoKHR, Field::lineStippleFactor), "is %s, but pCreateInfos[%" PRIu32 "].pMultisampleState->alphaToCoverageEnable == VK_TRUE.", - string_VkLineRasterizationModeEXT(line_state->lineRasterizationMode), i); + string_VkLineRasterizationModeKHR(line_state->lineRasterizationMode), i); } if (create_info.pMultisampleState->alphaToOneEnable) { skip |= LogError("VUID-VkGraphicsPipelineCreateInfo-lineRasterizationMode-02766", device, - rasterization_loc.pNext(Struct::VkPipelineRasterizationLineStateCreateInfoEXT, + rasterization_loc.pNext(Struct::VkPipelineRasterizationLineStateCreateInfoKHR, Field::lineStippleFactor), "is %s, but pCreateInfos[%" PRIu32 "].pMultisampleState->alphaToOneEnable == VK_TRUE.", - string_VkLineRasterizationModeEXT(line_state->lineRasterizationMode), i); + string_VkLineRasterizationModeKHR(line_state->lineRasterizationMode), i); } if (create_info.pMultisampleState->sampleShadingEnable) { skip |= LogError("VUID-VkGraphicsPipelineCreateInfo-lineRasterizationMode-02766", device, - rasterization_loc.pNext(Struct::VkPipelineRasterizationLineStateCreateInfoEXT, + rasterization_loc.pNext(Struct::VkPipelineRasterizationLineStateCreateInfoKHR, Field::lineStippleFactor), "is %s, but pCreateInfos[%" PRIu32 "].pMultisampleState->sampleShadingEnable == VK_TRUE.", - string_VkLineRasterizationModeEXT(line_state->lineRasterizationMode), i); + string_VkLineRasterizationModeKHR(line_state->lineRasterizationMode), i); } } @@ -1218,7 +1218,7 @@ bool StatelessValidation::manual_PreCallValidateCreateGraphicsPipelines( (!line_features || !line_features->rectangularLines)) { skip |= LogError( "VUID-VkPipelineRasterizationLineStateCreateInfoEXT-lineRasterizationMode-02768", device, - rasterization_loc.pNext(Struct::VkPhysicalDeviceLineRasterizationFeaturesEXT, + rasterization_loc.pNext(Struct::VkPhysicalDeviceLineRasterizationFeaturesKHR, Field::lineRasterizationMode), "is VK_LINE_RASTERIZATION_MODE_RECTANGULAR_EXT but the rectangularLines feature was not enabled."); } @@ -1226,14 +1226,14 @@ bool StatelessValidation::manual_PreCallValidateCreateGraphicsPipelines( (!line_features || !line_features->bresenhamLines)) { skip |= LogError("VUID-VkPipelineRasterizationLineStateCreateInfoEXT-lineRasterizationMode-02769", device, - rasterization_loc.pNext(Struct::VkPhysicalDeviceLineRasterizationFeaturesEXT, + rasterization_loc.pNext(Struct::VkPhysicalDeviceLineRasterizationFeaturesKHR, Field::lineRasterizationMode), "is VK_LINE_RASTERIZATION_MODE_BRESENHAM_EXT but the bresenhamLines feature was not enabled."); } if (line_state->lineRasterizationMode == VK_LINE_RASTERIZATION_MODE_RECTANGULAR_SMOOTH_EXT && (!line_features || !line_features->smoothLines)) { skip |= LogError("VUID-VkPipelineRasterizationLineStateCreateInfoEXT-lineRasterizationMode-02770", device, - rasterization_loc.pNext(Struct::VkPhysicalDeviceLineRasterizationFeaturesEXT, + rasterization_loc.pNext(Struct::VkPhysicalDeviceLineRasterizationFeaturesKHR, Field::lineRasterizationMode), "is VK_LINE_RASTERIZATION_MODE_RECTANGULAR_SMOOTH_EXT but the smoothLines feature was not " "enabled."); @@ -1242,7 +1242,7 @@ bool StatelessValidation::manual_PreCallValidateCreateGraphicsPipelines( if (line_state->lineRasterizationMode == VK_LINE_RASTERIZATION_MODE_RECTANGULAR_EXT && (!line_features || !line_features->stippledRectangularLines)) { skip |= LogError("VUID-VkPipelineRasterizationLineStateCreateInfoEXT-stippledLineEnable-02771", device, - rasterization_loc.pNext(Struct::VkPhysicalDeviceLineRasterizationFeaturesEXT, + rasterization_loc.pNext(Struct::VkPhysicalDeviceLineRasterizationFeaturesKHR, Field::lineRasterizationMode), "is VK_LINE_RASTERIZATION_MODE_RECTANGULAR_EXT and stippledLineEnable was VK_TRUE, " "but the stippledRectangularLines feature was not enabled."); @@ -1250,7 +1250,7 @@ bool StatelessValidation::manual_PreCallValidateCreateGraphicsPipelines( if (line_state->lineRasterizationMode == VK_LINE_RASTERIZATION_MODE_BRESENHAM_EXT && (!line_features || !line_features->stippledBresenhamLines)) { skip |= LogError("VUID-VkPipelineRasterizationLineStateCreateInfoEXT-stippledLineEnable-02772", device, - rasterization_loc.pNext(Struct::VkPhysicalDeviceLineRasterizationFeaturesEXT, + rasterization_loc.pNext(Struct::VkPhysicalDeviceLineRasterizationFeaturesKHR, Field::lineRasterizationMode), "is VK_LINE_RASTERIZATION_MODE_BRESENHAM_EXT and stippledLineEnable was VK_TRUE, but " "the stippledBresenhamLines feature was not enabled."); @@ -1258,7 +1258,7 @@ bool StatelessValidation::manual_PreCallValidateCreateGraphicsPipelines( if (line_state->lineRasterizationMode == VK_LINE_RASTERIZATION_MODE_RECTANGULAR_SMOOTH_EXT && (!line_features || !line_features->stippledSmoothLines)) { skip |= LogError("VUID-VkPipelineRasterizationLineStateCreateInfoEXT-stippledLineEnable-02773", device, - rasterization_loc.pNext(Struct::VkPhysicalDeviceLineRasterizationFeaturesEXT, + rasterization_loc.pNext(Struct::VkPhysicalDeviceLineRasterizationFeaturesKHR, Field::lineRasterizationMode), "is VK_LINE_RASTERIZATION_MODE_RECTANGULAR_SMOOTH_EXT and stippledLineEnable was " "VK_TRUE, but the stippledSmoothLines feature was not enabled."); @@ -1266,7 +1266,7 @@ bool StatelessValidation::manual_PreCallValidateCreateGraphicsPipelines( if (line_state->lineRasterizationMode == VK_LINE_RASTERIZATION_MODE_DEFAULT_EXT && (!line_features || !line_features->stippledRectangularLines || !device_limits.strictLines)) { skip |= LogError("VUID-VkPipelineRasterizationLineStateCreateInfoEXT-stippledLineEnable-02774", device, - rasterization_loc.pNext(Struct::VkPhysicalDeviceLineRasterizationFeaturesEXT, + rasterization_loc.pNext(Struct::VkPhysicalDeviceLineRasterizationFeaturesKHR, Field::lineRasterizationMode), "is VK_LINE_RASTERIZATION_MODE_DEFAULT_EXT and stippledLineEnable was VK_TRUE, but " "the stippledRectangularLines feature was not enabled."); diff --git a/layers/stateless/stateless_validation.h b/layers/stateless/stateless_validation.h index f1809a94b37..92e1059ed4c 100644 --- a/layers/stateless/stateless_validation.h +++ b/layers/stateless/stateless_validation.h @@ -801,7 +801,7 @@ class StatelessValidation : public ValidationObject { const VkAllocationCallbacks *pAllocator, VkFramebuffer *pFramebuffer, const ErrorObject &error_obj) const; - bool manual_PreCallValidateCmdSetLineStippleEXT(VkCommandBuffer commandBuffer, uint32_t lineStippleFactor, + bool manual_PreCallValidateCmdSetLineStippleKHR(VkCommandBuffer commandBuffer, uint32_t lineStippleFactor, uint16_t lineStipplePattern, const ErrorObject &error_obj) const; bool manual_PreCallValidateCmdBindIndexBuffer(VkCommandBuffer commandBuffer, VkBuffer buffer, VkDeviceSize offset, diff --git a/layers/vulkan/generated/best_practices.cpp b/layers/vulkan/generated/best_practices.cpp index 4f6e699bd0a..393a31561ca 100644 --- a/layers/vulkan/generated/best_practices.cpp +++ b/layers/vulkan/generated/best_practices.cpp @@ -3,9 +3,9 @@ /*************************************************************************** * - * Copyright (c) 2015-2023 The Khronos Group Inc. - * Copyright (c) 2015-2023 Valve Corporation - * Copyright (c) 2015-2023 LunarG, Inc. + * Copyright (c) 2015-2024 The Khronos Group Inc. + * Copyright (c) 2015-2024 Valve Corporation + * Copyright (c) 2015-2024 LunarG, Inc. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/layers/vulkan/generated/best_practices.h b/layers/vulkan/generated/best_practices.h index a2e77f6f713..7960be16629 100644 --- a/layers/vulkan/generated/best_practices.h +++ b/layers/vulkan/generated/best_practices.h @@ -3,9 +3,9 @@ /*************************************************************************** * - * Copyright (c) 2015-2023 The Khronos Group Inc. - * Copyright (c) 2015-2023 Valve Corporation - * Copyright (c) 2015-2023 LunarG, Inc. + * Copyright (c) 2015-2024 The Khronos Group Inc. + * Copyright (c) 2015-2024 Valve Corporation + * Copyright (c) 2015-2024 LunarG, Inc. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. @@ -1107,6 +1107,7 @@ const vvl::unordered_map deprecated_extensions = { {"VK_EXT_separate_stencil_usage", {kExtPromoted, "VK_VERSION_1_2"}}, {"VK_EXT_validation_features", {kExtDeprecated, "VK_EXT_layer_settings"}}, {"VK_EXT_host_query_reset", {kExtPromoted, "VK_VERSION_1_2"}}, + {"VK_EXT_index_type_uint8", {kExtPromoted, "VK_KHR_index_type_uint8"}}, {"VK_EXT_extended_dynamic_state", {kExtPromoted, "VK_VERSION_1_3"}}, {"VK_EXT_shader_demote_to_helper_invocation", {kExtPromoted, "VK_VERSION_1_3"}}, {"VK_EXT_texel_buffer_alignment", {kExtPromoted, "VK_VERSION_1_3"}}, @@ -1119,6 +1120,7 @@ const vvl::unordered_map deprecated_extensions = { {"VK_VALVE_mutable_descriptor_type", {kExtPromoted, "VK_EXT_mutable_descriptor_type"}}, {"VK_EXT_extended_dynamic_state2", {kExtPromoted, "VK_VERSION_1_3"}}, {"VK_EXT_global_priority_query", {kExtPromoted, "VK_KHR_global_priority"}}, + {"VK_EXT_load_store_op_none", {kExtPromoted, "VK_KHR_load_store_op_none"}}, }; const vvl::unordered_map special_use_extensions = { {"VK_KHR_performance_query", "devtools"}, diff --git a/layers/vulkan/generated/chassis.cpp b/layers/vulkan/generated/chassis.cpp index bb51ff96aec..8a5db3a9511 100644 --- a/layers/vulkan/generated/chassis.cpp +++ b/layers/vulkan/generated/chassis.cpp @@ -8428,6 +8428,58 @@ VKAPI_ATTR void VKAPI_CALL CmdSetFragmentShadingRateKHR(VkCommandBuffer commandB } } +VKAPI_ATTR void VKAPI_CALL CmdSetRenderingAttachmentLocationsKHR(VkCommandBuffer commandBuffer, + const VkRenderingAttachmentLocationInfoKHR* pLocationInfo) { + auto layer_data = GetLayerDataPtr(get_dispatch_key(commandBuffer), layer_data_map); + bool skip = false; + ErrorObject error_obj(vvl::Func::vkCmdSetRenderingAttachmentLocationsKHR, + VulkanTypedHandle(commandBuffer, kVulkanObjectTypeCommandBuffer)); + for (const ValidationObject* intercept : + layer_data->intercept_vectors[InterceptIdPreCallValidateCmdSetRenderingAttachmentLocationsKHR]) { + auto lock = intercept->ReadLock(); + skip |= intercept->PreCallValidateCmdSetRenderingAttachmentLocationsKHR(commandBuffer, pLocationInfo, error_obj); + if (skip) return; + } + RecordObject record_obj(vvl::Func::vkCmdSetRenderingAttachmentLocationsKHR); + for (ValidationObject* intercept : + layer_data->intercept_vectors[InterceptIdPreCallRecordCmdSetRenderingAttachmentLocationsKHR]) { + auto lock = intercept->WriteLock(); + intercept->PreCallRecordCmdSetRenderingAttachmentLocationsKHR(commandBuffer, pLocationInfo, record_obj); + } + DispatchCmdSetRenderingAttachmentLocationsKHR(commandBuffer, pLocationInfo); + for (ValidationObject* intercept : + layer_data->intercept_vectors[InterceptIdPostCallRecordCmdSetRenderingAttachmentLocationsKHR]) { + auto lock = intercept->WriteLock(); + intercept->PostCallRecordCmdSetRenderingAttachmentLocationsKHR(commandBuffer, pLocationInfo, record_obj); + } +} + +VKAPI_ATTR void VKAPI_CALL CmdSetRenderingInputAttachmentIndicesKHR(VkCommandBuffer commandBuffer, + const VkRenderingInputAttachmentIndexInfoKHR* pLocationInfo) { + auto layer_data = GetLayerDataPtr(get_dispatch_key(commandBuffer), layer_data_map); + bool skip = false; + ErrorObject error_obj(vvl::Func::vkCmdSetRenderingInputAttachmentIndicesKHR, + VulkanTypedHandle(commandBuffer, kVulkanObjectTypeCommandBuffer)); + for (const ValidationObject* intercept : + layer_data->intercept_vectors[InterceptIdPreCallValidateCmdSetRenderingInputAttachmentIndicesKHR]) { + auto lock = intercept->ReadLock(); + skip |= intercept->PreCallValidateCmdSetRenderingInputAttachmentIndicesKHR(commandBuffer, pLocationInfo, error_obj); + if (skip) return; + } + RecordObject record_obj(vvl::Func::vkCmdSetRenderingInputAttachmentIndicesKHR); + for (ValidationObject* intercept : + layer_data->intercept_vectors[InterceptIdPreCallRecordCmdSetRenderingInputAttachmentIndicesKHR]) { + auto lock = intercept->WriteLock(); + intercept->PreCallRecordCmdSetRenderingInputAttachmentIndicesKHR(commandBuffer, pLocationInfo, record_obj); + } + DispatchCmdSetRenderingInputAttachmentIndicesKHR(commandBuffer, pLocationInfo); + for (ValidationObject* intercept : + layer_data->intercept_vectors[InterceptIdPostCallRecordCmdSetRenderingInputAttachmentIndicesKHR]) { + auto lock = intercept->WriteLock(); + intercept->PostCallRecordCmdSetRenderingInputAttachmentIndicesKHR(commandBuffer, pLocationInfo, record_obj); + } +} + VKAPI_ATTR VkResult VKAPI_CALL WaitForPresentKHR(VkDevice device, VkSwapchainKHR swapchain, uint64_t presentId, uint64_t timeout) { auto layer_data = GetLayerDataPtr(get_dispatch_key(device), layer_data_map); bool skip = false; @@ -9383,6 +9435,28 @@ VKAPI_ATTR VkResult VKAPI_CALL GetPhysicalDeviceCooperativeMatrixPropertiesKHR(V return result; } +VKAPI_ATTR void VKAPI_CALL CmdSetLineStippleKHR(VkCommandBuffer commandBuffer, uint32_t lineStippleFactor, + uint16_t lineStipplePattern) { + auto layer_data = GetLayerDataPtr(get_dispatch_key(commandBuffer), layer_data_map); + bool skip = false; + ErrorObject error_obj(vvl::Func::vkCmdSetLineStippleKHR, VulkanTypedHandle(commandBuffer, kVulkanObjectTypeCommandBuffer)); + for (const ValidationObject* intercept : layer_data->intercept_vectors[InterceptIdPreCallValidateCmdSetLineStippleKHR]) { + auto lock = intercept->ReadLock(); + skip |= intercept->PreCallValidateCmdSetLineStippleKHR(commandBuffer, lineStippleFactor, lineStipplePattern, error_obj); + if (skip) return; + } + RecordObject record_obj(vvl::Func::vkCmdSetLineStippleKHR); + for (ValidationObject* intercept : layer_data->intercept_vectors[InterceptIdPreCallRecordCmdSetLineStippleKHR]) { + auto lock = intercept->WriteLock(); + intercept->PreCallRecordCmdSetLineStippleKHR(commandBuffer, lineStippleFactor, lineStipplePattern, record_obj); + } + DispatchCmdSetLineStippleKHR(commandBuffer, lineStippleFactor, lineStipplePattern); + for (ValidationObject* intercept : layer_data->intercept_vectors[InterceptIdPostCallRecordCmdSetLineStippleKHR]) { + auto lock = intercept->WriteLock(); + intercept->PostCallRecordCmdSetLineStippleKHR(commandBuffer, lineStippleFactor, lineStipplePattern, record_obj); + } +} + VKAPI_ATTR VkResult VKAPI_CALL GetPhysicalDeviceCalibrateableTimeDomainsKHR(VkPhysicalDevice physicalDevice, uint32_t* pTimeDomainCount, VkTimeDomainKHR* pTimeDomains) { @@ -15148,30 +15222,6 @@ VKAPI_ATTR VkDeviceAddress VKAPI_CALL GetPipelineIndirectDeviceAddressNV(VkDevic return result; } -VKAPI_ATTR void VKAPI_CALL CmdSetTessellationDomainOriginEXT(VkCommandBuffer commandBuffer, - VkTessellationDomainOrigin domainOrigin) { - auto layer_data = GetLayerDataPtr(get_dispatch_key(commandBuffer), layer_data_map); - bool skip = false; - ErrorObject error_obj(vvl::Func::vkCmdSetTessellationDomainOriginEXT, - VulkanTypedHandle(commandBuffer, kVulkanObjectTypeCommandBuffer)); - for (const ValidationObject* intercept : - layer_data->intercept_vectors[InterceptIdPreCallValidateCmdSetTessellationDomainOriginEXT]) { - auto lock = intercept->ReadLock(); - skip |= intercept->PreCallValidateCmdSetTessellationDomainOriginEXT(commandBuffer, domainOrigin, error_obj); - if (skip) return; - } - RecordObject record_obj(vvl::Func::vkCmdSetTessellationDomainOriginEXT); - for (ValidationObject* intercept : layer_data->intercept_vectors[InterceptIdPreCallRecordCmdSetTessellationDomainOriginEXT]) { - auto lock = intercept->WriteLock(); - intercept->PreCallRecordCmdSetTessellationDomainOriginEXT(commandBuffer, domainOrigin, record_obj); - } - DispatchCmdSetTessellationDomainOriginEXT(commandBuffer, domainOrigin); - for (ValidationObject* intercept : layer_data->intercept_vectors[InterceptIdPostCallRecordCmdSetTessellationDomainOriginEXT]) { - auto lock = intercept->WriteLock(); - intercept->PostCallRecordCmdSetTessellationDomainOriginEXT(commandBuffer, domainOrigin, record_obj); - } -} - VKAPI_ATTR void VKAPI_CALL CmdSetDepthClampEnableEXT(VkCommandBuffer commandBuffer, VkBool32 depthClampEnable) { auto layer_data = GetLayerDataPtr(get_dispatch_key(commandBuffer), layer_data_map); bool skip = false; @@ -15402,6 +15452,30 @@ VKAPI_ATTR void VKAPI_CALL CmdSetColorWriteMaskEXT(VkCommandBuffer commandBuffer } } +VKAPI_ATTR void VKAPI_CALL CmdSetTessellationDomainOriginEXT(VkCommandBuffer commandBuffer, + VkTessellationDomainOrigin domainOrigin) { + auto layer_data = GetLayerDataPtr(get_dispatch_key(commandBuffer), layer_data_map); + bool skip = false; + ErrorObject error_obj(vvl::Func::vkCmdSetTessellationDomainOriginEXT, + VulkanTypedHandle(commandBuffer, kVulkanObjectTypeCommandBuffer)); + for (const ValidationObject* intercept : + layer_data->intercept_vectors[InterceptIdPreCallValidateCmdSetTessellationDomainOriginEXT]) { + auto lock = intercept->ReadLock(); + skip |= intercept->PreCallValidateCmdSetTessellationDomainOriginEXT(commandBuffer, domainOrigin, error_obj); + if (skip) return; + } + RecordObject record_obj(vvl::Func::vkCmdSetTessellationDomainOriginEXT); + for (ValidationObject* intercept : layer_data->intercept_vectors[InterceptIdPreCallRecordCmdSetTessellationDomainOriginEXT]) { + auto lock = intercept->WriteLock(); + intercept->PreCallRecordCmdSetTessellationDomainOriginEXT(commandBuffer, domainOrigin, record_obj); + } + DispatchCmdSetTessellationDomainOriginEXT(commandBuffer, domainOrigin); + for (ValidationObject* intercept : layer_data->intercept_vectors[InterceptIdPostCallRecordCmdSetTessellationDomainOriginEXT]) { + auto lock = intercept->WriteLock(); + intercept->PostCallRecordCmdSetTessellationDomainOriginEXT(commandBuffer, domainOrigin, record_obj); + } +} + VKAPI_ATTR void VKAPI_CALL CmdSetRasterizationStreamEXT(VkCommandBuffer commandBuffer, uint32_t rasterizationStream) { auto layer_data = GetLayerDataPtr(get_dispatch_key(commandBuffer), layer_data_map); bool skip = false; @@ -17365,6 +17439,8 @@ const vvl::unordered_map name_to_funcptr_map = { {"vkSignalSemaphoreKHR", {kFuncTypeDev, (void*)SignalSemaphoreKHR}}, {"vkGetPhysicalDeviceFragmentShadingRatesKHR", {kFuncTypePdev, (void*)GetPhysicalDeviceFragmentShadingRatesKHR}}, {"vkCmdSetFragmentShadingRateKHR", {kFuncTypeDev, (void*)CmdSetFragmentShadingRateKHR}}, + {"vkCmdSetRenderingAttachmentLocationsKHR", {kFuncTypeDev, (void*)CmdSetRenderingAttachmentLocationsKHR}}, + {"vkCmdSetRenderingInputAttachmentIndicesKHR", {kFuncTypeDev, (void*)CmdSetRenderingInputAttachmentIndicesKHR}}, {"vkWaitForPresentKHR", {kFuncTypeDev, (void*)WaitForPresentKHR}}, {"vkGetBufferDeviceAddressKHR", {kFuncTypeDev, (void*)GetBufferDeviceAddressKHR}}, {"vkGetBufferOpaqueCaptureAddressKHR", {kFuncTypeDev, (void*)GetBufferOpaqueCaptureAddressKHR}}, @@ -17405,6 +17481,7 @@ const vvl::unordered_map name_to_funcptr_map = { {"vkGetDeviceImageSubresourceLayoutKHR", {kFuncTypeDev, (void*)GetDeviceImageSubresourceLayoutKHR}}, {"vkGetImageSubresourceLayout2KHR", {kFuncTypeDev, (void*)GetImageSubresourceLayout2KHR}}, {"vkGetPhysicalDeviceCooperativeMatrixPropertiesKHR", {kFuncTypePdev, (void*)GetPhysicalDeviceCooperativeMatrixPropertiesKHR}}, + {"vkCmdSetLineStippleKHR", {kFuncTypeDev, (void*)CmdSetLineStippleKHR}}, {"vkGetPhysicalDeviceCalibrateableTimeDomainsKHR", {kFuncTypePdev, (void*)GetPhysicalDeviceCalibrateableTimeDomainsKHR}}, {"vkGetCalibratedTimestampsKHR", {kFuncTypeDev, (void*)GetCalibratedTimestampsKHR}}, {"vkCmdBindDescriptorSets2KHR", {kFuncTypeDev, (void*)CmdBindDescriptorSets2KHR}}, @@ -17675,7 +17752,6 @@ const vvl::unordered_map name_to_funcptr_map = { {"vkGetPipelineIndirectMemoryRequirementsNV", {kFuncTypeDev, (void*)GetPipelineIndirectMemoryRequirementsNV}}, {"vkCmdUpdatePipelineIndirectBufferNV", {kFuncTypeDev, (void*)CmdUpdatePipelineIndirectBufferNV}}, {"vkGetPipelineIndirectDeviceAddressNV", {kFuncTypeDev, (void*)GetPipelineIndirectDeviceAddressNV}}, - {"vkCmdSetTessellationDomainOriginEXT", {kFuncTypeDev, (void*)CmdSetTessellationDomainOriginEXT}}, {"vkCmdSetDepthClampEnableEXT", {kFuncTypeDev, (void*)CmdSetDepthClampEnableEXT}}, {"vkCmdSetPolygonModeEXT", {kFuncTypeDev, (void*)CmdSetPolygonModeEXT}}, {"vkCmdSetRasterizationSamplesEXT", {kFuncTypeDev, (void*)CmdSetRasterizationSamplesEXT}}, @@ -17686,6 +17762,7 @@ const vvl::unordered_map name_to_funcptr_map = { {"vkCmdSetColorBlendEnableEXT", {kFuncTypeDev, (void*)CmdSetColorBlendEnableEXT}}, {"vkCmdSetColorBlendEquationEXT", {kFuncTypeDev, (void*)CmdSetColorBlendEquationEXT}}, {"vkCmdSetColorWriteMaskEXT", {kFuncTypeDev, (void*)CmdSetColorWriteMaskEXT}}, + {"vkCmdSetTessellationDomainOriginEXT", {kFuncTypeDev, (void*)CmdSetTessellationDomainOriginEXT}}, {"vkCmdSetRasterizationStreamEXT", {kFuncTypeDev, (void*)CmdSetRasterizationStreamEXT}}, {"vkCmdSetConservativeRasterizationModeEXT", {kFuncTypeDev, (void*)CmdSetConservativeRasterizationModeEXT}}, {"vkCmdSetExtraPrimitiveOverestimationSizeEXT", {kFuncTypeDev, (void*)CmdSetExtraPrimitiveOverestimationSizeEXT}}, diff --git a/layers/vulkan/generated/chassis.h b/layers/vulkan/generated/chassis.h index 7ec7d31bf34..a8312da33bc 100644 --- a/layers/vulkan/generated/chassis.h +++ b/layers/vulkan/generated/chassis.h @@ -1026,6 +1026,12 @@ GetPhysicalDeviceFragmentShadingRatesKHR(VkPhysicalDevice physicalDevice, uint32 VKAPI_ATTR void VKAPI_CALL CmdSetFragmentShadingRateKHR(VkCommandBuffer commandBuffer, const VkExtent2D* pFragmentSize, const VkFragmentShadingRateCombinerOpKHR combinerOps[2]); +VKAPI_ATTR void VKAPI_CALL CmdSetRenderingAttachmentLocationsKHR(VkCommandBuffer commandBuffer, + const VkRenderingAttachmentLocationInfoKHR* pLocationInfo); + +VKAPI_ATTR void VKAPI_CALL CmdSetRenderingInputAttachmentIndicesKHR(VkCommandBuffer commandBuffer, + const VkRenderingInputAttachmentIndexInfoKHR* pLocationInfo); + VKAPI_ATTR VkResult VKAPI_CALL WaitForPresentKHR(VkDevice device, VkSwapchainKHR swapchain, uint64_t presentId, uint64_t timeout); VKAPI_ATTR VkDeviceAddress VKAPI_CALL GetBufferDeviceAddressKHR(VkDevice device, const VkBufferDeviceAddressInfo* pInfo); @@ -1136,6 +1142,9 @@ VKAPI_ATTR VkResult VKAPI_CALL GetPhysicalDeviceCooperativeMatrixPropertiesKHR(V uint32_t* pPropertyCount, VkCooperativeMatrixPropertiesKHR* pProperties); +VKAPI_ATTR void VKAPI_CALL CmdSetLineStippleKHR(VkCommandBuffer commandBuffer, uint32_t lineStippleFactor, + uint16_t lineStipplePattern); + VKAPI_ATTR VkResult VKAPI_CALL GetPhysicalDeviceCalibrateableTimeDomainsKHR(VkPhysicalDevice physicalDevice, uint32_t* pTimeDomainCount, VkTimeDomainKHR* pTimeDomains); @@ -1894,9 +1903,6 @@ VKAPI_ATTR void VKAPI_CALL CmdUpdatePipelineIndirectBufferNV(VkCommandBuffer com VKAPI_ATTR VkDeviceAddress VKAPI_CALL GetPipelineIndirectDeviceAddressNV(VkDevice device, const VkPipelineIndirectDeviceAddressInfoNV* pInfo); -VKAPI_ATTR void VKAPI_CALL CmdSetTessellationDomainOriginEXT(VkCommandBuffer commandBuffer, - VkTessellationDomainOrigin domainOrigin); - VKAPI_ATTR void VKAPI_CALL CmdSetDepthClampEnableEXT(VkCommandBuffer commandBuffer, VkBool32 depthClampEnable); VKAPI_ATTR void VKAPI_CALL CmdSetPolygonModeEXT(VkCommandBuffer commandBuffer, VkPolygonMode polygonMode); @@ -1922,6 +1928,9 @@ VKAPI_ATTR void VKAPI_CALL CmdSetColorBlendEquationEXT(VkCommandBuffer commandBu VKAPI_ATTR void VKAPI_CALL CmdSetColorWriteMaskEXT(VkCommandBuffer commandBuffer, uint32_t firstAttachment, uint32_t attachmentCount, const VkColorComponentFlags* pColorWriteMasks); +VKAPI_ATTR void VKAPI_CALL CmdSetTessellationDomainOriginEXT(VkCommandBuffer commandBuffer, + VkTessellationDomainOrigin domainOrigin); + VKAPI_ATTR void VKAPI_CALL CmdSetRasterizationStreamEXT(VkCommandBuffer commandBuffer, uint32_t rasterizationStream); VKAPI_ATTR void VKAPI_CALL CmdSetConservativeRasterizationModeEXT(VkCommandBuffer commandBuffer, @@ -3436,6 +3445,12 @@ class ValidationObject { virtual bool PreCallValidateCmdSetFragmentShadingRateKHR(VkCommandBuffer commandBuffer, const VkExtent2D* pFragmentSize, const VkFragmentShadingRateCombinerOpKHR combinerOps[2], const ErrorObject& error_obj) const { return false; }; virtual void PreCallRecordCmdSetFragmentShadingRateKHR(VkCommandBuffer commandBuffer, const VkExtent2D* pFragmentSize, const VkFragmentShadingRateCombinerOpKHR combinerOps[2], const RecordObject& record_obj) {}; virtual void PostCallRecordCmdSetFragmentShadingRateKHR(VkCommandBuffer commandBuffer, const VkExtent2D* pFragmentSize, const VkFragmentShadingRateCombinerOpKHR combinerOps[2], const RecordObject& record_obj) {}; + virtual bool PreCallValidateCmdSetRenderingAttachmentLocationsKHR(VkCommandBuffer commandBuffer, const VkRenderingAttachmentLocationInfoKHR* pLocationInfo, const ErrorObject& error_obj) const { return false; }; + virtual void PreCallRecordCmdSetRenderingAttachmentLocationsKHR(VkCommandBuffer commandBuffer, const VkRenderingAttachmentLocationInfoKHR* pLocationInfo, const RecordObject& record_obj) {}; + virtual void PostCallRecordCmdSetRenderingAttachmentLocationsKHR(VkCommandBuffer commandBuffer, const VkRenderingAttachmentLocationInfoKHR* pLocationInfo, const RecordObject& record_obj) {}; + virtual bool PreCallValidateCmdSetRenderingInputAttachmentIndicesKHR(VkCommandBuffer commandBuffer, const VkRenderingInputAttachmentIndexInfoKHR* pLocationInfo, const ErrorObject& error_obj) const { return false; }; + virtual void PreCallRecordCmdSetRenderingInputAttachmentIndicesKHR(VkCommandBuffer commandBuffer, const VkRenderingInputAttachmentIndexInfoKHR* pLocationInfo, const RecordObject& record_obj) {}; + virtual void PostCallRecordCmdSetRenderingInputAttachmentIndicesKHR(VkCommandBuffer commandBuffer, const VkRenderingInputAttachmentIndexInfoKHR* pLocationInfo, const RecordObject& record_obj) {}; virtual bool PreCallValidateWaitForPresentKHR(VkDevice device, VkSwapchainKHR swapchain, uint64_t presentId, uint64_t timeout, const ErrorObject& error_obj) const { return false; }; virtual void PreCallRecordWaitForPresentKHR(VkDevice device, VkSwapchainKHR swapchain, uint64_t presentId, uint64_t timeout, const RecordObject& record_obj) {}; virtual void PostCallRecordWaitForPresentKHR(VkDevice device, VkSwapchainKHR swapchain, uint64_t presentId, uint64_t timeout, const RecordObject& record_obj) {}; @@ -3556,6 +3571,9 @@ class ValidationObject { virtual bool PreCallValidateGetPhysicalDeviceCooperativeMatrixPropertiesKHR(VkPhysicalDevice physicalDevice, uint32_t* pPropertyCount, VkCooperativeMatrixPropertiesKHR* pProperties, const ErrorObject& error_obj) const { return false; }; virtual void PreCallRecordGetPhysicalDeviceCooperativeMatrixPropertiesKHR(VkPhysicalDevice physicalDevice, uint32_t* pPropertyCount, VkCooperativeMatrixPropertiesKHR* pProperties, const RecordObject& record_obj) {}; virtual void PostCallRecordGetPhysicalDeviceCooperativeMatrixPropertiesKHR(VkPhysicalDevice physicalDevice, uint32_t* pPropertyCount, VkCooperativeMatrixPropertiesKHR* pProperties, const RecordObject& record_obj) {}; + virtual bool PreCallValidateCmdSetLineStippleKHR(VkCommandBuffer commandBuffer, uint32_t lineStippleFactor, uint16_t lineStipplePattern, const ErrorObject& error_obj) const { return false; }; + virtual void PreCallRecordCmdSetLineStippleKHR(VkCommandBuffer commandBuffer, uint32_t lineStippleFactor, uint16_t lineStipplePattern, const RecordObject& record_obj) {}; + virtual void PostCallRecordCmdSetLineStippleKHR(VkCommandBuffer commandBuffer, uint32_t lineStippleFactor, uint16_t lineStipplePattern, const RecordObject& record_obj) {}; virtual bool PreCallValidateGetPhysicalDeviceCalibrateableTimeDomainsKHR(VkPhysicalDevice physicalDevice, uint32_t* pTimeDomainCount, VkTimeDomainKHR* pTimeDomains, const ErrorObject& error_obj) const { return false; }; virtual void PreCallRecordGetPhysicalDeviceCalibrateableTimeDomainsKHR(VkPhysicalDevice physicalDevice, uint32_t* pTimeDomainCount, VkTimeDomainKHR* pTimeDomains, const RecordObject& record_obj) {}; virtual void PostCallRecordGetPhysicalDeviceCalibrateableTimeDomainsKHR(VkPhysicalDevice physicalDevice, uint32_t* pTimeDomainCount, VkTimeDomainKHR* pTimeDomains, const RecordObject& record_obj) {}; @@ -4290,9 +4308,6 @@ class ValidationObject { virtual bool PreCallValidateGetPipelineIndirectDeviceAddressNV(VkDevice device, const VkPipelineIndirectDeviceAddressInfoNV* pInfo, const ErrorObject& error_obj) const { return false; }; virtual void PreCallRecordGetPipelineIndirectDeviceAddressNV(VkDevice device, const VkPipelineIndirectDeviceAddressInfoNV* pInfo, const RecordObject& record_obj) {}; virtual void PostCallRecordGetPipelineIndirectDeviceAddressNV(VkDevice device, const VkPipelineIndirectDeviceAddressInfoNV* pInfo, const RecordObject& record_obj) {}; - virtual bool PreCallValidateCmdSetTessellationDomainOriginEXT(VkCommandBuffer commandBuffer, VkTessellationDomainOrigin domainOrigin, const ErrorObject& error_obj) const { return false; }; - virtual void PreCallRecordCmdSetTessellationDomainOriginEXT(VkCommandBuffer commandBuffer, VkTessellationDomainOrigin domainOrigin, const RecordObject& record_obj) {}; - virtual void PostCallRecordCmdSetTessellationDomainOriginEXT(VkCommandBuffer commandBuffer, VkTessellationDomainOrigin domainOrigin, const RecordObject& record_obj) {}; virtual bool PreCallValidateCmdSetDepthClampEnableEXT(VkCommandBuffer commandBuffer, VkBool32 depthClampEnable, const ErrorObject& error_obj) const { return false; }; virtual void PreCallRecordCmdSetDepthClampEnableEXT(VkCommandBuffer commandBuffer, VkBool32 depthClampEnable, const RecordObject& record_obj) {}; virtual void PostCallRecordCmdSetDepthClampEnableEXT(VkCommandBuffer commandBuffer, VkBool32 depthClampEnable, const RecordObject& record_obj) {}; @@ -4323,6 +4338,9 @@ class ValidationObject { virtual bool PreCallValidateCmdSetColorWriteMaskEXT(VkCommandBuffer commandBuffer, uint32_t firstAttachment, uint32_t attachmentCount, const VkColorComponentFlags* pColorWriteMasks, const ErrorObject& error_obj) const { return false; }; virtual void PreCallRecordCmdSetColorWriteMaskEXT(VkCommandBuffer commandBuffer, uint32_t firstAttachment, uint32_t attachmentCount, const VkColorComponentFlags* pColorWriteMasks, const RecordObject& record_obj) {}; virtual void PostCallRecordCmdSetColorWriteMaskEXT(VkCommandBuffer commandBuffer, uint32_t firstAttachment, uint32_t attachmentCount, const VkColorComponentFlags* pColorWriteMasks, const RecordObject& record_obj) {}; + virtual bool PreCallValidateCmdSetTessellationDomainOriginEXT(VkCommandBuffer commandBuffer, VkTessellationDomainOrigin domainOrigin, const ErrorObject& error_obj) const { return false; }; + virtual void PreCallRecordCmdSetTessellationDomainOriginEXT(VkCommandBuffer commandBuffer, VkTessellationDomainOrigin domainOrigin, const RecordObject& record_obj) {}; + virtual void PostCallRecordCmdSetTessellationDomainOriginEXT(VkCommandBuffer commandBuffer, VkTessellationDomainOrigin domainOrigin, const RecordObject& record_obj) {}; virtual bool PreCallValidateCmdSetRasterizationStreamEXT(VkCommandBuffer commandBuffer, uint32_t rasterizationStream, const ErrorObject& error_obj) const { return false; }; virtual void PreCallRecordCmdSetRasterizationStreamEXT(VkCommandBuffer commandBuffer, uint32_t rasterizationStream, const RecordObject& record_obj) {}; virtual void PostCallRecordCmdSetRasterizationStreamEXT(VkCommandBuffer commandBuffer, uint32_t rasterizationStream, const RecordObject& record_obj) {}; diff --git a/layers/vulkan/generated/chassis_dispatch_helper.h b/layers/vulkan/generated/chassis_dispatch_helper.h index 98fe714e31d..d58c888d3a2 100644 --- a/layers/vulkan/generated/chassis_dispatch_helper.h +++ b/layers/vulkan/generated/chassis_dispatch_helper.h @@ -759,6 +759,12 @@ typedef enum InterceptId { InterceptIdPreCallValidateCmdSetFragmentShadingRateKHR, InterceptIdPreCallRecordCmdSetFragmentShadingRateKHR, InterceptIdPostCallRecordCmdSetFragmentShadingRateKHR, + InterceptIdPreCallValidateCmdSetRenderingAttachmentLocationsKHR, + InterceptIdPreCallRecordCmdSetRenderingAttachmentLocationsKHR, + InterceptIdPostCallRecordCmdSetRenderingAttachmentLocationsKHR, + InterceptIdPreCallValidateCmdSetRenderingInputAttachmentIndicesKHR, + InterceptIdPreCallRecordCmdSetRenderingInputAttachmentIndicesKHR, + InterceptIdPostCallRecordCmdSetRenderingInputAttachmentIndicesKHR, InterceptIdPreCallValidateWaitForPresentKHR, InterceptIdPreCallRecordWaitForPresentKHR, InterceptIdPostCallRecordWaitForPresentKHR, @@ -873,6 +879,9 @@ typedef enum InterceptId { InterceptIdPreCallValidateGetImageSubresourceLayout2KHR, InterceptIdPreCallRecordGetImageSubresourceLayout2KHR, InterceptIdPostCallRecordGetImageSubresourceLayout2KHR, + InterceptIdPreCallValidateCmdSetLineStippleKHR, + InterceptIdPreCallRecordCmdSetLineStippleKHR, + InterceptIdPostCallRecordCmdSetLineStippleKHR, InterceptIdPreCallValidateGetCalibratedTimestampsKHR, InterceptIdPreCallRecordGetCalibratedTimestampsKHR, InterceptIdPostCallRecordGetCalibratedTimestampsKHR, @@ -1473,9 +1482,6 @@ typedef enum InterceptId { InterceptIdPreCallValidateGetPipelineIndirectDeviceAddressNV, InterceptIdPreCallRecordGetPipelineIndirectDeviceAddressNV, InterceptIdPostCallRecordGetPipelineIndirectDeviceAddressNV, - InterceptIdPreCallValidateCmdSetTessellationDomainOriginEXT, - InterceptIdPreCallRecordCmdSetTessellationDomainOriginEXT, - InterceptIdPostCallRecordCmdSetTessellationDomainOriginEXT, InterceptIdPreCallValidateCmdSetDepthClampEnableEXT, InterceptIdPreCallRecordCmdSetDepthClampEnableEXT, InterceptIdPostCallRecordCmdSetDepthClampEnableEXT, @@ -1506,6 +1512,9 @@ typedef enum InterceptId { InterceptIdPreCallValidateCmdSetColorWriteMaskEXT, InterceptIdPreCallRecordCmdSetColorWriteMaskEXT, InterceptIdPostCallRecordCmdSetColorWriteMaskEXT, + InterceptIdPreCallValidateCmdSetTessellationDomainOriginEXT, + InterceptIdPreCallRecordCmdSetTessellationDomainOriginEXT, + InterceptIdPostCallRecordCmdSetTessellationDomainOriginEXT, InterceptIdPreCallValidateCmdSetRasterizationStreamEXT, InterceptIdPreCallRecordCmdSetRasterizationStreamEXT, InterceptIdPostCallRecordCmdSetRasterizationStreamEXT, @@ -2491,6 +2500,12 @@ void ValidationObject::InitObjectDispatchVectors() { BUILD_DISPATCH_VECTOR(PreCallValidateCmdSetFragmentShadingRateKHR); BUILD_DISPATCH_VECTOR(PreCallRecordCmdSetFragmentShadingRateKHR); BUILD_DISPATCH_VECTOR(PostCallRecordCmdSetFragmentShadingRateKHR); + BUILD_DISPATCH_VECTOR(PreCallValidateCmdSetRenderingAttachmentLocationsKHR); + BUILD_DISPATCH_VECTOR(PreCallRecordCmdSetRenderingAttachmentLocationsKHR); + BUILD_DISPATCH_VECTOR(PostCallRecordCmdSetRenderingAttachmentLocationsKHR); + BUILD_DISPATCH_VECTOR(PreCallValidateCmdSetRenderingInputAttachmentIndicesKHR); + BUILD_DISPATCH_VECTOR(PreCallRecordCmdSetRenderingInputAttachmentIndicesKHR); + BUILD_DISPATCH_VECTOR(PostCallRecordCmdSetRenderingInputAttachmentIndicesKHR); BUILD_DISPATCH_VECTOR(PreCallValidateWaitForPresentKHR); BUILD_DISPATCH_VECTOR(PreCallRecordWaitForPresentKHR); BUILD_DISPATCH_VECTOR(PostCallRecordWaitForPresentKHR); @@ -2605,6 +2620,9 @@ void ValidationObject::InitObjectDispatchVectors() { BUILD_DISPATCH_VECTOR(PreCallValidateGetImageSubresourceLayout2KHR); BUILD_DISPATCH_VECTOR(PreCallRecordGetImageSubresourceLayout2KHR); BUILD_DISPATCH_VECTOR(PostCallRecordGetImageSubresourceLayout2KHR); + BUILD_DISPATCH_VECTOR(PreCallValidateCmdSetLineStippleKHR); + BUILD_DISPATCH_VECTOR(PreCallRecordCmdSetLineStippleKHR); + BUILD_DISPATCH_VECTOR(PostCallRecordCmdSetLineStippleKHR); BUILD_DISPATCH_VECTOR(PreCallValidateGetCalibratedTimestampsKHR); BUILD_DISPATCH_VECTOR(PreCallRecordGetCalibratedTimestampsKHR); BUILD_DISPATCH_VECTOR(PostCallRecordGetCalibratedTimestampsKHR); @@ -3217,9 +3235,6 @@ void ValidationObject::InitObjectDispatchVectors() { BUILD_DISPATCH_VECTOR(PreCallValidateGetPipelineIndirectDeviceAddressNV); BUILD_DISPATCH_VECTOR(PreCallRecordGetPipelineIndirectDeviceAddressNV); BUILD_DISPATCH_VECTOR(PostCallRecordGetPipelineIndirectDeviceAddressNV); - BUILD_DISPATCH_VECTOR(PreCallValidateCmdSetTessellationDomainOriginEXT); - BUILD_DISPATCH_VECTOR(PreCallRecordCmdSetTessellationDomainOriginEXT); - BUILD_DISPATCH_VECTOR(PostCallRecordCmdSetTessellationDomainOriginEXT); BUILD_DISPATCH_VECTOR(PreCallValidateCmdSetDepthClampEnableEXT); BUILD_DISPATCH_VECTOR(PreCallRecordCmdSetDepthClampEnableEXT); BUILD_DISPATCH_VECTOR(PostCallRecordCmdSetDepthClampEnableEXT); @@ -3250,6 +3265,9 @@ void ValidationObject::InitObjectDispatchVectors() { BUILD_DISPATCH_VECTOR(PreCallValidateCmdSetColorWriteMaskEXT); BUILD_DISPATCH_VECTOR(PreCallRecordCmdSetColorWriteMaskEXT); BUILD_DISPATCH_VECTOR(PostCallRecordCmdSetColorWriteMaskEXT); + BUILD_DISPATCH_VECTOR(PreCallValidateCmdSetTessellationDomainOriginEXT); + BUILD_DISPATCH_VECTOR(PreCallRecordCmdSetTessellationDomainOriginEXT); + BUILD_DISPATCH_VECTOR(PostCallRecordCmdSetTessellationDomainOriginEXT); BUILD_DISPATCH_VECTOR(PreCallValidateCmdSetRasterizationStreamEXT); BUILD_DISPATCH_VECTOR(PreCallRecordCmdSetRasterizationStreamEXT); BUILD_DISPATCH_VECTOR(PostCallRecordCmdSetRasterizationStreamEXT); diff --git a/layers/vulkan/generated/command_validation.cpp b/layers/vulkan/generated/command_validation.cpp index 2f25e51b203..f32acc5ad2c 100644 --- a/layers/vulkan/generated/command_validation.cpp +++ b/layers/vulkan/generated/command_validation.cpp @@ -708,6 +708,20 @@ static const vvl::unordered_map kCommandValidationT CMD_SCOPE_BOTH, "kVUIDUndefined", CMD_SCOPE_OUTSIDE, "VUID-vkCmdSetFragmentShadingRateKHR-videocoding", }}, +{Func::vkCmdSetRenderingAttachmentLocationsKHR, { + "VUID-vkCmdSetRenderingAttachmentLocationsKHR-commandBuffer-recording", + nullptr, + VK_QUEUE_GRAPHICS_BIT, "VUID-vkCmdSetRenderingAttachmentLocationsKHR-commandBuffer-cmdpool", + CMD_SCOPE_INSIDE, "VUID-vkCmdSetRenderingAttachmentLocationsKHR-renderpass", + CMD_SCOPE_OUTSIDE, "VUID-vkCmdSetRenderingAttachmentLocationsKHR-videocoding", +}}, +{Func::vkCmdSetRenderingInputAttachmentIndicesKHR, { + "VUID-vkCmdSetRenderingInputAttachmentIndicesKHR-commandBuffer-recording", + nullptr, + VK_QUEUE_GRAPHICS_BIT, "VUID-vkCmdSetRenderingInputAttachmentIndicesKHR-commandBuffer-cmdpool", + CMD_SCOPE_INSIDE, "VUID-vkCmdSetRenderingInputAttachmentIndicesKHR-renderpass", + CMD_SCOPE_OUTSIDE, "VUID-vkCmdSetRenderingInputAttachmentIndicesKHR-videocoding", +}}, {Func::vkCmdEncodeVideoKHR, { "VUID-vkCmdEncodeVideoKHR-commandBuffer-recording", "VUID-vkCmdEncodeVideoKHR-bufferlevel", @@ -813,6 +827,13 @@ static const vvl::unordered_map kCommandValidationT CMD_SCOPE_BOTH, "kVUIDUndefined", CMD_SCOPE_OUTSIDE, "VUID-vkCmdBindIndexBuffer2KHR-videocoding", }}, +{Func::vkCmdSetLineStippleKHR, { + "VUID-vkCmdSetLineStippleKHR-commandBuffer-recording", + nullptr, + VK_QUEUE_GRAPHICS_BIT, "VUID-vkCmdSetLineStippleKHR-commandBuffer-cmdpool", + CMD_SCOPE_BOTH, "kVUIDUndefined", + CMD_SCOPE_OUTSIDE, "VUID-vkCmdSetLineStippleKHR-videocoding", +}}, {Func::vkCmdBindDescriptorSets2KHR, { "VUID-vkCmdBindDescriptorSets2KHR-commandBuffer-recording", nullptr, @@ -1157,11 +1178,11 @@ static const vvl::unordered_map kCommandValidationT CMD_SCOPE_OUTSIDE, "VUID-vkCmdSetPerformanceOverrideINTEL-videocoding", }}, {Func::vkCmdSetLineStippleEXT, { - "VUID-vkCmdSetLineStippleEXT-commandBuffer-recording", + "VUID-vkCmdSetLineStippleKHR-commandBuffer-recording", nullptr, - VK_QUEUE_GRAPHICS_BIT, "VUID-vkCmdSetLineStippleEXT-commandBuffer-cmdpool", + VK_QUEUE_GRAPHICS_BIT, "VUID-vkCmdSetLineStippleKHR-commandBuffer-cmdpool", CMD_SCOPE_BOTH, "kVUIDUndefined", - CMD_SCOPE_OUTSIDE, "VUID-vkCmdSetLineStippleEXT-videocoding", + CMD_SCOPE_OUTSIDE, "VUID-vkCmdSetLineStippleKHR-videocoding", }}, {Func::vkCmdSetCullModeEXT, { "VUID-vkCmdSetCullMode-commandBuffer-recording", @@ -1471,13 +1492,6 @@ static const vvl::unordered_map kCommandValidationT CMD_SCOPE_OUTSIDE, "VUID-vkCmdUpdatePipelineIndirectBufferNV-renderpass", CMD_SCOPE_OUTSIDE, "VUID-vkCmdUpdatePipelineIndirectBufferNV-videocoding", }}, -{Func::vkCmdSetTessellationDomainOriginEXT, { - "VUID-vkCmdSetTessellationDomainOriginEXT-commandBuffer-recording", - nullptr, - VK_QUEUE_GRAPHICS_BIT, "VUID-vkCmdSetTessellationDomainOriginEXT-commandBuffer-cmdpool", - CMD_SCOPE_BOTH, "kVUIDUndefined", - CMD_SCOPE_OUTSIDE, "VUID-vkCmdSetTessellationDomainOriginEXT-videocoding", -}}, {Func::vkCmdSetDepthClampEnableEXT, { "VUID-vkCmdSetDepthClampEnableEXT-commandBuffer-recording", nullptr, @@ -1548,6 +1562,13 @@ static const vvl::unordered_map kCommandValidationT CMD_SCOPE_BOTH, "kVUIDUndefined", CMD_SCOPE_OUTSIDE, "VUID-vkCmdSetColorWriteMaskEXT-videocoding", }}, +{Func::vkCmdSetTessellationDomainOriginEXT, { + "VUID-vkCmdSetTessellationDomainOriginEXT-commandBuffer-recording", + nullptr, + VK_QUEUE_GRAPHICS_BIT, "VUID-vkCmdSetTessellationDomainOriginEXT-commandBuffer-cmdpool", + CMD_SCOPE_BOTH, "kVUIDUndefined", + CMD_SCOPE_OUTSIDE, "VUID-vkCmdSetTessellationDomainOriginEXT-videocoding", +}}, {Func::vkCmdSetRasterizationStreamEXT, { "VUID-vkCmdSetRasterizationStreamEXT-commandBuffer-recording", nullptr, diff --git a/layers/vulkan/generated/dynamic_state_helper.cpp b/layers/vulkan/generated/dynamic_state_helper.cpp index 787b3ac403c..45fb4db8157 100644 --- a/layers/vulkan/generated/dynamic_state_helper.cpp +++ b/layers/vulkan/generated/dynamic_state_helper.cpp @@ -3,8 +3,8 @@ /*************************************************************************** * - * Copyright (c) 2023 Valve Corporation - * Copyright (c) 2023 LunarG, Inc. + * Copyright (c) 2023-2024 Valve Corporation + * Copyright (c) 2023-2024 LunarG, Inc. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. @@ -95,8 +95,6 @@ VkDynamicState ConvertToDynamicState(CBDynamicState dynamic_state) { return VK_DYNAMIC_STATE_EXCLUSIVE_SCISSOR_NV; case CB_DYNAMIC_STATE_FRAGMENT_SHADING_RATE_KHR: return VK_DYNAMIC_STATE_FRAGMENT_SHADING_RATE_KHR; - case CB_DYNAMIC_STATE_LINE_STIPPLE_EXT: - return VK_DYNAMIC_STATE_LINE_STIPPLE_EXT; case CB_DYNAMIC_STATE_VERTEX_INPUT_EXT: return VK_DYNAMIC_STATE_VERTEX_INPUT_EXT; case CB_DYNAMIC_STATE_PATCH_CONTROL_POINTS_EXT: @@ -105,8 +103,6 @@ VkDynamicState ConvertToDynamicState(CBDynamicState dynamic_state) { return VK_DYNAMIC_STATE_LOGIC_OP_EXT; case CB_DYNAMIC_STATE_COLOR_WRITE_ENABLE_EXT: return VK_DYNAMIC_STATE_COLOR_WRITE_ENABLE_EXT; - case CB_DYNAMIC_STATE_TESSELLATION_DOMAIN_ORIGIN_EXT: - return VK_DYNAMIC_STATE_TESSELLATION_DOMAIN_ORIGIN_EXT; case CB_DYNAMIC_STATE_DEPTH_CLAMP_ENABLE_EXT: return VK_DYNAMIC_STATE_DEPTH_CLAMP_ENABLE_EXT; case CB_DYNAMIC_STATE_POLYGON_MODE_EXT: @@ -127,6 +123,8 @@ VkDynamicState ConvertToDynamicState(CBDynamicState dynamic_state) { return VK_DYNAMIC_STATE_COLOR_BLEND_EQUATION_EXT; case CB_DYNAMIC_STATE_COLOR_WRITE_MASK_EXT: return VK_DYNAMIC_STATE_COLOR_WRITE_MASK_EXT; + case CB_DYNAMIC_STATE_TESSELLATION_DOMAIN_ORIGIN_EXT: + return VK_DYNAMIC_STATE_TESSELLATION_DOMAIN_ORIGIN_EXT; case CB_DYNAMIC_STATE_RASTERIZATION_STREAM_EXT: return VK_DYNAMIC_STATE_RASTERIZATION_STREAM_EXT; case CB_DYNAMIC_STATE_CONSERVATIVE_RASTERIZATION_MODE_EXT: @@ -169,6 +167,8 @@ VkDynamicState ConvertToDynamicState(CBDynamicState dynamic_state) { return VK_DYNAMIC_STATE_COVERAGE_REDUCTION_MODE_NV; case CB_DYNAMIC_STATE_ATTACHMENT_FEEDBACK_LOOP_ENABLE_EXT: return VK_DYNAMIC_STATE_ATTACHMENT_FEEDBACK_LOOP_ENABLE_EXT; + case CB_DYNAMIC_STATE_LINE_STIPPLE_KHR: + return VK_DYNAMIC_STATE_LINE_STIPPLE_KHR; default: return VK_DYNAMIC_STATE_MAX_ENUM; @@ -247,8 +247,6 @@ CBDynamicState ConvertToCBDynamicState(VkDynamicState dynamic_state) { return CB_DYNAMIC_STATE_EXCLUSIVE_SCISSOR_NV; case VK_DYNAMIC_STATE_FRAGMENT_SHADING_RATE_KHR: return CB_DYNAMIC_STATE_FRAGMENT_SHADING_RATE_KHR; - case VK_DYNAMIC_STATE_LINE_STIPPLE_EXT: - return CB_DYNAMIC_STATE_LINE_STIPPLE_EXT; case VK_DYNAMIC_STATE_VERTEX_INPUT_EXT: return CB_DYNAMIC_STATE_VERTEX_INPUT_EXT; case VK_DYNAMIC_STATE_PATCH_CONTROL_POINTS_EXT: @@ -257,8 +255,6 @@ CBDynamicState ConvertToCBDynamicState(VkDynamicState dynamic_state) { return CB_DYNAMIC_STATE_LOGIC_OP_EXT; case VK_DYNAMIC_STATE_COLOR_WRITE_ENABLE_EXT: return CB_DYNAMIC_STATE_COLOR_WRITE_ENABLE_EXT; - case VK_DYNAMIC_STATE_TESSELLATION_DOMAIN_ORIGIN_EXT: - return CB_DYNAMIC_STATE_TESSELLATION_DOMAIN_ORIGIN_EXT; case VK_DYNAMIC_STATE_DEPTH_CLAMP_ENABLE_EXT: return CB_DYNAMIC_STATE_DEPTH_CLAMP_ENABLE_EXT; case VK_DYNAMIC_STATE_POLYGON_MODE_EXT: @@ -279,6 +275,8 @@ CBDynamicState ConvertToCBDynamicState(VkDynamicState dynamic_state) { return CB_DYNAMIC_STATE_COLOR_BLEND_EQUATION_EXT; case VK_DYNAMIC_STATE_COLOR_WRITE_MASK_EXT: return CB_DYNAMIC_STATE_COLOR_WRITE_MASK_EXT; + case VK_DYNAMIC_STATE_TESSELLATION_DOMAIN_ORIGIN_EXT: + return CB_DYNAMIC_STATE_TESSELLATION_DOMAIN_ORIGIN_EXT; case VK_DYNAMIC_STATE_RASTERIZATION_STREAM_EXT: return CB_DYNAMIC_STATE_RASTERIZATION_STREAM_EXT; case VK_DYNAMIC_STATE_CONSERVATIVE_RASTERIZATION_MODE_EXT: @@ -321,6 +319,8 @@ CBDynamicState ConvertToCBDynamicState(VkDynamicState dynamic_state) { return CB_DYNAMIC_STATE_COVERAGE_REDUCTION_MODE_NV; case VK_DYNAMIC_STATE_ATTACHMENT_FEEDBACK_LOOP_ENABLE_EXT: return CB_DYNAMIC_STATE_ATTACHMENT_FEEDBACK_LOOP_ENABLE_EXT; + case VK_DYNAMIC_STATE_LINE_STIPPLE_KHR: + return CB_DYNAMIC_STATE_LINE_STIPPLE_KHR; default: return CB_DYNAMIC_STATE_STATUS_NUM; diff --git a/layers/vulkan/generated/dynamic_state_helper.h b/layers/vulkan/generated/dynamic_state_helper.h index 5adf6e436a1..d1482ed90c5 100644 --- a/layers/vulkan/generated/dynamic_state_helper.h +++ b/layers/vulkan/generated/dynamic_state_helper.h @@ -3,8 +3,8 @@ /*************************************************************************** * - * Copyright (c) 2023 Valve Corporation - * Copyright (c) 2023 LunarG, Inc. + * Copyright (c) 2023-2024 Valve Corporation + * Copyright (c) 2023-2024 LunarG, Inc. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. @@ -61,43 +61,43 @@ typedef enum CBDynamicState { CB_DYNAMIC_STATE_EXCLUSIVE_SCISSOR_ENABLE_NV = 33, CB_DYNAMIC_STATE_EXCLUSIVE_SCISSOR_NV = 34, CB_DYNAMIC_STATE_FRAGMENT_SHADING_RATE_KHR = 35, - CB_DYNAMIC_STATE_LINE_STIPPLE_EXT = 36, - CB_DYNAMIC_STATE_VERTEX_INPUT_EXT = 37, - CB_DYNAMIC_STATE_PATCH_CONTROL_POINTS_EXT = 38, - CB_DYNAMIC_STATE_LOGIC_OP_EXT = 39, - CB_DYNAMIC_STATE_COLOR_WRITE_ENABLE_EXT = 40, - CB_DYNAMIC_STATE_TESSELLATION_DOMAIN_ORIGIN_EXT = 41, - CB_DYNAMIC_STATE_DEPTH_CLAMP_ENABLE_EXT = 42, - CB_DYNAMIC_STATE_POLYGON_MODE_EXT = 43, - CB_DYNAMIC_STATE_RASTERIZATION_SAMPLES_EXT = 44, - CB_DYNAMIC_STATE_SAMPLE_MASK_EXT = 45, - CB_DYNAMIC_STATE_ALPHA_TO_COVERAGE_ENABLE_EXT = 46, - CB_DYNAMIC_STATE_ALPHA_TO_ONE_ENABLE_EXT = 47, - CB_DYNAMIC_STATE_LOGIC_OP_ENABLE_EXT = 48, - CB_DYNAMIC_STATE_COLOR_BLEND_ENABLE_EXT = 49, - CB_DYNAMIC_STATE_COLOR_BLEND_EQUATION_EXT = 50, - CB_DYNAMIC_STATE_COLOR_WRITE_MASK_EXT = 51, - CB_DYNAMIC_STATE_RASTERIZATION_STREAM_EXT = 52, - CB_DYNAMIC_STATE_CONSERVATIVE_RASTERIZATION_MODE_EXT = 53, - CB_DYNAMIC_STATE_EXTRA_PRIMITIVE_OVERESTIMATION_SIZE_EXT = 54, - CB_DYNAMIC_STATE_DEPTH_CLIP_ENABLE_EXT = 55, - CB_DYNAMIC_STATE_SAMPLE_LOCATIONS_ENABLE_EXT = 56, - CB_DYNAMIC_STATE_COLOR_BLEND_ADVANCED_EXT = 57, - CB_DYNAMIC_STATE_PROVOKING_VERTEX_MODE_EXT = 58, - CB_DYNAMIC_STATE_LINE_RASTERIZATION_MODE_EXT = 59, - CB_DYNAMIC_STATE_LINE_STIPPLE_ENABLE_EXT = 60, - CB_DYNAMIC_STATE_DEPTH_CLIP_NEGATIVE_ONE_TO_ONE_EXT = 61, - CB_DYNAMIC_STATE_VIEWPORT_W_SCALING_ENABLE_NV = 62, - CB_DYNAMIC_STATE_VIEWPORT_SWIZZLE_NV = 63, - CB_DYNAMIC_STATE_COVERAGE_TO_COLOR_ENABLE_NV = 64, - CB_DYNAMIC_STATE_COVERAGE_TO_COLOR_LOCATION_NV = 65, - CB_DYNAMIC_STATE_COVERAGE_MODULATION_MODE_NV = 66, - CB_DYNAMIC_STATE_COVERAGE_MODULATION_TABLE_ENABLE_NV = 67, - CB_DYNAMIC_STATE_COVERAGE_MODULATION_TABLE_NV = 68, - CB_DYNAMIC_STATE_SHADING_RATE_IMAGE_ENABLE_NV = 69, - CB_DYNAMIC_STATE_REPRESENTATIVE_FRAGMENT_TEST_ENABLE_NV = 70, - CB_DYNAMIC_STATE_COVERAGE_REDUCTION_MODE_NV = 71, - CB_DYNAMIC_STATE_ATTACHMENT_FEEDBACK_LOOP_ENABLE_EXT = 72, + CB_DYNAMIC_STATE_VERTEX_INPUT_EXT = 36, + CB_DYNAMIC_STATE_PATCH_CONTROL_POINTS_EXT = 37, + CB_DYNAMIC_STATE_LOGIC_OP_EXT = 38, + CB_DYNAMIC_STATE_COLOR_WRITE_ENABLE_EXT = 39, + CB_DYNAMIC_STATE_DEPTH_CLAMP_ENABLE_EXT = 40, + CB_DYNAMIC_STATE_POLYGON_MODE_EXT = 41, + CB_DYNAMIC_STATE_RASTERIZATION_SAMPLES_EXT = 42, + CB_DYNAMIC_STATE_SAMPLE_MASK_EXT = 43, + CB_DYNAMIC_STATE_ALPHA_TO_COVERAGE_ENABLE_EXT = 44, + CB_DYNAMIC_STATE_ALPHA_TO_ONE_ENABLE_EXT = 45, + CB_DYNAMIC_STATE_LOGIC_OP_ENABLE_EXT = 46, + CB_DYNAMIC_STATE_COLOR_BLEND_ENABLE_EXT = 47, + CB_DYNAMIC_STATE_COLOR_BLEND_EQUATION_EXT = 48, + CB_DYNAMIC_STATE_COLOR_WRITE_MASK_EXT = 49, + CB_DYNAMIC_STATE_TESSELLATION_DOMAIN_ORIGIN_EXT = 50, + CB_DYNAMIC_STATE_RASTERIZATION_STREAM_EXT = 51, + CB_DYNAMIC_STATE_CONSERVATIVE_RASTERIZATION_MODE_EXT = 52, + CB_DYNAMIC_STATE_EXTRA_PRIMITIVE_OVERESTIMATION_SIZE_EXT = 53, + CB_DYNAMIC_STATE_DEPTH_CLIP_ENABLE_EXT = 54, + CB_DYNAMIC_STATE_SAMPLE_LOCATIONS_ENABLE_EXT = 55, + CB_DYNAMIC_STATE_COLOR_BLEND_ADVANCED_EXT = 56, + CB_DYNAMIC_STATE_PROVOKING_VERTEX_MODE_EXT = 57, + CB_DYNAMIC_STATE_LINE_RASTERIZATION_MODE_EXT = 58, + CB_DYNAMIC_STATE_LINE_STIPPLE_ENABLE_EXT = 59, + CB_DYNAMIC_STATE_DEPTH_CLIP_NEGATIVE_ONE_TO_ONE_EXT = 60, + CB_DYNAMIC_STATE_VIEWPORT_W_SCALING_ENABLE_NV = 61, + CB_DYNAMIC_STATE_VIEWPORT_SWIZZLE_NV = 62, + CB_DYNAMIC_STATE_COVERAGE_TO_COLOR_ENABLE_NV = 63, + CB_DYNAMIC_STATE_COVERAGE_TO_COLOR_LOCATION_NV = 64, + CB_DYNAMIC_STATE_COVERAGE_MODULATION_MODE_NV = 65, + CB_DYNAMIC_STATE_COVERAGE_MODULATION_TABLE_ENABLE_NV = 66, + CB_DYNAMIC_STATE_COVERAGE_MODULATION_TABLE_NV = 67, + CB_DYNAMIC_STATE_SHADING_RATE_IMAGE_ENABLE_NV = 68, + CB_DYNAMIC_STATE_REPRESENTATIVE_FRAGMENT_TEST_ENABLE_NV = 69, + CB_DYNAMIC_STATE_COVERAGE_REDUCTION_MODE_NV = 70, + CB_DYNAMIC_STATE_ATTACHMENT_FEEDBACK_LOOP_ENABLE_EXT = 71, + CB_DYNAMIC_STATE_LINE_STIPPLE_KHR = 72, CB_DYNAMIC_STATE_STATUS_NUM = 73 } CBDynamicState; diff --git a/layers/vulkan/generated/enum_flag_bits.h b/layers/vulkan/generated/enum_flag_bits.h index 68910f65e61..3485b8a4067 100644 --- a/layers/vulkan/generated/enum_flag_bits.h +++ b/layers/vulkan/generated/enum_flag_bits.h @@ -24,7 +24,7 @@ #include #include "vulkan/vulkan.h" // clang-format off -const uint32_t GeneratedVulkanHeaderVersion = 275; +const uint32_t GeneratedVulkanHeaderVersion = 276; const VkAccessFlags AllVkAccessFlagBits = VK_ACCESS_INDIRECT_COMMAND_READ_BIT|VK_ACCESS_INDEX_READ_BIT|VK_ACCESS_VERTEX_ATTRIBUTE_READ_BIT|VK_ACCESS_UNIFORM_READ_BIT|VK_ACCESS_INPUT_ATTACHMENT_READ_BIT|VK_ACCESS_SHADER_READ_BIT|VK_ACCESS_SHADER_WRITE_BIT|VK_ACCESS_COLOR_ATTACHMENT_READ_BIT|VK_ACCESS_COLOR_ATTACHMENT_WRITE_BIT|VK_ACCESS_DEPTH_STENCIL_ATTACHMENT_READ_BIT|VK_ACCESS_DEPTH_STENCIL_ATTACHMENT_WRITE_BIT|VK_ACCESS_TRANSFER_READ_BIT|VK_ACCESS_TRANSFER_WRITE_BIT|VK_ACCESS_HOST_READ_BIT|VK_ACCESS_HOST_WRITE_BIT|VK_ACCESS_MEMORY_READ_BIT|VK_ACCESS_MEMORY_WRITE_BIT|VK_ACCESS_NONE|VK_ACCESS_TRANSFORM_FEEDBACK_WRITE_BIT_EXT|VK_ACCESS_TRANSFORM_FEEDBACK_COUNTER_READ_BIT_EXT|VK_ACCESS_TRANSFORM_FEEDBACK_COUNTER_WRITE_BIT_EXT|VK_ACCESS_CONDITIONAL_RENDERING_READ_BIT_EXT|VK_ACCESS_COLOR_ATTACHMENT_READ_NONCOHERENT_BIT_EXT|VK_ACCESS_ACCELERATION_STRUCTURE_READ_BIT_KHR|VK_ACCESS_ACCELERATION_STRUCTURE_WRITE_BIT_KHR|VK_ACCESS_FRAGMENT_DENSITY_MAP_READ_BIT_EXT|VK_ACCESS_FRAGMENT_SHADING_RATE_ATTACHMENT_READ_BIT_KHR|VK_ACCESS_COMMAND_PREPROCESS_READ_BIT_NV|VK_ACCESS_COMMAND_PREPROCESS_WRITE_BIT_NV; const VkImageAspectFlags AllVkImageAspectFlagBits = VK_IMAGE_ASPECT_COLOR_BIT|VK_IMAGE_ASPECT_DEPTH_BIT|VK_IMAGE_ASPECT_STENCIL_BIT|VK_IMAGE_ASPECT_METADATA_BIT|VK_IMAGE_ASPECT_PLANE_0_BIT|VK_IMAGE_ASPECT_PLANE_1_BIT|VK_IMAGE_ASPECT_PLANE_2_BIT|VK_IMAGE_ASPECT_NONE|VK_IMAGE_ASPECT_MEMORY_PLANE_0_BIT_EXT|VK_IMAGE_ASPECT_MEMORY_PLANE_1_BIT_EXT|VK_IMAGE_ASPECT_MEMORY_PLANE_2_BIT_EXT|VK_IMAGE_ASPECT_MEMORY_PLANE_3_BIT_EXT; const VkInstanceCreateFlags AllVkInstanceCreateFlagBits = VK_INSTANCE_CREATE_ENUMERATE_PORTABILITY_BIT_KHR; diff --git a/layers/vulkan/generated/error_location_helper.cpp b/layers/vulkan/generated/error_location_helper.cpp index 8dc9c69dcae..7c316f32f35 100644 --- a/layers/vulkan/generated/error_location_helper.cpp +++ b/layers/vulkan/generated/error_location_helper.cpp @@ -3,8 +3,8 @@ /*************************************************************************** * - * Copyright (c) 2023 The Khronos Group Inc. - * Copyright (c) 2023 Valve Corporation + * Copyright (c) 2023-2024 The Khronos Group Inc. + * Copyright (c) 2023-2024 Valve Corporation * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. @@ -244,6 +244,7 @@ const char* String(Func func) { {"vkCmdSetLineRasterizationModeEXT", 33}, {"vkCmdSetLineStippleEXT", 23}, {"vkCmdSetLineStippleEnableEXT", 29}, + {"vkCmdSetLineStippleKHR", 23}, {"vkCmdSetLineWidth", 18}, {"vkCmdSetLogicOpEXT", 19}, {"vkCmdSetLogicOpEnableEXT", 25}, @@ -262,6 +263,8 @@ const char* String(Func func) { {"vkCmdSetRasterizerDiscardEnable", 32}, {"vkCmdSetRasterizerDiscardEnableEXT", 35}, {"vkCmdSetRayTracingPipelineStackSizeKHR", 39}, + {"vkCmdSetRenderingAttachmentLocationsKHR", 40}, + {"vkCmdSetRenderingInputAttachmentIndicesKHR", 43}, {"vkCmdSetRepresentativeFragmentTestEnableNV", 43}, {"vkCmdSetSampleLocationsEXT", 27}, {"vkCmdSetSampleLocationsEnableEXT", 33}, @@ -1206,6 +1209,7 @@ const char* String(Struct structure) { {"VkPhysicalDeviceDriverProperties", 33}, {"VkPhysicalDeviceDrmPropertiesEXT", 33}, {"VkPhysicalDeviceDynamicRenderingFeatures", 41}, + {"VkPhysicalDeviceDynamicRenderingLocalReadFeaturesKHR", 53}, {"VkPhysicalDeviceDynamicRenderingUnusedAttachmentsFeaturesEXT", 61}, {"VkPhysicalDeviceExclusiveScissorFeaturesNV", 43}, {"VkPhysicalDeviceExtendedDynamicState2FeaturesEXT", 49}, @@ -1264,7 +1268,7 @@ const char* String(Struct structure) { {"VkPhysicalDeviceImageViewImageFormatInfoEXT", 44}, {"VkPhysicalDeviceImageViewMinLodFeaturesEXT", 43}, {"VkPhysicalDeviceImagelessFramebufferFeatures", 45}, - {"VkPhysicalDeviceIndexTypeUint8FeaturesEXT", 42}, + {"VkPhysicalDeviceIndexTypeUint8FeaturesKHR", 42}, {"VkPhysicalDeviceInheritedViewportScissorFeaturesNV", 51}, {"VkPhysicalDeviceInlineUniformBlockFeatures", 43}, {"VkPhysicalDeviceInlineUniformBlockProperties", 45}, @@ -1272,8 +1276,8 @@ const char* String(Struct structure) { {"VkPhysicalDeviceLayeredDriverPropertiesMSFT", 44}, {"VkPhysicalDeviceLegacyDitheringFeaturesEXT", 43}, {"VkPhysicalDeviceLimits", 23}, - {"VkPhysicalDeviceLineRasterizationFeaturesEXT", 45}, - {"VkPhysicalDeviceLineRasterizationPropertiesEXT", 47}, + {"VkPhysicalDeviceLineRasterizationFeaturesKHR", 45}, + {"VkPhysicalDeviceLineRasterizationPropertiesKHR", 47}, {"VkPhysicalDeviceLinearColorAttachmentFeaturesNV", 48}, {"VkPhysicalDeviceMaintenance3Properties", 39}, {"VkPhysicalDeviceMaintenance4Features", 37}, @@ -1374,19 +1378,24 @@ const char* String(Struct structure) { {"VkPhysicalDeviceShaderEarlyAndLateFragmentTestsFeaturesAMD", 59}, {"VkPhysicalDeviceShaderEnqueueFeaturesAMDX", 42}, {"VkPhysicalDeviceShaderEnqueuePropertiesAMDX", 44}, + {"VkPhysicalDeviceShaderExpectAssumeFeaturesKHR", 46}, {"VkPhysicalDeviceShaderFloat16Int8Features", 42}, + {"VkPhysicalDeviceShaderFloatControls2FeaturesKHR", 48}, {"VkPhysicalDeviceShaderImageAtomicInt64FeaturesEXT", 50}, {"VkPhysicalDeviceShaderImageFootprintFeaturesNV", 47}, {"VkPhysicalDeviceShaderIntegerDotProductFeatures", 48}, {"VkPhysicalDeviceShaderIntegerDotProductProperties", 50}, {"VkPhysicalDeviceShaderIntegerFunctions2FeaturesINTEL", 53}, + {"VkPhysicalDeviceShaderMaximalReconvergenceFeaturesKHR", 54}, {"VkPhysicalDeviceShaderModuleIdentifierFeaturesEXT", 50}, {"VkPhysicalDeviceShaderModuleIdentifierPropertiesEXT", 52}, {"VkPhysicalDeviceShaderObjectFeaturesEXT", 40}, {"VkPhysicalDeviceShaderObjectPropertiesEXT", 42}, + {"VkPhysicalDeviceShaderQuadControlFeaturesKHR", 45}, {"VkPhysicalDeviceShaderSMBuiltinsFeaturesNV", 43}, {"VkPhysicalDeviceShaderSMBuiltinsPropertiesNV", 45}, {"VkPhysicalDeviceShaderSubgroupExtendedTypesFeatures", 52}, + {"VkPhysicalDeviceShaderSubgroupRotateFeaturesKHR", 48}, {"VkPhysicalDeviceShaderSubgroupUniformControlFlowFeaturesKHR", 60}, {"VkPhysicalDeviceShaderTerminateInvocationFeatures", 50}, {"VkPhysicalDeviceShaderTileImageFeaturesEXT", 43}, @@ -1466,7 +1475,7 @@ const char* String(Struct structure) { {"VkPipelinePropertiesIdentifierEXT", 34}, {"VkPipelineRasterizationConservativeStateCreateInfoEXT", 54}, {"VkPipelineRasterizationDepthClipStateCreateInfoEXT", 51}, - {"VkPipelineRasterizationLineStateCreateInfoEXT", 46}, + {"VkPipelineRasterizationLineStateCreateInfoKHR", 46}, {"VkPipelineRasterizationProvokingVertexStateCreateInfoEXT", 57}, {"VkPipelineRasterizationStateCreateInfo", 39}, {"VkPipelineRasterizationStateRasterizationOrderAMD", 50}, @@ -1543,9 +1552,11 @@ const char* String(Struct structure) { {"VkRenderPassTransformBeginInfoQCOM", 35}, {"VkRenderingAreaInfoKHR", 23}, {"VkRenderingAttachmentInfo", 26}, + {"VkRenderingAttachmentLocationInfoKHR", 37}, {"VkRenderingFragmentDensityMapAttachmentInfoEXT", 47}, {"VkRenderingFragmentShadingRateAttachmentInfoKHR", 48}, {"VkRenderingInfo", 16}, + {"VkRenderingInputAttachmentIndexInfoKHR", 39}, {"VkResolveImageInfo2", 20}, {"VkSRTDataNV", 12}, {"VkSampleLocationEXT", 20}, @@ -2176,6 +2187,7 @@ const char* String(Field field) { {"dynamicPipelineLayout", 22}, {"dynamicPrimitiveTopologyUnrestricted", 37}, {"dynamicRendering", 17}, + {"dynamicRenderingLocalRead", 26}, {"dynamicRenderingUnusedAttachments", 34}, {"dynamicStateCount", 18}, {"earliestPresentTime", 20}, @@ -3061,6 +3073,8 @@ const char* String(Field field) { {"pCollection", 12}, {"pColor", 7}, {"pColorAttachmentFormats", 24}, + {"pColorAttachmentInputIndices", 29}, + {"pColorAttachmentLocations", 26}, {"pColorAttachmentSamples", 24}, {"pColorAttachments", 18}, {"pColorBlendAdvanced", 20}, @@ -3114,6 +3128,7 @@ const char* String(Field field) { {"pDependencyInfos", 17}, {"pDepthAttachment", 17}, {"pDepthBiasInfo", 15}, + {"pDepthInputAttachmentIndex", 27}, {"pDepthStencil", 14}, {"pDepthStencilAttachment", 24}, {"pDepthStencilResolveAttachment", 31}, @@ -3250,6 +3265,7 @@ const char* String(Field field) { {"pLibraries", 11}, {"pLibraryInfo", 13}, {"pLibraryInterface", 18}, + {"pLocationInfo", 14}, {"pMapEntries", 12}, {"pMarkerInfo", 12}, {"pMarkerName", 12}, @@ -3415,6 +3431,7 @@ const char* String(Field field) { {"pStdSliceSegmentHeader", 23}, {"pStdVPSs", 9}, {"pStencilAttachment", 19}, + {"pStencilInputAttachmentIndex", 29}, {"pStorageBuffer", 15}, {"pStorageImage", 14}, {"pStorageTexelBuffer", 20}, @@ -3872,8 +3889,10 @@ const char* String(Field field) { {"shaderEarlyAndLateFragmentTests", 32}, {"shaderEngineCount", 18}, {"shaderEnqueue", 14}, + {"shaderExpectAssume", 19}, {"shaderFloat16", 14}, {"shaderFloat64", 14}, + {"shaderFloatControls2", 21}, {"shaderGroupBaseAlignment", 25}, {"shaderGroupHandleAlignment", 27}, {"shaderGroupHandleCaptureReplaySize", 35}, @@ -3891,12 +3910,14 @@ const char* String(Field field) { {"shaderInt8", 11}, {"shaderIntegerDotProduct", 24}, {"shaderIntegerFunctions2", 24}, + {"shaderMaximalReconvergence", 27}, {"shaderModule", 13}, {"shaderModuleIdentifier", 23}, {"shaderModuleIdentifierAlgorithmUUID", 36}, {"shaderObject", 13}, {"shaderOutputLayer", 18}, {"shaderOutputViewportIndex", 26}, + {"shaderQuadControl", 18}, {"shaderResourceMinLod", 21}, {"shaderResourceResidency", 24}, {"shaderRoundingModeRTEFloat16", 29}, @@ -3940,6 +3961,8 @@ const char* String(Field field) { {"shaderStorageTexelBufferArrayNonUniformIndexing", 48}, {"shaderSubgroupClock", 20}, {"shaderSubgroupExtendedTypes", 28}, + {"shaderSubgroupRotate", 21}, + {"shaderSubgroupRotateClustered", 30}, {"shaderSubgroupUniformControlFlow", 33}, {"shaderTerminateInvocation", 26}, {"shaderTessellationAndGeometryPointSize", 39}, @@ -4392,6 +4415,8 @@ bool IsFieldPointer(Field field) { case Field::pCollection: case Field::pColor: case Field::pColorAttachmentFormats: + case Field::pColorAttachmentInputIndices: + case Field::pColorAttachmentLocations: case Field::pColorAttachmentSamples: case Field::pColorAttachments: case Field::pColorBlendAdvanced: @@ -4445,6 +4470,7 @@ bool IsFieldPointer(Field field) { case Field::pDependencyInfos: case Field::pDepthAttachment: case Field::pDepthBiasInfo: + case Field::pDepthInputAttachmentIndex: case Field::pDepthStencil: case Field::pDepthStencilAttachment: case Field::pDepthStencilResolveAttachment: @@ -4581,6 +4607,7 @@ bool IsFieldPointer(Field field) { case Field::pLibraries: case Field::pLibraryInfo: case Field::pLibraryInterface: + case Field::pLocationInfo: case Field::pMapEntries: case Field::pMarkerInfo: case Field::pMarkerName: @@ -4746,6 +4773,7 @@ bool IsFieldPointer(Field field) { case Field::pStdSliceSegmentHeader: case Field::pStdVPSs: case Field::pStencilAttachment: + case Field::pStencilInputAttachmentIndex: case Field::pStorageBuffer: case Field::pStorageImage: case Field::pStorageTexelBuffer: diff --git a/layers/vulkan/generated/error_location_helper.h b/layers/vulkan/generated/error_location_helper.h index 56511423a15..c2d3e24b9f1 100644 --- a/layers/vulkan/generated/error_location_helper.h +++ b/layers/vulkan/generated/error_location_helper.h @@ -3,8 +3,8 @@ /*************************************************************************** * - * Copyright (c) 2023 The Khronos Group Inc. - * Copyright (c) 2023 Valve Corporation + * Copyright (c) 2023-2024 The Khronos Group Inc. + * Copyright (c) 2023-2024 Valve Corporation * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. @@ -241,470 +241,473 @@ enum class Func { vkCmdSetLineRasterizationModeEXT = 211, vkCmdSetLineStippleEXT = 212, vkCmdSetLineStippleEnableEXT = 213, - vkCmdSetLineWidth = 214, - vkCmdSetLogicOpEXT = 215, - vkCmdSetLogicOpEnableEXT = 216, - vkCmdSetPatchControlPointsEXT = 217, - vkCmdSetPerformanceMarkerINTEL = 218, - vkCmdSetPerformanceOverrideINTEL = 219, - vkCmdSetPerformanceStreamMarkerINTEL = 220, - vkCmdSetPolygonModeEXT = 221, - vkCmdSetPrimitiveRestartEnable = 222, - vkCmdSetPrimitiveRestartEnableEXT = 223, - vkCmdSetPrimitiveTopology = 224, - vkCmdSetPrimitiveTopologyEXT = 225, - vkCmdSetProvokingVertexModeEXT = 226, - vkCmdSetRasterizationSamplesEXT = 227, - vkCmdSetRasterizationStreamEXT = 228, - vkCmdSetRasterizerDiscardEnable = 229, - vkCmdSetRasterizerDiscardEnableEXT = 230, - vkCmdSetRayTracingPipelineStackSizeKHR = 231, - vkCmdSetRepresentativeFragmentTestEnableNV = 232, - vkCmdSetSampleLocationsEXT = 233, - vkCmdSetSampleLocationsEnableEXT = 234, - vkCmdSetSampleMaskEXT = 235, - vkCmdSetScissor = 236, - vkCmdSetScissorWithCount = 237, - vkCmdSetScissorWithCountEXT = 238, - vkCmdSetShadingRateImageEnableNV = 239, - vkCmdSetStencilCompareMask = 240, - vkCmdSetStencilOp = 241, - vkCmdSetStencilOpEXT = 242, - vkCmdSetStencilReference = 243, - vkCmdSetStencilTestEnable = 244, - vkCmdSetStencilTestEnableEXT = 245, - vkCmdSetStencilWriteMask = 246, - vkCmdSetTessellationDomainOriginEXT = 247, - vkCmdSetVertexInputEXT = 248, - vkCmdSetViewport = 249, - vkCmdSetViewportShadingRatePaletteNV = 250, - vkCmdSetViewportSwizzleNV = 251, - vkCmdSetViewportWScalingEnableNV = 252, - vkCmdSetViewportWScalingNV = 253, - vkCmdSetViewportWithCount = 254, - vkCmdSetViewportWithCountEXT = 255, - vkCmdSubpassShadingHUAWEI = 256, - vkCmdTraceRaysIndirect2KHR = 257, - vkCmdTraceRaysIndirectKHR = 258, - vkCmdTraceRaysKHR = 259, - vkCmdTraceRaysNV = 260, - vkCmdUpdateBuffer = 261, - vkCmdUpdatePipelineIndirectBufferNV = 262, - vkCmdWaitEvents = 263, - vkCmdWaitEvents2 = 264, - vkCmdWaitEvents2KHR = 265, - vkCmdWriteAccelerationStructuresPropertiesKHR = 266, - vkCmdWriteAccelerationStructuresPropertiesNV = 267, - vkCmdWriteBufferMarker2AMD = 268, - vkCmdWriteBufferMarkerAMD = 269, - vkCmdWriteMicromapsPropertiesEXT = 270, - vkCmdWriteTimestamp = 271, - vkCmdWriteTimestamp2 = 272, - vkCmdWriteTimestamp2KHR = 273, - vkCompileDeferredNV = 274, - vkCopyAccelerationStructureKHR = 275, - vkCopyAccelerationStructureToMemoryKHR = 276, - vkCopyImageToImageEXT = 277, - vkCopyImageToMemoryEXT = 278, - vkCopyMemoryToAccelerationStructureKHR = 279, - vkCopyMemoryToImageEXT = 280, - vkCopyMemoryToMicromapEXT = 281, - vkCopyMicromapEXT = 282, - vkCopyMicromapToMemoryEXT = 283, - vkCreateAccelerationStructureKHR = 284, - vkCreateAccelerationStructureNV = 285, - vkCreateAndroidSurfaceKHR = 286, - vkCreateBuffer = 287, - vkCreateBufferCollectionFUCHSIA = 288, - vkCreateBufferView = 289, - vkCreateCommandPool = 290, - vkCreateComputePipelines = 291, - vkCreateCuFunctionNVX = 292, - vkCreateCuModuleNVX = 293, - vkCreateCudaFunctionNV = 294, - vkCreateCudaModuleNV = 295, - vkCreateDebugReportCallbackEXT = 296, - vkCreateDebugUtilsMessengerEXT = 297, - vkCreateDeferredOperationKHR = 298, - vkCreateDescriptorPool = 299, - vkCreateDescriptorSetLayout = 300, - vkCreateDescriptorUpdateTemplate = 301, - vkCreateDescriptorUpdateTemplateKHR = 302, - vkCreateDevice = 303, - vkCreateDirectFBSurfaceEXT = 304, - vkCreateDisplayModeKHR = 305, - vkCreateDisplayPlaneSurfaceKHR = 306, - vkCreateEvent = 307, - vkCreateExecutionGraphPipelinesAMDX = 308, - vkCreateFence = 309, - vkCreateFramebuffer = 310, - vkCreateGraphicsPipelines = 311, - vkCreateHeadlessSurfaceEXT = 312, - vkCreateIOSSurfaceMVK = 313, - vkCreateImage = 314, - vkCreateImagePipeSurfaceFUCHSIA = 315, - vkCreateImageView = 316, - vkCreateIndirectCommandsLayoutNV = 317, - vkCreateInstance = 318, - vkCreateMacOSSurfaceMVK = 319, - vkCreateMetalSurfaceEXT = 320, - vkCreateMicromapEXT = 321, - vkCreateOpticalFlowSessionNV = 322, - vkCreatePipelineCache = 323, - vkCreatePipelineLayout = 324, - vkCreatePrivateDataSlot = 325, - vkCreatePrivateDataSlotEXT = 326, - vkCreateQueryPool = 327, - vkCreateRayTracingPipelinesKHR = 328, - vkCreateRayTracingPipelinesNV = 329, - vkCreateRenderPass = 330, - vkCreateRenderPass2 = 331, - vkCreateRenderPass2KHR = 332, - vkCreateSampler = 333, - vkCreateSamplerYcbcrConversion = 334, - vkCreateSamplerYcbcrConversionKHR = 335, - vkCreateScreenSurfaceQNX = 336, - vkCreateSemaphore = 337, - vkCreateShaderModule = 338, - vkCreateShadersEXT = 339, - vkCreateSharedSwapchainsKHR = 340, - vkCreateStreamDescriptorSurfaceGGP = 341, - vkCreateSwapchainKHR = 342, - vkCreateValidationCacheEXT = 343, - vkCreateViSurfaceNN = 344, - vkCreateVideoSessionKHR = 345, - vkCreateVideoSessionParametersKHR = 346, - vkCreateWaylandSurfaceKHR = 347, - vkCreateWin32SurfaceKHR = 348, - vkCreateXcbSurfaceKHR = 349, - vkCreateXlibSurfaceKHR = 350, - vkDebugMarkerSetObjectNameEXT = 351, - vkDebugMarkerSetObjectTagEXT = 352, - vkDebugReportMessageEXT = 353, - vkDeferredOperationJoinKHR = 354, - vkDestroyAccelerationStructureKHR = 355, - vkDestroyAccelerationStructureNV = 356, - vkDestroyBuffer = 357, - vkDestroyBufferCollectionFUCHSIA = 358, - vkDestroyBufferView = 359, - vkDestroyCommandPool = 360, - vkDestroyCuFunctionNVX = 361, - vkDestroyCuModuleNVX = 362, - vkDestroyCudaFunctionNV = 363, - vkDestroyCudaModuleNV = 364, - vkDestroyDebugReportCallbackEXT = 365, - vkDestroyDebugUtilsMessengerEXT = 366, - vkDestroyDeferredOperationKHR = 367, - vkDestroyDescriptorPool = 368, - vkDestroyDescriptorSetLayout = 369, - vkDestroyDescriptorUpdateTemplate = 370, - vkDestroyDescriptorUpdateTemplateKHR = 371, - vkDestroyDevice = 372, - vkDestroyEvent = 373, - vkDestroyFence = 374, - vkDestroyFramebuffer = 375, - vkDestroyImage = 376, - vkDestroyImageView = 377, - vkDestroyIndirectCommandsLayoutNV = 378, - vkDestroyInstance = 379, - vkDestroyMicromapEXT = 380, - vkDestroyOpticalFlowSessionNV = 381, - vkDestroyPipeline = 382, - vkDestroyPipelineCache = 383, - vkDestroyPipelineLayout = 384, - vkDestroyPrivateDataSlot = 385, - vkDestroyPrivateDataSlotEXT = 386, - vkDestroyQueryPool = 387, - vkDestroyRenderPass = 388, - vkDestroySampler = 389, - vkDestroySamplerYcbcrConversion = 390, - vkDestroySamplerYcbcrConversionKHR = 391, - vkDestroySemaphore = 392, - vkDestroyShaderEXT = 393, - vkDestroyShaderModule = 394, - vkDestroySurfaceKHR = 395, - vkDestroySwapchainKHR = 396, - vkDestroyValidationCacheEXT = 397, - vkDestroyVideoSessionKHR = 398, - vkDestroyVideoSessionParametersKHR = 399, - vkDeviceWaitIdle = 400, - vkDisplayPowerControlEXT = 401, - vkEndCommandBuffer = 402, - vkEnumerateDeviceExtensionProperties = 403, - vkEnumerateDeviceLayerProperties = 404, - vkEnumerateInstanceExtensionProperties = 405, - vkEnumerateInstanceLayerProperties = 406, - vkEnumerateInstanceVersion = 407, - vkEnumeratePhysicalDeviceGroups = 408, - vkEnumeratePhysicalDeviceGroupsKHR = 409, - vkEnumeratePhysicalDeviceQueueFamilyPerformanceQueryCountersKHR = 410, - vkEnumeratePhysicalDevices = 411, - vkExportMetalObjectsEXT = 412, - vkFlushMappedMemoryRanges = 413, - vkFreeCommandBuffers = 414, - vkFreeDescriptorSets = 415, - vkFreeMemory = 416, - vkGetAccelerationStructureBuildSizesKHR = 417, - vkGetAccelerationStructureDeviceAddressKHR = 418, - vkGetAccelerationStructureHandleNV = 419, - vkGetAccelerationStructureMemoryRequirementsNV = 420, - vkGetAccelerationStructureOpaqueCaptureDescriptorDataEXT = 421, - vkGetAndroidHardwareBufferPropertiesANDROID = 422, - vkGetBufferCollectionPropertiesFUCHSIA = 423, - vkGetBufferDeviceAddress = 424, - vkGetBufferDeviceAddressEXT = 425, - vkGetBufferDeviceAddressKHR = 426, - vkGetBufferMemoryRequirements = 427, - vkGetBufferMemoryRequirements2 = 428, - vkGetBufferMemoryRequirements2KHR = 429, - vkGetBufferOpaqueCaptureAddress = 430, - vkGetBufferOpaqueCaptureAddressKHR = 431, - vkGetBufferOpaqueCaptureDescriptorDataEXT = 432, - vkGetCalibratedTimestampsEXT = 433, - vkGetCalibratedTimestampsKHR = 434, - vkGetCudaModuleCacheNV = 435, - vkGetDeferredOperationMaxConcurrencyKHR = 436, - vkGetDeferredOperationResultKHR = 437, - vkGetDescriptorEXT = 438, - vkGetDescriptorSetHostMappingVALVE = 439, - vkGetDescriptorSetLayoutBindingOffsetEXT = 440, - vkGetDescriptorSetLayoutHostMappingInfoVALVE = 441, - vkGetDescriptorSetLayoutSizeEXT = 442, - vkGetDescriptorSetLayoutSupport = 443, - vkGetDescriptorSetLayoutSupportKHR = 444, - vkGetDeviceAccelerationStructureCompatibilityKHR = 445, - vkGetDeviceBufferMemoryRequirements = 446, - vkGetDeviceBufferMemoryRequirementsKHR = 447, - vkGetDeviceFaultInfoEXT = 448, - vkGetDeviceGroupPeerMemoryFeatures = 449, - vkGetDeviceGroupPeerMemoryFeaturesKHR = 450, - vkGetDeviceGroupPresentCapabilitiesKHR = 451, - vkGetDeviceGroupSurfacePresentModes2EXT = 452, - vkGetDeviceGroupSurfacePresentModesKHR = 453, - vkGetDeviceImageMemoryRequirements = 454, - vkGetDeviceImageMemoryRequirementsKHR = 455, - vkGetDeviceImageSparseMemoryRequirements = 456, - vkGetDeviceImageSparseMemoryRequirementsKHR = 457, - vkGetDeviceImageSubresourceLayoutKHR = 458, - vkGetDeviceMemoryCommitment = 459, - vkGetDeviceMemoryOpaqueCaptureAddress = 460, - vkGetDeviceMemoryOpaqueCaptureAddressKHR = 461, - vkGetDeviceMicromapCompatibilityEXT = 462, - vkGetDeviceProcAddr = 463, - vkGetDeviceQueue = 464, - vkGetDeviceQueue2 = 465, - vkGetDeviceSubpassShadingMaxWorkgroupSizeHUAWEI = 466, - vkGetDisplayModeProperties2KHR = 467, - vkGetDisplayModePropertiesKHR = 468, - vkGetDisplayPlaneCapabilities2KHR = 469, - vkGetDisplayPlaneCapabilitiesKHR = 470, - vkGetDisplayPlaneSupportedDisplaysKHR = 471, - vkGetDrmDisplayEXT = 472, - vkGetDynamicRenderingTilePropertiesQCOM = 473, - vkGetEncodedVideoSessionParametersKHR = 474, - vkGetEventStatus = 475, - vkGetExecutionGraphPipelineNodeIndexAMDX = 476, - vkGetExecutionGraphPipelineScratchSizeAMDX = 477, - vkGetFenceFdKHR = 478, - vkGetFenceStatus = 479, - vkGetFenceWin32HandleKHR = 480, - vkGetFramebufferTilePropertiesQCOM = 481, - vkGetGeneratedCommandsMemoryRequirementsNV = 482, - vkGetImageDrmFormatModifierPropertiesEXT = 483, - vkGetImageMemoryRequirements = 484, - vkGetImageMemoryRequirements2 = 485, - vkGetImageMemoryRequirements2KHR = 486, - vkGetImageOpaqueCaptureDescriptorDataEXT = 487, - vkGetImageSparseMemoryRequirements = 488, - vkGetImageSparseMemoryRequirements2 = 489, - vkGetImageSparseMemoryRequirements2KHR = 490, - vkGetImageSubresourceLayout = 491, - vkGetImageSubresourceLayout2EXT = 492, - vkGetImageSubresourceLayout2KHR = 493, - vkGetImageViewAddressNVX = 494, - vkGetImageViewHandleNVX = 495, - vkGetImageViewOpaqueCaptureDescriptorDataEXT = 496, - vkGetInstanceProcAddr = 497, - vkGetLatencyTimingsNV = 498, - vkGetMemoryAndroidHardwareBufferANDROID = 499, - vkGetMemoryFdKHR = 500, - vkGetMemoryFdPropertiesKHR = 501, - vkGetMemoryHostPointerPropertiesEXT = 502, - vkGetMemoryRemoteAddressNV = 503, - vkGetMemoryWin32HandleKHR = 504, - vkGetMemoryWin32HandleNV = 505, - vkGetMemoryWin32HandlePropertiesKHR = 506, - vkGetMemoryZirconHandleFUCHSIA = 507, - vkGetMemoryZirconHandlePropertiesFUCHSIA = 508, - vkGetMicromapBuildSizesEXT = 509, - vkGetPastPresentationTimingGOOGLE = 510, - vkGetPerformanceParameterINTEL = 511, - vkGetPhysicalDeviceCalibrateableTimeDomainsEXT = 512, - vkGetPhysicalDeviceCalibrateableTimeDomainsKHR = 513, - vkGetPhysicalDeviceCooperativeMatrixPropertiesKHR = 514, - vkGetPhysicalDeviceCooperativeMatrixPropertiesNV = 515, - vkGetPhysicalDeviceDirectFBPresentationSupportEXT = 516, - vkGetPhysicalDeviceDisplayPlaneProperties2KHR = 517, - vkGetPhysicalDeviceDisplayPlanePropertiesKHR = 518, - vkGetPhysicalDeviceDisplayProperties2KHR = 519, - vkGetPhysicalDeviceDisplayPropertiesKHR = 520, - vkGetPhysicalDeviceExternalBufferProperties = 521, - vkGetPhysicalDeviceExternalBufferPropertiesKHR = 522, - vkGetPhysicalDeviceExternalFenceProperties = 523, - vkGetPhysicalDeviceExternalFencePropertiesKHR = 524, - vkGetPhysicalDeviceExternalImageFormatPropertiesNV = 525, - vkGetPhysicalDeviceExternalSemaphoreProperties = 526, - vkGetPhysicalDeviceExternalSemaphorePropertiesKHR = 527, - vkGetPhysicalDeviceFeatures = 528, - vkGetPhysicalDeviceFeatures2 = 529, - vkGetPhysicalDeviceFeatures2KHR = 530, - vkGetPhysicalDeviceFormatProperties = 531, - vkGetPhysicalDeviceFormatProperties2 = 532, - vkGetPhysicalDeviceFormatProperties2KHR = 533, - vkGetPhysicalDeviceFragmentShadingRatesKHR = 534, - vkGetPhysicalDeviceImageFormatProperties = 535, - vkGetPhysicalDeviceImageFormatProperties2 = 536, - vkGetPhysicalDeviceImageFormatProperties2KHR = 537, - vkGetPhysicalDeviceMemoryProperties = 538, - vkGetPhysicalDeviceMemoryProperties2 = 539, - vkGetPhysicalDeviceMemoryProperties2KHR = 540, - vkGetPhysicalDeviceMultisamplePropertiesEXT = 541, - vkGetPhysicalDeviceOpticalFlowImageFormatsNV = 542, - vkGetPhysicalDevicePresentRectanglesKHR = 543, - vkGetPhysicalDeviceProperties = 544, - vkGetPhysicalDeviceProperties2 = 545, - vkGetPhysicalDeviceProperties2KHR = 546, - vkGetPhysicalDeviceQueueFamilyPerformanceQueryPassesKHR = 547, - vkGetPhysicalDeviceQueueFamilyProperties = 548, - vkGetPhysicalDeviceQueueFamilyProperties2 = 549, - vkGetPhysicalDeviceQueueFamilyProperties2KHR = 550, - vkGetPhysicalDeviceScreenPresentationSupportQNX = 551, - vkGetPhysicalDeviceSparseImageFormatProperties = 552, - vkGetPhysicalDeviceSparseImageFormatProperties2 = 553, - vkGetPhysicalDeviceSparseImageFormatProperties2KHR = 554, - vkGetPhysicalDeviceSupportedFramebufferMixedSamplesCombinationsNV = 555, - vkGetPhysicalDeviceSurfaceCapabilities2EXT = 556, - vkGetPhysicalDeviceSurfaceCapabilities2KHR = 557, - vkGetPhysicalDeviceSurfaceCapabilitiesKHR = 558, - vkGetPhysicalDeviceSurfaceFormats2KHR = 559, - vkGetPhysicalDeviceSurfaceFormatsKHR = 560, - vkGetPhysicalDeviceSurfacePresentModes2EXT = 561, - vkGetPhysicalDeviceSurfacePresentModesKHR = 562, - vkGetPhysicalDeviceSurfaceSupportKHR = 563, - vkGetPhysicalDeviceToolProperties = 564, - vkGetPhysicalDeviceToolPropertiesEXT = 565, - vkGetPhysicalDeviceVideoCapabilitiesKHR = 566, - vkGetPhysicalDeviceVideoEncodeQualityLevelPropertiesKHR = 567, - vkGetPhysicalDeviceVideoFormatPropertiesKHR = 568, - vkGetPhysicalDeviceWaylandPresentationSupportKHR = 569, - vkGetPhysicalDeviceWin32PresentationSupportKHR = 570, - vkGetPhysicalDeviceXcbPresentationSupportKHR = 571, - vkGetPhysicalDeviceXlibPresentationSupportKHR = 572, - vkGetPipelineCacheData = 573, - vkGetPipelineExecutableInternalRepresentationsKHR = 574, - vkGetPipelineExecutablePropertiesKHR = 575, - vkGetPipelineExecutableStatisticsKHR = 576, - vkGetPipelineIndirectDeviceAddressNV = 577, - vkGetPipelineIndirectMemoryRequirementsNV = 578, - vkGetPipelinePropertiesEXT = 579, - vkGetPrivateData = 580, - vkGetPrivateDataEXT = 581, - vkGetQueryPoolResults = 582, - vkGetQueueCheckpointData2NV = 583, - vkGetQueueCheckpointDataNV = 584, - vkGetRandROutputDisplayEXT = 585, - vkGetRayTracingCaptureReplayShaderGroupHandlesKHR = 586, - vkGetRayTracingShaderGroupHandlesKHR = 587, - vkGetRayTracingShaderGroupHandlesNV = 588, - vkGetRayTracingShaderGroupStackSizeKHR = 589, - vkGetRefreshCycleDurationGOOGLE = 590, - vkGetRenderAreaGranularity = 591, - vkGetRenderingAreaGranularityKHR = 592, - vkGetSamplerOpaqueCaptureDescriptorDataEXT = 593, - vkGetScreenBufferPropertiesQNX = 594, - vkGetSemaphoreCounterValue = 595, - vkGetSemaphoreCounterValueKHR = 596, - vkGetSemaphoreFdKHR = 597, - vkGetSemaphoreWin32HandleKHR = 598, - vkGetSemaphoreZirconHandleFUCHSIA = 599, - vkGetShaderBinaryDataEXT = 600, - vkGetShaderInfoAMD = 601, - vkGetShaderModuleCreateInfoIdentifierEXT = 602, - vkGetShaderModuleIdentifierEXT = 603, - vkGetSwapchainCounterEXT = 604, - vkGetSwapchainImagesKHR = 605, - vkGetSwapchainStatusKHR = 606, - vkGetValidationCacheDataEXT = 607, - vkGetVideoSessionMemoryRequirementsKHR = 608, - vkGetWinrtDisplayNV = 609, - vkImportFenceFdKHR = 610, - vkImportFenceWin32HandleKHR = 611, - vkImportSemaphoreFdKHR = 612, - vkImportSemaphoreWin32HandleKHR = 613, - vkImportSemaphoreZirconHandleFUCHSIA = 614, - vkInitializePerformanceApiINTEL = 615, - vkInvalidateMappedMemoryRanges = 616, - vkLatencySleepNV = 617, - vkMapMemory = 618, - vkMapMemory2KHR = 619, - vkMergePipelineCaches = 620, - vkMergeValidationCachesEXT = 621, - vkQueueBeginDebugUtilsLabelEXT = 622, - vkQueueBindSparse = 623, - vkQueueEndDebugUtilsLabelEXT = 624, - vkQueueInsertDebugUtilsLabelEXT = 625, - vkQueueNotifyOutOfBandNV = 626, - vkQueuePresentKHR = 627, - vkQueueSetPerformanceConfigurationINTEL = 628, - vkQueueSubmit = 629, - vkQueueSubmit2 = 630, - vkQueueSubmit2KHR = 631, - vkQueueWaitIdle = 632, - vkRegisterDeviceEventEXT = 633, - vkRegisterDisplayEventEXT = 634, - vkReleaseDisplayEXT = 635, - vkReleaseFullScreenExclusiveModeEXT = 636, - vkReleasePerformanceConfigurationINTEL = 637, - vkReleaseProfilingLockKHR = 638, - vkReleaseSwapchainImagesEXT = 639, - vkResetCommandBuffer = 640, - vkResetCommandPool = 641, - vkResetDescriptorPool = 642, - vkResetEvent = 643, - vkResetFences = 644, - vkResetQueryPool = 645, - vkResetQueryPoolEXT = 646, - vkSetBufferCollectionBufferConstraintsFUCHSIA = 647, - vkSetBufferCollectionImageConstraintsFUCHSIA = 648, - vkSetDebugUtilsObjectNameEXT = 649, - vkSetDebugUtilsObjectTagEXT = 650, - vkSetDeviceMemoryPriorityEXT = 651, - vkSetEvent = 652, - vkSetHdrMetadataEXT = 653, - vkSetLatencyMarkerNV = 654, - vkSetLatencySleepModeNV = 655, - vkSetLocalDimmingAMD = 656, - vkSetPrivateData = 657, - vkSetPrivateDataEXT = 658, - vkSignalSemaphore = 659, - vkSignalSemaphoreKHR = 660, - vkSubmitDebugUtilsMessageEXT = 661, - vkTransitionImageLayoutEXT = 662, - vkTrimCommandPool = 663, - vkTrimCommandPoolKHR = 664, - vkUninitializePerformanceApiINTEL = 665, - vkUnmapMemory = 666, - vkUnmapMemory2KHR = 667, - vkUpdateDescriptorSetWithTemplate = 668, - vkUpdateDescriptorSetWithTemplateKHR = 669, - vkUpdateDescriptorSets = 670, - vkUpdateVideoSessionParametersKHR = 671, - vkWaitForFences = 672, - vkWaitForPresentKHR = 673, - vkWaitSemaphores = 674, - vkWaitSemaphoresKHR = 675, - vkWriteAccelerationStructuresPropertiesKHR = 676, - vkWriteMicromapsPropertiesEXT = 677, + vkCmdSetLineStippleKHR = 214, + vkCmdSetLineWidth = 215, + vkCmdSetLogicOpEXT = 216, + vkCmdSetLogicOpEnableEXT = 217, + vkCmdSetPatchControlPointsEXT = 218, + vkCmdSetPerformanceMarkerINTEL = 219, + vkCmdSetPerformanceOverrideINTEL = 220, + vkCmdSetPerformanceStreamMarkerINTEL = 221, + vkCmdSetPolygonModeEXT = 222, + vkCmdSetPrimitiveRestartEnable = 223, + vkCmdSetPrimitiveRestartEnableEXT = 224, + vkCmdSetPrimitiveTopology = 225, + vkCmdSetPrimitiveTopologyEXT = 226, + vkCmdSetProvokingVertexModeEXT = 227, + vkCmdSetRasterizationSamplesEXT = 228, + vkCmdSetRasterizationStreamEXT = 229, + vkCmdSetRasterizerDiscardEnable = 230, + vkCmdSetRasterizerDiscardEnableEXT = 231, + vkCmdSetRayTracingPipelineStackSizeKHR = 232, + vkCmdSetRenderingAttachmentLocationsKHR = 233, + vkCmdSetRenderingInputAttachmentIndicesKHR = 234, + vkCmdSetRepresentativeFragmentTestEnableNV = 235, + vkCmdSetSampleLocationsEXT = 236, + vkCmdSetSampleLocationsEnableEXT = 237, + vkCmdSetSampleMaskEXT = 238, + vkCmdSetScissor = 239, + vkCmdSetScissorWithCount = 240, + vkCmdSetScissorWithCountEXT = 241, + vkCmdSetShadingRateImageEnableNV = 242, + vkCmdSetStencilCompareMask = 243, + vkCmdSetStencilOp = 244, + vkCmdSetStencilOpEXT = 245, + vkCmdSetStencilReference = 246, + vkCmdSetStencilTestEnable = 247, + vkCmdSetStencilTestEnableEXT = 248, + vkCmdSetStencilWriteMask = 249, + vkCmdSetTessellationDomainOriginEXT = 250, + vkCmdSetVertexInputEXT = 251, + vkCmdSetViewport = 252, + vkCmdSetViewportShadingRatePaletteNV = 253, + vkCmdSetViewportSwizzleNV = 254, + vkCmdSetViewportWScalingEnableNV = 255, + vkCmdSetViewportWScalingNV = 256, + vkCmdSetViewportWithCount = 257, + vkCmdSetViewportWithCountEXT = 258, + vkCmdSubpassShadingHUAWEI = 259, + vkCmdTraceRaysIndirect2KHR = 260, + vkCmdTraceRaysIndirectKHR = 261, + vkCmdTraceRaysKHR = 262, + vkCmdTraceRaysNV = 263, + vkCmdUpdateBuffer = 264, + vkCmdUpdatePipelineIndirectBufferNV = 265, + vkCmdWaitEvents = 266, + vkCmdWaitEvents2 = 267, + vkCmdWaitEvents2KHR = 268, + vkCmdWriteAccelerationStructuresPropertiesKHR = 269, + vkCmdWriteAccelerationStructuresPropertiesNV = 270, + vkCmdWriteBufferMarker2AMD = 271, + vkCmdWriteBufferMarkerAMD = 272, + vkCmdWriteMicromapsPropertiesEXT = 273, + vkCmdWriteTimestamp = 274, + vkCmdWriteTimestamp2 = 275, + vkCmdWriteTimestamp2KHR = 276, + vkCompileDeferredNV = 277, + vkCopyAccelerationStructureKHR = 278, + vkCopyAccelerationStructureToMemoryKHR = 279, + vkCopyImageToImageEXT = 280, + vkCopyImageToMemoryEXT = 281, + vkCopyMemoryToAccelerationStructureKHR = 282, + vkCopyMemoryToImageEXT = 283, + vkCopyMemoryToMicromapEXT = 284, + vkCopyMicromapEXT = 285, + vkCopyMicromapToMemoryEXT = 286, + vkCreateAccelerationStructureKHR = 287, + vkCreateAccelerationStructureNV = 288, + vkCreateAndroidSurfaceKHR = 289, + vkCreateBuffer = 290, + vkCreateBufferCollectionFUCHSIA = 291, + vkCreateBufferView = 292, + vkCreateCommandPool = 293, + vkCreateComputePipelines = 294, + vkCreateCuFunctionNVX = 295, + vkCreateCuModuleNVX = 296, + vkCreateCudaFunctionNV = 297, + vkCreateCudaModuleNV = 298, + vkCreateDebugReportCallbackEXT = 299, + vkCreateDebugUtilsMessengerEXT = 300, + vkCreateDeferredOperationKHR = 301, + vkCreateDescriptorPool = 302, + vkCreateDescriptorSetLayout = 303, + vkCreateDescriptorUpdateTemplate = 304, + vkCreateDescriptorUpdateTemplateKHR = 305, + vkCreateDevice = 306, + vkCreateDirectFBSurfaceEXT = 307, + vkCreateDisplayModeKHR = 308, + vkCreateDisplayPlaneSurfaceKHR = 309, + vkCreateEvent = 310, + vkCreateExecutionGraphPipelinesAMDX = 311, + vkCreateFence = 312, + vkCreateFramebuffer = 313, + vkCreateGraphicsPipelines = 314, + vkCreateHeadlessSurfaceEXT = 315, + vkCreateIOSSurfaceMVK = 316, + vkCreateImage = 317, + vkCreateImagePipeSurfaceFUCHSIA = 318, + vkCreateImageView = 319, + vkCreateIndirectCommandsLayoutNV = 320, + vkCreateInstance = 321, + vkCreateMacOSSurfaceMVK = 322, + vkCreateMetalSurfaceEXT = 323, + vkCreateMicromapEXT = 324, + vkCreateOpticalFlowSessionNV = 325, + vkCreatePipelineCache = 326, + vkCreatePipelineLayout = 327, + vkCreatePrivateDataSlot = 328, + vkCreatePrivateDataSlotEXT = 329, + vkCreateQueryPool = 330, + vkCreateRayTracingPipelinesKHR = 331, + vkCreateRayTracingPipelinesNV = 332, + vkCreateRenderPass = 333, + vkCreateRenderPass2 = 334, + vkCreateRenderPass2KHR = 335, + vkCreateSampler = 336, + vkCreateSamplerYcbcrConversion = 337, + vkCreateSamplerYcbcrConversionKHR = 338, + vkCreateScreenSurfaceQNX = 339, + vkCreateSemaphore = 340, + vkCreateShaderModule = 341, + vkCreateShadersEXT = 342, + vkCreateSharedSwapchainsKHR = 343, + vkCreateStreamDescriptorSurfaceGGP = 344, + vkCreateSwapchainKHR = 345, + vkCreateValidationCacheEXT = 346, + vkCreateViSurfaceNN = 347, + vkCreateVideoSessionKHR = 348, + vkCreateVideoSessionParametersKHR = 349, + vkCreateWaylandSurfaceKHR = 350, + vkCreateWin32SurfaceKHR = 351, + vkCreateXcbSurfaceKHR = 352, + vkCreateXlibSurfaceKHR = 353, + vkDebugMarkerSetObjectNameEXT = 354, + vkDebugMarkerSetObjectTagEXT = 355, + vkDebugReportMessageEXT = 356, + vkDeferredOperationJoinKHR = 357, + vkDestroyAccelerationStructureKHR = 358, + vkDestroyAccelerationStructureNV = 359, + vkDestroyBuffer = 360, + vkDestroyBufferCollectionFUCHSIA = 361, + vkDestroyBufferView = 362, + vkDestroyCommandPool = 363, + vkDestroyCuFunctionNVX = 364, + vkDestroyCuModuleNVX = 365, + vkDestroyCudaFunctionNV = 366, + vkDestroyCudaModuleNV = 367, + vkDestroyDebugReportCallbackEXT = 368, + vkDestroyDebugUtilsMessengerEXT = 369, + vkDestroyDeferredOperationKHR = 370, + vkDestroyDescriptorPool = 371, + vkDestroyDescriptorSetLayout = 372, + vkDestroyDescriptorUpdateTemplate = 373, + vkDestroyDescriptorUpdateTemplateKHR = 374, + vkDestroyDevice = 375, + vkDestroyEvent = 376, + vkDestroyFence = 377, + vkDestroyFramebuffer = 378, + vkDestroyImage = 379, + vkDestroyImageView = 380, + vkDestroyIndirectCommandsLayoutNV = 381, + vkDestroyInstance = 382, + vkDestroyMicromapEXT = 383, + vkDestroyOpticalFlowSessionNV = 384, + vkDestroyPipeline = 385, + vkDestroyPipelineCache = 386, + vkDestroyPipelineLayout = 387, + vkDestroyPrivateDataSlot = 388, + vkDestroyPrivateDataSlotEXT = 389, + vkDestroyQueryPool = 390, + vkDestroyRenderPass = 391, + vkDestroySampler = 392, + vkDestroySamplerYcbcrConversion = 393, + vkDestroySamplerYcbcrConversionKHR = 394, + vkDestroySemaphore = 395, + vkDestroyShaderEXT = 396, + vkDestroyShaderModule = 397, + vkDestroySurfaceKHR = 398, + vkDestroySwapchainKHR = 399, + vkDestroyValidationCacheEXT = 400, + vkDestroyVideoSessionKHR = 401, + vkDestroyVideoSessionParametersKHR = 402, + vkDeviceWaitIdle = 403, + vkDisplayPowerControlEXT = 404, + vkEndCommandBuffer = 405, + vkEnumerateDeviceExtensionProperties = 406, + vkEnumerateDeviceLayerProperties = 407, + vkEnumerateInstanceExtensionProperties = 408, + vkEnumerateInstanceLayerProperties = 409, + vkEnumerateInstanceVersion = 410, + vkEnumeratePhysicalDeviceGroups = 411, + vkEnumeratePhysicalDeviceGroupsKHR = 412, + vkEnumeratePhysicalDeviceQueueFamilyPerformanceQueryCountersKHR = 413, + vkEnumeratePhysicalDevices = 414, + vkExportMetalObjectsEXT = 415, + vkFlushMappedMemoryRanges = 416, + vkFreeCommandBuffers = 417, + vkFreeDescriptorSets = 418, + vkFreeMemory = 419, + vkGetAccelerationStructureBuildSizesKHR = 420, + vkGetAccelerationStructureDeviceAddressKHR = 421, + vkGetAccelerationStructureHandleNV = 422, + vkGetAccelerationStructureMemoryRequirementsNV = 423, + vkGetAccelerationStructureOpaqueCaptureDescriptorDataEXT = 424, + vkGetAndroidHardwareBufferPropertiesANDROID = 425, + vkGetBufferCollectionPropertiesFUCHSIA = 426, + vkGetBufferDeviceAddress = 427, + vkGetBufferDeviceAddressEXT = 428, + vkGetBufferDeviceAddressKHR = 429, + vkGetBufferMemoryRequirements = 430, + vkGetBufferMemoryRequirements2 = 431, + vkGetBufferMemoryRequirements2KHR = 432, + vkGetBufferOpaqueCaptureAddress = 433, + vkGetBufferOpaqueCaptureAddressKHR = 434, + vkGetBufferOpaqueCaptureDescriptorDataEXT = 435, + vkGetCalibratedTimestampsEXT = 436, + vkGetCalibratedTimestampsKHR = 437, + vkGetCudaModuleCacheNV = 438, + vkGetDeferredOperationMaxConcurrencyKHR = 439, + vkGetDeferredOperationResultKHR = 440, + vkGetDescriptorEXT = 441, + vkGetDescriptorSetHostMappingVALVE = 442, + vkGetDescriptorSetLayoutBindingOffsetEXT = 443, + vkGetDescriptorSetLayoutHostMappingInfoVALVE = 444, + vkGetDescriptorSetLayoutSizeEXT = 445, + vkGetDescriptorSetLayoutSupport = 446, + vkGetDescriptorSetLayoutSupportKHR = 447, + vkGetDeviceAccelerationStructureCompatibilityKHR = 448, + vkGetDeviceBufferMemoryRequirements = 449, + vkGetDeviceBufferMemoryRequirementsKHR = 450, + vkGetDeviceFaultInfoEXT = 451, + vkGetDeviceGroupPeerMemoryFeatures = 452, + vkGetDeviceGroupPeerMemoryFeaturesKHR = 453, + vkGetDeviceGroupPresentCapabilitiesKHR = 454, + vkGetDeviceGroupSurfacePresentModes2EXT = 455, + vkGetDeviceGroupSurfacePresentModesKHR = 456, + vkGetDeviceImageMemoryRequirements = 457, + vkGetDeviceImageMemoryRequirementsKHR = 458, + vkGetDeviceImageSparseMemoryRequirements = 459, + vkGetDeviceImageSparseMemoryRequirementsKHR = 460, + vkGetDeviceImageSubresourceLayoutKHR = 461, + vkGetDeviceMemoryCommitment = 462, + vkGetDeviceMemoryOpaqueCaptureAddress = 463, + vkGetDeviceMemoryOpaqueCaptureAddressKHR = 464, + vkGetDeviceMicromapCompatibilityEXT = 465, + vkGetDeviceProcAddr = 466, + vkGetDeviceQueue = 467, + vkGetDeviceQueue2 = 468, + vkGetDeviceSubpassShadingMaxWorkgroupSizeHUAWEI = 469, + vkGetDisplayModeProperties2KHR = 470, + vkGetDisplayModePropertiesKHR = 471, + vkGetDisplayPlaneCapabilities2KHR = 472, + vkGetDisplayPlaneCapabilitiesKHR = 473, + vkGetDisplayPlaneSupportedDisplaysKHR = 474, + vkGetDrmDisplayEXT = 475, + vkGetDynamicRenderingTilePropertiesQCOM = 476, + vkGetEncodedVideoSessionParametersKHR = 477, + vkGetEventStatus = 478, + vkGetExecutionGraphPipelineNodeIndexAMDX = 479, + vkGetExecutionGraphPipelineScratchSizeAMDX = 480, + vkGetFenceFdKHR = 481, + vkGetFenceStatus = 482, + vkGetFenceWin32HandleKHR = 483, + vkGetFramebufferTilePropertiesQCOM = 484, + vkGetGeneratedCommandsMemoryRequirementsNV = 485, + vkGetImageDrmFormatModifierPropertiesEXT = 486, + vkGetImageMemoryRequirements = 487, + vkGetImageMemoryRequirements2 = 488, + vkGetImageMemoryRequirements2KHR = 489, + vkGetImageOpaqueCaptureDescriptorDataEXT = 490, + vkGetImageSparseMemoryRequirements = 491, + vkGetImageSparseMemoryRequirements2 = 492, + vkGetImageSparseMemoryRequirements2KHR = 493, + vkGetImageSubresourceLayout = 494, + vkGetImageSubresourceLayout2EXT = 495, + vkGetImageSubresourceLayout2KHR = 496, + vkGetImageViewAddressNVX = 497, + vkGetImageViewHandleNVX = 498, + vkGetImageViewOpaqueCaptureDescriptorDataEXT = 499, + vkGetInstanceProcAddr = 500, + vkGetLatencyTimingsNV = 501, + vkGetMemoryAndroidHardwareBufferANDROID = 502, + vkGetMemoryFdKHR = 503, + vkGetMemoryFdPropertiesKHR = 504, + vkGetMemoryHostPointerPropertiesEXT = 505, + vkGetMemoryRemoteAddressNV = 506, + vkGetMemoryWin32HandleKHR = 507, + vkGetMemoryWin32HandleNV = 508, + vkGetMemoryWin32HandlePropertiesKHR = 509, + vkGetMemoryZirconHandleFUCHSIA = 510, + vkGetMemoryZirconHandlePropertiesFUCHSIA = 511, + vkGetMicromapBuildSizesEXT = 512, + vkGetPastPresentationTimingGOOGLE = 513, + vkGetPerformanceParameterINTEL = 514, + vkGetPhysicalDeviceCalibrateableTimeDomainsEXT = 515, + vkGetPhysicalDeviceCalibrateableTimeDomainsKHR = 516, + vkGetPhysicalDeviceCooperativeMatrixPropertiesKHR = 517, + vkGetPhysicalDeviceCooperativeMatrixPropertiesNV = 518, + vkGetPhysicalDeviceDirectFBPresentationSupportEXT = 519, + vkGetPhysicalDeviceDisplayPlaneProperties2KHR = 520, + vkGetPhysicalDeviceDisplayPlanePropertiesKHR = 521, + vkGetPhysicalDeviceDisplayProperties2KHR = 522, + vkGetPhysicalDeviceDisplayPropertiesKHR = 523, + vkGetPhysicalDeviceExternalBufferProperties = 524, + vkGetPhysicalDeviceExternalBufferPropertiesKHR = 525, + vkGetPhysicalDeviceExternalFenceProperties = 526, + vkGetPhysicalDeviceExternalFencePropertiesKHR = 527, + vkGetPhysicalDeviceExternalImageFormatPropertiesNV = 528, + vkGetPhysicalDeviceExternalSemaphoreProperties = 529, + vkGetPhysicalDeviceExternalSemaphorePropertiesKHR = 530, + vkGetPhysicalDeviceFeatures = 531, + vkGetPhysicalDeviceFeatures2 = 532, + vkGetPhysicalDeviceFeatures2KHR = 533, + vkGetPhysicalDeviceFormatProperties = 534, + vkGetPhysicalDeviceFormatProperties2 = 535, + vkGetPhysicalDeviceFormatProperties2KHR = 536, + vkGetPhysicalDeviceFragmentShadingRatesKHR = 537, + vkGetPhysicalDeviceImageFormatProperties = 538, + vkGetPhysicalDeviceImageFormatProperties2 = 539, + vkGetPhysicalDeviceImageFormatProperties2KHR = 540, + vkGetPhysicalDeviceMemoryProperties = 541, + vkGetPhysicalDeviceMemoryProperties2 = 542, + vkGetPhysicalDeviceMemoryProperties2KHR = 543, + vkGetPhysicalDeviceMultisamplePropertiesEXT = 544, + vkGetPhysicalDeviceOpticalFlowImageFormatsNV = 545, + vkGetPhysicalDevicePresentRectanglesKHR = 546, + vkGetPhysicalDeviceProperties = 547, + vkGetPhysicalDeviceProperties2 = 548, + vkGetPhysicalDeviceProperties2KHR = 549, + vkGetPhysicalDeviceQueueFamilyPerformanceQueryPassesKHR = 550, + vkGetPhysicalDeviceQueueFamilyProperties = 551, + vkGetPhysicalDeviceQueueFamilyProperties2 = 552, + vkGetPhysicalDeviceQueueFamilyProperties2KHR = 553, + vkGetPhysicalDeviceScreenPresentationSupportQNX = 554, + vkGetPhysicalDeviceSparseImageFormatProperties = 555, + vkGetPhysicalDeviceSparseImageFormatProperties2 = 556, + vkGetPhysicalDeviceSparseImageFormatProperties2KHR = 557, + vkGetPhysicalDeviceSupportedFramebufferMixedSamplesCombinationsNV = 558, + vkGetPhysicalDeviceSurfaceCapabilities2EXT = 559, + vkGetPhysicalDeviceSurfaceCapabilities2KHR = 560, + vkGetPhysicalDeviceSurfaceCapabilitiesKHR = 561, + vkGetPhysicalDeviceSurfaceFormats2KHR = 562, + vkGetPhysicalDeviceSurfaceFormatsKHR = 563, + vkGetPhysicalDeviceSurfacePresentModes2EXT = 564, + vkGetPhysicalDeviceSurfacePresentModesKHR = 565, + vkGetPhysicalDeviceSurfaceSupportKHR = 566, + vkGetPhysicalDeviceToolProperties = 567, + vkGetPhysicalDeviceToolPropertiesEXT = 568, + vkGetPhysicalDeviceVideoCapabilitiesKHR = 569, + vkGetPhysicalDeviceVideoEncodeQualityLevelPropertiesKHR = 570, + vkGetPhysicalDeviceVideoFormatPropertiesKHR = 571, + vkGetPhysicalDeviceWaylandPresentationSupportKHR = 572, + vkGetPhysicalDeviceWin32PresentationSupportKHR = 573, + vkGetPhysicalDeviceXcbPresentationSupportKHR = 574, + vkGetPhysicalDeviceXlibPresentationSupportKHR = 575, + vkGetPipelineCacheData = 576, + vkGetPipelineExecutableInternalRepresentationsKHR = 577, + vkGetPipelineExecutablePropertiesKHR = 578, + vkGetPipelineExecutableStatisticsKHR = 579, + vkGetPipelineIndirectDeviceAddressNV = 580, + vkGetPipelineIndirectMemoryRequirementsNV = 581, + vkGetPipelinePropertiesEXT = 582, + vkGetPrivateData = 583, + vkGetPrivateDataEXT = 584, + vkGetQueryPoolResults = 585, + vkGetQueueCheckpointData2NV = 586, + vkGetQueueCheckpointDataNV = 587, + vkGetRandROutputDisplayEXT = 588, + vkGetRayTracingCaptureReplayShaderGroupHandlesKHR = 589, + vkGetRayTracingShaderGroupHandlesKHR = 590, + vkGetRayTracingShaderGroupHandlesNV = 591, + vkGetRayTracingShaderGroupStackSizeKHR = 592, + vkGetRefreshCycleDurationGOOGLE = 593, + vkGetRenderAreaGranularity = 594, + vkGetRenderingAreaGranularityKHR = 595, + vkGetSamplerOpaqueCaptureDescriptorDataEXT = 596, + vkGetScreenBufferPropertiesQNX = 597, + vkGetSemaphoreCounterValue = 598, + vkGetSemaphoreCounterValueKHR = 599, + vkGetSemaphoreFdKHR = 600, + vkGetSemaphoreWin32HandleKHR = 601, + vkGetSemaphoreZirconHandleFUCHSIA = 602, + vkGetShaderBinaryDataEXT = 603, + vkGetShaderInfoAMD = 604, + vkGetShaderModuleCreateInfoIdentifierEXT = 605, + vkGetShaderModuleIdentifierEXT = 606, + vkGetSwapchainCounterEXT = 607, + vkGetSwapchainImagesKHR = 608, + vkGetSwapchainStatusKHR = 609, + vkGetValidationCacheDataEXT = 610, + vkGetVideoSessionMemoryRequirementsKHR = 611, + vkGetWinrtDisplayNV = 612, + vkImportFenceFdKHR = 613, + vkImportFenceWin32HandleKHR = 614, + vkImportSemaphoreFdKHR = 615, + vkImportSemaphoreWin32HandleKHR = 616, + vkImportSemaphoreZirconHandleFUCHSIA = 617, + vkInitializePerformanceApiINTEL = 618, + vkInvalidateMappedMemoryRanges = 619, + vkLatencySleepNV = 620, + vkMapMemory = 621, + vkMapMemory2KHR = 622, + vkMergePipelineCaches = 623, + vkMergeValidationCachesEXT = 624, + vkQueueBeginDebugUtilsLabelEXT = 625, + vkQueueBindSparse = 626, + vkQueueEndDebugUtilsLabelEXT = 627, + vkQueueInsertDebugUtilsLabelEXT = 628, + vkQueueNotifyOutOfBandNV = 629, + vkQueuePresentKHR = 630, + vkQueueSetPerformanceConfigurationINTEL = 631, + vkQueueSubmit = 632, + vkQueueSubmit2 = 633, + vkQueueSubmit2KHR = 634, + vkQueueWaitIdle = 635, + vkRegisterDeviceEventEXT = 636, + vkRegisterDisplayEventEXT = 637, + vkReleaseDisplayEXT = 638, + vkReleaseFullScreenExclusiveModeEXT = 639, + vkReleasePerformanceConfigurationINTEL = 640, + vkReleaseProfilingLockKHR = 641, + vkReleaseSwapchainImagesEXT = 642, + vkResetCommandBuffer = 643, + vkResetCommandPool = 644, + vkResetDescriptorPool = 645, + vkResetEvent = 646, + vkResetFences = 647, + vkResetQueryPool = 648, + vkResetQueryPoolEXT = 649, + vkSetBufferCollectionBufferConstraintsFUCHSIA = 650, + vkSetBufferCollectionImageConstraintsFUCHSIA = 651, + vkSetDebugUtilsObjectNameEXT = 652, + vkSetDebugUtilsObjectTagEXT = 653, + vkSetDeviceMemoryPriorityEXT = 654, + vkSetEvent = 655, + vkSetHdrMetadataEXT = 656, + vkSetLatencyMarkerNV = 657, + vkSetLatencySleepModeNV = 658, + vkSetLocalDimmingAMD = 659, + vkSetPrivateData = 660, + vkSetPrivateDataEXT = 661, + vkSignalSemaphore = 662, + vkSignalSemaphoreKHR = 663, + vkSubmitDebugUtilsMessageEXT = 664, + vkTransitionImageLayoutEXT = 665, + vkTrimCommandPool = 666, + vkTrimCommandPoolKHR = 667, + vkUninitializePerformanceApiINTEL = 668, + vkUnmapMemory = 669, + vkUnmapMemory2KHR = 670, + vkUpdateDescriptorSetWithTemplate = 671, + vkUpdateDescriptorSetWithTemplateKHR = 672, + vkUpdateDescriptorSets = 673, + vkUpdateVideoSessionParametersKHR = 674, + vkWaitForFences = 675, + vkWaitForPresentKHR = 676, + vkWaitSemaphores = 677, + vkWaitSemaphoresKHR = 678, + vkWriteAccelerationStructuresPropertiesKHR = 679, + vkWriteMicromapsPropertiesEXT = 680, }; enum class Struct { @@ -1200,6 +1203,7 @@ enum class Struct { VkPhysicalDeviceDriverProperties, VkPhysicalDeviceDrmPropertiesEXT, VkPhysicalDeviceDynamicRenderingFeatures, + VkPhysicalDeviceDynamicRenderingLocalReadFeaturesKHR, VkPhysicalDeviceDynamicRenderingUnusedAttachmentsFeaturesEXT, VkPhysicalDeviceExclusiveScissorFeaturesNV, VkPhysicalDeviceExtendedDynamicState2FeaturesEXT, @@ -1258,7 +1262,7 @@ enum class Struct { VkPhysicalDeviceImageViewImageFormatInfoEXT, VkPhysicalDeviceImageViewMinLodFeaturesEXT, VkPhysicalDeviceImagelessFramebufferFeatures, - VkPhysicalDeviceIndexTypeUint8FeaturesEXT, + VkPhysicalDeviceIndexTypeUint8FeaturesKHR, VkPhysicalDeviceInheritedViewportScissorFeaturesNV, VkPhysicalDeviceInlineUniformBlockFeatures, VkPhysicalDeviceInlineUniformBlockProperties, @@ -1266,8 +1270,8 @@ enum class Struct { VkPhysicalDeviceLayeredDriverPropertiesMSFT, VkPhysicalDeviceLegacyDitheringFeaturesEXT, VkPhysicalDeviceLimits, - VkPhysicalDeviceLineRasterizationFeaturesEXT, - VkPhysicalDeviceLineRasterizationPropertiesEXT, + VkPhysicalDeviceLineRasterizationFeaturesKHR, + VkPhysicalDeviceLineRasterizationPropertiesKHR, VkPhysicalDeviceLinearColorAttachmentFeaturesNV, VkPhysicalDeviceMaintenance3Properties, VkPhysicalDeviceMaintenance4Features, @@ -1368,19 +1372,24 @@ enum class Struct { VkPhysicalDeviceShaderEarlyAndLateFragmentTestsFeaturesAMD, VkPhysicalDeviceShaderEnqueueFeaturesAMDX, VkPhysicalDeviceShaderEnqueuePropertiesAMDX, + VkPhysicalDeviceShaderExpectAssumeFeaturesKHR, VkPhysicalDeviceShaderFloat16Int8Features, + VkPhysicalDeviceShaderFloatControls2FeaturesKHR, VkPhysicalDeviceShaderImageAtomicInt64FeaturesEXT, VkPhysicalDeviceShaderImageFootprintFeaturesNV, VkPhysicalDeviceShaderIntegerDotProductFeatures, VkPhysicalDeviceShaderIntegerDotProductProperties, VkPhysicalDeviceShaderIntegerFunctions2FeaturesINTEL, + VkPhysicalDeviceShaderMaximalReconvergenceFeaturesKHR, VkPhysicalDeviceShaderModuleIdentifierFeaturesEXT, VkPhysicalDeviceShaderModuleIdentifierPropertiesEXT, VkPhysicalDeviceShaderObjectFeaturesEXT, VkPhysicalDeviceShaderObjectPropertiesEXT, + VkPhysicalDeviceShaderQuadControlFeaturesKHR, VkPhysicalDeviceShaderSMBuiltinsFeaturesNV, VkPhysicalDeviceShaderSMBuiltinsPropertiesNV, VkPhysicalDeviceShaderSubgroupExtendedTypesFeatures, + VkPhysicalDeviceShaderSubgroupRotateFeaturesKHR, VkPhysicalDeviceShaderSubgroupUniformControlFlowFeaturesKHR, VkPhysicalDeviceShaderTerminateInvocationFeatures, VkPhysicalDeviceShaderTileImageFeaturesEXT, @@ -1460,7 +1469,7 @@ enum class Struct { VkPipelinePropertiesIdentifierEXT, VkPipelineRasterizationConservativeStateCreateInfoEXT, VkPipelineRasterizationDepthClipStateCreateInfoEXT, - VkPipelineRasterizationLineStateCreateInfoEXT, + VkPipelineRasterizationLineStateCreateInfoKHR, VkPipelineRasterizationProvokingVertexStateCreateInfoEXT, VkPipelineRasterizationStateCreateInfo, VkPipelineRasterizationStateRasterizationOrderAMD, @@ -1537,9 +1546,11 @@ enum class Struct { VkRenderPassTransformBeginInfoQCOM, VkRenderingAreaInfoKHR, VkRenderingAttachmentInfo, + VkRenderingAttachmentLocationInfoKHR, VkRenderingFragmentDensityMapAttachmentInfoEXT, VkRenderingFragmentShadingRateAttachmentInfoKHR, VkRenderingInfo, + VkRenderingInputAttachmentIndexInfoKHR, VkResolveImageInfo2, VkSRTDataNV, VkSampleLocationEXT, @@ -2167,6 +2178,7 @@ enum class Field { dynamicPipelineLayout, dynamicPrimitiveTopologyUnrestricted, dynamicRendering, + dynamicRenderingLocalRead, dynamicRenderingUnusedAttachments, dynamicStateCount, earliestPresentTime, @@ -3052,6 +3064,8 @@ enum class Field { pCollection, pColor, pColorAttachmentFormats, + pColorAttachmentInputIndices, + pColorAttachmentLocations, pColorAttachmentSamples, pColorAttachments, pColorBlendAdvanced, @@ -3105,6 +3119,7 @@ enum class Field { pDependencyInfos, pDepthAttachment, pDepthBiasInfo, + pDepthInputAttachmentIndex, pDepthStencil, pDepthStencilAttachment, pDepthStencilResolveAttachment, @@ -3241,6 +3256,7 @@ enum class Field { pLibraries, pLibraryInfo, pLibraryInterface, + pLocationInfo, pMapEntries, pMarkerInfo, pMarkerName, @@ -3406,6 +3422,7 @@ enum class Field { pStdSliceSegmentHeader, pStdVPSs, pStencilAttachment, + pStencilInputAttachmentIndex, pStorageBuffer, pStorageImage, pStorageTexelBuffer, @@ -3863,8 +3880,10 @@ enum class Field { shaderEarlyAndLateFragmentTests, shaderEngineCount, shaderEnqueue, + shaderExpectAssume, shaderFloat16, shaderFloat64, + shaderFloatControls2, shaderGroupBaseAlignment, shaderGroupHandleAlignment, shaderGroupHandleCaptureReplaySize, @@ -3882,12 +3901,14 @@ enum class Field { shaderInt8, shaderIntegerDotProduct, shaderIntegerFunctions2, + shaderMaximalReconvergence, shaderModule, shaderModuleIdentifier, shaderModuleIdentifierAlgorithmUUID, shaderObject, shaderOutputLayer, shaderOutputViewportIndex, + shaderQuadControl, shaderResourceMinLod, shaderResourceResidency, shaderRoundingModeRTEFloat16, @@ -3931,6 +3952,8 @@ enum class Field { shaderStorageTexelBufferArrayNonUniformIndexing, shaderSubgroupClock, shaderSubgroupExtendedTypes, + shaderSubgroupRotate, + shaderSubgroupRotateClustered, shaderSubgroupUniformControlFlow, shaderTerminateInvocation, shaderTessellationAndGeometryPointSize, diff --git a/layers/vulkan/generated/feature_requirements_helper.cpp b/layers/vulkan/generated/feature_requirements_helper.cpp index f048cf52081..37388790085 100644 --- a/layers/vulkan/generated/feature_requirements_helper.cpp +++ b/layers/vulkan/generated/feature_requirements_helper.cpp @@ -3,9 +3,9 @@ /*************************************************************************** * - * Copyright (c) 2023 The Khronos Group Inc. - * Copyright (c) 2023 Valve Corporation - * Copyright (c) 2023 LunarG, Inc. + * Copyright (c) 2023-2024 The Khronos Group Inc. + * Copyright (c) 2023-2024 Valve Corporation + * Copyright (c) 2023-2024 LunarG, Inc. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. @@ -1732,6 +1732,21 @@ FeatureAndName AddFeature(APIVersion api_version, vkt::Feature feature, void **i } return {&vk_struct->dynamicRendering, "VkPhysicalDeviceDynamicRenderingFeatures::dynamicRendering"}; } + case Feature::dynamicRenderingLocalRead: { + auto vk_struct = const_cast( + vku::FindStructInPNextChain(*inout_pnext_chain)); + if (!vk_struct) { + vk_struct = new VkPhysicalDeviceDynamicRenderingLocalReadFeaturesKHR; + *vk_struct = vku::InitStructHelper(); + if (*inout_pnext_chain) { + vvl::PnextChainAdd(*inout_pnext_chain, vk_struct); + } else { + *inout_pnext_chain = vk_struct; + } + } + return {&vk_struct->dynamicRenderingLocalRead, + "VkPhysicalDeviceDynamicRenderingLocalReadFeaturesKHR::dynamicRenderingLocalRead"}; + } case Feature::dynamicRenderingUnusedAttachments: { auto vk_struct = const_cast( vku::FindStructInPNextChain(*inout_pnext_chain)); @@ -2885,10 +2900,10 @@ FeatureAndName AddFeature(APIVersion api_version, vkt::Feature feature, void **i return {&vk_struct->imagelessFramebuffer, "VkPhysicalDeviceImagelessFramebufferFeatures::imagelessFramebuffer"}; } case Feature::indexTypeUint8: { - auto vk_struct = const_cast( - vku::FindStructInPNextChain(*inout_pnext_chain)); + auto vk_struct = const_cast( + vku::FindStructInPNextChain(*inout_pnext_chain)); if (!vk_struct) { - vk_struct = new VkPhysicalDeviceIndexTypeUint8FeaturesEXT; + vk_struct = new VkPhysicalDeviceIndexTypeUint8FeaturesKHR; *vk_struct = vku::InitStructHelper(); if (*inout_pnext_chain) { vvl::PnextChainAdd(*inout_pnext_chain, vk_struct); @@ -2896,7 +2911,7 @@ FeatureAndName AddFeature(APIVersion api_version, vkt::Feature feature, void **i *inout_pnext_chain = vk_struct; } } - return {&vk_struct->indexTypeUint8, "VkPhysicalDeviceIndexTypeUint8FeaturesEXT::indexTypeUint8"}; + return {&vk_struct->indexTypeUint8, "VkPhysicalDeviceIndexTypeUint8FeaturesKHR::indexTypeUint8"}; } case Feature::inheritedViewportScissor2D: { auto vk_struct = const_cast( @@ -3001,10 +3016,10 @@ FeatureAndName AddFeature(APIVersion api_version, vkt::Feature feature, void **i return {&vk_struct->legacyDithering, "VkPhysicalDeviceLegacyDitheringFeaturesEXT::legacyDithering"}; } case Feature::bresenhamLines: { - auto vk_struct = const_cast( - vku::FindStructInPNextChain(*inout_pnext_chain)); + auto vk_struct = const_cast( + vku::FindStructInPNextChain(*inout_pnext_chain)); if (!vk_struct) { - vk_struct = new VkPhysicalDeviceLineRasterizationFeaturesEXT; + vk_struct = new VkPhysicalDeviceLineRasterizationFeaturesKHR; *vk_struct = vku::InitStructHelper(); if (*inout_pnext_chain) { vvl::PnextChainAdd(*inout_pnext_chain, vk_struct); @@ -3012,13 +3027,13 @@ FeatureAndName AddFeature(APIVersion api_version, vkt::Feature feature, void **i *inout_pnext_chain = vk_struct; } } - return {&vk_struct->bresenhamLines, "VkPhysicalDeviceLineRasterizationFeaturesEXT::bresenhamLines"}; + return {&vk_struct->bresenhamLines, "VkPhysicalDeviceLineRasterizationFeaturesKHR::bresenhamLines"}; } case Feature::rectangularLines: { - auto vk_struct = const_cast( - vku::FindStructInPNextChain(*inout_pnext_chain)); + auto vk_struct = const_cast( + vku::FindStructInPNextChain(*inout_pnext_chain)); if (!vk_struct) { - vk_struct = new VkPhysicalDeviceLineRasterizationFeaturesEXT; + vk_struct = new VkPhysicalDeviceLineRasterizationFeaturesKHR; *vk_struct = vku::InitStructHelper(); if (*inout_pnext_chain) { vvl::PnextChainAdd(*inout_pnext_chain, vk_struct); @@ -3026,13 +3041,13 @@ FeatureAndName AddFeature(APIVersion api_version, vkt::Feature feature, void **i *inout_pnext_chain = vk_struct; } } - return {&vk_struct->rectangularLines, "VkPhysicalDeviceLineRasterizationFeaturesEXT::rectangularLines"}; + return {&vk_struct->rectangularLines, "VkPhysicalDeviceLineRasterizationFeaturesKHR::rectangularLines"}; } case Feature::smoothLines: { - auto vk_struct = const_cast( - vku::FindStructInPNextChain(*inout_pnext_chain)); + auto vk_struct = const_cast( + vku::FindStructInPNextChain(*inout_pnext_chain)); if (!vk_struct) { - vk_struct = new VkPhysicalDeviceLineRasterizationFeaturesEXT; + vk_struct = new VkPhysicalDeviceLineRasterizationFeaturesKHR; *vk_struct = vku::InitStructHelper(); if (*inout_pnext_chain) { vvl::PnextChainAdd(*inout_pnext_chain, vk_struct); @@ -3040,13 +3055,13 @@ FeatureAndName AddFeature(APIVersion api_version, vkt::Feature feature, void **i *inout_pnext_chain = vk_struct; } } - return {&vk_struct->smoothLines, "VkPhysicalDeviceLineRasterizationFeaturesEXT::smoothLines"}; + return {&vk_struct->smoothLines, "VkPhysicalDeviceLineRasterizationFeaturesKHR::smoothLines"}; } case Feature::stippledBresenhamLines: { - auto vk_struct = const_cast( - vku::FindStructInPNextChain(*inout_pnext_chain)); + auto vk_struct = const_cast( + vku::FindStructInPNextChain(*inout_pnext_chain)); if (!vk_struct) { - vk_struct = new VkPhysicalDeviceLineRasterizationFeaturesEXT; + vk_struct = new VkPhysicalDeviceLineRasterizationFeaturesKHR; *vk_struct = vku::InitStructHelper(); if (*inout_pnext_chain) { vvl::PnextChainAdd(*inout_pnext_chain, vk_struct); @@ -3054,13 +3069,13 @@ FeatureAndName AddFeature(APIVersion api_version, vkt::Feature feature, void **i *inout_pnext_chain = vk_struct; } } - return {&vk_struct->stippledBresenhamLines, "VkPhysicalDeviceLineRasterizationFeaturesEXT::stippledBresenhamLines"}; + return {&vk_struct->stippledBresenhamLines, "VkPhysicalDeviceLineRasterizationFeaturesKHR::stippledBresenhamLines"}; } case Feature::stippledRectangularLines: { - auto vk_struct = const_cast( - vku::FindStructInPNextChain(*inout_pnext_chain)); + auto vk_struct = const_cast( + vku::FindStructInPNextChain(*inout_pnext_chain)); if (!vk_struct) { - vk_struct = new VkPhysicalDeviceLineRasterizationFeaturesEXT; + vk_struct = new VkPhysicalDeviceLineRasterizationFeaturesKHR; *vk_struct = vku::InitStructHelper(); if (*inout_pnext_chain) { vvl::PnextChainAdd(*inout_pnext_chain, vk_struct); @@ -3068,13 +3083,13 @@ FeatureAndName AddFeature(APIVersion api_version, vkt::Feature feature, void **i *inout_pnext_chain = vk_struct; } } - return {&vk_struct->stippledRectangularLines, "VkPhysicalDeviceLineRasterizationFeaturesEXT::stippledRectangularLines"}; + return {&vk_struct->stippledRectangularLines, "VkPhysicalDeviceLineRasterizationFeaturesKHR::stippledRectangularLines"}; } case Feature::stippledSmoothLines: { - auto vk_struct = const_cast( - vku::FindStructInPNextChain(*inout_pnext_chain)); + auto vk_struct = const_cast( + vku::FindStructInPNextChain(*inout_pnext_chain)); if (!vk_struct) { - vk_struct = new VkPhysicalDeviceLineRasterizationFeaturesEXT; + vk_struct = new VkPhysicalDeviceLineRasterizationFeaturesKHR; *vk_struct = vku::InitStructHelper(); if (*inout_pnext_chain) { vvl::PnextChainAdd(*inout_pnext_chain, vk_struct); @@ -3082,7 +3097,7 @@ FeatureAndName AddFeature(APIVersion api_version, vkt::Feature feature, void **i *inout_pnext_chain = vk_struct; } } - return {&vk_struct->stippledSmoothLines, "VkPhysicalDeviceLineRasterizationFeaturesEXT::stippledSmoothLines"}; + return {&vk_struct->stippledSmoothLines, "VkPhysicalDeviceLineRasterizationFeaturesKHR::stippledSmoothLines"}; } case Feature::linearColorAttachment: { auto vk_struct = const_cast( @@ -5127,6 +5142,20 @@ FeatureAndName AddFeature(APIVersion api_version, vkt::Feature feature, void **i return {&vk_struct->shaderEnqueue, "VkPhysicalDeviceShaderEnqueueFeaturesAMDX::shaderEnqueue"}; } #endif // VK_ENABLE_BETA_EXTENSIONS + case Feature::shaderExpectAssume: { + auto vk_struct = const_cast( + vku::FindStructInPNextChain(*inout_pnext_chain)); + if (!vk_struct) { + vk_struct = new VkPhysicalDeviceShaderExpectAssumeFeaturesKHR; + *vk_struct = vku::InitStructHelper(); + if (*inout_pnext_chain) { + vvl::PnextChainAdd(*inout_pnext_chain, vk_struct); + } else { + *inout_pnext_chain = vk_struct; + } + } + return {&vk_struct->shaderExpectAssume, "VkPhysicalDeviceShaderExpectAssumeFeaturesKHR::shaderExpectAssume"}; + } case Feature::shaderFloat16: if (api_version >= VK_API_VERSION_1_2) { @@ -5184,6 +5213,20 @@ FeatureAndName AddFeature(APIVersion api_version, vkt::Feature feature, void **i } return {&vk_struct->shaderInt8, "VkPhysicalDeviceShaderFloat16Int8Features::shaderInt8"}; } + case Feature::shaderFloatControls2: { + auto vk_struct = const_cast( + vku::FindStructInPNextChain(*inout_pnext_chain)); + if (!vk_struct) { + vk_struct = new VkPhysicalDeviceShaderFloatControls2FeaturesKHR; + *vk_struct = vku::InitStructHelper(); + if (*inout_pnext_chain) { + vvl::PnextChainAdd(*inout_pnext_chain, vk_struct); + } else { + *inout_pnext_chain = vk_struct; + } + } + return {&vk_struct->shaderFloatControls2, "VkPhysicalDeviceShaderFloatControls2FeaturesKHR::shaderFloatControls2"}; + } case Feature::shaderImageInt64Atomics: { auto vk_struct = const_cast( vku::FindStructInPNextChain(*inout_pnext_chain)); @@ -5273,6 +5316,21 @@ FeatureAndName AddFeature(APIVersion api_version, vkt::Feature feature, void **i return {&vk_struct->shaderIntegerFunctions2, "VkPhysicalDeviceShaderIntegerFunctions2FeaturesINTEL::shaderIntegerFunctions2"}; } + case Feature::shaderMaximalReconvergence: { + auto vk_struct = const_cast( + vku::FindStructInPNextChain(*inout_pnext_chain)); + if (!vk_struct) { + vk_struct = new VkPhysicalDeviceShaderMaximalReconvergenceFeaturesKHR; + *vk_struct = vku::InitStructHelper(); + if (*inout_pnext_chain) { + vvl::PnextChainAdd(*inout_pnext_chain, vk_struct); + } else { + *inout_pnext_chain = vk_struct; + } + } + return {&vk_struct->shaderMaximalReconvergence, + "VkPhysicalDeviceShaderMaximalReconvergenceFeaturesKHR::shaderMaximalReconvergence"}; + } case Feature::shaderModuleIdentifier: { auto vk_struct = const_cast( vku::FindStructInPNextChain(*inout_pnext_chain)); @@ -5302,6 +5360,20 @@ FeatureAndName AddFeature(APIVersion api_version, vkt::Feature feature, void **i } return {&vk_struct->shaderObject, "VkPhysicalDeviceShaderObjectFeaturesEXT::shaderObject"}; } + case Feature::shaderQuadControl: { + auto vk_struct = const_cast( + vku::FindStructInPNextChain(*inout_pnext_chain)); + if (!vk_struct) { + vk_struct = new VkPhysicalDeviceShaderQuadControlFeaturesKHR; + *vk_struct = vku::InitStructHelper(); + if (*inout_pnext_chain) { + vvl::PnextChainAdd(*inout_pnext_chain, vk_struct); + } else { + *inout_pnext_chain = vk_struct; + } + } + return {&vk_struct->shaderQuadControl, "VkPhysicalDeviceShaderQuadControlFeaturesKHR::shaderQuadControl"}; + } case Feature::shaderSMBuiltins: { auto vk_struct = const_cast( vku::FindStructInPNextChain(*inout_pnext_chain)); @@ -5346,6 +5418,35 @@ FeatureAndName AddFeature(APIVersion api_version, vkt::Feature feature, void **i return {&vk_struct->shaderSubgroupExtendedTypes, "VkPhysicalDeviceShaderSubgroupExtendedTypesFeatures::shaderSubgroupExtendedTypes"}; } + case Feature::shaderSubgroupRotate: { + auto vk_struct = const_cast( + vku::FindStructInPNextChain(*inout_pnext_chain)); + if (!vk_struct) { + vk_struct = new VkPhysicalDeviceShaderSubgroupRotateFeaturesKHR; + *vk_struct = vku::InitStructHelper(); + if (*inout_pnext_chain) { + vvl::PnextChainAdd(*inout_pnext_chain, vk_struct); + } else { + *inout_pnext_chain = vk_struct; + } + } + return {&vk_struct->shaderSubgroupRotate, "VkPhysicalDeviceShaderSubgroupRotateFeaturesKHR::shaderSubgroupRotate"}; + } + case Feature::shaderSubgroupRotateClustered: { + auto vk_struct = const_cast( + vku::FindStructInPNextChain(*inout_pnext_chain)); + if (!vk_struct) { + vk_struct = new VkPhysicalDeviceShaderSubgroupRotateFeaturesKHR; + *vk_struct = vku::InitStructHelper(); + if (*inout_pnext_chain) { + vvl::PnextChainAdd(*inout_pnext_chain, vk_struct); + } else { + *inout_pnext_chain = vk_struct; + } + } + return {&vk_struct->shaderSubgroupRotateClustered, + "VkPhysicalDeviceShaderSubgroupRotateFeaturesKHR::shaderSubgroupRotateClustered"}; + } case Feature::shaderSubgroupUniformControlFlow: { auto vk_struct = const_cast( vku::FindStructInPNextChain(*inout_pnext_chain)); diff --git a/layers/vulkan/generated/feature_requirements_helper.h b/layers/vulkan/generated/feature_requirements_helper.h index 4d77c8dfe0c..17cdf8c76f0 100644 --- a/layers/vulkan/generated/feature_requirements_helper.h +++ b/layers/vulkan/generated/feature_requirements_helper.h @@ -3,9 +3,9 @@ /*************************************************************************** * - * Copyright (c) 2023 The Khronos Group Inc. - * Copyright (c) 2023 Valve Corporation - * Copyright (c) 2023 LunarG, Inc. + * Copyright (c) 2023-2024 The Khronos Group Inc. + * Copyright (c) 2023-2024 Valve Corporation + * Copyright (c) 2023-2024 LunarG, Inc. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. @@ -198,6 +198,8 @@ enum class Feature { displacementMicromap, // VkPhysicalDeviceDynamicRenderingFeatures, VkPhysicalDeviceVulkan13Features dynamicRendering, + // VkPhysicalDeviceDynamicRenderingLocalReadFeaturesKHR + dynamicRenderingLocalRead, // VkPhysicalDeviceDynamicRenderingUnusedAttachmentsFeaturesEXT dynamicRenderingUnusedAttachments, // VkPhysicalDeviceExclusiveScissorFeaturesNV @@ -458,7 +460,7 @@ enum class Feature { minLod, // VkPhysicalDeviceImagelessFramebufferFeatures, VkPhysicalDeviceVulkan12Features imagelessFramebuffer, - // VkPhysicalDeviceIndexTypeUint8FeaturesEXT + // VkPhysicalDeviceIndexTypeUint8FeaturesKHR indexTypeUint8, // VkPhysicalDeviceInheritedViewportScissorFeaturesNV inheritedViewportScissor2D, @@ -470,17 +472,17 @@ enum class Feature { invocationMask, // VkPhysicalDeviceLegacyDitheringFeaturesEXT legacyDithering, - // VkPhysicalDeviceLineRasterizationFeaturesEXT + // VkPhysicalDeviceLineRasterizationFeaturesKHR bresenhamLines, - // VkPhysicalDeviceLineRasterizationFeaturesEXT + // VkPhysicalDeviceLineRasterizationFeaturesKHR rectangularLines, - // VkPhysicalDeviceLineRasterizationFeaturesEXT + // VkPhysicalDeviceLineRasterizationFeaturesKHR smoothLines, - // VkPhysicalDeviceLineRasterizationFeaturesEXT + // VkPhysicalDeviceLineRasterizationFeaturesKHR stippledBresenhamLines, - // VkPhysicalDeviceLineRasterizationFeaturesEXT + // VkPhysicalDeviceLineRasterizationFeaturesKHR stippledRectangularLines, - // VkPhysicalDeviceLineRasterizationFeaturesEXT + // VkPhysicalDeviceLineRasterizationFeaturesKHR stippledSmoothLines, // VkPhysicalDeviceLinearColorAttachmentFeaturesNV linearColorAttachment, @@ -730,10 +732,14 @@ enum class Feature { shaderEarlyAndLateFragmentTests, // VkPhysicalDeviceShaderEnqueueFeaturesAMDX shaderEnqueue, + // VkPhysicalDeviceShaderExpectAssumeFeaturesKHR + shaderExpectAssume, // VkPhysicalDeviceShaderFloat16Int8Features, VkPhysicalDeviceVulkan12Features shaderFloat16, // VkPhysicalDeviceShaderFloat16Int8Features, VkPhysicalDeviceVulkan12Features shaderInt8, + // VkPhysicalDeviceShaderFloatControls2FeaturesKHR + shaderFloatControls2, // VkPhysicalDeviceShaderImageAtomicInt64FeaturesEXT shaderImageInt64Atomics, // VkPhysicalDeviceShaderImageAtomicInt64FeaturesEXT @@ -744,14 +750,22 @@ enum class Feature { shaderIntegerDotProduct, // VkPhysicalDeviceShaderIntegerFunctions2FeaturesINTEL shaderIntegerFunctions2, + // VkPhysicalDeviceShaderMaximalReconvergenceFeaturesKHR + shaderMaximalReconvergence, // VkPhysicalDeviceShaderModuleIdentifierFeaturesEXT shaderModuleIdentifier, // VkPhysicalDeviceShaderObjectFeaturesEXT shaderObject, + // VkPhysicalDeviceShaderQuadControlFeaturesKHR + shaderQuadControl, // VkPhysicalDeviceShaderSMBuiltinsFeaturesNV shaderSMBuiltins, // VkPhysicalDeviceShaderSubgroupExtendedTypesFeatures, VkPhysicalDeviceVulkan12Features shaderSubgroupExtendedTypes, + // VkPhysicalDeviceShaderSubgroupRotateFeaturesKHR + shaderSubgroupRotate, + // VkPhysicalDeviceShaderSubgroupRotateFeaturesKHR + shaderSubgroupRotateClustered, // VkPhysicalDeviceShaderSubgroupUniformControlFlowFeaturesKHR shaderSubgroupUniformControlFlow, // VkPhysicalDeviceShaderTerminateInvocationFeatures, VkPhysicalDeviceVulkan13Features diff --git a/layers/vulkan/generated/layer_chassis_dispatch.cpp b/layers/vulkan/generated/layer_chassis_dispatch.cpp index 69323ae74e5..0d56657d137 100644 --- a/layers/vulkan/generated/layer_chassis_dispatch.cpp +++ b/layers/vulkan/generated/layer_chassis_dispatch.cpp @@ -3,9 +3,9 @@ /*************************************************************************** * - * Copyright (c) 2015-2023 The Khronos Group Inc. - * Copyright (c) 2015-2023 Valve Corporation - * Copyright (c) 2015-2023 LunarG, Inc. + * Copyright (c) 2015-2024 The Khronos Group Inc. + * Copyright (c) 2015-2024 Valve Corporation + * Copyright (c) 2015-2024 LunarG, Inc. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. @@ -4390,6 +4390,20 @@ void DispatchCmdSetFragmentShadingRateKHR(VkCommandBuffer commandBuffer, const V layer_data->device_dispatch_table.CmdSetFragmentShadingRateKHR(commandBuffer, pFragmentSize, combinerOps); } +void DispatchCmdSetRenderingAttachmentLocationsKHR(VkCommandBuffer commandBuffer, + const VkRenderingAttachmentLocationInfoKHR* pLocationInfo) { + auto layer_data = GetLayerDataPtr(get_dispatch_key(commandBuffer), layer_data_map); + + layer_data->device_dispatch_table.CmdSetRenderingAttachmentLocationsKHR(commandBuffer, pLocationInfo); +} + +void DispatchCmdSetRenderingInputAttachmentIndicesKHR(VkCommandBuffer commandBuffer, + const VkRenderingInputAttachmentIndexInfoKHR* pLocationInfo) { + auto layer_data = GetLayerDataPtr(get_dispatch_key(commandBuffer), layer_data_map); + + layer_data->device_dispatch_table.CmdSetRenderingInputAttachmentIndicesKHR(commandBuffer, pLocationInfo); +} + VkResult DispatchWaitForPresentKHR(VkDevice device, VkSwapchainKHR swapchain, uint64_t presentId, uint64_t timeout) { auto layer_data = GetLayerDataPtr(get_dispatch_key(device), layer_data_map); if (!wrap_handles) return layer_data->device_dispatch_table.WaitForPresentKHR(device, swapchain, presentId, timeout); @@ -5070,6 +5084,12 @@ VkResult DispatchGetPhysicalDeviceCooperativeMatrixPropertiesKHR(VkPhysicalDevic return result; } +void DispatchCmdSetLineStippleKHR(VkCommandBuffer commandBuffer, uint32_t lineStippleFactor, uint16_t lineStipplePattern) { + auto layer_data = GetLayerDataPtr(get_dispatch_key(commandBuffer), layer_data_map); + + layer_data->device_dispatch_table.CmdSetLineStippleKHR(commandBuffer, lineStippleFactor, lineStipplePattern); +} + VkResult DispatchGetPhysicalDeviceCalibrateableTimeDomainsKHR(VkPhysicalDevice physicalDevice, uint32_t* pTimeDomainCount, VkTimeDomainKHR* pTimeDomains) { auto layer_data = GetLayerDataPtr(get_dispatch_key(physicalDevice), layer_data_map); @@ -8234,12 +8254,6 @@ VkDeviceAddress DispatchGetPipelineIndirectDeviceAddressNV(VkDevice device, cons return result; } -void DispatchCmdSetTessellationDomainOriginEXT(VkCommandBuffer commandBuffer, VkTessellationDomainOrigin domainOrigin) { - auto layer_data = GetLayerDataPtr(get_dispatch_key(commandBuffer), layer_data_map); - - layer_data->device_dispatch_table.CmdSetTessellationDomainOriginEXT(commandBuffer, domainOrigin); -} - void DispatchCmdSetDepthClampEnableEXT(VkCommandBuffer commandBuffer, VkBool32 depthClampEnable) { auto layer_data = GetLayerDataPtr(get_dispatch_key(commandBuffer), layer_data_map); @@ -8305,6 +8319,12 @@ void DispatchCmdSetColorWriteMaskEXT(VkCommandBuffer commandBuffer, uint32_t fir layer_data->device_dispatch_table.CmdSetColorWriteMaskEXT(commandBuffer, firstAttachment, attachmentCount, pColorWriteMasks); } +void DispatchCmdSetTessellationDomainOriginEXT(VkCommandBuffer commandBuffer, VkTessellationDomainOrigin domainOrigin) { + auto layer_data = GetLayerDataPtr(get_dispatch_key(commandBuffer), layer_data_map); + + layer_data->device_dispatch_table.CmdSetTessellationDomainOriginEXT(commandBuffer, domainOrigin); +} + void DispatchCmdSetRasterizationStreamEXT(VkCommandBuffer commandBuffer, uint32_t rasterizationStream) { auto layer_data = GetLayerDataPtr(get_dispatch_key(commandBuffer), layer_data_map); diff --git a/layers/vulkan/generated/layer_chassis_dispatch.h b/layers/vulkan/generated/layer_chassis_dispatch.h index 9c7d4e96356..6448a48c3f7 100644 --- a/layers/vulkan/generated/layer_chassis_dispatch.h +++ b/layers/vulkan/generated/layer_chassis_dispatch.h @@ -3,9 +3,9 @@ /*************************************************************************** * - * Copyright (c) 2015-2023 The Khronos Group Inc. - * Copyright (c) 2015-2023 Valve Corporation - * Copyright (c) 2015-2023 LunarG, Inc. + * Copyright (c) 2015-2024 The Khronos Group Inc. + * Copyright (c) 2015-2024 Valve Corporation + * Copyright (c) 2015-2024 LunarG, Inc. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. @@ -585,6 +585,10 @@ VkResult DispatchGetPhysicalDeviceFragmentShadingRatesKHR(VkPhysicalDevice physi VkPhysicalDeviceFragmentShadingRateKHR* pFragmentShadingRates); void DispatchCmdSetFragmentShadingRateKHR(VkCommandBuffer commandBuffer, const VkExtent2D* pFragmentSize, const VkFragmentShadingRateCombinerOpKHR combinerOps[2]); +void DispatchCmdSetRenderingAttachmentLocationsKHR(VkCommandBuffer commandBuffer, + const VkRenderingAttachmentLocationInfoKHR* pLocationInfo); +void DispatchCmdSetRenderingInputAttachmentIndicesKHR(VkCommandBuffer commandBuffer, + const VkRenderingInputAttachmentIndexInfoKHR* pLocationInfo); VkResult DispatchWaitForPresentKHR(VkDevice device, VkSwapchainKHR swapchain, uint64_t presentId, uint64_t timeout); VkDeviceAddress DispatchGetBufferDeviceAddressKHR(VkDevice device, const VkBufferDeviceAddressInfo* pInfo); uint64_t DispatchGetBufferOpaqueCaptureAddressKHR(VkDevice device, const VkBufferDeviceAddressInfo* pInfo); @@ -648,6 +652,7 @@ void DispatchGetImageSubresourceLayout2KHR(VkDevice device, VkImage image, const VkSubresourceLayout2KHR* pLayout); VkResult DispatchGetPhysicalDeviceCooperativeMatrixPropertiesKHR(VkPhysicalDevice physicalDevice, uint32_t* pPropertyCount, VkCooperativeMatrixPropertiesKHR* pProperties); +void DispatchCmdSetLineStippleKHR(VkCommandBuffer commandBuffer, uint32_t lineStippleFactor, uint16_t lineStipplePattern); VkResult DispatchGetPhysicalDeviceCalibrateableTimeDomainsKHR(VkPhysicalDevice physicalDevice, uint32_t* pTimeDomainCount, VkTimeDomainKHR* pTimeDomains); VkResult DispatchGetCalibratedTimestampsKHR(VkDevice device, uint32_t timestampCount, @@ -1092,7 +1097,6 @@ void DispatchGetPipelineIndirectMemoryRequirementsNV(VkDevice device, const VkCo void DispatchCmdUpdatePipelineIndirectBufferNV(VkCommandBuffer commandBuffer, VkPipelineBindPoint pipelineBindPoint, VkPipeline pipeline); VkDeviceAddress DispatchGetPipelineIndirectDeviceAddressNV(VkDevice device, const VkPipelineIndirectDeviceAddressInfoNV* pInfo); -void DispatchCmdSetTessellationDomainOriginEXT(VkCommandBuffer commandBuffer, VkTessellationDomainOrigin domainOrigin); void DispatchCmdSetDepthClampEnableEXT(VkCommandBuffer commandBuffer, VkBool32 depthClampEnable); void DispatchCmdSetPolygonModeEXT(VkCommandBuffer commandBuffer, VkPolygonMode polygonMode); void DispatchCmdSetRasterizationSamplesEXT(VkCommandBuffer commandBuffer, VkSampleCountFlagBits rasterizationSamples); @@ -1106,6 +1110,7 @@ void DispatchCmdSetColorBlendEquationEXT(VkCommandBuffer commandBuffer, uint32_t const VkColorBlendEquationEXT* pColorBlendEquations); void DispatchCmdSetColorWriteMaskEXT(VkCommandBuffer commandBuffer, uint32_t firstAttachment, uint32_t attachmentCount, const VkColorComponentFlags* pColorWriteMasks); +void DispatchCmdSetTessellationDomainOriginEXT(VkCommandBuffer commandBuffer, VkTessellationDomainOrigin domainOrigin); void DispatchCmdSetRasterizationStreamEXT(VkCommandBuffer commandBuffer, uint32_t rasterizationStream); void DispatchCmdSetConservativeRasterizationModeEXT(VkCommandBuffer commandBuffer, VkConservativeRasterizationModeEXT conservativeRasterizationMode); diff --git a/layers/vulkan/generated/object_tracker.cpp b/layers/vulkan/generated/object_tracker.cpp index ca098b98783..8b766fc0aff 100644 --- a/layers/vulkan/generated/object_tracker.cpp +++ b/layers/vulkan/generated/object_tracker.cpp @@ -3833,6 +3833,12 @@ bool ObjectLifetimes::PreCallValidateSignalSemaphoreKHR(VkDevice device, const V // vkCmdSetFragmentShadingRateKHR: // Checked by chassis: commandBuffer: "VUID-vkCmdSetFragmentShadingRateKHR-commandBuffer-parameter" +// vkCmdSetRenderingAttachmentLocationsKHR: +// Checked by chassis: commandBuffer: "VUID-vkCmdSetRenderingAttachmentLocationsKHR-commandBuffer-parameter" + +// vkCmdSetRenderingInputAttachmentIndicesKHR: +// Checked by chassis: commandBuffer: "VUID-vkCmdSetRenderingInputAttachmentIndicesKHR-commandBuffer-parameter" + bool ObjectLifetimes::PreCallValidateWaitForPresentKHR(VkDevice device, VkSwapchainKHR swapchain, uint64_t presentId, uint64_t timeout, const ErrorObject& error_obj) const { bool skip = false; @@ -4189,6 +4195,9 @@ bool ObjectLifetimes::PreCallValidateGetImageSubresourceLayout2KHR(VkDevice devi // vkGetPhysicalDeviceCooperativeMatrixPropertiesKHR: // Checked by chassis: physicalDevice: "VUID-vkGetPhysicalDeviceCooperativeMatrixPropertiesKHR-physicalDevice-parameter" +// vkCmdSetLineStippleKHR: +// Checked by chassis: commandBuffer: "VUID-vkCmdSetLineStippleKHR-commandBuffer-parameter" + // vkGetPhysicalDeviceCalibrateableTimeDomainsKHR: // Checked by chassis: physicalDevice: "VUID-vkGetPhysicalDeviceCalibrateableTimeDomainsKHR-physicalDevice-parameter" @@ -5701,7 +5710,7 @@ void ObjectLifetimes::PostCallRecordCreateHeadlessSurfaceEXT(VkInstance instance } // vkCmdSetLineStippleEXT: -// Checked by chassis: commandBuffer: "VUID-vkCmdSetLineStippleEXT-commandBuffer-parameter" +// Checked by chassis: commandBuffer: "VUID-vkCmdSetLineStippleKHR-commandBuffer-parameter" bool ObjectLifetimes::PreCallValidateResetQueryPoolEXT(VkDevice device, VkQueryPool queryPool, uint32_t firstQuery, uint32_t queryCount, const ErrorObject& error_obj) const { @@ -6920,9 +6929,6 @@ bool ObjectLifetimes::PreCallValidateGetPipelineIndirectDeviceAddressNV(VkDevice return skip; } -// vkCmdSetTessellationDomainOriginEXT: -// Checked by chassis: commandBuffer: "VUID-vkCmdSetTessellationDomainOriginEXT-commandBuffer-parameter" - // vkCmdSetDepthClampEnableEXT: // Checked by chassis: commandBuffer: "VUID-vkCmdSetDepthClampEnableEXT-commandBuffer-parameter" @@ -6953,6 +6959,9 @@ bool ObjectLifetimes::PreCallValidateGetPipelineIndirectDeviceAddressNV(VkDevice // vkCmdSetColorWriteMaskEXT: // Checked by chassis: commandBuffer: "VUID-vkCmdSetColorWriteMaskEXT-commandBuffer-parameter" +// vkCmdSetTessellationDomainOriginEXT: +// Checked by chassis: commandBuffer: "VUID-vkCmdSetTessellationDomainOriginEXT-commandBuffer-parameter" + // vkCmdSetRasterizationStreamEXT: // Checked by chassis: commandBuffer: "VUID-vkCmdSetRasterizationStreamEXT-commandBuffer-parameter" @@ -7145,7 +7154,7 @@ bool ObjectLifetimes::PreCallValidateDestroyShaderEXT(VkDevice device, VkShaderE const ErrorObject& error_obj) const { bool skip = false; // Checked by chassis: device: "VUID-vkDestroyShaderEXT-device-parameter" - skip |= ValidateObject(shader, kVulkanObjectTypeShaderEXT, false, "VUID-vkDestroyShaderEXT-shader-parameter", + skip |= ValidateObject(shader, kVulkanObjectTypeShaderEXT, true, "VUID-vkDestroyShaderEXT-shader-parameter", "VUID-vkDestroyShaderEXT-shader-parent", error_obj.location.dot(Field::shader)); skip |= ValidateDestroyObject(shader, kVulkanObjectTypeShaderEXT, pAllocator, "VUID-vkDestroyShaderEXT-pAllocator-08483", "VUID-vkDestroyShaderEXT-pAllocator-08484", error_obj.location); diff --git a/layers/vulkan/generated/pnext_chain_extraction.cpp b/layers/vulkan/generated/pnext_chain_extraction.cpp index 6675d357320..82251122163 100644 --- a/layers/vulkan/generated/pnext_chain_extraction.cpp +++ b/layers/vulkan/generated/pnext_chain_extraction.cpp @@ -3,9 +3,9 @@ /*************************************************************************** * - * Copyright (c) 2023 The Khronos Group Inc. - * Copyright (c) 2023 Valve Corporation - * Copyright (c) 2023 LunarG, Inc. + * Copyright (c) 2023-2024 The Khronos Group Inc. + * Copyright (c) 2023-2024 Valve Corporation + * Copyright (c) 2023-2024 LunarG, Inc. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. @@ -988,6 +988,26 @@ void PnextChainFree(void *chain) { header->pNext = nullptr; delete reinterpret_cast(header); break; + case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DYNAMIC_RENDERING_LOCAL_READ_FEATURES_KHR: + PnextChainFree(header->pNext); + header->pNext = nullptr; + delete reinterpret_cast(header); + break; + case VK_STRUCTURE_TYPE_RENDERING_ATTACHMENT_LOCATION_INFO_KHR: + PnextChainFree(header->pNext); + header->pNext = nullptr; + delete reinterpret_cast(header); + break; + case VK_STRUCTURE_TYPE_RENDERING_INPUT_ATTACHMENT_INDEX_INFO_KHR: + PnextChainFree(header->pNext); + header->pNext = nullptr; + delete reinterpret_cast(header); + break; + case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_QUAD_CONTROL_FEATURES_KHR: + PnextChainFree(header->pNext); + header->pNext = nullptr; + delete reinterpret_cast(header); + break; case VK_STRUCTURE_TYPE_SURFACE_PROTECTED_CAPABILITIES_KHR: PnextChainFree(header->pNext); header->pNext = nullptr; @@ -1073,6 +1093,16 @@ void PnextChainFree(void *chain) { header->pNext = nullptr; delete reinterpret_cast(header); break; + case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_SUBGROUP_ROTATE_FEATURES_KHR: + PnextChainFree(header->pNext); + header->pNext = nullptr; + delete reinterpret_cast(header); + break; + case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_MAXIMAL_RECONVERGENCE_FEATURES_KHR: + PnextChainFree(header->pNext); + header->pNext = nullptr; + delete reinterpret_cast(header); + break; case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MAINTENANCE_5_FEATURES_KHR: PnextChainFree(header->pNext); header->pNext = nullptr; @@ -1133,6 +1163,36 @@ void PnextChainFree(void *chain) { header->pNext = nullptr; delete reinterpret_cast(header); break; + case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_FLOAT_CONTROLS_2_FEATURES_KHR: + PnextChainFree(header->pNext); + header->pNext = nullptr; + delete reinterpret_cast(header); + break; + case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_INDEX_TYPE_UINT8_FEATURES_KHR: + PnextChainFree(header->pNext); + header->pNext = nullptr; + delete reinterpret_cast(header); + break; + case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_LINE_RASTERIZATION_FEATURES_KHR: + PnextChainFree(header->pNext); + header->pNext = nullptr; + delete reinterpret_cast(header); + break; + case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_LINE_RASTERIZATION_PROPERTIES_KHR: + PnextChainFree(header->pNext); + header->pNext = nullptr; + delete reinterpret_cast(header); + break; + case VK_STRUCTURE_TYPE_PIPELINE_RASTERIZATION_LINE_STATE_CREATE_INFO_KHR: + PnextChainFree(header->pNext); + header->pNext = nullptr; + delete reinterpret_cast(header); + break; + case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_EXPECT_ASSUME_FEATURES_KHR: + PnextChainFree(header->pNext); + header->pNext = nullptr; + delete reinterpret_cast(header); + break; case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MAINTENANCE_6_FEATURES_KHR: PnextChainFree(header->pNext); header->pNext = nullptr; @@ -1738,31 +1798,11 @@ void PnextChainFree(void *chain) { delete reinterpret_cast(header); break; #endif // VK_USE_PLATFORM_WIN32_KHR - case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_LINE_RASTERIZATION_FEATURES_EXT: - PnextChainFree(header->pNext); - header->pNext = nullptr; - delete reinterpret_cast(header); - break; - case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_LINE_RASTERIZATION_PROPERTIES_EXT: - PnextChainFree(header->pNext); - header->pNext = nullptr; - delete reinterpret_cast(header); - break; - case VK_STRUCTURE_TYPE_PIPELINE_RASTERIZATION_LINE_STATE_CREATE_INFO_EXT: - PnextChainFree(header->pNext); - header->pNext = nullptr; - delete reinterpret_cast(header); - break; case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_ATOMIC_FLOAT_FEATURES_EXT: PnextChainFree(header->pNext); header->pNext = nullptr; delete reinterpret_cast(header); break; - case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_INDEX_TYPE_UINT8_FEATURES_EXT: - PnextChainFree(header->pNext); - header->pNext = nullptr; - delete reinterpret_cast(header); - break; case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTENDED_DYNAMIC_STATE_FEATURES_EXT: PnextChainFree(header->pNext); header->pNext = nullptr; diff --git a/layers/vulkan/generated/pnext_chain_extraction.h b/layers/vulkan/generated/pnext_chain_extraction.h index d07761f573d..99d721f4444 100644 --- a/layers/vulkan/generated/pnext_chain_extraction.h +++ b/layers/vulkan/generated/pnext_chain_extraction.h @@ -3,9 +3,9 @@ /*************************************************************************** * - * Copyright (c) 2023 The Khronos Group Inc. - * Copyright (c) 2023 Valve Corporation - * Copyright (c) 2023 LunarG, Inc. + * Copyright (c) 2023-2024 The Khronos Group Inc. + * Copyright (c) 2023-2024 Valve Corporation + * Copyright (c) 2023-2024 LunarG, Inc. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/layers/vulkan/generated/spirv_validation_helper.cpp b/layers/vulkan/generated/spirv_validation_helper.cpp index e81202abdee..1f282baaa5a 100644 --- a/layers/vulkan/generated/spirv_validation_helper.cpp +++ b/layers/vulkan/generated/spirv_validation_helper.cpp @@ -244,6 +244,12 @@ static const std::unordered_multimap spirvCapabilit {spv::CapabilityCooperativeMatrixKHR, {0, &DeviceFeatures::cooperativeMatrix, nullptr, ""}}, // Not found in current SPIR-V Headers // {spv::CapabilityShaderEnqueueAMDX, {0, &DeviceFeatures::shaderEnqueue, nullptr, ""}}, + {spv::CapabilityGroupNonUniformRotateKHR, {0, &DeviceFeatures::shaderSubgroupRotate, nullptr, ""}}, + {spv::CapabilityExpectAssumeKHR, {0, &DeviceFeatures::shaderExpectAssume, nullptr, ""}}, + // Not found in current SPIR-V Headers + // {spv::CapabilityFloatControls2, {0, &DeviceFeatures::shaderFloatControls2, nullptr, ""}}, + // Not found in current SPIR-V Headers + // {spv::CapabilityQuadControlKHR, {0, &DeviceFeatures::shaderQuadControl, nullptr, ""}}, }; // clang-format on @@ -342,6 +348,11 @@ static const std::unordered_multimap spirvE {"SPV_HUAWEI_cluster_culling_shader", {0, nullptr, &DeviceExtensions::vk_huawei_cluster_culling_shader, ""}}, {"SPV_HUAWEI_subpass_shading", {0, nullptr, &DeviceExtensions::vk_huawei_subpass_shading, ""}}, {"SPV_NV_ray_tracing_motion_blur", {0, nullptr, &DeviceExtensions::vk_nv_ray_tracing_motion_blur, ""}}, + {"SPV_KHR_maximal_reconvergence", {0, nullptr, &DeviceExtensions::vk_khr_shader_maximal_reconvergence, ""}}, + {"SPV_KHR_subgroup_rotate", {0, nullptr, &DeviceExtensions::vk_khr_shader_subgroup_rotate, ""}}, + {"SPV_KHR_expect_assume", {0, nullptr, &DeviceExtensions::vk_khr_shader_expect_assume, ""}}, + {"SPV_KHR_float_controls2", {0, nullptr, &DeviceExtensions::vk_khr_shader_float_controls2, ""}}, + {"SPV_KHR_quad_control", {0, nullptr, &DeviceExtensions::vk_khr_shader_quad_control, ""}}, }; // clang-format on @@ -633,6 +644,10 @@ static inline const char *string_SpvCapability(uint32_t input_value) { return "TileImageStencilReadAccessEXT"; case spv::CapabilityCooperativeMatrixKHR: return "CooperativeMatrixKHR"; + case spv::CapabilityGroupNonUniformRotateKHR: + return "GroupNonUniformRotateKHR"; + case spv::CapabilityExpectAssumeKHR: + return "ExpectAssumeKHR"; default: return "Unhandled OpCapability"; }; @@ -880,6 +895,8 @@ static inline const char* SpvCapabilityRequirements(uint32_t capability) { {spv::CapabilityTileImageDepthReadAccessEXT, "VkPhysicalDeviceShaderTileImageFeaturesEXT::shaderTileImageDepthReadAccess"}, {spv::CapabilityTileImageStencilReadAccessEXT, "VkPhysicalDeviceShaderTileImageFeaturesEXT::shaderTileImageStencilReadAccess"}, {spv::CapabilityCooperativeMatrixKHR, "VkPhysicalDeviceCooperativeMatrixFeaturesKHR::cooperativeMatrix"}, + {spv::CapabilityGroupNonUniformRotateKHR, "VkPhysicalDeviceShaderSubgroupRotateFeaturesKHR::shaderSubgroupRotate"}, + {spv::CapabilityExpectAssumeKHR, "VkPhysicalDeviceShaderExpectAssumeFeaturesKHR::shaderExpectAssume"}, }; // VUs before catch unknown capabilities @@ -967,6 +984,11 @@ static inline const char* SpvExtensionRequirments(std::string_view extension) { {"SPV_HUAWEI_cluster_culling_shader", "VK_HUAWEI_cluster_culling_shader"}, {"SPV_HUAWEI_subpass_shading", "VK_HUAWEI_subpass_shading"}, {"SPV_NV_ray_tracing_motion_blur", "VK_NV_ray_tracing_motion_blur"}, + {"SPV_KHR_maximal_reconvergence", "VK_KHR_shader_maximal_reconvergence"}, + {"SPV_KHR_subgroup_rotate", "VK_KHR_shader_subgroup_rotate"}, + {"SPV_KHR_expect_assume", "VK_KHR_shader_expect_assume"}, + {"SPV_KHR_float_controls2", "VK_KHR_shader_float_controls2"}, + {"SPV_KHR_quad_control", "VK_KHR_shader_quad_control"}, }; // VUs before catch unknown extensions diff --git a/layers/vulkan/generated/state_tracker_helper.cpp b/layers/vulkan/generated/state_tracker_helper.cpp index bdc4214cb40..b0ffe307725 100644 --- a/layers/vulkan/generated/state_tracker_helper.cpp +++ b/layers/vulkan/generated/state_tracker_helper.cpp @@ -3,8 +3,8 @@ /*************************************************************************** * - * Copyright (c) 2023 Google Inc. - * Copyright (c) 2023 LunarG, Inc. + * Copyright (c) 2023-2024 Google Inc. + * Copyright (c) 2023-2024 LunarG, Inc. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. @@ -498,6 +498,18 @@ void GetEnabledDeviceFeatures(const VkDeviceCreateInfo *pCreateInfo, DeviceFeatu features->attachmentFragmentShadingRate |= enabled->attachmentFragmentShadingRate == VK_TRUE; break; } + case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DYNAMIC_RENDERING_LOCAL_READ_FEATURES_KHR: { + const VkPhysicalDeviceDynamicRenderingLocalReadFeaturesKHR *enabled = + reinterpret_cast(pNext); + features->dynamicRenderingLocalRead |= enabled->dynamicRenderingLocalRead == VK_TRUE; + break; + } + case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_QUAD_CONTROL_FEATURES_KHR: { + const VkPhysicalDeviceShaderQuadControlFeaturesKHR *enabled = + reinterpret_cast(pNext); + features->shaderQuadControl |= enabled->shaderQuadControl == VK_TRUE; + break; + } case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PRESENT_WAIT_FEATURES_KHR: { const VkPhysicalDevicePresentWaitFeaturesKHR *enabled = reinterpret_cast(pNext); @@ -545,6 +557,19 @@ void GetEnabledDeviceFeatures(const VkDeviceCreateInfo *pCreateInfo, DeviceFeatu features->rayTracingPipelineTraceRaysIndirect2 |= enabled->rayTracingPipelineTraceRaysIndirect2 == VK_TRUE; break; } + case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_SUBGROUP_ROTATE_FEATURES_KHR: { + const VkPhysicalDeviceShaderSubgroupRotateFeaturesKHR *enabled = + reinterpret_cast(pNext); + features->shaderSubgroupRotate |= enabled->shaderSubgroupRotate == VK_TRUE; + features->shaderSubgroupRotateClustered |= enabled->shaderSubgroupRotateClustered == VK_TRUE; + break; + } + case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_MAXIMAL_RECONVERGENCE_FEATURES_KHR: { + const VkPhysicalDeviceShaderMaximalReconvergenceFeaturesKHR *enabled = + reinterpret_cast(pNext); + features->shaderMaximalReconvergence |= enabled->shaderMaximalReconvergence == VK_TRUE; + break; + } case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MAINTENANCE_5_FEATURES_KHR: { const VkPhysicalDeviceMaintenance5FeaturesKHR *enabled = reinterpret_cast(pNext); @@ -577,6 +602,35 @@ void GetEnabledDeviceFeatures(const VkDeviceCreateInfo *pCreateInfo, DeviceFeatu features->vertexAttributeInstanceRateZeroDivisor |= enabled->vertexAttributeInstanceRateZeroDivisor == VK_TRUE; break; } + case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_FLOAT_CONTROLS_2_FEATURES_KHR: { + const VkPhysicalDeviceShaderFloatControls2FeaturesKHR *enabled = + reinterpret_cast(pNext); + features->shaderFloatControls2 |= enabled->shaderFloatControls2 == VK_TRUE; + break; + } + case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_INDEX_TYPE_UINT8_FEATURES_KHR: { + const VkPhysicalDeviceIndexTypeUint8FeaturesKHR *enabled = + reinterpret_cast(pNext); + features->indexTypeUint8 |= enabled->indexTypeUint8 == VK_TRUE; + break; + } + case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_LINE_RASTERIZATION_FEATURES_KHR: { + const VkPhysicalDeviceLineRasterizationFeaturesKHR *enabled = + reinterpret_cast(pNext); + features->rectangularLines |= enabled->rectangularLines == VK_TRUE; + features->bresenhamLines |= enabled->bresenhamLines == VK_TRUE; + features->smoothLines |= enabled->smoothLines == VK_TRUE; + features->stippledRectangularLines |= enabled->stippledRectangularLines == VK_TRUE; + features->stippledBresenhamLines |= enabled->stippledBresenhamLines == VK_TRUE; + features->stippledSmoothLines |= enabled->stippledSmoothLines == VK_TRUE; + break; + } + case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_EXPECT_ASSUME_FEATURES_KHR: { + const VkPhysicalDeviceShaderExpectAssumeFeaturesKHR *enabled = + reinterpret_cast(pNext); + features->shaderExpectAssume |= enabled->shaderExpectAssume == VK_TRUE; + break; + } case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MAINTENANCE_6_FEATURES_KHR: { const VkPhysicalDeviceMaintenance6FeaturesKHR *enabled = reinterpret_cast(pNext); @@ -768,17 +822,6 @@ void GetEnabledDeviceFeatures(const VkDeviceCreateInfo *pCreateInfo, DeviceFeatu enabled->transformFeedbackPreservesProvokingVertex == VK_TRUE; break; } - case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_LINE_RASTERIZATION_FEATURES_EXT: { - const VkPhysicalDeviceLineRasterizationFeaturesEXT *enabled = - reinterpret_cast(pNext); - features->rectangularLines |= enabled->rectangularLines == VK_TRUE; - features->bresenhamLines |= enabled->bresenhamLines == VK_TRUE; - features->smoothLines |= enabled->smoothLines == VK_TRUE; - features->stippledRectangularLines |= enabled->stippledRectangularLines == VK_TRUE; - features->stippledBresenhamLines |= enabled->stippledBresenhamLines == VK_TRUE; - features->stippledSmoothLines |= enabled->stippledSmoothLines == VK_TRUE; - break; - } case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_ATOMIC_FLOAT_FEATURES_EXT: { const VkPhysicalDeviceShaderAtomicFloatFeaturesEXT *enabled = reinterpret_cast(pNext); @@ -796,12 +839,6 @@ void GetEnabledDeviceFeatures(const VkDeviceCreateInfo *pCreateInfo, DeviceFeatu features->sparseImageFloat32AtomicAdd |= enabled->sparseImageFloat32AtomicAdd == VK_TRUE; break; } - case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_INDEX_TYPE_UINT8_FEATURES_EXT: { - const VkPhysicalDeviceIndexTypeUint8FeaturesEXT *enabled = - reinterpret_cast(pNext); - features->indexTypeUint8 |= enabled->indexTypeUint8 == VK_TRUE; - break; - } case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTENDED_DYNAMIC_STATE_FEATURES_EXT: { const VkPhysicalDeviceExtendedDynamicStateFeaturesEXT *enabled = reinterpret_cast(pNext); diff --git a/layers/vulkan/generated/state_tracker_helper.h b/layers/vulkan/generated/state_tracker_helper.h index ecbcab58097..58ee5d4bfc3 100644 --- a/layers/vulkan/generated/state_tracker_helper.h +++ b/layers/vulkan/generated/state_tracker_helper.h @@ -3,8 +3,8 @@ /*************************************************************************** * - * Copyright (c) 2023 Google Inc. - * Copyright (c) 2023 LunarG, Inc. + * Copyright (c) 2023-2024 Google Inc. + * Copyright (c) 2023-2024 LunarG, Inc. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. @@ -203,6 +203,8 @@ struct DeviceFeatures { bool displacementMicromap; // VkPhysicalDeviceDynamicRenderingFeatures, VkPhysicalDeviceVulkan13Features bool dynamicRendering; + // VkPhysicalDeviceDynamicRenderingLocalReadFeaturesKHR + bool dynamicRenderingLocalRead; // VkPhysicalDeviceDynamicRenderingUnusedAttachmentsFeaturesEXT bool dynamicRenderingUnusedAttachments; // VkPhysicalDeviceExclusiveScissorFeaturesNV @@ -463,7 +465,7 @@ struct DeviceFeatures { bool minLod; // VkPhysicalDeviceImagelessFramebufferFeatures, VkPhysicalDeviceVulkan12Features bool imagelessFramebuffer; - // VkPhysicalDeviceIndexTypeUint8FeaturesEXT + // VkPhysicalDeviceIndexTypeUint8FeaturesKHR bool indexTypeUint8; // VkPhysicalDeviceInheritedViewportScissorFeaturesNV bool inheritedViewportScissor2D; @@ -475,17 +477,17 @@ struct DeviceFeatures { bool invocationMask; // VkPhysicalDeviceLegacyDitheringFeaturesEXT bool legacyDithering; - // VkPhysicalDeviceLineRasterizationFeaturesEXT + // VkPhysicalDeviceLineRasterizationFeaturesKHR bool bresenhamLines; - // VkPhysicalDeviceLineRasterizationFeaturesEXT + // VkPhysicalDeviceLineRasterizationFeaturesKHR bool rectangularLines; - // VkPhysicalDeviceLineRasterizationFeaturesEXT + // VkPhysicalDeviceLineRasterizationFeaturesKHR bool smoothLines; - // VkPhysicalDeviceLineRasterizationFeaturesEXT + // VkPhysicalDeviceLineRasterizationFeaturesKHR bool stippledBresenhamLines; - // VkPhysicalDeviceLineRasterizationFeaturesEXT + // VkPhysicalDeviceLineRasterizationFeaturesKHR bool stippledRectangularLines; - // VkPhysicalDeviceLineRasterizationFeaturesEXT + // VkPhysicalDeviceLineRasterizationFeaturesKHR bool stippledSmoothLines; // VkPhysicalDeviceLinearColorAttachmentFeaturesNV bool linearColorAttachment; @@ -735,10 +737,14 @@ struct DeviceFeatures { bool shaderEarlyAndLateFragmentTests; // VkPhysicalDeviceShaderEnqueueFeaturesAMDX bool shaderEnqueue; + // VkPhysicalDeviceShaderExpectAssumeFeaturesKHR + bool shaderExpectAssume; // VkPhysicalDeviceShaderFloat16Int8Features, VkPhysicalDeviceVulkan12Features bool shaderFloat16; // VkPhysicalDeviceShaderFloat16Int8Features, VkPhysicalDeviceVulkan12Features bool shaderInt8; + // VkPhysicalDeviceShaderFloatControls2FeaturesKHR + bool shaderFloatControls2; // VkPhysicalDeviceShaderImageAtomicInt64FeaturesEXT bool shaderImageInt64Atomics; // VkPhysicalDeviceShaderImageAtomicInt64FeaturesEXT @@ -749,14 +755,22 @@ struct DeviceFeatures { bool shaderIntegerDotProduct; // VkPhysicalDeviceShaderIntegerFunctions2FeaturesINTEL bool shaderIntegerFunctions2; + // VkPhysicalDeviceShaderMaximalReconvergenceFeaturesKHR + bool shaderMaximalReconvergence; // VkPhysicalDeviceShaderModuleIdentifierFeaturesEXT bool shaderModuleIdentifier; // VkPhysicalDeviceShaderObjectFeaturesEXT bool shaderObject; + // VkPhysicalDeviceShaderQuadControlFeaturesKHR + bool shaderQuadControl; // VkPhysicalDeviceShaderSMBuiltinsFeaturesNV bool shaderSMBuiltins; // VkPhysicalDeviceShaderSubgroupExtendedTypesFeatures, VkPhysicalDeviceVulkan12Features bool shaderSubgroupExtendedTypes; + // VkPhysicalDeviceShaderSubgroupRotateFeaturesKHR + bool shaderSubgroupRotate; + // VkPhysicalDeviceShaderSubgroupRotateFeaturesKHR + bool shaderSubgroupRotateClustered; // VkPhysicalDeviceShaderSubgroupUniformControlFlowFeaturesKHR bool shaderSubgroupUniformControlFlow; // VkPhysicalDeviceShaderTerminateInvocationFeatures, VkPhysicalDeviceVulkan13Features diff --git a/layers/vulkan/generated/stateless_validation_helper.cpp b/layers/vulkan/generated/stateless_validation_helper.cpp index 0085b1da92d..bd17188d954 100644 --- a/layers/vulkan/generated/stateless_validation_helper.cpp +++ b/layers/vulkan/generated/stateless_validation_helper.cpp @@ -3255,6 +3255,47 @@ bool StatelessValidation::ValidatePnextStructContents(const Location& loc, const // No Validation code for VkPhysicalDeviceFragmentShadingRatePropertiesKHR structure members -- Covers // VUID-VkPhysicalDeviceFragmentShadingRatePropertiesKHR-sType-sType + // Validation code for VkPhysicalDeviceDynamicRenderingLocalReadFeaturesKHR structure members + case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DYNAMIC_RENDERING_LOCAL_READ_FEATURES_KHR: { // Covers + // VUID-VkPhysicalDeviceDynamicRenderingLocalReadFeaturesKHR-sType-sType + + if (!IsExtEnabled(device_extensions.vk_khr_dynamic_rendering_local_read)) { + skip |= LogError(pnext_vuid, instance, loc.dot(Field::pNext), + "includes a pointer to a VkPhysicalDeviceDynamicRenderingLocalReadFeaturesKHR, but when creating " + "VkDevice, the parent extension " + "(VK_KHR_dynamic_rendering_local_read) was not included in ppEnabledExtensionNames."); + } + if (is_const_param) { + [[maybe_unused]] const Location pNext_loc = loc.pNext(Struct::VkPhysicalDeviceDynamicRenderingLocalReadFeaturesKHR); + VkPhysicalDeviceDynamicRenderingLocalReadFeaturesKHR* structure = + (VkPhysicalDeviceDynamicRenderingLocalReadFeaturesKHR*)header; + skip |= ValidateBool32(pNext_loc.dot(Field::dynamicRenderingLocalRead), structure->dynamicRenderingLocalRead); + } + } break; + + // No Validation code for VkRenderingAttachmentLocationInfoKHR structure members -- Covers + // VUID-VkRenderingAttachmentLocationInfoKHR-sType-sType + + // No Validation code for VkRenderingInputAttachmentIndexInfoKHR structure members -- Covers + // VUID-VkRenderingInputAttachmentIndexInfoKHR-sType-sType + + // Validation code for VkPhysicalDeviceShaderQuadControlFeaturesKHR structure members + case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_QUAD_CONTROL_FEATURES_KHR: { // Covers + // VUID-VkPhysicalDeviceShaderQuadControlFeaturesKHR-sType-sType + + if (!IsExtEnabled(device_extensions.vk_khr_shader_quad_control)) { + skip |= LogError(pnext_vuid, instance, loc.dot(Field::pNext), + "includes a pointer to a VkPhysicalDeviceShaderQuadControlFeaturesKHR, but when creating " + "VkDevice, the parent extension " + "(VK_KHR_shader_quad_control) was not included in ppEnabledExtensionNames."); + } + if (is_const_param) { + [[maybe_unused]] const Location pNext_loc = loc.pNext(Struct::VkPhysicalDeviceShaderQuadControlFeaturesKHR); + VkPhysicalDeviceShaderQuadControlFeaturesKHR* structure = (VkPhysicalDeviceShaderQuadControlFeaturesKHR*)header; + skip |= ValidateBool32(pNext_loc.dot(Field::shaderQuadControl), structure->shaderQuadControl); + } + } break; + // Validation code for VkSurfaceProtectedCapabilitiesKHR structure members case VK_STRUCTURE_TYPE_SURFACE_PROTECTED_CAPABILITIES_KHR: { // Covers VUID-VkSurfaceProtectedCapabilitiesKHR-sType-sType if (is_const_param) { @@ -3499,6 +3540,46 @@ bool StatelessValidation::ValidatePnextStructContents(const Location& loc, const } } break; + // Validation code for VkPhysicalDeviceShaderSubgroupRotateFeaturesKHR structure members + case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_SUBGROUP_ROTATE_FEATURES_KHR: { // Covers + // VUID-VkPhysicalDeviceShaderSubgroupRotateFeaturesKHR-sType-sType + + if (!IsExtEnabled(device_extensions.vk_khr_shader_subgroup_rotate)) { + skip |= LogError(pnext_vuid, instance, loc.dot(Field::pNext), + "includes a pointer to a VkPhysicalDeviceShaderSubgroupRotateFeaturesKHR, but when creating " + "VkDevice, the parent extension " + "(VK_KHR_shader_subgroup_rotate) was not included in ppEnabledExtensionNames."); + } + if (is_const_param) { + [[maybe_unused]] const Location pNext_loc = loc.pNext(Struct::VkPhysicalDeviceShaderSubgroupRotateFeaturesKHR); + VkPhysicalDeviceShaderSubgroupRotateFeaturesKHR* structure = + (VkPhysicalDeviceShaderSubgroupRotateFeaturesKHR*)header; + skip |= ValidateBool32(pNext_loc.dot(Field::shaderSubgroupRotate), structure->shaderSubgroupRotate); + + skip |= + ValidateBool32(pNext_loc.dot(Field::shaderSubgroupRotateClustered), structure->shaderSubgroupRotateClustered); + } + } break; + + // Validation code for VkPhysicalDeviceShaderMaximalReconvergenceFeaturesKHR structure members + case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_MAXIMAL_RECONVERGENCE_FEATURES_KHR: { // Covers + // VUID-VkPhysicalDeviceShaderMaximalReconvergenceFeaturesKHR-sType-sType + + if (!IsExtEnabled(device_extensions.vk_khr_shader_maximal_reconvergence)) { + skip |= LogError(pnext_vuid, instance, loc.dot(Field::pNext), + "includes a pointer to a VkPhysicalDeviceShaderMaximalReconvergenceFeaturesKHR, but when creating " + "VkDevice, the parent extension " + "(VK_KHR_shader_maximal_reconvergence) was not included in ppEnabledExtensionNames."); + } + if (is_const_param) { + [[maybe_unused]] const Location pNext_loc = + loc.pNext(Struct::VkPhysicalDeviceShaderMaximalReconvergenceFeaturesKHR); + VkPhysicalDeviceShaderMaximalReconvergenceFeaturesKHR* structure = + (VkPhysicalDeviceShaderMaximalReconvergenceFeaturesKHR*)header; + skip |= ValidateBool32(pNext_loc.dot(Field::shaderMaximalReconvergence), structure->shaderMaximalReconvergence); + } + } break; + // Validation code for VkPhysicalDeviceMaintenance5FeaturesKHR structure members case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MAINTENANCE_5_FEATURES_KHR: { // Covers // VUID-VkPhysicalDeviceMaintenance5FeaturesKHR-sType-sType @@ -3650,6 +3731,106 @@ bool StatelessValidation::ValidatePnextStructContents(const Location& loc, const } } break; + // Validation code for VkPhysicalDeviceShaderFloatControls2FeaturesKHR structure members + case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_FLOAT_CONTROLS_2_FEATURES_KHR: { // Covers + // VUID-VkPhysicalDeviceShaderFloatControls2FeaturesKHR-sType-sType + + if (!IsExtEnabled(device_extensions.vk_khr_shader_float_controls2)) { + skip |= LogError(pnext_vuid, instance, loc.dot(Field::pNext), + "includes a pointer to a VkPhysicalDeviceShaderFloatControls2FeaturesKHR, but when creating " + "VkDevice, the parent extension " + "(VK_KHR_shader_float_controls2) was not included in ppEnabledExtensionNames."); + } + if (is_const_param) { + [[maybe_unused]] const Location pNext_loc = loc.pNext(Struct::VkPhysicalDeviceShaderFloatControls2FeaturesKHR); + VkPhysicalDeviceShaderFloatControls2FeaturesKHR* structure = + (VkPhysicalDeviceShaderFloatControls2FeaturesKHR*)header; + skip |= ValidateBool32(pNext_loc.dot(Field::shaderFloatControls2), structure->shaderFloatControls2); + } + } break; + + // Validation code for VkPhysicalDeviceIndexTypeUint8FeaturesKHR structure members + case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_INDEX_TYPE_UINT8_FEATURES_KHR: { // Covers + // VUID-VkPhysicalDeviceIndexTypeUint8FeaturesKHR-sType-sType + + if (!IsExtEnabled(device_extensions.vk_khr_index_type_uint8) && + !IsExtEnabled(device_extensions.vk_ext_index_type_uint8)) { + skip |= + LogError(pnext_vuid, instance, loc.dot(Field::pNext), + "includes a pointer to a VkPhysicalDeviceIndexTypeUint8FeaturesKHR, but when creating VkDevice, the " + "parent extension " + "(VK_KHR_index_type_uint8 or VK_EXT_index_type_uint8) was not included in ppEnabledExtensionNames."); + } + if (is_const_param) { + [[maybe_unused]] const Location pNext_loc = loc.pNext(Struct::VkPhysicalDeviceIndexTypeUint8FeaturesKHR); + VkPhysicalDeviceIndexTypeUint8FeaturesKHR* structure = (VkPhysicalDeviceIndexTypeUint8FeaturesKHR*)header; + skip |= ValidateBool32(pNext_loc.dot(Field::indexTypeUint8), structure->indexTypeUint8); + } + } break; + + // Validation code for VkPhysicalDeviceLineRasterizationFeaturesKHR structure members + case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_LINE_RASTERIZATION_FEATURES_KHR: { // Covers + // VUID-VkPhysicalDeviceLineRasterizationFeaturesKHR-sType-sType + + if (!IsExtEnabled(device_extensions.vk_khr_line_rasterization) && + !IsExtEnabled(device_extensions.vk_ext_line_rasterization)) { + skip |= LogError( + pnext_vuid, instance, loc.dot(Field::pNext), + "includes a pointer to a VkPhysicalDeviceLineRasterizationFeaturesKHR, but when creating VkDevice, the parent " + "extension " + "(VK_KHR_line_rasterization or VK_EXT_line_rasterization) was not included in ppEnabledExtensionNames."); + } + if (is_const_param) { + [[maybe_unused]] const Location pNext_loc = loc.pNext(Struct::VkPhysicalDeviceLineRasterizationFeaturesKHR); + VkPhysicalDeviceLineRasterizationFeaturesKHR* structure = (VkPhysicalDeviceLineRasterizationFeaturesKHR*)header; + skip |= ValidateBool32(pNext_loc.dot(Field::rectangularLines), structure->rectangularLines); + + skip |= ValidateBool32(pNext_loc.dot(Field::bresenhamLines), structure->bresenhamLines); + + skip |= ValidateBool32(pNext_loc.dot(Field::smoothLines), structure->smoothLines); + + skip |= ValidateBool32(pNext_loc.dot(Field::stippledRectangularLines), structure->stippledRectangularLines); + + skip |= ValidateBool32(pNext_loc.dot(Field::stippledBresenhamLines), structure->stippledBresenhamLines); + + skip |= ValidateBool32(pNext_loc.dot(Field::stippledSmoothLines), structure->stippledSmoothLines); + } + } break; + + // No Validation code for VkPhysicalDeviceLineRasterizationPropertiesKHR structure members -- Covers + // VUID-VkPhysicalDeviceLineRasterizationPropertiesKHR-sType-sType + + // Validation code for VkPipelineRasterizationLineStateCreateInfoKHR structure members + case VK_STRUCTURE_TYPE_PIPELINE_RASTERIZATION_LINE_STATE_CREATE_INFO_KHR: { // Covers + // VUID-VkPipelineRasterizationLineStateCreateInfoKHR-sType-sType + if (is_const_param) { + [[maybe_unused]] const Location pNext_loc = loc.pNext(Struct::VkPipelineRasterizationLineStateCreateInfoKHR); + VkPipelineRasterizationLineStateCreateInfoKHR* structure = (VkPipelineRasterizationLineStateCreateInfoKHR*)header; + skip |= ValidateRangedEnum(pNext_loc.dot(Field::lineRasterizationMode), "VkLineRasterizationModeKHR", + structure->lineRasterizationMode, + "VUID-VkPipelineRasterizationLineStateCreateInfoKHR-lineRasterizationMode-parameter"); + + skip |= ValidateBool32(pNext_loc.dot(Field::stippledLineEnable), structure->stippledLineEnable); + } + } break; + + // Validation code for VkPhysicalDeviceShaderExpectAssumeFeaturesKHR structure members + case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_EXPECT_ASSUME_FEATURES_KHR: { // Covers + // VUID-VkPhysicalDeviceShaderExpectAssumeFeaturesKHR-sType-sType + + if (!IsExtEnabled(device_extensions.vk_khr_shader_expect_assume)) { + skip |= LogError(pnext_vuid, instance, loc.dot(Field::pNext), + "includes a pointer to a VkPhysicalDeviceShaderExpectAssumeFeaturesKHR, but when creating " + "VkDevice, the parent extension " + "(VK_KHR_shader_expect_assume) was not included in ppEnabledExtensionNames."); + } + if (is_const_param) { + [[maybe_unused]] const Location pNext_loc = loc.pNext(Struct::VkPhysicalDeviceShaderExpectAssumeFeaturesKHR); + VkPhysicalDeviceShaderExpectAssumeFeaturesKHR* structure = (VkPhysicalDeviceShaderExpectAssumeFeaturesKHR*)header; + skip |= ValidateBool32(pNext_loc.dot(Field::shaderExpectAssume), structure->shaderExpectAssume); + } + } break; + // Validation code for VkPhysicalDeviceMaintenance6FeaturesKHR structure members case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MAINTENANCE_6_FEATURES_KHR: { // Covers // VUID-VkPhysicalDeviceMaintenance6FeaturesKHR-sType-sType @@ -5154,50 +5335,6 @@ bool StatelessValidation::ValidatePnextStructContents(const Location& loc, const // VUID-VkSurfaceFullScreenExclusiveWin32InfoEXT-sType-sType #endif // VK_USE_PLATFORM_WIN32_KHR - // Validation code for VkPhysicalDeviceLineRasterizationFeaturesEXT structure members - case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_LINE_RASTERIZATION_FEATURES_EXT: { // Covers - // VUID-VkPhysicalDeviceLineRasterizationFeaturesEXT-sType-sType - - if (!IsExtEnabled(device_extensions.vk_ext_line_rasterization)) { - skip |= LogError(pnext_vuid, instance, loc.dot(Field::pNext), - "includes a pointer to a VkPhysicalDeviceLineRasterizationFeaturesEXT, but when creating " - "VkDevice, the parent extension " - "(VK_EXT_line_rasterization) was not included in ppEnabledExtensionNames."); - } - if (is_const_param) { - [[maybe_unused]] const Location pNext_loc = loc.pNext(Struct::VkPhysicalDeviceLineRasterizationFeaturesEXT); - VkPhysicalDeviceLineRasterizationFeaturesEXT* structure = (VkPhysicalDeviceLineRasterizationFeaturesEXT*)header; - skip |= ValidateBool32(pNext_loc.dot(Field::rectangularLines), structure->rectangularLines); - - skip |= ValidateBool32(pNext_loc.dot(Field::bresenhamLines), structure->bresenhamLines); - - skip |= ValidateBool32(pNext_loc.dot(Field::smoothLines), structure->smoothLines); - - skip |= ValidateBool32(pNext_loc.dot(Field::stippledRectangularLines), structure->stippledRectangularLines); - - skip |= ValidateBool32(pNext_loc.dot(Field::stippledBresenhamLines), structure->stippledBresenhamLines); - - skip |= ValidateBool32(pNext_loc.dot(Field::stippledSmoothLines), structure->stippledSmoothLines); - } - } break; - - // No Validation code for VkPhysicalDeviceLineRasterizationPropertiesEXT structure members -- Covers - // VUID-VkPhysicalDeviceLineRasterizationPropertiesEXT-sType-sType - - // Validation code for VkPipelineRasterizationLineStateCreateInfoEXT structure members - case VK_STRUCTURE_TYPE_PIPELINE_RASTERIZATION_LINE_STATE_CREATE_INFO_EXT: { // Covers - // VUID-VkPipelineRasterizationLineStateCreateInfoEXT-sType-sType - if (is_const_param) { - [[maybe_unused]] const Location pNext_loc = loc.pNext(Struct::VkPipelineRasterizationLineStateCreateInfoEXT); - VkPipelineRasterizationLineStateCreateInfoEXT* structure = (VkPipelineRasterizationLineStateCreateInfoEXT*)header; - skip |= ValidateRangedEnum(pNext_loc.dot(Field::lineRasterizationMode), "VkLineRasterizationModeEXT", - structure->lineRasterizationMode, - "VUID-VkPipelineRasterizationLineStateCreateInfoEXT-lineRasterizationMode-parameter"); - - skip |= ValidateBool32(pNext_loc.dot(Field::stippledLineEnable), structure->stippledLineEnable); - } - } break; - // Validation code for VkPhysicalDeviceShaderAtomicFloatFeaturesEXT structure members case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_ATOMIC_FLOAT_FEATURES_EXT: { // Covers // VUID-VkPhysicalDeviceShaderAtomicFloatFeaturesEXT-sType-sType @@ -5237,23 +5374,6 @@ bool StatelessValidation::ValidatePnextStructContents(const Location& loc, const } } break; - // Validation code for VkPhysicalDeviceIndexTypeUint8FeaturesEXT structure members - case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_INDEX_TYPE_UINT8_FEATURES_EXT: { // Covers - // VUID-VkPhysicalDeviceIndexTypeUint8FeaturesEXT-sType-sType - - if (!IsExtEnabled(device_extensions.vk_ext_index_type_uint8)) { - skip |= LogError(pnext_vuid, instance, loc.dot(Field::pNext), - "includes a pointer to a VkPhysicalDeviceIndexTypeUint8FeaturesEXT, but when creating VkDevice, " - "the parent extension " - "(VK_EXT_index_type_uint8) was not included in ppEnabledExtensionNames."); - } - if (is_const_param) { - [[maybe_unused]] const Location pNext_loc = loc.pNext(Struct::VkPhysicalDeviceIndexTypeUint8FeaturesEXT); - VkPhysicalDeviceIndexTypeUint8FeaturesEXT* structure = (VkPhysicalDeviceIndexTypeUint8FeaturesEXT*)header; - skip |= ValidateBool32(pNext_loc.dot(Field::indexTypeUint8), structure->indexTypeUint8); - } - } break; - // Validation code for VkPhysicalDeviceExtendedDynamicStateFeaturesEXT structure members case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTENDED_DYNAMIC_STATE_FEATURES_EXT: { // Covers // VUID-VkPhysicalDeviceExtendedDynamicStateFeaturesEXT-sType-sType @@ -8594,6 +8714,7 @@ bool StatelessValidation::PreCallValidateCreateDevice(VkPhysicalDevice physicalD VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DIAGNOSTICS_CONFIG_FEATURES_NV, VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DISPLACEMENT_MICROMAP_FEATURES_NV, VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DYNAMIC_RENDERING_FEATURES, + VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DYNAMIC_RENDERING_LOCAL_READ_FEATURES_KHR, VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DYNAMIC_RENDERING_UNUSED_ATTACHMENTS_FEATURES_EXT, VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXCLUSIVE_SCISSOR_FEATURES_NV, VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTENDED_DYNAMIC_STATE_2_FEATURES_EXT, @@ -8626,12 +8747,12 @@ bool StatelessValidation::PreCallValidateCreateDevice(VkPhysicalDevice physicalD VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGE_SLICED_VIEW_OF_3D_FEATURES_EXT, VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGE_VIEW_MIN_LOD_FEATURES_EXT, VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGELESS_FRAMEBUFFER_FEATURES, - VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_INDEX_TYPE_UINT8_FEATURES_EXT, + VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_INDEX_TYPE_UINT8_FEATURES_KHR, VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_INHERITED_VIEWPORT_SCISSOR_FEATURES_NV, VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_INLINE_UNIFORM_BLOCK_FEATURES, VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_INVOCATION_MASK_FEATURES_HUAWEI, VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_LEGACY_DITHERING_FEATURES_EXT, - VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_LINE_RASTERIZATION_FEATURES_EXT, + VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_LINE_RASTERIZATION_FEATURES_KHR, VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_LINEAR_COLOR_ATTACHMENT_FEATURES_NV, VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MAINTENANCE_4_FEATURES, VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MAINTENANCE_5_FEATURES_KHR, @@ -8693,15 +8814,20 @@ bool StatelessValidation::PreCallValidateCreateDevice(VkPhysicalDevice physicalD VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_DRAW_PARAMETERS_FEATURES, VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_EARLY_AND_LATE_FRAGMENT_TESTS_FEATURES_AMD, VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_ENQUEUE_FEATURES_AMDX, + VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_EXPECT_ASSUME_FEATURES_KHR, VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_FLOAT16_INT8_FEATURES, + VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_FLOAT_CONTROLS_2_FEATURES_KHR, VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_IMAGE_ATOMIC_INT64_FEATURES_EXT, VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_IMAGE_FOOTPRINT_FEATURES_NV, VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_INTEGER_DOT_PRODUCT_FEATURES, VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_INTEGER_FUNCTIONS_2_FEATURES_INTEL, + VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_MAXIMAL_RECONVERGENCE_FEATURES_KHR, VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_MODULE_IDENTIFIER_FEATURES_EXT, VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_OBJECT_FEATURES_EXT, + VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_QUAD_CONTROL_FEATURES_KHR, VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_SM_BUILTINS_FEATURES_NV, VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_SUBGROUP_EXTENDED_TYPES_FEATURES, + VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_SUBGROUP_ROTATE_FEATURES_KHR, VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_SUBGROUP_UNIFORM_CONTROL_FLOW_FEATURES_KHR, VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_TERMINATE_INVOCATION_FEATURES, VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_TILE_IMAGE_FEATURES_EXT, @@ -10526,7 +10652,9 @@ bool StatelessValidation::PreCallValidateCreateGraphicsPipelines(VkDevice device VK_STRUCTURE_TYPE_PIPELINE_LIBRARY_CREATE_INFO_KHR, VK_STRUCTURE_TYPE_PIPELINE_RENDERING_CREATE_INFO, VK_STRUCTURE_TYPE_PIPELINE_REPRESENTATIVE_FRAGMENT_TEST_STATE_CREATE_INFO_NV, - VK_STRUCTURE_TYPE_PIPELINE_ROBUSTNESS_CREATE_INFO_EXT}; + VK_STRUCTURE_TYPE_PIPELINE_ROBUSTNESS_CREATE_INFO_EXT, + VK_STRUCTURE_TYPE_RENDERING_ATTACHMENT_LOCATION_INFO_KHR, + VK_STRUCTURE_TYPE_RENDERING_INPUT_ATTACHMENT_INDEX_INFO_KHR}; skip |= ValidateStructPnext( pCreateInfos_loc, pCreateInfos[createInfoIndex].pNext, allowed_structs_VkGraphicsPipelineCreateInfo.size(), @@ -12869,7 +12997,7 @@ bool StatelessValidation::PreCallValidateGetPhysicalDeviceProperties2(VkPhysical VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGE_PROCESSING_PROPERTIES_QCOM, VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_INLINE_UNIFORM_BLOCK_PROPERTIES, VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_LAYERED_DRIVER_PROPERTIES_MSFT, - VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_LINE_RASTERIZATION_PROPERTIES_EXT, + VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_LINE_RASTERIZATION_PROPERTIES_KHR, VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MAINTENANCE_3_PROPERTIES, VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MAINTENANCE_4_PROPERTIES, VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MAINTENANCE_5_PROPERTIES_KHR, @@ -18496,6 +18624,43 @@ bool StatelessValidation::PreCallValidateCmdSetFragmentShadingRateKHR(VkCommandB return skip; } +bool StatelessValidation::PreCallValidateCmdSetRenderingAttachmentLocationsKHR( + VkCommandBuffer commandBuffer, const VkRenderingAttachmentLocationInfoKHR* pLocationInfo, const ErrorObject& error_obj) const { + bool skip = false; + [[maybe_unused]] const Location loc = error_obj.location; + if (!IsExtEnabled(device_extensions.vk_khr_dynamic_rendering_local_read)) + skip |= OutputExtensionError(loc, "VK_KHR_dynamic_rendering_local_read"); + skip |= ValidateStructType(loc.dot(Field::pLocationInfo), "VK_STRUCTURE_TYPE_RENDERING_ATTACHMENT_LOCATION_INFO_KHR", + pLocationInfo, VK_STRUCTURE_TYPE_RENDERING_ATTACHMENT_LOCATION_INFO_KHR, true, + "VUID-vkCmdSetRenderingAttachmentLocationsKHR-pLocationInfo-parameter", + "VUID-VkRenderingAttachmentLocationInfoKHR-sType-sType"); + if (pLocationInfo != nullptr) { + [[maybe_unused]] const Location pLocationInfo_loc = loc.dot(Field::pLocationInfo); + skip |= ValidateStructPnext(pLocationInfo_loc, pLocationInfo->pNext, 0, nullptr, GeneratedVulkanHeaderVersion, + kVUIDUndefined, kVUIDUndefined, false, true); + } + return skip; +} + +bool StatelessValidation::PreCallValidateCmdSetRenderingInputAttachmentIndicesKHR( + VkCommandBuffer commandBuffer, const VkRenderingInputAttachmentIndexInfoKHR* pLocationInfo, + const ErrorObject& error_obj) const { + bool skip = false; + [[maybe_unused]] const Location loc = error_obj.location; + if (!IsExtEnabled(device_extensions.vk_khr_dynamic_rendering_local_read)) + skip |= OutputExtensionError(loc, "VK_KHR_dynamic_rendering_local_read"); + skip |= ValidateStructType(loc.dot(Field::pLocationInfo), "VK_STRUCTURE_TYPE_RENDERING_INPUT_ATTACHMENT_INDEX_INFO_KHR", + pLocationInfo, VK_STRUCTURE_TYPE_RENDERING_INPUT_ATTACHMENT_INDEX_INFO_KHR, true, + "VUID-vkCmdSetRenderingInputAttachmentIndicesKHR-pLocationInfo-parameter", + "VUID-VkRenderingInputAttachmentIndexInfoKHR-sType-sType"); + if (pLocationInfo != nullptr) { + [[maybe_unused]] const Location pLocationInfo_loc = loc.dot(Field::pLocationInfo); + skip |= ValidateStructPnext(pLocationInfo_loc, pLocationInfo->pNext, 0, nullptr, GeneratedVulkanHeaderVersion, + kVUIDUndefined, kVUIDUndefined, false, true); + } + return skip; +} + bool StatelessValidation::PreCallValidateWaitForPresentKHR(VkDevice device, VkSwapchainKHR swapchain, uint64_t presentId, uint64_t timeout, const ErrorObject& error_obj) const { bool skip = false; @@ -19418,6 +19583,25 @@ bool StatelessValidation::PreCallValidateGetPhysicalDeviceCooperativeMatrixPrope "VUID-VkCooperativeMatrixPropertiesKHR-sType-sType", "VUID-vkGetPhysicalDeviceCooperativeMatrixPropertiesKHR-pProperties-parameter", "VUID-vkGetPhysicalDeviceCooperativeMatrixPropertiesKHR-pPropertyCount-parameter", kVUIDUndefined); + if (pProperties != nullptr) { + for (uint32_t pPropertyIndex = 0; pPropertyIndex < *pPropertyCount; ++pPropertyIndex) { + [[maybe_unused]] const Location pProperties_loc = loc.dot(Field::pProperties, pPropertyIndex); + skip |= + ValidateStructPnext(pProperties_loc, pProperties[pPropertyIndex].pNext, 0, nullptr, GeneratedVulkanHeaderVersion, + "VUID-VkCooperativeMatrixPropertiesKHR-pNext-pNext", kVUIDUndefined, true, false); + } + } + return skip; +} + +bool StatelessValidation::PreCallValidateCmdSetLineStippleKHR(VkCommandBuffer commandBuffer, uint32_t lineStippleFactor, + uint16_t lineStipplePattern, const ErrorObject& error_obj) const { + bool skip = false; + [[maybe_unused]] const Location loc = error_obj.location; + if (!IsExtEnabled(device_extensions.vk_khr_line_rasterization) && loc.function == vvl::Func::vkCmdSetLineStippleKHR) + skip |= OutputExtensionError(loc, "VK_KHR_line_rasterization"); + // No xml-driven validation + if (!skip) skip |= manual_PreCallValidateCmdSetLineStippleKHR(commandBuffer, lineStippleFactor, lineStipplePattern, error_obj); return skip; } @@ -21124,9 +21308,6 @@ bool StatelessValidation::PreCallValidateSubmitDebugUtilsMessageEXT(VkInstance i skip |= ValidateReservedFlags(pCallbackData_loc.dot(Field::flags), pCallbackData->flags, "VUID-VkDebugUtilsMessengerCallbackDataEXT-flags-zerobitmask"); - skip |= ValidateRequiredPointer(pCallbackData_loc.dot(Field::pMessage), pCallbackData->pMessage, - "VUID-VkDebugUtilsMessengerCallbackDataEXT-pMessage-parameter"); - skip |= ValidateStructTypeArray(pCallbackData_loc.dot(Field::queueLabelCount), pCallbackData_loc.dot(Field::pQueueLabels), "VK_STRUCTURE_TYPE_DEBUG_UTILS_LABEL_EXT", pCallbackData->queueLabelCount, pCallbackData->pQueueLabels, VK_STRUCTURE_TYPE_DEBUG_UTILS_LABEL_EXT, false, true, @@ -22717,6 +22898,14 @@ bool StatelessValidation::PreCallValidateGetPhysicalDeviceCooperativeMatrixPrope "VUID-VkCooperativeMatrixPropertiesNV-sType-sType", "VUID-vkGetPhysicalDeviceCooperativeMatrixPropertiesNV-pProperties-parameter", "VUID-vkGetPhysicalDeviceCooperativeMatrixPropertiesNV-pPropertyCount-parameter", kVUIDUndefined); + if (pProperties != nullptr) { + for (uint32_t pPropertyIndex = 0; pPropertyIndex < *pPropertyCount; ++pPropertyIndex) { + [[maybe_unused]] const Location pProperties_loc = loc.dot(Field::pProperties, pPropertyIndex); + skip |= + ValidateStructPnext(pProperties_loc, pProperties[pPropertyIndex].pNext, 0, nullptr, GeneratedVulkanHeaderVersion, + "VUID-VkCooperativeMatrixPropertiesNV-pNext-pNext", kVUIDUndefined, true, false); + } + } return skip; } @@ -22848,8 +23037,7 @@ bool StatelessValidation::PreCallValidateCmdSetLineStippleEXT(VkCommandBuffer co bool skip = false; [[maybe_unused]] const Location loc = error_obj.location; if (!IsExtEnabled(device_extensions.vk_ext_line_rasterization)) skip |= OutputExtensionError(loc, "VK_EXT_line_rasterization"); - // No xml-driven validation - if (!skip) skip |= manual_PreCallValidateCmdSetLineStippleEXT(commandBuffer, lineStippleFactor, lineStipplePattern, error_obj); + skip |= PreCallValidateCmdSetLineStippleKHR(commandBuffer, lineStippleFactor, lineStipplePattern, error_obj); return skip; } @@ -24053,6 +24241,11 @@ bool StatelessValidation::PreCallValidateGetDeviceFaultInfoEXT(VkDevice device, skip |= ValidateStructType(loc.dot(Field::pFaultInfo), "VK_STRUCTURE_TYPE_DEVICE_FAULT_INFO_EXT", pFaultInfo, VK_STRUCTURE_TYPE_DEVICE_FAULT_INFO_EXT, false, "VUID-vkGetDeviceFaultInfoEXT-pFaultInfo-parameter", "VUID-VkDeviceFaultInfoEXT-sType-sType"); + if (pFaultInfo != nullptr) { + [[maybe_unused]] const Location pFaultInfo_loc = loc.dot(Field::pFaultInfo); + skip |= ValidateStructPnext(pFaultInfo_loc, pFaultInfo->pNext, 0, nullptr, GeneratedVulkanHeaderVersion, + "VUID-VkDeviceFaultInfoEXT-pNext-pNext", kVUIDUndefined, false, false); + } return skip; } @@ -24608,6 +24801,11 @@ bool StatelessValidation::PreCallValidateGetBufferCollectionPropertiesFUCHSIA(Vk VK_STRUCTURE_TYPE_BUFFER_COLLECTION_PROPERTIES_FUCHSIA, true, "VUID-vkGetBufferCollectionPropertiesFUCHSIA-pProperties-parameter", "VUID-VkBufferCollectionPropertiesFUCHSIA-sType-sType"); + if (pProperties != nullptr) { + [[maybe_unused]] const Location pProperties_loc = loc.dot(Field::pProperties); + skip |= ValidateStructPnext(pProperties_loc, pProperties->pNext, 0, nullptr, GeneratedVulkanHeaderVersion, + "VUID-VkBufferCollectionPropertiesFUCHSIA-pNext-pNext", kVUIDUndefined, false, false); + } return skip; } #endif // VK_USE_PLATFORM_FUCHSIA @@ -25506,18 +25704,6 @@ bool StatelessValidation::PreCallValidateGetPipelineIndirectDeviceAddressNV(VkDe return skip; } -bool StatelessValidation::PreCallValidateCmdSetTessellationDomainOriginEXT(VkCommandBuffer commandBuffer, - VkTessellationDomainOrigin domainOrigin, - const ErrorObject& error_obj) const { - bool skip = false; - [[maybe_unused]] const Location loc = error_obj.location; - if (!(IsExtEnabled(device_extensions.vk_ext_extended_dynamic_state3) || IsExtEnabled(device_extensions.vk_ext_shader_object))) - skip |= OutputExtensionError(loc, "VK_EXT_extended_dynamic_state3 || VK_EXT_shader_object"); - skip |= ValidateRangedEnum(loc.dot(Field::domainOrigin), "VkTessellationDomainOrigin", domainOrigin, - "VUID-vkCmdSetTessellationDomainOriginEXT-domainOrigin-parameter"); - return skip; -} - bool StatelessValidation::PreCallValidateCmdSetDepthClampEnableEXT(VkCommandBuffer commandBuffer, VkBool32 depthClampEnable, const ErrorObject& error_obj) const { bool skip = false; @@ -25667,6 +25853,18 @@ bool StatelessValidation::PreCallValidateCmdSetColorWriteMaskEXT(VkCommandBuffer return skip; } +bool StatelessValidation::PreCallValidateCmdSetTessellationDomainOriginEXT(VkCommandBuffer commandBuffer, + VkTessellationDomainOrigin domainOrigin, + const ErrorObject& error_obj) const { + bool skip = false; + [[maybe_unused]] const Location loc = error_obj.location; + if (!(IsExtEnabled(device_extensions.vk_ext_extended_dynamic_state3) || IsExtEnabled(device_extensions.vk_ext_shader_object))) + skip |= OutputExtensionError(loc, "VK_EXT_extended_dynamic_state3 || VK_EXT_shader_object"); + skip |= ValidateRangedEnum(loc.dot(Field::domainOrigin), "VkTessellationDomainOrigin", domainOrigin, + "VUID-vkCmdSetTessellationDomainOriginEXT-domainOrigin-parameter"); + return skip; +} + bool StatelessValidation::PreCallValidateCmdSetRasterizationStreamEXT(VkCommandBuffer commandBuffer, uint32_t rasterizationStream, const ErrorObject& error_obj) const { bool skip = false; @@ -25776,8 +25974,7 @@ bool StatelessValidation::PreCallValidateCmdSetLineRasterizationModeEXT(VkComman [[maybe_unused]] const Location loc = error_obj.location; if (!(IsExtEnabled(device_extensions.vk_ext_extended_dynamic_state3) || IsExtEnabled(device_extensions.vk_ext_shader_object))) skip |= OutputExtensionError(loc, "VK_EXT_extended_dynamic_state3 || VK_EXT_shader_object"); - skip |= ValidateRangedEnum(loc.dot(Field::lineRasterizationMode), "VkLineRasterizationModeEXT", lineRasterizationMode, - "VUID-vkCmdSetLineRasterizationModeEXT-lineRasterizationMode-parameter"); + // No xml-driven validation return skip; } @@ -26304,7 +26501,6 @@ bool StatelessValidation::PreCallValidateDestroyShaderEXT(VkDevice device, VkSha bool skip = false; [[maybe_unused]] const Location loc = error_obj.location; if (!IsExtEnabled(device_extensions.vk_ext_shader_object)) skip |= OutputExtensionError(loc, "VK_EXT_shader_object"); - skip |= ValidateRequiredHandle(loc.dot(Field::shader), shader); if (pAllocator != nullptr) { [[maybe_unused]] const Location pAllocator_loc = loc.dot(Field::pAllocator); skip |= ValidateRequiredPointer(pAllocator_loc.dot(Field::pfnAllocation), @@ -27335,6 +27531,11 @@ bool StatelessValidation::PreCallValidateGetAccelerationStructureBuildSizesKHR( pSizeInfo, VK_STRUCTURE_TYPE_ACCELERATION_STRUCTURE_BUILD_SIZES_INFO_KHR, true, "VUID-vkGetAccelerationStructureBuildSizesKHR-pSizeInfo-parameter", "VUID-VkAccelerationStructureBuildSizesInfoKHR-sType-sType"); + if (pSizeInfo != nullptr) { + [[maybe_unused]] const Location pSizeInfo_loc = loc.dot(Field::pSizeInfo); + skip |= ValidateStructPnext(pSizeInfo_loc, pSizeInfo->pNext, 0, nullptr, GeneratedVulkanHeaderVersion, + "VUID-VkAccelerationStructureBuildSizesInfoKHR-pNext-pNext", kVUIDUndefined, false, false); + } if (!skip) skip |= manual_PreCallValidateGetAccelerationStructureBuildSizesKHR(device, buildType, pBuildInfo, pMaxPrimitiveCounts, pSizeInfo, error_obj); @@ -27956,7 +28157,7 @@ bool StatelessValidation::ValidatePipelineRasterizationStateCreateInfo(const VkP VK_STRUCTURE_TYPE_DEPTH_BIAS_REPRESENTATION_INFO_EXT, VK_STRUCTURE_TYPE_PIPELINE_RASTERIZATION_CONSERVATIVE_STATE_CREATE_INFO_EXT, VK_STRUCTURE_TYPE_PIPELINE_RASTERIZATION_DEPTH_CLIP_STATE_CREATE_INFO_EXT, - VK_STRUCTURE_TYPE_PIPELINE_RASTERIZATION_LINE_STATE_CREATE_INFO_EXT, + VK_STRUCTURE_TYPE_PIPELINE_RASTERIZATION_LINE_STATE_CREATE_INFO_KHR, VK_STRUCTURE_TYPE_PIPELINE_RASTERIZATION_PROVOKING_VERTEX_STATE_CREATE_INFO_EXT, VK_STRUCTURE_TYPE_PIPELINE_RASTERIZATION_STATE_RASTERIZATION_ORDER_AMD, VK_STRUCTURE_TYPE_PIPELINE_RASTERIZATION_STATE_STREAM_CREATE_INFO_EXT}; diff --git a/layers/vulkan/generated/stateless_validation_helper.h b/layers/vulkan/generated/stateless_validation_helper.h index db6b54f6b0e..e0b5fd720fb 100644 --- a/layers/vulkan/generated/stateless_validation_helper.h +++ b/layers/vulkan/generated/stateless_validation_helper.h @@ -854,6 +854,12 @@ bool PreCallValidateGetPhysicalDeviceFragmentShadingRatesKHR(VkPhysicalDevice ph bool PreCallValidateCmdSetFragmentShadingRateKHR(VkCommandBuffer commandBuffer, const VkExtent2D* pFragmentSize, const VkFragmentShadingRateCombinerOpKHR combinerOps[2], const ErrorObject& error_obj) const override; +bool PreCallValidateCmdSetRenderingAttachmentLocationsKHR(VkCommandBuffer commandBuffer, + const VkRenderingAttachmentLocationInfoKHR* pLocationInfo, + const ErrorObject& error_obj) const override; +bool PreCallValidateCmdSetRenderingInputAttachmentIndicesKHR(VkCommandBuffer commandBuffer, + const VkRenderingInputAttachmentIndexInfoKHR* pLocationInfo, + const ErrorObject& error_obj) const override; bool PreCallValidateWaitForPresentKHR(VkDevice device, VkSwapchainKHR swapchain, uint64_t presentId, uint64_t timeout, const ErrorObject& error_obj) const override; bool PreCallValidateGetBufferDeviceAddressKHR(VkDevice device, const VkBufferDeviceAddressInfo* pInfo, @@ -949,6 +955,8 @@ bool PreCallValidateGetImageSubresourceLayout2KHR(VkDevice device, VkImage image bool PreCallValidateGetPhysicalDeviceCooperativeMatrixPropertiesKHR(VkPhysicalDevice physicalDevice, uint32_t* pPropertyCount, VkCooperativeMatrixPropertiesKHR* pProperties, const ErrorObject& error_obj) const override; +bool PreCallValidateCmdSetLineStippleKHR(VkCommandBuffer commandBuffer, uint32_t lineStippleFactor, uint16_t lineStipplePattern, + const ErrorObject& error_obj) const override; bool PreCallValidateGetPhysicalDeviceCalibrateableTimeDomainsKHR(VkPhysicalDevice physicalDevice, uint32_t* pTimeDomainCount, VkTimeDomainKHR* pTimeDomains, const ErrorObject& error_obj) const override; @@ -1597,8 +1605,6 @@ bool PreCallValidateCmdUpdatePipelineIndirectBufferNV(VkCommandBuffer commandBuf VkPipeline pipeline, const ErrorObject& error_obj) const override; bool PreCallValidateGetPipelineIndirectDeviceAddressNV(VkDevice device, const VkPipelineIndirectDeviceAddressInfoNV* pInfo, const ErrorObject& error_obj) const override; -bool PreCallValidateCmdSetTessellationDomainOriginEXT(VkCommandBuffer commandBuffer, VkTessellationDomainOrigin domainOrigin, - const ErrorObject& error_obj) const override; bool PreCallValidateCmdSetDepthClampEnableEXT(VkCommandBuffer commandBuffer, VkBool32 depthClampEnable, const ErrorObject& error_obj) const override; bool PreCallValidateCmdSetPolygonModeEXT(VkCommandBuffer commandBuffer, VkPolygonMode polygonMode, @@ -1621,6 +1627,8 @@ bool PreCallValidateCmdSetColorBlendEquationEXT(VkCommandBuffer commandBuffer, u bool PreCallValidateCmdSetColorWriteMaskEXT(VkCommandBuffer commandBuffer, uint32_t firstAttachment, uint32_t attachmentCount, const VkColorComponentFlags* pColorWriteMasks, const ErrorObject& error_obj) const override; +bool PreCallValidateCmdSetTessellationDomainOriginEXT(VkCommandBuffer commandBuffer, VkTessellationDomainOrigin domainOrigin, + const ErrorObject& error_obj) const override; bool PreCallValidateCmdSetRasterizationStreamEXT(VkCommandBuffer commandBuffer, uint32_t rasterizationStream, const ErrorObject& error_obj) const override; bool PreCallValidateCmdSetConservativeRasterizationModeEXT(VkCommandBuffer commandBuffer, diff --git a/layers/vulkan/generated/thread_safety.cpp b/layers/vulkan/generated/thread_safety.cpp index fbec2b479e3..216fb55a389 100644 --- a/layers/vulkan/generated/thread_safety.cpp +++ b/layers/vulkan/generated/thread_safety.cpp @@ -3,10 +3,10 @@ /*************************************************************************** * - * Copyright (c) 2015-2023 The Khronos Group Inc. - * Copyright (c) 2015-2023 Valve Corporation - * Copyright (c) 2015-2023 LunarG, Inc. - * Copyright (c) 2015-2023 Google Inc. + * Copyright (c) 2015-2024 The Khronos Group Inc. + * Copyright (c) 2015-2024 Valve Corporation + * Copyright (c) 2015-2024 LunarG, Inc. + * Copyright (c) 2015-2024 Google Inc. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. @@ -3592,6 +3592,32 @@ void ThreadSafety::PostCallRecordCmdSetFragmentShadingRateKHR(VkCommandBuffer co // Host access to commandBuffer must be externally synchronized } +void ThreadSafety::PreCallRecordCmdSetRenderingAttachmentLocationsKHR(VkCommandBuffer commandBuffer, + const VkRenderingAttachmentLocationInfoKHR* pLocationInfo, + const RecordObject& record_obj) { + StartWriteObject(commandBuffer, record_obj.location); + // Host access to commandBuffer must be externally synchronized +} + +void ThreadSafety::PostCallRecordCmdSetRenderingAttachmentLocationsKHR(VkCommandBuffer commandBuffer, + const VkRenderingAttachmentLocationInfoKHR* pLocationInfo, + const RecordObject& record_obj) { + FinishWriteObject(commandBuffer, record_obj.location); + // Host access to commandBuffer must be externally synchronized +} + +void ThreadSafety::PreCallRecordCmdSetRenderingInputAttachmentIndicesKHR( + VkCommandBuffer commandBuffer, const VkRenderingInputAttachmentIndexInfoKHR* pLocationInfo, const RecordObject& record_obj) { + StartWriteObject(commandBuffer, record_obj.location); + // Host access to commandBuffer must be externally synchronized +} + +void ThreadSafety::PostCallRecordCmdSetRenderingInputAttachmentIndicesKHR( + VkCommandBuffer commandBuffer, const VkRenderingInputAttachmentIndexInfoKHR* pLocationInfo, const RecordObject& record_obj) { + FinishWriteObject(commandBuffer, record_obj.location); + // Host access to commandBuffer must be externally synchronized +} + void ThreadSafety::PreCallRecordGetBufferDeviceAddressKHR(VkDevice device, const VkBufferDeviceAddressInfo* pInfo, const RecordObject& record_obj) { PreCallRecordGetBufferDeviceAddress(device, pInfo, record_obj); @@ -4029,6 +4055,18 @@ void ThreadSafety::PostCallRecordGetImageSubresourceLayout2KHR(VkDevice device, FinishReadObject(image, record_obj.location); } +void ThreadSafety::PreCallRecordCmdSetLineStippleKHR(VkCommandBuffer commandBuffer, uint32_t lineStippleFactor, + uint16_t lineStipplePattern, const RecordObject& record_obj) { + StartWriteObject(commandBuffer, record_obj.location); + // Host access to commandBuffer must be externally synchronized +} + +void ThreadSafety::PostCallRecordCmdSetLineStippleKHR(VkCommandBuffer commandBuffer, uint32_t lineStippleFactor, + uint16_t lineStipplePattern, const RecordObject& record_obj) { + FinishWriteObject(commandBuffer, record_obj.location); + // Host access to commandBuffer must be externally synchronized +} + void ThreadSafety::PreCallRecordGetCalibratedTimestampsKHR(VkDevice device, uint32_t timestampCount, const VkCalibratedTimestampInfoKHR* pTimestampInfos, uint64_t* pTimestamps, uint64_t* pMaxDeviation, @@ -5729,14 +5767,12 @@ void ThreadSafety::PostCallRecordCreateHeadlessSurfaceEXT(VkInstance instance, c void ThreadSafety::PreCallRecordCmdSetLineStippleEXT(VkCommandBuffer commandBuffer, uint32_t lineStippleFactor, uint16_t lineStipplePattern, const RecordObject& record_obj) { - StartWriteObject(commandBuffer, record_obj.location); - // Host access to commandBuffer must be externally synchronized + PreCallRecordCmdSetLineStippleKHR(commandBuffer, lineStippleFactor, lineStipplePattern, record_obj); } void ThreadSafety::PostCallRecordCmdSetLineStippleEXT(VkCommandBuffer commandBuffer, uint32_t lineStippleFactor, uint16_t lineStipplePattern, const RecordObject& record_obj) { - FinishWriteObject(commandBuffer, record_obj.location); - // Host access to commandBuffer must be externally synchronized + PostCallRecordCmdSetLineStippleKHR(commandBuffer, lineStippleFactor, lineStipplePattern, record_obj); } void ThreadSafety::PreCallRecordResetQueryPoolEXT(VkDevice device, VkQueryPool queryPool, uint32_t firstQuery, uint32_t queryCount, @@ -7086,20 +7122,6 @@ void ThreadSafety::PostCallRecordGetPipelineIndirectDeviceAddressNV(VkDevice dev FinishReadObjectParentInstance(device, record_obj.location); } -void ThreadSafety::PreCallRecordCmdSetTessellationDomainOriginEXT(VkCommandBuffer commandBuffer, - VkTessellationDomainOrigin domainOrigin, - const RecordObject& record_obj) { - StartWriteObject(commandBuffer, record_obj.location); - // Host access to commandBuffer must be externally synchronized -} - -void ThreadSafety::PostCallRecordCmdSetTessellationDomainOriginEXT(VkCommandBuffer commandBuffer, - VkTessellationDomainOrigin domainOrigin, - const RecordObject& record_obj) { - FinishWriteObject(commandBuffer, record_obj.location); - // Host access to commandBuffer must be externally synchronized -} - void ThreadSafety::PreCallRecordCmdSetDepthClampEnableEXT(VkCommandBuffer commandBuffer, VkBool32 depthClampEnable, const RecordObject& record_obj) { StartWriteObject(commandBuffer, record_obj.location); @@ -7230,6 +7252,20 @@ void ThreadSafety::PostCallRecordCmdSetColorWriteMaskEXT(VkCommandBuffer command // Host access to commandBuffer must be externally synchronized } +void ThreadSafety::PreCallRecordCmdSetTessellationDomainOriginEXT(VkCommandBuffer commandBuffer, + VkTessellationDomainOrigin domainOrigin, + const RecordObject& record_obj) { + StartWriteObject(commandBuffer, record_obj.location); + // Host access to commandBuffer must be externally synchronized +} + +void ThreadSafety::PostCallRecordCmdSetTessellationDomainOriginEXT(VkCommandBuffer commandBuffer, + VkTessellationDomainOrigin domainOrigin, + const RecordObject& record_obj) { + FinishWriteObject(commandBuffer, record_obj.location); + // Host access to commandBuffer must be externally synchronized +} + void ThreadSafety::PreCallRecordCmdSetRasterizationStreamEXT(VkCommandBuffer commandBuffer, uint32_t rasterizationStream, const RecordObject& record_obj) { StartWriteObject(commandBuffer, record_obj.location); diff --git a/layers/vulkan/generated/thread_safety_commands.h b/layers/vulkan/generated/thread_safety_commands.h index 1746dbb617d..c6abf18d95b 100644 --- a/layers/vulkan/generated/thread_safety_commands.h +++ b/layers/vulkan/generated/thread_safety_commands.h @@ -3,10 +3,10 @@ /*************************************************************************** * - * Copyright (c) 2015-2023 The Khronos Group Inc. - * Copyright (c) 2015-2023 Valve Corporation - * Copyright (c) 2015-2023 LunarG, Inc. - * Copyright (c) 2015-2023 Google Inc. + * Copyright (c) 2015-2024 The Khronos Group Inc. + * Copyright (c) 2015-2024 Valve Corporation + * Copyright (c) 2015-2024 LunarG, Inc. + * Copyright (c) 2015-2024 Google Inc. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. @@ -1849,6 +1849,22 @@ void PostCallRecordCmdSetFragmentShadingRateKHR(VkCommandBuffer commandBuffer, c const VkFragmentShadingRateCombinerOpKHR combinerOps[2], const RecordObject& record_obj) override; +void PreCallRecordCmdSetRenderingAttachmentLocationsKHR(VkCommandBuffer commandBuffer, + const VkRenderingAttachmentLocationInfoKHR* pLocationInfo, + const RecordObject& record_obj) override; + +void PostCallRecordCmdSetRenderingAttachmentLocationsKHR(VkCommandBuffer commandBuffer, + const VkRenderingAttachmentLocationInfoKHR* pLocationInfo, + const RecordObject& record_obj) override; + +void PreCallRecordCmdSetRenderingInputAttachmentIndicesKHR(VkCommandBuffer commandBuffer, + const VkRenderingInputAttachmentIndexInfoKHR* pLocationInfo, + const RecordObject& record_obj) override; + +void PostCallRecordCmdSetRenderingInputAttachmentIndicesKHR(VkCommandBuffer commandBuffer, + const VkRenderingInputAttachmentIndexInfoKHR* pLocationInfo, + const RecordObject& record_obj) override; + void PreCallRecordWaitForPresentKHR(VkDevice device, VkSwapchainKHR swapchain, uint64_t presentId, uint64_t timeout, const RecordObject& record_obj) override; @@ -2095,6 +2111,12 @@ void PreCallRecordGetImageSubresourceLayout2KHR(VkDevice device, VkImage image, void PostCallRecordGetImageSubresourceLayout2KHR(VkDevice device, VkImage image, const VkImageSubresource2KHR* pSubresource, VkSubresourceLayout2KHR* pLayout, const RecordObject& record_obj) override; +void PreCallRecordCmdSetLineStippleKHR(VkCommandBuffer commandBuffer, uint32_t lineStippleFactor, uint16_t lineStipplePattern, + const RecordObject& record_obj) override; + +void PostCallRecordCmdSetLineStippleKHR(VkCommandBuffer commandBuffer, uint32_t lineStippleFactor, uint16_t lineStipplePattern, + const RecordObject& record_obj) override; + void PreCallRecordGetCalibratedTimestampsKHR(VkDevice device, uint32_t timestampCount, const VkCalibratedTimestampInfoKHR* pTimestampInfos, uint64_t* pTimestamps, uint64_t* pMaxDeviation, const RecordObject& record_obj) override; @@ -3659,12 +3681,6 @@ void PreCallRecordGetPipelineIndirectDeviceAddressNV(VkDevice device, const VkPi void PostCallRecordGetPipelineIndirectDeviceAddressNV(VkDevice device, const VkPipelineIndirectDeviceAddressInfoNV* pInfo, const RecordObject& record_obj) override; -void PreCallRecordCmdSetTessellationDomainOriginEXT(VkCommandBuffer commandBuffer, VkTessellationDomainOrigin domainOrigin, - const RecordObject& record_obj) override; - -void PostCallRecordCmdSetTessellationDomainOriginEXT(VkCommandBuffer commandBuffer, VkTessellationDomainOrigin domainOrigin, - const RecordObject& record_obj) override; - void PreCallRecordCmdSetDepthClampEnableEXT(VkCommandBuffer commandBuffer, VkBool32 depthClampEnable, const RecordObject& record_obj) override; @@ -3727,6 +3743,12 @@ void PreCallRecordCmdSetColorWriteMaskEXT(VkCommandBuffer commandBuffer, uint32_ void PostCallRecordCmdSetColorWriteMaskEXT(VkCommandBuffer commandBuffer, uint32_t firstAttachment, uint32_t attachmentCount, const VkColorComponentFlags* pColorWriteMasks, const RecordObject& record_obj) override; +void PreCallRecordCmdSetTessellationDomainOriginEXT(VkCommandBuffer commandBuffer, VkTessellationDomainOrigin domainOrigin, + const RecordObject& record_obj) override; + +void PostCallRecordCmdSetTessellationDomainOriginEXT(VkCommandBuffer commandBuffer, VkTessellationDomainOrigin domainOrigin, + const RecordObject& record_obj) override; + void PreCallRecordCmdSetRasterizationStreamEXT(VkCommandBuffer commandBuffer, uint32_t rasterizationStream, const RecordObject& record_obj) override; diff --git a/layers/vulkan/generated/thread_safety_counter_bodies.h b/layers/vulkan/generated/thread_safety_counter_bodies.h index 41d19713ac4..a2e472f5a3b 100644 --- a/layers/vulkan/generated/thread_safety_counter_bodies.h +++ b/layers/vulkan/generated/thread_safety_counter_bodies.h @@ -3,10 +3,10 @@ /*************************************************************************** * - * Copyright (c) 2015-2023 The Khronos Group Inc. - * Copyright (c) 2015-2023 Valve Corporation - * Copyright (c) 2015-2023 LunarG, Inc. - * Copyright (c) 2015-2023 Google Inc. + * Copyright (c) 2015-2024 The Khronos Group Inc. + * Copyright (c) 2015-2024 Valve Corporation + * Copyright (c) 2015-2024 LunarG, Inc. + * Copyright (c) 2015-2024 Google Inc. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/layers/vulkan/generated/thread_safety_counter_definitions.h b/layers/vulkan/generated/thread_safety_counter_definitions.h index adac1942bf1..ca28574408a 100644 --- a/layers/vulkan/generated/thread_safety_counter_definitions.h +++ b/layers/vulkan/generated/thread_safety_counter_definitions.h @@ -3,10 +3,10 @@ /*************************************************************************** * - * Copyright (c) 2015-2023 The Khronos Group Inc. - * Copyright (c) 2015-2023 Valve Corporation - * Copyright (c) 2015-2023 LunarG, Inc. - * Copyright (c) 2015-2023 Google Inc. + * Copyright (c) 2015-2024 The Khronos Group Inc. + * Copyright (c) 2015-2024 Valve Corporation + * Copyright (c) 2015-2024 LunarG, Inc. + * Copyright (c) 2015-2024 Google Inc. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/layers/vulkan/generated/thread_safety_counter_instances.h b/layers/vulkan/generated/thread_safety_counter_instances.h index af0e54007a5..9c7e0fca726 100644 --- a/layers/vulkan/generated/thread_safety_counter_instances.h +++ b/layers/vulkan/generated/thread_safety_counter_instances.h @@ -3,10 +3,10 @@ /*************************************************************************** * - * Copyright (c) 2015-2023 The Khronos Group Inc. - * Copyright (c) 2015-2023 Valve Corporation - * Copyright (c) 2015-2023 LunarG, Inc. - * Copyright (c) 2015-2023 Google Inc. + * Copyright (c) 2015-2024 The Khronos Group Inc. + * Copyright (c) 2015-2024 Valve Corporation + * Copyright (c) 2015-2024 LunarG, Inc. + * Copyright (c) 2015-2024 Google Inc. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/layers/vulkan/generated/valid_enum_values.cpp b/layers/vulkan/generated/valid_enum_values.cpp index f82d026ac58..25b9b5c2b2a 100644 --- a/layers/vulkan/generated/valid_enum_values.cpp +++ b/layers/vulkan/generated/valid_enum_values.cpp @@ -3,9 +3,9 @@ /*************************************************************************** * - * Copyright (c) 2015-2023 The Khronos Group Inc. - * Copyright (c) 2015-2023 Valve Corporation - * Copyright (c) 2015-2023 LunarG, Inc. + * Copyright (c) 2015-2024 The Khronos Group Inc. + * Copyright (c) 2015-2024 Valve Corporation + * Copyright (c) 2015-2024 LunarG, Inc. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. @@ -93,6 +93,7 @@ std::vector ValidationObject::ValidParamValues() const { { &DeviceExtensions::vk_khr_shared_presentable_image, { VK_IMAGE_LAYOUT_SHARED_PRESENT_KHR } }, { &DeviceExtensions::vk_khr_maintenance2, { VK_IMAGE_LAYOUT_DEPTH_READ_ONLY_STENCIL_ATTACHMENT_OPTIMAL, VK_IMAGE_LAYOUT_DEPTH_ATTACHMENT_STENCIL_READ_ONLY_OPTIMAL } }, { &DeviceExtensions::vk_khr_fragment_shading_rate, { VK_IMAGE_LAYOUT_FRAGMENT_SHADING_RATE_ATTACHMENT_OPTIMAL_KHR } }, + { &DeviceExtensions::vk_khr_dynamic_rendering_local_read, { VK_IMAGE_LAYOUT_RENDERING_LOCAL_READ_KHR } }, { &DeviceExtensions::vk_khr_separate_depth_stencil_layouts, { VK_IMAGE_LAYOUT_DEPTH_ATTACHMENT_OPTIMAL, VK_IMAGE_LAYOUT_DEPTH_READ_ONLY_OPTIMAL, VK_IMAGE_LAYOUT_STENCIL_ATTACHMENT_OPTIMAL, VK_IMAGE_LAYOUT_STENCIL_READ_ONLY_OPTIMAL } }, { &DeviceExtensions::vk_khr_video_encode_queue, { VK_IMAGE_LAYOUT_VIDEO_ENCODE_DST_KHR, VK_IMAGE_LAYOUT_VIDEO_ENCODE_SRC_KHR, VK_IMAGE_LAYOUT_VIDEO_ENCODE_DPB_KHR } }, { &DeviceExtensions::vk_khr_synchronization2, { VK_IMAGE_LAYOUT_READ_ONLY_OPTIMAL, VK_IMAGE_LAYOUT_ATTACHMENT_OPTIMAL } }, @@ -333,17 +334,18 @@ std::vector ValidationObject::ValidParamValues() const { constexpr std::array CoreVkDynamicStateEnums = {VK_DYNAMIC_STATE_VIEWPORT, VK_DYNAMIC_STATE_SCISSOR, VK_DYNAMIC_STATE_LINE_WIDTH, VK_DYNAMIC_STATE_DEPTH_BIAS, VK_DYNAMIC_STATE_BLEND_CONSTANTS, VK_DYNAMIC_STATE_DEPTH_BOUNDS, VK_DYNAMIC_STATE_STENCIL_COMPARE_MASK, VK_DYNAMIC_STATE_STENCIL_WRITE_MASK, VK_DYNAMIC_STATE_STENCIL_REFERENCE}; static const vvl::unordered_map> ExtendedVkDynamicStateEnums = { { &DeviceExtensions::vk_khr_fragment_shading_rate, { VK_DYNAMIC_STATE_FRAGMENT_SHADING_RATE_KHR } }, + { &DeviceExtensions::vk_khr_line_rasterization, { VK_DYNAMIC_STATE_LINE_STIPPLE_KHR } }, { &DeviceExtensions::vk_nv_clip_space_w_scaling, { VK_DYNAMIC_STATE_VIEWPORT_W_SCALING_NV } }, { &DeviceExtensions::vk_ext_discard_rectangles, { VK_DYNAMIC_STATE_DISCARD_RECTANGLE_EXT, VK_DYNAMIC_STATE_DISCARD_RECTANGLE_ENABLE_EXT, VK_DYNAMIC_STATE_DISCARD_RECTANGLE_MODE_EXT } }, { &DeviceExtensions::vk_ext_sample_locations, { VK_DYNAMIC_STATE_SAMPLE_LOCATIONS_EXT } }, { &DeviceExtensions::vk_nv_shading_rate_image, { VK_DYNAMIC_STATE_VIEWPORT_SHADING_RATE_PALETTE_NV, VK_DYNAMIC_STATE_VIEWPORT_COARSE_SAMPLE_ORDER_NV } }, { &DeviceExtensions::vk_nv_scissor_exclusive, { VK_DYNAMIC_STATE_EXCLUSIVE_SCISSOR_ENABLE_NV, VK_DYNAMIC_STATE_EXCLUSIVE_SCISSOR_NV } }, - { &DeviceExtensions::vk_ext_line_rasterization, { VK_DYNAMIC_STATE_LINE_STIPPLE_EXT } }, + { &DeviceExtensions::vk_ext_line_rasterization, { VK_DYNAMIC_STATE_LINE_STIPPLE_KHR } }, { &DeviceExtensions::vk_ext_extended_dynamic_state, { VK_DYNAMIC_STATE_CULL_MODE, VK_DYNAMIC_STATE_FRONT_FACE, VK_DYNAMIC_STATE_PRIMITIVE_TOPOLOGY, VK_DYNAMIC_STATE_VIEWPORT_WITH_COUNT, VK_DYNAMIC_STATE_SCISSOR_WITH_COUNT, VK_DYNAMIC_STATE_VERTEX_INPUT_BINDING_STRIDE, VK_DYNAMIC_STATE_DEPTH_TEST_ENABLE, VK_DYNAMIC_STATE_DEPTH_WRITE_ENABLE, VK_DYNAMIC_STATE_DEPTH_COMPARE_OP, VK_DYNAMIC_STATE_DEPTH_BOUNDS_TEST_ENABLE, VK_DYNAMIC_STATE_STENCIL_TEST_ENABLE, VK_DYNAMIC_STATE_STENCIL_OP } }, { &DeviceExtensions::vk_ext_vertex_input_dynamic_state, { VK_DYNAMIC_STATE_VERTEX_INPUT_EXT } }, { &DeviceExtensions::vk_ext_extended_dynamic_state2, { VK_DYNAMIC_STATE_RASTERIZER_DISCARD_ENABLE, VK_DYNAMIC_STATE_DEPTH_BIAS_ENABLE, VK_DYNAMIC_STATE_PRIMITIVE_RESTART_ENABLE, VK_DYNAMIC_STATE_PATCH_CONTROL_POINTS_EXT, VK_DYNAMIC_STATE_LOGIC_OP_EXT } }, { &DeviceExtensions::vk_ext_color_write_enable, { VK_DYNAMIC_STATE_COLOR_WRITE_ENABLE_EXT } }, - { &DeviceExtensions::vk_ext_extended_dynamic_state3, { VK_DYNAMIC_STATE_TESSELLATION_DOMAIN_ORIGIN_EXT, VK_DYNAMIC_STATE_DEPTH_CLAMP_ENABLE_EXT, VK_DYNAMIC_STATE_POLYGON_MODE_EXT, VK_DYNAMIC_STATE_RASTERIZATION_SAMPLES_EXT, VK_DYNAMIC_STATE_SAMPLE_MASK_EXT, VK_DYNAMIC_STATE_ALPHA_TO_COVERAGE_ENABLE_EXT, VK_DYNAMIC_STATE_ALPHA_TO_ONE_ENABLE_EXT, VK_DYNAMIC_STATE_LOGIC_OP_ENABLE_EXT, VK_DYNAMIC_STATE_COLOR_BLEND_ENABLE_EXT, VK_DYNAMIC_STATE_COLOR_BLEND_EQUATION_EXT, VK_DYNAMIC_STATE_COLOR_WRITE_MASK_EXT, VK_DYNAMIC_STATE_RASTERIZATION_STREAM_EXT, VK_DYNAMIC_STATE_CONSERVATIVE_RASTERIZATION_MODE_EXT, VK_DYNAMIC_STATE_EXTRA_PRIMITIVE_OVERESTIMATION_SIZE_EXT, VK_DYNAMIC_STATE_DEPTH_CLIP_ENABLE_EXT, VK_DYNAMIC_STATE_SAMPLE_LOCATIONS_ENABLE_EXT, VK_DYNAMIC_STATE_COLOR_BLEND_ADVANCED_EXT, VK_DYNAMIC_STATE_PROVOKING_VERTEX_MODE_EXT, VK_DYNAMIC_STATE_LINE_RASTERIZATION_MODE_EXT, VK_DYNAMIC_STATE_LINE_STIPPLE_ENABLE_EXT, VK_DYNAMIC_STATE_DEPTH_CLIP_NEGATIVE_ONE_TO_ONE_EXT, VK_DYNAMIC_STATE_VIEWPORT_W_SCALING_ENABLE_NV, VK_DYNAMIC_STATE_VIEWPORT_SWIZZLE_NV, VK_DYNAMIC_STATE_COVERAGE_TO_COLOR_ENABLE_NV, VK_DYNAMIC_STATE_COVERAGE_TO_COLOR_LOCATION_NV, VK_DYNAMIC_STATE_COVERAGE_MODULATION_MODE_NV, VK_DYNAMIC_STATE_COVERAGE_MODULATION_TABLE_ENABLE_NV, VK_DYNAMIC_STATE_COVERAGE_MODULATION_TABLE_NV, VK_DYNAMIC_STATE_SHADING_RATE_IMAGE_ENABLE_NV, VK_DYNAMIC_STATE_REPRESENTATIVE_FRAGMENT_TEST_ENABLE_NV, VK_DYNAMIC_STATE_COVERAGE_REDUCTION_MODE_NV } }, + { &DeviceExtensions::vk_ext_extended_dynamic_state3, { VK_DYNAMIC_STATE_DEPTH_CLAMP_ENABLE_EXT, VK_DYNAMIC_STATE_POLYGON_MODE_EXT, VK_DYNAMIC_STATE_RASTERIZATION_SAMPLES_EXT, VK_DYNAMIC_STATE_SAMPLE_MASK_EXT, VK_DYNAMIC_STATE_ALPHA_TO_COVERAGE_ENABLE_EXT, VK_DYNAMIC_STATE_ALPHA_TO_ONE_ENABLE_EXT, VK_DYNAMIC_STATE_LOGIC_OP_ENABLE_EXT, VK_DYNAMIC_STATE_COLOR_BLEND_ENABLE_EXT, VK_DYNAMIC_STATE_COLOR_BLEND_EQUATION_EXT, VK_DYNAMIC_STATE_COLOR_WRITE_MASK_EXT, VK_DYNAMIC_STATE_TESSELLATION_DOMAIN_ORIGIN_EXT, VK_DYNAMIC_STATE_RASTERIZATION_STREAM_EXT, VK_DYNAMIC_STATE_CONSERVATIVE_RASTERIZATION_MODE_EXT, VK_DYNAMIC_STATE_EXTRA_PRIMITIVE_OVERESTIMATION_SIZE_EXT, VK_DYNAMIC_STATE_DEPTH_CLIP_ENABLE_EXT, VK_DYNAMIC_STATE_SAMPLE_LOCATIONS_ENABLE_EXT, VK_DYNAMIC_STATE_COLOR_BLEND_ADVANCED_EXT, VK_DYNAMIC_STATE_PROVOKING_VERTEX_MODE_EXT, VK_DYNAMIC_STATE_LINE_RASTERIZATION_MODE_EXT, VK_DYNAMIC_STATE_LINE_STIPPLE_ENABLE_EXT, VK_DYNAMIC_STATE_DEPTH_CLIP_NEGATIVE_ONE_TO_ONE_EXT, VK_DYNAMIC_STATE_VIEWPORT_W_SCALING_ENABLE_NV, VK_DYNAMIC_STATE_VIEWPORT_SWIZZLE_NV, VK_DYNAMIC_STATE_COVERAGE_TO_COLOR_ENABLE_NV, VK_DYNAMIC_STATE_COVERAGE_TO_COLOR_LOCATION_NV, VK_DYNAMIC_STATE_COVERAGE_MODULATION_MODE_NV, VK_DYNAMIC_STATE_COVERAGE_MODULATION_TABLE_ENABLE_NV, VK_DYNAMIC_STATE_COVERAGE_MODULATION_TABLE_NV, VK_DYNAMIC_STATE_SHADING_RATE_IMAGE_ENABLE_NV, VK_DYNAMIC_STATE_REPRESENTATIVE_FRAGMENT_TEST_ENABLE_NV, VK_DYNAMIC_STATE_COVERAGE_REDUCTION_MODE_NV } }, { &DeviceExtensions::vk_ext_attachment_feedback_loop_dynamic_state, { VK_DYNAMIC_STATE_ATTACHMENT_FEEDBACK_LOOP_ENABLE_EXT } }, { &DeviceExtensions::vk_khr_ray_tracing_pipeline, { VK_DYNAMIC_STATE_RAY_TRACING_PIPELINE_STACK_SIZE_KHR } }, }; @@ -549,7 +551,8 @@ template<> std::vector ValidationObject::ValidParamValues() const { constexpr std::array CoreVkAttachmentLoadOpEnums = {VK_ATTACHMENT_LOAD_OP_LOAD, VK_ATTACHMENT_LOAD_OP_CLEAR, VK_ATTACHMENT_LOAD_OP_DONT_CARE}; static const vvl::unordered_map> ExtendedVkAttachmentLoadOpEnums = { - { &DeviceExtensions::vk_ext_load_store_op_none, { VK_ATTACHMENT_LOAD_OP_NONE_EXT } }, + { &DeviceExtensions::vk_khr_load_store_op_none, { VK_ATTACHMENT_LOAD_OP_NONE_KHR } }, + { &DeviceExtensions::vk_ext_load_store_op_none, { VK_ATTACHMENT_LOAD_OP_NONE_KHR } }, }; std::vector values(CoreVkAttachmentLoadOpEnums.cbegin(), CoreVkAttachmentLoadOpEnums.cend()); std::set unique_exts; @@ -567,6 +570,7 @@ std::vector ValidationObject::ValidParamValues() const { constexpr std::array CoreVkAttachmentStoreOpEnums = {VK_ATTACHMENT_STORE_OP_STORE, VK_ATTACHMENT_STORE_OP_DONT_CARE}; static const vvl::unordered_map> ExtendedVkAttachmentStoreOpEnums = { { &DeviceExtensions::vk_khr_dynamic_rendering, { VK_ATTACHMENT_STORE_OP_NONE } }, + { &DeviceExtensions::vk_khr_load_store_op_none, { VK_ATTACHMENT_STORE_OP_NONE } }, { &DeviceExtensions::vk_qcom_render_pass_store_ops, { VK_ATTACHMENT_STORE_OP_NONE } }, { &DeviceExtensions::vk_ext_load_store_op_none, { VK_ATTACHMENT_STORE_OP_NONE } }, }; @@ -621,8 +625,9 @@ template<> std::vector ValidationObject::ValidParamValues() const { constexpr std::array CoreVkIndexTypeEnums = {VK_INDEX_TYPE_UINT16, VK_INDEX_TYPE_UINT32}; static const vvl::unordered_map> ExtendedVkIndexTypeEnums = { + { &DeviceExtensions::vk_khr_index_type_uint8, { VK_INDEX_TYPE_UINT8_KHR } }, { &DeviceExtensions::vk_nv_ray_tracing, { VK_INDEX_TYPE_NONE_KHR } }, - { &DeviceExtensions::vk_ext_index_type_uint8, { VK_INDEX_TYPE_UINT8_EXT } }, + { &DeviceExtensions::vk_ext_index_type_uint8, { VK_INDEX_TYPE_UINT8_KHR } }, { &DeviceExtensions::vk_khr_acceleration_structure, { VK_INDEX_TYPE_NONE_KHR } }, }; std::vector values(CoreVkIndexTypeEnums.cbegin(), CoreVkIndexTypeEnums.cend()); @@ -851,29 +856,13 @@ std::vector ValidationObject::ValidParamValues() con } template<> -std::vector ValidationObject::ValidParamValues() const { - constexpr std::array CoreVkComponentTypeKHREnums = {VK_COMPONENT_TYPE_FLOAT16_KHR, VK_COMPONENT_TYPE_FLOAT32_KHR, VK_COMPONENT_TYPE_FLOAT64_KHR, VK_COMPONENT_TYPE_SINT8_KHR, VK_COMPONENT_TYPE_SINT16_KHR, VK_COMPONENT_TYPE_SINT32_KHR, VK_COMPONENT_TYPE_SINT64_KHR, VK_COMPONENT_TYPE_UINT8_KHR, VK_COMPONENT_TYPE_UINT16_KHR, VK_COMPONENT_TYPE_UINT32_KHR, VK_COMPONENT_TYPE_UINT64_KHR}; - static const vvl::unordered_map> ExtendedVkComponentTypeKHREnums = { +std::vector ValidationObject::ValidParamValues() const { + constexpr std::array CoreVkLineRasterizationModeKHREnums = {VK_LINE_RASTERIZATION_MODE_DEFAULT_KHR, VK_LINE_RASTERIZATION_MODE_RECTANGULAR_KHR, VK_LINE_RASTERIZATION_MODE_BRESENHAM_KHR, VK_LINE_RASTERIZATION_MODE_RECTANGULAR_SMOOTH_KHR}; + static const vvl::unordered_map> ExtendedVkLineRasterizationModeKHREnums = { }; - std::vector values(CoreVkComponentTypeKHREnums.cbegin(), CoreVkComponentTypeKHREnums.cend()); - std::set unique_exts; - for (const auto& [extension, enums]: ExtendedVkComponentTypeKHREnums) { - if (IsExtEnabled(device_extensions.*extension)) { - unique_exts.insert(enums.cbegin(), enums.cend()); - } - } - std::copy(unique_exts.cbegin(), unique_exts.cend(), std::back_inserter(values)); - return values; -} - -template<> -std::vector ValidationObject::ValidParamValues() const { - constexpr std::array CoreVkScopeKHREnums = {VK_SCOPE_DEVICE_KHR, VK_SCOPE_WORKGROUP_KHR, VK_SCOPE_SUBGROUP_KHR, VK_SCOPE_QUEUE_FAMILY_KHR}; - static const vvl::unordered_map> ExtendedVkScopeKHREnums = { - }; - std::vector values(CoreVkScopeKHREnums.cbegin(), CoreVkScopeKHREnums.cend()); - std::set unique_exts; - for (const auto& [extension, enums]: ExtendedVkScopeKHREnums) { + std::vector values(CoreVkLineRasterizationModeKHREnums.cbegin(), CoreVkLineRasterizationModeKHREnums.cend()); + std::set unique_exts; + for (const auto& [extension, enums]: ExtendedVkLineRasterizationModeKHREnums) { if (IsExtEnabled(device_extensions.*extension)) { unique_exts.insert(enums.cbegin(), enums.cend()); } @@ -1419,22 +1408,6 @@ std::vector ValidationObject::ValidParamValues() const } #endif // VK_USE_PLATFORM_WIN32_KHR -template<> -std::vector ValidationObject::ValidParamValues() const { - constexpr std::array CoreVkLineRasterizationModeEXTEnums = {VK_LINE_RASTERIZATION_MODE_DEFAULT_EXT, VK_LINE_RASTERIZATION_MODE_RECTANGULAR_EXT, VK_LINE_RASTERIZATION_MODE_BRESENHAM_EXT, VK_LINE_RASTERIZATION_MODE_RECTANGULAR_SMOOTH_EXT}; - static const vvl::unordered_map> ExtendedVkLineRasterizationModeEXTEnums = { - }; - std::vector values(CoreVkLineRasterizationModeEXTEnums.cbegin(), CoreVkLineRasterizationModeEXTEnums.cend()); - std::set unique_exts; - for (const auto& [extension, enums]: ExtendedVkLineRasterizationModeEXTEnums) { - if (IsExtEnabled(device_extensions.*extension)) { - unique_exts.insert(enums.cbegin(), enums.cend()); - } - } - std::copy(unique_exts.cbegin(), unique_exts.cend(), std::back_inserter(values)); - return values; -} - template<> std::vector ValidationObject::ValidParamValues() const { constexpr std::array CoreVkIndirectCommandsTokenTypeNVEnums = {VK_INDIRECT_COMMANDS_TOKEN_TYPE_SHADER_GROUP_NV, VK_INDIRECT_COMMANDS_TOKEN_TYPE_STATE_FLAGS_NV, VK_INDIRECT_COMMANDS_TOKEN_TYPE_INDEX_BUFFER_NV, VK_INDIRECT_COMMANDS_TOKEN_TYPE_VERTEX_BUFFER_NV, VK_INDIRECT_COMMANDS_TOKEN_TYPE_PUSH_CONSTANT_NV, VK_INDIRECT_COMMANDS_TOKEN_TYPE_DRAW_INDEXED_NV, VK_INDIRECT_COMMANDS_TOKEN_TYPE_DRAW_NV, VK_INDIRECT_COMMANDS_TOKEN_TYPE_DRAW_TASKS_NV}; diff --git a/layers/vulkan/generated/valid_enum_values.h b/layers/vulkan/generated/valid_enum_values.h index 00268434f1f..75463c74c86 100644 --- a/layers/vulkan/generated/valid_enum_values.h +++ b/layers/vulkan/generated/valid_enum_values.h @@ -3,9 +3,9 @@ /*************************************************************************** * - * Copyright (c) 2015-2023 The Khronos Group Inc. - * Copyright (c) 2015-2023 Valve Corporation - * Copyright (c) 2015-2023 LunarG, Inc. + * Copyright (c) 2015-2024 The Khronos Group Inc. + * Copyright (c) 2015-2024 Valve Corporation + * Copyright (c) 2015-2024 LunarG, Inc. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. @@ -66,8 +66,7 @@ template<> std::vector ValidationObject::ValidParamValues() con template<> std::vector ValidationObject::ValidParamValues() const; template<> std::vector ValidationObject::ValidParamValues() const; template<> std::vector ValidationObject::ValidParamValues() const; -template<> std::vector ValidationObject::ValidParamValues() const; -template<> std::vector ValidationObject::ValidParamValues() const; +template<> std::vector ValidationObject::ValidParamValues() const; template<> std::vector ValidationObject::ValidParamValues() const; template<> std::vector ValidationObject::ValidParamValues() const; template<> std::vector ValidationObject::ValidParamValues() const; @@ -103,7 +102,6 @@ template<> std::vector ValidationObject::ValidParamVal #ifdef VK_USE_PLATFORM_WIN32_KHR template<> std::vector ValidationObject::ValidParamValues() const; #endif // VK_USE_PLATFORM_WIN32_KHR -template<> std::vector ValidationObject::ValidParamValues() const; template<> std::vector ValidationObject::ValidParamValues() const; template<> std::vector ValidationObject::ValidParamValues() const; template<> std::vector ValidationObject::ValidParamValues() const; diff --git a/layers/vulkan/generated/vk_dispatch_table_helper.cpp b/layers/vulkan/generated/vk_dispatch_table_helper.cpp index a0bfab17a50..25e98695793 100644 --- a/layers/vulkan/generated/vk_dispatch_table_helper.cpp +++ b/layers/vulkan/generated/vk_dispatch_table_helper.cpp @@ -470,6 +470,10 @@ static VKAPI_ATTR VkResult VKAPI_CALL StubGetPhysicalDeviceFragmentShadingRatesK } static VKAPI_ATTR void VKAPI_CALL StubCmdSetFragmentShadingRateKHR(VkCommandBuffer, const VkExtent2D*, const VkFragmentShadingRateCombinerOpKHR[2]) {} +static VKAPI_ATTR void VKAPI_CALL StubCmdSetRenderingAttachmentLocationsKHR(VkCommandBuffer, + const VkRenderingAttachmentLocationInfoKHR*) {} +static VKAPI_ATTR void VKAPI_CALL StubCmdSetRenderingInputAttachmentIndicesKHR(VkCommandBuffer, + const VkRenderingInputAttachmentIndexInfoKHR*) {} static VKAPI_ATTR VkResult VKAPI_CALL StubWaitForPresentKHR(VkDevice, VkSwapchainKHR, uint64_t, uint64_t) { return VK_SUCCESS; } static VKAPI_ATTR VkDeviceAddress VKAPI_CALL StubGetBufferDeviceAddressKHR(VkDevice, const VkBufferDeviceAddressInfo*) { return 0; } static VKAPI_ATTR uint64_t VKAPI_CALL StubGetBufferOpaqueCaptureAddressKHR(VkDevice, const VkBufferDeviceAddressInfo*) { return 0; } @@ -542,6 +546,7 @@ static VKAPI_ATTR VkResult VKAPI_CALL StubGetPhysicalDeviceCooperativeMatrixProp VkCooperativeMatrixPropertiesKHR*) { return VK_SUCCESS; } +static VKAPI_ATTR void VKAPI_CALL StubCmdSetLineStippleKHR(VkCommandBuffer, uint32_t, uint16_t) {} static VKAPI_ATTR VkResult VKAPI_CALL StubGetPhysicalDeviceCalibrateableTimeDomainsKHR(VkPhysicalDevice, uint32_t*, VkTimeDomainKHR*) { return VK_SUCCESS; @@ -1145,7 +1150,6 @@ static VKAPI_ATTR VkDeviceAddress VKAPI_CALL StubGetPipelineIndirectDeviceAddres const VkPipelineIndirectDeviceAddressInfoNV*) { return 0; } -static VKAPI_ATTR void VKAPI_CALL StubCmdSetTessellationDomainOriginEXT(VkCommandBuffer, VkTessellationDomainOrigin) {} static VKAPI_ATTR void VKAPI_CALL StubCmdSetDepthClampEnableEXT(VkCommandBuffer, VkBool32) {} static VKAPI_ATTR void VKAPI_CALL StubCmdSetPolygonModeEXT(VkCommandBuffer, VkPolygonMode) {} static VKAPI_ATTR void VKAPI_CALL StubCmdSetRasterizationSamplesEXT(VkCommandBuffer, VkSampleCountFlagBits) {} @@ -1157,6 +1161,7 @@ static VKAPI_ATTR void VKAPI_CALL StubCmdSetColorBlendEnableEXT(VkCommandBuffer, static VKAPI_ATTR void VKAPI_CALL StubCmdSetColorBlendEquationEXT(VkCommandBuffer, uint32_t, uint32_t, const VkColorBlendEquationEXT*) {} static VKAPI_ATTR void VKAPI_CALL StubCmdSetColorWriteMaskEXT(VkCommandBuffer, uint32_t, uint32_t, const VkColorComponentFlags*) {} +static VKAPI_ATTR void VKAPI_CALL StubCmdSetTessellationDomainOriginEXT(VkCommandBuffer, VkTessellationDomainOrigin) {} static VKAPI_ATTR void VKAPI_CALL StubCmdSetRasterizationStreamEXT(VkCommandBuffer, uint32_t) {} static VKAPI_ATTR void VKAPI_CALL StubCmdSetConservativeRasterizationModeEXT(VkCommandBuffer, VkConservativeRasterizationModeEXT) {} static VKAPI_ATTR void VKAPI_CALL StubCmdSetExtraPrimitiveOverestimationSizeEXT(VkCommandBuffer, float) {} @@ -1443,6 +1448,8 @@ const vvl::unordered_map> api_ {"vkWaitSemaphoresKHR", {"VK_KHR_timeline_semaphore"}}, {"vkSignalSemaphoreKHR", {"VK_KHR_timeline_semaphore"}}, {"vkCmdSetFragmentShadingRateKHR", {"VK_KHR_fragment_shading_rate"}}, + {"vkCmdSetRenderingAttachmentLocationsKHR", {"VK_KHR_dynamic_rendering_local_read"}}, + {"vkCmdSetRenderingInputAttachmentIndicesKHR", {"VK_KHR_dynamic_rendering_local_read"}}, {"vkWaitForPresentKHR", {"VK_KHR_present_wait"}}, {"vkGetBufferDeviceAddressKHR", {"VK_KHR_buffer_device_address"}}, {"vkGetBufferOpaqueCaptureAddressKHR", {"VK_KHR_buffer_device_address"}}, @@ -1481,6 +1488,7 @@ const vvl::unordered_map> api_ {"vkGetRenderingAreaGranularityKHR", {"VK_KHR_maintenance5"}}, {"vkGetDeviceImageSubresourceLayoutKHR", {"VK_KHR_maintenance5"}}, {"vkGetImageSubresourceLayout2KHR", {"VK_KHR_maintenance5"}}, + {"vkCmdSetLineStippleKHR", {"VK_KHR_line_rasterization"}}, {"vkGetCalibratedTimestampsKHR", {"VK_KHR_calibrated_timestamps"}}, {"vkCmdBindDescriptorSets2KHR", {"VK_KHR_maintenance6"}}, {"vkCmdPushConstants2KHR", {"VK_KHR_maintenance6"}}, @@ -1686,7 +1694,6 @@ const vvl::unordered_map> api_ {"vkGetPipelineIndirectMemoryRequirementsNV", {"VK_NV_device_generated_commands_compute"}}, {"vkCmdUpdatePipelineIndirectBufferNV", {"VK_NV_device_generated_commands_compute"}}, {"vkGetPipelineIndirectDeviceAddressNV", {"VK_NV_device_generated_commands_compute"}}, - {"vkCmdSetTessellationDomainOriginEXT", {"VK_EXT_extended_dynamic_state3", "VK_EXT_shader_object"}}, {"vkCmdSetDepthClampEnableEXT", {"VK_EXT_extended_dynamic_state3", "VK_EXT_shader_object"}}, {"vkCmdSetPolygonModeEXT", {"VK_EXT_extended_dynamic_state3", "VK_EXT_shader_object"}}, {"vkCmdSetRasterizationSamplesEXT", {"VK_EXT_extended_dynamic_state3", "VK_EXT_shader_object"}}, @@ -1697,6 +1704,7 @@ const vvl::unordered_map> api_ {"vkCmdSetColorBlendEnableEXT", {"VK_EXT_extended_dynamic_state3", "VK_EXT_shader_object"}}, {"vkCmdSetColorBlendEquationEXT", {"VK_EXT_extended_dynamic_state3", "VK_EXT_shader_object"}}, {"vkCmdSetColorWriteMaskEXT", {"VK_EXT_extended_dynamic_state3", "VK_EXT_shader_object"}}, + {"vkCmdSetTessellationDomainOriginEXT", {"VK_EXT_extended_dynamic_state3", "VK_EXT_shader_object"}}, {"vkCmdSetRasterizationStreamEXT", {"VK_EXT_extended_dynamic_state3", "VK_EXT_shader_object"}}, {"vkCmdSetConservativeRasterizationModeEXT", {"VK_EXT_extended_dynamic_state3", "VK_EXT_shader_object"}}, {"vkCmdSetExtraPrimitiveOverestimationSizeEXT", {"VK_EXT_extended_dynamic_state3", "VK_EXT_shader_object"}}, @@ -2480,6 +2488,18 @@ void layer_init_device_dispatch_table(VkDevice device, VkLayerDispatchTable* tab if (table->CmdSetFragmentShadingRateKHR == nullptr) { table->CmdSetFragmentShadingRateKHR = (PFN_vkCmdSetFragmentShadingRateKHR)StubCmdSetFragmentShadingRateKHR; } + table->CmdSetRenderingAttachmentLocationsKHR = + (PFN_vkCmdSetRenderingAttachmentLocationsKHR)gpa(device, "vkCmdSetRenderingAttachmentLocationsKHR"); + if (table->CmdSetRenderingAttachmentLocationsKHR == nullptr) { + table->CmdSetRenderingAttachmentLocationsKHR = + (PFN_vkCmdSetRenderingAttachmentLocationsKHR)StubCmdSetRenderingAttachmentLocationsKHR; + } + table->CmdSetRenderingInputAttachmentIndicesKHR = + (PFN_vkCmdSetRenderingInputAttachmentIndicesKHR)gpa(device, "vkCmdSetRenderingInputAttachmentIndicesKHR"); + if (table->CmdSetRenderingInputAttachmentIndicesKHR == nullptr) { + table->CmdSetRenderingInputAttachmentIndicesKHR = + (PFN_vkCmdSetRenderingInputAttachmentIndicesKHR)StubCmdSetRenderingInputAttachmentIndicesKHR; + } table->WaitForPresentKHR = (PFN_vkWaitForPresentKHR)gpa(device, "vkWaitForPresentKHR"); if (table->WaitForPresentKHR == nullptr) { table->WaitForPresentKHR = (PFN_vkWaitForPresentKHR)StubWaitForPresentKHR; @@ -2653,6 +2673,10 @@ void layer_init_device_dispatch_table(VkDevice device, VkLayerDispatchTable* tab if (table->GetImageSubresourceLayout2KHR == nullptr) { table->GetImageSubresourceLayout2KHR = (PFN_vkGetImageSubresourceLayout2KHR)StubGetImageSubresourceLayout2KHR; } + table->CmdSetLineStippleKHR = (PFN_vkCmdSetLineStippleKHR)gpa(device, "vkCmdSetLineStippleKHR"); + if (table->CmdSetLineStippleKHR == nullptr) { + table->CmdSetLineStippleKHR = (PFN_vkCmdSetLineStippleKHR)StubCmdSetLineStippleKHR; + } table->GetCalibratedTimestampsKHR = (PFN_vkGetCalibratedTimestampsKHR)gpa(device, "vkGetCalibratedTimestampsKHR"); if (table->GetCalibratedTimestampsKHR == nullptr) { table->GetCalibratedTimestampsKHR = (PFN_vkGetCalibratedTimestampsKHR)StubGetCalibratedTimestampsKHR; @@ -3584,11 +3608,6 @@ void layer_init_device_dispatch_table(VkDevice device, VkLayerDispatchTable* tab table->GetPipelineIndirectDeviceAddressNV = (PFN_vkGetPipelineIndirectDeviceAddressNV)StubGetPipelineIndirectDeviceAddressNV; } - table->CmdSetTessellationDomainOriginEXT = - (PFN_vkCmdSetTessellationDomainOriginEXT)gpa(device, "vkCmdSetTessellationDomainOriginEXT"); - if (table->CmdSetTessellationDomainOriginEXT == nullptr) { - table->CmdSetTessellationDomainOriginEXT = (PFN_vkCmdSetTessellationDomainOriginEXT)StubCmdSetTessellationDomainOriginEXT; - } table->CmdSetDepthClampEnableEXT = (PFN_vkCmdSetDepthClampEnableEXT)gpa(device, "vkCmdSetDepthClampEnableEXT"); if (table->CmdSetDepthClampEnableEXT == nullptr) { table->CmdSetDepthClampEnableEXT = (PFN_vkCmdSetDepthClampEnableEXT)StubCmdSetDepthClampEnableEXT; @@ -3629,6 +3648,11 @@ void layer_init_device_dispatch_table(VkDevice device, VkLayerDispatchTable* tab if (table->CmdSetColorWriteMaskEXT == nullptr) { table->CmdSetColorWriteMaskEXT = (PFN_vkCmdSetColorWriteMaskEXT)StubCmdSetColorWriteMaskEXT; } + table->CmdSetTessellationDomainOriginEXT = + (PFN_vkCmdSetTessellationDomainOriginEXT)gpa(device, "vkCmdSetTessellationDomainOriginEXT"); + if (table->CmdSetTessellationDomainOriginEXT == nullptr) { + table->CmdSetTessellationDomainOriginEXT = (PFN_vkCmdSetTessellationDomainOriginEXT)StubCmdSetTessellationDomainOriginEXT; + } table->CmdSetRasterizationStreamEXT = (PFN_vkCmdSetRasterizationStreamEXT)gpa(device, "vkCmdSetRasterizationStreamEXT"); if (table->CmdSetRasterizationStreamEXT == nullptr) { table->CmdSetRasterizationStreamEXT = (PFN_vkCmdSetRasterizationStreamEXT)StubCmdSetRasterizationStreamEXT; diff --git a/layers/vulkan/generated/vk_extension_helper.cpp b/layers/vulkan/generated/vk_extension_helper.cpp index df5580e0a45..63981b518c7 100644 --- a/layers/vulkan/generated/vk_extension_helper.cpp +++ b/layers/vulkan/generated/vk_extension_helper.cpp @@ -163,6 +163,8 @@ static const vvl::unordered_set kDeviceExtensionNames = { VK_KHR_VULKAN_MEMORY_MODEL_EXTENSION_NAME, VK_KHR_SHADER_TERMINATE_INVOCATION_EXTENSION_NAME, VK_KHR_FRAGMENT_SHADING_RATE_EXTENSION_NAME, + VK_KHR_DYNAMIC_RENDERING_LOCAL_READ_EXTENSION_NAME, + VK_KHR_SHADER_QUAD_CONTROL_EXTENSION_NAME, VK_KHR_SPIRV_1_4_EXTENSION_NAME, VK_KHR_SEPARATE_DEPTH_STENCIL_LAYOUTS_EXTENSION_NAME, VK_KHR_PRESENT_WAIT_EXTENSION_NAME, @@ -185,12 +187,19 @@ static const vvl::unordered_set kDeviceExtensionNames = { VK_KHR_FORMAT_FEATURE_FLAGS_2_EXTENSION_NAME, VK_KHR_RAY_TRACING_MAINTENANCE_1_EXTENSION_NAME, VK_KHR_MAINTENANCE_4_EXTENSION_NAME, + VK_KHR_SHADER_SUBGROUP_ROTATE_EXTENSION_NAME, + VK_KHR_SHADER_MAXIMAL_RECONVERGENCE_EXTENSION_NAME, VK_KHR_MAINTENANCE_5_EXTENSION_NAME, VK_KHR_RAY_TRACING_POSITION_FETCH_EXTENSION_NAME, VK_KHR_COOPERATIVE_MATRIX_EXTENSION_NAME, VK_KHR_VIDEO_MAINTENANCE_1_EXTENSION_NAME, VK_KHR_VERTEX_ATTRIBUTE_DIVISOR_EXTENSION_NAME, + VK_KHR_LOAD_STORE_OP_NONE_EXTENSION_NAME, + VK_KHR_SHADER_FLOAT_CONTROLS_2_EXTENSION_NAME, + VK_KHR_INDEX_TYPE_UINT8_EXTENSION_NAME, + VK_KHR_LINE_RASTERIZATION_EXTENSION_NAME, VK_KHR_CALIBRATED_TIMESTAMPS_EXTENSION_NAME, + VK_KHR_SHADER_EXPECT_ASSUME_EXTENSION_NAME, VK_KHR_MAINTENANCE_6_EXTENSION_NAME, VK_NV_GLSL_SHADER_EXTENSION_NAME, VK_EXT_DEPTH_RANGE_UNRESTRICTED_EXTENSION_NAME, diff --git a/layers/vulkan/generated/vk_extension_helper.h b/layers/vulkan/generated/vk_extension_helper.h index b1a10eb79ff..4daad6e8677 100644 --- a/layers/vulkan/generated/vk_extension_helper.h +++ b/layers/vulkan/generated/vk_extension_helper.h @@ -392,6 +392,8 @@ struct DeviceExtensions : public InstanceExtensions { ExtEnabled vk_khr_vulkan_memory_model{kNotEnabled}; ExtEnabled vk_khr_shader_terminate_invocation{kNotEnabled}; ExtEnabled vk_khr_fragment_shading_rate{kNotEnabled}; + ExtEnabled vk_khr_dynamic_rendering_local_read{kNotEnabled}; + ExtEnabled vk_khr_shader_quad_control{kNotEnabled}; ExtEnabled vk_khr_spirv_1_4{kNotEnabled}; ExtEnabled vk_khr_separate_depth_stencil_layouts{kNotEnabled}; ExtEnabled vk_khr_present_wait{kNotEnabled}; @@ -414,12 +416,19 @@ struct DeviceExtensions : public InstanceExtensions { ExtEnabled vk_khr_format_feature_flags2{kNotEnabled}; ExtEnabled vk_khr_ray_tracing_maintenance1{kNotEnabled}; ExtEnabled vk_khr_maintenance4{kNotEnabled}; + ExtEnabled vk_khr_shader_subgroup_rotate{kNotEnabled}; + ExtEnabled vk_khr_shader_maximal_reconvergence{kNotEnabled}; ExtEnabled vk_khr_maintenance5{kNotEnabled}; ExtEnabled vk_khr_ray_tracing_position_fetch{kNotEnabled}; ExtEnabled vk_khr_cooperative_matrix{kNotEnabled}; ExtEnabled vk_khr_video_maintenance1{kNotEnabled}; ExtEnabled vk_khr_vertex_attribute_divisor{kNotEnabled}; + ExtEnabled vk_khr_load_store_op_none{kNotEnabled}; + ExtEnabled vk_khr_shader_float_controls2{kNotEnabled}; + ExtEnabled vk_khr_index_type_uint8{kNotEnabled}; + ExtEnabled vk_khr_line_rasterization{kNotEnabled}; ExtEnabled vk_khr_calibrated_timestamps{kNotEnabled}; + ExtEnabled vk_khr_shader_expect_assume{kNotEnabled}; ExtEnabled vk_khr_maintenance6{kNotEnabled}; ExtEnabled vk_nv_glsl_shader{kNotEnabled}; ExtEnabled vk_ext_depth_range_unrestricted{kNotEnabled}; @@ -945,6 +954,15 @@ struct DeviceExtensions : public InstanceExtensions { {{{&DeviceExtensions::vk_khr_create_renderpass2, VK_KHR_CREATE_RENDERPASS_2_EXTENSION_NAME}, {&DeviceExtensions::vk_khr_get_physical_device_properties2, VK_KHR_GET_PHYSICAL_DEVICE_PROPERTIES_2_EXTENSION_NAME}}})}, + {VK_KHR_DYNAMIC_RENDERING_LOCAL_READ_EXTENSION_NAME, + DeviceInfo(&DeviceExtensions::vk_khr_dynamic_rendering_local_read, + {{{&DeviceExtensions::vk_khr_dynamic_rendering, VK_KHR_DYNAMIC_RENDERING_EXTENSION_NAME}}})}, + {VK_KHR_SHADER_QUAD_CONTROL_EXTENSION_NAME, + DeviceInfo( + &DeviceExtensions::vk_khr_shader_quad_control, + {{{&DeviceExtensions::vk_feature_version_1_1, "VK_VERSION_1_1"}, + {&DeviceExtensions::vk_khr_vulkan_memory_model, VK_KHR_VULKAN_MEMORY_MODEL_EXTENSION_NAME}, + {&DeviceExtensions::vk_khr_shader_maximal_reconvergence, VK_KHR_SHADER_MAXIMAL_RECONVERGENCE_EXTENSION_NAME}}})}, {VK_KHR_SPIRV_1_4_EXTENSION_NAME, DeviceInfo(&DeviceExtensions::vk_khr_spirv_1_4, {{{&DeviceExtensions::vk_feature_version_1_1, "VK_VERSION_1_1"}, @@ -1017,6 +1035,10 @@ struct DeviceExtensions : public InstanceExtensions { {{{&DeviceExtensions::vk_khr_acceleration_structure, VK_KHR_ACCELERATION_STRUCTURE_EXTENSION_NAME}}})}, {VK_KHR_MAINTENANCE_4_EXTENSION_NAME, DeviceInfo(&DeviceExtensions::vk_khr_maintenance4, {{{&DeviceExtensions::vk_feature_version_1_1, "VK_VERSION_1_1"}}})}, + {VK_KHR_SHADER_SUBGROUP_ROTATE_EXTENSION_NAME, DeviceInfo(&DeviceExtensions::vk_khr_shader_subgroup_rotate, {})}, + {VK_KHR_SHADER_MAXIMAL_RECONVERGENCE_EXTENSION_NAME, + DeviceInfo(&DeviceExtensions::vk_khr_shader_maximal_reconvergence, + {{{&DeviceExtensions::vk_feature_version_1_1, "VK_VERSION_1_1"}}})}, {VK_KHR_MAINTENANCE_5_EXTENSION_NAME, DeviceInfo(&DeviceExtensions::vk_khr_maintenance5, {{{&DeviceExtensions::vk_feature_version_1_1, "VK_VERSION_1_1"}, @@ -1034,9 +1056,23 @@ struct DeviceExtensions : public InstanceExtensions { DeviceInfo(&DeviceExtensions::vk_khr_vertex_attribute_divisor, {{{&DeviceExtensions::vk_khr_get_physical_device_properties2, VK_KHR_GET_PHYSICAL_DEVICE_PROPERTIES_2_EXTENSION_NAME}}})}, + {VK_KHR_LOAD_STORE_OP_NONE_EXTENSION_NAME, DeviceInfo(&DeviceExtensions::vk_khr_load_store_op_none, {})}, + {VK_KHR_SHADER_FLOAT_CONTROLS_2_EXTENSION_NAME, + DeviceInfo(&DeviceExtensions::vk_khr_shader_float_controls2, + {{{&DeviceExtensions::vk_feature_version_1_1, "VK_VERSION_1_1"}, + {&DeviceExtensions::vk_khr_shader_float_controls, VK_KHR_SHADER_FLOAT_CONTROLS_EXTENSION_NAME}}})}, + {VK_KHR_INDEX_TYPE_UINT8_EXTENSION_NAME, + DeviceInfo(&DeviceExtensions::vk_khr_index_type_uint8, {{{&DeviceExtensions::vk_khr_get_physical_device_properties2, + VK_KHR_GET_PHYSICAL_DEVICE_PROPERTIES_2_EXTENSION_NAME}}})}, + {VK_KHR_LINE_RASTERIZATION_EXTENSION_NAME, DeviceInfo(&DeviceExtensions::vk_khr_line_rasterization, + {{{&DeviceExtensions::vk_khr_get_physical_device_properties2, + VK_KHR_GET_PHYSICAL_DEVICE_PROPERTIES_2_EXTENSION_NAME}}})}, {VK_KHR_CALIBRATED_TIMESTAMPS_EXTENSION_NAME, DeviceInfo(&DeviceExtensions::vk_khr_calibrated_timestamps, {{{&DeviceExtensions::vk_khr_get_physical_device_properties2, VK_KHR_GET_PHYSICAL_DEVICE_PROPERTIES_2_EXTENSION_NAME}}})}, + {VK_KHR_SHADER_EXPECT_ASSUME_EXTENSION_NAME, DeviceInfo(&DeviceExtensions::vk_khr_shader_expect_assume, + {{{&DeviceExtensions::vk_khr_get_physical_device_properties2, + VK_KHR_GET_PHYSICAL_DEVICE_PROPERTIES_2_EXTENSION_NAME}}})}, {VK_KHR_MAINTENANCE_6_EXTENSION_NAME, DeviceInfo(&DeviceExtensions::vk_khr_maintenance6, {{{&DeviceExtensions::vk_feature_version_1_1, "VK_VERSION_1_1"}}})}, {VK_NV_GLSL_SHADER_EXTENSION_NAME, DeviceInfo(&DeviceExtensions::vk_nv_glsl_shader, {})}, diff --git a/layers/vulkan/generated/vk_function_pointers.cpp b/layers/vulkan/generated/vk_function_pointers.cpp index db157bdd6c5..6ded6e92212 100644 --- a/layers/vulkan/generated/vk_function_pointers.cpp +++ b/layers/vulkan/generated/vk_function_pointers.cpp @@ -3,9 +3,9 @@ /*************************************************************************** * - * Copyright (c) 2015-2023 The Khronos Group Inc. - * Copyright (c) 2015-2023 Valve Corporation - * Copyright (c) 2015-2023 LunarG, Inc. + * Copyright (c) 2015-2024 The Khronos Group Inc. + * Copyright (c) 2015-2024 Valve Corporation + * Copyright (c) 2015-2024 LunarG, Inc. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. @@ -415,6 +415,8 @@ PFN_vkWaitSemaphoresKHR WaitSemaphoresKHR; PFN_vkSignalSemaphoreKHR SignalSemaphoreKHR; PFN_vkGetPhysicalDeviceFragmentShadingRatesKHR GetPhysicalDeviceFragmentShadingRatesKHR; PFN_vkCmdSetFragmentShadingRateKHR CmdSetFragmentShadingRateKHR; +PFN_vkCmdSetRenderingAttachmentLocationsKHR CmdSetRenderingAttachmentLocationsKHR; +PFN_vkCmdSetRenderingInputAttachmentIndicesKHR CmdSetRenderingInputAttachmentIndicesKHR; PFN_vkWaitForPresentKHR WaitForPresentKHR; PFN_vkGetBufferDeviceAddressKHR GetBufferDeviceAddressKHR; PFN_vkGetBufferOpaqueCaptureAddressKHR GetBufferOpaqueCaptureAddressKHR; @@ -455,6 +457,7 @@ PFN_vkGetRenderingAreaGranularityKHR GetRenderingAreaGranularityKHR; PFN_vkGetDeviceImageSubresourceLayoutKHR GetDeviceImageSubresourceLayoutKHR; PFN_vkGetImageSubresourceLayout2KHR GetImageSubresourceLayout2KHR; PFN_vkGetPhysicalDeviceCooperativeMatrixPropertiesKHR GetPhysicalDeviceCooperativeMatrixPropertiesKHR; +PFN_vkCmdSetLineStippleKHR CmdSetLineStippleKHR; PFN_vkGetPhysicalDeviceCalibrateableTimeDomainsKHR GetPhysicalDeviceCalibrateableTimeDomainsKHR; PFN_vkGetCalibratedTimestampsKHR GetCalibratedTimestampsKHR; PFN_vkCmdBindDescriptorSets2KHR CmdBindDescriptorSets2KHR; @@ -725,7 +728,6 @@ PFN_vkCmdDecompressMemoryIndirectCountNV CmdDecompressMemoryIndirectCountNV; PFN_vkGetPipelineIndirectMemoryRequirementsNV GetPipelineIndirectMemoryRequirementsNV; PFN_vkCmdUpdatePipelineIndirectBufferNV CmdUpdatePipelineIndirectBufferNV; PFN_vkGetPipelineIndirectDeviceAddressNV GetPipelineIndirectDeviceAddressNV; -PFN_vkCmdSetTessellationDomainOriginEXT CmdSetTessellationDomainOriginEXT; PFN_vkCmdSetDepthClampEnableEXT CmdSetDepthClampEnableEXT; PFN_vkCmdSetPolygonModeEXT CmdSetPolygonModeEXT; PFN_vkCmdSetRasterizationSamplesEXT CmdSetRasterizationSamplesEXT; @@ -736,6 +738,7 @@ PFN_vkCmdSetLogicOpEnableEXT CmdSetLogicOpEnableEXT; PFN_vkCmdSetColorBlendEnableEXT CmdSetColorBlendEnableEXT; PFN_vkCmdSetColorBlendEquationEXT CmdSetColorBlendEquationEXT; PFN_vkCmdSetColorWriteMaskEXT CmdSetColorWriteMaskEXT; +PFN_vkCmdSetTessellationDomainOriginEXT CmdSetTessellationDomainOriginEXT; PFN_vkCmdSetRasterizationStreamEXT CmdSetRasterizationStreamEXT; PFN_vkCmdSetConservativeRasterizationModeEXT CmdSetConservativeRasterizationModeEXT; PFN_vkCmdSetExtraPrimitiveOverestimationSizeEXT CmdSetExtraPrimitiveOverestimationSizeEXT; @@ -1651,6 +1654,12 @@ void InitDeviceExtension(VkInstance instance, VkDevice device, const char* exten GetPhysicalDeviceFragmentShadingRatesKHR = reinterpret_cast(GetInstanceProcAddr(instance, "vkGetPhysicalDeviceFragmentShadingRatesKHR")); } }, + { + "VK_KHR_dynamic_rendering_local_read", [](VkInstance , VkDevice device) { + CmdSetRenderingAttachmentLocationsKHR = reinterpret_cast(GetDeviceProcAddr(device, "vkCmdSetRenderingAttachmentLocationsKHR")); + CmdSetRenderingInputAttachmentIndicesKHR = reinterpret_cast(GetDeviceProcAddr(device, "vkCmdSetRenderingInputAttachmentIndicesKHR")); + } + }, { "VK_KHR_present_wait", [](VkInstance , VkDevice device) { WaitForPresentKHR = reinterpret_cast(GetDeviceProcAddr(device, "vkWaitForPresentKHR")); @@ -1739,6 +1748,11 @@ void InitDeviceExtension(VkInstance instance, VkDevice device, const char* exten GetPhysicalDeviceCooperativeMatrixPropertiesKHR = reinterpret_cast(GetInstanceProcAddr(instance, "vkGetPhysicalDeviceCooperativeMatrixPropertiesKHR")); } }, + { + "VK_KHR_line_rasterization", [](VkInstance , VkDevice device) { + CmdSetLineStippleKHR = reinterpret_cast(GetDeviceProcAddr(device, "vkCmdSetLineStippleKHR")); + } + }, { "VK_KHR_calibrated_timestamps", [](VkInstance instance, VkDevice device) { GetCalibratedTimestampsKHR = reinterpret_cast(GetDeviceProcAddr(device, "vkGetCalibratedTimestampsKHR")); @@ -2233,7 +2247,6 @@ void InitDeviceExtension(VkInstance instance, VkDevice device, const char* exten }, { "VK_EXT_extended_dynamic_state3", [](VkInstance , VkDevice device) { - CmdSetTessellationDomainOriginEXT = reinterpret_cast(GetDeviceProcAddr(device, "vkCmdSetTessellationDomainOriginEXT")); CmdSetDepthClampEnableEXT = reinterpret_cast(GetDeviceProcAddr(device, "vkCmdSetDepthClampEnableEXT")); CmdSetPolygonModeEXT = reinterpret_cast(GetDeviceProcAddr(device, "vkCmdSetPolygonModeEXT")); CmdSetRasterizationSamplesEXT = reinterpret_cast(GetDeviceProcAddr(device, "vkCmdSetRasterizationSamplesEXT")); @@ -2244,6 +2257,7 @@ void InitDeviceExtension(VkInstance instance, VkDevice device, const char* exten CmdSetColorBlendEnableEXT = reinterpret_cast(GetDeviceProcAddr(device, "vkCmdSetColorBlendEnableEXT")); CmdSetColorBlendEquationEXT = reinterpret_cast(GetDeviceProcAddr(device, "vkCmdSetColorBlendEquationEXT")); CmdSetColorWriteMaskEXT = reinterpret_cast(GetDeviceProcAddr(device, "vkCmdSetColorWriteMaskEXT")); + CmdSetTessellationDomainOriginEXT = reinterpret_cast(GetDeviceProcAddr(device, "vkCmdSetTessellationDomainOriginEXT")); CmdSetRasterizationStreamEXT = reinterpret_cast(GetDeviceProcAddr(device, "vkCmdSetRasterizationStreamEXT")); CmdSetConservativeRasterizationModeEXT = reinterpret_cast(GetDeviceProcAddr(device, "vkCmdSetConservativeRasterizationModeEXT")); CmdSetExtraPrimitiveOverestimationSizeEXT = reinterpret_cast(GetDeviceProcAddr(device, "vkCmdSetExtraPrimitiveOverestimationSizeEXT")); @@ -2534,6 +2548,8 @@ void ResetAllExtensions() { SignalSemaphoreKHR = nullptr; GetPhysicalDeviceFragmentShadingRatesKHR = nullptr; CmdSetFragmentShadingRateKHR = nullptr; + CmdSetRenderingAttachmentLocationsKHR = nullptr; + CmdSetRenderingInputAttachmentIndicesKHR = nullptr; WaitForPresentKHR = nullptr; GetBufferDeviceAddressKHR = nullptr; GetBufferOpaqueCaptureAddressKHR = nullptr; @@ -2574,6 +2590,7 @@ void ResetAllExtensions() { GetDeviceImageSubresourceLayoutKHR = nullptr; GetImageSubresourceLayout2KHR = nullptr; GetPhysicalDeviceCooperativeMatrixPropertiesKHR = nullptr; + CmdSetLineStippleKHR = nullptr; GetPhysicalDeviceCalibrateableTimeDomainsKHR = nullptr; GetCalibratedTimestampsKHR = nullptr; CmdBindDescriptorSets2KHR = nullptr; @@ -2844,7 +2861,6 @@ void ResetAllExtensions() { GetPipelineIndirectMemoryRequirementsNV = nullptr; CmdUpdatePipelineIndirectBufferNV = nullptr; GetPipelineIndirectDeviceAddressNV = nullptr; - CmdSetTessellationDomainOriginEXT = nullptr; CmdSetDepthClampEnableEXT = nullptr; CmdSetPolygonModeEXT = nullptr; CmdSetRasterizationSamplesEXT = nullptr; @@ -2855,6 +2871,7 @@ void ResetAllExtensions() { CmdSetColorBlendEnableEXT = nullptr; CmdSetColorBlendEquationEXT = nullptr; CmdSetColorWriteMaskEXT = nullptr; + CmdSetTessellationDomainOriginEXT = nullptr; CmdSetRasterizationStreamEXT = nullptr; CmdSetConservativeRasterizationModeEXT = nullptr; CmdSetExtraPrimitiveOverestimationSizeEXT = nullptr; diff --git a/layers/vulkan/generated/vk_function_pointers.h b/layers/vulkan/generated/vk_function_pointers.h index 96a29930929..cb019f54f35 100644 --- a/layers/vulkan/generated/vk_function_pointers.h +++ b/layers/vulkan/generated/vk_function_pointers.h @@ -3,9 +3,9 @@ /*************************************************************************** * - * Copyright (c) 2015-2023 The Khronos Group Inc. - * Copyright (c) 2015-2023 Valve Corporation - * Copyright (c) 2015-2023 LunarG, Inc. + * Copyright (c) 2015-2024 The Khronos Group Inc. + * Copyright (c) 2015-2024 Valve Corporation + * Copyright (c) 2015-2024 LunarG, Inc. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. @@ -378,6 +378,8 @@ extern PFN_vkWaitSemaphoresKHR WaitSemaphoresKHR; extern PFN_vkSignalSemaphoreKHR SignalSemaphoreKHR; extern PFN_vkGetPhysicalDeviceFragmentShadingRatesKHR GetPhysicalDeviceFragmentShadingRatesKHR; extern PFN_vkCmdSetFragmentShadingRateKHR CmdSetFragmentShadingRateKHR; +extern PFN_vkCmdSetRenderingAttachmentLocationsKHR CmdSetRenderingAttachmentLocationsKHR; +extern PFN_vkCmdSetRenderingInputAttachmentIndicesKHR CmdSetRenderingInputAttachmentIndicesKHR; extern PFN_vkWaitForPresentKHR WaitForPresentKHR; extern PFN_vkGetBufferDeviceAddressKHR GetBufferDeviceAddressKHR; extern PFN_vkGetBufferOpaqueCaptureAddressKHR GetBufferOpaqueCaptureAddressKHR; @@ -418,6 +420,7 @@ extern PFN_vkGetRenderingAreaGranularityKHR GetRenderingAreaGranularityKHR; extern PFN_vkGetDeviceImageSubresourceLayoutKHR GetDeviceImageSubresourceLayoutKHR; extern PFN_vkGetImageSubresourceLayout2KHR GetImageSubresourceLayout2KHR; extern PFN_vkGetPhysicalDeviceCooperativeMatrixPropertiesKHR GetPhysicalDeviceCooperativeMatrixPropertiesKHR; +extern PFN_vkCmdSetLineStippleKHR CmdSetLineStippleKHR; extern PFN_vkGetPhysicalDeviceCalibrateableTimeDomainsKHR GetPhysicalDeviceCalibrateableTimeDomainsKHR; extern PFN_vkGetCalibratedTimestampsKHR GetCalibratedTimestampsKHR; extern PFN_vkCmdBindDescriptorSets2KHR CmdBindDescriptorSets2KHR; @@ -688,7 +691,6 @@ extern PFN_vkCmdDecompressMemoryIndirectCountNV CmdDecompressMemoryIndirectCount extern PFN_vkGetPipelineIndirectMemoryRequirementsNV GetPipelineIndirectMemoryRequirementsNV; extern PFN_vkCmdUpdatePipelineIndirectBufferNV CmdUpdatePipelineIndirectBufferNV; extern PFN_vkGetPipelineIndirectDeviceAddressNV GetPipelineIndirectDeviceAddressNV; -extern PFN_vkCmdSetTessellationDomainOriginEXT CmdSetTessellationDomainOriginEXT; extern PFN_vkCmdSetDepthClampEnableEXT CmdSetDepthClampEnableEXT; extern PFN_vkCmdSetPolygonModeEXT CmdSetPolygonModeEXT; extern PFN_vkCmdSetRasterizationSamplesEXT CmdSetRasterizationSamplesEXT; @@ -699,6 +701,7 @@ extern PFN_vkCmdSetLogicOpEnableEXT CmdSetLogicOpEnableEXT; extern PFN_vkCmdSetColorBlendEnableEXT CmdSetColorBlendEnableEXT; extern PFN_vkCmdSetColorBlendEquationEXT CmdSetColorBlendEquationEXT; extern PFN_vkCmdSetColorWriteMaskEXT CmdSetColorWriteMaskEXT; +extern PFN_vkCmdSetTessellationDomainOriginEXT CmdSetTessellationDomainOriginEXT; extern PFN_vkCmdSetRasterizationStreamEXT CmdSetRasterizationStreamEXT; extern PFN_vkCmdSetConservativeRasterizationModeEXT CmdSetConservativeRasterizationModeEXT; extern PFN_vkCmdSetExtraPrimitiveOverestimationSizeEXT CmdSetExtraPrimitiveOverestimationSizeEXT; diff --git a/layers/vulkan/generated/vk_layer_dispatch_table.h b/layers/vulkan/generated/vk_layer_dispatch_table.h index ca1cbba104d..dae5cf42a42 100644 --- a/layers/vulkan/generated/vk_layer_dispatch_table.h +++ b/layers/vulkan/generated/vk_layer_dispatch_table.h @@ -3,10 +3,10 @@ /*************************************************************************** * - * Copyright (c) 2015-2023 The Khronos Group Inc. - * Copyright (c) 2015-2023 Valve Corporation - * Copyright (c) 2015-2023 LunarG, Inc. - * Copyright (c) 2015-2023 Google Inc. + * Copyright (c) 2015-2024 The Khronos Group Inc. + * Copyright (c) 2015-2024 Valve Corporation + * Copyright (c) 2015-2024 LunarG, Inc. + * Copyright (c) 2015-2024 Google Inc. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. @@ -432,6 +432,8 @@ typedef struct VkLayerDispatchTable_ { PFN_vkWaitSemaphoresKHR WaitSemaphoresKHR; PFN_vkSignalSemaphoreKHR SignalSemaphoreKHR; PFN_vkCmdSetFragmentShadingRateKHR CmdSetFragmentShadingRateKHR; + PFN_vkCmdSetRenderingAttachmentLocationsKHR CmdSetRenderingAttachmentLocationsKHR; + PFN_vkCmdSetRenderingInputAttachmentIndicesKHR CmdSetRenderingInputAttachmentIndicesKHR; PFN_vkWaitForPresentKHR WaitForPresentKHR; PFN_vkGetBufferDeviceAddressKHR GetBufferDeviceAddressKHR; PFN_vkGetBufferOpaqueCaptureAddressKHR GetBufferOpaqueCaptureAddressKHR; @@ -470,6 +472,7 @@ typedef struct VkLayerDispatchTable_ { PFN_vkGetRenderingAreaGranularityKHR GetRenderingAreaGranularityKHR; PFN_vkGetDeviceImageSubresourceLayoutKHR GetDeviceImageSubresourceLayoutKHR; PFN_vkGetImageSubresourceLayout2KHR GetImageSubresourceLayout2KHR; + PFN_vkCmdSetLineStippleKHR CmdSetLineStippleKHR; PFN_vkGetCalibratedTimestampsKHR GetCalibratedTimestampsKHR; PFN_vkCmdBindDescriptorSets2KHR CmdBindDescriptorSets2KHR; PFN_vkCmdPushConstants2KHR CmdPushConstants2KHR; @@ -687,7 +690,6 @@ typedef struct VkLayerDispatchTable_ { PFN_vkGetPipelineIndirectMemoryRequirementsNV GetPipelineIndirectMemoryRequirementsNV; PFN_vkCmdUpdatePipelineIndirectBufferNV CmdUpdatePipelineIndirectBufferNV; PFN_vkGetPipelineIndirectDeviceAddressNV GetPipelineIndirectDeviceAddressNV; - PFN_vkCmdSetTessellationDomainOriginEXT CmdSetTessellationDomainOriginEXT; PFN_vkCmdSetDepthClampEnableEXT CmdSetDepthClampEnableEXT; PFN_vkCmdSetPolygonModeEXT CmdSetPolygonModeEXT; PFN_vkCmdSetRasterizationSamplesEXT CmdSetRasterizationSamplesEXT; @@ -698,6 +700,7 @@ typedef struct VkLayerDispatchTable_ { PFN_vkCmdSetColorBlendEnableEXT CmdSetColorBlendEnableEXT; PFN_vkCmdSetColorBlendEquationEXT CmdSetColorBlendEquationEXT; PFN_vkCmdSetColorWriteMaskEXT CmdSetColorWriteMaskEXT; + PFN_vkCmdSetTessellationDomainOriginEXT CmdSetTessellationDomainOriginEXT; PFN_vkCmdSetRasterizationStreamEXT CmdSetRasterizationStreamEXT; PFN_vkCmdSetConservativeRasterizationModeEXT CmdSetConservativeRasterizationModeEXT; PFN_vkCmdSetExtraPrimitiveOverestimationSizeEXT CmdSetExtraPrimitiveOverestimationSizeEXT; diff --git a/layers/vulkan/generated/vk_safe_struct.h b/layers/vulkan/generated/vk_safe_struct.h index f04c0db2f90..d2df5ec0ece 100644 --- a/layers/vulkan/generated/vk_safe_struct.h +++ b/layers/vulkan/generated/vk_safe_struct.h @@ -3,10 +3,10 @@ /*************************************************************************** * - * Copyright (c) 2015-2023 The Khronos Group Inc. - * Copyright (c) 2015-2023 Valve Corporation - * Copyright (c) 2015-2023 LunarG, Inc. - * Copyright (c) 2015-2023 Google Inc. + * Copyright (c) 2015-2024 The Khronos Group Inc. + * Copyright (c) 2015-2024 Valve Corporation + * Copyright (c) 2015-2024 LunarG, Inc. + * Copyright (c) 2015-2024 Google Inc. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. @@ -7121,6 +7121,88 @@ struct safe_VkPhysicalDeviceFragmentShadingRateKHR { return reinterpret_cast(this); } }; +struct safe_VkPhysicalDeviceDynamicRenderingLocalReadFeaturesKHR { + VkStructureType sType; + void* pNext{}; + VkBool32 dynamicRenderingLocalRead; + + safe_VkPhysicalDeviceDynamicRenderingLocalReadFeaturesKHR(const VkPhysicalDeviceDynamicRenderingLocalReadFeaturesKHR* in_struct, + PNextCopyState* copy_state = {}, bool copy_pnext = true); + safe_VkPhysicalDeviceDynamicRenderingLocalReadFeaturesKHR( + const safe_VkPhysicalDeviceDynamicRenderingLocalReadFeaturesKHR& copy_src); + safe_VkPhysicalDeviceDynamicRenderingLocalReadFeaturesKHR& operator=( + const safe_VkPhysicalDeviceDynamicRenderingLocalReadFeaturesKHR& copy_src); + safe_VkPhysicalDeviceDynamicRenderingLocalReadFeaturesKHR(); + ~safe_VkPhysicalDeviceDynamicRenderingLocalReadFeaturesKHR(); + void initialize(const VkPhysicalDeviceDynamicRenderingLocalReadFeaturesKHR* in_struct, PNextCopyState* copy_state = {}); + void initialize(const safe_VkPhysicalDeviceDynamicRenderingLocalReadFeaturesKHR* copy_src, PNextCopyState* copy_state = {}); + VkPhysicalDeviceDynamicRenderingLocalReadFeaturesKHR* ptr() { + return reinterpret_cast(this); + } + VkPhysicalDeviceDynamicRenderingLocalReadFeaturesKHR const* ptr() const { + return reinterpret_cast(this); + } +}; +struct safe_VkRenderingAttachmentLocationInfoKHR { + VkStructureType sType; + const void* pNext{}; + uint32_t colorAttachmentCount; + const uint32_t* pColorAttachmentLocations{}; + + safe_VkRenderingAttachmentLocationInfoKHR(const VkRenderingAttachmentLocationInfoKHR* in_struct, + PNextCopyState* copy_state = {}, bool copy_pnext = true); + safe_VkRenderingAttachmentLocationInfoKHR(const safe_VkRenderingAttachmentLocationInfoKHR& copy_src); + safe_VkRenderingAttachmentLocationInfoKHR& operator=(const safe_VkRenderingAttachmentLocationInfoKHR& copy_src); + safe_VkRenderingAttachmentLocationInfoKHR(); + ~safe_VkRenderingAttachmentLocationInfoKHR(); + void initialize(const VkRenderingAttachmentLocationInfoKHR* in_struct, PNextCopyState* copy_state = {}); + void initialize(const safe_VkRenderingAttachmentLocationInfoKHR* copy_src, PNextCopyState* copy_state = {}); + VkRenderingAttachmentLocationInfoKHR* ptr() { return reinterpret_cast(this); } + VkRenderingAttachmentLocationInfoKHR const* ptr() const { + return reinterpret_cast(this); + } +}; +struct safe_VkRenderingInputAttachmentIndexInfoKHR { + VkStructureType sType; + const void* pNext{}; + uint32_t colorAttachmentCount; + const uint32_t* pColorAttachmentInputIndices{}; + const uint32_t* pDepthInputAttachmentIndex{}; + const uint32_t* pStencilInputAttachmentIndex{}; + + safe_VkRenderingInputAttachmentIndexInfoKHR(const VkRenderingInputAttachmentIndexInfoKHR* in_struct, + PNextCopyState* copy_state = {}, bool copy_pnext = true); + safe_VkRenderingInputAttachmentIndexInfoKHR(const safe_VkRenderingInputAttachmentIndexInfoKHR& copy_src); + safe_VkRenderingInputAttachmentIndexInfoKHR& operator=(const safe_VkRenderingInputAttachmentIndexInfoKHR& copy_src); + safe_VkRenderingInputAttachmentIndexInfoKHR(); + ~safe_VkRenderingInputAttachmentIndexInfoKHR(); + void initialize(const VkRenderingInputAttachmentIndexInfoKHR* in_struct, PNextCopyState* copy_state = {}); + void initialize(const safe_VkRenderingInputAttachmentIndexInfoKHR* copy_src, PNextCopyState* copy_state = {}); + VkRenderingInputAttachmentIndexInfoKHR* ptr() { return reinterpret_cast(this); } + VkRenderingInputAttachmentIndexInfoKHR const* ptr() const { + return reinterpret_cast(this); + } +}; +struct safe_VkPhysicalDeviceShaderQuadControlFeaturesKHR { + VkStructureType sType; + void* pNext{}; + VkBool32 shaderQuadControl; + + safe_VkPhysicalDeviceShaderQuadControlFeaturesKHR(const VkPhysicalDeviceShaderQuadControlFeaturesKHR* in_struct, + PNextCopyState* copy_state = {}, bool copy_pnext = true); + safe_VkPhysicalDeviceShaderQuadControlFeaturesKHR(const safe_VkPhysicalDeviceShaderQuadControlFeaturesKHR& copy_src); + safe_VkPhysicalDeviceShaderQuadControlFeaturesKHR& operator=(const safe_VkPhysicalDeviceShaderQuadControlFeaturesKHR& copy_src); + safe_VkPhysicalDeviceShaderQuadControlFeaturesKHR(); + ~safe_VkPhysicalDeviceShaderQuadControlFeaturesKHR(); + void initialize(const VkPhysicalDeviceShaderQuadControlFeaturesKHR* in_struct, PNextCopyState* copy_state = {}); + void initialize(const safe_VkPhysicalDeviceShaderQuadControlFeaturesKHR* copy_src, PNextCopyState* copy_state = {}); + VkPhysicalDeviceShaderQuadControlFeaturesKHR* ptr() { + return reinterpret_cast(this); + } + VkPhysicalDeviceShaderQuadControlFeaturesKHR const* ptr() const { + return reinterpret_cast(this); + } +}; struct safe_VkSurfaceProtectedCapabilitiesKHR { VkStructureType sType; const void* pNext{}; @@ -7734,6 +7816,51 @@ struct safe_VkPhysicalDeviceRayTracingMaintenance1FeaturesKHR { return reinterpret_cast(this); } }; +struct safe_VkPhysicalDeviceShaderSubgroupRotateFeaturesKHR { + VkStructureType sType; + void* pNext{}; + VkBool32 shaderSubgroupRotate; + VkBool32 shaderSubgroupRotateClustered; + + safe_VkPhysicalDeviceShaderSubgroupRotateFeaturesKHR(const VkPhysicalDeviceShaderSubgroupRotateFeaturesKHR* in_struct, + PNextCopyState* copy_state = {}, bool copy_pnext = true); + safe_VkPhysicalDeviceShaderSubgroupRotateFeaturesKHR(const safe_VkPhysicalDeviceShaderSubgroupRotateFeaturesKHR& copy_src); + safe_VkPhysicalDeviceShaderSubgroupRotateFeaturesKHR& operator=( + const safe_VkPhysicalDeviceShaderSubgroupRotateFeaturesKHR& copy_src); + safe_VkPhysicalDeviceShaderSubgroupRotateFeaturesKHR(); + ~safe_VkPhysicalDeviceShaderSubgroupRotateFeaturesKHR(); + void initialize(const VkPhysicalDeviceShaderSubgroupRotateFeaturesKHR* in_struct, PNextCopyState* copy_state = {}); + void initialize(const safe_VkPhysicalDeviceShaderSubgroupRotateFeaturesKHR* copy_src, PNextCopyState* copy_state = {}); + VkPhysicalDeviceShaderSubgroupRotateFeaturesKHR* ptr() { + return reinterpret_cast(this); + } + VkPhysicalDeviceShaderSubgroupRotateFeaturesKHR const* ptr() const { + return reinterpret_cast(this); + } +}; +struct safe_VkPhysicalDeviceShaderMaximalReconvergenceFeaturesKHR { + VkStructureType sType; + void* pNext{}; + VkBool32 shaderMaximalReconvergence; + + safe_VkPhysicalDeviceShaderMaximalReconvergenceFeaturesKHR( + const VkPhysicalDeviceShaderMaximalReconvergenceFeaturesKHR* in_struct, PNextCopyState* copy_state = {}, + bool copy_pnext = true); + safe_VkPhysicalDeviceShaderMaximalReconvergenceFeaturesKHR( + const safe_VkPhysicalDeviceShaderMaximalReconvergenceFeaturesKHR& copy_src); + safe_VkPhysicalDeviceShaderMaximalReconvergenceFeaturesKHR& operator=( + const safe_VkPhysicalDeviceShaderMaximalReconvergenceFeaturesKHR& copy_src); + safe_VkPhysicalDeviceShaderMaximalReconvergenceFeaturesKHR(); + ~safe_VkPhysicalDeviceShaderMaximalReconvergenceFeaturesKHR(); + void initialize(const VkPhysicalDeviceShaderMaximalReconvergenceFeaturesKHR* in_struct, PNextCopyState* copy_state = {}); + void initialize(const safe_VkPhysicalDeviceShaderMaximalReconvergenceFeaturesKHR* copy_src, PNextCopyState* copy_state = {}); + VkPhysicalDeviceShaderMaximalReconvergenceFeaturesKHR* ptr() { + return reinterpret_cast(this); + } + VkPhysicalDeviceShaderMaximalReconvergenceFeaturesKHR const* ptr() const { + return reinterpret_cast(this); + } +}; struct safe_VkPhysicalDeviceMaintenance5FeaturesKHR { VkStructureType sType; void* pNext{}; @@ -8068,6 +8195,115 @@ struct safe_VkPhysicalDeviceVertexAttributeDivisorFeaturesKHR { return reinterpret_cast(this); } }; +struct safe_VkPhysicalDeviceShaderFloatControls2FeaturesKHR { + VkStructureType sType; + void* pNext{}; + VkBool32 shaderFloatControls2; + + safe_VkPhysicalDeviceShaderFloatControls2FeaturesKHR(const VkPhysicalDeviceShaderFloatControls2FeaturesKHR* in_struct, + PNextCopyState* copy_state = {}, bool copy_pnext = true); + safe_VkPhysicalDeviceShaderFloatControls2FeaturesKHR(const safe_VkPhysicalDeviceShaderFloatControls2FeaturesKHR& copy_src); + safe_VkPhysicalDeviceShaderFloatControls2FeaturesKHR& operator=( + const safe_VkPhysicalDeviceShaderFloatControls2FeaturesKHR& copy_src); + safe_VkPhysicalDeviceShaderFloatControls2FeaturesKHR(); + ~safe_VkPhysicalDeviceShaderFloatControls2FeaturesKHR(); + void initialize(const VkPhysicalDeviceShaderFloatControls2FeaturesKHR* in_struct, PNextCopyState* copy_state = {}); + void initialize(const safe_VkPhysicalDeviceShaderFloatControls2FeaturesKHR* copy_src, PNextCopyState* copy_state = {}); + VkPhysicalDeviceShaderFloatControls2FeaturesKHR* ptr() { + return reinterpret_cast(this); + } + VkPhysicalDeviceShaderFloatControls2FeaturesKHR const* ptr() const { + return reinterpret_cast(this); + } +}; +struct safe_VkPhysicalDeviceIndexTypeUint8FeaturesKHR { + VkStructureType sType; + void* pNext{}; + VkBool32 indexTypeUint8; + + safe_VkPhysicalDeviceIndexTypeUint8FeaturesKHR(const VkPhysicalDeviceIndexTypeUint8FeaturesKHR* in_struct, + PNextCopyState* copy_state = {}, bool copy_pnext = true); + safe_VkPhysicalDeviceIndexTypeUint8FeaturesKHR(const safe_VkPhysicalDeviceIndexTypeUint8FeaturesKHR& copy_src); + safe_VkPhysicalDeviceIndexTypeUint8FeaturesKHR& operator=(const safe_VkPhysicalDeviceIndexTypeUint8FeaturesKHR& copy_src); + safe_VkPhysicalDeviceIndexTypeUint8FeaturesKHR(); + ~safe_VkPhysicalDeviceIndexTypeUint8FeaturesKHR(); + void initialize(const VkPhysicalDeviceIndexTypeUint8FeaturesKHR* in_struct, PNextCopyState* copy_state = {}); + void initialize(const safe_VkPhysicalDeviceIndexTypeUint8FeaturesKHR* copy_src, PNextCopyState* copy_state = {}); + VkPhysicalDeviceIndexTypeUint8FeaturesKHR* ptr() { return reinterpret_cast(this); } + VkPhysicalDeviceIndexTypeUint8FeaturesKHR const* ptr() const { + return reinterpret_cast(this); + } +}; +struct safe_VkPhysicalDeviceLineRasterizationFeaturesKHR { + VkStructureType sType; + void* pNext{}; + VkBool32 rectangularLines; + VkBool32 bresenhamLines; + VkBool32 smoothLines; + VkBool32 stippledRectangularLines; + VkBool32 stippledBresenhamLines; + VkBool32 stippledSmoothLines; + + safe_VkPhysicalDeviceLineRasterizationFeaturesKHR(const VkPhysicalDeviceLineRasterizationFeaturesKHR* in_struct, + PNextCopyState* copy_state = {}, bool copy_pnext = true); + safe_VkPhysicalDeviceLineRasterizationFeaturesKHR(const safe_VkPhysicalDeviceLineRasterizationFeaturesKHR& copy_src); + safe_VkPhysicalDeviceLineRasterizationFeaturesKHR& operator=(const safe_VkPhysicalDeviceLineRasterizationFeaturesKHR& copy_src); + safe_VkPhysicalDeviceLineRasterizationFeaturesKHR(); + ~safe_VkPhysicalDeviceLineRasterizationFeaturesKHR(); + void initialize(const VkPhysicalDeviceLineRasterizationFeaturesKHR* in_struct, PNextCopyState* copy_state = {}); + void initialize(const safe_VkPhysicalDeviceLineRasterizationFeaturesKHR* copy_src, PNextCopyState* copy_state = {}); + VkPhysicalDeviceLineRasterizationFeaturesKHR* ptr() { + return reinterpret_cast(this); + } + VkPhysicalDeviceLineRasterizationFeaturesKHR const* ptr() const { + return reinterpret_cast(this); + } +}; +struct safe_VkPhysicalDeviceLineRasterizationPropertiesKHR { + VkStructureType sType; + void* pNext{}; + uint32_t lineSubPixelPrecisionBits; + + safe_VkPhysicalDeviceLineRasterizationPropertiesKHR(const VkPhysicalDeviceLineRasterizationPropertiesKHR* in_struct, + PNextCopyState* copy_state = {}, bool copy_pnext = true); + safe_VkPhysicalDeviceLineRasterizationPropertiesKHR(const safe_VkPhysicalDeviceLineRasterizationPropertiesKHR& copy_src); + safe_VkPhysicalDeviceLineRasterizationPropertiesKHR& operator=( + const safe_VkPhysicalDeviceLineRasterizationPropertiesKHR& copy_src); + safe_VkPhysicalDeviceLineRasterizationPropertiesKHR(); + ~safe_VkPhysicalDeviceLineRasterizationPropertiesKHR(); + void initialize(const VkPhysicalDeviceLineRasterizationPropertiesKHR* in_struct, PNextCopyState* copy_state = {}); + void initialize(const safe_VkPhysicalDeviceLineRasterizationPropertiesKHR* copy_src, PNextCopyState* copy_state = {}); + VkPhysicalDeviceLineRasterizationPropertiesKHR* ptr() { + return reinterpret_cast(this); + } + VkPhysicalDeviceLineRasterizationPropertiesKHR const* ptr() const { + return reinterpret_cast(this); + } +}; +struct safe_VkPipelineRasterizationLineStateCreateInfoKHR { + VkStructureType sType; + const void* pNext{}; + VkLineRasterizationModeKHR lineRasterizationMode; + VkBool32 stippledLineEnable; + uint32_t lineStippleFactor; + uint16_t lineStipplePattern; + + safe_VkPipelineRasterizationLineStateCreateInfoKHR(const VkPipelineRasterizationLineStateCreateInfoKHR* in_struct, + PNextCopyState* copy_state = {}, bool copy_pnext = true); + safe_VkPipelineRasterizationLineStateCreateInfoKHR(const safe_VkPipelineRasterizationLineStateCreateInfoKHR& copy_src); + safe_VkPipelineRasterizationLineStateCreateInfoKHR& operator=( + const safe_VkPipelineRasterizationLineStateCreateInfoKHR& copy_src); + safe_VkPipelineRasterizationLineStateCreateInfoKHR(); + ~safe_VkPipelineRasterizationLineStateCreateInfoKHR(); + void initialize(const VkPipelineRasterizationLineStateCreateInfoKHR* in_struct, PNextCopyState* copy_state = {}); + void initialize(const safe_VkPipelineRasterizationLineStateCreateInfoKHR* copy_src, PNextCopyState* copy_state = {}); + VkPipelineRasterizationLineStateCreateInfoKHR* ptr() { + return reinterpret_cast(this); + } + VkPipelineRasterizationLineStateCreateInfoKHR const* ptr() const { + return reinterpret_cast(this); + } +}; struct safe_VkCalibratedTimestampInfoKHR { VkStructureType sType; const void* pNext{}; @@ -8084,6 +8320,27 @@ struct safe_VkCalibratedTimestampInfoKHR { VkCalibratedTimestampInfoKHR* ptr() { return reinterpret_cast(this); } VkCalibratedTimestampInfoKHR const* ptr() const { return reinterpret_cast(this); } }; +struct safe_VkPhysicalDeviceShaderExpectAssumeFeaturesKHR { + VkStructureType sType; + void* pNext{}; + VkBool32 shaderExpectAssume; + + safe_VkPhysicalDeviceShaderExpectAssumeFeaturesKHR(const VkPhysicalDeviceShaderExpectAssumeFeaturesKHR* in_struct, + PNextCopyState* copy_state = {}, bool copy_pnext = true); + safe_VkPhysicalDeviceShaderExpectAssumeFeaturesKHR(const safe_VkPhysicalDeviceShaderExpectAssumeFeaturesKHR& copy_src); + safe_VkPhysicalDeviceShaderExpectAssumeFeaturesKHR& operator=( + const safe_VkPhysicalDeviceShaderExpectAssumeFeaturesKHR& copy_src); + safe_VkPhysicalDeviceShaderExpectAssumeFeaturesKHR(); + ~safe_VkPhysicalDeviceShaderExpectAssumeFeaturesKHR(); + void initialize(const VkPhysicalDeviceShaderExpectAssumeFeaturesKHR* in_struct, PNextCopyState* copy_state = {}); + void initialize(const safe_VkPhysicalDeviceShaderExpectAssumeFeaturesKHR* copy_src, PNextCopyState* copy_state = {}); + VkPhysicalDeviceShaderExpectAssumeFeaturesKHR* ptr() { + return reinterpret_cast(this); + } + VkPhysicalDeviceShaderExpectAssumeFeaturesKHR const* ptr() const { + return reinterpret_cast(this); + } +}; struct safe_VkPhysicalDeviceMaintenance6FeaturesKHR { VkStructureType sType; void* pNext{}; @@ -11712,76 +11969,6 @@ struct safe_VkHeadlessSurfaceCreateInfoEXT { VkHeadlessSurfaceCreateInfoEXT* ptr() { return reinterpret_cast(this); } VkHeadlessSurfaceCreateInfoEXT const* ptr() const { return reinterpret_cast(this); } }; -struct safe_VkPhysicalDeviceLineRasterizationFeaturesEXT { - VkStructureType sType; - void* pNext{}; - VkBool32 rectangularLines; - VkBool32 bresenhamLines; - VkBool32 smoothLines; - VkBool32 stippledRectangularLines; - VkBool32 stippledBresenhamLines; - VkBool32 stippledSmoothLines; - - safe_VkPhysicalDeviceLineRasterizationFeaturesEXT(const VkPhysicalDeviceLineRasterizationFeaturesEXT* in_struct, - PNextCopyState* copy_state = {}, bool copy_pnext = true); - safe_VkPhysicalDeviceLineRasterizationFeaturesEXT(const safe_VkPhysicalDeviceLineRasterizationFeaturesEXT& copy_src); - safe_VkPhysicalDeviceLineRasterizationFeaturesEXT& operator=(const safe_VkPhysicalDeviceLineRasterizationFeaturesEXT& copy_src); - safe_VkPhysicalDeviceLineRasterizationFeaturesEXT(); - ~safe_VkPhysicalDeviceLineRasterizationFeaturesEXT(); - void initialize(const VkPhysicalDeviceLineRasterizationFeaturesEXT* in_struct, PNextCopyState* copy_state = {}); - void initialize(const safe_VkPhysicalDeviceLineRasterizationFeaturesEXT* copy_src, PNextCopyState* copy_state = {}); - VkPhysicalDeviceLineRasterizationFeaturesEXT* ptr() { - return reinterpret_cast(this); - } - VkPhysicalDeviceLineRasterizationFeaturesEXT const* ptr() const { - return reinterpret_cast(this); - } -}; -struct safe_VkPhysicalDeviceLineRasterizationPropertiesEXT { - VkStructureType sType; - void* pNext{}; - uint32_t lineSubPixelPrecisionBits; - - safe_VkPhysicalDeviceLineRasterizationPropertiesEXT(const VkPhysicalDeviceLineRasterizationPropertiesEXT* in_struct, - PNextCopyState* copy_state = {}, bool copy_pnext = true); - safe_VkPhysicalDeviceLineRasterizationPropertiesEXT(const safe_VkPhysicalDeviceLineRasterizationPropertiesEXT& copy_src); - safe_VkPhysicalDeviceLineRasterizationPropertiesEXT& operator=( - const safe_VkPhysicalDeviceLineRasterizationPropertiesEXT& copy_src); - safe_VkPhysicalDeviceLineRasterizationPropertiesEXT(); - ~safe_VkPhysicalDeviceLineRasterizationPropertiesEXT(); - void initialize(const VkPhysicalDeviceLineRasterizationPropertiesEXT* in_struct, PNextCopyState* copy_state = {}); - void initialize(const safe_VkPhysicalDeviceLineRasterizationPropertiesEXT* copy_src, PNextCopyState* copy_state = {}); - VkPhysicalDeviceLineRasterizationPropertiesEXT* ptr() { - return reinterpret_cast(this); - } - VkPhysicalDeviceLineRasterizationPropertiesEXT const* ptr() const { - return reinterpret_cast(this); - } -}; -struct safe_VkPipelineRasterizationLineStateCreateInfoEXT { - VkStructureType sType; - const void* pNext{}; - VkLineRasterizationModeEXT lineRasterizationMode; - VkBool32 stippledLineEnable; - uint32_t lineStippleFactor; - uint16_t lineStipplePattern; - - safe_VkPipelineRasterizationLineStateCreateInfoEXT(const VkPipelineRasterizationLineStateCreateInfoEXT* in_struct, - PNextCopyState* copy_state = {}, bool copy_pnext = true); - safe_VkPipelineRasterizationLineStateCreateInfoEXT(const safe_VkPipelineRasterizationLineStateCreateInfoEXT& copy_src); - safe_VkPipelineRasterizationLineStateCreateInfoEXT& operator=( - const safe_VkPipelineRasterizationLineStateCreateInfoEXT& copy_src); - safe_VkPipelineRasterizationLineStateCreateInfoEXT(); - ~safe_VkPipelineRasterizationLineStateCreateInfoEXT(); - void initialize(const VkPipelineRasterizationLineStateCreateInfoEXT* in_struct, PNextCopyState* copy_state = {}); - void initialize(const safe_VkPipelineRasterizationLineStateCreateInfoEXT* copy_src, PNextCopyState* copy_state = {}); - VkPipelineRasterizationLineStateCreateInfoEXT* ptr() { - return reinterpret_cast(this); - } - VkPipelineRasterizationLineStateCreateInfoEXT const* ptr() const { - return reinterpret_cast(this); - } -}; struct safe_VkPhysicalDeviceShaderAtomicFloatFeaturesEXT { VkStructureType sType; void* pNext{}; @@ -11813,24 +12000,6 @@ struct safe_VkPhysicalDeviceShaderAtomicFloatFeaturesEXT { return reinterpret_cast(this); } }; -struct safe_VkPhysicalDeviceIndexTypeUint8FeaturesEXT { - VkStructureType sType; - void* pNext{}; - VkBool32 indexTypeUint8; - - safe_VkPhysicalDeviceIndexTypeUint8FeaturesEXT(const VkPhysicalDeviceIndexTypeUint8FeaturesEXT* in_struct, - PNextCopyState* copy_state = {}, bool copy_pnext = true); - safe_VkPhysicalDeviceIndexTypeUint8FeaturesEXT(const safe_VkPhysicalDeviceIndexTypeUint8FeaturesEXT& copy_src); - safe_VkPhysicalDeviceIndexTypeUint8FeaturesEXT& operator=(const safe_VkPhysicalDeviceIndexTypeUint8FeaturesEXT& copy_src); - safe_VkPhysicalDeviceIndexTypeUint8FeaturesEXT(); - ~safe_VkPhysicalDeviceIndexTypeUint8FeaturesEXT(); - void initialize(const VkPhysicalDeviceIndexTypeUint8FeaturesEXT* in_struct, PNextCopyState* copy_state = {}); - void initialize(const safe_VkPhysicalDeviceIndexTypeUint8FeaturesEXT* copy_src, PNextCopyState* copy_state = {}); - VkPhysicalDeviceIndexTypeUint8FeaturesEXT* ptr() { return reinterpret_cast(this); } - VkPhysicalDeviceIndexTypeUint8FeaturesEXT const* ptr() const { - return reinterpret_cast(this); - } -}; struct safe_VkPhysicalDeviceExtendedDynamicStateFeaturesEXT { VkStructureType sType; void* pNext{}; diff --git a/layers/vulkan/generated/vk_safe_struct_core.cpp b/layers/vulkan/generated/vk_safe_struct_core.cpp index 63a54377a6f..9c715296807 100644 --- a/layers/vulkan/generated/vk_safe_struct_core.cpp +++ b/layers/vulkan/generated/vk_safe_struct_core.cpp @@ -3,10 +3,10 @@ /*************************************************************************** * - * Copyright (c) 2015-2023 The Khronos Group Inc. - * Copyright (c) 2015-2023 Valve Corporation - * Copyright (c) 2015-2023 LunarG, Inc. - * Copyright (c) 2015-2023 Google Inc. + * Copyright (c) 2015-2024 The Khronos Group Inc. + * Copyright (c) 2015-2024 Valve Corporation + * Copyright (c) 2015-2024 LunarG, Inc. + * Copyright (c) 2015-2024 Google Inc. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/layers/vulkan/generated/vk_safe_struct_ext.cpp b/layers/vulkan/generated/vk_safe_struct_ext.cpp index 1c98cbbb4f5..2a3f097981c 100644 --- a/layers/vulkan/generated/vk_safe_struct_ext.cpp +++ b/layers/vulkan/generated/vk_safe_struct_ext.cpp @@ -3,10 +3,10 @@ /*************************************************************************** * - * Copyright (c) 2015-2023 The Khronos Group Inc. - * Copyright (c) 2015-2023 Valve Corporation - * Copyright (c) 2015-2023 LunarG, Inc. - * Copyright (c) 2015-2023 Google Inc. + * Copyright (c) 2015-2024 The Khronos Group Inc. + * Copyright (c) 2015-2024 Valve Corporation + * Copyright (c) 2015-2024 LunarG, Inc. + * Copyright (c) 2015-2024 Google Inc. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. @@ -5377,206 +5377,6 @@ void safe_VkHeadlessSurfaceCreateInfoEXT::initialize(const safe_VkHeadlessSurfac pNext = SafePnextCopy(copy_src->pNext); } -safe_VkPhysicalDeviceLineRasterizationFeaturesEXT::safe_VkPhysicalDeviceLineRasterizationFeaturesEXT( - const VkPhysicalDeviceLineRasterizationFeaturesEXT* in_struct, [[maybe_unused]] PNextCopyState* copy_state, bool copy_pnext) - : sType(in_struct->sType), - rectangularLines(in_struct->rectangularLines), - bresenhamLines(in_struct->bresenhamLines), - smoothLines(in_struct->smoothLines), - stippledRectangularLines(in_struct->stippledRectangularLines), - stippledBresenhamLines(in_struct->stippledBresenhamLines), - stippledSmoothLines(in_struct->stippledSmoothLines) { - if (copy_pnext) { - pNext = SafePnextCopy(in_struct->pNext, copy_state); - } -} - -safe_VkPhysicalDeviceLineRasterizationFeaturesEXT::safe_VkPhysicalDeviceLineRasterizationFeaturesEXT() - : sType(VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_LINE_RASTERIZATION_FEATURES_EXT), - pNext(nullptr), - rectangularLines(), - bresenhamLines(), - smoothLines(), - stippledRectangularLines(), - stippledBresenhamLines(), - stippledSmoothLines() {} - -safe_VkPhysicalDeviceLineRasterizationFeaturesEXT::safe_VkPhysicalDeviceLineRasterizationFeaturesEXT( - const safe_VkPhysicalDeviceLineRasterizationFeaturesEXT& copy_src) { - sType = copy_src.sType; - rectangularLines = copy_src.rectangularLines; - bresenhamLines = copy_src.bresenhamLines; - smoothLines = copy_src.smoothLines; - stippledRectangularLines = copy_src.stippledRectangularLines; - stippledBresenhamLines = copy_src.stippledBresenhamLines; - stippledSmoothLines = copy_src.stippledSmoothLines; - pNext = SafePnextCopy(copy_src.pNext); -} - -safe_VkPhysicalDeviceLineRasterizationFeaturesEXT& safe_VkPhysicalDeviceLineRasterizationFeaturesEXT::operator=( - const safe_VkPhysicalDeviceLineRasterizationFeaturesEXT& copy_src) { - if (©_src == this) return *this; - - FreePnextChain(pNext); - - sType = copy_src.sType; - rectangularLines = copy_src.rectangularLines; - bresenhamLines = copy_src.bresenhamLines; - smoothLines = copy_src.smoothLines; - stippledRectangularLines = copy_src.stippledRectangularLines; - stippledBresenhamLines = copy_src.stippledBresenhamLines; - stippledSmoothLines = copy_src.stippledSmoothLines; - pNext = SafePnextCopy(copy_src.pNext); - - return *this; -} - -safe_VkPhysicalDeviceLineRasterizationFeaturesEXT::~safe_VkPhysicalDeviceLineRasterizationFeaturesEXT() { FreePnextChain(pNext); } - -void safe_VkPhysicalDeviceLineRasterizationFeaturesEXT::initialize(const VkPhysicalDeviceLineRasterizationFeaturesEXT* in_struct, - [[maybe_unused]] PNextCopyState* copy_state) { - FreePnextChain(pNext); - sType = in_struct->sType; - rectangularLines = in_struct->rectangularLines; - bresenhamLines = in_struct->bresenhamLines; - smoothLines = in_struct->smoothLines; - stippledRectangularLines = in_struct->stippledRectangularLines; - stippledBresenhamLines = in_struct->stippledBresenhamLines; - stippledSmoothLines = in_struct->stippledSmoothLines; - pNext = SafePnextCopy(in_struct->pNext, copy_state); -} - -void safe_VkPhysicalDeviceLineRasterizationFeaturesEXT::initialize( - const safe_VkPhysicalDeviceLineRasterizationFeaturesEXT* copy_src, [[maybe_unused]] PNextCopyState* copy_state) { - sType = copy_src->sType; - rectangularLines = copy_src->rectangularLines; - bresenhamLines = copy_src->bresenhamLines; - smoothLines = copy_src->smoothLines; - stippledRectangularLines = copy_src->stippledRectangularLines; - stippledBresenhamLines = copy_src->stippledBresenhamLines; - stippledSmoothLines = copy_src->stippledSmoothLines; - pNext = SafePnextCopy(copy_src->pNext); -} - -safe_VkPhysicalDeviceLineRasterizationPropertiesEXT::safe_VkPhysicalDeviceLineRasterizationPropertiesEXT( - const VkPhysicalDeviceLineRasterizationPropertiesEXT* in_struct, [[maybe_unused]] PNextCopyState* copy_state, bool copy_pnext) - : sType(in_struct->sType), lineSubPixelPrecisionBits(in_struct->lineSubPixelPrecisionBits) { - if (copy_pnext) { - pNext = SafePnextCopy(in_struct->pNext, copy_state); - } -} - -safe_VkPhysicalDeviceLineRasterizationPropertiesEXT::safe_VkPhysicalDeviceLineRasterizationPropertiesEXT() - : sType(VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_LINE_RASTERIZATION_PROPERTIES_EXT), pNext(nullptr), lineSubPixelPrecisionBits() {} - -safe_VkPhysicalDeviceLineRasterizationPropertiesEXT::safe_VkPhysicalDeviceLineRasterizationPropertiesEXT( - const safe_VkPhysicalDeviceLineRasterizationPropertiesEXT& copy_src) { - sType = copy_src.sType; - lineSubPixelPrecisionBits = copy_src.lineSubPixelPrecisionBits; - pNext = SafePnextCopy(copy_src.pNext); -} - -safe_VkPhysicalDeviceLineRasterizationPropertiesEXT& safe_VkPhysicalDeviceLineRasterizationPropertiesEXT::operator=( - const safe_VkPhysicalDeviceLineRasterizationPropertiesEXT& copy_src) { - if (©_src == this) return *this; - - FreePnextChain(pNext); - - sType = copy_src.sType; - lineSubPixelPrecisionBits = copy_src.lineSubPixelPrecisionBits; - pNext = SafePnextCopy(copy_src.pNext); - - return *this; -} - -safe_VkPhysicalDeviceLineRasterizationPropertiesEXT::~safe_VkPhysicalDeviceLineRasterizationPropertiesEXT() { - FreePnextChain(pNext); -} - -void safe_VkPhysicalDeviceLineRasterizationPropertiesEXT::initialize( - const VkPhysicalDeviceLineRasterizationPropertiesEXT* in_struct, [[maybe_unused]] PNextCopyState* copy_state) { - FreePnextChain(pNext); - sType = in_struct->sType; - lineSubPixelPrecisionBits = in_struct->lineSubPixelPrecisionBits; - pNext = SafePnextCopy(in_struct->pNext, copy_state); -} - -void safe_VkPhysicalDeviceLineRasterizationPropertiesEXT::initialize( - const safe_VkPhysicalDeviceLineRasterizationPropertiesEXT* copy_src, [[maybe_unused]] PNextCopyState* copy_state) { - sType = copy_src->sType; - lineSubPixelPrecisionBits = copy_src->lineSubPixelPrecisionBits; - pNext = SafePnextCopy(copy_src->pNext); -} - -safe_VkPipelineRasterizationLineStateCreateInfoEXT::safe_VkPipelineRasterizationLineStateCreateInfoEXT( - const VkPipelineRasterizationLineStateCreateInfoEXT* in_struct, [[maybe_unused]] PNextCopyState* copy_state, bool copy_pnext) - : sType(in_struct->sType), - lineRasterizationMode(in_struct->lineRasterizationMode), - stippledLineEnable(in_struct->stippledLineEnable), - lineStippleFactor(in_struct->lineStippleFactor), - lineStipplePattern(in_struct->lineStipplePattern) { - if (copy_pnext) { - pNext = SafePnextCopy(in_struct->pNext, copy_state); - } -} - -safe_VkPipelineRasterizationLineStateCreateInfoEXT::safe_VkPipelineRasterizationLineStateCreateInfoEXT() - : sType(VK_STRUCTURE_TYPE_PIPELINE_RASTERIZATION_LINE_STATE_CREATE_INFO_EXT), - pNext(nullptr), - lineRasterizationMode(), - stippledLineEnable(), - lineStippleFactor(), - lineStipplePattern() {} - -safe_VkPipelineRasterizationLineStateCreateInfoEXT::safe_VkPipelineRasterizationLineStateCreateInfoEXT( - const safe_VkPipelineRasterizationLineStateCreateInfoEXT& copy_src) { - sType = copy_src.sType; - lineRasterizationMode = copy_src.lineRasterizationMode; - stippledLineEnable = copy_src.stippledLineEnable; - lineStippleFactor = copy_src.lineStippleFactor; - lineStipplePattern = copy_src.lineStipplePattern; - pNext = SafePnextCopy(copy_src.pNext); -} - -safe_VkPipelineRasterizationLineStateCreateInfoEXT& safe_VkPipelineRasterizationLineStateCreateInfoEXT::operator=( - const safe_VkPipelineRasterizationLineStateCreateInfoEXT& copy_src) { - if (©_src == this) return *this; - - FreePnextChain(pNext); - - sType = copy_src.sType; - lineRasterizationMode = copy_src.lineRasterizationMode; - stippledLineEnable = copy_src.stippledLineEnable; - lineStippleFactor = copy_src.lineStippleFactor; - lineStipplePattern = copy_src.lineStipplePattern; - pNext = SafePnextCopy(copy_src.pNext); - - return *this; -} - -safe_VkPipelineRasterizationLineStateCreateInfoEXT::~safe_VkPipelineRasterizationLineStateCreateInfoEXT() { FreePnextChain(pNext); } - -void safe_VkPipelineRasterizationLineStateCreateInfoEXT::initialize(const VkPipelineRasterizationLineStateCreateInfoEXT* in_struct, - [[maybe_unused]] PNextCopyState* copy_state) { - FreePnextChain(pNext); - sType = in_struct->sType; - lineRasterizationMode = in_struct->lineRasterizationMode; - stippledLineEnable = in_struct->stippledLineEnable; - lineStippleFactor = in_struct->lineStippleFactor; - lineStipplePattern = in_struct->lineStipplePattern; - pNext = SafePnextCopy(in_struct->pNext, copy_state); -} - -void safe_VkPipelineRasterizationLineStateCreateInfoEXT::initialize( - const safe_VkPipelineRasterizationLineStateCreateInfoEXT* copy_src, [[maybe_unused]] PNextCopyState* copy_state) { - sType = copy_src->sType; - lineRasterizationMode = copy_src->lineRasterizationMode; - stippledLineEnable = copy_src->stippledLineEnable; - lineStippleFactor = copy_src->lineStippleFactor; - lineStipplePattern = copy_src->lineStipplePattern; - pNext = SafePnextCopy(copy_src->pNext); -} - safe_VkPhysicalDeviceShaderAtomicFloatFeaturesEXT::safe_VkPhysicalDeviceShaderAtomicFloatFeaturesEXT( const VkPhysicalDeviceShaderAtomicFloatFeaturesEXT* in_struct, [[maybe_unused]] PNextCopyState* copy_state, bool copy_pnext) : sType(in_struct->sType), @@ -5694,54 +5494,6 @@ void safe_VkPhysicalDeviceShaderAtomicFloatFeaturesEXT::initialize( pNext = SafePnextCopy(copy_src->pNext); } -safe_VkPhysicalDeviceIndexTypeUint8FeaturesEXT::safe_VkPhysicalDeviceIndexTypeUint8FeaturesEXT( - const VkPhysicalDeviceIndexTypeUint8FeaturesEXT* in_struct, [[maybe_unused]] PNextCopyState* copy_state, bool copy_pnext) - : sType(in_struct->sType), indexTypeUint8(in_struct->indexTypeUint8) { - if (copy_pnext) { - pNext = SafePnextCopy(in_struct->pNext, copy_state); - } -} - -safe_VkPhysicalDeviceIndexTypeUint8FeaturesEXT::safe_VkPhysicalDeviceIndexTypeUint8FeaturesEXT() - : sType(VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_INDEX_TYPE_UINT8_FEATURES_EXT), pNext(nullptr), indexTypeUint8() {} - -safe_VkPhysicalDeviceIndexTypeUint8FeaturesEXT::safe_VkPhysicalDeviceIndexTypeUint8FeaturesEXT( - const safe_VkPhysicalDeviceIndexTypeUint8FeaturesEXT& copy_src) { - sType = copy_src.sType; - indexTypeUint8 = copy_src.indexTypeUint8; - pNext = SafePnextCopy(copy_src.pNext); -} - -safe_VkPhysicalDeviceIndexTypeUint8FeaturesEXT& safe_VkPhysicalDeviceIndexTypeUint8FeaturesEXT::operator=( - const safe_VkPhysicalDeviceIndexTypeUint8FeaturesEXT& copy_src) { - if (©_src == this) return *this; - - FreePnextChain(pNext); - - sType = copy_src.sType; - indexTypeUint8 = copy_src.indexTypeUint8; - pNext = SafePnextCopy(copy_src.pNext); - - return *this; -} - -safe_VkPhysicalDeviceIndexTypeUint8FeaturesEXT::~safe_VkPhysicalDeviceIndexTypeUint8FeaturesEXT() { FreePnextChain(pNext); } - -void safe_VkPhysicalDeviceIndexTypeUint8FeaturesEXT::initialize(const VkPhysicalDeviceIndexTypeUint8FeaturesEXT* in_struct, - [[maybe_unused]] PNextCopyState* copy_state) { - FreePnextChain(pNext); - sType = in_struct->sType; - indexTypeUint8 = in_struct->indexTypeUint8; - pNext = SafePnextCopy(in_struct->pNext, copy_state); -} - -void safe_VkPhysicalDeviceIndexTypeUint8FeaturesEXT::initialize(const safe_VkPhysicalDeviceIndexTypeUint8FeaturesEXT* copy_src, - [[maybe_unused]] PNextCopyState* copy_state) { - sType = copy_src->sType; - indexTypeUint8 = copy_src->indexTypeUint8; - pNext = SafePnextCopy(copy_src->pNext); -} - safe_VkPhysicalDeviceExtendedDynamicStateFeaturesEXT::safe_VkPhysicalDeviceExtendedDynamicStateFeaturesEXT( const VkPhysicalDeviceExtendedDynamicStateFeaturesEXT* in_struct, [[maybe_unused]] PNextCopyState* copy_state, bool copy_pnext) : sType(in_struct->sType), extendedDynamicState(in_struct->extendedDynamicState) { diff --git a/layers/vulkan/generated/vk_safe_struct_khr.cpp b/layers/vulkan/generated/vk_safe_struct_khr.cpp index 3cda7d99a9c..eeb4f18d127 100644 --- a/layers/vulkan/generated/vk_safe_struct_khr.cpp +++ b/layers/vulkan/generated/vk_safe_struct_khr.cpp @@ -3,10 +3,10 @@ /*************************************************************************** * - * Copyright (c) 2015-2023 The Khronos Group Inc. - * Copyright (c) 2015-2023 Valve Corporation - * Copyright (c) 2015-2023 LunarG, Inc. - * Copyright (c) 2015-2023 Google Inc. + * Copyright (c) 2015-2024 The Khronos Group Inc. + * Copyright (c) 2015-2024 Valve Corporation + * Copyright (c) 2015-2024 LunarG, Inc. + * Copyright (c) 2015-2024 Google Inc. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. @@ -9220,6 +9220,345 @@ void safe_VkPhysicalDeviceFragmentShadingRateKHR::initialize(const safe_VkPhysic pNext = SafePnextCopy(copy_src->pNext); } +safe_VkPhysicalDeviceDynamicRenderingLocalReadFeaturesKHR::safe_VkPhysicalDeviceDynamicRenderingLocalReadFeaturesKHR( + const VkPhysicalDeviceDynamicRenderingLocalReadFeaturesKHR* in_struct, [[maybe_unused]] PNextCopyState* copy_state, + bool copy_pnext) + : sType(in_struct->sType), dynamicRenderingLocalRead(in_struct->dynamicRenderingLocalRead) { + if (copy_pnext) { + pNext = SafePnextCopy(in_struct->pNext, copy_state); + } +} + +safe_VkPhysicalDeviceDynamicRenderingLocalReadFeaturesKHR::safe_VkPhysicalDeviceDynamicRenderingLocalReadFeaturesKHR() + : sType(VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DYNAMIC_RENDERING_LOCAL_READ_FEATURES_KHR), + pNext(nullptr), + dynamicRenderingLocalRead() {} + +safe_VkPhysicalDeviceDynamicRenderingLocalReadFeaturesKHR::safe_VkPhysicalDeviceDynamicRenderingLocalReadFeaturesKHR( + const safe_VkPhysicalDeviceDynamicRenderingLocalReadFeaturesKHR& copy_src) { + sType = copy_src.sType; + dynamicRenderingLocalRead = copy_src.dynamicRenderingLocalRead; + pNext = SafePnextCopy(copy_src.pNext); +} + +safe_VkPhysicalDeviceDynamicRenderingLocalReadFeaturesKHR& safe_VkPhysicalDeviceDynamicRenderingLocalReadFeaturesKHR::operator=( + const safe_VkPhysicalDeviceDynamicRenderingLocalReadFeaturesKHR& copy_src) { + if (©_src == this) return *this; + + FreePnextChain(pNext); + + sType = copy_src.sType; + dynamicRenderingLocalRead = copy_src.dynamicRenderingLocalRead; + pNext = SafePnextCopy(copy_src.pNext); + + return *this; +} + +safe_VkPhysicalDeviceDynamicRenderingLocalReadFeaturesKHR::~safe_VkPhysicalDeviceDynamicRenderingLocalReadFeaturesKHR() { + FreePnextChain(pNext); +} + +void safe_VkPhysicalDeviceDynamicRenderingLocalReadFeaturesKHR::initialize( + const VkPhysicalDeviceDynamicRenderingLocalReadFeaturesKHR* in_struct, [[maybe_unused]] PNextCopyState* copy_state) { + FreePnextChain(pNext); + sType = in_struct->sType; + dynamicRenderingLocalRead = in_struct->dynamicRenderingLocalRead; + pNext = SafePnextCopy(in_struct->pNext, copy_state); +} + +void safe_VkPhysicalDeviceDynamicRenderingLocalReadFeaturesKHR::initialize( + const safe_VkPhysicalDeviceDynamicRenderingLocalReadFeaturesKHR* copy_src, [[maybe_unused]] PNextCopyState* copy_state) { + sType = copy_src->sType; + dynamicRenderingLocalRead = copy_src->dynamicRenderingLocalRead; + pNext = SafePnextCopy(copy_src->pNext); +} + +safe_VkRenderingAttachmentLocationInfoKHR::safe_VkRenderingAttachmentLocationInfoKHR( + const VkRenderingAttachmentLocationInfoKHR* in_struct, [[maybe_unused]] PNextCopyState* copy_state, bool copy_pnext) + : sType(in_struct->sType), colorAttachmentCount(in_struct->colorAttachmentCount), pColorAttachmentLocations(nullptr) { + if (copy_pnext) { + pNext = SafePnextCopy(in_struct->pNext, copy_state); + } + if (in_struct->pColorAttachmentLocations) { + pColorAttachmentLocations = new uint32_t[in_struct->colorAttachmentCount]; + memcpy((void*)pColorAttachmentLocations, (void*)in_struct->pColorAttachmentLocations, + sizeof(uint32_t) * in_struct->colorAttachmentCount); + } +} + +safe_VkRenderingAttachmentLocationInfoKHR::safe_VkRenderingAttachmentLocationInfoKHR() + : sType(VK_STRUCTURE_TYPE_RENDERING_ATTACHMENT_LOCATION_INFO_KHR), + pNext(nullptr), + colorAttachmentCount(), + pColorAttachmentLocations(nullptr) {} + +safe_VkRenderingAttachmentLocationInfoKHR::safe_VkRenderingAttachmentLocationInfoKHR( + const safe_VkRenderingAttachmentLocationInfoKHR& copy_src) { + sType = copy_src.sType; + colorAttachmentCount = copy_src.colorAttachmentCount; + pColorAttachmentLocations = nullptr; + pNext = SafePnextCopy(copy_src.pNext); + + if (copy_src.pColorAttachmentLocations) { + pColorAttachmentLocations = new uint32_t[copy_src.colorAttachmentCount]; + memcpy((void*)pColorAttachmentLocations, (void*)copy_src.pColorAttachmentLocations, + sizeof(uint32_t) * copy_src.colorAttachmentCount); + } +} + +safe_VkRenderingAttachmentLocationInfoKHR& safe_VkRenderingAttachmentLocationInfoKHR::operator=( + const safe_VkRenderingAttachmentLocationInfoKHR& copy_src) { + if (©_src == this) return *this; + + if (pColorAttachmentLocations) delete[] pColorAttachmentLocations; + FreePnextChain(pNext); + + sType = copy_src.sType; + colorAttachmentCount = copy_src.colorAttachmentCount; + pColorAttachmentLocations = nullptr; + pNext = SafePnextCopy(copy_src.pNext); + + if (copy_src.pColorAttachmentLocations) { + pColorAttachmentLocations = new uint32_t[copy_src.colorAttachmentCount]; + memcpy((void*)pColorAttachmentLocations, (void*)copy_src.pColorAttachmentLocations, + sizeof(uint32_t) * copy_src.colorAttachmentCount); + } + + return *this; +} + +safe_VkRenderingAttachmentLocationInfoKHR::~safe_VkRenderingAttachmentLocationInfoKHR() { + if (pColorAttachmentLocations) delete[] pColorAttachmentLocations; + FreePnextChain(pNext); +} + +void safe_VkRenderingAttachmentLocationInfoKHR::initialize(const VkRenderingAttachmentLocationInfoKHR* in_struct, + [[maybe_unused]] PNextCopyState* copy_state) { + if (pColorAttachmentLocations) delete[] pColorAttachmentLocations; + FreePnextChain(pNext); + sType = in_struct->sType; + colorAttachmentCount = in_struct->colorAttachmentCount; + pColorAttachmentLocations = nullptr; + pNext = SafePnextCopy(in_struct->pNext, copy_state); + + if (in_struct->pColorAttachmentLocations) { + pColorAttachmentLocations = new uint32_t[in_struct->colorAttachmentCount]; + memcpy((void*)pColorAttachmentLocations, (void*)in_struct->pColorAttachmentLocations, + sizeof(uint32_t) * in_struct->colorAttachmentCount); + } +} + +void safe_VkRenderingAttachmentLocationInfoKHR::initialize(const safe_VkRenderingAttachmentLocationInfoKHR* copy_src, + [[maybe_unused]] PNextCopyState* copy_state) { + sType = copy_src->sType; + colorAttachmentCount = copy_src->colorAttachmentCount; + pColorAttachmentLocations = nullptr; + pNext = SafePnextCopy(copy_src->pNext); + + if (copy_src->pColorAttachmentLocations) { + pColorAttachmentLocations = new uint32_t[copy_src->colorAttachmentCount]; + memcpy((void*)pColorAttachmentLocations, (void*)copy_src->pColorAttachmentLocations, + sizeof(uint32_t) * copy_src->colorAttachmentCount); + } +} + +safe_VkRenderingInputAttachmentIndexInfoKHR::safe_VkRenderingInputAttachmentIndexInfoKHR( + const VkRenderingInputAttachmentIndexInfoKHR* in_struct, [[maybe_unused]] PNextCopyState* copy_state, bool copy_pnext) + : sType(in_struct->sType), + colorAttachmentCount(in_struct->colorAttachmentCount), + pColorAttachmentInputIndices(nullptr), + pDepthInputAttachmentIndex(nullptr), + pStencilInputAttachmentIndex(nullptr) { + if (copy_pnext) { + pNext = SafePnextCopy(in_struct->pNext, copy_state); + } + if (in_struct->pColorAttachmentInputIndices) { + pColorAttachmentInputIndices = new uint32_t[in_struct->colorAttachmentCount]; + memcpy((void*)pColorAttachmentInputIndices, (void*)in_struct->pColorAttachmentInputIndices, + sizeof(uint32_t) * in_struct->colorAttachmentCount); + } + + if (in_struct->pDepthInputAttachmentIndex) { + pDepthInputAttachmentIndex = new uint32_t(*in_struct->pDepthInputAttachmentIndex); + } + + if (in_struct->pStencilInputAttachmentIndex) { + pStencilInputAttachmentIndex = new uint32_t(*in_struct->pStencilInputAttachmentIndex); + } +} + +safe_VkRenderingInputAttachmentIndexInfoKHR::safe_VkRenderingInputAttachmentIndexInfoKHR() + : sType(VK_STRUCTURE_TYPE_RENDERING_INPUT_ATTACHMENT_INDEX_INFO_KHR), + pNext(nullptr), + colorAttachmentCount(), + pColorAttachmentInputIndices(nullptr), + pDepthInputAttachmentIndex(nullptr), + pStencilInputAttachmentIndex(nullptr) {} + +safe_VkRenderingInputAttachmentIndexInfoKHR::safe_VkRenderingInputAttachmentIndexInfoKHR( + const safe_VkRenderingInputAttachmentIndexInfoKHR& copy_src) { + sType = copy_src.sType; + colorAttachmentCount = copy_src.colorAttachmentCount; + pColorAttachmentInputIndices = nullptr; + pDepthInputAttachmentIndex = nullptr; + pStencilInputAttachmentIndex = nullptr; + pNext = SafePnextCopy(copy_src.pNext); + + if (copy_src.pColorAttachmentInputIndices) { + pColorAttachmentInputIndices = new uint32_t[copy_src.colorAttachmentCount]; + memcpy((void*)pColorAttachmentInputIndices, (void*)copy_src.pColorAttachmentInputIndices, + sizeof(uint32_t) * copy_src.colorAttachmentCount); + } + + if (copy_src.pDepthInputAttachmentIndex) { + pDepthInputAttachmentIndex = new uint32_t(*copy_src.pDepthInputAttachmentIndex); + } + + if (copy_src.pStencilInputAttachmentIndex) { + pStencilInputAttachmentIndex = new uint32_t(*copy_src.pStencilInputAttachmentIndex); + } +} + +safe_VkRenderingInputAttachmentIndexInfoKHR& safe_VkRenderingInputAttachmentIndexInfoKHR::operator=( + const safe_VkRenderingInputAttachmentIndexInfoKHR& copy_src) { + if (©_src == this) return *this; + + if (pColorAttachmentInputIndices) delete[] pColorAttachmentInputIndices; + if (pDepthInputAttachmentIndex) delete pDepthInputAttachmentIndex; + if (pStencilInputAttachmentIndex) delete pStencilInputAttachmentIndex; + FreePnextChain(pNext); + + sType = copy_src.sType; + colorAttachmentCount = copy_src.colorAttachmentCount; + pColorAttachmentInputIndices = nullptr; + pDepthInputAttachmentIndex = nullptr; + pStencilInputAttachmentIndex = nullptr; + pNext = SafePnextCopy(copy_src.pNext); + + if (copy_src.pColorAttachmentInputIndices) { + pColorAttachmentInputIndices = new uint32_t[copy_src.colorAttachmentCount]; + memcpy((void*)pColorAttachmentInputIndices, (void*)copy_src.pColorAttachmentInputIndices, + sizeof(uint32_t) * copy_src.colorAttachmentCount); + } + + if (copy_src.pDepthInputAttachmentIndex) { + pDepthInputAttachmentIndex = new uint32_t(*copy_src.pDepthInputAttachmentIndex); + } + + if (copy_src.pStencilInputAttachmentIndex) { + pStencilInputAttachmentIndex = new uint32_t(*copy_src.pStencilInputAttachmentIndex); + } + + return *this; +} + +safe_VkRenderingInputAttachmentIndexInfoKHR::~safe_VkRenderingInputAttachmentIndexInfoKHR() { + if (pColorAttachmentInputIndices) delete[] pColorAttachmentInputIndices; + if (pDepthInputAttachmentIndex) delete pDepthInputAttachmentIndex; + if (pStencilInputAttachmentIndex) delete pStencilInputAttachmentIndex; + FreePnextChain(pNext); +} + +void safe_VkRenderingInputAttachmentIndexInfoKHR::initialize(const VkRenderingInputAttachmentIndexInfoKHR* in_struct, + [[maybe_unused]] PNextCopyState* copy_state) { + if (pColorAttachmentInputIndices) delete[] pColorAttachmentInputIndices; + if (pDepthInputAttachmentIndex) delete pDepthInputAttachmentIndex; + if (pStencilInputAttachmentIndex) delete pStencilInputAttachmentIndex; + FreePnextChain(pNext); + sType = in_struct->sType; + colorAttachmentCount = in_struct->colorAttachmentCount; + pColorAttachmentInputIndices = nullptr; + pDepthInputAttachmentIndex = nullptr; + pStencilInputAttachmentIndex = nullptr; + pNext = SafePnextCopy(in_struct->pNext, copy_state); + + if (in_struct->pColorAttachmentInputIndices) { + pColorAttachmentInputIndices = new uint32_t[in_struct->colorAttachmentCount]; + memcpy((void*)pColorAttachmentInputIndices, (void*)in_struct->pColorAttachmentInputIndices, + sizeof(uint32_t) * in_struct->colorAttachmentCount); + } + + if (in_struct->pDepthInputAttachmentIndex) { + pDepthInputAttachmentIndex = new uint32_t(*in_struct->pDepthInputAttachmentIndex); + } + + if (in_struct->pStencilInputAttachmentIndex) { + pStencilInputAttachmentIndex = new uint32_t(*in_struct->pStencilInputAttachmentIndex); + } +} + +void safe_VkRenderingInputAttachmentIndexInfoKHR::initialize(const safe_VkRenderingInputAttachmentIndexInfoKHR* copy_src, + [[maybe_unused]] PNextCopyState* copy_state) { + sType = copy_src->sType; + colorAttachmentCount = copy_src->colorAttachmentCount; + pColorAttachmentInputIndices = nullptr; + pDepthInputAttachmentIndex = nullptr; + pStencilInputAttachmentIndex = nullptr; + pNext = SafePnextCopy(copy_src->pNext); + + if (copy_src->pColorAttachmentInputIndices) { + pColorAttachmentInputIndices = new uint32_t[copy_src->colorAttachmentCount]; + memcpy((void*)pColorAttachmentInputIndices, (void*)copy_src->pColorAttachmentInputIndices, + sizeof(uint32_t) * copy_src->colorAttachmentCount); + } + + if (copy_src->pDepthInputAttachmentIndex) { + pDepthInputAttachmentIndex = new uint32_t(*copy_src->pDepthInputAttachmentIndex); + } + + if (copy_src->pStencilInputAttachmentIndex) { + pStencilInputAttachmentIndex = new uint32_t(*copy_src->pStencilInputAttachmentIndex); + } +} + +safe_VkPhysicalDeviceShaderQuadControlFeaturesKHR::safe_VkPhysicalDeviceShaderQuadControlFeaturesKHR( + const VkPhysicalDeviceShaderQuadControlFeaturesKHR* in_struct, [[maybe_unused]] PNextCopyState* copy_state, bool copy_pnext) + : sType(in_struct->sType), shaderQuadControl(in_struct->shaderQuadControl) { + if (copy_pnext) { + pNext = SafePnextCopy(in_struct->pNext, copy_state); + } +} + +safe_VkPhysicalDeviceShaderQuadControlFeaturesKHR::safe_VkPhysicalDeviceShaderQuadControlFeaturesKHR() + : sType(VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_QUAD_CONTROL_FEATURES_KHR), pNext(nullptr), shaderQuadControl() {} + +safe_VkPhysicalDeviceShaderQuadControlFeaturesKHR::safe_VkPhysicalDeviceShaderQuadControlFeaturesKHR( + const safe_VkPhysicalDeviceShaderQuadControlFeaturesKHR& copy_src) { + sType = copy_src.sType; + shaderQuadControl = copy_src.shaderQuadControl; + pNext = SafePnextCopy(copy_src.pNext); +} + +safe_VkPhysicalDeviceShaderQuadControlFeaturesKHR& safe_VkPhysicalDeviceShaderQuadControlFeaturesKHR::operator=( + const safe_VkPhysicalDeviceShaderQuadControlFeaturesKHR& copy_src) { + if (©_src == this) return *this; + + FreePnextChain(pNext); + + sType = copy_src.sType; + shaderQuadControl = copy_src.shaderQuadControl; + pNext = SafePnextCopy(copy_src.pNext); + + return *this; +} + +safe_VkPhysicalDeviceShaderQuadControlFeaturesKHR::~safe_VkPhysicalDeviceShaderQuadControlFeaturesKHR() { FreePnextChain(pNext); } + +void safe_VkPhysicalDeviceShaderQuadControlFeaturesKHR::initialize(const VkPhysicalDeviceShaderQuadControlFeaturesKHR* in_struct, + [[maybe_unused]] PNextCopyState* copy_state) { + FreePnextChain(pNext); + sType = in_struct->sType; + shaderQuadControl = in_struct->shaderQuadControl; + pNext = SafePnextCopy(in_struct->pNext, copy_state); +} + +void safe_VkPhysicalDeviceShaderQuadControlFeaturesKHR::initialize( + const safe_VkPhysicalDeviceShaderQuadControlFeaturesKHR* copy_src, [[maybe_unused]] PNextCopyState* copy_state) { + sType = copy_src->sType; + shaderQuadControl = copy_src->shaderQuadControl; + pNext = SafePnextCopy(copy_src->pNext); +} + safe_VkSurfaceProtectedCapabilitiesKHR::safe_VkSurfaceProtectedCapabilitiesKHR(const VkSurfaceProtectedCapabilitiesKHR* in_struct, [[maybe_unused]] PNextCopyState* copy_state, bool copy_pnext) @@ -11181,6 +11520,118 @@ void safe_VkPhysicalDeviceRayTracingMaintenance1FeaturesKHR::initialize( pNext = SafePnextCopy(copy_src->pNext); } +safe_VkPhysicalDeviceShaderSubgroupRotateFeaturesKHR::safe_VkPhysicalDeviceShaderSubgroupRotateFeaturesKHR( + const VkPhysicalDeviceShaderSubgroupRotateFeaturesKHR* in_struct, [[maybe_unused]] PNextCopyState* copy_state, bool copy_pnext) + : sType(in_struct->sType), + shaderSubgroupRotate(in_struct->shaderSubgroupRotate), + shaderSubgroupRotateClustered(in_struct->shaderSubgroupRotateClustered) { + if (copy_pnext) { + pNext = SafePnextCopy(in_struct->pNext, copy_state); + } +} + +safe_VkPhysicalDeviceShaderSubgroupRotateFeaturesKHR::safe_VkPhysicalDeviceShaderSubgroupRotateFeaturesKHR() + : sType(VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_SUBGROUP_ROTATE_FEATURES_KHR), + pNext(nullptr), + shaderSubgroupRotate(), + shaderSubgroupRotateClustered() {} + +safe_VkPhysicalDeviceShaderSubgroupRotateFeaturesKHR::safe_VkPhysicalDeviceShaderSubgroupRotateFeaturesKHR( + const safe_VkPhysicalDeviceShaderSubgroupRotateFeaturesKHR& copy_src) { + sType = copy_src.sType; + shaderSubgroupRotate = copy_src.shaderSubgroupRotate; + shaderSubgroupRotateClustered = copy_src.shaderSubgroupRotateClustered; + pNext = SafePnextCopy(copy_src.pNext); +} + +safe_VkPhysicalDeviceShaderSubgroupRotateFeaturesKHR& safe_VkPhysicalDeviceShaderSubgroupRotateFeaturesKHR::operator=( + const safe_VkPhysicalDeviceShaderSubgroupRotateFeaturesKHR& copy_src) { + if (©_src == this) return *this; + + FreePnextChain(pNext); + + sType = copy_src.sType; + shaderSubgroupRotate = copy_src.shaderSubgroupRotate; + shaderSubgroupRotateClustered = copy_src.shaderSubgroupRotateClustered; + pNext = SafePnextCopy(copy_src.pNext); + + return *this; +} + +safe_VkPhysicalDeviceShaderSubgroupRotateFeaturesKHR::~safe_VkPhysicalDeviceShaderSubgroupRotateFeaturesKHR() { + FreePnextChain(pNext); +} + +void safe_VkPhysicalDeviceShaderSubgroupRotateFeaturesKHR::initialize( + const VkPhysicalDeviceShaderSubgroupRotateFeaturesKHR* in_struct, [[maybe_unused]] PNextCopyState* copy_state) { + FreePnextChain(pNext); + sType = in_struct->sType; + shaderSubgroupRotate = in_struct->shaderSubgroupRotate; + shaderSubgroupRotateClustered = in_struct->shaderSubgroupRotateClustered; + pNext = SafePnextCopy(in_struct->pNext, copy_state); +} + +void safe_VkPhysicalDeviceShaderSubgroupRotateFeaturesKHR::initialize( + const safe_VkPhysicalDeviceShaderSubgroupRotateFeaturesKHR* copy_src, [[maybe_unused]] PNextCopyState* copy_state) { + sType = copy_src->sType; + shaderSubgroupRotate = copy_src->shaderSubgroupRotate; + shaderSubgroupRotateClustered = copy_src->shaderSubgroupRotateClustered; + pNext = SafePnextCopy(copy_src->pNext); +} + +safe_VkPhysicalDeviceShaderMaximalReconvergenceFeaturesKHR::safe_VkPhysicalDeviceShaderMaximalReconvergenceFeaturesKHR( + const VkPhysicalDeviceShaderMaximalReconvergenceFeaturesKHR* in_struct, [[maybe_unused]] PNextCopyState* copy_state, + bool copy_pnext) + : sType(in_struct->sType), shaderMaximalReconvergence(in_struct->shaderMaximalReconvergence) { + if (copy_pnext) { + pNext = SafePnextCopy(in_struct->pNext, copy_state); + } +} + +safe_VkPhysicalDeviceShaderMaximalReconvergenceFeaturesKHR::safe_VkPhysicalDeviceShaderMaximalReconvergenceFeaturesKHR() + : sType(VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_MAXIMAL_RECONVERGENCE_FEATURES_KHR), + pNext(nullptr), + shaderMaximalReconvergence() {} + +safe_VkPhysicalDeviceShaderMaximalReconvergenceFeaturesKHR::safe_VkPhysicalDeviceShaderMaximalReconvergenceFeaturesKHR( + const safe_VkPhysicalDeviceShaderMaximalReconvergenceFeaturesKHR& copy_src) { + sType = copy_src.sType; + shaderMaximalReconvergence = copy_src.shaderMaximalReconvergence; + pNext = SafePnextCopy(copy_src.pNext); +} + +safe_VkPhysicalDeviceShaderMaximalReconvergenceFeaturesKHR& safe_VkPhysicalDeviceShaderMaximalReconvergenceFeaturesKHR::operator=( + const safe_VkPhysicalDeviceShaderMaximalReconvergenceFeaturesKHR& copy_src) { + if (©_src == this) return *this; + + FreePnextChain(pNext); + + sType = copy_src.sType; + shaderMaximalReconvergence = copy_src.shaderMaximalReconvergence; + pNext = SafePnextCopy(copy_src.pNext); + + return *this; +} + +safe_VkPhysicalDeviceShaderMaximalReconvergenceFeaturesKHR::~safe_VkPhysicalDeviceShaderMaximalReconvergenceFeaturesKHR() { + FreePnextChain(pNext); +} + +void safe_VkPhysicalDeviceShaderMaximalReconvergenceFeaturesKHR::initialize( + const VkPhysicalDeviceShaderMaximalReconvergenceFeaturesKHR* in_struct, [[maybe_unused]] PNextCopyState* copy_state) { + FreePnextChain(pNext); + sType = in_struct->sType; + shaderMaximalReconvergence = in_struct->shaderMaximalReconvergence; + pNext = SafePnextCopy(in_struct->pNext, copy_state); +} + +void safe_VkPhysicalDeviceShaderMaximalReconvergenceFeaturesKHR::initialize( + const safe_VkPhysicalDeviceShaderMaximalReconvergenceFeaturesKHR* copy_src, [[maybe_unused]] PNextCopyState* copy_state) { + sType = copy_src->sType; + shaderMaximalReconvergence = copy_src->shaderMaximalReconvergence; + pNext = SafePnextCopy(copy_src->pNext); +} + safe_VkPhysicalDeviceMaintenance5FeaturesKHR::safe_VkPhysicalDeviceMaintenance5FeaturesKHR( const VkPhysicalDeviceMaintenance5FeaturesKHR* in_struct, [[maybe_unused]] PNextCopyState* copy_state, bool copy_pnext) : sType(in_struct->sType), maintenance5(in_struct->maintenance5) { @@ -12248,6 +12699,304 @@ void safe_VkPhysicalDeviceVertexAttributeDivisorFeaturesKHR::initialize( pNext = SafePnextCopy(copy_src->pNext); } +safe_VkPhysicalDeviceShaderFloatControls2FeaturesKHR::safe_VkPhysicalDeviceShaderFloatControls2FeaturesKHR( + const VkPhysicalDeviceShaderFloatControls2FeaturesKHR* in_struct, [[maybe_unused]] PNextCopyState* copy_state, bool copy_pnext) + : sType(in_struct->sType), shaderFloatControls2(in_struct->shaderFloatControls2) { + if (copy_pnext) { + pNext = SafePnextCopy(in_struct->pNext, copy_state); + } +} + +safe_VkPhysicalDeviceShaderFloatControls2FeaturesKHR::safe_VkPhysicalDeviceShaderFloatControls2FeaturesKHR() + : sType(VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_FLOAT_CONTROLS_2_FEATURES_KHR), pNext(nullptr), shaderFloatControls2() {} + +safe_VkPhysicalDeviceShaderFloatControls2FeaturesKHR::safe_VkPhysicalDeviceShaderFloatControls2FeaturesKHR( + const safe_VkPhysicalDeviceShaderFloatControls2FeaturesKHR& copy_src) { + sType = copy_src.sType; + shaderFloatControls2 = copy_src.shaderFloatControls2; + pNext = SafePnextCopy(copy_src.pNext); +} + +safe_VkPhysicalDeviceShaderFloatControls2FeaturesKHR& safe_VkPhysicalDeviceShaderFloatControls2FeaturesKHR::operator=( + const safe_VkPhysicalDeviceShaderFloatControls2FeaturesKHR& copy_src) { + if (©_src == this) return *this; + + FreePnextChain(pNext); + + sType = copy_src.sType; + shaderFloatControls2 = copy_src.shaderFloatControls2; + pNext = SafePnextCopy(copy_src.pNext); + + return *this; +} + +safe_VkPhysicalDeviceShaderFloatControls2FeaturesKHR::~safe_VkPhysicalDeviceShaderFloatControls2FeaturesKHR() { + FreePnextChain(pNext); +} + +void safe_VkPhysicalDeviceShaderFloatControls2FeaturesKHR::initialize( + const VkPhysicalDeviceShaderFloatControls2FeaturesKHR* in_struct, [[maybe_unused]] PNextCopyState* copy_state) { + FreePnextChain(pNext); + sType = in_struct->sType; + shaderFloatControls2 = in_struct->shaderFloatControls2; + pNext = SafePnextCopy(in_struct->pNext, copy_state); +} + +void safe_VkPhysicalDeviceShaderFloatControls2FeaturesKHR::initialize( + const safe_VkPhysicalDeviceShaderFloatControls2FeaturesKHR* copy_src, [[maybe_unused]] PNextCopyState* copy_state) { + sType = copy_src->sType; + shaderFloatControls2 = copy_src->shaderFloatControls2; + pNext = SafePnextCopy(copy_src->pNext); +} + +safe_VkPhysicalDeviceIndexTypeUint8FeaturesKHR::safe_VkPhysicalDeviceIndexTypeUint8FeaturesKHR( + const VkPhysicalDeviceIndexTypeUint8FeaturesKHR* in_struct, [[maybe_unused]] PNextCopyState* copy_state, bool copy_pnext) + : sType(in_struct->sType), indexTypeUint8(in_struct->indexTypeUint8) { + if (copy_pnext) { + pNext = SafePnextCopy(in_struct->pNext, copy_state); + } +} + +safe_VkPhysicalDeviceIndexTypeUint8FeaturesKHR::safe_VkPhysicalDeviceIndexTypeUint8FeaturesKHR() + : sType(VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_INDEX_TYPE_UINT8_FEATURES_KHR), pNext(nullptr), indexTypeUint8() {} + +safe_VkPhysicalDeviceIndexTypeUint8FeaturesKHR::safe_VkPhysicalDeviceIndexTypeUint8FeaturesKHR( + const safe_VkPhysicalDeviceIndexTypeUint8FeaturesKHR& copy_src) { + sType = copy_src.sType; + indexTypeUint8 = copy_src.indexTypeUint8; + pNext = SafePnextCopy(copy_src.pNext); +} + +safe_VkPhysicalDeviceIndexTypeUint8FeaturesKHR& safe_VkPhysicalDeviceIndexTypeUint8FeaturesKHR::operator=( + const safe_VkPhysicalDeviceIndexTypeUint8FeaturesKHR& copy_src) { + if (©_src == this) return *this; + + FreePnextChain(pNext); + + sType = copy_src.sType; + indexTypeUint8 = copy_src.indexTypeUint8; + pNext = SafePnextCopy(copy_src.pNext); + + return *this; +} + +safe_VkPhysicalDeviceIndexTypeUint8FeaturesKHR::~safe_VkPhysicalDeviceIndexTypeUint8FeaturesKHR() { FreePnextChain(pNext); } + +void safe_VkPhysicalDeviceIndexTypeUint8FeaturesKHR::initialize(const VkPhysicalDeviceIndexTypeUint8FeaturesKHR* in_struct, + [[maybe_unused]] PNextCopyState* copy_state) { + FreePnextChain(pNext); + sType = in_struct->sType; + indexTypeUint8 = in_struct->indexTypeUint8; + pNext = SafePnextCopy(in_struct->pNext, copy_state); +} + +void safe_VkPhysicalDeviceIndexTypeUint8FeaturesKHR::initialize(const safe_VkPhysicalDeviceIndexTypeUint8FeaturesKHR* copy_src, + [[maybe_unused]] PNextCopyState* copy_state) { + sType = copy_src->sType; + indexTypeUint8 = copy_src->indexTypeUint8; + pNext = SafePnextCopy(copy_src->pNext); +} + +safe_VkPhysicalDeviceLineRasterizationFeaturesKHR::safe_VkPhysicalDeviceLineRasterizationFeaturesKHR( + const VkPhysicalDeviceLineRasterizationFeaturesKHR* in_struct, [[maybe_unused]] PNextCopyState* copy_state, bool copy_pnext) + : sType(in_struct->sType), + rectangularLines(in_struct->rectangularLines), + bresenhamLines(in_struct->bresenhamLines), + smoothLines(in_struct->smoothLines), + stippledRectangularLines(in_struct->stippledRectangularLines), + stippledBresenhamLines(in_struct->stippledBresenhamLines), + stippledSmoothLines(in_struct->stippledSmoothLines) { + if (copy_pnext) { + pNext = SafePnextCopy(in_struct->pNext, copy_state); + } +} + +safe_VkPhysicalDeviceLineRasterizationFeaturesKHR::safe_VkPhysicalDeviceLineRasterizationFeaturesKHR() + : sType(VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_LINE_RASTERIZATION_FEATURES_KHR), + pNext(nullptr), + rectangularLines(), + bresenhamLines(), + smoothLines(), + stippledRectangularLines(), + stippledBresenhamLines(), + stippledSmoothLines() {} + +safe_VkPhysicalDeviceLineRasterizationFeaturesKHR::safe_VkPhysicalDeviceLineRasterizationFeaturesKHR( + const safe_VkPhysicalDeviceLineRasterizationFeaturesKHR& copy_src) { + sType = copy_src.sType; + rectangularLines = copy_src.rectangularLines; + bresenhamLines = copy_src.bresenhamLines; + smoothLines = copy_src.smoothLines; + stippledRectangularLines = copy_src.stippledRectangularLines; + stippledBresenhamLines = copy_src.stippledBresenhamLines; + stippledSmoothLines = copy_src.stippledSmoothLines; + pNext = SafePnextCopy(copy_src.pNext); +} + +safe_VkPhysicalDeviceLineRasterizationFeaturesKHR& safe_VkPhysicalDeviceLineRasterizationFeaturesKHR::operator=( + const safe_VkPhysicalDeviceLineRasterizationFeaturesKHR& copy_src) { + if (©_src == this) return *this; + + FreePnextChain(pNext); + + sType = copy_src.sType; + rectangularLines = copy_src.rectangularLines; + bresenhamLines = copy_src.bresenhamLines; + smoothLines = copy_src.smoothLines; + stippledRectangularLines = copy_src.stippledRectangularLines; + stippledBresenhamLines = copy_src.stippledBresenhamLines; + stippledSmoothLines = copy_src.stippledSmoothLines; + pNext = SafePnextCopy(copy_src.pNext); + + return *this; +} + +safe_VkPhysicalDeviceLineRasterizationFeaturesKHR::~safe_VkPhysicalDeviceLineRasterizationFeaturesKHR() { FreePnextChain(pNext); } + +void safe_VkPhysicalDeviceLineRasterizationFeaturesKHR::initialize(const VkPhysicalDeviceLineRasterizationFeaturesKHR* in_struct, + [[maybe_unused]] PNextCopyState* copy_state) { + FreePnextChain(pNext); + sType = in_struct->sType; + rectangularLines = in_struct->rectangularLines; + bresenhamLines = in_struct->bresenhamLines; + smoothLines = in_struct->smoothLines; + stippledRectangularLines = in_struct->stippledRectangularLines; + stippledBresenhamLines = in_struct->stippledBresenhamLines; + stippledSmoothLines = in_struct->stippledSmoothLines; + pNext = SafePnextCopy(in_struct->pNext, copy_state); +} + +void safe_VkPhysicalDeviceLineRasterizationFeaturesKHR::initialize( + const safe_VkPhysicalDeviceLineRasterizationFeaturesKHR* copy_src, [[maybe_unused]] PNextCopyState* copy_state) { + sType = copy_src->sType; + rectangularLines = copy_src->rectangularLines; + bresenhamLines = copy_src->bresenhamLines; + smoothLines = copy_src->smoothLines; + stippledRectangularLines = copy_src->stippledRectangularLines; + stippledBresenhamLines = copy_src->stippledBresenhamLines; + stippledSmoothLines = copy_src->stippledSmoothLines; + pNext = SafePnextCopy(copy_src->pNext); +} + +safe_VkPhysicalDeviceLineRasterizationPropertiesKHR::safe_VkPhysicalDeviceLineRasterizationPropertiesKHR( + const VkPhysicalDeviceLineRasterizationPropertiesKHR* in_struct, [[maybe_unused]] PNextCopyState* copy_state, bool copy_pnext) + : sType(in_struct->sType), lineSubPixelPrecisionBits(in_struct->lineSubPixelPrecisionBits) { + if (copy_pnext) { + pNext = SafePnextCopy(in_struct->pNext, copy_state); + } +} + +safe_VkPhysicalDeviceLineRasterizationPropertiesKHR::safe_VkPhysicalDeviceLineRasterizationPropertiesKHR() + : sType(VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_LINE_RASTERIZATION_PROPERTIES_KHR), pNext(nullptr), lineSubPixelPrecisionBits() {} + +safe_VkPhysicalDeviceLineRasterizationPropertiesKHR::safe_VkPhysicalDeviceLineRasterizationPropertiesKHR( + const safe_VkPhysicalDeviceLineRasterizationPropertiesKHR& copy_src) { + sType = copy_src.sType; + lineSubPixelPrecisionBits = copy_src.lineSubPixelPrecisionBits; + pNext = SafePnextCopy(copy_src.pNext); +} + +safe_VkPhysicalDeviceLineRasterizationPropertiesKHR& safe_VkPhysicalDeviceLineRasterizationPropertiesKHR::operator=( + const safe_VkPhysicalDeviceLineRasterizationPropertiesKHR& copy_src) { + if (©_src == this) return *this; + + FreePnextChain(pNext); + + sType = copy_src.sType; + lineSubPixelPrecisionBits = copy_src.lineSubPixelPrecisionBits; + pNext = SafePnextCopy(copy_src.pNext); + + return *this; +} + +safe_VkPhysicalDeviceLineRasterizationPropertiesKHR::~safe_VkPhysicalDeviceLineRasterizationPropertiesKHR() { + FreePnextChain(pNext); +} + +void safe_VkPhysicalDeviceLineRasterizationPropertiesKHR::initialize( + const VkPhysicalDeviceLineRasterizationPropertiesKHR* in_struct, [[maybe_unused]] PNextCopyState* copy_state) { + FreePnextChain(pNext); + sType = in_struct->sType; + lineSubPixelPrecisionBits = in_struct->lineSubPixelPrecisionBits; + pNext = SafePnextCopy(in_struct->pNext, copy_state); +} + +void safe_VkPhysicalDeviceLineRasterizationPropertiesKHR::initialize( + const safe_VkPhysicalDeviceLineRasterizationPropertiesKHR* copy_src, [[maybe_unused]] PNextCopyState* copy_state) { + sType = copy_src->sType; + lineSubPixelPrecisionBits = copy_src->lineSubPixelPrecisionBits; + pNext = SafePnextCopy(copy_src->pNext); +} + +safe_VkPipelineRasterizationLineStateCreateInfoKHR::safe_VkPipelineRasterizationLineStateCreateInfoKHR( + const VkPipelineRasterizationLineStateCreateInfoKHR* in_struct, [[maybe_unused]] PNextCopyState* copy_state, bool copy_pnext) + : sType(in_struct->sType), + lineRasterizationMode(in_struct->lineRasterizationMode), + stippledLineEnable(in_struct->stippledLineEnable), + lineStippleFactor(in_struct->lineStippleFactor), + lineStipplePattern(in_struct->lineStipplePattern) { + if (copy_pnext) { + pNext = SafePnextCopy(in_struct->pNext, copy_state); + } +} + +safe_VkPipelineRasterizationLineStateCreateInfoKHR::safe_VkPipelineRasterizationLineStateCreateInfoKHR() + : sType(VK_STRUCTURE_TYPE_PIPELINE_RASTERIZATION_LINE_STATE_CREATE_INFO_KHR), + pNext(nullptr), + lineRasterizationMode(), + stippledLineEnable(), + lineStippleFactor(), + lineStipplePattern() {} + +safe_VkPipelineRasterizationLineStateCreateInfoKHR::safe_VkPipelineRasterizationLineStateCreateInfoKHR( + const safe_VkPipelineRasterizationLineStateCreateInfoKHR& copy_src) { + sType = copy_src.sType; + lineRasterizationMode = copy_src.lineRasterizationMode; + stippledLineEnable = copy_src.stippledLineEnable; + lineStippleFactor = copy_src.lineStippleFactor; + lineStipplePattern = copy_src.lineStipplePattern; + pNext = SafePnextCopy(copy_src.pNext); +} + +safe_VkPipelineRasterizationLineStateCreateInfoKHR& safe_VkPipelineRasterizationLineStateCreateInfoKHR::operator=( + const safe_VkPipelineRasterizationLineStateCreateInfoKHR& copy_src) { + if (©_src == this) return *this; + + FreePnextChain(pNext); + + sType = copy_src.sType; + lineRasterizationMode = copy_src.lineRasterizationMode; + stippledLineEnable = copy_src.stippledLineEnable; + lineStippleFactor = copy_src.lineStippleFactor; + lineStipplePattern = copy_src.lineStipplePattern; + pNext = SafePnextCopy(copy_src.pNext); + + return *this; +} + +safe_VkPipelineRasterizationLineStateCreateInfoKHR::~safe_VkPipelineRasterizationLineStateCreateInfoKHR() { FreePnextChain(pNext); } + +void safe_VkPipelineRasterizationLineStateCreateInfoKHR::initialize(const VkPipelineRasterizationLineStateCreateInfoKHR* in_struct, + [[maybe_unused]] PNextCopyState* copy_state) { + FreePnextChain(pNext); + sType = in_struct->sType; + lineRasterizationMode = in_struct->lineRasterizationMode; + stippledLineEnable = in_struct->stippledLineEnable; + lineStippleFactor = in_struct->lineStippleFactor; + lineStipplePattern = in_struct->lineStipplePattern; + pNext = SafePnextCopy(in_struct->pNext, copy_state); +} + +void safe_VkPipelineRasterizationLineStateCreateInfoKHR::initialize( + const safe_VkPipelineRasterizationLineStateCreateInfoKHR* copy_src, [[maybe_unused]] PNextCopyState* copy_state) { + sType = copy_src->sType; + lineRasterizationMode = copy_src->lineRasterizationMode; + stippledLineEnable = copy_src->stippledLineEnable; + lineStippleFactor = copy_src->lineStippleFactor; + lineStipplePattern = copy_src->lineStipplePattern; + pNext = SafePnextCopy(copy_src->pNext); +} + safe_VkCalibratedTimestampInfoKHR::safe_VkCalibratedTimestampInfoKHR(const VkCalibratedTimestampInfoKHR* in_struct, [[maybe_unused]] PNextCopyState* copy_state, bool copy_pnext) : sType(in_struct->sType), timeDomain(in_struct->timeDomain) { @@ -12294,6 +13043,54 @@ void safe_VkCalibratedTimestampInfoKHR::initialize(const safe_VkCalibratedTimest pNext = SafePnextCopy(copy_src->pNext); } +safe_VkPhysicalDeviceShaderExpectAssumeFeaturesKHR::safe_VkPhysicalDeviceShaderExpectAssumeFeaturesKHR( + const VkPhysicalDeviceShaderExpectAssumeFeaturesKHR* in_struct, [[maybe_unused]] PNextCopyState* copy_state, bool copy_pnext) + : sType(in_struct->sType), shaderExpectAssume(in_struct->shaderExpectAssume) { + if (copy_pnext) { + pNext = SafePnextCopy(in_struct->pNext, copy_state); + } +} + +safe_VkPhysicalDeviceShaderExpectAssumeFeaturesKHR::safe_VkPhysicalDeviceShaderExpectAssumeFeaturesKHR() + : sType(VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_EXPECT_ASSUME_FEATURES_KHR), pNext(nullptr), shaderExpectAssume() {} + +safe_VkPhysicalDeviceShaderExpectAssumeFeaturesKHR::safe_VkPhysicalDeviceShaderExpectAssumeFeaturesKHR( + const safe_VkPhysicalDeviceShaderExpectAssumeFeaturesKHR& copy_src) { + sType = copy_src.sType; + shaderExpectAssume = copy_src.shaderExpectAssume; + pNext = SafePnextCopy(copy_src.pNext); +} + +safe_VkPhysicalDeviceShaderExpectAssumeFeaturesKHR& safe_VkPhysicalDeviceShaderExpectAssumeFeaturesKHR::operator=( + const safe_VkPhysicalDeviceShaderExpectAssumeFeaturesKHR& copy_src) { + if (©_src == this) return *this; + + FreePnextChain(pNext); + + sType = copy_src.sType; + shaderExpectAssume = copy_src.shaderExpectAssume; + pNext = SafePnextCopy(copy_src.pNext); + + return *this; +} + +safe_VkPhysicalDeviceShaderExpectAssumeFeaturesKHR::~safe_VkPhysicalDeviceShaderExpectAssumeFeaturesKHR() { FreePnextChain(pNext); } + +void safe_VkPhysicalDeviceShaderExpectAssumeFeaturesKHR::initialize(const VkPhysicalDeviceShaderExpectAssumeFeaturesKHR* in_struct, + [[maybe_unused]] PNextCopyState* copy_state) { + FreePnextChain(pNext); + sType = in_struct->sType; + shaderExpectAssume = in_struct->shaderExpectAssume; + pNext = SafePnextCopy(in_struct->pNext, copy_state); +} + +void safe_VkPhysicalDeviceShaderExpectAssumeFeaturesKHR::initialize( + const safe_VkPhysicalDeviceShaderExpectAssumeFeaturesKHR* copy_src, [[maybe_unused]] PNextCopyState* copy_state) { + sType = copy_src->sType; + shaderExpectAssume = copy_src->shaderExpectAssume; + pNext = SafePnextCopy(copy_src->pNext); +} + safe_VkPhysicalDeviceMaintenance6FeaturesKHR::safe_VkPhysicalDeviceMaintenance6FeaturesKHR( const VkPhysicalDeviceMaintenance6FeaturesKHR* in_struct, [[maybe_unused]] PNextCopyState* copy_state, bool copy_pnext) : sType(in_struct->sType), maintenance6(in_struct->maintenance6) { diff --git a/layers/vulkan/generated/vk_safe_struct_utils.cpp b/layers/vulkan/generated/vk_safe_struct_utils.cpp index d4e0688f2f6..990cc76e973 100644 --- a/layers/vulkan/generated/vk_safe_struct_utils.cpp +++ b/layers/vulkan/generated/vk_safe_struct_utils.cpp @@ -3,10 +3,10 @@ /*************************************************************************** * - * Copyright (c) 2015-2023 The Khronos Group Inc. - * Copyright (c) 2015-2023 Valve Corporation - * Copyright (c) 2015-2023 LunarG, Inc. - * Copyright (c) 2015-2023 Google Inc. + * Copyright (c) 2015-2024 The Khronos Group Inc. + * Copyright (c) 2015-2024 Valve Corporation + * Copyright (c) 2015-2024 LunarG, Inc. + * Copyright (c) 2015-2024 Google Inc. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. @@ -626,6 +626,18 @@ void *SafePnextCopy(const void *pNext, PNextCopyState* copy_state) { case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_SHADING_RATE_PROPERTIES_KHR: safe_pNext = new safe_VkPhysicalDeviceFragmentShadingRatePropertiesKHR(reinterpret_cast(pNext), copy_state, false); break; + case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DYNAMIC_RENDERING_LOCAL_READ_FEATURES_KHR: + safe_pNext = new safe_VkPhysicalDeviceDynamicRenderingLocalReadFeaturesKHR(reinterpret_cast(pNext), copy_state, false); + break; + case VK_STRUCTURE_TYPE_RENDERING_ATTACHMENT_LOCATION_INFO_KHR: + safe_pNext = new safe_VkRenderingAttachmentLocationInfoKHR(reinterpret_cast(pNext), copy_state, false); + break; + case VK_STRUCTURE_TYPE_RENDERING_INPUT_ATTACHMENT_INDEX_INFO_KHR: + safe_pNext = new safe_VkRenderingInputAttachmentIndexInfoKHR(reinterpret_cast(pNext), copy_state, false); + break; + case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_QUAD_CONTROL_FEATURES_KHR: + safe_pNext = new safe_VkPhysicalDeviceShaderQuadControlFeaturesKHR(reinterpret_cast(pNext), copy_state, false); + break; case VK_STRUCTURE_TYPE_SURFACE_PROTECTED_CAPABILITIES_KHR: safe_pNext = new safe_VkSurfaceProtectedCapabilitiesKHR(reinterpret_cast(pNext), copy_state, false); break; @@ -677,6 +689,12 @@ void *SafePnextCopy(const void *pNext, PNextCopyState* copy_state) { case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_RAY_TRACING_MAINTENANCE_1_FEATURES_KHR: safe_pNext = new safe_VkPhysicalDeviceRayTracingMaintenance1FeaturesKHR(reinterpret_cast(pNext), copy_state, false); break; + case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_SUBGROUP_ROTATE_FEATURES_KHR: + safe_pNext = new safe_VkPhysicalDeviceShaderSubgroupRotateFeaturesKHR(reinterpret_cast(pNext), copy_state, false); + break; + case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_MAXIMAL_RECONVERGENCE_FEATURES_KHR: + safe_pNext = new safe_VkPhysicalDeviceShaderMaximalReconvergenceFeaturesKHR(reinterpret_cast(pNext), copy_state, false); + break; case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MAINTENANCE_5_FEATURES_KHR: safe_pNext = new safe_VkPhysicalDeviceMaintenance5FeaturesKHR(reinterpret_cast(pNext), copy_state, false); break; @@ -713,6 +731,24 @@ void *SafePnextCopy(const void *pNext, PNextCopyState* copy_state) { case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VERTEX_ATTRIBUTE_DIVISOR_FEATURES_KHR: safe_pNext = new safe_VkPhysicalDeviceVertexAttributeDivisorFeaturesKHR(reinterpret_cast(pNext), copy_state, false); break; + case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_FLOAT_CONTROLS_2_FEATURES_KHR: + safe_pNext = new safe_VkPhysicalDeviceShaderFloatControls2FeaturesKHR(reinterpret_cast(pNext), copy_state, false); + break; + case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_INDEX_TYPE_UINT8_FEATURES_KHR: + safe_pNext = new safe_VkPhysicalDeviceIndexTypeUint8FeaturesKHR(reinterpret_cast(pNext), copy_state, false); + break; + case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_LINE_RASTERIZATION_FEATURES_KHR: + safe_pNext = new safe_VkPhysicalDeviceLineRasterizationFeaturesKHR(reinterpret_cast(pNext), copy_state, false); + break; + case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_LINE_RASTERIZATION_PROPERTIES_KHR: + safe_pNext = new safe_VkPhysicalDeviceLineRasterizationPropertiesKHR(reinterpret_cast(pNext), copy_state, false); + break; + case VK_STRUCTURE_TYPE_PIPELINE_RASTERIZATION_LINE_STATE_CREATE_INFO_KHR: + safe_pNext = new safe_VkPipelineRasterizationLineStateCreateInfoKHR(reinterpret_cast(pNext), copy_state, false); + break; + case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_EXPECT_ASSUME_FEATURES_KHR: + safe_pNext = new safe_VkPhysicalDeviceShaderExpectAssumeFeaturesKHR(reinterpret_cast(pNext), copy_state, false); + break; case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MAINTENANCE_6_FEATURES_KHR: safe_pNext = new safe_VkPhysicalDeviceMaintenance6FeaturesKHR(reinterpret_cast(pNext), copy_state, false); break; @@ -1080,21 +1116,9 @@ void *SafePnextCopy(const void *pNext, PNextCopyState* copy_state) { safe_pNext = new safe_VkSurfaceFullScreenExclusiveWin32InfoEXT(reinterpret_cast(pNext), copy_state, false); break; #endif // VK_USE_PLATFORM_WIN32_KHR - case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_LINE_RASTERIZATION_FEATURES_EXT: - safe_pNext = new safe_VkPhysicalDeviceLineRasterizationFeaturesEXT(reinterpret_cast(pNext), copy_state, false); - break; - case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_LINE_RASTERIZATION_PROPERTIES_EXT: - safe_pNext = new safe_VkPhysicalDeviceLineRasterizationPropertiesEXT(reinterpret_cast(pNext), copy_state, false); - break; - case VK_STRUCTURE_TYPE_PIPELINE_RASTERIZATION_LINE_STATE_CREATE_INFO_EXT: - safe_pNext = new safe_VkPipelineRasterizationLineStateCreateInfoEXT(reinterpret_cast(pNext), copy_state, false); - break; case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_ATOMIC_FLOAT_FEATURES_EXT: safe_pNext = new safe_VkPhysicalDeviceShaderAtomicFloatFeaturesEXT(reinterpret_cast(pNext), copy_state, false); break; - case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_INDEX_TYPE_UINT8_FEATURES_EXT: - safe_pNext = new safe_VkPhysicalDeviceIndexTypeUint8FeaturesEXT(reinterpret_cast(pNext), copy_state, false); - break; case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTENDED_DYNAMIC_STATE_FEATURES_EXT: safe_pNext = new safe_VkPhysicalDeviceExtendedDynamicStateFeaturesEXT(reinterpret_cast(pNext), copy_state, false); break; @@ -2362,6 +2386,18 @@ void FreePnextChain(const void *pNext) { case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_SHADING_RATE_PROPERTIES_KHR: delete reinterpret_cast(header); break; + case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DYNAMIC_RENDERING_LOCAL_READ_FEATURES_KHR: + delete reinterpret_cast(header); + break; + case VK_STRUCTURE_TYPE_RENDERING_ATTACHMENT_LOCATION_INFO_KHR: + delete reinterpret_cast(header); + break; + case VK_STRUCTURE_TYPE_RENDERING_INPUT_ATTACHMENT_INDEX_INFO_KHR: + delete reinterpret_cast(header); + break; + case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_QUAD_CONTROL_FEATURES_KHR: + delete reinterpret_cast(header); + break; case VK_STRUCTURE_TYPE_SURFACE_PROTECTED_CAPABILITIES_KHR: delete reinterpret_cast(header); break; @@ -2413,6 +2449,12 @@ void FreePnextChain(const void *pNext) { case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_RAY_TRACING_MAINTENANCE_1_FEATURES_KHR: delete reinterpret_cast(header); break; + case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_SUBGROUP_ROTATE_FEATURES_KHR: + delete reinterpret_cast(header); + break; + case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_MAXIMAL_RECONVERGENCE_FEATURES_KHR: + delete reinterpret_cast(header); + break; case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MAINTENANCE_5_FEATURES_KHR: delete reinterpret_cast(header); break; @@ -2449,6 +2491,24 @@ void FreePnextChain(const void *pNext) { case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VERTEX_ATTRIBUTE_DIVISOR_FEATURES_KHR: delete reinterpret_cast(header); break; + case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_FLOAT_CONTROLS_2_FEATURES_KHR: + delete reinterpret_cast(header); + break; + case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_INDEX_TYPE_UINT8_FEATURES_KHR: + delete reinterpret_cast(header); + break; + case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_LINE_RASTERIZATION_FEATURES_KHR: + delete reinterpret_cast(header); + break; + case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_LINE_RASTERIZATION_PROPERTIES_KHR: + delete reinterpret_cast(header); + break; + case VK_STRUCTURE_TYPE_PIPELINE_RASTERIZATION_LINE_STATE_CREATE_INFO_KHR: + delete reinterpret_cast(header); + break; + case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_EXPECT_ASSUME_FEATURES_KHR: + delete reinterpret_cast(header); + break; case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MAINTENANCE_6_FEATURES_KHR: delete reinterpret_cast(header); break; @@ -2816,21 +2876,9 @@ void FreePnextChain(const void *pNext) { delete reinterpret_cast(header); break; #endif // VK_USE_PLATFORM_WIN32_KHR - case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_LINE_RASTERIZATION_FEATURES_EXT: - delete reinterpret_cast(header); - break; - case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_LINE_RASTERIZATION_PROPERTIES_EXT: - delete reinterpret_cast(header); - break; - case VK_STRUCTURE_TYPE_PIPELINE_RASTERIZATION_LINE_STATE_CREATE_INFO_EXT: - delete reinterpret_cast(header); - break; case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_ATOMIC_FLOAT_FEATURES_EXT: delete reinterpret_cast(header); break; - case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_INDEX_TYPE_UINT8_FEATURES_EXT: - delete reinterpret_cast(header); - break; case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTENDED_DYNAMIC_STATE_FEATURES_EXT: delete reinterpret_cast(header); break; diff --git a/layers/vulkan/generated/vk_safe_struct_vendor.cpp b/layers/vulkan/generated/vk_safe_struct_vendor.cpp index 8050dea4378..f482064310d 100644 --- a/layers/vulkan/generated/vk_safe_struct_vendor.cpp +++ b/layers/vulkan/generated/vk_safe_struct_vendor.cpp @@ -3,10 +3,10 @@ /*************************************************************************** * - * Copyright (c) 2015-2023 The Khronos Group Inc. - * Copyright (c) 2015-2023 Valve Corporation - * Copyright (c) 2015-2023 LunarG, Inc. - * Copyright (c) 2015-2023 Google Inc. + * Copyright (c) 2015-2024 The Khronos Group Inc. + * Copyright (c) 2015-2024 Valve Corporation + * Copyright (c) 2015-2024 LunarG, Inc. + * Copyright (c) 2015-2024 Google Inc. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/layers/vulkan/generated/vk_validation_error_messages.h b/layers/vulkan/generated/vk_validation_error_messages.h index a9067942ee9..11cfe9f9cb9 100644 --- a/layers/vulkan/generated/vk_validation_error_messages.h +++ b/layers/vulkan/generated/vk_validation_error_messages.h @@ -1,6 +1,6 @@ // *** THIS FILE IS GENERATED - DO NOT EDIT *** // See generate_spec_error_message.py for modifications -// Based on Vulkan specification version: 1.3.275 +// Based on Vulkan specification version: 1.3.276 /*************************************************************************** * @@ -306,6 +306,7 @@ static const vuid_spec_text_pair vuid_spec_text[] = { {"VUID-RuntimeSpirv-MSize-08975", "For OpCooperativeMatrixMulAddKHR, the type of A must have VkCooperativeMatrixPropertiesKHR::MSize rows and VkCooperativeMatrixPropertiesKHR::KSize columns and have a component type that matches VkCooperativeMatrixPropertiesKHR::AType.", "1.3-extensions"}, {"VUID-RuntimeSpirv-MSize-08979", "For OpCooperativeMatrixMulAddKHR, the type of C must have VkCooperativeMatrixPropertiesKHR::MSize rows and VkCooperativeMatrixPropertiesKHR::NSize columns and have a component type that matches VkCooperativeMatrixPropertiesKHR::CType.", "1.3-extensions"}, {"VUID-RuntimeSpirv-MSize-08981", "For OpCooperativeMatrixMulAddKHR, the type of Result must have VkCooperativeMatrixPropertiesKHR::MSize rows and VkCooperativeMatrixPropertiesKHR::NSize columns and have a component type that matches VkCooperativeMatrixPropertiesKHR::ResultType.", "1.3-extensions"}, + {"VUID-RuntimeSpirv-MaximallyReconvergesKHR-09565", "The execution mode MaximallyReconvergesKHR must not be applied to an entry point unless the entry point does not execute any invocation repack instructions. endif:VK_KHR_shader_maximal_reconvergence[]", "1.3-extensions"}, {"VUID-RuntimeSpirv-MeshEXT-07115", "For mesh shaders using the MeshEXT Execution Model the OutputVertices OpExecutionMode must be less than or equal to VkPhysicalDeviceMeshShaderPropertiesEXT::maxMeshOutputVertices", "1.3-extensions"}, {"VUID-RuntimeSpirv-MeshEXT-07116", "For mesh shaders using the MeshEXT Execution Model the OutputPrimitivesEXT OpExecutionMode must be less than or equal to VkPhysicalDeviceMeshShaderPropertiesEXT::maxMeshOutputPrimitives", "1.3-extensions"}, {"VUID-RuntimeSpirv-MeshEXT-07118", "In mesh shaders using the MeshEXT Execution Model OpSetMeshOutputsEXT must be called at most once under dynamically uniform conditions", "1.3-extensions"}, @@ -335,6 +336,7 @@ static const vuid_spec_text_pair vuid_spec_text[] = { {"VUID-RuntimeSpirv-None-06339", "shaderBufferFloat64Atomics, or shaderBufferFloat64AtomicAdd, or shaderSharedFloat64Atomics, or shaderSharedFloat64AtomicAdd, or shaderBufferFloat64AtomicMinMax, or shaderSharedFloat64AtomicMinMax, must be enabled for 64-bit floating point atomic operations", "1.3-extensions"}, {"VUID-RuntimeSpirv-None-06342", "If subgroupQuadOperationsInAllStages is VK_FALSE, then quad subgroup operations must not be used except for in fragment and compute stages", "1.3-extensions"}, {"VUID-RuntimeSpirv-None-06343", "Group operations with subgroup scope must not be used if the shader stage is not in subgroupSupportedStages", "1.3-extensions"}, + {"VUID-RuntimeSpirv-None-09558", "If dynamicRenderingLocalRead is not enabled, any variable created with a \"Type\" of OpTypeImage that has a \"Dim\" operand of SubpassData must be decorated with InputAttachmentIndex", "1.3-extensions"}, {"VUID-RuntimeSpirv-Offset-06308", "The Offset plus size of the type of each variable, in the output interface of the entry point being compiled, decorated with XfbBuffer must not be greater than VkPhysicalDeviceTransformFeedbackPropertiesEXT::maxTransformFeedbackBufferDataSize", "1.3-extensions"}, {"VUID-RuntimeSpirv-Offset-06344", "The first element of the Offset operand of InterpolateAtOffset must be greater than or equal to: fragwidth × minInterpolationOffset where fragwidth is the width of the current fragment in pixels", "1.3-extensions"}, {"VUID-RuntimeSpirv-Offset-06345", "The first element of the Offset operand of InterpolateAtOffset must be less than or equal to fragwidth × (maxInterpolationOffset + ULP ) - ULP where fragwidth is the width of the current fragment in pixels and ULP = 1 / 2^subPixelInterpolationOffsetBits^", "1.3-extensions"}, @@ -465,7 +467,7 @@ static const vuid_spec_text_pair vuid_spec_text[] = { {"VUID-RuntimeSpirv-maxTaskSharedMemorySize-08759", "The sum of size in bytes for variables and padding in the Workgroup Storage Class in the TaskEXT Execution Model must be less than or equal to maxTaskSharedMemorySize", "1.3-extensions"}, {"VUID-RuntimeSpirv-minSampleShading-08731", "If sample shading is enabled and minSampleShading is 1.0, the sample operand of any OpColorAttachmentReadEXT, OpDepthAttachmentReadEXT, or OpStencilAttachmentReadEXT operation must evaluate to the value of the coverage index for any given fragment invocation", "1.3-extensions"}, {"VUID-RuntimeSpirv-minSampleShading-08732", "If sample shading is enabled and any of the OpColorAttachmentReadEXT, OpDepthAttachmentReadEXT, or OpStencilAttachmentReadEXT operations are used, then minSampleShading must be 1.0", "1.3-extensions"}, - {"VUID-RuntimeSpirv-pNext-09226", "If a OpImageBlockMatchWindow*QCOM operation is used, then target sampled image must have been created using asampler object that included VkSamplerBlockMatchWindowCreateInfoQCOM in the pNext chain.", "1.3-extensions"}, + {"VUID-RuntimeSpirv-pNext-09226", "If a OpImageBlockMatchWindow*QCOM operation is used, then target sampled image must have been created using asampler object that included VkSamplerBlockMatchWindowCreateInfoQCOM in the pNext chain. ifdef:VK_KHR_shader_maximal_reconvergence[]", "1.3-extensions"}, {"VUID-RuntimeSpirv-roundingModeIndependence-06291", "If roundingModeIndependence is VK_SHADER_FLOAT_CONTROLS_INDEPENDENCE_32_BIT_ONLY, then the entry point must use the same rounding Execution Mode for both 16-bit and 64-bit floating-point types", "1.3-extensions"}, {"VUID-RuntimeSpirv-roundingModeIndependence-06292", "If roundingModeIndependence is VK_SHADER_FLOAT_CONTROLS_INDEPENDENCE_NONE, then the entry point must use the same rounding Execution Mode for all floating-point types", "1.3-extensions"}, {"VUID-RuntimeSpirv-samples-08725", "If an OpTypeImage has an MS operand 0, its bound image must have been created with VkImageCreateInfo::samples as VK_SAMPLE_COUNT_1_BIT", "1.3-extensions"}, @@ -494,9 +496,16 @@ static const vuid_spec_text_pair vuid_spec_text[] = { {"VUID-RuntimeSpirv-shaderRoundingModeRTZFloat64-06307", "If shaderRoundingModeRTZFloat64 is VK_FALSE, then RoundingModeRTZ for 64-bit floating-point type must not be used", "1.3-extensions"}, {"VUID-RuntimeSpirv-shaderSampleRateInterpolationFunctions-06325", "If the VK_KHR_portability_subset extension is enabled, and VkPhysicalDevicePortabilitySubsetFeaturesKHR::shaderSampleRateInterpolationFunctions is VK_FALSE, then GLSL.std.450 fragment interpolation functions are not supported by the implementation and OpCapability must not be set to InterpolationFunction", "1.3-extensions"}, {"VUID-RuntimeSpirv-shaderSignedZeroInfNanPreserveFloat16-06293", "If shaderSignedZeroInfNanPreserveFloat16 is VK_FALSE, then SignedZeroInfNanPreserve for 16-bit floating-point type must not be used", "1.3-extensions"}, + {"VUID-RuntimeSpirv-shaderSignedZeroInfNanPreserveFloat16-09559", "If shaderSignedZeroInfNanPreserveFloat16 is VK_FALSE then any FPFastMathDefault execution mode with a type of 16-bit float must include the NSZ, NotInf, and NotNaN flags.", "1.3-extensions"}, + {"VUID-RuntimeSpirv-shaderSignedZeroInfNanPreserveFloat16-09560", "If shaderSignedZeroInfNanPreserveFloat16 is VK_FALSE then any FPFastMath decoration on an instruction with result type or any operand type that includes a 16-bit float must include the NSZ, NotInf, and NotNaN flags.", "1.3-extensions"}, {"VUID-RuntimeSpirv-shaderSignedZeroInfNanPreserveFloat32-06294", "If shaderSignedZeroInfNanPreserveFloat32 is VK_FALSE, then SignedZeroInfNanPreserve for 32-bit floating-point type must not be used", "1.3-extensions"}, + {"VUID-RuntimeSpirv-shaderSignedZeroInfNanPreserveFloat32-09561", "If shaderSignedZeroInfNanPreserveFloat32 is VK_FALSE then any FPFastMathDefault execution mode with a type of 32-bit float must include the NSZ, NotInf, and NotNaN flags.", "1.3-extensions"}, + {"VUID-RuntimeSpirv-shaderSignedZeroInfNanPreserveFloat32-09562", "If shaderSignedZeroInfNanPreserveFloat32 is VK_FALSE then any FPFastMath decoration on an instruction with result type or any operand type that includes a 32-bit float must include the NSZ, NotInf, and NotNaN flags.", "1.3-extensions"}, {"VUID-RuntimeSpirv-shaderSignedZeroInfNanPreserveFloat64-06295", "If shaderSignedZeroInfNanPreserveFloat64 is VK_FALSE, then SignedZeroInfNanPreserve for 64-bit floating-point type must not be used", "1.3-extensions"}, + {"VUID-RuntimeSpirv-shaderSignedZeroInfNanPreserveFloat64-09563", "If shaderSignedZeroInfNanPreserveFloat64 is VK_FALSE then any FPFastMathDefault execution mode with a type of 64-bit float must include the NSZ, NotInf, and NotNaN flags.", "1.3-extensions"}, + {"VUID-RuntimeSpirv-shaderSignedZeroInfNanPreserveFloat64-09564", "If shaderSignedZeroInfNanPreserveFloat64 is VK_FALSE then any FPFastMath decoration on an instruction with result type or any operand type that includes a 64-bit float must include the NSZ, NotInf, and NotNaN flags.", "1.3-extensions"}, {"VUID-RuntimeSpirv-shaderSubgroupClock-06267", "If shaderSubgroupClock is not enabled, the Subgroup scope must not be used for OpReadClockKHR", "1.3-extensions"}, + {"VUID-RuntimeSpirv-shaderSubgroupRotateClustered-09566", "If shaderSubgroupRotateClustered is VK_FALSE, then the ClusterSize operand to OpGroupNonUniformRotateKHR must not be used.", "1.3-extensions"}, {"VUID-RuntimeSpirv-shaderTileImageColorReadAccess-08728", "If shaderTileImageColorReadAccess is not enabled, OpColorAttachmentReadEXT operation must not be used", "1.3-extensions"}, {"VUID-RuntimeSpirv-shaderTileImageDepthReadAccess-08729", "If shaderTileImageDepthReadAccess is not enabled, OpDepthAttachmentReadEXT operation must not be used", "1.3-extensions"}, {"VUID-RuntimeSpirv-shaderTileImageStencilReadAccess-08730", "If shaderTileImageStencilReadAccess is not enabled, OpStencilAttachmentReadEXT operation must not be used", "1.3-extensions"}, @@ -570,6 +579,7 @@ static const vuid_spec_text_pair vuid_spec_text[] = { {"VUID-StandaloneSpirv-IncomingRayPayloadKHR-04700", "There must be at most one variable with the IncomingRayPayloadKHR Storage Class in the input interface of an entry point", "1.3-extensions"}, {"VUID-StandaloneSpirv-Input-06778", "Variables with a Storage Class of Input in a fragment shader stage that are decorated with PerVertexKHR must be declared as arrays", "1.3-extensions"}, {"VUID-StandaloneSpirv-Input-07290", "Variables with a Storage Class of Input or Output and a type of OpTypeBool must be decorated with the BuiltIn decoration", "1.3-extensions"}, + {"VUID-StandaloneSpirv-Input-09557", "The pointers of any Input or Output Interface user-defined variables must not contain any PhysicalStorageBuffer Storage Class pointers", "1.3-extensions"}, {"VUID-StandaloneSpirv-InputAttachmentIndex-06678", "Variables decorated with InputAttachmentIndex must be in the UniformConstant Storage Class", "1.3-extensions"}, {"VUID-StandaloneSpirv-Invariant-04677", "Variables decorated with Invariant and variables with structure types that have any members decorated with Invariant must be in the Output or Input Storage Class, Invariant used on an Input Storage Class variable or structure member has no effect", "1.3-extensions"}, {"VUID-StandaloneSpirv-LocalSize-06426", "For each compute shader entry point, either a LocalSize or LocalSizeId Execution Mode, or an object decorated with the WorkgroupSize decoration must be specified", "1.3-extensions"}, @@ -843,7 +853,9 @@ static const vuid_spec_text_pair vuid_spec_text[] = { {"VUID-VkAccelerationStructureMotionInstanceNV-staticInstance-parameter", "If type is VK_ACCELERATION_STRUCTURE_MOTION_INSTANCE_TYPE_STATIC_NV, the staticInstance member of data must be a valid VkAccelerationStructureInstanceKHR structure", "1.3-extensions"}, {"VUID-VkAccelerationStructureMotionInstanceNV-type-parameter", "type must be a valid VkAccelerationStructureMotionInstanceTypeNV value", "1.3-extensions"}, {"VUID-VkAccelerationStructureSRTMotionInstanceNV-flags-parameter", "flags must be a valid combination of VkGeometryInstanceFlagBitsKHR values", "1.3-extensions"}, + {"VUID-VkAccelerationStructureTrianglesDisplacementMicromapNV-displacementBiasAndScaleFormat-09501", "displacementBiasAndScaleFormat must not be VK_FORMAT_UNDEFINED", "1.3-extensions"}, {"VUID-VkAccelerationStructureTrianglesDisplacementMicromapNV-displacementBiasAndScaleFormat-parameter", "displacementBiasAndScaleFormat must be a valid VkFormat value", "1.3-extensions"}, + {"VUID-VkAccelerationStructureTrianglesDisplacementMicromapNV-displacementVectorFormat-09502", "displacementVectorFormat must not be VK_FORMAT_UNDEFINED", "1.3-extensions"}, {"VUID-VkAccelerationStructureTrianglesDisplacementMicromapNV-displacementVectorFormat-parameter", "displacementVectorFormat must be a valid VkFormat value", "1.3-extensions"}, {"VUID-VkAccelerationStructureTrianglesDisplacementMicromapNV-indexType-parameter", "indexType must be a valid VkIndexType value", "1.3-extensions"}, {"VUID-VkAccelerationStructureTrianglesDisplacementMicromapNV-micromap-parameter", "If micromap is not VK_NULL_HANDLE, micromap must be a valid VkMicromapEXT handle", "1.3-extensions"}, @@ -900,6 +912,8 @@ static const vuid_spec_text_pair vuid_spec_text[] = { {"VUID-VkApplicationInfo-sType-sType", "sType must be VK_STRUCTURE_TYPE_APPLICATION_INFO", "1.3-extensions"}, {"VUID-VkAttachmentDescription-attachmentFeedbackLoopLayout-07309", "If the attachmentFeedbackLoopLayout feature is not enabled, initialLayout must not be VK_IMAGE_LAYOUT_ATTACHMENT_FEEDBACK_LOOP_OPTIMAL_EXT", "1.3-extensions"}, {"VUID-VkAttachmentDescription-attachmentFeedbackLoopLayout-07310", "If the attachmentFeedbackLoopLayout feature is not enabled, finalLayout must not be VK_IMAGE_LAYOUT_ATTACHMENT_FEEDBACK_LOOP_OPTIMAL_EXT", "1.3-extensions"}, + {"VUID-VkAttachmentDescription-dynamicRenderingLocalRead-09544", "If the dynamicRenderingLocalRead feature is not enabled, initialLayout must not be VK_IMAGE_LAYOUT_RENDERING_LOCAL_READ_KHR", "1.3-extensions"}, + {"VUID-VkAttachmentDescription-dynamicRenderingLocalRead-09545", "If the dynamicRenderingLocalRead feature is not enabled, finalLayout must not be VK_IMAGE_LAYOUT_RENDERING_LOCAL_READ_KHR", "1.3-extensions"}, {"VUID-VkAttachmentDescription-finalLayout-00843", "finalLayout must not be VK_IMAGE_LAYOUT_UNDEFINED or VK_IMAGE_LAYOUT_PREINITIALIZED", "1.3-extensions"}, {"VUID-VkAttachmentDescription-finalLayout-parameter", "finalLayout must be a valid VkImageLayout value", "1.3-extensions"}, {"VUID-VkAttachmentDescription-flags-parameter", "flags must be a valid combination of VkAttachmentDescriptionFlagBits values", "1.3-extensions"}, @@ -936,6 +950,8 @@ static const vuid_spec_text_pair vuid_spec_text[] = { {"VUID-VkAttachmentDescription-synchronization2-06909", "If the synchronization2 feature is not enabled, finalLayout must not be VK_IMAGE_LAYOUT_ATTACHMENT_OPTIMAL_KHR or VK_IMAGE_LAYOUT_READ_ONLY_OPTIMAL_KHR", "1.3-extensions"}, {"VUID-VkAttachmentDescription2-attachmentFeedbackLoopLayout-07309", "If the attachmentFeedbackLoopLayout feature is not enabled, initialLayout must not be VK_IMAGE_LAYOUT_ATTACHMENT_FEEDBACK_LOOP_OPTIMAL_EXT", "1.3-extensions"}, {"VUID-VkAttachmentDescription2-attachmentFeedbackLoopLayout-07310", "If the attachmentFeedbackLoopLayout feature is not enabled, finalLayout must not be VK_IMAGE_LAYOUT_ATTACHMENT_FEEDBACK_LOOP_OPTIMAL_EXT", "1.3-extensions"}, + {"VUID-VkAttachmentDescription2-dynamicRenderingLocalRead-09544", "If the dynamicRenderingLocalRead feature is not enabled, initialLayout must not be VK_IMAGE_LAYOUT_RENDERING_LOCAL_READ_KHR", "1.3-extensions"}, + {"VUID-VkAttachmentDescription2-dynamicRenderingLocalRead-09545", "If the dynamicRenderingLocalRead feature is not enabled, finalLayout must not be VK_IMAGE_LAYOUT_RENDERING_LOCAL_READ_KHR", "1.3-extensions"}, {"VUID-VkAttachmentDescription2-finalLayout-00843", "finalLayout must not be VK_IMAGE_LAYOUT_UNDEFINED or VK_IMAGE_LAYOUT_PREINITIALIZED", "1.3-extensions"}, {"VUID-VkAttachmentDescription2-finalLayout-parameter", "finalLayout must be a valid VkImageLayout value", "1.3-extensions"}, {"VUID-VkAttachmentDescription2-flags-parameter", "flags must be a valid combination of VkAttachmentDescriptionFlagBits values", "1.3-extensions"}, @@ -982,11 +998,13 @@ static const vuid_spec_text_pair vuid_spec_text[] = { {"VUID-VkAttachmentDescriptionStencilLayout-stencilInitialLayout-03308", "stencilInitialLayout must not be VK_IMAGE_LAYOUT_COLOR_ATTACHMENT_OPTIMAL, VK_IMAGE_LAYOUT_DEPTH_ATTACHMENT_OPTIMAL, VK_IMAGE_LAYOUT_DEPTH_READ_ONLY_OPTIMAL, VK_IMAGE_LAYOUT_DEPTH_STENCIL_ATTACHMENT_OPTIMAL, VK_IMAGE_LAYOUT_DEPTH_STENCIL_READ_ONLY_OPTIMAL, VK_IMAGE_LAYOUT_DEPTH_ATTACHMENT_STENCIL_READ_ONLY_OPTIMAL, or VK_IMAGE_LAYOUT_DEPTH_READ_ONLY_STENCIL_ATTACHMENT_OPTIMAL", "1.3-extensions"}, {"VUID-VkAttachmentDescriptionStencilLayout-stencilInitialLayout-parameter", "stencilInitialLayout must be a valid VkImageLayout value", "1.3-extensions"}, {"VUID-VkAttachmentReference-attachmentFeedbackLoopLayout-07311", "If the attachmentFeedbackLoopLayout feature is not enabled, layout must not be VK_IMAGE_LAYOUT_ATTACHMENT_FEEDBACK_LOOP_OPTIMAL_EXT", "1.3-extensions"}, + {"VUID-VkAttachmentReference-dynamicRenderingLocalRead-09546", "If the dynamicRenderingLocalRead feature is not enabled, layout must not be VK_IMAGE_LAYOUT_RENDERING_LOCAL_READ_KHR", "1.3-extensions"}, {"VUID-VkAttachmentReference-layout-03077", "If attachment is not VK_ATTACHMENT_UNUSED, layout must not be VK_IMAGE_LAYOUT_UNDEFINED, VK_IMAGE_LAYOUT_PREINITIALIZED, or VK_IMAGE_LAYOUT_PRESENT_SRC_KHR", "1.3-extensions"}, {"VUID-VkAttachmentReference-layout-parameter", "layout must be a valid VkImageLayout value", "1.3-extensions"}, {"VUID-VkAttachmentReference-separateDepthStencilLayouts-03313", "If the separateDepthStencilLayouts feature is not enabled, and attachment is not VK_ATTACHMENT_UNUSED, layout must not be VK_IMAGE_LAYOUT_DEPTH_ATTACHMENT_OPTIMAL, VK_IMAGE_LAYOUT_DEPTH_READ_ONLY_OPTIMAL, VK_IMAGE_LAYOUT_STENCIL_ATTACHMENT_OPTIMAL, or VK_IMAGE_LAYOUT_STENCIL_READ_ONLY_OPTIMAL,", "1.3-extensions"}, {"VUID-VkAttachmentReference-synchronization2-06910", "If the synchronization2 feature is not enabled, layout must not be VK_IMAGE_LAYOUT_ATTACHMENT_OPTIMAL_KHR or VK_IMAGE_LAYOUT_READ_ONLY_OPTIMAL_KHR", "1.3-extensions"}, {"VUID-VkAttachmentReference2-attachmentFeedbackLoopLayout-07311", "If the attachmentFeedbackLoopLayout feature is not enabled, layout must not be VK_IMAGE_LAYOUT_ATTACHMENT_FEEDBACK_LOOP_OPTIMAL_EXT", "1.3-extensions"}, + {"VUID-VkAttachmentReference2-dynamicRenderingLocalRead-09546", "If the dynamicRenderingLocalRead feature is not enabled, layout must not be VK_IMAGE_LAYOUT_RENDERING_LOCAL_READ_KHR", "1.3-extensions"}, {"VUID-VkAttachmentReference2-layout-03077", "If attachment is not VK_ATTACHMENT_UNUSED, layout must not be VK_IMAGE_LAYOUT_UNDEFINED, VK_IMAGE_LAYOUT_PREINITIALIZED, or VK_IMAGE_LAYOUT_PRESENT_SRC_KHR", "1.3-extensions"}, {"VUID-VkAttachmentReference2-layout-parameter", "layout must be a valid VkImageLayout value", "1.3-extensions"}, {"VUID-VkAttachmentReference2-pNext-pNext", "pNext must be NULL or a pointer to a valid instance of VkAttachmentReferenceStencilLayout", "1.3-extensions"}, @@ -1238,16 +1256,8 @@ static const vuid_spec_text_pair vuid_spec_text[] = { {"VUID-VkBufferCollectionImageCreateInfoFUCHSIA-collection-parameter", "collection must be a valid VkBufferCollectionFUCHSIA handle", "1.3-extensions"}, {"VUID-VkBufferCollectionImageCreateInfoFUCHSIA-index-06391", "index must be less than VkBufferCollectionPropertiesFUCHSIA::bufferCount", "1.3-extensions"}, {"VUID-VkBufferCollectionImageCreateInfoFUCHSIA-sType-sType", "sType must be VK_STRUCTURE_TYPE_BUFFER_COLLECTION_IMAGE_CREATE_INFO_FUCHSIA", "1.3-extensions"}, - {"VUID-VkBufferCollectionPropertiesFUCHSIA-formatFeatures-parameter", "formatFeatures must be a valid combination of VkFormatFeatureFlagBits values", "1.3-extensions"}, - {"VUID-VkBufferCollectionPropertiesFUCHSIA-formatFeatures-requiredbitmask", "formatFeatures must not be 0", "1.3-extensions"}, {"VUID-VkBufferCollectionPropertiesFUCHSIA-pNext-pNext", "pNext must be NULL", "1.3-extensions"}, {"VUID-VkBufferCollectionPropertiesFUCHSIA-sType-sType", "sType must be VK_STRUCTURE_TYPE_BUFFER_COLLECTION_PROPERTIES_FUCHSIA", "1.3-extensions"}, - {"VUID-VkBufferCollectionPropertiesFUCHSIA-samplerYcbcrConversionComponents-parameter", "samplerYcbcrConversionComponents must be a valid VkComponentMapping structure", "1.3-extensions"}, - {"VUID-VkBufferCollectionPropertiesFUCHSIA-suggestedXChromaOffset-parameter", "suggestedXChromaOffset must be a valid VkChromaLocation value", "1.3-extensions"}, - {"VUID-VkBufferCollectionPropertiesFUCHSIA-suggestedYChromaOffset-parameter", "suggestedYChromaOffset must be a valid VkChromaLocation value", "1.3-extensions"}, - {"VUID-VkBufferCollectionPropertiesFUCHSIA-suggestedYcbcrModel-parameter", "suggestedYcbcrModel must be a valid VkSamplerYcbcrModelConversion value", "1.3-extensions"}, - {"VUID-VkBufferCollectionPropertiesFUCHSIA-suggestedYcbcrRange-parameter", "suggestedYcbcrRange must be a valid VkSamplerYcbcrRange value", "1.3-extensions"}, - {"VUID-VkBufferCollectionPropertiesFUCHSIA-sysmemColorSpaceIndex-parameter", "sysmemColorSpaceIndex must be a valid VkSysmemColorSpaceFUCHSIA structure", "1.3-extensions"}, {"VUID-VkBufferConstraintsInfoFUCHSIA-bufferCollectionConstraints-parameter", "bufferCollectionConstraints must be a valid VkBufferCollectionConstraintsInfoFUCHSIA structure", "1.3-extensions"}, {"VUID-VkBufferConstraintsInfoFUCHSIA-createInfo-parameter", "createInfo must be a valid VkBufferCreateInfo structure", "1.3-extensions"}, {"VUID-VkBufferConstraintsInfoFUCHSIA-pNext-pNext", "pNext must be NULL", "1.3-extensions"}, @@ -1259,8 +1269,8 @@ static const vuid_spec_text_pair vuid_spec_text[] = { {"VUID-VkBufferCopy2-sType-sType", "sType must be VK_STRUCTURE_TYPE_BUFFER_COPY_2", "1.3-extensions"}, {"VUID-VkBufferCopy2-size-01988", "The size must be greater than 0", "1.3-extensions"}, {"VUID-VkBufferCreateInfo-None-01888", "If any of the bits VK_BUFFER_CREATE_SPARSE_BINDING_BIT, VK_BUFFER_CREATE_SPARSE_RESIDENCY_BIT, or VK_BUFFER_CREATE_SPARSE_ALIASED_BIT are set, VK_BUFFER_CREATE_PROTECTED_BIT must not also be set", "1.3-extensions"}, - {"VUID-VkBufferCreateInfo-None-09499", "If the pNext chain does not include a VkBufferUsageFlags2CreateInfoKHR structure, usage: must be a valid combination of VkBufferUsageFlagBits values", "1.3-extensions"}, - {"VUID-VkBufferCreateInfo-None-09500", "If the pNext chain does not include a VkBufferUsageFlags2CreateInfoKHR structure, usage: must not be 0", "1.3-extensions"}, + {"VUID-VkBufferCreateInfo-None-09499", "If the pNext chain does not include a VkBufferUsageFlags2CreateInfoKHR structure, usage must be a valid combination of VkBufferUsageFlagBits values", "1.3-extensions"}, + {"VUID-VkBufferCreateInfo-None-09500", "If the pNext chain does not include a VkBufferUsageFlags2CreateInfoKHR structure, usage must not be 0", "1.3-extensions"}, {"VUID-VkBufferCreateInfo-deviceAddress-02604", "If VkBufferDeviceAddressCreateInfoEXT::deviceAddress is not zero, flags must include VK_BUFFER_CREATE_DEVICE_ADDRESS_CAPTURE_REPLAY_BIT", "1.3-extensions"}, {"VUID-VkBufferCreateInfo-flags-00915", "If the sparseBinding feature is not enabled, flags must not contain VK_BUFFER_CREATE_SPARSE_BINDING_BIT", "1.3-extensions"}, {"VUID-VkBufferCreateInfo-flags-00916", "If the sparseResidencyBuffer feature is not enabled, flags must not contain VK_BUFFER_CREATE_SPARSE_RESIDENCY_BIT", "1.3-extensions"}, @@ -1547,7 +1557,7 @@ static const vuid_spec_text_pair vuid_spec_text[] = { {"VUID-VkCommandBufferInheritanceConditionalRenderingInfoEXT-sType-sType", "sType must be VK_STRUCTURE_TYPE_COMMAND_BUFFER_INHERITANCE_CONDITIONAL_RENDERING_INFO_EXT", "1.3-extensions"}, {"VUID-VkCommandBufferInheritanceInfo-commonparent", "Both of framebuffer, and renderPass that are valid handles of non-ignored parameters must have been created, allocated, or retrieved from the same VkDevice", "1.3-extensions"}, {"VUID-VkCommandBufferInheritanceInfo-occlusionQueryEnable-00056", "If the inheritedQueries feature is not enabled, occlusionQueryEnable must be VK_FALSE", "1.3-extensions"}, - {"VUID-VkCommandBufferInheritanceInfo-pNext-pNext", "Each pNext member of any structure (including this one) in the pNext chain must be either NULL or a pointer to a valid instance of VkAttachmentSampleCountInfoAMD, VkCommandBufferInheritanceConditionalRenderingInfoEXT, VkCommandBufferInheritanceRenderPassTransformInfoQCOM, VkCommandBufferInheritanceRenderingInfo, VkCommandBufferInheritanceViewportScissorInfoNV, VkExternalFormatANDROID, or VkMultiviewPerViewAttributesInfoNVX", "1.3-extensions"}, + {"VUID-VkCommandBufferInheritanceInfo-pNext-pNext", "Each pNext member of any structure (including this one) in the pNext chain must be either NULL or a pointer to a valid instance of VkAttachmentSampleCountInfoAMD, VkCommandBufferInheritanceConditionalRenderingInfoEXT, VkCommandBufferInheritanceRenderPassTransformInfoQCOM, VkCommandBufferInheritanceRenderingInfo, VkCommandBufferInheritanceViewportScissorInfoNV, VkExternalFormatANDROID, VkMultiviewPerViewAttributesInfoNVX, VkRenderingAttachmentLocationInfoKHR, or VkRenderingInputAttachmentIndexInfoKHR", "1.3-extensions"}, {"VUID-VkCommandBufferInheritanceInfo-pipelineStatistics-00058", "If the pipelineStatisticsQuery feature is not enabled, pipelineStatistics must be 0", "1.3-extensions"}, {"VUID-VkCommandBufferInheritanceInfo-pipelineStatistics-02789", "If the pipelineStatisticsQuery feature is enabled, pipelineStatistics must be a valid combination of VkQueryPipelineStatisticFlagBits values", "1.3-extensions"}, {"VUID-VkCommandBufferInheritanceInfo-queryFlags-00057", "If the inheritedQueries feature is enabled, queryFlags must be a valid combination of VkQueryControlFlagBits values", "1.3-extensions"}, @@ -1646,20 +1656,10 @@ static const vuid_spec_text_pair vuid_spec_text[] = { {"VUID-VkConditionalRenderingBeginInfoEXT-offset-01984", "offset must be a multiple of 4", "1.3-extensions"}, {"VUID-VkConditionalRenderingBeginInfoEXT-pNext-pNext", "pNext must be NULL", "1.3-extensions"}, {"VUID-VkConditionalRenderingBeginInfoEXT-sType-sType", "sType must be VK_STRUCTURE_TYPE_CONDITIONAL_RENDERING_BEGIN_INFO_EXT", "1.3-extensions"}, - {"VUID-VkCooperativeMatrixPropertiesKHR-AType-parameter", "AType must be a valid VkComponentTypeKHR value", "1.3-extensions"}, - {"VUID-VkCooperativeMatrixPropertiesKHR-BType-parameter", "BType must be a valid VkComponentTypeKHR value", "1.3-extensions"}, - {"VUID-VkCooperativeMatrixPropertiesKHR-CType-parameter", "CType must be a valid VkComponentTypeKHR value", "1.3-extensions"}, - {"VUID-VkCooperativeMatrixPropertiesKHR-ResultType-parameter", "ResultType must be a valid VkComponentTypeKHR value", "1.3-extensions"}, {"VUID-VkCooperativeMatrixPropertiesKHR-pNext-pNext", "pNext must be NULL", "1.3-extensions"}, {"VUID-VkCooperativeMatrixPropertiesKHR-sType-sType", "sType must be VK_STRUCTURE_TYPE_COOPERATIVE_MATRIX_PROPERTIES_KHR", "1.3-extensions"}, - {"VUID-VkCooperativeMatrixPropertiesKHR-scope-parameter", "scope must be a valid VkScopeKHR value", "1.3-extensions"}, - {"VUID-VkCooperativeMatrixPropertiesNV-AType-parameter", "AType must be a valid VkComponentTypeNV value", "1.3-extensions"}, - {"VUID-VkCooperativeMatrixPropertiesNV-BType-parameter", "BType must be a valid VkComponentTypeNV value", "1.3-extensions"}, - {"VUID-VkCooperativeMatrixPropertiesNV-CType-parameter", "CType must be a valid VkComponentTypeNV value", "1.3-extensions"}, - {"VUID-VkCooperativeMatrixPropertiesNV-DType-parameter", "DType must be a valid VkComponentTypeNV value", "1.3-extensions"}, {"VUID-VkCooperativeMatrixPropertiesNV-pNext-pNext", "pNext must be NULL", "1.3-extensions"}, {"VUID-VkCooperativeMatrixPropertiesNV-sType-sType", "sType must be VK_STRUCTURE_TYPE_COOPERATIVE_MATRIX_PROPERTIES_NV", "1.3-extensions"}, - {"VUID-VkCooperativeMatrixPropertiesNV-scope-parameter", "scope must be a valid VkScopeNV value", "1.3-extensions"}, {"VUID-VkCopyAccelerationStructureInfoKHR-buffer-03718", "The buffer used to create src must be bound to device memory", "1.3-extensions"}, {"VUID-VkCopyAccelerationStructureInfoKHR-buffer-03719", "The buffer used to create dst must be bound to device memory", "1.3-extensions"}, {"VUID-VkCopyAccelerationStructureInfoKHR-commonparent", "Both of dst, and src must have been created, allocated, or retrieved from the same VkDevice", "1.3-extensions"}, @@ -2138,7 +2138,7 @@ static const vuid_spec_text_pair vuid_spec_text[] = { {"VUID-VkDebugUtilsLabelEXT-sType-sType", "sType must be VK_STRUCTURE_TYPE_DEBUG_UTILS_LABEL_EXT", "1.3-extensions"}, {"VUID-VkDebugUtilsMessengerCallbackDataEXT-flags-zerobitmask", "flags must be 0", "1.3-extensions"}, {"VUID-VkDebugUtilsMessengerCallbackDataEXT-pCmdBufLabels-parameter", "If cmdBufLabelCount is not 0, pCmdBufLabels must be a valid pointer to an array of cmdBufLabelCount valid VkDebugUtilsLabelEXT structures", "1.3-extensions"}, - {"VUID-VkDebugUtilsMessengerCallbackDataEXT-pMessage-parameter", "pMessage must be a null-terminated UTF-8 string", "1.3-extensions"}, + {"VUID-VkDebugUtilsMessengerCallbackDataEXT-pMessage-parameter", "If pMessage is not NULL, pMessage must be a null-terminated UTF-8 string", "1.3-extensions"}, {"VUID-VkDebugUtilsMessengerCallbackDataEXT-pMessageIdName-parameter", "If pMessageIdName is not NULL, pMessageIdName must be a null-terminated UTF-8 string", "1.3-extensions"}, {"VUID-VkDebugUtilsMessengerCallbackDataEXT-pNext-pNext", "pNext must be NULL or a pointer to a valid instance of VkDeviceAddressBindingCallbackDataEXT", "1.3-extensions"}, {"VUID-VkDebugUtilsMessengerCallbackDataEXT-pObjects-parameter", "If objectCount is not 0, pObjects must be a valid pointer to an array of objectCount valid VkDebugUtilsObjectNameInfoEXT structures", "1.3-extensions"}, @@ -2150,7 +2150,6 @@ static const vuid_spec_text_pair vuid_spec_text[] = { {"VUID-VkDebugUtilsMessengerCreateInfoEXT-messageSeverity-requiredbitmask", "messageSeverity must not be 0", "1.3-extensions"}, {"VUID-VkDebugUtilsMessengerCreateInfoEXT-messageType-parameter", "messageType must be a valid combination of VkDebugUtilsMessageTypeFlagBitsEXT values", "1.3-extensions"}, {"VUID-VkDebugUtilsMessengerCreateInfoEXT-messageType-requiredbitmask", "messageType must not be 0", "1.3-extensions"}, - {"VUID-VkDebugUtilsMessengerCreateInfoEXT-pfnUserCallback-01914", "pfnUserCallback must be a valid PFN_vkDebugUtilsMessengerCallbackEXT", "1.3-extensions"}, {"VUID-VkDebugUtilsMessengerCreateInfoEXT-pfnUserCallback-parameter", "pfnUserCallback must be a valid PFN_vkDebugUtilsMessengerCallbackEXT value", "1.3-extensions"}, {"VUID-VkDebugUtilsMessengerCreateInfoEXT-sType-sType", "sType must be VK_STRUCTURE_TYPE_DEBUG_UTILS_MESSENGER_CREATE_INFO_EXT", "1.3-extensions"}, {"VUID-VkDebugUtilsObjectNameInfoEXT-objectType-02589", "If objectType is VK_OBJECT_TYPE_UNKNOWN, objectHandle must not be VK_NULL_HANDLE", "1.3-extensions"}, @@ -2205,6 +2204,7 @@ static const vuid_spec_text_pair vuid_spec_text[] = { {"VUID-VkDepthBiasRepresentationInfoEXT-leastRepresentableValueForceUnormRepresentation-08947", "If the leastRepresentableValueForceUnormRepresentation feature is not enabled, depthBiasRepresentation must not be VK_DEPTH_BIAS_REPRESENTATION_LEAST_REPRESENTABLE_VALUE_FORCE_UNORM_EXT", "1.3-extensions"}, {"VUID-VkDepthBiasRepresentationInfoEXT-sType-sType", "sType must be VK_STRUCTURE_TYPE_DEPTH_BIAS_REPRESENTATION_INFO_EXT", "1.3-extensions"}, {"VUID-VkDescriptorAddressInfoEXT-None-08044", "If address is not zero, address must be a valid device address at an offset within a VkBuffer", "1.3-extensions"}, + {"VUID-VkDescriptorAddressInfoEXT-None-09508", "If address is not zero, and the descriptor is of type VK_DESCRIPTOR_TYPE_UNIFORM_TEXEL_BUFFER or VK_DESCRIPTOR_TYPE_STORAGE_TEXEL_BUFFER, then format must not be VK_FORMAT_UNDEFINED", "1.3-extensions"}, {"VUID-VkDescriptorAddressInfoEXT-address-08043", "If the nullDescriptor feature is not enabled, address must not be zero", "1.3-extensions"}, {"VUID-VkDescriptorAddressInfoEXT-format-parameter", "format must be a valid VkFormat value", "1.3-extensions"}, {"VUID-VkDescriptorAddressInfoEXT-nullDescriptor-08938", "If address is zero, range must be VK_WHOLE_SIZE", "1.3-extensions"}, @@ -2213,8 +2213,8 @@ static const vuid_spec_text_pair vuid_spec_text[] = { {"VUID-VkDescriptorAddressInfoEXT-range-08045", "range must be less than or equal to the size of the buffer containing address minus the offset of address from the base address of the buffer", "1.3-extensions"}, {"VUID-VkDescriptorAddressInfoEXT-range-08940", "range must not be zero", "1.3-extensions"}, {"VUID-VkDescriptorAddressInfoEXT-sType-sType", "sType must be VK_STRUCTURE_TYPE_DESCRIPTOR_ADDRESS_INFO_EXT", "1.3-extensions"}, - {"VUID-VkDescriptorBufferBindingInfoEXT-None-09499", "If the pNext chain does not include a VkBufferUsageFlags2CreateInfoKHR structure, usage: must be a valid combination of VkBufferUsageFlagBits values", "1.3-extensions"}, - {"VUID-VkDescriptorBufferBindingInfoEXT-None-09500", "If the pNext chain does not include a VkBufferUsageFlags2CreateInfoKHR structure, usage: must not be 0", "1.3-extensions"}, + {"VUID-VkDescriptorBufferBindingInfoEXT-None-09499", "If the pNext chain does not include a VkBufferUsageFlags2CreateInfoKHR structure, usage must be a valid combination of VkBufferUsageFlagBits values", "1.3-extensions"}, + {"VUID-VkDescriptorBufferBindingInfoEXT-None-09500", "If the pNext chain does not include a VkBufferUsageFlags2CreateInfoKHR structure, usage must not be 0", "1.3-extensions"}, {"VUID-VkDescriptorBufferBindingInfoEXT-address-08057", "address must be aligned to VkPhysicalDeviceDescriptorBufferPropertiesEXT::descriptorBufferOffsetAlignment", "1.3-extensions"}, {"VUID-VkDescriptorBufferBindingInfoEXT-bufferlessPushDescriptors-08056", "If VkPhysicalDeviceDescriptorBufferPropertiesEXT::bufferlessPushDescriptors is VK_FALSE, and usage contains VK_BUFFER_USAGE_PUSH_DESCRIPTORS_DESCRIPTOR_BUFFER_BIT_EXT, then the pNext chain must include a VkDescriptorBufferBindingPushDescriptorBufferHandleEXT structure", "1.3-extensions"}, {"VUID-VkDescriptorBufferBindingInfoEXT-pNext-pNext", "Each pNext member of any structure (including this one) in the pNext chain must be either NULL or a pointer to a valid instance of VkBufferUsageFlags2CreateInfoKHR or VkDescriptorBufferBindingPushDescriptorBufferHandleEXT", "1.3-extensions"}, @@ -2421,7 +2421,7 @@ static const vuid_spec_text_pair vuid_spec_text[] = { {"VUID-VkDeviceCreateInfo-pNext-06532", "If the pNext chain includes a VkPhysicalDeviceVulkan13Features structure, then it must not include a VkPhysicalDeviceDynamicRenderingFeatures, VkPhysicalDeviceImageRobustnessFeatures, VkPhysicalDeviceInlineUniformBlockFeatures, VkPhysicalDeviceMaintenance4Features, VkPhysicalDevicePipelineCreationCacheControlFeatures, VkPhysicalDevicePrivateDataFeatures, VkPhysicalDeviceShaderDemoteToHelperInvocationFeatures, VkPhysicalDeviceShaderIntegerDotProductFeatures, VkPhysicalDeviceShaderTerminateInvocationFeatures, VkPhysicalDeviceSubgroupSizeControlFeatures, VkPhysicalDeviceSynchronization2Features, VkPhysicalDeviceTextureCompressionASTCHDRFeatures, or VkPhysicalDeviceZeroInitializeWorkgroupMemoryFeatures structure", "1.3-extensions"}, {"VUID-VkDeviceCreateInfo-pNext-09396", "If the pNext chain includes a VkDeviceQueueShaderCoreControlCreateInfoARM structure, then it must not be included in the pNext chain of any of the VkDeviceQueueCreateInfo structures in pQueueCreateInfos.", "1.3-extensions"}, {"VUID-VkDeviceCreateInfo-pNext-09397", "If the pNext chain includes a VkDeviceQueueShaderCoreControlCreateInfoARM structure then VkPhysicalDeviceSchedulingControlsPropertiesARM::schedulingControlsFlags must contain VK_PHYSICAL_DEVICE_SCHEDULING_CONTROLS_SHADER_CORE_COUNT_ARM.", "1.3-extensions"}, - {"VUID-VkDeviceCreateInfo-pNext-pNext", "Each pNext member of any structure (including this one) in the pNext chain must be either NULL or a pointer to a valid instance of VkDeviceDeviceMemoryReportCreateInfoEXT, VkDeviceDiagnosticsConfigCreateInfoNV, VkDeviceGroupDeviceCreateInfo, VkDeviceMemoryOverallocationCreateInfoAMD, VkDevicePrivateDataCreateInfo, VkDeviceQueueShaderCoreControlCreateInfoARM, VkPhysicalDevice16BitStorageFeatures, VkPhysicalDevice4444FormatsFeaturesEXT, VkPhysicalDevice8BitStorageFeatures, VkPhysicalDeviceASTCDecodeFeaturesEXT, VkPhysicalDeviceAccelerationStructureFeaturesKHR, VkPhysicalDeviceAddressBindingReportFeaturesEXT, VkPhysicalDeviceAmigoProfilingFeaturesSEC, VkPhysicalDeviceAttachmentFeedbackLoopDynamicStateFeaturesEXT, VkPhysicalDeviceAttachmentFeedbackLoopLayoutFeaturesEXT, VkPhysicalDeviceBlendOperationAdvancedFeaturesEXT, VkPhysicalDeviceBorderColorSwizzleFeaturesEXT, VkPhysicalDeviceBufferDeviceAddressFeatures, VkPhysicalDeviceBufferDeviceAddressFeaturesEXT, VkPhysicalDeviceClusterCullingShaderFeaturesHUAWEI, VkPhysicalDeviceCoherentMemoryFeaturesAMD, VkPhysicalDeviceColorWriteEnableFeaturesEXT, VkPhysicalDeviceComputeShaderDerivativesFeaturesNV, VkPhysicalDeviceConditionalRenderingFeaturesEXT, VkPhysicalDeviceCooperativeMatrixFeaturesKHR, VkPhysicalDeviceCooperativeMatrixFeaturesNV, VkPhysicalDeviceCopyMemoryIndirectFeaturesNV, VkPhysicalDeviceCornerSampledImageFeaturesNV, VkPhysicalDeviceCoverageReductionModeFeaturesNV, VkPhysicalDeviceCubicClampFeaturesQCOM, VkPhysicalDeviceCubicWeightsFeaturesQCOM, VkPhysicalDeviceCudaKernelLaunchFeaturesNV, VkPhysicalDeviceCustomBorderColorFeaturesEXT, VkPhysicalDeviceDedicatedAllocationImageAliasingFeaturesNV, VkPhysicalDeviceDepthBiasControlFeaturesEXT, VkPhysicalDeviceDepthClampZeroOneFeaturesEXT, VkPhysicalDeviceDepthClipControlFeaturesEXT, VkPhysicalDeviceDepthClipEnableFeaturesEXT, VkPhysicalDeviceDescriptorBufferFeaturesEXT, VkPhysicalDeviceDescriptorIndexingFeatures, VkPhysicalDeviceDescriptorPoolOverallocationFeaturesNV, VkPhysicalDeviceDescriptorSetHostMappingFeaturesVALVE, VkPhysicalDeviceDeviceGeneratedCommandsComputeFeaturesNV, VkPhysicalDeviceDeviceGeneratedCommandsFeaturesNV, VkPhysicalDeviceDeviceMemoryReportFeaturesEXT, VkPhysicalDeviceDiagnosticsConfigFeaturesNV, VkPhysicalDeviceDisplacementMicromapFeaturesNV, VkPhysicalDeviceDynamicRenderingFeatures, VkPhysicalDeviceDynamicRenderingUnusedAttachmentsFeaturesEXT, VkPhysicalDeviceExclusiveScissorFeaturesNV, VkPhysicalDeviceExtendedDynamicState2FeaturesEXT, VkPhysicalDeviceExtendedDynamicState3FeaturesEXT, VkPhysicalDeviceExtendedDynamicStateFeaturesEXT, VkPhysicalDeviceExtendedSparseAddressSpaceFeaturesNV, VkPhysicalDeviceExternalFormatResolveFeaturesANDROID, VkPhysicalDeviceExternalMemoryRDMAFeaturesNV, VkPhysicalDeviceExternalMemoryScreenBufferFeaturesQNX, VkPhysicalDeviceFaultFeaturesEXT, VkPhysicalDeviceFeatures2, VkPhysicalDeviceFragmentDensityMap2FeaturesEXT, VkPhysicalDeviceFragmentDensityMapFeaturesEXT, VkPhysicalDeviceFragmentDensityMapOffsetFeaturesQCOM, VkPhysicalDeviceFragmentShaderBarycentricFeaturesKHR, VkPhysicalDeviceFragmentShaderInterlockFeaturesEXT, VkPhysicalDeviceFragmentShadingRateEnumsFeaturesNV, VkPhysicalDeviceFragmentShadingRateFeaturesKHR, VkPhysicalDeviceFrameBoundaryFeaturesEXT, VkPhysicalDeviceGlobalPriorityQueryFeaturesKHR, VkPhysicalDeviceGraphicsPipelineLibraryFeaturesEXT, VkPhysicalDeviceHostImageCopyFeaturesEXT, VkPhysicalDeviceHostQueryResetFeatures, VkPhysicalDeviceImage2DViewOf3DFeaturesEXT, VkPhysicalDeviceImageCompressionControlFeaturesEXT, VkPhysicalDeviceImageCompressionControlSwapchainFeaturesEXT, VkPhysicalDeviceImageProcessing2FeaturesQCOM, VkPhysicalDeviceImageProcessingFeaturesQCOM, VkPhysicalDeviceImageRobustnessFeatures, VkPhysicalDeviceImageSlicedViewOf3DFeaturesEXT, VkPhysicalDeviceImageViewMinLodFeaturesEXT, VkPhysicalDeviceImagelessFramebufferFeatures, VkPhysicalDeviceIndexTypeUint8FeaturesEXT, VkPhysicalDeviceInheritedViewportScissorFeaturesNV, VkPhysicalDeviceInlineUniformBlockFeatures, VkPhysicalDeviceInvocationMaskFeaturesHUAWEI, VkPhysicalDeviceLegacyDitheringFeaturesEXT, VkPhysicalDeviceLineRasterizationFeaturesEXT, VkPhysicalDeviceLinearColorAttachmentFeaturesNV, VkPhysicalDeviceMaintenance4Features, VkPhysicalDeviceMaintenance5FeaturesKHR, VkPhysicalDeviceMaintenance6FeaturesKHR, VkPhysicalDeviceMemoryDecompressionFeaturesNV, VkPhysicalDeviceMemoryPriorityFeaturesEXT, VkPhysicalDeviceMeshShaderFeaturesEXT, VkPhysicalDeviceMeshShaderFeaturesNV, VkPhysicalDeviceMultiDrawFeaturesEXT, VkPhysicalDeviceMultisampledRenderToSingleSampledFeaturesEXT, VkPhysicalDeviceMultiviewFeatures, VkPhysicalDeviceMultiviewPerViewRenderAreasFeaturesQCOM, VkPhysicalDeviceMultiviewPerViewViewportsFeaturesQCOM, VkPhysicalDeviceMutableDescriptorTypeFeaturesEXT, VkPhysicalDeviceNestedCommandBufferFeaturesEXT, VkPhysicalDeviceNonSeamlessCubeMapFeaturesEXT, VkPhysicalDeviceOpacityMicromapFeaturesEXT, VkPhysicalDeviceOpticalFlowFeaturesNV, VkPhysicalDevicePageableDeviceLocalMemoryFeaturesEXT, VkPhysicalDevicePerStageDescriptorSetFeaturesNV, VkPhysicalDevicePerformanceQueryFeaturesKHR, VkPhysicalDevicePipelineCreationCacheControlFeatures, VkPhysicalDevicePipelineExecutablePropertiesFeaturesKHR, VkPhysicalDevicePipelineLibraryGroupHandlesFeaturesEXT, VkPhysicalDevicePipelinePropertiesFeaturesEXT, VkPhysicalDevicePipelineProtectedAccessFeaturesEXT, VkPhysicalDevicePipelineRobustnessFeaturesEXT, VkPhysicalDevicePortabilitySubsetFeaturesKHR, VkPhysicalDevicePresentBarrierFeaturesNV, VkPhysicalDevicePresentIdFeaturesKHR, VkPhysicalDevicePresentWaitFeaturesKHR, VkPhysicalDevicePrimitiveTopologyListRestartFeaturesEXT, VkPhysicalDevicePrimitivesGeneratedQueryFeaturesEXT, VkPhysicalDevicePrivateDataFeatures, VkPhysicalDeviceProtectedMemoryFeatures, VkPhysicalDeviceProvokingVertexFeaturesEXT, VkPhysicalDeviceRGBA10X6FormatsFeaturesEXT, VkPhysicalDeviceRasterizationOrderAttachmentAccessFeaturesEXT, VkPhysicalDeviceRayQueryFeaturesKHR, VkPhysicalDeviceRayTracingInvocationReorderFeaturesNV, VkPhysicalDeviceRayTracingMaintenance1FeaturesKHR, VkPhysicalDeviceRayTracingMotionBlurFeaturesNV, VkPhysicalDeviceRayTracingPipelineFeaturesKHR, VkPhysicalDeviceRayTracingPositionFetchFeaturesKHR, VkPhysicalDeviceRelaxedLineRasterizationFeaturesIMG, VkPhysicalDeviceRenderPassStripedFeaturesARM, VkPhysicalDeviceRepresentativeFragmentTestFeaturesNV, VkPhysicalDeviceRobustness2FeaturesEXT, VkPhysicalDeviceSamplerYcbcrConversionFeatures, VkPhysicalDeviceScalarBlockLayoutFeatures, VkPhysicalDeviceSchedulingControlsFeaturesARM, VkPhysicalDeviceSeparateDepthStencilLayoutsFeatures, VkPhysicalDeviceShaderAtomicFloat2FeaturesEXT, VkPhysicalDeviceShaderAtomicFloatFeaturesEXT, VkPhysicalDeviceShaderAtomicInt64Features, VkPhysicalDeviceShaderClockFeaturesKHR, VkPhysicalDeviceShaderCoreBuiltinsFeaturesARM, VkPhysicalDeviceShaderDemoteToHelperInvocationFeatures, VkPhysicalDeviceShaderDrawParametersFeatures, VkPhysicalDeviceShaderEarlyAndLateFragmentTestsFeaturesAMD, VkPhysicalDeviceShaderEnqueueFeaturesAMDX, VkPhysicalDeviceShaderFloat16Int8Features, VkPhysicalDeviceShaderImageAtomicInt64FeaturesEXT, VkPhysicalDeviceShaderImageFootprintFeaturesNV, VkPhysicalDeviceShaderIntegerDotProductFeatures, VkPhysicalDeviceShaderIntegerFunctions2FeaturesINTEL, VkPhysicalDeviceShaderModuleIdentifierFeaturesEXT, VkPhysicalDeviceShaderObjectFeaturesEXT, VkPhysicalDeviceShaderSMBuiltinsFeaturesNV, VkPhysicalDeviceShaderSubgroupExtendedTypesFeatures, VkPhysicalDeviceShaderSubgroupUniformControlFlowFeaturesKHR, VkPhysicalDeviceShaderTerminateInvocationFeatures, VkPhysicalDeviceShaderTileImageFeaturesEXT, VkPhysicalDeviceShadingRateImageFeaturesNV, VkPhysicalDeviceSubgroupSizeControlFeatures, VkPhysicalDeviceSubpassMergeFeedbackFeaturesEXT, VkPhysicalDeviceSubpassShadingFeaturesHUAWEI, VkPhysicalDeviceSwapchainMaintenance1FeaturesEXT, VkPhysicalDeviceSynchronization2Features, VkPhysicalDeviceTexelBufferAlignmentFeaturesEXT, VkPhysicalDeviceTextureCompressionASTCHDRFeatures, VkPhysicalDeviceTilePropertiesFeaturesQCOM, VkPhysicalDeviceTimelineSemaphoreFeatures, VkPhysicalDeviceTransformFeedbackFeaturesEXT, VkPhysicalDeviceUniformBufferStandardLayoutFeatures, VkPhysicalDeviceVariablePointersFeatures, VkPhysicalDeviceVertexAttributeDivisorFeaturesKHR, VkPhysicalDeviceVertexInputDynamicStateFeaturesEXT, VkPhysicalDeviceVideoMaintenance1FeaturesKHR, VkPhysicalDeviceVulkan11Features, VkPhysicalDeviceVulkan12Features, VkPhysicalDeviceVulkan13Features, VkPhysicalDeviceVulkanMemoryModelFeatures, VkPhysicalDeviceWorkgroupMemoryExplicitLayoutFeaturesKHR, VkPhysicalDeviceYcbcr2Plane444FormatsFeaturesEXT, VkPhysicalDeviceYcbcrDegammaFeaturesQCOM, VkPhysicalDeviceYcbcrImageArraysFeaturesEXT, or VkPhysicalDeviceZeroInitializeWorkgroupMemoryFeatures", "1.3-extensions"}, + {"VUID-VkDeviceCreateInfo-pNext-pNext", "Each pNext member of any structure (including this one) in the pNext chain must be either NULL or a pointer to a valid instance of VkDeviceDeviceMemoryReportCreateInfoEXT, VkDeviceDiagnosticsConfigCreateInfoNV, VkDeviceGroupDeviceCreateInfo, VkDeviceMemoryOverallocationCreateInfoAMD, VkDevicePrivateDataCreateInfo, VkDeviceQueueShaderCoreControlCreateInfoARM, VkPhysicalDevice16BitStorageFeatures, VkPhysicalDevice4444FormatsFeaturesEXT, VkPhysicalDevice8BitStorageFeatures, VkPhysicalDeviceASTCDecodeFeaturesEXT, VkPhysicalDeviceAccelerationStructureFeaturesKHR, VkPhysicalDeviceAddressBindingReportFeaturesEXT, VkPhysicalDeviceAmigoProfilingFeaturesSEC, VkPhysicalDeviceAttachmentFeedbackLoopDynamicStateFeaturesEXT, VkPhysicalDeviceAttachmentFeedbackLoopLayoutFeaturesEXT, VkPhysicalDeviceBlendOperationAdvancedFeaturesEXT, VkPhysicalDeviceBorderColorSwizzleFeaturesEXT, VkPhysicalDeviceBufferDeviceAddressFeatures, VkPhysicalDeviceBufferDeviceAddressFeaturesEXT, VkPhysicalDeviceClusterCullingShaderFeaturesHUAWEI, VkPhysicalDeviceCoherentMemoryFeaturesAMD, VkPhysicalDeviceColorWriteEnableFeaturesEXT, VkPhysicalDeviceComputeShaderDerivativesFeaturesNV, VkPhysicalDeviceConditionalRenderingFeaturesEXT, VkPhysicalDeviceCooperativeMatrixFeaturesKHR, VkPhysicalDeviceCooperativeMatrixFeaturesNV, VkPhysicalDeviceCopyMemoryIndirectFeaturesNV, VkPhysicalDeviceCornerSampledImageFeaturesNV, VkPhysicalDeviceCoverageReductionModeFeaturesNV, VkPhysicalDeviceCubicClampFeaturesQCOM, VkPhysicalDeviceCubicWeightsFeaturesQCOM, VkPhysicalDeviceCudaKernelLaunchFeaturesNV, VkPhysicalDeviceCustomBorderColorFeaturesEXT, VkPhysicalDeviceDedicatedAllocationImageAliasingFeaturesNV, VkPhysicalDeviceDepthBiasControlFeaturesEXT, VkPhysicalDeviceDepthClampZeroOneFeaturesEXT, VkPhysicalDeviceDepthClipControlFeaturesEXT, VkPhysicalDeviceDepthClipEnableFeaturesEXT, VkPhysicalDeviceDescriptorBufferFeaturesEXT, VkPhysicalDeviceDescriptorIndexingFeatures, VkPhysicalDeviceDescriptorPoolOverallocationFeaturesNV, VkPhysicalDeviceDescriptorSetHostMappingFeaturesVALVE, VkPhysicalDeviceDeviceGeneratedCommandsComputeFeaturesNV, VkPhysicalDeviceDeviceGeneratedCommandsFeaturesNV, VkPhysicalDeviceDeviceMemoryReportFeaturesEXT, VkPhysicalDeviceDiagnosticsConfigFeaturesNV, VkPhysicalDeviceDisplacementMicromapFeaturesNV, VkPhysicalDeviceDynamicRenderingFeatures, VkPhysicalDeviceDynamicRenderingLocalReadFeaturesKHR, VkPhysicalDeviceDynamicRenderingUnusedAttachmentsFeaturesEXT, VkPhysicalDeviceExclusiveScissorFeaturesNV, VkPhysicalDeviceExtendedDynamicState2FeaturesEXT, VkPhysicalDeviceExtendedDynamicState3FeaturesEXT, VkPhysicalDeviceExtendedDynamicStateFeaturesEXT, VkPhysicalDeviceExtendedSparseAddressSpaceFeaturesNV, VkPhysicalDeviceExternalFormatResolveFeaturesANDROID, VkPhysicalDeviceExternalMemoryRDMAFeaturesNV, VkPhysicalDeviceExternalMemoryScreenBufferFeaturesQNX, VkPhysicalDeviceFaultFeaturesEXT, VkPhysicalDeviceFeatures2, VkPhysicalDeviceFragmentDensityMap2FeaturesEXT, VkPhysicalDeviceFragmentDensityMapFeaturesEXT, VkPhysicalDeviceFragmentDensityMapOffsetFeaturesQCOM, VkPhysicalDeviceFragmentShaderBarycentricFeaturesKHR, VkPhysicalDeviceFragmentShaderInterlockFeaturesEXT, VkPhysicalDeviceFragmentShadingRateEnumsFeaturesNV, VkPhysicalDeviceFragmentShadingRateFeaturesKHR, VkPhysicalDeviceFrameBoundaryFeaturesEXT, VkPhysicalDeviceGlobalPriorityQueryFeaturesKHR, VkPhysicalDeviceGraphicsPipelineLibraryFeaturesEXT, VkPhysicalDeviceHostImageCopyFeaturesEXT, VkPhysicalDeviceHostQueryResetFeatures, VkPhysicalDeviceImage2DViewOf3DFeaturesEXT, VkPhysicalDeviceImageCompressionControlFeaturesEXT, VkPhysicalDeviceImageCompressionControlSwapchainFeaturesEXT, VkPhysicalDeviceImageProcessing2FeaturesQCOM, VkPhysicalDeviceImageProcessingFeaturesQCOM, VkPhysicalDeviceImageRobustnessFeatures, VkPhysicalDeviceImageSlicedViewOf3DFeaturesEXT, VkPhysicalDeviceImageViewMinLodFeaturesEXT, VkPhysicalDeviceImagelessFramebufferFeatures, VkPhysicalDeviceIndexTypeUint8FeaturesKHR, VkPhysicalDeviceInheritedViewportScissorFeaturesNV, VkPhysicalDeviceInlineUniformBlockFeatures, VkPhysicalDeviceInvocationMaskFeaturesHUAWEI, VkPhysicalDeviceLegacyDitheringFeaturesEXT, VkPhysicalDeviceLineRasterizationFeaturesKHR, VkPhysicalDeviceLinearColorAttachmentFeaturesNV, VkPhysicalDeviceMaintenance4Features, VkPhysicalDeviceMaintenance5FeaturesKHR, VkPhysicalDeviceMaintenance6FeaturesKHR, VkPhysicalDeviceMemoryDecompressionFeaturesNV, VkPhysicalDeviceMemoryPriorityFeaturesEXT, VkPhysicalDeviceMeshShaderFeaturesEXT, VkPhysicalDeviceMeshShaderFeaturesNV, VkPhysicalDeviceMultiDrawFeaturesEXT, VkPhysicalDeviceMultisampledRenderToSingleSampledFeaturesEXT, VkPhysicalDeviceMultiviewFeatures, VkPhysicalDeviceMultiviewPerViewRenderAreasFeaturesQCOM, VkPhysicalDeviceMultiviewPerViewViewportsFeaturesQCOM, VkPhysicalDeviceMutableDescriptorTypeFeaturesEXT, VkPhysicalDeviceNestedCommandBufferFeaturesEXT, VkPhysicalDeviceNonSeamlessCubeMapFeaturesEXT, VkPhysicalDeviceOpacityMicromapFeaturesEXT, VkPhysicalDeviceOpticalFlowFeaturesNV, VkPhysicalDevicePageableDeviceLocalMemoryFeaturesEXT, VkPhysicalDevicePerStageDescriptorSetFeaturesNV, VkPhysicalDevicePerformanceQueryFeaturesKHR, VkPhysicalDevicePipelineCreationCacheControlFeatures, VkPhysicalDevicePipelineExecutablePropertiesFeaturesKHR, VkPhysicalDevicePipelineLibraryGroupHandlesFeaturesEXT, VkPhysicalDevicePipelinePropertiesFeaturesEXT, VkPhysicalDevicePipelineProtectedAccessFeaturesEXT, VkPhysicalDevicePipelineRobustnessFeaturesEXT, VkPhysicalDevicePortabilitySubsetFeaturesKHR, VkPhysicalDevicePresentBarrierFeaturesNV, VkPhysicalDevicePresentIdFeaturesKHR, VkPhysicalDevicePresentWaitFeaturesKHR, VkPhysicalDevicePrimitiveTopologyListRestartFeaturesEXT, VkPhysicalDevicePrimitivesGeneratedQueryFeaturesEXT, VkPhysicalDevicePrivateDataFeatures, VkPhysicalDeviceProtectedMemoryFeatures, VkPhysicalDeviceProvokingVertexFeaturesEXT, VkPhysicalDeviceRGBA10X6FormatsFeaturesEXT, VkPhysicalDeviceRasterizationOrderAttachmentAccessFeaturesEXT, VkPhysicalDeviceRayQueryFeaturesKHR, VkPhysicalDeviceRayTracingInvocationReorderFeaturesNV, VkPhysicalDeviceRayTracingMaintenance1FeaturesKHR, VkPhysicalDeviceRayTracingMotionBlurFeaturesNV, VkPhysicalDeviceRayTracingPipelineFeaturesKHR, VkPhysicalDeviceRayTracingPositionFetchFeaturesKHR, VkPhysicalDeviceRelaxedLineRasterizationFeaturesIMG, VkPhysicalDeviceRenderPassStripedFeaturesARM, VkPhysicalDeviceRepresentativeFragmentTestFeaturesNV, VkPhysicalDeviceRobustness2FeaturesEXT, VkPhysicalDeviceSamplerYcbcrConversionFeatures, VkPhysicalDeviceScalarBlockLayoutFeatures, VkPhysicalDeviceSchedulingControlsFeaturesARM, VkPhysicalDeviceSeparateDepthStencilLayoutsFeatures, VkPhysicalDeviceShaderAtomicFloat2FeaturesEXT, VkPhysicalDeviceShaderAtomicFloatFeaturesEXT, VkPhysicalDeviceShaderAtomicInt64Features, VkPhysicalDeviceShaderClockFeaturesKHR, VkPhysicalDeviceShaderCoreBuiltinsFeaturesARM, VkPhysicalDeviceShaderDemoteToHelperInvocationFeatures, VkPhysicalDeviceShaderDrawParametersFeatures, VkPhysicalDeviceShaderEarlyAndLateFragmentTestsFeaturesAMD, VkPhysicalDeviceShaderEnqueueFeaturesAMDX, VkPhysicalDeviceShaderExpectAssumeFeaturesKHR, VkPhysicalDeviceShaderFloat16Int8Features, VkPhysicalDeviceShaderFloatControls2FeaturesKHR, VkPhysicalDeviceShaderImageAtomicInt64FeaturesEXT, VkPhysicalDeviceShaderImageFootprintFeaturesNV, VkPhysicalDeviceShaderIntegerDotProductFeatures, VkPhysicalDeviceShaderIntegerFunctions2FeaturesINTEL, VkPhysicalDeviceShaderMaximalReconvergenceFeaturesKHR, VkPhysicalDeviceShaderModuleIdentifierFeaturesEXT, VkPhysicalDeviceShaderObjectFeaturesEXT, VkPhysicalDeviceShaderQuadControlFeaturesKHR, VkPhysicalDeviceShaderSMBuiltinsFeaturesNV, VkPhysicalDeviceShaderSubgroupExtendedTypesFeatures, VkPhysicalDeviceShaderSubgroupRotateFeaturesKHR, VkPhysicalDeviceShaderSubgroupUniformControlFlowFeaturesKHR, VkPhysicalDeviceShaderTerminateInvocationFeatures, VkPhysicalDeviceShaderTileImageFeaturesEXT, VkPhysicalDeviceShadingRateImageFeaturesNV, VkPhysicalDeviceSubgroupSizeControlFeatures, VkPhysicalDeviceSubpassMergeFeedbackFeaturesEXT, VkPhysicalDeviceSubpassShadingFeaturesHUAWEI, VkPhysicalDeviceSwapchainMaintenance1FeaturesEXT, VkPhysicalDeviceSynchronization2Features, VkPhysicalDeviceTexelBufferAlignmentFeaturesEXT, VkPhysicalDeviceTextureCompressionASTCHDRFeatures, VkPhysicalDeviceTilePropertiesFeaturesQCOM, VkPhysicalDeviceTimelineSemaphoreFeatures, VkPhysicalDeviceTransformFeedbackFeaturesEXT, VkPhysicalDeviceUniformBufferStandardLayoutFeatures, VkPhysicalDeviceVariablePointersFeatures, VkPhysicalDeviceVertexAttributeDivisorFeaturesKHR, VkPhysicalDeviceVertexInputDynamicStateFeaturesEXT, VkPhysicalDeviceVideoMaintenance1FeaturesKHR, VkPhysicalDeviceVulkan11Features, VkPhysicalDeviceVulkan12Features, VkPhysicalDeviceVulkan13Features, VkPhysicalDeviceVulkanMemoryModelFeatures, VkPhysicalDeviceWorkgroupMemoryExplicitLayoutFeaturesKHR, VkPhysicalDeviceYcbcr2Plane444FormatsFeaturesEXT, VkPhysicalDeviceYcbcrDegammaFeaturesQCOM, VkPhysicalDeviceYcbcrImageArraysFeaturesEXT, or VkPhysicalDeviceZeroInitializeWorkgroupMemoryFeatures", "1.3-extensions"}, {"VUID-VkDeviceCreateInfo-pProperties-04451", "If the VK_KHR_portability_subset extension is included in pProperties of vkEnumerateDeviceExtensionProperties, ppEnabledExtensionNames must include \"VK_KHR_portability_subset\"", "1.3-extensions"}, {"VUID-VkDeviceCreateInfo-pQueueCreateInfos-06654", "If multiple elements of pQueueCreateInfos share the same queueFamilyIndex, then all of such elements must have the same global priority level, which can be specified explicitly by the including a VkDeviceQueueGlobalPriorityCreateInfoKHR structure in the pNext chain, or by the implicit default value", "1.3-extensions"}, {"VUID-VkDeviceCreateInfo-pQueueCreateInfos-06755", "If multiple elements of pQueueCreateInfos share the same queueFamilyIndex, the sum of their queueCount members must be less than or equal to the queueCount member of the VkQueueFamilyProperties structure, as returned by vkGetPhysicalDeviceQueueFamilyProperties in the pQueueFamilyProperties[queueFamilyIndex]", "1.3-extensions"}, @@ -2457,9 +2457,7 @@ static const vuid_spec_text_pair vuid_spec_text[] = { {"VUID-VkDeviceFaultAddressInfoEXT-addressType-parameter", "addressType must be a valid VkDeviceFaultAddressTypeEXT value", "1.3-extensions"}, {"VUID-VkDeviceFaultCountsEXT-pNext-pNext", "pNext must be NULL", "1.3-extensions"}, {"VUID-VkDeviceFaultCountsEXT-sType-sType", "sType must be VK_STRUCTURE_TYPE_DEVICE_FAULT_COUNTS_EXT", "1.3-extensions"}, - {"VUID-VkDeviceFaultInfoEXT-pAddressInfos-parameter", "If pAddressInfos is not NULL, pAddressInfos must be a valid pointer to a VkDeviceFaultAddressInfoEXT structure", "1.3-extensions"}, {"VUID-VkDeviceFaultInfoEXT-pNext-pNext", "pNext must be NULL", "1.3-extensions"}, - {"VUID-VkDeviceFaultInfoEXT-pVendorInfos-parameter", "If pVendorInfos is not NULL, pVendorInfos must be a valid pointer to a VkDeviceFaultVendorInfoEXT structure", "1.3-extensions"}, {"VUID-VkDeviceFaultInfoEXT-sType-sType", "sType must be VK_STRUCTURE_TYPE_DEVICE_FAULT_INFO_EXT", "1.3-extensions"}, {"VUID-VkDeviceFaultVendorBinaryHeaderVersionOneEXT-headerSize-07340", "headerSize must be 56", "1.3-extensions"}, {"VUID-VkDeviceFaultVendorBinaryHeaderVersionOneEXT-headerVersion-07341", "headerVersion must be VK_DEVICE_FAULT_VENDOR_BINARY_HEADER_VERSION_ONE_EXT", "1.3-extensions"}, @@ -2814,6 +2812,7 @@ static const vuid_spec_text_pair vuid_spec_text[] = { {"VUID-VkFramebufferAttachmentImageInfo-sType-sType", "sType must be VK_STRUCTURE_TYPE_FRAMEBUFFER_ATTACHMENT_IMAGE_INFO", "1.3-extensions"}, {"VUID-VkFramebufferAttachmentImageInfo-usage-parameter", "usage must be a valid combination of VkImageUsageFlagBits values", "1.3-extensions"}, {"VUID-VkFramebufferAttachmentImageInfo-usage-requiredbitmask", "usage must not be 0", "1.3-extensions"}, + {"VUID-VkFramebufferAttachmentImageInfo-viewFormatCount-09536", "If viewFormatCount is not 0, each element of pViewFormats must not be VK_FORMAT_UNDEFINED", "1.3-extensions"}, {"VUID-VkFramebufferAttachmentsCreateInfo-pAttachmentImageInfos-parameter", "If attachmentImageInfoCount is not 0, pAttachmentImageInfos must be a valid pointer to an array of attachmentImageInfoCount valid VkFramebufferAttachmentImageInfo structures", "1.3-extensions"}, {"VUID-VkFramebufferAttachmentsCreateInfo-sType-sType", "sType must be VK_STRUCTURE_TYPE_FRAMEBUFFER_ATTACHMENTS_CREATE_INFO", "1.3-extensions"}, {"VUID-VkFramebufferCreateInfo-attachmentCount-00876", "attachmentCount must be equal to the attachment count specified in renderPass", "1.3-extensions"}, @@ -2924,7 +2923,7 @@ static const vuid_spec_text_pair vuid_spec_text[] = { {"VUID-VkGeneratedCommandsMemoryRequirementsInfoNV-pipeline-parameter", "If pipeline is not VK_NULL_HANDLE, pipeline must be a valid VkPipeline handle", "1.3-extensions"}, {"VUID-VkGeneratedCommandsMemoryRequirementsInfoNV-pipelineBindPoint-09075", "If pipelineBindPoint is of type VK_PIPELINE_BIND_POINT_GRAPHICS, then pipeline must be a valid VkPipeline handle", "1.3-extensions"}, {"VUID-VkGeneratedCommandsMemoryRequirementsInfoNV-pipelineBindPoint-09076", "If pipelineBindPoint is of type VK_PIPELINE_BIND_POINT_COMPUTE, and the indirectCommandsLayout was not created with a VK_INDIRECT_COMMANDS_TOKEN_TYPE_PIPELINE_NV token, then the pipeline must be a valid VkPipeline handle", "1.3-extensions"}, - {"VUID-VkGeneratedCommandsMemoryRequirementsInfoNV-pipelineBindPoint-09077", "If pipelineBindPoint is of type VK_PIPELINE_BIND_POINT_COMPUTE, and the indirectCommandsLayout contains a VK_INDIRECT_COMMANDS_TOKEN_TYPE_PIPELINE_NV token, then the pipeline must be NULL", "1.3-extensions"}, + {"VUID-VkGeneratedCommandsMemoryRequirementsInfoNV-pipelineBindPoint-09077", "If pipelineBindPoint is of type VK_PIPELINE_BIND_POINT_COMPUTE, and the indirectCommandsLayout contains a VK_INDIRECT_COMMANDS_TOKEN_TYPE_PIPELINE_NV token, then the pipeline must be VK_NULL_HANDLE", "1.3-extensions"}, {"VUID-VkGeneratedCommandsMemoryRequirementsInfoNV-pipelineBindPoint-parameter", "pipelineBindPoint must be a valid VkPipelineBindPoint value", "1.3-extensions"}, {"VUID-VkGeneratedCommandsMemoryRequirementsInfoNV-sType-sType", "sType must be VK_STRUCTURE_TYPE_GENERATED_COMMANDS_MEMORY_REQUIREMENTS_INFO_NV", "1.3-extensions"}, {"VUID-VkGeometryAABBNV-aabbData-parameter", "If aabbData is not VK_NULL_HANDLE, aabbData must be a valid VkBuffer handle", "1.3-extensions"}, @@ -2975,6 +2974,7 @@ static const vuid_spec_text_pair vuid_spec_text[] = { {"VUID-VkGraphicsPipelineCreateInfo-None-07826", "If the pipeline includes a complete set of state, and there are no libraries included in VkPipelineLibraryCreateInfoKHR::pLibraries, then VkPipelineLayout must be a valid pipeline layout", "1.3-extensions"}, {"VUID-VkGraphicsPipelineCreateInfo-None-09043", "If pDynamicState->pDynamicStates does not include VK_DYNAMIC_STATE_COLOR_WRITE_MASK_EXT, and the format of any color attachment is VK_FORMAT_E5B9G9R9_UFLOAT_PACK32, the colorWriteMask member of the corresponding element of pColorBlendState->pAttachments must either include all of VK_COLOR_COMPONENT_R_BIT, VK_COLOR_COMPONENT_G_BIT, and VK_COLOR_COMPONENT_B_BIT, or none of them", "1.3-extensions"}, {"VUID-VkGraphicsPipelineCreateInfo-None-09497", "If the pNext chain does not include a VkPipelineCreateFlags2CreateInfoKHR structure, flags must be a valid combination of VkPipelineCreateFlagBits values", "1.3-extensions"}, + {"VUID-VkGraphicsPipelineCreateInfo-None-09526", "If the dynamicRenderingLocalRead feature is not enabled, the pipeline requires fragment output interface state, and the flags member of VkPipelineDepthStencilStateCreateInfo includes VK_PIPELINE_DEPTH_STENCIL_STATE_CREATE_RASTERIZATION_ORDER_ATTACHMENT_DEPTH_ACCESS_BIT_EXT or VK_PIPELINE_DEPTH_STENCIL_STATE_CREATE_RASTERIZATION_ORDER_ATTACHMENT_STENCIL_ACCESS_BIT_EXT, renderPass must not be VK_NULL_HANDLE", "1.3-extensions"}, {"VUID-VkGraphicsPipelineCreateInfo-PrimitiveId-06264", "If the pipeline requires pre-rasterization shader state, it includes a mesh shader and the fragment shader code reads from an input variable that is decorated with PrimitiveId, then the mesh shader code must write to a matching output variable, decorated with PrimitiveId, in all execution paths", "1.3-extensions"}, {"VUID-VkGraphicsPipelineCreateInfo-TaskNV-07063", "The shader stages for VK_SHADER_STAGE_TASK_BIT_EXT or VK_SHADER_STAGE_MESH_BIT_EXT must use either the TaskNV and MeshNV Execution Model or the TaskEXT and MeshEXT Execution Model, but must not use both", "1.3-extensions"}, {"VUID-VkGraphicsPipelineCreateInfo-TessellationEvaluation-07723", "If the pipeline is being created with a TessellationEvaluation Execution Model, no Geometry Execution Model, uses the PointMode Execution Mode, and shaderTessellationAndGeometryPointSize is enabled, a PointSize decorated variable must be written to if maintenance5 is not enabled", "1.3-extensions"}, @@ -3045,11 +3045,7 @@ static const vuid_spec_text_pair vuid_spec_text[] = { {"VUID-VkGraphicsPipelineCreateInfo-flags-04901", "If flags includes VK_SUBPASS_DESCRIPTION_SHADER_RESOLVE_BIT_QCOM, then the subpass must be the last subpass in a subpass dependency chain", "1.3-extensions"}, {"VUID-VkGraphicsPipelineCreateInfo-flags-04902", "If flags includes VK_SUBPASS_DESCRIPTION_SHADER_RESOLVE_BIT_QCOM, and if pResolveAttachments is not NULL, then each resolve attachment must be VK_ATTACHMENT_UNUSED", "1.3-extensions"}, {"VUID-VkGraphicsPipelineCreateInfo-flags-04947", "flags must not include VK_PIPELINE_CREATE_RAY_TRACING_ALLOW_MOTION_BIT_NV", "1.3-extensions"}, - {"VUID-VkGraphicsPipelineCreateInfo-flags-06482", "If the pipeline requires fragment output interface state and the flags member of VkPipelineColorBlendStateCreateInfo includes VK_PIPELINE_COLOR_BLEND_STATE_CREATE_RASTERIZATION_ORDER_ATTACHMENT_ACCESS_BIT_EXT, renderpass must not be VK_NULL_HANDLE", "1.3-extensions"}, - {"VUID-VkGraphicsPipelineCreateInfo-flags-06483", "If the pipeline requires fragment output interface state and the flags member of VkPipelineDepthStencilStateCreateInfo includes VK_PIPELINE_DEPTH_STENCIL_STATE_CREATE_RASTERIZATION_ORDER_ATTACHMENT_DEPTH_ACCESS_BIT_EXT or VK_PIPELINE_DEPTH_STENCIL_STATE_CREATE_RASTERIZATION_ORDER_ATTACHMENT_STENCIL_ACCESS_BIT_EXT, renderpass must not be VK_NULL_HANDLE", "1.3-extensions"}, - {"VUID-VkGraphicsPipelineCreateInfo-flags-06484", "If the pipeline requires fragment output interface state and the flags member of VkPipelineColorBlendStateCreateInfo includes VK_PIPELINE_COLOR_BLEND_STATE_CREATE_RASTERIZATION_ORDER_ATTACHMENT_ACCESS_BIT_EXT subpass must have been created with VK_SUBPASS_DESCRIPTION_RASTERIZATION_ORDER_ATTACHMENT_COLOR_ACCESS_BIT_EXT", "1.3-extensions"}, - {"VUID-VkGraphicsPipelineCreateInfo-flags-06485", "If the pipeline requires fragment shader state and the flags member of VkPipelineDepthStencilStateCreateInfo includes VK_PIPELINE_DEPTH_STENCIL_STATE_CREATE_RASTERIZATION_ORDER_ATTACHMENT_DEPTH_ACCESS_BIT_EXT, subpass must have been created with VK_SUBPASS_DESCRIPTION_RASTERIZATION_ORDER_ATTACHMENT_DEPTH_ACCESS_BIT_EXT", "1.3-extensions"}, - {"VUID-VkGraphicsPipelineCreateInfo-flags-06486", "If the pipeline requires fragment shader state and the flags member of VkPipelineDepthStencilStateCreateInfo includes VK_PIPELINE_DEPTH_STENCIL_STATE_CREATE_RASTERIZATION_ORDER_ATTACHMENT_STENCIL_ACCESS_BIT_EXT, subpass must have been created with VK_SUBPASS_DESCRIPTION_RASTERIZATION_ORDER_ATTACHMENT_STENCIL_ACCESS_BIT_EXT", "1.3-extensions"}, + {"VUID-VkGraphicsPipelineCreateInfo-flags-06482", "If the dynamicRenderingLocalRead feature is not enabled, the pipeline requires fragment output interface state, and the flags member of VkPipelineColorBlendStateCreateInfo includes VK_PIPELINE_COLOR_BLEND_STATE_CREATE_RASTERIZATION_ORDER_ATTACHMENT_ACCESS_BIT_EXT, renderPass must not be VK_NULL_HANDLE", "1.3-extensions"}, {"VUID-VkGraphicsPipelineCreateInfo-flags-06591", "If pStages includes a fragment shader stage, and the fragment shader declares the EarlyFragmentTests execution mode, the flags member of VkPipelineDepthStencilStateCreateInfo must not include VK_PIPELINE_DEPTH_STENCIL_STATE_CREATE_RASTERIZATION_ORDER_ATTACHMENT_DEPTH_ACCESS_BIT_EXT or VK_PIPELINE_DEPTH_STENCIL_STATE_CREATE_RASTERIZATION_ORDER_ATTACHMENT_STENCIL_ACCESS_BIT_EXT", "1.3-extensions"}, {"VUID-VkGraphicsPipelineCreateInfo-flags-06596", "If VkGraphicsPipelineLibraryCreateInfoEXT::flags includes only one of VK_GRAPHICS_PIPELINE_LIBRARY_PRE_RASTERIZATION_SHADERS_BIT_EXT or VK_GRAPHICS_PIPELINE_LIBRARY_FRAGMENT_SHADER_BIT_EXT, and an element of VkPipelineLibraryCreateInfoKHR::pLibraries includes the other flag, the value of VkMultiviewPerViewAttributesInfoNVX::perViewAttributes specified in both this pipeline and the library must be equal", "1.3-extensions"}, {"VUID-VkGraphicsPipelineCreateInfo-flags-06598", "If VkGraphicsPipelineLibraryCreateInfoEXT::flags includes only one of VK_GRAPHICS_PIPELINE_LIBRARY_PRE_RASTERIZATION_SHADERS_BIT_EXT or VK_GRAPHICS_PIPELINE_LIBRARY_FRAGMENT_SHADER_BIT_EXT, and an element of VkPipelineLibraryCreateInfoKHR::pLibraries includes the other flag, the value of VkMultiviewPerViewAttributesInfoNVX::perViewAttributesPositionXOnly specified in both this pipeline and the library must be equal", "1.3-extensions"}, @@ -3063,7 +3059,7 @@ static const vuid_spec_text_pair vuid_spec_text[] = { {"VUID-VkGraphicsPipelineCreateInfo-flags-06620", "If VkGraphicsPipelineLibraryCreateInfoEXT::flags includes only one of VK_GRAPHICS_PIPELINE_LIBRARY_PRE_RASTERIZATION_SHADERS_BIT_EXT or VK_GRAPHICS_PIPELINE_LIBRARY_FRAGMENT_SHADER_BIT_EXT, and an element of VkPipelineLibraryCreateInfoKHR::pLibraries includes the other flag, push constants specified in layout in both this pipeline and the library which are available to shader stages in each must be identically defined", "1.3-extensions"}, {"VUID-VkGraphicsPipelineCreateInfo-flags-06626", "If VkGraphicsPipelineLibraryCreateInfoEXT::flags includes at least one of and no more than two of VK_GRAPHICS_PIPELINE_LIBRARY_PRE_RASTERIZATION_SHADERS_BIT_EXT, VK_GRAPHICS_PIPELINE_LIBRARY_FRAGMENT_SHADER_BIT_EXT, or VK_GRAPHICS_PIPELINE_LIBRARY_FRAGMENT_OUTPUT_INTERFACE_BIT_EXT, an element of VkPipelineLibraryCreateInfoKHR::pLibraries includes one of the other flags, and renderPass is VK_NULL_HANDLE, the value of VkPipelineRenderingCreateInfo::viewMask used by this pipeline and that specified by the library must be identical", "1.3-extensions"}, {"VUID-VkGraphicsPipelineCreateInfo-flags-06633", "If VkGraphicsPipelineLibraryCreateInfoEXT::flags includes VK_GRAPHICS_PIPELINE_LIBRARY_FRAGMENT_SHADER_BIT_EXT with a pMultisampleState that was not NULL, and an element of VkPipelineLibraryCreateInfoKHR::pLibraries was created with VK_GRAPHICS_PIPELINE_LIBRARY_FRAGMENT_OUTPUT_INTERFACE_BIT_EXT, pMultisampleState must be identically defined to that used to create the library", "1.3-extensions"}, - {"VUID-VkGraphicsPipelineCreateInfo-flags-06637", "If VkGraphicsPipelineLibraryCreateInfoEXT::flags includes VK_GRAPHICS_PIPELINE_LIBRARY_FRAGMENT_OUTPUT_INTERFACE_BIT_EXT, pMultisampleState->sampleShading is VK_TRUE, and an element of VkPipelineLibraryCreateInfoKHR::pLibraries was created with VK_GRAPHICS_PIPELINE_LIBRARY_FRAGMENT_SHADER_BIT_EXT, the pMultisampleState used to create that library must be identically defined pMultisampleState", "1.3-extensions"}, + {"VUID-VkGraphicsPipelineCreateInfo-flags-06637", "If VkGraphicsPipelineLibraryCreateInfoEXT::flags includes VK_GRAPHICS_PIPELINE_LIBRARY_FRAGMENT_OUTPUT_INTERFACE_BIT_EXT, pMultisampleState->sampleShadingEnable is VK_TRUE, and an element of VkPipelineLibraryCreateInfoKHR::pLibraries was created with VK_GRAPHICS_PIPELINE_LIBRARY_FRAGMENT_SHADER_BIT_EXT, the pMultisampleState used to create that library must be identically defined pMultisampleState", "1.3-extensions"}, {"VUID-VkGraphicsPipelineCreateInfo-flags-06638", "If VkGraphicsPipelineLibraryCreateInfoEXT::flags includes only one of VK_GRAPHICS_PIPELINE_LIBRARY_PRE_RASTERIZATION_SHADERS_BIT_EXT or VK_GRAPHICS_PIPELINE_LIBRARY_FRAGMENT_SHADER_BIT_EXT, and an element of VkPipelineLibraryCreateInfoKHR::pLibraries includes the other flag, values specified in VkPipelineFragmentShadingRateStateCreateInfoKHR for both this pipeline and that library must be identical", "1.3-extensions"}, {"VUID-VkGraphicsPipelineCreateInfo-flags-06640", "If VkGraphicsPipelineLibraryCreateInfoEXT::flags includes VK_GRAPHICS_PIPELINE_LIBRARY_PRE_RASTERIZATION_SHADERS_BIT_EXT or VK_GRAPHICS_PIPELINE_LIBRARY_FRAGMENT_SHADER_BIT_EXT, pStages must be a valid pointer to an array of stageCount valid VkPipelineShaderStageCreateInfo structures", "1.3-extensions"}, {"VUID-VkGraphicsPipelineCreateInfo-flags-06642", "If VkGraphicsPipelineLibraryCreateInfoEXT::flags includes VK_GRAPHICS_PIPELINE_LIBRARY_PRE_RASTERIZATION_SHADERS_BIT_EXT or VK_GRAPHICS_PIPELINE_LIBRARY_FRAGMENT_SHADER_BIT_EXT, layout must be a valid VkPipelineLayout handle", "1.3-extensions"}, @@ -3108,7 +3104,7 @@ static const vuid_spec_text_pair vuid_spec_text[] = { {"VUID-VkGraphicsPipelineCreateInfo-layout-07991", "If a resource variables is declared in a shader as an array, a descriptor slot in layout must match the descriptor count", "1.3-extensions"}, {"VUID-VkGraphicsPipelineCreateInfo-libraryCount-06648", "If the pipeline is not created with a complete set of state, or VkPipelineLibraryCreateInfoKHR::libraryCount is not 0, VkGraphicsPipelineShaderGroupsCreateInfoNV::groupCount and VkGraphicsPipelineShaderGroupsCreateInfoNV::pipelineCount must be 0", "1.3-extensions"}, {"VUID-VkGraphicsPipelineCreateInfo-libraryCount-06649", "If the pipeline is created with a complete set of state, and VkPipelineLibraryCreateInfoKHR::libraryCount is 0, and the pNext chain includes an instance of VkGraphicsPipelineShaderGroupsCreateInfoNV, VkGraphicsPipelineShaderGroupsCreateInfoNV::groupCount must be greater than 0", "1.3-extensions"}, - {"VUID-VkGraphicsPipelineCreateInfo-lineRasterizationMode-02766", "If the pipeline requires pre-rasterization shader state and at least one of fragment output interface state or fragment shader state, and pMultisampleState is not NULL, the lineRasterizationMode member of a VkPipelineRasterizationLineStateCreateInfoEXT structure included in the pNext chain of pRasterizationState is VK_LINE_RASTERIZATION_MODE_BRESENHAM_EXT or VK_LINE_RASTERIZATION_MODE_RECTANGULAR_SMOOTH_EXT, then the alphaToCoverageEnable, alphaToOneEnable, and sampleShadingEnable members of pMultisampleState must all be VK_FALSE", "1.3-extensions"}, + {"VUID-VkGraphicsPipelineCreateInfo-lineRasterizationMode-02766", "If the pipeline requires pre-rasterization shader state and at least one of fragment output interface state or fragment shader state, and pMultisampleState is not NULL, the lineRasterizationMode member of a VkPipelineRasterizationLineStateCreateInfoKHR structure included in the pNext chain of pRasterizationState is VK_LINE_RASTERIZATION_MODE_BRESENHAM_KHR or VK_LINE_RASTERIZATION_MODE_RECTANGULAR_SMOOTH_KHR, then the alphaToCoverageEnable, alphaToOneEnable, and sampleShadingEnable members of pMultisampleState must all be VK_FALSE", "1.3-extensions"}, {"VUID-VkGraphicsPipelineCreateInfo-maintenance5-08775", "If maintenance5 is enabled and a PointSize decorated variable is written to, all execution paths must write to a PointSize decorated variable", "1.3-extensions"}, {"VUID-VkGraphicsPipelineCreateInfo-multisampledRenderToSingleSampled-06853", "If the pipeline requires fragment output interface state, and none of the VK_AMD_mixed_attachment_samples extension, the VK_NV_framebuffer_mixed_samples extension, or the multisampledRenderToSingleSampled feature are enabled, rasterizationSamples is not dynamic, and if subpass uses color and/or depth/stencil attachments, then the rasterizationSamples member of pMultisampleState must be the same as the sample count for those subpass attachments", "1.3-extensions"}, {"VUID-VkGraphicsPipelineCreateInfo-multiview-06577", "If the multiview feature is not enabled, the pipeline requires pre-rasterization shader state, fragment shader state, or fragment output interface state, and renderPass is VK_NULL_HANDLE, VkPipelineRenderingCreateInfo::viewMask must be 0", "1.3-extensions"}, @@ -3181,7 +3177,7 @@ static const vuid_spec_text_pair vuid_spec_text[] = { {"VUID-VkGraphicsPipelineCreateInfo-pLibraries-06628", "If one element of VkPipelineLibraryCreateInfoKHR::pLibraries includes at least one of and no more than two of VK_GRAPHICS_PIPELINE_LIBRARY_PRE_RASTERIZATION_SHADERS_BIT_EXT, VK_GRAPHICS_PIPELINE_LIBRARY_FRAGMENT_SHADER_BIT_EXT, or VK_GRAPHICS_PIPELINE_LIBRARY_FRAGMENT_OUTPUT_INTERFACE_BIT_EXT, and another element of VkPipelineLibraryCreateInfoKHR::pLibraries includes one of the other flags, the renderPass objects used to create each library must be compatible or all equal to VK_NULL_HANDLE", "1.3-extensions"}, {"VUID-VkGraphicsPipelineCreateInfo-pLibraries-06634", "If an element of VkPipelineLibraryCreateInfoKHR::pLibraries was created with VK_GRAPHICS_PIPELINE_LIBRARY_FRAGMENT_SHADER_BIT_EXT with a pMultisampleState that was not NULL, and if VkGraphicsPipelineLibraryCreateInfoEXT::flags includes VK_GRAPHICS_PIPELINE_LIBRARY_FRAGMENT_OUTPUT_INTERFACE_BIT_EXT, pMultisampleState must be identically defined to that used to create the library", "1.3-extensions"}, {"VUID-VkGraphicsPipelineCreateInfo-pLibraries-06635", "If one element of VkPipelineLibraryCreateInfoKHR::pLibraries was created with VK_GRAPHICS_PIPELINE_LIBRARY_FRAGMENT_SHADER_BIT_EXT with a pMultisampleState that was not NULL, and if a different element of VkPipelineLibraryCreateInfoKHR::pLibraries was created with VK_GRAPHICS_PIPELINE_LIBRARY_FRAGMENT_OUTPUT_INTERFACE_BIT_EXT, the pMultisampleState used to create each library must be identically defined", "1.3-extensions"}, - {"VUID-VkGraphicsPipelineCreateInfo-pLibraries-06636", "If one element of VkPipelineLibraryCreateInfoKHR::pLibraries was created with VK_GRAPHICS_PIPELINE_LIBRARY_FRAGMENT_OUTPUT_INTERFACE_BIT_EXT and a value of pMultisampleState->sampleShading equal VK_TRUE, and if a different element of VkPipelineLibraryCreateInfoKHR::pLibraries was created with VK_GRAPHICS_PIPELINE_LIBRARY_FRAGMENT_SHADER_BIT_EXT, the pMultisampleState used to create each library must be identically defined", "1.3-extensions"}, + {"VUID-VkGraphicsPipelineCreateInfo-pLibraries-06636", "If one element of VkPipelineLibraryCreateInfoKHR::pLibraries was created with VK_GRAPHICS_PIPELINE_LIBRARY_FRAGMENT_OUTPUT_INTERFACE_BIT_EXT and a value of pMultisampleState->sampleShadingEnable equal VK_TRUE, and if a different element of VkPipelineLibraryCreateInfoKHR::pLibraries was created with VK_GRAPHICS_PIPELINE_LIBRARY_FRAGMENT_SHADER_BIT_EXT, the pMultisampleState used to create each library must be identically defined", "1.3-extensions"}, {"VUID-VkGraphicsPipelineCreateInfo-pLibraries-06639", "If one element of VkPipelineLibraryCreateInfoKHR::pLibraries includes VK_GRAPHICS_PIPELINE_LIBRARY_PRE_RASTERIZATION_SHADERS_BIT_EXT and another element includes VK_GRAPHICS_PIPELINE_LIBRARY_FRAGMENT_SHADER_BIT_EXT, values specified in VkPipelineFragmentShadingRateStateCreateInfoKHR for both this pipeline and that library must be identical", "1.3-extensions"}, {"VUID-VkGraphicsPipelineCreateInfo-pLibraries-06646", "If VkPipelineLibraryCreateInfoKHR::pLibraries includes more than one library, and any library was created with VK_PIPELINE_CREATE_CAPTURE_INTERNAL_REPRESENTATIONS_BIT_KHR, all libraries must have also been created with VK_PIPELINE_CREATE_CAPTURE_INTERNAL_REPRESENTATIONS_BIT_KHR", "1.3-extensions"}, {"VUID-VkGraphicsPipelineCreateInfo-pLibraries-06647", "If VkPipelineLibraryCreateInfoKHR::pLibraries includes at least one library, VkGraphicsPipelineLibraryCreateInfoEXT::flags is non-zero, and any library was created with VK_PIPELINE_CREATE_CAPTURE_INTERNAL_REPRESENTATIONS_BIT_KHR, flags must include VK_PIPELINE_CREATE_CAPTURE_INTERNAL_REPRESENTATIONS_BIT_KHR", "1.3-extensions"}, @@ -3189,7 +3185,7 @@ static const vuid_spec_text_pair vuid_spec_text[] = { {"VUID-VkGraphicsPipelineCreateInfo-pLibraries-06758", "If one element of VkPipelineLibraryCreateInfoKHR::pLibraries includes VK_GRAPHICS_PIPELINE_LIBRARY_PRE_RASTERIZATION_SHADERS_BIT_EXT and another element includes VK_GRAPHICS_PIPELINE_LIBRARY_FRAGMENT_SHADER_BIT_EXT, and any element of the pSetLayouts array used to create each library's layout was VK_NULL_HANDLE, then the corresponding element of the pSetLayouts array used to create the other library's layout must not have shader bindings for shaders in the other subset", "1.3-extensions"}, {"VUID-VkGraphicsPipelineCreateInfo-pMultisampleState-09026", "If the pipeline requires fragment output interface state, and the VK_EXT_extended_dynamic_state3 extension is not enabled or any of the VK_DYNAMIC_STATE_RASTERIZATION_SAMPLES_EXT, VK_DYNAMIC_STATE_SAMPLE_MASK_EXT, or VK_DYNAMIC_STATE_ALPHA_TO_COVERAGE_ENABLE_EXT dynamic states is not set, or alphaToOne is enabled on the device and VK_DYNAMIC_STATE_ALPHA_TO_ONE_ENABLE_EXT is not set, pMultisampleState must be a valid pointer to a valid VkPipelineMultisampleStateCreateInfo structure", "1.3-extensions"}, {"VUID-VkGraphicsPipelineCreateInfo-pMultisampleState-09027", "If pMultisampleState is not NULL it must be a valid pointer to a valid VkPipelineMultisampleStateCreateInfo structure", "1.3-extensions"}, - {"VUID-VkGraphicsPipelineCreateInfo-pNext-pNext", "Each pNext member of any structure (including this one) in the pNext chain must be either NULL or a pointer to a valid instance of VkAttachmentSampleCountInfoAMD, VkExternalFormatANDROID, VkGraphicsPipelineLibraryCreateInfoEXT, VkGraphicsPipelineShaderGroupsCreateInfoNV, VkMultiviewPerViewAttributesInfoNVX, VkPipelineCompilerControlCreateInfoAMD, VkPipelineCreateFlags2CreateInfoKHR, VkPipelineCreationFeedbackCreateInfo, VkPipelineDiscardRectangleStateCreateInfoEXT, VkPipelineFragmentShadingRateEnumStateCreateInfoNV, VkPipelineFragmentShadingRateStateCreateInfoKHR, VkPipelineLibraryCreateInfoKHR, VkPipelineRenderingCreateInfo, VkPipelineRepresentativeFragmentTestStateCreateInfoNV, or VkPipelineRobustnessCreateInfoEXT", "1.3-extensions"}, + {"VUID-VkGraphicsPipelineCreateInfo-pNext-pNext", "Each pNext member of any structure (including this one) in the pNext chain must be either NULL or a pointer to a valid instance of VkAttachmentSampleCountInfoAMD, VkExternalFormatANDROID, VkGraphicsPipelineLibraryCreateInfoEXT, VkGraphicsPipelineShaderGroupsCreateInfoNV, VkMultiviewPerViewAttributesInfoNVX, VkPipelineCompilerControlCreateInfoAMD, VkPipelineCreateFlags2CreateInfoKHR, VkPipelineCreationFeedbackCreateInfo, VkPipelineDiscardRectangleStateCreateInfoEXT, VkPipelineFragmentShadingRateEnumStateCreateInfoNV, VkPipelineFragmentShadingRateStateCreateInfoKHR, VkPipelineLibraryCreateInfoKHR, VkPipelineRenderingCreateInfo, VkPipelineRepresentativeFragmentTestStateCreateInfoNV, VkPipelineRobustnessCreateInfoEXT, VkRenderingAttachmentLocationInfoKHR, or VkRenderingInputAttachmentIndexInfoKHR", "1.3-extensions"}, {"VUID-VkGraphicsPipelineCreateInfo-pRasterizationState-09039", "If VkGraphicsPipelineLibraryCreateInfoEXT::flags includes VK_GRAPHICS_PIPELINE_LIBRARY_PRE_RASTERIZATION_SHADERS_BIT_EXT, and the VK_EXT_extended_dynamic_state3 extension is not enabled, or any of the VK_DYNAMIC_STATE_RASTERIZATION_SAMPLES_EXT, VK_DYNAMIC_STATE_SAMPLE_MASK_EXT, or VK_DYNAMIC_STATE_ALPHA_TO_COVERAGE_ENABLE_EXT dynamic states are not set, or alphaToOne is enabled on the device and VK_DYNAMIC_STATE_ALPHA_TO_ONE_ENABLE_EXT is not set, then pMultisampleState must be a valid pointer to a valid VkPipelineMultisampleStateCreateInfo structure", "1.3-extensions"}, {"VUID-VkGraphicsPipelineCreateInfo-pRasterizationState-09040", "If pRasterizationState is not NULL it must be a valid pointer to a valid VkPipelineRasterizationStateCreateInfo structure", "1.3-extensions"}, {"VUID-VkGraphicsPipelineCreateInfo-pStages-00729", "If the pipeline requires pre-rasterization shader state and pStages includes a tessellation control shader stage, it must include a tessellation evaluation shader stage", "1.3-extensions"}, @@ -3241,7 +3237,7 @@ static const vuid_spec_text_pair vuid_spec_text[] = { {"VUID-VkGraphicsPipelineCreateInfo-renderPass-06057", "If renderPass is VK_NULL_HANDLE, the pipeline is being created with pre-rasterization shader state, VkPipelineRenderingCreateInfo::viewMask is not 0, and the multiviewTessellationShader feature is not enabled, then pStages must not include tessellation shaders", "1.3-extensions"}, {"VUID-VkGraphicsPipelineCreateInfo-renderPass-06058", "If renderPass is VK_NULL_HANDLE, the pipeline is being created with pre-rasterization shader state, VkPipelineRenderingCreateInfo::viewMask is not 0, and the multiviewGeometryShader feature is not enabled, then pStages must not include a geometry shader", "1.3-extensions"}, {"VUID-VkGraphicsPipelineCreateInfo-renderPass-06059", "If renderPass is VK_NULL_HANDLE, the pipeline is being created with pre-rasterization shader state, and VkPipelineRenderingCreateInfo::viewMask is not 0, all of the shaders in the pipeline must not include variables decorated with the Layer built-in decoration in their interfaces", "1.3-extensions"}, - {"VUID-VkGraphicsPipelineCreateInfo-renderPass-06061", "If the pipeline requires fragment shader state and renderPass is VK_NULL_HANDLE, fragment shaders in pStages must not include the InputAttachment capability", "1.3-extensions"}, + {"VUID-VkGraphicsPipelineCreateInfo-renderPass-06061", "If the dynamicRenderingLocalRead feature is not enabled, the pipeline requires fragment shader state, and renderPass is VK_NULL_HANDLE, fragment shaders in pStages must not include the InputAttachment capability", "1.3-extensions"}, {"VUID-VkGraphicsPipelineCreateInfo-renderPass-06062", "If the pipeline requires fragment output interface state and renderPass is VK_NULL_HANDLE, for each color attachment format defined by the pColorAttachmentFormats member of VkPipelineRenderingCreateInfo, if its potential format features do not contain VK_FORMAT_FEATURE_COLOR_ATTACHMENT_BLEND_BIT, then the blendEnable member of the corresponding element of the pAttachments member of pColorBlendState must be VK_FALSE", "1.3-extensions"}, {"VUID-VkGraphicsPipelineCreateInfo-renderPass-06063", "If the pipeline requires fragment output interface state and renderPass is VK_NULL_HANDLE, if the pNext chain includes VkAttachmentSampleCountInfoAMD or VkAttachmentSampleCountInfoNV, the colorAttachmentCount member of that structure must be equal to the value of VkPipelineRenderingCreateInfo::colorAttachmentCount", "1.3-extensions"}, {"VUID-VkGraphicsPipelineCreateInfo-renderPass-06578", "If the pipeline requires pre-rasterization shader state, fragment shader state, or fragment output interface state, and renderPass is VK_NULL_HANDLE, the index of the most significant bit in VkPipelineRenderingCreateInfo::viewMask must be less than maxMultiviewViewCount", "1.3-extensions"}, @@ -3271,6 +3267,11 @@ static const vuid_spec_text_pair vuid_spec_text[] = { {"VUID-VkGraphicsPipelineCreateInfo-renderPass-09033", "If renderPass is VK_NULL_HANDLE, the pipeline is being created with fragment shader state and fragment output interface state, and either of VkPipelineRenderingCreateInfo::depthAttachmentFormat or VkPipelineRenderingCreateInfo::stencilAttachmentFormat are not VK_FORMAT_UNDEFINED, and the VK_EXT_extended_dynamic_state3 extension is not enabled or any of the VK_DYNAMIC_STATE_DEPTH_TEST_ENABLE, VK_DYNAMIC_STATE_DEPTH_WRITE_ENABLE, VK_DYNAMIC_STATE_DEPTH_COMPARE_OP, VK_DYNAMIC_STATE_DEPTH_BOUNDS_TEST_ENABLE, VK_DYNAMIC_STATE_STENCIL_TEST_ENABLE, VK_DYNAMIC_STATE_STENCIL_OP, or VK_DYNAMIC_STATE_DEPTH_BOUNDS dynamic states are not set, pDepthStencilState must be a valid pointer to a valid VkPipelineDepthStencilStateCreateInfo structure", "1.3-extensions"}, {"VUID-VkGraphicsPipelineCreateInfo-renderPass-09035", "If renderPass is VK_NULL_HANDLE and the pipeline is being created with fragment shader state but not fragment output interface state, and the VK_EXT_extended_dynamic_state3 extension is not enabled, or any of the VK_DYNAMIC_STATE_DEPTH_TEST_ENABLE, VK_DYNAMIC_STATE_DEPTH_WRITE_ENABLE, VK_DYNAMIC_STATE_DEPTH_COMPARE_OP, VK_DYNAMIC_STATE_DEPTH_BOUNDS_TEST_ENABLE, VK_DYNAMIC_STATE_STENCIL_TEST_ENABLE, VK_DYNAMIC_STATE_STENCIL_OP, or VK_DYNAMIC_STATE_DEPTH_BOUNDS dynamic states are not set, pDepthStencilState must be a valid pointer to a valid VkPipelineDepthStencilStateCreateInfo structure", "1.3-extensions"}, {"VUID-VkGraphicsPipelineCreateInfo-renderPass-09037", "If renderPass is VK_NULL_HANDLE, the pipeline is being created with fragment output interface state, and VkPipelineRenderingCreateInfo::colorAttachmentCount is not equal to 0, and the VK_EXT_extended_dynamic_state3 extension is not enabled, or any of the VK_DYNAMIC_STATE_LOGIC_OP_ENABLE_EXT, VK_DYNAMIC_STATE_LOGIC_OP_EXT, VK_DYNAMIC_STATE_COLOR_BLEND_ENABLE_EXT, VK_DYNAMIC_STATE_COLOR_BLEND_EQUATION_EXT, VK_DYNAMIC_STATE_COLOR_WRITE_MASK_EXT, or VK_DYNAMIC_STATE_BLEND_CONSTANTS dynamic states are not set, pColorBlendState must be a valid pointer to a valid VkPipelineColorBlendStateCreateInfo structure", "1.3-extensions"}, + {"VUID-VkGraphicsPipelineCreateInfo-renderPass-09527", "If the pipeline requires fragment output interface state, renderPass is not VK_NULL_HANDLE, and the flags member of VkPipelineColorBlendStateCreateInfo includes VK_PIPELINE_COLOR_BLEND_STATE_CREATE_RASTERIZATION_ORDER_ATTACHMENT_ACCESS_BIT_EXT subpass must have been created with VK_SUBPASS_DESCRIPTION_RASTERIZATION_ORDER_ATTACHMENT_COLOR_ACCESS_BIT_EXT", "1.3-extensions"}, + {"VUID-VkGraphicsPipelineCreateInfo-renderPass-09528", "If the pipeline requires fragment shader state, renderPass is not VK_NULL_HANDLE, and the flags member of VkPipelineDepthStencilStateCreateInfo includes VK_PIPELINE_DEPTH_STENCIL_STATE_CREATE_RASTERIZATION_ORDER_ATTACHMENT_DEPTH_ACCESS_BIT_EXT, subpass must have been created with VK_SUBPASS_DESCRIPTION_RASTERIZATION_ORDER_ATTACHMENT_DEPTH_ACCESS_BIT_EXT", "1.3-extensions"}, + {"VUID-VkGraphicsPipelineCreateInfo-renderPass-09529", "If the pipeline requires fragment shader state, renderPass is not VK_NULL_HANDLE, and the flags member of VkPipelineDepthStencilStateCreateInfo includes VK_PIPELINE_DEPTH_STENCIL_STATE_CREATE_RASTERIZATION_ORDER_ATTACHMENT_STENCIL_ACCESS_BIT_EXT, subpass must have been created with VK_SUBPASS_DESCRIPTION_RASTERIZATION_ORDER_ATTACHMENT_STENCIL_ACCESS_BIT_EXT", "1.3-extensions"}, + {"VUID-VkGraphicsPipelineCreateInfo-renderPass-09531", "If the pipeline is being created with fragment shader state and fragment output state, and the value of renderPass is VK_NULL_HANDLE, VkRenderingInputAttachmentIndexInfoKHR::colorAttachmentCount must be equal to VkPipelineRenderingCreateInfo::colorAttachmentCount", "1.3-extensions"}, + {"VUID-VkGraphicsPipelineCreateInfo-renderPass-09532", "If the pipeline is being created with fragment output state, and the value of renderPass is VK_NULL_HANDLE, VkRenderingAttachmentLocationInfoKHR::colorAttachmentCount must be equal to VkPipelineRenderingCreateInfo::colorAttachmentCount", "1.3-extensions"}, {"VUID-VkGraphicsPipelineCreateInfo-renderpass-06624", "If renderpass is not VK_NULL_HANDLE, VkGraphicsPipelineLibraryCreateInfoEXT::flags includes at least one of and no more than two of VK_GRAPHICS_PIPELINE_LIBRARY_PRE_RASTERIZATION_SHADERS_BIT_EXT, VK_GRAPHICS_PIPELINE_LIBRARY_FRAGMENT_SHADER_BIT_EXT, or VK_GRAPHICS_PIPELINE_LIBRARY_FRAGMENT_OUTPUT_INTERFACE_BIT_EXT, and an element of VkPipelineLibraryCreateInfoKHR::pLibraries includes one of the other flags, renderPass must be compatible with that used to create the library", "1.3-extensions"}, {"VUID-VkGraphicsPipelineCreateInfo-renderpass-06625", "If renderpass is VK_NULL_HANDLE, VkGraphicsPipelineLibraryCreateInfoEXT::flags includes at least one of and no more than two of VK_GRAPHICS_PIPELINE_LIBRARY_PRE_RASTERIZATION_SHADERS_BIT_EXT, VK_GRAPHICS_PIPELINE_LIBRARY_FRAGMENT_SHADER_BIT_EXT, or VK_GRAPHICS_PIPELINE_LIBRARY_FRAGMENT_OUTPUT_INTERFACE_BIT_EXT, and an element of VkPipelineLibraryCreateInfoKHR::pLibraries includes one of the other flags, the value of renderPass used to create that library must also be VK_NULL_HANDLE", "1.3-extensions"}, {"VUID-VkGraphicsPipelineCreateInfo-renderpass-06631", "If renderPass is not VK_NULL_HANDLE, the pipeline requires fragment shader state, and the VK_EXT_extended_dynamic_state3 extension is not enabled or any of the VK_DYNAMIC_STATE_RASTERIZATION_SAMPLES_EXT, VK_DYNAMIC_STATE_SAMPLE_MASK_EXT, or VK_DYNAMIC_STATE_ALPHA_TO_COVERAGE_ENABLE_EXT dynamic states is not set, or alphaToOne is enabled on the device and VK_DYNAMIC_STATE_ALPHA_TO_ONE_ENABLE_EXT is not set, then pMultisampleState must be a valid pointer to a valid VkPipelineMultisampleStateCreateInfo structure", "1.3-extensions"}, @@ -3281,8 +3282,8 @@ static const vuid_spec_text_pair vuid_spec_text[] = { {"VUID-VkGraphicsPipelineCreateInfo-shaderTessellationAndGeometryPointSize-08776", "If the pipeline is being created with a Geometry Execution Model, uses the OutputPoints Execution Mode, and shaderTessellationAndGeometryPointSize is enabled, a PointSize decorated variable must be written to for every vertex emitted if maintenance5 is not enabled", "1.3-extensions"}, {"VUID-VkGraphicsPipelineCreateInfo-stage-02096", "If the pipeline requires pre-rasterization shader state the stage member of one element of pStages must be VK_SHADER_STAGE_VERTEX_BIT or VK_SHADER_STAGE_MESH_BIT_EXT", "1.3-extensions"}, {"VUID-VkGraphicsPipelineCreateInfo-stage-06897", "If the pipeline requires fragment shader state and/or pre-rasterization shader state, any value of stage must not be set in more than one element of pStages", "1.3-extensions"}, - {"VUID-VkGraphicsPipelineCreateInfo-stageCount-06604", "If the pipeline requires pre-rasterization shader state or fragment shader state, stageCount must be greater than 0", "1.3-extensions"}, - {"VUID-VkGraphicsPipelineCreateInfo-stippledLineEnable-02767", "If the pipeline requires pre-rasterization shader state, the stippledLineEnable member of VkPipelineRasterizationLineStateCreateInfoEXT is VK_TRUE, and no element of the pDynamicStates member of pDynamicState is VK_DYNAMIC_STATE_LINE_STIPPLE_EXT, then the lineStippleFactor member of VkPipelineRasterizationLineStateCreateInfoEXT must be in the range [1,256]", "1.3-extensions"}, + {"VUID-VkGraphicsPipelineCreateInfo-stageCount-09530", "If the pipeline requires pre-rasterization shader state, stageCount must be greater than 0", "1.3-extensions"}, + {"VUID-VkGraphicsPipelineCreateInfo-stippledLineEnable-02767", "If the pipeline requires pre-rasterization shader state, the stippledLineEnable member of VkPipelineRasterizationLineStateCreateInfoKHR is VK_TRUE, and no element of the pDynamicStates member of pDynamicState is VK_DYNAMIC_STATE_LINE_STIPPLE_EXT, then the lineStippleFactor member of VkPipelineRasterizationLineStateCreateInfoKHR must be in the range [1,256]", "1.3-extensions"}, {"VUID-VkGraphicsPipelineCreateInfo-subpass-00758", "If the pipeline requires fragment output interface state, rasterizationSamples is not dynamic, and subpass does not use any color and/or depth/stencil attachments, then the rasterizationSamples member of pMultisampleState must follow the rules for a zero-attachment subpass", "1.3-extensions"}, {"VUID-VkGraphicsPipelineCreateInfo-subpass-01411", "If the pipeline requires fragment output interface state, the VK_NV_framebuffer_mixed_samples extension is enabled, rasterizationSamples is not dynamic, and if subpass has a depth/stencil attachment and depth test, stencil test, or depth bounds test are enabled, then the rasterizationSamples member of pMultisampleState must be the same as the sample count of the depth/stencil attachment", "1.3-extensions"}, {"VUID-VkGraphicsPipelineCreateInfo-subpass-01412", "If the pipeline requires fragment output interface state, the VK_NV_framebuffer_mixed_samples extension is enabled, rasterizationSamples is not dynamic, and if subpass has any color attachments, then the rasterizationSamples member of pMultisampleState must be greater than or equal to the sample count for those subpass attachments", "1.3-extensions"}, @@ -3554,6 +3555,7 @@ static const vuid_spec_text_pair vuid_spec_text[] = { {"VUID-VkImageFormatConstraintsInfoFUCHSIA-sType-sType", "sType must be VK_STRUCTURE_TYPE_IMAGE_FORMAT_CONSTRAINTS_INFO_FUCHSIA", "1.3-extensions"}, {"VUID-VkImageFormatListCreateInfo-pViewFormats-parameter", "If viewFormatCount is not 0, pViewFormats must be a valid pointer to an array of viewFormatCount valid VkFormat values", "1.3-extensions"}, {"VUID-VkImageFormatListCreateInfo-sType-sType", "sType must be VK_STRUCTURE_TYPE_IMAGE_FORMAT_LIST_CREATE_INFO", "1.3-extensions"}, + {"VUID-VkImageFormatListCreateInfo-viewFormatCount-09540", "If viewFormatCount is not 0, each element of pViewFormats must not be VK_FORMAT_UNDEFINED", "1.3-extensions"}, {"VUID-VkImageFormatProperties2-pNext-pNext", "Each pNext member of any structure (including this one) in the pNext chain must be either NULL or a pointer to a valid instance of VkAndroidHardwareBufferUsageANDROID, VkExternalImageFormatProperties, VkFilterCubicImageViewImageFormatPropertiesEXT, VkHostImageCopyDevicePerformanceQueryEXT, VkImageCompressionPropertiesEXT, VkSamplerYcbcrConversionImageFormatProperties, or VkTextureLODGatherFormatPropertiesAMD", "1.3-extensions"}, {"VUID-VkImageFormatProperties2-sType-sType", "sType must be VK_STRUCTURE_TYPE_IMAGE_FORMAT_PROPERTIES_2", "1.3-extensions"}, {"VUID-VkImageFormatProperties2-sType-unique", "The sType value of each struct in the pNext chain must be unique", "1.3-extensions"}, @@ -3566,6 +3568,8 @@ static const vuid_spec_text_pair vuid_spec_text[] = { {"VUID-VkImageMemoryBarrier-aspectMask-08703", "If the aspectMask member of subresourceRange includes VK_IMAGE_ASPECT_STENCIL_BIT, oldLayout and newLayout must not be one of VK_IMAGE_LAYOUT_DEPTH_ATTACHMENT_OPTIMAL or VK_IMAGE_LAYOUT_DEPTH_READ_ONLY_OPTIMAL", "1.3-extensions"}, {"VUID-VkImageMemoryBarrier-attachmentFeedbackLoopLayout-07313", "If the attachmentFeedbackLoopLayout feature is not enabled, newLayout must not be VK_IMAGE_LAYOUT_ATTACHMENT_FEEDBACK_LOOP_OPTIMAL_EXT", "1.3-extensions"}, {"VUID-VkImageMemoryBarrier-dstQueueFamilyIndex-09122", "If the VK_EXT_queue_family_foreign extension is not enabled dstQueueFamilyIndex must not be VK_QUEUE_FAMILY_FOREIGN_EXT", "1.3-extensions"}, + {"VUID-VkImageMemoryBarrier-dynamicRenderingLocalRead-09551", "If the dynamicRenderingLocalRead feature is not enabled, oldLayout must not be VK_IMAGE_LAYOUT_RENDERING_LOCAL_READ_KHR", "1.3-extensions"}, + {"VUID-VkImageMemoryBarrier-dynamicRenderingLocalRead-09552", "If the dynamicRenderingLocalRead feature is not enabled, newLayout must not be VK_IMAGE_LAYOUT_RENDERING_LOCAL_READ_KHR", "1.3-extensions"}, {"VUID-VkImageMemoryBarrier-image-01672", "If image has a multi-planar format and the image is disjoint, then the aspectMask member of subresourceRange must include at least one multi-planar aspect mask bit or VK_IMAGE_ASPECT_COLOR_BIT", "1.3-extensions"}, {"VUID-VkImageMemoryBarrier-image-01932", "If image is non-sparse then it must be bound completely and contiguously to a single VkDeviceMemory object", "1.3-extensions"}, {"VUID-VkImageMemoryBarrier-image-03319", "If image has a depth/stencil format with both depth and stencil and the separateDepthStencilLayouts feature is enabled, then the aspectMask member of subresourceRange must include either or both VK_IMAGE_ASPECT_DEPTH_BIT and VK_IMAGE_ASPECT_STENCIL_BIT", "1.3-extensions"}, @@ -3606,6 +3610,7 @@ static const vuid_spec_text_pair vuid_spec_text[] = { {"VUID-VkImageMemoryBarrier-srcQueueFamilyIndex-07124", "If srcQueueFamilyIndex and dstQueueFamilyIndex define a queue family ownership transfer or oldLayout and newLayout define an image layout transition, and oldLayout or newLayout is VK_IMAGE_LAYOUT_VIDEO_ENCODE_DST_KHR then image must have been created with VK_IMAGE_USAGE_VIDEO_ENCODE_DST_BIT_KHR", "1.3-extensions"}, {"VUID-VkImageMemoryBarrier-srcQueueFamilyIndex-07125", "If srcQueueFamilyIndex and dstQueueFamilyIndex define a queue family ownership transfer or oldLayout and newLayout define an image layout transition, and oldLayout or newLayout is VK_IMAGE_LAYOUT_VIDEO_ENCODE_DPB_KHR then image must have been created with VK_IMAGE_USAGE_VIDEO_ENCODE_DPB_BIT_KHR", "1.3-extensions"}, {"VUID-VkImageMemoryBarrier-srcQueueFamilyIndex-09121", "If the VK_EXT_queue_family_foreign extension is not enabled srcQueueFamilyIndex must not be VK_QUEUE_FAMILY_FOREIGN_EXT", "1.3-extensions"}, + {"VUID-VkImageMemoryBarrier-srcQueueFamilyIndex-09550", "If srcQueueFamilyIndex and dstQueueFamilyIndex define a queue family ownership transfer or oldLayout and newLayout define an image layout transition, and oldLayout or newLayout is VK_IMAGE_LAYOUT_RENDERING_LOCAL_READ_KHR then image must have been created with either VK_IMAGE_USAGE_STORAGE_BIT, or with both VK_IMAGE_USAGE_INPUT_ATTACHMENT_BIT and either of VK_IMAGE_USAGE_COLOR_ATTACHMENT_BIT or VK_IMAGE_USAGE_DEPTH_STENCIL_ATTACHMENT_BIT", "1.3-extensions"}, {"VUID-VkImageMemoryBarrier-subresourceRange-01486", "subresourceRange.baseMipLevel must be less than the mipLevels specified in VkImageCreateInfo when image was created", "1.3-extensions"}, {"VUID-VkImageMemoryBarrier-subresourceRange-01488", "subresourceRange.baseArrayLayer must be less than the arrayLayers specified in VkImageCreateInfo when image was created", "1.3-extensions"}, {"VUID-VkImageMemoryBarrier-subresourceRange-01724", "If subresourceRange.levelCount is not VK_REMAINING_MIP_LEVELS, subresourceRange.baseMipLevel + subresourceRange.levelCount must be less than or equal to the mipLevels specified in VkImageCreateInfo when image was created", "1.3-extensions"}, @@ -3673,6 +3678,8 @@ static const vuid_spec_text_pair vuid_spec_text[] = { {"VUID-VkImageMemoryBarrier2-dstStageMask-07316", "If neither the shadingRateImage or attachmentFragmentShadingRate are enabled, dstStageMask must not contain VK_PIPELINE_STAGE_2_FRAGMENT_SHADING_RATE_ATTACHMENT_BIT_KHR", "1.3-extensions"}, {"VUID-VkImageMemoryBarrier2-dstStageMask-07946", "If neither the VK_NV_ray_tracing extension or rayTracingPipeline feature are enabled, dstStageMask must not contain VK_PIPELINE_STAGE_2_RAY_TRACING_SHADER_BIT_KHR", "1.3-extensions"}, {"VUID-VkImageMemoryBarrier2-dstStageMask-parameter", "dstStageMask must be a valid combination of VkPipelineStageFlagBits2 values", "1.3-extensions"}, + {"VUID-VkImageMemoryBarrier2-dynamicRenderingLocalRead-09551", "If the dynamicRenderingLocalRead feature is not enabled, oldLayout must not be VK_IMAGE_LAYOUT_RENDERING_LOCAL_READ_KHR", "1.3-extensions"}, + {"VUID-VkImageMemoryBarrier2-dynamicRenderingLocalRead-09552", "If the dynamicRenderingLocalRead feature is not enabled, newLayout must not be VK_IMAGE_LAYOUT_RENDERING_LOCAL_READ_KHR", "1.3-extensions"}, {"VUID-VkImageMemoryBarrier2-image-01672", "If image has a multi-planar format and the image is disjoint, then the aspectMask member of subresourceRange must include at least one multi-planar aspect mask bit or VK_IMAGE_ASPECT_COLOR_BIT", "1.3-extensions"}, {"VUID-VkImageMemoryBarrier2-image-01932", "If image is non-sparse then it must be bound completely and contiguously to a single VkDeviceMemory object", "1.3-extensions"}, {"VUID-VkImageMemoryBarrier2-image-03319", "If image has a depth/stencil format with both depth and stencil and the separateDepthStencilLayouts feature is enabled, then the aspectMask member of subresourceRange must include either or both VK_IMAGE_ASPECT_DEPTH_BIT and VK_IMAGE_ASPECT_STENCIL_BIT", "1.3-extensions"}, @@ -3755,6 +3762,7 @@ static const vuid_spec_text_pair vuid_spec_text[] = { {"VUID-VkImageMemoryBarrier2-srcQueueFamilyIndex-07124", "If srcQueueFamilyIndex and dstQueueFamilyIndex define a queue family ownership transfer or oldLayout and newLayout define an image layout transition, and oldLayout or newLayout is VK_IMAGE_LAYOUT_VIDEO_ENCODE_DST_KHR then image must have been created with VK_IMAGE_USAGE_VIDEO_ENCODE_DST_BIT_KHR", "1.3-extensions"}, {"VUID-VkImageMemoryBarrier2-srcQueueFamilyIndex-07125", "If srcQueueFamilyIndex and dstQueueFamilyIndex define a queue family ownership transfer or oldLayout and newLayout define an image layout transition, and oldLayout or newLayout is VK_IMAGE_LAYOUT_VIDEO_ENCODE_DPB_KHR then image must have been created with VK_IMAGE_USAGE_VIDEO_ENCODE_DPB_BIT_KHR", "1.3-extensions"}, {"VUID-VkImageMemoryBarrier2-srcQueueFamilyIndex-09121", "If the VK_EXT_queue_family_foreign extension is not enabled srcQueueFamilyIndex must not be VK_QUEUE_FAMILY_FOREIGN_EXT", "1.3-extensions"}, + {"VUID-VkImageMemoryBarrier2-srcQueueFamilyIndex-09550", "If srcQueueFamilyIndex and dstQueueFamilyIndex define a queue family ownership transfer or oldLayout and newLayout define an image layout transition, and oldLayout or newLayout is VK_IMAGE_LAYOUT_RENDERING_LOCAL_READ_KHR then image must have been created with either VK_IMAGE_USAGE_STORAGE_BIT, or with both VK_IMAGE_USAGE_INPUT_ATTACHMENT_BIT and either of VK_IMAGE_USAGE_COLOR_ATTACHMENT_BIT or VK_IMAGE_USAGE_DEPTH_STENCIL_ATTACHMENT_BIT", "1.3-extensions"}, {"VUID-VkImageMemoryBarrier2-srcStageMask-03854", "If either srcStageMask or dstStageMask includes VK_PIPELINE_STAGE_2_HOST_BIT, srcQueueFamilyIndex and dstQueueFamilyIndex must be equal", "1.3-extensions"}, {"VUID-VkImageMemoryBarrier2-srcStageMask-03855", "If srcStageMask includes VK_PIPELINE_STAGE_2_HOST_BIT, and srcQueueFamilyIndex and dstQueueFamilyIndex define a queue family ownership transfer or oldLayout and newLayout define an image layout transition, oldLayout must be one of VK_IMAGE_LAYOUT_PREINITIALIZED, VK_IMAGE_LAYOUT_UNDEFINED, or VK_IMAGE_LAYOUT_GENERAL", "1.3-extensions"}, {"VUID-VkImageMemoryBarrier2-srcStageMask-03929", "If the geometryShader feature is not enabled, srcStageMask must not contain VK_PIPELINE_STAGE_2_GEOMETRY_SHADER_BIT", "1.3-extensions"}, @@ -4620,6 +4628,7 @@ static const vuid_spec_text_pair vuid_spec_text[] = { {"VUID-VkPhysicalDeviceDriverProperties-sType-sType", "sType must be VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DRIVER_PROPERTIES", "1.3-extensions"}, {"VUID-VkPhysicalDeviceDrmPropertiesEXT-sType-sType", "sType must be VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DRM_PROPERTIES_EXT", "1.3-extensions"}, {"VUID-VkPhysicalDeviceDynamicRenderingFeatures-sType-sType", "sType must be VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DYNAMIC_RENDERING_FEATURES", "1.3-extensions"}, + {"VUID-VkPhysicalDeviceDynamicRenderingLocalReadFeaturesKHR-sType-sType", "sType must be VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DYNAMIC_RENDERING_LOCAL_READ_FEATURES_KHR", "1.3-extensions"}, {"VUID-VkPhysicalDeviceDynamicRenderingUnusedAttachmentsFeaturesEXT-sType-sType", "sType must be VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DYNAMIC_RENDERING_UNUSED_ATTACHMENTS_FEATURES_EXT", "1.3-extensions"}, {"VUID-VkPhysicalDeviceExclusiveScissorFeaturesNV-sType-sType", "sType must be VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXCLUSIVE_SCISSOR_FEATURES_NV", "1.3-extensions"}, {"VUID-VkPhysicalDeviceExtendedDynamicState2FeaturesEXT-sType-sType", "sType must be VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTENDED_DYNAMIC_STATE_2_FEATURES_EXT", "1.3-extensions"}, @@ -4628,8 +4637,8 @@ static const vuid_spec_text_pair vuid_spec_text[] = { {"VUID-VkPhysicalDeviceExtendedDynamicStateFeaturesEXT-sType-sType", "sType must be VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTENDED_DYNAMIC_STATE_FEATURES_EXT", "1.3-extensions"}, {"VUID-VkPhysicalDeviceExtendedSparseAddressSpaceFeaturesNV-sType-sType", "sType must be VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTENDED_SPARSE_ADDRESS_SPACE_FEATURES_NV", "1.3-extensions"}, {"VUID-VkPhysicalDeviceExtendedSparseAddressSpacePropertiesNV-sType-sType", "sType must be VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTENDED_SPARSE_ADDRESS_SPACE_PROPERTIES_NV", "1.3-extensions"}, - {"VUID-VkPhysicalDeviceExternalBufferInfo-None-09499", "If the pNext chain does not include a VkBufferUsageFlags2CreateInfoKHR structure, usage: must be a valid combination of VkBufferUsageFlagBits values", "1.3-extensions"}, - {"VUID-VkPhysicalDeviceExternalBufferInfo-None-09500", "If the pNext chain does not include a VkBufferUsageFlags2CreateInfoKHR structure, usage: must not be 0", "1.3-extensions"}, + {"VUID-VkPhysicalDeviceExternalBufferInfo-None-09499", "If the pNext chain does not include a VkBufferUsageFlags2CreateInfoKHR structure, usage must be a valid combination of VkBufferUsageFlagBits values", "1.3-extensions"}, + {"VUID-VkPhysicalDeviceExternalBufferInfo-None-09500", "If the pNext chain does not include a VkBufferUsageFlags2CreateInfoKHR structure, usage must not be 0", "1.3-extensions"}, {"VUID-VkPhysicalDeviceExternalBufferInfo-flags-parameter", "flags must be a valid combination of VkBufferCreateFlagBits values", "1.3-extensions"}, {"VUID-VkPhysicalDeviceExternalBufferInfo-handleType-parameter", "handleType must be a valid VkExternalMemoryHandleTypeFlagBits value", "1.3-extensions"}, {"VUID-VkPhysicalDeviceExternalBufferInfo-pNext-pNext", "pNext must be NULL or a pointer to a valid instance of VkBufferUsageFlags2CreateInfoKHR", "1.3-extensions"}, @@ -4709,15 +4718,15 @@ static const vuid_spec_text_pair vuid_spec_text[] = { {"VUID-VkPhysicalDeviceImageViewImageFormatInfoEXT-sType-sType", "sType must be VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGE_VIEW_IMAGE_FORMAT_INFO_EXT", "1.3-extensions"}, {"VUID-VkPhysicalDeviceImageViewMinLodFeaturesEXT-sType-sType", "sType must be VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGE_VIEW_MIN_LOD_FEATURES_EXT", "1.3-extensions"}, {"VUID-VkPhysicalDeviceImagelessFramebufferFeatures-sType-sType", "sType must be VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGELESS_FRAMEBUFFER_FEATURES", "1.3-extensions"}, - {"VUID-VkPhysicalDeviceIndexTypeUint8FeaturesEXT-sType-sType", "sType must be VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_INDEX_TYPE_UINT8_FEATURES_EXT", "1.3-extensions"}, + {"VUID-VkPhysicalDeviceIndexTypeUint8FeaturesKHR-sType-sType", "sType must be VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_INDEX_TYPE_UINT8_FEATURES_KHR", "1.3-extensions"}, {"VUID-VkPhysicalDeviceInheritedViewportScissorFeaturesNV-sType-sType", "sType must be VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_INHERITED_VIEWPORT_SCISSOR_FEATURES_NV", "1.3-extensions"}, {"VUID-VkPhysicalDeviceInlineUniformBlockFeatures-sType-sType", "sType must be VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_INLINE_UNIFORM_BLOCK_FEATURES", "1.3-extensions"}, {"VUID-VkPhysicalDeviceInlineUniformBlockProperties-sType-sType", "sType must be VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_INLINE_UNIFORM_BLOCK_PROPERTIES", "1.3-extensions"}, {"VUID-VkPhysicalDeviceInvocationMaskFeaturesHUAWEI-sType-sType", "sType must be VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_INVOCATION_MASK_FEATURES_HUAWEI", "1.3-extensions"}, {"VUID-VkPhysicalDeviceLayeredDriverPropertiesMSFT-sType-sType", "sType must be VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_LAYERED_DRIVER_PROPERTIES_MSFT", "1.3-extensions"}, {"VUID-VkPhysicalDeviceLegacyDitheringFeaturesEXT-sType-sType", "sType must be VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_LEGACY_DITHERING_FEATURES_EXT", "1.3-extensions"}, - {"VUID-VkPhysicalDeviceLineRasterizationFeaturesEXT-sType-sType", "sType must be VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_LINE_RASTERIZATION_FEATURES_EXT", "1.3-extensions"}, - {"VUID-VkPhysicalDeviceLineRasterizationPropertiesEXT-sType-sType", "sType must be VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_LINE_RASTERIZATION_PROPERTIES_EXT", "1.3-extensions"}, + {"VUID-VkPhysicalDeviceLineRasterizationFeaturesKHR-sType-sType", "sType must be VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_LINE_RASTERIZATION_FEATURES_KHR", "1.3-extensions"}, + {"VUID-VkPhysicalDeviceLineRasterizationPropertiesKHR-sType-sType", "sType must be VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_LINE_RASTERIZATION_PROPERTIES_KHR", "1.3-extensions"}, {"VUID-VkPhysicalDeviceLinearColorAttachmentFeaturesNV-sType-sType", "sType must be VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_LINEAR_COLOR_ATTACHMENT_FEATURES_NV", "1.3-extensions"}, {"VUID-VkPhysicalDeviceMaintenance3Properties-sType-sType", "sType must be VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MAINTENANCE_3_PROPERTIES", "1.3-extensions"}, {"VUID-VkPhysicalDeviceMaintenance4Features-sType-sType", "sType must be VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MAINTENANCE_4_FEATURES", "1.3-extensions"}, @@ -4778,7 +4787,7 @@ static const vuid_spec_text_pair vuid_spec_text[] = { {"VUID-VkPhysicalDevicePrimitiveTopologyListRestartFeaturesEXT-sType-sType", "sType must be VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PRIMITIVE_TOPOLOGY_LIST_RESTART_FEATURES_EXT", "1.3-extensions"}, {"VUID-VkPhysicalDevicePrimitivesGeneratedQueryFeaturesEXT-sType-sType", "sType must be VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PRIMITIVES_GENERATED_QUERY_FEATURES_EXT", "1.3-extensions"}, {"VUID-VkPhysicalDevicePrivateDataFeatures-sType-sType", "sType must be VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PRIVATE_DATA_FEATURES", "1.3-extensions"}, - {"VUID-VkPhysicalDeviceProperties2-pNext-pNext", "Each pNext member of any structure (including this one) in the pNext chain must be either NULL or a pointer to a valid instance of VkPhysicalDeviceAccelerationStructurePropertiesKHR, VkPhysicalDeviceBlendOperationAdvancedPropertiesEXT, VkPhysicalDeviceClusterCullingShaderPropertiesHUAWEI, VkPhysicalDeviceConservativeRasterizationPropertiesEXT, VkPhysicalDeviceCooperativeMatrixPropertiesKHR, VkPhysicalDeviceCooperativeMatrixPropertiesNV, VkPhysicalDeviceCopyMemoryIndirectPropertiesNV, VkPhysicalDeviceCudaKernelLaunchPropertiesNV, VkPhysicalDeviceCustomBorderColorPropertiesEXT, VkPhysicalDeviceDepthStencilResolveProperties, VkPhysicalDeviceDescriptorBufferDensityMapPropertiesEXT, VkPhysicalDeviceDescriptorBufferPropertiesEXT, VkPhysicalDeviceDescriptorIndexingProperties, VkPhysicalDeviceDeviceGeneratedCommandsPropertiesNV, VkPhysicalDeviceDiscardRectanglePropertiesEXT, VkPhysicalDeviceDisplacementMicromapPropertiesNV, VkPhysicalDeviceDriverProperties, VkPhysicalDeviceDrmPropertiesEXT, VkPhysicalDeviceExtendedDynamicState3PropertiesEXT, VkPhysicalDeviceExtendedSparseAddressSpacePropertiesNV, VkPhysicalDeviceExternalFormatResolvePropertiesANDROID, VkPhysicalDeviceExternalMemoryHostPropertiesEXT, VkPhysicalDeviceFloatControlsProperties, VkPhysicalDeviceFragmentDensityMap2PropertiesEXT, VkPhysicalDeviceFragmentDensityMapOffsetPropertiesQCOM, VkPhysicalDeviceFragmentDensityMapPropertiesEXT, VkPhysicalDeviceFragmentShaderBarycentricPropertiesKHR, VkPhysicalDeviceFragmentShadingRateEnumsPropertiesNV, VkPhysicalDeviceFragmentShadingRatePropertiesKHR, VkPhysicalDeviceGraphicsPipelineLibraryPropertiesEXT, VkPhysicalDeviceHostImageCopyPropertiesEXT, VkPhysicalDeviceIDProperties, VkPhysicalDeviceImageProcessing2PropertiesQCOM, VkPhysicalDeviceImageProcessingPropertiesQCOM, VkPhysicalDeviceInlineUniformBlockProperties, VkPhysicalDeviceLayeredDriverPropertiesMSFT, VkPhysicalDeviceLineRasterizationPropertiesEXT, VkPhysicalDeviceMaintenance3Properties, VkPhysicalDeviceMaintenance4Properties, VkPhysicalDeviceMaintenance5PropertiesKHR, VkPhysicalDeviceMaintenance6PropertiesKHR, VkPhysicalDeviceMemoryDecompressionPropertiesNV, VkPhysicalDeviceMeshShaderPropertiesEXT, VkPhysicalDeviceMeshShaderPropertiesNV, VkPhysicalDeviceMultiDrawPropertiesEXT, VkPhysicalDeviceMultiviewPerViewAttributesPropertiesNVX, VkPhysicalDeviceMultiviewProperties, VkPhysicalDeviceNestedCommandBufferPropertiesEXT, VkPhysicalDeviceOpacityMicromapPropertiesEXT, VkPhysicalDeviceOpticalFlowPropertiesNV, VkPhysicalDevicePCIBusInfoPropertiesEXT, VkPhysicalDevicePerformanceQueryPropertiesKHR, VkPhysicalDevicePipelineRobustnessPropertiesEXT, VkPhysicalDevicePointClippingProperties, VkPhysicalDevicePortabilitySubsetPropertiesKHR, VkPhysicalDeviceProtectedMemoryProperties, VkPhysicalDeviceProvokingVertexPropertiesEXT, VkPhysicalDevicePushDescriptorPropertiesKHR, VkPhysicalDeviceRayTracingInvocationReorderPropertiesNV, VkPhysicalDeviceRayTracingPipelinePropertiesKHR, VkPhysicalDeviceRayTracingPropertiesNV, VkPhysicalDeviceRenderPassStripedPropertiesARM, VkPhysicalDeviceRobustness2PropertiesEXT, VkPhysicalDeviceSampleLocationsPropertiesEXT, VkPhysicalDeviceSamplerFilterMinmaxProperties, VkPhysicalDeviceSchedulingControlsPropertiesARM, VkPhysicalDeviceShaderCoreBuiltinsPropertiesARM, VkPhysicalDeviceShaderCoreProperties2AMD, VkPhysicalDeviceShaderCorePropertiesAMD, VkPhysicalDeviceShaderCorePropertiesARM, VkPhysicalDeviceShaderEnqueuePropertiesAMDX, VkPhysicalDeviceShaderIntegerDotProductProperties, VkPhysicalDeviceShaderModuleIdentifierPropertiesEXT, VkPhysicalDeviceShaderObjectPropertiesEXT, VkPhysicalDeviceShaderSMBuiltinsPropertiesNV, VkPhysicalDeviceShaderTileImagePropertiesEXT, VkPhysicalDeviceShadingRateImagePropertiesNV, VkPhysicalDeviceSubgroupProperties, VkPhysicalDeviceSubgroupSizeControlProperties, VkPhysicalDeviceSubpassShadingPropertiesHUAWEI, VkPhysicalDeviceTexelBufferAlignmentProperties, VkPhysicalDeviceTimelineSemaphoreProperties, VkPhysicalDeviceTransformFeedbackPropertiesEXT, VkPhysicalDeviceVertexAttributeDivisorPropertiesEXT, VkPhysicalDeviceVertexAttributeDivisorPropertiesKHR, VkPhysicalDeviceVulkan11Properties, VkPhysicalDeviceVulkan12Properties, or VkPhysicalDeviceVulkan13Properties", "1.3-extensions"}, + {"VUID-VkPhysicalDeviceProperties2-pNext-pNext", "Each pNext member of any structure (including this one) in the pNext chain must be either NULL or a pointer to a valid instance of VkPhysicalDeviceAccelerationStructurePropertiesKHR, VkPhysicalDeviceBlendOperationAdvancedPropertiesEXT, VkPhysicalDeviceClusterCullingShaderPropertiesHUAWEI, VkPhysicalDeviceConservativeRasterizationPropertiesEXT, VkPhysicalDeviceCooperativeMatrixPropertiesKHR, VkPhysicalDeviceCooperativeMatrixPropertiesNV, VkPhysicalDeviceCopyMemoryIndirectPropertiesNV, VkPhysicalDeviceCudaKernelLaunchPropertiesNV, VkPhysicalDeviceCustomBorderColorPropertiesEXT, VkPhysicalDeviceDepthStencilResolveProperties, VkPhysicalDeviceDescriptorBufferDensityMapPropertiesEXT, VkPhysicalDeviceDescriptorBufferPropertiesEXT, VkPhysicalDeviceDescriptorIndexingProperties, VkPhysicalDeviceDeviceGeneratedCommandsPropertiesNV, VkPhysicalDeviceDiscardRectanglePropertiesEXT, VkPhysicalDeviceDisplacementMicromapPropertiesNV, VkPhysicalDeviceDriverProperties, VkPhysicalDeviceDrmPropertiesEXT, VkPhysicalDeviceExtendedDynamicState3PropertiesEXT, VkPhysicalDeviceExtendedSparseAddressSpacePropertiesNV, VkPhysicalDeviceExternalFormatResolvePropertiesANDROID, VkPhysicalDeviceExternalMemoryHostPropertiesEXT, VkPhysicalDeviceFloatControlsProperties, VkPhysicalDeviceFragmentDensityMap2PropertiesEXT, VkPhysicalDeviceFragmentDensityMapOffsetPropertiesQCOM, VkPhysicalDeviceFragmentDensityMapPropertiesEXT, VkPhysicalDeviceFragmentShaderBarycentricPropertiesKHR, VkPhysicalDeviceFragmentShadingRateEnumsPropertiesNV, VkPhysicalDeviceFragmentShadingRatePropertiesKHR, VkPhysicalDeviceGraphicsPipelineLibraryPropertiesEXT, VkPhysicalDeviceHostImageCopyPropertiesEXT, VkPhysicalDeviceIDProperties, VkPhysicalDeviceImageProcessing2PropertiesQCOM, VkPhysicalDeviceImageProcessingPropertiesQCOM, VkPhysicalDeviceInlineUniformBlockProperties, VkPhysicalDeviceLayeredDriverPropertiesMSFT, VkPhysicalDeviceLineRasterizationPropertiesKHR, VkPhysicalDeviceMaintenance3Properties, VkPhysicalDeviceMaintenance4Properties, VkPhysicalDeviceMaintenance5PropertiesKHR, VkPhysicalDeviceMaintenance6PropertiesKHR, VkPhysicalDeviceMemoryDecompressionPropertiesNV, VkPhysicalDeviceMeshShaderPropertiesEXT, VkPhysicalDeviceMeshShaderPropertiesNV, VkPhysicalDeviceMultiDrawPropertiesEXT, VkPhysicalDeviceMultiviewPerViewAttributesPropertiesNVX, VkPhysicalDeviceMultiviewProperties, VkPhysicalDeviceNestedCommandBufferPropertiesEXT, VkPhysicalDeviceOpacityMicromapPropertiesEXT, VkPhysicalDeviceOpticalFlowPropertiesNV, VkPhysicalDevicePCIBusInfoPropertiesEXT, VkPhysicalDevicePerformanceQueryPropertiesKHR, VkPhysicalDevicePipelineRobustnessPropertiesEXT, VkPhysicalDevicePointClippingProperties, VkPhysicalDevicePortabilitySubsetPropertiesKHR, VkPhysicalDeviceProtectedMemoryProperties, VkPhysicalDeviceProvokingVertexPropertiesEXT, VkPhysicalDevicePushDescriptorPropertiesKHR, VkPhysicalDeviceRayTracingInvocationReorderPropertiesNV, VkPhysicalDeviceRayTracingPipelinePropertiesKHR, VkPhysicalDeviceRayTracingPropertiesNV, VkPhysicalDeviceRenderPassStripedPropertiesARM, VkPhysicalDeviceRobustness2PropertiesEXT, VkPhysicalDeviceSampleLocationsPropertiesEXT, VkPhysicalDeviceSamplerFilterMinmaxProperties, VkPhysicalDeviceSchedulingControlsPropertiesARM, VkPhysicalDeviceShaderCoreBuiltinsPropertiesARM, VkPhysicalDeviceShaderCoreProperties2AMD, VkPhysicalDeviceShaderCorePropertiesAMD, VkPhysicalDeviceShaderCorePropertiesARM, VkPhysicalDeviceShaderEnqueuePropertiesAMDX, VkPhysicalDeviceShaderIntegerDotProductProperties, VkPhysicalDeviceShaderModuleIdentifierPropertiesEXT, VkPhysicalDeviceShaderObjectPropertiesEXT, VkPhysicalDeviceShaderSMBuiltinsPropertiesNV, VkPhysicalDeviceShaderTileImagePropertiesEXT, VkPhysicalDeviceShadingRateImagePropertiesNV, VkPhysicalDeviceSubgroupProperties, VkPhysicalDeviceSubgroupSizeControlProperties, VkPhysicalDeviceSubpassShadingPropertiesHUAWEI, VkPhysicalDeviceTexelBufferAlignmentProperties, VkPhysicalDeviceTimelineSemaphoreProperties, VkPhysicalDeviceTransformFeedbackPropertiesEXT, VkPhysicalDeviceVertexAttributeDivisorPropertiesEXT, VkPhysicalDeviceVertexAttributeDivisorPropertiesKHR, VkPhysicalDeviceVulkan11Properties, VkPhysicalDeviceVulkan12Properties, or VkPhysicalDeviceVulkan13Properties", "1.3-extensions"}, {"VUID-VkPhysicalDeviceProperties2-sType-sType", "sType must be VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PROPERTIES_2", "1.3-extensions"}, {"VUID-VkPhysicalDeviceProperties2-sType-unique", "The sType value of each struct in the pNext chain must be unique", "1.3-extensions"}, {"VUID-VkPhysicalDeviceProtectedMemoryFeatures-sType-sType", "sType must be VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PROTECTED_MEMORY_FEATURES", "1.3-extensions"}, @@ -4828,19 +4837,24 @@ static const vuid_spec_text_pair vuid_spec_text[] = { {"VUID-VkPhysicalDeviceShaderEarlyAndLateFragmentTestsFeaturesAMD-sType-sType", "sType must be VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_EARLY_AND_LATE_FRAGMENT_TESTS_FEATURES_AMD", "1.3-extensions"}, {"VUID-VkPhysicalDeviceShaderEnqueueFeaturesAMDX-sType-sType", "sType must be VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_ENQUEUE_FEATURES_AMDX", "1.3-extensions"}, {"VUID-VkPhysicalDeviceShaderEnqueuePropertiesAMDX-sType-sType", "sType must be VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_ENQUEUE_PROPERTIES_AMDX", "1.3-extensions"}, + {"VUID-VkPhysicalDeviceShaderExpectAssumeFeaturesKHR-sType-sType", "sType must be VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_EXPECT_ASSUME_FEATURES_KHR", "1.3-extensions"}, {"VUID-VkPhysicalDeviceShaderFloat16Int8Features-sType-sType", "sType must be VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_FLOAT16_INT8_FEATURES", "1.3-extensions"}, + {"VUID-VkPhysicalDeviceShaderFloatControls2FeaturesKHR-sType-sType", "sType must be VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_FLOAT_CONTROLS_2_FEATURES_KHR", "1.3-extensions"}, {"VUID-VkPhysicalDeviceShaderImageAtomicInt64FeaturesEXT-sType-sType", "sType must be VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_IMAGE_ATOMIC_INT64_FEATURES_EXT", "1.3-extensions"}, {"VUID-VkPhysicalDeviceShaderImageFootprintFeaturesNV-sType-sType", "sType must be VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_IMAGE_FOOTPRINT_FEATURES_NV", "1.3-extensions"}, {"VUID-VkPhysicalDeviceShaderIntegerDotProductFeatures-sType-sType", "sType must be VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_INTEGER_DOT_PRODUCT_FEATURES", "1.3-extensions"}, {"VUID-VkPhysicalDeviceShaderIntegerDotProductProperties-sType-sType", "sType must be VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_INTEGER_DOT_PRODUCT_PROPERTIES", "1.3-extensions"}, {"VUID-VkPhysicalDeviceShaderIntegerFunctions2FeaturesINTEL-sType-sType", "sType must be VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_INTEGER_FUNCTIONS_2_FEATURES_INTEL", "1.3-extensions"}, + {"VUID-VkPhysicalDeviceShaderMaximalReconvergenceFeaturesKHR-sType-sType", "sType must be VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_MAXIMAL_RECONVERGENCE_FEATURES_KHR", "1.3-extensions"}, {"VUID-VkPhysicalDeviceShaderModuleIdentifierFeaturesEXT-sType-sType", "sType must be VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_MODULE_IDENTIFIER_FEATURES_EXT", "1.3-extensions"}, {"VUID-VkPhysicalDeviceShaderModuleIdentifierPropertiesEXT-sType-sType", "sType must be VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_MODULE_IDENTIFIER_PROPERTIES_EXT", "1.3-extensions"}, {"VUID-VkPhysicalDeviceShaderObjectFeaturesEXT-sType-sType", "sType must be VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_OBJECT_FEATURES_EXT", "1.3-extensions"}, {"VUID-VkPhysicalDeviceShaderObjectPropertiesEXT-sType-sType", "sType must be VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_OBJECT_PROPERTIES_EXT", "1.3-extensions"}, + {"VUID-VkPhysicalDeviceShaderQuadControlFeaturesKHR-sType-sType", "sType must be VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_QUAD_CONTROL_FEATURES_KHR", "1.3-extensions"}, {"VUID-VkPhysicalDeviceShaderSMBuiltinsFeaturesNV-sType-sType", "sType must be VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_SM_BUILTINS_FEATURES_NV", "1.3-extensions"}, {"VUID-VkPhysicalDeviceShaderSMBuiltinsPropertiesNV-sType-sType", "sType must be VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_SM_BUILTINS_PROPERTIES_NV", "1.3-extensions"}, {"VUID-VkPhysicalDeviceShaderSubgroupExtendedTypesFeatures-sType-sType", "sType must be VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_SUBGROUP_EXTENDED_TYPES_FEATURES", "1.3-extensions"}, + {"VUID-VkPhysicalDeviceShaderSubgroupRotateFeaturesKHR-sType-sType", "sType must be VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_SUBGROUP_ROTATE_FEATURES_KHR", "1.3-extensions"}, {"VUID-VkPhysicalDeviceShaderSubgroupUniformControlFlowFeaturesKHR-sType-sType", "sType must be VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_SUBGROUP_UNIFORM_CONTROL_FLOW_FEATURES_KHR", "1.3-extensions"}, {"VUID-VkPhysicalDeviceShaderTerminateInvocationFeatures-sType-sType", "sType must be VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_TERMINATE_INVOCATION_FEATURES", "1.3-extensions"}, {"VUID-VkPhysicalDeviceShaderTileImageFeaturesEXT-sType-sType", "sType must be VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_TILE_IMAGE_FEATURES_EXT", "1.3-extensions"}, @@ -4850,7 +4864,7 @@ static const vuid_spec_text_pair vuid_spec_text[] = { {"VUID-VkPhysicalDeviceSparseImageFormatInfo2-format-parameter", "format must be a valid VkFormat value", "1.3-extensions"}, {"VUID-VkPhysicalDeviceSparseImageFormatInfo2-pNext-pNext", "pNext must be NULL", "1.3-extensions"}, {"VUID-VkPhysicalDeviceSparseImageFormatInfo2-sType-sType", "sType must be VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SPARSE_IMAGE_FORMAT_INFO_2", "1.3-extensions"}, - {"VUID-VkPhysicalDeviceSparseImageFormatInfo2-samples-01095", "samples must be a valid VkSampleCountFlagBits value that is set in VkImageFormatProperties::sampleCounts returned by vkGetPhysicalDeviceImageFormatProperties with format, type, tiling, and usage equal to those in this command and flags equal to the value that is set in VkImageCreateInfo::flags when the image is created", "1.3-extensions"}, + {"VUID-VkPhysicalDeviceSparseImageFormatInfo2-samples-01095", "samples must be a valid VkSampleCountFlagBits value that is set in VkImageFormatProperties::sampleCounts returned by vkGetPhysicalDeviceImageFormatProperties with format, type, tiling, and usage equal to those in this command", "1.3-extensions"}, {"VUID-VkPhysicalDeviceSparseImageFormatInfo2-samples-parameter", "samples must be a valid VkSampleCountFlagBits value", "1.3-extensions"}, {"VUID-VkPhysicalDeviceSparseImageFormatInfo2-tiling-parameter", "tiling must be a valid VkImageTiling value", "1.3-extensions"}, {"VUID-VkPhysicalDeviceSparseImageFormatInfo2-type-parameter", "type must be a valid VkImageType value", "1.3-extensions"}, @@ -5104,15 +5118,15 @@ static const vuid_spec_text_pair vuid_spec_text[] = { {"VUID-VkPipelineRasterizationConservativeStateCreateInfoEXT-sType-sType", "sType must be VK_STRUCTURE_TYPE_PIPELINE_RASTERIZATION_CONSERVATIVE_STATE_CREATE_INFO_EXT", "1.3-extensions"}, {"VUID-VkPipelineRasterizationDepthClipStateCreateInfoEXT-flags-zerobitmask", "flags must be 0", "1.3-extensions"}, {"VUID-VkPipelineRasterizationDepthClipStateCreateInfoEXT-sType-sType", "sType must be VK_STRUCTURE_TYPE_PIPELINE_RASTERIZATION_DEPTH_CLIP_STATE_CREATE_INFO_EXT", "1.3-extensions"}, - {"VUID-VkPipelineRasterizationLineStateCreateInfoEXT-lineRasterizationMode-02768", "If lineRasterizationMode is VK_LINE_RASTERIZATION_MODE_RECTANGULAR_EXT, then the rectangularLines feature must be enabled", "1.3-extensions"}, - {"VUID-VkPipelineRasterizationLineStateCreateInfoEXT-lineRasterizationMode-02769", "If lineRasterizationMode is VK_LINE_RASTERIZATION_MODE_BRESENHAM_EXT, then the bresenhamLines feature must be enabled", "1.3-extensions"}, - {"VUID-VkPipelineRasterizationLineStateCreateInfoEXT-lineRasterizationMode-02770", "If lineRasterizationMode is VK_LINE_RASTERIZATION_MODE_RECTANGULAR_SMOOTH_EXT, then the smoothLines feature must be enabled", "1.3-extensions"}, - {"VUID-VkPipelineRasterizationLineStateCreateInfoEXT-lineRasterizationMode-parameter", "lineRasterizationMode must be a valid VkLineRasterizationModeEXT value", "1.3-extensions"}, - {"VUID-VkPipelineRasterizationLineStateCreateInfoEXT-sType-sType", "sType must be VK_STRUCTURE_TYPE_PIPELINE_RASTERIZATION_LINE_STATE_CREATE_INFO_EXT", "1.3-extensions"}, - {"VUID-VkPipelineRasterizationLineStateCreateInfoEXT-stippledLineEnable-02771", "If stippledLineEnable is VK_TRUE and lineRasterizationMode is VK_LINE_RASTERIZATION_MODE_RECTANGULAR_EXT, then the stippledRectangularLines feature must be enabled", "1.3-extensions"}, - {"VUID-VkPipelineRasterizationLineStateCreateInfoEXT-stippledLineEnable-02772", "If stippledLineEnable is VK_TRUE and lineRasterizationMode is VK_LINE_RASTERIZATION_MODE_BRESENHAM_EXT, then the stippledBresenhamLines feature must be enabled", "1.3-extensions"}, - {"VUID-VkPipelineRasterizationLineStateCreateInfoEXT-stippledLineEnable-02773", "If stippledLineEnable is VK_TRUE and lineRasterizationMode is VK_LINE_RASTERIZATION_MODE_RECTANGULAR_SMOOTH_EXT, then the stippledSmoothLines feature must be enabled", "1.3-extensions"}, - {"VUID-VkPipelineRasterizationLineStateCreateInfoEXT-stippledLineEnable-02774", "If stippledLineEnable is VK_TRUE and lineRasterizationMode is VK_LINE_RASTERIZATION_MODE_DEFAULT_EXT, then the stippledRectangularLines feature must be enabled and VkPhysicalDeviceLimits::strictLines must be VK_TRUE", "1.3-extensions"}, + {"VUID-VkPipelineRasterizationLineStateCreateInfoEXT-lineRasterizationMode-02768", "If lineRasterizationMode is VK_LINE_RASTERIZATION_MODE_RECTANGULAR_KHR, then the rectangularLines feature must be enabled", "1.3-extensions"}, + {"VUID-VkPipelineRasterizationLineStateCreateInfoEXT-lineRasterizationMode-02769", "If lineRasterizationMode is VK_LINE_RASTERIZATION_MODE_BRESENHAM_KHR, then the bresenhamLines feature must be enabled", "1.3-extensions"}, + {"VUID-VkPipelineRasterizationLineStateCreateInfoEXT-lineRasterizationMode-02770", "If lineRasterizationMode is VK_LINE_RASTERIZATION_MODE_RECTANGULAR_SMOOTH_KHR, then the smoothLines feature must be enabled", "1.3-extensions"}, + {"VUID-VkPipelineRasterizationLineStateCreateInfoEXT-stippledLineEnable-02771", "If stippledLineEnable is VK_TRUE and lineRasterizationMode is VK_LINE_RASTERIZATION_MODE_RECTANGULAR_KHR, then the stippledRectangularLines feature must be enabled", "1.3-extensions"}, + {"VUID-VkPipelineRasterizationLineStateCreateInfoEXT-stippledLineEnable-02772", "If stippledLineEnable is VK_TRUE and lineRasterizationMode is VK_LINE_RASTERIZATION_MODE_BRESENHAM_KHR, then the stippledBresenhamLines feature must be enabled", "1.3-extensions"}, + {"VUID-VkPipelineRasterizationLineStateCreateInfoEXT-stippledLineEnable-02773", "If stippledLineEnable is VK_TRUE and lineRasterizationMode is VK_LINE_RASTERIZATION_MODE_RECTANGULAR_SMOOTH_KHR, then the stippledSmoothLines feature must be enabled", "1.3-extensions"}, + {"VUID-VkPipelineRasterizationLineStateCreateInfoEXT-stippledLineEnable-02774", "If stippledLineEnable is VK_TRUE and lineRasterizationMode is VK_LINE_RASTERIZATION_MODE_DEFAULT_KHR, then the stippledRectangularLines feature must be enabled and VkPhysicalDeviceLimits::strictLines must be VK_TRUE", "1.3-extensions"}, + {"VUID-VkPipelineRasterizationLineStateCreateInfoKHR-lineRasterizationMode-parameter", "lineRasterizationMode must be a valid VkLineRasterizationModeKHR value", "1.3-extensions"}, + {"VUID-VkPipelineRasterizationLineStateCreateInfoKHR-sType-sType", "sType must be VK_STRUCTURE_TYPE_PIPELINE_RASTERIZATION_LINE_STATE_CREATE_INFO_KHR", "1.3-extensions"}, {"VUID-VkPipelineRasterizationProvokingVertexStateCreateInfoEXT-provokingVertexMode-04883", "If provokingVertexMode is VK_PROVOKING_VERTEX_MODE_LAST_VERTEX_EXT, then the provokingVertexLast feature must be enabled", "1.3-extensions"}, {"VUID-VkPipelineRasterizationProvokingVertexStateCreateInfoEXT-provokingVertexMode-parameter", "provokingVertexMode must be a valid VkProvokingVertexModeEXT value", "1.3-extensions"}, {"VUID-VkPipelineRasterizationProvokingVertexStateCreateInfoEXT-sType-sType", "sType must be VK_STRUCTURE_TYPE_PIPELINE_RASTERIZATION_PROVOKING_VERTEX_STATE_CREATE_INFO_EXT", "1.3-extensions"}, @@ -5120,7 +5134,7 @@ static const vuid_spec_text_pair vuid_spec_text[] = { {"VUID-VkPipelineRasterizationStateCreateInfo-depthClampEnable-00782", "If the depthClamp feature is not enabled, depthClampEnable must be VK_FALSE", "1.3-extensions"}, {"VUID-VkPipelineRasterizationStateCreateInfo-flags-zerobitmask", "flags must be 0", "1.3-extensions"}, {"VUID-VkPipelineRasterizationStateCreateInfo-frontFace-parameter", "frontFace must be a valid VkFrontFace value", "1.3-extensions"}, - {"VUID-VkPipelineRasterizationStateCreateInfo-pNext-pNext", "Each pNext member of any structure (including this one) in the pNext chain must be either NULL or a pointer to a valid instance of VkDepthBiasRepresentationInfoEXT, VkPipelineRasterizationConservativeStateCreateInfoEXT, VkPipelineRasterizationDepthClipStateCreateInfoEXT, VkPipelineRasterizationLineStateCreateInfoEXT, VkPipelineRasterizationProvokingVertexStateCreateInfoEXT, VkPipelineRasterizationStateRasterizationOrderAMD, or VkPipelineRasterizationStateStreamCreateInfoEXT", "1.3-extensions"}, + {"VUID-VkPipelineRasterizationStateCreateInfo-pNext-pNext", "Each pNext member of any structure (including this one) in the pNext chain must be either NULL or a pointer to a valid instance of VkDepthBiasRepresentationInfoEXT, VkPipelineRasterizationConservativeStateCreateInfoEXT, VkPipelineRasterizationDepthClipStateCreateInfoEXT, VkPipelineRasterizationLineStateCreateInfoKHR, VkPipelineRasterizationProvokingVertexStateCreateInfoEXT, VkPipelineRasterizationStateRasterizationOrderAMD, or VkPipelineRasterizationStateStreamCreateInfoEXT", "1.3-extensions"}, {"VUID-VkPipelineRasterizationStateCreateInfo-pointPolygons-04458", "If the VK_KHR_portability_subset extension is enabled, and VkPhysicalDevicePortabilitySubsetFeaturesKHR::pointPolygons is VK_FALSE, and rasterizerDiscardEnable is VK_FALSE, polygonMode must not be VK_POLYGON_MODE_POINT", "1.3-extensions"}, {"VUID-VkPipelineRasterizationStateCreateInfo-polygonMode-01414", "If the VK_NV_fill_rectangle extension is not enabled, polygonMode must not be VK_POLYGON_MODE_FILL_RECTANGLE_NV", "1.3-extensions"}, {"VUID-VkPipelineRasterizationStateCreateInfo-polygonMode-01507", "If the fillModeNonSolid feature is not enabled, polygonMode must be VK_POLYGON_MODE_FILL or VK_POLYGON_MODE_FILL_RECTANGLE_NV", "1.3-extensions"}, @@ -5134,6 +5148,7 @@ static const vuid_spec_text_pair vuid_spec_text[] = { {"VUID-VkPipelineRasterizationStateStreamCreateInfoEXT-rasterizationStream-02325", "rasterizationStream must be less than VkPhysicalDeviceTransformFeedbackPropertiesEXT::maxTransformFeedbackStreams", "1.3-extensions"}, {"VUID-VkPipelineRasterizationStateStreamCreateInfoEXT-rasterizationStream-02326", "rasterizationStream must be zero if VkPhysicalDeviceTransformFeedbackPropertiesEXT::transformFeedbackRasterizationStreamSelect is VK_FALSE", "1.3-extensions"}, {"VUID-VkPipelineRasterizationStateStreamCreateInfoEXT-sType-sType", "sType must be VK_STRUCTURE_TYPE_PIPELINE_RASTERIZATION_STATE_STREAM_CREATE_INFO_EXT", "1.3-extensions"}, + {"VUID-VkPipelineRenderingCreateInfo-colorAttachmentCount-09533", "colorAttachmentCount must be less than or equal to maxColorAttachments", "1.3-extensions"}, {"VUID-VkPipelineRenderingCreateInfo-sType-sType", "sType must be VK_STRUCTURE_TYPE_PIPELINE_RENDERING_CREATE_INFO", "1.3-extensions"}, {"VUID-VkPipelineRepresentativeFragmentTestStateCreateInfoNV-sType-sType", "sType must be VK_STRUCTURE_TYPE_PIPELINE_REPRESENTATIVE_FRAGMENT_TEST_STATE_CREATE_INFO_NV", "1.3-extensions"}, {"VUID-VkPipelineRobustnessCreateInfoEXT-images-parameter", "images must be a valid VkPipelineRobustnessImageBehaviorEXT value", "1.3-extensions"}, @@ -5160,7 +5175,7 @@ static const vuid_spec_text_pair vuid_spec_text[] = { {"VUID-VkPipelineShaderStageCreateInfo-flags-08988", "If flags includes VK_PIPELINE_SHADER_STAGE_CREATE_REQUIRE_FULL_SUBGROUPS_BIT, stage must be one of VK_SHADER_STAGE_MESH_BIT_EXT, VK_SHADER_STAGE_TASK_BIT_EXT, or VK_SHADER_STAGE_COMPUTE_BIT", "1.3-extensions"}, {"VUID-VkPipelineShaderStageCreateInfo-flags-parameter", "flags must be a valid combination of VkPipelineShaderStageCreateFlagBits values", "1.3-extensions"}, {"VUID-VkPipelineShaderStageCreateInfo-maxClipDistances-00708", "If the identified entry point includes any variable in its interface that is declared with the ClipDistance BuiltIn decoration, that variable must not have an array size greater than VkPhysicalDeviceLimits::maxClipDistances", "1.3-extensions"}, - {"VUID-VkPipelineShaderStageCreateInfo-maxCombinedClipAndCullDistances-00710", "If the identified entry point includes any variables in its interface that are declared with the ClipDistance or CullDistance BuiltIn decoration, those variables must not have array sizes which sum to more than VkPhysicalDeviceLimits::maxCombinedClipAndCullDistances", "1.3-extensions"}, + {"VUID-VkPipelineShaderStageCreateInfo-maxCombinedClipAndCullDistances-00710", "If the identified entry point includes variables in its interface that are declared with the ClipDistance BuiltIn decoration and variables in its interface that are declared with the CullDistance BuiltIn decoration, those variables must not have array sizes which sum to more than VkPhysicalDeviceLimits::maxCombinedClipAndCullDistances", "1.3-extensions"}, {"VUID-VkPipelineShaderStageCreateInfo-maxCullDistances-00709", "If the identified entry point includes any variable in its interface that is declared with the CullDistance BuiltIn decoration, that variable must not have an array size greater than VkPhysicalDeviceLimits::maxCullDistances", "1.3-extensions"}, {"VUID-VkPipelineShaderStageCreateInfo-maxSampleMaskWords-00711", "If the identified entry point includes any variable in its interface that is declared with the SampleMask BuiltIn decoration, that variable must not have an array size greater than VkPhysicalDeviceLimits::maxSampleMaskWords", "1.3-extensions"}, {"VUID-VkPipelineShaderStageCreateInfo-module-08987", "If module uses the OpTypeCooperativeMatrixKHR instruction with a Scope equal to Subgroup, then the local workgroup size in the X dimension of the pipeline must be a multiple of subgroupSize.", "1.3-extensions"}, @@ -5360,6 +5375,7 @@ static const vuid_spec_text_pair vuid_spec_text[] = { {"VUID-VkQueryPoolCreateInfo-queryType-07133", "If queryType is VK_QUERY_TYPE_VIDEO_ENCODE_FEEDBACK_KHR, then the pNext chain must include a VkVideoProfileInfoKHR structure with videoCodecOperation specifying an encode operation", "1.3-extensions"}, {"VUID-VkQueryPoolCreateInfo-queryType-07906", "If queryType is VK_QUERY_TYPE_VIDEO_ENCODE_FEEDBACK_KHR, then the pNext chain must include a VkQueryPoolVideoEncodeFeedbackCreateInfoKHR structure", "1.3-extensions"}, {"VUID-VkQueryPoolCreateInfo-queryType-07907", "If queryType is VK_QUERY_TYPE_VIDEO_ENCODE_FEEDBACK_KHR, and the pNext chain includes a VkVideoProfileInfoKHR structure and a VkQueryPoolVideoEncodeFeedbackCreateInfoKHR structure, then VkQueryPoolVideoEncodeFeedbackCreateInfoKHR::encodeFeedbackFlags must not contain any bits that are not set in VkVideoEncodeCapabilitiesKHR::supportedEncodeFeedbackFlags, as returned by vkGetPhysicalDeviceVideoCapabilitiesKHR for the video profile described by VkVideoProfileInfoKHR and its pNext chain", "1.3-extensions"}, + {"VUID-VkQueryPoolCreateInfo-queryType-09534", "If queryType is VK_QUERY_TYPE_PIPELINE_STATISTICS, pipelineStatistics must not be zero", "1.3-extensions"}, {"VUID-VkQueryPoolCreateInfo-queryType-parameter", "queryType must be a valid VkQueryType value", "1.3-extensions"}, {"VUID-VkQueryPoolCreateInfo-sType-sType", "sType must be VK_STRUCTURE_TYPE_QUERY_POOL_CREATE_INFO", "1.3-extensions"}, {"VUID-VkQueryPoolCreateInfo-sType-unique", "The sType value of each struct in the pNext chain must be unique", "1.3-extensions"}, @@ -5537,9 +5553,10 @@ static const vuid_spec_text_pair vuid_spec_text[] = { {"VUID-VkRenderPassBeginInfo-pNext-02857", "If the pNext chain contains VkDeviceGroupRenderPassBeginInfo, offset.y + extent.height of each element of pDeviceRenderAreas must be less than or equal to VkFramebufferCreateInfo::height the framebuffer was created with", "1.3-extensions"}, {"VUID-VkRenderPassBeginInfo-pNext-02869", "If the pNext chain includes VkRenderPassTransformBeginInfoQCOM, renderArea.offset must equal (0,0)", "1.3-extensions"}, {"VUID-VkRenderPassBeginInfo-pNext-02870", "If the pNext chain includes VkRenderPassTransformBeginInfoQCOM, renderArea.extent transformed by VkRenderPassTransformBeginInfoQCOM::transform must equal the framebuffer dimensions", "1.3-extensions"}, + {"VUID-VkRenderPassBeginInfo-pNext-09539", "If the pNext chain contains a VkRenderPassStripeBeginInfoARM structure, the union of stripe areas defined by the elements of VkRenderPassStripeInfoARM::pStripeInfos must cover the renderArea", "1.3-extensions"}, {"VUID-VkRenderPassBeginInfo-pNext-pNext", "Each pNext member of any structure (including this one) in the pNext chain must be either NULL or a pointer to a valid instance of VkDeviceGroupRenderPassBeginInfo, VkMultiviewPerViewRenderAreasRenderPassBeginInfoQCOM, VkRenderPassAttachmentBeginInfo, VkRenderPassSampleLocationsBeginInfoEXT, VkRenderPassStripeBeginInfoARM, or VkRenderPassTransformBeginInfoQCOM", "1.3-extensions"}, {"VUID-VkRenderPassBeginInfo-perViewRenderAreaCount-07859", "If the perViewRenderAreaCount member of a VkMultiviewPerViewRenderAreasRenderPassBeginInfoQCOM structure included in the pNext chain is not 0, then the multiviewPerViewRenderAreas feature must be enabled.", "1.3-extensions"}, - {"VUID-VkRenderPassBeginInfo-perViewRenderAreaCount-07860", "If the perViewRenderAreaCount member of a VkMultiviewPerViewRenderAreasRenderPassBeginInfoQCOM structure included in the pNext chain is not 0, then renderArea must specify a render area that includes the union of all per view render areas. If the pNext chain contains a VkRenderPassStripeBeginInfoARM structure, the union of stripe areas defined by the elements of VkRenderPassStripeInfoARM::pStripeInfos must cover the renderArea", "1.3-extensions"}, + {"VUID-VkRenderPassBeginInfo-perViewRenderAreaCount-07860", "If the perViewRenderAreaCount member of a VkMultiviewPerViewRenderAreasRenderPassBeginInfoQCOM structure included in the pNext chain is not 0, then renderArea must specify a render area that includes the union of all per view render areas.", "1.3-extensions"}, {"VUID-VkRenderPassBeginInfo-renderPass-00904", "renderPass must be compatible with the renderPass member of the VkFramebufferCreateInfo structure specified when creating framebuffer", "1.3-extensions"}, {"VUID-VkRenderPassBeginInfo-renderPass-parameter", "renderPass must be a valid VkRenderPass handle", "1.3-extensions"}, {"VUID-VkRenderPassBeginInfo-sType-sType", "sType must be VK_STRUCTURE_TYPE_RENDER_PASS_BEGIN_INFO", "1.3-extensions"}, @@ -5693,6 +5710,11 @@ static const vuid_spec_text_pair vuid_spec_text[] = { {"VUID-VkRenderingAttachmentInfo-resolveMode-parameter", "If resolveMode is not 0, resolveMode must be a valid VkResolveModeFlagBits value", "1.3-extensions"}, {"VUID-VkRenderingAttachmentInfo-sType-sType", "sType must be VK_STRUCTURE_TYPE_RENDERING_ATTACHMENT_INFO", "1.3-extensions"}, {"VUID-VkRenderingAttachmentInfo-storeOp-parameter", "storeOp must be a valid VkAttachmentStoreOp value", "1.3-extensions"}, + {"VUID-VkRenderingAttachmentLocationInfoKHR-colorAttachmentCount-09514", "colorAttachmentCount must be less than or equal to maxColorAttachments", "1.3-extensions"}, + {"VUID-VkRenderingAttachmentLocationInfoKHR-dynamicRenderingLocalRead-09512", "If the dynamicRenderingLocalRead feature is not enabled, and pColorAttachmentLocations is not NULL, each element must be set to the value of its index within the array", "1.3-extensions"}, + {"VUID-VkRenderingAttachmentLocationInfoKHR-pColorAttachmentLocations-09513", "Elements of pColorAttachmentLocations that are not VK_ATTACHMENT_UNUSED must each be unique", "1.3-extensions"}, + {"VUID-VkRenderingAttachmentLocationInfoKHR-pColorAttachmentLocations-09515", "Each element of pColorAttachmentLocations must be less than or equal to maxColorAttachments", "1.3-extensions"}, + {"VUID-VkRenderingAttachmentLocationInfoKHR-sType-sType", "sType must be VK_STRUCTURE_TYPE_RENDERING_ATTACHMENT_LOCATION_INFO_KHR", "1.3-extensions"}, {"VUID-VkRenderingFragmentDensityMapAttachmentInfoEXT-apiVersion-07908", "If VK_KHR_multiview is not enabled, VkPhysicalDeviceProperties::apiVersion is less than Vulkan 1.1, and imageView is not VK_NULL_HANDLE, it must have a layerCount equal to 1", "1.3-extensions"}, {"VUID-VkRenderingFragmentDensityMapAttachmentInfoEXT-imageLayout-parameter", "imageLayout must be a valid VkImageLayout value", "1.3-extensions"}, {"VUID-VkRenderingFragmentDensityMapAttachmentInfoEXT-imageView-06157", "If imageView is not VK_NULL_HANDLE, layout must be VK_IMAGE_LAYOUT_GENERAL or VK_IMAGE_LAYOUT_FRAGMENT_DENSITY_MAP_OPTIMAL_EXT", "1.3-extensions"}, @@ -5780,6 +5802,7 @@ static const vuid_spec_text_pair vuid_spec_text[] = { {"VUID-VkRenderingInfo-pNext-06122", "If the pNext chain contains a VkDeviceGroupRenderPassBeginInfo structure, its deviceRenderAreaCount member is not 0, and the imageView member of a VkRenderingFragmentShadingRateAttachmentInfoKHR structure included in the pNext chain is not VK_NULL_HANDLE, imageView must have a height greater than or equal to \\(\\left\\lceil{\\frac{pDeviceRenderAreas_{y}+pDeviceRenderAreas_{height}}{shadingRateAttachmentTexelSize_{height}}}\\right\\rceil\\) for each element of pDeviceRenderAreas", "1.3-extensions"}, {"VUID-VkRenderingInfo-pNext-07815", "If the pNext chain does not contain VkDeviceGroupRenderPassBeginInfo or its deviceRenderAreaCount member is equal to 0, the sum of renderArea.extent.width and renderArea.offset.x must be less than or equal to maxFramebufferWidth", "1.3-extensions"}, {"VUID-VkRenderingInfo-pNext-07816", "If the pNext chain does not contain VkDeviceGroupRenderPassBeginInfo or its deviceRenderAreaCount member is equal to 0, the sum of renderArea.extent.height and renderArea.offset.y must be less than or equal to maxFramebufferHeight", "1.3-extensions"}, + {"VUID-VkRenderingInfo-pNext-09535", "If the pNext chain contains a VkRenderPassStripeBeginInfoARM structure, the union of stripe areas defined by the elements of VkRenderPassStripeInfoARM::pStripeInfos must cover the renderArea", "1.3-extensions"}, {"VUID-VkRenderingInfo-pNext-pNext", "Each pNext member of any structure (including this one) in the pNext chain must be either NULL or a pointer to a valid instance of VkDeviceGroupRenderPassBeginInfo, VkMultisampledRenderToSingleSampledInfoEXT, VkMultiviewPerViewAttributesInfoNVX, VkMultiviewPerViewRenderAreasRenderPassBeginInfoQCOM, VkRenderPassStripeBeginInfoARM, VkRenderingFragmentDensityMapAttachmentInfoEXT, or VkRenderingFragmentShadingRateAttachmentInfoKHR", "1.3-extensions"}, {"VUID-VkRenderingInfo-pStencilAttachment-06089", "If pStencilAttachment is not NULL and pStencilAttachment->imageView is not VK_NULL_HANDLE, pStencilAttachment->imageView must have been created with a stencil usage including VK_IMAGE_USAGE_DEPTH_STENCIL_ATTACHMENT_BIT", "1.3-extensions"}, {"VUID-VkRenderingInfo-pStencilAttachment-06094", "If pStencilAttachment is not NULL and pStencilAttachment->imageView is not VK_NULL_HANDLE, pStencilAttachment->layout must not be VK_IMAGE_LAYOUT_COLOR_ATTACHMENT_OPTIMAL", "1.3-extensions"}, @@ -5797,11 +5820,22 @@ static const vuid_spec_text_pair vuid_spec_text[] = { {"VUID-VkRenderingInfo-perViewRenderAreaCount-07857", "If the perViewRenderAreaCount member of a VkMultiviewPerViewRenderAreasRenderPassBeginInfoQCOM structure included in the pNext chain is not 0, then the multiviewPerViewRenderAreas feature must be enabled.", "1.3-extensions"}, {"VUID-VkRenderingInfo-perViewRenderAreaCount-07858", "If the perViewRenderAreaCount member of a VkMultiviewPerViewRenderAreasRenderPassBeginInfoQCOM structure included in the pNext chain is not 0, then renderArea must specify a render area that includes the union of all per view render areas.", "1.3-extensions"}, {"VUID-VkRenderingInfo-resolveMode-09321", "If the resolveMode of any element of pColorAttachments is VK_RESOLVE_MODE_EXTERNAL_FORMAT_DOWNSAMPLE_ANDROID, VkRenderingFragmentDensityMapAttachmentInfoEXT::imageView must be VK_NULL_HANDLE", "1.3-extensions"}, - {"VUID-VkRenderingInfo-resolveMode-09322", "If the resolveMode of any element of pColorAttachments is VK_RESOLVE_MODE_EXTERNAL_FORMAT_DOWNSAMPLE_ANDROID, VkRenderingFragmentShadingRateAttachmentInfoKHR::imageView must be VK_NULL_HANDLE If the pNext chain contains a VkRenderPassStripeBeginInfoARM structure, the union of stripe areas defined by the elements of VkRenderPassStripeInfoARM::pStripeInfos must cover the renderArea", "1.3-extensions"}, + {"VUID-VkRenderingInfo-resolveMode-09322", "If the resolveMode of any element of pColorAttachments is VK_RESOLVE_MODE_EXTERNAL_FORMAT_DOWNSAMPLE_ANDROID, VkRenderingFragmentShadingRateAttachmentInfoKHR::imageView must be VK_NULL_HANDLE", "1.3-extensions"}, {"VUID-VkRenderingInfo-sType-sType", "sType must be VK_STRUCTURE_TYPE_RENDERING_INFO", "1.3-extensions"}, {"VUID-VkRenderingInfo-sType-unique", "The sType value of each struct in the pNext chain must be unique", "1.3-extensions"}, {"VUID-VkRenderingInfo-viewMask-06069", "If viewMask is 0, layerCount must not be 0", "1.3-extensions"}, {"VUID-VkRenderingInfo-viewMask-06128", "The index of the most significant bit in viewMask must be less than maxMultiviewViewCount", "1.3-extensions"}, + {"VUID-VkRenderingInputAttachmentIndexInfoKHR-colorAttachmentCount-09525", "colorAttachmentCount must be less than or equal to maxColorAttachments", "1.3-extensions"}, + {"VUID-VkRenderingInputAttachmentIndexInfoKHR-dynamicRenderingLocalRead-09519", "If the dynamicRenderingLocalRead feature is not enabled, and pColorAttachmentInputIndices is not NULL, each element must be set to VK_ATTACHMENT_UNUSED", "1.3-extensions"}, + {"VUID-VkRenderingInputAttachmentIndexInfoKHR-dynamicRenderingLocalRead-09520", "If the dynamicRenderingLocalRead feature is not enabled, pDepthInputAttachmentIndex must be a valid pointer to a value of VK_ATTACHMENT_UNUSED", "1.3-extensions"}, + {"VUID-VkRenderingInputAttachmentIndexInfoKHR-dynamicRenderingLocalRead-09521", "If the dynamicRenderingLocalRead feature is not enabled, pStencilInputAttachmentIndex must be a valid pointer to a value of VK_ATTACHMENT_UNUSED", "1.3-extensions"}, + {"VUID-VkRenderingInputAttachmentIndexInfoKHR-pColorAttachmentInputIndices-09522", "Elements of pColorAttachmentInputIndices that are not VK_ATTACHMENT_UNUSED must each be unique", "1.3-extensions"}, + {"VUID-VkRenderingInputAttachmentIndexInfoKHR-pColorAttachmentInputIndices-09523", "Elements of pColorAttachmentInputIndices that are not VK_ATTACHMENT_UNUSED must not take the same value as the content of pDepthInputAttachmentIndex", "1.3-extensions"}, + {"VUID-VkRenderingInputAttachmentIndexInfoKHR-pColorAttachmentInputIndices-09524", "Elements of pColorAttachmentInputIndices that are not VK_ATTACHMENT_UNUSED must not take the same value as the content of pStencilInputAttachmentIndex", "1.3-extensions"}, + {"VUID-VkRenderingInputAttachmentIndexInfoKHR-pColorAttachmentInputIndices-parameter", "If colorAttachmentCount is not 0, and pColorAttachmentInputIndices is not NULL, pColorAttachmentInputIndices must be a valid pointer to an array of colorAttachmentCount uint32_t values", "1.3-extensions"}, + {"VUID-VkRenderingInputAttachmentIndexInfoKHR-pDepthInputAttachmentIndex-parameter", "If pDepthInputAttachmentIndex is not NULL, pDepthInputAttachmentIndex must be a valid pointer to a valid uint32_t value", "1.3-extensions"}, + {"VUID-VkRenderingInputAttachmentIndexInfoKHR-pStencilInputAttachmentIndex-parameter", "If pStencilInputAttachmentIndex is not NULL, pStencilInputAttachmentIndex must be a valid pointer to a valid uint32_t value", "1.3-extensions"}, + {"VUID-VkRenderingInputAttachmentIndexInfoKHR-sType-sType", "sType must be VK_STRUCTURE_TYPE_RENDERING_INPUT_ATTACHMENT_INDEX_INFO_KHR", "1.3-extensions"}, {"VUID-VkResolveImageInfo2-commonparent", "Both of dstImage, and srcImage must have been created, allocated, or retrieved from the same VkDevice", "1.3-extensions"}, {"VUID-VkResolveImageInfo2-dstImage-00258", "If dstImage is non-sparse then it must be bound completely and contiguously to a single VkDeviceMemory object", "1.3-extensions"}, {"VUID-VkResolveImageInfo2-dstImage-00259", "dstImage must have a sample count equal to VK_SAMPLE_COUNT_1_BIT", "1.3-extensions"}, @@ -6083,7 +6117,7 @@ static const vuid_spec_text_pair vuid_spec_text[] = { {"VUID-VkShaderCreateInfoEXT-nextStage-parameter", "nextStage must be a valid combination of VkShaderStageFlagBits values", "1.3-extensions"}, {"VUID-VkShaderCreateInfoEXT-pCode-08448", "If codeType is VK_SHADER_CODE_TYPE_SPIRV_EXT, and the identified entry point includes any variable in its interface that is declared with the ClipDistance BuiltIn decoration, that variable must not have an array size greater than VkPhysicalDeviceLimits::maxClipDistances", "1.3-extensions"}, {"VUID-VkShaderCreateInfoEXT-pCode-08449", "If codeType is VK_SHADER_CODE_TYPE_SPIRV_EXT, and the identified entry point includes any variable in its interface that is declared with the CullDistance BuiltIn decoration, that variable must not have an array size greater than VkPhysicalDeviceLimits::maxCullDistances", "1.3-extensions"}, - {"VUID-VkShaderCreateInfoEXT-pCode-08450", "If codeType is VK_SHADER_CODE_TYPE_SPIRV_EXT, and the identified entry point includes any variables in its interface that are declared with the ClipDistance or CullDistance BuiltIn decoration, those variables must not have array sizes which sum to more than VkPhysicalDeviceLimits::maxCombinedClipAndCullDistances", "1.3-extensions"}, + {"VUID-VkShaderCreateInfoEXT-pCode-08450", "If codeType is VK_SHADER_CODE_TYPE_SPIRV_EXT, and the identified entry point includes variables in its interface that are declared with the ClipDistance BuiltIn decoration and variables in its interface that are declared with the CullDistance BuiltIn decoration, those variables must not have array sizes which sum to more than VkPhysicalDeviceLimits::maxCombinedClipAndCullDistances", "1.3-extensions"}, {"VUID-VkShaderCreateInfoEXT-pCode-08451", "If codeType is VK_SHADER_CODE_TYPE_SPIRV_EXT, and the identified entry point includes any variable in its interface that is declared with the SampleMask BuiltIn decoration, that variable must not have an array size greater than VkPhysicalDeviceLimits::maxSampleMaskWords", "1.3-extensions"}, {"VUID-VkShaderCreateInfoEXT-pCode-08452", "If codeType is VK_SHADER_CODE_TYPE_SPIRV_EXT, and stage is VK_SHADER_STAGE_VERTEX_BIT, the identified entry point must not include any input variable in its interface that is decorated with CullDistance", "1.3-extensions"}, {"VUID-VkShaderCreateInfoEXT-pCode-08453", "If codeType is VK_SHADER_CODE_TYPE_SPIRV_EXT, and stage is VK_SHADER_STAGE_TESSELLATION_CONTROL_BIT or VK_SHADER_STAGE_TESSELLATION_EVALUATION_BIT, and the identified entry point has an OpExecutionMode instruction specifying a patch size with OutputVertices, the patch size must be greater than 0 and less than or equal to VkPhysicalDeviceLimits::maxTessellationPatchSize", "1.3-extensions"}, @@ -7078,6 +7112,7 @@ static const vuid_spec_text_pair vuid_spec_text[] = { {"VUID-VkWriteDescriptorSet-descriptorType-07683", "If descriptorType is VK_DESCRIPTOR_TYPE_INPUT_ATTACHMENT, the imageView member of each element of pImageInfo must not be VK_NULL_HANDLE", "1.3-extensions"}, {"VUID-VkWriteDescriptorSet-descriptorType-08765", "If descriptorType is VK_DESCRIPTOR_TYPE_UNIFORM_TEXEL_BUFFER, the pTexelBufferView buffer view usage must include VK_BUFFER_USAGE_UNIFORM_TEXEL_BUFFER_BIT", "1.3-extensions"}, {"VUID-VkWriteDescriptorSet-descriptorType-08766", "If descriptorType is VK_DESCRIPTOR_TYPE_STORAGE_TEXEL_BUFFER, the pTexelBufferView buffer view usage must include VK_BUFFER_USAGE_STORAGE_TEXEL_BUFFER_BIT", "1.3-extensions"}, + {"VUID-VkWriteDescriptorSet-descriptorType-09506", "If descriptorType is VK_DESCRIPTOR_TYPE_COMBINED_IMAGE_SAMPLER, dstSet was allocated with a layout that included immutable samplers for dstBinding, and those samplers enable sampler Y'CBCR conversion, then imageView must not be VK_NULL_HANDLE", "1.3-extensions"}, {"VUID-VkWriteDescriptorSet-descriptorType-parameter", "descriptorType must be a valid VkDescriptorType value", "1.3-extensions"}, {"VUID-VkWriteDescriptorSet-dstArrayElement-00321", "The sum of dstArrayElement and descriptorCount must be less than or equal to the number of array elements in the descriptor set binding specified by dstBinding, and all applicable consecutive bindings, as described by consecutive binding updates", "1.3-extensions"}, {"VUID-VkWriteDescriptorSet-dstBinding-00315", "dstBinding must be less than or equal to the maximum value of binding of all VkDescriptorSetLayoutBinding structures specified when dstSet's descriptor set layout was created", "1.3-extensions"}, @@ -7280,7 +7315,6 @@ static const vuid_spec_text_pair vuid_spec_text[] = { {"VUID-vkBindVideoSessionMemoryKHR-videoSession-parent", "videoSession must have been created, allocated, or retrieved from device", "1.3-extensions"}, {"VUID-vkBuildAccelerationStructuresKHR-None-03407", "The dstAccelerationStructure member of any element of pInfos must not be referenced by the geometry.instances.data member of any element of pGeometries or ppGeometries with a geometryType of VK_GEOMETRY_TYPE_INSTANCES_KHR in any other element of pInfos", "1.3-extensions"}, {"VUID-vkBuildAccelerationStructuresKHR-accelerationStructureHostCommands-03581", "The VkPhysicalDeviceAccelerationStructureFeaturesKHR::accelerationStructureHostCommands feature must be enabled", "1.3-extensions"}, - {"VUID-vkBuildAccelerationStructuresKHR-deferredOperation-03677", "If deferredOperation is not VK_NULL_HANDLE, it must be a valid VkDeferredOperationKHR object", "1.3-extensions"}, {"VUID-vkBuildAccelerationStructuresKHR-deferredOperation-03678", "Any previous deferred operation that was associated with deferredOperation must be complete", "1.3-extensions"}, {"VUID-vkBuildAccelerationStructuresKHR-deferredOperation-parameter", "If deferredOperation is not VK_NULL_HANDLE, deferredOperation must be a valid VkDeferredOperationKHR handle", "1.3-extensions"}, {"VUID-vkBuildAccelerationStructuresKHR-deferredOperation-parent", "If deferredOperation is a valid handle, it must have been created, allocated, or retrieved from device", "1.3-extensions"}, @@ -7462,6 +7496,7 @@ static const vuid_spec_text_pair vuid_spec_text[] = { {"VUID-vkCmdBeginRenderPass-initialLayout-02842", "If any of the initialLayout or finalLayout member of the VkAttachmentDescription structures or the layout member of the VkAttachmentReference structures specified when creating the render pass specified in the renderPass member of pRenderPassBegin is VK_IMAGE_LAYOUT_DEPTH_ATTACHMENT_OPTIMAL, or VK_IMAGE_LAYOUT_DEPTH_READ_ONLY_OPTIMAL, VK_IMAGE_LAYOUT_STENCIL_ATTACHMENT_OPTIMAL, or VK_IMAGE_LAYOUT_STENCIL_READ_ONLY_OPTIMAL then the corresponding attachment image view of the framebuffer specified in the framebuffer member of pRenderPassBegin must have been created with a usage value including VK_IMAGE_USAGE_DEPTH_STENCIL_ATTACHMENT_BIT", "1.3-extensions"}, {"VUID-vkCmdBeginRenderPass-initialLayout-07000", "If any of the initialLayout or finalLayout member of the VkAttachmentDescription structures or the layout member of the VkAttachmentReference structures specified when creating the render pass specified in the renderPass member of pRenderPassBegin is VK_IMAGE_LAYOUT_ATTACHMENT_FEEDBACK_LOOP_OPTIMAL_EXT then the corresponding attachment image view of the framebuffer specified in the framebuffer member of pRenderPassBegin must have been created with a usage value including either the VK_IMAGE_USAGE_COLOR_ATTACHMENT_BIT or VK_IMAGE_USAGE_DEPTH_STENCIL_ATTACHMENT_BIT and either the VK_IMAGE_USAGE_INPUT_ATTACHMENT_BIT or VK_IMAGE_USAGE_SAMPLED_BIT usage bits", "1.3-extensions"}, {"VUID-vkCmdBeginRenderPass-initialLayout-07001", "If any of the initialLayout or finalLayout member of the VkAttachmentDescription structures or the layout member of the VkAttachmentReference structures specified when creating the render pass specified in the renderPass member of pRenderPassBegin is VK_IMAGE_LAYOUT_ATTACHMENT_FEEDBACK_LOOP_OPTIMAL_EXT then the corresponding attachment image view of the framebuffer specified in the framebuffer member of pRenderPassBegin must have been created with a usage value the VK_IMAGE_USAGE_ATTACHMENT_FEEDBACK_LOOP_BIT_EXT usage bit", "1.3-extensions"}, + {"VUID-vkCmdBeginRenderPass-initialLayout-09537", "If any of the initialLayout or finalLayout member of the VkAttachmentDescription structures or the layout member of the VkAttachmentReference structures specified when creating the render pass specified in the renderPass member of pRenderPassBegin is VK_IMAGE_LAYOUT_RENDERING_LOCAL_READ_KHR then the corresponding attachment image view of the framebuffer specified in the framebuffer member of pRenderPassBegin must have been created with a usage value including either VK_IMAGE_USAGE_STORAGE_BIT, or both VK_IMAGE_USAGE_INPUT_ATTACHMENT_BIT and either of VK_IMAGE_USAGE_COLOR_ATTACHMENT_BIT or VK_IMAGE_USAGE_DEPTH_STENCIL_ATTACHMENT_BIT", "1.3-extensions"}, {"VUID-vkCmdBeginRenderPass-pRenderPassBegin-parameter", "pRenderPassBegin must be a valid pointer to a valid VkRenderPassBeginInfo structure", "1.3-extensions"}, {"VUID-vkCmdBeginRenderPass-renderpass", "This command must only be called outside of a render pass instance", "1.3-extensions"}, {"VUID-vkCmdBeginRenderPass-srcStageMask-06451", "The srcStageMask members of any element of the pDependencies member of VkRenderPassCreateInfo used to create renderPass must be supported by the capabilities of the queue family identified by the queueFamilyIndex member of the VkCommandPoolCreateInfo used to create the command pool which commandBuffer was allocated from", "1.3-extensions"}, @@ -7484,6 +7519,7 @@ static const vuid_spec_text_pair vuid_spec_text[] = { {"VUID-vkCmdBeginRenderPass2-initialLayout-03100", "If the initialLayout member of any of the VkAttachmentDescription structures specified when creating the render pass specified in the renderPass member of pRenderPassBegin is not VK_IMAGE_LAYOUT_UNDEFINED, then each such initialLayout must be equal to the current layout of the corresponding attachment image subresource of the framebuffer specified in the framebuffer member of pRenderPassBegin", "1.3-extensions"}, {"VUID-vkCmdBeginRenderPass2-initialLayout-07002", "If any of the initialLayout or finalLayout member of the VkAttachmentDescription structures or the layout member of the VkAttachmentReference structures specified when creating the render pass specified in the renderPass member of pRenderPassBegin is VK_IMAGE_LAYOUT_ATTACHMENT_FEEDBACK_LOOP_OPTIMAL_EXT then the corresponding attachment image view of the framebuffer specified in the framebuffer member of pRenderPassBegin must have been created with a usage value including either the VK_IMAGE_USAGE_COLOR_ATTACHMENT_BIT or VK_IMAGE_USAGE_DEPTH_STENCIL_ATTACHMENT_BIT and either the VK_IMAGE_USAGE_INPUT_ATTACHMENT_BIT or VK_IMAGE_USAGE_SAMPLED_BIT usage bits", "1.3-extensions"}, {"VUID-vkCmdBeginRenderPass2-initialLayout-07003", "If any of the initialLayout or finalLayout member of the VkAttachmentDescription structures or the layout member of the VkAttachmentReference structures specified when creating the render pass specified in the renderPass member of pRenderPassBegin is VK_IMAGE_LAYOUT_ATTACHMENT_FEEDBACK_LOOP_OPTIMAL_EXT then the corresponding attachment image view of the framebuffer specified in the framebuffer member of pRenderPassBegin must have been created with a usage value the VK_IMAGE_USAGE_ATTACHMENT_FEEDBACK_LOOP_BIT_EXT usage bit", "1.3-extensions"}, + {"VUID-vkCmdBeginRenderPass2-initialLayout-09538", "If any of the initialLayout or finalLayout member of the VkAttachmentDescription structures or the layout member of the VkAttachmentReference structures specified when creating the render pass specified in the renderPass member of pRenderPassBegin is VK_IMAGE_LAYOUT_RENDERING_LOCAL_READ_KHR then the corresponding attachment image view of the framebuffer specified in the framebuffer member of pRenderPassBegin must have been created with a usage value including either VK_IMAGE_USAGE_STORAGE_BIT, or both VK_IMAGE_USAGE_INPUT_ATTACHMENT_BIT and either of VK_IMAGE_USAGE_COLOR_ATTACHMENT_BIT or VK_IMAGE_USAGE_DEPTH_STENCIL_ATTACHMENT_BIT", "1.3-extensions"}, {"VUID-vkCmdBeginRenderPass2-pRenderPassBegin-parameter", "pRenderPassBegin must be a valid pointer to a valid VkRenderPassBeginInfo structure", "1.3-extensions"}, {"VUID-vkCmdBeginRenderPass2-pSubpassBeginInfo-parameter", "pSubpassBeginInfo must be a valid pointer to a valid VkSubpassBeginInfo structure", "1.3-extensions"}, {"VUID-vkCmdBeginRenderPass2-renderpass", "This command must only be called outside of a render pass instance", "1.3-extensions"}, @@ -7605,7 +7641,7 @@ static const vuid_spec_text_pair vuid_spec_text[] = { {"VUID-vkCmdBindIndexBuffer-commandBuffer-recording", "commandBuffer must be in the recording state", "1.3-extensions"}, {"VUID-vkCmdBindIndexBuffer-commonparent", "Both of buffer, and commandBuffer that are valid handles of non-ignored parameters must have been created, allocated, or retrieved from the same VkDevice", "1.3-extensions"}, {"VUID-vkCmdBindIndexBuffer-indexType-08786", "indexType must not be VK_INDEX_TYPE_NONE_KHR", "1.3-extensions"}, - {"VUID-vkCmdBindIndexBuffer-indexType-08787", "If indexType is VK_INDEX_TYPE_UINT8_EXT, the indexTypeUint8 feature must be enabled", "1.3-extensions"}, + {"VUID-vkCmdBindIndexBuffer-indexType-08787", "If indexType is VK_INDEX_TYPE_UINT8_KHR, the indexTypeUint8 feature must be enabled", "1.3-extensions"}, {"VUID-vkCmdBindIndexBuffer-indexType-parameter", "indexType must be a valid VkIndexType value", "1.3-extensions"}, {"VUID-vkCmdBindIndexBuffer-offset-08782", "offset must be less than the size of buffer", "1.3-extensions"}, {"VUID-vkCmdBindIndexBuffer-offset-08783", "The sum of offset and the base address of the range of VkDeviceMemory object that is backing buffer, must be a multiple of the size of the type indicated by indexType", "1.3-extensions"}, @@ -7620,7 +7656,7 @@ static const vuid_spec_text_pair vuid_spec_text[] = { {"VUID-vkCmdBindIndexBuffer2KHR-commandBuffer-recording", "commandBuffer must be in the recording state", "1.3-extensions"}, {"VUID-vkCmdBindIndexBuffer2KHR-commonparent", "Both of buffer, and commandBuffer that are valid handles of non-ignored parameters must have been created, allocated, or retrieved from the same VkDevice", "1.3-extensions"}, {"VUID-vkCmdBindIndexBuffer2KHR-indexType-08786", "indexType must not be VK_INDEX_TYPE_NONE_KHR", "1.3-extensions"}, - {"VUID-vkCmdBindIndexBuffer2KHR-indexType-08787", "If indexType is VK_INDEX_TYPE_UINT8_EXT, the indexTypeUint8 feature must be enabled", "1.3-extensions"}, + {"VUID-vkCmdBindIndexBuffer2KHR-indexType-08787", "If indexType is VK_INDEX_TYPE_UINT8_KHR, the indexTypeUint8 feature must be enabled", "1.3-extensions"}, {"VUID-vkCmdBindIndexBuffer2KHR-indexType-parameter", "indexType must be a valid VkIndexType value", "1.3-extensions"}, {"VUID-vkCmdBindIndexBuffer2KHR-offset-08782", "offset must be less than the size of buffer", "1.3-extensions"}, {"VUID-vkCmdBindIndexBuffer2KHR-offset-08783", "The sum of offset and the base address of the range of VkDeviceMemory object that is backing buffer, must be a multiple of the size of the type indicated by indexType", "1.3-extensions"}, @@ -7864,7 +7900,7 @@ static const vuid_spec_text_pair vuid_spec_text[] = { {"VUID-vkCmdBuildAccelerationStructureNV-videocoding", "This command must only be called outside of a video coding scope", "1.3-extensions"}, {"VUID-vkCmdBuildAccelerationStructuresIndirectKHR-None-03407", "The dstAccelerationStructure member of any element of pInfos must not be referenced by the geometry.instances.data member of any element of pGeometries or ppGeometries with a geometryType of VK_GEOMETRY_TYPE_INSTANCES_KHR in any other element of pInfos", "1.3-extensions"}, {"VUID-vkCmdBuildAccelerationStructuresIndirectKHR-accelerationStructureIndirectBuild-03650", "The VkPhysicalDeviceAccelerationStructureFeaturesKHR::accelerationStructureIndirectBuild feature must be enabled", "1.3-extensions"}, - {"VUID-vkCmdBuildAccelerationStructuresIndirectKHR-commandBuffer-03649", "commandBuffer must not be a protected command buffer", "1.3-extensions"}, + {"VUID-vkCmdBuildAccelerationStructuresIndirectKHR-commandBuffer-09547", "commandBuffer must not be a protected command buffer", "1.3-extensions"}, {"VUID-vkCmdBuildAccelerationStructuresIndirectKHR-commandBuffer-cmdpool", "The VkCommandPool that commandBuffer was allocated from must support compute operations", "1.3-extensions"}, {"VUID-vkCmdBuildAccelerationStructuresIndirectKHR-commandBuffer-parameter", "commandBuffer must be a valid VkCommandBuffer handle", "1.3-extensions"}, {"VUID-vkCmdBuildAccelerationStructuresIndirectKHR-commandBuffer-recording", "commandBuffer must be in the recording state", "1.3-extensions"}, @@ -7945,6 +7981,7 @@ static const vuid_spec_text_pair vuid_spec_text[] = { {"VUID-vkCmdBuildAccelerationStructuresIndirectKHR-videocoding", "This command must only be called outside of a video coding scope", "1.3-extensions"}, {"VUID-vkCmdBuildAccelerationStructuresKHR-None-03407", "The dstAccelerationStructure member of any element of pInfos must not be referenced by the geometry.instances.data member of any element of pGeometries or ppGeometries with a geometryType of VK_GEOMETRY_TYPE_INSTANCES_KHR in any other element of pInfos", "1.3-extensions"}, {"VUID-vkCmdBuildAccelerationStructuresKHR-accelerationStructure-08923", "The VkPhysicalDeviceAccelerationStructureFeaturesKHR::accelerationStructure feature must be enabled", "1.3-extensions"}, + {"VUID-vkCmdBuildAccelerationStructuresKHR-commandBuffer-09547", "commandBuffer must not be a protected command buffer", "1.3-extensions"}, {"VUID-vkCmdBuildAccelerationStructuresKHR-commandBuffer-cmdpool", "The VkCommandPool that commandBuffer was allocated from must support compute operations", "1.3-extensions"}, {"VUID-vkCmdBuildAccelerationStructuresKHR-commandBuffer-parameter", "commandBuffer must be a valid VkCommandBuffer handle", "1.3-extensions"}, {"VUID-vkCmdBuildAccelerationStructuresKHR-commandBuffer-recording", "commandBuffer must be in the recording state", "1.3-extensions"}, @@ -8043,6 +8080,7 @@ static const vuid_spec_text_pair vuid_spec_text[] = { {"VUID-vkCmdClearAttachments-aspectMask-09298", "If the subpass this is recorded in performs an external format resolve, the aspectMask member of any element of pAttachments must not include VK_IMAGE_ASPECT_PLANE_i_BIT for any index i", "1.3-extensions"}, {"VUID-vkCmdClearAttachments-attachmentCount-arraylength", "attachmentCount must be greater than 0", "1.3-extensions"}, {"VUID-vkCmdClearAttachments-baseArrayLayer-00018", "If the render pass instance this is recorded in uses multiview, then baseArrayLayer must be zero and layerCount must be one", "1.3-extensions"}, + {"VUID-vkCmdClearAttachments-colorAttachment-09503", "The colorAttachment member of each element of pAttachments must not identify a color attachment that is currently mapped to VK_ATTACHMENT_UNUSED in commandBuffer via VkRenderingAttachmentLocationInfoKHR", "1.3-extensions"}, {"VUID-vkCmdClearAttachments-commandBuffer-02504", "If commandBuffer is an unprotected command buffer and protectedNoFault is not supported, each attachment to be cleared must not be a protected image", "1.3-extensions"}, {"VUID-vkCmdClearAttachments-commandBuffer-02505", "If commandBuffer is a protected command buffer and protectedNoFault is not supported, each attachment to be cleared must not be an unprotected image", "1.3-extensions"}, {"VUID-vkCmdClearAttachments-commandBuffer-cmdpool", "The VkCommandPool that commandBuffer was allocated from must support graphics operations", "1.3-extensions"}, @@ -9186,7 +9224,7 @@ static const vuid_spec_text_pair vuid_spec_text[] = { {"VUID-vkCmdDraw-None-07846", "If the bound graphics pipeline state was created with the VK_DYNAMIC_STATE_DEPTH_BOUNDS_TEST_ENABLE dynamic state enabled then vkCmdSetDepthBoundsTestEnable must have been called in the current command buffer prior to this drawing command", "1.3-extensions"}, {"VUID-vkCmdDraw-None-07847", "If the bound graphics pipeline state was created with the VK_DYNAMIC_STATE_STENCIL_TEST_ENABLE dynamic state enabled then vkCmdSetStencilTestEnable must have been called in the current command buffer prior to this drawing command", "1.3-extensions"}, {"VUID-vkCmdDraw-None-07848", "If the bound graphics pipeline state was created with the VK_DYNAMIC_STATE_STENCIL_OP dynamic state enabled then vkCmdSetStencilOp must have been called in the current command buffer prior to this drawing command", "1.3-extensions"}, - {"VUID-vkCmdDraw-None-07849", "If the bound graphics pipeline state was created with the VK_DYNAMIC_STATE_LINE_STIPPLE_EXT dynamic state enabled then vkCmdSetLineStippleEXT must have been called in the current command buffer prior to this drawing command", "1.3-extensions"}, + {"VUID-vkCmdDraw-None-07849", "If the bound graphics pipeline state was created with the VK_DYNAMIC_STATE_LINE_STIPPLE_KHR dynamic state enabled then vkCmdSetLineStippleKHR must have been called in the current command buffer prior to this drawing command", "1.3-extensions"}, {"VUID-vkCmdDraw-None-07850", "If dynamic state was inherited from VkCommandBufferInheritanceViewportScissorInfoNV, it must be set in the current command buffer prior to this drawing command", "1.3-extensions"}, {"VUID-vkCmdDraw-None-07878", "If the bound graphics pipeline state was created with the VK_DYNAMIC_STATE_EXCLUSIVE_SCISSOR_ENABLE_NV dynamic state enabled then vkCmdSetExclusiveScissorEnableNV must have been called in the current command buffer prior to this drawing command", "1.3-extensions"}, {"VUID-vkCmdDraw-None-07879", "If the bound graphics pipeline state was created with the VK_DYNAMIC_STATE_EXCLUSIVE_SCISSOR_NV dynamic state enabled then vkCmdSetExclusiveScissorNV must have been called in the current command buffer prior to this drawing command", "1.3-extensions"}, @@ -9257,13 +9295,13 @@ static const vuid_spec_text_pair vuid_spec_text[] = { {"VUID-vkCmdDraw-None-08663", "If the depthClipEnable feature is enabled, and a shader object is bound to any graphics stage, then vkCmdSetDepthClipEnableEXT must have been called in the current command buffer prior to this drawing command", "1.3-extensions"}, {"VUID-vkCmdDraw-None-08664", "If the VK_EXT_sample_locations extension is enabled, and a shader object is bound to any graphics stage, and the most recent call to vkCmdSetRasterizerDiscardEnable in the current command buffer set rasterizerDiscardEnable to VK_FALSE, then vkCmdSetSampleLocationsEnableEXT must have been called in the current command buffer prior to this drawing command", "1.3-extensions"}, {"VUID-vkCmdDraw-None-08665", "If the VK_EXT_provoking_vertex extension is enabled, and a shader object is bound to the VK_SHADER_STAGE_VERTEX_BIT stage, and the most recent call to vkCmdSetRasterizerDiscardEnable in the current command buffer set rasterizerDiscardEnable to VK_FALSE, then vkCmdSetProvokingVertexModeEXT must have been called in the current command buffer prior to this drawing command", "1.3-extensions"}, - {"VUID-vkCmdDraw-None-08666", "If the VK_EXT_line_rasterization extension is enabled, and a shader object is bound to any graphics stage, and the most recent call to vkCmdSetRasterizerDiscardEnable in the current command buffer set rasterizerDiscardEnable to VK_FALSE, and the most recent call to vkCmdSetPolygonModeEXT in the current command buffer set polygonMode to VK_POLYGON_MODE_LINE, then vkCmdSetLineRasterizationModeEXT must have been called in the current command buffer prior to this drawing command", "1.3-extensions"}, - {"VUID-vkCmdDraw-None-08667", "If the VK_EXT_line_rasterization extension is enabled, and a shader object is bound to the VK_SHADER_STAGE_VERTEX_BIT stage, and the most recent call to vkCmdSetRasterizerDiscardEnable in the current command buffer set rasterizerDiscardEnable to VK_FALSE, and the most recent call to vkCmdSetPrimitiveTopology in the current command buffer set primitiveTopology to any line topology, then vkCmdSetLineRasterizationModeEXT must have been called in the current command buffer prior to this drawing command", "1.3-extensions"}, - {"VUID-vkCmdDraw-None-08668", "If the VK_EXT_line_rasterization extension is enabled, and a shader object that outputs line primitives is bound to the VK_SHADER_STAGE_TESSELLATION_EVALUATION_BIT or VK_SHADER_STAGE_GEOMETRY_BIT stage, and the most recent call to vkCmdSetRasterizerDiscardEnable in the current command buffer set rasterizerDiscardEnable to VK_FALSE, then vkCmdSetLineRasterizationModeEXT must have been called in the current command buffer prior to this drawing command", "1.3-extensions"}, - {"VUID-vkCmdDraw-None-08669", "If the VK_EXT_line_rasterization extension is enabled, and a shader object is bound to any graphics stage, and the most recent call to vkCmdSetRasterizerDiscardEnable in the current command buffer set rasterizerDiscardEnable to VK_FALSE, and the most recent call to vkCmdSetPolygonModeEXT in the current command buffer set polygonMode to VK_POLYGON_MODE_LINE, then vkCmdSetLineStippleEnableEXT must have been called in the current command buffer prior to this drawing command", "1.3-extensions"}, - {"VUID-vkCmdDraw-None-08670", "If the VK_EXT_line_rasterization extension is enabled, and a shader object is bound to the VK_SHADER_STAGE_VERTEX_BIT stage, and the most recent call to vkCmdSetRasterizerDiscardEnable in the current command buffer set rasterizerDiscardEnable to VK_FALSE, and the most recent call to vkCmdSetPrimitiveTopology in the current command buffer set primitiveTopology to any line topology, then vkCmdSetLineStippleEnableEXT must have been called in the current command buffer prior to this drawing command", "1.3-extensions"}, - {"VUID-vkCmdDraw-None-08671", "If the VK_EXT_line_rasterization extension is enabled, and a shader object that outputs line primitives is bound to the VK_SHADER_STAGE_TESSELLATION_EVALUATION_BIT or VK_SHADER_STAGE_GEOMETRY_BIT stage, and the most recent call to vkCmdSetRasterizerDiscardEnable in the current command buffer set rasterizerDiscardEnable to VK_FALSE, then vkCmdSetLineStippleEnableEXT must have been called in the current command buffer prior to this drawing command", "1.3-extensions"}, - {"VUID-vkCmdDraw-None-08672", "If the VK_EXT_line_rasterization extension is enabled, and a shader object is bound to any graphics stage, and the most recent call to vkCmdSetRasterizerDiscardEnable in the current command buffer set rasterizerDiscardEnable to VK_FALSE, and the most recent call to vkCmdSetLineStippleEnableEXT in the current command buffer set stippledLineEnable to VK_TRUE, then vkCmdSetLineStippleEXT must have been called in the current command buffer prior to this drawing command", "1.3-extensions"}, + {"VUID-vkCmdDraw-None-08666", "If the VK_KHR_line_rasterization or VK_EXT_line_rasterization extension is enabled, and a shader object is bound to any graphics stage, and the most recent call to vkCmdSetRasterizerDiscardEnable in the current command buffer set rasterizerDiscardEnable to VK_FALSE, and the most recent call to vkCmdSetPolygonModeEXT in the current command buffer set polygonMode to VK_POLYGON_MODE_LINE, then vkCmdSetLineRasterizationModeEXT must have been called in the current command buffer prior to this drawing command", "1.3-extensions"}, + {"VUID-vkCmdDraw-None-08667", "If the VK_KHR_line_rasterization or VK_EXT_line_rasterization extension is enabled, and a shader object is bound to the VK_SHADER_STAGE_VERTEX_BIT stage, and the most recent call to vkCmdSetRasterizerDiscardEnable in the current command buffer set rasterizerDiscardEnable to VK_FALSE, and the most recent call to vkCmdSetPrimitiveTopology in the current command buffer set primitiveTopology to any line topology, then vkCmdSetLineRasterizationModeEXT must have been called in the current command buffer prior to this drawing command", "1.3-extensions"}, + {"VUID-vkCmdDraw-None-08668", "If the VK_KHR_line_rasterization or VK_EXT_line_rasterization extension is enabled, and a shader object that outputs line primitives is bound to the VK_SHADER_STAGE_TESSELLATION_EVALUATION_BIT or VK_SHADER_STAGE_GEOMETRY_BIT stage, and the most recent call to vkCmdSetRasterizerDiscardEnable in the current command buffer set rasterizerDiscardEnable to VK_FALSE, then vkCmdSetLineRasterizationModeEXT must have been called in the current command buffer prior to this drawing command", "1.3-extensions"}, + {"VUID-vkCmdDraw-None-08669", "If the VK_KHR_line_rasterization or VK_EXT_line_rasterization extension is enabled, and a shader object is bound to any graphics stage, and the most recent call to vkCmdSetRasterizerDiscardEnable in the current command buffer set rasterizerDiscardEnable to VK_FALSE, and the most recent call to vkCmdSetPolygonModeEXT in the current command buffer set polygonMode to VK_POLYGON_MODE_LINE, then vkCmdSetLineStippleEnableEXT must have been called in the current command buffer prior to this drawing command", "1.3-extensions"}, + {"VUID-vkCmdDraw-None-08670", "If the VK_KHR_line_rasterization or VK_EXT_line_rasterization extension is enabled, and a shader object is bound to the VK_SHADER_STAGE_VERTEX_BIT stage, and the most recent call to vkCmdSetRasterizerDiscardEnable in the current command buffer set rasterizerDiscardEnable to VK_FALSE, and the most recent call to vkCmdSetPrimitiveTopology in the current command buffer set primitiveTopology to any line topology, then vkCmdSetLineStippleEnableEXT must have been called in the current command buffer prior to this drawing command", "1.3-extensions"}, + {"VUID-vkCmdDraw-None-08671", "If the VK_KHR_line_rasterization or VK_EXT_line_rasterization extension is enabled, and a shader object that outputs line primitives is bound to the VK_SHADER_STAGE_TESSELLATION_EVALUATION_BIT or VK_SHADER_STAGE_GEOMETRY_BIT stage, and the most recent call to vkCmdSetRasterizerDiscardEnable in the current command buffer set rasterizerDiscardEnable to VK_FALSE, then vkCmdSetLineStippleEnableEXT must have been called in the current command buffer prior to this drawing command", "1.3-extensions"}, + {"VUID-vkCmdDraw-None-08672", "If the VK_KHR_line_rasterization or VK_EXT_line_rasterization extension is enabled, and a shader object is bound to any graphics stage, and the most recent call to vkCmdSetRasterizerDiscardEnable in the current command buffer set rasterizerDiscardEnable to VK_FALSE, and the most recent call to vkCmdSetLineStippleEnableEXT in the current command buffer set stippledLineEnable to VK_TRUE, then vkCmdSetLineStippleEXT must have been called in the current command buffer prior to this drawing command", "1.3-extensions"}, {"VUID-vkCmdDraw-None-08673", "If the depthClipControl feature is enabled, and a shader object is bound to any graphics stage, then vkCmdSetDepthClipNegativeOneToOneEXT must have been called in the current command buffer prior to this drawing command", "1.3-extensions"}, {"VUID-vkCmdDraw-None-08674", "If the VK_NV_clip_space_w_scaling extension is enabled, and a shader object is bound to any graphics stage, then vkCmdSetViewportWScalingEnableNV must have been called in the current command buffer prior to this drawing command", "1.3-extensions"}, {"VUID-vkCmdDraw-None-08675", "If the VK_NV_viewport_swizzle extension is enabled, and a shader object is bound to any graphics stage, then vkCmdSetViewportSwizzleNV must have been called in the current command buffer prior to this drawing command", "1.3-extensions"}, @@ -9310,6 +9348,8 @@ static const vuid_spec_text_pair vuid_spec_text[] = { {"VUID-vkCmdDraw-None-09368", "If the current render pass instance was begun with vkCmdBeginRendering, there is no shader object bound to any graphics stage, and the currently bound graphics pipeline was created with a non-zero VkExternalFormatANDROID::externalFormat value and with the VK_DYNAMIC_STATE_FRAGMENT_SHADING_RATE_KHR dynamic state enabled, then vkCmdSetFragmentShadingRateKHR must have set pFragmentSize->width to 1 prior to this drawing command", "1.3-extensions"}, {"VUID-vkCmdDraw-None-09369", "If the current render pass instance was begun with vkCmdBeginRendering, there is no shader object bound to any graphics stage, and the currently bound graphics pipeline was created with a non-zero VkExternalFormatANDROID::externalFormat value and with the VK_DYNAMIC_STATE_FRAGMENT_SHADING_RATE_KHR dynamic state enabled, then vkCmdSetFragmentShadingRateKHR must have set pFragmentSize->height to 1 prior to this drawing command", "1.3-extensions"}, {"VUID-vkCmdDraw-None-09462", "If shader objects are used for drawing or the bound graphics pipeline state was created with the VK_DYNAMIC_STATE_VERTEX_INPUT_EXT dynamic state enabled, any member of the pVertexBindingDescriptions parameter to the vkCmdSetVertexInputEXT call that sets this dynamic state has a value other than 1 in divisor, and VkPhysicalDeviceVertexAttributeDivisorPropertiesKHR::supportsNonZeroFirstInstance is VK_FALSE, then firstInstance must be 0", "1.3-extensions"}, + {"VUID-vkCmdDraw-None-09548", "If the current render pass was begun with vkCmdBeginRendering, and there is no shader object bound to any graphics stage, the value of each element of VkRenderingAttachmentLocationInfoKHR::pColorAttachmentLocations set by vkCmdSetRenderingAttachmentLocationsKHR must match the value set for the corresponding element in the currently bound pipeline", "1.3-extensions"}, + {"VUID-vkCmdDraw-None-09549", "If the current render pass was begun with vkCmdBeginRendering, and there is no shader object bound to any graphics stage, input attachment index mappings in the currently bound pipeline must match those set for the current render pass instance via VkRenderingInputAttachmentIndexInfoKHR", "1.3-extensions"}, {"VUID-vkCmdDraw-OpImageBlockMatchSADQCOM-06975", "If OpImageBlockMatchSADQCOM is used to read from an VkImageView as a result of this command, then the image view's format features must contain VK_FORMAT_FEATURE_2_BLOCK_MATCHING_BIT_QCOM", "1.3-extensions"}, {"VUID-vkCmdDraw-OpImageBlockMatchSADQCOM-06976", "If OpImageBlockMatchSADQCOM or OpImageBlockMatchSSDQCOM is used to read from a reference image as result of this command, then the specified reference coordinates must not fail integer texel coordinate validation", "1.3-extensions"}, {"VUID-vkCmdDraw-OpImageBlockMatchSSDQCOM-06974", "If OpImageBlockMatchSSDQCOM is used to read from an VkImageView as a result of this command, then the image view's format features must contain VK_FORMAT_FEATURE_2_BLOCK_MATCHING_BIT_QCOM", "1.3-extensions"}, @@ -9449,10 +9489,10 @@ static const vuid_spec_text_pair vuid_spec_text[] = { {"VUID-vkCmdDraw-sparseImageInt64Atomics-04475", "If the sparseImageInt64Atomics feature is not enabled, VkBuffer objects created with the VK_BUFFER_CREATE_SPARSE_RESIDENCY_BIT flag must not be accessed by atomic instructions through an OpTypeImage with a SampledType with a Width of 64 by this command", "1.3-extensions"}, {"VUID-vkCmdDraw-stage-06481", "The bound graphics pipeline must not have been created with the VkPipelineShaderStageCreateInfo::stage member of an element of VkGraphicsPipelineCreateInfo::pStages set to VK_SHADER_STAGE_TASK_BIT_EXT or VK_SHADER_STAGE_MESH_BIT_EXT", "1.3-extensions"}, {"VUID-vkCmdDraw-stage-07073", "If the currently bound pipeline was created with the VkPipelineShaderStageCreateInfo::stage member of an element of VkGraphicsPipelineCreateInfo::pStages set to VK_SHADER_STAGE_VERTEX_BIT, VK_SHADER_STAGE_TESSELLATION_CONTROL_BIT, VK_SHADER_STAGE_TESSELLATION_EVALUATION_BIT or VK_SHADER_STAGE_GEOMETRY_BIT, then Mesh Shader Queries must not be active", "1.3-extensions"}, - {"VUID-vkCmdDraw-stippledLineEnable-07495", "If the bound graphics pipeline state was created with the VK_DYNAMIC_STATE_LINE_STIPPLE_ENABLE_EXT or VK_DYNAMIC_STATE_LINE_RASTERIZATION_MODE_EXT dynamic states enabled, and if the current stippledLineEnable state is VK_TRUE and the current lineRasterizationMode state is VK_LINE_RASTERIZATION_MODE_RECTANGULAR_EXT, then the stippledRectangularLines feature must be enabled", "1.3-extensions"}, - {"VUID-vkCmdDraw-stippledLineEnable-07496", "If the bound graphics pipeline state was created with the VK_DYNAMIC_STATE_LINE_STIPPLE_ENABLE_EXT or VK_DYNAMIC_STATE_LINE_RASTERIZATION_MODE_EXT dynamic states enabled, and if the current stippledLineEnable state is VK_TRUE and the current lineRasterizationMode state is VK_LINE_RASTERIZATION_MODE_BRESENHAM_EXT, then the stippledBresenhamLines feature must be enabled", "1.3-extensions"}, - {"VUID-vkCmdDraw-stippledLineEnable-07497", "If the bound graphics pipeline state was created with the VK_DYNAMIC_STATE_LINE_STIPPLE_ENABLE_EXT or VK_DYNAMIC_STATE_LINE_RASTERIZATION_MODE_EXT dynamic states enabled, and if the current stippledLineEnable state is VK_TRUE and the current lineRasterizationMode state is VK_LINE_RASTERIZATION_MODE_RECTANGULAR_SMOOTH_EXT, then the stippledSmoothLines feature must be enabled", "1.3-extensions"}, - {"VUID-vkCmdDraw-stippledLineEnable-07498", "If the bound graphics pipeline state was created with the VK_DYNAMIC_STATE_LINE_STIPPLE_ENABLE_EXT or VK_DYNAMIC_STATE_LINE_RASTERIZATION_MODE_EXT dynamic states enabled, and if the current stippledLineEnable state is VK_TRUE and the current lineRasterizationMode state is VK_LINE_RASTERIZATION_MODE_DEFAULT_EXT, then the stippledRectangularLines feature must be enabled and VkPhysicalDeviceLimits::strictLines must be VK_TRUE", "1.3-extensions"}, + {"VUID-vkCmdDraw-stippledLineEnable-07495", "If the bound graphics pipeline state was created with the VK_DYNAMIC_STATE_LINE_STIPPLE_ENABLE_EXT or VK_DYNAMIC_STATE_LINE_RASTERIZATION_MODE_EXT dynamic states enabled, and if the current stippledLineEnable state is VK_TRUE and the current lineRasterizationMode state is VK_LINE_RASTERIZATION_MODE_RECTANGULAR_KHR, then the stippledRectangularLines feature must be enabled", "1.3-extensions"}, + {"VUID-vkCmdDraw-stippledLineEnable-07496", "If the bound graphics pipeline state was created with the VK_DYNAMIC_STATE_LINE_STIPPLE_ENABLE_EXT or VK_DYNAMIC_STATE_LINE_RASTERIZATION_MODE_EXT dynamic states enabled, and if the current stippledLineEnable state is VK_TRUE and the current lineRasterizationMode state is VK_LINE_RASTERIZATION_MODE_BRESENHAM_KHR, then the stippledBresenhamLines feature must be enabled", "1.3-extensions"}, + {"VUID-vkCmdDraw-stippledLineEnable-07497", "If the bound graphics pipeline state was created with the VK_DYNAMIC_STATE_LINE_STIPPLE_ENABLE_EXT or VK_DYNAMIC_STATE_LINE_RASTERIZATION_MODE_EXT dynamic states enabled, and if the current stippledLineEnable state is VK_TRUE and the current lineRasterizationMode state is VK_LINE_RASTERIZATION_MODE_RECTANGULAR_SMOOTH_KHR, then the stippledSmoothLines feature must be enabled", "1.3-extensions"}, + {"VUID-vkCmdDraw-stippledLineEnable-07498", "If the bound graphics pipeline state was created with the VK_DYNAMIC_STATE_LINE_STIPPLE_ENABLE_EXT or VK_DYNAMIC_STATE_LINE_RASTERIZATION_MODE_EXT dynamic states enabled, and if the current stippledLineEnable state is VK_TRUE and the current lineRasterizationMode state is VK_LINE_RASTERIZATION_MODE_DEFAULT_KHR, then the stippledRectangularLines feature must be enabled and VkPhysicalDeviceLimits::strictLines must be VK_TRUE", "1.3-extensions"}, {"VUID-vkCmdDraw-storageBuffers-06936", "If any stage of the VkPipeline object bound to the pipeline bind point used by this command accesses a storage buffer, and that stage was created without enabling either VK_PIPELINE_ROBUSTNESS_BUFFER_BEHAVIOR_ROBUST_BUFFER_ACCESS_EXT or VK_PIPELINE_ROBUSTNESS_BUFFER_BEHAVIOR_ROBUST_BUFFER_ACCESS_2_EXT for storageBuffers, and the robustBufferAccess feature is not enabled, that stage must not access values outside of the range of the buffer as specified in the descriptor set bound to the same pipeline bind point", "1.3-extensions"}, {"VUID-vkCmdDraw-subpass-02685", "The subpass index of the current render pass must be equal to the subpass member of the VkGraphicsPipelineCreateInfo structure specified when creating the VkPipeline bound to VK_PIPELINE_BIND_POINT_GRAPHICS", "1.3-extensions"}, {"VUID-vkCmdDraw-uniformBuffers-06935", "If any stage of the VkPipeline object bound to the pipeline bind point used by this command accesses a uniform buffer, and that stage was created without enabling either VK_PIPELINE_ROBUSTNESS_BUFFER_BEHAVIOR_ROBUST_BUFFER_ACCESS_EXT or VK_PIPELINE_ROBUSTNESS_BUFFER_BEHAVIOR_ROBUST_BUFFER_ACCESS_2_EXT for uniformBuffers, and the robustBufferAccess feature is not enabled, that stage must not access values outside of the range of the buffer as specified in the descriptor set bound to the same pipeline bind point", "1.3-extensions"}, @@ -9538,7 +9578,7 @@ static const vuid_spec_text_pair vuid_spec_text[] = { {"VUID-vkCmdDrawClusterHUAWEI-None-07846", "If the bound graphics pipeline state was created with the VK_DYNAMIC_STATE_DEPTH_BOUNDS_TEST_ENABLE dynamic state enabled then vkCmdSetDepthBoundsTestEnable must have been called in the current command buffer prior to this drawing command", "1.3-extensions"}, {"VUID-vkCmdDrawClusterHUAWEI-None-07847", "If the bound graphics pipeline state was created with the VK_DYNAMIC_STATE_STENCIL_TEST_ENABLE dynamic state enabled then vkCmdSetStencilTestEnable must have been called in the current command buffer prior to this drawing command", "1.3-extensions"}, {"VUID-vkCmdDrawClusterHUAWEI-None-07848", "If the bound graphics pipeline state was created with the VK_DYNAMIC_STATE_STENCIL_OP dynamic state enabled then vkCmdSetStencilOp must have been called in the current command buffer prior to this drawing command", "1.3-extensions"}, - {"VUID-vkCmdDrawClusterHUAWEI-None-07849", "If the bound graphics pipeline state was created with the VK_DYNAMIC_STATE_LINE_STIPPLE_EXT dynamic state enabled then vkCmdSetLineStippleEXT must have been called in the current command buffer prior to this drawing command", "1.3-extensions"}, + {"VUID-vkCmdDrawClusterHUAWEI-None-07849", "If the bound graphics pipeline state was created with the VK_DYNAMIC_STATE_LINE_STIPPLE_KHR dynamic state enabled then vkCmdSetLineStippleKHR must have been called in the current command buffer prior to this drawing command", "1.3-extensions"}, {"VUID-vkCmdDrawClusterHUAWEI-None-07850", "If dynamic state was inherited from VkCommandBufferInheritanceViewportScissorInfoNV, it must be set in the current command buffer prior to this drawing command", "1.3-extensions"}, {"VUID-vkCmdDrawClusterHUAWEI-None-07878", "If the bound graphics pipeline state was created with the VK_DYNAMIC_STATE_EXCLUSIVE_SCISSOR_ENABLE_NV dynamic state enabled then vkCmdSetExclusiveScissorEnableNV must have been called in the current command buffer prior to this drawing command", "1.3-extensions"}, {"VUID-vkCmdDrawClusterHUAWEI-None-07879", "If the bound graphics pipeline state was created with the VK_DYNAMIC_STATE_EXCLUSIVE_SCISSOR_NV dynamic state enabled then vkCmdSetExclusiveScissorNV must have been called in the current command buffer prior to this drawing command", "1.3-extensions"}, @@ -9609,13 +9649,13 @@ static const vuid_spec_text_pair vuid_spec_text[] = { {"VUID-vkCmdDrawClusterHUAWEI-None-08663", "If the depthClipEnable feature is enabled, and a shader object is bound to any graphics stage, then vkCmdSetDepthClipEnableEXT must have been called in the current command buffer prior to this drawing command", "1.3-extensions"}, {"VUID-vkCmdDrawClusterHUAWEI-None-08664", "If the VK_EXT_sample_locations extension is enabled, and a shader object is bound to any graphics stage, and the most recent call to vkCmdSetRasterizerDiscardEnable in the current command buffer set rasterizerDiscardEnable to VK_FALSE, then vkCmdSetSampleLocationsEnableEXT must have been called in the current command buffer prior to this drawing command", "1.3-extensions"}, {"VUID-vkCmdDrawClusterHUAWEI-None-08665", "If the VK_EXT_provoking_vertex extension is enabled, and a shader object is bound to the VK_SHADER_STAGE_VERTEX_BIT stage, and the most recent call to vkCmdSetRasterizerDiscardEnable in the current command buffer set rasterizerDiscardEnable to VK_FALSE, then vkCmdSetProvokingVertexModeEXT must have been called in the current command buffer prior to this drawing command", "1.3-extensions"}, - {"VUID-vkCmdDrawClusterHUAWEI-None-08666", "If the VK_EXT_line_rasterization extension is enabled, and a shader object is bound to any graphics stage, and the most recent call to vkCmdSetRasterizerDiscardEnable in the current command buffer set rasterizerDiscardEnable to VK_FALSE, and the most recent call to vkCmdSetPolygonModeEXT in the current command buffer set polygonMode to VK_POLYGON_MODE_LINE, then vkCmdSetLineRasterizationModeEXT must have been called in the current command buffer prior to this drawing command", "1.3-extensions"}, - {"VUID-vkCmdDrawClusterHUAWEI-None-08667", "If the VK_EXT_line_rasterization extension is enabled, and a shader object is bound to the VK_SHADER_STAGE_VERTEX_BIT stage, and the most recent call to vkCmdSetRasterizerDiscardEnable in the current command buffer set rasterizerDiscardEnable to VK_FALSE, and the most recent call to vkCmdSetPrimitiveTopology in the current command buffer set primitiveTopology to any line topology, then vkCmdSetLineRasterizationModeEXT must have been called in the current command buffer prior to this drawing command", "1.3-extensions"}, - {"VUID-vkCmdDrawClusterHUAWEI-None-08668", "If the VK_EXT_line_rasterization extension is enabled, and a shader object that outputs line primitives is bound to the VK_SHADER_STAGE_TESSELLATION_EVALUATION_BIT or VK_SHADER_STAGE_GEOMETRY_BIT stage, and the most recent call to vkCmdSetRasterizerDiscardEnable in the current command buffer set rasterizerDiscardEnable to VK_FALSE, then vkCmdSetLineRasterizationModeEXT must have been called in the current command buffer prior to this drawing command", "1.3-extensions"}, - {"VUID-vkCmdDrawClusterHUAWEI-None-08669", "If the VK_EXT_line_rasterization extension is enabled, and a shader object is bound to any graphics stage, and the most recent call to vkCmdSetRasterizerDiscardEnable in the current command buffer set rasterizerDiscardEnable to VK_FALSE, and the most recent call to vkCmdSetPolygonModeEXT in the current command buffer set polygonMode to VK_POLYGON_MODE_LINE, then vkCmdSetLineStippleEnableEXT must have been called in the current command buffer prior to this drawing command", "1.3-extensions"}, - {"VUID-vkCmdDrawClusterHUAWEI-None-08670", "If the VK_EXT_line_rasterization extension is enabled, and a shader object is bound to the VK_SHADER_STAGE_VERTEX_BIT stage, and the most recent call to vkCmdSetRasterizerDiscardEnable in the current command buffer set rasterizerDiscardEnable to VK_FALSE, and the most recent call to vkCmdSetPrimitiveTopology in the current command buffer set primitiveTopology to any line topology, then vkCmdSetLineStippleEnableEXT must have been called in the current command buffer prior to this drawing command", "1.3-extensions"}, - {"VUID-vkCmdDrawClusterHUAWEI-None-08671", "If the VK_EXT_line_rasterization extension is enabled, and a shader object that outputs line primitives is bound to the VK_SHADER_STAGE_TESSELLATION_EVALUATION_BIT or VK_SHADER_STAGE_GEOMETRY_BIT stage, and the most recent call to vkCmdSetRasterizerDiscardEnable in the current command buffer set rasterizerDiscardEnable to VK_FALSE, then vkCmdSetLineStippleEnableEXT must have been called in the current command buffer prior to this drawing command", "1.3-extensions"}, - {"VUID-vkCmdDrawClusterHUAWEI-None-08672", "If the VK_EXT_line_rasterization extension is enabled, and a shader object is bound to any graphics stage, and the most recent call to vkCmdSetRasterizerDiscardEnable in the current command buffer set rasterizerDiscardEnable to VK_FALSE, and the most recent call to vkCmdSetLineStippleEnableEXT in the current command buffer set stippledLineEnable to VK_TRUE, then vkCmdSetLineStippleEXT must have been called in the current command buffer prior to this drawing command", "1.3-extensions"}, + {"VUID-vkCmdDrawClusterHUAWEI-None-08666", "If the VK_KHR_line_rasterization or VK_EXT_line_rasterization extension is enabled, and a shader object is bound to any graphics stage, and the most recent call to vkCmdSetRasterizerDiscardEnable in the current command buffer set rasterizerDiscardEnable to VK_FALSE, and the most recent call to vkCmdSetPolygonModeEXT in the current command buffer set polygonMode to VK_POLYGON_MODE_LINE, then vkCmdSetLineRasterizationModeEXT must have been called in the current command buffer prior to this drawing command", "1.3-extensions"}, + {"VUID-vkCmdDrawClusterHUAWEI-None-08667", "If the VK_KHR_line_rasterization or VK_EXT_line_rasterization extension is enabled, and a shader object is bound to the VK_SHADER_STAGE_VERTEX_BIT stage, and the most recent call to vkCmdSetRasterizerDiscardEnable in the current command buffer set rasterizerDiscardEnable to VK_FALSE, and the most recent call to vkCmdSetPrimitiveTopology in the current command buffer set primitiveTopology to any line topology, then vkCmdSetLineRasterizationModeEXT must have been called in the current command buffer prior to this drawing command", "1.3-extensions"}, + {"VUID-vkCmdDrawClusterHUAWEI-None-08668", "If the VK_KHR_line_rasterization or VK_EXT_line_rasterization extension is enabled, and a shader object that outputs line primitives is bound to the VK_SHADER_STAGE_TESSELLATION_EVALUATION_BIT or VK_SHADER_STAGE_GEOMETRY_BIT stage, and the most recent call to vkCmdSetRasterizerDiscardEnable in the current command buffer set rasterizerDiscardEnable to VK_FALSE, then vkCmdSetLineRasterizationModeEXT must have been called in the current command buffer prior to this drawing command", "1.3-extensions"}, + {"VUID-vkCmdDrawClusterHUAWEI-None-08669", "If the VK_KHR_line_rasterization or VK_EXT_line_rasterization extension is enabled, and a shader object is bound to any graphics stage, and the most recent call to vkCmdSetRasterizerDiscardEnable in the current command buffer set rasterizerDiscardEnable to VK_FALSE, and the most recent call to vkCmdSetPolygonModeEXT in the current command buffer set polygonMode to VK_POLYGON_MODE_LINE, then vkCmdSetLineStippleEnableEXT must have been called in the current command buffer prior to this drawing command", "1.3-extensions"}, + {"VUID-vkCmdDrawClusterHUAWEI-None-08670", "If the VK_KHR_line_rasterization or VK_EXT_line_rasterization extension is enabled, and a shader object is bound to the VK_SHADER_STAGE_VERTEX_BIT stage, and the most recent call to vkCmdSetRasterizerDiscardEnable in the current command buffer set rasterizerDiscardEnable to VK_FALSE, and the most recent call to vkCmdSetPrimitiveTopology in the current command buffer set primitiveTopology to any line topology, then vkCmdSetLineStippleEnableEXT must have been called in the current command buffer prior to this drawing command", "1.3-extensions"}, + {"VUID-vkCmdDrawClusterHUAWEI-None-08671", "If the VK_KHR_line_rasterization or VK_EXT_line_rasterization extension is enabled, and a shader object that outputs line primitives is bound to the VK_SHADER_STAGE_TESSELLATION_EVALUATION_BIT or VK_SHADER_STAGE_GEOMETRY_BIT stage, and the most recent call to vkCmdSetRasterizerDiscardEnable in the current command buffer set rasterizerDiscardEnable to VK_FALSE, then vkCmdSetLineStippleEnableEXT must have been called in the current command buffer prior to this drawing command", "1.3-extensions"}, + {"VUID-vkCmdDrawClusterHUAWEI-None-08672", "If the VK_KHR_line_rasterization or VK_EXT_line_rasterization extension is enabled, and a shader object is bound to any graphics stage, and the most recent call to vkCmdSetRasterizerDiscardEnable in the current command buffer set rasterizerDiscardEnable to VK_FALSE, and the most recent call to vkCmdSetLineStippleEnableEXT in the current command buffer set stippledLineEnable to VK_TRUE, then vkCmdSetLineStippleEXT must have been called in the current command buffer prior to this drawing command", "1.3-extensions"}, {"VUID-vkCmdDrawClusterHUAWEI-None-08673", "If the depthClipControl feature is enabled, and a shader object is bound to any graphics stage, then vkCmdSetDepthClipNegativeOneToOneEXT must have been called in the current command buffer prior to this drawing command", "1.3-extensions"}, {"VUID-vkCmdDrawClusterHUAWEI-None-08674", "If the VK_NV_clip_space_w_scaling extension is enabled, and a shader object is bound to any graphics stage, then vkCmdSetViewportWScalingEnableNV must have been called in the current command buffer prior to this drawing command", "1.3-extensions"}, {"VUID-vkCmdDrawClusterHUAWEI-None-08675", "If the VK_NV_viewport_swizzle extension is enabled, and a shader object is bound to any graphics stage, then vkCmdSetViewportSwizzleNV must have been called in the current command buffer prior to this drawing command", "1.3-extensions"}, @@ -9659,6 +9699,8 @@ static const vuid_spec_text_pair vuid_spec_text[] = { {"VUID-vkCmdDrawClusterHUAWEI-None-09366", "If there is a shader object bound to any graphics stage, and the current render pass includes a color attachment that uses the VK_RESOLVE_MODE_EXTERNAL_FORMAT_DOWNSAMPLE_ANDROID resolve mode, then vkCmdSetColorBlendEnableEXT must have set blend enable to VK_FALSE prior to this drawing command", "1.3-extensions"}, {"VUID-vkCmdDrawClusterHUAWEI-None-09368", "If the current render pass instance was begun with vkCmdBeginRendering, there is no shader object bound to any graphics stage, and the currently bound graphics pipeline was created with a non-zero VkExternalFormatANDROID::externalFormat value and with the VK_DYNAMIC_STATE_FRAGMENT_SHADING_RATE_KHR dynamic state enabled, then vkCmdSetFragmentShadingRateKHR must have set pFragmentSize->width to 1 prior to this drawing command", "1.3-extensions"}, {"VUID-vkCmdDrawClusterHUAWEI-None-09369", "If the current render pass instance was begun with vkCmdBeginRendering, there is no shader object bound to any graphics stage, and the currently bound graphics pipeline was created with a non-zero VkExternalFormatANDROID::externalFormat value and with the VK_DYNAMIC_STATE_FRAGMENT_SHADING_RATE_KHR dynamic state enabled, then vkCmdSetFragmentShadingRateKHR must have set pFragmentSize->height to 1 prior to this drawing command", "1.3-extensions"}, + {"VUID-vkCmdDrawClusterHUAWEI-None-09548", "If the current render pass was begun with vkCmdBeginRendering, and there is no shader object bound to any graphics stage, the value of each element of VkRenderingAttachmentLocationInfoKHR::pColorAttachmentLocations set by vkCmdSetRenderingAttachmentLocationsKHR must match the value set for the corresponding element in the currently bound pipeline", "1.3-extensions"}, + {"VUID-vkCmdDrawClusterHUAWEI-None-09549", "If the current render pass was begun with vkCmdBeginRendering, and there is no shader object bound to any graphics stage, input attachment index mappings in the currently bound pipeline must match those set for the current render pass instance via VkRenderingInputAttachmentIndexInfoKHR", "1.3-extensions"}, {"VUID-vkCmdDrawClusterHUAWEI-OpImageBlockMatchSADQCOM-06975", "If OpImageBlockMatchSADQCOM is used to read from an VkImageView as a result of this command, then the image view's format features must contain VK_FORMAT_FEATURE_2_BLOCK_MATCHING_BIT_QCOM", "1.3-extensions"}, {"VUID-vkCmdDrawClusterHUAWEI-OpImageBlockMatchSADQCOM-06976", "If OpImageBlockMatchSADQCOM or OpImageBlockMatchSSDQCOM is used to read from a reference image as result of this command, then the specified reference coordinates must not fail integer texel coordinate validation", "1.3-extensions"}, {"VUID-vkCmdDrawClusterHUAWEI-OpImageBlockMatchSSDQCOM-06974", "If OpImageBlockMatchSSDQCOM is used to read from an VkImageView as a result of this command, then the image view's format features must contain VK_FORMAT_FEATURE_2_BLOCK_MATCHING_BIT_QCOM", "1.3-extensions"}, @@ -9794,10 +9836,10 @@ static const vuid_spec_text_pair vuid_spec_text[] = { {"VUID-vkCmdDrawClusterHUAWEI-sparseImageInt64Atomics-04475", "If the sparseImageInt64Atomics feature is not enabled, VkBuffer objects created with the VK_BUFFER_CREATE_SPARSE_RESIDENCY_BIT flag must not be accessed by atomic instructions through an OpTypeImage with a SampledType with a Width of 64 by this command", "1.3-extensions"}, {"VUID-vkCmdDrawClusterHUAWEI-stage-06480", "The bound graphics pipeline must not have been created with the VkPipelineShaderStageCreateInfo::stage member of an element of VkGraphicsPipelineCreateInfo::pStages set to VK_SHADER_STAGE_VERTEX_BIT, VK_SHADER_STAGE_TESSELLATION_CONTROL_BIT, VK_SHADER_STAGE_TESSELLATION_EVALUATION_BIT or VK_SHADER_STAGE_GEOMETRY_BIT", "1.3-extensions"}, {"VUID-vkCmdDrawClusterHUAWEI-stage-07073", "If the currently bound pipeline was created with the VkPipelineShaderStageCreateInfo::stage member of an element of VkGraphicsPipelineCreateInfo::pStages set to VK_SHADER_STAGE_VERTEX_BIT, VK_SHADER_STAGE_TESSELLATION_CONTROL_BIT, VK_SHADER_STAGE_TESSELLATION_EVALUATION_BIT or VK_SHADER_STAGE_GEOMETRY_BIT, then Mesh Shader Queries must not be active", "1.3-extensions"}, - {"VUID-vkCmdDrawClusterHUAWEI-stippledLineEnable-07495", "If the bound graphics pipeline state was created with the VK_DYNAMIC_STATE_LINE_STIPPLE_ENABLE_EXT or VK_DYNAMIC_STATE_LINE_RASTERIZATION_MODE_EXT dynamic states enabled, and if the current stippledLineEnable state is VK_TRUE and the current lineRasterizationMode state is VK_LINE_RASTERIZATION_MODE_RECTANGULAR_EXT, then the stippledRectangularLines feature must be enabled", "1.3-extensions"}, - {"VUID-vkCmdDrawClusterHUAWEI-stippledLineEnable-07496", "If the bound graphics pipeline state was created with the VK_DYNAMIC_STATE_LINE_STIPPLE_ENABLE_EXT or VK_DYNAMIC_STATE_LINE_RASTERIZATION_MODE_EXT dynamic states enabled, and if the current stippledLineEnable state is VK_TRUE and the current lineRasterizationMode state is VK_LINE_RASTERIZATION_MODE_BRESENHAM_EXT, then the stippledBresenhamLines feature must be enabled", "1.3-extensions"}, - {"VUID-vkCmdDrawClusterHUAWEI-stippledLineEnable-07497", "If the bound graphics pipeline state was created with the VK_DYNAMIC_STATE_LINE_STIPPLE_ENABLE_EXT or VK_DYNAMIC_STATE_LINE_RASTERIZATION_MODE_EXT dynamic states enabled, and if the current stippledLineEnable state is VK_TRUE and the current lineRasterizationMode state is VK_LINE_RASTERIZATION_MODE_RECTANGULAR_SMOOTH_EXT, then the stippledSmoothLines feature must be enabled", "1.3-extensions"}, - {"VUID-vkCmdDrawClusterHUAWEI-stippledLineEnable-07498", "If the bound graphics pipeline state was created with the VK_DYNAMIC_STATE_LINE_STIPPLE_ENABLE_EXT or VK_DYNAMIC_STATE_LINE_RASTERIZATION_MODE_EXT dynamic states enabled, and if the current stippledLineEnable state is VK_TRUE and the current lineRasterizationMode state is VK_LINE_RASTERIZATION_MODE_DEFAULT_EXT, then the stippledRectangularLines feature must be enabled and VkPhysicalDeviceLimits::strictLines must be VK_TRUE", "1.3-extensions"}, + {"VUID-vkCmdDrawClusterHUAWEI-stippledLineEnable-07495", "If the bound graphics pipeline state was created with the VK_DYNAMIC_STATE_LINE_STIPPLE_ENABLE_EXT or VK_DYNAMIC_STATE_LINE_RASTERIZATION_MODE_EXT dynamic states enabled, and if the current stippledLineEnable state is VK_TRUE and the current lineRasterizationMode state is VK_LINE_RASTERIZATION_MODE_RECTANGULAR_KHR, then the stippledRectangularLines feature must be enabled", "1.3-extensions"}, + {"VUID-vkCmdDrawClusterHUAWEI-stippledLineEnable-07496", "If the bound graphics pipeline state was created with the VK_DYNAMIC_STATE_LINE_STIPPLE_ENABLE_EXT or VK_DYNAMIC_STATE_LINE_RASTERIZATION_MODE_EXT dynamic states enabled, and if the current stippledLineEnable state is VK_TRUE and the current lineRasterizationMode state is VK_LINE_RASTERIZATION_MODE_BRESENHAM_KHR, then the stippledBresenhamLines feature must be enabled", "1.3-extensions"}, + {"VUID-vkCmdDrawClusterHUAWEI-stippledLineEnable-07497", "If the bound graphics pipeline state was created with the VK_DYNAMIC_STATE_LINE_STIPPLE_ENABLE_EXT or VK_DYNAMIC_STATE_LINE_RASTERIZATION_MODE_EXT dynamic states enabled, and if the current stippledLineEnable state is VK_TRUE and the current lineRasterizationMode state is VK_LINE_RASTERIZATION_MODE_RECTANGULAR_SMOOTH_KHR, then the stippledSmoothLines feature must be enabled", "1.3-extensions"}, + {"VUID-vkCmdDrawClusterHUAWEI-stippledLineEnable-07498", "If the bound graphics pipeline state was created with the VK_DYNAMIC_STATE_LINE_STIPPLE_ENABLE_EXT or VK_DYNAMIC_STATE_LINE_RASTERIZATION_MODE_EXT dynamic states enabled, and if the current stippledLineEnable state is VK_TRUE and the current lineRasterizationMode state is VK_LINE_RASTERIZATION_MODE_DEFAULT_KHR, then the stippledRectangularLines feature must be enabled and VkPhysicalDeviceLimits::strictLines must be VK_TRUE", "1.3-extensions"}, {"VUID-vkCmdDrawClusterHUAWEI-storageBuffers-06936", "If any stage of the VkPipeline object bound to the pipeline bind point used by this command accesses a storage buffer, and that stage was created without enabling either VK_PIPELINE_ROBUSTNESS_BUFFER_BEHAVIOR_ROBUST_BUFFER_ACCESS_EXT or VK_PIPELINE_ROBUSTNESS_BUFFER_BEHAVIOR_ROBUST_BUFFER_ACCESS_2_EXT for storageBuffers, and the robustBufferAccess feature is not enabled, that stage must not access values outside of the range of the buffer as specified in the descriptor set bound to the same pipeline bind point", "1.3-extensions"}, {"VUID-vkCmdDrawClusterHUAWEI-subpass-02685", "The subpass index of the current render pass must be equal to the subpass member of the VkGraphicsPipelineCreateInfo structure specified when creating the VkPipeline bound to VK_PIPELINE_BIND_POINT_GRAPHICS", "1.3-extensions"}, {"VUID-vkCmdDrawClusterHUAWEI-uniformBuffers-06935", "If any stage of the VkPipeline object bound to the pipeline bind point used by this command accesses a uniform buffer, and that stage was created without enabling either VK_PIPELINE_ROBUSTNESS_BUFFER_BEHAVIOR_ROBUST_BUFFER_ACCESS_EXT or VK_PIPELINE_ROBUSTNESS_BUFFER_BEHAVIOR_ROBUST_BUFFER_ACCESS_2_EXT for uniformBuffers, and the robustBufferAccess feature is not enabled, that stage must not access values outside of the range of the buffer as specified in the descriptor set bound to the same pipeline bind point", "1.3-extensions"}, @@ -9882,7 +9924,7 @@ static const vuid_spec_text_pair vuid_spec_text[] = { {"VUID-vkCmdDrawClusterIndirectHUAWEI-None-07846", "If the bound graphics pipeline state was created with the VK_DYNAMIC_STATE_DEPTH_BOUNDS_TEST_ENABLE dynamic state enabled then vkCmdSetDepthBoundsTestEnable must have been called in the current command buffer prior to this drawing command", "1.3-extensions"}, {"VUID-vkCmdDrawClusterIndirectHUAWEI-None-07847", "If the bound graphics pipeline state was created with the VK_DYNAMIC_STATE_STENCIL_TEST_ENABLE dynamic state enabled then vkCmdSetStencilTestEnable must have been called in the current command buffer prior to this drawing command", "1.3-extensions"}, {"VUID-vkCmdDrawClusterIndirectHUAWEI-None-07848", "If the bound graphics pipeline state was created with the VK_DYNAMIC_STATE_STENCIL_OP dynamic state enabled then vkCmdSetStencilOp must have been called in the current command buffer prior to this drawing command", "1.3-extensions"}, - {"VUID-vkCmdDrawClusterIndirectHUAWEI-None-07849", "If the bound graphics pipeline state was created with the VK_DYNAMIC_STATE_LINE_STIPPLE_EXT dynamic state enabled then vkCmdSetLineStippleEXT must have been called in the current command buffer prior to this drawing command", "1.3-extensions"}, + {"VUID-vkCmdDrawClusterIndirectHUAWEI-None-07849", "If the bound graphics pipeline state was created with the VK_DYNAMIC_STATE_LINE_STIPPLE_KHR dynamic state enabled then vkCmdSetLineStippleKHR must have been called in the current command buffer prior to this drawing command", "1.3-extensions"}, {"VUID-vkCmdDrawClusterIndirectHUAWEI-None-07850", "If dynamic state was inherited from VkCommandBufferInheritanceViewportScissorInfoNV, it must be set in the current command buffer prior to this drawing command", "1.3-extensions"}, {"VUID-vkCmdDrawClusterIndirectHUAWEI-None-07878", "If the bound graphics pipeline state was created with the VK_DYNAMIC_STATE_EXCLUSIVE_SCISSOR_ENABLE_NV dynamic state enabled then vkCmdSetExclusiveScissorEnableNV must have been called in the current command buffer prior to this drawing command", "1.3-extensions"}, {"VUID-vkCmdDrawClusterIndirectHUAWEI-None-07879", "If the bound graphics pipeline state was created with the VK_DYNAMIC_STATE_EXCLUSIVE_SCISSOR_NV dynamic state enabled then vkCmdSetExclusiveScissorNV must have been called in the current command buffer prior to this drawing command", "1.3-extensions"}, @@ -9953,13 +9995,13 @@ static const vuid_spec_text_pair vuid_spec_text[] = { {"VUID-vkCmdDrawClusterIndirectHUAWEI-None-08663", "If the depthClipEnable feature is enabled, and a shader object is bound to any graphics stage, then vkCmdSetDepthClipEnableEXT must have been called in the current command buffer prior to this drawing command", "1.3-extensions"}, {"VUID-vkCmdDrawClusterIndirectHUAWEI-None-08664", "If the VK_EXT_sample_locations extension is enabled, and a shader object is bound to any graphics stage, and the most recent call to vkCmdSetRasterizerDiscardEnable in the current command buffer set rasterizerDiscardEnable to VK_FALSE, then vkCmdSetSampleLocationsEnableEXT must have been called in the current command buffer prior to this drawing command", "1.3-extensions"}, {"VUID-vkCmdDrawClusterIndirectHUAWEI-None-08665", "If the VK_EXT_provoking_vertex extension is enabled, and a shader object is bound to the VK_SHADER_STAGE_VERTEX_BIT stage, and the most recent call to vkCmdSetRasterizerDiscardEnable in the current command buffer set rasterizerDiscardEnable to VK_FALSE, then vkCmdSetProvokingVertexModeEXT must have been called in the current command buffer prior to this drawing command", "1.3-extensions"}, - {"VUID-vkCmdDrawClusterIndirectHUAWEI-None-08666", "If the VK_EXT_line_rasterization extension is enabled, and a shader object is bound to any graphics stage, and the most recent call to vkCmdSetRasterizerDiscardEnable in the current command buffer set rasterizerDiscardEnable to VK_FALSE, and the most recent call to vkCmdSetPolygonModeEXT in the current command buffer set polygonMode to VK_POLYGON_MODE_LINE, then vkCmdSetLineRasterizationModeEXT must have been called in the current command buffer prior to this drawing command", "1.3-extensions"}, - {"VUID-vkCmdDrawClusterIndirectHUAWEI-None-08667", "If the VK_EXT_line_rasterization extension is enabled, and a shader object is bound to the VK_SHADER_STAGE_VERTEX_BIT stage, and the most recent call to vkCmdSetRasterizerDiscardEnable in the current command buffer set rasterizerDiscardEnable to VK_FALSE, and the most recent call to vkCmdSetPrimitiveTopology in the current command buffer set primitiveTopology to any line topology, then vkCmdSetLineRasterizationModeEXT must have been called in the current command buffer prior to this drawing command", "1.3-extensions"}, - {"VUID-vkCmdDrawClusterIndirectHUAWEI-None-08668", "If the VK_EXT_line_rasterization extension is enabled, and a shader object that outputs line primitives is bound to the VK_SHADER_STAGE_TESSELLATION_EVALUATION_BIT or VK_SHADER_STAGE_GEOMETRY_BIT stage, and the most recent call to vkCmdSetRasterizerDiscardEnable in the current command buffer set rasterizerDiscardEnable to VK_FALSE, then vkCmdSetLineRasterizationModeEXT must have been called in the current command buffer prior to this drawing command", "1.3-extensions"}, - {"VUID-vkCmdDrawClusterIndirectHUAWEI-None-08669", "If the VK_EXT_line_rasterization extension is enabled, and a shader object is bound to any graphics stage, and the most recent call to vkCmdSetRasterizerDiscardEnable in the current command buffer set rasterizerDiscardEnable to VK_FALSE, and the most recent call to vkCmdSetPolygonModeEXT in the current command buffer set polygonMode to VK_POLYGON_MODE_LINE, then vkCmdSetLineStippleEnableEXT must have been called in the current command buffer prior to this drawing command", "1.3-extensions"}, - {"VUID-vkCmdDrawClusterIndirectHUAWEI-None-08670", "If the VK_EXT_line_rasterization extension is enabled, and a shader object is bound to the VK_SHADER_STAGE_VERTEX_BIT stage, and the most recent call to vkCmdSetRasterizerDiscardEnable in the current command buffer set rasterizerDiscardEnable to VK_FALSE, and the most recent call to vkCmdSetPrimitiveTopology in the current command buffer set primitiveTopology to any line topology, then vkCmdSetLineStippleEnableEXT must have been called in the current command buffer prior to this drawing command", "1.3-extensions"}, - {"VUID-vkCmdDrawClusterIndirectHUAWEI-None-08671", "If the VK_EXT_line_rasterization extension is enabled, and a shader object that outputs line primitives is bound to the VK_SHADER_STAGE_TESSELLATION_EVALUATION_BIT or VK_SHADER_STAGE_GEOMETRY_BIT stage, and the most recent call to vkCmdSetRasterizerDiscardEnable in the current command buffer set rasterizerDiscardEnable to VK_FALSE, then vkCmdSetLineStippleEnableEXT must have been called in the current command buffer prior to this drawing command", "1.3-extensions"}, - {"VUID-vkCmdDrawClusterIndirectHUAWEI-None-08672", "If the VK_EXT_line_rasterization extension is enabled, and a shader object is bound to any graphics stage, and the most recent call to vkCmdSetRasterizerDiscardEnable in the current command buffer set rasterizerDiscardEnable to VK_FALSE, and the most recent call to vkCmdSetLineStippleEnableEXT in the current command buffer set stippledLineEnable to VK_TRUE, then vkCmdSetLineStippleEXT must have been called in the current command buffer prior to this drawing command", "1.3-extensions"}, + {"VUID-vkCmdDrawClusterIndirectHUAWEI-None-08666", "If the VK_KHR_line_rasterization or VK_EXT_line_rasterization extension is enabled, and a shader object is bound to any graphics stage, and the most recent call to vkCmdSetRasterizerDiscardEnable in the current command buffer set rasterizerDiscardEnable to VK_FALSE, and the most recent call to vkCmdSetPolygonModeEXT in the current command buffer set polygonMode to VK_POLYGON_MODE_LINE, then vkCmdSetLineRasterizationModeEXT must have been called in the current command buffer prior to this drawing command", "1.3-extensions"}, + {"VUID-vkCmdDrawClusterIndirectHUAWEI-None-08667", "If the VK_KHR_line_rasterization or VK_EXT_line_rasterization extension is enabled, and a shader object is bound to the VK_SHADER_STAGE_VERTEX_BIT stage, and the most recent call to vkCmdSetRasterizerDiscardEnable in the current command buffer set rasterizerDiscardEnable to VK_FALSE, and the most recent call to vkCmdSetPrimitiveTopology in the current command buffer set primitiveTopology to any line topology, then vkCmdSetLineRasterizationModeEXT must have been called in the current command buffer prior to this drawing command", "1.3-extensions"}, + {"VUID-vkCmdDrawClusterIndirectHUAWEI-None-08668", "If the VK_KHR_line_rasterization or VK_EXT_line_rasterization extension is enabled, and a shader object that outputs line primitives is bound to the VK_SHADER_STAGE_TESSELLATION_EVALUATION_BIT or VK_SHADER_STAGE_GEOMETRY_BIT stage, and the most recent call to vkCmdSetRasterizerDiscardEnable in the current command buffer set rasterizerDiscardEnable to VK_FALSE, then vkCmdSetLineRasterizationModeEXT must have been called in the current command buffer prior to this drawing command", "1.3-extensions"}, + {"VUID-vkCmdDrawClusterIndirectHUAWEI-None-08669", "If the VK_KHR_line_rasterization or VK_EXT_line_rasterization extension is enabled, and a shader object is bound to any graphics stage, and the most recent call to vkCmdSetRasterizerDiscardEnable in the current command buffer set rasterizerDiscardEnable to VK_FALSE, and the most recent call to vkCmdSetPolygonModeEXT in the current command buffer set polygonMode to VK_POLYGON_MODE_LINE, then vkCmdSetLineStippleEnableEXT must have been called in the current command buffer prior to this drawing command", "1.3-extensions"}, + {"VUID-vkCmdDrawClusterIndirectHUAWEI-None-08670", "If the VK_KHR_line_rasterization or VK_EXT_line_rasterization extension is enabled, and a shader object is bound to the VK_SHADER_STAGE_VERTEX_BIT stage, and the most recent call to vkCmdSetRasterizerDiscardEnable in the current command buffer set rasterizerDiscardEnable to VK_FALSE, and the most recent call to vkCmdSetPrimitiveTopology in the current command buffer set primitiveTopology to any line topology, then vkCmdSetLineStippleEnableEXT must have been called in the current command buffer prior to this drawing command", "1.3-extensions"}, + {"VUID-vkCmdDrawClusterIndirectHUAWEI-None-08671", "If the VK_KHR_line_rasterization or VK_EXT_line_rasterization extension is enabled, and a shader object that outputs line primitives is bound to the VK_SHADER_STAGE_TESSELLATION_EVALUATION_BIT or VK_SHADER_STAGE_GEOMETRY_BIT stage, and the most recent call to vkCmdSetRasterizerDiscardEnable in the current command buffer set rasterizerDiscardEnable to VK_FALSE, then vkCmdSetLineStippleEnableEXT must have been called in the current command buffer prior to this drawing command", "1.3-extensions"}, + {"VUID-vkCmdDrawClusterIndirectHUAWEI-None-08672", "If the VK_KHR_line_rasterization or VK_EXT_line_rasterization extension is enabled, and a shader object is bound to any graphics stage, and the most recent call to vkCmdSetRasterizerDiscardEnable in the current command buffer set rasterizerDiscardEnable to VK_FALSE, and the most recent call to vkCmdSetLineStippleEnableEXT in the current command buffer set stippledLineEnable to VK_TRUE, then vkCmdSetLineStippleEXT must have been called in the current command buffer prior to this drawing command", "1.3-extensions"}, {"VUID-vkCmdDrawClusterIndirectHUAWEI-None-08673", "If the depthClipControl feature is enabled, and a shader object is bound to any graphics stage, then vkCmdSetDepthClipNegativeOneToOneEXT must have been called in the current command buffer prior to this drawing command", "1.3-extensions"}, {"VUID-vkCmdDrawClusterIndirectHUAWEI-None-08674", "If the VK_NV_clip_space_w_scaling extension is enabled, and a shader object is bound to any graphics stage, then vkCmdSetViewportWScalingEnableNV must have been called in the current command buffer prior to this drawing command", "1.3-extensions"}, {"VUID-vkCmdDrawClusterIndirectHUAWEI-None-08675", "If the VK_NV_viewport_swizzle extension is enabled, and a shader object is bound to any graphics stage, then vkCmdSetViewportSwizzleNV must have been called in the current command buffer prior to this drawing command", "1.3-extensions"}, @@ -10003,6 +10045,8 @@ static const vuid_spec_text_pair vuid_spec_text[] = { {"VUID-vkCmdDrawClusterIndirectHUAWEI-None-09366", "If there is a shader object bound to any graphics stage, and the current render pass includes a color attachment that uses the VK_RESOLVE_MODE_EXTERNAL_FORMAT_DOWNSAMPLE_ANDROID resolve mode, then vkCmdSetColorBlendEnableEXT must have set blend enable to VK_FALSE prior to this drawing command", "1.3-extensions"}, {"VUID-vkCmdDrawClusterIndirectHUAWEI-None-09368", "If the current render pass instance was begun with vkCmdBeginRendering, there is no shader object bound to any graphics stage, and the currently bound graphics pipeline was created with a non-zero VkExternalFormatANDROID::externalFormat value and with the VK_DYNAMIC_STATE_FRAGMENT_SHADING_RATE_KHR dynamic state enabled, then vkCmdSetFragmentShadingRateKHR must have set pFragmentSize->width to 1 prior to this drawing command", "1.3-extensions"}, {"VUID-vkCmdDrawClusterIndirectHUAWEI-None-09369", "If the current render pass instance was begun with vkCmdBeginRendering, there is no shader object bound to any graphics stage, and the currently bound graphics pipeline was created with a non-zero VkExternalFormatANDROID::externalFormat value and with the VK_DYNAMIC_STATE_FRAGMENT_SHADING_RATE_KHR dynamic state enabled, then vkCmdSetFragmentShadingRateKHR must have set pFragmentSize->height to 1 prior to this drawing command", "1.3-extensions"}, + {"VUID-vkCmdDrawClusterIndirectHUAWEI-None-09548", "If the current render pass was begun with vkCmdBeginRendering, and there is no shader object bound to any graphics stage, the value of each element of VkRenderingAttachmentLocationInfoKHR::pColorAttachmentLocations set by vkCmdSetRenderingAttachmentLocationsKHR must match the value set for the corresponding element in the currently bound pipeline", "1.3-extensions"}, + {"VUID-vkCmdDrawClusterIndirectHUAWEI-None-09549", "If the current render pass was begun with vkCmdBeginRendering, and there is no shader object bound to any graphics stage, input attachment index mappings in the currently bound pipeline must match those set for the current render pass instance via VkRenderingInputAttachmentIndexInfoKHR", "1.3-extensions"}, {"VUID-vkCmdDrawClusterIndirectHUAWEI-OpImageBlockMatchSADQCOM-06975", "If OpImageBlockMatchSADQCOM is used to read from an VkImageView as a result of this command, then the image view's format features must contain VK_FORMAT_FEATURE_2_BLOCK_MATCHING_BIT_QCOM", "1.3-extensions"}, {"VUID-vkCmdDrawClusterIndirectHUAWEI-OpImageBlockMatchSADQCOM-06976", "If OpImageBlockMatchSADQCOM or OpImageBlockMatchSSDQCOM is used to read from a reference image as result of this command, then the specified reference coordinates must not fail integer texel coordinate validation", "1.3-extensions"}, {"VUID-vkCmdDrawClusterIndirectHUAWEI-OpImageBlockMatchSSDQCOM-06974", "If OpImageBlockMatchSSDQCOM is used to read from an VkImageView as a result of this command, then the image view's format features must contain VK_FORMAT_FEATURE_2_BLOCK_MATCHING_BIT_QCOM", "1.3-extensions"}, @@ -10140,10 +10184,10 @@ static const vuid_spec_text_pair vuid_spec_text[] = { {"VUID-vkCmdDrawClusterIndirectHUAWEI-sparseImageInt64Atomics-04475", "If the sparseImageInt64Atomics feature is not enabled, VkBuffer objects created with the VK_BUFFER_CREATE_SPARSE_RESIDENCY_BIT flag must not be accessed by atomic instructions through an OpTypeImage with a SampledType with a Width of 64 by this command", "1.3-extensions"}, {"VUID-vkCmdDrawClusterIndirectHUAWEI-stage-06480", "The bound graphics pipeline must not have been created with the VkPipelineShaderStageCreateInfo::stage member of an element of VkGraphicsPipelineCreateInfo::pStages set to VK_SHADER_STAGE_VERTEX_BIT, VK_SHADER_STAGE_TESSELLATION_CONTROL_BIT, VK_SHADER_STAGE_TESSELLATION_EVALUATION_BIT or VK_SHADER_STAGE_GEOMETRY_BIT", "1.3-extensions"}, {"VUID-vkCmdDrawClusterIndirectHUAWEI-stage-07073", "If the currently bound pipeline was created with the VkPipelineShaderStageCreateInfo::stage member of an element of VkGraphicsPipelineCreateInfo::pStages set to VK_SHADER_STAGE_VERTEX_BIT, VK_SHADER_STAGE_TESSELLATION_CONTROL_BIT, VK_SHADER_STAGE_TESSELLATION_EVALUATION_BIT or VK_SHADER_STAGE_GEOMETRY_BIT, then Mesh Shader Queries must not be active", "1.3-extensions"}, - {"VUID-vkCmdDrawClusterIndirectHUAWEI-stippledLineEnable-07495", "If the bound graphics pipeline state was created with the VK_DYNAMIC_STATE_LINE_STIPPLE_ENABLE_EXT or VK_DYNAMIC_STATE_LINE_RASTERIZATION_MODE_EXT dynamic states enabled, and if the current stippledLineEnable state is VK_TRUE and the current lineRasterizationMode state is VK_LINE_RASTERIZATION_MODE_RECTANGULAR_EXT, then the stippledRectangularLines feature must be enabled", "1.3-extensions"}, - {"VUID-vkCmdDrawClusterIndirectHUAWEI-stippledLineEnable-07496", "If the bound graphics pipeline state was created with the VK_DYNAMIC_STATE_LINE_STIPPLE_ENABLE_EXT or VK_DYNAMIC_STATE_LINE_RASTERIZATION_MODE_EXT dynamic states enabled, and if the current stippledLineEnable state is VK_TRUE and the current lineRasterizationMode state is VK_LINE_RASTERIZATION_MODE_BRESENHAM_EXT, then the stippledBresenhamLines feature must be enabled", "1.3-extensions"}, - {"VUID-vkCmdDrawClusterIndirectHUAWEI-stippledLineEnable-07497", "If the bound graphics pipeline state was created with the VK_DYNAMIC_STATE_LINE_STIPPLE_ENABLE_EXT or VK_DYNAMIC_STATE_LINE_RASTERIZATION_MODE_EXT dynamic states enabled, and if the current stippledLineEnable state is VK_TRUE and the current lineRasterizationMode state is VK_LINE_RASTERIZATION_MODE_RECTANGULAR_SMOOTH_EXT, then the stippledSmoothLines feature must be enabled", "1.3-extensions"}, - {"VUID-vkCmdDrawClusterIndirectHUAWEI-stippledLineEnable-07498", "If the bound graphics pipeline state was created with the VK_DYNAMIC_STATE_LINE_STIPPLE_ENABLE_EXT or VK_DYNAMIC_STATE_LINE_RASTERIZATION_MODE_EXT dynamic states enabled, and if the current stippledLineEnable state is VK_TRUE and the current lineRasterizationMode state is VK_LINE_RASTERIZATION_MODE_DEFAULT_EXT, then the stippledRectangularLines feature must be enabled and VkPhysicalDeviceLimits::strictLines must be VK_TRUE", "1.3-extensions"}, + {"VUID-vkCmdDrawClusterIndirectHUAWEI-stippledLineEnable-07495", "If the bound graphics pipeline state was created with the VK_DYNAMIC_STATE_LINE_STIPPLE_ENABLE_EXT or VK_DYNAMIC_STATE_LINE_RASTERIZATION_MODE_EXT dynamic states enabled, and if the current stippledLineEnable state is VK_TRUE and the current lineRasterizationMode state is VK_LINE_RASTERIZATION_MODE_RECTANGULAR_KHR, then the stippledRectangularLines feature must be enabled", "1.3-extensions"}, + {"VUID-vkCmdDrawClusterIndirectHUAWEI-stippledLineEnable-07496", "If the bound graphics pipeline state was created with the VK_DYNAMIC_STATE_LINE_STIPPLE_ENABLE_EXT or VK_DYNAMIC_STATE_LINE_RASTERIZATION_MODE_EXT dynamic states enabled, and if the current stippledLineEnable state is VK_TRUE and the current lineRasterizationMode state is VK_LINE_RASTERIZATION_MODE_BRESENHAM_KHR, then the stippledBresenhamLines feature must be enabled", "1.3-extensions"}, + {"VUID-vkCmdDrawClusterIndirectHUAWEI-stippledLineEnable-07497", "If the bound graphics pipeline state was created with the VK_DYNAMIC_STATE_LINE_STIPPLE_ENABLE_EXT or VK_DYNAMIC_STATE_LINE_RASTERIZATION_MODE_EXT dynamic states enabled, and if the current stippledLineEnable state is VK_TRUE and the current lineRasterizationMode state is VK_LINE_RASTERIZATION_MODE_RECTANGULAR_SMOOTH_KHR, then the stippledSmoothLines feature must be enabled", "1.3-extensions"}, + {"VUID-vkCmdDrawClusterIndirectHUAWEI-stippledLineEnable-07498", "If the bound graphics pipeline state was created with the VK_DYNAMIC_STATE_LINE_STIPPLE_ENABLE_EXT or VK_DYNAMIC_STATE_LINE_RASTERIZATION_MODE_EXT dynamic states enabled, and if the current stippledLineEnable state is VK_TRUE and the current lineRasterizationMode state is VK_LINE_RASTERIZATION_MODE_DEFAULT_KHR, then the stippledRectangularLines feature must be enabled and VkPhysicalDeviceLimits::strictLines must be VK_TRUE", "1.3-extensions"}, {"VUID-vkCmdDrawClusterIndirectHUAWEI-storageBuffers-06936", "If any stage of the VkPipeline object bound to the pipeline bind point used by this command accesses a storage buffer, and that stage was created without enabling either VK_PIPELINE_ROBUSTNESS_BUFFER_BEHAVIOR_ROBUST_BUFFER_ACCESS_EXT or VK_PIPELINE_ROBUSTNESS_BUFFER_BEHAVIOR_ROBUST_BUFFER_ACCESS_2_EXT for storageBuffers, and the robustBufferAccess feature is not enabled, that stage must not access values outside of the range of the buffer as specified in the descriptor set bound to the same pipeline bind point", "1.3-extensions"}, {"VUID-vkCmdDrawClusterIndirectHUAWEI-subpass-02685", "The subpass index of the current render pass must be equal to the subpass member of the VkGraphicsPipelineCreateInfo structure specified when creating the VkPipeline bound to VK_PIPELINE_BIND_POINT_GRAPHICS", "1.3-extensions"}, {"VUID-vkCmdDrawClusterIndirectHUAWEI-uniformBuffers-06935", "If any stage of the VkPipeline object bound to the pipeline bind point used by this command accesses a uniform buffer, and that stage was created without enabling either VK_PIPELINE_ROBUSTNESS_BUFFER_BEHAVIOR_ROBUST_BUFFER_ACCESS_EXT or VK_PIPELINE_ROBUSTNESS_BUFFER_BEHAVIOR_ROBUST_BUFFER_ACCESS_2_EXT for uniformBuffers, and the robustBufferAccess feature is not enabled, that stage must not access values outside of the range of the buffer as specified in the descriptor set bound to the same pipeline bind point", "1.3-extensions"}, @@ -10236,7 +10280,7 @@ static const vuid_spec_text_pair vuid_spec_text[] = { {"VUID-vkCmdDrawIndexed-None-07846", "If the bound graphics pipeline state was created with the VK_DYNAMIC_STATE_DEPTH_BOUNDS_TEST_ENABLE dynamic state enabled then vkCmdSetDepthBoundsTestEnable must have been called in the current command buffer prior to this drawing command", "1.3-extensions"}, {"VUID-vkCmdDrawIndexed-None-07847", "If the bound graphics pipeline state was created with the VK_DYNAMIC_STATE_STENCIL_TEST_ENABLE dynamic state enabled then vkCmdSetStencilTestEnable must have been called in the current command buffer prior to this drawing command", "1.3-extensions"}, {"VUID-vkCmdDrawIndexed-None-07848", "If the bound graphics pipeline state was created with the VK_DYNAMIC_STATE_STENCIL_OP dynamic state enabled then vkCmdSetStencilOp must have been called in the current command buffer prior to this drawing command", "1.3-extensions"}, - {"VUID-vkCmdDrawIndexed-None-07849", "If the bound graphics pipeline state was created with the VK_DYNAMIC_STATE_LINE_STIPPLE_EXT dynamic state enabled then vkCmdSetLineStippleEXT must have been called in the current command buffer prior to this drawing command", "1.3-extensions"}, + {"VUID-vkCmdDrawIndexed-None-07849", "If the bound graphics pipeline state was created with the VK_DYNAMIC_STATE_LINE_STIPPLE_KHR dynamic state enabled then vkCmdSetLineStippleKHR must have been called in the current command buffer prior to this drawing command", "1.3-extensions"}, {"VUID-vkCmdDrawIndexed-None-07850", "If dynamic state was inherited from VkCommandBufferInheritanceViewportScissorInfoNV, it must be set in the current command buffer prior to this drawing command", "1.3-extensions"}, {"VUID-vkCmdDrawIndexed-None-07878", "If the bound graphics pipeline state was created with the VK_DYNAMIC_STATE_EXCLUSIVE_SCISSOR_ENABLE_NV dynamic state enabled then vkCmdSetExclusiveScissorEnableNV must have been called in the current command buffer prior to this drawing command", "1.3-extensions"}, {"VUID-vkCmdDrawIndexed-None-07879", "If the bound graphics pipeline state was created with the VK_DYNAMIC_STATE_EXCLUSIVE_SCISSOR_NV dynamic state enabled then vkCmdSetExclusiveScissorNV must have been called in the current command buffer prior to this drawing command", "1.3-extensions"}, @@ -10307,13 +10351,13 @@ static const vuid_spec_text_pair vuid_spec_text[] = { {"VUID-vkCmdDrawIndexed-None-08663", "If the depthClipEnable feature is enabled, and a shader object is bound to any graphics stage, then vkCmdSetDepthClipEnableEXT must have been called in the current command buffer prior to this drawing command", "1.3-extensions"}, {"VUID-vkCmdDrawIndexed-None-08664", "If the VK_EXT_sample_locations extension is enabled, and a shader object is bound to any graphics stage, and the most recent call to vkCmdSetRasterizerDiscardEnable in the current command buffer set rasterizerDiscardEnable to VK_FALSE, then vkCmdSetSampleLocationsEnableEXT must have been called in the current command buffer prior to this drawing command", "1.3-extensions"}, {"VUID-vkCmdDrawIndexed-None-08665", "If the VK_EXT_provoking_vertex extension is enabled, and a shader object is bound to the VK_SHADER_STAGE_VERTEX_BIT stage, and the most recent call to vkCmdSetRasterizerDiscardEnable in the current command buffer set rasterizerDiscardEnable to VK_FALSE, then vkCmdSetProvokingVertexModeEXT must have been called in the current command buffer prior to this drawing command", "1.3-extensions"}, - {"VUID-vkCmdDrawIndexed-None-08666", "If the VK_EXT_line_rasterization extension is enabled, and a shader object is bound to any graphics stage, and the most recent call to vkCmdSetRasterizerDiscardEnable in the current command buffer set rasterizerDiscardEnable to VK_FALSE, and the most recent call to vkCmdSetPolygonModeEXT in the current command buffer set polygonMode to VK_POLYGON_MODE_LINE, then vkCmdSetLineRasterizationModeEXT must have been called in the current command buffer prior to this drawing command", "1.3-extensions"}, - {"VUID-vkCmdDrawIndexed-None-08667", "If the VK_EXT_line_rasterization extension is enabled, and a shader object is bound to the VK_SHADER_STAGE_VERTEX_BIT stage, and the most recent call to vkCmdSetRasterizerDiscardEnable in the current command buffer set rasterizerDiscardEnable to VK_FALSE, and the most recent call to vkCmdSetPrimitiveTopology in the current command buffer set primitiveTopology to any line topology, then vkCmdSetLineRasterizationModeEXT must have been called in the current command buffer prior to this drawing command", "1.3-extensions"}, - {"VUID-vkCmdDrawIndexed-None-08668", "If the VK_EXT_line_rasterization extension is enabled, and a shader object that outputs line primitives is bound to the VK_SHADER_STAGE_TESSELLATION_EVALUATION_BIT or VK_SHADER_STAGE_GEOMETRY_BIT stage, and the most recent call to vkCmdSetRasterizerDiscardEnable in the current command buffer set rasterizerDiscardEnable to VK_FALSE, then vkCmdSetLineRasterizationModeEXT must have been called in the current command buffer prior to this drawing command", "1.3-extensions"}, - {"VUID-vkCmdDrawIndexed-None-08669", "If the VK_EXT_line_rasterization extension is enabled, and a shader object is bound to any graphics stage, and the most recent call to vkCmdSetRasterizerDiscardEnable in the current command buffer set rasterizerDiscardEnable to VK_FALSE, and the most recent call to vkCmdSetPolygonModeEXT in the current command buffer set polygonMode to VK_POLYGON_MODE_LINE, then vkCmdSetLineStippleEnableEXT must have been called in the current command buffer prior to this drawing command", "1.3-extensions"}, - {"VUID-vkCmdDrawIndexed-None-08670", "If the VK_EXT_line_rasterization extension is enabled, and a shader object is bound to the VK_SHADER_STAGE_VERTEX_BIT stage, and the most recent call to vkCmdSetRasterizerDiscardEnable in the current command buffer set rasterizerDiscardEnable to VK_FALSE, and the most recent call to vkCmdSetPrimitiveTopology in the current command buffer set primitiveTopology to any line topology, then vkCmdSetLineStippleEnableEXT must have been called in the current command buffer prior to this drawing command", "1.3-extensions"}, - {"VUID-vkCmdDrawIndexed-None-08671", "If the VK_EXT_line_rasterization extension is enabled, and a shader object that outputs line primitives is bound to the VK_SHADER_STAGE_TESSELLATION_EVALUATION_BIT or VK_SHADER_STAGE_GEOMETRY_BIT stage, and the most recent call to vkCmdSetRasterizerDiscardEnable in the current command buffer set rasterizerDiscardEnable to VK_FALSE, then vkCmdSetLineStippleEnableEXT must have been called in the current command buffer prior to this drawing command", "1.3-extensions"}, - {"VUID-vkCmdDrawIndexed-None-08672", "If the VK_EXT_line_rasterization extension is enabled, and a shader object is bound to any graphics stage, and the most recent call to vkCmdSetRasterizerDiscardEnable in the current command buffer set rasterizerDiscardEnable to VK_FALSE, and the most recent call to vkCmdSetLineStippleEnableEXT in the current command buffer set stippledLineEnable to VK_TRUE, then vkCmdSetLineStippleEXT must have been called in the current command buffer prior to this drawing command", "1.3-extensions"}, + {"VUID-vkCmdDrawIndexed-None-08666", "If the VK_KHR_line_rasterization or VK_EXT_line_rasterization extension is enabled, and a shader object is bound to any graphics stage, and the most recent call to vkCmdSetRasterizerDiscardEnable in the current command buffer set rasterizerDiscardEnable to VK_FALSE, and the most recent call to vkCmdSetPolygonModeEXT in the current command buffer set polygonMode to VK_POLYGON_MODE_LINE, then vkCmdSetLineRasterizationModeEXT must have been called in the current command buffer prior to this drawing command", "1.3-extensions"}, + {"VUID-vkCmdDrawIndexed-None-08667", "If the VK_KHR_line_rasterization or VK_EXT_line_rasterization extension is enabled, and a shader object is bound to the VK_SHADER_STAGE_VERTEX_BIT stage, and the most recent call to vkCmdSetRasterizerDiscardEnable in the current command buffer set rasterizerDiscardEnable to VK_FALSE, and the most recent call to vkCmdSetPrimitiveTopology in the current command buffer set primitiveTopology to any line topology, then vkCmdSetLineRasterizationModeEXT must have been called in the current command buffer prior to this drawing command", "1.3-extensions"}, + {"VUID-vkCmdDrawIndexed-None-08668", "If the VK_KHR_line_rasterization or VK_EXT_line_rasterization extension is enabled, and a shader object that outputs line primitives is bound to the VK_SHADER_STAGE_TESSELLATION_EVALUATION_BIT or VK_SHADER_STAGE_GEOMETRY_BIT stage, and the most recent call to vkCmdSetRasterizerDiscardEnable in the current command buffer set rasterizerDiscardEnable to VK_FALSE, then vkCmdSetLineRasterizationModeEXT must have been called in the current command buffer prior to this drawing command", "1.3-extensions"}, + {"VUID-vkCmdDrawIndexed-None-08669", "If the VK_KHR_line_rasterization or VK_EXT_line_rasterization extension is enabled, and a shader object is bound to any graphics stage, and the most recent call to vkCmdSetRasterizerDiscardEnable in the current command buffer set rasterizerDiscardEnable to VK_FALSE, and the most recent call to vkCmdSetPolygonModeEXT in the current command buffer set polygonMode to VK_POLYGON_MODE_LINE, then vkCmdSetLineStippleEnableEXT must have been called in the current command buffer prior to this drawing command", "1.3-extensions"}, + {"VUID-vkCmdDrawIndexed-None-08670", "If the VK_KHR_line_rasterization or VK_EXT_line_rasterization extension is enabled, and a shader object is bound to the VK_SHADER_STAGE_VERTEX_BIT stage, and the most recent call to vkCmdSetRasterizerDiscardEnable in the current command buffer set rasterizerDiscardEnable to VK_FALSE, and the most recent call to vkCmdSetPrimitiveTopology in the current command buffer set primitiveTopology to any line topology, then vkCmdSetLineStippleEnableEXT must have been called in the current command buffer prior to this drawing command", "1.3-extensions"}, + {"VUID-vkCmdDrawIndexed-None-08671", "If the VK_KHR_line_rasterization or VK_EXT_line_rasterization extension is enabled, and a shader object that outputs line primitives is bound to the VK_SHADER_STAGE_TESSELLATION_EVALUATION_BIT or VK_SHADER_STAGE_GEOMETRY_BIT stage, and the most recent call to vkCmdSetRasterizerDiscardEnable in the current command buffer set rasterizerDiscardEnable to VK_FALSE, then vkCmdSetLineStippleEnableEXT must have been called in the current command buffer prior to this drawing command", "1.3-extensions"}, + {"VUID-vkCmdDrawIndexed-None-08672", "If the VK_KHR_line_rasterization or VK_EXT_line_rasterization extension is enabled, and a shader object is bound to any graphics stage, and the most recent call to vkCmdSetRasterizerDiscardEnable in the current command buffer set rasterizerDiscardEnable to VK_FALSE, and the most recent call to vkCmdSetLineStippleEnableEXT in the current command buffer set stippledLineEnable to VK_TRUE, then vkCmdSetLineStippleEXT must have been called in the current command buffer prior to this drawing command", "1.3-extensions"}, {"VUID-vkCmdDrawIndexed-None-08673", "If the depthClipControl feature is enabled, and a shader object is bound to any graphics stage, then vkCmdSetDepthClipNegativeOneToOneEXT must have been called in the current command buffer prior to this drawing command", "1.3-extensions"}, {"VUID-vkCmdDrawIndexed-None-08674", "If the VK_NV_clip_space_w_scaling extension is enabled, and a shader object is bound to any graphics stage, then vkCmdSetViewportWScalingEnableNV must have been called in the current command buffer prior to this drawing command", "1.3-extensions"}, {"VUID-vkCmdDrawIndexed-None-08675", "If the VK_NV_viewport_swizzle extension is enabled, and a shader object is bound to any graphics stage, then vkCmdSetViewportSwizzleNV must have been called in the current command buffer prior to this drawing command", "1.3-extensions"}, @@ -10360,6 +10404,8 @@ static const vuid_spec_text_pair vuid_spec_text[] = { {"VUID-vkCmdDrawIndexed-None-09368", "If the current render pass instance was begun with vkCmdBeginRendering, there is no shader object bound to any graphics stage, and the currently bound graphics pipeline was created with a non-zero VkExternalFormatANDROID::externalFormat value and with the VK_DYNAMIC_STATE_FRAGMENT_SHADING_RATE_KHR dynamic state enabled, then vkCmdSetFragmentShadingRateKHR must have set pFragmentSize->width to 1 prior to this drawing command", "1.3-extensions"}, {"VUID-vkCmdDrawIndexed-None-09369", "If the current render pass instance was begun with vkCmdBeginRendering, there is no shader object bound to any graphics stage, and the currently bound graphics pipeline was created with a non-zero VkExternalFormatANDROID::externalFormat value and with the VK_DYNAMIC_STATE_FRAGMENT_SHADING_RATE_KHR dynamic state enabled, then vkCmdSetFragmentShadingRateKHR must have set pFragmentSize->height to 1 prior to this drawing command", "1.3-extensions"}, {"VUID-vkCmdDrawIndexed-None-09462", "If shader objects are used for drawing or the bound graphics pipeline state was created with the VK_DYNAMIC_STATE_VERTEX_INPUT_EXT dynamic state enabled, any member of the pVertexBindingDescriptions parameter to the vkCmdSetVertexInputEXT call that sets this dynamic state has a value other than 1 in divisor, and VkPhysicalDeviceVertexAttributeDivisorPropertiesKHR::supportsNonZeroFirstInstance is VK_FALSE, then firstInstance must be 0", "1.3-extensions"}, + {"VUID-vkCmdDrawIndexed-None-09548", "If the current render pass was begun with vkCmdBeginRendering, and there is no shader object bound to any graphics stage, the value of each element of VkRenderingAttachmentLocationInfoKHR::pColorAttachmentLocations set by vkCmdSetRenderingAttachmentLocationsKHR must match the value set for the corresponding element in the currently bound pipeline", "1.3-extensions"}, + {"VUID-vkCmdDrawIndexed-None-09549", "If the current render pass was begun with vkCmdBeginRendering, and there is no shader object bound to any graphics stage, input attachment index mappings in the currently bound pipeline must match those set for the current render pass instance via VkRenderingInputAttachmentIndexInfoKHR", "1.3-extensions"}, {"VUID-vkCmdDrawIndexed-OpImageBlockMatchSADQCOM-06975", "If OpImageBlockMatchSADQCOM is used to read from an VkImageView as a result of this command, then the image view's format features must contain VK_FORMAT_FEATURE_2_BLOCK_MATCHING_BIT_QCOM", "1.3-extensions"}, {"VUID-vkCmdDrawIndexed-OpImageBlockMatchSADQCOM-06976", "If OpImageBlockMatchSADQCOM or OpImageBlockMatchSSDQCOM is used to read from a reference image as result of this command, then the specified reference coordinates must not fail integer texel coordinate validation", "1.3-extensions"}, {"VUID-vkCmdDrawIndexed-OpImageBlockMatchSSDQCOM-06974", "If OpImageBlockMatchSSDQCOM is used to read from an VkImageView as a result of this command, then the image view's format features must contain VK_FORMAT_FEATURE_2_BLOCK_MATCHING_BIT_QCOM", "1.3-extensions"}, @@ -10501,10 +10547,10 @@ static const vuid_spec_text_pair vuid_spec_text[] = { {"VUID-vkCmdDrawIndexed-sparseImageInt64Atomics-04475", "If the sparseImageInt64Atomics feature is not enabled, VkBuffer objects created with the VK_BUFFER_CREATE_SPARSE_RESIDENCY_BIT flag must not be accessed by atomic instructions through an OpTypeImage with a SampledType with a Width of 64 by this command", "1.3-extensions"}, {"VUID-vkCmdDrawIndexed-stage-06481", "The bound graphics pipeline must not have been created with the VkPipelineShaderStageCreateInfo::stage member of an element of VkGraphicsPipelineCreateInfo::pStages set to VK_SHADER_STAGE_TASK_BIT_EXT or VK_SHADER_STAGE_MESH_BIT_EXT", "1.3-extensions"}, {"VUID-vkCmdDrawIndexed-stage-07073", "If the currently bound pipeline was created with the VkPipelineShaderStageCreateInfo::stage member of an element of VkGraphicsPipelineCreateInfo::pStages set to VK_SHADER_STAGE_VERTEX_BIT, VK_SHADER_STAGE_TESSELLATION_CONTROL_BIT, VK_SHADER_STAGE_TESSELLATION_EVALUATION_BIT or VK_SHADER_STAGE_GEOMETRY_BIT, then Mesh Shader Queries must not be active", "1.3-extensions"}, - {"VUID-vkCmdDrawIndexed-stippledLineEnable-07495", "If the bound graphics pipeline state was created with the VK_DYNAMIC_STATE_LINE_STIPPLE_ENABLE_EXT or VK_DYNAMIC_STATE_LINE_RASTERIZATION_MODE_EXT dynamic states enabled, and if the current stippledLineEnable state is VK_TRUE and the current lineRasterizationMode state is VK_LINE_RASTERIZATION_MODE_RECTANGULAR_EXT, then the stippledRectangularLines feature must be enabled", "1.3-extensions"}, - {"VUID-vkCmdDrawIndexed-stippledLineEnable-07496", "If the bound graphics pipeline state was created with the VK_DYNAMIC_STATE_LINE_STIPPLE_ENABLE_EXT or VK_DYNAMIC_STATE_LINE_RASTERIZATION_MODE_EXT dynamic states enabled, and if the current stippledLineEnable state is VK_TRUE and the current lineRasterizationMode state is VK_LINE_RASTERIZATION_MODE_BRESENHAM_EXT, then the stippledBresenhamLines feature must be enabled", "1.3-extensions"}, - {"VUID-vkCmdDrawIndexed-stippledLineEnable-07497", "If the bound graphics pipeline state was created with the VK_DYNAMIC_STATE_LINE_STIPPLE_ENABLE_EXT or VK_DYNAMIC_STATE_LINE_RASTERIZATION_MODE_EXT dynamic states enabled, and if the current stippledLineEnable state is VK_TRUE and the current lineRasterizationMode state is VK_LINE_RASTERIZATION_MODE_RECTANGULAR_SMOOTH_EXT, then the stippledSmoothLines feature must be enabled", "1.3-extensions"}, - {"VUID-vkCmdDrawIndexed-stippledLineEnable-07498", "If the bound graphics pipeline state was created with the VK_DYNAMIC_STATE_LINE_STIPPLE_ENABLE_EXT or VK_DYNAMIC_STATE_LINE_RASTERIZATION_MODE_EXT dynamic states enabled, and if the current stippledLineEnable state is VK_TRUE and the current lineRasterizationMode state is VK_LINE_RASTERIZATION_MODE_DEFAULT_EXT, then the stippledRectangularLines feature must be enabled and VkPhysicalDeviceLimits::strictLines must be VK_TRUE", "1.3-extensions"}, + {"VUID-vkCmdDrawIndexed-stippledLineEnable-07495", "If the bound graphics pipeline state was created with the VK_DYNAMIC_STATE_LINE_STIPPLE_ENABLE_EXT or VK_DYNAMIC_STATE_LINE_RASTERIZATION_MODE_EXT dynamic states enabled, and if the current stippledLineEnable state is VK_TRUE and the current lineRasterizationMode state is VK_LINE_RASTERIZATION_MODE_RECTANGULAR_KHR, then the stippledRectangularLines feature must be enabled", "1.3-extensions"}, + {"VUID-vkCmdDrawIndexed-stippledLineEnable-07496", "If the bound graphics pipeline state was created with the VK_DYNAMIC_STATE_LINE_STIPPLE_ENABLE_EXT or VK_DYNAMIC_STATE_LINE_RASTERIZATION_MODE_EXT dynamic states enabled, and if the current stippledLineEnable state is VK_TRUE and the current lineRasterizationMode state is VK_LINE_RASTERIZATION_MODE_BRESENHAM_KHR, then the stippledBresenhamLines feature must be enabled", "1.3-extensions"}, + {"VUID-vkCmdDrawIndexed-stippledLineEnable-07497", "If the bound graphics pipeline state was created with the VK_DYNAMIC_STATE_LINE_STIPPLE_ENABLE_EXT or VK_DYNAMIC_STATE_LINE_RASTERIZATION_MODE_EXT dynamic states enabled, and if the current stippledLineEnable state is VK_TRUE and the current lineRasterizationMode state is VK_LINE_RASTERIZATION_MODE_RECTANGULAR_SMOOTH_KHR, then the stippledSmoothLines feature must be enabled", "1.3-extensions"}, + {"VUID-vkCmdDrawIndexed-stippledLineEnable-07498", "If the bound graphics pipeline state was created with the VK_DYNAMIC_STATE_LINE_STIPPLE_ENABLE_EXT or VK_DYNAMIC_STATE_LINE_RASTERIZATION_MODE_EXT dynamic states enabled, and if the current stippledLineEnable state is VK_TRUE and the current lineRasterizationMode state is VK_LINE_RASTERIZATION_MODE_DEFAULT_KHR, then the stippledRectangularLines feature must be enabled and VkPhysicalDeviceLimits::strictLines must be VK_TRUE", "1.3-extensions"}, {"VUID-vkCmdDrawIndexed-storageBuffers-06936", "If any stage of the VkPipeline object bound to the pipeline bind point used by this command accesses a storage buffer, and that stage was created without enabling either VK_PIPELINE_ROBUSTNESS_BUFFER_BEHAVIOR_ROBUST_BUFFER_ACCESS_EXT or VK_PIPELINE_ROBUSTNESS_BUFFER_BEHAVIOR_ROBUST_BUFFER_ACCESS_2_EXT for storageBuffers, and the robustBufferAccess feature is not enabled, that stage must not access values outside of the range of the buffer as specified in the descriptor set bound to the same pipeline bind point", "1.3-extensions"}, {"VUID-vkCmdDrawIndexed-subpass-02685", "The subpass index of the current render pass must be equal to the subpass member of the VkGraphicsPipelineCreateInfo structure specified when creating the VkPipeline bound to VK_PIPELINE_BIND_POINT_GRAPHICS", "1.3-extensions"}, {"VUID-vkCmdDrawIndexed-uniformBuffers-06935", "If any stage of the VkPipeline object bound to the pipeline bind point used by this command accesses a uniform buffer, and that stage was created without enabling either VK_PIPELINE_ROBUSTNESS_BUFFER_BEHAVIOR_ROBUST_BUFFER_ACCESS_EXT or VK_PIPELINE_ROBUSTNESS_BUFFER_BEHAVIOR_ROBUST_BUFFER_ACCESS_2_EXT for uniformBuffers, and the robustBufferAccess feature is not enabled, that stage must not access values outside of the range of the buffer as specified in the descriptor set bound to the same pipeline bind point", "1.3-extensions"}, @@ -10597,7 +10643,7 @@ static const vuid_spec_text_pair vuid_spec_text[] = { {"VUID-vkCmdDrawIndexedIndirect-None-07846", "If the bound graphics pipeline state was created with the VK_DYNAMIC_STATE_DEPTH_BOUNDS_TEST_ENABLE dynamic state enabled then vkCmdSetDepthBoundsTestEnable must have been called in the current command buffer prior to this drawing command", "1.3-extensions"}, {"VUID-vkCmdDrawIndexedIndirect-None-07847", "If the bound graphics pipeline state was created with the VK_DYNAMIC_STATE_STENCIL_TEST_ENABLE dynamic state enabled then vkCmdSetStencilTestEnable must have been called in the current command buffer prior to this drawing command", "1.3-extensions"}, {"VUID-vkCmdDrawIndexedIndirect-None-07848", "If the bound graphics pipeline state was created with the VK_DYNAMIC_STATE_STENCIL_OP dynamic state enabled then vkCmdSetStencilOp must have been called in the current command buffer prior to this drawing command", "1.3-extensions"}, - {"VUID-vkCmdDrawIndexedIndirect-None-07849", "If the bound graphics pipeline state was created with the VK_DYNAMIC_STATE_LINE_STIPPLE_EXT dynamic state enabled then vkCmdSetLineStippleEXT must have been called in the current command buffer prior to this drawing command", "1.3-extensions"}, + {"VUID-vkCmdDrawIndexedIndirect-None-07849", "If the bound graphics pipeline state was created with the VK_DYNAMIC_STATE_LINE_STIPPLE_KHR dynamic state enabled then vkCmdSetLineStippleKHR must have been called in the current command buffer prior to this drawing command", "1.3-extensions"}, {"VUID-vkCmdDrawIndexedIndirect-None-07850", "If dynamic state was inherited from VkCommandBufferInheritanceViewportScissorInfoNV, it must be set in the current command buffer prior to this drawing command", "1.3-extensions"}, {"VUID-vkCmdDrawIndexedIndirect-None-07878", "If the bound graphics pipeline state was created with the VK_DYNAMIC_STATE_EXCLUSIVE_SCISSOR_ENABLE_NV dynamic state enabled then vkCmdSetExclusiveScissorEnableNV must have been called in the current command buffer prior to this drawing command", "1.3-extensions"}, {"VUID-vkCmdDrawIndexedIndirect-None-07879", "If the bound graphics pipeline state was created with the VK_DYNAMIC_STATE_EXCLUSIVE_SCISSOR_NV dynamic state enabled then vkCmdSetExclusiveScissorNV must have been called in the current command buffer prior to this drawing command", "1.3-extensions"}, @@ -10668,13 +10714,13 @@ static const vuid_spec_text_pair vuid_spec_text[] = { {"VUID-vkCmdDrawIndexedIndirect-None-08663", "If the depthClipEnable feature is enabled, and a shader object is bound to any graphics stage, then vkCmdSetDepthClipEnableEXT must have been called in the current command buffer prior to this drawing command", "1.3-extensions"}, {"VUID-vkCmdDrawIndexedIndirect-None-08664", "If the VK_EXT_sample_locations extension is enabled, and a shader object is bound to any graphics stage, and the most recent call to vkCmdSetRasterizerDiscardEnable in the current command buffer set rasterizerDiscardEnable to VK_FALSE, then vkCmdSetSampleLocationsEnableEXT must have been called in the current command buffer prior to this drawing command", "1.3-extensions"}, {"VUID-vkCmdDrawIndexedIndirect-None-08665", "If the VK_EXT_provoking_vertex extension is enabled, and a shader object is bound to the VK_SHADER_STAGE_VERTEX_BIT stage, and the most recent call to vkCmdSetRasterizerDiscardEnable in the current command buffer set rasterizerDiscardEnable to VK_FALSE, then vkCmdSetProvokingVertexModeEXT must have been called in the current command buffer prior to this drawing command", "1.3-extensions"}, - {"VUID-vkCmdDrawIndexedIndirect-None-08666", "If the VK_EXT_line_rasterization extension is enabled, and a shader object is bound to any graphics stage, and the most recent call to vkCmdSetRasterizerDiscardEnable in the current command buffer set rasterizerDiscardEnable to VK_FALSE, and the most recent call to vkCmdSetPolygonModeEXT in the current command buffer set polygonMode to VK_POLYGON_MODE_LINE, then vkCmdSetLineRasterizationModeEXT must have been called in the current command buffer prior to this drawing command", "1.3-extensions"}, - {"VUID-vkCmdDrawIndexedIndirect-None-08667", "If the VK_EXT_line_rasterization extension is enabled, and a shader object is bound to the VK_SHADER_STAGE_VERTEX_BIT stage, and the most recent call to vkCmdSetRasterizerDiscardEnable in the current command buffer set rasterizerDiscardEnable to VK_FALSE, and the most recent call to vkCmdSetPrimitiveTopology in the current command buffer set primitiveTopology to any line topology, then vkCmdSetLineRasterizationModeEXT must have been called in the current command buffer prior to this drawing command", "1.3-extensions"}, - {"VUID-vkCmdDrawIndexedIndirect-None-08668", "If the VK_EXT_line_rasterization extension is enabled, and a shader object that outputs line primitives is bound to the VK_SHADER_STAGE_TESSELLATION_EVALUATION_BIT or VK_SHADER_STAGE_GEOMETRY_BIT stage, and the most recent call to vkCmdSetRasterizerDiscardEnable in the current command buffer set rasterizerDiscardEnable to VK_FALSE, then vkCmdSetLineRasterizationModeEXT must have been called in the current command buffer prior to this drawing command", "1.3-extensions"}, - {"VUID-vkCmdDrawIndexedIndirect-None-08669", "If the VK_EXT_line_rasterization extension is enabled, and a shader object is bound to any graphics stage, and the most recent call to vkCmdSetRasterizerDiscardEnable in the current command buffer set rasterizerDiscardEnable to VK_FALSE, and the most recent call to vkCmdSetPolygonModeEXT in the current command buffer set polygonMode to VK_POLYGON_MODE_LINE, then vkCmdSetLineStippleEnableEXT must have been called in the current command buffer prior to this drawing command", "1.3-extensions"}, - {"VUID-vkCmdDrawIndexedIndirect-None-08670", "If the VK_EXT_line_rasterization extension is enabled, and a shader object is bound to the VK_SHADER_STAGE_VERTEX_BIT stage, and the most recent call to vkCmdSetRasterizerDiscardEnable in the current command buffer set rasterizerDiscardEnable to VK_FALSE, and the most recent call to vkCmdSetPrimitiveTopology in the current command buffer set primitiveTopology to any line topology, then vkCmdSetLineStippleEnableEXT must have been called in the current command buffer prior to this drawing command", "1.3-extensions"}, - {"VUID-vkCmdDrawIndexedIndirect-None-08671", "If the VK_EXT_line_rasterization extension is enabled, and a shader object that outputs line primitives is bound to the VK_SHADER_STAGE_TESSELLATION_EVALUATION_BIT or VK_SHADER_STAGE_GEOMETRY_BIT stage, and the most recent call to vkCmdSetRasterizerDiscardEnable in the current command buffer set rasterizerDiscardEnable to VK_FALSE, then vkCmdSetLineStippleEnableEXT must have been called in the current command buffer prior to this drawing command", "1.3-extensions"}, - {"VUID-vkCmdDrawIndexedIndirect-None-08672", "If the VK_EXT_line_rasterization extension is enabled, and a shader object is bound to any graphics stage, and the most recent call to vkCmdSetRasterizerDiscardEnable in the current command buffer set rasterizerDiscardEnable to VK_FALSE, and the most recent call to vkCmdSetLineStippleEnableEXT in the current command buffer set stippledLineEnable to VK_TRUE, then vkCmdSetLineStippleEXT must have been called in the current command buffer prior to this drawing command", "1.3-extensions"}, + {"VUID-vkCmdDrawIndexedIndirect-None-08666", "If the VK_KHR_line_rasterization or VK_EXT_line_rasterization extension is enabled, and a shader object is bound to any graphics stage, and the most recent call to vkCmdSetRasterizerDiscardEnable in the current command buffer set rasterizerDiscardEnable to VK_FALSE, and the most recent call to vkCmdSetPolygonModeEXT in the current command buffer set polygonMode to VK_POLYGON_MODE_LINE, then vkCmdSetLineRasterizationModeEXT must have been called in the current command buffer prior to this drawing command", "1.3-extensions"}, + {"VUID-vkCmdDrawIndexedIndirect-None-08667", "If the VK_KHR_line_rasterization or VK_EXT_line_rasterization extension is enabled, and a shader object is bound to the VK_SHADER_STAGE_VERTEX_BIT stage, and the most recent call to vkCmdSetRasterizerDiscardEnable in the current command buffer set rasterizerDiscardEnable to VK_FALSE, and the most recent call to vkCmdSetPrimitiveTopology in the current command buffer set primitiveTopology to any line topology, then vkCmdSetLineRasterizationModeEXT must have been called in the current command buffer prior to this drawing command", "1.3-extensions"}, + {"VUID-vkCmdDrawIndexedIndirect-None-08668", "If the VK_KHR_line_rasterization or VK_EXT_line_rasterization extension is enabled, and a shader object that outputs line primitives is bound to the VK_SHADER_STAGE_TESSELLATION_EVALUATION_BIT or VK_SHADER_STAGE_GEOMETRY_BIT stage, and the most recent call to vkCmdSetRasterizerDiscardEnable in the current command buffer set rasterizerDiscardEnable to VK_FALSE, then vkCmdSetLineRasterizationModeEXT must have been called in the current command buffer prior to this drawing command", "1.3-extensions"}, + {"VUID-vkCmdDrawIndexedIndirect-None-08669", "If the VK_KHR_line_rasterization or VK_EXT_line_rasterization extension is enabled, and a shader object is bound to any graphics stage, and the most recent call to vkCmdSetRasterizerDiscardEnable in the current command buffer set rasterizerDiscardEnable to VK_FALSE, and the most recent call to vkCmdSetPolygonModeEXT in the current command buffer set polygonMode to VK_POLYGON_MODE_LINE, then vkCmdSetLineStippleEnableEXT must have been called in the current command buffer prior to this drawing command", "1.3-extensions"}, + {"VUID-vkCmdDrawIndexedIndirect-None-08670", "If the VK_KHR_line_rasterization or VK_EXT_line_rasterization extension is enabled, and a shader object is bound to the VK_SHADER_STAGE_VERTEX_BIT stage, and the most recent call to vkCmdSetRasterizerDiscardEnable in the current command buffer set rasterizerDiscardEnable to VK_FALSE, and the most recent call to vkCmdSetPrimitiveTopology in the current command buffer set primitiveTopology to any line topology, then vkCmdSetLineStippleEnableEXT must have been called in the current command buffer prior to this drawing command", "1.3-extensions"}, + {"VUID-vkCmdDrawIndexedIndirect-None-08671", "If the VK_KHR_line_rasterization or VK_EXT_line_rasterization extension is enabled, and a shader object that outputs line primitives is bound to the VK_SHADER_STAGE_TESSELLATION_EVALUATION_BIT or VK_SHADER_STAGE_GEOMETRY_BIT stage, and the most recent call to vkCmdSetRasterizerDiscardEnable in the current command buffer set rasterizerDiscardEnable to VK_FALSE, then vkCmdSetLineStippleEnableEXT must have been called in the current command buffer prior to this drawing command", "1.3-extensions"}, + {"VUID-vkCmdDrawIndexedIndirect-None-08672", "If the VK_KHR_line_rasterization or VK_EXT_line_rasterization extension is enabled, and a shader object is bound to any graphics stage, and the most recent call to vkCmdSetRasterizerDiscardEnable in the current command buffer set rasterizerDiscardEnable to VK_FALSE, and the most recent call to vkCmdSetLineStippleEnableEXT in the current command buffer set stippledLineEnable to VK_TRUE, then vkCmdSetLineStippleEXT must have been called in the current command buffer prior to this drawing command", "1.3-extensions"}, {"VUID-vkCmdDrawIndexedIndirect-None-08673", "If the depthClipControl feature is enabled, and a shader object is bound to any graphics stage, then vkCmdSetDepthClipNegativeOneToOneEXT must have been called in the current command buffer prior to this drawing command", "1.3-extensions"}, {"VUID-vkCmdDrawIndexedIndirect-None-08674", "If the VK_NV_clip_space_w_scaling extension is enabled, and a shader object is bound to any graphics stage, then vkCmdSetViewportWScalingEnableNV must have been called in the current command buffer prior to this drawing command", "1.3-extensions"}, {"VUID-vkCmdDrawIndexedIndirect-None-08675", "If the VK_NV_viewport_swizzle extension is enabled, and a shader object is bound to any graphics stage, then vkCmdSetViewportSwizzleNV must have been called in the current command buffer prior to this drawing command", "1.3-extensions"}, @@ -10720,6 +10766,8 @@ static const vuid_spec_text_pair vuid_spec_text[] = { {"VUID-vkCmdDrawIndexedIndirect-None-09366", "If there is a shader object bound to any graphics stage, and the current render pass includes a color attachment that uses the VK_RESOLVE_MODE_EXTERNAL_FORMAT_DOWNSAMPLE_ANDROID resolve mode, then vkCmdSetColorBlendEnableEXT must have set blend enable to VK_FALSE prior to this drawing command", "1.3-extensions"}, {"VUID-vkCmdDrawIndexedIndirect-None-09368", "If the current render pass instance was begun with vkCmdBeginRendering, there is no shader object bound to any graphics stage, and the currently bound graphics pipeline was created with a non-zero VkExternalFormatANDROID::externalFormat value and with the VK_DYNAMIC_STATE_FRAGMENT_SHADING_RATE_KHR dynamic state enabled, then vkCmdSetFragmentShadingRateKHR must have set pFragmentSize->width to 1 prior to this drawing command", "1.3-extensions"}, {"VUID-vkCmdDrawIndexedIndirect-None-09369", "If the current render pass instance was begun with vkCmdBeginRendering, there is no shader object bound to any graphics stage, and the currently bound graphics pipeline was created with a non-zero VkExternalFormatANDROID::externalFormat value and with the VK_DYNAMIC_STATE_FRAGMENT_SHADING_RATE_KHR dynamic state enabled, then vkCmdSetFragmentShadingRateKHR must have set pFragmentSize->height to 1 prior to this drawing command", "1.3-extensions"}, + {"VUID-vkCmdDrawIndexedIndirect-None-09548", "If the current render pass was begun with vkCmdBeginRendering, and there is no shader object bound to any graphics stage, the value of each element of VkRenderingAttachmentLocationInfoKHR::pColorAttachmentLocations set by vkCmdSetRenderingAttachmentLocationsKHR must match the value set for the corresponding element in the currently bound pipeline", "1.3-extensions"}, + {"VUID-vkCmdDrawIndexedIndirect-None-09549", "If the current render pass was begun with vkCmdBeginRendering, and there is no shader object bound to any graphics stage, input attachment index mappings in the currently bound pipeline must match those set for the current render pass instance via VkRenderingInputAttachmentIndexInfoKHR", "1.3-extensions"}, {"VUID-vkCmdDrawIndexedIndirect-OpImageBlockMatchSADQCOM-06975", "If OpImageBlockMatchSADQCOM is used to read from an VkImageView as a result of this command, then the image view's format features must contain VK_FORMAT_FEATURE_2_BLOCK_MATCHING_BIT_QCOM", "1.3-extensions"}, {"VUID-vkCmdDrawIndexedIndirect-OpImageBlockMatchSADQCOM-06976", "If OpImageBlockMatchSADQCOM or OpImageBlockMatchSSDQCOM is used to read from a reference image as result of this command, then the specified reference coordinates must not fail integer texel coordinate validation", "1.3-extensions"}, {"VUID-vkCmdDrawIndexedIndirect-OpImageBlockMatchSSDQCOM-06974", "If OpImageBlockMatchSSDQCOM is used to read from an VkImageView as a result of this command, then the image view's format features must contain VK_FORMAT_FEATURE_2_BLOCK_MATCHING_BIT_QCOM", "1.3-extensions"}, @@ -10867,10 +10915,10 @@ static const vuid_spec_text_pair vuid_spec_text[] = { {"VUID-vkCmdDrawIndexedIndirect-sparseImageInt64Atomics-04475", "If the sparseImageInt64Atomics feature is not enabled, VkBuffer objects created with the VK_BUFFER_CREATE_SPARSE_RESIDENCY_BIT flag must not be accessed by atomic instructions through an OpTypeImage with a SampledType with a Width of 64 by this command", "1.3-extensions"}, {"VUID-vkCmdDrawIndexedIndirect-stage-06481", "The bound graphics pipeline must not have been created with the VkPipelineShaderStageCreateInfo::stage member of an element of VkGraphicsPipelineCreateInfo::pStages set to VK_SHADER_STAGE_TASK_BIT_EXT or VK_SHADER_STAGE_MESH_BIT_EXT", "1.3-extensions"}, {"VUID-vkCmdDrawIndexedIndirect-stage-07073", "If the currently bound pipeline was created with the VkPipelineShaderStageCreateInfo::stage member of an element of VkGraphicsPipelineCreateInfo::pStages set to VK_SHADER_STAGE_VERTEX_BIT, VK_SHADER_STAGE_TESSELLATION_CONTROL_BIT, VK_SHADER_STAGE_TESSELLATION_EVALUATION_BIT or VK_SHADER_STAGE_GEOMETRY_BIT, then Mesh Shader Queries must not be active", "1.3-extensions"}, - {"VUID-vkCmdDrawIndexedIndirect-stippledLineEnable-07495", "If the bound graphics pipeline state was created with the VK_DYNAMIC_STATE_LINE_STIPPLE_ENABLE_EXT or VK_DYNAMIC_STATE_LINE_RASTERIZATION_MODE_EXT dynamic states enabled, and if the current stippledLineEnable state is VK_TRUE and the current lineRasterizationMode state is VK_LINE_RASTERIZATION_MODE_RECTANGULAR_EXT, then the stippledRectangularLines feature must be enabled", "1.3-extensions"}, - {"VUID-vkCmdDrawIndexedIndirect-stippledLineEnable-07496", "If the bound graphics pipeline state was created with the VK_DYNAMIC_STATE_LINE_STIPPLE_ENABLE_EXT or VK_DYNAMIC_STATE_LINE_RASTERIZATION_MODE_EXT dynamic states enabled, and if the current stippledLineEnable state is VK_TRUE and the current lineRasterizationMode state is VK_LINE_RASTERIZATION_MODE_BRESENHAM_EXT, then the stippledBresenhamLines feature must be enabled", "1.3-extensions"}, - {"VUID-vkCmdDrawIndexedIndirect-stippledLineEnable-07497", "If the bound graphics pipeline state was created with the VK_DYNAMIC_STATE_LINE_STIPPLE_ENABLE_EXT or VK_DYNAMIC_STATE_LINE_RASTERIZATION_MODE_EXT dynamic states enabled, and if the current stippledLineEnable state is VK_TRUE and the current lineRasterizationMode state is VK_LINE_RASTERIZATION_MODE_RECTANGULAR_SMOOTH_EXT, then the stippledSmoothLines feature must be enabled", "1.3-extensions"}, - {"VUID-vkCmdDrawIndexedIndirect-stippledLineEnable-07498", "If the bound graphics pipeline state was created with the VK_DYNAMIC_STATE_LINE_STIPPLE_ENABLE_EXT or VK_DYNAMIC_STATE_LINE_RASTERIZATION_MODE_EXT dynamic states enabled, and if the current stippledLineEnable state is VK_TRUE and the current lineRasterizationMode state is VK_LINE_RASTERIZATION_MODE_DEFAULT_EXT, then the stippledRectangularLines feature must be enabled and VkPhysicalDeviceLimits::strictLines must be VK_TRUE", "1.3-extensions"}, + {"VUID-vkCmdDrawIndexedIndirect-stippledLineEnable-07495", "If the bound graphics pipeline state was created with the VK_DYNAMIC_STATE_LINE_STIPPLE_ENABLE_EXT or VK_DYNAMIC_STATE_LINE_RASTERIZATION_MODE_EXT dynamic states enabled, and if the current stippledLineEnable state is VK_TRUE and the current lineRasterizationMode state is VK_LINE_RASTERIZATION_MODE_RECTANGULAR_KHR, then the stippledRectangularLines feature must be enabled", "1.3-extensions"}, + {"VUID-vkCmdDrawIndexedIndirect-stippledLineEnable-07496", "If the bound graphics pipeline state was created with the VK_DYNAMIC_STATE_LINE_STIPPLE_ENABLE_EXT or VK_DYNAMIC_STATE_LINE_RASTERIZATION_MODE_EXT dynamic states enabled, and if the current stippledLineEnable state is VK_TRUE and the current lineRasterizationMode state is VK_LINE_RASTERIZATION_MODE_BRESENHAM_KHR, then the stippledBresenhamLines feature must be enabled", "1.3-extensions"}, + {"VUID-vkCmdDrawIndexedIndirect-stippledLineEnable-07497", "If the bound graphics pipeline state was created with the VK_DYNAMIC_STATE_LINE_STIPPLE_ENABLE_EXT or VK_DYNAMIC_STATE_LINE_RASTERIZATION_MODE_EXT dynamic states enabled, and if the current stippledLineEnable state is VK_TRUE and the current lineRasterizationMode state is VK_LINE_RASTERIZATION_MODE_RECTANGULAR_SMOOTH_KHR, then the stippledSmoothLines feature must be enabled", "1.3-extensions"}, + {"VUID-vkCmdDrawIndexedIndirect-stippledLineEnable-07498", "If the bound graphics pipeline state was created with the VK_DYNAMIC_STATE_LINE_STIPPLE_ENABLE_EXT or VK_DYNAMIC_STATE_LINE_RASTERIZATION_MODE_EXT dynamic states enabled, and if the current stippledLineEnable state is VK_TRUE and the current lineRasterizationMode state is VK_LINE_RASTERIZATION_MODE_DEFAULT_KHR, then the stippledRectangularLines feature must be enabled and VkPhysicalDeviceLimits::strictLines must be VK_TRUE", "1.3-extensions"}, {"VUID-vkCmdDrawIndexedIndirect-storageBuffers-06936", "If any stage of the VkPipeline object bound to the pipeline bind point used by this command accesses a storage buffer, and that stage was created without enabling either VK_PIPELINE_ROBUSTNESS_BUFFER_BEHAVIOR_ROBUST_BUFFER_ACCESS_EXT or VK_PIPELINE_ROBUSTNESS_BUFFER_BEHAVIOR_ROBUST_BUFFER_ACCESS_2_EXT for storageBuffers, and the robustBufferAccess feature is not enabled, that stage must not access values outside of the range of the buffer as specified in the descriptor set bound to the same pipeline bind point", "1.3-extensions"}, {"VUID-vkCmdDrawIndexedIndirect-subpass-02685", "The subpass index of the current render pass must be equal to the subpass member of the VkGraphicsPipelineCreateInfo structure specified when creating the VkPipeline bound to VK_PIPELINE_BIND_POINT_GRAPHICS", "1.3-extensions"}, {"VUID-vkCmdDrawIndexedIndirect-uniformBuffers-06935", "If any stage of the VkPipeline object bound to the pipeline bind point used by this command accesses a uniform buffer, and that stage was created without enabling either VK_PIPELINE_ROBUSTNESS_BUFFER_BEHAVIOR_ROBUST_BUFFER_ACCESS_EXT or VK_PIPELINE_ROBUSTNESS_BUFFER_BEHAVIOR_ROBUST_BUFFER_ACCESS_2_EXT for uniformBuffers, and the robustBufferAccess feature is not enabled, that stage must not access values outside of the range of the buffer as specified in the descriptor set bound to the same pipeline bind point", "1.3-extensions"}, @@ -10964,7 +11012,7 @@ static const vuid_spec_text_pair vuid_spec_text[] = { {"VUID-vkCmdDrawIndexedIndirectCount-None-07846", "If the bound graphics pipeline state was created with the VK_DYNAMIC_STATE_DEPTH_BOUNDS_TEST_ENABLE dynamic state enabled then vkCmdSetDepthBoundsTestEnable must have been called in the current command buffer prior to this drawing command", "1.3-extensions"}, {"VUID-vkCmdDrawIndexedIndirectCount-None-07847", "If the bound graphics pipeline state was created with the VK_DYNAMIC_STATE_STENCIL_TEST_ENABLE dynamic state enabled then vkCmdSetStencilTestEnable must have been called in the current command buffer prior to this drawing command", "1.3-extensions"}, {"VUID-vkCmdDrawIndexedIndirectCount-None-07848", "If the bound graphics pipeline state was created with the VK_DYNAMIC_STATE_STENCIL_OP dynamic state enabled then vkCmdSetStencilOp must have been called in the current command buffer prior to this drawing command", "1.3-extensions"}, - {"VUID-vkCmdDrawIndexedIndirectCount-None-07849", "If the bound graphics pipeline state was created with the VK_DYNAMIC_STATE_LINE_STIPPLE_EXT dynamic state enabled then vkCmdSetLineStippleEXT must have been called in the current command buffer prior to this drawing command", "1.3-extensions"}, + {"VUID-vkCmdDrawIndexedIndirectCount-None-07849", "If the bound graphics pipeline state was created with the VK_DYNAMIC_STATE_LINE_STIPPLE_KHR dynamic state enabled then vkCmdSetLineStippleKHR must have been called in the current command buffer prior to this drawing command", "1.3-extensions"}, {"VUID-vkCmdDrawIndexedIndirectCount-None-07850", "If dynamic state was inherited from VkCommandBufferInheritanceViewportScissorInfoNV, it must be set in the current command buffer prior to this drawing command", "1.3-extensions"}, {"VUID-vkCmdDrawIndexedIndirectCount-None-07878", "If the bound graphics pipeline state was created with the VK_DYNAMIC_STATE_EXCLUSIVE_SCISSOR_ENABLE_NV dynamic state enabled then vkCmdSetExclusiveScissorEnableNV must have been called in the current command buffer prior to this drawing command", "1.3-extensions"}, {"VUID-vkCmdDrawIndexedIndirectCount-None-07879", "If the bound graphics pipeline state was created with the VK_DYNAMIC_STATE_EXCLUSIVE_SCISSOR_NV dynamic state enabled then vkCmdSetExclusiveScissorNV must have been called in the current command buffer prior to this drawing command", "1.3-extensions"}, @@ -11035,13 +11083,13 @@ static const vuid_spec_text_pair vuid_spec_text[] = { {"VUID-vkCmdDrawIndexedIndirectCount-None-08663", "If the depthClipEnable feature is enabled, and a shader object is bound to any graphics stage, then vkCmdSetDepthClipEnableEXT must have been called in the current command buffer prior to this drawing command", "1.3-extensions"}, {"VUID-vkCmdDrawIndexedIndirectCount-None-08664", "If the VK_EXT_sample_locations extension is enabled, and a shader object is bound to any graphics stage, and the most recent call to vkCmdSetRasterizerDiscardEnable in the current command buffer set rasterizerDiscardEnable to VK_FALSE, then vkCmdSetSampleLocationsEnableEXT must have been called in the current command buffer prior to this drawing command", "1.3-extensions"}, {"VUID-vkCmdDrawIndexedIndirectCount-None-08665", "If the VK_EXT_provoking_vertex extension is enabled, and a shader object is bound to the VK_SHADER_STAGE_VERTEX_BIT stage, and the most recent call to vkCmdSetRasterizerDiscardEnable in the current command buffer set rasterizerDiscardEnable to VK_FALSE, then vkCmdSetProvokingVertexModeEXT must have been called in the current command buffer prior to this drawing command", "1.3-extensions"}, - {"VUID-vkCmdDrawIndexedIndirectCount-None-08666", "If the VK_EXT_line_rasterization extension is enabled, and a shader object is bound to any graphics stage, and the most recent call to vkCmdSetRasterizerDiscardEnable in the current command buffer set rasterizerDiscardEnable to VK_FALSE, and the most recent call to vkCmdSetPolygonModeEXT in the current command buffer set polygonMode to VK_POLYGON_MODE_LINE, then vkCmdSetLineRasterizationModeEXT must have been called in the current command buffer prior to this drawing command", "1.3-extensions"}, - {"VUID-vkCmdDrawIndexedIndirectCount-None-08667", "If the VK_EXT_line_rasterization extension is enabled, and a shader object is bound to the VK_SHADER_STAGE_VERTEX_BIT stage, and the most recent call to vkCmdSetRasterizerDiscardEnable in the current command buffer set rasterizerDiscardEnable to VK_FALSE, and the most recent call to vkCmdSetPrimitiveTopology in the current command buffer set primitiveTopology to any line topology, then vkCmdSetLineRasterizationModeEXT must have been called in the current command buffer prior to this drawing command", "1.3-extensions"}, - {"VUID-vkCmdDrawIndexedIndirectCount-None-08668", "If the VK_EXT_line_rasterization extension is enabled, and a shader object that outputs line primitives is bound to the VK_SHADER_STAGE_TESSELLATION_EVALUATION_BIT or VK_SHADER_STAGE_GEOMETRY_BIT stage, and the most recent call to vkCmdSetRasterizerDiscardEnable in the current command buffer set rasterizerDiscardEnable to VK_FALSE, then vkCmdSetLineRasterizationModeEXT must have been called in the current command buffer prior to this drawing command", "1.3-extensions"}, - {"VUID-vkCmdDrawIndexedIndirectCount-None-08669", "If the VK_EXT_line_rasterization extension is enabled, and a shader object is bound to any graphics stage, and the most recent call to vkCmdSetRasterizerDiscardEnable in the current command buffer set rasterizerDiscardEnable to VK_FALSE, and the most recent call to vkCmdSetPolygonModeEXT in the current command buffer set polygonMode to VK_POLYGON_MODE_LINE, then vkCmdSetLineStippleEnableEXT must have been called in the current command buffer prior to this drawing command", "1.3-extensions"}, - {"VUID-vkCmdDrawIndexedIndirectCount-None-08670", "If the VK_EXT_line_rasterization extension is enabled, and a shader object is bound to the VK_SHADER_STAGE_VERTEX_BIT stage, and the most recent call to vkCmdSetRasterizerDiscardEnable in the current command buffer set rasterizerDiscardEnable to VK_FALSE, and the most recent call to vkCmdSetPrimitiveTopology in the current command buffer set primitiveTopology to any line topology, then vkCmdSetLineStippleEnableEXT must have been called in the current command buffer prior to this drawing command", "1.3-extensions"}, - {"VUID-vkCmdDrawIndexedIndirectCount-None-08671", "If the VK_EXT_line_rasterization extension is enabled, and a shader object that outputs line primitives is bound to the VK_SHADER_STAGE_TESSELLATION_EVALUATION_BIT or VK_SHADER_STAGE_GEOMETRY_BIT stage, and the most recent call to vkCmdSetRasterizerDiscardEnable in the current command buffer set rasterizerDiscardEnable to VK_FALSE, then vkCmdSetLineStippleEnableEXT must have been called in the current command buffer prior to this drawing command", "1.3-extensions"}, - {"VUID-vkCmdDrawIndexedIndirectCount-None-08672", "If the VK_EXT_line_rasterization extension is enabled, and a shader object is bound to any graphics stage, and the most recent call to vkCmdSetRasterizerDiscardEnable in the current command buffer set rasterizerDiscardEnable to VK_FALSE, and the most recent call to vkCmdSetLineStippleEnableEXT in the current command buffer set stippledLineEnable to VK_TRUE, then vkCmdSetLineStippleEXT must have been called in the current command buffer prior to this drawing command", "1.3-extensions"}, + {"VUID-vkCmdDrawIndexedIndirectCount-None-08666", "If the VK_KHR_line_rasterization or VK_EXT_line_rasterization extension is enabled, and a shader object is bound to any graphics stage, and the most recent call to vkCmdSetRasterizerDiscardEnable in the current command buffer set rasterizerDiscardEnable to VK_FALSE, and the most recent call to vkCmdSetPolygonModeEXT in the current command buffer set polygonMode to VK_POLYGON_MODE_LINE, then vkCmdSetLineRasterizationModeEXT must have been called in the current command buffer prior to this drawing command", "1.3-extensions"}, + {"VUID-vkCmdDrawIndexedIndirectCount-None-08667", "If the VK_KHR_line_rasterization or VK_EXT_line_rasterization extension is enabled, and a shader object is bound to the VK_SHADER_STAGE_VERTEX_BIT stage, and the most recent call to vkCmdSetRasterizerDiscardEnable in the current command buffer set rasterizerDiscardEnable to VK_FALSE, and the most recent call to vkCmdSetPrimitiveTopology in the current command buffer set primitiveTopology to any line topology, then vkCmdSetLineRasterizationModeEXT must have been called in the current command buffer prior to this drawing command", "1.3-extensions"}, + {"VUID-vkCmdDrawIndexedIndirectCount-None-08668", "If the VK_KHR_line_rasterization or VK_EXT_line_rasterization extension is enabled, and a shader object that outputs line primitives is bound to the VK_SHADER_STAGE_TESSELLATION_EVALUATION_BIT or VK_SHADER_STAGE_GEOMETRY_BIT stage, and the most recent call to vkCmdSetRasterizerDiscardEnable in the current command buffer set rasterizerDiscardEnable to VK_FALSE, then vkCmdSetLineRasterizationModeEXT must have been called in the current command buffer prior to this drawing command", "1.3-extensions"}, + {"VUID-vkCmdDrawIndexedIndirectCount-None-08669", "If the VK_KHR_line_rasterization or VK_EXT_line_rasterization extension is enabled, and a shader object is bound to any graphics stage, and the most recent call to vkCmdSetRasterizerDiscardEnable in the current command buffer set rasterizerDiscardEnable to VK_FALSE, and the most recent call to vkCmdSetPolygonModeEXT in the current command buffer set polygonMode to VK_POLYGON_MODE_LINE, then vkCmdSetLineStippleEnableEXT must have been called in the current command buffer prior to this drawing command", "1.3-extensions"}, + {"VUID-vkCmdDrawIndexedIndirectCount-None-08670", "If the VK_KHR_line_rasterization or VK_EXT_line_rasterization extension is enabled, and a shader object is bound to the VK_SHADER_STAGE_VERTEX_BIT stage, and the most recent call to vkCmdSetRasterizerDiscardEnable in the current command buffer set rasterizerDiscardEnable to VK_FALSE, and the most recent call to vkCmdSetPrimitiveTopology in the current command buffer set primitiveTopology to any line topology, then vkCmdSetLineStippleEnableEXT must have been called in the current command buffer prior to this drawing command", "1.3-extensions"}, + {"VUID-vkCmdDrawIndexedIndirectCount-None-08671", "If the VK_KHR_line_rasterization or VK_EXT_line_rasterization extension is enabled, and a shader object that outputs line primitives is bound to the VK_SHADER_STAGE_TESSELLATION_EVALUATION_BIT or VK_SHADER_STAGE_GEOMETRY_BIT stage, and the most recent call to vkCmdSetRasterizerDiscardEnable in the current command buffer set rasterizerDiscardEnable to VK_FALSE, then vkCmdSetLineStippleEnableEXT must have been called in the current command buffer prior to this drawing command", "1.3-extensions"}, + {"VUID-vkCmdDrawIndexedIndirectCount-None-08672", "If the VK_KHR_line_rasterization or VK_EXT_line_rasterization extension is enabled, and a shader object is bound to any graphics stage, and the most recent call to vkCmdSetRasterizerDiscardEnable in the current command buffer set rasterizerDiscardEnable to VK_FALSE, and the most recent call to vkCmdSetLineStippleEnableEXT in the current command buffer set stippledLineEnable to VK_TRUE, then vkCmdSetLineStippleEXT must have been called in the current command buffer prior to this drawing command", "1.3-extensions"}, {"VUID-vkCmdDrawIndexedIndirectCount-None-08673", "If the depthClipControl feature is enabled, and a shader object is bound to any graphics stage, then vkCmdSetDepthClipNegativeOneToOneEXT must have been called in the current command buffer prior to this drawing command", "1.3-extensions"}, {"VUID-vkCmdDrawIndexedIndirectCount-None-08674", "If the VK_NV_clip_space_w_scaling extension is enabled, and a shader object is bound to any graphics stage, then vkCmdSetViewportWScalingEnableNV must have been called in the current command buffer prior to this drawing command", "1.3-extensions"}, {"VUID-vkCmdDrawIndexedIndirectCount-None-08675", "If the VK_NV_viewport_swizzle extension is enabled, and a shader object is bound to any graphics stage, then vkCmdSetViewportSwizzleNV must have been called in the current command buffer prior to this drawing command", "1.3-extensions"}, @@ -11087,6 +11135,8 @@ static const vuid_spec_text_pair vuid_spec_text[] = { {"VUID-vkCmdDrawIndexedIndirectCount-None-09366", "If there is a shader object bound to any graphics stage, and the current render pass includes a color attachment that uses the VK_RESOLVE_MODE_EXTERNAL_FORMAT_DOWNSAMPLE_ANDROID resolve mode, then vkCmdSetColorBlendEnableEXT must have set blend enable to VK_FALSE prior to this drawing command", "1.3-extensions"}, {"VUID-vkCmdDrawIndexedIndirectCount-None-09368", "If the current render pass instance was begun with vkCmdBeginRendering, there is no shader object bound to any graphics stage, and the currently bound graphics pipeline was created with a non-zero VkExternalFormatANDROID::externalFormat value and with the VK_DYNAMIC_STATE_FRAGMENT_SHADING_RATE_KHR dynamic state enabled, then vkCmdSetFragmentShadingRateKHR must have set pFragmentSize->width to 1 prior to this drawing command", "1.3-extensions"}, {"VUID-vkCmdDrawIndexedIndirectCount-None-09369", "If the current render pass instance was begun with vkCmdBeginRendering, there is no shader object bound to any graphics stage, and the currently bound graphics pipeline was created with a non-zero VkExternalFormatANDROID::externalFormat value and with the VK_DYNAMIC_STATE_FRAGMENT_SHADING_RATE_KHR dynamic state enabled, then vkCmdSetFragmentShadingRateKHR must have set pFragmentSize->height to 1 prior to this drawing command", "1.3-extensions"}, + {"VUID-vkCmdDrawIndexedIndirectCount-None-09548", "If the current render pass was begun with vkCmdBeginRendering, and there is no shader object bound to any graphics stage, the value of each element of VkRenderingAttachmentLocationInfoKHR::pColorAttachmentLocations set by vkCmdSetRenderingAttachmentLocationsKHR must match the value set for the corresponding element in the currently bound pipeline", "1.3-extensions"}, + {"VUID-vkCmdDrawIndexedIndirectCount-None-09549", "If the current render pass was begun with vkCmdBeginRendering, and there is no shader object bound to any graphics stage, input attachment index mappings in the currently bound pipeline must match those set for the current render pass instance via VkRenderingInputAttachmentIndexInfoKHR", "1.3-extensions"}, {"VUID-vkCmdDrawIndexedIndirectCount-OpImageBlockMatchSADQCOM-06975", "If OpImageBlockMatchSADQCOM is used to read from an VkImageView as a result of this command, then the image view's format features must contain VK_FORMAT_FEATURE_2_BLOCK_MATCHING_BIT_QCOM", "1.3-extensions"}, {"VUID-vkCmdDrawIndexedIndirectCount-OpImageBlockMatchSADQCOM-06976", "If OpImageBlockMatchSADQCOM or OpImageBlockMatchSSDQCOM is used to read from a reference image as result of this command, then the specified reference coordinates must not fail integer texel coordinate validation", "1.3-extensions"}, {"VUID-vkCmdDrawIndexedIndirectCount-OpImageBlockMatchSSDQCOM-06974", "If OpImageBlockMatchSSDQCOM is used to read from an VkImageView as a result of this command, then the image view's format features must contain VK_FORMAT_FEATURE_2_BLOCK_MATCHING_BIT_QCOM", "1.3-extensions"}, @@ -11238,10 +11288,10 @@ static const vuid_spec_text_pair vuid_spec_text[] = { {"VUID-vkCmdDrawIndexedIndirectCount-sparseImageInt64Atomics-04475", "If the sparseImageInt64Atomics feature is not enabled, VkBuffer objects created with the VK_BUFFER_CREATE_SPARSE_RESIDENCY_BIT flag must not be accessed by atomic instructions through an OpTypeImage with a SampledType with a Width of 64 by this command", "1.3-extensions"}, {"VUID-vkCmdDrawIndexedIndirectCount-stage-06481", "The bound graphics pipeline must not have been created with the VkPipelineShaderStageCreateInfo::stage member of an element of VkGraphicsPipelineCreateInfo::pStages set to VK_SHADER_STAGE_TASK_BIT_EXT or VK_SHADER_STAGE_MESH_BIT_EXT", "1.3-extensions"}, {"VUID-vkCmdDrawIndexedIndirectCount-stage-07073", "If the currently bound pipeline was created with the VkPipelineShaderStageCreateInfo::stage member of an element of VkGraphicsPipelineCreateInfo::pStages set to VK_SHADER_STAGE_VERTEX_BIT, VK_SHADER_STAGE_TESSELLATION_CONTROL_BIT, VK_SHADER_STAGE_TESSELLATION_EVALUATION_BIT or VK_SHADER_STAGE_GEOMETRY_BIT, then Mesh Shader Queries must not be active", "1.3-extensions"}, - {"VUID-vkCmdDrawIndexedIndirectCount-stippledLineEnable-07495", "If the bound graphics pipeline state was created with the VK_DYNAMIC_STATE_LINE_STIPPLE_ENABLE_EXT or VK_DYNAMIC_STATE_LINE_RASTERIZATION_MODE_EXT dynamic states enabled, and if the current stippledLineEnable state is VK_TRUE and the current lineRasterizationMode state is VK_LINE_RASTERIZATION_MODE_RECTANGULAR_EXT, then the stippledRectangularLines feature must be enabled", "1.3-extensions"}, - {"VUID-vkCmdDrawIndexedIndirectCount-stippledLineEnable-07496", "If the bound graphics pipeline state was created with the VK_DYNAMIC_STATE_LINE_STIPPLE_ENABLE_EXT or VK_DYNAMIC_STATE_LINE_RASTERIZATION_MODE_EXT dynamic states enabled, and if the current stippledLineEnable state is VK_TRUE and the current lineRasterizationMode state is VK_LINE_RASTERIZATION_MODE_BRESENHAM_EXT, then the stippledBresenhamLines feature must be enabled", "1.3-extensions"}, - {"VUID-vkCmdDrawIndexedIndirectCount-stippledLineEnable-07497", "If the bound graphics pipeline state was created with the VK_DYNAMIC_STATE_LINE_STIPPLE_ENABLE_EXT or VK_DYNAMIC_STATE_LINE_RASTERIZATION_MODE_EXT dynamic states enabled, and if the current stippledLineEnable state is VK_TRUE and the current lineRasterizationMode state is VK_LINE_RASTERIZATION_MODE_RECTANGULAR_SMOOTH_EXT, then the stippledSmoothLines feature must be enabled", "1.3-extensions"}, - {"VUID-vkCmdDrawIndexedIndirectCount-stippledLineEnable-07498", "If the bound graphics pipeline state was created with the VK_DYNAMIC_STATE_LINE_STIPPLE_ENABLE_EXT or VK_DYNAMIC_STATE_LINE_RASTERIZATION_MODE_EXT dynamic states enabled, and if the current stippledLineEnable state is VK_TRUE and the current lineRasterizationMode state is VK_LINE_RASTERIZATION_MODE_DEFAULT_EXT, then the stippledRectangularLines feature must be enabled and VkPhysicalDeviceLimits::strictLines must be VK_TRUE", "1.3-extensions"}, + {"VUID-vkCmdDrawIndexedIndirectCount-stippledLineEnable-07495", "If the bound graphics pipeline state was created with the VK_DYNAMIC_STATE_LINE_STIPPLE_ENABLE_EXT or VK_DYNAMIC_STATE_LINE_RASTERIZATION_MODE_EXT dynamic states enabled, and if the current stippledLineEnable state is VK_TRUE and the current lineRasterizationMode state is VK_LINE_RASTERIZATION_MODE_RECTANGULAR_KHR, then the stippledRectangularLines feature must be enabled", "1.3-extensions"}, + {"VUID-vkCmdDrawIndexedIndirectCount-stippledLineEnable-07496", "If the bound graphics pipeline state was created with the VK_DYNAMIC_STATE_LINE_STIPPLE_ENABLE_EXT or VK_DYNAMIC_STATE_LINE_RASTERIZATION_MODE_EXT dynamic states enabled, and if the current stippledLineEnable state is VK_TRUE and the current lineRasterizationMode state is VK_LINE_RASTERIZATION_MODE_BRESENHAM_KHR, then the stippledBresenhamLines feature must be enabled", "1.3-extensions"}, + {"VUID-vkCmdDrawIndexedIndirectCount-stippledLineEnable-07497", "If the bound graphics pipeline state was created with the VK_DYNAMIC_STATE_LINE_STIPPLE_ENABLE_EXT or VK_DYNAMIC_STATE_LINE_RASTERIZATION_MODE_EXT dynamic states enabled, and if the current stippledLineEnable state is VK_TRUE and the current lineRasterizationMode state is VK_LINE_RASTERIZATION_MODE_RECTANGULAR_SMOOTH_KHR, then the stippledSmoothLines feature must be enabled", "1.3-extensions"}, + {"VUID-vkCmdDrawIndexedIndirectCount-stippledLineEnable-07498", "If the bound graphics pipeline state was created with the VK_DYNAMIC_STATE_LINE_STIPPLE_ENABLE_EXT or VK_DYNAMIC_STATE_LINE_RASTERIZATION_MODE_EXT dynamic states enabled, and if the current stippledLineEnable state is VK_TRUE and the current lineRasterizationMode state is VK_LINE_RASTERIZATION_MODE_DEFAULT_KHR, then the stippledRectangularLines feature must be enabled and VkPhysicalDeviceLimits::strictLines must be VK_TRUE", "1.3-extensions"}, {"VUID-vkCmdDrawIndexedIndirectCount-storageBuffers-06936", "If any stage of the VkPipeline object bound to the pipeline bind point used by this command accesses a storage buffer, and that stage was created without enabling either VK_PIPELINE_ROBUSTNESS_BUFFER_BEHAVIOR_ROBUST_BUFFER_ACCESS_EXT or VK_PIPELINE_ROBUSTNESS_BUFFER_BEHAVIOR_ROBUST_BUFFER_ACCESS_2_EXT for storageBuffers, and the robustBufferAccess feature is not enabled, that stage must not access values outside of the range of the buffer as specified in the descriptor set bound to the same pipeline bind point", "1.3-extensions"}, {"VUID-vkCmdDrawIndexedIndirectCount-stride-03142", "stride must be a multiple of 4 and must be greater than or equal to sizeof(VkDrawIndexedIndirectCommand)", "1.3-extensions"}, {"VUID-vkCmdDrawIndexedIndirectCount-subpass-02685", "The subpass index of the current render pass must be equal to the subpass member of the VkGraphicsPipelineCreateInfo structure specified when creating the VkPipeline bound to VK_PIPELINE_BIND_POINT_GRAPHICS", "1.3-extensions"}, @@ -11334,7 +11384,7 @@ static const vuid_spec_text_pair vuid_spec_text[] = { {"VUID-vkCmdDrawIndirect-None-07846", "If the bound graphics pipeline state was created with the VK_DYNAMIC_STATE_DEPTH_BOUNDS_TEST_ENABLE dynamic state enabled then vkCmdSetDepthBoundsTestEnable must have been called in the current command buffer prior to this drawing command", "1.3-extensions"}, {"VUID-vkCmdDrawIndirect-None-07847", "If the bound graphics pipeline state was created with the VK_DYNAMIC_STATE_STENCIL_TEST_ENABLE dynamic state enabled then vkCmdSetStencilTestEnable must have been called in the current command buffer prior to this drawing command", "1.3-extensions"}, {"VUID-vkCmdDrawIndirect-None-07848", "If the bound graphics pipeline state was created with the VK_DYNAMIC_STATE_STENCIL_OP dynamic state enabled then vkCmdSetStencilOp must have been called in the current command buffer prior to this drawing command", "1.3-extensions"}, - {"VUID-vkCmdDrawIndirect-None-07849", "If the bound graphics pipeline state was created with the VK_DYNAMIC_STATE_LINE_STIPPLE_EXT dynamic state enabled then vkCmdSetLineStippleEXT must have been called in the current command buffer prior to this drawing command", "1.3-extensions"}, + {"VUID-vkCmdDrawIndirect-None-07849", "If the bound graphics pipeline state was created with the VK_DYNAMIC_STATE_LINE_STIPPLE_KHR dynamic state enabled then vkCmdSetLineStippleKHR must have been called in the current command buffer prior to this drawing command", "1.3-extensions"}, {"VUID-vkCmdDrawIndirect-None-07850", "If dynamic state was inherited from VkCommandBufferInheritanceViewportScissorInfoNV, it must be set in the current command buffer prior to this drawing command", "1.3-extensions"}, {"VUID-vkCmdDrawIndirect-None-07878", "If the bound graphics pipeline state was created with the VK_DYNAMIC_STATE_EXCLUSIVE_SCISSOR_ENABLE_NV dynamic state enabled then vkCmdSetExclusiveScissorEnableNV must have been called in the current command buffer prior to this drawing command", "1.3-extensions"}, {"VUID-vkCmdDrawIndirect-None-07879", "If the bound graphics pipeline state was created with the VK_DYNAMIC_STATE_EXCLUSIVE_SCISSOR_NV dynamic state enabled then vkCmdSetExclusiveScissorNV must have been called in the current command buffer prior to this drawing command", "1.3-extensions"}, @@ -11405,13 +11455,13 @@ static const vuid_spec_text_pair vuid_spec_text[] = { {"VUID-vkCmdDrawIndirect-None-08663", "If the depthClipEnable feature is enabled, and a shader object is bound to any graphics stage, then vkCmdSetDepthClipEnableEXT must have been called in the current command buffer prior to this drawing command", "1.3-extensions"}, {"VUID-vkCmdDrawIndirect-None-08664", "If the VK_EXT_sample_locations extension is enabled, and a shader object is bound to any graphics stage, and the most recent call to vkCmdSetRasterizerDiscardEnable in the current command buffer set rasterizerDiscardEnable to VK_FALSE, then vkCmdSetSampleLocationsEnableEXT must have been called in the current command buffer prior to this drawing command", "1.3-extensions"}, {"VUID-vkCmdDrawIndirect-None-08665", "If the VK_EXT_provoking_vertex extension is enabled, and a shader object is bound to the VK_SHADER_STAGE_VERTEX_BIT stage, and the most recent call to vkCmdSetRasterizerDiscardEnable in the current command buffer set rasterizerDiscardEnable to VK_FALSE, then vkCmdSetProvokingVertexModeEXT must have been called in the current command buffer prior to this drawing command", "1.3-extensions"}, - {"VUID-vkCmdDrawIndirect-None-08666", "If the VK_EXT_line_rasterization extension is enabled, and a shader object is bound to any graphics stage, and the most recent call to vkCmdSetRasterizerDiscardEnable in the current command buffer set rasterizerDiscardEnable to VK_FALSE, and the most recent call to vkCmdSetPolygonModeEXT in the current command buffer set polygonMode to VK_POLYGON_MODE_LINE, then vkCmdSetLineRasterizationModeEXT must have been called in the current command buffer prior to this drawing command", "1.3-extensions"}, - {"VUID-vkCmdDrawIndirect-None-08667", "If the VK_EXT_line_rasterization extension is enabled, and a shader object is bound to the VK_SHADER_STAGE_VERTEX_BIT stage, and the most recent call to vkCmdSetRasterizerDiscardEnable in the current command buffer set rasterizerDiscardEnable to VK_FALSE, and the most recent call to vkCmdSetPrimitiveTopology in the current command buffer set primitiveTopology to any line topology, then vkCmdSetLineRasterizationModeEXT must have been called in the current command buffer prior to this drawing command", "1.3-extensions"}, - {"VUID-vkCmdDrawIndirect-None-08668", "If the VK_EXT_line_rasterization extension is enabled, and a shader object that outputs line primitives is bound to the VK_SHADER_STAGE_TESSELLATION_EVALUATION_BIT or VK_SHADER_STAGE_GEOMETRY_BIT stage, and the most recent call to vkCmdSetRasterizerDiscardEnable in the current command buffer set rasterizerDiscardEnable to VK_FALSE, then vkCmdSetLineRasterizationModeEXT must have been called in the current command buffer prior to this drawing command", "1.3-extensions"}, - {"VUID-vkCmdDrawIndirect-None-08669", "If the VK_EXT_line_rasterization extension is enabled, and a shader object is bound to any graphics stage, and the most recent call to vkCmdSetRasterizerDiscardEnable in the current command buffer set rasterizerDiscardEnable to VK_FALSE, and the most recent call to vkCmdSetPolygonModeEXT in the current command buffer set polygonMode to VK_POLYGON_MODE_LINE, then vkCmdSetLineStippleEnableEXT must have been called in the current command buffer prior to this drawing command", "1.3-extensions"}, - {"VUID-vkCmdDrawIndirect-None-08670", "If the VK_EXT_line_rasterization extension is enabled, and a shader object is bound to the VK_SHADER_STAGE_VERTEX_BIT stage, and the most recent call to vkCmdSetRasterizerDiscardEnable in the current command buffer set rasterizerDiscardEnable to VK_FALSE, and the most recent call to vkCmdSetPrimitiveTopology in the current command buffer set primitiveTopology to any line topology, then vkCmdSetLineStippleEnableEXT must have been called in the current command buffer prior to this drawing command", "1.3-extensions"}, - {"VUID-vkCmdDrawIndirect-None-08671", "If the VK_EXT_line_rasterization extension is enabled, and a shader object that outputs line primitives is bound to the VK_SHADER_STAGE_TESSELLATION_EVALUATION_BIT or VK_SHADER_STAGE_GEOMETRY_BIT stage, and the most recent call to vkCmdSetRasterizerDiscardEnable in the current command buffer set rasterizerDiscardEnable to VK_FALSE, then vkCmdSetLineStippleEnableEXT must have been called in the current command buffer prior to this drawing command", "1.3-extensions"}, - {"VUID-vkCmdDrawIndirect-None-08672", "If the VK_EXT_line_rasterization extension is enabled, and a shader object is bound to any graphics stage, and the most recent call to vkCmdSetRasterizerDiscardEnable in the current command buffer set rasterizerDiscardEnable to VK_FALSE, and the most recent call to vkCmdSetLineStippleEnableEXT in the current command buffer set stippledLineEnable to VK_TRUE, then vkCmdSetLineStippleEXT must have been called in the current command buffer prior to this drawing command", "1.3-extensions"}, + {"VUID-vkCmdDrawIndirect-None-08666", "If the VK_KHR_line_rasterization or VK_EXT_line_rasterization extension is enabled, and a shader object is bound to any graphics stage, and the most recent call to vkCmdSetRasterizerDiscardEnable in the current command buffer set rasterizerDiscardEnable to VK_FALSE, and the most recent call to vkCmdSetPolygonModeEXT in the current command buffer set polygonMode to VK_POLYGON_MODE_LINE, then vkCmdSetLineRasterizationModeEXT must have been called in the current command buffer prior to this drawing command", "1.3-extensions"}, + {"VUID-vkCmdDrawIndirect-None-08667", "If the VK_KHR_line_rasterization or VK_EXT_line_rasterization extension is enabled, and a shader object is bound to the VK_SHADER_STAGE_VERTEX_BIT stage, and the most recent call to vkCmdSetRasterizerDiscardEnable in the current command buffer set rasterizerDiscardEnable to VK_FALSE, and the most recent call to vkCmdSetPrimitiveTopology in the current command buffer set primitiveTopology to any line topology, then vkCmdSetLineRasterizationModeEXT must have been called in the current command buffer prior to this drawing command", "1.3-extensions"}, + {"VUID-vkCmdDrawIndirect-None-08668", "If the VK_KHR_line_rasterization or VK_EXT_line_rasterization extension is enabled, and a shader object that outputs line primitives is bound to the VK_SHADER_STAGE_TESSELLATION_EVALUATION_BIT or VK_SHADER_STAGE_GEOMETRY_BIT stage, and the most recent call to vkCmdSetRasterizerDiscardEnable in the current command buffer set rasterizerDiscardEnable to VK_FALSE, then vkCmdSetLineRasterizationModeEXT must have been called in the current command buffer prior to this drawing command", "1.3-extensions"}, + {"VUID-vkCmdDrawIndirect-None-08669", "If the VK_KHR_line_rasterization or VK_EXT_line_rasterization extension is enabled, and a shader object is bound to any graphics stage, and the most recent call to vkCmdSetRasterizerDiscardEnable in the current command buffer set rasterizerDiscardEnable to VK_FALSE, and the most recent call to vkCmdSetPolygonModeEXT in the current command buffer set polygonMode to VK_POLYGON_MODE_LINE, then vkCmdSetLineStippleEnableEXT must have been called in the current command buffer prior to this drawing command", "1.3-extensions"}, + {"VUID-vkCmdDrawIndirect-None-08670", "If the VK_KHR_line_rasterization or VK_EXT_line_rasterization extension is enabled, and a shader object is bound to the VK_SHADER_STAGE_VERTEX_BIT stage, and the most recent call to vkCmdSetRasterizerDiscardEnable in the current command buffer set rasterizerDiscardEnable to VK_FALSE, and the most recent call to vkCmdSetPrimitiveTopology in the current command buffer set primitiveTopology to any line topology, then vkCmdSetLineStippleEnableEXT must have been called in the current command buffer prior to this drawing command", "1.3-extensions"}, + {"VUID-vkCmdDrawIndirect-None-08671", "If the VK_KHR_line_rasterization or VK_EXT_line_rasterization extension is enabled, and a shader object that outputs line primitives is bound to the VK_SHADER_STAGE_TESSELLATION_EVALUATION_BIT or VK_SHADER_STAGE_GEOMETRY_BIT stage, and the most recent call to vkCmdSetRasterizerDiscardEnable in the current command buffer set rasterizerDiscardEnable to VK_FALSE, then vkCmdSetLineStippleEnableEXT must have been called in the current command buffer prior to this drawing command", "1.3-extensions"}, + {"VUID-vkCmdDrawIndirect-None-08672", "If the VK_KHR_line_rasterization or VK_EXT_line_rasterization extension is enabled, and a shader object is bound to any graphics stage, and the most recent call to vkCmdSetRasterizerDiscardEnable in the current command buffer set rasterizerDiscardEnable to VK_FALSE, and the most recent call to vkCmdSetLineStippleEnableEXT in the current command buffer set stippledLineEnable to VK_TRUE, then vkCmdSetLineStippleEXT must have been called in the current command buffer prior to this drawing command", "1.3-extensions"}, {"VUID-vkCmdDrawIndirect-None-08673", "If the depthClipControl feature is enabled, and a shader object is bound to any graphics stage, then vkCmdSetDepthClipNegativeOneToOneEXT must have been called in the current command buffer prior to this drawing command", "1.3-extensions"}, {"VUID-vkCmdDrawIndirect-None-08674", "If the VK_NV_clip_space_w_scaling extension is enabled, and a shader object is bound to any graphics stage, then vkCmdSetViewportWScalingEnableNV must have been called in the current command buffer prior to this drawing command", "1.3-extensions"}, {"VUID-vkCmdDrawIndirect-None-08675", "If the VK_NV_viewport_swizzle extension is enabled, and a shader object is bound to any graphics stage, then vkCmdSetViewportSwizzleNV must have been called in the current command buffer prior to this drawing command", "1.3-extensions"}, @@ -11457,6 +11507,8 @@ static const vuid_spec_text_pair vuid_spec_text[] = { {"VUID-vkCmdDrawIndirect-None-09366", "If there is a shader object bound to any graphics stage, and the current render pass includes a color attachment that uses the VK_RESOLVE_MODE_EXTERNAL_FORMAT_DOWNSAMPLE_ANDROID resolve mode, then vkCmdSetColorBlendEnableEXT must have set blend enable to VK_FALSE prior to this drawing command", "1.3-extensions"}, {"VUID-vkCmdDrawIndirect-None-09368", "If the current render pass instance was begun with vkCmdBeginRendering, there is no shader object bound to any graphics stage, and the currently bound graphics pipeline was created with a non-zero VkExternalFormatANDROID::externalFormat value and with the VK_DYNAMIC_STATE_FRAGMENT_SHADING_RATE_KHR dynamic state enabled, then vkCmdSetFragmentShadingRateKHR must have set pFragmentSize->width to 1 prior to this drawing command", "1.3-extensions"}, {"VUID-vkCmdDrawIndirect-None-09369", "If the current render pass instance was begun with vkCmdBeginRendering, there is no shader object bound to any graphics stage, and the currently bound graphics pipeline was created with a non-zero VkExternalFormatANDROID::externalFormat value and with the VK_DYNAMIC_STATE_FRAGMENT_SHADING_RATE_KHR dynamic state enabled, then vkCmdSetFragmentShadingRateKHR must have set pFragmentSize->height to 1 prior to this drawing command", "1.3-extensions"}, + {"VUID-vkCmdDrawIndirect-None-09548", "If the current render pass was begun with vkCmdBeginRendering, and there is no shader object bound to any graphics stage, the value of each element of VkRenderingAttachmentLocationInfoKHR::pColorAttachmentLocations set by vkCmdSetRenderingAttachmentLocationsKHR must match the value set for the corresponding element in the currently bound pipeline", "1.3-extensions"}, + {"VUID-vkCmdDrawIndirect-None-09549", "If the current render pass was begun with vkCmdBeginRendering, and there is no shader object bound to any graphics stage, input attachment index mappings in the currently bound pipeline must match those set for the current render pass instance via VkRenderingInputAttachmentIndexInfoKHR", "1.3-extensions"}, {"VUID-vkCmdDrawIndirect-OpImageBlockMatchSADQCOM-06975", "If OpImageBlockMatchSADQCOM is used to read from an VkImageView as a result of this command, then the image view's format features must contain VK_FORMAT_FEATURE_2_BLOCK_MATCHING_BIT_QCOM", "1.3-extensions"}, {"VUID-vkCmdDrawIndirect-OpImageBlockMatchSADQCOM-06976", "If OpImageBlockMatchSADQCOM or OpImageBlockMatchSSDQCOM is used to read from a reference image as result of this command, then the specified reference coordinates must not fail integer texel coordinate validation", "1.3-extensions"}, {"VUID-vkCmdDrawIndirect-OpImageBlockMatchSSDQCOM-06974", "If OpImageBlockMatchSSDQCOM is used to read from an VkImageView as a result of this command, then the image view's format features must contain VK_FORMAT_FEATURE_2_BLOCK_MATCHING_BIT_QCOM", "1.3-extensions"}, @@ -11603,10 +11655,10 @@ static const vuid_spec_text_pair vuid_spec_text[] = { {"VUID-vkCmdDrawIndirect-sparseImageInt64Atomics-04475", "If the sparseImageInt64Atomics feature is not enabled, VkBuffer objects created with the VK_BUFFER_CREATE_SPARSE_RESIDENCY_BIT flag must not be accessed by atomic instructions through an OpTypeImage with a SampledType with a Width of 64 by this command", "1.3-extensions"}, {"VUID-vkCmdDrawIndirect-stage-06481", "The bound graphics pipeline must not have been created with the VkPipelineShaderStageCreateInfo::stage member of an element of VkGraphicsPipelineCreateInfo::pStages set to VK_SHADER_STAGE_TASK_BIT_EXT or VK_SHADER_STAGE_MESH_BIT_EXT", "1.3-extensions"}, {"VUID-vkCmdDrawIndirect-stage-07073", "If the currently bound pipeline was created with the VkPipelineShaderStageCreateInfo::stage member of an element of VkGraphicsPipelineCreateInfo::pStages set to VK_SHADER_STAGE_VERTEX_BIT, VK_SHADER_STAGE_TESSELLATION_CONTROL_BIT, VK_SHADER_STAGE_TESSELLATION_EVALUATION_BIT or VK_SHADER_STAGE_GEOMETRY_BIT, then Mesh Shader Queries must not be active", "1.3-extensions"}, - {"VUID-vkCmdDrawIndirect-stippledLineEnable-07495", "If the bound graphics pipeline state was created with the VK_DYNAMIC_STATE_LINE_STIPPLE_ENABLE_EXT or VK_DYNAMIC_STATE_LINE_RASTERIZATION_MODE_EXT dynamic states enabled, and if the current stippledLineEnable state is VK_TRUE and the current lineRasterizationMode state is VK_LINE_RASTERIZATION_MODE_RECTANGULAR_EXT, then the stippledRectangularLines feature must be enabled", "1.3-extensions"}, - {"VUID-vkCmdDrawIndirect-stippledLineEnable-07496", "If the bound graphics pipeline state was created with the VK_DYNAMIC_STATE_LINE_STIPPLE_ENABLE_EXT or VK_DYNAMIC_STATE_LINE_RASTERIZATION_MODE_EXT dynamic states enabled, and if the current stippledLineEnable state is VK_TRUE and the current lineRasterizationMode state is VK_LINE_RASTERIZATION_MODE_BRESENHAM_EXT, then the stippledBresenhamLines feature must be enabled", "1.3-extensions"}, - {"VUID-vkCmdDrawIndirect-stippledLineEnable-07497", "If the bound graphics pipeline state was created with the VK_DYNAMIC_STATE_LINE_STIPPLE_ENABLE_EXT or VK_DYNAMIC_STATE_LINE_RASTERIZATION_MODE_EXT dynamic states enabled, and if the current stippledLineEnable state is VK_TRUE and the current lineRasterizationMode state is VK_LINE_RASTERIZATION_MODE_RECTANGULAR_SMOOTH_EXT, then the stippledSmoothLines feature must be enabled", "1.3-extensions"}, - {"VUID-vkCmdDrawIndirect-stippledLineEnable-07498", "If the bound graphics pipeline state was created with the VK_DYNAMIC_STATE_LINE_STIPPLE_ENABLE_EXT or VK_DYNAMIC_STATE_LINE_RASTERIZATION_MODE_EXT dynamic states enabled, and if the current stippledLineEnable state is VK_TRUE and the current lineRasterizationMode state is VK_LINE_RASTERIZATION_MODE_DEFAULT_EXT, then the stippledRectangularLines feature must be enabled and VkPhysicalDeviceLimits::strictLines must be VK_TRUE", "1.3-extensions"}, + {"VUID-vkCmdDrawIndirect-stippledLineEnable-07495", "If the bound graphics pipeline state was created with the VK_DYNAMIC_STATE_LINE_STIPPLE_ENABLE_EXT or VK_DYNAMIC_STATE_LINE_RASTERIZATION_MODE_EXT dynamic states enabled, and if the current stippledLineEnable state is VK_TRUE and the current lineRasterizationMode state is VK_LINE_RASTERIZATION_MODE_RECTANGULAR_KHR, then the stippledRectangularLines feature must be enabled", "1.3-extensions"}, + {"VUID-vkCmdDrawIndirect-stippledLineEnable-07496", "If the bound graphics pipeline state was created with the VK_DYNAMIC_STATE_LINE_STIPPLE_ENABLE_EXT or VK_DYNAMIC_STATE_LINE_RASTERIZATION_MODE_EXT dynamic states enabled, and if the current stippledLineEnable state is VK_TRUE and the current lineRasterizationMode state is VK_LINE_RASTERIZATION_MODE_BRESENHAM_KHR, then the stippledBresenhamLines feature must be enabled", "1.3-extensions"}, + {"VUID-vkCmdDrawIndirect-stippledLineEnable-07497", "If the bound graphics pipeline state was created with the VK_DYNAMIC_STATE_LINE_STIPPLE_ENABLE_EXT or VK_DYNAMIC_STATE_LINE_RASTERIZATION_MODE_EXT dynamic states enabled, and if the current stippledLineEnable state is VK_TRUE and the current lineRasterizationMode state is VK_LINE_RASTERIZATION_MODE_RECTANGULAR_SMOOTH_KHR, then the stippledSmoothLines feature must be enabled", "1.3-extensions"}, + {"VUID-vkCmdDrawIndirect-stippledLineEnable-07498", "If the bound graphics pipeline state was created with the VK_DYNAMIC_STATE_LINE_STIPPLE_ENABLE_EXT or VK_DYNAMIC_STATE_LINE_RASTERIZATION_MODE_EXT dynamic states enabled, and if the current stippledLineEnable state is VK_TRUE and the current lineRasterizationMode state is VK_LINE_RASTERIZATION_MODE_DEFAULT_KHR, then the stippledRectangularLines feature must be enabled and VkPhysicalDeviceLimits::strictLines must be VK_TRUE", "1.3-extensions"}, {"VUID-vkCmdDrawIndirect-storageBuffers-06936", "If any stage of the VkPipeline object bound to the pipeline bind point used by this command accesses a storage buffer, and that stage was created without enabling either VK_PIPELINE_ROBUSTNESS_BUFFER_BEHAVIOR_ROBUST_BUFFER_ACCESS_EXT or VK_PIPELINE_ROBUSTNESS_BUFFER_BEHAVIOR_ROBUST_BUFFER_ACCESS_2_EXT for storageBuffers, and the robustBufferAccess feature is not enabled, that stage must not access values outside of the range of the buffer as specified in the descriptor set bound to the same pipeline bind point", "1.3-extensions"}, {"VUID-vkCmdDrawIndirect-subpass-02685", "The subpass index of the current render pass must be equal to the subpass member of the VkGraphicsPipelineCreateInfo structure specified when creating the VkPipeline bound to VK_PIPELINE_BIND_POINT_GRAPHICS", "1.3-extensions"}, {"VUID-vkCmdDrawIndirect-uniformBuffers-06935", "If any stage of the VkPipeline object bound to the pipeline bind point used by this command accesses a uniform buffer, and that stage was created without enabling either VK_PIPELINE_ROBUSTNESS_BUFFER_BEHAVIOR_ROBUST_BUFFER_ACCESS_EXT or VK_PIPELINE_ROBUSTNESS_BUFFER_BEHAVIOR_ROBUST_BUFFER_ACCESS_2_EXT for uniformBuffers, and the robustBufferAccess feature is not enabled, that stage must not access values outside of the range of the buffer as specified in the descriptor set bound to the same pipeline bind point", "1.3-extensions"}, @@ -11698,7 +11750,7 @@ static const vuid_spec_text_pair vuid_spec_text[] = { {"VUID-vkCmdDrawIndirectByteCountEXT-None-07846", "If the bound graphics pipeline state was created with the VK_DYNAMIC_STATE_DEPTH_BOUNDS_TEST_ENABLE dynamic state enabled then vkCmdSetDepthBoundsTestEnable must have been called in the current command buffer prior to this drawing command", "1.3-extensions"}, {"VUID-vkCmdDrawIndirectByteCountEXT-None-07847", "If the bound graphics pipeline state was created with the VK_DYNAMIC_STATE_STENCIL_TEST_ENABLE dynamic state enabled then vkCmdSetStencilTestEnable must have been called in the current command buffer prior to this drawing command", "1.3-extensions"}, {"VUID-vkCmdDrawIndirectByteCountEXT-None-07848", "If the bound graphics pipeline state was created with the VK_DYNAMIC_STATE_STENCIL_OP dynamic state enabled then vkCmdSetStencilOp must have been called in the current command buffer prior to this drawing command", "1.3-extensions"}, - {"VUID-vkCmdDrawIndirectByteCountEXT-None-07849", "If the bound graphics pipeline state was created with the VK_DYNAMIC_STATE_LINE_STIPPLE_EXT dynamic state enabled then vkCmdSetLineStippleEXT must have been called in the current command buffer prior to this drawing command", "1.3-extensions"}, + {"VUID-vkCmdDrawIndirectByteCountEXT-None-07849", "If the bound graphics pipeline state was created with the VK_DYNAMIC_STATE_LINE_STIPPLE_KHR dynamic state enabled then vkCmdSetLineStippleKHR must have been called in the current command buffer prior to this drawing command", "1.3-extensions"}, {"VUID-vkCmdDrawIndirectByteCountEXT-None-07850", "If dynamic state was inherited from VkCommandBufferInheritanceViewportScissorInfoNV, it must be set in the current command buffer prior to this drawing command", "1.3-extensions"}, {"VUID-vkCmdDrawIndirectByteCountEXT-None-07878", "If the bound graphics pipeline state was created with the VK_DYNAMIC_STATE_EXCLUSIVE_SCISSOR_ENABLE_NV dynamic state enabled then vkCmdSetExclusiveScissorEnableNV must have been called in the current command buffer prior to this drawing command", "1.3-extensions"}, {"VUID-vkCmdDrawIndirectByteCountEXT-None-07879", "If the bound graphics pipeline state was created with the VK_DYNAMIC_STATE_EXCLUSIVE_SCISSOR_NV dynamic state enabled then vkCmdSetExclusiveScissorNV must have been called in the current command buffer prior to this drawing command", "1.3-extensions"}, @@ -11769,13 +11821,13 @@ static const vuid_spec_text_pair vuid_spec_text[] = { {"VUID-vkCmdDrawIndirectByteCountEXT-None-08663", "If the depthClipEnable feature is enabled, and a shader object is bound to any graphics stage, then vkCmdSetDepthClipEnableEXT must have been called in the current command buffer prior to this drawing command", "1.3-extensions"}, {"VUID-vkCmdDrawIndirectByteCountEXT-None-08664", "If the VK_EXT_sample_locations extension is enabled, and a shader object is bound to any graphics stage, and the most recent call to vkCmdSetRasterizerDiscardEnable in the current command buffer set rasterizerDiscardEnable to VK_FALSE, then vkCmdSetSampleLocationsEnableEXT must have been called in the current command buffer prior to this drawing command", "1.3-extensions"}, {"VUID-vkCmdDrawIndirectByteCountEXT-None-08665", "If the VK_EXT_provoking_vertex extension is enabled, and a shader object is bound to the VK_SHADER_STAGE_VERTEX_BIT stage, and the most recent call to vkCmdSetRasterizerDiscardEnable in the current command buffer set rasterizerDiscardEnable to VK_FALSE, then vkCmdSetProvokingVertexModeEXT must have been called in the current command buffer prior to this drawing command", "1.3-extensions"}, - {"VUID-vkCmdDrawIndirectByteCountEXT-None-08666", "If the VK_EXT_line_rasterization extension is enabled, and a shader object is bound to any graphics stage, and the most recent call to vkCmdSetRasterizerDiscardEnable in the current command buffer set rasterizerDiscardEnable to VK_FALSE, and the most recent call to vkCmdSetPolygonModeEXT in the current command buffer set polygonMode to VK_POLYGON_MODE_LINE, then vkCmdSetLineRasterizationModeEXT must have been called in the current command buffer prior to this drawing command", "1.3-extensions"}, - {"VUID-vkCmdDrawIndirectByteCountEXT-None-08667", "If the VK_EXT_line_rasterization extension is enabled, and a shader object is bound to the VK_SHADER_STAGE_VERTEX_BIT stage, and the most recent call to vkCmdSetRasterizerDiscardEnable in the current command buffer set rasterizerDiscardEnable to VK_FALSE, and the most recent call to vkCmdSetPrimitiveTopology in the current command buffer set primitiveTopology to any line topology, then vkCmdSetLineRasterizationModeEXT must have been called in the current command buffer prior to this drawing command", "1.3-extensions"}, - {"VUID-vkCmdDrawIndirectByteCountEXT-None-08668", "If the VK_EXT_line_rasterization extension is enabled, and a shader object that outputs line primitives is bound to the VK_SHADER_STAGE_TESSELLATION_EVALUATION_BIT or VK_SHADER_STAGE_GEOMETRY_BIT stage, and the most recent call to vkCmdSetRasterizerDiscardEnable in the current command buffer set rasterizerDiscardEnable to VK_FALSE, then vkCmdSetLineRasterizationModeEXT must have been called in the current command buffer prior to this drawing command", "1.3-extensions"}, - {"VUID-vkCmdDrawIndirectByteCountEXT-None-08669", "If the VK_EXT_line_rasterization extension is enabled, and a shader object is bound to any graphics stage, and the most recent call to vkCmdSetRasterizerDiscardEnable in the current command buffer set rasterizerDiscardEnable to VK_FALSE, and the most recent call to vkCmdSetPolygonModeEXT in the current command buffer set polygonMode to VK_POLYGON_MODE_LINE, then vkCmdSetLineStippleEnableEXT must have been called in the current command buffer prior to this drawing command", "1.3-extensions"}, - {"VUID-vkCmdDrawIndirectByteCountEXT-None-08670", "If the VK_EXT_line_rasterization extension is enabled, and a shader object is bound to the VK_SHADER_STAGE_VERTEX_BIT stage, and the most recent call to vkCmdSetRasterizerDiscardEnable in the current command buffer set rasterizerDiscardEnable to VK_FALSE, and the most recent call to vkCmdSetPrimitiveTopology in the current command buffer set primitiveTopology to any line topology, then vkCmdSetLineStippleEnableEXT must have been called in the current command buffer prior to this drawing command", "1.3-extensions"}, - {"VUID-vkCmdDrawIndirectByteCountEXT-None-08671", "If the VK_EXT_line_rasterization extension is enabled, and a shader object that outputs line primitives is bound to the VK_SHADER_STAGE_TESSELLATION_EVALUATION_BIT or VK_SHADER_STAGE_GEOMETRY_BIT stage, and the most recent call to vkCmdSetRasterizerDiscardEnable in the current command buffer set rasterizerDiscardEnable to VK_FALSE, then vkCmdSetLineStippleEnableEXT must have been called in the current command buffer prior to this drawing command", "1.3-extensions"}, - {"VUID-vkCmdDrawIndirectByteCountEXT-None-08672", "If the VK_EXT_line_rasterization extension is enabled, and a shader object is bound to any graphics stage, and the most recent call to vkCmdSetRasterizerDiscardEnable in the current command buffer set rasterizerDiscardEnable to VK_FALSE, and the most recent call to vkCmdSetLineStippleEnableEXT in the current command buffer set stippledLineEnable to VK_TRUE, then vkCmdSetLineStippleEXT must have been called in the current command buffer prior to this drawing command", "1.3-extensions"}, + {"VUID-vkCmdDrawIndirectByteCountEXT-None-08666", "If the VK_KHR_line_rasterization or VK_EXT_line_rasterization extension is enabled, and a shader object is bound to any graphics stage, and the most recent call to vkCmdSetRasterizerDiscardEnable in the current command buffer set rasterizerDiscardEnable to VK_FALSE, and the most recent call to vkCmdSetPolygonModeEXT in the current command buffer set polygonMode to VK_POLYGON_MODE_LINE, then vkCmdSetLineRasterizationModeEXT must have been called in the current command buffer prior to this drawing command", "1.3-extensions"}, + {"VUID-vkCmdDrawIndirectByteCountEXT-None-08667", "If the VK_KHR_line_rasterization or VK_EXT_line_rasterization extension is enabled, and a shader object is bound to the VK_SHADER_STAGE_VERTEX_BIT stage, and the most recent call to vkCmdSetRasterizerDiscardEnable in the current command buffer set rasterizerDiscardEnable to VK_FALSE, and the most recent call to vkCmdSetPrimitiveTopology in the current command buffer set primitiveTopology to any line topology, then vkCmdSetLineRasterizationModeEXT must have been called in the current command buffer prior to this drawing command", "1.3-extensions"}, + {"VUID-vkCmdDrawIndirectByteCountEXT-None-08668", "If the VK_KHR_line_rasterization or VK_EXT_line_rasterization extension is enabled, and a shader object that outputs line primitives is bound to the VK_SHADER_STAGE_TESSELLATION_EVALUATION_BIT or VK_SHADER_STAGE_GEOMETRY_BIT stage, and the most recent call to vkCmdSetRasterizerDiscardEnable in the current command buffer set rasterizerDiscardEnable to VK_FALSE, then vkCmdSetLineRasterizationModeEXT must have been called in the current command buffer prior to this drawing command", "1.3-extensions"}, + {"VUID-vkCmdDrawIndirectByteCountEXT-None-08669", "If the VK_KHR_line_rasterization or VK_EXT_line_rasterization extension is enabled, and a shader object is bound to any graphics stage, and the most recent call to vkCmdSetRasterizerDiscardEnable in the current command buffer set rasterizerDiscardEnable to VK_FALSE, and the most recent call to vkCmdSetPolygonModeEXT in the current command buffer set polygonMode to VK_POLYGON_MODE_LINE, then vkCmdSetLineStippleEnableEXT must have been called in the current command buffer prior to this drawing command", "1.3-extensions"}, + {"VUID-vkCmdDrawIndirectByteCountEXT-None-08670", "If the VK_KHR_line_rasterization or VK_EXT_line_rasterization extension is enabled, and a shader object is bound to the VK_SHADER_STAGE_VERTEX_BIT stage, and the most recent call to vkCmdSetRasterizerDiscardEnable in the current command buffer set rasterizerDiscardEnable to VK_FALSE, and the most recent call to vkCmdSetPrimitiveTopology in the current command buffer set primitiveTopology to any line topology, then vkCmdSetLineStippleEnableEXT must have been called in the current command buffer prior to this drawing command", "1.3-extensions"}, + {"VUID-vkCmdDrawIndirectByteCountEXT-None-08671", "If the VK_KHR_line_rasterization or VK_EXT_line_rasterization extension is enabled, and a shader object that outputs line primitives is bound to the VK_SHADER_STAGE_TESSELLATION_EVALUATION_BIT or VK_SHADER_STAGE_GEOMETRY_BIT stage, and the most recent call to vkCmdSetRasterizerDiscardEnable in the current command buffer set rasterizerDiscardEnable to VK_FALSE, then vkCmdSetLineStippleEnableEXT must have been called in the current command buffer prior to this drawing command", "1.3-extensions"}, + {"VUID-vkCmdDrawIndirectByteCountEXT-None-08672", "If the VK_KHR_line_rasterization or VK_EXT_line_rasterization extension is enabled, and a shader object is bound to any graphics stage, and the most recent call to vkCmdSetRasterizerDiscardEnable in the current command buffer set rasterizerDiscardEnable to VK_FALSE, and the most recent call to vkCmdSetLineStippleEnableEXT in the current command buffer set stippledLineEnable to VK_TRUE, then vkCmdSetLineStippleEXT must have been called in the current command buffer prior to this drawing command", "1.3-extensions"}, {"VUID-vkCmdDrawIndirectByteCountEXT-None-08673", "If the depthClipControl feature is enabled, and a shader object is bound to any graphics stage, then vkCmdSetDepthClipNegativeOneToOneEXT must have been called in the current command buffer prior to this drawing command", "1.3-extensions"}, {"VUID-vkCmdDrawIndirectByteCountEXT-None-08674", "If the VK_NV_clip_space_w_scaling extension is enabled, and a shader object is bound to any graphics stage, then vkCmdSetViewportWScalingEnableNV must have been called in the current command buffer prior to this drawing command", "1.3-extensions"}, {"VUID-vkCmdDrawIndirectByteCountEXT-None-08675", "If the VK_NV_viewport_swizzle extension is enabled, and a shader object is bound to any graphics stage, then vkCmdSetViewportSwizzleNV must have been called in the current command buffer prior to this drawing command", "1.3-extensions"}, @@ -11822,6 +11874,8 @@ static const vuid_spec_text_pair vuid_spec_text[] = { {"VUID-vkCmdDrawIndirectByteCountEXT-None-09368", "If the current render pass instance was begun with vkCmdBeginRendering, there is no shader object bound to any graphics stage, and the currently bound graphics pipeline was created with a non-zero VkExternalFormatANDROID::externalFormat value and with the VK_DYNAMIC_STATE_FRAGMENT_SHADING_RATE_KHR dynamic state enabled, then vkCmdSetFragmentShadingRateKHR must have set pFragmentSize->width to 1 prior to this drawing command", "1.3-extensions"}, {"VUID-vkCmdDrawIndirectByteCountEXT-None-09369", "If the current render pass instance was begun with vkCmdBeginRendering, there is no shader object bound to any graphics stage, and the currently bound graphics pipeline was created with a non-zero VkExternalFormatANDROID::externalFormat value and with the VK_DYNAMIC_STATE_FRAGMENT_SHADING_RATE_KHR dynamic state enabled, then vkCmdSetFragmentShadingRateKHR must have set pFragmentSize->height to 1 prior to this drawing command", "1.3-extensions"}, {"VUID-vkCmdDrawIndirectByteCountEXT-None-09462", "If shader objects are used for drawing or the bound graphics pipeline state was created with the VK_DYNAMIC_STATE_VERTEX_INPUT_EXT dynamic state enabled, any member of the pVertexBindingDescriptions parameter to the vkCmdSetVertexInputEXT call that sets this dynamic state has a value other than 1 in divisor, and VkPhysicalDeviceVertexAttributeDivisorPropertiesKHR::supportsNonZeroFirstInstance is VK_FALSE, then firstInstance must be 0", "1.3-extensions"}, + {"VUID-vkCmdDrawIndirectByteCountEXT-None-09548", "If the current render pass was begun with vkCmdBeginRendering, and there is no shader object bound to any graphics stage, the value of each element of VkRenderingAttachmentLocationInfoKHR::pColorAttachmentLocations set by vkCmdSetRenderingAttachmentLocationsKHR must match the value set for the corresponding element in the currently bound pipeline", "1.3-extensions"}, + {"VUID-vkCmdDrawIndirectByteCountEXT-None-09549", "If the current render pass was begun with vkCmdBeginRendering, and there is no shader object bound to any graphics stage, input attachment index mappings in the currently bound pipeline must match those set for the current render pass instance via VkRenderingInputAttachmentIndexInfoKHR", "1.3-extensions"}, {"VUID-vkCmdDrawIndirectByteCountEXT-OpImageBlockMatchSADQCOM-06975", "If OpImageBlockMatchSADQCOM is used to read from an VkImageView as a result of this command, then the image view's format features must contain VK_FORMAT_FEATURE_2_BLOCK_MATCHING_BIT_QCOM", "1.3-extensions"}, {"VUID-vkCmdDrawIndirectByteCountEXT-OpImageBlockMatchSADQCOM-06976", "If OpImageBlockMatchSADQCOM or OpImageBlockMatchSSDQCOM is used to read from a reference image as result of this command, then the specified reference coordinates must not fail integer texel coordinate validation", "1.3-extensions"}, {"VUID-vkCmdDrawIndirectByteCountEXT-OpImageBlockMatchSSDQCOM-06974", "If OpImageBlockMatchSSDQCOM is used to read from an VkImageView as a result of this command, then the image view's format features must contain VK_FORMAT_FEATURE_2_BLOCK_MATCHING_BIT_QCOM", "1.3-extensions"}, @@ -11965,10 +12019,10 @@ static const vuid_spec_text_pair vuid_spec_text[] = { {"VUID-vkCmdDrawIndirectByteCountEXT-sparseImageInt64Atomics-04475", "If the sparseImageInt64Atomics feature is not enabled, VkBuffer objects created with the VK_BUFFER_CREATE_SPARSE_RESIDENCY_BIT flag must not be accessed by atomic instructions through an OpTypeImage with a SampledType with a Width of 64 by this command", "1.3-extensions"}, {"VUID-vkCmdDrawIndirectByteCountEXT-stage-06481", "The bound graphics pipeline must not have been created with the VkPipelineShaderStageCreateInfo::stage member of an element of VkGraphicsPipelineCreateInfo::pStages set to VK_SHADER_STAGE_TASK_BIT_EXT or VK_SHADER_STAGE_MESH_BIT_EXT", "1.3-extensions"}, {"VUID-vkCmdDrawIndirectByteCountEXT-stage-07073", "If the currently bound pipeline was created with the VkPipelineShaderStageCreateInfo::stage member of an element of VkGraphicsPipelineCreateInfo::pStages set to VK_SHADER_STAGE_VERTEX_BIT, VK_SHADER_STAGE_TESSELLATION_CONTROL_BIT, VK_SHADER_STAGE_TESSELLATION_EVALUATION_BIT or VK_SHADER_STAGE_GEOMETRY_BIT, then Mesh Shader Queries must not be active", "1.3-extensions"}, - {"VUID-vkCmdDrawIndirectByteCountEXT-stippledLineEnable-07495", "If the bound graphics pipeline state was created with the VK_DYNAMIC_STATE_LINE_STIPPLE_ENABLE_EXT or VK_DYNAMIC_STATE_LINE_RASTERIZATION_MODE_EXT dynamic states enabled, and if the current stippledLineEnable state is VK_TRUE and the current lineRasterizationMode state is VK_LINE_RASTERIZATION_MODE_RECTANGULAR_EXT, then the stippledRectangularLines feature must be enabled", "1.3-extensions"}, - {"VUID-vkCmdDrawIndirectByteCountEXT-stippledLineEnable-07496", "If the bound graphics pipeline state was created with the VK_DYNAMIC_STATE_LINE_STIPPLE_ENABLE_EXT or VK_DYNAMIC_STATE_LINE_RASTERIZATION_MODE_EXT dynamic states enabled, and if the current stippledLineEnable state is VK_TRUE and the current lineRasterizationMode state is VK_LINE_RASTERIZATION_MODE_BRESENHAM_EXT, then the stippledBresenhamLines feature must be enabled", "1.3-extensions"}, - {"VUID-vkCmdDrawIndirectByteCountEXT-stippledLineEnable-07497", "If the bound graphics pipeline state was created with the VK_DYNAMIC_STATE_LINE_STIPPLE_ENABLE_EXT or VK_DYNAMIC_STATE_LINE_RASTERIZATION_MODE_EXT dynamic states enabled, and if the current stippledLineEnable state is VK_TRUE and the current lineRasterizationMode state is VK_LINE_RASTERIZATION_MODE_RECTANGULAR_SMOOTH_EXT, then the stippledSmoothLines feature must be enabled", "1.3-extensions"}, - {"VUID-vkCmdDrawIndirectByteCountEXT-stippledLineEnable-07498", "If the bound graphics pipeline state was created with the VK_DYNAMIC_STATE_LINE_STIPPLE_ENABLE_EXT or VK_DYNAMIC_STATE_LINE_RASTERIZATION_MODE_EXT dynamic states enabled, and if the current stippledLineEnable state is VK_TRUE and the current lineRasterizationMode state is VK_LINE_RASTERIZATION_MODE_DEFAULT_EXT, then the stippledRectangularLines feature must be enabled and VkPhysicalDeviceLimits::strictLines must be VK_TRUE", "1.3-extensions"}, + {"VUID-vkCmdDrawIndirectByteCountEXT-stippledLineEnable-07495", "If the bound graphics pipeline state was created with the VK_DYNAMIC_STATE_LINE_STIPPLE_ENABLE_EXT or VK_DYNAMIC_STATE_LINE_RASTERIZATION_MODE_EXT dynamic states enabled, and if the current stippledLineEnable state is VK_TRUE and the current lineRasterizationMode state is VK_LINE_RASTERIZATION_MODE_RECTANGULAR_KHR, then the stippledRectangularLines feature must be enabled", "1.3-extensions"}, + {"VUID-vkCmdDrawIndirectByteCountEXT-stippledLineEnable-07496", "If the bound graphics pipeline state was created with the VK_DYNAMIC_STATE_LINE_STIPPLE_ENABLE_EXT or VK_DYNAMIC_STATE_LINE_RASTERIZATION_MODE_EXT dynamic states enabled, and if the current stippledLineEnable state is VK_TRUE and the current lineRasterizationMode state is VK_LINE_RASTERIZATION_MODE_BRESENHAM_KHR, then the stippledBresenhamLines feature must be enabled", "1.3-extensions"}, + {"VUID-vkCmdDrawIndirectByteCountEXT-stippledLineEnable-07497", "If the bound graphics pipeline state was created with the VK_DYNAMIC_STATE_LINE_STIPPLE_ENABLE_EXT or VK_DYNAMIC_STATE_LINE_RASTERIZATION_MODE_EXT dynamic states enabled, and if the current stippledLineEnable state is VK_TRUE and the current lineRasterizationMode state is VK_LINE_RASTERIZATION_MODE_RECTANGULAR_SMOOTH_KHR, then the stippledSmoothLines feature must be enabled", "1.3-extensions"}, + {"VUID-vkCmdDrawIndirectByteCountEXT-stippledLineEnable-07498", "If the bound graphics pipeline state was created with the VK_DYNAMIC_STATE_LINE_STIPPLE_ENABLE_EXT or VK_DYNAMIC_STATE_LINE_RASTERIZATION_MODE_EXT dynamic states enabled, and if the current stippledLineEnable state is VK_TRUE and the current lineRasterizationMode state is VK_LINE_RASTERIZATION_MODE_DEFAULT_KHR, then the stippledRectangularLines feature must be enabled and VkPhysicalDeviceLimits::strictLines must be VK_TRUE", "1.3-extensions"}, {"VUID-vkCmdDrawIndirectByteCountEXT-storageBuffers-06936", "If any stage of the VkPipeline object bound to the pipeline bind point used by this command accesses a storage buffer, and that stage was created without enabling either VK_PIPELINE_ROBUSTNESS_BUFFER_BEHAVIOR_ROBUST_BUFFER_ACCESS_EXT or VK_PIPELINE_ROBUSTNESS_BUFFER_BEHAVIOR_ROBUST_BUFFER_ACCESS_2_EXT for storageBuffers, and the robustBufferAccess feature is not enabled, that stage must not access values outside of the range of the buffer as specified in the descriptor set bound to the same pipeline bind point", "1.3-extensions"}, {"VUID-vkCmdDrawIndirectByteCountEXT-subpass-02685", "The subpass index of the current render pass must be equal to the subpass member of the VkGraphicsPipelineCreateInfo structure specified when creating the VkPipeline bound to VK_PIPELINE_BIND_POINT_GRAPHICS", "1.3-extensions"}, {"VUID-vkCmdDrawIndirectByteCountEXT-transformFeedback-02287", "VkPhysicalDeviceTransformFeedbackFeaturesEXT::transformFeedback must be enabled", "1.3-extensions"}, @@ -12065,7 +12119,7 @@ static const vuid_spec_text_pair vuid_spec_text[] = { {"VUID-vkCmdDrawIndirectCount-None-07846", "If the bound graphics pipeline state was created with the VK_DYNAMIC_STATE_DEPTH_BOUNDS_TEST_ENABLE dynamic state enabled then vkCmdSetDepthBoundsTestEnable must have been called in the current command buffer prior to this drawing command", "1.3-extensions"}, {"VUID-vkCmdDrawIndirectCount-None-07847", "If the bound graphics pipeline state was created with the VK_DYNAMIC_STATE_STENCIL_TEST_ENABLE dynamic state enabled then vkCmdSetStencilTestEnable must have been called in the current command buffer prior to this drawing command", "1.3-extensions"}, {"VUID-vkCmdDrawIndirectCount-None-07848", "If the bound graphics pipeline state was created with the VK_DYNAMIC_STATE_STENCIL_OP dynamic state enabled then vkCmdSetStencilOp must have been called in the current command buffer prior to this drawing command", "1.3-extensions"}, - {"VUID-vkCmdDrawIndirectCount-None-07849", "If the bound graphics pipeline state was created with the VK_DYNAMIC_STATE_LINE_STIPPLE_EXT dynamic state enabled then vkCmdSetLineStippleEXT must have been called in the current command buffer prior to this drawing command", "1.3-extensions"}, + {"VUID-vkCmdDrawIndirectCount-None-07849", "If the bound graphics pipeline state was created with the VK_DYNAMIC_STATE_LINE_STIPPLE_KHR dynamic state enabled then vkCmdSetLineStippleKHR must have been called in the current command buffer prior to this drawing command", "1.3-extensions"}, {"VUID-vkCmdDrawIndirectCount-None-07850", "If dynamic state was inherited from VkCommandBufferInheritanceViewportScissorInfoNV, it must be set in the current command buffer prior to this drawing command", "1.3-extensions"}, {"VUID-vkCmdDrawIndirectCount-None-07878", "If the bound graphics pipeline state was created with the VK_DYNAMIC_STATE_EXCLUSIVE_SCISSOR_ENABLE_NV dynamic state enabled then vkCmdSetExclusiveScissorEnableNV must have been called in the current command buffer prior to this drawing command", "1.3-extensions"}, {"VUID-vkCmdDrawIndirectCount-None-07879", "If the bound graphics pipeline state was created with the VK_DYNAMIC_STATE_EXCLUSIVE_SCISSOR_NV dynamic state enabled then vkCmdSetExclusiveScissorNV must have been called in the current command buffer prior to this drawing command", "1.3-extensions"}, @@ -12136,13 +12190,13 @@ static const vuid_spec_text_pair vuid_spec_text[] = { {"VUID-vkCmdDrawIndirectCount-None-08663", "If the depthClipEnable feature is enabled, and a shader object is bound to any graphics stage, then vkCmdSetDepthClipEnableEXT must have been called in the current command buffer prior to this drawing command", "1.3-extensions"}, {"VUID-vkCmdDrawIndirectCount-None-08664", "If the VK_EXT_sample_locations extension is enabled, and a shader object is bound to any graphics stage, and the most recent call to vkCmdSetRasterizerDiscardEnable in the current command buffer set rasterizerDiscardEnable to VK_FALSE, then vkCmdSetSampleLocationsEnableEXT must have been called in the current command buffer prior to this drawing command", "1.3-extensions"}, {"VUID-vkCmdDrawIndirectCount-None-08665", "If the VK_EXT_provoking_vertex extension is enabled, and a shader object is bound to the VK_SHADER_STAGE_VERTEX_BIT stage, and the most recent call to vkCmdSetRasterizerDiscardEnable in the current command buffer set rasterizerDiscardEnable to VK_FALSE, then vkCmdSetProvokingVertexModeEXT must have been called in the current command buffer prior to this drawing command", "1.3-extensions"}, - {"VUID-vkCmdDrawIndirectCount-None-08666", "If the VK_EXT_line_rasterization extension is enabled, and a shader object is bound to any graphics stage, and the most recent call to vkCmdSetRasterizerDiscardEnable in the current command buffer set rasterizerDiscardEnable to VK_FALSE, and the most recent call to vkCmdSetPolygonModeEXT in the current command buffer set polygonMode to VK_POLYGON_MODE_LINE, then vkCmdSetLineRasterizationModeEXT must have been called in the current command buffer prior to this drawing command", "1.3-extensions"}, - {"VUID-vkCmdDrawIndirectCount-None-08667", "If the VK_EXT_line_rasterization extension is enabled, and a shader object is bound to the VK_SHADER_STAGE_VERTEX_BIT stage, and the most recent call to vkCmdSetRasterizerDiscardEnable in the current command buffer set rasterizerDiscardEnable to VK_FALSE, and the most recent call to vkCmdSetPrimitiveTopology in the current command buffer set primitiveTopology to any line topology, then vkCmdSetLineRasterizationModeEXT must have been called in the current command buffer prior to this drawing command", "1.3-extensions"}, - {"VUID-vkCmdDrawIndirectCount-None-08668", "If the VK_EXT_line_rasterization extension is enabled, and a shader object that outputs line primitives is bound to the VK_SHADER_STAGE_TESSELLATION_EVALUATION_BIT or VK_SHADER_STAGE_GEOMETRY_BIT stage, and the most recent call to vkCmdSetRasterizerDiscardEnable in the current command buffer set rasterizerDiscardEnable to VK_FALSE, then vkCmdSetLineRasterizationModeEXT must have been called in the current command buffer prior to this drawing command", "1.3-extensions"}, - {"VUID-vkCmdDrawIndirectCount-None-08669", "If the VK_EXT_line_rasterization extension is enabled, and a shader object is bound to any graphics stage, and the most recent call to vkCmdSetRasterizerDiscardEnable in the current command buffer set rasterizerDiscardEnable to VK_FALSE, and the most recent call to vkCmdSetPolygonModeEXT in the current command buffer set polygonMode to VK_POLYGON_MODE_LINE, then vkCmdSetLineStippleEnableEXT must have been called in the current command buffer prior to this drawing command", "1.3-extensions"}, - {"VUID-vkCmdDrawIndirectCount-None-08670", "If the VK_EXT_line_rasterization extension is enabled, and a shader object is bound to the VK_SHADER_STAGE_VERTEX_BIT stage, and the most recent call to vkCmdSetRasterizerDiscardEnable in the current command buffer set rasterizerDiscardEnable to VK_FALSE, and the most recent call to vkCmdSetPrimitiveTopology in the current command buffer set primitiveTopology to any line topology, then vkCmdSetLineStippleEnableEXT must have been called in the current command buffer prior to this drawing command", "1.3-extensions"}, - {"VUID-vkCmdDrawIndirectCount-None-08671", "If the VK_EXT_line_rasterization extension is enabled, and a shader object that outputs line primitives is bound to the VK_SHADER_STAGE_TESSELLATION_EVALUATION_BIT or VK_SHADER_STAGE_GEOMETRY_BIT stage, and the most recent call to vkCmdSetRasterizerDiscardEnable in the current command buffer set rasterizerDiscardEnable to VK_FALSE, then vkCmdSetLineStippleEnableEXT must have been called in the current command buffer prior to this drawing command", "1.3-extensions"}, - {"VUID-vkCmdDrawIndirectCount-None-08672", "If the VK_EXT_line_rasterization extension is enabled, and a shader object is bound to any graphics stage, and the most recent call to vkCmdSetRasterizerDiscardEnable in the current command buffer set rasterizerDiscardEnable to VK_FALSE, and the most recent call to vkCmdSetLineStippleEnableEXT in the current command buffer set stippledLineEnable to VK_TRUE, then vkCmdSetLineStippleEXT must have been called in the current command buffer prior to this drawing command", "1.3-extensions"}, + {"VUID-vkCmdDrawIndirectCount-None-08666", "If the VK_KHR_line_rasterization or VK_EXT_line_rasterization extension is enabled, and a shader object is bound to any graphics stage, and the most recent call to vkCmdSetRasterizerDiscardEnable in the current command buffer set rasterizerDiscardEnable to VK_FALSE, and the most recent call to vkCmdSetPolygonModeEXT in the current command buffer set polygonMode to VK_POLYGON_MODE_LINE, then vkCmdSetLineRasterizationModeEXT must have been called in the current command buffer prior to this drawing command", "1.3-extensions"}, + {"VUID-vkCmdDrawIndirectCount-None-08667", "If the VK_KHR_line_rasterization or VK_EXT_line_rasterization extension is enabled, and a shader object is bound to the VK_SHADER_STAGE_VERTEX_BIT stage, and the most recent call to vkCmdSetRasterizerDiscardEnable in the current command buffer set rasterizerDiscardEnable to VK_FALSE, and the most recent call to vkCmdSetPrimitiveTopology in the current command buffer set primitiveTopology to any line topology, then vkCmdSetLineRasterizationModeEXT must have been called in the current command buffer prior to this drawing command", "1.3-extensions"}, + {"VUID-vkCmdDrawIndirectCount-None-08668", "If the VK_KHR_line_rasterization or VK_EXT_line_rasterization extension is enabled, and a shader object that outputs line primitives is bound to the VK_SHADER_STAGE_TESSELLATION_EVALUATION_BIT or VK_SHADER_STAGE_GEOMETRY_BIT stage, and the most recent call to vkCmdSetRasterizerDiscardEnable in the current command buffer set rasterizerDiscardEnable to VK_FALSE, then vkCmdSetLineRasterizationModeEXT must have been called in the current command buffer prior to this drawing command", "1.3-extensions"}, + {"VUID-vkCmdDrawIndirectCount-None-08669", "If the VK_KHR_line_rasterization or VK_EXT_line_rasterization extension is enabled, and a shader object is bound to any graphics stage, and the most recent call to vkCmdSetRasterizerDiscardEnable in the current command buffer set rasterizerDiscardEnable to VK_FALSE, and the most recent call to vkCmdSetPolygonModeEXT in the current command buffer set polygonMode to VK_POLYGON_MODE_LINE, then vkCmdSetLineStippleEnableEXT must have been called in the current command buffer prior to this drawing command", "1.3-extensions"}, + {"VUID-vkCmdDrawIndirectCount-None-08670", "If the VK_KHR_line_rasterization or VK_EXT_line_rasterization extension is enabled, and a shader object is bound to the VK_SHADER_STAGE_VERTEX_BIT stage, and the most recent call to vkCmdSetRasterizerDiscardEnable in the current command buffer set rasterizerDiscardEnable to VK_FALSE, and the most recent call to vkCmdSetPrimitiveTopology in the current command buffer set primitiveTopology to any line topology, then vkCmdSetLineStippleEnableEXT must have been called in the current command buffer prior to this drawing command", "1.3-extensions"}, + {"VUID-vkCmdDrawIndirectCount-None-08671", "If the VK_KHR_line_rasterization or VK_EXT_line_rasterization extension is enabled, and a shader object that outputs line primitives is bound to the VK_SHADER_STAGE_TESSELLATION_EVALUATION_BIT or VK_SHADER_STAGE_GEOMETRY_BIT stage, and the most recent call to vkCmdSetRasterizerDiscardEnable in the current command buffer set rasterizerDiscardEnable to VK_FALSE, then vkCmdSetLineStippleEnableEXT must have been called in the current command buffer prior to this drawing command", "1.3-extensions"}, + {"VUID-vkCmdDrawIndirectCount-None-08672", "If the VK_KHR_line_rasterization or VK_EXT_line_rasterization extension is enabled, and a shader object is bound to any graphics stage, and the most recent call to vkCmdSetRasterizerDiscardEnable in the current command buffer set rasterizerDiscardEnable to VK_FALSE, and the most recent call to vkCmdSetLineStippleEnableEXT in the current command buffer set stippledLineEnable to VK_TRUE, then vkCmdSetLineStippleEXT must have been called in the current command buffer prior to this drawing command", "1.3-extensions"}, {"VUID-vkCmdDrawIndirectCount-None-08673", "If the depthClipControl feature is enabled, and a shader object is bound to any graphics stage, then vkCmdSetDepthClipNegativeOneToOneEXT must have been called in the current command buffer prior to this drawing command", "1.3-extensions"}, {"VUID-vkCmdDrawIndirectCount-None-08674", "If the VK_NV_clip_space_w_scaling extension is enabled, and a shader object is bound to any graphics stage, then vkCmdSetViewportWScalingEnableNV must have been called in the current command buffer prior to this drawing command", "1.3-extensions"}, {"VUID-vkCmdDrawIndirectCount-None-08675", "If the VK_NV_viewport_swizzle extension is enabled, and a shader object is bound to any graphics stage, then vkCmdSetViewportSwizzleNV must have been called in the current command buffer prior to this drawing command", "1.3-extensions"}, @@ -12188,6 +12242,8 @@ static const vuid_spec_text_pair vuid_spec_text[] = { {"VUID-vkCmdDrawIndirectCount-None-09366", "If there is a shader object bound to any graphics stage, and the current render pass includes a color attachment that uses the VK_RESOLVE_MODE_EXTERNAL_FORMAT_DOWNSAMPLE_ANDROID resolve mode, then vkCmdSetColorBlendEnableEXT must have set blend enable to VK_FALSE prior to this drawing command", "1.3-extensions"}, {"VUID-vkCmdDrawIndirectCount-None-09368", "If the current render pass instance was begun with vkCmdBeginRendering, there is no shader object bound to any graphics stage, and the currently bound graphics pipeline was created with a non-zero VkExternalFormatANDROID::externalFormat value and with the VK_DYNAMIC_STATE_FRAGMENT_SHADING_RATE_KHR dynamic state enabled, then vkCmdSetFragmentShadingRateKHR must have set pFragmentSize->width to 1 prior to this drawing command", "1.3-extensions"}, {"VUID-vkCmdDrawIndirectCount-None-09369", "If the current render pass instance was begun with vkCmdBeginRendering, there is no shader object bound to any graphics stage, and the currently bound graphics pipeline was created with a non-zero VkExternalFormatANDROID::externalFormat value and with the VK_DYNAMIC_STATE_FRAGMENT_SHADING_RATE_KHR dynamic state enabled, then vkCmdSetFragmentShadingRateKHR must have set pFragmentSize->height to 1 prior to this drawing command", "1.3-extensions"}, + {"VUID-vkCmdDrawIndirectCount-None-09548", "If the current render pass was begun with vkCmdBeginRendering, and there is no shader object bound to any graphics stage, the value of each element of VkRenderingAttachmentLocationInfoKHR::pColorAttachmentLocations set by vkCmdSetRenderingAttachmentLocationsKHR must match the value set for the corresponding element in the currently bound pipeline", "1.3-extensions"}, + {"VUID-vkCmdDrawIndirectCount-None-09549", "If the current render pass was begun with vkCmdBeginRendering, and there is no shader object bound to any graphics stage, input attachment index mappings in the currently bound pipeline must match those set for the current render pass instance via VkRenderingInputAttachmentIndexInfoKHR", "1.3-extensions"}, {"VUID-vkCmdDrawIndirectCount-OpImageBlockMatchSADQCOM-06975", "If OpImageBlockMatchSADQCOM is used to read from an VkImageView as a result of this command, then the image view's format features must contain VK_FORMAT_FEATURE_2_BLOCK_MATCHING_BIT_QCOM", "1.3-extensions"}, {"VUID-vkCmdDrawIndirectCount-OpImageBlockMatchSADQCOM-06976", "If OpImageBlockMatchSADQCOM or OpImageBlockMatchSSDQCOM is used to read from a reference image as result of this command, then the specified reference coordinates must not fail integer texel coordinate validation", "1.3-extensions"}, {"VUID-vkCmdDrawIndirectCount-OpImageBlockMatchSSDQCOM-06974", "If OpImageBlockMatchSSDQCOM is used to read from an VkImageView as a result of this command, then the image view's format features must contain VK_FORMAT_FEATURE_2_BLOCK_MATCHING_BIT_QCOM", "1.3-extensions"}, @@ -12338,10 +12394,10 @@ static const vuid_spec_text_pair vuid_spec_text[] = { {"VUID-vkCmdDrawIndirectCount-sparseImageInt64Atomics-04475", "If the sparseImageInt64Atomics feature is not enabled, VkBuffer objects created with the VK_BUFFER_CREATE_SPARSE_RESIDENCY_BIT flag must not be accessed by atomic instructions through an OpTypeImage with a SampledType with a Width of 64 by this command", "1.3-extensions"}, {"VUID-vkCmdDrawIndirectCount-stage-06481", "The bound graphics pipeline must not have been created with the VkPipelineShaderStageCreateInfo::stage member of an element of VkGraphicsPipelineCreateInfo::pStages set to VK_SHADER_STAGE_TASK_BIT_EXT or VK_SHADER_STAGE_MESH_BIT_EXT", "1.3-extensions"}, {"VUID-vkCmdDrawIndirectCount-stage-07073", "If the currently bound pipeline was created with the VkPipelineShaderStageCreateInfo::stage member of an element of VkGraphicsPipelineCreateInfo::pStages set to VK_SHADER_STAGE_VERTEX_BIT, VK_SHADER_STAGE_TESSELLATION_CONTROL_BIT, VK_SHADER_STAGE_TESSELLATION_EVALUATION_BIT or VK_SHADER_STAGE_GEOMETRY_BIT, then Mesh Shader Queries must not be active", "1.3-extensions"}, - {"VUID-vkCmdDrawIndirectCount-stippledLineEnable-07495", "If the bound graphics pipeline state was created with the VK_DYNAMIC_STATE_LINE_STIPPLE_ENABLE_EXT or VK_DYNAMIC_STATE_LINE_RASTERIZATION_MODE_EXT dynamic states enabled, and if the current stippledLineEnable state is VK_TRUE and the current lineRasterizationMode state is VK_LINE_RASTERIZATION_MODE_RECTANGULAR_EXT, then the stippledRectangularLines feature must be enabled", "1.3-extensions"}, - {"VUID-vkCmdDrawIndirectCount-stippledLineEnable-07496", "If the bound graphics pipeline state was created with the VK_DYNAMIC_STATE_LINE_STIPPLE_ENABLE_EXT or VK_DYNAMIC_STATE_LINE_RASTERIZATION_MODE_EXT dynamic states enabled, and if the current stippledLineEnable state is VK_TRUE and the current lineRasterizationMode state is VK_LINE_RASTERIZATION_MODE_BRESENHAM_EXT, then the stippledBresenhamLines feature must be enabled", "1.3-extensions"}, - {"VUID-vkCmdDrawIndirectCount-stippledLineEnable-07497", "If the bound graphics pipeline state was created with the VK_DYNAMIC_STATE_LINE_STIPPLE_ENABLE_EXT or VK_DYNAMIC_STATE_LINE_RASTERIZATION_MODE_EXT dynamic states enabled, and if the current stippledLineEnable state is VK_TRUE and the current lineRasterizationMode state is VK_LINE_RASTERIZATION_MODE_RECTANGULAR_SMOOTH_EXT, then the stippledSmoothLines feature must be enabled", "1.3-extensions"}, - {"VUID-vkCmdDrawIndirectCount-stippledLineEnable-07498", "If the bound graphics pipeline state was created with the VK_DYNAMIC_STATE_LINE_STIPPLE_ENABLE_EXT or VK_DYNAMIC_STATE_LINE_RASTERIZATION_MODE_EXT dynamic states enabled, and if the current stippledLineEnable state is VK_TRUE and the current lineRasterizationMode state is VK_LINE_RASTERIZATION_MODE_DEFAULT_EXT, then the stippledRectangularLines feature must be enabled and VkPhysicalDeviceLimits::strictLines must be VK_TRUE", "1.3-extensions"}, + {"VUID-vkCmdDrawIndirectCount-stippledLineEnable-07495", "If the bound graphics pipeline state was created with the VK_DYNAMIC_STATE_LINE_STIPPLE_ENABLE_EXT or VK_DYNAMIC_STATE_LINE_RASTERIZATION_MODE_EXT dynamic states enabled, and if the current stippledLineEnable state is VK_TRUE and the current lineRasterizationMode state is VK_LINE_RASTERIZATION_MODE_RECTANGULAR_KHR, then the stippledRectangularLines feature must be enabled", "1.3-extensions"}, + {"VUID-vkCmdDrawIndirectCount-stippledLineEnable-07496", "If the bound graphics pipeline state was created with the VK_DYNAMIC_STATE_LINE_STIPPLE_ENABLE_EXT or VK_DYNAMIC_STATE_LINE_RASTERIZATION_MODE_EXT dynamic states enabled, and if the current stippledLineEnable state is VK_TRUE and the current lineRasterizationMode state is VK_LINE_RASTERIZATION_MODE_BRESENHAM_KHR, then the stippledBresenhamLines feature must be enabled", "1.3-extensions"}, + {"VUID-vkCmdDrawIndirectCount-stippledLineEnable-07497", "If the bound graphics pipeline state was created with the VK_DYNAMIC_STATE_LINE_STIPPLE_ENABLE_EXT or VK_DYNAMIC_STATE_LINE_RASTERIZATION_MODE_EXT dynamic states enabled, and if the current stippledLineEnable state is VK_TRUE and the current lineRasterizationMode state is VK_LINE_RASTERIZATION_MODE_RECTANGULAR_SMOOTH_KHR, then the stippledSmoothLines feature must be enabled", "1.3-extensions"}, + {"VUID-vkCmdDrawIndirectCount-stippledLineEnable-07498", "If the bound graphics pipeline state was created with the VK_DYNAMIC_STATE_LINE_STIPPLE_ENABLE_EXT or VK_DYNAMIC_STATE_LINE_RASTERIZATION_MODE_EXT dynamic states enabled, and if the current stippledLineEnable state is VK_TRUE and the current lineRasterizationMode state is VK_LINE_RASTERIZATION_MODE_DEFAULT_KHR, then the stippledRectangularLines feature must be enabled and VkPhysicalDeviceLimits::strictLines must be VK_TRUE", "1.3-extensions"}, {"VUID-vkCmdDrawIndirectCount-storageBuffers-06936", "If any stage of the VkPipeline object bound to the pipeline bind point used by this command accesses a storage buffer, and that stage was created without enabling either VK_PIPELINE_ROBUSTNESS_BUFFER_BEHAVIOR_ROBUST_BUFFER_ACCESS_EXT or VK_PIPELINE_ROBUSTNESS_BUFFER_BEHAVIOR_ROBUST_BUFFER_ACCESS_2_EXT for storageBuffers, and the robustBufferAccess feature is not enabled, that stage must not access values outside of the range of the buffer as specified in the descriptor set bound to the same pipeline bind point", "1.3-extensions"}, {"VUID-vkCmdDrawIndirectCount-stride-03110", "stride must be a multiple of 4 and must be greater than or equal to sizeof(VkDrawIndirectCommand)", "1.3-extensions"}, {"VUID-vkCmdDrawIndirectCount-subpass-02685", "The subpass index of the current render pass must be equal to the subpass member of the VkGraphicsPipelineCreateInfo structure specified when creating the VkPipeline bound to VK_PIPELINE_BIND_POINT_GRAPHICS", "1.3-extensions"}, @@ -12427,7 +12483,7 @@ static const vuid_spec_text_pair vuid_spec_text[] = { {"VUID-vkCmdDrawMeshTasksEXT-None-07846", "If the bound graphics pipeline state was created with the VK_DYNAMIC_STATE_DEPTH_BOUNDS_TEST_ENABLE dynamic state enabled then vkCmdSetDepthBoundsTestEnable must have been called in the current command buffer prior to this drawing command", "1.3-extensions"}, {"VUID-vkCmdDrawMeshTasksEXT-None-07847", "If the bound graphics pipeline state was created with the VK_DYNAMIC_STATE_STENCIL_TEST_ENABLE dynamic state enabled then vkCmdSetStencilTestEnable must have been called in the current command buffer prior to this drawing command", "1.3-extensions"}, {"VUID-vkCmdDrawMeshTasksEXT-None-07848", "If the bound graphics pipeline state was created with the VK_DYNAMIC_STATE_STENCIL_OP dynamic state enabled then vkCmdSetStencilOp must have been called in the current command buffer prior to this drawing command", "1.3-extensions"}, - {"VUID-vkCmdDrawMeshTasksEXT-None-07849", "If the bound graphics pipeline state was created with the VK_DYNAMIC_STATE_LINE_STIPPLE_EXT dynamic state enabled then vkCmdSetLineStippleEXT must have been called in the current command buffer prior to this drawing command", "1.3-extensions"}, + {"VUID-vkCmdDrawMeshTasksEXT-None-07849", "If the bound graphics pipeline state was created with the VK_DYNAMIC_STATE_LINE_STIPPLE_KHR dynamic state enabled then vkCmdSetLineStippleKHR must have been called in the current command buffer prior to this drawing command", "1.3-extensions"}, {"VUID-vkCmdDrawMeshTasksEXT-None-07850", "If dynamic state was inherited from VkCommandBufferInheritanceViewportScissorInfoNV, it must be set in the current command buffer prior to this drawing command", "1.3-extensions"}, {"VUID-vkCmdDrawMeshTasksEXT-None-07878", "If the bound graphics pipeline state was created with the VK_DYNAMIC_STATE_EXCLUSIVE_SCISSOR_ENABLE_NV dynamic state enabled then vkCmdSetExclusiveScissorEnableNV must have been called in the current command buffer prior to this drawing command", "1.3-extensions"}, {"VUID-vkCmdDrawMeshTasksEXT-None-07879", "If the bound graphics pipeline state was created with the VK_DYNAMIC_STATE_EXCLUSIVE_SCISSOR_NV dynamic state enabled then vkCmdSetExclusiveScissorNV must have been called in the current command buffer prior to this drawing command", "1.3-extensions"}, @@ -12498,13 +12554,13 @@ static const vuid_spec_text_pair vuid_spec_text[] = { {"VUID-vkCmdDrawMeshTasksEXT-None-08663", "If the depthClipEnable feature is enabled, and a shader object is bound to any graphics stage, then vkCmdSetDepthClipEnableEXT must have been called in the current command buffer prior to this drawing command", "1.3-extensions"}, {"VUID-vkCmdDrawMeshTasksEXT-None-08664", "If the VK_EXT_sample_locations extension is enabled, and a shader object is bound to any graphics stage, and the most recent call to vkCmdSetRasterizerDiscardEnable in the current command buffer set rasterizerDiscardEnable to VK_FALSE, then vkCmdSetSampleLocationsEnableEXT must have been called in the current command buffer prior to this drawing command", "1.3-extensions"}, {"VUID-vkCmdDrawMeshTasksEXT-None-08665", "If the VK_EXT_provoking_vertex extension is enabled, and a shader object is bound to the VK_SHADER_STAGE_VERTEX_BIT stage, and the most recent call to vkCmdSetRasterizerDiscardEnable in the current command buffer set rasterizerDiscardEnable to VK_FALSE, then vkCmdSetProvokingVertexModeEXT must have been called in the current command buffer prior to this drawing command", "1.3-extensions"}, - {"VUID-vkCmdDrawMeshTasksEXT-None-08666", "If the VK_EXT_line_rasterization extension is enabled, and a shader object is bound to any graphics stage, and the most recent call to vkCmdSetRasterizerDiscardEnable in the current command buffer set rasterizerDiscardEnable to VK_FALSE, and the most recent call to vkCmdSetPolygonModeEXT in the current command buffer set polygonMode to VK_POLYGON_MODE_LINE, then vkCmdSetLineRasterizationModeEXT must have been called in the current command buffer prior to this drawing command", "1.3-extensions"}, - {"VUID-vkCmdDrawMeshTasksEXT-None-08667", "If the VK_EXT_line_rasterization extension is enabled, and a shader object is bound to the VK_SHADER_STAGE_VERTEX_BIT stage, and the most recent call to vkCmdSetRasterizerDiscardEnable in the current command buffer set rasterizerDiscardEnable to VK_FALSE, and the most recent call to vkCmdSetPrimitiveTopology in the current command buffer set primitiveTopology to any line topology, then vkCmdSetLineRasterizationModeEXT must have been called in the current command buffer prior to this drawing command", "1.3-extensions"}, - {"VUID-vkCmdDrawMeshTasksEXT-None-08668", "If the VK_EXT_line_rasterization extension is enabled, and a shader object that outputs line primitives is bound to the VK_SHADER_STAGE_TESSELLATION_EVALUATION_BIT or VK_SHADER_STAGE_GEOMETRY_BIT stage, and the most recent call to vkCmdSetRasterizerDiscardEnable in the current command buffer set rasterizerDiscardEnable to VK_FALSE, then vkCmdSetLineRasterizationModeEXT must have been called in the current command buffer prior to this drawing command", "1.3-extensions"}, - {"VUID-vkCmdDrawMeshTasksEXT-None-08669", "If the VK_EXT_line_rasterization extension is enabled, and a shader object is bound to any graphics stage, and the most recent call to vkCmdSetRasterizerDiscardEnable in the current command buffer set rasterizerDiscardEnable to VK_FALSE, and the most recent call to vkCmdSetPolygonModeEXT in the current command buffer set polygonMode to VK_POLYGON_MODE_LINE, then vkCmdSetLineStippleEnableEXT must have been called in the current command buffer prior to this drawing command", "1.3-extensions"}, - {"VUID-vkCmdDrawMeshTasksEXT-None-08670", "If the VK_EXT_line_rasterization extension is enabled, and a shader object is bound to the VK_SHADER_STAGE_VERTEX_BIT stage, and the most recent call to vkCmdSetRasterizerDiscardEnable in the current command buffer set rasterizerDiscardEnable to VK_FALSE, and the most recent call to vkCmdSetPrimitiveTopology in the current command buffer set primitiveTopology to any line topology, then vkCmdSetLineStippleEnableEXT must have been called in the current command buffer prior to this drawing command", "1.3-extensions"}, - {"VUID-vkCmdDrawMeshTasksEXT-None-08671", "If the VK_EXT_line_rasterization extension is enabled, and a shader object that outputs line primitives is bound to the VK_SHADER_STAGE_TESSELLATION_EVALUATION_BIT or VK_SHADER_STAGE_GEOMETRY_BIT stage, and the most recent call to vkCmdSetRasterizerDiscardEnable in the current command buffer set rasterizerDiscardEnable to VK_FALSE, then vkCmdSetLineStippleEnableEXT must have been called in the current command buffer prior to this drawing command", "1.3-extensions"}, - {"VUID-vkCmdDrawMeshTasksEXT-None-08672", "If the VK_EXT_line_rasterization extension is enabled, and a shader object is bound to any graphics stage, and the most recent call to vkCmdSetRasterizerDiscardEnable in the current command buffer set rasterizerDiscardEnable to VK_FALSE, and the most recent call to vkCmdSetLineStippleEnableEXT in the current command buffer set stippledLineEnable to VK_TRUE, then vkCmdSetLineStippleEXT must have been called in the current command buffer prior to this drawing command", "1.3-extensions"}, + {"VUID-vkCmdDrawMeshTasksEXT-None-08666", "If the VK_KHR_line_rasterization or VK_EXT_line_rasterization extension is enabled, and a shader object is bound to any graphics stage, and the most recent call to vkCmdSetRasterizerDiscardEnable in the current command buffer set rasterizerDiscardEnable to VK_FALSE, and the most recent call to vkCmdSetPolygonModeEXT in the current command buffer set polygonMode to VK_POLYGON_MODE_LINE, then vkCmdSetLineRasterizationModeEXT must have been called in the current command buffer prior to this drawing command", "1.3-extensions"}, + {"VUID-vkCmdDrawMeshTasksEXT-None-08667", "If the VK_KHR_line_rasterization or VK_EXT_line_rasterization extension is enabled, and a shader object is bound to the VK_SHADER_STAGE_VERTEX_BIT stage, and the most recent call to vkCmdSetRasterizerDiscardEnable in the current command buffer set rasterizerDiscardEnable to VK_FALSE, and the most recent call to vkCmdSetPrimitiveTopology in the current command buffer set primitiveTopology to any line topology, then vkCmdSetLineRasterizationModeEXT must have been called in the current command buffer prior to this drawing command", "1.3-extensions"}, + {"VUID-vkCmdDrawMeshTasksEXT-None-08668", "If the VK_KHR_line_rasterization or VK_EXT_line_rasterization extension is enabled, and a shader object that outputs line primitives is bound to the VK_SHADER_STAGE_TESSELLATION_EVALUATION_BIT or VK_SHADER_STAGE_GEOMETRY_BIT stage, and the most recent call to vkCmdSetRasterizerDiscardEnable in the current command buffer set rasterizerDiscardEnable to VK_FALSE, then vkCmdSetLineRasterizationModeEXT must have been called in the current command buffer prior to this drawing command", "1.3-extensions"}, + {"VUID-vkCmdDrawMeshTasksEXT-None-08669", "If the VK_KHR_line_rasterization or VK_EXT_line_rasterization extension is enabled, and a shader object is bound to any graphics stage, and the most recent call to vkCmdSetRasterizerDiscardEnable in the current command buffer set rasterizerDiscardEnable to VK_FALSE, and the most recent call to vkCmdSetPolygonModeEXT in the current command buffer set polygonMode to VK_POLYGON_MODE_LINE, then vkCmdSetLineStippleEnableEXT must have been called in the current command buffer prior to this drawing command", "1.3-extensions"}, + {"VUID-vkCmdDrawMeshTasksEXT-None-08670", "If the VK_KHR_line_rasterization or VK_EXT_line_rasterization extension is enabled, and a shader object is bound to the VK_SHADER_STAGE_VERTEX_BIT stage, and the most recent call to vkCmdSetRasterizerDiscardEnable in the current command buffer set rasterizerDiscardEnable to VK_FALSE, and the most recent call to vkCmdSetPrimitiveTopology in the current command buffer set primitiveTopology to any line topology, then vkCmdSetLineStippleEnableEXT must have been called in the current command buffer prior to this drawing command", "1.3-extensions"}, + {"VUID-vkCmdDrawMeshTasksEXT-None-08671", "If the VK_KHR_line_rasterization or VK_EXT_line_rasterization extension is enabled, and a shader object that outputs line primitives is bound to the VK_SHADER_STAGE_TESSELLATION_EVALUATION_BIT or VK_SHADER_STAGE_GEOMETRY_BIT stage, and the most recent call to vkCmdSetRasterizerDiscardEnable in the current command buffer set rasterizerDiscardEnable to VK_FALSE, then vkCmdSetLineStippleEnableEXT must have been called in the current command buffer prior to this drawing command", "1.3-extensions"}, + {"VUID-vkCmdDrawMeshTasksEXT-None-08672", "If the VK_KHR_line_rasterization or VK_EXT_line_rasterization extension is enabled, and a shader object is bound to any graphics stage, and the most recent call to vkCmdSetRasterizerDiscardEnable in the current command buffer set rasterizerDiscardEnable to VK_FALSE, and the most recent call to vkCmdSetLineStippleEnableEXT in the current command buffer set stippledLineEnable to VK_TRUE, then vkCmdSetLineStippleEXT must have been called in the current command buffer prior to this drawing command", "1.3-extensions"}, {"VUID-vkCmdDrawMeshTasksEXT-None-08673", "If the depthClipControl feature is enabled, and a shader object is bound to any graphics stage, then vkCmdSetDepthClipNegativeOneToOneEXT must have been called in the current command buffer prior to this drawing command", "1.3-extensions"}, {"VUID-vkCmdDrawMeshTasksEXT-None-08674", "If the VK_NV_clip_space_w_scaling extension is enabled, and a shader object is bound to any graphics stage, then vkCmdSetViewportWScalingEnableNV must have been called in the current command buffer prior to this drawing command", "1.3-extensions"}, {"VUID-vkCmdDrawMeshTasksEXT-None-08675", "If the VK_NV_viewport_swizzle extension is enabled, and a shader object is bound to any graphics stage, then vkCmdSetViewportSwizzleNV must have been called in the current command buffer prior to this drawing command", "1.3-extensions"}, @@ -12548,6 +12604,8 @@ static const vuid_spec_text_pair vuid_spec_text[] = { {"VUID-vkCmdDrawMeshTasksEXT-None-09366", "If there is a shader object bound to any graphics stage, and the current render pass includes a color attachment that uses the VK_RESOLVE_MODE_EXTERNAL_FORMAT_DOWNSAMPLE_ANDROID resolve mode, then vkCmdSetColorBlendEnableEXT must have set blend enable to VK_FALSE prior to this drawing command", "1.3-extensions"}, {"VUID-vkCmdDrawMeshTasksEXT-None-09368", "If the current render pass instance was begun with vkCmdBeginRendering, there is no shader object bound to any graphics stage, and the currently bound graphics pipeline was created with a non-zero VkExternalFormatANDROID::externalFormat value and with the VK_DYNAMIC_STATE_FRAGMENT_SHADING_RATE_KHR dynamic state enabled, then vkCmdSetFragmentShadingRateKHR must have set pFragmentSize->width to 1 prior to this drawing command", "1.3-extensions"}, {"VUID-vkCmdDrawMeshTasksEXT-None-09369", "If the current render pass instance was begun with vkCmdBeginRendering, there is no shader object bound to any graphics stage, and the currently bound graphics pipeline was created with a non-zero VkExternalFormatANDROID::externalFormat value and with the VK_DYNAMIC_STATE_FRAGMENT_SHADING_RATE_KHR dynamic state enabled, then vkCmdSetFragmentShadingRateKHR must have set pFragmentSize->height to 1 prior to this drawing command", "1.3-extensions"}, + {"VUID-vkCmdDrawMeshTasksEXT-None-09548", "If the current render pass was begun with vkCmdBeginRendering, and there is no shader object bound to any graphics stage, the value of each element of VkRenderingAttachmentLocationInfoKHR::pColorAttachmentLocations set by vkCmdSetRenderingAttachmentLocationsKHR must match the value set for the corresponding element in the currently bound pipeline", "1.3-extensions"}, + {"VUID-vkCmdDrawMeshTasksEXT-None-09549", "If the current render pass was begun with vkCmdBeginRendering, and there is no shader object bound to any graphics stage, input attachment index mappings in the currently bound pipeline must match those set for the current render pass instance via VkRenderingInputAttachmentIndexInfoKHR", "1.3-extensions"}, {"VUID-vkCmdDrawMeshTasksEXT-OpImageBlockMatchSADQCOM-06975", "If OpImageBlockMatchSADQCOM is used to read from an VkImageView as a result of this command, then the image view's format features must contain VK_FORMAT_FEATURE_2_BLOCK_MATCHING_BIT_QCOM", "1.3-extensions"}, {"VUID-vkCmdDrawMeshTasksEXT-OpImageBlockMatchSADQCOM-06976", "If OpImageBlockMatchSADQCOM or OpImageBlockMatchSSDQCOM is used to read from a reference image as result of this command, then the specified reference coordinates must not fail integer texel coordinate validation", "1.3-extensions"}, {"VUID-vkCmdDrawMeshTasksEXT-OpImageBlockMatchSSDQCOM-06974", "If OpImageBlockMatchSSDQCOM is used to read from an VkImageView as a result of this command, then the image view's format features must contain VK_FORMAT_FEATURE_2_BLOCK_MATCHING_BIT_QCOM", "1.3-extensions"}, @@ -12688,10 +12746,10 @@ static const vuid_spec_text_pair vuid_spec_text[] = { {"VUID-vkCmdDrawMeshTasksEXT-sparseImageInt64Atomics-04475", "If the sparseImageInt64Atomics feature is not enabled, VkBuffer objects created with the VK_BUFFER_CREATE_SPARSE_RESIDENCY_BIT flag must not be accessed by atomic instructions through an OpTypeImage with a SampledType with a Width of 64 by this command", "1.3-extensions"}, {"VUID-vkCmdDrawMeshTasksEXT-stage-06480", "The bound graphics pipeline must not have been created with the VkPipelineShaderStageCreateInfo::stage member of an element of VkGraphicsPipelineCreateInfo::pStages set to VK_SHADER_STAGE_VERTEX_BIT, VK_SHADER_STAGE_TESSELLATION_CONTROL_BIT, VK_SHADER_STAGE_TESSELLATION_EVALUATION_BIT or VK_SHADER_STAGE_GEOMETRY_BIT", "1.3-extensions"}, {"VUID-vkCmdDrawMeshTasksEXT-stage-07073", "If the currently bound pipeline was created with the VkPipelineShaderStageCreateInfo::stage member of an element of VkGraphicsPipelineCreateInfo::pStages set to VK_SHADER_STAGE_VERTEX_BIT, VK_SHADER_STAGE_TESSELLATION_CONTROL_BIT, VK_SHADER_STAGE_TESSELLATION_EVALUATION_BIT or VK_SHADER_STAGE_GEOMETRY_BIT, then Mesh Shader Queries must not be active", "1.3-extensions"}, - {"VUID-vkCmdDrawMeshTasksEXT-stippledLineEnable-07495", "If the bound graphics pipeline state was created with the VK_DYNAMIC_STATE_LINE_STIPPLE_ENABLE_EXT or VK_DYNAMIC_STATE_LINE_RASTERIZATION_MODE_EXT dynamic states enabled, and if the current stippledLineEnable state is VK_TRUE and the current lineRasterizationMode state is VK_LINE_RASTERIZATION_MODE_RECTANGULAR_EXT, then the stippledRectangularLines feature must be enabled", "1.3-extensions"}, - {"VUID-vkCmdDrawMeshTasksEXT-stippledLineEnable-07496", "If the bound graphics pipeline state was created with the VK_DYNAMIC_STATE_LINE_STIPPLE_ENABLE_EXT or VK_DYNAMIC_STATE_LINE_RASTERIZATION_MODE_EXT dynamic states enabled, and if the current stippledLineEnable state is VK_TRUE and the current lineRasterizationMode state is VK_LINE_RASTERIZATION_MODE_BRESENHAM_EXT, then the stippledBresenhamLines feature must be enabled", "1.3-extensions"}, - {"VUID-vkCmdDrawMeshTasksEXT-stippledLineEnable-07497", "If the bound graphics pipeline state was created with the VK_DYNAMIC_STATE_LINE_STIPPLE_ENABLE_EXT or VK_DYNAMIC_STATE_LINE_RASTERIZATION_MODE_EXT dynamic states enabled, and if the current stippledLineEnable state is VK_TRUE and the current lineRasterizationMode state is VK_LINE_RASTERIZATION_MODE_RECTANGULAR_SMOOTH_EXT, then the stippledSmoothLines feature must be enabled", "1.3-extensions"}, - {"VUID-vkCmdDrawMeshTasksEXT-stippledLineEnable-07498", "If the bound graphics pipeline state was created with the VK_DYNAMIC_STATE_LINE_STIPPLE_ENABLE_EXT or VK_DYNAMIC_STATE_LINE_RASTERIZATION_MODE_EXT dynamic states enabled, and if the current stippledLineEnable state is VK_TRUE and the current lineRasterizationMode state is VK_LINE_RASTERIZATION_MODE_DEFAULT_EXT, then the stippledRectangularLines feature must be enabled and VkPhysicalDeviceLimits::strictLines must be VK_TRUE", "1.3-extensions"}, + {"VUID-vkCmdDrawMeshTasksEXT-stippledLineEnable-07495", "If the bound graphics pipeline state was created with the VK_DYNAMIC_STATE_LINE_STIPPLE_ENABLE_EXT or VK_DYNAMIC_STATE_LINE_RASTERIZATION_MODE_EXT dynamic states enabled, and if the current stippledLineEnable state is VK_TRUE and the current lineRasterizationMode state is VK_LINE_RASTERIZATION_MODE_RECTANGULAR_KHR, then the stippledRectangularLines feature must be enabled", "1.3-extensions"}, + {"VUID-vkCmdDrawMeshTasksEXT-stippledLineEnable-07496", "If the bound graphics pipeline state was created with the VK_DYNAMIC_STATE_LINE_STIPPLE_ENABLE_EXT or VK_DYNAMIC_STATE_LINE_RASTERIZATION_MODE_EXT dynamic states enabled, and if the current stippledLineEnable state is VK_TRUE and the current lineRasterizationMode state is VK_LINE_RASTERIZATION_MODE_BRESENHAM_KHR, then the stippledBresenhamLines feature must be enabled", "1.3-extensions"}, + {"VUID-vkCmdDrawMeshTasksEXT-stippledLineEnable-07497", "If the bound graphics pipeline state was created with the VK_DYNAMIC_STATE_LINE_STIPPLE_ENABLE_EXT or VK_DYNAMIC_STATE_LINE_RASTERIZATION_MODE_EXT dynamic states enabled, and if the current stippledLineEnable state is VK_TRUE and the current lineRasterizationMode state is VK_LINE_RASTERIZATION_MODE_RECTANGULAR_SMOOTH_KHR, then the stippledSmoothLines feature must be enabled", "1.3-extensions"}, + {"VUID-vkCmdDrawMeshTasksEXT-stippledLineEnable-07498", "If the bound graphics pipeline state was created with the VK_DYNAMIC_STATE_LINE_STIPPLE_ENABLE_EXT or VK_DYNAMIC_STATE_LINE_RASTERIZATION_MODE_EXT dynamic states enabled, and if the current stippledLineEnable state is VK_TRUE and the current lineRasterizationMode state is VK_LINE_RASTERIZATION_MODE_DEFAULT_KHR, then the stippledRectangularLines feature must be enabled and VkPhysicalDeviceLimits::strictLines must be VK_TRUE", "1.3-extensions"}, {"VUID-vkCmdDrawMeshTasksEXT-storageBuffers-06936", "If any stage of the VkPipeline object bound to the pipeline bind point used by this command accesses a storage buffer, and that stage was created without enabling either VK_PIPELINE_ROBUSTNESS_BUFFER_BEHAVIOR_ROBUST_BUFFER_ACCESS_EXT or VK_PIPELINE_ROBUSTNESS_BUFFER_BEHAVIOR_ROBUST_BUFFER_ACCESS_2_EXT for storageBuffers, and the robustBufferAccess feature is not enabled, that stage must not access values outside of the range of the buffer as specified in the descriptor set bound to the same pipeline bind point", "1.3-extensions"}, {"VUID-vkCmdDrawMeshTasksEXT-subpass-02685", "The subpass index of the current render pass must be equal to the subpass member of the VkGraphicsPipelineCreateInfo structure specified when creating the VkPipeline bound to VK_PIPELINE_BIND_POINT_GRAPHICS", "1.3-extensions"}, {"VUID-vkCmdDrawMeshTasksEXT-uniformBuffers-06935", "If any stage of the VkPipeline object bound to the pipeline bind point used by this command accesses a uniform buffer, and that stage was created without enabling either VK_PIPELINE_ROBUSTNESS_BUFFER_BEHAVIOR_ROBUST_BUFFER_ACCESS_EXT or VK_PIPELINE_ROBUSTNESS_BUFFER_BEHAVIOR_ROBUST_BUFFER_ACCESS_2_EXT for uniformBuffers, and the robustBufferAccess feature is not enabled, that stage must not access values outside of the range of the buffer as specified in the descriptor set bound to the same pipeline bind point", "1.3-extensions"}, @@ -12777,7 +12835,7 @@ static const vuid_spec_text_pair vuid_spec_text[] = { {"VUID-vkCmdDrawMeshTasksIndirectCountEXT-None-07846", "If the bound graphics pipeline state was created with the VK_DYNAMIC_STATE_DEPTH_BOUNDS_TEST_ENABLE dynamic state enabled then vkCmdSetDepthBoundsTestEnable must have been called in the current command buffer prior to this drawing command", "1.3-extensions"}, {"VUID-vkCmdDrawMeshTasksIndirectCountEXT-None-07847", "If the bound graphics pipeline state was created with the VK_DYNAMIC_STATE_STENCIL_TEST_ENABLE dynamic state enabled then vkCmdSetStencilTestEnable must have been called in the current command buffer prior to this drawing command", "1.3-extensions"}, {"VUID-vkCmdDrawMeshTasksIndirectCountEXT-None-07848", "If the bound graphics pipeline state was created with the VK_DYNAMIC_STATE_STENCIL_OP dynamic state enabled then vkCmdSetStencilOp must have been called in the current command buffer prior to this drawing command", "1.3-extensions"}, - {"VUID-vkCmdDrawMeshTasksIndirectCountEXT-None-07849", "If the bound graphics pipeline state was created with the VK_DYNAMIC_STATE_LINE_STIPPLE_EXT dynamic state enabled then vkCmdSetLineStippleEXT must have been called in the current command buffer prior to this drawing command", "1.3-extensions"}, + {"VUID-vkCmdDrawMeshTasksIndirectCountEXT-None-07849", "If the bound graphics pipeline state was created with the VK_DYNAMIC_STATE_LINE_STIPPLE_KHR dynamic state enabled then vkCmdSetLineStippleKHR must have been called in the current command buffer prior to this drawing command", "1.3-extensions"}, {"VUID-vkCmdDrawMeshTasksIndirectCountEXT-None-07850", "If dynamic state was inherited from VkCommandBufferInheritanceViewportScissorInfoNV, it must be set in the current command buffer prior to this drawing command", "1.3-extensions"}, {"VUID-vkCmdDrawMeshTasksIndirectCountEXT-None-07878", "If the bound graphics pipeline state was created with the VK_DYNAMIC_STATE_EXCLUSIVE_SCISSOR_ENABLE_NV dynamic state enabled then vkCmdSetExclusiveScissorEnableNV must have been called in the current command buffer prior to this drawing command", "1.3-extensions"}, {"VUID-vkCmdDrawMeshTasksIndirectCountEXT-None-07879", "If the bound graphics pipeline state was created with the VK_DYNAMIC_STATE_EXCLUSIVE_SCISSOR_NV dynamic state enabled then vkCmdSetExclusiveScissorNV must have been called in the current command buffer prior to this drawing command", "1.3-extensions"}, @@ -12848,13 +12906,13 @@ static const vuid_spec_text_pair vuid_spec_text[] = { {"VUID-vkCmdDrawMeshTasksIndirectCountEXT-None-08663", "If the depthClipEnable feature is enabled, and a shader object is bound to any graphics stage, then vkCmdSetDepthClipEnableEXT must have been called in the current command buffer prior to this drawing command", "1.3-extensions"}, {"VUID-vkCmdDrawMeshTasksIndirectCountEXT-None-08664", "If the VK_EXT_sample_locations extension is enabled, and a shader object is bound to any graphics stage, and the most recent call to vkCmdSetRasterizerDiscardEnable in the current command buffer set rasterizerDiscardEnable to VK_FALSE, then vkCmdSetSampleLocationsEnableEXT must have been called in the current command buffer prior to this drawing command", "1.3-extensions"}, {"VUID-vkCmdDrawMeshTasksIndirectCountEXT-None-08665", "If the VK_EXT_provoking_vertex extension is enabled, and a shader object is bound to the VK_SHADER_STAGE_VERTEX_BIT stage, and the most recent call to vkCmdSetRasterizerDiscardEnable in the current command buffer set rasterizerDiscardEnable to VK_FALSE, then vkCmdSetProvokingVertexModeEXT must have been called in the current command buffer prior to this drawing command", "1.3-extensions"}, - {"VUID-vkCmdDrawMeshTasksIndirectCountEXT-None-08666", "If the VK_EXT_line_rasterization extension is enabled, and a shader object is bound to any graphics stage, and the most recent call to vkCmdSetRasterizerDiscardEnable in the current command buffer set rasterizerDiscardEnable to VK_FALSE, and the most recent call to vkCmdSetPolygonModeEXT in the current command buffer set polygonMode to VK_POLYGON_MODE_LINE, then vkCmdSetLineRasterizationModeEXT must have been called in the current command buffer prior to this drawing command", "1.3-extensions"}, - {"VUID-vkCmdDrawMeshTasksIndirectCountEXT-None-08667", "If the VK_EXT_line_rasterization extension is enabled, and a shader object is bound to the VK_SHADER_STAGE_VERTEX_BIT stage, and the most recent call to vkCmdSetRasterizerDiscardEnable in the current command buffer set rasterizerDiscardEnable to VK_FALSE, and the most recent call to vkCmdSetPrimitiveTopology in the current command buffer set primitiveTopology to any line topology, then vkCmdSetLineRasterizationModeEXT must have been called in the current command buffer prior to this drawing command", "1.3-extensions"}, - {"VUID-vkCmdDrawMeshTasksIndirectCountEXT-None-08668", "If the VK_EXT_line_rasterization extension is enabled, and a shader object that outputs line primitives is bound to the VK_SHADER_STAGE_TESSELLATION_EVALUATION_BIT or VK_SHADER_STAGE_GEOMETRY_BIT stage, and the most recent call to vkCmdSetRasterizerDiscardEnable in the current command buffer set rasterizerDiscardEnable to VK_FALSE, then vkCmdSetLineRasterizationModeEXT must have been called in the current command buffer prior to this drawing command", "1.3-extensions"}, - {"VUID-vkCmdDrawMeshTasksIndirectCountEXT-None-08669", "If the VK_EXT_line_rasterization extension is enabled, and a shader object is bound to any graphics stage, and the most recent call to vkCmdSetRasterizerDiscardEnable in the current command buffer set rasterizerDiscardEnable to VK_FALSE, and the most recent call to vkCmdSetPolygonModeEXT in the current command buffer set polygonMode to VK_POLYGON_MODE_LINE, then vkCmdSetLineStippleEnableEXT must have been called in the current command buffer prior to this drawing command", "1.3-extensions"}, - {"VUID-vkCmdDrawMeshTasksIndirectCountEXT-None-08670", "If the VK_EXT_line_rasterization extension is enabled, and a shader object is bound to the VK_SHADER_STAGE_VERTEX_BIT stage, and the most recent call to vkCmdSetRasterizerDiscardEnable in the current command buffer set rasterizerDiscardEnable to VK_FALSE, and the most recent call to vkCmdSetPrimitiveTopology in the current command buffer set primitiveTopology to any line topology, then vkCmdSetLineStippleEnableEXT must have been called in the current command buffer prior to this drawing command", "1.3-extensions"}, - {"VUID-vkCmdDrawMeshTasksIndirectCountEXT-None-08671", "If the VK_EXT_line_rasterization extension is enabled, and a shader object that outputs line primitives is bound to the VK_SHADER_STAGE_TESSELLATION_EVALUATION_BIT or VK_SHADER_STAGE_GEOMETRY_BIT stage, and the most recent call to vkCmdSetRasterizerDiscardEnable in the current command buffer set rasterizerDiscardEnable to VK_FALSE, then vkCmdSetLineStippleEnableEXT must have been called in the current command buffer prior to this drawing command", "1.3-extensions"}, - {"VUID-vkCmdDrawMeshTasksIndirectCountEXT-None-08672", "If the VK_EXT_line_rasterization extension is enabled, and a shader object is bound to any graphics stage, and the most recent call to vkCmdSetRasterizerDiscardEnable in the current command buffer set rasterizerDiscardEnable to VK_FALSE, and the most recent call to vkCmdSetLineStippleEnableEXT in the current command buffer set stippledLineEnable to VK_TRUE, then vkCmdSetLineStippleEXT must have been called in the current command buffer prior to this drawing command", "1.3-extensions"}, + {"VUID-vkCmdDrawMeshTasksIndirectCountEXT-None-08666", "If the VK_KHR_line_rasterization or VK_EXT_line_rasterization extension is enabled, and a shader object is bound to any graphics stage, and the most recent call to vkCmdSetRasterizerDiscardEnable in the current command buffer set rasterizerDiscardEnable to VK_FALSE, and the most recent call to vkCmdSetPolygonModeEXT in the current command buffer set polygonMode to VK_POLYGON_MODE_LINE, then vkCmdSetLineRasterizationModeEXT must have been called in the current command buffer prior to this drawing command", "1.3-extensions"}, + {"VUID-vkCmdDrawMeshTasksIndirectCountEXT-None-08667", "If the VK_KHR_line_rasterization or VK_EXT_line_rasterization extension is enabled, and a shader object is bound to the VK_SHADER_STAGE_VERTEX_BIT stage, and the most recent call to vkCmdSetRasterizerDiscardEnable in the current command buffer set rasterizerDiscardEnable to VK_FALSE, and the most recent call to vkCmdSetPrimitiveTopology in the current command buffer set primitiveTopology to any line topology, then vkCmdSetLineRasterizationModeEXT must have been called in the current command buffer prior to this drawing command", "1.3-extensions"}, + {"VUID-vkCmdDrawMeshTasksIndirectCountEXT-None-08668", "If the VK_KHR_line_rasterization or VK_EXT_line_rasterization extension is enabled, and a shader object that outputs line primitives is bound to the VK_SHADER_STAGE_TESSELLATION_EVALUATION_BIT or VK_SHADER_STAGE_GEOMETRY_BIT stage, and the most recent call to vkCmdSetRasterizerDiscardEnable in the current command buffer set rasterizerDiscardEnable to VK_FALSE, then vkCmdSetLineRasterizationModeEXT must have been called in the current command buffer prior to this drawing command", "1.3-extensions"}, + {"VUID-vkCmdDrawMeshTasksIndirectCountEXT-None-08669", "If the VK_KHR_line_rasterization or VK_EXT_line_rasterization extension is enabled, and a shader object is bound to any graphics stage, and the most recent call to vkCmdSetRasterizerDiscardEnable in the current command buffer set rasterizerDiscardEnable to VK_FALSE, and the most recent call to vkCmdSetPolygonModeEXT in the current command buffer set polygonMode to VK_POLYGON_MODE_LINE, then vkCmdSetLineStippleEnableEXT must have been called in the current command buffer prior to this drawing command", "1.3-extensions"}, + {"VUID-vkCmdDrawMeshTasksIndirectCountEXT-None-08670", "If the VK_KHR_line_rasterization or VK_EXT_line_rasterization extension is enabled, and a shader object is bound to the VK_SHADER_STAGE_VERTEX_BIT stage, and the most recent call to vkCmdSetRasterizerDiscardEnable in the current command buffer set rasterizerDiscardEnable to VK_FALSE, and the most recent call to vkCmdSetPrimitiveTopology in the current command buffer set primitiveTopology to any line topology, then vkCmdSetLineStippleEnableEXT must have been called in the current command buffer prior to this drawing command", "1.3-extensions"}, + {"VUID-vkCmdDrawMeshTasksIndirectCountEXT-None-08671", "If the VK_KHR_line_rasterization or VK_EXT_line_rasterization extension is enabled, and a shader object that outputs line primitives is bound to the VK_SHADER_STAGE_TESSELLATION_EVALUATION_BIT or VK_SHADER_STAGE_GEOMETRY_BIT stage, and the most recent call to vkCmdSetRasterizerDiscardEnable in the current command buffer set rasterizerDiscardEnable to VK_FALSE, then vkCmdSetLineStippleEnableEXT must have been called in the current command buffer prior to this drawing command", "1.3-extensions"}, + {"VUID-vkCmdDrawMeshTasksIndirectCountEXT-None-08672", "If the VK_KHR_line_rasterization or VK_EXT_line_rasterization extension is enabled, and a shader object is bound to any graphics stage, and the most recent call to vkCmdSetRasterizerDiscardEnable in the current command buffer set rasterizerDiscardEnable to VK_FALSE, and the most recent call to vkCmdSetLineStippleEnableEXT in the current command buffer set stippledLineEnable to VK_TRUE, then vkCmdSetLineStippleEXT must have been called in the current command buffer prior to this drawing command", "1.3-extensions"}, {"VUID-vkCmdDrawMeshTasksIndirectCountEXT-None-08673", "If the depthClipControl feature is enabled, and a shader object is bound to any graphics stage, then vkCmdSetDepthClipNegativeOneToOneEXT must have been called in the current command buffer prior to this drawing command", "1.3-extensions"}, {"VUID-vkCmdDrawMeshTasksIndirectCountEXT-None-08674", "If the VK_NV_clip_space_w_scaling extension is enabled, and a shader object is bound to any graphics stage, then vkCmdSetViewportWScalingEnableNV must have been called in the current command buffer prior to this drawing command", "1.3-extensions"}, {"VUID-vkCmdDrawMeshTasksIndirectCountEXT-None-08675", "If the VK_NV_viewport_swizzle extension is enabled, and a shader object is bound to any graphics stage, then vkCmdSetViewportSwizzleNV must have been called in the current command buffer prior to this drawing command", "1.3-extensions"}, @@ -12898,6 +12956,8 @@ static const vuid_spec_text_pair vuid_spec_text[] = { {"VUID-vkCmdDrawMeshTasksIndirectCountEXT-None-09366", "If there is a shader object bound to any graphics stage, and the current render pass includes a color attachment that uses the VK_RESOLVE_MODE_EXTERNAL_FORMAT_DOWNSAMPLE_ANDROID resolve mode, then vkCmdSetColorBlendEnableEXT must have set blend enable to VK_FALSE prior to this drawing command", "1.3-extensions"}, {"VUID-vkCmdDrawMeshTasksIndirectCountEXT-None-09368", "If the current render pass instance was begun with vkCmdBeginRendering, there is no shader object bound to any graphics stage, and the currently bound graphics pipeline was created with a non-zero VkExternalFormatANDROID::externalFormat value and with the VK_DYNAMIC_STATE_FRAGMENT_SHADING_RATE_KHR dynamic state enabled, then vkCmdSetFragmentShadingRateKHR must have set pFragmentSize->width to 1 prior to this drawing command", "1.3-extensions"}, {"VUID-vkCmdDrawMeshTasksIndirectCountEXT-None-09369", "If the current render pass instance was begun with vkCmdBeginRendering, there is no shader object bound to any graphics stage, and the currently bound graphics pipeline was created with a non-zero VkExternalFormatANDROID::externalFormat value and with the VK_DYNAMIC_STATE_FRAGMENT_SHADING_RATE_KHR dynamic state enabled, then vkCmdSetFragmentShadingRateKHR must have set pFragmentSize->height to 1 prior to this drawing command", "1.3-extensions"}, + {"VUID-vkCmdDrawMeshTasksIndirectCountEXT-None-09548", "If the current render pass was begun with vkCmdBeginRendering, and there is no shader object bound to any graphics stage, the value of each element of VkRenderingAttachmentLocationInfoKHR::pColorAttachmentLocations set by vkCmdSetRenderingAttachmentLocationsKHR must match the value set for the corresponding element in the currently bound pipeline", "1.3-extensions"}, + {"VUID-vkCmdDrawMeshTasksIndirectCountEXT-None-09549", "If the current render pass was begun with vkCmdBeginRendering, and there is no shader object bound to any graphics stage, input attachment index mappings in the currently bound pipeline must match those set for the current render pass instance via VkRenderingInputAttachmentIndexInfoKHR", "1.3-extensions"}, {"VUID-vkCmdDrawMeshTasksIndirectCountEXT-OpImageBlockMatchSADQCOM-06975", "If OpImageBlockMatchSADQCOM is used to read from an VkImageView as a result of this command, then the image view's format features must contain VK_FORMAT_FEATURE_2_BLOCK_MATCHING_BIT_QCOM", "1.3-extensions"}, {"VUID-vkCmdDrawMeshTasksIndirectCountEXT-OpImageBlockMatchSADQCOM-06976", "If OpImageBlockMatchSADQCOM or OpImageBlockMatchSSDQCOM is used to read from a reference image as result of this command, then the specified reference coordinates must not fail integer texel coordinate validation", "1.3-extensions"}, {"VUID-vkCmdDrawMeshTasksIndirectCountEXT-OpImageBlockMatchSSDQCOM-06974", "If OpImageBlockMatchSSDQCOM is used to read from an VkImageView as a result of this command, then the image view's format features must contain VK_FORMAT_FEATURE_2_BLOCK_MATCHING_BIT_QCOM", "1.3-extensions"}, @@ -13045,10 +13105,10 @@ static const vuid_spec_text_pair vuid_spec_text[] = { {"VUID-vkCmdDrawMeshTasksIndirectCountEXT-sparseImageInt64Atomics-04475", "If the sparseImageInt64Atomics feature is not enabled, VkBuffer objects created with the VK_BUFFER_CREATE_SPARSE_RESIDENCY_BIT flag must not be accessed by atomic instructions through an OpTypeImage with a SampledType with a Width of 64 by this command", "1.3-extensions"}, {"VUID-vkCmdDrawMeshTasksIndirectCountEXT-stage-06480", "The bound graphics pipeline must not have been created with the VkPipelineShaderStageCreateInfo::stage member of an element of VkGraphicsPipelineCreateInfo::pStages set to VK_SHADER_STAGE_VERTEX_BIT, VK_SHADER_STAGE_TESSELLATION_CONTROL_BIT, VK_SHADER_STAGE_TESSELLATION_EVALUATION_BIT or VK_SHADER_STAGE_GEOMETRY_BIT", "1.3-extensions"}, {"VUID-vkCmdDrawMeshTasksIndirectCountEXT-stage-07073", "If the currently bound pipeline was created with the VkPipelineShaderStageCreateInfo::stage member of an element of VkGraphicsPipelineCreateInfo::pStages set to VK_SHADER_STAGE_VERTEX_BIT, VK_SHADER_STAGE_TESSELLATION_CONTROL_BIT, VK_SHADER_STAGE_TESSELLATION_EVALUATION_BIT or VK_SHADER_STAGE_GEOMETRY_BIT, then Mesh Shader Queries must not be active", "1.3-extensions"}, - {"VUID-vkCmdDrawMeshTasksIndirectCountEXT-stippledLineEnable-07495", "If the bound graphics pipeline state was created with the VK_DYNAMIC_STATE_LINE_STIPPLE_ENABLE_EXT or VK_DYNAMIC_STATE_LINE_RASTERIZATION_MODE_EXT dynamic states enabled, and if the current stippledLineEnable state is VK_TRUE and the current lineRasterizationMode state is VK_LINE_RASTERIZATION_MODE_RECTANGULAR_EXT, then the stippledRectangularLines feature must be enabled", "1.3-extensions"}, - {"VUID-vkCmdDrawMeshTasksIndirectCountEXT-stippledLineEnable-07496", "If the bound graphics pipeline state was created with the VK_DYNAMIC_STATE_LINE_STIPPLE_ENABLE_EXT or VK_DYNAMIC_STATE_LINE_RASTERIZATION_MODE_EXT dynamic states enabled, and if the current stippledLineEnable state is VK_TRUE and the current lineRasterizationMode state is VK_LINE_RASTERIZATION_MODE_BRESENHAM_EXT, then the stippledBresenhamLines feature must be enabled", "1.3-extensions"}, - {"VUID-vkCmdDrawMeshTasksIndirectCountEXT-stippledLineEnable-07497", "If the bound graphics pipeline state was created with the VK_DYNAMIC_STATE_LINE_STIPPLE_ENABLE_EXT or VK_DYNAMIC_STATE_LINE_RASTERIZATION_MODE_EXT dynamic states enabled, and if the current stippledLineEnable state is VK_TRUE and the current lineRasterizationMode state is VK_LINE_RASTERIZATION_MODE_RECTANGULAR_SMOOTH_EXT, then the stippledSmoothLines feature must be enabled", "1.3-extensions"}, - {"VUID-vkCmdDrawMeshTasksIndirectCountEXT-stippledLineEnable-07498", "If the bound graphics pipeline state was created with the VK_DYNAMIC_STATE_LINE_STIPPLE_ENABLE_EXT or VK_DYNAMIC_STATE_LINE_RASTERIZATION_MODE_EXT dynamic states enabled, and if the current stippledLineEnable state is VK_TRUE and the current lineRasterizationMode state is VK_LINE_RASTERIZATION_MODE_DEFAULT_EXT, then the stippledRectangularLines feature must be enabled and VkPhysicalDeviceLimits::strictLines must be VK_TRUE", "1.3-extensions"}, + {"VUID-vkCmdDrawMeshTasksIndirectCountEXT-stippledLineEnable-07495", "If the bound graphics pipeline state was created with the VK_DYNAMIC_STATE_LINE_STIPPLE_ENABLE_EXT or VK_DYNAMIC_STATE_LINE_RASTERIZATION_MODE_EXT dynamic states enabled, and if the current stippledLineEnable state is VK_TRUE and the current lineRasterizationMode state is VK_LINE_RASTERIZATION_MODE_RECTANGULAR_KHR, then the stippledRectangularLines feature must be enabled", "1.3-extensions"}, + {"VUID-vkCmdDrawMeshTasksIndirectCountEXT-stippledLineEnable-07496", "If the bound graphics pipeline state was created with the VK_DYNAMIC_STATE_LINE_STIPPLE_ENABLE_EXT or VK_DYNAMIC_STATE_LINE_RASTERIZATION_MODE_EXT dynamic states enabled, and if the current stippledLineEnable state is VK_TRUE and the current lineRasterizationMode state is VK_LINE_RASTERIZATION_MODE_BRESENHAM_KHR, then the stippledBresenhamLines feature must be enabled", "1.3-extensions"}, + {"VUID-vkCmdDrawMeshTasksIndirectCountEXT-stippledLineEnable-07497", "If the bound graphics pipeline state was created with the VK_DYNAMIC_STATE_LINE_STIPPLE_ENABLE_EXT or VK_DYNAMIC_STATE_LINE_RASTERIZATION_MODE_EXT dynamic states enabled, and if the current stippledLineEnable state is VK_TRUE and the current lineRasterizationMode state is VK_LINE_RASTERIZATION_MODE_RECTANGULAR_SMOOTH_KHR, then the stippledSmoothLines feature must be enabled", "1.3-extensions"}, + {"VUID-vkCmdDrawMeshTasksIndirectCountEXT-stippledLineEnable-07498", "If the bound graphics pipeline state was created with the VK_DYNAMIC_STATE_LINE_STIPPLE_ENABLE_EXT or VK_DYNAMIC_STATE_LINE_RASTERIZATION_MODE_EXT dynamic states enabled, and if the current stippledLineEnable state is VK_TRUE and the current lineRasterizationMode state is VK_LINE_RASTERIZATION_MODE_DEFAULT_KHR, then the stippledRectangularLines feature must be enabled and VkPhysicalDeviceLimits::strictLines must be VK_TRUE", "1.3-extensions"}, {"VUID-vkCmdDrawMeshTasksIndirectCountEXT-storageBuffers-06936", "If any stage of the VkPipeline object bound to the pipeline bind point used by this command accesses a storage buffer, and that stage was created without enabling either VK_PIPELINE_ROBUSTNESS_BUFFER_BEHAVIOR_ROBUST_BUFFER_ACCESS_EXT or VK_PIPELINE_ROBUSTNESS_BUFFER_BEHAVIOR_ROBUST_BUFFER_ACCESS_2_EXT for storageBuffers, and the robustBufferAccess feature is not enabled, that stage must not access values outside of the range of the buffer as specified in the descriptor set bound to the same pipeline bind point", "1.3-extensions"}, {"VUID-vkCmdDrawMeshTasksIndirectCountEXT-stride-07096", "stride must be a multiple of 4 and must be greater than or equal to sizeof(VkDrawMeshTasksIndirectCommandEXT)", "1.3-extensions"}, {"VUID-vkCmdDrawMeshTasksIndirectCountEXT-subpass-02685", "The subpass index of the current render pass must be equal to the subpass member of the VkGraphicsPipelineCreateInfo structure specified when creating the VkPipeline bound to VK_PIPELINE_BIND_POINT_GRAPHICS", "1.3-extensions"}, @@ -13135,7 +13195,7 @@ static const vuid_spec_text_pair vuid_spec_text[] = { {"VUID-vkCmdDrawMeshTasksIndirectCountNV-None-07846", "If the bound graphics pipeline state was created with the VK_DYNAMIC_STATE_DEPTH_BOUNDS_TEST_ENABLE dynamic state enabled then vkCmdSetDepthBoundsTestEnable must have been called in the current command buffer prior to this drawing command", "1.3-extensions"}, {"VUID-vkCmdDrawMeshTasksIndirectCountNV-None-07847", "If the bound graphics pipeline state was created with the VK_DYNAMIC_STATE_STENCIL_TEST_ENABLE dynamic state enabled then vkCmdSetStencilTestEnable must have been called in the current command buffer prior to this drawing command", "1.3-extensions"}, {"VUID-vkCmdDrawMeshTasksIndirectCountNV-None-07848", "If the bound graphics pipeline state was created with the VK_DYNAMIC_STATE_STENCIL_OP dynamic state enabled then vkCmdSetStencilOp must have been called in the current command buffer prior to this drawing command", "1.3-extensions"}, - {"VUID-vkCmdDrawMeshTasksIndirectCountNV-None-07849", "If the bound graphics pipeline state was created with the VK_DYNAMIC_STATE_LINE_STIPPLE_EXT dynamic state enabled then vkCmdSetLineStippleEXT must have been called in the current command buffer prior to this drawing command", "1.3-extensions"}, + {"VUID-vkCmdDrawMeshTasksIndirectCountNV-None-07849", "If the bound graphics pipeline state was created with the VK_DYNAMIC_STATE_LINE_STIPPLE_KHR dynamic state enabled then vkCmdSetLineStippleKHR must have been called in the current command buffer prior to this drawing command", "1.3-extensions"}, {"VUID-vkCmdDrawMeshTasksIndirectCountNV-None-07850", "If dynamic state was inherited from VkCommandBufferInheritanceViewportScissorInfoNV, it must be set in the current command buffer prior to this drawing command", "1.3-extensions"}, {"VUID-vkCmdDrawMeshTasksIndirectCountNV-None-07878", "If the bound graphics pipeline state was created with the VK_DYNAMIC_STATE_EXCLUSIVE_SCISSOR_ENABLE_NV dynamic state enabled then vkCmdSetExclusiveScissorEnableNV must have been called in the current command buffer prior to this drawing command", "1.3-extensions"}, {"VUID-vkCmdDrawMeshTasksIndirectCountNV-None-07879", "If the bound graphics pipeline state was created with the VK_DYNAMIC_STATE_EXCLUSIVE_SCISSOR_NV dynamic state enabled then vkCmdSetExclusiveScissorNV must have been called in the current command buffer prior to this drawing command", "1.3-extensions"}, @@ -13206,13 +13266,13 @@ static const vuid_spec_text_pair vuid_spec_text[] = { {"VUID-vkCmdDrawMeshTasksIndirectCountNV-None-08663", "If the depthClipEnable feature is enabled, and a shader object is bound to any graphics stage, then vkCmdSetDepthClipEnableEXT must have been called in the current command buffer prior to this drawing command", "1.3-extensions"}, {"VUID-vkCmdDrawMeshTasksIndirectCountNV-None-08664", "If the VK_EXT_sample_locations extension is enabled, and a shader object is bound to any graphics stage, and the most recent call to vkCmdSetRasterizerDiscardEnable in the current command buffer set rasterizerDiscardEnable to VK_FALSE, then vkCmdSetSampleLocationsEnableEXT must have been called in the current command buffer prior to this drawing command", "1.3-extensions"}, {"VUID-vkCmdDrawMeshTasksIndirectCountNV-None-08665", "If the VK_EXT_provoking_vertex extension is enabled, and a shader object is bound to the VK_SHADER_STAGE_VERTEX_BIT stage, and the most recent call to vkCmdSetRasterizerDiscardEnable in the current command buffer set rasterizerDiscardEnable to VK_FALSE, then vkCmdSetProvokingVertexModeEXT must have been called in the current command buffer prior to this drawing command", "1.3-extensions"}, - {"VUID-vkCmdDrawMeshTasksIndirectCountNV-None-08666", "If the VK_EXT_line_rasterization extension is enabled, and a shader object is bound to any graphics stage, and the most recent call to vkCmdSetRasterizerDiscardEnable in the current command buffer set rasterizerDiscardEnable to VK_FALSE, and the most recent call to vkCmdSetPolygonModeEXT in the current command buffer set polygonMode to VK_POLYGON_MODE_LINE, then vkCmdSetLineRasterizationModeEXT must have been called in the current command buffer prior to this drawing command", "1.3-extensions"}, - {"VUID-vkCmdDrawMeshTasksIndirectCountNV-None-08667", "If the VK_EXT_line_rasterization extension is enabled, and a shader object is bound to the VK_SHADER_STAGE_VERTEX_BIT stage, and the most recent call to vkCmdSetRasterizerDiscardEnable in the current command buffer set rasterizerDiscardEnable to VK_FALSE, and the most recent call to vkCmdSetPrimitiveTopology in the current command buffer set primitiveTopology to any line topology, then vkCmdSetLineRasterizationModeEXT must have been called in the current command buffer prior to this drawing command", "1.3-extensions"}, - {"VUID-vkCmdDrawMeshTasksIndirectCountNV-None-08668", "If the VK_EXT_line_rasterization extension is enabled, and a shader object that outputs line primitives is bound to the VK_SHADER_STAGE_TESSELLATION_EVALUATION_BIT or VK_SHADER_STAGE_GEOMETRY_BIT stage, and the most recent call to vkCmdSetRasterizerDiscardEnable in the current command buffer set rasterizerDiscardEnable to VK_FALSE, then vkCmdSetLineRasterizationModeEXT must have been called in the current command buffer prior to this drawing command", "1.3-extensions"}, - {"VUID-vkCmdDrawMeshTasksIndirectCountNV-None-08669", "If the VK_EXT_line_rasterization extension is enabled, and a shader object is bound to any graphics stage, and the most recent call to vkCmdSetRasterizerDiscardEnable in the current command buffer set rasterizerDiscardEnable to VK_FALSE, and the most recent call to vkCmdSetPolygonModeEXT in the current command buffer set polygonMode to VK_POLYGON_MODE_LINE, then vkCmdSetLineStippleEnableEXT must have been called in the current command buffer prior to this drawing command", "1.3-extensions"}, - {"VUID-vkCmdDrawMeshTasksIndirectCountNV-None-08670", "If the VK_EXT_line_rasterization extension is enabled, and a shader object is bound to the VK_SHADER_STAGE_VERTEX_BIT stage, and the most recent call to vkCmdSetRasterizerDiscardEnable in the current command buffer set rasterizerDiscardEnable to VK_FALSE, and the most recent call to vkCmdSetPrimitiveTopology in the current command buffer set primitiveTopology to any line topology, then vkCmdSetLineStippleEnableEXT must have been called in the current command buffer prior to this drawing command", "1.3-extensions"}, - {"VUID-vkCmdDrawMeshTasksIndirectCountNV-None-08671", "If the VK_EXT_line_rasterization extension is enabled, and a shader object that outputs line primitives is bound to the VK_SHADER_STAGE_TESSELLATION_EVALUATION_BIT or VK_SHADER_STAGE_GEOMETRY_BIT stage, and the most recent call to vkCmdSetRasterizerDiscardEnable in the current command buffer set rasterizerDiscardEnable to VK_FALSE, then vkCmdSetLineStippleEnableEXT must have been called in the current command buffer prior to this drawing command", "1.3-extensions"}, - {"VUID-vkCmdDrawMeshTasksIndirectCountNV-None-08672", "If the VK_EXT_line_rasterization extension is enabled, and a shader object is bound to any graphics stage, and the most recent call to vkCmdSetRasterizerDiscardEnable in the current command buffer set rasterizerDiscardEnable to VK_FALSE, and the most recent call to vkCmdSetLineStippleEnableEXT in the current command buffer set stippledLineEnable to VK_TRUE, then vkCmdSetLineStippleEXT must have been called in the current command buffer prior to this drawing command", "1.3-extensions"}, + {"VUID-vkCmdDrawMeshTasksIndirectCountNV-None-08666", "If the VK_KHR_line_rasterization or VK_EXT_line_rasterization extension is enabled, and a shader object is bound to any graphics stage, and the most recent call to vkCmdSetRasterizerDiscardEnable in the current command buffer set rasterizerDiscardEnable to VK_FALSE, and the most recent call to vkCmdSetPolygonModeEXT in the current command buffer set polygonMode to VK_POLYGON_MODE_LINE, then vkCmdSetLineRasterizationModeEXT must have been called in the current command buffer prior to this drawing command", "1.3-extensions"}, + {"VUID-vkCmdDrawMeshTasksIndirectCountNV-None-08667", "If the VK_KHR_line_rasterization or VK_EXT_line_rasterization extension is enabled, and a shader object is bound to the VK_SHADER_STAGE_VERTEX_BIT stage, and the most recent call to vkCmdSetRasterizerDiscardEnable in the current command buffer set rasterizerDiscardEnable to VK_FALSE, and the most recent call to vkCmdSetPrimitiveTopology in the current command buffer set primitiveTopology to any line topology, then vkCmdSetLineRasterizationModeEXT must have been called in the current command buffer prior to this drawing command", "1.3-extensions"}, + {"VUID-vkCmdDrawMeshTasksIndirectCountNV-None-08668", "If the VK_KHR_line_rasterization or VK_EXT_line_rasterization extension is enabled, and a shader object that outputs line primitives is bound to the VK_SHADER_STAGE_TESSELLATION_EVALUATION_BIT or VK_SHADER_STAGE_GEOMETRY_BIT stage, and the most recent call to vkCmdSetRasterizerDiscardEnable in the current command buffer set rasterizerDiscardEnable to VK_FALSE, then vkCmdSetLineRasterizationModeEXT must have been called in the current command buffer prior to this drawing command", "1.3-extensions"}, + {"VUID-vkCmdDrawMeshTasksIndirectCountNV-None-08669", "If the VK_KHR_line_rasterization or VK_EXT_line_rasterization extension is enabled, and a shader object is bound to any graphics stage, and the most recent call to vkCmdSetRasterizerDiscardEnable in the current command buffer set rasterizerDiscardEnable to VK_FALSE, and the most recent call to vkCmdSetPolygonModeEXT in the current command buffer set polygonMode to VK_POLYGON_MODE_LINE, then vkCmdSetLineStippleEnableEXT must have been called in the current command buffer prior to this drawing command", "1.3-extensions"}, + {"VUID-vkCmdDrawMeshTasksIndirectCountNV-None-08670", "If the VK_KHR_line_rasterization or VK_EXT_line_rasterization extension is enabled, and a shader object is bound to the VK_SHADER_STAGE_VERTEX_BIT stage, and the most recent call to vkCmdSetRasterizerDiscardEnable in the current command buffer set rasterizerDiscardEnable to VK_FALSE, and the most recent call to vkCmdSetPrimitiveTopology in the current command buffer set primitiveTopology to any line topology, then vkCmdSetLineStippleEnableEXT must have been called in the current command buffer prior to this drawing command", "1.3-extensions"}, + {"VUID-vkCmdDrawMeshTasksIndirectCountNV-None-08671", "If the VK_KHR_line_rasterization or VK_EXT_line_rasterization extension is enabled, and a shader object that outputs line primitives is bound to the VK_SHADER_STAGE_TESSELLATION_EVALUATION_BIT or VK_SHADER_STAGE_GEOMETRY_BIT stage, and the most recent call to vkCmdSetRasterizerDiscardEnable in the current command buffer set rasterizerDiscardEnable to VK_FALSE, then vkCmdSetLineStippleEnableEXT must have been called in the current command buffer prior to this drawing command", "1.3-extensions"}, + {"VUID-vkCmdDrawMeshTasksIndirectCountNV-None-08672", "If the VK_KHR_line_rasterization or VK_EXT_line_rasterization extension is enabled, and a shader object is bound to any graphics stage, and the most recent call to vkCmdSetRasterizerDiscardEnable in the current command buffer set rasterizerDiscardEnable to VK_FALSE, and the most recent call to vkCmdSetLineStippleEnableEXT in the current command buffer set stippledLineEnable to VK_TRUE, then vkCmdSetLineStippleEXT must have been called in the current command buffer prior to this drawing command", "1.3-extensions"}, {"VUID-vkCmdDrawMeshTasksIndirectCountNV-None-08673", "If the depthClipControl feature is enabled, and a shader object is bound to any graphics stage, then vkCmdSetDepthClipNegativeOneToOneEXT must have been called in the current command buffer prior to this drawing command", "1.3-extensions"}, {"VUID-vkCmdDrawMeshTasksIndirectCountNV-None-08674", "If the VK_NV_clip_space_w_scaling extension is enabled, and a shader object is bound to any graphics stage, then vkCmdSetViewportWScalingEnableNV must have been called in the current command buffer prior to this drawing command", "1.3-extensions"}, {"VUID-vkCmdDrawMeshTasksIndirectCountNV-None-08675", "If the VK_NV_viewport_swizzle extension is enabled, and a shader object is bound to any graphics stage, then vkCmdSetViewportSwizzleNV must have been called in the current command buffer prior to this drawing command", "1.3-extensions"}, @@ -13256,6 +13316,8 @@ static const vuid_spec_text_pair vuid_spec_text[] = { {"VUID-vkCmdDrawMeshTasksIndirectCountNV-None-09366", "If there is a shader object bound to any graphics stage, and the current render pass includes a color attachment that uses the VK_RESOLVE_MODE_EXTERNAL_FORMAT_DOWNSAMPLE_ANDROID resolve mode, then vkCmdSetColorBlendEnableEXT must have set blend enable to VK_FALSE prior to this drawing command", "1.3-extensions"}, {"VUID-vkCmdDrawMeshTasksIndirectCountNV-None-09368", "If the current render pass instance was begun with vkCmdBeginRendering, there is no shader object bound to any graphics stage, and the currently bound graphics pipeline was created with a non-zero VkExternalFormatANDROID::externalFormat value and with the VK_DYNAMIC_STATE_FRAGMENT_SHADING_RATE_KHR dynamic state enabled, then vkCmdSetFragmentShadingRateKHR must have set pFragmentSize->width to 1 prior to this drawing command", "1.3-extensions"}, {"VUID-vkCmdDrawMeshTasksIndirectCountNV-None-09369", "If the current render pass instance was begun with vkCmdBeginRendering, there is no shader object bound to any graphics stage, and the currently bound graphics pipeline was created with a non-zero VkExternalFormatANDROID::externalFormat value and with the VK_DYNAMIC_STATE_FRAGMENT_SHADING_RATE_KHR dynamic state enabled, then vkCmdSetFragmentShadingRateKHR must have set pFragmentSize->height to 1 prior to this drawing command", "1.3-extensions"}, + {"VUID-vkCmdDrawMeshTasksIndirectCountNV-None-09548", "If the current render pass was begun with vkCmdBeginRendering, and there is no shader object bound to any graphics stage, the value of each element of VkRenderingAttachmentLocationInfoKHR::pColorAttachmentLocations set by vkCmdSetRenderingAttachmentLocationsKHR must match the value set for the corresponding element in the currently bound pipeline", "1.3-extensions"}, + {"VUID-vkCmdDrawMeshTasksIndirectCountNV-None-09549", "If the current render pass was begun with vkCmdBeginRendering, and there is no shader object bound to any graphics stage, input attachment index mappings in the currently bound pipeline must match those set for the current render pass instance via VkRenderingInputAttachmentIndexInfoKHR", "1.3-extensions"}, {"VUID-vkCmdDrawMeshTasksIndirectCountNV-OpImageBlockMatchSADQCOM-06975", "If OpImageBlockMatchSADQCOM is used to read from an VkImageView as a result of this command, then the image view's format features must contain VK_FORMAT_FEATURE_2_BLOCK_MATCHING_BIT_QCOM", "1.3-extensions"}, {"VUID-vkCmdDrawMeshTasksIndirectCountNV-OpImageBlockMatchSADQCOM-06976", "If OpImageBlockMatchSADQCOM or OpImageBlockMatchSSDQCOM is used to read from a reference image as result of this command, then the specified reference coordinates must not fail integer texel coordinate validation", "1.3-extensions"}, {"VUID-vkCmdDrawMeshTasksIndirectCountNV-OpImageBlockMatchSSDQCOM-06974", "If OpImageBlockMatchSSDQCOM is used to read from an VkImageView as a result of this command, then the image view's format features must contain VK_FORMAT_FEATURE_2_BLOCK_MATCHING_BIT_QCOM", "1.3-extensions"}, @@ -13403,10 +13465,10 @@ static const vuid_spec_text_pair vuid_spec_text[] = { {"VUID-vkCmdDrawMeshTasksIndirectCountNV-sparseImageInt64Atomics-04475", "If the sparseImageInt64Atomics feature is not enabled, VkBuffer objects created with the VK_BUFFER_CREATE_SPARSE_RESIDENCY_BIT flag must not be accessed by atomic instructions through an OpTypeImage with a SampledType with a Width of 64 by this command", "1.3-extensions"}, {"VUID-vkCmdDrawMeshTasksIndirectCountNV-stage-06480", "The bound graphics pipeline must not have been created with the VkPipelineShaderStageCreateInfo::stage member of an element of VkGraphicsPipelineCreateInfo::pStages set to VK_SHADER_STAGE_VERTEX_BIT, VK_SHADER_STAGE_TESSELLATION_CONTROL_BIT, VK_SHADER_STAGE_TESSELLATION_EVALUATION_BIT or VK_SHADER_STAGE_GEOMETRY_BIT", "1.3-extensions"}, {"VUID-vkCmdDrawMeshTasksIndirectCountNV-stage-07073", "If the currently bound pipeline was created with the VkPipelineShaderStageCreateInfo::stage member of an element of VkGraphicsPipelineCreateInfo::pStages set to VK_SHADER_STAGE_VERTEX_BIT, VK_SHADER_STAGE_TESSELLATION_CONTROL_BIT, VK_SHADER_STAGE_TESSELLATION_EVALUATION_BIT or VK_SHADER_STAGE_GEOMETRY_BIT, then Mesh Shader Queries must not be active", "1.3-extensions"}, - {"VUID-vkCmdDrawMeshTasksIndirectCountNV-stippledLineEnable-07495", "If the bound graphics pipeline state was created with the VK_DYNAMIC_STATE_LINE_STIPPLE_ENABLE_EXT or VK_DYNAMIC_STATE_LINE_RASTERIZATION_MODE_EXT dynamic states enabled, and if the current stippledLineEnable state is VK_TRUE and the current lineRasterizationMode state is VK_LINE_RASTERIZATION_MODE_RECTANGULAR_EXT, then the stippledRectangularLines feature must be enabled", "1.3-extensions"}, - {"VUID-vkCmdDrawMeshTasksIndirectCountNV-stippledLineEnable-07496", "If the bound graphics pipeline state was created with the VK_DYNAMIC_STATE_LINE_STIPPLE_ENABLE_EXT or VK_DYNAMIC_STATE_LINE_RASTERIZATION_MODE_EXT dynamic states enabled, and if the current stippledLineEnable state is VK_TRUE and the current lineRasterizationMode state is VK_LINE_RASTERIZATION_MODE_BRESENHAM_EXT, then the stippledBresenhamLines feature must be enabled", "1.3-extensions"}, - {"VUID-vkCmdDrawMeshTasksIndirectCountNV-stippledLineEnable-07497", "If the bound graphics pipeline state was created with the VK_DYNAMIC_STATE_LINE_STIPPLE_ENABLE_EXT or VK_DYNAMIC_STATE_LINE_RASTERIZATION_MODE_EXT dynamic states enabled, and if the current stippledLineEnable state is VK_TRUE and the current lineRasterizationMode state is VK_LINE_RASTERIZATION_MODE_RECTANGULAR_SMOOTH_EXT, then the stippledSmoothLines feature must be enabled", "1.3-extensions"}, - {"VUID-vkCmdDrawMeshTasksIndirectCountNV-stippledLineEnable-07498", "If the bound graphics pipeline state was created with the VK_DYNAMIC_STATE_LINE_STIPPLE_ENABLE_EXT or VK_DYNAMIC_STATE_LINE_RASTERIZATION_MODE_EXT dynamic states enabled, and if the current stippledLineEnable state is VK_TRUE and the current lineRasterizationMode state is VK_LINE_RASTERIZATION_MODE_DEFAULT_EXT, then the stippledRectangularLines feature must be enabled and VkPhysicalDeviceLimits::strictLines must be VK_TRUE", "1.3-extensions"}, + {"VUID-vkCmdDrawMeshTasksIndirectCountNV-stippledLineEnable-07495", "If the bound graphics pipeline state was created with the VK_DYNAMIC_STATE_LINE_STIPPLE_ENABLE_EXT or VK_DYNAMIC_STATE_LINE_RASTERIZATION_MODE_EXT dynamic states enabled, and if the current stippledLineEnable state is VK_TRUE and the current lineRasterizationMode state is VK_LINE_RASTERIZATION_MODE_RECTANGULAR_KHR, then the stippledRectangularLines feature must be enabled", "1.3-extensions"}, + {"VUID-vkCmdDrawMeshTasksIndirectCountNV-stippledLineEnable-07496", "If the bound graphics pipeline state was created with the VK_DYNAMIC_STATE_LINE_STIPPLE_ENABLE_EXT or VK_DYNAMIC_STATE_LINE_RASTERIZATION_MODE_EXT dynamic states enabled, and if the current stippledLineEnable state is VK_TRUE and the current lineRasterizationMode state is VK_LINE_RASTERIZATION_MODE_BRESENHAM_KHR, then the stippledBresenhamLines feature must be enabled", "1.3-extensions"}, + {"VUID-vkCmdDrawMeshTasksIndirectCountNV-stippledLineEnable-07497", "If the bound graphics pipeline state was created with the VK_DYNAMIC_STATE_LINE_STIPPLE_ENABLE_EXT or VK_DYNAMIC_STATE_LINE_RASTERIZATION_MODE_EXT dynamic states enabled, and if the current stippledLineEnable state is VK_TRUE and the current lineRasterizationMode state is VK_LINE_RASTERIZATION_MODE_RECTANGULAR_SMOOTH_KHR, then the stippledSmoothLines feature must be enabled", "1.3-extensions"}, + {"VUID-vkCmdDrawMeshTasksIndirectCountNV-stippledLineEnable-07498", "If the bound graphics pipeline state was created with the VK_DYNAMIC_STATE_LINE_STIPPLE_ENABLE_EXT or VK_DYNAMIC_STATE_LINE_RASTERIZATION_MODE_EXT dynamic states enabled, and if the current stippledLineEnable state is VK_TRUE and the current lineRasterizationMode state is VK_LINE_RASTERIZATION_MODE_DEFAULT_KHR, then the stippledRectangularLines feature must be enabled and VkPhysicalDeviceLimits::strictLines must be VK_TRUE", "1.3-extensions"}, {"VUID-vkCmdDrawMeshTasksIndirectCountNV-storageBuffers-06936", "If any stage of the VkPipeline object bound to the pipeline bind point used by this command accesses a storage buffer, and that stage was created without enabling either VK_PIPELINE_ROBUSTNESS_BUFFER_BEHAVIOR_ROBUST_BUFFER_ACCESS_EXT or VK_PIPELINE_ROBUSTNESS_BUFFER_BEHAVIOR_ROBUST_BUFFER_ACCESS_2_EXT for storageBuffers, and the robustBufferAccess feature is not enabled, that stage must not access values outside of the range of the buffer as specified in the descriptor set bound to the same pipeline bind point", "1.3-extensions"}, {"VUID-vkCmdDrawMeshTasksIndirectCountNV-stride-02182", "stride must be a multiple of 4 and must be greater than or equal to sizeof(VkDrawMeshTasksIndirectCommandNV)", "1.3-extensions"}, {"VUID-vkCmdDrawMeshTasksIndirectCountNV-subpass-02685", "The subpass index of the current render pass must be equal to the subpass member of the VkGraphicsPipelineCreateInfo structure specified when creating the VkPipeline bound to VK_PIPELINE_BIND_POINT_GRAPHICS", "1.3-extensions"}, @@ -13492,7 +13554,7 @@ static const vuid_spec_text_pair vuid_spec_text[] = { {"VUID-vkCmdDrawMeshTasksIndirectEXT-None-07846", "If the bound graphics pipeline state was created with the VK_DYNAMIC_STATE_DEPTH_BOUNDS_TEST_ENABLE dynamic state enabled then vkCmdSetDepthBoundsTestEnable must have been called in the current command buffer prior to this drawing command", "1.3-extensions"}, {"VUID-vkCmdDrawMeshTasksIndirectEXT-None-07847", "If the bound graphics pipeline state was created with the VK_DYNAMIC_STATE_STENCIL_TEST_ENABLE dynamic state enabled then vkCmdSetStencilTestEnable must have been called in the current command buffer prior to this drawing command", "1.3-extensions"}, {"VUID-vkCmdDrawMeshTasksIndirectEXT-None-07848", "If the bound graphics pipeline state was created with the VK_DYNAMIC_STATE_STENCIL_OP dynamic state enabled then vkCmdSetStencilOp must have been called in the current command buffer prior to this drawing command", "1.3-extensions"}, - {"VUID-vkCmdDrawMeshTasksIndirectEXT-None-07849", "If the bound graphics pipeline state was created with the VK_DYNAMIC_STATE_LINE_STIPPLE_EXT dynamic state enabled then vkCmdSetLineStippleEXT must have been called in the current command buffer prior to this drawing command", "1.3-extensions"}, + {"VUID-vkCmdDrawMeshTasksIndirectEXT-None-07849", "If the bound graphics pipeline state was created with the VK_DYNAMIC_STATE_LINE_STIPPLE_KHR dynamic state enabled then vkCmdSetLineStippleKHR must have been called in the current command buffer prior to this drawing command", "1.3-extensions"}, {"VUID-vkCmdDrawMeshTasksIndirectEXT-None-07850", "If dynamic state was inherited from VkCommandBufferInheritanceViewportScissorInfoNV, it must be set in the current command buffer prior to this drawing command", "1.3-extensions"}, {"VUID-vkCmdDrawMeshTasksIndirectEXT-None-07878", "If the bound graphics pipeline state was created with the VK_DYNAMIC_STATE_EXCLUSIVE_SCISSOR_ENABLE_NV dynamic state enabled then vkCmdSetExclusiveScissorEnableNV must have been called in the current command buffer prior to this drawing command", "1.3-extensions"}, {"VUID-vkCmdDrawMeshTasksIndirectEXT-None-07879", "If the bound graphics pipeline state was created with the VK_DYNAMIC_STATE_EXCLUSIVE_SCISSOR_NV dynamic state enabled then vkCmdSetExclusiveScissorNV must have been called in the current command buffer prior to this drawing command", "1.3-extensions"}, @@ -13563,13 +13625,13 @@ static const vuid_spec_text_pair vuid_spec_text[] = { {"VUID-vkCmdDrawMeshTasksIndirectEXT-None-08663", "If the depthClipEnable feature is enabled, and a shader object is bound to any graphics stage, then vkCmdSetDepthClipEnableEXT must have been called in the current command buffer prior to this drawing command", "1.3-extensions"}, {"VUID-vkCmdDrawMeshTasksIndirectEXT-None-08664", "If the VK_EXT_sample_locations extension is enabled, and a shader object is bound to any graphics stage, and the most recent call to vkCmdSetRasterizerDiscardEnable in the current command buffer set rasterizerDiscardEnable to VK_FALSE, then vkCmdSetSampleLocationsEnableEXT must have been called in the current command buffer prior to this drawing command", "1.3-extensions"}, {"VUID-vkCmdDrawMeshTasksIndirectEXT-None-08665", "If the VK_EXT_provoking_vertex extension is enabled, and a shader object is bound to the VK_SHADER_STAGE_VERTEX_BIT stage, and the most recent call to vkCmdSetRasterizerDiscardEnable in the current command buffer set rasterizerDiscardEnable to VK_FALSE, then vkCmdSetProvokingVertexModeEXT must have been called in the current command buffer prior to this drawing command", "1.3-extensions"}, - {"VUID-vkCmdDrawMeshTasksIndirectEXT-None-08666", "If the VK_EXT_line_rasterization extension is enabled, and a shader object is bound to any graphics stage, and the most recent call to vkCmdSetRasterizerDiscardEnable in the current command buffer set rasterizerDiscardEnable to VK_FALSE, and the most recent call to vkCmdSetPolygonModeEXT in the current command buffer set polygonMode to VK_POLYGON_MODE_LINE, then vkCmdSetLineRasterizationModeEXT must have been called in the current command buffer prior to this drawing command", "1.3-extensions"}, - {"VUID-vkCmdDrawMeshTasksIndirectEXT-None-08667", "If the VK_EXT_line_rasterization extension is enabled, and a shader object is bound to the VK_SHADER_STAGE_VERTEX_BIT stage, and the most recent call to vkCmdSetRasterizerDiscardEnable in the current command buffer set rasterizerDiscardEnable to VK_FALSE, and the most recent call to vkCmdSetPrimitiveTopology in the current command buffer set primitiveTopology to any line topology, then vkCmdSetLineRasterizationModeEXT must have been called in the current command buffer prior to this drawing command", "1.3-extensions"}, - {"VUID-vkCmdDrawMeshTasksIndirectEXT-None-08668", "If the VK_EXT_line_rasterization extension is enabled, and a shader object that outputs line primitives is bound to the VK_SHADER_STAGE_TESSELLATION_EVALUATION_BIT or VK_SHADER_STAGE_GEOMETRY_BIT stage, and the most recent call to vkCmdSetRasterizerDiscardEnable in the current command buffer set rasterizerDiscardEnable to VK_FALSE, then vkCmdSetLineRasterizationModeEXT must have been called in the current command buffer prior to this drawing command", "1.3-extensions"}, - {"VUID-vkCmdDrawMeshTasksIndirectEXT-None-08669", "If the VK_EXT_line_rasterization extension is enabled, and a shader object is bound to any graphics stage, and the most recent call to vkCmdSetRasterizerDiscardEnable in the current command buffer set rasterizerDiscardEnable to VK_FALSE, and the most recent call to vkCmdSetPolygonModeEXT in the current command buffer set polygonMode to VK_POLYGON_MODE_LINE, then vkCmdSetLineStippleEnableEXT must have been called in the current command buffer prior to this drawing command", "1.3-extensions"}, - {"VUID-vkCmdDrawMeshTasksIndirectEXT-None-08670", "If the VK_EXT_line_rasterization extension is enabled, and a shader object is bound to the VK_SHADER_STAGE_VERTEX_BIT stage, and the most recent call to vkCmdSetRasterizerDiscardEnable in the current command buffer set rasterizerDiscardEnable to VK_FALSE, and the most recent call to vkCmdSetPrimitiveTopology in the current command buffer set primitiveTopology to any line topology, then vkCmdSetLineStippleEnableEXT must have been called in the current command buffer prior to this drawing command", "1.3-extensions"}, - {"VUID-vkCmdDrawMeshTasksIndirectEXT-None-08671", "If the VK_EXT_line_rasterization extension is enabled, and a shader object that outputs line primitives is bound to the VK_SHADER_STAGE_TESSELLATION_EVALUATION_BIT or VK_SHADER_STAGE_GEOMETRY_BIT stage, and the most recent call to vkCmdSetRasterizerDiscardEnable in the current command buffer set rasterizerDiscardEnable to VK_FALSE, then vkCmdSetLineStippleEnableEXT must have been called in the current command buffer prior to this drawing command", "1.3-extensions"}, - {"VUID-vkCmdDrawMeshTasksIndirectEXT-None-08672", "If the VK_EXT_line_rasterization extension is enabled, and a shader object is bound to any graphics stage, and the most recent call to vkCmdSetRasterizerDiscardEnable in the current command buffer set rasterizerDiscardEnable to VK_FALSE, and the most recent call to vkCmdSetLineStippleEnableEXT in the current command buffer set stippledLineEnable to VK_TRUE, then vkCmdSetLineStippleEXT must have been called in the current command buffer prior to this drawing command", "1.3-extensions"}, + {"VUID-vkCmdDrawMeshTasksIndirectEXT-None-08666", "If the VK_KHR_line_rasterization or VK_EXT_line_rasterization extension is enabled, and a shader object is bound to any graphics stage, and the most recent call to vkCmdSetRasterizerDiscardEnable in the current command buffer set rasterizerDiscardEnable to VK_FALSE, and the most recent call to vkCmdSetPolygonModeEXT in the current command buffer set polygonMode to VK_POLYGON_MODE_LINE, then vkCmdSetLineRasterizationModeEXT must have been called in the current command buffer prior to this drawing command", "1.3-extensions"}, + {"VUID-vkCmdDrawMeshTasksIndirectEXT-None-08667", "If the VK_KHR_line_rasterization or VK_EXT_line_rasterization extension is enabled, and a shader object is bound to the VK_SHADER_STAGE_VERTEX_BIT stage, and the most recent call to vkCmdSetRasterizerDiscardEnable in the current command buffer set rasterizerDiscardEnable to VK_FALSE, and the most recent call to vkCmdSetPrimitiveTopology in the current command buffer set primitiveTopology to any line topology, then vkCmdSetLineRasterizationModeEXT must have been called in the current command buffer prior to this drawing command", "1.3-extensions"}, + {"VUID-vkCmdDrawMeshTasksIndirectEXT-None-08668", "If the VK_KHR_line_rasterization or VK_EXT_line_rasterization extension is enabled, and a shader object that outputs line primitives is bound to the VK_SHADER_STAGE_TESSELLATION_EVALUATION_BIT or VK_SHADER_STAGE_GEOMETRY_BIT stage, and the most recent call to vkCmdSetRasterizerDiscardEnable in the current command buffer set rasterizerDiscardEnable to VK_FALSE, then vkCmdSetLineRasterizationModeEXT must have been called in the current command buffer prior to this drawing command", "1.3-extensions"}, + {"VUID-vkCmdDrawMeshTasksIndirectEXT-None-08669", "If the VK_KHR_line_rasterization or VK_EXT_line_rasterization extension is enabled, and a shader object is bound to any graphics stage, and the most recent call to vkCmdSetRasterizerDiscardEnable in the current command buffer set rasterizerDiscardEnable to VK_FALSE, and the most recent call to vkCmdSetPolygonModeEXT in the current command buffer set polygonMode to VK_POLYGON_MODE_LINE, then vkCmdSetLineStippleEnableEXT must have been called in the current command buffer prior to this drawing command", "1.3-extensions"}, + {"VUID-vkCmdDrawMeshTasksIndirectEXT-None-08670", "If the VK_KHR_line_rasterization or VK_EXT_line_rasterization extension is enabled, and a shader object is bound to the VK_SHADER_STAGE_VERTEX_BIT stage, and the most recent call to vkCmdSetRasterizerDiscardEnable in the current command buffer set rasterizerDiscardEnable to VK_FALSE, and the most recent call to vkCmdSetPrimitiveTopology in the current command buffer set primitiveTopology to any line topology, then vkCmdSetLineStippleEnableEXT must have been called in the current command buffer prior to this drawing command", "1.3-extensions"}, + {"VUID-vkCmdDrawMeshTasksIndirectEXT-None-08671", "If the VK_KHR_line_rasterization or VK_EXT_line_rasterization extension is enabled, and a shader object that outputs line primitives is bound to the VK_SHADER_STAGE_TESSELLATION_EVALUATION_BIT or VK_SHADER_STAGE_GEOMETRY_BIT stage, and the most recent call to vkCmdSetRasterizerDiscardEnable in the current command buffer set rasterizerDiscardEnable to VK_FALSE, then vkCmdSetLineStippleEnableEXT must have been called in the current command buffer prior to this drawing command", "1.3-extensions"}, + {"VUID-vkCmdDrawMeshTasksIndirectEXT-None-08672", "If the VK_KHR_line_rasterization or VK_EXT_line_rasterization extension is enabled, and a shader object is bound to any graphics stage, and the most recent call to vkCmdSetRasterizerDiscardEnable in the current command buffer set rasterizerDiscardEnable to VK_FALSE, and the most recent call to vkCmdSetLineStippleEnableEXT in the current command buffer set stippledLineEnable to VK_TRUE, then vkCmdSetLineStippleEXT must have been called in the current command buffer prior to this drawing command", "1.3-extensions"}, {"VUID-vkCmdDrawMeshTasksIndirectEXT-None-08673", "If the depthClipControl feature is enabled, and a shader object is bound to any graphics stage, then vkCmdSetDepthClipNegativeOneToOneEXT must have been called in the current command buffer prior to this drawing command", "1.3-extensions"}, {"VUID-vkCmdDrawMeshTasksIndirectEXT-None-08674", "If the VK_NV_clip_space_w_scaling extension is enabled, and a shader object is bound to any graphics stage, then vkCmdSetViewportWScalingEnableNV must have been called in the current command buffer prior to this drawing command", "1.3-extensions"}, {"VUID-vkCmdDrawMeshTasksIndirectEXT-None-08675", "If the VK_NV_viewport_swizzle extension is enabled, and a shader object is bound to any graphics stage, then vkCmdSetViewportSwizzleNV must have been called in the current command buffer prior to this drawing command", "1.3-extensions"}, @@ -13613,6 +13675,8 @@ static const vuid_spec_text_pair vuid_spec_text[] = { {"VUID-vkCmdDrawMeshTasksIndirectEXT-None-09366", "If there is a shader object bound to any graphics stage, and the current render pass includes a color attachment that uses the VK_RESOLVE_MODE_EXTERNAL_FORMAT_DOWNSAMPLE_ANDROID resolve mode, then vkCmdSetColorBlendEnableEXT must have set blend enable to VK_FALSE prior to this drawing command", "1.3-extensions"}, {"VUID-vkCmdDrawMeshTasksIndirectEXT-None-09368", "If the current render pass instance was begun with vkCmdBeginRendering, there is no shader object bound to any graphics stage, and the currently bound graphics pipeline was created with a non-zero VkExternalFormatANDROID::externalFormat value and with the VK_DYNAMIC_STATE_FRAGMENT_SHADING_RATE_KHR dynamic state enabled, then vkCmdSetFragmentShadingRateKHR must have set pFragmentSize->width to 1 prior to this drawing command", "1.3-extensions"}, {"VUID-vkCmdDrawMeshTasksIndirectEXT-None-09369", "If the current render pass instance was begun with vkCmdBeginRendering, there is no shader object bound to any graphics stage, and the currently bound graphics pipeline was created with a non-zero VkExternalFormatANDROID::externalFormat value and with the VK_DYNAMIC_STATE_FRAGMENT_SHADING_RATE_KHR dynamic state enabled, then vkCmdSetFragmentShadingRateKHR must have set pFragmentSize->height to 1 prior to this drawing command", "1.3-extensions"}, + {"VUID-vkCmdDrawMeshTasksIndirectEXT-None-09548", "If the current render pass was begun with vkCmdBeginRendering, and there is no shader object bound to any graphics stage, the value of each element of VkRenderingAttachmentLocationInfoKHR::pColorAttachmentLocations set by vkCmdSetRenderingAttachmentLocationsKHR must match the value set for the corresponding element in the currently bound pipeline", "1.3-extensions"}, + {"VUID-vkCmdDrawMeshTasksIndirectEXT-None-09549", "If the current render pass was begun with vkCmdBeginRendering, and there is no shader object bound to any graphics stage, input attachment index mappings in the currently bound pipeline must match those set for the current render pass instance via VkRenderingInputAttachmentIndexInfoKHR", "1.3-extensions"}, {"VUID-vkCmdDrawMeshTasksIndirectEXT-OpImageBlockMatchSADQCOM-06975", "If OpImageBlockMatchSADQCOM is used to read from an VkImageView as a result of this command, then the image view's format features must contain VK_FORMAT_FEATURE_2_BLOCK_MATCHING_BIT_QCOM", "1.3-extensions"}, {"VUID-vkCmdDrawMeshTasksIndirectEXT-OpImageBlockMatchSADQCOM-06976", "If OpImageBlockMatchSADQCOM or OpImageBlockMatchSSDQCOM is used to read from a reference image as result of this command, then the specified reference coordinates must not fail integer texel coordinate validation", "1.3-extensions"}, {"VUID-vkCmdDrawMeshTasksIndirectEXT-OpImageBlockMatchSSDQCOM-06974", "If OpImageBlockMatchSSDQCOM is used to read from an VkImageView as a result of this command, then the image view's format features must contain VK_FORMAT_FEATURE_2_BLOCK_MATCHING_BIT_QCOM", "1.3-extensions"}, @@ -13756,10 +13820,10 @@ static const vuid_spec_text_pair vuid_spec_text[] = { {"VUID-vkCmdDrawMeshTasksIndirectEXT-sparseImageInt64Atomics-04475", "If the sparseImageInt64Atomics feature is not enabled, VkBuffer objects created with the VK_BUFFER_CREATE_SPARSE_RESIDENCY_BIT flag must not be accessed by atomic instructions through an OpTypeImage with a SampledType with a Width of 64 by this command", "1.3-extensions"}, {"VUID-vkCmdDrawMeshTasksIndirectEXT-stage-06480", "The bound graphics pipeline must not have been created with the VkPipelineShaderStageCreateInfo::stage member of an element of VkGraphicsPipelineCreateInfo::pStages set to VK_SHADER_STAGE_VERTEX_BIT, VK_SHADER_STAGE_TESSELLATION_CONTROL_BIT, VK_SHADER_STAGE_TESSELLATION_EVALUATION_BIT or VK_SHADER_STAGE_GEOMETRY_BIT", "1.3-extensions"}, {"VUID-vkCmdDrawMeshTasksIndirectEXT-stage-07073", "If the currently bound pipeline was created with the VkPipelineShaderStageCreateInfo::stage member of an element of VkGraphicsPipelineCreateInfo::pStages set to VK_SHADER_STAGE_VERTEX_BIT, VK_SHADER_STAGE_TESSELLATION_CONTROL_BIT, VK_SHADER_STAGE_TESSELLATION_EVALUATION_BIT or VK_SHADER_STAGE_GEOMETRY_BIT, then Mesh Shader Queries must not be active", "1.3-extensions"}, - {"VUID-vkCmdDrawMeshTasksIndirectEXT-stippledLineEnable-07495", "If the bound graphics pipeline state was created with the VK_DYNAMIC_STATE_LINE_STIPPLE_ENABLE_EXT or VK_DYNAMIC_STATE_LINE_RASTERIZATION_MODE_EXT dynamic states enabled, and if the current stippledLineEnable state is VK_TRUE and the current lineRasterizationMode state is VK_LINE_RASTERIZATION_MODE_RECTANGULAR_EXT, then the stippledRectangularLines feature must be enabled", "1.3-extensions"}, - {"VUID-vkCmdDrawMeshTasksIndirectEXT-stippledLineEnable-07496", "If the bound graphics pipeline state was created with the VK_DYNAMIC_STATE_LINE_STIPPLE_ENABLE_EXT or VK_DYNAMIC_STATE_LINE_RASTERIZATION_MODE_EXT dynamic states enabled, and if the current stippledLineEnable state is VK_TRUE and the current lineRasterizationMode state is VK_LINE_RASTERIZATION_MODE_BRESENHAM_EXT, then the stippledBresenhamLines feature must be enabled", "1.3-extensions"}, - {"VUID-vkCmdDrawMeshTasksIndirectEXT-stippledLineEnable-07497", "If the bound graphics pipeline state was created with the VK_DYNAMIC_STATE_LINE_STIPPLE_ENABLE_EXT or VK_DYNAMIC_STATE_LINE_RASTERIZATION_MODE_EXT dynamic states enabled, and if the current stippledLineEnable state is VK_TRUE and the current lineRasterizationMode state is VK_LINE_RASTERIZATION_MODE_RECTANGULAR_SMOOTH_EXT, then the stippledSmoothLines feature must be enabled", "1.3-extensions"}, - {"VUID-vkCmdDrawMeshTasksIndirectEXT-stippledLineEnable-07498", "If the bound graphics pipeline state was created with the VK_DYNAMIC_STATE_LINE_STIPPLE_ENABLE_EXT or VK_DYNAMIC_STATE_LINE_RASTERIZATION_MODE_EXT dynamic states enabled, and if the current stippledLineEnable state is VK_TRUE and the current lineRasterizationMode state is VK_LINE_RASTERIZATION_MODE_DEFAULT_EXT, then the stippledRectangularLines feature must be enabled and VkPhysicalDeviceLimits::strictLines must be VK_TRUE", "1.3-extensions"}, + {"VUID-vkCmdDrawMeshTasksIndirectEXT-stippledLineEnable-07495", "If the bound graphics pipeline state was created with the VK_DYNAMIC_STATE_LINE_STIPPLE_ENABLE_EXT or VK_DYNAMIC_STATE_LINE_RASTERIZATION_MODE_EXT dynamic states enabled, and if the current stippledLineEnable state is VK_TRUE and the current lineRasterizationMode state is VK_LINE_RASTERIZATION_MODE_RECTANGULAR_KHR, then the stippledRectangularLines feature must be enabled", "1.3-extensions"}, + {"VUID-vkCmdDrawMeshTasksIndirectEXT-stippledLineEnable-07496", "If the bound graphics pipeline state was created with the VK_DYNAMIC_STATE_LINE_STIPPLE_ENABLE_EXT or VK_DYNAMIC_STATE_LINE_RASTERIZATION_MODE_EXT dynamic states enabled, and if the current stippledLineEnable state is VK_TRUE and the current lineRasterizationMode state is VK_LINE_RASTERIZATION_MODE_BRESENHAM_KHR, then the stippledBresenhamLines feature must be enabled", "1.3-extensions"}, + {"VUID-vkCmdDrawMeshTasksIndirectEXT-stippledLineEnable-07497", "If the bound graphics pipeline state was created with the VK_DYNAMIC_STATE_LINE_STIPPLE_ENABLE_EXT or VK_DYNAMIC_STATE_LINE_RASTERIZATION_MODE_EXT dynamic states enabled, and if the current stippledLineEnable state is VK_TRUE and the current lineRasterizationMode state is VK_LINE_RASTERIZATION_MODE_RECTANGULAR_SMOOTH_KHR, then the stippledSmoothLines feature must be enabled", "1.3-extensions"}, + {"VUID-vkCmdDrawMeshTasksIndirectEXT-stippledLineEnable-07498", "If the bound graphics pipeline state was created with the VK_DYNAMIC_STATE_LINE_STIPPLE_ENABLE_EXT or VK_DYNAMIC_STATE_LINE_RASTERIZATION_MODE_EXT dynamic states enabled, and if the current stippledLineEnable state is VK_TRUE and the current lineRasterizationMode state is VK_LINE_RASTERIZATION_MODE_DEFAULT_KHR, then the stippledRectangularLines feature must be enabled and VkPhysicalDeviceLimits::strictLines must be VK_TRUE", "1.3-extensions"}, {"VUID-vkCmdDrawMeshTasksIndirectEXT-storageBuffers-06936", "If any stage of the VkPipeline object bound to the pipeline bind point used by this command accesses a storage buffer, and that stage was created without enabling either VK_PIPELINE_ROBUSTNESS_BUFFER_BEHAVIOR_ROBUST_BUFFER_ACCESS_EXT or VK_PIPELINE_ROBUSTNESS_BUFFER_BEHAVIOR_ROBUST_BUFFER_ACCESS_2_EXT for storageBuffers, and the robustBufferAccess feature is not enabled, that stage must not access values outside of the range of the buffer as specified in the descriptor set bound to the same pipeline bind point", "1.3-extensions"}, {"VUID-vkCmdDrawMeshTasksIndirectEXT-subpass-02685", "The subpass index of the current render pass must be equal to the subpass member of the VkGraphicsPipelineCreateInfo structure specified when creating the VkPipeline bound to VK_PIPELINE_BIND_POINT_GRAPHICS", "1.3-extensions"}, {"VUID-vkCmdDrawMeshTasksIndirectEXT-uniformBuffers-06935", "If any stage of the VkPipeline object bound to the pipeline bind point used by this command accesses a uniform buffer, and that stage was created without enabling either VK_PIPELINE_ROBUSTNESS_BUFFER_BEHAVIOR_ROBUST_BUFFER_ACCESS_EXT or VK_PIPELINE_ROBUSTNESS_BUFFER_BEHAVIOR_ROBUST_BUFFER_ACCESS_2_EXT for uniformBuffers, and the robustBufferAccess feature is not enabled, that stage must not access values outside of the range of the buffer as specified in the descriptor set bound to the same pipeline bind point", "1.3-extensions"}, @@ -13844,7 +13908,7 @@ static const vuid_spec_text_pair vuid_spec_text[] = { {"VUID-vkCmdDrawMeshTasksIndirectNV-None-07846", "If the bound graphics pipeline state was created with the VK_DYNAMIC_STATE_DEPTH_BOUNDS_TEST_ENABLE dynamic state enabled then vkCmdSetDepthBoundsTestEnable must have been called in the current command buffer prior to this drawing command", "1.3-extensions"}, {"VUID-vkCmdDrawMeshTasksIndirectNV-None-07847", "If the bound graphics pipeline state was created with the VK_DYNAMIC_STATE_STENCIL_TEST_ENABLE dynamic state enabled then vkCmdSetStencilTestEnable must have been called in the current command buffer prior to this drawing command", "1.3-extensions"}, {"VUID-vkCmdDrawMeshTasksIndirectNV-None-07848", "If the bound graphics pipeline state was created with the VK_DYNAMIC_STATE_STENCIL_OP dynamic state enabled then vkCmdSetStencilOp must have been called in the current command buffer prior to this drawing command", "1.3-extensions"}, - {"VUID-vkCmdDrawMeshTasksIndirectNV-None-07849", "If the bound graphics pipeline state was created with the VK_DYNAMIC_STATE_LINE_STIPPLE_EXT dynamic state enabled then vkCmdSetLineStippleEXT must have been called in the current command buffer prior to this drawing command", "1.3-extensions"}, + {"VUID-vkCmdDrawMeshTasksIndirectNV-None-07849", "If the bound graphics pipeline state was created with the VK_DYNAMIC_STATE_LINE_STIPPLE_KHR dynamic state enabled then vkCmdSetLineStippleKHR must have been called in the current command buffer prior to this drawing command", "1.3-extensions"}, {"VUID-vkCmdDrawMeshTasksIndirectNV-None-07850", "If dynamic state was inherited from VkCommandBufferInheritanceViewportScissorInfoNV, it must be set in the current command buffer prior to this drawing command", "1.3-extensions"}, {"VUID-vkCmdDrawMeshTasksIndirectNV-None-07878", "If the bound graphics pipeline state was created with the VK_DYNAMIC_STATE_EXCLUSIVE_SCISSOR_ENABLE_NV dynamic state enabled then vkCmdSetExclusiveScissorEnableNV must have been called in the current command buffer prior to this drawing command", "1.3-extensions"}, {"VUID-vkCmdDrawMeshTasksIndirectNV-None-07879", "If the bound graphics pipeline state was created with the VK_DYNAMIC_STATE_EXCLUSIVE_SCISSOR_NV dynamic state enabled then vkCmdSetExclusiveScissorNV must have been called in the current command buffer prior to this drawing command", "1.3-extensions"}, @@ -13915,13 +13979,13 @@ static const vuid_spec_text_pair vuid_spec_text[] = { {"VUID-vkCmdDrawMeshTasksIndirectNV-None-08663", "If the depthClipEnable feature is enabled, and a shader object is bound to any graphics stage, then vkCmdSetDepthClipEnableEXT must have been called in the current command buffer prior to this drawing command", "1.3-extensions"}, {"VUID-vkCmdDrawMeshTasksIndirectNV-None-08664", "If the VK_EXT_sample_locations extension is enabled, and a shader object is bound to any graphics stage, and the most recent call to vkCmdSetRasterizerDiscardEnable in the current command buffer set rasterizerDiscardEnable to VK_FALSE, then vkCmdSetSampleLocationsEnableEXT must have been called in the current command buffer prior to this drawing command", "1.3-extensions"}, {"VUID-vkCmdDrawMeshTasksIndirectNV-None-08665", "If the VK_EXT_provoking_vertex extension is enabled, and a shader object is bound to the VK_SHADER_STAGE_VERTEX_BIT stage, and the most recent call to vkCmdSetRasterizerDiscardEnable in the current command buffer set rasterizerDiscardEnable to VK_FALSE, then vkCmdSetProvokingVertexModeEXT must have been called in the current command buffer prior to this drawing command", "1.3-extensions"}, - {"VUID-vkCmdDrawMeshTasksIndirectNV-None-08666", "If the VK_EXT_line_rasterization extension is enabled, and a shader object is bound to any graphics stage, and the most recent call to vkCmdSetRasterizerDiscardEnable in the current command buffer set rasterizerDiscardEnable to VK_FALSE, and the most recent call to vkCmdSetPolygonModeEXT in the current command buffer set polygonMode to VK_POLYGON_MODE_LINE, then vkCmdSetLineRasterizationModeEXT must have been called in the current command buffer prior to this drawing command", "1.3-extensions"}, - {"VUID-vkCmdDrawMeshTasksIndirectNV-None-08667", "If the VK_EXT_line_rasterization extension is enabled, and a shader object is bound to the VK_SHADER_STAGE_VERTEX_BIT stage, and the most recent call to vkCmdSetRasterizerDiscardEnable in the current command buffer set rasterizerDiscardEnable to VK_FALSE, and the most recent call to vkCmdSetPrimitiveTopology in the current command buffer set primitiveTopology to any line topology, then vkCmdSetLineRasterizationModeEXT must have been called in the current command buffer prior to this drawing command", "1.3-extensions"}, - {"VUID-vkCmdDrawMeshTasksIndirectNV-None-08668", "If the VK_EXT_line_rasterization extension is enabled, and a shader object that outputs line primitives is bound to the VK_SHADER_STAGE_TESSELLATION_EVALUATION_BIT or VK_SHADER_STAGE_GEOMETRY_BIT stage, and the most recent call to vkCmdSetRasterizerDiscardEnable in the current command buffer set rasterizerDiscardEnable to VK_FALSE, then vkCmdSetLineRasterizationModeEXT must have been called in the current command buffer prior to this drawing command", "1.3-extensions"}, - {"VUID-vkCmdDrawMeshTasksIndirectNV-None-08669", "If the VK_EXT_line_rasterization extension is enabled, and a shader object is bound to any graphics stage, and the most recent call to vkCmdSetRasterizerDiscardEnable in the current command buffer set rasterizerDiscardEnable to VK_FALSE, and the most recent call to vkCmdSetPolygonModeEXT in the current command buffer set polygonMode to VK_POLYGON_MODE_LINE, then vkCmdSetLineStippleEnableEXT must have been called in the current command buffer prior to this drawing command", "1.3-extensions"}, - {"VUID-vkCmdDrawMeshTasksIndirectNV-None-08670", "If the VK_EXT_line_rasterization extension is enabled, and a shader object is bound to the VK_SHADER_STAGE_VERTEX_BIT stage, and the most recent call to vkCmdSetRasterizerDiscardEnable in the current command buffer set rasterizerDiscardEnable to VK_FALSE, and the most recent call to vkCmdSetPrimitiveTopology in the current command buffer set primitiveTopology to any line topology, then vkCmdSetLineStippleEnableEXT must have been called in the current command buffer prior to this drawing command", "1.3-extensions"}, - {"VUID-vkCmdDrawMeshTasksIndirectNV-None-08671", "If the VK_EXT_line_rasterization extension is enabled, and a shader object that outputs line primitives is bound to the VK_SHADER_STAGE_TESSELLATION_EVALUATION_BIT or VK_SHADER_STAGE_GEOMETRY_BIT stage, and the most recent call to vkCmdSetRasterizerDiscardEnable in the current command buffer set rasterizerDiscardEnable to VK_FALSE, then vkCmdSetLineStippleEnableEXT must have been called in the current command buffer prior to this drawing command", "1.3-extensions"}, - {"VUID-vkCmdDrawMeshTasksIndirectNV-None-08672", "If the VK_EXT_line_rasterization extension is enabled, and a shader object is bound to any graphics stage, and the most recent call to vkCmdSetRasterizerDiscardEnable in the current command buffer set rasterizerDiscardEnable to VK_FALSE, and the most recent call to vkCmdSetLineStippleEnableEXT in the current command buffer set stippledLineEnable to VK_TRUE, then vkCmdSetLineStippleEXT must have been called in the current command buffer prior to this drawing command", "1.3-extensions"}, + {"VUID-vkCmdDrawMeshTasksIndirectNV-None-08666", "If the VK_KHR_line_rasterization or VK_EXT_line_rasterization extension is enabled, and a shader object is bound to any graphics stage, and the most recent call to vkCmdSetRasterizerDiscardEnable in the current command buffer set rasterizerDiscardEnable to VK_FALSE, and the most recent call to vkCmdSetPolygonModeEXT in the current command buffer set polygonMode to VK_POLYGON_MODE_LINE, then vkCmdSetLineRasterizationModeEXT must have been called in the current command buffer prior to this drawing command", "1.3-extensions"}, + {"VUID-vkCmdDrawMeshTasksIndirectNV-None-08667", "If the VK_KHR_line_rasterization or VK_EXT_line_rasterization extension is enabled, and a shader object is bound to the VK_SHADER_STAGE_VERTEX_BIT stage, and the most recent call to vkCmdSetRasterizerDiscardEnable in the current command buffer set rasterizerDiscardEnable to VK_FALSE, and the most recent call to vkCmdSetPrimitiveTopology in the current command buffer set primitiveTopology to any line topology, then vkCmdSetLineRasterizationModeEXT must have been called in the current command buffer prior to this drawing command", "1.3-extensions"}, + {"VUID-vkCmdDrawMeshTasksIndirectNV-None-08668", "If the VK_KHR_line_rasterization or VK_EXT_line_rasterization extension is enabled, and a shader object that outputs line primitives is bound to the VK_SHADER_STAGE_TESSELLATION_EVALUATION_BIT or VK_SHADER_STAGE_GEOMETRY_BIT stage, and the most recent call to vkCmdSetRasterizerDiscardEnable in the current command buffer set rasterizerDiscardEnable to VK_FALSE, then vkCmdSetLineRasterizationModeEXT must have been called in the current command buffer prior to this drawing command", "1.3-extensions"}, + {"VUID-vkCmdDrawMeshTasksIndirectNV-None-08669", "If the VK_KHR_line_rasterization or VK_EXT_line_rasterization extension is enabled, and a shader object is bound to any graphics stage, and the most recent call to vkCmdSetRasterizerDiscardEnable in the current command buffer set rasterizerDiscardEnable to VK_FALSE, and the most recent call to vkCmdSetPolygonModeEXT in the current command buffer set polygonMode to VK_POLYGON_MODE_LINE, then vkCmdSetLineStippleEnableEXT must have been called in the current command buffer prior to this drawing command", "1.3-extensions"}, + {"VUID-vkCmdDrawMeshTasksIndirectNV-None-08670", "If the VK_KHR_line_rasterization or VK_EXT_line_rasterization extension is enabled, and a shader object is bound to the VK_SHADER_STAGE_VERTEX_BIT stage, and the most recent call to vkCmdSetRasterizerDiscardEnable in the current command buffer set rasterizerDiscardEnable to VK_FALSE, and the most recent call to vkCmdSetPrimitiveTopology in the current command buffer set primitiveTopology to any line topology, then vkCmdSetLineStippleEnableEXT must have been called in the current command buffer prior to this drawing command", "1.3-extensions"}, + {"VUID-vkCmdDrawMeshTasksIndirectNV-None-08671", "If the VK_KHR_line_rasterization or VK_EXT_line_rasterization extension is enabled, and a shader object that outputs line primitives is bound to the VK_SHADER_STAGE_TESSELLATION_EVALUATION_BIT or VK_SHADER_STAGE_GEOMETRY_BIT stage, and the most recent call to vkCmdSetRasterizerDiscardEnable in the current command buffer set rasterizerDiscardEnable to VK_FALSE, then vkCmdSetLineStippleEnableEXT must have been called in the current command buffer prior to this drawing command", "1.3-extensions"}, + {"VUID-vkCmdDrawMeshTasksIndirectNV-None-08672", "If the VK_KHR_line_rasterization or VK_EXT_line_rasterization extension is enabled, and a shader object is bound to any graphics stage, and the most recent call to vkCmdSetRasterizerDiscardEnable in the current command buffer set rasterizerDiscardEnable to VK_FALSE, and the most recent call to vkCmdSetLineStippleEnableEXT in the current command buffer set stippledLineEnable to VK_TRUE, then vkCmdSetLineStippleEXT must have been called in the current command buffer prior to this drawing command", "1.3-extensions"}, {"VUID-vkCmdDrawMeshTasksIndirectNV-None-08673", "If the depthClipControl feature is enabled, and a shader object is bound to any graphics stage, then vkCmdSetDepthClipNegativeOneToOneEXT must have been called in the current command buffer prior to this drawing command", "1.3-extensions"}, {"VUID-vkCmdDrawMeshTasksIndirectNV-None-08674", "If the VK_NV_clip_space_w_scaling extension is enabled, and a shader object is bound to any graphics stage, then vkCmdSetViewportWScalingEnableNV must have been called in the current command buffer prior to this drawing command", "1.3-extensions"}, {"VUID-vkCmdDrawMeshTasksIndirectNV-None-08675", "If the VK_NV_viewport_swizzle extension is enabled, and a shader object is bound to any graphics stage, then vkCmdSetViewportSwizzleNV must have been called in the current command buffer prior to this drawing command", "1.3-extensions"}, @@ -13965,6 +14029,8 @@ static const vuid_spec_text_pair vuid_spec_text[] = { {"VUID-vkCmdDrawMeshTasksIndirectNV-None-09366", "If there is a shader object bound to any graphics stage, and the current render pass includes a color attachment that uses the VK_RESOLVE_MODE_EXTERNAL_FORMAT_DOWNSAMPLE_ANDROID resolve mode, then vkCmdSetColorBlendEnableEXT must have set blend enable to VK_FALSE prior to this drawing command", "1.3-extensions"}, {"VUID-vkCmdDrawMeshTasksIndirectNV-None-09368", "If the current render pass instance was begun with vkCmdBeginRendering, there is no shader object bound to any graphics stage, and the currently bound graphics pipeline was created with a non-zero VkExternalFormatANDROID::externalFormat value and with the VK_DYNAMIC_STATE_FRAGMENT_SHADING_RATE_KHR dynamic state enabled, then vkCmdSetFragmentShadingRateKHR must have set pFragmentSize->width to 1 prior to this drawing command", "1.3-extensions"}, {"VUID-vkCmdDrawMeshTasksIndirectNV-None-09369", "If the current render pass instance was begun with vkCmdBeginRendering, there is no shader object bound to any graphics stage, and the currently bound graphics pipeline was created with a non-zero VkExternalFormatANDROID::externalFormat value and with the VK_DYNAMIC_STATE_FRAGMENT_SHADING_RATE_KHR dynamic state enabled, then vkCmdSetFragmentShadingRateKHR must have set pFragmentSize->height to 1 prior to this drawing command", "1.3-extensions"}, + {"VUID-vkCmdDrawMeshTasksIndirectNV-None-09548", "If the current render pass was begun with vkCmdBeginRendering, and there is no shader object bound to any graphics stage, the value of each element of VkRenderingAttachmentLocationInfoKHR::pColorAttachmentLocations set by vkCmdSetRenderingAttachmentLocationsKHR must match the value set for the corresponding element in the currently bound pipeline", "1.3-extensions"}, + {"VUID-vkCmdDrawMeshTasksIndirectNV-None-09549", "If the current render pass was begun with vkCmdBeginRendering, and there is no shader object bound to any graphics stage, input attachment index mappings in the currently bound pipeline must match those set for the current render pass instance via VkRenderingInputAttachmentIndexInfoKHR", "1.3-extensions"}, {"VUID-vkCmdDrawMeshTasksIndirectNV-OpImageBlockMatchSADQCOM-06975", "If OpImageBlockMatchSADQCOM is used to read from an VkImageView as a result of this command, then the image view's format features must contain VK_FORMAT_FEATURE_2_BLOCK_MATCHING_BIT_QCOM", "1.3-extensions"}, {"VUID-vkCmdDrawMeshTasksIndirectNV-OpImageBlockMatchSADQCOM-06976", "If OpImageBlockMatchSADQCOM or OpImageBlockMatchSSDQCOM is used to read from a reference image as result of this command, then the specified reference coordinates must not fail integer texel coordinate validation", "1.3-extensions"}, {"VUID-vkCmdDrawMeshTasksIndirectNV-OpImageBlockMatchSSDQCOM-06974", "If OpImageBlockMatchSSDQCOM is used to read from an VkImageView as a result of this command, then the image view's format features must contain VK_FORMAT_FEATURE_2_BLOCK_MATCHING_BIT_QCOM", "1.3-extensions"}, @@ -14108,10 +14174,10 @@ static const vuid_spec_text_pair vuid_spec_text[] = { {"VUID-vkCmdDrawMeshTasksIndirectNV-sparseImageInt64Atomics-04475", "If the sparseImageInt64Atomics feature is not enabled, VkBuffer objects created with the VK_BUFFER_CREATE_SPARSE_RESIDENCY_BIT flag must not be accessed by atomic instructions through an OpTypeImage with a SampledType with a Width of 64 by this command", "1.3-extensions"}, {"VUID-vkCmdDrawMeshTasksIndirectNV-stage-06480", "The bound graphics pipeline must not have been created with the VkPipelineShaderStageCreateInfo::stage member of an element of VkGraphicsPipelineCreateInfo::pStages set to VK_SHADER_STAGE_VERTEX_BIT, VK_SHADER_STAGE_TESSELLATION_CONTROL_BIT, VK_SHADER_STAGE_TESSELLATION_EVALUATION_BIT or VK_SHADER_STAGE_GEOMETRY_BIT", "1.3-extensions"}, {"VUID-vkCmdDrawMeshTasksIndirectNV-stage-07073", "If the currently bound pipeline was created with the VkPipelineShaderStageCreateInfo::stage member of an element of VkGraphicsPipelineCreateInfo::pStages set to VK_SHADER_STAGE_VERTEX_BIT, VK_SHADER_STAGE_TESSELLATION_CONTROL_BIT, VK_SHADER_STAGE_TESSELLATION_EVALUATION_BIT or VK_SHADER_STAGE_GEOMETRY_BIT, then Mesh Shader Queries must not be active", "1.3-extensions"}, - {"VUID-vkCmdDrawMeshTasksIndirectNV-stippledLineEnable-07495", "If the bound graphics pipeline state was created with the VK_DYNAMIC_STATE_LINE_STIPPLE_ENABLE_EXT or VK_DYNAMIC_STATE_LINE_RASTERIZATION_MODE_EXT dynamic states enabled, and if the current stippledLineEnable state is VK_TRUE and the current lineRasterizationMode state is VK_LINE_RASTERIZATION_MODE_RECTANGULAR_EXT, then the stippledRectangularLines feature must be enabled", "1.3-extensions"}, - {"VUID-vkCmdDrawMeshTasksIndirectNV-stippledLineEnable-07496", "If the bound graphics pipeline state was created with the VK_DYNAMIC_STATE_LINE_STIPPLE_ENABLE_EXT or VK_DYNAMIC_STATE_LINE_RASTERIZATION_MODE_EXT dynamic states enabled, and if the current stippledLineEnable state is VK_TRUE and the current lineRasterizationMode state is VK_LINE_RASTERIZATION_MODE_BRESENHAM_EXT, then the stippledBresenhamLines feature must be enabled", "1.3-extensions"}, - {"VUID-vkCmdDrawMeshTasksIndirectNV-stippledLineEnable-07497", "If the bound graphics pipeline state was created with the VK_DYNAMIC_STATE_LINE_STIPPLE_ENABLE_EXT or VK_DYNAMIC_STATE_LINE_RASTERIZATION_MODE_EXT dynamic states enabled, and if the current stippledLineEnable state is VK_TRUE and the current lineRasterizationMode state is VK_LINE_RASTERIZATION_MODE_RECTANGULAR_SMOOTH_EXT, then the stippledSmoothLines feature must be enabled", "1.3-extensions"}, - {"VUID-vkCmdDrawMeshTasksIndirectNV-stippledLineEnable-07498", "If the bound graphics pipeline state was created with the VK_DYNAMIC_STATE_LINE_STIPPLE_ENABLE_EXT or VK_DYNAMIC_STATE_LINE_RASTERIZATION_MODE_EXT dynamic states enabled, and if the current stippledLineEnable state is VK_TRUE and the current lineRasterizationMode state is VK_LINE_RASTERIZATION_MODE_DEFAULT_EXT, then the stippledRectangularLines feature must be enabled and VkPhysicalDeviceLimits::strictLines must be VK_TRUE", "1.3-extensions"}, + {"VUID-vkCmdDrawMeshTasksIndirectNV-stippledLineEnable-07495", "If the bound graphics pipeline state was created with the VK_DYNAMIC_STATE_LINE_STIPPLE_ENABLE_EXT or VK_DYNAMIC_STATE_LINE_RASTERIZATION_MODE_EXT dynamic states enabled, and if the current stippledLineEnable state is VK_TRUE and the current lineRasterizationMode state is VK_LINE_RASTERIZATION_MODE_RECTANGULAR_KHR, then the stippledRectangularLines feature must be enabled", "1.3-extensions"}, + {"VUID-vkCmdDrawMeshTasksIndirectNV-stippledLineEnable-07496", "If the bound graphics pipeline state was created with the VK_DYNAMIC_STATE_LINE_STIPPLE_ENABLE_EXT or VK_DYNAMIC_STATE_LINE_RASTERIZATION_MODE_EXT dynamic states enabled, and if the current stippledLineEnable state is VK_TRUE and the current lineRasterizationMode state is VK_LINE_RASTERIZATION_MODE_BRESENHAM_KHR, then the stippledBresenhamLines feature must be enabled", "1.3-extensions"}, + {"VUID-vkCmdDrawMeshTasksIndirectNV-stippledLineEnable-07497", "If the bound graphics pipeline state was created with the VK_DYNAMIC_STATE_LINE_STIPPLE_ENABLE_EXT or VK_DYNAMIC_STATE_LINE_RASTERIZATION_MODE_EXT dynamic states enabled, and if the current stippledLineEnable state is VK_TRUE and the current lineRasterizationMode state is VK_LINE_RASTERIZATION_MODE_RECTANGULAR_SMOOTH_KHR, then the stippledSmoothLines feature must be enabled", "1.3-extensions"}, + {"VUID-vkCmdDrawMeshTasksIndirectNV-stippledLineEnable-07498", "If the bound graphics pipeline state was created with the VK_DYNAMIC_STATE_LINE_STIPPLE_ENABLE_EXT or VK_DYNAMIC_STATE_LINE_RASTERIZATION_MODE_EXT dynamic states enabled, and if the current stippledLineEnable state is VK_TRUE and the current lineRasterizationMode state is VK_LINE_RASTERIZATION_MODE_DEFAULT_KHR, then the stippledRectangularLines feature must be enabled and VkPhysicalDeviceLimits::strictLines must be VK_TRUE", "1.3-extensions"}, {"VUID-vkCmdDrawMeshTasksIndirectNV-storageBuffers-06936", "If any stage of the VkPipeline object bound to the pipeline bind point used by this command accesses a storage buffer, and that stage was created without enabling either VK_PIPELINE_ROBUSTNESS_BUFFER_BEHAVIOR_ROBUST_BUFFER_ACCESS_EXT or VK_PIPELINE_ROBUSTNESS_BUFFER_BEHAVIOR_ROBUST_BUFFER_ACCESS_2_EXT for storageBuffers, and the robustBufferAccess feature is not enabled, that stage must not access values outside of the range of the buffer as specified in the descriptor set bound to the same pipeline bind point", "1.3-extensions"}, {"VUID-vkCmdDrawMeshTasksIndirectNV-subpass-02685", "The subpass index of the current render pass must be equal to the subpass member of the VkGraphicsPipelineCreateInfo structure specified when creating the VkPipeline bound to VK_PIPELINE_BIND_POINT_GRAPHICS", "1.3-extensions"}, {"VUID-vkCmdDrawMeshTasksIndirectNV-uniformBuffers-06935", "If any stage of the VkPipeline object bound to the pipeline bind point used by this command accesses a uniform buffer, and that stage was created without enabling either VK_PIPELINE_ROBUSTNESS_BUFFER_BEHAVIOR_ROBUST_BUFFER_ACCESS_EXT or VK_PIPELINE_ROBUSTNESS_BUFFER_BEHAVIOR_ROBUST_BUFFER_ACCESS_2_EXT for uniformBuffers, and the robustBufferAccess feature is not enabled, that stage must not access values outside of the range of the buffer as specified in the descriptor set bound to the same pipeline bind point", "1.3-extensions"}, @@ -14196,7 +14262,7 @@ static const vuid_spec_text_pair vuid_spec_text[] = { {"VUID-vkCmdDrawMeshTasksNV-None-07846", "If the bound graphics pipeline state was created with the VK_DYNAMIC_STATE_DEPTH_BOUNDS_TEST_ENABLE dynamic state enabled then vkCmdSetDepthBoundsTestEnable must have been called in the current command buffer prior to this drawing command", "1.3-extensions"}, {"VUID-vkCmdDrawMeshTasksNV-None-07847", "If the bound graphics pipeline state was created with the VK_DYNAMIC_STATE_STENCIL_TEST_ENABLE dynamic state enabled then vkCmdSetStencilTestEnable must have been called in the current command buffer prior to this drawing command", "1.3-extensions"}, {"VUID-vkCmdDrawMeshTasksNV-None-07848", "If the bound graphics pipeline state was created with the VK_DYNAMIC_STATE_STENCIL_OP dynamic state enabled then vkCmdSetStencilOp must have been called in the current command buffer prior to this drawing command", "1.3-extensions"}, - {"VUID-vkCmdDrawMeshTasksNV-None-07849", "If the bound graphics pipeline state was created with the VK_DYNAMIC_STATE_LINE_STIPPLE_EXT dynamic state enabled then vkCmdSetLineStippleEXT must have been called in the current command buffer prior to this drawing command", "1.3-extensions"}, + {"VUID-vkCmdDrawMeshTasksNV-None-07849", "If the bound graphics pipeline state was created with the VK_DYNAMIC_STATE_LINE_STIPPLE_KHR dynamic state enabled then vkCmdSetLineStippleKHR must have been called in the current command buffer prior to this drawing command", "1.3-extensions"}, {"VUID-vkCmdDrawMeshTasksNV-None-07850", "If dynamic state was inherited from VkCommandBufferInheritanceViewportScissorInfoNV, it must be set in the current command buffer prior to this drawing command", "1.3-extensions"}, {"VUID-vkCmdDrawMeshTasksNV-None-07878", "If the bound graphics pipeline state was created with the VK_DYNAMIC_STATE_EXCLUSIVE_SCISSOR_ENABLE_NV dynamic state enabled then vkCmdSetExclusiveScissorEnableNV must have been called in the current command buffer prior to this drawing command", "1.3-extensions"}, {"VUID-vkCmdDrawMeshTasksNV-None-07879", "If the bound graphics pipeline state was created with the VK_DYNAMIC_STATE_EXCLUSIVE_SCISSOR_NV dynamic state enabled then vkCmdSetExclusiveScissorNV must have been called in the current command buffer prior to this drawing command", "1.3-extensions"}, @@ -14267,13 +14333,13 @@ static const vuid_spec_text_pair vuid_spec_text[] = { {"VUID-vkCmdDrawMeshTasksNV-None-08663", "If the depthClipEnable feature is enabled, and a shader object is bound to any graphics stage, then vkCmdSetDepthClipEnableEXT must have been called in the current command buffer prior to this drawing command", "1.3-extensions"}, {"VUID-vkCmdDrawMeshTasksNV-None-08664", "If the VK_EXT_sample_locations extension is enabled, and a shader object is bound to any graphics stage, and the most recent call to vkCmdSetRasterizerDiscardEnable in the current command buffer set rasterizerDiscardEnable to VK_FALSE, then vkCmdSetSampleLocationsEnableEXT must have been called in the current command buffer prior to this drawing command", "1.3-extensions"}, {"VUID-vkCmdDrawMeshTasksNV-None-08665", "If the VK_EXT_provoking_vertex extension is enabled, and a shader object is bound to the VK_SHADER_STAGE_VERTEX_BIT stage, and the most recent call to vkCmdSetRasterizerDiscardEnable in the current command buffer set rasterizerDiscardEnable to VK_FALSE, then vkCmdSetProvokingVertexModeEXT must have been called in the current command buffer prior to this drawing command", "1.3-extensions"}, - {"VUID-vkCmdDrawMeshTasksNV-None-08666", "If the VK_EXT_line_rasterization extension is enabled, and a shader object is bound to any graphics stage, and the most recent call to vkCmdSetRasterizerDiscardEnable in the current command buffer set rasterizerDiscardEnable to VK_FALSE, and the most recent call to vkCmdSetPolygonModeEXT in the current command buffer set polygonMode to VK_POLYGON_MODE_LINE, then vkCmdSetLineRasterizationModeEXT must have been called in the current command buffer prior to this drawing command", "1.3-extensions"}, - {"VUID-vkCmdDrawMeshTasksNV-None-08667", "If the VK_EXT_line_rasterization extension is enabled, and a shader object is bound to the VK_SHADER_STAGE_VERTEX_BIT stage, and the most recent call to vkCmdSetRasterizerDiscardEnable in the current command buffer set rasterizerDiscardEnable to VK_FALSE, and the most recent call to vkCmdSetPrimitiveTopology in the current command buffer set primitiveTopology to any line topology, then vkCmdSetLineRasterizationModeEXT must have been called in the current command buffer prior to this drawing command", "1.3-extensions"}, - {"VUID-vkCmdDrawMeshTasksNV-None-08668", "If the VK_EXT_line_rasterization extension is enabled, and a shader object that outputs line primitives is bound to the VK_SHADER_STAGE_TESSELLATION_EVALUATION_BIT or VK_SHADER_STAGE_GEOMETRY_BIT stage, and the most recent call to vkCmdSetRasterizerDiscardEnable in the current command buffer set rasterizerDiscardEnable to VK_FALSE, then vkCmdSetLineRasterizationModeEXT must have been called in the current command buffer prior to this drawing command", "1.3-extensions"}, - {"VUID-vkCmdDrawMeshTasksNV-None-08669", "If the VK_EXT_line_rasterization extension is enabled, and a shader object is bound to any graphics stage, and the most recent call to vkCmdSetRasterizerDiscardEnable in the current command buffer set rasterizerDiscardEnable to VK_FALSE, and the most recent call to vkCmdSetPolygonModeEXT in the current command buffer set polygonMode to VK_POLYGON_MODE_LINE, then vkCmdSetLineStippleEnableEXT must have been called in the current command buffer prior to this drawing command", "1.3-extensions"}, - {"VUID-vkCmdDrawMeshTasksNV-None-08670", "If the VK_EXT_line_rasterization extension is enabled, and a shader object is bound to the VK_SHADER_STAGE_VERTEX_BIT stage, and the most recent call to vkCmdSetRasterizerDiscardEnable in the current command buffer set rasterizerDiscardEnable to VK_FALSE, and the most recent call to vkCmdSetPrimitiveTopology in the current command buffer set primitiveTopology to any line topology, then vkCmdSetLineStippleEnableEXT must have been called in the current command buffer prior to this drawing command", "1.3-extensions"}, - {"VUID-vkCmdDrawMeshTasksNV-None-08671", "If the VK_EXT_line_rasterization extension is enabled, and a shader object that outputs line primitives is bound to the VK_SHADER_STAGE_TESSELLATION_EVALUATION_BIT or VK_SHADER_STAGE_GEOMETRY_BIT stage, and the most recent call to vkCmdSetRasterizerDiscardEnable in the current command buffer set rasterizerDiscardEnable to VK_FALSE, then vkCmdSetLineStippleEnableEXT must have been called in the current command buffer prior to this drawing command", "1.3-extensions"}, - {"VUID-vkCmdDrawMeshTasksNV-None-08672", "If the VK_EXT_line_rasterization extension is enabled, and a shader object is bound to any graphics stage, and the most recent call to vkCmdSetRasterizerDiscardEnable in the current command buffer set rasterizerDiscardEnable to VK_FALSE, and the most recent call to vkCmdSetLineStippleEnableEXT in the current command buffer set stippledLineEnable to VK_TRUE, then vkCmdSetLineStippleEXT must have been called in the current command buffer prior to this drawing command", "1.3-extensions"}, + {"VUID-vkCmdDrawMeshTasksNV-None-08666", "If the VK_KHR_line_rasterization or VK_EXT_line_rasterization extension is enabled, and a shader object is bound to any graphics stage, and the most recent call to vkCmdSetRasterizerDiscardEnable in the current command buffer set rasterizerDiscardEnable to VK_FALSE, and the most recent call to vkCmdSetPolygonModeEXT in the current command buffer set polygonMode to VK_POLYGON_MODE_LINE, then vkCmdSetLineRasterizationModeEXT must have been called in the current command buffer prior to this drawing command", "1.3-extensions"}, + {"VUID-vkCmdDrawMeshTasksNV-None-08667", "If the VK_KHR_line_rasterization or VK_EXT_line_rasterization extension is enabled, and a shader object is bound to the VK_SHADER_STAGE_VERTEX_BIT stage, and the most recent call to vkCmdSetRasterizerDiscardEnable in the current command buffer set rasterizerDiscardEnable to VK_FALSE, and the most recent call to vkCmdSetPrimitiveTopology in the current command buffer set primitiveTopology to any line topology, then vkCmdSetLineRasterizationModeEXT must have been called in the current command buffer prior to this drawing command", "1.3-extensions"}, + {"VUID-vkCmdDrawMeshTasksNV-None-08668", "If the VK_KHR_line_rasterization or VK_EXT_line_rasterization extension is enabled, and a shader object that outputs line primitives is bound to the VK_SHADER_STAGE_TESSELLATION_EVALUATION_BIT or VK_SHADER_STAGE_GEOMETRY_BIT stage, and the most recent call to vkCmdSetRasterizerDiscardEnable in the current command buffer set rasterizerDiscardEnable to VK_FALSE, then vkCmdSetLineRasterizationModeEXT must have been called in the current command buffer prior to this drawing command", "1.3-extensions"}, + {"VUID-vkCmdDrawMeshTasksNV-None-08669", "If the VK_KHR_line_rasterization or VK_EXT_line_rasterization extension is enabled, and a shader object is bound to any graphics stage, and the most recent call to vkCmdSetRasterizerDiscardEnable in the current command buffer set rasterizerDiscardEnable to VK_FALSE, and the most recent call to vkCmdSetPolygonModeEXT in the current command buffer set polygonMode to VK_POLYGON_MODE_LINE, then vkCmdSetLineStippleEnableEXT must have been called in the current command buffer prior to this drawing command", "1.3-extensions"}, + {"VUID-vkCmdDrawMeshTasksNV-None-08670", "If the VK_KHR_line_rasterization or VK_EXT_line_rasterization extension is enabled, and a shader object is bound to the VK_SHADER_STAGE_VERTEX_BIT stage, and the most recent call to vkCmdSetRasterizerDiscardEnable in the current command buffer set rasterizerDiscardEnable to VK_FALSE, and the most recent call to vkCmdSetPrimitiveTopology in the current command buffer set primitiveTopology to any line topology, then vkCmdSetLineStippleEnableEXT must have been called in the current command buffer prior to this drawing command", "1.3-extensions"}, + {"VUID-vkCmdDrawMeshTasksNV-None-08671", "If the VK_KHR_line_rasterization or VK_EXT_line_rasterization extension is enabled, and a shader object that outputs line primitives is bound to the VK_SHADER_STAGE_TESSELLATION_EVALUATION_BIT or VK_SHADER_STAGE_GEOMETRY_BIT stage, and the most recent call to vkCmdSetRasterizerDiscardEnable in the current command buffer set rasterizerDiscardEnable to VK_FALSE, then vkCmdSetLineStippleEnableEXT must have been called in the current command buffer prior to this drawing command", "1.3-extensions"}, + {"VUID-vkCmdDrawMeshTasksNV-None-08672", "If the VK_KHR_line_rasterization or VK_EXT_line_rasterization extension is enabled, and a shader object is bound to any graphics stage, and the most recent call to vkCmdSetRasterizerDiscardEnable in the current command buffer set rasterizerDiscardEnable to VK_FALSE, and the most recent call to vkCmdSetLineStippleEnableEXT in the current command buffer set stippledLineEnable to VK_TRUE, then vkCmdSetLineStippleEXT must have been called in the current command buffer prior to this drawing command", "1.3-extensions"}, {"VUID-vkCmdDrawMeshTasksNV-None-08673", "If the depthClipControl feature is enabled, and a shader object is bound to any graphics stage, then vkCmdSetDepthClipNegativeOneToOneEXT must have been called in the current command buffer prior to this drawing command", "1.3-extensions"}, {"VUID-vkCmdDrawMeshTasksNV-None-08674", "If the VK_NV_clip_space_w_scaling extension is enabled, and a shader object is bound to any graphics stage, then vkCmdSetViewportWScalingEnableNV must have been called in the current command buffer prior to this drawing command", "1.3-extensions"}, {"VUID-vkCmdDrawMeshTasksNV-None-08675", "If the VK_NV_viewport_swizzle extension is enabled, and a shader object is bound to any graphics stage, then vkCmdSetViewportSwizzleNV must have been called in the current command buffer prior to this drawing command", "1.3-extensions"}, @@ -14317,6 +14383,8 @@ static const vuid_spec_text_pair vuid_spec_text[] = { {"VUID-vkCmdDrawMeshTasksNV-None-09366", "If there is a shader object bound to any graphics stage, and the current render pass includes a color attachment that uses the VK_RESOLVE_MODE_EXTERNAL_FORMAT_DOWNSAMPLE_ANDROID resolve mode, then vkCmdSetColorBlendEnableEXT must have set blend enable to VK_FALSE prior to this drawing command", "1.3-extensions"}, {"VUID-vkCmdDrawMeshTasksNV-None-09368", "If the current render pass instance was begun with vkCmdBeginRendering, there is no shader object bound to any graphics stage, and the currently bound graphics pipeline was created with a non-zero VkExternalFormatANDROID::externalFormat value and with the VK_DYNAMIC_STATE_FRAGMENT_SHADING_RATE_KHR dynamic state enabled, then vkCmdSetFragmentShadingRateKHR must have set pFragmentSize->width to 1 prior to this drawing command", "1.3-extensions"}, {"VUID-vkCmdDrawMeshTasksNV-None-09369", "If the current render pass instance was begun with vkCmdBeginRendering, there is no shader object bound to any graphics stage, and the currently bound graphics pipeline was created with a non-zero VkExternalFormatANDROID::externalFormat value and with the VK_DYNAMIC_STATE_FRAGMENT_SHADING_RATE_KHR dynamic state enabled, then vkCmdSetFragmentShadingRateKHR must have set pFragmentSize->height to 1 prior to this drawing command", "1.3-extensions"}, + {"VUID-vkCmdDrawMeshTasksNV-None-09548", "If the current render pass was begun with vkCmdBeginRendering, and there is no shader object bound to any graphics stage, the value of each element of VkRenderingAttachmentLocationInfoKHR::pColorAttachmentLocations set by vkCmdSetRenderingAttachmentLocationsKHR must match the value set for the corresponding element in the currently bound pipeline", "1.3-extensions"}, + {"VUID-vkCmdDrawMeshTasksNV-None-09549", "If the current render pass was begun with vkCmdBeginRendering, and there is no shader object bound to any graphics stage, input attachment index mappings in the currently bound pipeline must match those set for the current render pass instance via VkRenderingInputAttachmentIndexInfoKHR", "1.3-extensions"}, {"VUID-vkCmdDrawMeshTasksNV-OpImageBlockMatchSADQCOM-06975", "If OpImageBlockMatchSADQCOM is used to read from an VkImageView as a result of this command, then the image view's format features must contain VK_FORMAT_FEATURE_2_BLOCK_MATCHING_BIT_QCOM", "1.3-extensions"}, {"VUID-vkCmdDrawMeshTasksNV-OpImageBlockMatchSADQCOM-06976", "If OpImageBlockMatchSADQCOM or OpImageBlockMatchSSDQCOM is used to read from a reference image as result of this command, then the specified reference coordinates must not fail integer texel coordinate validation", "1.3-extensions"}, {"VUID-vkCmdDrawMeshTasksNV-OpImageBlockMatchSSDQCOM-06974", "If OpImageBlockMatchSSDQCOM is used to read from an VkImageView as a result of this command, then the image view's format features must contain VK_FORMAT_FEATURE_2_BLOCK_MATCHING_BIT_QCOM", "1.3-extensions"}, @@ -14449,10 +14517,10 @@ static const vuid_spec_text_pair vuid_spec_text[] = { {"VUID-vkCmdDrawMeshTasksNV-sparseImageInt64Atomics-04475", "If the sparseImageInt64Atomics feature is not enabled, VkBuffer objects created with the VK_BUFFER_CREATE_SPARSE_RESIDENCY_BIT flag must not be accessed by atomic instructions through an OpTypeImage with a SampledType with a Width of 64 by this command", "1.3-extensions"}, {"VUID-vkCmdDrawMeshTasksNV-stage-06480", "The bound graphics pipeline must not have been created with the VkPipelineShaderStageCreateInfo::stage member of an element of VkGraphicsPipelineCreateInfo::pStages set to VK_SHADER_STAGE_VERTEX_BIT, VK_SHADER_STAGE_TESSELLATION_CONTROL_BIT, VK_SHADER_STAGE_TESSELLATION_EVALUATION_BIT or VK_SHADER_STAGE_GEOMETRY_BIT", "1.3-extensions"}, {"VUID-vkCmdDrawMeshTasksNV-stage-07073", "If the currently bound pipeline was created with the VkPipelineShaderStageCreateInfo::stage member of an element of VkGraphicsPipelineCreateInfo::pStages set to VK_SHADER_STAGE_VERTEX_BIT, VK_SHADER_STAGE_TESSELLATION_CONTROL_BIT, VK_SHADER_STAGE_TESSELLATION_EVALUATION_BIT or VK_SHADER_STAGE_GEOMETRY_BIT, then Mesh Shader Queries must not be active", "1.3-extensions"}, - {"VUID-vkCmdDrawMeshTasksNV-stippledLineEnable-07495", "If the bound graphics pipeline state was created with the VK_DYNAMIC_STATE_LINE_STIPPLE_ENABLE_EXT or VK_DYNAMIC_STATE_LINE_RASTERIZATION_MODE_EXT dynamic states enabled, and if the current stippledLineEnable state is VK_TRUE and the current lineRasterizationMode state is VK_LINE_RASTERIZATION_MODE_RECTANGULAR_EXT, then the stippledRectangularLines feature must be enabled", "1.3-extensions"}, - {"VUID-vkCmdDrawMeshTasksNV-stippledLineEnable-07496", "If the bound graphics pipeline state was created with the VK_DYNAMIC_STATE_LINE_STIPPLE_ENABLE_EXT or VK_DYNAMIC_STATE_LINE_RASTERIZATION_MODE_EXT dynamic states enabled, and if the current stippledLineEnable state is VK_TRUE and the current lineRasterizationMode state is VK_LINE_RASTERIZATION_MODE_BRESENHAM_EXT, then the stippledBresenhamLines feature must be enabled", "1.3-extensions"}, - {"VUID-vkCmdDrawMeshTasksNV-stippledLineEnable-07497", "If the bound graphics pipeline state was created with the VK_DYNAMIC_STATE_LINE_STIPPLE_ENABLE_EXT or VK_DYNAMIC_STATE_LINE_RASTERIZATION_MODE_EXT dynamic states enabled, and if the current stippledLineEnable state is VK_TRUE and the current lineRasterizationMode state is VK_LINE_RASTERIZATION_MODE_RECTANGULAR_SMOOTH_EXT, then the stippledSmoothLines feature must be enabled", "1.3-extensions"}, - {"VUID-vkCmdDrawMeshTasksNV-stippledLineEnable-07498", "If the bound graphics pipeline state was created with the VK_DYNAMIC_STATE_LINE_STIPPLE_ENABLE_EXT or VK_DYNAMIC_STATE_LINE_RASTERIZATION_MODE_EXT dynamic states enabled, and if the current stippledLineEnable state is VK_TRUE and the current lineRasterizationMode state is VK_LINE_RASTERIZATION_MODE_DEFAULT_EXT, then the stippledRectangularLines feature must be enabled and VkPhysicalDeviceLimits::strictLines must be VK_TRUE", "1.3-extensions"}, + {"VUID-vkCmdDrawMeshTasksNV-stippledLineEnable-07495", "If the bound graphics pipeline state was created with the VK_DYNAMIC_STATE_LINE_STIPPLE_ENABLE_EXT or VK_DYNAMIC_STATE_LINE_RASTERIZATION_MODE_EXT dynamic states enabled, and if the current stippledLineEnable state is VK_TRUE and the current lineRasterizationMode state is VK_LINE_RASTERIZATION_MODE_RECTANGULAR_KHR, then the stippledRectangularLines feature must be enabled", "1.3-extensions"}, + {"VUID-vkCmdDrawMeshTasksNV-stippledLineEnable-07496", "If the bound graphics pipeline state was created with the VK_DYNAMIC_STATE_LINE_STIPPLE_ENABLE_EXT or VK_DYNAMIC_STATE_LINE_RASTERIZATION_MODE_EXT dynamic states enabled, and if the current stippledLineEnable state is VK_TRUE and the current lineRasterizationMode state is VK_LINE_RASTERIZATION_MODE_BRESENHAM_KHR, then the stippledBresenhamLines feature must be enabled", "1.3-extensions"}, + {"VUID-vkCmdDrawMeshTasksNV-stippledLineEnable-07497", "If the bound graphics pipeline state was created with the VK_DYNAMIC_STATE_LINE_STIPPLE_ENABLE_EXT or VK_DYNAMIC_STATE_LINE_RASTERIZATION_MODE_EXT dynamic states enabled, and if the current stippledLineEnable state is VK_TRUE and the current lineRasterizationMode state is VK_LINE_RASTERIZATION_MODE_RECTANGULAR_SMOOTH_KHR, then the stippledSmoothLines feature must be enabled", "1.3-extensions"}, + {"VUID-vkCmdDrawMeshTasksNV-stippledLineEnable-07498", "If the bound graphics pipeline state was created with the VK_DYNAMIC_STATE_LINE_STIPPLE_ENABLE_EXT or VK_DYNAMIC_STATE_LINE_RASTERIZATION_MODE_EXT dynamic states enabled, and if the current stippledLineEnable state is VK_TRUE and the current lineRasterizationMode state is VK_LINE_RASTERIZATION_MODE_DEFAULT_KHR, then the stippledRectangularLines feature must be enabled and VkPhysicalDeviceLimits::strictLines must be VK_TRUE", "1.3-extensions"}, {"VUID-vkCmdDrawMeshTasksNV-storageBuffers-06936", "If any stage of the VkPipeline object bound to the pipeline bind point used by this command accesses a storage buffer, and that stage was created without enabling either VK_PIPELINE_ROBUSTNESS_BUFFER_BEHAVIOR_ROBUST_BUFFER_ACCESS_EXT or VK_PIPELINE_ROBUSTNESS_BUFFER_BEHAVIOR_ROBUST_BUFFER_ACCESS_2_EXT for storageBuffers, and the robustBufferAccess feature is not enabled, that stage must not access values outside of the range of the buffer as specified in the descriptor set bound to the same pipeline bind point", "1.3-extensions"}, {"VUID-vkCmdDrawMeshTasksNV-subpass-02685", "The subpass index of the current render pass must be equal to the subpass member of the VkGraphicsPipelineCreateInfo structure specified when creating the VkPipeline bound to VK_PIPELINE_BIND_POINT_GRAPHICS", "1.3-extensions"}, {"VUID-vkCmdDrawMeshTasksNV-taskCount-02119", "taskCount must be less than or equal to VkPhysicalDeviceMeshShaderPropertiesNV::maxDrawMeshTasksCount", "1.3-extensions"}, @@ -14546,7 +14614,7 @@ static const vuid_spec_text_pair vuid_spec_text[] = { {"VUID-vkCmdDrawMultiEXT-None-07846", "If the bound graphics pipeline state was created with the VK_DYNAMIC_STATE_DEPTH_BOUNDS_TEST_ENABLE dynamic state enabled then vkCmdSetDepthBoundsTestEnable must have been called in the current command buffer prior to this drawing command", "1.3-extensions"}, {"VUID-vkCmdDrawMultiEXT-None-07847", "If the bound graphics pipeline state was created with the VK_DYNAMIC_STATE_STENCIL_TEST_ENABLE dynamic state enabled then vkCmdSetStencilTestEnable must have been called in the current command buffer prior to this drawing command", "1.3-extensions"}, {"VUID-vkCmdDrawMultiEXT-None-07848", "If the bound graphics pipeline state was created with the VK_DYNAMIC_STATE_STENCIL_OP dynamic state enabled then vkCmdSetStencilOp must have been called in the current command buffer prior to this drawing command", "1.3-extensions"}, - {"VUID-vkCmdDrawMultiEXT-None-07849", "If the bound graphics pipeline state was created with the VK_DYNAMIC_STATE_LINE_STIPPLE_EXT dynamic state enabled then vkCmdSetLineStippleEXT must have been called in the current command buffer prior to this drawing command", "1.3-extensions"}, + {"VUID-vkCmdDrawMultiEXT-None-07849", "If the bound graphics pipeline state was created with the VK_DYNAMIC_STATE_LINE_STIPPLE_KHR dynamic state enabled then vkCmdSetLineStippleKHR must have been called in the current command buffer prior to this drawing command", "1.3-extensions"}, {"VUID-vkCmdDrawMultiEXT-None-07850", "If dynamic state was inherited from VkCommandBufferInheritanceViewportScissorInfoNV, it must be set in the current command buffer prior to this drawing command", "1.3-extensions"}, {"VUID-vkCmdDrawMultiEXT-None-07878", "If the bound graphics pipeline state was created with the VK_DYNAMIC_STATE_EXCLUSIVE_SCISSOR_ENABLE_NV dynamic state enabled then vkCmdSetExclusiveScissorEnableNV must have been called in the current command buffer prior to this drawing command", "1.3-extensions"}, {"VUID-vkCmdDrawMultiEXT-None-07879", "If the bound graphics pipeline state was created with the VK_DYNAMIC_STATE_EXCLUSIVE_SCISSOR_NV dynamic state enabled then vkCmdSetExclusiveScissorNV must have been called in the current command buffer prior to this drawing command", "1.3-extensions"}, @@ -14617,13 +14685,13 @@ static const vuid_spec_text_pair vuid_spec_text[] = { {"VUID-vkCmdDrawMultiEXT-None-08663", "If the depthClipEnable feature is enabled, and a shader object is bound to any graphics stage, then vkCmdSetDepthClipEnableEXT must have been called in the current command buffer prior to this drawing command", "1.3-extensions"}, {"VUID-vkCmdDrawMultiEXT-None-08664", "If the VK_EXT_sample_locations extension is enabled, and a shader object is bound to any graphics stage, and the most recent call to vkCmdSetRasterizerDiscardEnable in the current command buffer set rasterizerDiscardEnable to VK_FALSE, then vkCmdSetSampleLocationsEnableEXT must have been called in the current command buffer prior to this drawing command", "1.3-extensions"}, {"VUID-vkCmdDrawMultiEXT-None-08665", "If the VK_EXT_provoking_vertex extension is enabled, and a shader object is bound to the VK_SHADER_STAGE_VERTEX_BIT stage, and the most recent call to vkCmdSetRasterizerDiscardEnable in the current command buffer set rasterizerDiscardEnable to VK_FALSE, then vkCmdSetProvokingVertexModeEXT must have been called in the current command buffer prior to this drawing command", "1.3-extensions"}, - {"VUID-vkCmdDrawMultiEXT-None-08666", "If the VK_EXT_line_rasterization extension is enabled, and a shader object is bound to any graphics stage, and the most recent call to vkCmdSetRasterizerDiscardEnable in the current command buffer set rasterizerDiscardEnable to VK_FALSE, and the most recent call to vkCmdSetPolygonModeEXT in the current command buffer set polygonMode to VK_POLYGON_MODE_LINE, then vkCmdSetLineRasterizationModeEXT must have been called in the current command buffer prior to this drawing command", "1.3-extensions"}, - {"VUID-vkCmdDrawMultiEXT-None-08667", "If the VK_EXT_line_rasterization extension is enabled, and a shader object is bound to the VK_SHADER_STAGE_VERTEX_BIT stage, and the most recent call to vkCmdSetRasterizerDiscardEnable in the current command buffer set rasterizerDiscardEnable to VK_FALSE, and the most recent call to vkCmdSetPrimitiveTopology in the current command buffer set primitiveTopology to any line topology, then vkCmdSetLineRasterizationModeEXT must have been called in the current command buffer prior to this drawing command", "1.3-extensions"}, - {"VUID-vkCmdDrawMultiEXT-None-08668", "If the VK_EXT_line_rasterization extension is enabled, and a shader object that outputs line primitives is bound to the VK_SHADER_STAGE_TESSELLATION_EVALUATION_BIT or VK_SHADER_STAGE_GEOMETRY_BIT stage, and the most recent call to vkCmdSetRasterizerDiscardEnable in the current command buffer set rasterizerDiscardEnable to VK_FALSE, then vkCmdSetLineRasterizationModeEXT must have been called in the current command buffer prior to this drawing command", "1.3-extensions"}, - {"VUID-vkCmdDrawMultiEXT-None-08669", "If the VK_EXT_line_rasterization extension is enabled, and a shader object is bound to any graphics stage, and the most recent call to vkCmdSetRasterizerDiscardEnable in the current command buffer set rasterizerDiscardEnable to VK_FALSE, and the most recent call to vkCmdSetPolygonModeEXT in the current command buffer set polygonMode to VK_POLYGON_MODE_LINE, then vkCmdSetLineStippleEnableEXT must have been called in the current command buffer prior to this drawing command", "1.3-extensions"}, - {"VUID-vkCmdDrawMultiEXT-None-08670", "If the VK_EXT_line_rasterization extension is enabled, and a shader object is bound to the VK_SHADER_STAGE_VERTEX_BIT stage, and the most recent call to vkCmdSetRasterizerDiscardEnable in the current command buffer set rasterizerDiscardEnable to VK_FALSE, and the most recent call to vkCmdSetPrimitiveTopology in the current command buffer set primitiveTopology to any line topology, then vkCmdSetLineStippleEnableEXT must have been called in the current command buffer prior to this drawing command", "1.3-extensions"}, - {"VUID-vkCmdDrawMultiEXT-None-08671", "If the VK_EXT_line_rasterization extension is enabled, and a shader object that outputs line primitives is bound to the VK_SHADER_STAGE_TESSELLATION_EVALUATION_BIT or VK_SHADER_STAGE_GEOMETRY_BIT stage, and the most recent call to vkCmdSetRasterizerDiscardEnable in the current command buffer set rasterizerDiscardEnable to VK_FALSE, then vkCmdSetLineStippleEnableEXT must have been called in the current command buffer prior to this drawing command", "1.3-extensions"}, - {"VUID-vkCmdDrawMultiEXT-None-08672", "If the VK_EXT_line_rasterization extension is enabled, and a shader object is bound to any graphics stage, and the most recent call to vkCmdSetRasterizerDiscardEnable in the current command buffer set rasterizerDiscardEnable to VK_FALSE, and the most recent call to vkCmdSetLineStippleEnableEXT in the current command buffer set stippledLineEnable to VK_TRUE, then vkCmdSetLineStippleEXT must have been called in the current command buffer prior to this drawing command", "1.3-extensions"}, + {"VUID-vkCmdDrawMultiEXT-None-08666", "If the VK_KHR_line_rasterization or VK_EXT_line_rasterization extension is enabled, and a shader object is bound to any graphics stage, and the most recent call to vkCmdSetRasterizerDiscardEnable in the current command buffer set rasterizerDiscardEnable to VK_FALSE, and the most recent call to vkCmdSetPolygonModeEXT in the current command buffer set polygonMode to VK_POLYGON_MODE_LINE, then vkCmdSetLineRasterizationModeEXT must have been called in the current command buffer prior to this drawing command", "1.3-extensions"}, + {"VUID-vkCmdDrawMultiEXT-None-08667", "If the VK_KHR_line_rasterization or VK_EXT_line_rasterization extension is enabled, and a shader object is bound to the VK_SHADER_STAGE_VERTEX_BIT stage, and the most recent call to vkCmdSetRasterizerDiscardEnable in the current command buffer set rasterizerDiscardEnable to VK_FALSE, and the most recent call to vkCmdSetPrimitiveTopology in the current command buffer set primitiveTopology to any line topology, then vkCmdSetLineRasterizationModeEXT must have been called in the current command buffer prior to this drawing command", "1.3-extensions"}, + {"VUID-vkCmdDrawMultiEXT-None-08668", "If the VK_KHR_line_rasterization or VK_EXT_line_rasterization extension is enabled, and a shader object that outputs line primitives is bound to the VK_SHADER_STAGE_TESSELLATION_EVALUATION_BIT or VK_SHADER_STAGE_GEOMETRY_BIT stage, and the most recent call to vkCmdSetRasterizerDiscardEnable in the current command buffer set rasterizerDiscardEnable to VK_FALSE, then vkCmdSetLineRasterizationModeEXT must have been called in the current command buffer prior to this drawing command", "1.3-extensions"}, + {"VUID-vkCmdDrawMultiEXT-None-08669", "If the VK_KHR_line_rasterization or VK_EXT_line_rasterization extension is enabled, and a shader object is bound to any graphics stage, and the most recent call to vkCmdSetRasterizerDiscardEnable in the current command buffer set rasterizerDiscardEnable to VK_FALSE, and the most recent call to vkCmdSetPolygonModeEXT in the current command buffer set polygonMode to VK_POLYGON_MODE_LINE, then vkCmdSetLineStippleEnableEXT must have been called in the current command buffer prior to this drawing command", "1.3-extensions"}, + {"VUID-vkCmdDrawMultiEXT-None-08670", "If the VK_KHR_line_rasterization or VK_EXT_line_rasterization extension is enabled, and a shader object is bound to the VK_SHADER_STAGE_VERTEX_BIT stage, and the most recent call to vkCmdSetRasterizerDiscardEnable in the current command buffer set rasterizerDiscardEnable to VK_FALSE, and the most recent call to vkCmdSetPrimitiveTopology in the current command buffer set primitiveTopology to any line topology, then vkCmdSetLineStippleEnableEXT must have been called in the current command buffer prior to this drawing command", "1.3-extensions"}, + {"VUID-vkCmdDrawMultiEXT-None-08671", "If the VK_KHR_line_rasterization or VK_EXT_line_rasterization extension is enabled, and a shader object that outputs line primitives is bound to the VK_SHADER_STAGE_TESSELLATION_EVALUATION_BIT or VK_SHADER_STAGE_GEOMETRY_BIT stage, and the most recent call to vkCmdSetRasterizerDiscardEnable in the current command buffer set rasterizerDiscardEnable to VK_FALSE, then vkCmdSetLineStippleEnableEXT must have been called in the current command buffer prior to this drawing command", "1.3-extensions"}, + {"VUID-vkCmdDrawMultiEXT-None-08672", "If the VK_KHR_line_rasterization or VK_EXT_line_rasterization extension is enabled, and a shader object is bound to any graphics stage, and the most recent call to vkCmdSetRasterizerDiscardEnable in the current command buffer set rasterizerDiscardEnable to VK_FALSE, and the most recent call to vkCmdSetLineStippleEnableEXT in the current command buffer set stippledLineEnable to VK_TRUE, then vkCmdSetLineStippleEXT must have been called in the current command buffer prior to this drawing command", "1.3-extensions"}, {"VUID-vkCmdDrawMultiEXT-None-08673", "If the depthClipControl feature is enabled, and a shader object is bound to any graphics stage, then vkCmdSetDepthClipNegativeOneToOneEXT must have been called in the current command buffer prior to this drawing command", "1.3-extensions"}, {"VUID-vkCmdDrawMultiEXT-None-08674", "If the VK_NV_clip_space_w_scaling extension is enabled, and a shader object is bound to any graphics stage, then vkCmdSetViewportWScalingEnableNV must have been called in the current command buffer prior to this drawing command", "1.3-extensions"}, {"VUID-vkCmdDrawMultiEXT-None-08675", "If the VK_NV_viewport_swizzle extension is enabled, and a shader object is bound to any graphics stage, then vkCmdSetViewportSwizzleNV must have been called in the current command buffer prior to this drawing command", "1.3-extensions"}, @@ -14670,6 +14738,8 @@ static const vuid_spec_text_pair vuid_spec_text[] = { {"VUID-vkCmdDrawMultiEXT-None-09368", "If the current render pass instance was begun with vkCmdBeginRendering, there is no shader object bound to any graphics stage, and the currently bound graphics pipeline was created with a non-zero VkExternalFormatANDROID::externalFormat value and with the VK_DYNAMIC_STATE_FRAGMENT_SHADING_RATE_KHR dynamic state enabled, then vkCmdSetFragmentShadingRateKHR must have set pFragmentSize->width to 1 prior to this drawing command", "1.3-extensions"}, {"VUID-vkCmdDrawMultiEXT-None-09369", "If the current render pass instance was begun with vkCmdBeginRendering, there is no shader object bound to any graphics stage, and the currently bound graphics pipeline was created with a non-zero VkExternalFormatANDROID::externalFormat value and with the VK_DYNAMIC_STATE_FRAGMENT_SHADING_RATE_KHR dynamic state enabled, then vkCmdSetFragmentShadingRateKHR must have set pFragmentSize->height to 1 prior to this drawing command", "1.3-extensions"}, {"VUID-vkCmdDrawMultiEXT-None-09462", "If shader objects are used for drawing or the bound graphics pipeline state was created with the VK_DYNAMIC_STATE_VERTEX_INPUT_EXT dynamic state enabled, any member of the pVertexBindingDescriptions parameter to the vkCmdSetVertexInputEXT call that sets this dynamic state has a value other than 1 in divisor, and VkPhysicalDeviceVertexAttributeDivisorPropertiesKHR::supportsNonZeroFirstInstance is VK_FALSE, then firstInstance must be 0", "1.3-extensions"}, + {"VUID-vkCmdDrawMultiEXT-None-09548", "If the current render pass was begun with vkCmdBeginRendering, and there is no shader object bound to any graphics stage, the value of each element of VkRenderingAttachmentLocationInfoKHR::pColorAttachmentLocations set by vkCmdSetRenderingAttachmentLocationsKHR must match the value set for the corresponding element in the currently bound pipeline", "1.3-extensions"}, + {"VUID-vkCmdDrawMultiEXT-None-09549", "If the current render pass was begun with vkCmdBeginRendering, and there is no shader object bound to any graphics stage, input attachment index mappings in the currently bound pipeline must match those set for the current render pass instance via VkRenderingInputAttachmentIndexInfoKHR", "1.3-extensions"}, {"VUID-vkCmdDrawMultiEXT-OpImageBlockMatchSADQCOM-06975", "If OpImageBlockMatchSADQCOM is used to read from an VkImageView as a result of this command, then the image view's format features must contain VK_FORMAT_FEATURE_2_BLOCK_MATCHING_BIT_QCOM", "1.3-extensions"}, {"VUID-vkCmdDrawMultiEXT-OpImageBlockMatchSADQCOM-06976", "If OpImageBlockMatchSADQCOM or OpImageBlockMatchSSDQCOM is used to read from a reference image as result of this command, then the specified reference coordinates must not fail integer texel coordinate validation", "1.3-extensions"}, {"VUID-vkCmdDrawMultiEXT-OpImageBlockMatchSSDQCOM-06974", "If OpImageBlockMatchSSDQCOM is used to read from an VkImageView as a result of this command, then the image view's format features must contain VK_FORMAT_FEATURE_2_BLOCK_MATCHING_BIT_QCOM", "1.3-extensions"}, @@ -14811,10 +14881,10 @@ static const vuid_spec_text_pair vuid_spec_text[] = { {"VUID-vkCmdDrawMultiEXT-sparseImageInt64Atomics-04475", "If the sparseImageInt64Atomics feature is not enabled, VkBuffer objects created with the VK_BUFFER_CREATE_SPARSE_RESIDENCY_BIT flag must not be accessed by atomic instructions through an OpTypeImage with a SampledType with a Width of 64 by this command", "1.3-extensions"}, {"VUID-vkCmdDrawMultiEXT-stage-06481", "The bound graphics pipeline must not have been created with the VkPipelineShaderStageCreateInfo::stage member of an element of VkGraphicsPipelineCreateInfo::pStages set to VK_SHADER_STAGE_TASK_BIT_EXT or VK_SHADER_STAGE_MESH_BIT_EXT", "1.3-extensions"}, {"VUID-vkCmdDrawMultiEXT-stage-07073", "If the currently bound pipeline was created with the VkPipelineShaderStageCreateInfo::stage member of an element of VkGraphicsPipelineCreateInfo::pStages set to VK_SHADER_STAGE_VERTEX_BIT, VK_SHADER_STAGE_TESSELLATION_CONTROL_BIT, VK_SHADER_STAGE_TESSELLATION_EVALUATION_BIT or VK_SHADER_STAGE_GEOMETRY_BIT, then Mesh Shader Queries must not be active", "1.3-extensions"}, - {"VUID-vkCmdDrawMultiEXT-stippledLineEnable-07495", "If the bound graphics pipeline state was created with the VK_DYNAMIC_STATE_LINE_STIPPLE_ENABLE_EXT or VK_DYNAMIC_STATE_LINE_RASTERIZATION_MODE_EXT dynamic states enabled, and if the current stippledLineEnable state is VK_TRUE and the current lineRasterizationMode state is VK_LINE_RASTERIZATION_MODE_RECTANGULAR_EXT, then the stippledRectangularLines feature must be enabled", "1.3-extensions"}, - {"VUID-vkCmdDrawMultiEXT-stippledLineEnable-07496", "If the bound graphics pipeline state was created with the VK_DYNAMIC_STATE_LINE_STIPPLE_ENABLE_EXT or VK_DYNAMIC_STATE_LINE_RASTERIZATION_MODE_EXT dynamic states enabled, and if the current stippledLineEnable state is VK_TRUE and the current lineRasterizationMode state is VK_LINE_RASTERIZATION_MODE_BRESENHAM_EXT, then the stippledBresenhamLines feature must be enabled", "1.3-extensions"}, - {"VUID-vkCmdDrawMultiEXT-stippledLineEnable-07497", "If the bound graphics pipeline state was created with the VK_DYNAMIC_STATE_LINE_STIPPLE_ENABLE_EXT or VK_DYNAMIC_STATE_LINE_RASTERIZATION_MODE_EXT dynamic states enabled, and if the current stippledLineEnable state is VK_TRUE and the current lineRasterizationMode state is VK_LINE_RASTERIZATION_MODE_RECTANGULAR_SMOOTH_EXT, then the stippledSmoothLines feature must be enabled", "1.3-extensions"}, - {"VUID-vkCmdDrawMultiEXT-stippledLineEnable-07498", "If the bound graphics pipeline state was created with the VK_DYNAMIC_STATE_LINE_STIPPLE_ENABLE_EXT or VK_DYNAMIC_STATE_LINE_RASTERIZATION_MODE_EXT dynamic states enabled, and if the current stippledLineEnable state is VK_TRUE and the current lineRasterizationMode state is VK_LINE_RASTERIZATION_MODE_DEFAULT_EXT, then the stippledRectangularLines feature must be enabled and VkPhysicalDeviceLimits::strictLines must be VK_TRUE", "1.3-extensions"}, + {"VUID-vkCmdDrawMultiEXT-stippledLineEnable-07495", "If the bound graphics pipeline state was created with the VK_DYNAMIC_STATE_LINE_STIPPLE_ENABLE_EXT or VK_DYNAMIC_STATE_LINE_RASTERIZATION_MODE_EXT dynamic states enabled, and if the current stippledLineEnable state is VK_TRUE and the current lineRasterizationMode state is VK_LINE_RASTERIZATION_MODE_RECTANGULAR_KHR, then the stippledRectangularLines feature must be enabled", "1.3-extensions"}, + {"VUID-vkCmdDrawMultiEXT-stippledLineEnable-07496", "If the bound graphics pipeline state was created with the VK_DYNAMIC_STATE_LINE_STIPPLE_ENABLE_EXT or VK_DYNAMIC_STATE_LINE_RASTERIZATION_MODE_EXT dynamic states enabled, and if the current stippledLineEnable state is VK_TRUE and the current lineRasterizationMode state is VK_LINE_RASTERIZATION_MODE_BRESENHAM_KHR, then the stippledBresenhamLines feature must be enabled", "1.3-extensions"}, + {"VUID-vkCmdDrawMultiEXT-stippledLineEnable-07497", "If the bound graphics pipeline state was created with the VK_DYNAMIC_STATE_LINE_STIPPLE_ENABLE_EXT or VK_DYNAMIC_STATE_LINE_RASTERIZATION_MODE_EXT dynamic states enabled, and if the current stippledLineEnable state is VK_TRUE and the current lineRasterizationMode state is VK_LINE_RASTERIZATION_MODE_RECTANGULAR_SMOOTH_KHR, then the stippledSmoothLines feature must be enabled", "1.3-extensions"}, + {"VUID-vkCmdDrawMultiEXT-stippledLineEnable-07498", "If the bound graphics pipeline state was created with the VK_DYNAMIC_STATE_LINE_STIPPLE_ENABLE_EXT or VK_DYNAMIC_STATE_LINE_RASTERIZATION_MODE_EXT dynamic states enabled, and if the current stippledLineEnable state is VK_TRUE and the current lineRasterizationMode state is VK_LINE_RASTERIZATION_MODE_DEFAULT_KHR, then the stippledRectangularLines feature must be enabled and VkPhysicalDeviceLimits::strictLines must be VK_TRUE", "1.3-extensions"}, {"VUID-vkCmdDrawMultiEXT-storageBuffers-06936", "If any stage of the VkPipeline object bound to the pipeline bind point used by this command accesses a storage buffer, and that stage was created without enabling either VK_PIPELINE_ROBUSTNESS_BUFFER_BEHAVIOR_ROBUST_BUFFER_ACCESS_EXT or VK_PIPELINE_ROBUSTNESS_BUFFER_BEHAVIOR_ROBUST_BUFFER_ACCESS_2_EXT for storageBuffers, and the robustBufferAccess feature is not enabled, that stage must not access values outside of the range of the buffer as specified in the descriptor set bound to the same pipeline bind point", "1.3-extensions"}, {"VUID-vkCmdDrawMultiEXT-stride-04936", "stride must be a multiple of 4", "1.3-extensions"}, {"VUID-vkCmdDrawMultiEXT-subpass-02685", "The subpass index of the current render pass must be equal to the subpass member of the VkGraphicsPipelineCreateInfo structure specified when creating the VkPipeline bound to VK_PIPELINE_BIND_POINT_GRAPHICS", "1.3-extensions"}, @@ -14909,7 +14979,7 @@ static const vuid_spec_text_pair vuid_spec_text[] = { {"VUID-vkCmdDrawMultiIndexedEXT-None-07846", "If the bound graphics pipeline state was created with the VK_DYNAMIC_STATE_DEPTH_BOUNDS_TEST_ENABLE dynamic state enabled then vkCmdSetDepthBoundsTestEnable must have been called in the current command buffer prior to this drawing command", "1.3-extensions"}, {"VUID-vkCmdDrawMultiIndexedEXT-None-07847", "If the bound graphics pipeline state was created with the VK_DYNAMIC_STATE_STENCIL_TEST_ENABLE dynamic state enabled then vkCmdSetStencilTestEnable must have been called in the current command buffer prior to this drawing command", "1.3-extensions"}, {"VUID-vkCmdDrawMultiIndexedEXT-None-07848", "If the bound graphics pipeline state was created with the VK_DYNAMIC_STATE_STENCIL_OP dynamic state enabled then vkCmdSetStencilOp must have been called in the current command buffer prior to this drawing command", "1.3-extensions"}, - {"VUID-vkCmdDrawMultiIndexedEXT-None-07849", "If the bound graphics pipeline state was created with the VK_DYNAMIC_STATE_LINE_STIPPLE_EXT dynamic state enabled then vkCmdSetLineStippleEXT must have been called in the current command buffer prior to this drawing command", "1.3-extensions"}, + {"VUID-vkCmdDrawMultiIndexedEXT-None-07849", "If the bound graphics pipeline state was created with the VK_DYNAMIC_STATE_LINE_STIPPLE_KHR dynamic state enabled then vkCmdSetLineStippleKHR must have been called in the current command buffer prior to this drawing command", "1.3-extensions"}, {"VUID-vkCmdDrawMultiIndexedEXT-None-07850", "If dynamic state was inherited from VkCommandBufferInheritanceViewportScissorInfoNV, it must be set in the current command buffer prior to this drawing command", "1.3-extensions"}, {"VUID-vkCmdDrawMultiIndexedEXT-None-07878", "If the bound graphics pipeline state was created with the VK_DYNAMIC_STATE_EXCLUSIVE_SCISSOR_ENABLE_NV dynamic state enabled then vkCmdSetExclusiveScissorEnableNV must have been called in the current command buffer prior to this drawing command", "1.3-extensions"}, {"VUID-vkCmdDrawMultiIndexedEXT-None-07879", "If the bound graphics pipeline state was created with the VK_DYNAMIC_STATE_EXCLUSIVE_SCISSOR_NV dynamic state enabled then vkCmdSetExclusiveScissorNV must have been called in the current command buffer prior to this drawing command", "1.3-extensions"}, @@ -14980,13 +15050,13 @@ static const vuid_spec_text_pair vuid_spec_text[] = { {"VUID-vkCmdDrawMultiIndexedEXT-None-08663", "If the depthClipEnable feature is enabled, and a shader object is bound to any graphics stage, then vkCmdSetDepthClipEnableEXT must have been called in the current command buffer prior to this drawing command", "1.3-extensions"}, {"VUID-vkCmdDrawMultiIndexedEXT-None-08664", "If the VK_EXT_sample_locations extension is enabled, and a shader object is bound to any graphics stage, and the most recent call to vkCmdSetRasterizerDiscardEnable in the current command buffer set rasterizerDiscardEnable to VK_FALSE, then vkCmdSetSampleLocationsEnableEXT must have been called in the current command buffer prior to this drawing command", "1.3-extensions"}, {"VUID-vkCmdDrawMultiIndexedEXT-None-08665", "If the VK_EXT_provoking_vertex extension is enabled, and a shader object is bound to the VK_SHADER_STAGE_VERTEX_BIT stage, and the most recent call to vkCmdSetRasterizerDiscardEnable in the current command buffer set rasterizerDiscardEnable to VK_FALSE, then vkCmdSetProvokingVertexModeEXT must have been called in the current command buffer prior to this drawing command", "1.3-extensions"}, - {"VUID-vkCmdDrawMultiIndexedEXT-None-08666", "If the VK_EXT_line_rasterization extension is enabled, and a shader object is bound to any graphics stage, and the most recent call to vkCmdSetRasterizerDiscardEnable in the current command buffer set rasterizerDiscardEnable to VK_FALSE, and the most recent call to vkCmdSetPolygonModeEXT in the current command buffer set polygonMode to VK_POLYGON_MODE_LINE, then vkCmdSetLineRasterizationModeEXT must have been called in the current command buffer prior to this drawing command", "1.3-extensions"}, - {"VUID-vkCmdDrawMultiIndexedEXT-None-08667", "If the VK_EXT_line_rasterization extension is enabled, and a shader object is bound to the VK_SHADER_STAGE_VERTEX_BIT stage, and the most recent call to vkCmdSetRasterizerDiscardEnable in the current command buffer set rasterizerDiscardEnable to VK_FALSE, and the most recent call to vkCmdSetPrimitiveTopology in the current command buffer set primitiveTopology to any line topology, then vkCmdSetLineRasterizationModeEXT must have been called in the current command buffer prior to this drawing command", "1.3-extensions"}, - {"VUID-vkCmdDrawMultiIndexedEXT-None-08668", "If the VK_EXT_line_rasterization extension is enabled, and a shader object that outputs line primitives is bound to the VK_SHADER_STAGE_TESSELLATION_EVALUATION_BIT or VK_SHADER_STAGE_GEOMETRY_BIT stage, and the most recent call to vkCmdSetRasterizerDiscardEnable in the current command buffer set rasterizerDiscardEnable to VK_FALSE, then vkCmdSetLineRasterizationModeEXT must have been called in the current command buffer prior to this drawing command", "1.3-extensions"}, - {"VUID-vkCmdDrawMultiIndexedEXT-None-08669", "If the VK_EXT_line_rasterization extension is enabled, and a shader object is bound to any graphics stage, and the most recent call to vkCmdSetRasterizerDiscardEnable in the current command buffer set rasterizerDiscardEnable to VK_FALSE, and the most recent call to vkCmdSetPolygonModeEXT in the current command buffer set polygonMode to VK_POLYGON_MODE_LINE, then vkCmdSetLineStippleEnableEXT must have been called in the current command buffer prior to this drawing command", "1.3-extensions"}, - {"VUID-vkCmdDrawMultiIndexedEXT-None-08670", "If the VK_EXT_line_rasterization extension is enabled, and a shader object is bound to the VK_SHADER_STAGE_VERTEX_BIT stage, and the most recent call to vkCmdSetRasterizerDiscardEnable in the current command buffer set rasterizerDiscardEnable to VK_FALSE, and the most recent call to vkCmdSetPrimitiveTopology in the current command buffer set primitiveTopology to any line topology, then vkCmdSetLineStippleEnableEXT must have been called in the current command buffer prior to this drawing command", "1.3-extensions"}, - {"VUID-vkCmdDrawMultiIndexedEXT-None-08671", "If the VK_EXT_line_rasterization extension is enabled, and a shader object that outputs line primitives is bound to the VK_SHADER_STAGE_TESSELLATION_EVALUATION_BIT or VK_SHADER_STAGE_GEOMETRY_BIT stage, and the most recent call to vkCmdSetRasterizerDiscardEnable in the current command buffer set rasterizerDiscardEnable to VK_FALSE, then vkCmdSetLineStippleEnableEXT must have been called in the current command buffer prior to this drawing command", "1.3-extensions"}, - {"VUID-vkCmdDrawMultiIndexedEXT-None-08672", "If the VK_EXT_line_rasterization extension is enabled, and a shader object is bound to any graphics stage, and the most recent call to vkCmdSetRasterizerDiscardEnable in the current command buffer set rasterizerDiscardEnable to VK_FALSE, and the most recent call to vkCmdSetLineStippleEnableEXT in the current command buffer set stippledLineEnable to VK_TRUE, then vkCmdSetLineStippleEXT must have been called in the current command buffer prior to this drawing command", "1.3-extensions"}, + {"VUID-vkCmdDrawMultiIndexedEXT-None-08666", "If the VK_KHR_line_rasterization or VK_EXT_line_rasterization extension is enabled, and a shader object is bound to any graphics stage, and the most recent call to vkCmdSetRasterizerDiscardEnable in the current command buffer set rasterizerDiscardEnable to VK_FALSE, and the most recent call to vkCmdSetPolygonModeEXT in the current command buffer set polygonMode to VK_POLYGON_MODE_LINE, then vkCmdSetLineRasterizationModeEXT must have been called in the current command buffer prior to this drawing command", "1.3-extensions"}, + {"VUID-vkCmdDrawMultiIndexedEXT-None-08667", "If the VK_KHR_line_rasterization or VK_EXT_line_rasterization extension is enabled, and a shader object is bound to the VK_SHADER_STAGE_VERTEX_BIT stage, and the most recent call to vkCmdSetRasterizerDiscardEnable in the current command buffer set rasterizerDiscardEnable to VK_FALSE, and the most recent call to vkCmdSetPrimitiveTopology in the current command buffer set primitiveTopology to any line topology, then vkCmdSetLineRasterizationModeEXT must have been called in the current command buffer prior to this drawing command", "1.3-extensions"}, + {"VUID-vkCmdDrawMultiIndexedEXT-None-08668", "If the VK_KHR_line_rasterization or VK_EXT_line_rasterization extension is enabled, and a shader object that outputs line primitives is bound to the VK_SHADER_STAGE_TESSELLATION_EVALUATION_BIT or VK_SHADER_STAGE_GEOMETRY_BIT stage, and the most recent call to vkCmdSetRasterizerDiscardEnable in the current command buffer set rasterizerDiscardEnable to VK_FALSE, then vkCmdSetLineRasterizationModeEXT must have been called in the current command buffer prior to this drawing command", "1.3-extensions"}, + {"VUID-vkCmdDrawMultiIndexedEXT-None-08669", "If the VK_KHR_line_rasterization or VK_EXT_line_rasterization extension is enabled, and a shader object is bound to any graphics stage, and the most recent call to vkCmdSetRasterizerDiscardEnable in the current command buffer set rasterizerDiscardEnable to VK_FALSE, and the most recent call to vkCmdSetPolygonModeEXT in the current command buffer set polygonMode to VK_POLYGON_MODE_LINE, then vkCmdSetLineStippleEnableEXT must have been called in the current command buffer prior to this drawing command", "1.3-extensions"}, + {"VUID-vkCmdDrawMultiIndexedEXT-None-08670", "If the VK_KHR_line_rasterization or VK_EXT_line_rasterization extension is enabled, and a shader object is bound to the VK_SHADER_STAGE_VERTEX_BIT stage, and the most recent call to vkCmdSetRasterizerDiscardEnable in the current command buffer set rasterizerDiscardEnable to VK_FALSE, and the most recent call to vkCmdSetPrimitiveTopology in the current command buffer set primitiveTopology to any line topology, then vkCmdSetLineStippleEnableEXT must have been called in the current command buffer prior to this drawing command", "1.3-extensions"}, + {"VUID-vkCmdDrawMultiIndexedEXT-None-08671", "If the VK_KHR_line_rasterization or VK_EXT_line_rasterization extension is enabled, and a shader object that outputs line primitives is bound to the VK_SHADER_STAGE_TESSELLATION_EVALUATION_BIT or VK_SHADER_STAGE_GEOMETRY_BIT stage, and the most recent call to vkCmdSetRasterizerDiscardEnable in the current command buffer set rasterizerDiscardEnable to VK_FALSE, then vkCmdSetLineStippleEnableEXT must have been called in the current command buffer prior to this drawing command", "1.3-extensions"}, + {"VUID-vkCmdDrawMultiIndexedEXT-None-08672", "If the VK_KHR_line_rasterization or VK_EXT_line_rasterization extension is enabled, and a shader object is bound to any graphics stage, and the most recent call to vkCmdSetRasterizerDiscardEnable in the current command buffer set rasterizerDiscardEnable to VK_FALSE, and the most recent call to vkCmdSetLineStippleEnableEXT in the current command buffer set stippledLineEnable to VK_TRUE, then vkCmdSetLineStippleEXT must have been called in the current command buffer prior to this drawing command", "1.3-extensions"}, {"VUID-vkCmdDrawMultiIndexedEXT-None-08673", "If the depthClipControl feature is enabled, and a shader object is bound to any graphics stage, then vkCmdSetDepthClipNegativeOneToOneEXT must have been called in the current command buffer prior to this drawing command", "1.3-extensions"}, {"VUID-vkCmdDrawMultiIndexedEXT-None-08674", "If the VK_NV_clip_space_w_scaling extension is enabled, and a shader object is bound to any graphics stage, then vkCmdSetViewportWScalingEnableNV must have been called in the current command buffer prior to this drawing command", "1.3-extensions"}, {"VUID-vkCmdDrawMultiIndexedEXT-None-08675", "If the VK_NV_viewport_swizzle extension is enabled, and a shader object is bound to any graphics stage, then vkCmdSetViewportSwizzleNV must have been called in the current command buffer prior to this drawing command", "1.3-extensions"}, @@ -15033,6 +15103,8 @@ static const vuid_spec_text_pair vuid_spec_text[] = { {"VUID-vkCmdDrawMultiIndexedEXT-None-09368", "If the current render pass instance was begun with vkCmdBeginRendering, there is no shader object bound to any graphics stage, and the currently bound graphics pipeline was created with a non-zero VkExternalFormatANDROID::externalFormat value and with the VK_DYNAMIC_STATE_FRAGMENT_SHADING_RATE_KHR dynamic state enabled, then vkCmdSetFragmentShadingRateKHR must have set pFragmentSize->width to 1 prior to this drawing command", "1.3-extensions"}, {"VUID-vkCmdDrawMultiIndexedEXT-None-09369", "If the current render pass instance was begun with vkCmdBeginRendering, there is no shader object bound to any graphics stage, and the currently bound graphics pipeline was created with a non-zero VkExternalFormatANDROID::externalFormat value and with the VK_DYNAMIC_STATE_FRAGMENT_SHADING_RATE_KHR dynamic state enabled, then vkCmdSetFragmentShadingRateKHR must have set pFragmentSize->height to 1 prior to this drawing command", "1.3-extensions"}, {"VUID-vkCmdDrawMultiIndexedEXT-None-09462", "If shader objects are used for drawing or the bound graphics pipeline state was created with the VK_DYNAMIC_STATE_VERTEX_INPUT_EXT dynamic state enabled, any member of the pVertexBindingDescriptions parameter to the vkCmdSetVertexInputEXT call that sets this dynamic state has a value other than 1 in divisor, and VkPhysicalDeviceVertexAttributeDivisorPropertiesKHR::supportsNonZeroFirstInstance is VK_FALSE, then firstInstance must be 0", "1.3-extensions"}, + {"VUID-vkCmdDrawMultiIndexedEXT-None-09548", "If the current render pass was begun with vkCmdBeginRendering, and there is no shader object bound to any graphics stage, the value of each element of VkRenderingAttachmentLocationInfoKHR::pColorAttachmentLocations set by vkCmdSetRenderingAttachmentLocationsKHR must match the value set for the corresponding element in the currently bound pipeline", "1.3-extensions"}, + {"VUID-vkCmdDrawMultiIndexedEXT-None-09549", "If the current render pass was begun with vkCmdBeginRendering, and there is no shader object bound to any graphics stage, input attachment index mappings in the currently bound pipeline must match those set for the current render pass instance via VkRenderingInputAttachmentIndexInfoKHR", "1.3-extensions"}, {"VUID-vkCmdDrawMultiIndexedEXT-OpImageBlockMatchSADQCOM-06975", "If OpImageBlockMatchSADQCOM is used to read from an VkImageView as a result of this command, then the image view's format features must contain VK_FORMAT_FEATURE_2_BLOCK_MATCHING_BIT_QCOM", "1.3-extensions"}, {"VUID-vkCmdDrawMultiIndexedEXT-OpImageBlockMatchSADQCOM-06976", "If OpImageBlockMatchSADQCOM or OpImageBlockMatchSSDQCOM is used to read from a reference image as result of this command, then the specified reference coordinates must not fail integer texel coordinate validation", "1.3-extensions"}, {"VUID-vkCmdDrawMultiIndexedEXT-OpImageBlockMatchSSDQCOM-06974", "If OpImageBlockMatchSSDQCOM is used to read from an VkImageView as a result of this command, then the image view's format features must contain VK_FORMAT_FEATURE_2_BLOCK_MATCHING_BIT_QCOM", "1.3-extensions"}, @@ -15177,10 +15249,10 @@ static const vuid_spec_text_pair vuid_spec_text[] = { {"VUID-vkCmdDrawMultiIndexedEXT-sparseImageInt64Atomics-04475", "If the sparseImageInt64Atomics feature is not enabled, VkBuffer objects created with the VK_BUFFER_CREATE_SPARSE_RESIDENCY_BIT flag must not be accessed by atomic instructions through an OpTypeImage with a SampledType with a Width of 64 by this command", "1.3-extensions"}, {"VUID-vkCmdDrawMultiIndexedEXT-stage-06481", "The bound graphics pipeline must not have been created with the VkPipelineShaderStageCreateInfo::stage member of an element of VkGraphicsPipelineCreateInfo::pStages set to VK_SHADER_STAGE_TASK_BIT_EXT or VK_SHADER_STAGE_MESH_BIT_EXT", "1.3-extensions"}, {"VUID-vkCmdDrawMultiIndexedEXT-stage-07073", "If the currently bound pipeline was created with the VkPipelineShaderStageCreateInfo::stage member of an element of VkGraphicsPipelineCreateInfo::pStages set to VK_SHADER_STAGE_VERTEX_BIT, VK_SHADER_STAGE_TESSELLATION_CONTROL_BIT, VK_SHADER_STAGE_TESSELLATION_EVALUATION_BIT or VK_SHADER_STAGE_GEOMETRY_BIT, then Mesh Shader Queries must not be active", "1.3-extensions"}, - {"VUID-vkCmdDrawMultiIndexedEXT-stippledLineEnable-07495", "If the bound graphics pipeline state was created with the VK_DYNAMIC_STATE_LINE_STIPPLE_ENABLE_EXT or VK_DYNAMIC_STATE_LINE_RASTERIZATION_MODE_EXT dynamic states enabled, and if the current stippledLineEnable state is VK_TRUE and the current lineRasterizationMode state is VK_LINE_RASTERIZATION_MODE_RECTANGULAR_EXT, then the stippledRectangularLines feature must be enabled", "1.3-extensions"}, - {"VUID-vkCmdDrawMultiIndexedEXT-stippledLineEnable-07496", "If the bound graphics pipeline state was created with the VK_DYNAMIC_STATE_LINE_STIPPLE_ENABLE_EXT or VK_DYNAMIC_STATE_LINE_RASTERIZATION_MODE_EXT dynamic states enabled, and if the current stippledLineEnable state is VK_TRUE and the current lineRasterizationMode state is VK_LINE_RASTERIZATION_MODE_BRESENHAM_EXT, then the stippledBresenhamLines feature must be enabled", "1.3-extensions"}, - {"VUID-vkCmdDrawMultiIndexedEXT-stippledLineEnable-07497", "If the bound graphics pipeline state was created with the VK_DYNAMIC_STATE_LINE_STIPPLE_ENABLE_EXT or VK_DYNAMIC_STATE_LINE_RASTERIZATION_MODE_EXT dynamic states enabled, and if the current stippledLineEnable state is VK_TRUE and the current lineRasterizationMode state is VK_LINE_RASTERIZATION_MODE_RECTANGULAR_SMOOTH_EXT, then the stippledSmoothLines feature must be enabled", "1.3-extensions"}, - {"VUID-vkCmdDrawMultiIndexedEXT-stippledLineEnable-07498", "If the bound graphics pipeline state was created with the VK_DYNAMIC_STATE_LINE_STIPPLE_ENABLE_EXT or VK_DYNAMIC_STATE_LINE_RASTERIZATION_MODE_EXT dynamic states enabled, and if the current stippledLineEnable state is VK_TRUE and the current lineRasterizationMode state is VK_LINE_RASTERIZATION_MODE_DEFAULT_EXT, then the stippledRectangularLines feature must be enabled and VkPhysicalDeviceLimits::strictLines must be VK_TRUE", "1.3-extensions"}, + {"VUID-vkCmdDrawMultiIndexedEXT-stippledLineEnable-07495", "If the bound graphics pipeline state was created with the VK_DYNAMIC_STATE_LINE_STIPPLE_ENABLE_EXT or VK_DYNAMIC_STATE_LINE_RASTERIZATION_MODE_EXT dynamic states enabled, and if the current stippledLineEnable state is VK_TRUE and the current lineRasterizationMode state is VK_LINE_RASTERIZATION_MODE_RECTANGULAR_KHR, then the stippledRectangularLines feature must be enabled", "1.3-extensions"}, + {"VUID-vkCmdDrawMultiIndexedEXT-stippledLineEnable-07496", "If the bound graphics pipeline state was created with the VK_DYNAMIC_STATE_LINE_STIPPLE_ENABLE_EXT or VK_DYNAMIC_STATE_LINE_RASTERIZATION_MODE_EXT dynamic states enabled, and if the current stippledLineEnable state is VK_TRUE and the current lineRasterizationMode state is VK_LINE_RASTERIZATION_MODE_BRESENHAM_KHR, then the stippledBresenhamLines feature must be enabled", "1.3-extensions"}, + {"VUID-vkCmdDrawMultiIndexedEXT-stippledLineEnable-07497", "If the bound graphics pipeline state was created with the VK_DYNAMIC_STATE_LINE_STIPPLE_ENABLE_EXT or VK_DYNAMIC_STATE_LINE_RASTERIZATION_MODE_EXT dynamic states enabled, and if the current stippledLineEnable state is VK_TRUE and the current lineRasterizationMode state is VK_LINE_RASTERIZATION_MODE_RECTANGULAR_SMOOTH_KHR, then the stippledSmoothLines feature must be enabled", "1.3-extensions"}, + {"VUID-vkCmdDrawMultiIndexedEXT-stippledLineEnable-07498", "If the bound graphics pipeline state was created with the VK_DYNAMIC_STATE_LINE_STIPPLE_ENABLE_EXT or VK_DYNAMIC_STATE_LINE_RASTERIZATION_MODE_EXT dynamic states enabled, and if the current stippledLineEnable state is VK_TRUE and the current lineRasterizationMode state is VK_LINE_RASTERIZATION_MODE_DEFAULT_KHR, then the stippledRectangularLines feature must be enabled and VkPhysicalDeviceLimits::strictLines must be VK_TRUE", "1.3-extensions"}, {"VUID-vkCmdDrawMultiIndexedEXT-storageBuffers-06936", "If any stage of the VkPipeline object bound to the pipeline bind point used by this command accesses a storage buffer, and that stage was created without enabling either VK_PIPELINE_ROBUSTNESS_BUFFER_BEHAVIOR_ROBUST_BUFFER_ACCESS_EXT or VK_PIPELINE_ROBUSTNESS_BUFFER_BEHAVIOR_ROBUST_BUFFER_ACCESS_2_EXT for storageBuffers, and the robustBufferAccess feature is not enabled, that stage must not access values outside of the range of the buffer as specified in the descriptor set bound to the same pipeline bind point", "1.3-extensions"}, {"VUID-vkCmdDrawMultiIndexedEXT-stride-04941", "stride must be a multiple of 4", "1.3-extensions"}, {"VUID-vkCmdDrawMultiIndexedEXT-subpass-02685", "The subpass index of the current render pass must be equal to the subpass member of the VkGraphicsPipelineCreateInfo structure specified when creating the VkPipeline bound to VK_PIPELINE_BIND_POINT_GRAPHICS", "1.3-extensions"}, @@ -15407,6 +15479,8 @@ static const vuid_spec_text_pair vuid_spec_text[] = { {"VUID-vkCmdExecuteCommands-pCommandBuffers-06022", "If pCommandBuffers contains any suspended render pass instances, there must be no render pass instances between that render pass instance and any render pass instance that resumes it", "1.3-extensions"}, {"VUID-vkCmdExecuteCommands-pCommandBuffers-06535", "If vkCmdExecuteCommands is being called within a render pass instance and any recorded command in a given element of pCommandBuffers will write to an image subresource as an attachment, commands recorded in elements of pCommandBuffers at a higher index must not read from the memory backing that image subresource in any other way", "1.3-extensions"}, {"VUID-vkCmdExecuteCommands-pCommandBuffers-06536", "If vkCmdExecuteCommands is being called within a render pass instance and any recorded command in a given element of pCommandBuffers will read from an image subresource used as an attachment in any way other than as an attachment, commands recorded in elements of pCommandBuffers at a higher index must not write to that image subresource as an attachment", "1.3-extensions"}, + {"VUID-vkCmdExecuteCommands-pCommandBuffers-09504", "If vkCmdExecuteCommands is being called within a render pass instance begun with vkCmdBeginRendering, the color attachment mapping state specified by VkRenderingAttachmentLocationInfoKHR in the inheritance info of each element of pCommandBuffers and in the current state of commandBuffer must match", "1.3-extensions"}, + {"VUID-vkCmdExecuteCommands-pCommandBuffers-09505", "If vkCmdExecuteCommands is being called within a render pass instance begun with vkCmdBeginRendering, the input attachment mapping state specified by VkRenderingInputAttachmentIndexInfoKHR in the inheritance info of each element of pCommandBuffers and in the current state of commandBuffer must match", "1.3-extensions"}, {"VUID-vkCmdExecuteCommands-pCommandBuffers-parameter", "pCommandBuffers must be a valid pointer to an array of commandBufferCount valid VkCommandBuffer handles", "1.3-extensions"}, {"VUID-vkCmdExecuteCommands-pDepthAttachment-06029", "If vkCmdExecuteCommands is being called within a render pass instance begun with vkCmdBeginRendering, if the VkRenderingInfo::pDepthAttachment->imageView parameter to vkCmdBeginRendering is not VK_NULL_HANDLE, the value of the depthAttachmentFormat member of the VkCommandBufferInheritanceRenderingInfo structure included in the pNext chain of VkCommandBufferBeginInfo::pInheritanceInfo used to begin recording each element of pCommandBuffers must be equal to the format used to create that image view", "1.3-extensions"}, {"VUID-vkCmdExecuteCommands-pDepthAttachment-06774", "If vkCmdExecuteCommands is being called within a render pass instance begun with vkCmdBeginRendering and the VkRenderingInfo::pDepthAttachment->imageView parameter to vkCmdBeginRendering was VK_NULL_HANDLE, the value of the depthAttachmentFormat member of the VkCommandBufferInheritanceRenderingInfo structure included in the pNext chain of VkCommandBufferBeginInfo::pInheritanceInfo used to begin recording each element of pCommandBuffers must be VK_FORMAT_UNDEFINED", "1.3-extensions"}, @@ -15503,7 +15577,7 @@ static const vuid_spec_text_pair vuid_spec_text[] = { {"VUID-vkCmdExecuteGeneratedCommandsNV-None-07846", "If the bound graphics pipeline state was created with the VK_DYNAMIC_STATE_DEPTH_BOUNDS_TEST_ENABLE dynamic state enabled then vkCmdSetDepthBoundsTestEnable must have been called in the current command buffer prior to this drawing command", "1.3-extensions"}, {"VUID-vkCmdExecuteGeneratedCommandsNV-None-07847", "If the bound graphics pipeline state was created with the VK_DYNAMIC_STATE_STENCIL_TEST_ENABLE dynamic state enabled then vkCmdSetStencilTestEnable must have been called in the current command buffer prior to this drawing command", "1.3-extensions"}, {"VUID-vkCmdExecuteGeneratedCommandsNV-None-07848", "If the bound graphics pipeline state was created with the VK_DYNAMIC_STATE_STENCIL_OP dynamic state enabled then vkCmdSetStencilOp must have been called in the current command buffer prior to this drawing command", "1.3-extensions"}, - {"VUID-vkCmdExecuteGeneratedCommandsNV-None-07849", "If the bound graphics pipeline state was created with the VK_DYNAMIC_STATE_LINE_STIPPLE_EXT dynamic state enabled then vkCmdSetLineStippleEXT must have been called in the current command buffer prior to this drawing command", "1.3-extensions"}, + {"VUID-vkCmdExecuteGeneratedCommandsNV-None-07849", "If the bound graphics pipeline state was created with the VK_DYNAMIC_STATE_LINE_STIPPLE_KHR dynamic state enabled then vkCmdSetLineStippleKHR must have been called in the current command buffer prior to this drawing command", "1.3-extensions"}, {"VUID-vkCmdExecuteGeneratedCommandsNV-None-07850", "If dynamic state was inherited from VkCommandBufferInheritanceViewportScissorInfoNV, it must be set in the current command buffer prior to this drawing command", "1.3-extensions"}, {"VUID-vkCmdExecuteGeneratedCommandsNV-None-07878", "If the bound graphics pipeline state was created with the VK_DYNAMIC_STATE_EXCLUSIVE_SCISSOR_ENABLE_NV dynamic state enabled then vkCmdSetExclusiveScissorEnableNV must have been called in the current command buffer prior to this drawing command", "1.3-extensions"}, {"VUID-vkCmdExecuteGeneratedCommandsNV-None-07879", "If the bound graphics pipeline state was created with the VK_DYNAMIC_STATE_EXCLUSIVE_SCISSOR_NV dynamic state enabled then vkCmdSetExclusiveScissorNV must have been called in the current command buffer prior to this drawing command", "1.3-extensions"}, @@ -15574,13 +15648,13 @@ static const vuid_spec_text_pair vuid_spec_text[] = { {"VUID-vkCmdExecuteGeneratedCommandsNV-None-08663", "If the depthClipEnable feature is enabled, and a shader object is bound to any graphics stage, then vkCmdSetDepthClipEnableEXT must have been called in the current command buffer prior to this drawing command", "1.3-extensions"}, {"VUID-vkCmdExecuteGeneratedCommandsNV-None-08664", "If the VK_EXT_sample_locations extension is enabled, and a shader object is bound to any graphics stage, and the most recent call to vkCmdSetRasterizerDiscardEnable in the current command buffer set rasterizerDiscardEnable to VK_FALSE, then vkCmdSetSampleLocationsEnableEXT must have been called in the current command buffer prior to this drawing command", "1.3-extensions"}, {"VUID-vkCmdExecuteGeneratedCommandsNV-None-08665", "If the VK_EXT_provoking_vertex extension is enabled, and a shader object is bound to the VK_SHADER_STAGE_VERTEX_BIT stage, and the most recent call to vkCmdSetRasterizerDiscardEnable in the current command buffer set rasterizerDiscardEnable to VK_FALSE, then vkCmdSetProvokingVertexModeEXT must have been called in the current command buffer prior to this drawing command", "1.3-extensions"}, - {"VUID-vkCmdExecuteGeneratedCommandsNV-None-08666", "If the VK_EXT_line_rasterization extension is enabled, and a shader object is bound to any graphics stage, and the most recent call to vkCmdSetRasterizerDiscardEnable in the current command buffer set rasterizerDiscardEnable to VK_FALSE, and the most recent call to vkCmdSetPolygonModeEXT in the current command buffer set polygonMode to VK_POLYGON_MODE_LINE, then vkCmdSetLineRasterizationModeEXT must have been called in the current command buffer prior to this drawing command", "1.3-extensions"}, - {"VUID-vkCmdExecuteGeneratedCommandsNV-None-08667", "If the VK_EXT_line_rasterization extension is enabled, and a shader object is bound to the VK_SHADER_STAGE_VERTEX_BIT stage, and the most recent call to vkCmdSetRasterizerDiscardEnable in the current command buffer set rasterizerDiscardEnable to VK_FALSE, and the most recent call to vkCmdSetPrimitiveTopology in the current command buffer set primitiveTopology to any line topology, then vkCmdSetLineRasterizationModeEXT must have been called in the current command buffer prior to this drawing command", "1.3-extensions"}, - {"VUID-vkCmdExecuteGeneratedCommandsNV-None-08668", "If the VK_EXT_line_rasterization extension is enabled, and a shader object that outputs line primitives is bound to the VK_SHADER_STAGE_TESSELLATION_EVALUATION_BIT or VK_SHADER_STAGE_GEOMETRY_BIT stage, and the most recent call to vkCmdSetRasterizerDiscardEnable in the current command buffer set rasterizerDiscardEnable to VK_FALSE, then vkCmdSetLineRasterizationModeEXT must have been called in the current command buffer prior to this drawing command", "1.3-extensions"}, - {"VUID-vkCmdExecuteGeneratedCommandsNV-None-08669", "If the VK_EXT_line_rasterization extension is enabled, and a shader object is bound to any graphics stage, and the most recent call to vkCmdSetRasterizerDiscardEnable in the current command buffer set rasterizerDiscardEnable to VK_FALSE, and the most recent call to vkCmdSetPolygonModeEXT in the current command buffer set polygonMode to VK_POLYGON_MODE_LINE, then vkCmdSetLineStippleEnableEXT must have been called in the current command buffer prior to this drawing command", "1.3-extensions"}, - {"VUID-vkCmdExecuteGeneratedCommandsNV-None-08670", "If the VK_EXT_line_rasterization extension is enabled, and a shader object is bound to the VK_SHADER_STAGE_VERTEX_BIT stage, and the most recent call to vkCmdSetRasterizerDiscardEnable in the current command buffer set rasterizerDiscardEnable to VK_FALSE, and the most recent call to vkCmdSetPrimitiveTopology in the current command buffer set primitiveTopology to any line topology, then vkCmdSetLineStippleEnableEXT must have been called in the current command buffer prior to this drawing command", "1.3-extensions"}, - {"VUID-vkCmdExecuteGeneratedCommandsNV-None-08671", "If the VK_EXT_line_rasterization extension is enabled, and a shader object that outputs line primitives is bound to the VK_SHADER_STAGE_TESSELLATION_EVALUATION_BIT or VK_SHADER_STAGE_GEOMETRY_BIT stage, and the most recent call to vkCmdSetRasterizerDiscardEnable in the current command buffer set rasterizerDiscardEnable to VK_FALSE, then vkCmdSetLineStippleEnableEXT must have been called in the current command buffer prior to this drawing command", "1.3-extensions"}, - {"VUID-vkCmdExecuteGeneratedCommandsNV-None-08672", "If the VK_EXT_line_rasterization extension is enabled, and a shader object is bound to any graphics stage, and the most recent call to vkCmdSetRasterizerDiscardEnable in the current command buffer set rasterizerDiscardEnable to VK_FALSE, and the most recent call to vkCmdSetLineStippleEnableEXT in the current command buffer set stippledLineEnable to VK_TRUE, then vkCmdSetLineStippleEXT must have been called in the current command buffer prior to this drawing command", "1.3-extensions"}, + {"VUID-vkCmdExecuteGeneratedCommandsNV-None-08666", "If the VK_KHR_line_rasterization or VK_EXT_line_rasterization extension is enabled, and a shader object is bound to any graphics stage, and the most recent call to vkCmdSetRasterizerDiscardEnable in the current command buffer set rasterizerDiscardEnable to VK_FALSE, and the most recent call to vkCmdSetPolygonModeEXT in the current command buffer set polygonMode to VK_POLYGON_MODE_LINE, then vkCmdSetLineRasterizationModeEXT must have been called in the current command buffer prior to this drawing command", "1.3-extensions"}, + {"VUID-vkCmdExecuteGeneratedCommandsNV-None-08667", "If the VK_KHR_line_rasterization or VK_EXT_line_rasterization extension is enabled, and a shader object is bound to the VK_SHADER_STAGE_VERTEX_BIT stage, and the most recent call to vkCmdSetRasterizerDiscardEnable in the current command buffer set rasterizerDiscardEnable to VK_FALSE, and the most recent call to vkCmdSetPrimitiveTopology in the current command buffer set primitiveTopology to any line topology, then vkCmdSetLineRasterizationModeEXT must have been called in the current command buffer prior to this drawing command", "1.3-extensions"}, + {"VUID-vkCmdExecuteGeneratedCommandsNV-None-08668", "If the VK_KHR_line_rasterization or VK_EXT_line_rasterization extension is enabled, and a shader object that outputs line primitives is bound to the VK_SHADER_STAGE_TESSELLATION_EVALUATION_BIT or VK_SHADER_STAGE_GEOMETRY_BIT stage, and the most recent call to vkCmdSetRasterizerDiscardEnable in the current command buffer set rasterizerDiscardEnable to VK_FALSE, then vkCmdSetLineRasterizationModeEXT must have been called in the current command buffer prior to this drawing command", "1.3-extensions"}, + {"VUID-vkCmdExecuteGeneratedCommandsNV-None-08669", "If the VK_KHR_line_rasterization or VK_EXT_line_rasterization extension is enabled, and a shader object is bound to any graphics stage, and the most recent call to vkCmdSetRasterizerDiscardEnable in the current command buffer set rasterizerDiscardEnable to VK_FALSE, and the most recent call to vkCmdSetPolygonModeEXT in the current command buffer set polygonMode to VK_POLYGON_MODE_LINE, then vkCmdSetLineStippleEnableEXT must have been called in the current command buffer prior to this drawing command", "1.3-extensions"}, + {"VUID-vkCmdExecuteGeneratedCommandsNV-None-08670", "If the VK_KHR_line_rasterization or VK_EXT_line_rasterization extension is enabled, and a shader object is bound to the VK_SHADER_STAGE_VERTEX_BIT stage, and the most recent call to vkCmdSetRasterizerDiscardEnable in the current command buffer set rasterizerDiscardEnable to VK_FALSE, and the most recent call to vkCmdSetPrimitiveTopology in the current command buffer set primitiveTopology to any line topology, then vkCmdSetLineStippleEnableEXT must have been called in the current command buffer prior to this drawing command", "1.3-extensions"}, + {"VUID-vkCmdExecuteGeneratedCommandsNV-None-08671", "If the VK_KHR_line_rasterization or VK_EXT_line_rasterization extension is enabled, and a shader object that outputs line primitives is bound to the VK_SHADER_STAGE_TESSELLATION_EVALUATION_BIT or VK_SHADER_STAGE_GEOMETRY_BIT stage, and the most recent call to vkCmdSetRasterizerDiscardEnable in the current command buffer set rasterizerDiscardEnable to VK_FALSE, then vkCmdSetLineStippleEnableEXT must have been called in the current command buffer prior to this drawing command", "1.3-extensions"}, + {"VUID-vkCmdExecuteGeneratedCommandsNV-None-08672", "If the VK_KHR_line_rasterization or VK_EXT_line_rasterization extension is enabled, and a shader object is bound to any graphics stage, and the most recent call to vkCmdSetRasterizerDiscardEnable in the current command buffer set rasterizerDiscardEnable to VK_FALSE, and the most recent call to vkCmdSetLineStippleEnableEXT in the current command buffer set stippledLineEnable to VK_TRUE, then vkCmdSetLineStippleEXT must have been called in the current command buffer prior to this drawing command", "1.3-extensions"}, {"VUID-vkCmdExecuteGeneratedCommandsNV-None-08673", "If the depthClipControl feature is enabled, and a shader object is bound to any graphics stage, then vkCmdSetDepthClipNegativeOneToOneEXT must have been called in the current command buffer prior to this drawing command", "1.3-extensions"}, {"VUID-vkCmdExecuteGeneratedCommandsNV-None-08674", "If the VK_NV_clip_space_w_scaling extension is enabled, and a shader object is bound to any graphics stage, then vkCmdSetViewportWScalingEnableNV must have been called in the current command buffer prior to this drawing command", "1.3-extensions"}, {"VUID-vkCmdExecuteGeneratedCommandsNV-None-08675", "If the VK_NV_viewport_swizzle extension is enabled, and a shader object is bound to any graphics stage, then vkCmdSetViewportSwizzleNV must have been called in the current command buffer prior to this drawing command", "1.3-extensions"}, @@ -15626,6 +15700,8 @@ static const vuid_spec_text_pair vuid_spec_text[] = { {"VUID-vkCmdExecuteGeneratedCommandsNV-None-09366", "If there is a shader object bound to any graphics stage, and the current render pass includes a color attachment that uses the VK_RESOLVE_MODE_EXTERNAL_FORMAT_DOWNSAMPLE_ANDROID resolve mode, then vkCmdSetColorBlendEnableEXT must have set blend enable to VK_FALSE prior to this drawing command", "1.3-extensions"}, {"VUID-vkCmdExecuteGeneratedCommandsNV-None-09368", "If the current render pass instance was begun with vkCmdBeginRendering, there is no shader object bound to any graphics stage, and the currently bound graphics pipeline was created with a non-zero VkExternalFormatANDROID::externalFormat value and with the VK_DYNAMIC_STATE_FRAGMENT_SHADING_RATE_KHR dynamic state enabled, then vkCmdSetFragmentShadingRateKHR must have set pFragmentSize->width to 1 prior to this drawing command", "1.3-extensions"}, {"VUID-vkCmdExecuteGeneratedCommandsNV-None-09369", "If the current render pass instance was begun with vkCmdBeginRendering, there is no shader object bound to any graphics stage, and the currently bound graphics pipeline was created with a non-zero VkExternalFormatANDROID::externalFormat value and with the VK_DYNAMIC_STATE_FRAGMENT_SHADING_RATE_KHR dynamic state enabled, then vkCmdSetFragmentShadingRateKHR must have set pFragmentSize->height to 1 prior to this drawing command", "1.3-extensions"}, + {"VUID-vkCmdExecuteGeneratedCommandsNV-None-09548", "If the current render pass was begun with vkCmdBeginRendering, and there is no shader object bound to any graphics stage, the value of each element of VkRenderingAttachmentLocationInfoKHR::pColorAttachmentLocations set by vkCmdSetRenderingAttachmentLocationsKHR must match the value set for the corresponding element in the currently bound pipeline", "1.3-extensions"}, + {"VUID-vkCmdExecuteGeneratedCommandsNV-None-09549", "If the current render pass was begun with vkCmdBeginRendering, and there is no shader object bound to any graphics stage, input attachment index mappings in the currently bound pipeline must match those set for the current render pass instance via VkRenderingInputAttachmentIndexInfoKHR", "1.3-extensions"}, {"VUID-vkCmdExecuteGeneratedCommandsNV-OpImageBlockMatchSADQCOM-06975", "If OpImageBlockMatchSADQCOM is used to read from an VkImageView as a result of this command, then the image view's format features must contain VK_FORMAT_FEATURE_2_BLOCK_MATCHING_BIT_QCOM", "1.3-extensions"}, {"VUID-vkCmdExecuteGeneratedCommandsNV-OpImageBlockMatchSADQCOM-06976", "If OpImageBlockMatchSADQCOM or OpImageBlockMatchSSDQCOM is used to read from a reference image as result of this command, then the specified reference coordinates must not fail integer texel coordinate validation", "1.3-extensions"}, {"VUID-vkCmdExecuteGeneratedCommandsNV-OpImageBlockMatchSSDQCOM-06974", "If OpImageBlockMatchSSDQCOM is used to read from an VkImageView as a result of this command, then the image view's format features must contain VK_FORMAT_FEATURE_2_BLOCK_MATCHING_BIT_QCOM", "1.3-extensions"}, @@ -15766,10 +15842,10 @@ static const vuid_spec_text_pair vuid_spec_text[] = { {"VUID-vkCmdExecuteGeneratedCommandsNV-sparseImageInt64Atomics-04475", "If the sparseImageInt64Atomics feature is not enabled, VkBuffer objects created with the VK_BUFFER_CREATE_SPARSE_RESIDENCY_BIT flag must not be accessed by atomic instructions through an OpTypeImage with a SampledType with a Width of 64 by this command", "1.3-extensions"}, {"VUID-vkCmdExecuteGeneratedCommandsNV-stage-06481", "The bound graphics pipeline must not have been created with the VkPipelineShaderStageCreateInfo::stage member of an element of VkGraphicsPipelineCreateInfo::pStages set to VK_SHADER_STAGE_TASK_BIT_EXT or VK_SHADER_STAGE_MESH_BIT_EXT", "1.3-extensions"}, {"VUID-vkCmdExecuteGeneratedCommandsNV-stage-07073", "If the currently bound pipeline was created with the VkPipelineShaderStageCreateInfo::stage member of an element of VkGraphicsPipelineCreateInfo::pStages set to VK_SHADER_STAGE_VERTEX_BIT, VK_SHADER_STAGE_TESSELLATION_CONTROL_BIT, VK_SHADER_STAGE_TESSELLATION_EVALUATION_BIT or VK_SHADER_STAGE_GEOMETRY_BIT, then Mesh Shader Queries must not be active", "1.3-extensions"}, - {"VUID-vkCmdExecuteGeneratedCommandsNV-stippledLineEnable-07495", "If the bound graphics pipeline state was created with the VK_DYNAMIC_STATE_LINE_STIPPLE_ENABLE_EXT or VK_DYNAMIC_STATE_LINE_RASTERIZATION_MODE_EXT dynamic states enabled, and if the current stippledLineEnable state is VK_TRUE and the current lineRasterizationMode state is VK_LINE_RASTERIZATION_MODE_RECTANGULAR_EXT, then the stippledRectangularLines feature must be enabled", "1.3-extensions"}, - {"VUID-vkCmdExecuteGeneratedCommandsNV-stippledLineEnable-07496", "If the bound graphics pipeline state was created with the VK_DYNAMIC_STATE_LINE_STIPPLE_ENABLE_EXT or VK_DYNAMIC_STATE_LINE_RASTERIZATION_MODE_EXT dynamic states enabled, and if the current stippledLineEnable state is VK_TRUE and the current lineRasterizationMode state is VK_LINE_RASTERIZATION_MODE_BRESENHAM_EXT, then the stippledBresenhamLines feature must be enabled", "1.3-extensions"}, - {"VUID-vkCmdExecuteGeneratedCommandsNV-stippledLineEnable-07497", "If the bound graphics pipeline state was created with the VK_DYNAMIC_STATE_LINE_STIPPLE_ENABLE_EXT or VK_DYNAMIC_STATE_LINE_RASTERIZATION_MODE_EXT dynamic states enabled, and if the current stippledLineEnable state is VK_TRUE and the current lineRasterizationMode state is VK_LINE_RASTERIZATION_MODE_RECTANGULAR_SMOOTH_EXT, then the stippledSmoothLines feature must be enabled", "1.3-extensions"}, - {"VUID-vkCmdExecuteGeneratedCommandsNV-stippledLineEnable-07498", "If the bound graphics pipeline state was created with the VK_DYNAMIC_STATE_LINE_STIPPLE_ENABLE_EXT or VK_DYNAMIC_STATE_LINE_RASTERIZATION_MODE_EXT dynamic states enabled, and if the current stippledLineEnable state is VK_TRUE and the current lineRasterizationMode state is VK_LINE_RASTERIZATION_MODE_DEFAULT_EXT, then the stippledRectangularLines feature must be enabled and VkPhysicalDeviceLimits::strictLines must be VK_TRUE", "1.3-extensions"}, + {"VUID-vkCmdExecuteGeneratedCommandsNV-stippledLineEnable-07495", "If the bound graphics pipeline state was created with the VK_DYNAMIC_STATE_LINE_STIPPLE_ENABLE_EXT or VK_DYNAMIC_STATE_LINE_RASTERIZATION_MODE_EXT dynamic states enabled, and if the current stippledLineEnable state is VK_TRUE and the current lineRasterizationMode state is VK_LINE_RASTERIZATION_MODE_RECTANGULAR_KHR, then the stippledRectangularLines feature must be enabled", "1.3-extensions"}, + {"VUID-vkCmdExecuteGeneratedCommandsNV-stippledLineEnable-07496", "If the bound graphics pipeline state was created with the VK_DYNAMIC_STATE_LINE_STIPPLE_ENABLE_EXT or VK_DYNAMIC_STATE_LINE_RASTERIZATION_MODE_EXT dynamic states enabled, and if the current stippledLineEnable state is VK_TRUE and the current lineRasterizationMode state is VK_LINE_RASTERIZATION_MODE_BRESENHAM_KHR, then the stippledBresenhamLines feature must be enabled", "1.3-extensions"}, + {"VUID-vkCmdExecuteGeneratedCommandsNV-stippledLineEnable-07497", "If the bound graphics pipeline state was created with the VK_DYNAMIC_STATE_LINE_STIPPLE_ENABLE_EXT or VK_DYNAMIC_STATE_LINE_RASTERIZATION_MODE_EXT dynamic states enabled, and if the current stippledLineEnable state is VK_TRUE and the current lineRasterizationMode state is VK_LINE_RASTERIZATION_MODE_RECTANGULAR_SMOOTH_KHR, then the stippledSmoothLines feature must be enabled", "1.3-extensions"}, + {"VUID-vkCmdExecuteGeneratedCommandsNV-stippledLineEnable-07498", "If the bound graphics pipeline state was created with the VK_DYNAMIC_STATE_LINE_STIPPLE_ENABLE_EXT or VK_DYNAMIC_STATE_LINE_RASTERIZATION_MODE_EXT dynamic states enabled, and if the current stippledLineEnable state is VK_TRUE and the current lineRasterizationMode state is VK_LINE_RASTERIZATION_MODE_DEFAULT_KHR, then the stippledRectangularLines feature must be enabled and VkPhysicalDeviceLimits::strictLines must be VK_TRUE", "1.3-extensions"}, {"VUID-vkCmdExecuteGeneratedCommandsNV-storageBuffers-06936", "If any stage of the VkPipeline object bound to the pipeline bind point used by this command accesses a storage buffer, and that stage was created without enabling either VK_PIPELINE_ROBUSTNESS_BUFFER_BEHAVIOR_ROBUST_BUFFER_ACCESS_EXT or VK_PIPELINE_ROBUSTNESS_BUFFER_BEHAVIOR_ROBUST_BUFFER_ACCESS_2_EXT for storageBuffers, and the robustBufferAccess feature is not enabled, that stage must not access values outside of the range of the buffer as specified in the descriptor set bound to the same pipeline bind point", "1.3-extensions"}, {"VUID-vkCmdExecuteGeneratedCommandsNV-subpass-02685", "The subpass index of the current render pass must be equal to the subpass member of the VkGraphicsPipelineCreateInfo structure specified when creating the VkPipeline bound to VK_PIPELINE_BIND_POINT_GRAPHICS", "1.3-extensions"}, {"VUID-vkCmdExecuteGeneratedCommandsNV-uniformBuffers-06935", "If any stage of the VkPipeline object bound to the pipeline bind point used by this command accesses a uniform buffer, and that stage was created without enabling either VK_PIPELINE_ROBUSTNESS_BUFFER_BEHAVIOR_ROBUST_BUFFER_ACCESS_EXT or VK_PIPELINE_ROBUSTNESS_BUFFER_BEHAVIOR_ROBUST_BUFFER_ACCESS_2_EXT for uniformBuffers, and the robustBufferAccess feature is not enabled, that stage must not access values outside of the range of the buffer as specified in the descriptor set bound to the same pipeline bind point", "1.3-extensions"}, @@ -15846,13 +15922,14 @@ static const vuid_spec_text_pair vuid_spec_text[] = { {"VUID-vkCmdPipelineBarrier-None-07890", "If vkCmdPipelineBarrier is called within a render pass instance, and the source stage masks of any memory barriers include framebuffer-space stages, destination stage masks of all memory barriers must only include framebuffer-space stages", "1.3-extensions"}, {"VUID-vkCmdPipelineBarrier-None-07892", "If vkCmdPipelineBarrier is called within a render pass instance, the source and destination stage masks of any memory barriers must only include graphics pipeline stages", "1.3-extensions"}, {"VUID-vkCmdPipelineBarrier-None-07893", "If vkCmdPipelineBarrier is called inside a render pass instance, and there is more than one view in the current subpass, dependency flags must include VK_DEPENDENCY_VIEW_LOCAL_BIT", "1.3-extensions"}, - {"VUID-vkCmdPipelineBarrier-None-08719", "If vkCmdPipelineBarrier is called within a render pass instance started with vkCmdBeginRendering, it must adhere to the restrictions in Explicit Render Pass Tile Image Access Synchronization", "1.3-extensions"}, + {"VUID-vkCmdPipelineBarrier-None-09553", "If neither the shaderTileImageColorReadAccess nor shaderTileImageDepthReadAccess features are enabled, and the dynamicRenderingLocalRead feature is not enabled, vkCmdPipelineBarrier must not be called within a render pass instance started with vkCmdBeginRendering", "1.3-extensions"}, + {"VUID-vkCmdPipelineBarrier-None-09554", "If the dynamicRenderingLocalRead feature is not enabled, and vkCmdPipelineBarrier is called within a render pass instance started with vkCmdBeginRendering, there must be no buffer or image memory barriers specified by this command", "1.3-extensions"}, {"VUID-vkCmdPipelineBarrier-bufferMemoryBarrierCount-01178", "If vkCmdPipelineBarrier is called within a render pass instance using a VkRenderPass object, it must not include any buffer memory barriers", "1.3-extensions"}, {"VUID-vkCmdPipelineBarrier-commandBuffer-cmdpool", "The VkCommandPool that commandBuffer was allocated from must support transfer, graphics, compute, decode, or encode operations", "1.3-extensions"}, {"VUID-vkCmdPipelineBarrier-commandBuffer-parameter", "commandBuffer must be a valid VkCommandBuffer handle", "1.3-extensions"}, {"VUID-vkCmdPipelineBarrier-commandBuffer-recording", "commandBuffer must be in the recording state", "1.3-extensions"}, {"VUID-vkCmdPipelineBarrier-dependencyFlags-01186", "If vkCmdPipelineBarrier is called outside of a render pass instance, the dependency flags must not include VK_DEPENDENCY_VIEW_LOCAL_BIT", "1.3-extensions"}, - {"VUID-vkCmdPipelineBarrier-dependencyFlags-07891", "If vkCmdPipelineBarrier is called within a render pass instance, and and the source stage masks of any memory barriers include framebuffer-space stages, then dependencyFlags must include VK_DEPENDENCY_BY_REGION_BIT", "1.3-extensions"}, + {"VUID-vkCmdPipelineBarrier-dependencyFlags-07891", "If vkCmdPipelineBarrier is called within a render pass instance, and the source stage masks of any memory barriers include framebuffer-space stages, then dependencyFlags must include VK_DEPENDENCY_BY_REGION_BIT", "1.3-extensions"}, {"VUID-vkCmdPipelineBarrier-dependencyFlags-parameter", "dependencyFlags must be a valid combination of VkDependencyFlagBits values", "1.3-extensions"}, {"VUID-vkCmdPipelineBarrier-dstAccessMask-02816", "The dstAccessMask member of each element of pMemoryBarriers must only include access flags that are supported by one or more of the pipeline stages in dstStageMask, as specified in the table of supported access types", "1.3-extensions"}, {"VUID-vkCmdPipelineBarrier-dstAccessMask-06257", "If the rayQuery feature is not enabled and a memory barrier dstAccessMask includes VK_ACCESS_ACCELERATION_STRUCTURE_READ_BIT_KHR, dstStageMask must not include any of the VK_PIPELINE_STAGE_*_SHADER_BIT stages except VK_PIPELINE_STAGE_RAY_TRACING_SHADER_BIT_KHR", "1.3-extensions"}, @@ -15871,6 +15948,7 @@ static const vuid_spec_text_pair vuid_spec_text[] = { {"VUID-vkCmdPipelineBarrier-image-04073", "If vkCmdPipelineBarrier is called within a render pass instance using a VkRenderPass object, the image member of any image memory barrier included in this command must be an attachment used in the current subpass both as an input attachment, and as either a color, color resolve, or depth/stencil attachment", "1.3-extensions"}, {"VUID-vkCmdPipelineBarrier-image-09373", "If vkCmdPipelineBarrier is called within a render pass instance using a VkRenderPass object, and the image member of any image memory barrier is a color resolve attachment, the corresponding color attachment must be VK_ATTACHMENT_UNUSED", "1.3-extensions"}, {"VUID-vkCmdPipelineBarrier-image-09374", "If vkCmdPipelineBarrier is called within a render pass instance using a VkRenderPass object, and the image member of any image memory barrier is a color resolve attachment, it must have been created with a non-zero VkExternalFormatANDROID::externalFormat value", "1.3-extensions"}, + {"VUID-vkCmdPipelineBarrier-image-09555", "If vkCmdPipelineBarrier is called within a render pass instance started with vkCmdBeginRendering, and the image member of any image memory barrier is used as an attachment in the current render pass instance, it must be in the VK_IMAGE_LAYOUT_RENDERING_LOCAL_READ_KHR or VK_IMAGE_LAYOUT_GENERAL layout", "1.3-extensions"}, {"VUID-vkCmdPipelineBarrier-oldLayout-01181", "If vkCmdPipelineBarrier is called within a render pass instance, the oldLayout and newLayout members of any image memory barrier included in this command must be equal", "1.3-extensions"}, {"VUID-vkCmdPipelineBarrier-pBufferMemoryBarriers-02817", "For any element of pBufferMemoryBarriers, if its srcQueueFamilyIndex and dstQueueFamilyIndex members are equal, or if its srcQueueFamilyIndex is the queue family index that was used to create the command pool that commandBuffer was allocated from, then its srcAccessMask member must only contain access flags that are supported by one or more of the pipeline stages in srcStageMask, as specified in the table of supported access types", "1.3-extensions"}, {"VUID-vkCmdPipelineBarrier-pBufferMemoryBarriers-02818", "For any element of pBufferMemoryBarriers, if its srcQueueFamilyIndex and dstQueueFamilyIndex members are equal, or if its dstQueueFamilyIndex is the queue family index that was used to create the command pool that commandBuffer was allocated from, then its dstAccessMask member must only contain access flags that are supported by one or more of the pipeline stages in dstStageMask, as specified in the table of supported access types", "1.3-extensions"}, @@ -15879,7 +15957,6 @@ static const vuid_spec_text_pair vuid_spec_text[] = { {"VUID-vkCmdPipelineBarrier-pImageMemoryBarriers-02820", "For any element of pImageMemoryBarriers, if its srcQueueFamilyIndex and dstQueueFamilyIndex members are equal, or if its dstQueueFamilyIndex is the queue family index that was used to create the command pool that commandBuffer was allocated from, then its dstAccessMask member must only contain access flags that are supported by one or more of the pipeline stages in dstStageMask, as specified in the table of supported access types", "1.3-extensions"}, {"VUID-vkCmdPipelineBarrier-pImageMemoryBarriers-parameter", "If imageMemoryBarrierCount is not 0, pImageMemoryBarriers must be a valid pointer to an array of imageMemoryBarrierCount valid VkImageMemoryBarrier structures", "1.3-extensions"}, {"VUID-vkCmdPipelineBarrier-pMemoryBarriers-parameter", "If memoryBarrierCount is not 0, pMemoryBarriers must be a valid pointer to an array of memoryBarrierCount valid VkMemoryBarrier structures", "1.3-extensions"}, - {"VUID-vkCmdPipelineBarrier-shaderTileImageColorReadAccess-08718", "If vkCmdPipelineBarrier is called within a render pass instance and none of the shaderTileImageColorReadAccess, shaderTileImageDepthReadAccess, shaderTileImageStencilReadAccess features are enabled, the render pass must not have been started with vkCmdBeginRendering", "1.3-extensions"}, {"VUID-vkCmdPipelineBarrier-srcAccessMask-02815", "The srcAccessMask member of each element of pMemoryBarriers must only include access flags that are supported by one or more of the pipeline stages in srcStageMask, as specified in the table of supported access types", "1.3-extensions"}, {"VUID-vkCmdPipelineBarrier-srcAccessMask-06257", "If the rayQuery feature is not enabled and a memory barrier srcAccessMask includes VK_ACCESS_ACCELERATION_STRUCTURE_READ_BIT_KHR, srcStageMask must not include any of the VK_PIPELINE_STAGE_*_SHADER_BIT stages except VK_PIPELINE_STAGE_RAY_TRACING_SHADER_BIT_KHR", "1.3-extensions"}, {"VUID-vkCmdPipelineBarrier-srcQueueFamilyIndex-01182", "If vkCmdPipelineBarrier is called within a render pass instance, the srcQueueFamilyIndex and dstQueueFamilyIndex members of any memory barrier included in this command must be equal", "1.3-extensions"}, @@ -15894,27 +15971,30 @@ static const vuid_spec_text_pair vuid_spec_text[] = { {"VUID-vkCmdPipelineBarrier-srcStageMask-06461", "Any pipeline stage included in srcStageMask must be supported by the capabilities of the queue family specified by the queueFamilyIndex member of the VkCommandPoolCreateInfo structure that was used to create the VkCommandPool that commandBuffer was allocated from, as specified in the table of supported pipeline stages", "1.3-extensions"}, {"VUID-vkCmdPipelineBarrier-srcStageMask-07318", "If neither the shadingRateImage or attachmentFragmentShadingRate are enabled, srcStageMask must not contain VK_PIPELINE_STAGE_FRAGMENT_SHADING_RATE_ATTACHMENT_BIT_KHR", "1.3-extensions"}, {"VUID-vkCmdPipelineBarrier-srcStageMask-07949", "If neither the VK_NV_ray_tracing extension or rayTracingPipeline feature are enabled, srcStageMask must not contain VK_PIPELINE_STAGE_RAY_TRACING_SHADER_BIT_KHR", "1.3-extensions"}, + {"VUID-vkCmdPipelineBarrier-srcStageMask-09556", "If vkCmdPipelineBarrier is called within a render pass instance started with vkCmdBeginRendering, this command must only specify framebuffer-space stages in srcStageMask and dstStageMask", "1.3-extensions"}, {"VUID-vkCmdPipelineBarrier-srcStageMask-parameter", "srcStageMask must be a valid combination of VkPipelineStageFlagBits values", "1.3-extensions"}, {"VUID-vkCmdPipelineBarrier2-None-07889", "If vkCmdPipelineBarrier2 is called within a render pass instance using a VkRenderPass object, the render pass must have been created with at least one subpass dependency that expresses a dependency from the current subpass to itself, does not include VK_DEPENDENCY_BY_REGION_BIT if this command does not, does not include VK_DEPENDENCY_VIEW_LOCAL_BIT if this command does not, and has synchronization scopes and access scopes that are all supersets of the scopes defined in this command", "1.3-extensions"}, {"VUID-vkCmdPipelineBarrier2-None-07890", "If vkCmdPipelineBarrier2 is called within a render pass instance, and the source stage masks of any memory barriers include framebuffer-space stages, destination stage masks of all memory barriers must only include framebuffer-space stages", "1.3-extensions"}, {"VUID-vkCmdPipelineBarrier2-None-07892", "If vkCmdPipelineBarrier2 is called within a render pass instance, the source and destination stage masks of any memory barriers must only include graphics pipeline stages", "1.3-extensions"}, {"VUID-vkCmdPipelineBarrier2-None-07893", "If vkCmdPipelineBarrier2 is called inside a render pass instance, and there is more than one view in the current subpass, dependency flags must include VK_DEPENDENCY_VIEW_LOCAL_BIT", "1.3-extensions"}, - {"VUID-vkCmdPipelineBarrier2-None-08719", "If vkCmdPipelineBarrier2 is called within a render pass instance started with vkCmdBeginRendering, it must adhere to the restrictions in Explicit Render Pass Tile Image Access Synchronization", "1.3-extensions"}, + {"VUID-vkCmdPipelineBarrier2-None-09553", "If neither the shaderTileImageColorReadAccess nor shaderTileImageDepthReadAccess features are enabled, and the dynamicRenderingLocalRead feature is not enabled, vkCmdPipelineBarrier2 must not be called within a render pass instance started with vkCmdBeginRendering", "1.3-extensions"}, + {"VUID-vkCmdPipelineBarrier2-None-09554", "If the dynamicRenderingLocalRead feature is not enabled, and vkCmdPipelineBarrier2 is called within a render pass instance started with vkCmdBeginRendering, there must be no buffer or image memory barriers specified by this command", "1.3-extensions"}, {"VUID-vkCmdPipelineBarrier2-bufferMemoryBarrierCount-01178", "If vkCmdPipelineBarrier2 is called within a render pass instance using a VkRenderPass object, it must not include any buffer memory barriers", "1.3-extensions"}, {"VUID-vkCmdPipelineBarrier2-commandBuffer-cmdpool", "The VkCommandPool that commandBuffer was allocated from must support transfer, graphics, compute, decode, or encode operations", "1.3-extensions"}, {"VUID-vkCmdPipelineBarrier2-commandBuffer-parameter", "commandBuffer must be a valid VkCommandBuffer handle", "1.3-extensions"}, {"VUID-vkCmdPipelineBarrier2-commandBuffer-recording", "commandBuffer must be in the recording state", "1.3-extensions"}, {"VUID-vkCmdPipelineBarrier2-dependencyFlags-01186", "If vkCmdPipelineBarrier2 is called outside of a render pass instance, the dependency flags must not include VK_DEPENDENCY_VIEW_LOCAL_BIT", "1.3-extensions"}, - {"VUID-vkCmdPipelineBarrier2-dependencyFlags-07891", "If vkCmdPipelineBarrier2 is called within a render pass instance, and and the source stage masks of any memory barriers include framebuffer-space stages, then dependencyFlags must include VK_DEPENDENCY_BY_REGION_BIT", "1.3-extensions"}, + {"VUID-vkCmdPipelineBarrier2-dependencyFlags-07891", "If vkCmdPipelineBarrier2 is called within a render pass instance, and the source stage masks of any memory barriers include framebuffer-space stages, then dependencyFlags must include VK_DEPENDENCY_BY_REGION_BIT", "1.3-extensions"}, {"VUID-vkCmdPipelineBarrier2-dstStageMask-03850", "The dstStageMask member of any element of the pMemoryBarriers, pBufferMemoryBarriers, or pImageMemoryBarriers members of pDependencyInfo must only include pipeline stages valid for the queue family that was used to create the command pool that commandBuffer was allocated from", "1.3-extensions"}, {"VUID-vkCmdPipelineBarrier2-image-04073", "If vkCmdPipelineBarrier2 is called within a render pass instance using a VkRenderPass object, the image member of any image memory barrier included in this command must be an attachment used in the current subpass both as an input attachment, and as either a color, color resolve, or depth/stencil attachment", "1.3-extensions"}, {"VUID-vkCmdPipelineBarrier2-image-09373", "If vkCmdPipelineBarrier2 is called within a render pass instance using a VkRenderPass object, and the image member of any image memory barrier is a color resolve attachment, the corresponding color attachment must be VK_ATTACHMENT_UNUSED", "1.3-extensions"}, {"VUID-vkCmdPipelineBarrier2-image-09374", "If vkCmdPipelineBarrier2 is called within a render pass instance using a VkRenderPass object, and the image member of any image memory barrier is a color resolve attachment, it must have been created with a non-zero VkExternalFormatANDROID::externalFormat value", "1.3-extensions"}, + {"VUID-vkCmdPipelineBarrier2-image-09555", "If vkCmdPipelineBarrier2 is called within a render pass instance started with vkCmdBeginRendering, and the image member of any image memory barrier is used as an attachment in the current render pass instance, it must be in the VK_IMAGE_LAYOUT_RENDERING_LOCAL_READ_KHR or VK_IMAGE_LAYOUT_GENERAL layout", "1.3-extensions"}, {"VUID-vkCmdPipelineBarrier2-oldLayout-01181", "If vkCmdPipelineBarrier2 is called within a render pass instance, the oldLayout and newLayout members of any image memory barrier included in this command must be equal", "1.3-extensions"}, {"VUID-vkCmdPipelineBarrier2-pDependencyInfo-parameter", "pDependencyInfo must be a valid pointer to a valid VkDependencyInfo structure", "1.3-extensions"}, - {"VUID-vkCmdPipelineBarrier2-shaderTileImageColorReadAccess-08718", "If vkCmdPipelineBarrier2 is called within a render pass instance and none of the shaderTileImageColorReadAccess, shaderTileImageDepthReadAccess, shaderTileImageStencilReadAccess features are enabled, the render pass must not have been started with vkCmdBeginRendering", "1.3-extensions"}, {"VUID-vkCmdPipelineBarrier2-srcQueueFamilyIndex-01182", "If vkCmdPipelineBarrier2 is called within a render pass instance, the srcQueueFamilyIndex and dstQueueFamilyIndex members of any memory barrier included in this command must be equal", "1.3-extensions"}, {"VUID-vkCmdPipelineBarrier2-srcStageMask-03849", "The srcStageMask member of any element of the pMemoryBarriers, pBufferMemoryBarriers, or pImageMemoryBarriers members of pDependencyInfo must only include pipeline stages valid for the queue family that was used to create the command pool that commandBuffer was allocated from", "1.3-extensions"}, + {"VUID-vkCmdPipelineBarrier2-srcStageMask-09556", "If vkCmdPipelineBarrier2 is called within a render pass instance started with vkCmdBeginRendering, this command must only specify framebuffer-space stages in srcStageMask and dstStageMask", "1.3-extensions"}, {"VUID-vkCmdPipelineBarrier2-synchronization2-03848", "The synchronization2 feature must be enabled", "1.3-extensions"}, {"VUID-vkCmdPreprocessGeneratedCommandsNV-commandBuffer-02974", "commandBuffer must not be a protected command buffer", "1.3-extensions"}, {"VUID-vkCmdPreprocessGeneratedCommandsNV-commandBuffer-cmdpool", "The VkCommandPool that commandBuffer was allocated from must support graphics, or compute operations", "1.3-extensions"}, @@ -16432,21 +16512,21 @@ static const vuid_spec_text_pair vuid_spec_text[] = { {"VUID-vkCmdSetLineRasterizationModeEXT-commandBuffer-cmdpool", "The VkCommandPool that commandBuffer was allocated from must support graphics operations", "1.3-extensions"}, {"VUID-vkCmdSetLineRasterizationModeEXT-commandBuffer-parameter", "commandBuffer must be a valid VkCommandBuffer handle", "1.3-extensions"}, {"VUID-vkCmdSetLineRasterizationModeEXT-commandBuffer-recording", "commandBuffer must be in the recording state", "1.3-extensions"}, - {"VUID-vkCmdSetLineRasterizationModeEXT-lineRasterizationMode-07418", "If lineRasterizationMode is VK_LINE_RASTERIZATION_MODE_RECTANGULAR_EXT, then the rectangularLines feature must be enabled", "1.3-extensions"}, - {"VUID-vkCmdSetLineRasterizationModeEXT-lineRasterizationMode-07419", "If lineRasterizationMode is VK_LINE_RASTERIZATION_MODE_BRESENHAM_EXT, then the bresenhamLines feature must be enabled", "1.3-extensions"}, - {"VUID-vkCmdSetLineRasterizationModeEXT-lineRasterizationMode-07420", "If lineRasterizationMode is VK_LINE_RASTERIZATION_MODE_RECTANGULAR_SMOOTH_EXT, then the smoothLines feature must be enabled", "1.3-extensions"}, + {"VUID-vkCmdSetLineRasterizationModeEXT-lineRasterizationMode-07418", "If lineRasterizationMode is VK_LINE_RASTERIZATION_MODE_RECTANGULAR_KHR, then the rectangularLines feature must be enabled", "1.3-extensions"}, + {"VUID-vkCmdSetLineRasterizationModeEXT-lineRasterizationMode-07419", "If lineRasterizationMode is VK_LINE_RASTERIZATION_MODE_BRESENHAM_KHR, then the bresenhamLines feature must be enabled", "1.3-extensions"}, + {"VUID-vkCmdSetLineRasterizationModeEXT-lineRasterizationMode-07420", "If lineRasterizationMode is VK_LINE_RASTERIZATION_MODE_RECTANGULAR_SMOOTH_KHR, then the smoothLines feature must be enabled", "1.3-extensions"}, {"VUID-vkCmdSetLineRasterizationModeEXT-lineRasterizationMode-parameter", "lineRasterizationMode must be a valid VkLineRasterizationModeEXT value", "1.3-extensions"}, {"VUID-vkCmdSetLineRasterizationModeEXT-videocoding", "This command must only be called outside of a video coding scope", "1.3-extensions"}, - {"VUID-vkCmdSetLineStippleEXT-commandBuffer-cmdpool", "The VkCommandPool that commandBuffer was allocated from must support graphics operations", "1.3-extensions"}, - {"VUID-vkCmdSetLineStippleEXT-commandBuffer-parameter", "commandBuffer must be a valid VkCommandBuffer handle", "1.3-extensions"}, - {"VUID-vkCmdSetLineStippleEXT-commandBuffer-recording", "commandBuffer must be in the recording state", "1.3-extensions"}, {"VUID-vkCmdSetLineStippleEXT-lineStippleFactor-02776", "lineStippleFactor must be in the range [1,256]", "1.3-extensions"}, - {"VUID-vkCmdSetLineStippleEXT-videocoding", "This command must only be called outside of a video coding scope", "1.3-extensions"}, {"VUID-vkCmdSetLineStippleEnableEXT-None-09423", "At least one of the following must be true: The extendedDynamicState3LineStippleEnable feature is enabled The shaderObject feature is enabled", "1.3-extensions"}, {"VUID-vkCmdSetLineStippleEnableEXT-commandBuffer-cmdpool", "The VkCommandPool that commandBuffer was allocated from must support graphics operations", "1.3-extensions"}, {"VUID-vkCmdSetLineStippleEnableEXT-commandBuffer-parameter", "commandBuffer must be a valid VkCommandBuffer handle", "1.3-extensions"}, {"VUID-vkCmdSetLineStippleEnableEXT-commandBuffer-recording", "commandBuffer must be in the recording state", "1.3-extensions"}, {"VUID-vkCmdSetLineStippleEnableEXT-videocoding", "This command must only be called outside of a video coding scope", "1.3-extensions"}, + {"VUID-vkCmdSetLineStippleKHR-commandBuffer-cmdpool", "The VkCommandPool that commandBuffer was allocated from must support graphics operations", "1.3-extensions"}, + {"VUID-vkCmdSetLineStippleKHR-commandBuffer-parameter", "commandBuffer must be a valid VkCommandBuffer handle", "1.3-extensions"}, + {"VUID-vkCmdSetLineStippleKHR-commandBuffer-recording", "commandBuffer must be in the recording state", "1.3-extensions"}, + {"VUID-vkCmdSetLineStippleKHR-videocoding", "This command must only be called outside of a video coding scope", "1.3-extensions"}, {"VUID-vkCmdSetLineWidth-commandBuffer-cmdpool", "The VkCommandPool that commandBuffer was allocated from must support graphics operations", "1.3-extensions"}, {"VUID-vkCmdSetLineWidth-commandBuffer-parameter", "commandBuffer must be a valid VkCommandBuffer handle", "1.3-extensions"}, {"VUID-vkCmdSetLineWidth-commandBuffer-recording", "commandBuffer must be in the recording state", "1.3-extensions"}, @@ -16537,6 +16617,24 @@ static const vuid_spec_text_pair vuid_spec_text[] = { {"VUID-vkCmdSetRayTracingPipelineStackSizeKHR-pipelineStackSize-03610", "pipelineStackSize must be large enough for any dynamic execution through the shaders in the ray tracing pipeline used by a subsequent trace call", "1.3-extensions"}, {"VUID-vkCmdSetRayTracingPipelineStackSizeKHR-renderpass", "This command must only be called outside of a render pass instance", "1.3-extensions"}, {"VUID-vkCmdSetRayTracingPipelineStackSizeKHR-videocoding", "This command must only be called outside of a video coding scope", "1.3-extensions"}, + {"VUID-vkCmdSetRenderingAttachmentLocationsKHR-commandBuffer-09511", "The current render pass instance must have been started or resumed by vkCmdBeginRendering in this commandBuffer", "1.3-extensions"}, + {"VUID-vkCmdSetRenderingAttachmentLocationsKHR-commandBuffer-cmdpool", "The VkCommandPool that commandBuffer was allocated from must support graphics operations", "1.3-extensions"}, + {"VUID-vkCmdSetRenderingAttachmentLocationsKHR-commandBuffer-parameter", "commandBuffer must be a valid VkCommandBuffer handle", "1.3-extensions"}, + {"VUID-vkCmdSetRenderingAttachmentLocationsKHR-commandBuffer-recording", "commandBuffer must be in the recording state", "1.3-extensions"}, + {"VUID-vkCmdSetRenderingAttachmentLocationsKHR-dynamicRenderingLocalRead-09509", "dynamicRenderingLocalRead must be enabled", "1.3-extensions"}, + {"VUID-vkCmdSetRenderingAttachmentLocationsKHR-pLocationInfo-09510", "pLocationInfo->colorAttachmentCount must be equal to the value of VkRenderingInfo::colorAttachmentCount used to begin the current render pass instance", "1.3-extensions"}, + {"VUID-vkCmdSetRenderingAttachmentLocationsKHR-pLocationInfo-parameter", "pLocationInfo must be a valid pointer to a valid VkRenderingAttachmentLocationInfoKHR structure", "1.3-extensions"}, + {"VUID-vkCmdSetRenderingAttachmentLocationsKHR-renderpass", "This command must only be called inside of a render pass instance", "1.3-extensions"}, + {"VUID-vkCmdSetRenderingAttachmentLocationsKHR-videocoding", "This command must only be called outside of a video coding scope", "1.3-extensions"}, + {"VUID-vkCmdSetRenderingInputAttachmentIndicesKHR-commandBuffer-09518", "The current render pass instance must have been started or resumed by vkCmdBeginRendering in this commandBuffer", "1.3-extensions"}, + {"VUID-vkCmdSetRenderingInputAttachmentIndicesKHR-commandBuffer-cmdpool", "The VkCommandPool that commandBuffer was allocated from must support graphics operations", "1.3-extensions"}, + {"VUID-vkCmdSetRenderingInputAttachmentIndicesKHR-commandBuffer-parameter", "commandBuffer must be a valid VkCommandBuffer handle", "1.3-extensions"}, + {"VUID-vkCmdSetRenderingInputAttachmentIndicesKHR-commandBuffer-recording", "commandBuffer must be in the recording state", "1.3-extensions"}, + {"VUID-vkCmdSetRenderingInputAttachmentIndicesKHR-dynamicRenderingLocalRead-09516", "dynamicRenderingLocalRead must be enabled", "1.3-extensions"}, + {"VUID-vkCmdSetRenderingInputAttachmentIndicesKHR-pInputAttachmentIndexInfo-09517", "pInputAttachmentIndexInfo->colorAttachmentCount must be equal to the value of VkRenderingInfo::colorAttachmentCount used to begin the current render pass instance", "1.3-extensions"}, + {"VUID-vkCmdSetRenderingInputAttachmentIndicesKHR-pLocationInfo-parameter", "pLocationInfo must be a valid pointer to a valid VkRenderingInputAttachmentIndexInfoKHR structure", "1.3-extensions"}, + {"VUID-vkCmdSetRenderingInputAttachmentIndicesKHR-renderpass", "This command must only be called inside of a render pass instance", "1.3-extensions"}, + {"VUID-vkCmdSetRenderingInputAttachmentIndicesKHR-videocoding", "This command must only be called outside of a video coding scope", "1.3-extensions"}, {"VUID-vkCmdSetRepresentativeFragmentTestEnableNV-None-09423", "At least one of the following must be true: The extendedDynamicState3RepresentativeFragmentTestEnable feature is enabled The shaderObject feature is enabled", "1.3-extensions"}, {"VUID-vkCmdSetRepresentativeFragmentTestEnableNV-commandBuffer-cmdpool", "The VkCommandPool that commandBuffer was allocated from must support graphics operations", "1.3-extensions"}, {"VUID-vkCmdSetRepresentativeFragmentTestEnableNV-commandBuffer-parameter", "commandBuffer must be a valid VkCommandBuffer handle", "1.3-extensions"}, @@ -17402,7 +17500,6 @@ static const vuid_spec_text_pair vuid_spec_text[] = { {"VUID-vkCopyAccelerationStructureKHR-buffer-03728", "The buffer used to create pInfo->dst must be bound to host-visible device memory feature must be enabled", "1.3-extensions"}, {"VUID-vkCopyAccelerationStructureKHR-buffer-03780", "The buffer used to create pInfo->src must be bound to memory that was not allocated with multiple instances", "1.3-extensions"}, {"VUID-vkCopyAccelerationStructureKHR-buffer-03781", "The buffer used to create pInfo->dst must be bound to memory that was not allocated with multiple instances", "1.3-extensions"}, - {"VUID-vkCopyAccelerationStructureKHR-deferredOperation-03677", "If deferredOperation is not VK_NULL_HANDLE, it must be a valid VkDeferredOperationKHR object", "1.3-extensions"}, {"VUID-vkCopyAccelerationStructureKHR-deferredOperation-03678", "Any previous deferred operation that was associated with deferredOperation must be complete", "1.3-extensions"}, {"VUID-vkCopyAccelerationStructureKHR-deferredOperation-parameter", "If deferredOperation is not VK_NULL_HANDLE, deferredOperation must be a valid VkDeferredOperationKHR handle", "1.3-extensions"}, {"VUID-vkCopyAccelerationStructureKHR-deferredOperation-parent", "If deferredOperation is a valid handle, it must have been created, allocated, or retrieved from device", "1.3-extensions"}, @@ -17411,7 +17508,6 @@ static const vuid_spec_text_pair vuid_spec_text[] = { {"VUID-vkCopyAccelerationStructureToMemoryKHR-accelerationStructureHostCommands-03584", "The VkPhysicalDeviceAccelerationStructureFeaturesKHR::accelerationStructureHostCommands feature must be enabled", "1.3-extensions"}, {"VUID-vkCopyAccelerationStructureToMemoryKHR-buffer-03731", "The buffer used to create pInfo->src must be bound to host-visible device memory", "1.3-extensions"}, {"VUID-vkCopyAccelerationStructureToMemoryKHR-buffer-03783", "The buffer used to create pInfo->src must be bound to memory that was not allocated with multiple instances", "1.3-extensions"}, - {"VUID-vkCopyAccelerationStructureToMemoryKHR-deferredOperation-03677", "If deferredOperation is not VK_NULL_HANDLE, it must be a valid VkDeferredOperationKHR object", "1.3-extensions"}, {"VUID-vkCopyAccelerationStructureToMemoryKHR-deferredOperation-03678", "Any previous deferred operation that was associated with deferredOperation must be complete", "1.3-extensions"}, {"VUID-vkCopyAccelerationStructureToMemoryKHR-deferredOperation-parameter", "If deferredOperation is not VK_NULL_HANDLE, deferredOperation must be a valid VkDeferredOperationKHR handle", "1.3-extensions"}, {"VUID-vkCopyAccelerationStructureToMemoryKHR-deferredOperation-parent", "If deferredOperation is a valid handle, it must have been created, allocated, or retrieved from device", "1.3-extensions"}, @@ -17428,7 +17524,6 @@ static const vuid_spec_text_pair vuid_spec_text[] = { {"VUID-vkCopyMemoryToAccelerationStructureKHR-accelerationStructureHostCommands-03583", "The VkPhysicalDeviceAccelerationStructureFeaturesKHR::accelerationStructureHostCommands feature must be enabled", "1.3-extensions"}, {"VUID-vkCopyMemoryToAccelerationStructureKHR-buffer-03730", "The buffer used to create pInfo->dst must be bound to host-visible device memory", "1.3-extensions"}, {"VUID-vkCopyMemoryToAccelerationStructureKHR-buffer-03782", "The buffer used to create pInfo->dst must be bound to memory that was not allocated with multiple instances", "1.3-extensions"}, - {"VUID-vkCopyMemoryToAccelerationStructureKHR-deferredOperation-03677", "If deferredOperation is not VK_NULL_HANDLE, it must be a valid VkDeferredOperationKHR object", "1.3-extensions"}, {"VUID-vkCopyMemoryToAccelerationStructureKHR-deferredOperation-03678", "Any previous deferred operation that was associated with deferredOperation must be complete", "1.3-extensions"}, {"VUID-vkCopyMemoryToAccelerationStructureKHR-deferredOperation-parameter", "If deferredOperation is not VK_NULL_HANDLE, deferredOperation must be a valid VkDeferredOperationKHR handle", "1.3-extensions"}, {"VUID-vkCopyMemoryToAccelerationStructureKHR-deferredOperation-parent", "If deferredOperation is a valid handle, it must have been created, allocated, or retrieved from device", "1.3-extensions"}, @@ -17441,7 +17536,6 @@ static const vuid_spec_text_pair vuid_spec_text[] = { {"VUID-vkCopyMemoryToImageEXT-pCopyMemoryToImageInfo-parameter", "pCopyMemoryToImageInfo must be a valid pointer to a valid VkCopyMemoryToImageInfoEXT structure", "1.3-extensions"}, {"VUID-vkCopyMemoryToMicromapEXT-buffer-07565", "The buffer used to create pInfo->dst must be bound to host-visible device memory", "1.3-extensions"}, {"VUID-vkCopyMemoryToMicromapEXT-buffer-07567", "The buffer used to create pInfo->dst must be bound to memory that was not allocated with multiple instances", "1.3-extensions"}, - {"VUID-vkCopyMemoryToMicromapEXT-deferredOperation-03677", "If deferredOperation is not VK_NULL_HANDLE, it must be a valid VkDeferredOperationKHR object", "1.3-extensions"}, {"VUID-vkCopyMemoryToMicromapEXT-deferredOperation-03678", "Any previous deferred operation that was associated with deferredOperation must be complete", "1.3-extensions"}, {"VUID-vkCopyMemoryToMicromapEXT-deferredOperation-parameter", "If deferredOperation is not VK_NULL_HANDLE, deferredOperation must be a valid VkDeferredOperationKHR handle", "1.3-extensions"}, {"VUID-vkCopyMemoryToMicromapEXT-deferredOperation-parent", "If deferredOperation is a valid handle, it must have been created, allocated, or retrieved from device", "1.3-extensions"}, @@ -17454,7 +17548,6 @@ static const vuid_spec_text_pair vuid_spec_text[] = { {"VUID-vkCopyMicromapEXT-buffer-07559", "The buffer used to create pInfo->dst must be bound to host-visible device memory", "1.3-extensions"}, {"VUID-vkCopyMicromapEXT-buffer-07561", "The buffer used to create pInfo->src must be bound to memory that was not allocated with multiple instances", "1.3-extensions"}, {"VUID-vkCopyMicromapEXT-buffer-07562", "The buffer used to create pInfo->dst must be bound to memory that was not allocated with multiple instances", "1.3-extensions"}, - {"VUID-vkCopyMicromapEXT-deferredOperation-03677", "If deferredOperation is not VK_NULL_HANDLE, it must be a valid VkDeferredOperationKHR object", "1.3-extensions"}, {"VUID-vkCopyMicromapEXT-deferredOperation-03678", "Any previous deferred operation that was associated with deferredOperation must be complete", "1.3-extensions"}, {"VUID-vkCopyMicromapEXT-deferredOperation-parameter", "If deferredOperation is not VK_NULL_HANDLE, deferredOperation must be a valid VkDeferredOperationKHR handle", "1.3-extensions"}, {"VUID-vkCopyMicromapEXT-deferredOperation-parent", "If deferredOperation is a valid handle, it must have been created, allocated, or retrieved from device", "1.3-extensions"}, @@ -17463,7 +17556,6 @@ static const vuid_spec_text_pair vuid_spec_text[] = { {"VUID-vkCopyMicromapEXT-pInfo-parameter", "pInfo must be a valid pointer to a valid VkCopyMicromapInfoEXT structure", "1.3-extensions"}, {"VUID-vkCopyMicromapToMemoryEXT-buffer-07568", "The buffer used to create pInfo->src must be bound to host-visible device memory", "1.3-extensions"}, {"VUID-vkCopyMicromapToMemoryEXT-buffer-07572", "The buffer used to create pInfo->src must be bound to memory that was not allocated with multiple instances", "1.3-extensions"}, - {"VUID-vkCopyMicromapToMemoryEXT-deferredOperation-03677", "If deferredOperation is not VK_NULL_HANDLE, it must be a valid VkDeferredOperationKHR object", "1.3-extensions"}, {"VUID-vkCopyMicromapToMemoryEXT-deferredOperation-03678", "Any previous deferred operation that was associated with deferredOperation must be complete", "1.3-extensions"}, {"VUID-vkCopyMicromapToMemoryEXT-deferredOperation-parameter", "If deferredOperation is not VK_NULL_HANDLE, deferredOperation must be a valid VkDeferredOperationKHR handle", "1.3-extensions"}, {"VUID-vkCopyMicromapToMemoryEXT-deferredOperation-parent", "If deferredOperation is a valid handle, it must have been created, allocated, or retrieved from device", "1.3-extensions"}, @@ -17683,7 +17775,6 @@ static const vuid_spec_text_pair vuid_spec_text[] = { {"VUID-vkCreateQueryPool-pQueryPool-parameter", "pQueryPool must be a valid pointer to a VkQueryPool handle", "1.3-extensions"}, {"VUID-vkCreateRayTracingPipelinesKHR-createInfoCount-arraylength", "createInfoCount must be greater than 0", "1.3-extensions"}, {"VUID-vkCreateRayTracingPipelinesKHR-deferredOperation-03587", "If deferredOperation is not VK_NULL_HANDLE, the flags member of elements of pCreateInfos must not include VK_PIPELINE_CREATE_EARLY_RETURN_ON_FAILURE_BIT", "1.3-extensions"}, - {"VUID-vkCreateRayTracingPipelinesKHR-deferredOperation-03677", "If deferredOperation is not VK_NULL_HANDLE, it must be a valid VkDeferredOperationKHR object", "1.3-extensions"}, {"VUID-vkCreateRayTracingPipelinesKHR-deferredOperation-03678", "Any previous deferred operation that was associated with deferredOperation must be complete", "1.3-extensions"}, {"VUID-vkCreateRayTracingPipelinesKHR-deferredOperation-parameter", "If deferredOperation is not VK_NULL_HANDLE, deferredOperation must be a valid VkDeferredOperationKHR handle", "1.3-extensions"}, {"VUID-vkCreateRayTracingPipelinesKHR-deferredOperation-parent", "If deferredOperation is a valid handle, it must have been created, allocated, or retrieved from device", "1.3-extensions"}, @@ -18042,8 +18133,8 @@ static const vuid_spec_text_pair vuid_spec_text[] = { {"VUID-vkDestroyShaderEXT-pAllocator-08484", "If no VkAllocationCallbacks were provided when shader was created, pAllocator must be NULL", "1.3-extensions"}, {"VUID-vkDestroyShaderEXT-pAllocator-parameter", "If pAllocator is not NULL, pAllocator must be a valid pointer to a valid VkAllocationCallbacks structure", "1.3-extensions"}, {"VUID-vkDestroyShaderEXT-shader-08482", "All submitted commands that refer to shader must have completed execution", "1.3-extensions"}, - {"VUID-vkDestroyShaderEXT-shader-parameter", "shader must be a valid VkShaderEXT handle", "1.3-extensions"}, - {"VUID-vkDestroyShaderEXT-shader-parent", "shader must have been created, allocated, or retrieved from device", "1.3-extensions"}, + {"VUID-vkDestroyShaderEXT-shader-parameter", "If shader is not VK_NULL_HANDLE, shader must be a valid VkShaderEXT handle", "1.3-extensions"}, + {"VUID-vkDestroyShaderEXT-shader-parent", "If shader is a valid handle, it must have been created, allocated, or retrieved from device", "1.3-extensions"}, {"VUID-vkDestroyShaderModule-device-parameter", "device must be a valid VkDevice handle", "1.3-extensions"}, {"VUID-vkDestroyShaderModule-pAllocator-parameter", "If pAllocator is not NULL, pAllocator must be a valid pointer to a valid VkAllocationCallbacks structure", "1.3-extensions"}, {"VUID-vkDestroyShaderModule-shaderModule-01092", "If VkAllocationCallbacks were provided when shaderModule was created, a compatible set of callbacks must be provided here", "1.3-extensions"}, @@ -18157,6 +18248,8 @@ static const vuid_spec_text_pair vuid_spec_text[] = { {"VUID-vkGetAccelerationStructureDeviceAddressKHR-accelerationStructure-08935", "The VkPhysicalDeviceAccelerationStructureFeaturesKHR::accelerationStructure feature must be enabled", "1.3-extensions"}, {"VUID-vkGetAccelerationStructureDeviceAddressKHR-device-03504", "If device was created with multiple physical devices, then the bufferDeviceAddressMultiDevice feature must be enabled", "1.3-extensions"}, {"VUID-vkGetAccelerationStructureDeviceAddressKHR-device-parameter", "device must be a valid VkDevice handle", "1.3-extensions"}, + {"VUID-vkGetAccelerationStructureDeviceAddressKHR-pInfo-09541", "If the buffer on which pInfo->accelerationStructure was placed is non-sparse then it must be bound completely and contiguously to a single VkDeviceMemory object", "1.3-extensions"}, + {"VUID-vkGetAccelerationStructureDeviceAddressKHR-pInfo-09542", "The buffer on which pInfo->accelerationStructure was placed must have been created with the VK_BUFFER_USAGE_SHADER_DEVICE_ADDRESS_BIT usage flag", "1.3-extensions"}, {"VUID-vkGetAccelerationStructureDeviceAddressKHR-pInfo-parameter", "pInfo must be a valid pointer to a valid VkAccelerationStructureDeviceAddressInfoKHR structure", "1.3-extensions"}, {"VUID-vkGetAccelerationStructureHandleNV-accelerationStructure-02787", "accelerationStructure must be bound completely and contiguously to a single VkDeviceMemory object via vkBindAccelerationStructureMemoryNV", "1.3-extensions"}, {"VUID-vkGetAccelerationStructureHandleNV-accelerationStructure-parameter", "accelerationStructure must be a valid VkAccelerationStructureNV handle", "1.3-extensions"}, @@ -18228,6 +18321,7 @@ static const vuid_spec_text_pair vuid_spec_text[] = { {"VUID-vkGetDescriptorEXT-device-parameter", "device must be a valid VkDevice handle", "1.3-extensions"}, {"VUID-vkGetDescriptorEXT-pDescriptor-08016", "pDescriptor must be a valid pointer to an array of at least dataSize bytes", "1.3-extensions"}, {"VUID-vkGetDescriptorEXT-pDescriptor-parameter", "pDescriptor must be a valid pointer to an array of dataSize bytes", "1.3-extensions"}, + {"VUID-vkGetDescriptorEXT-pDescriptorInfo-09507", "If pDescriptorInfo->type is VK_DESCRIPTOR_TYPE_COMBINED_IMAGE_SAMPLER and pDescriptorInfo->data.pCombinedImageSampler is NULL or it has a imageView that is VK_NULL_HANDLE then dataSize must be equal to the size of VkPhysicalDeviceDescriptorBufferPropertiesEXT::combinedImageSamplerDescriptorSize", "1.3-extensions"}, {"VUID-vkGetDescriptorEXT-pDescriptorInfo-parameter", "pDescriptorInfo must be a valid pointer to a valid VkDescriptorGetInfoEXT structure", "1.3-extensions"}, {"VUID-vkGetDescriptorSetHostMappingVALVE-descriptorSet-parameter", "descriptorSet must be a valid VkDescriptorSet handle", "1.3-extensions"}, {"VUID-vkGetDescriptorSetHostMappingVALVE-descriptorSet-parent", "descriptorSet must have been created, allocated, or retrieved from device", "1.3-extensions"}, @@ -18640,7 +18734,7 @@ static const vuid_spec_text_pair vuid_spec_text[] = { {"VUID-vkGetPhysicalDeviceSparseImageFormatProperties-pProperties-parameter", "If the value referenced by pPropertyCount is not 0, and pProperties is not NULL, pProperties must be a valid pointer to an array of pPropertyCount VkSparseImageFormatProperties structures", "1.3-extensions"}, {"VUID-vkGetPhysicalDeviceSparseImageFormatProperties-pPropertyCount-parameter", "pPropertyCount must be a valid pointer to a uint32_t value", "1.3-extensions"}, {"VUID-vkGetPhysicalDeviceSparseImageFormatProperties-physicalDevice-parameter", "physicalDevice must be a valid VkPhysicalDevice handle", "1.3-extensions"}, - {"VUID-vkGetPhysicalDeviceSparseImageFormatProperties-samples-01094", "samples must be a valid VkSampleCountFlagBits value that is set in VkImageFormatProperties::sampleCounts returned by vkGetPhysicalDeviceImageFormatProperties with format, type, tiling, and usage equal to those in this command and flags equal to the value that is set in VkImageCreateInfo::flags when the image is created", "1.3-extensions"}, + {"VUID-vkGetPhysicalDeviceSparseImageFormatProperties-samples-01094", "samples must be a valid VkSampleCountFlagBits value that is set in VkImageFormatProperties::sampleCounts returned by vkGetPhysicalDeviceImageFormatProperties with format, type, tiling, and usage equal to those in this command", "1.3-extensions"}, {"VUID-vkGetPhysicalDeviceSparseImageFormatProperties-samples-parameter", "samples must be a valid VkSampleCountFlagBits value", "1.3-extensions"}, {"VUID-vkGetPhysicalDeviceSparseImageFormatProperties-tiling-parameter", "tiling must be a valid VkImageTiling value", "1.3-extensions"}, {"VUID-vkGetPhysicalDeviceSparseImageFormatProperties-type-parameter", "type must be a valid VkImageType value", "1.3-extensions"}, @@ -19135,6 +19229,7 @@ static const vuid_spec_text_pair vuid_spec_text[] = { {"VUID-vkSetDeviceMemoryPriorityEXT-priority-06258", "priority must be between 0 and 1, inclusive", "1.3-extensions"}, {"VUID-vkSetEvent-device-parameter", "device must be a valid VkDevice handle", "1.3-extensions"}, {"VUID-vkSetEvent-event-03941", "event must not have been created with VK_EVENT_CREATE_DEVICE_ONLY_BIT", "1.3-extensions"}, + {"VUID-vkSetEvent-event-09543", "event must not be waited on by a command buffer in the pending state", "1.3-extensions"}, {"VUID-vkSetEvent-event-parameter", "event must be a valid VkEvent handle", "1.3-extensions"}, {"VUID-vkSetEvent-event-parent", "event must have been created, allocated, or retrieved from device", "1.3-extensions"}, {"VUID-vkSetHdrMetadataEXT-device-parameter", "device must be a valid VkDevice handle", "1.3-extensions"}, diff --git a/scripts/generators/best_practices_generator.py b/scripts/generators/best_practices_generator.py index 930caecf29f..713f3aa7810 100644 --- a/scripts/generators/best_practices_generator.py +++ b/scripts/generators/best_practices_generator.py @@ -1,8 +1,8 @@ #!/usr/bin/python3 -i # -# Copyright (c) 2015-2023 The Khronos Group Inc. -# Copyright (c) 2015-2023 Valve Corporation -# Copyright (c) 2015-2023 LunarG, Inc. +# Copyright (c) 2015-2024 The Khronos Group Inc. +# Copyright (c) 2015-2024 Valve Corporation +# Copyright (c) 2015-2024 LunarG, Inc. # # Licensed under the Apache License, Version 2.0 (the "License"); # you may not use this file except in compliance with the License. @@ -78,9 +78,9 @@ def generate(self): /*************************************************************************** * - * Copyright (c) 2015-2023 The Khronos Group Inc. - * Copyright (c) 2015-2023 Valve Corporation - * Copyright (c) 2015-2023 LunarG, Inc. + * Copyright (c) 2015-2024 The Khronos Group Inc. + * Copyright (c) 2015-2024 Valve Corporation + * Copyright (c) 2015-2024 LunarG, Inc. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/scripts/generators/dynamic_state_generator.py b/scripts/generators/dynamic_state_generator.py index 47780243e06..2e07497549b 100644 --- a/scripts/generators/dynamic_state_generator.py +++ b/scripts/generators/dynamic_state_generator.py @@ -1,6 +1,6 @@ #!/usr/bin/python3 -i # -# Copyright (c) 2023 The Khronos Group Inc. +# Copyright (c) 2023-2024 The Khronos Group Inc. # # Licensed under the Apache License, Version 2.0 (the "License"); # you may not use this file except in compliance with the License. @@ -30,8 +30,8 @@ def generate(self): /*************************************************************************** * - * Copyright (c) 2023 Valve Corporation - * Copyright (c) 2023 LunarG, Inc. + * Copyright (c) 2023-2024 Valve Corporation + * Copyright (c) 2023-2024 LunarG, Inc. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/scripts/generators/error_location_helper_generator.py b/scripts/generators/error_location_helper_generator.py index 67bd7c617e2..57bea36481d 100644 --- a/scripts/generators/error_location_helper_generator.py +++ b/scripts/generators/error_location_helper_generator.py @@ -1,7 +1,7 @@ #!/usr/bin/python3 -i # -# Copyright (c) 2023 The Khronos Group Inc. -# Copyright (c) 2023 Valve Corporation +# Copyright (c) 2023-2024 The Khronos Group Inc. +# Copyright (c) 2023-2024 Valve Corporation # # Licensed under the Apache License, Version 2.0 (the "License"); # you may not use this file except in compliance with the License. @@ -31,8 +31,8 @@ def generate(self): /*************************************************************************** * - * Copyright (c) 2023 The Khronos Group Inc. - * Copyright (c) 2023 Valve Corporation + * Copyright (c) 2023-2024 The Khronos Group Inc. + * Copyright (c) 2023-2024 Valve Corporation * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/scripts/generators/feature_requirements.py b/scripts/generators/feature_requirements.py index fd5cdef5a7a..49180a40002 100644 --- a/scripts/generators/feature_requirements.py +++ b/scripts/generators/feature_requirements.py @@ -1,9 +1,9 @@ #!/usr/bin/python3 -i # -# Copyright (c) 2015-2023 The Khronos Group Inc. -# Copyright (c) 2015-2023 Valve Corporation -# Copyright (c) 2015-2023 LunarG, Inc. -# Copyright (c) 2015-2023 Google Inc. +# Copyright (c) 2015-2024 The Khronos Group Inc. +# Copyright (c) 2015-2024 Valve Corporation +# Copyright (c) 2015-2024 LunarG, Inc. +# Copyright (c) 2015-2024 Google Inc. # # Licensed under the Apache License, Version 2.0 (the "License"); # you may not use this file except in compliance with the License. @@ -41,9 +41,9 @@ def generate(self): /*************************************************************************** * - * Copyright (c) 2023 The Khronos Group Inc. - * Copyright (c) 2023 Valve Corporation - * Copyright (c) 2023 LunarG, Inc. + * Copyright (c) 2023-2024 The Khronos Group Inc. + * Copyright (c) 2023-2024 Valve Corporation + * Copyright (c) 2023-2024 LunarG, Inc. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/scripts/generators/function_pointers_generator.py b/scripts/generators/function_pointers_generator.py index bbee477c8f2..0e6f32b2c72 100644 --- a/scripts/generators/function_pointers_generator.py +++ b/scripts/generators/function_pointers_generator.py @@ -1,8 +1,8 @@ #!/usr/bin/python3 -i # -# Copyright (c) 2015-2023 The Khronos Group Inc. -# Copyright (c) 2015-2023 Valve Corporation -# Copyright (c) 2015-2023 LunarG, Inc. +# Copyright (c) 2015-2024 The Khronos Group Inc. +# Copyright (c) 2015-2024 Valve Corporation +# Copyright (c) 2015-2024 LunarG, Inc. # # Licensed under the Apache License, Version 2.0 (the "License"); # you may not use this file except in compliance with the License. @@ -30,9 +30,9 @@ def generate(self): /*************************************************************************** * - * Copyright (c) 2015-2023 The Khronos Group Inc. - * Copyright (c) 2015-2023 Valve Corporation - * Copyright (c) 2015-2023 LunarG, Inc. + * Copyright (c) 2015-2024 The Khronos Group Inc. + * Copyright (c) 2015-2024 Valve Corporation + * Copyright (c) 2015-2024 LunarG, Inc. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/scripts/generators/layer_chassis_dispatch_generator.py b/scripts/generators/layer_chassis_dispatch_generator.py index 094443da457..dbe13b718a0 100644 --- a/scripts/generators/layer_chassis_dispatch_generator.py +++ b/scripts/generators/layer_chassis_dispatch_generator.py @@ -1,9 +1,9 @@ #!/usr/bin/python3 -i # -# Copyright (c) 2015-2023 The Khronos Group Inc. -# Copyright (c) 2015-2023 Valve Corporation -# Copyright (c) 2015-2023 LunarG, Inc. -# Copyright (c) 2015-2023 Google Inc. +# Copyright (c) 2015-2024 The Khronos Group Inc. +# Copyright (c) 2015-2024 Valve Corporation +# Copyright (c) 2015-2024 LunarG, Inc. +# Copyright (c) 2015-2024 Google Inc. # # Licensed under the Apache License, Version 2.0 (the "License"); # you may not use this file except in compliance with the License. @@ -121,9 +121,9 @@ def generate(self): /*************************************************************************** * - * Copyright (c) 2015-2023 The Khronos Group Inc. - * Copyright (c) 2015-2023 Valve Corporation - * Copyright (c) 2015-2023 LunarG, Inc. + * Copyright (c) 2015-2024 The Khronos Group Inc. + * Copyright (c) 2015-2024 Valve Corporation + * Copyright (c) 2015-2024 LunarG, Inc. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/scripts/generators/layer_dispatch_table_generator.py b/scripts/generators/layer_dispatch_table_generator.py index f878cd917a4..3081f9cfe81 100644 --- a/scripts/generators/layer_dispatch_table_generator.py +++ b/scripts/generators/layer_dispatch_table_generator.py @@ -1,9 +1,9 @@ #!/usr/bin/python3 -i # -# Copyright (c) 2015-2023 The Khronos Group Inc. -# Copyright (c) 2015-2023 Valve Corporation -# Copyright (c) 2015-2023 LunarG, Inc. -# Copyright (c) 2015-2023 Google Inc. +# Copyright (c) 2015-2024 The Khronos Group Inc. +# Copyright (c) 2015-2024 Valve Corporation +# Copyright (c) 2015-2024 LunarG, Inc. +# Copyright (c) 2015-2024 Google Inc. # # Licensed under the Apache License, Version 2.0 (the "License"); # you may not use this file except in compliance with the License. @@ -32,10 +32,10 @@ def generate(self): /*************************************************************************** * - * Copyright (c) 2015-2023 The Khronos Group Inc. - * Copyright (c) 2015-2023 Valve Corporation - * Copyright (c) 2015-2023 LunarG, Inc. - * Copyright (c) 2015-2023 Google Inc. + * Copyright (c) 2015-2024 The Khronos Group Inc. + * Copyright (c) 2015-2024 Valve Corporation + * Copyright (c) 2015-2024 LunarG, Inc. + * Copyright (c) 2015-2024 Google Inc. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/scripts/generators/pnext_chain_extraction_generator.py b/scripts/generators/pnext_chain_extraction_generator.py index 64b2ce7cbe1..7a6048211a6 100644 --- a/scripts/generators/pnext_chain_extraction_generator.py +++ b/scripts/generators/pnext_chain_extraction_generator.py @@ -1,9 +1,9 @@ #!/usr/bin/python3 -i # -# Copyright (c) 2015-2023 The Khronos Group Inc. -# Copyright (c) 2015-2023 Valve Corporation -# Copyright (c) 2015-2023 LunarG, Inc. -# Copyright (c) 2015-2023 Google Inc. +# Copyright (c) 2015-2024 The Khronos Group Inc. +# Copyright (c) 2015-2024 Valve Corporation +# Copyright (c) 2015-2024 LunarG, Inc. +# Copyright (c) 2015-2024 Google Inc. # # Licensed under the Apache License, Version 2.0 (the "License"); # you may not use this file except in compliance with the License. @@ -38,9 +38,9 @@ def generate(self): /*************************************************************************** * - * Copyright (c) 2023 The Khronos Group Inc. - * Copyright (c) 2023 Valve Corporation - * Copyright (c) 2023 LunarG, Inc. + * Copyright (c) 2023-2024 The Khronos Group Inc. + * Copyright (c) 2023-2024 Valve Corporation + * Copyright (c) 2023-2024 LunarG, Inc. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/scripts/generators/safe_struct_generator.py b/scripts/generators/safe_struct_generator.py index d65c990cfd4..a665853d950 100644 --- a/scripts/generators/safe_struct_generator.py +++ b/scripts/generators/safe_struct_generator.py @@ -1,10 +1,10 @@ #!/usr/bin/python3 -i # -# Copyright (c) 2015-2023 The Khronos Group Inc. -# Copyright (c) 2015-2023 Valve Corporation -# Copyright (c) 2015-2023 LunarG, Inc. -# Copyright (c) 2015-2023 Google Inc. -# Copyright (c) 2023-2023 RasterGrid Kft. +# Copyright (c) 2015-2024 The Khronos Group Inc. +# Copyright (c) 2015-2024 Valve Corporation +# Copyright (c) 2015-2024 LunarG, Inc. +# Copyright (c) 2015-2024 Google Inc. +# Copyright (c) 2023-2024 RasterGrid Kft. # # Licensed under the Apache License, Version 2.0 (the "License"); # you may not use this file except in compliance with the License. @@ -86,10 +86,10 @@ def generate(self): /*************************************************************************** * - * Copyright (c) 2015-2023 The Khronos Group Inc. - * Copyright (c) 2015-2023 Valve Corporation - * Copyright (c) 2015-2023 LunarG, Inc. - * Copyright (c) 2015-2023 Google Inc. + * Copyright (c) 2015-2024 The Khronos Group Inc. + * Copyright (c) 2015-2024 Valve Corporation + * Copyright (c) 2015-2024 LunarG, Inc. + * Copyright (c) 2015-2024 Google Inc. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/scripts/generators/spirv_validation_generator.py b/scripts/generators/spirv_validation_generator.py index 939115b4adc..9b5b20a6f80 100644 --- a/scripts/generators/spirv_validation_generator.py +++ b/scripts/generators/spirv_validation_generator.py @@ -33,6 +33,8 @@ def __init__(self): 'ClusterCullingShadingHUAWEI', 'ShaderEnqueueAMDX', 'TextureBlockMatch2QCOM', + 'FloatControls2', + 'QuadControlKHR', ] # There are some enums that share the same value in the SPIR-V header. diff --git a/scripts/generators/state_tracker_helper_generator.py b/scripts/generators/state_tracker_helper_generator.py index bc6c76218aa..d77f8f2a4cc 100644 --- a/scripts/generators/state_tracker_helper_generator.py +++ b/scripts/generators/state_tracker_helper_generator.py @@ -1,6 +1,6 @@ #!/usr/bin/python3 -i # -# Copyright (c) 2023 The Khronos Group Inc. +# Copyright (c) 2023-2024 The Khronos Group Inc. # # Licensed under the Apache License, Version 2.0 (the "License"); # you may not use this file except in compliance with the License. @@ -41,8 +41,8 @@ def generate(self): /*************************************************************************** * - * Copyright (c) 2023 Google Inc. - * Copyright (c) 2023 LunarG, Inc. + * Copyright (c) 2023-2024 Google Inc. + * Copyright (c) 2023-2024 LunarG, Inc. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/scripts/generators/stateless_validation_helper_generator.py b/scripts/generators/stateless_validation_helper_generator.py index fe4ca1f6900..a1ba80fb0c6 100644 --- a/scripts/generators/stateless_validation_helper_generator.py +++ b/scripts/generators/stateless_validation_helper_generator.py @@ -101,7 +101,7 @@ def __init__(self, 'vkGetPhysicalDeviceImageFormatProperties2', 'vkCmdBuildAccelerationStructureNV', 'vkCreateFramebuffer', - 'vkCmdSetLineStippleEXT', + 'vkCmdSetLineStippleKHR', 'vkSetDebugUtilsObjectNameEXT', 'vkSetDebugUtilsObjectTagEXT', 'vkCmdSetViewportWScalingNV', diff --git a/scripts/generators/thread_safety_generator.py b/scripts/generators/thread_safety_generator.py index b4a5d98a76d..5420af47f26 100644 --- a/scripts/generators/thread_safety_generator.py +++ b/scripts/generators/thread_safety_generator.py @@ -1,10 +1,10 @@ #!/usr/bin/python3 -i # -# Copyright (c) 2015-2023 The Khronos Group Inc. -# Copyright (c) 2015-2023 Valve Corporation -# Copyright (c) 2015-2023 LunarG, Inc. -# Copyright (c) 2015-2023 Google Inc. -# Copyright (c) 2023-2023 RasterGrid Kft. +# Copyright (c) 2015-2024 The Khronos Group Inc. +# Copyright (c) 2015-2024 Valve Corporation +# Copyright (c) 2015-2024 LunarG, Inc. +# Copyright (c) 2015-2024 Google Inc. +# Copyright (c) 2023-2024 RasterGrid Kft. # # Licensed under the Apache License, Version 2.0 (the "License"); # you may not use this file except in compliance with the License. @@ -87,10 +87,10 @@ def generate(self): /*************************************************************************** * - * Copyright (c) 2015-2023 The Khronos Group Inc. - * Copyright (c) 2015-2023 Valve Corporation - * Copyright (c) 2015-2023 LunarG, Inc. - * Copyright (c) 2015-2023 Google Inc. + * Copyright (c) 2015-2024 The Khronos Group Inc. + * Copyright (c) 2015-2024 Valve Corporation + * Copyright (c) 2015-2024 LunarG, Inc. + * Copyright (c) 2015-2024 Google Inc. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/scripts/generators/valid_enum_values_generator.py b/scripts/generators/valid_enum_values_generator.py index 789a792ac3f..257753d6654 100644 --- a/scripts/generators/valid_enum_values_generator.py +++ b/scripts/generators/valid_enum_values_generator.py @@ -1,8 +1,8 @@ #!/usr/bin/python3 -i # -# Copyright (c) 2015-2023 The Khronos Group Inc. -# Copyright (c) 2015-2023 Valve Corporation -# Copyright (c) 2015-2023 LunarG, Inc. +# Copyright (c) 2015-2024 The Khronos Group Inc. +# Copyright (c) 2015-2024 Valve Corporation +# Copyright (c) 2015-2024 LunarG, Inc. # # Licensed under the Apache License, Version 2.0 (the "License"); # you may not use this file except in compliance with the License. @@ -30,9 +30,9 @@ def generate(self): /*************************************************************************** * - * Copyright (c) 2015-2023 The Khronos Group Inc. - * Copyright (c) 2015-2023 Valve Corporation - * Copyright (c) 2015-2023 LunarG, Inc. + * Copyright (c) 2015-2024 The Khronos Group Inc. + * Copyright (c) 2015-2024 Valve Corporation + * Copyright (c) 2015-2024 LunarG, Inc. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/scripts/known_good.json b/scripts/known_good.json index cf4cdd29506..f774d4adf79 100755 --- a/scripts/known_good.json +++ b/scripts/known_good.json @@ -7,7 +7,7 @@ "sub_dir": "Vulkan-Headers", "build_dir": "Vulkan-Headers/build", "install_dir": "Vulkan-Headers/build/install", - "commit": "v1.3.275" + "commit": "v1.3.276" }, { "name": "Vulkan-Utility-Libraries", @@ -15,7 +15,7 @@ "sub_dir": "Vulkan-Utility-Libraries", "build_dir": "Vulkan-Utility-Libraries/build", "install_dir": "Vulkan-Utility-Libraries/build/install", - "commit": "v1.3.275", + "commit": "v1.3.276", "deps": [ { "var_name": "VULKAN_HEADERS_INSTALL_DIR", @@ -110,7 +110,7 @@ "sub_dir": "Vulkan-Loader", "build_dir": "Vulkan-Loader/build", "install_dir": "Vulkan-Loader/build/install", - "commit": "v1.3.275", + "commit": "v1.3.276", "build_step": "skip", "optional": [ "tests" diff --git a/tests/layers/VkLayer_device_profile_api.json.in b/tests/layers/VkLayer_device_profile_api.json.in index 45e5b292534..32fa6b6a03f 100644 --- a/tests/layers/VkLayer_device_profile_api.json.in +++ b/tests/layers/VkLayer_device_profile_api.json.in @@ -4,7 +4,7 @@ "name": "VK_LAYER_LUNARG_device_profile_api", "type": "GLOBAL", "library_path": "@JSON_LIBRARY_PATH@", - "api_version": "1.3.275", + "api_version": "1.3.276", "implementation_version": "2", "description": "LunarG Device Profile Api Layer", "device_extensions": [