From: huiyu.eun Date: Tue, 20 Dec 2016 06:21:04 +0000 (+0900) Subject: [SDL_Tizen] Add pre-buffer for remote-surface. X-Git-Tag: accepted/tizen/unified/20170407.190801~24 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=36e81e2dfa3fe985dd042a7b119d5a11c7b3e6a2;p=platform%2Fupstream%2FSDL.git [SDL_Tizen] Add pre-buffer for remote-surface. Change-Id: Icca14b992ab17a5c725ebbd43d5a419e03c61c36 Signed-off-by: huiyu.eun --- diff --git a/src/video/tizen/SDL_tizenindicator.c b/src/video/tizen/SDL_tizenindicator.c index 572f68c..18d5815 100644 --- a/src/video/tizen/SDL_tizenindicator.c +++ b/src/video/tizen/SDL_tizenindicator.c @@ -512,7 +512,7 @@ SDL_bool Tizen_remote_surface_init(void) if (!strcmp(global->interface, "tizen_remote_surface_manager")) { shared_info.tizen_rsm = wl_registry_bind(registry, global->id, - &tizen_remote_surface_manager_interface, 1); + &tizen_remote_surface_manager_interface, global->version<2? global->version : 2); SDL_Log("[SDL] Create tizen_rsm : %p",shared_info.tizen_rsm); } } @@ -542,13 +542,13 @@ SDL_bool Tizen_remote_surface_init(void) return SDL_TRUE; } +struct wl_buffer *pre_buffer; //pre_buffer for tizen remote surface static void _tizen_rs_cb_buffer_update(void *data, struct tizen_remote_surface *trs, struct wl_buffer *buffer, uint32_t time) { tizen_remote_surface_transfer_visibility(trs, TIZEN_REMOTE_SURFACE_VISIBILITY_TYPE_VISIBLE); tbm_surface_h tbmSurface= wl_buffer_get_user_data(buffer); - if(eglCreateImageKHR != NULL && glEGLImageTargetTexture2DOES != NULL && eglDestroyImageKHR != NULL) { SDL_VideoDevice *_this = SDL_GetVideoDevice(); @@ -587,6 +587,13 @@ _tizen_rs_cb_buffer_update(void *data, struct tizen_remote_surface *trs, struct SDL_Log("Failed to unmap tbm_surface\n"); } + if( pre_buffer) + { + if (tizen_remote_surface_get_version(trs) >= TIZEN_REMOTE_SURFACE_RELEASE_SINCE_VERSION) + tizen_remote_surface_release(trs, pre_buffer); + } + pre_buffer = buffer; + if (tbm_surface_destroy (tbmSurface) != TBM_SURFACE_ERROR_NONE) SDL_Log("Failed to destroy tbm_surface\n");