commit | fbf5c0ca45b3c4dd1d9621eb5198c3d43f1afbf6 | [log] [tgz] |
---|---|---|
author | Roman Stratiienko <r.stratiienko@gmail.com> | Mon Aug 24 11:27:48 2020 +0300 |
committer | Roman Stratiienko <r.stratiienko@gmail.com> | Tue Sep 01 23:12:47 2020 +0300 |
tree | 9f49d413835cc26dac0a63edd6018e5d7f551ffa | |
parent | cfc2b2e60267fb4140e99c0049598752c7d8749a [diff] [blame] |
drm_hwcomposer: libdrm gralloc_handle: modifiers and YUV support 1. Import DRM modifier field from libdrm's gralloc_habdle. 2. Recently lock_ycrcb() was added to gbm_gralloc() [1], mesa3d uses this function to obtain CrCb plane data (offsets, strides). Use the same alhorythm in drm_hwcomposer. This allows GPU offloading during video playback. (Tested using Gallery app and SkyTube). [1] - https://github.com/robherring/gbm_gralloc/pull/15 [2] - https://gitlab.freedesktop.org/mesa/mesa/-/blob/68957a82562d13b3f0d21a04ce633ffd236e6036/src/egl/drivers/dri2/platform_android.c#L202 Signed-off-by: Roman Stratiienko <r.stratiienko@gmail.com> Change-Id: I8ec177ac782f27174443cebcb6e773070c1505cc
diff --git a/platform/platformdrmgeneric.h b/platform/platformdrmgeneric.h index f9d923f..ad74de4 100644 --- a/platform/platformdrmgeneric.h +++ b/platform/platformdrmgeneric.h
@@ -48,6 +48,7 @@ uint32_t ConvertHalFormatToDrm(uint32_t hal_format); uint32_t DrmFormatToBitsPerPixel(uint32_t drm_format); + bool GetYuvPlaneInfo(int num_fds, buffer_handle_t handle, hwc_drm_bo_t *bo); protected: DrmDevice *drm_;