mDamagedRects.clear();
// Collect damage rects
- bool willRender = mCore.PreRender(scene, mDamagedRects) || windowSurface->GetFullSwapNextFrame();
- ;
+ bool willRender = mCore.PreRender(scene, mDamagedRects);
+ bool fullSwap = windowSurface->GetFullSwapNextFrame();
+ DALI_LOG_RELEASE_INFO("RenderThread: core.PreRender():%s fullSwap:%s\n", willRender ? "T" : "F", fullSwap ? "T" : "F");
+ willRender |= fullSwap;
if(willRender)
{
graphics.AcquireNextImage(windowSurface);
// Ensure surface can be drawn to; merge damaged areas for previous frames
windowSurface->PreRender(sceneSurfaceResized > 0u, mDamagedRects, clippingRect);
+ DALI_LOG_RELEASE_INFO("RenderThread: core.RenderScene() Render the surface\n");
// Render the surface (Present & SwapBuffers)
mCore.RenderScene(windowRenderStatus, scene, false, clippingRect);
}
void VulkanGraphicsController::PresentRenderTarget(Graphics::RenderTarget* renderTarget)
{
+ DALI_LOG_INFO(gVulkanFilter, Debug::Verbose, "RenderTarget:%p Surface:%p\n", renderTarget, static_cast<Vulkan::RenderTarget*>(renderTarget)->GetSurface());
+
if(auto surface = static_cast<Vulkan::RenderTarget*>(renderTarget)->GetSurface())
{
const auto surfaceId = static_cast<Internal::Adaptor::WindowRenderSurface*>(surface)->GetSurfaceId();
void Swapchain::Present()
{
+ DALI_LOG_INFO(gVulkanFilter, Debug::Verbose, "Vulkan::Swapchain::Present() valid:%s HaveBuffers:%s\n", mIsValid ? "True" : "False", mSwapchainBuffers.empty() ? "F" : "T");
// prevent from using invalid swapchain
if(!mIsValid || mSwapchainBuffers.empty())
{
void Device::AcquireNextImage(SurfaceId surfaceId)
{
auto swapchain = mSurfaceMap[surfaceId].swapchain;
+
+ DALI_LOG_INFO(gVulkanFilter, Debug::Verbose, "swapchain::%p\n", swapchain);
+
if(swapchain != nullptr)
{
FramebufferImpl* framebuffer = swapchain->AcquireNextFramebuffer(true);
Integration::DepthBufferAvailable depthBufferAvailable,
Integration::StencilBufferAvailable stencilBufferRequired,
Integration::PartialUpdateAvailable partialUpdateRequired)
-: GraphicsInterface(info, depthBufferAvailable, stencilBufferRequired, partialUpdateRequired),
+: GraphicsInterface(info, depthBufferAvailable, stencilBufferRequired, Integration::PartialUpdateAvailable::FALSE /*partialUpdateRequired*/),
mGraphicsController(),
mMultiSamplingLevel(-1) // No multisampling
{
{
mDepthBufferRequired = static_cast<Integration::DepthBufferAvailable>(depth);
mStencilBufferRequired = static_cast<Integration::StencilBufferAvailable>(stencil);
- mPartialUpdateRequired = static_cast<Integration::PartialUpdateAvailable>(partialRendering);
+ mPartialUpdateRequired = Integration::PartialUpdateAvailable::FALSE; //static_cast<Integration::PartialUpdateAvailable>(partialRendering);
mMultiSamplingLevel = msaa;
Initialize(displayConnection);
}