]> O.S.I.I.S - jp/vkhelpers.git/commitdiff
get swapchain size
authorJean-Philippe Bruyère <jp_bruyere@hotmail.com>
Sun, 31 May 2020 00:03:32 +0000 (02:03 +0200)
committerJean-Philippe Bruyère <jp_bruyere@hotmail.com>
Sun, 31 May 2020 00:03:32 +0000 (02:03 +0200)
include/vkh.h
src/vkh_presenter.c

index c0f9b7a2fa5977e457eb7e5f837f25d147f42272..2d9af36eabdc499f45e912c2522bfe817991311f 100644 (file)
@@ -122,6 +122,7 @@ bool        vkh_presenter_draw    (VkhPresenter r);
 bool        vkh_presenter_acquireNextImage  (VkhPresenter r, VkFence fence, VkSemaphore semaphore);
 void        vkh_presenter_build_blit_cmd    (VkhPresenter r, VkImage blitSource, uint32_t width, uint32_t height);
 void        vkh_presenter_create_swapchain  (VkhPresenter r);
+void           vkh_presenter_get_size                  (VkhPresenter r, uint32_t* pWidth, uint32_t* pHeight);
 /************
  * VkhImage *
  ************/
index 250c3d1a86b0dcb8608f45315ad559f61873d1f5..063e00cd8f5671a21f9a2a94968d85bfa01a109a 100644 (file)
@@ -111,7 +111,7 @@ bool vkh_presenter_draw (VkhPresenter r) {
                                                                 .pImageIndices = &r->currentScBufferIndex };
 
        /* Make sure command buffer is finished before presenting */
-       VK_CHECK_RESULT(vkQueuePresentKHR(r->queue, &present));
+       vkQueuePresentKHR(r->queue, &present);
        return true;
 }
 
@@ -153,7 +153,10 @@ void vkh_presenter_build_blit_cmd (VkhPresenter r, VkImage blitSource, uint32_t
                vkh_cmd_end(cb);
        }
 }
-
+void vkh_presenter_get_size (VkhPresenter r, uint32_t* pWidth, uint32_t* pHeight){
+       *pWidth = r->width;
+       *pHeight = r->height;
+}
 void _init_phy_surface(VkhPresenter r, VkFormat preferedFormat, VkPresentModeKHR presentMode){
        uint32_t count;
        VK_CHECK_RESULT(vkGetPhysicalDeviceSurfaceFormatsKHR (r->dev->phy, r->surface, &count, NULL));
@@ -260,6 +263,7 @@ void _swapchain_destroy (VkhPresenter r){
                vkFreeCommandBuffers (r->dev->dev, r->cmdPool, 1, &r->cmdBuffs[i]);
        }
        vkDestroySwapchainKHR (r->dev->dev, r->swapChain, NULL);
+       r->swapChain = VK_NULL_HANDLE;
        free(r->ScBuffers);
        free(r->cmdBuffs);
 }