tdm_private_layer *private_layer = (tdm_private_layer*)layer;
tdm_private_output *private_output = private_layer->private_output;
unsigned int pipe;
- int zpos;
- char fname[PATH_MAX];
+ char fname[PATH_MAX], bufs[PATH_MAX];
+ int zpos, len = PATH_MAX;
+ tdm_private_layer *l = NULL;
+ char *p = bufs;
+ int *remain = &len;
pipe = private_output->pipe;
zpos = private_layer->caps.zpos;
- snprintf(fname, sizeof(fname), "tdm_%d_lyr_%d", pipe, zpos);
+ bufs[0] = '\0';
+ LIST_FOR_EACH_ENTRY(l, &private_output->layer_list, link) {
+ if (!l->showing_buffer)
+ continue;
+ TDM_SNPRINTF(p, remain, "_%p", l->showing_buffer->buffer);
+ }
+
+ snprintf(fname, sizeof(fname), "tdm_%d_lyr_%d%s", pipe, zpos, bufs);
tbm_surface_internal_dump_buffer(buffer, fname);
TDM_DBG("%s dump excute", fname);
ret = func_layer->layer_set_buffer(private_layer->layer_backend, buffer);
TDM_WARNING_IF_FAIL(ret == TDM_ERROR_NONE);
- /* dump buffer */
- if (tdm_dump_enable && !(private_layer->caps.capabilities & TDM_LAYER_CAPABILITY_VIDEO))
- _tdm_layer_dump_buffer(layer, buffer);
-
if (ret == TDM_ERROR_NONE) {
if (private_layer->waiting_buffer)
_tdm_layer_free_buffer(private_layer, private_layer->waiting_buffer);
private_layer->showing_buffer = *committed_buffer;
*committed_buffer = NULL;
+ /* dump buffer */
+ if (tdm_dump_enable && !(private_layer->caps.capabilities & TDM_LAYER_CAPABILITY_VIDEO) && private_layer->showing_buffer)
+ _tdm_layer_dump_buffer(private_layer, private_layer->showing_buffer->buffer);
+
if (tdm_debug_module & TDM_DEBUG_BUFFER)
TDM_INFO("layer(%p) committed_buffer(%p) showing_buffer(%p)",
private_layer, *committed_buffer,