sdm/hwc/gralloc: Move fb_id lifecycle to DAL
--Move fb_id creation/deletion from gralloc to DAL and make it per
cycle
--Make Gralloc/HWC/SDM structures independent of libdrmutils
and fb_id / gemhandles
--Pass BufferAllocator pointer to Display* and HWDevice*
--Add new GetBufferLayout API to BufferAllocator that can be called
by DAL before creating fb_id
Change-Id: I102f432cccee912ad4bcce622764938fa3d36ed3
CRs-fixed: 1114808
diff --git a/libgralloc/alloc_controller.cpp b/libgralloc/alloc_controller.cpp
index 38e2050..1779312 100644
--- a/libgralloc/alloc_controller.cpp
+++ b/libgralloc/alloc_controller.cpp
@@ -27,9 +27,6 @@
* IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
*/
-#ifdef COMPILE_DRM
-#include <drm/drm_fourcc.h>
-#endif
#include <cutils/log.h>
#include <fcntl.h>
#include <dlfcn.h>
@@ -76,18 +73,6 @@
#define ION_SC_PREVIEW_FLAGS ION_SECURE
#endif
-#ifdef COMPILE_DRM
-#ifndef DRM_FORMAT_MOD_QCOM_COMPRESSED
-#define DRM_FORMAT_MOD_QCOM_COMPRESSED fourcc_mod_code(QCOM, 1)
-#endif
-#ifndef DRM_FORMAT_MOD_QCOM_DX
-#define DRM_FORMAT_MOD_QCOM_DX fourcc_mod_code(QCOM, 0x2)
-#endif
-#ifndef DRM_FORMAT_MOD_QCOM_TIGHT
-#define DRM_FORMAT_MOD_QCOM_TIGHT fourcc_mod_code(QCOM, 0x4)
-#endif
-#endif
-
#ifndef COLOR_FMT_P010_UBWC
#define COLOR_FMT_P010_UBWC 9
#endif
@@ -1140,9 +1125,8 @@
return err;
}
-#ifdef COMPILE_DRM
-int getPlaneStrideOffset(private_handle_t *hnd, uint32_t *stride,
- uint32_t *offset, uint32_t *num_planes) {
+int getBufferLayout(private_handle_t *hnd, uint32_t stride[4],
+ uint32_t offset[4], uint32_t *num_planes) {
if (!hnd || !stride || !offset || !num_planes) {
return -EINVAL;
}
@@ -1231,110 +1215,3 @@
return 0;
}
-
-void getDRMFormat(int hal_format, int flags, uint32_t *drm_format,
- uint64_t *drm_format_modifier) {
-
- if (flags & private_handle_t::PRIV_FLAGS_UBWC_ALIGNED) {
- *drm_format_modifier = DRM_FORMAT_MOD_QCOM_COMPRESSED;
- }
-
- switch (hal_format) {
- case HAL_PIXEL_FORMAT_RGBA_8888:
- *drm_format = DRM_FORMAT_ABGR8888;
- break;
- case HAL_PIXEL_FORMAT_RGBA_5551:
- *drm_format = DRM_FORMAT_ABGR1555;
- break;
- case HAL_PIXEL_FORMAT_RGBA_4444:
- *drm_format = DRM_FORMAT_ABGR4444;
- break;
- case HAL_PIXEL_FORMAT_BGRA_8888:
- *drm_format = DRM_FORMAT_ARGB8888;
- break;
- case HAL_PIXEL_FORMAT_RGBX_8888:
- *drm_format = DRM_FORMAT_XBGR8888;
- break;
- case HAL_PIXEL_FORMAT_BGRX_8888:
- *drm_format = DRM_FORMAT_XRGB8888;
- break;
- case HAL_PIXEL_FORMAT_RGB_888:
- *drm_format = DRM_FORMAT_BGR888;
- break;
- case HAL_PIXEL_FORMAT_RGB_565:
- *drm_format = DRM_FORMAT_BGR565;
- break;
- case HAL_PIXEL_FORMAT_BGR_565:
- *drm_format = DRM_FORMAT_RGB565;
- break;
- case HAL_PIXEL_FORMAT_RGBA_1010102:
- *drm_format = DRM_FORMAT_ABGR2101010;
- break;
- case HAL_PIXEL_FORMAT_ARGB_2101010:
- *drm_format = DRM_FORMAT_BGRA1010102;
- break;
- case HAL_PIXEL_FORMAT_RGBX_1010102:
- *drm_format = DRM_FORMAT_XBGR2101010;
- break;
- case HAL_PIXEL_FORMAT_XRGB_2101010:
- *drm_format = DRM_FORMAT_BGRX1010102;
- break;
- case HAL_PIXEL_FORMAT_BGRA_1010102:
- *drm_format = DRM_FORMAT_ARGB2101010;
- break;
- case HAL_PIXEL_FORMAT_ABGR_2101010:
- *drm_format = DRM_FORMAT_RGBA1010102;
- break;
- case HAL_PIXEL_FORMAT_BGRX_1010102:
- *drm_format = DRM_FORMAT_XRGB2101010;
- break;
- case HAL_PIXEL_FORMAT_XBGR_2101010:
- *drm_format = DRM_FORMAT_RGBX1010102;
- break;
- case HAL_PIXEL_FORMAT_YCbCr_420_SP:
- *drm_format = DRM_FORMAT_NV12;
- break;
- case HAL_PIXEL_FORMAT_NV12_ENCODEABLE:
- case HAL_PIXEL_FORMAT_YCbCr_420_SP_VENUS:
- *drm_format = DRM_FORMAT_NV12;
- break;
- case HAL_PIXEL_FORMAT_YCbCr_420_SP_VENUS_UBWC:
- *drm_format = DRM_FORMAT_NV12;
- *drm_format_modifier = DRM_FORMAT_MOD_QCOM_COMPRESSED;
- break;
- case HAL_PIXEL_FORMAT_YCrCb_420_SP:
- *drm_format = DRM_FORMAT_NV21;
- break;
- case HAL_PIXEL_FORMAT_YCrCb_420_SP_VENUS:
- *drm_format = DRM_FORMAT_NV21;
- break;
- case HAL_PIXEL_FORMAT_YCbCr_420_P010:
- *drm_format = DRM_FORMAT_NV12;
- *drm_format_modifier = DRM_FORMAT_MOD_QCOM_DX;
- break;
- case HAL_PIXEL_FORMAT_YCbCr_420_P010_UBWC:
- *drm_format = DRM_FORMAT_NV12;
- *drm_format_modifier = DRM_FORMAT_MOD_QCOM_COMPRESSED |
- DRM_FORMAT_MOD_QCOM_DX;
- break;
- case HAL_PIXEL_FORMAT_YCbCr_420_TP10_UBWC:
- *drm_format = DRM_FORMAT_NV12;
- *drm_format_modifier = DRM_FORMAT_MOD_QCOM_COMPRESSED |
- DRM_FORMAT_MOD_QCOM_DX | DRM_FORMAT_MOD_QCOM_TIGHT;
- break;
- case HAL_PIXEL_FORMAT_YCbCr_422_SP:
- *drm_format = DRM_FORMAT_NV16;
- break;
- case HAL_PIXEL_FORMAT_YCrCb_422_SP:
- *drm_format = DRM_FORMAT_NV61;
- break;
- case HAL_PIXEL_FORMAT_YV12:
- *drm_format = DRM_FORMAT_YVU420;
- break;
- default:
- ALOGW("%s: Unsupported format %s", __FUNCTION__,
- qdutils::GetHALPixelFormatString(hal_format));
- }
-}
-#endif
-