Dali 3D User Interface Engine
List of all members | Public Member Functions | Private Types | Private Member Functions | Private Attributes
Dali::Internal::Adaptor::EglSyncImplementation Class Reference

GlSyncImplementation is a concrete implementation for GlSyncAbstraction. More...

#include <egl-sync-implementation.h>

Inheritance diagram for Dali::Internal::Adaptor::EglSyncImplementation:
Inheritance graph
[legend]
Collaboration diagram for Dali::Internal::Adaptor::EglSyncImplementation:
Collaboration graph
[legend]

Public Member Functions

 EglSyncImplementation ()
 Constructor. More...
 
virtual ~EglSyncImplementation ()
 Destructor. More...
 
void Initialize (EglImplementation *impl)
 Initialize the sync object with the Egl implementation. More...
 
virtual SyncObjectCreateSyncObject ()
 Create a synchronisation object based on the resource id, typically that of a framebuffer texture. More...
 
virtual void DestroySyncObject (SyncObject *syncObject)
 Destroy the synchronisation object. More...
 

Private Types

typedef Vector< EglSyncObject * > SyncContainer
 
typedef SyncContainer::Iterator SyncIter
 

Private Member Functions

void InitializeEglSync ()
 Set up the function pointers. More...
 

Private Attributes

EglImplementationmEglImplementation
 Egl implementation (to get display) More...
 
bool mSyncInitialized
 Flag to perform initialization on first use. More...
 
bool mSyncInitializeFailed
 Flag to avoid reloading functions if failed once. More...
 
SyncContainer mSyncObjects
 

Additional Inherited Members

- Protected Member Functions inherited from Dali::Integration::GlSyncAbstraction
virtual ~GlSyncAbstraction ()
 Virtual protected destructor, no deletion through this interface. More...
 

Detailed Description

GlSyncImplementation is a concrete implementation for GlSyncAbstraction.

It provides fence syncing for resources such as FrameBuffers using EGL extensions

Sync objects are created in the render thread after a render instruction has been processed (i.e. GL draw calls have completed for a given FB), and tested in the update

Definition at line 72 of file egl-sync-implementation.h.

Member Typedef Documentation

Definition at line 108 of file egl-sync-implementation.h.

Definition at line 109 of file egl-sync-implementation.h.

Constructor & Destructor Documentation

Dali::Internal::Adaptor::EglSyncImplementation::EglSyncImplementation ( )

Constructor.

Definition at line 192 of file egl-sync-implementation.cpp.

Dali::Internal::Adaptor::EglSyncImplementation::~EglSyncImplementation ( )
virtual

Destructor.

Definition at line 199 of file egl-sync-implementation.cpp.

Member Function Documentation

Integration::GlSyncAbstraction::SyncObject * Dali::Internal::Adaptor::EglSyncImplementation::CreateSyncObject ( )
virtual

Create a synchronisation object based on the resource id, typically that of a framebuffer texture.

It can then be polled using the same resource id.

Returns
A pointer to an opaque sync object

Implements Dali::Integration::GlSyncAbstraction.

Definition at line 208 of file egl-sync-implementation.cpp.

References DALI_ASSERT_ALWAYS, and mEglImplementation.

void Dali::Internal::Adaptor::EglSyncImplementation::DestroySyncObject ( SyncObject syncObject)
virtual

Destroy the synchronisation object.

Parameters
[in]syncObjectThe sync object to destroy

Implements Dali::Integration::GlSyncAbstraction.

Definition at line 214 of file egl-sync-implementation.cpp.

References DALI_ASSERT_ALWAYS, and mEglImplementation.

void Dali::Internal::Adaptor::EglSyncImplementation::Initialize ( EglImplementation impl)

Initialize the sync object with the Egl implementation.

Parameters
[in]implThe EGL implementation (to access display)

Definition at line 203 of file egl-sync-implementation.cpp.

References mEglImplementation.

Referenced by Dali::Internal::Adaptor::EglFactory::Create().

Here is the caller graph for this function:

void Dali::Internal::Adaptor::EglSyncImplementation::InitializeEglSync ( )
private

Set up the function pointers.

Definition at line 225 of file egl-sync-implementation.cpp.

Member Data Documentation

EglImplementation* Dali::Internal::Adaptor::EglSyncImplementation::mEglImplementation
private

Egl implementation (to get display)

Definition at line 111 of file egl-sync-implementation.h.

Referenced by CreateSyncObject(), DestroySyncObject(), and Initialize().

bool Dali::Internal::Adaptor::EglSyncImplementation::mSyncInitialized
private

Flag to perform initialization on first use.

Definition at line 112 of file egl-sync-implementation.h.

bool Dali::Internal::Adaptor::EglSyncImplementation::mSyncInitializeFailed
private

Flag to avoid reloading functions if failed once.

Definition at line 113 of file egl-sync-implementation.h.

SyncContainer Dali::Internal::Adaptor::EglSyncImplementation::mSyncObjects
private

Definition at line 115 of file egl-sync-implementation.h.


The documentation for this class was generated from the following files:
Dali Docs Home
Read more about Dali