Reworking pre-render/post-render 41/321241/4
authorDavid Steele <david.steele@samsung.com>
Thu, 13 Mar 2025 17:22:45 +0000 (17:22 +0000)
committerDavid Steele <david.steele@samsung.com>
Fri, 21 Mar 2025 11:01:35 +0000 (11:01 +0000)
commited43be6acd27dd91790e1f489b1b510731088d6f
tree329ba1274f6f4d7ac56b90c233dcbafa8e0584cf
parent30e3bf04315fddfeed4ef0f4aa8a82b6c1904c37
Reworking pre-render/post-render

Changed main render loop to check if there is a full-swap
without any rendering (usually caused by having no render-task
yet, but resizing or setting the background color of the window).

If so, we need to ensure that an empty scene can be correctly
rendered. Added a ClearScene to Core API.

This is more pertinent to Vulkan renderer, which has to ensure
that the window's render surface is properly acquired _before_
drawing to it, and presenting that surface needs the right
sync primitives.

Modified VulkanGraphicsController::PresentRenderTarget() to also call
Surface->PostRender(), in the same way that EglGraphicsController does.
(Prelude to other re-work for PartialRendering).

Change-Id: Ic3fb46faa17b3ec67053cfc4fbd48f6a31cc414c
13 files changed:
automated-tests/src/dali-adaptor/dali-test-suite-utils/test-graphics-egl-application.h
dali/internal/adaptor/common/combined-update-render-controller-debug.h
dali/internal/adaptor/common/combined-update-render-controller.cpp
dali/internal/adaptor/common/combined-update-render-controller.h
dali/internal/graphics/common/graphics-interface.h
dali/internal/graphics/gles/egl-graphics.cpp
dali/internal/graphics/gles/egl-graphics.h
dali/internal/graphics/vulkan-impl/vulkan-graphics-controller.cpp
dali/internal/graphics/vulkan-impl/vulkan-graphics-controller.h
dali/internal/graphics/vulkan-impl/vulkan-swapchain-impl.cpp
dali/internal/graphics/vulkan-impl/vulkan-swapchain-impl.h
dali/internal/graphics/vulkan/vulkan-graphics-impl.cpp
dali/internal/graphics/vulkan/vulkan-graphics-impl.h