tdm_helper: add checking hwc mode for tdm-monitor -info
[platform/core/uifw/libtdm.git] / src / tdm_helper.c
index 0c8b336..804a112 100644 (file)
@@ -846,6 +846,8 @@ _tdm_helper_get_backend_information(tdm_private_module *private_module, char *re
                        }
                }
        }
+       if (LIST_IS_EMPTY(&private_module->output_list))
+               TDM_SNPRINTF(reply, len, "(no output)\n");
        TDM_SNPRINTF(reply, len, "\n");
 
        /* layer information */
@@ -854,6 +856,11 @@ _tdm_helper_get_backend_information(tdm_private_module *private_module, char *re
        TDM_SNPRINTF(reply, len, "idx   output   zpos   buf   format   size   crop   geometry   transform\n");
        TDM_SNPRINTF(reply, len, "-----------------------------------------------------------------------\n");
        LIST_FOR_EACH_ENTRY(private_output, &private_module->output_list, link) {
+               if (private_output->caps.capabilities & TDM_OUTPUT_CAPABILITY_HWC) {
+                       TDM_SNPRINTF(reply, len, "(no layer), hwc mode on\n");
+                       continue;
+               }
+
                LIST_FOR_EACH_ENTRY(private_layer, &private_output->layer_list, link) {
                        if (!private_layer->usable) {
                                tdm_info_layer info;
@@ -872,10 +879,7 @@ _tdm_helper_get_backend_information(tdm_private_module *private_module, char *re
                                format = tbm_surface_get_format(private_layer->showing_buffer->buffer);
                                tbm_surface_get_info(private_layer->showing_buffer->buffer, &buf_info);
 
-                               if (IS_RGB(format))
-                                       size.h = buf_info.planes[0].stride >> 2;
-                               else
-                                       size.h = buf_info.planes[0].stride;
+                               size.h = tbm_surface_get_width(private_layer->showing_buffer->buffer);
                                size.v = tbm_surface_get_height(private_layer->showing_buffer->buffer);
 
                                if (info.src_config.format)
@@ -948,6 +952,8 @@ _tdm_helper_get_backend_information(tdm_private_module *private_module, char *re
                        }
                }
        }
+       if (LIST_IS_EMPTY(&private_module->output_list))
+               TDM_SNPRINTF(reply, len, "(no layer)\n");
        TDM_SNPRINTF(reply, len, "\n");
 
        if (private_module->capabilities & TDM_DISPLAY_CAPABILITY_PP) {