layer: dump layer buffers when showing 50/145050/2
authorBoram Park <boram1288.park@samsung.com>
Sat, 19 Aug 2017 07:41:33 +0000 (16:41 +0900)
committerBoram Park <boram1288.park@samsung.com>
Mon, 21 Aug 2017 06:16:45 +0000 (15:16 +0900)
Change-Id: I157ff0b26fdbbb71cea08d5c65a99691dffbbae2

src/tdm_layer.c

index e751f54..1488e28 100644 (file)
@@ -281,13 +281,23 @@ _tdm_layer_dump_buffer(tdm_layer *layer, tbm_surface_h buffer)
        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);
@@ -431,10 +441,6 @@ tdm_layer_set_buffer(tdm_layer *layer, tbm_surface_h buffer)
        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);
@@ -510,6 +516,10 @@ tdm_layer_committed(tdm_private_layer *private_layer, tdm_private_layer_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,