[Tizen] Changed FBOs to use EglSync 34/306234/1
authorDavid Steele <david.steele@samsung.com>
Wed, 7 Feb 2024 11:46:13 +0000 (11:46 +0000)
committerEunki, Hong <eunkiki.hong@samsung.com>
Mon, 19 Feb 2024 05:21:15 +0000 (14:21 +0900)
commitdb2ee08e2c92f98ea39c7a995654331927b79bbf
tree164aa3ac30f3bbcc6bdd4182447bdebaa1219671
parent3f23e69403483cebd17470b80e7479250e92ed37
[Tizen] Changed FBOs to use EglSync

For texture dependencies between shared context and render surface
context (i.e. Window/Scene surface), e.g. when an offscreen is
rendered on-screen, have changed to use EglClientWaitSync with
timeout = FOREVER.

This blocks the CPU when sending draw calls to the GPU where
that draw call uses an offscreen texture. However, in testing
gaussian-blur-view.example, this lasts approx 10ms on some frames
and 16/17 ms on others, yielding an FPS of 41.

Changed egl-sync-implementation.cpp to have multiple versions
of the file for each platform, rather than old-style #ifdefs.

(Todo: could check if the offscreen was re-rendered this frame, as
there is no need to sync if it hasn't changed. But, client can use
RENDER_ONCE to force this behaviour).

+ Fixed some SVACE errors

Change-Id: I64eaf82c5203e6acb6e0fc76b0f0e36136defcdf
20 files changed:
automated-tests/src/dali-adaptor/dali-test-suite-utils/test-graphics-sync-impl.cpp
automated-tests/src/dali-adaptor/dali-test-suite-utils/test-graphics-sync-impl.h
automated-tests/src/dali-adaptor/dali-test-suite-utils/test-graphics-sync-object.h
dali/internal/graphics/android/egl-sync-implementation-android.cpp [new file with mode: 0644]
dali/internal/graphics/common/egl-include.h
dali/internal/graphics/file.list
dali/internal/graphics/generic/egl-sync-implementation.cpp [new file with mode: 0644]
dali/internal/graphics/gles-impl/egl-sync-object.cpp
dali/internal/graphics/gles-impl/egl-sync-object.h
dali/internal/graphics/gles-impl/gles-context.cpp
dali/internal/graphics/gles-impl/gles-sync-object.cpp
dali/internal/graphics/gles-impl/gles-sync-object.h
dali/internal/graphics/gles-impl/gles-sync-pool.cpp
dali/internal/graphics/gles-impl/gles-sync-pool.h
dali/internal/graphics/gles-impl/gles-texture-dependency-checker.cpp
dali/internal/graphics/gles-impl/gles-texture-dependency-checker.h
dali/internal/graphics/gles/egl-sync-implementation.h
dali/internal/graphics/macos/egl-sync-implementation-macos.cpp [new file with mode: 0644]
dali/internal/graphics/tizen/egl-sync-implementation-tizen.cpp [moved from dali/internal/graphics/gles/egl-sync-implementation.cpp with 70% similarity]
dali/internal/graphics/windows-gl/egl-sync-implementation-windows.cpp [new file with mode: 0644]