DBG("PIXMAP: Buffer Flush(%s) '%s'(%p) only_free:%d", cp->shm_flusher ? "SHM" : "NATIVE",
cp->client->icccm.name?:"", cp->client, only_free);
- if (only_free)
+ if (cp->shm_flusher)
{
- if (!cp->shm_flusher) return;
-
- /*free_flush was supported from version 2*/
- if (wl_resource_get_version(cp->shm_flusher) < TIZEN_SURFACE_SHM_FLUSHER_FREE_FLUSH_SINCE_VERSION)
- return;
+ if (only_free)
+ {
+ /*free_flush was supported from version 2*/
+ if (wl_resource_get_version(cp->shm_flusher) < TIZEN_SURFACE_SHM_FLUSHER_FREE_FLUSH_SINCE_VERSION)
+ return;
- tizen_surface_shm_flusher_send_free_flush(cp->shm_flusher);
+ tizen_surface_shm_flusher_send_free_flush(cp->shm_flusher);
+ }
+ else
+ tizen_surface_shm_flusher_send_flush(cp->shm_flusher);
}
else
{
- if (cp->shm_flusher)
- tizen_surface_shm_flusher_send_flush(cp->shm_flusher);
- else
+ if ((cp->buffer) && (cp->client->comp_data))
{
- if ((cp->buffer) && (cp->client->comp_data))
- {
- if ((cp->buffer->type == E_COMP_WL_BUFFER_TYPE_TBM) ||
- (cp->buffer->type == E_COMP_WL_BUFFER_TYPE_NATIVE))
- {
- struct wayland_tbm_client_queue *cqueue;
-
- cqueue = wayland_tbm_server_client_queue_get(e_comp_wl->tbm.server,
- cp->client->comp_data->wl_surface);
- if (!cqueue) return;
-
- wayland_tbm_server_client_queue_flush(cqueue);
- }
- }
+ if ((cp->buffer->type == E_COMP_WL_BUFFER_TYPE_TBM) ||
+ (cp->buffer->type == E_COMP_WL_BUFFER_TYPE_NATIVE))
+ {
+ struct wayland_tbm_client_queue * cqueue;
+
+ cqueue = wayland_tbm_server_client_queue_get(e_comp_wl->tbm.server,
+ cp->client->comp_data->wl_surface);
+ if (cqueue) return;
+
+ if (only_free)
+ wayland_tbm_server_client_queue_free_flush(cqueue);
+ else
+ wayland_tbm_server_client_queue_flush(cqueue);
+ }
}
+ }
+ if (!only_free)
+ {
/* release the helded buffer by e_client */
if (cp->client->comp_data)
{
e_presentation_time_container_feedback_discard(&cp->client->comp_data->presentation_container);
}
-
/* composite object clear */
e_comp_object_clear(cp->client->frame);