mirror of
https://github.com/KhronosGroup/Vulkan-Utility-Libraries.git
synced 2025-05-15 01:08:39 +00:00
Expose FindLayerSettingsCreateInfo as a layer developer API
This commit is contained in:
parent
1c8f7870e5
commit
f714feb953
4 changed files with 18 additions and 17 deletions
|
@ -45,6 +45,8 @@ VkBool32 vlHasLayerSetting(VlLayerSettingSet layerSettingSet, const char *pSetti
|
||||||
VkResult vlGetLayerSettingValues(VlLayerSettingSet layerSettingSet, const char *pSettingName, VkLayerSettingTypeEXT type,
|
VkResult vlGetLayerSettingValues(VlLayerSettingSet layerSettingSet, const char *pSettingName, VkLayerSettingTypeEXT type,
|
||||||
uint32_t *pValueCount, void *pValues);
|
uint32_t *pValueCount, void *pValues);
|
||||||
|
|
||||||
|
const VkLayerSettingsCreateInfoEXT *vlFindLayerSettingsCreateInfo(const VkInstanceCreateInfo *pCreateInfo);
|
||||||
|
|
||||||
#ifdef __cplusplus
|
#ifdef __cplusplus
|
||||||
}
|
}
|
||||||
#endif
|
#endif
|
||||||
|
|
|
@ -28,20 +28,6 @@
|
||||||
|
|
||||||
namespace vl {
|
namespace vl {
|
||||||
|
|
||||||
const VkLayerSettingsCreateInfoEXT *FindSettingsInChain(const void *next) {
|
|
||||||
const VkBaseOutStructure *current = reinterpret_cast<const VkBaseOutStructure *>(next);
|
|
||||||
const VkLayerSettingsCreateInfoEXT *found = nullptr;
|
|
||||||
while (current) {
|
|
||||||
if (VK_STRUCTURE_TYPE_LAYER_SETTINGS_EXT == current->sType) {
|
|
||||||
found = reinterpret_cast<const VkLayerSettingsCreateInfoEXT *>(current);
|
|
||||||
current = nullptr;
|
|
||||||
} else {
|
|
||||||
current = current->pNext;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
return found;
|
|
||||||
}
|
|
||||||
|
|
||||||
std::vector<std::string> Split(const std::string &value, char delimiter) {
|
std::vector<std::string> Split(const std::string &value, char delimiter) {
|
||||||
std::vector<std::string> result;
|
std::vector<std::string> result;
|
||||||
|
|
||||||
|
|
|
@ -502,3 +502,16 @@ VkResult vlGetLayerSettingValues(VlLayerSettingSet layerSettingSet, const char *
|
||||||
return VK_ERROR_UNKNOWN;
|
return VK_ERROR_UNKNOWN;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
const VkLayerSettingsCreateInfoEXT *vlFindLayerSettingsCreateInfo(const VkInstanceCreateInfo *pCreateInfo) {
|
||||||
|
const VkBaseOutStructure *current = reinterpret_cast<const VkBaseOutStructure *>(pCreateInfo);
|
||||||
|
const VkLayerSettingsCreateInfoEXT *found = nullptr;
|
||||||
|
while (current) {
|
||||||
|
if (VK_STRUCTURE_TYPE_LAYER_SETTINGS_EXT == current->sType) {
|
||||||
|
found = reinterpret_cast<const VkLayerSettingsCreateInfoEXT *>(current);
|
||||||
|
current = nullptr;
|
||||||
|
} else {
|
||||||
|
current = current->pNext;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return found;
|
||||||
|
}
|
||||||
|
|
|
@ -35,7 +35,7 @@ TEST(test_layer_settings_util, FindSettingsInChain_found_first) {
|
||||||
instanceCreateInfo.sType = VK_STRUCTURE_TYPE_INSTANCE_CREATE_INFO;
|
instanceCreateInfo.sType = VK_STRUCTURE_TYPE_INSTANCE_CREATE_INFO;
|
||||||
instanceCreateInfo.pNext = &layerSettingsCreateInfo;
|
instanceCreateInfo.pNext = &layerSettingsCreateInfo;
|
||||||
|
|
||||||
EXPECT_EQ(&layerSettingsCreateInfo, vl::FindSettingsInChain(&instanceCreateInfo));
|
EXPECT_EQ(&layerSettingsCreateInfo, vlFindLayerSettingsCreateInfo(&instanceCreateInfo));
|
||||||
}
|
}
|
||||||
|
|
||||||
TEST(test_layer_settings_util, FindSettingsInChain_found_last) {
|
TEST(test_layer_settings_util, FindSettingsInChain_found_last) {
|
||||||
|
@ -50,7 +50,7 @@ TEST(test_layer_settings_util, FindSettingsInChain_found_last) {
|
||||||
instanceCreateInfo.sType = VK_STRUCTURE_TYPE_INSTANCE_CREATE_INFO;
|
instanceCreateInfo.sType = VK_STRUCTURE_TYPE_INSTANCE_CREATE_INFO;
|
||||||
instanceCreateInfo.pNext = &debugReportCallbackCreateInfo;
|
instanceCreateInfo.pNext = &debugReportCallbackCreateInfo;
|
||||||
|
|
||||||
EXPECT_EQ(&layerSettingsCreateInfo, vl::FindSettingsInChain(&instanceCreateInfo));
|
EXPECT_EQ(&layerSettingsCreateInfo, vlFindLayerSettingsCreateInfo(&instanceCreateInfo));
|
||||||
}
|
}
|
||||||
|
|
||||||
TEST(test_layer_settings_util, FindSettingsInChain_found_not) {
|
TEST(test_layer_settings_util, FindSettingsInChain_found_not) {
|
||||||
|
@ -61,7 +61,7 @@ TEST(test_layer_settings_util, FindSettingsInChain_found_not) {
|
||||||
instanceCreateInfo.sType = VK_STRUCTURE_TYPE_INSTANCE_CREATE_INFO;
|
instanceCreateInfo.sType = VK_STRUCTURE_TYPE_INSTANCE_CREATE_INFO;
|
||||||
instanceCreateInfo.pNext = &debugReportCallbackCreateInfo;
|
instanceCreateInfo.pNext = &debugReportCallbackCreateInfo;
|
||||||
|
|
||||||
EXPECT_EQ(nullptr, vl::FindSettingsInChain(&instanceCreateInfo));
|
EXPECT_EQ(nullptr, vlFindLayerSettingsCreateInfo(&instanceCreateInfo));
|
||||||
}
|
}
|
||||||
|
|
||||||
TEST(test_layer_settings_util, FindDelimiter) {
|
TEST(test_layer_settings_util, FindDelimiter) {
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue