diff options
author | Mike Frysinger <vapier@chromium.org> | 2016-10-09 02:34:30 +0000 |
---|---|---|
committer | Mike Frysinger <vapier@chromium.org> | 2016-10-09 02:35:09 +0000 |
commit | 602bd16a60a01ebb0ce911712256047df18acaa5 (patch) | |
tree | d09f45a545183856c5170985d04cf33c85019b8e /gbm.c | |
parent | bb19d6abec19015eb16fe33d3a4128194f8c7f2f (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.c | 42 |
1 files changed, 16 insertions, 26 deletions
@@ -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) { |