Changed SceneHolder's RenderTarget initialization 71/268271/5
authorDavid Steele <david.steele@samsung.com>
Fri, 17 Dec 2021 17:24:15 +0000 (17:24 +0000)
committerDavid Steele <david.steele@samsung.com>
Fri, 21 Jan 2022 11:54:57 +0000 (11:54 +0000)
SceneHolder currently generates Graphics::RenderTarget in the wrong
thread (Event thread) which can cause crashes in EglController if
there is a heavy load, as Surface/Context pair vector can be modified
in one thread whilst being read in another.

Instead, set up the RenderTarget create info struct, and pass that
through the existing messages instead of RenderTarget. When the
SceneGraph::Scene gets it's second stage Initialize() method
called (by RenderManager), then use that CreateInfo struct to create
the RenderTarget. All modifications to the queues/vectors are now done
in the same thread, and should prevent crashes.

Change-Id: I6d33590ed85085f26c84c5d798abca48dd8affba
Signed-off-by: David Steele <david.steele@samsung.com>

No differences found