change the symbol name related to the voutput 77/211477/2
authorSooChan Lim <sc1.lim@samsung.com>
Tue, 6 Aug 2019 00:01:12 +0000 (09:01 +0900)
committerSooChan Lim <sc1.lim@samsung.com>
Tue, 6 Aug 2019 04:01:03 +0000 (13:01 +0900)
1. The voutput is created at the tdm_display, so it belongs to the tdm_display.
The creation of the voutput should be done at the display.
2. The voutput should be distinguished from the output. The functions associated
with the voutput has to get the voutput symbol name.

Change-Id: Ie21def171a1e8d9c43150e23347542c3a232db23

backends/virtual/tdm_virtual.c
backends/virtual/tdm_virtual.h
backends/virtual/tdm_virtual_display.c
include/tdm_backend.h
src/tdm_display.c
src/tdm_output.c
src/tdm_private.h
src/tdm_server.c

index f4ad7fe179ac81670d700fc7450e8447b9f27c2f..580d440f29eb8d5a0a20d2f2359033bf4e177a1c 100644 (file)
@@ -65,7 +65,7 @@ tdm_virtual_init(tdm_display *dpy, tdm_error *error)
        virtual_func_display.display_get_outputs = virtual_display_get_outputs;
        virtual_func_display.display_get_fd = virtual_display_get_fd;
        virtual_func_display.display_handle_events = virtual_display_handle_events;
-       virtual_func_display.voutput_create = virtual_output_create;
+       virtual_func_display.display_voutput_create = virtual_display_voutput_create;
 
        memset(&virtual_func_output, 0, sizeof(virtual_func_output));
        virtual_func_output.output_get_capability = virtual_output_get_capability;
@@ -83,14 +83,14 @@ tdm_virtual_init(tdm_display *dpy, tdm_error *error)
        virtual_func_output.output_set_status_handler = virtual_output_set_status_handler;
 
        memset(&virtual_func_voutput, 0, sizeof(virtual_func_voutput));
-       virtual_func_voutput.voutput_destroy = virtual_output_destroy;
-       virtual_func_voutput.voutput_set_available_mode = virtual_output_set_available_mode;
-       virtual_func_voutput.voutput_set_physical_size = virtual_output_set_physical_size;
-       virtual_func_voutput.voutput_connect = virtual_output_connect;
-       virtual_func_voutput.voutput_disconnect = virtual_output_disconnect;
-       virtual_func_voutput.voutput_get_output = virtual_output_get_output;
-       virtual_func_voutput.voutput_set_commit_func = virtual_output_set_commit_func;
-       virtual_func_voutput.voutput_commit_done = virtual_output_commit_done;
+       virtual_func_voutput.voutput_destroy = virtual_voutput_destroy;
+       virtual_func_voutput.voutput_set_available_mode = virtual_voutput_set_available_mode;
+       virtual_func_voutput.voutput_set_physical_size = virtual_voutput_set_physical_size;
+       virtual_func_voutput.voutput_connect = virtual_voutput_connect;
+       virtual_func_voutput.voutput_disconnect = virtual_voutput_disconnect;
+       virtual_func_voutput.voutput_get_output = virtual_voutput_get_output;
+       virtual_func_voutput.voutput_set_commit_func = virtual_voutput_set_commit_func;
+       virtual_func_voutput.voutput_commit_done = virtual_voutput_commit_done;
 
        memset(&virtual_func_layer, 0, sizeof(virtual_func_layer));
        virtual_func_layer.layer_get_capability = virtual_layer_get_capability;
index c85dff6fe2966d0c570dee24a9b5d23a656d6df7..0a5c3776ef8ad60fe5fa0c41bda10345a0af6ee1 100644 (file)
@@ -29,8 +29,7 @@ tdm_error virtual_display_get_capability(tdm_backend_data *bdata, tdm_caps_displ
 tdm_output **virtual_display_get_outputs(tdm_backend_data *bdata, int *count, tdm_error *error);
 tdm_error virtual_display_get_fd(tdm_backend_data *bdata, int *fd);
 tdm_error virtual_display_handle_events(tdm_backend_data *bdata);
-tdm_output *virtual_display_output_create(tdm_backend_data *bdata, const char* name, tdm_error *error);
-tdm_error virtual_display_output_destroy(tdm_backend_data *bdata, tdm_output *output);
+tdm_voutput *virtual_display_voutput_create(tdm_backend_data *bdata, const char *name, tdm_error *error);
 
 tdm_error virtual_output_get_capability(tdm_output *output, tdm_caps_output *caps);
 tdm_layer **virtual_output_get_layers(tdm_output *output, int *count, tdm_error *error);
@@ -42,17 +41,16 @@ tdm_error virtual_output_set_dpms(tdm_output *output, tdm_output_dpms dpms_value
 tdm_error virtual_output_get_dpms(tdm_output *output, tdm_output_dpms *dpms_value);
 tdm_error virtual_output_set_mode(tdm_output *output, const tdm_output_mode *mode);
 tdm_error virtual_output_get_mode(tdm_output *output, const tdm_output_mode **mode);
-tdm_error virtual_output_set_available_mode(tdm_output *output, const tdm_output_mode *modes, int count);
-tdm_error virtual_output_set_physical_size(tdm_output *output, unsigned int mmwidth, unsigned int mmheight);
-tdm_error virtual_output_connect(tdm_output *output);
-tdm_error virtual_output_disconnect(tdm_output *output);
 tdm_error virtual_output_set_status_handler(tdm_output *output, tdm_output_status_handler func, void *user_data);
 
-tdm_voutput *virtual_output_create(tdm_backend_data *bdata, const char *name, tdm_error *error);
-tdm_error virtual_output_destroy(tdm_voutput *voutput);
-tdm_output *virtual_output_get_output(tdm_voutput *voutput, tdm_error *error);
-tdm_error virtual_output_set_commit_func(tdm_voutput *voutput,  tdm_voutput_commit_handler commit_func);
-tdm_error virtual_output_commit_done(tdm_voutput *voutput);
+tdm_error virtual_voutput_set_available_mode(tdm_output *output, const tdm_output_mode *modes, int count);
+tdm_error virtual_voutput_set_physical_size(tdm_output *output, unsigned int mmwidth, unsigned int mmheight);
+tdm_error virtual_voutput_connect(tdm_output *output);
+tdm_error virtual_voutput_disconnect(tdm_output *output);
+tdm_error virtual_voutput_destroy(tdm_voutput *voutput);
+tdm_output *virtual_voutput_get_output(tdm_voutput *voutput, tdm_error *error);
+tdm_error virtual_voutput_set_commit_func(tdm_voutput *voutput,  tdm_voutput_commit_handler commit_func);
+tdm_error virtual_voutput_commit_done(tdm_voutput *voutput);
 
 tdm_error virtual_layer_get_capability(tdm_layer *layer, tdm_caps_layer *caps);
 tdm_error virtual_layer_set_info(tdm_layer *layer, tdm_info_layer *info);
index e9e503fb85c1ca19f0cac3372cf1bbd337a40644..ea3f5af3a6d6c6b5c1d6871c28630ae23658d89d 100644 (file)
@@ -605,7 +605,7 @@ virtual_output_set_status_handler(tdm_output *output,
 }
 
 tdm_error
-virtual_output_set_available_mode(tdm_voutput *voutput, const tdm_output_mode *modes, int count)
+virtual_voutput_set_available_mode(tdm_voutput *voutput, const tdm_output_mode *modes, int count)
 {
        tdm_virtual_voutput_data *voutput_data = voutput;
        tdm_virtual_output_data *output_data = NULL;
@@ -633,7 +633,7 @@ virtual_output_set_available_mode(tdm_voutput *voutput, const tdm_output_mode *m
 }
 
 tdm_error
-virtual_output_set_physical_size(tdm_voutput *voutput, unsigned int mmwidth, unsigned int mmheight)
+virtual_voutput_set_physical_size(tdm_voutput *voutput, unsigned int mmwidth, unsigned int mmheight)
 {
        tdm_virtual_voutput_data *voutput_data = voutput;
 
@@ -648,7 +648,7 @@ virtual_output_set_physical_size(tdm_voutput *voutput, unsigned int mmwidth, uns
 }
 
 tdm_error
-virtual_output_connect(tdm_voutput *voutput)
+virtual_voutput_connect(tdm_voutput *voutput)
 {
        tdm_virtual_voutput_data *voutput_data = voutput;
        tdm_virtual_output_data *output_data = NULL;
@@ -671,7 +671,7 @@ virtual_output_connect(tdm_voutput *voutput)
 }
 
 tdm_error
-virtual_output_disconnect(tdm_voutput *voutput)
+virtual_voutput_disconnect(tdm_voutput *voutput)
 {
 
        tdm_virtual_voutput_data *voutput_data = voutput;
@@ -778,7 +778,7 @@ virtual_layer_unset_buffer(tdm_layer *layer)
 }
 
 tdm_voutput *
-virtual_output_create(tdm_backend_data *bdata, const char *name, tdm_error *error)
+virtual_display_voutput_create(tdm_backend_data *bdata, const char *name, tdm_error *error)
 {
        tdm_virtual_data *virtual_data = bdata;
        tdm_virtual_voutput_data *voutput_data = NULL;
@@ -888,7 +888,7 @@ create_fail:
 }
 
 tdm_error
-virtual_output_destroy(tdm_voutput *voutput)
+virtual_voutput_destroy(tdm_voutput *voutput)
 {
        tdm_virtual_data *virtual_data = NULL;
        tdm_virtual_voutput_data *vo = NULL, *voutput_data = voutput;
@@ -943,7 +943,7 @@ virtual_output_destroy(tdm_voutput *voutput)
 }
 
 tdm_output *
-virtual_output_get_output(tdm_voutput *voutput, tdm_error *error)
+virtual_voutput_get_output(tdm_voutput *voutput, tdm_error *error)
 {
        tdm_virtual_voutput_data *voutput_data = voutput;
 
@@ -958,7 +958,7 @@ virtual_output_get_output(tdm_voutput *voutput, tdm_error *error)
 }
 
 tdm_error
-virtual_output_set_commit_func(tdm_voutput *voutput,  tdm_voutput_commit_handler commit_func)
+virtual_voutput_set_commit_func(tdm_voutput *voutput,  tdm_voutput_commit_handler commit_func)
 {
        tdm_virtual_voutput_data *voutput_data = voutput;
 
@@ -970,7 +970,7 @@ virtual_output_set_commit_func(tdm_voutput *voutput,  tdm_voutput_commit_handler
 }
 
 tdm_error
-virtual_output_commit_done(tdm_voutput *voutput)
+virtual_voutput_commit_done(tdm_voutput *voutput)
 {
        tdm_virtual_voutput_data *voutput_data = voutput;
        tdm_virtual_output_data *output_data = NULL;
index c5e9e8e6b16eb1c52a9bf1f5caaf4db4b746bca2..f8ddd8580639bf7aa57e7ff07483497c12a63be7 100644 (file)
@@ -344,7 +344,7 @@ typedef struct _tdm_func_display {
         * @remark
         * A backend module doesn't need to implement this function if doesn't support virtual output.
         */
-       tdm_voutput *(*voutput_create)(tdm_backend_data *bdata, const char *name, tdm_error *error);
+       tdm_voutput *(*display_voutput_create)(tdm_backend_data *bdata, const char *name, tdm_error *error);
 
        void (*reserved2)(void);
        void (*reserved3)(void);
@@ -596,7 +596,7 @@ typedef struct _tdm_func_voutput {
         * @brief Destroy a virtual output object of a backend module
         * @param[in] voutput The voutput object
         * @return #TDM_ERROR_NONE if success. Otherwise, error value.
-        * @see voutput_create() function
+        * @see display_voutput_create() function
         * @remark
         * A backend module doesn't need to implement this function if doesn't support virtual output.
         */
index 7d2f82b5066c31dd06354c13b2a16f68c6177ffa..814e60c8c836360002ab64d000837c17e0e1bb4d 100644 (file)
@@ -989,3 +989,118 @@ tdm_module_check_abi(tdm_private_module *private_module, int abimaj, int abimin)
        return 1;
 }
 
+INTERN tdm_voutput *
+tdm_display_voutput_create(tdm_display *dpy, const char *name, tdm_error *error)
+{
+       tdm_private_module *private_module = NULL;
+       tdm_private_module *current_module = NULL;
+       tdm_private_voutput *private_voutput = NULL;
+       tdm_private_output *private_output = NULL;
+       tdm_func_display *func_display = NULL;
+       tdm_func_voutput *func_voutput = NULL;
+       tdm_voutput *voutput_backend = NULL;
+       tdm_output *output_backend = NULL;
+       int output_find = 0;
+       tdm_private_display *private_display;
+       tdm_error ret = TDM_ERROR_NONE;
+
+       TDM_RETURN_VAL_IF_FAIL_WITH_ERROR(dpy != NULL, TDM_ERROR_INVALID_PARAMETER, NULL);
+       private_display = (tdm_private_display*)dpy;
+       private_module = private_display->virtual_module;
+       TDM_RETURN_VAL_IF_FAIL_WITH_ERROR(private_module != NULL, TDM_ERROR_BAD_MODULE, NULL);
+
+       _pthread_mutex_lock(&private_display->lock);
+
+       if (error) *error = TDM_ERROR_NONE;
+
+       private_voutput = calloc(1, sizeof(tdm_private_voutput));
+       if (!private_voutput) {
+               if (error) *error = TDM_ERROR_OUT_OF_MEMORY;
+               _pthread_mutex_unlock(&private_display->lock);
+               return NULL;
+       }
+
+       func_display = &private_module->func_display;
+       func_voutput = &private_module->func_voutput;
+       current_module = private_display->current_module;
+       private_display->current_module = private_module;
+
+       voutput_backend = func_display->display_voutput_create(private_module->bdata, name, &ret);
+
+       if (voutput_backend == NULL || ret != TDM_ERROR_NONE) {
+               TDM_ERR("display_voutput_create fail");
+               free(private_voutput);
+               if (error) *error = ret;
+               private_display->current_module = current_module;
+               _pthread_mutex_unlock(&private_display->lock);
+               return NULL;
+       }
+       private_voutput->voutput_backend = voutput_backend;
+       private_voutput->private_display = private_display;
+       private_voutput->private_module = private_module;
+       LIST_INITHEAD(&private_voutput->voutput_commit_handler_list);
+
+       output_backend = func_voutput->voutput_get_output(voutput_backend, &ret);
+       if (output_backend == NULL || ret != TDM_ERROR_NONE) {
+               TDM_ERR("voutput_get_output fail");
+               free(private_voutput);
+               if (error) *error = ret;
+               if (func_voutput->voutput_destroy)
+                       func_voutput->voutput_destroy(voutput_backend);
+               else
+                       TDM_ERR("no destroy function");
+               private_display->current_module = current_module;
+               _pthread_mutex_unlock(&private_display->lock);
+               return NULL;
+       }
+
+       ret = tdm_display_update_output(private_display->current_module, output_backend);
+       if (ret != TDM_ERROR_NONE) {
+               TDM_ERR("tdm_display_update_output fail");
+               free(private_voutput);
+               if (func_voutput->voutput_destroy)
+                       func_voutput->voutput_destroy(voutput_backend);
+               else
+                       TDM_ERR("no destroy function");
+               if (error) *error = ret;
+               private_display->current_module = current_module;
+               _pthread_mutex_unlock(&private_display->lock);
+               return NULL;
+       }
+
+       LIST_FOR_EACH_ENTRY(private_output, &private_module->output_list, link) {
+               if (private_output->output_backend == output_backend) {
+                       output_find = 1;
+                       break;
+               }
+       }
+
+       if (output_find != 1) {
+               private_output = NULL;
+               free(private_voutput);
+               if (func_voutput->voutput_destroy)
+                       func_voutput->voutput_destroy(voutput_backend);
+               else
+                       TDM_ERR("no destroy function");
+               private_voutput = NULL;
+       } else {
+               strncpy(private_voutput->name, name, TDM_NAME_LEN - 1);
+               private_voutput->name[TDM_NAME_LEN - 1] = '\0';
+               strncpy(private_output->name, name, TDM_NAME_LEN - 1);
+               private_output->name[TDM_NAME_LEN - 1] = '\0';
+
+               private_voutput->private_output = private_output;
+               private_output->private_voutput = private_voutput;
+
+               /* do not use vblank */
+               tdm_output_choose_commit_per_vblank_mode(private_output, 0);
+
+               LIST_ADDTAIL(&private_voutput->link, &private_module->voutput_list);
+       }
+
+       private_display->current_module = current_module;
+
+       _pthread_mutex_unlock(&private_display->lock);
+
+       return private_voutput;
+}
index 1a0e980d38cb76777661ecc2cf9ab7d5d262b186..07cfa4a5f1dfceef90c7094d3cb68821ece07f3c 100644 (file)
@@ -2140,122 +2140,6 @@ tdm_output_choose_commit_per_vblank_mode(tdm_private_output *private_output, int
        return TDM_ERROR_NONE;
 }
 
-INTERN tdm_voutput *
-tdm_voutput_create(tdm_display *dpy, const char *name, tdm_error *error)
-{
-       tdm_private_module *private_module = NULL;
-       tdm_private_module *current_module = NULL;
-       tdm_private_voutput *private_voutput = NULL;
-       tdm_private_output *private_output = NULL;
-       tdm_func_display *func_display = NULL;
-       tdm_func_voutput *func_voutput = NULL;
-       tdm_voutput *voutput_backend = NULL;
-       tdm_output *output_backend = NULL;
-       int output_find = 0;
-       tdm_private_display *private_display;
-       tdm_error ret = TDM_ERROR_NONE;
-
-       TDM_RETURN_VAL_IF_FAIL_WITH_ERROR(dpy != NULL, TDM_ERROR_INVALID_PARAMETER, NULL);
-       private_display = (tdm_private_display*)dpy;
-       private_module = private_display->virtual_module;
-       TDM_RETURN_VAL_IF_FAIL_WITH_ERROR(private_module != NULL, TDM_ERROR_BAD_MODULE, NULL);
-
-       _pthread_mutex_lock(&private_display->lock);
-
-       if (error) *error = TDM_ERROR_NONE;
-
-       private_voutput = calloc(1, sizeof(tdm_private_voutput));
-       if (!private_voutput) {
-               if (error) *error = TDM_ERROR_OUT_OF_MEMORY;
-               _pthread_mutex_unlock(&private_display->lock);
-               return NULL;
-       }
-
-       func_display = &private_module->func_display;
-       func_voutput = &private_module->func_voutput;
-       current_module = private_display->current_module;
-       private_display->current_module = private_module;
-
-       voutput_backend = func_display->voutput_create(private_module->bdata, name, &ret);
-
-       if (voutput_backend == NULL || ret != TDM_ERROR_NONE) {
-               TDM_ERR("voutput_create fail");
-               free(private_voutput);
-               if (error) *error = ret;
-               private_display->current_module = current_module;
-               _pthread_mutex_unlock(&private_display->lock);
-               return NULL;
-       }
-       private_voutput->voutput_backend = voutput_backend;
-       private_voutput->private_display = private_display;
-       private_voutput->private_module = private_module;
-       LIST_INITHEAD(&private_voutput->voutput_commit_handler_list);
-
-       output_backend = func_voutput->voutput_get_output(voutput_backend, &ret);
-       if (output_backend == NULL || ret != TDM_ERROR_NONE) {
-               TDM_ERR("voutput_get_output fail");
-               free(private_voutput);
-               if (error) *error = ret;
-               if (func_voutput->voutput_destroy)
-                       func_voutput->voutput_destroy(voutput_backend);
-               else
-                       TDM_ERR("no destroy function");
-               private_display->current_module = current_module;
-               _pthread_mutex_unlock(&private_display->lock);
-               return NULL;
-       }
-
-       ret = tdm_display_update_output(private_display->current_module, output_backend);
-       if (ret != TDM_ERROR_NONE) {
-               TDM_ERR("tdm_display_update_output fail");
-               free(private_voutput);
-               if (func_voutput->voutput_destroy)
-                       func_voutput->voutput_destroy(voutput_backend);
-               else
-                       TDM_ERR("no destroy function");
-               if (error) *error = ret;
-               private_display->current_module = current_module;
-               _pthread_mutex_unlock(&private_display->lock);
-               return NULL;
-       }
-
-       LIST_FOR_EACH_ENTRY(private_output, &private_module->output_list, link) {
-               if (private_output->output_backend == output_backend) {
-                       output_find = 1;
-                       break;
-               }
-       }
-
-       if (output_find != 1) {
-               private_output = NULL;
-               free(private_voutput);
-               if (func_voutput->voutput_destroy)
-                       func_voutput->voutput_destroy(voutput_backend);
-               else
-                       TDM_ERR("no destroy function");
-               private_voutput = NULL;
-       } else {
-               strncpy(private_voutput->name, name, TDM_NAME_LEN - 1);
-               private_voutput->name[TDM_NAME_LEN - 1] = '\0';
-               strncpy(private_output->name, name, TDM_NAME_LEN - 1);
-               private_output->name[TDM_NAME_LEN - 1] = '\0';
-
-               private_voutput->private_output = private_output;
-               private_output->private_voutput = private_voutput;
-
-               /* do not use vblank */
-               tdm_output_choose_commit_per_vblank_mode(private_output, 0);
-
-               LIST_ADDTAIL(&private_voutput->link, &private_module->voutput_list);
-       }
-
-       private_display->current_module = current_module;
-
-       _pthread_mutex_unlock(&private_display->lock);
-
-       return private_voutput;
-}
-
 INTERN tdm_error
 tdm_voutput_destroy(tdm_voutput *voutput)
 {
index b65c01e5246e0b5be4fee1cff49f468d50c2792e..33904daf355aa1984beee2f2407b1e359797402b 100644 (file)
@@ -261,7 +261,7 @@ tdm_monitor_server_command(tdm_display *dpy, const char *options, char *reply, i
 
 /* virtual */
 tdm_voutput *
-tdm_voutput_create(tdm_display *dpy, const char *name, tdm_error *error);
+tdm_display_voutput_create(tdm_display *dpy, const char *name, tdm_error *error);
 tdm_error
 tdm_voutput_destroy(tdm_voutput *voutput);
 tdm_error
index cfaf0443d36f23e98f9350f9a4d8343b645cfe43..25ad51df576177890fb0b685f650f0c404960daa 100644 (file)
@@ -1318,7 +1318,7 @@ _tdm_server_cb_create_virtual_output(struct wl_client *client, struct wl_resourc
                return;
        }
 
-       voutput = tdm_voutput_create(private_server->private_loop->dpy, name, &ret);
+       voutput = tdm_display_voutput_create(private_server->private_loop->dpy, name, &ret);
        if (!voutput) {
                TDM_ERR("voutput creation fail(%s)(%d).", name, ret);
                wl_resource_post_error(resource, WL_DISPLAY_ERROR_NO_MEMORY,