hide tdm_display_capability from backend
authorBoram Park <boram1288.park@samsung.com>
Wed, 2 Dec 2015 04:39:48 +0000 (13:39 +0900)
committerBoram Park <boram1288.park@samsung.com>
Wed, 2 Dec 2015 04:39:48 +0000 (13:39 +0900)
Change-Id: If11680ccdf2b5bd091038c538ba1638b10221db8

include/tdm.h
include/tdm_backend.h
include/tdm_types.h
src/tdm.c
src/tdm_backend.c
src/tdm_capture.c
src/tdm_display.c
src/tdm_pp.c
src/tdm_private.h

index d5540e8..f8ccdca 100644 (file)
@@ -48,6 +48,12 @@ extern "C" {
 
 ///////////////////////////////////////////////////////////////////////////////
 
+typedef enum
+{
+    TDM_DISPLAY_CAPABILITY_PP       = (1<<0),
+    TDM_DISPLAY_CAPABILITY_CAPTURE  = (1<<1),
+} tdm_display_capability;
+
 /* not neccessary for user to know what backend is */
 tdm_display* tdm_display_init(tdm_error *error);
 void         tdm_display_deinit(tdm_display *dpy);
index f88fc93..d09e01f 100644 (file)
@@ -48,8 +48,6 @@ typedef void tdm_backend_data;
 
 typedef struct _tdm_caps_display
 {
-    tdm_display_capability capabilities;
-
     /* -1: not defined */
     int max_layer_count;
 } tdm_caps_display;
index cd3ca4c..7451c5a 100644 (file)
@@ -113,12 +113,6 @@ typedef enum
 
 typedef enum
 {
-    TDM_DISPLAY_CAPABILITY_PP       = (1<<0),
-    TDM_DISPLAY_CAPABILITY_CAPTURE  = (1<<1),
-} tdm_display_capability;
-
-typedef enum
-{
     TDM_LAYER_CAPABILITY_CURSOR         = (1<<0),
     TDM_LAYER_CAPABILITY_PRIMARY        = (1<<1),
     TDM_LAYER_CAPABILITY_OVERLAY        = (1<<2),
index 578e295..fdb5834 100644 (file)
--- a/src/tdm.c
+++ b/src/tdm.c
@@ -165,7 +165,9 @@ _tdm_display_destroy_private_display(tdm_private_display *private_display)
 
     _tdm_display_destroy_caps_pp(&private_display->caps_pp);
     _tdm_display_destroy_caps_capture(&private_display->caps_capture);
-    private_display->caps_display.capabilities = 0;
+
+    private_display->capabilities = 0;
+    private_display->caps_display.max_layer_count = -1;
 }
 
 static tdm_error
@@ -179,7 +181,7 @@ _tdm_display_update_caps_pp(tdm_private_display *private_display, tdm_caps_pp *c
     int i;
     tdm_error ret;
 
-    if (!(private_display->caps_display.capabilities & TDM_DISPLAY_CAPABILITY_PP))
+    if (!(private_display->capabilities & TDM_DISPLAY_CAPABILITY_PP))
         return TDM_ERROR_NONE;
 
     if (!func_display->display_get_pp_capability)
@@ -218,7 +220,7 @@ _tdm_display_update_caps_capture(tdm_private_display *private_display, tdm_caps_
     int i;
     tdm_error ret;
 
-    if (!(private_display->caps_display.capabilities & TDM_DISPLAY_CAPABILITY_CAPTURE))
+    if (!(private_display->capabilities & TDM_DISPLAY_CAPABILITY_CAPTURE))
         return TDM_ERROR_NONE;
 
     if (!func_display->display_get_capture_capability)
@@ -545,7 +547,7 @@ _tdm_display_check_backend_functions(tdm_private_display *private_display)
         return TDM_ERROR_BAD_MODULE;
     }
 
-    if (private_display->caps_display.capabilities & TDM_DISPLAY_CAPABILITY_PP)
+    if (private_display->capabilities & TDM_DISPLAY_CAPABILITY_PP)
     {
         tdm_func_pp *func_pp = &private_display->func_pp;
         TDM_RETURN_VAL_IF_FAIL(func_display->display_get_pp_capability, TDM_ERROR_BAD_MODULE);
@@ -555,7 +557,7 @@ _tdm_display_check_backend_functions(tdm_private_display *private_display)
         TDM_RETURN_VAL_IF_FAIL(func_pp->pp_set_done_handler, TDM_ERROR_BAD_MODULE);
     }
 
-    if (private_display->caps_display.capabilities & TDM_DISPLAY_CAPABILITY_CAPTURE)
+    if (private_display->capabilities & TDM_DISPLAY_CAPABILITY_CAPTURE)
     {
         tdm_func_capture *func_capture = &private_display->func_capture;
         TDM_RETURN_VAL_IF_FAIL(func_display->display_get_capture_capability, TDM_ERROR_BAD_MODULE);
index 7614def..ae8224c 100644 (file)
@@ -69,6 +69,7 @@ tdm_backend_register_func_pp(tdm_display *dpy, tdm_func_pp *func_pp)
         return TDM_ERROR_NONE;
 
     pthread_mutex_lock(&private_display->lock);
+    private_display->capabilities |= TDM_DISPLAY_CAPABILITY_PP;
     private_display->func_pp = *func_pp;
     pthread_mutex_unlock(&private_display->lock);
 
@@ -84,6 +85,7 @@ tdm_backend_register_func_capture(tdm_display *dpy, tdm_func_capture *func_captu
         return TDM_ERROR_NONE;
 
     pthread_mutex_lock(&private_display->lock);
+    private_display->capabilities |= TDM_DISPLAY_CAPABILITY_CAPTURE;
     private_display->func_capture = *func_capture;
     pthread_mutex_unlock(&private_display->lock);
 
index 8e4a646..0859f22 100644 (file)
@@ -71,7 +71,7 @@ tdm_capture_create_output_internal(tdm_private_output *private_output, tdm_error
     func_display = &private_display->func_display;
     func_capture = &private_display->func_capture;
 
-    if (!(private_display->caps_display.capabilities & TDM_DISPLAY_CAPABILITY_CAPTURE))
+    if (!(private_display->capabilities & TDM_DISPLAY_CAPABILITY_CAPTURE))
     {
         TDM_ERR("no capture capability");
         if (error)
@@ -137,7 +137,7 @@ tdm_capture_create_layer_internal(tdm_private_layer *private_layer, tdm_error *e
     func_display = &private_display->func_display;
     func_capture = &private_display->func_capture;
 
-    if (!(private_display->caps_display.capabilities & TDM_DISPLAY_CAPABILITY_CAPTURE))
+    if (!(private_display->capabilities & TDM_DISPLAY_CAPABILITY_CAPTURE))
     {
         TDM_ERR("no capture capability");
         if (error)
index 64cff8b..fcaca11 100644 (file)
@@ -100,7 +100,7 @@ tdm_display_get_capabilities(tdm_display *dpy, tdm_display_capability *capabilit
 
     pthread_mutex_lock(&private_display->lock);
 
-    *capabilities = private_display->caps_display.capabilities;
+    *capabilities = private_display->capabilities;
 
     pthread_mutex_unlock(&private_display->lock);
 
index aa9559e..669b271 100644 (file)
@@ -70,7 +70,7 @@ tdm_pp_create_internal(tdm_private_display *private_display, tdm_error *error)
     func_display = &private_display->func_display;
     func_pp = &private_display->func_pp;
 
-    if (!(private_display->caps_display.capabilities & TDM_DISPLAY_CAPABILITY_PP))
+    if (!(private_display->capabilities & TDM_DISPLAY_CAPABILITY_PP))
     {
         TDM_ERR("no pp capability");
         if (error)
index 051e292..748385b 100644 (file)
@@ -155,6 +155,7 @@ struct _tdm_private_display
     tdm_backend_data *bdata;
 
     /* backend function */
+    tdm_display_capability capabilities;
     tdm_func_display func_display;
     tdm_func_pp func_pp;
     tdm_func_capture func_capture;