display: set buffer handle to all planes of display_buffer 47/204247/2
authorChangyeon Lee <cyeon.lee@samsung.com>
Mon, 22 Apr 2019 08:35:00 +0000 (17:35 +0900)
committerChangyeon Lee <cyeon.lee@samsung.com>
Mon, 22 Apr 2019 08:54:08 +0000 (17:54 +0900)
Change-Id: I96a0b9aef14078612619add33947d37bf92d2b3c

src/tdm_vc4_display.c

index f9931cf..d21119d 100644 (file)
@@ -2333,20 +2333,20 @@ _tdm_vc4_display_create_buffer(tdm_vc4_data *vc4_data, tbm_surface_h buffer, tdm
                        buffer, 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(buffer, i);
+       for (i = 0; i < count; i++) {
+               int bo_idx = 0;
+               tbm_bo bo = NULL;
+
+               bo_idx = tbm_surface_internal_get_plane_bo_idx(buffer, i);
+               bo = tbm_surface_internal_get_bo(buffer, bo_idx);
                display_buffer->handles[i] = tbm_bo_get_handle(bo, TBM_DEVICE_DEFAULT).u32;
-               TDM_DBG("    create buffer:%p bo%d(handle:%d)",
-                               buffer, i, display_buffer->handles[i]);
-       }
 
-       for (i = 0; i < count; i++) {
                tbm_surface_internal_get_plane_data(buffer, 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)",
+               TDM_DBG("  create buffer:%p plane%d(size:%d offset:%d pitch:%d) bo%d(handle:%d)",
                                buffer, i, display_buffer->size, display_buffer->offsets[i],
-                               display_buffer->pitches[i]);
+                               display_buffer->pitches[i], bo_idx, display_buffer->handles[i]);
        }
 
        ret = drmModeAddFB2(vc4_data->drm_fd, display_buffer->width, display_buffer->height,