tbm_surface_free_cb free_cb,
void *data);
-tbm_surface_queue_error_e tbm_surface_queue_get_acquirable_surfaces(
- tbm_surface_queue_h surface_queue,
- tbm_surface_h *surfaces, int *num);
-
tbm_surface_queue_error_e tbm_surface_queue_get_trace_surface_num(
tbm_surface_queue_h surface_queue, tbm_surface_queue_trace trace, int *num);
tbm_surface_free_cb free_cb,
void *data);
-tbm_surface_queue_error_e tbm_surface_queue_get_acquirable_surfaces(
- tbm_surface_queue_h surface_queue,
- tbm_surface_h *surfaces, int *num);
-
/**
* @brief Gets number of the tbm_surfaces by tbm_surface_queue_trace.
*
return TBM_SURFACE_QUEUE_ERROR_NONE;
}
-tbm_surface_queue_error_e
-tbm_surface_queue_get_acquirable_surfaces(tbm_surface_queue_h surface_queue,
- tbm_surface_h *surfaces, int *num)
-{
- queue_node *node = NULL;
-
- _tbm_surf_queue_mutex_lock();
-
- *num = 0;
-
- TBM_SURF_QUEUE_RETURN_VAL_IF_FAIL(_tbm_surface_queue_is_valid(surface_queue),
- TBM_SURFACE_QUEUE_ERROR_INVALID_QUEUE);
- TBM_SURF_QUEUE_RETURN_VAL_IF_FAIL(num != NULL,
- TBM_ERROR_INVALID_PARAMETER);
-
- pthread_mutex_lock(&surface_queue->lock);
-
- LIST_FOR_EACH_ENTRY(node, &surface_queue->dirty_queue.head, item_link) {
- if (surfaces)
- surfaces[*num] = node->surface;
-
- *num = *num + 1;
- }
-
- pthread_mutex_unlock(&surface_queue->lock);
-
- _tbm_surf_queue_mutex_unlock();
-
- return TBM_SURFACE_QUEUE_ERROR_NONE;
-}
-
tbm_surface_queue_error_e
tbm_surface_queue_get_trace_surface_num(
tbm_surface_queue_h surface_queue, tbm_surface_queue_trace trace, int *num)