static Eina_Bool
_remote_surface_changed_buff_protocol_send(E_Comp_Wl_Remote_Surface *rs,
enum tizen_remote_surface_buffer_type buff_type,
- E_Comp_Wl_Remote_Buffer *rbuff,
int img_file_fd,
unsigned int img_file_size,
Eina_Bool ref_set,
Eina_Bool add_opts = EINA_FALSE;
char *p, tmp[16];
int len;
+ struct wl_resource *rbuff_res = NULL;
+ E_Comp_Wl_Remote_Buffer *rbuff = NULL;
if (rs->provider)
{
return EINA_TRUE;
}
- if (rbuff)
- tbm = rbuff->resource;
-
send = _remote_surface_changed_buff_ev_filter_check(rs, buff_type);
if (send)
{
- if ((ref_set) &&
- (buff) &&
- (rs->version >= TIZEN_REMOTE_SURFACE_RELEASE_SINCE_VERSION))
- e_comp_wl_buffer_reference(&rbuff->ref, buff);
+ if (buff)
+ {
+ rbuff_res = e_comp_wl_tbm_remote_buffer_get(rs->wl_tbm, buff->resource);
+ EINA_SAFETY_ON_NULL_RETURN_VAL(rbuff_res, EINA_FALSE);
+
+ rbuff = _e_comp_wl_remote_buffer_get(rbuff_res);
+ EINA_SAFETY_ON_NULL_RETURN_VAL(rbuff, EINA_FALSE);
+
+ tbm = rbuff->resource;
+
+ if ((ref_set) &&
+ (rs->version >= 2)) /* WORKAROUND for 3.0: old version wayland-scanner can't generation since macro. TIZEN_REMOTE_SURFACE_RELEASE_SINCE_VERSION */
+ e_comp_wl_buffer_reference(&rbuff->ref, buff);
+ }
if (rs->version >= TIZEN_REMOTE_SURFACE_CHANGED_BUFFER_SINCE_VERSION)
{
E_Comp_Wl_Remote_Provider *provider;
E_Comp_Wl_Remote_Source *source;
E_Comp_Wl_Buffer *buff = NULL;
- struct wl_resource *rbuff_res = NULL;
- E_Comp_Wl_Remote_Buffer *rbuff = NULL;
char *img_path;
int fd = _rsm->dummy_fd;
off_t img_size = 0;
buff = e_pixmap_resource_get(src_ec->pixmap);
if (buff)
{
- rbuff_res = e_comp_wl_tbm_remote_buffer_get(rs->wl_tbm, buff->resource);
- EINA_SAFETY_ON_NULL_RETURN_VAL(rbuff_res, EINA_FALSE);
-
- rbuff = _e_comp_wl_remote_buffer_get(rbuff_res);
- EINA_SAFETY_ON_NULL_RETURN_VAL(rbuff, EINA_FALSE);
-
buff_type = TIZEN_REMOTE_SURFACE_BUFFER_TYPE_TBM;
res = EINA_TRUE;
*/
res = _remote_surface_changed_buff_protocol_send(rs,
buff_type,
- rbuff,
_rsm->dummy_fd,
(unsigned int)img_size,
EINA_FALSE,
- NULL);
+ buff);
}
else
{
*/
res = _remote_surface_changed_buff_protocol_send(rs,
buff_type,
- rbuff,
fd,
(unsigned int)img_size,
EINA_FALSE,
if (remote_surface->provider)
{
E_Comp_Wl_Buffer *buffer;
- struct wl_resource *remote_buffer_resource;
- E_Comp_Wl_Remote_Buffer *remote_buffer;
RSMINF("Try to send latest buffer of provider:%p(ec:%p)",
NULL, NULL,
buffer = e_pixmap_resource_get(remote_surface->provider->common.ec->pixmap);
EINA_SAFETY_ON_NULL_GOTO(buffer, bind_ec_set);
- remote_buffer_resource = e_comp_wl_tbm_remote_buffer_get(remote_surface->wl_tbm, buffer->resource);
- EINA_SAFETY_ON_NULL_GOTO(remote_buffer_resource, bind_ec_set);
-
- remote_buffer = _e_comp_wl_remote_buffer_get(remote_buffer_resource);
- EINA_SAFETY_ON_NULL_GOTO(remote_buffer, bind_ec_set);
-
_remote_surface_changed_buff_protocol_send(remote_surface,
TIZEN_REMOTE_SURFACE_BUFFER_TYPE_TBM,
- remote_buffer,
_rsm->dummy_fd,
0,
EINA_TRUE,
_remote_surface_changed_buff_protocol_send(remote_surface,
TIZEN_REMOTE_SURFACE_BUFFER_TYPE_IMAGE_FILE,
- NULL,
fd,
(unsigned int)image_size,
EINA_FALSE,
{
E_Comp_Wl_Buffer *buffer;
E_Comp_Wl_Remote_Surface *remote_surface;
- E_Comp_Wl_Remote_Buffer *remote_buffer;
- struct wl_resource *remote_buffer_resource;
EINA_SAFETY_ON_NULL_RETURN(_rsm);
buffer = e_pixmap_resource_get(remote_surface->provider->common.ec->pixmap);
EINA_SAFETY_ON_NULL_RETURN(buffer);
- remote_buffer_resource = e_comp_wl_tbm_remote_buffer_get(remote_surface->wl_tbm, buffer->resource);
- EINA_SAFETY_ON_NULL_RETURN(remote_buffer_resource);
-
- remote_buffer = _e_comp_wl_remote_buffer_get(remote_buffer_resource);
- EINA_SAFETY_ON_NULL_RETURN(remote_buffer);
-
_remote_surface_changed_buff_protocol_send(remote_surface,
TIZEN_REMOTE_SURFACE_BUFFER_TYPE_TBM,
- remote_buffer,
_rsm->dummy_fd,
0,
EINA_TRUE,
if ((buffer = e_pixmap_resource_get(remote_surface->source->common.ec->pixmap)))
{
-
- remote_buffer_resource = e_comp_wl_tbm_remote_buffer_get(remote_surface->wl_tbm, buffer->resource);
- EINA_SAFETY_ON_NULL_RETURN(remote_buffer_resource);
-
- remote_buffer = _e_comp_wl_remote_buffer_get(remote_buffer_resource);
- EINA_SAFETY_ON_NULL_RETURN(remote_buffer);
-
_remote_surface_changed_buff_protocol_send(remote_surface,
TIZEN_REMOTE_SURFACE_BUFFER_TYPE_TBM,
- remote_buffer,
_rsm->dummy_fd,
0,
EINA_TRUE,
_e_comp_wl_remote_surface_source_update(E_Comp_Wl_Remote_Source *source, E_Comp_Wl_Buffer *buffer)
{
E_Comp_Wl_Remote_Surface *remote_surface;
- E_Comp_Wl_Remote_Buffer *remote_buffer;
- struct wl_resource *remote_buffer_resource;
Eina_List *l;
E_Client *ec = NULL;
if (!remote_surface->redirect) continue;
- remote_buffer_resource = e_comp_wl_tbm_remote_buffer_get(remote_surface->wl_tbm, buffer->resource);
- if (!remote_buffer_resource) continue;
-
- remote_buffer = _e_comp_wl_remote_buffer_get(remote_buffer_resource);
- if (!remote_buffer) continue;
-
_remote_surface_changed_buff_protocol_send(remote_surface,
TIZEN_REMOTE_SURFACE_BUFFER_TYPE_TBM,
- remote_buffer,
_rsm->dummy_fd,
0,
EINA_TRUE,
Eina_Rectangle *dmg;
int x = 0, y = 0, sx = 0, sy = 0;
E_Comp_Wl_Buffer *buffer;
- E_Comp_Wl_Remote_Buffer *remote_buffer;
- struct wl_resource *remote_buffer_resource;
Eina_List *l, *ll;
E_Comp_Wl_Buffer_Viewport *vp = &ec->comp_data->scaler.buffer_viewport;
}
else
{
- remote_buffer_resource = e_comp_wl_tbm_remote_buffer_get(surface->wl_tbm, buffer->resource);
- if (!remote_buffer_resource) continue;
-
- remote_buffer = _e_comp_wl_remote_buffer_get(remote_buffer_resource);
- if (!remote_buffer) continue;
-
_remote_surface_changed_buff_protocol_send(surface,
TIZEN_REMOTE_SURFACE_BUFFER_TYPE_TBM,
- remote_buffer,
_rsm->dummy_fd,
0,
EINA_TRUE,