From dbb60ff40bb78e19391afbc7153a199a281a87e3 Mon Sep 17 00:00:00 2001 From: =?utf8?q?Jean-Philippe=20Bruy=C3=A8re?= Date: Sat, 4 Aug 2018 17:59:05 +0200 Subject: [PATCH] add width and height bliting params, USE_VALIDATION cmake option --- CMakeLists.txt | 17 +++++++++++++---- include/vkh.h | 2 +- src/vkh_app.c | 6 +++--- src/vkh_presenter.c | 4 ++-- 4 files changed, 19 insertions(+), 10 deletions(-) diff --git a/CMakeLists.txt b/CMakeLists.txt index 7a67542..9eada1c 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -13,12 +13,21 @@ MESSAGE(STATUS "${CMAKE_BUILD_TYPE} build.") if (CMAKE_BUILD_TYPE STREQUAL "Debug") ADD_DEFINITIONS (-DDEBUG) + OPTION(ENABLE_VALIDATION "enable vulkan validation layer" ON) +ELSE() + OPTION(ENABLE_VALIDATION "enable vulkan validation layer" OFF) ENDIF() -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") +IF (ENABLE_VALIDATION) + ADD_DEFINITIONS (-DVKH_USE_VALIDATION) +ENDIF () + +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") + endif () endif () MESSAGE(STATUS "VULKAN_SDK = $ENV{VULKAN_SDK}") diff --git a/include/vkh.h b/include/vkh.h index 0e20fdb..37c1869 100644 --- a/include/vkh.h +++ b/include/vkh.h @@ -92,7 +92,7 @@ VkhPresenter vkh_presenter_create (VkhDevice dev, uint32_t presentQueueFamIdx, VkFormat preferedFormat, VkPresentModeKHR presentMode); void vkh_presenter_destroy (VkhPresenter r); bool vkh_presenter_draw (VkhPresenter r); -void vkh_presenter_build_blit_cmd (VkhPresenter r, VkImage blitSource); +void vkh_presenter_build_blit_cmd (VkhPresenter r, VkImage blitSource, uint32_t width, uint32_t height); /************ * VkhImage * ************/ diff --git a/src/vkh_app.c b/src/vkh_app.c index d8b4f51..0397d4c 100644 --- a/src/vkh_app.c +++ b/src/vkh_app.c @@ -34,13 +34,13 @@ VkhApp vkh_app_create (const char* app_name, int ext_count, const char* extentio .pEngineName = ENGINE_NAME, .engineVersion = ENGINE_VERSION, .apiVersion = VK_API_VERSION_1_0}; -/*#if DEBUG +#if VKH_USE_VALIDATION const uint32_t enabledLayersCount = 1; const char* enabledLayers[] = {"VK_LAYER_LUNARG_standard_validation"}; -#else*/ +#else const uint32_t enabledLayersCount = 0; const char* enabledLayers[] = {NULL}; -//#endif +#endif VkInstanceCreateInfo inst_info = { .sType = VK_STRUCTURE_TYPE_INSTANCE_CREATE_INFO, .pApplicationInfo = &infos, diff --git a/src/vkh_presenter.c b/src/vkh_presenter.c index 1c0ae5d..7f21d05 100644 --- a/src/vkh_presenter.c +++ b/src/vkh_presenter.c @@ -98,7 +98,7 @@ bool vkh_presenter_draw (VkhPresenter r) { return true; } -void vkh_presenter_build_blit_cmd (VkhPresenter r, VkImage blitSource){ +void vkh_presenter_build_blit_cmd (VkhPresenter r, VkImage blitSource, uint32_t width, uint32_t height){ for (int32_t i = 0; i < r->imgCount; ++i) { @@ -119,7 +119,7 @@ void vkh_presenter_build_blit_cmd (VkhPresenter r, VkImage blitSource){ .dstSubresource = {VK_IMAGE_ASPECT_COLOR_BIT, 0, 0, 1}, .srcOffset = {}, .dstOffset = {0,0,0}, - .extent = {1024,800,1}}; + .extent = {width, height,1}}; vkCmdCopyImage(cb, blitSource, VK_IMAGE_LAYOUT_TRANSFER_SRC_OPTIMAL, bltDstImage, VK_IMAGE_LAYOUT_TRANSFER_DST_OPTIMAL, 1, &cregion); -- 2.47.3