From 32b35806df8fb1a9a1df9477518c41e8134590b6 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Daniel=20R=C3=A1kos=20=28RasterGrid=29?= Date: Fri, 6 Mar 2026 15:25:24 +0100 Subject: [PATCH 1/2] scripts: Dispatch table gen API specialization improvement --- scripts/generators/dispatch_table_helper_generator.py | 6 +++++- .../layer/generated-vksc/vk_dispatch_table_helper.h | 6 +++++- .../framework/layer/generated/vk_dispatch_table_helper.h | 6 +++++- tests/framework/util/CMakeLists.txt | 9 ++------- 4 files changed, 17 insertions(+), 10 deletions(-) diff --git a/scripts/generators/dispatch_table_helper_generator.py b/scripts/generators/dispatch_table_helper_generator.py index 410938a92..328001c93 100644 --- a/scripts/generators/dispatch_table_helper_generator.py +++ b/scripts/generators/dispatch_table_helper_generator.py @@ -60,7 +60,11 @@ def generate(self): #include #include #include -#include "vk_layer_dispatch_table.h" +#ifdef VULKANSC +#include "loader/generated-vksc/vk_layer_dispatch_table.h" +#else +#include "loader/generated/vk_layer_dispatch_table.h" +#endif // VULKANSC ''') diff --git a/tests/framework/layer/generated-vksc/vk_dispatch_table_helper.h b/tests/framework/layer/generated-vksc/vk_dispatch_table_helper.h index 8f36dc11a..a027ed324 100644 --- a/tests/framework/layer/generated-vksc/vk_dispatch_table_helper.h +++ b/tests/framework/layer/generated-vksc/vk_dispatch_table_helper.h @@ -28,7 +28,11 @@ #include #include #include -#include "vk_layer_dispatch_table.h" +#ifdef VULKANSC +#include "loader/generated-vksc/vk_layer_dispatch_table.h" +#else +#include "loader/generated/vk_layer_dispatch_table.h" +#endif // VULKANSC // clang-format off static inline void layer_init_device_dispatch_table(VkDevice device, VkLayerDispatchTable *table, PFN_vkGetDeviceProcAddr gpa) { diff --git a/tests/framework/layer/generated/vk_dispatch_table_helper.h b/tests/framework/layer/generated/vk_dispatch_table_helper.h index e6c82e1c9..82a5dc2c6 100644 --- a/tests/framework/layer/generated/vk_dispatch_table_helper.h +++ b/tests/framework/layer/generated/vk_dispatch_table_helper.h @@ -28,7 +28,11 @@ #include #include #include -#include "vk_layer_dispatch_table.h" +#ifdef VULKANSC +#include "loader/generated-vksc/vk_layer_dispatch_table.h" +#else +#include "loader/generated/vk_layer_dispatch_table.h" +#endif // VULKANSC // clang-format off static inline void layer_init_device_dispatch_table(VkDevice device, VkLayerDispatchTable *table, PFN_vkGetDeviceProcAddr gpa) { diff --git a/tests/framework/util/CMakeLists.txt b/tests/framework/util/CMakeLists.txt index ea90f6786..3860f9932 100644 --- a/tests/framework/util/CMakeLists.txt +++ b/tests/framework/util/CMakeLists.txt @@ -53,13 +53,8 @@ if(UNIX) target_compile_options(testing_framework_util PUBLIC -fPIC) endif() # Gives access to all headers in this folder, the framework folder, the framework binary folder, and the loader/generated folder -if(VULKANSC) - target_include_directories(testing_framework_util - PUBLIC "${CMAKE_CURRENT_SOURCE_DIR}" "${CMAKE_CURRENT_SOURCE_DIR}/.." "${CMAKE_CURRENT_BINARY_DIR}" "${PROJECT_SOURCE_DIR}" "${CMAKE_SOURCE_DIR}/loader/generated-vksc") -else() - target_include_directories(testing_framework_util - PUBLIC "${CMAKE_CURRENT_SOURCE_DIR}" "${CMAKE_CURRENT_SOURCE_DIR}/.." "${CMAKE_CURRENT_BINARY_DIR}" "${PROJECT_SOURCE_DIR}") -endif() +target_include_directories(testing_framework_util + PUBLIC "${CMAKE_CURRENT_SOURCE_DIR}" "${CMAKE_CURRENT_SOURCE_DIR}/.." "${CMAKE_CURRENT_BINARY_DIR}" "${PROJECT_SOURCE_DIR}") if (UNIX) if (LOADER_ENABLE_ADDRESS_SANITIZER) From 791b3ee1884b1d4da29e54e7aba8b7ffa37d36ee Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Daniel=20R=C3=A1kos=20=28RasterGrid=29?= Date: Fri, 6 Mar 2026 15:27:52 +0100 Subject: [PATCH 2/2] tests: Fix TestOnlyDriverEnvVarInFolder workaround precondition --- tests/loader_envvar_tests.cpp | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/tests/loader_envvar_tests.cpp b/tests/loader_envvar_tests.cpp index 5fa73fd22..8216344b8 100644 --- a/tests/loader_envvar_tests.cpp +++ b/tests/loader_envvar_tests.cpp @@ -159,12 +159,13 @@ TEST(EnvVarICDOverrideSetup, TestOnlyDriverEnvVarInFolder) { EXPECT_FALSE( env.debug_log.find("Ignoring override VK_ICD_FILENAMES, VK_DRIVER_FILES, and VK_ADD_DRIVER_FILES due to high-integrity")); - // The availability of Get Device Properties 2 and using linux device sort cause duplicately reported devices +#if defined(VULKANSC) // The availability of GPDP2 in Vulkan SC and using linux device sort cause duplicately reported devices #if TESTING_COMMON_UNIX_PLATFORMS std::array phys_devs_array; #else std::array phys_devs_array; #endif +#endif // VULKANSC uint32_t phys_dev_count = 1; ASSERT_EQ(inst1->vkEnumeratePhysicalDevices(inst1.inst, &phys_dev_count, phys_devs_array.data()), VK_SUCCESS); ASSERT_EQ(phys_dev_count, 1U); @@ -178,7 +179,7 @@ TEST(EnvVarICDOverrideSetup, TestOnlyDriverEnvVarInFolder) { InstWrapper inst2{env.vulkan_functions}; inst2.CheckCreate(); - // The availability of Get Device Properties 2 and using linux device sort cause duplicately reported devices +#if defined(VULKANSC) // The availability of GPDP2 in Vulkan SC and using linux device sort cause duplicately reported devices #if TESTING_COMMON_UNIX_PLATFORMS phys_dev_count = 9; ASSERT_EQ(inst2->vkEnumeratePhysicalDevices(inst2.inst, &phys_dev_count, phys_devs_array.data()), VK_SUCCESS); @@ -188,6 +189,7 @@ TEST(EnvVarICDOverrideSetup, TestOnlyDriverEnvVarInFolder) { ASSERT_EQ(inst2->vkEnumeratePhysicalDevices(inst2.inst, &phys_dev_count, phys_devs_array.data()), VK_SUCCESS); ASSERT_EQ(phys_dev_count, 5U); #endif +#endif // VULKANSC } // Test VK_DRIVER_FILES environment variable containing a path to a folder with elevated privileges TEST(EnvVarICDOverrideSetup, TestOnlyDriverEnvVarInFolderWithElevatedPrivileges) {