X-Git-Url: http://git.osdn.net/view?a=blobdiff_plain;f=gbm_helpers.c;h=c22233a9cc84deb44c6be645a23fcf6f9d80c771;hb=03bb0b1eb41d943ad042888a33f86588df57ed21;hp=2f7e034f2d1d0176849fbea7999dac6c6df2ea4a;hpb=d6fb5777154cb1be756173fd1ea907fada572b03;p=android-x86%2Fexternal-minigbm.git diff --git a/gbm_helpers.c b/gbm_helpers.c index 2f7e034..c22233a 100644 --- a/gbm_helpers.c +++ b/gbm_helpers.c @@ -1,5 +1,5 @@ /* - * Copyright (c) 2016 The Chromium OS Authors. All rights reserved. + * Copyright 2016 The Chromium OS Authors. All rights reserved. * Use of this source code is governed by a BSD-style license that can be * found in the LICENSE file. */ @@ -10,152 +10,28 @@ #include "drv.h" #include "gbm.h" -drv_format_t gbm_convert_format(uint32_t format) +uint64_t gbm_convert_usage(uint32_t usage) { - - switch (format) { - case GBM_FORMAT_C8: - return DRV_FORMAT_C8; - case GBM_FORMAT_R8: - return DRV_FORMAT_R8; - case GBM_FORMAT_RG88: - return DRV_FORMAT_RG88; - case GBM_FORMAT_GR88: - return DRV_FORMAT_GR88; - case GBM_FORMAT_RGB332: - return DRV_FORMAT_RGB332; - case GBM_FORMAT_BGR233: - return DRV_FORMAT_BGR233; - case GBM_FORMAT_XRGB4444: - return DRV_FORMAT_XRGB4444; - case GBM_FORMAT_XBGR4444: - return DRV_FORMAT_XBGR4444; - case GBM_FORMAT_RGBX4444: - return DRV_FORMAT_RGBX4444; - case GBM_FORMAT_BGRX4444: - return DRV_FORMAT_BGRX4444; - case GBM_FORMAT_ARGB4444: - return DRV_FORMAT_ARGB4444; - case GBM_FORMAT_ABGR4444: - return DRV_FORMAT_ABGR4444; - case GBM_FORMAT_RGBA4444: - return DRV_FORMAT_RGBA4444; - case GBM_FORMAT_BGRA4444: - return DRV_FORMAT_BGRA4444; - case GBM_FORMAT_XRGB1555: - return DRV_FORMAT_XRGB1555; - case GBM_FORMAT_XBGR1555: - return DRV_FORMAT_XBGR1555; - case GBM_FORMAT_RGBX5551: - return DRV_FORMAT_RGBX5551; - case GBM_FORMAT_BGRX5551: - return DRV_FORMAT_BGRX5551; - case GBM_FORMAT_ARGB1555: - return DRV_FORMAT_ARGB1555; - case GBM_FORMAT_ABGR1555: - return DRV_FORMAT_ABGR1555; - case GBM_FORMAT_RGBA5551: - return DRV_FORMAT_RGBA5551; - case GBM_FORMAT_BGRA5551: - return DRV_FORMAT_BGRA5551; - case GBM_FORMAT_RGB565: - return DRV_FORMAT_RGB565; - case GBM_FORMAT_BGR565: - return DRV_FORMAT_BGR565; - case GBM_FORMAT_RGB888: - return DRV_FORMAT_RGB888; - case GBM_FORMAT_BGR888: - return DRV_FORMAT_BGR888; - case GBM_FORMAT_XRGB8888: - return DRV_FORMAT_XRGB8888; - case GBM_FORMAT_XBGR8888: - return DRV_FORMAT_XBGR8888; - case GBM_FORMAT_RGBX8888: - return DRV_FORMAT_RGBX8888; - case GBM_FORMAT_BGRX8888: - return DRV_FORMAT_BGRX8888; - case GBM_FORMAT_ARGB8888: - return DRV_FORMAT_ARGB8888; - case GBM_FORMAT_ABGR8888: - return DRV_FORMAT_ABGR8888; - case GBM_FORMAT_RGBA8888: - return DRV_FORMAT_RGBA8888; - case GBM_FORMAT_BGRA8888: - return DRV_FORMAT_BGRA8888; - case GBM_FORMAT_XRGB2101010: - return DRV_FORMAT_XRGB2101010; - case GBM_FORMAT_XBGR2101010: - return DRV_FORMAT_XBGR2101010; - case GBM_FORMAT_RGBX1010102: - return DRV_FORMAT_RGBX1010102; - case GBM_FORMAT_BGRX1010102: - return DRV_FORMAT_BGRX1010102; - case GBM_FORMAT_ARGB2101010: - return DRV_FORMAT_ARGB2101010; - case GBM_FORMAT_ABGR2101010: - return DRV_FORMAT_ABGR2101010; - case GBM_FORMAT_RGBA1010102: - return DRV_FORMAT_RGBA1010102; - case GBM_FORMAT_BGRA1010102: - return DRV_FORMAT_BGRA1010102; - case GBM_FORMAT_YUYV: - return DRV_FORMAT_YUYV; - case GBM_FORMAT_YVYU: - return DRV_FORMAT_YVYU; - case GBM_FORMAT_UYVY: - return DRV_FORMAT_UYVY; - case GBM_FORMAT_VYUY: - return DRV_FORMAT_VYUY; - case GBM_FORMAT_AYUV: - return DRV_FORMAT_AYUV; - case GBM_FORMAT_NV12: - return DRV_FORMAT_NV12; - case GBM_FORMAT_NV21: - return DRV_FORMAT_NV21; - case GBM_FORMAT_NV16: - return DRV_FORMAT_NV16; - case GBM_FORMAT_NV61: - return DRV_FORMAT_NV61; - case GBM_FORMAT_YUV410: - return DRV_FORMAT_YUV410; - case GBM_FORMAT_YVU410: - return DRV_FORMAT_YVU410; - case GBM_FORMAT_YUV411: - return DRV_FORMAT_YUV411; - case GBM_FORMAT_YVU411: - return DRV_FORMAT_YVU411; - case GBM_FORMAT_YUV420: - return DRV_FORMAT_YUV420; - case GBM_FORMAT_YVU420: - return DRV_FORMAT_YVU420; - case GBM_FORMAT_YUV422: - return DRV_FORMAT_YUV422; - case GBM_FORMAT_YVU422: - return DRV_FORMAT_YVU422; - case GBM_FORMAT_YUV444: - return DRV_FORMAT_YVU444; - case GBM_FORMAT_YVU444: - return DRV_FORMAT_YVU444; - } - - fprintf(stderr, "minigbm: UNKNOWN FORMAT %d\n", format); - return DRV_FORMAT_NONE; -} - -uint64_t gbm_convert_flags(uint32_t flags) -{ - uint64_t usage = DRV_BO_USE_NONE; - - if (flags & GBM_BO_USE_SCANOUT) - usage |= DRV_BO_USE_SCANOUT; - if (flags & GBM_BO_USE_CURSOR) - usage |= DRV_BO_USE_CURSOR; - if (flags & GBM_BO_USE_CURSOR_64X64) - usage |= DRV_BO_USE_CURSOR_64X64; - if (flags & GBM_BO_USE_RENDERING) - usage |= DRV_BO_USE_RENDERING; - if (flags & GBM_BO_USE_LINEAR) - usage |= DRV_BO_USE_LINEAR; - - return usage; + uint64_t use_flags = BO_USE_NONE; + + if (usage & GBM_BO_USE_SCANOUT) + use_flags |= BO_USE_SCANOUT; + if (usage & GBM_BO_USE_CURSOR) + use_flags |= BO_USE_CURSOR; + if (usage & GBM_BO_USE_CURSOR_64X64) + use_flags |= BO_USE_CURSOR_64X64; + if (usage & GBM_BO_USE_RENDERING) + use_flags |= BO_USE_RENDERING; + if (usage & GBM_BO_USE_TEXTURING) + use_flags |= BO_USE_TEXTURE; + if (usage & GBM_BO_USE_LINEAR) + use_flags |= BO_USE_LINEAR; + if (usage & GBM_BO_USE_CAMERA_WRITE) + use_flags |= BO_USE_CAMERA_WRITE; + if (usage & GBM_BO_USE_CAMERA_READ) + use_flags |= BO_USE_CAMERA_READ; + if (usage & GBM_BO_USE_PROTECTED) + use_flags |= BO_USE_PROTECTED; + + return use_flags; }