layer: Fix mismatch of setting and query types

This commit is contained in:
Christophe 2023-08-03 15:04:41 +02:00 committed by Christophe
parent a191ca0720
commit 2272ff7f32
2 changed files with 28 additions and 10 deletions

View file

@ -134,7 +134,9 @@ VkResult vlGetLayerSettingValues(VlLayerSettingSet layerSettingSet, const char *
*pValueCount = static_cast<std::uint32_t>(settings.size());
}
} else if (api_setting != nullptr) { // From Vulkan Layer Setting API
if (copy_values) {
if (api_setting->type != type) {
result = VK_ERROR_FORMAT_NOT_SUPPORTED;
} else if (copy_values) {
if (*pValueCount < api_setting->count) {
result = VK_INCOMPLETE;
}
@ -176,7 +178,9 @@ VkResult vlGetLayerSettingValues(VlLayerSettingSet layerSettingSet, const char *
*pValueCount = static_cast<std::uint32_t>(settings.size());
}
} else if (api_setting != nullptr) { // From Vulkan Layer Setting API
if (copy_values) {
if (api_setting->type != type) {
result = VK_ERROR_FORMAT_NOT_SUPPORTED;
} else if (copy_values) {
if (*pValueCount < api_setting->count) {
result = VK_INCOMPLETE;
}
@ -218,7 +222,9 @@ VkResult vlGetLayerSettingValues(VlLayerSettingSet layerSettingSet, const char *
*pValueCount = static_cast<std::uint32_t>(settings.size());
}
} else if (api_setting != nullptr) { // From Vulkan Layer Setting API
if (copy_values) {
if (api_setting->type != type) {
result = VK_ERROR_FORMAT_NOT_SUPPORTED;
} else if (copy_values) {
if (*pValueCount < api_setting->count) {
result = VK_INCOMPLETE;
}
@ -260,7 +266,9 @@ VkResult vlGetLayerSettingValues(VlLayerSettingSet layerSettingSet, const char *
*pValueCount = static_cast<std::uint32_t>(settings.size());
}
} else if (api_setting != nullptr) { // From Vulkan Layer Setting API
if (copy_values) {
if (api_setting->type != type) {
result = VK_ERROR_FORMAT_NOT_SUPPORTED;
} else if (copy_values) {
if (*pValueCount < api_setting->count) {
result = VK_INCOMPLETE;
}
@ -302,7 +310,9 @@ VkResult vlGetLayerSettingValues(VlLayerSettingSet layerSettingSet, const char *
*pValueCount = static_cast<std::uint32_t>(settings.size());
}
} else if (api_setting != nullptr) { // From Vulkan Layer Setting API
if (copy_values) {
if (api_setting->type != type) {
result = VK_ERROR_FORMAT_NOT_SUPPORTED;
} else if (copy_values) {
if (*pValueCount < api_setting->count) {
result = VK_INCOMPLETE;
}
@ -344,7 +354,9 @@ VkResult vlGetLayerSettingValues(VlLayerSettingSet layerSettingSet, const char *
*pValueCount = static_cast<std::uint32_t>(settings.size());
}
} else if (api_setting != nullptr) { // From Vulkan Layer Setting API
if (copy_values) {
if (api_setting->type != type) {
result = VK_ERROR_FORMAT_NOT_SUPPORTED;
} else if (copy_values) {
if (*pValueCount < api_setting->count) {
result = VK_INCOMPLETE;
}
@ -386,7 +398,9 @@ VkResult vlGetLayerSettingValues(VlLayerSettingSet layerSettingSet, const char *
*pValueCount = static_cast<std::uint32_t>(settings.size());
}
} else if (api_setting != nullptr) { // From Vulkan Layer Setting API
if (copy_values) {
if (api_setting->type != type) {
result = VK_ERROR_FORMAT_NOT_SUPPORTED;
} else if (copy_values) {
if (*pValueCount < api_setting->count) {
result = VK_INCOMPLETE;
}
@ -428,7 +442,9 @@ VkResult vlGetLayerSettingValues(VlLayerSettingSet layerSettingSet, const char *
*pValueCount = static_cast<std::uint32_t>(settings.size());
}
} else if (api_setting != nullptr) { // From Vulkan Layer Setting API
if (copy_values) {
if (api_setting->type != type) {
result = VK_ERROR_FORMAT_NOT_SUPPORTED;
} else if (copy_values) {
if (*pValueCount < api_setting->count) {
result = VK_INCOMPLETE;
}
@ -466,7 +482,9 @@ VkResult vlGetLayerSettingValues(VlLayerSettingSet layerSettingSet, const char *
*pValueCount = static_cast<std::uint32_t>(settings_cache.size());
}
} else if (api_setting != nullptr) { // From Vulkan Layer Setting API
if (copy_values) {
if (api_setting->type != type) {
result = VK_ERROR_FORMAT_NOT_SUPPORTED;
} else if (copy_values) {
if (*pValueCount < api_setting->count) {
result = VK_INCOMPLETE;
}

View file

@ -334,7 +334,7 @@ TEST(test_layer_setting_api, vlGetLayerSettingValues_Uint64) {
value_count = 1;
VkResult result_incomplete =
vlGetLayerSettingValues(layerSettingSet, "my_setting", VK_LAYER_SETTING_TYPE_UINT32_EXT, &value_count, &values[0]);
vlGetLayerSettingValues(layerSettingSet, "my_setting", VK_LAYER_SETTING_TYPE_UINT64_EXT, &value_count, &values[0]);
EXPECT_EQ(VK_INCOMPLETE, result_incomplete);
EXPECT_EQ(76, values[0]);
EXPECT_EQ(0, values[1]);