]> O.S.I.I.S - jp/vkhelpers.git/commitdiff
add width and height bliting params, USE_VALIDATION cmake option
authorJean-Philippe Bruyère <jp_bruyere@hotmail.com>
Sat, 4 Aug 2018 15:59:05 +0000 (17:59 +0200)
committerJean-Philippe Bruyère <jp_bruyere@hotmail.com>
Sat, 4 Aug 2018 15:59:05 +0000 (17:59 +0200)
CMakeLists.txt
include/vkh.h
src/vkh_app.c
src/vkh_presenter.c

index 7a6754261bdb77760c73bef1541bba971402e9b4..9eada1ce9528b73b7c90998062ab3d25d08caeb1 100644 (file)
@@ -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}")
index 0e20fdb49a1af3b53f3874267349b17ce6c7f35a..37c18697745b0d6b4763fe39a29d3543bf3a680d 100644 (file)
@@ -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 *
  ************/
index d8b4f512c8ecb1c6cd9628d709640dfe90a2902f..0397d4cceb513a34c669c3710c3209bb13efdba9 100644 (file)
@@ -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,
index 1c0ae5dd48a247760a4cad6273ab77318c1bed55..7f21d053f73b8a1e4b7f33a084e1170e5a9562a6 100644 (file)
@@ -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);