From 9950e5ca4923bb67906d9e00a3fa064e7a2aaf60 Mon Sep 17 00:00:00 2001 From: Christophe Date: Fri, 18 Aug 2023 10:39:47 +0200 Subject: [PATCH] layer: clean up API --- include/vulkan/layer/vk_layer_settings.h | 5 --- include/vulkan/layer/vk_layer_settings_ext.h | 11 ----- src/layer/CMakeLists.txt | 1 - src/layer/vk_layer_settings.cpp | 8 ---- src/layer/vk_layer_settings_interface.cpp | 44 -------------------- tests/layer/test_setting_api.cpp | 30 ------------- 6 files changed, 99 deletions(-) delete mode 100644 src/layer/vk_layer_settings_interface.cpp diff --git a/include/vulkan/layer/vk_layer_settings.h b/include/vulkan/layer/vk_layer_settings.h index 34f578a..7859f5c 100644 --- a/include/vulkan/layer/vk_layer_settings.h +++ b/include/vulkan/layer/vk_layer_settings.h @@ -19,11 +19,6 @@ VK_DEFINE_HANDLE(VlLayerSettingSet) typedef void (VKAPI_PTR *VlLayerSettingLogCallback)(const char *pSettingName, const char *pMessage); -#ifdef ENABLE_REGISTER_LAYER_SETTINGS -void vlRegistryLayerSettingsProperties(const char *pLayerName, - uint32_t propertyCount, VkLayerSettingPropertiesEXT *pProperties); -#endif // ENABLE_REGISTER_LAYER_SETTINGS - // Create a layer setting set. If 'pCallback' is set to NULL, the messages are outputed to stderr. VkResult vlCreateLayerSettingSet(const char *pLayerName, const VkLayerSettingsCreateInfoEXT *pCreateInfo, const VkAllocationCallbacks *pAllocator, VlLayerSettingLogCallback pCallback, diff --git a/include/vulkan/layer/vk_layer_settings_ext.h b/include/vulkan/layer/vk_layer_settings_ext.h index 19debdc..9ef37e6 100644 --- a/include/vulkan/layer/vk_layer_settings_ext.h +++ b/include/vulkan/layer/vk_layer_settings_ext.h @@ -22,7 +22,6 @@ extern "C" { // NOTE: VK_STRUCTURE_TYPE_MAX_ENUM - 1 is used by the intel driver. // NOTE: VK_STRUCTURE_TYPE_MAX_ENUM - 42 is used by the validation layers #define VK_STRUCTURE_TYPE_LAYER_SETTINGS_EXT ((VkStructureType)(VK_STRUCTURE_TYPE_MAX_ENUM - 43)) -#define VK_STRUCTURE_TYPE_LAYER_SETTING_PROPERTIES_EXT ((VkStructureType)(VK_STRUCTURE_TYPE_MAX_ENUM - 44)) typedef enum VkLayerSettingTypeEXT { VK_LAYER_SETTING_TYPE_BOOL32_EXT = 0, @@ -57,16 +56,6 @@ typedef struct VkLayerSettingsCreateInfoEXT { const VkLayerSettingEXT *pSettings; } VkLayerSettingsCreateInfoEXT; -typedef struct VkLayerSettingPropertiesEXT { - VkStructureType sType; - const void *pNext; - char key[VK_MAX_DESCRIPTION_SIZE]; - VkLayerSettingTypeEXT type; -} VkLayerSettingPropertiesEXT; - -VKAPI_ATTR VkResult VKAPI_CALL vkEnumerateInstanceLayerSettingsEXT(const char *pLayerName, - uint32_t *pPropertyCount, VkLayerSettingPropertiesEXT *pProperties); - #ifdef __cplusplus } #endif diff --git a/src/layer/CMakeLists.txt b/src/layer/CMakeLists.txt index c40822f..e28e0a1 100644 --- a/src/layer/CMakeLists.txt +++ b/src/layer/CMakeLists.txt @@ -13,7 +13,6 @@ target_compile_features(VulkanLayerSettings PRIVATE cxx_std_17) target_sources(VulkanLayerSettings PRIVATE vk_layer_settings.cpp vk_layer_settings_helper.cpp - vk_layer_settings_interface.cpp layer_settings_manager.cpp layer_settings_manager.hpp layer_settings_util.cpp diff --git a/src/layer/vk_layer_settings.cpp b/src/layer/vk_layer_settings.cpp index e58e50a..f26f26f 100644 --- a/src/layer/vk_layer_settings.cpp +++ b/src/layer/vk_layer_settings.cpp @@ -19,14 +19,6 @@ #include #include -#ifdef ENABLE_REGISTER_LAYER_SETTINGS -std::unordered_map > layer_settings_properties; - -void vlRegistryLayerSettingsProperties(const char *pLayerName, uint32_t propertyCount, VkLayerSettingPropertiesEXT *pProperties) { - layer_settings_properties.insert(std::pair(pLayerName, std::pair(propertyCount, pProperties))); -} -#endif//ENABLE_REGISTER_LAYER_SETTINGS - // This is used only for unit tests in test_layer_setting_file void test_helper_SetLayerSetting(VlLayerSettingSet layerSettingSet, const char *pSettingName, const char *pValue) { assert(layerSettingSet != VK_NULL_HANDLE); diff --git a/src/layer/vk_layer_settings_interface.cpp b/src/layer/vk_layer_settings_interface.cpp deleted file mode 100644 index b07fef4..0000000 --- a/src/layer/vk_layer_settings_interface.cpp +++ /dev/null @@ -1,44 +0,0 @@ -// Copyright 2023 The Khronos Group Inc. -// Copyright 2023 Valve Corporation -// Copyright 2023 LunarG, Inc. -// -// SPDX-License-Identifier: Apache-2.0 -// -// Author(s): -// - Christophe Riccio - -#include "vulkan/layer/vk_layer_settings_ext.h" -#include -#include -#include -#include - -#ifdef ENABLE_REGISTER_LAYER_SETTINGS -#if defined(__GNUC__) && __GNUC__ >= 4 -#define LAYER_EXPORT __attribute__((visibility("default"))) -#else -#define LAYER_EXPORT -#endif - -extern std::unordered_map > layer_settings_properties; - -// Keep synchronized with VkLayer_khronos_profiles.def / VkLayer_khronos_profiles.map -extern "C" { - -LAYER_EXPORT VKAPI_ATTR VkResult VKAPI_CALL vkEnumerateInstanceLayerSettingsEXT( - const char* pLayerName, uint32_t* pPropertyCount, VkLayerSettingPropertiesEXT* pProperties) { - - assert(pPropertyCount != nullptr); - - if (*pPropertyCount > 0 && pProperties != nullptr) { - *pPropertyCount = std::min(*pPropertyCount, layer_settings_properties[pLayerName].first); - memcpy(pProperties, layer_settings_properties[pLayerName].second, sizeof(VkLayerSettingPropertiesEXT) * *pPropertyCount); - } else { - *pPropertyCount = layer_settings_properties[pLayerName].first; - } - - return VK_SUCCESS; -} - -} // extern "C" -#endif // ENABLE_REGISTER_LAYER_SETTINGS diff --git a/tests/layer/test_setting_api.cpp b/tests/layer/test_setting_api.cpp index eb3bdfc..fe968a3 100644 --- a/tests/layer/test_setting_api.cpp +++ b/tests/layer/test_setting_api.cpp @@ -10,36 +10,6 @@ #include "vulkan/layer/vk_layer_settings.h" -#ifdef ENABLE_REGISTER_LAYER_SETTINGS -TEST(test_layer_setting_api, vkEnumerateInstanceLayerSettingsEXT) { - - VkLayerSettingPropertiesEXT properties[] = { - {VK_STRUCTURE_TYPE_LAYER_SETTING_PROPERTIES_EXT, nullptr, "settingA", VK_LAYER_SETTING_TYPE_BOOL32_EXT}, - {VK_STRUCTURE_TYPE_LAYER_SETTING_PROPERTIES_EXT, nullptr, "settingB", VK_LAYER_SETTING_TYPE_UINT32_EXT} - }; - - vlRegistryLayerSettingsProperties("VK_LAYER_LUNARG_test", static_cast(std::size(properties)), &properties[0]); - - uint32_t result_count = 0; - vkEnumerateInstanceLayerSettingsEXT("VK_LAYER_LUNARG_test", &result_count, nullptr); - - EXPECT_EQ(static_cast(std::size(properties)), result_count); - - std::vector results(static_cast(result_count)); - vkEnumerateInstanceLayerSettingsEXT("VK_LAYER_LUNARG_test", &result_count, &results[0]); - - EXPECT_EQ(properties[0].sType, results[0].sType); - EXPECT_EQ(properties[0].pNext, results[0].pNext); - EXPECT_STREQ(properties[0].key, results[0].key); - EXPECT_EQ(properties[0].type, results[0].type); - - EXPECT_EQ(properties[1].sType, results[1].sType); - EXPECT_EQ(properties[1].pNext, results[1].pNext); - EXPECT_STREQ(properties[1].key, results[1].key); - EXPECT_EQ(properties[1].type, results[1].type); -} -#endif // ENABLE_REGISTER_LAYER_SETTINGS - TEST(test_layer_setting_api, vlHasLayerSetting_NotFound) { VlLayerSettingSet layerSettingSet = VK_NULL_HANDLE;