mirror of
https://codeberg.org/comaps/comaps
synced 2025-12-20 05:13:58 +00:00
Format all C++ and Java code via clang-format
Signed-off-by: Konstantin Pastbin <konstantin.pastbin@gmail.com>
This commit is contained in:
136
libs/drape/vulkan/vulkan_layers.cpp
Executable file → Normal file
136
libs/drape/vulkan/vulkan_layers.cpp
Executable file → Normal file
@@ -17,34 +17,32 @@ char const * kDebugReportExtension = "VK_EXT_debug_report";
|
||||
char const * kValidationFeaturesExtension = "VK_EXT_validation_features";
|
||||
|
||||
char const * const kInstanceExtensions[] = {
|
||||
"VK_KHR_surface",
|
||||
"VK_KHR_android_surface",
|
||||
kDebugReportExtension,
|
||||
kValidationFeaturesExtension,
|
||||
"VK_KHR_surface",
|
||||
"VK_KHR_android_surface",
|
||||
kDebugReportExtension,
|
||||
kValidationFeaturesExtension,
|
||||
#if defined(OMIM_OS_MAC) || defined(OMIM_OS_LINUX)
|
||||
"VK_EXT_debug_utils",
|
||||
"VK_EXT_debug_utils",
|
||||
#endif
|
||||
#if defined(OMIM_OS_MAC)
|
||||
"VK_KHR_portability_enumeration",
|
||||
"VK_MVK_macos_surface",
|
||||
"VK_KHR_get_physical_device_properties2",
|
||||
"VK_KHR_portability_enumeration",
|
||||
"VK_MVK_macos_surface",
|
||||
"VK_KHR_get_physical_device_properties2",
|
||||
#endif
|
||||
#if defined(OMIM_OS_LINUX)
|
||||
"VK_KHR_xlib_surface",
|
||||
"VK_KHR_xlib_surface",
|
||||
#endif
|
||||
};
|
||||
|
||||
char const * const kDeviceExtensions[] =
|
||||
{
|
||||
"VK_KHR_swapchain",
|
||||
char const * const kDeviceExtensions[] = {
|
||||
"VK_KHR_swapchain",
|
||||
#if defined(OMIM_OS_MAC)
|
||||
"VK_KHR_portability_subset",
|
||||
"VK_KHR_portability_subset",
|
||||
#endif
|
||||
};
|
||||
|
||||
char const * const kValidationLayers[] =
|
||||
{
|
||||
"VK_LAYER_KHRONOS_validation",
|
||||
char const * const kValidationLayers[] = {
|
||||
"VK_LAYER_KHRONOS_validation",
|
||||
};
|
||||
|
||||
std::vector<char const *> CheckLayers(std::vector<VkLayerProperties> const & props)
|
||||
@@ -53,20 +51,16 @@ std::vector<char const *> CheckLayers(std::vector<VkLayerProperties> const & pro
|
||||
result.reserve(props.size());
|
||||
for (uint32_t i = 0; i < ARRAY_SIZE(kValidationLayers); ++i)
|
||||
{
|
||||
auto const it = std::find_if(props.begin(), props.end(),
|
||||
[i](VkLayerProperties const & p)
|
||||
{
|
||||
return strcmp(kValidationLayers[i], p.layerName) == 0;
|
||||
});
|
||||
auto const it = std::find_if(props.begin(), props.end(), [i](VkLayerProperties const & p)
|
||||
{ return strcmp(kValidationLayers[i], p.layerName) == 0; });
|
||||
if (it != props.end())
|
||||
result.push_back(kValidationLayers[i]);
|
||||
}
|
||||
return result;
|
||||
}
|
||||
|
||||
std::vector<char const *> CheckExtensions(std::vector<VkExtensionProperties> const & props,
|
||||
bool enableDiagnostics, char const * const * extensions,
|
||||
uint32_t extensionsCount)
|
||||
std::vector<char const *> CheckExtensions(std::vector<VkExtensionProperties> const & props, bool enableDiagnostics,
|
||||
char const * const * extensions, uint32_t extensionsCount)
|
||||
{
|
||||
std::vector<char const *> result;
|
||||
result.reserve(props.size());
|
||||
@@ -81,11 +75,8 @@ std::vector<char const *> CheckExtensions(std::vector<VkExtensionProperties> con
|
||||
continue;
|
||||
}
|
||||
|
||||
auto const it = std::find_if(props.begin(), props.end(),
|
||||
[i, extensions](VkExtensionProperties const & p)
|
||||
{
|
||||
return strcmp(extensions[i], p.extensionName) == 0;
|
||||
});
|
||||
auto const it = std::find_if(props.begin(), props.end(), [i, extensions](VkExtensionProperties const & p)
|
||||
{ return strcmp(extensions[i], p.extensionName) == 0; });
|
||||
if (it != props.end())
|
||||
result.push_back(extensions[i]);
|
||||
}
|
||||
@@ -124,16 +115,13 @@ std::string GetReportObjectTypeString(VkDebugReportObjectTypeEXT objectType)
|
||||
case VK_DEBUG_REPORT_OBJECT_TYPE_COMMAND_POOL_EXT: return "COMMAND_POOL";
|
||||
case VK_DEBUG_REPORT_OBJECT_TYPE_SURFACE_KHR_EXT: return "SURFACE_KHR";
|
||||
case VK_DEBUG_REPORT_OBJECT_TYPE_SWAPCHAIN_KHR_EXT: return "SWAPCHAIN_KHR";
|
||||
case VK_DEBUG_REPORT_OBJECT_TYPE_DEBUG_REPORT_CALLBACK_EXT_EXT:
|
||||
return "DEBUG_REPORT_CALLBACK_EXT";
|
||||
case VK_DEBUG_REPORT_OBJECT_TYPE_DEBUG_REPORT_CALLBACK_EXT_EXT: return "DEBUG_REPORT_CALLBACK_EXT";
|
||||
case VK_DEBUG_REPORT_OBJECT_TYPE_DISPLAY_KHR_EXT: return "DISPLAY_KHR";
|
||||
case VK_DEBUG_REPORT_OBJECT_TYPE_DISPLAY_MODE_KHR_EXT: return "DISPLAY_MODE_KHR";
|
||||
case VK_DEBUG_REPORT_OBJECT_TYPE_VALIDATION_CACHE_EXT_EXT: return "VALIDATION_CACHE_EXT";
|
||||
case VK_DEBUG_REPORT_OBJECT_TYPE_SAMPLER_YCBCR_CONVERSION_EXT: return "SAMPLER_YCBCR_CONVERSION";
|
||||
case VK_DEBUG_REPORT_OBJECT_TYPE_DESCRIPTOR_UPDATE_TEMPLATE_EXT:
|
||||
return "DESCRIPTOR_UPDATE_TEMPLATE";
|
||||
case VK_DEBUG_REPORT_OBJECT_TYPE_ACCELERATION_STRUCTURE_NV_EXT:
|
||||
return "ACCELERATION_STRUCTURE_NV";
|
||||
case VK_DEBUG_REPORT_OBJECT_TYPE_DESCRIPTOR_UPDATE_TEMPLATE_EXT: return "DESCRIPTOR_UPDATE_TEMPLATE";
|
||||
case VK_DEBUG_REPORT_OBJECT_TYPE_ACCELERATION_STRUCTURE_NV_EXT: return "ACCELERATION_STRUCTURE_NV";
|
||||
case VK_DEBUG_REPORT_OBJECT_TYPE_MAX_ENUM_EXT: return "MAX_ENUM";
|
||||
case VK_DEBUG_REPORT_OBJECT_TYPE_CU_MODULE_NVX_EXT: return "CU_MODULE_NVX";
|
||||
case VK_DEBUG_REPORT_OBJECT_TYPE_CU_FUNCTION_NVX_EXT: return "CU_FUNCTION_NVX";
|
||||
@@ -148,41 +136,31 @@ std::string GetReportObjectTypeString(VkDebugReportObjectTypeEXT objectType)
|
||||
|
||||
bool IsContained(char const * name, std::vector<char const *> const & collection)
|
||||
{
|
||||
return collection.end() != std::find_if(collection.begin(), collection.end(),
|
||||
[name](char const * v) { return strcmp(name, v) == 0; });
|
||||
return collection.end() !=
|
||||
std::find_if(collection.begin(), collection.end(), [name](char const * v) { return strcmp(name, v) == 0; });
|
||||
}
|
||||
} // namespace
|
||||
|
||||
static VkBool32 VKAPI_PTR DebugReportCallbackImpl(VkDebugReportFlagsEXT flags,
|
||||
VkDebugReportObjectTypeEXT objectType, uint64_t object,
|
||||
size_t location, int32_t /*messageCode*/,
|
||||
const char * pLayerPrefix, const char * pMessage,
|
||||
void * /*pUserData*/)
|
||||
static VkBool32 VKAPI_PTR DebugReportCallbackImpl(VkDebugReportFlagsEXT flags, VkDebugReportObjectTypeEXT objectType,
|
||||
uint64_t object, size_t location, int32_t /*messageCode*/,
|
||||
char const * pLayerPrefix, char const * pMessage,
|
||||
void * /*pUserData*/)
|
||||
{
|
||||
auto logLevel = base::LogLevel::LINFO;
|
||||
if ((flags & VK_DEBUG_REPORT_WARNING_BIT_EXT) ||
|
||||
(flags & VK_DEBUG_REPORT_PERFORMANCE_WARNING_BIT_EXT))
|
||||
{
|
||||
if ((flags & VK_DEBUG_REPORT_WARNING_BIT_EXT) || (flags & VK_DEBUG_REPORT_PERFORMANCE_WARNING_BIT_EXT))
|
||||
logLevel = base::LogLevel::LWARNING;
|
||||
}
|
||||
else if (flags & VK_DEBUG_REPORT_ERROR_BIT_EXT)
|
||||
{
|
||||
logLevel = base::LogLevel::LERROR;
|
||||
}
|
||||
#ifdef ENABLE_VULKAN_DEBUG_DIAGNOSTICS_MESSAGES
|
||||
else if (flags & VK_DEBUG_REPORT_DEBUG_BIT_EXT)
|
||||
{
|
||||
logLevel = base::LogLevel::LDEBUG;
|
||||
}
|
||||
#else
|
||||
else
|
||||
{
|
||||
return VK_FALSE;
|
||||
}
|
||||
#endif
|
||||
|
||||
LOG(logLevel, ("Vulkan Diagnostics [", pLayerPrefix, "] [", GetReportObjectTypeString(objectType),
|
||||
"] [OBJ:", object, "LOC:", location, "]:", pMessage));
|
||||
LOG(logLevel, ("Vulkan Diagnostics [", pLayerPrefix, "] [", GetReportObjectTypeString(objectType), "] [OBJ:", object,
|
||||
"LOC:", location, "]:", pMessage));
|
||||
return VK_FALSE;
|
||||
}
|
||||
|
||||
@@ -235,8 +213,7 @@ Layers::Layers(bool enableDiagnostics)
|
||||
if (instExtensionsCount != 0)
|
||||
{
|
||||
extensionsProperties.resize(instExtensionsCount);
|
||||
statusCode = vkEnumerateInstanceExtensionProperties(nullptr, &instExtensionsCount,
|
||||
extensionsProperties.data());
|
||||
statusCode = vkEnumerateInstanceExtensionProperties(nullptr, &instExtensionsCount, extensionsProperties.data());
|
||||
if (statusCode != VK_SUCCESS)
|
||||
{
|
||||
LOG_ERROR_VK_CALL(vkEnumerateInstanceExtensionProperties, statusCode);
|
||||
@@ -267,8 +244,8 @@ Layers::Layers(bool enableDiagnostics)
|
||||
extensionsProperties.insert(extensionsProperties.end(), props.begin(), props.end());
|
||||
}
|
||||
|
||||
m_instanceExtensions = CheckExtensions(extensionsProperties, m_enableDiagnostics,
|
||||
kInstanceExtensions, ARRAY_SIZE(kInstanceExtensions));
|
||||
m_instanceExtensions =
|
||||
CheckExtensions(extensionsProperties, m_enableDiagnostics, kInstanceExtensions, ARRAY_SIZE(kInstanceExtensions));
|
||||
|
||||
for (auto ext : m_instanceExtensions)
|
||||
{
|
||||
@@ -314,8 +291,7 @@ bool Layers::Initialize(VkInstance instance, VkPhysicalDevice physicalDevice)
|
||||
{
|
||||
// Get device layers count.
|
||||
uint32_t devLayerCount = 0;
|
||||
auto statusCode = vkEnumerateDeviceLayerProperties(physicalDevice, &devLayerCount,
|
||||
nullptr);
|
||||
auto statusCode = vkEnumerateDeviceLayerProperties(physicalDevice, &devLayerCount, nullptr);
|
||||
if (statusCode != VK_SUCCESS)
|
||||
{
|
||||
LOG_ERROR_VK_CALL(vkEnumerateDeviceLayerProperties, statusCode);
|
||||
@@ -327,8 +303,7 @@ bool Layers::Initialize(VkInstance instance, VkPhysicalDevice physicalDevice)
|
||||
if (devLayerCount != 0)
|
||||
{
|
||||
layerProperties.resize(devLayerCount);
|
||||
statusCode = vkEnumerateDeviceLayerProperties(physicalDevice, &devLayerCount,
|
||||
layerProperties.data());
|
||||
statusCode = vkEnumerateDeviceLayerProperties(physicalDevice, &devLayerCount, layerProperties.data());
|
||||
if (statusCode != VK_SUCCESS)
|
||||
{
|
||||
LOG_ERROR_VK_CALL(vkEnumerateDeviceLayerProperties, statusCode);
|
||||
@@ -343,8 +318,7 @@ bool Layers::Initialize(VkInstance instance, VkPhysicalDevice physicalDevice)
|
||||
|
||||
// Get device extensions count.
|
||||
uint32_t devExtensionsCount = 0;
|
||||
auto statusCode = vkEnumerateDeviceExtensionProperties(physicalDevice, nullptr,
|
||||
&devExtensionsCount, nullptr);
|
||||
auto statusCode = vkEnumerateDeviceExtensionProperties(physicalDevice, nullptr, &devExtensionsCount, nullptr);
|
||||
if (statusCode != VK_SUCCESS)
|
||||
{
|
||||
LOG_ERROR_VK_CALL(vkEnumerateDeviceExtensionProperties, statusCode);
|
||||
@@ -356,9 +330,8 @@ bool Layers::Initialize(VkInstance instance, VkPhysicalDevice physicalDevice)
|
||||
if (devExtensionsCount != 0)
|
||||
{
|
||||
extensionsProperties.resize(devExtensionsCount);
|
||||
statusCode = vkEnumerateDeviceExtensionProperties(physicalDevice, nullptr,
|
||||
&devExtensionsCount,
|
||||
extensionsProperties.data());
|
||||
statusCode =
|
||||
vkEnumerateDeviceExtensionProperties(physicalDevice, nullptr, &devExtensionsCount, extensionsProperties.data());
|
||||
if (statusCode != VK_SUCCESS)
|
||||
{
|
||||
LOG_ERROR_VK_CALL(vkEnumerateDeviceExtensionProperties, statusCode);
|
||||
@@ -370,8 +343,7 @@ bool Layers::Initialize(VkInstance instance, VkPhysicalDevice physicalDevice)
|
||||
for (auto layerName : m_deviceLayers)
|
||||
{
|
||||
uint32_t cnt = 0;
|
||||
statusCode = vkEnumerateDeviceExtensionProperties(physicalDevice, layerName,
|
||||
&cnt, nullptr);
|
||||
statusCode = vkEnumerateDeviceExtensionProperties(physicalDevice, layerName, &cnt, nullptr);
|
||||
if (statusCode != VK_SUCCESS)
|
||||
{
|
||||
LOG_ERROR_VK_CALL(vkEnumerateDeviceExtensionProperties, statusCode);
|
||||
@@ -381,8 +353,7 @@ bool Layers::Initialize(VkInstance instance, VkPhysicalDevice physicalDevice)
|
||||
continue;
|
||||
|
||||
std::vector<VkExtensionProperties> props(cnt);
|
||||
statusCode = vkEnumerateDeviceExtensionProperties(physicalDevice, layerName,
|
||||
&cnt, props.data());
|
||||
statusCode = vkEnumerateDeviceExtensionProperties(physicalDevice, layerName, &cnt, props.data());
|
||||
if (statusCode != VK_SUCCESS)
|
||||
{
|
||||
LOG_ERROR_VK_CALL(vkEnumerateDeviceExtensionProperties, statusCode);
|
||||
@@ -391,8 +362,8 @@ bool Layers::Initialize(VkInstance instance, VkPhysicalDevice physicalDevice)
|
||||
extensionsProperties.insert(extensionsProperties.end(), props.begin(), props.end());
|
||||
}
|
||||
|
||||
m_deviceExtensions = CheckExtensions(extensionsProperties, m_enableDiagnostics,
|
||||
kDeviceExtensions, ARRAY_SIZE(kDeviceExtensions));
|
||||
m_deviceExtensions =
|
||||
CheckExtensions(extensionsProperties, m_enableDiagnostics, kDeviceExtensions, ARRAY_SIZE(kDeviceExtensions));
|
||||
for (auto ext : m_deviceExtensions)
|
||||
LOG(LINFO, ("Vulkan device extension prepared", ext));
|
||||
|
||||
@@ -401,14 +372,11 @@ bool Layers::Initialize(VkInstance instance, VkPhysicalDevice physicalDevice)
|
||||
if (m_vkCreateDebugReportCallbackEXT == nullptr)
|
||||
{
|
||||
m_vkCreateDebugReportCallbackEXT =
|
||||
(PFN_vkCreateDebugReportCallbackEXT)vkGetInstanceProcAddr(instance,
|
||||
"vkCreateDebugReportCallbackEXT");
|
||||
(PFN_vkCreateDebugReportCallbackEXT)vkGetInstanceProcAddr(instance, "vkCreateDebugReportCallbackEXT");
|
||||
m_vkDestroyDebugReportCallbackEXT =
|
||||
(PFN_vkDestroyDebugReportCallbackEXT)vkGetInstanceProcAddr(instance,
|
||||
"vkDestroyDebugReportCallbackEXT");
|
||||
(PFN_vkDestroyDebugReportCallbackEXT)vkGetInstanceProcAddr(instance, "vkDestroyDebugReportCallbackEXT");
|
||||
m_vkDebugReportMessageEXT =
|
||||
(PFN_vkDebugReportMessageEXT)vkGetInstanceProcAddr(instance,
|
||||
"vkDebugReportMessageEXT");
|
||||
(PFN_vkDebugReportMessageEXT)vkGetInstanceProcAddr(instance, "vkDebugReportMessageEXT");
|
||||
}
|
||||
|
||||
if (m_vkCreateDebugReportCallbackEXT == nullptr)
|
||||
@@ -420,10 +388,8 @@ bool Layers::Initialize(VkInstance instance, VkPhysicalDevice physicalDevice)
|
||||
VkDebugReportCallbackCreateInfoEXT dbgInfo = {};
|
||||
dbgInfo.sType = VK_STRUCTURE_TYPE_DEBUG_REPORT_CREATE_INFO_EXT;
|
||||
dbgInfo.pNext = nullptr;
|
||||
dbgInfo.flags = VK_DEBUG_REPORT_INFORMATION_BIT_EXT |
|
||||
VK_DEBUG_REPORT_WARNING_BIT_EXT |
|
||||
VK_DEBUG_REPORT_PERFORMANCE_WARNING_BIT_EXT |
|
||||
VK_DEBUG_REPORT_ERROR_BIT_EXT |
|
||||
dbgInfo.flags = VK_DEBUG_REPORT_INFORMATION_BIT_EXT | VK_DEBUG_REPORT_WARNING_BIT_EXT |
|
||||
VK_DEBUG_REPORT_PERFORMANCE_WARNING_BIT_EXT | VK_DEBUG_REPORT_ERROR_BIT_EXT |
|
||||
VK_DEBUG_REPORT_DEBUG_BIT_EXT;
|
||||
dbgInfo.pfnCallback = DebugReportCallbackImpl;
|
||||
dbgInfo.pUserData = nullptr;
|
||||
@@ -470,9 +436,9 @@ char const * const * Layers::GetDeviceExtensions() const
|
||||
return m_deviceExtensions.data();
|
||||
}
|
||||
|
||||
bool Layers::IsValidationFeaturesEnabled() const
|
||||
bool Layers::IsValidationFeaturesEnabled() const
|
||||
{
|
||||
return m_validationFeaturesEnabled;
|
||||
return m_validationFeaturesEnabled;
|
||||
}
|
||||
} // namespace vulkan
|
||||
} // namespace dp
|
||||
|
||||
Reference in New Issue
Block a user