summaryrefslogtreecommitdiff
path: root/gbm.c
diff options
context:
space:
mode:
authorMike Frysinger <vapier@chromium.org>2016-10-09 02:34:30 +0000
committerMike Frysinger <vapier@chromium.org>2016-10-09 02:35:09 +0000
commit602bd16a60a01ebb0ce911712256047df18acaa5 (patch)
treed09f45a545183856c5170985d04cf33c85019b8e /gbm.c
parentbb19d6abec19015eb16fe33d3a4128194f8c7f2f (diff)
Revert "Add new GBM_BO_IMPORT_FD_PLANAR"
This reverts commit bb19d6abec19015eb16fe33d3a4128194f8c7f2f. This was chumped w/out explanation, and the bots have all been dead since due to graphics_Gbm check failures. Reverting in the hope it'll fix things. It can reland via the CQ. BUG=chromium:654245 Change-Id: I0d88f7731e9e90fffee1485056d787430eb0b850 Reviewed-on: https://chromium-review.googlesource.com/395727 Reviewed-by: Mike Frysinger <vapier@chromium.org> Tested-by: Mike Frysinger <vapier@chromium.org>
Diffstat (limited to 'gbm.c')
-rw-r--r--gbm.c42
1 files changed, 16 insertions, 26 deletions
diff --git a/gbm.c b/gbm.c
index 8769b8e..394aea0 100644
--- a/gbm.c
+++ b/gbm.c
@@ -158,34 +158,9 @@ gbm_bo_import(struct gbm_device *gbm, uint32_t type,
struct gbm_bo *bo;
struct drv_import_fd_data drv_data;
struct gbm_import_fd_data *fd_data = buffer;
- struct gbm_import_fd_planar_data *fd_planar_data = buffer;
- int i;
- memset(&drv_data, 0, sizeof(drv_data));
-
- switch (type) {
- case GBM_BO_IMPORT_FD:
- drv_data.width = fd_data->width;
- drv_data.height = fd_data->height;
- drv_data.format = gbm_convert_format(fd_data->format);
- drv_data.fds[0] = fd_data->fd;
- drv_data.strides[0] = fd_data->stride;
- break;
- case GBM_BO_IMPORT_FD_PLANAR:
- drv_data.width = fd_planar_data->width;
- drv_data.height = fd_planar_data->height;
- drv_data.format = gbm_convert_format(fd_planar_data->format);
- for (i = 0; i < 4; i++) {
- drv_data.fds[i] = fd_planar_data->fds[i];
- drv_data.offsets[i] = fd_planar_data->offsets[i];
- drv_data.strides[i] = fd_planar_data->strides[i];
- drv_data.format_modifiers[i] =
- fd_planar_data->format_modifiers[i];
- }
- break;
- default:
+ if (type != GBM_BO_IMPORT_FD)
return NULL;
- }
if (!gbm_device_is_format_supported(gbm, fd_data->format, usage))
return NULL;
@@ -195,6 +170,21 @@ gbm_bo_import(struct gbm_device *gbm, uint32_t type,
if (!bo)
return NULL;
+ /*
+ * Minigbm only supports importing single-plane formats at moment.
+ * If multi-plane import is desired, the interface will have to be
+ * modified.
+ */
+
+ memset(&drv_data, 0, sizeof(drv_data));
+ drv_data.fds[0] = fd_data->fd;
+ drv_data.strides[0] = fd_data->stride;
+ drv_data.offsets[0] = 0;
+ drv_data.sizes[0] = fd_data->height * fd_data->stride;
+ drv_data.width = fd_data->width;
+ drv_data.height = fd_data->height;
+ drv_data.format = gbm_convert_format(fd_data->format);
+
bo->bo = drv_bo_import(gbm->drv, &drv_data);
if (!bo->bo) {