display: set buffer name to all planes of display_buffer 72/210272/1
authorChangyeon Lee <cyeon.lee@samsung.com>
Thu, 25 Apr 2019 11:21:04 +0000 (20:21 +0900)
committerChangyeon Lee <cyeon.lee@samsung.com>
Thu, 2 May 2019 04:06:22 +0000 (13:06 +0900)
Change-Id: I26321d9773e9fa120bfa1b7c06d3f9aaa474a79c

src/tdm_sprd_display.c

index 7b4ed9b8baac04a39c43087c1c64c48c3b45793b..90b6393da7e6447e564747cba28851518e6d8a56 100644 (file)
@@ -697,17 +697,21 @@ tdm_sprd_display_creat_buffer(tdm_sprd_data *sprd_data, tbm_surface_h surface, t
                        display_buffer->width, display_buffer->height, FOURCC_STR(display_buffer->format),
                        display_buffer->count, count);
 
-       for (i = 0; i < display_buffer->count; i++) {
-               tbm_bo bo = tbm_surface_internal_get_bo(surface, i);
+       for (i = 0; i < count; i++) {
+               int bo_idx = 0;
+               tbm_bo bo = NULL;
+
+               bo_idx = tbm_surface_internal_get_plane_bo_idx(surface, i);
+               bo = tbm_surface_internal_get_bo(surface, bo_idx);
                display_buffer->name[i] = tbm_bo_export(bo);
-               TDM_DBG("    create buffer: bo%d(name:%d)", i, display_buffer->name[i]);
-       }
-       for (i = 0; i < count; i++) {
-               tbm_surface_internal_get_plane_data(surface, i, &display_buffer->size, &display_buffer->offsets[i],
-                                                                                               &display_buffer->pitches[i]);
-               TDM_DBG("    create buffer: plane%d(size:%d offset:%d pitch:%d)", i, display_buffer->size,
-                               display_buffer->offsets[i], display_buffer->pitches[i]);
-       }
+
+               tbm_surface_internal_get_plane_data(surface, i, &display_buffer->size,
+                                                                                       &display_buffer->offsets[i],
+                                                                                       &display_buffer->pitches[i]);
+               TDM_DBG("  create buffer:%p plane%d(size:%d offset:%d pitch:%d) bo%d(name:%d)",
+                               surface, i, display_buffer->size, display_buffer->offsets[i],
+                               display_buffer->pitches[i], bo_idx, display_buffer->name[i]);
+       }
 
        if (IS_RGB(display_buffer->format))
                display_buffer->width = display_buffer->pitches[0] >> 2;
@@ -717,6 +721,8 @@ tdm_sprd_display_creat_buffer(tdm_sprd_data *sprd_data, tbm_surface_h surface, t
        if (err)
                *err = TDM_ERROR_NONE;
 
+       LIST_ADDTAIL(&display_buffer->link, &sprd_data->buffer_list);
+
        return display_buffer;
 }
 
@@ -1323,7 +1329,6 @@ sprd_layer_set_buffer(tdm_layer *layer, tbm_surface_h surface)
        if (!display_buffer) {
                display_buffer = tdm_sprd_display_creat_buffer(sprd_data, surface, &err);
                RETURN_VAL_IF_FAIL(display_buffer != NULL, err);
-               LIST_ADDTAIL(&display_buffer->link, &sprd_data->buffer_list);
        }
 
        layer_data->display_buffer = display_buffer;