Change-Id: I4ab6020833e13add7821651e762af4cb84bf5f65
PKG_CHECK_MODULES([WAYLAND], [wayland-server xdg-shell-server tizen-extension-client])
PKG_CHECK_MODULES([DALI], [dali-core dali-adaptor dali-toolkit])
PKG_CHECK_MODULES([EFL], [ecore ecore-input ecore-wayland])
PKG_CHECK_MODULES([WAYLAND], [wayland-server xdg-shell-server tizen-extension-client])
PKG_CHECK_MODULES([DALI], [dali-core dali-adaptor dali-toolkit])
PKG_CHECK_MODULES([EFL], [ecore ecore-input ecore-wayland])
+PKG_CHECK_MODULES([WAYLAND_TBM], [wayland-tbm-server])
AC_CONFIG_FILES([
Makefile
AC_CONFIG_FILES([
Makefile
libpepper_dali_la_LTLIBRARIES = libpepper-dali.la
libpepper_dali_ladir = $(libdir)
libpepper_dali_la_LTLIBRARIES = libpepper-dali.la
libpepper_dali_ladir = $(libdir)
-libpepper_dali_la_LIBADD = @DALI_LIBS@ @WAYLAND_LIBS@ @PEPPER_LIBS@
+libpepper_dali_la_LIBADD = @DALI_LIBS@ @WAYLAND_LIBS@ @PEPPER_LIBS@ @WAYLAND_TBM_LIBS@
libpepper_dali_la_LDFLAGS = ${LDFLAGS}
libpepper_dali_la_CXXFLAGS = \
${CFLAGS} \
libpepper_dali_la_LDFLAGS = ${LDFLAGS}
libpepper_dali_la_CXXFLAGS = \
${CFLAGS} \
@EFL_CFLAGS@ \
@WAYLAND_CFLAGS@ \
@PEPPER_CFLAGS@ \
@EFL_CFLAGS@ \
@WAYLAND_CFLAGS@ \
@PEPPER_CFLAGS@ \
- $(pepper_dali_includes)
+ @WAYLAND_TBM_LIBS@ \
+ $(pepper_dali_includes) \
+ -DDEBUG_ENABLED
libpepper_dali_la_SOURCES = $(src_files)
libpepper_dali_la_SOURCES = $(src_files)
mDisplay = pepper_compositor_get_display( mCompositor );
mDisplay = pepper_compositor_get_display( mCompositor );
-#if 0
- mTbmServer = wayland_tbm_server_init( mDisplay, NULL, -1, 0 );
- if( !mTbmServer )
+ // create shell
+ mShell = Pepper::Shell::New( Pepper::Compositor( this ) );
+ if( !mShell )
- DALI_LOG_INFO( gPepperCompositorLogging, Debug::General, "Compositor::Initialize: wayland_tbm_server_init is failed.\n" );
+ DALI_LOG_INFO( gPepperCompositorLogging, Debug::General, "Compositor::Initialize: Fail to create shell.\n" );
pepper_compositor_destroy( mCompositor );
mCompositor = NULL;
return;
}
pepper_compositor_destroy( mCompositor );
mCompositor = NULL;
return;
}
- // create shell
- mShell = Pepper::Shell::New( Pepper::Compositor( this ) );
- if( !mShell )
+ mTbmServer = wayland_tbm_server_init( mDisplay, NULL, -1, 0 );
+ if( !mTbmServer )
- DALI_LOG_INFO( gPepperCompositorLogging, Debug::General, "Compositor::Initialize: Fail to create shell.\n" );
- wayland_tbm_server_deinit( mTbmServer );
- mTbmServer = NULL;
+ DALI_LOG_INFO( gPepperCompositorLogging, Debug::General, "Compositor::Initialize: wayland_tbm_server_init is failed.\n" );
pepper_compositor_destroy( mCompositor );
mCompositor = NULL;
return;
pepper_compositor_destroy( mCompositor );
mCompositor = NULL;
return;
{
pepper_buffer_t* buffer;
wl_resource* bufferResource;
{
pepper_buffer_t* buffer;
wl_resource* bufferResource;
- wl_shm_buffer* shmBuffer;
- tbm_surface_h tbmSurface;
+ wl_shm_buffer* shmBuffer = NULL;
+ tbm_surface_h tbmSurface = NULL;
int bufWidth, bufHeight;
buffer = pepper_surface_get_buffer( mSurface );
int bufWidth, bufHeight;
buffer = pepper_surface_get_buffer( mSurface );
bufferResource = pepper_buffer_get_resource( buffer );
bufferResource = pepper_buffer_get_resource( buffer );
- shmBuffer = wl_shm_buffer_get( bufferResource );
- if( shmBuffer )
- {
- bufWidth = wl_shm_buffer_get_width( shmBuffer );
- bufHeight = wl_shm_buffer_get_height( shmBuffer );
- }
- else
- {
- tbmSurface = wayland_tbm_server_get_surface( NULL, bufferResource );
- if( tbmSurface )
- {
- bufWidth = tbm_surface_get_width( tbmSurface );
- bufHeight = tbm_surface_get_height( tbmSurface );
- }
- else
- {
- DALI_LOG_INFO( gPepperObjectLogging, Debug::General, "Object::AttchBuffer: Failed to get buffer\n" );
- return false;
- }
- }
-
if( !mObjectView )
{
mObjectView = Pepper::ObjectView::New();
if( !mObjectView )
{
mObjectView = Pepper::ObjectView::New();
mObjectViewAddedSignal.Emit( handle, mObjectView );
}
mObjectViewAddedSignal.Emit( handle, mObjectView );
}
- if( shmBuffer != mShmBuffer )
+ shmBuffer = wl_shm_buffer_get( bufferResource );
+ if( shmBuffer )
- // create a new image
- PixelBuffer* pixelBuffer = static_cast< PixelBuffer* >( wl_shm_buffer_get_data( shmBuffer ) );
- mBufferImage = BufferImage::New( pixelBuffer, bufWidth, bufHeight );
+ bufWidth = wl_shm_buffer_get_width( shmBuffer );
+ bufHeight = wl_shm_buffer_get_height( shmBuffer );
+
+ if( shmBuffer != mShmBuffer )
+ {
+ // create a new image
+ PixelBuffer* pixelBuffer = static_cast< PixelBuffer* >( wl_shm_buffer_get_data( shmBuffer ) );
+ mBufferImage = BufferImage::New( pixelBuffer, bufWidth, bufHeight );
- mObjectView.SetImage( mBufferImage );
+ mObjectView.SetImage( mBufferImage );
- mShmBuffer = shmBuffer;
+ mShmBuffer = shmBuffer;
+ }
- else if ( tbmSurface != mTbmSurface )
- NativeImageSourcePtr nativeImageSource = NativeImageSource::New( tbmSurface );
- mNativeImage = NativeImage::New( *nativeImageSource );
+ tbmSurface = wayland_tbm_server_get_surface( NULL, bufferResource );
+ if( tbmSurface )
+ {
+ bufWidth = tbm_surface_get_width( tbmSurface );
+ bufHeight = tbm_surface_get_height( tbmSurface );
+
+ if ( tbmSurface != mTbmSurface )
+ {
+ // create a new image
+ NativeImageSourcePtr nativeImageSource = NativeImageSource::New( tbmSurface );
+ mNativeImage = NativeImage::New( *nativeImageSource );
- mObjectView.SetImage( mNativeImage );
+ mObjectView.SetImage( mNativeImage );
- mTbmSurface = tbmSurface;
+ mTbmSurface = tbmSurface;
+ }
+ }
+ else
+ {
+ DALI_LOG_INFO( gPepperObjectLogging, Debug::General, "Object::AttchBuffer: Failed to get buffer\n" );
+ return false;
+ }
}
if( ( mWidth != bufWidth ) || ( mHeight != bufHeight ) )
}
if( ( mWidth != bufWidth ) || ( mHeight != bufHeight ) )
object->mObjectViewDeletedSignal.Emit( handle, object->mObjectView );
object->mSurface = NULL;
object->mObjectViewDeletedSignal.Emit( handle, object->mObjectView );
object->mSurface = NULL;
+ object->mTbmSurface = NULL;
if( object->mSurfaceDestroyListener )
{
if( object->mSurfaceDestroyListener )
{
pepper_event_listener_remove( object->mBufferDestroyListener );
}
pepper_event_listener_remove( object->mBufferDestroyListener );
}
if( object->mShmBuffer )
{
void* shmData = wl_shm_buffer_get_data( object->mShmBuffer );
if( object->mShmBuffer )
{
void* shmData = wl_shm_buffer_get_data( object->mShmBuffer );
else if( object->mTbmSurface )
{
}
else if( object->mTbmSurface )
{
}
}
} // namespace Internal
}
} // namespace Internal