diff --git a/inc/hgl/graph/module/SwapchainModule.h b/inc/hgl/graph/module/SwapchainModule.h index 50452eeb..27f46722 100644 --- a/inc/hgl/graph/module/SwapchainModule.h +++ b/inc/hgl/graph/module/SwapchainModule.h @@ -37,7 +37,7 @@ public: RenderPass * GetRenderPass ()const{return sc_render_pass;} - const VkExtent2D & GetSwapchainSize()const; + bool GetSwapchainSize(VkExtent2D *)const; SwapchainRenderTarget * GetRenderTarget ()const{return sc_render_target;} IRenderTarget * AcquireNextImage()const; diff --git a/src/SceneGraph/module/SwapchainModule.cpp b/src/SceneGraph/module/SwapchainModule.cpp index e4cdb609..f38d47bb 100644 --- a/src/SceneGraph/module/SwapchainModule.cpp +++ b/src/SceneGraph/module/SwapchainModule.cpp @@ -284,8 +284,21 @@ void SwapchainModule::OnResize(const VkExtent2D &extent) // sc_render_target->WaitFence(); //} -const VkExtent2D & SwapchainModule::GetSwapchainSize()const{return sc_render_target->GetExtent();} + bool SwapchainModule::GetSwapchainSize(VkExtent2D *ext)const + { + if(!ext||!sc_render_target) + return(false); + + *ext=sc_render_target->GetExtent(); + return(true); + } - IRenderTarget * SwapchainModule::AcquireNextImage()const{return sc_render_target->AcquireNextImage();} + IRenderTarget * SwapchainModule::AcquireNextImage()const + { + if(!sc_render_target) + return(nullptr); + + return sc_render_target->AcquireNextImage(); + } VK_NAMESPACE_END