From 171c8a8f0aa562ed2837fef35ad6fb0e6b5bd113 Mon Sep 17 00:00:00 2001 From: spencer-lunarg Date: Fri, 10 Apr 2026 09:54:20 -0400 Subject: [PATCH] layers: VUID Churn 349 --- layers/core_checks/cc_data_graph.cpp | 6 ++++-- layers/stateless/sl_instance_device.cpp | 13 ------------- scripts/vk_validation_stats.py | 1 - tests/unit/data_graph.cpp | 4 ++-- tests/unit/device_feature_property.cpp | 19 ------------------- 5 files changed, 6 insertions(+), 37 deletions(-) diff --git a/layers/core_checks/cc_data_graph.cpp b/layers/core_checks/cc_data_graph.cpp index 6b16da00940..22e7d9eb06c 100644 --- a/layers/core_checks/cc_data_graph.cpp +++ b/layers/core_checks/cc_data_graph.cpp @@ -165,11 +165,13 @@ bool CoreChecks::PreCallValidateCreateDataGraphPipelinesARM(VkDevice device, VkD const auto* dg_pipeline_identifier_ci = vku::FindStructInPNextChain(create_info.pNext); const auto* qcom_model_ci = vku::FindStructInPNextChain(create_info.pNext); + const auto* single_node_ci = vku::FindStructInPNextChain(create_info.pNext); // 1 and ONLY 1 of them MUST be present - uint32_t defined_structs = (qcom_model_ci ? 1 : 0) + (dg_pipeline_identifier_ci ? 1 : 0) + (dg_shader_ci ? 1 : 0); + uint32_t defined_structs = + (qcom_model_ci ? 1 : 0) + (dg_pipeline_identifier_ci ? 1 : 0) + (dg_shader_ci ? 1 : 0) + (single_node_ci ? 1 : 0); if (defined_structs != 1) { - skip |= LogError("VUID-VkDataGraphPipelineCreateInfoARM-pNext-09763", device, create_info_loc, + skip |= LogError("VUID-VkDataGraphPipelineCreateInfoARM-pNext-09977", device, create_info_loc, "%" PRIu32 " of the possible required structures are included in the pNext chain%s.\n%s", defined_structs, (defined_structs > 1) ? " (only 1 is allowed)" : "", PrintPNextChain(Struct::VkDataGraphPipelineCreateInfoARM, create_info.pNext).c_str()); diff --git a/layers/stateless/sl_instance_device.cpp b/layers/stateless/sl_instance_device.cpp index 77ecdfc111d..ab98f8ff921 100644 --- a/layers/stateless/sl_instance_device.cpp +++ b/layers/stateless/sl_instance_device.cpp @@ -825,19 +825,6 @@ bool Instance::manual_PreCallValidateCreateDevice(VkPhysicalDevice physicalDevic } } - if (const auto* device_address_commands_features = - vku::FindStructInPNextChain(pCreateInfo->pNext)) { - if (const auto* acceleration_structure_features = - vku::FindStructInPNextChain(pCreateInfo->pNext)) { - if (device_address_commands_features->deviceAddressCommands && - acceleration_structure_features->accelerationStructureHostCommands) { - skip |= LogError("VUID-VkDeviceCreateInfo-deviceAddressCommands-13048", physicalDevice, error_obj.location, - "Cannot enable deviceAddressCommands and accelerationStructureHostCommands features " - "simultaneously."); - } - } - } - if (const auto* shader_image_atomic_int64_features = vku::FindStructInPNextChain(pCreateInfo->pNext)) { if (shader_image_atomic_int64_features->sparseImageInt64Atomics && diff --git a/scripts/vk_validation_stats.py b/scripts/vk_validation_stats.py index b2716dee9fc..7ca1b9f16f6 100755 --- a/scripts/vk_validation_stats.py +++ b/scripts/vk_validation_stats.py @@ -356,7 +356,6 @@ def __init__(self, val_json, val_source, val_tests, spirv_val): "11446" : ["02596", "02597", "06685", "06686", "08456", "08457", "08459"], "11447" : ["01245", "01282", "01293", "10285"], "11448" : ["00065", "03867"], - "11451" : ["07474"], "11452" : ["00740", "04331", "04332", "04335", "04487", "04488", "04489", "06264", "07045", "07051", "07057", "10595", "10596", "10597", "12333", "12335", "12336", "12337", "07106", "07108", "07109", "07110", "07111"], "11453" : ["06022", "06533", "06534", "06535", "06536", "09299", "09300"], "11481" : ["02532", "02533", "03049", "03050", "09044", "09045", "09046"], diff --git a/tests/unit/data_graph.cpp b/tests/unit/data_graph.cpp index 46345874ec5..bbf156c771d 100644 --- a/tests/unit/data_graph.cpp +++ b/tests/unit/data_graph.cpp @@ -1876,7 +1876,7 @@ TEST_F(NegativeDataGraph, DataGraphWrongCreateInfoStructs) { { vkt::dg::DataGraphPipelineHelper pipeline(*this); pipeline.pipeline_ci_.pNext = nullptr; - m_errorMonitor->SetDesiredError("VUID-VkDataGraphPipelineCreateInfoARM-pNext-09763"); + m_errorMonitor->SetDesiredError("VUID-VkDataGraphPipelineCreateInfoARM-pNext-09977"); pipeline.CreateDataGraphPipeline(); m_errorMonitor->VerifyFound(); } @@ -1901,7 +1901,7 @@ TEST_F(NegativeDataGraph, DataGraphWrongCreateInfoStructs) { VkResult err = vk::CreatePipelineCache(device(), &cache_create_info, nullptr, &pipeline_cache); ASSERT_EQ(VK_SUCCESS, err); - m_errorMonitor->SetDesiredError("VUID-VkDataGraphPipelineCreateInfoARM-pNext-09763"); + m_errorMonitor->SetDesiredError("VUID-VkDataGraphPipelineCreateInfoARM-pNext-09977"); pipeline.CreateDataGraphPipeline(pipeline_cache); m_errorMonitor->VerifyFound(); vk::DestroyPipelineCache(device(), pipeline_cache, nullptr); diff --git a/tests/unit/device_feature_property.cpp b/tests/unit/device_feature_property.cpp index 58ec76183da..f27fdaba367 100644 --- a/tests/unit/device_feature_property.cpp +++ b/tests/unit/device_feature_property.cpp @@ -558,22 +558,3 @@ TEST_F(NegativeDeviceFeatureProperty, Create14DeviceDuplicatedFeatures) { vk::CreateDevice(Gpu(), &m_second_device_ci, nullptr, &m_second_device); m_errorMonitor->VerifyFound(); } - -TEST_F(NegativeDeviceFeatureProperty, DeviceAddressCommandsHostAccelerationStructure) { - SetTargetApiVersion(VK_API_VERSION_1_3); - AddRequiredExtensions(VK_KHR_DEVICE_ADDRESS_COMMANDS_EXTENSION_NAME); - AddRequiredExtensions(VK_KHR_ACCELERATION_STRUCTURE_EXTENSION_NAME); - RETURN_IF_SKIP(InitDeviceFeatureProperty()); - - VkPhysicalDeviceDeviceAddressCommandsFeaturesKHR dac_features = vku::InitStructHelper(); - VkPhysicalDeviceAccelerationStructureFeaturesKHR as_features = vku::InitStructHelper(&dac_features); - GetPhysicalDeviceFeatures2(as_features); - if (!dac_features.deviceAddressCommands || !as_features.accelerationStructureHostCommands) { - GTEST_SKIP() << "Features not supported"; - } - m_second_device_ci.pNext = &as_features; - - m_errorMonitor->SetDesiredError("VUID-VkDeviceCreateInfo-deviceAddressCommands-13048"); - vk::CreateDevice(Gpu(), &m_second_device_ci, nullptr, &m_second_device); - m_errorMonitor->VerifyFound(); -}