X-Git-Url: http://git.osdn.net/view?a=blobdiff_plain;f=marvell.c;h=455b03304be472872da2a3ee9e1a7d219570e062;hb=c26fd1e5f7f54f42326f3e5f03551e93b3b84604;hp=866e957c641e07cbfd181db46792786541926abe;hpb=ed475b4e6e47d86094f5bc33864e7d720fe5639f;p=android-x86%2Fexternal-minigbm.git diff --git a/marvell.c b/marvell.c index 866e957..455b033 100644 --- a/marvell.c +++ b/marvell.c @@ -4,22 +4,34 @@ * found in the LICENSE file. */ -#ifdef GBM_MARVELL +#ifdef DRV_MARVELL -#include "gbm_priv.h" +#include "drv_priv.h" #include "helpers.h" +#include "util.h" -const struct gbm_driver gbm_driver_marvell = +static const uint32_t render_target_formats[] = { DRM_FORMAT_ARGB8888, DRM_FORMAT_XRGB8888 }; + +static int marvell_init(struct driver *drv) { + int ret; + ret = drv_add_combinations(drv, render_target_formats, ARRAY_SIZE(render_target_formats), + &LINEAR_METADATA, BO_USE_RENDER_MASK); + if (ret) + return ret; + + return drv_add_linear_combinations(drv, render_target_formats, + ARRAY_SIZE(render_target_formats)); +} + +struct backend backend_marvell = { .name = "marvell", - .bo_create = gbm_dumb_bo_create, - .bo_destroy = gbm_dumb_bo_destroy, - .format_list = { - {GBM_FORMAT_XRGB8888, GBM_BO_USE_SCANOUT | GBM_BO_USE_CURSOR | GBM_BO_USE_RENDERING | GBM_BO_USE_WRITE}, - {GBM_FORMAT_XRGB8888, GBM_BO_USE_SCANOUT | GBM_BO_USE_CURSOR | GBM_BO_USE_WRITE | GBM_BO_USE_LINEAR}, - {GBM_FORMAT_ARGB8888, GBM_BO_USE_SCANOUT | GBM_BO_USE_CURSOR | GBM_BO_USE_RENDERING | GBM_BO_USE_WRITE}, - {GBM_FORMAT_ARGB8888, GBM_BO_USE_SCANOUT | GBM_BO_USE_CURSOR | GBM_BO_USE_WRITE | GBM_BO_USE_LINEAR}, - } + .init = marvell_init, + .bo_create = drv_dumb_bo_create, + .bo_destroy = drv_dumb_bo_destroy, + .bo_import = drv_prime_bo_import, + .bo_map = drv_dumb_bo_map, + .bo_unmap = drv_bo_munmap, }; #endif