From 750c19410685218d66399554f4ed8e0cde7b8015 Mon Sep 17 00:00:00 2001 From: =?utf8?q?Jean-Philippe=20Bruy=C3=A8re?= Date: Mon, 24 Jan 2022 21:50:48 +0100 Subject: [PATCH] unified layer and instance exts check --- src/vkvg_device.c | 32 +++++++++++++------------- src/vkvg_device_internal.c | 35 ---------------------------- src/vkvg_device_internal.h | 8 ------- src/vkvg_internal.h | 11 +++++---- tests/common/vkengine.c | 47 ++++++++++++++++++++------------------ vkh | 2 +- 6 files changed, 49 insertions(+), 86 deletions(-) diff --git a/src/vkvg_device.c b/src/vkvg_device.c index beff3ae..1677399 100644 --- a/src/vkvg_device.c +++ b/src/vkvg_device.c @@ -32,33 +32,33 @@ if (vkh_phyinfo_try_get_extension_properties(pi, #ext, NULL)) \ VkvgDevice vkvg_device_create(VkSampleCountFlags samples, bool deferredResolve) { const char* enabledExts [10]; - uint32_t enabledExtsCount = 0, phyCount = 0; + const char* enabledLayers[10]; + uint32_t enabledExtsCount = 0, enabledLayersCount = 0, phyCount = 0; -#ifdef VKVG_USE_RENDERDOC - const uint32_t enabledLayersCount = 2; - const char* enabledLayers[] = {"VK_LAYER_KHRONOS_validation", "VK_LAYER_RENDERDOC_Capture"}; -#elif defined (VKVG_USE_VALIDATION) - const uint32_t enabledLayersCount = 1; - const char* enabledLayers[] = {"VK_LAYER_KHRONOS_validation"}; -#else - const uint32_t enabledLayersCount = 0; - const char** enabledLayers = NULL; + vkh_layers_check_init(); + +#ifdef VKVG_USE_VALIDATION + if (vkh_layer_is_present("VK_LAYER_KHRONOS_validation")) + enabledLayers[enabledLayersCount++] = "VK_LAYER_KHRONOS_validation"; #endif -#if defined(DEBUG) && defined (VKVG_DBG_UTILS) - enabledExts[enabledExtsCount++] = "VK_EXT_debug_utils"; + +#ifdef VKVG_USE_RENDERDOC + if (vkh_layer_is_present("VK_LAYER_RENDERDOC_Capture")) + enabledLayers[enabledLayersCount++] = "VK_LAYER_RENDERDOC_Capture"; #endif + vkh_layers_check_release(); - _instance_extensions_check_init (); + vkh_instance_extensions_check_init (); #if defined(DEBUG) && defined (VKVG_DBG_UTILS) - bool dbgUtilsSupported = _instance_extension_supported("VK_EXT_debug_utils"); + bool dbgUtilsSupported = vkh_instance_extension_supported("VK_EXT_debug_utils"); if (dbgUtilsSupported) enabledExts[enabledExtsCount++] = "VK_EXT_debug_utils"; #endif - if (_instance_extension_supported("VK_KHR_get_physical_device_properties2")) + if (vkh_instance_extension_supported("VK_KHR_get_physical_device_properties2")) enabledExts[enabledExtsCount++] = "VK_KHR_get_physical_device_properties2"; - _instance_extensions_check_release(); + vkh_instance_extensions_check_release(); VkhApp app = vkh_app_create(1, 2, "vkvg", enabledLayersCount, enabledLayers, enabledExtsCount, enabledExts); diff --git a/src/vkvg_device_internal.c b/src/vkvg_device_internal.c index af32d92..62eb1f1 100644 --- a/src/vkvg_device_internal.c +++ b/src/vkvg_device_internal.c @@ -532,41 +532,6 @@ void _check_best_image_tiling (VkvgDevice dev, VkFormat format) { LOG(VKVG_LOG_ERR, "vkvg create device failed: image format not supported: %d\n", format); } -static VkExtensionProperties* instExtProps; -static uint32_t instExtCount; -bool _instance_extension_supported (const char* instanceName) { - for (uint32_t i=0; iphy, diff --git a/src/vkvg_device_internal.h b/src/vkvg_device_internal.h index 3537326..ef91e64 100644 --- a/src/vkvg_device_internal.h +++ b/src/vkvg_device_internal.h @@ -122,12 +122,4 @@ void _flush_all_contexes (VkvgDevice dev); void _wait_idle (VkvgDevice dev); void _wait_and_reset_device_fence (VkvgDevice dev); void _submit_cmd (VkvgDevice dev, VkCommandBuffer* cmd, VkFence fence); - -bool _instance_extension_supported (const char* instanceName); -void _instance_extensions_check_init (); -void _instance_extensions_check_release (); - -bool _layer_is_present (const char* layerName); -void _layers_check_init (); -void _layers_check_release (); #endif diff --git a/src/vkvg_internal.h b/src/vkvg_internal.h index 08655a7..8d79d5e 100644 --- a/src/vkvg_internal.h +++ b/src/vkvg_internal.h @@ -35,16 +35,19 @@ #define _USE_MATH_DEFINES #include -#define M_PIF 3.14159265358979323846f /* float pi */ -#define M_PIF_2 1.57079632679489661923f -#define M_2_PIF 0.63661977236758134308f // 2/pi +#ifndef M_PIF + #define M_PIF 3.14159265358979323846f /* float pi */ + #define M_PIF_2 1.57079632679489661923f + #define M_2_PIF 0.63661977236758134308f // 2/pi +#endif + /*#ifndef M_2_PI #define M_2_PI 0.63661977236758134308 // 2/pi #endif*/ #ifdef DEBUG #define LOG(level,...) { \ - if ((vkvg_log_level) & (level)) \ + if ((vkvg_log_level) & (level)) \ fprintf (stdout, __VA_ARGS__); \ } #else diff --git a/tests/common/vkengine.c b/tests/common/vkengine.c index deb8fb2..2407261 100644 --- a/tests/common/vkengine.c +++ b/tests/common/vkengine.c @@ -123,40 +123,43 @@ vk_engine_t* vkengine_create (VkPhysicalDeviceType preferedGPU, VkPresentModeKHR exit(-1); } - uint32_t enabledExtsCount = 0, phyCount = 0; - const char** gflwExts = glfwGetRequiredInstanceExtensions (&enabledExtsCount); - + const char* enabledLayers[10]; const char* enabledExts [10]; + uint32_t enabledExtsCount = 0, enabledLayersCount = 0, phyCount = 0; + + vkh_layers_check_init(); +#ifdef VKVG_USE_VALIDATION + if (vkh_layer_is_present("VK_LAYER_KHRONOS_validation")) + enabledLayers[enabledLayersCount++] = "VK_LAYER_KHRONOS_validation"; +#endif - for (uint32_t i=0;iapp = vkh_app_create(1 ,2 , "vkvgTest", enabledLayersCount, enabledLayers, enabledExtsCount, enabledExts); #if defined(DEBUG) && defined (VKVG_DBG_UTILS) - vkh_app_enable_debug_messenger(e->app + if (dbgUtilsSupported) + vkh_app_enable_debug_messenger(e->app , VK_DEBUG_UTILS_MESSAGE_TYPE_VALIDATION_BIT_EXT //| VK_DEBUG_UTILS_MESSAGE_TYPE_GENERAL_BIT_EXT //| VK_DEBUG_UTILS_MESSAGE_TYPE_PERFORMANCE_BIT_EXT diff --git a/vkh b/vkh index 41daf55..d4c3672 160000 --- a/vkh +++ b/vkh @@ -1 +1 @@ -Subproject commit 41daf55f834aede1698aaa1afae02e2faf22530a +Subproject commit d4c367287ea50e854205e27cf814abbb23615b8a -- 2.47.3