From 2b1f1af17f8e8f199cb0dd4f7f1a225529b357c5 Mon Sep 17 00:00:00 2001 From: Chia-I Wu Date: Mon, 11 Oct 2010 16:06:47 +0800 Subject: android: Add DRM-based gralloc. --- src/gralloc/gralloc_mod.h | 65 +++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 65 insertions(+) create mode 100644 src/gralloc/gralloc_mod.h (limited to 'src/gralloc/gralloc_mod.h') diff --git a/src/gralloc/gralloc_mod.h b/src/gralloc/gralloc_mod.h new file mode 100644 index 0000000000..e06ec864ad --- /dev/null +++ b/src/gralloc/gralloc_mod.h @@ -0,0 +1,65 @@ +#ifndef _GRALLOC_DRM_H +#define _GRALLOC_DRM_H + +#include +#include +#include +#include + +struct drm_module_t { + gralloc_module_t base; + + pthread_mutex_t mutex; + + /* initialized by drm_gem_init */ + int fd; + + /* initialized by drm_kms_init */ + drmModeResPtr resources; + uint32_t crtc_id; + uint32_t connector_id; + drmModeModeInfo mode; + int xdpi, ydpi; + int format; +#ifdef DRM_MODE_FEATURE_DIRTYFB + drmModeClip clip; +#endif + + /* initialized by drm_gem_drv_init */ + void *gem; + int mode_dirty_fb; + int mode_page_flip; + int swap_interval; + int vblank_secondary; + + int first_post; +}; + +static inline int +drm_mod_get_bpp(int format) +{ + int bpp; + + switch (format) { + case HAL_PIXEL_FORMAT_RGBA_8888: + case HAL_PIXEL_FORMAT_RGBX_8888: + case HAL_PIXEL_FORMAT_BGRA_8888: + bpp = 4; + break; + case HAL_PIXEL_FORMAT_RGB_888: + bpp = 3; + break; + case HAL_PIXEL_FORMAT_RGB_565: + case HAL_PIXEL_FORMAT_RGBA_5551: + case HAL_PIXEL_FORMAT_RGBA_4444: + bpp = 2; + break; + default: + bpp = 0; + break; + } + + return bpp; +} + +#endif /* _GRALLOC_DRM_H */ -- cgit v1.2.3