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,