} else {
for (i = 0; i < surf->num_bos; i++) {
bo_handles[i] = tbm_bo_get_handle(surf->bos[i], TBM_DEVICE_CPU);
- if (bo_handles[i].ptr == NULL) {
- _tbm_surface_mutex_unlock();
- return 0;
- }
}
}
info->planes[i].size = surf->info.planes[i].size;
info->planes[i].offset = surf->info.planes[i].offset;
info->planes[i].stride = surf->info.planes[i].stride;
- info->planes[i].ptr = bo_handles[surf->planes_bo_idx[i]].ptr + surf->info.planes[i].offset;
+
+ if (bo_handles[surf->planes_bo_idx[i]].ptr)
+ info->planes[i].ptr = bo_handles[surf->planes_bo_idx[i]].ptr + surf->info.planes[i].offset;
}
_tbm_surface_mutex_unlock();