tdm: add pepper_tdm_count_outputs function 75/263875/1
authorSooChan Lim <sc1.lim@samsung.com>
Mon, 13 Sep 2021 05:04:16 +0000 (14:04 +0900)
committerSooChan Lim <sc1.lim@samsung.com>
Mon, 13 Sep 2021 05:04:16 +0000 (14:04 +0900)
The pepper_tdm_count_outputs return the number of
pepper_tdm_outputs at pepper_tdm.

Change-Id: Ic5bbbdcdc9ea8bad249c1fcf6bead6b72862b23f

src/lib/tdm/pepper-tdm.h
src/lib/tdm/tdm-common.c
src/lib/tdm/tdm-internal.h
src/lib/tdm/tdm-output.c

index 90218cf..32fc55e 100644 (file)
@@ -43,6 +43,9 @@ pepper_tdm_create(pepper_compositor_t *compositor);
 PEPPER_API void
 pepper_tdm_destroy(pepper_tdm_t *tdm);
 
+PEPPER_API uint32_t
+pepper_tdm_count_outputs(pepper_tdm_t *tdm);
+
 #ifdef __cplusplus
 }
 #endif
index a9b0d04..53f916a 100644 (file)
@@ -68,6 +68,8 @@ pepper_tdm_create(pepper_compositor_t *compositor)
        tdm->bufmgr = tbm_bufmgr_init(tdm->fd);
        PEPPER_CHECK(tdm->bufmgr, goto error, "tbm_bufmgr_init() failed \n");
 
+       pepper_list_init(&tdm->output_list);
+
 #ifdef HAVE_TBM
        /* Create wayland-tbm
                  FIXME : Cannot get filepath for tbm
@@ -123,3 +125,9 @@ pepper_tdm_destroy(pepper_tdm_t *tdm)
        PEPPER_INFO("\n");
 }
 
+PEPPER_API uint32_t
+pepper_tdm_count_outputs(pepper_tdm_t *tdm)
+{
+       return tdm->num_outputs;
+}
+
index 74907ec..b42aae6 100644 (file)
@@ -65,6 +65,7 @@ struct pepper_tdm {
        tbm_bufmgr                  bufmgr;
        int                         fd;
 
+       unsigned int                num_outputs;
        pepper_list_t               output_list;
 
        struct wayland_tbm_server  *wl_tbm_server;
@@ -91,6 +92,8 @@ struct pepper_tdm_output {
        pepper_bool_t           page_flip_pending;
        /*For pixman*/
        pepper_region_t       previous_damage;
+
+       pepper_list_t          link;
 };
 
 struct pepper_tdm_plane {
index 8183a83..f597fca 100644 (file)
@@ -876,6 +876,10 @@ pepper_tdm_output_init(pepper_tdm_t *tdm)
                        PEPPER_CHECK(output->renderer, goto error,
                                                 "Failed to initialize pixman_renderer.\n");
                }
+
+               // add output to output_list
+               pepper_list_insert(&tdm->output_list, &output->link);
+               tdm->num_outputs++;
        }
 
        return PEPPER_TRUE;