From: Boram Park Date: Sat, 19 Aug 2017 07:41:33 +0000 (+0900) Subject: layer: dump layer buffers when showing X-Git-Tag: accepted/tizen/3.0/common/20170824.151037~4 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=6d033cebc3f8455d76431c608cfc5c00cc2ac358;p=platform%2Fcore%2Fuifw%2Flibtdm.git layer: dump layer buffers when showing Change-Id: I157ff0b26fdbbb71cea08d5c65a99691dffbbae2 --- diff --git a/src/tdm_layer.c b/src/tdm_layer.c index e751f54..1488e28 100644 --- a/src/tdm_layer.c +++ b/src/tdm_layer.c @@ -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,