Moving owner of secondary command buffers 48/257248/2
authorDavid Steele <david.steele@samsung.com>
Wed, 21 Apr 2021 15:59:38 +0000 (16:59 +0100)
committerDavid Steele <david.steele@samsung.com>
Thu, 22 Apr 2021 12:20:19 +0000 (13:20 +0100)
commit2942817beb1ac543abd7bd66428ed1f42bc07723
treea6e79feff4a8e7e9a4d4b9bf5eb1855ea585a5db
parentc513cdc80f060921cf3975e3178299d43d522d1e
Moving owner of secondary command buffers

Current owner is renderer, but this is problematic because a single
renderer can be rendered more than once per frame, e.g. because it's
in more than one RenderTask, or referenced by more than one node, or
it has both opaque and transparent external draw commands.

Changed owner to RenderList.

Changed management of Pipeline to have one handler per renderer per node per instruction per blend
to ensure that owner is unique per render (as ptr to Pipeline is shallow copied in BindPipeline).

Change-Id: I39cf2e991ba3179fb6ea6c9b80ff26d8bf7b0a95
Signed-off-by: David Steele <david.steele@samsung.com>
automated-tests/src/dali/dali-test-suite-utils/test-graphics-command-buffer.cpp
automated-tests/src/dali/dali-test-suite-utils/test-graphics-command-buffer.h
automated-tests/src/dali/dali-test-suite-utils/test-graphics-controller.cpp
automated-tests/src/dali/dali-test-suite-utils/test-graphics-controller.h
dali/graphics-api/graphics-command-buffer.h
dali/internal/render/common/render-algorithms.cpp
dali/internal/render/common/render-algorithms.h
dali/internal/render/common/render-list.h
dali/internal/render/renderers/render-renderer.cpp
dali/internal/render/renderers/render-renderer.h