From 38ec67de2972f9d4734980a7a83bd4baf9784aa5 Mon Sep 17 00:00:00 2001 From: =?utf8?q?Jean-Philippe=20Bruy=C3=A8re?= Date: Sun, 1 Sep 2019 00:22:08 +0200 Subject: [PATCH] layers params for vkh_app_create --- CMakeLists.txt | 6 +++++- include/vkh.h | 2 +- src/vkh_app.c | 13 +++---------- 3 files changed, 9 insertions(+), 12 deletions(-) diff --git a/CMakeLists.txt b/CMakeLists.txt index 93add6c..a0db23b 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -26,7 +26,11 @@ if (NOT VULKAN_SDK) set(VULKAN_SDK "$ENV{VULKAN_SDK}" CACHE STRING "LunarG Vulkan SDK path") if (VULKAN_SDK) set(ENV{VULKAN_SDK} ${VULKAN_SDK}) - SET(ENV{VK_LAYER_PATH} "${VULKAN_SDK}/etc/explicit_layer.d") + SET(vulkanSdkLayerPath "${VULKAN_SDK}/etc/vulkan/explicit_layer.d") + IF (NOT EXISTS "${vulkanSdkLayerPath}") + SET(vulkanSdkLayerPath "${VULKAN_SDK}/etc/explicit_layer.d") + endif () + SET(ENV{VK_LAYER_PATH} "${vulkanSdkLayerPath}") link_directories("${VULKAN_SDK}/lib") endif () endif () diff --git a/include/vkh.h b/include/vkh.h index 9c66542..44773f3 100644 --- a/include/vkh.h +++ b/include/vkh.h @@ -64,7 +64,7 @@ typedef struct _vkh_presenter_t* VkhPresenter; /************* * VkhApp * *************/ -VkhApp vkh_app_create (const char* app_name, uint32_t ext_count, const char* extentions[]); +VkhApp vkh_app_create (const char* app_name, uint32_t enabledLayersCount, const char *enabledLayers[], uint32_t ext_count, const char* extentions[]); void vkh_app_destroy (VkhApp app); VkInstance vkh_app_get_inst (VkhApp app); VkPhysicalDevice vkh_app_select_phy (VkhApp app, VkPhysicalDeviceType preferedPhyType); diff --git a/src/vkh_app.c b/src/vkh_app.c index 50388ce..bb378f1 100644 --- a/src/vkh_app.c +++ b/src/vkh_app.c @@ -25,7 +25,7 @@ #define ENGINE_NAME "vkhelpers" #define ENGINE_VERSION 1 -VkhApp vkh_app_create (const char* app_name, uint32_t ext_count, const char* extentions[]) { +VkhApp vkh_app_create (const char* app_name, uint32_t enabledLayersCount, const char* enabledLayers[], uint32_t ext_count, const char* extentions[]) { VkhApp app = (VkhApp)malloc(sizeof(vkh_app_t)); VkApplicationInfo infos = { .sType = VK_STRUCTURE_TYPE_APPLICATION_INFO, @@ -34,13 +34,6 @@ VkhApp vkh_app_create (const char* app_name, uint32_t ext_count, const char* ext .pEngineName = ENGINE_NAME, .engineVersion = ENGINE_VERSION, .apiVersion = VK_API_VERSION_1_0}; -#if VKH_USE_VALIDATION - const uint32_t enabledLayersCount = 1; - const char* enabledLayers[] = {"VK_LAYER_KHRONOS_validation"}; -#else - const uint32_t enabledLayersCount = 0; - const char* enabledLayers[] = {NULL}; -#endif VkInstanceCreateInfo inst_info = { .sType = VK_STRUCTURE_TYPE_INSTANCE_CREATE_INFO, .pApplicationInfo = &infos, @@ -69,14 +62,14 @@ VkhPhyInfo* vkh_app_get_phyinfos (VkhApp app, uint32_t* count, VkSurfaceKHR surf VK_CHECK_RESULT(vkEnumeratePhysicalDevices (app->inst, count, phyDevices)); VkhPhyInfo* infos = (VkhPhyInfo*)malloc((*count) * sizeof(VkhPhyInfo)); - for (int i=0; i<(*count); i++) + for (uint32_t i=0; i<(*count); i++) infos[i] = vkh_phyinfo_create (phyDevices[i], surface); return infos; } void vkh_app_free_phyinfos (uint32_t count, VkhPhyInfo* infos) { - for (int i=0; i