[RFC][PATCH v2] drm_hwcomposer: Rework platformdrmgeneric.cpp to use libdrm's gralloc handle
Robert Foss
robert.foss at collabora.com
Wed Apr 4 09:24:57 UTC 2018
Hey,
Builds for hikey960, pushed upstream.
Rob.
On 04/03/2018 05:57 AM, John Stultz wrote:
> Rework the platformdrmgeneric buffer importer to use the libdrm
> generic gralloc handle definition.
>
> This is just to get the drm_hwcomposer project building in AOSP
> along with the libdrm freedesktop/master branch. Similar changes
> may also be needed to gbm_gralloc and other projects not used
> in AOSP.
>
> Mostly just sending this out for review feedback.
>
> Cc: Robert Foss <robert.foss at collabora.com>
> Cc: Rob Herring <rob.herring at linaro.org>
> Cc: Sean Paul <seanpaul at google.com>
> Cc: Stefan Schake <stschake at gmail.com>
> Signed-off-by: John Stultz <john.stultz at linaro.org>
> ---
> v2: Utilize libdrm exporting headers to avoid having to tweak
> the includes path, as suggsted by Stefan Schake
> ---
> platformdrmgeneric.cpp | 12 ++++++------
> 1 file changed, 6 insertions(+), 6 deletions(-)
>
> diff --git a/platformdrmgeneric.cpp b/platformdrmgeneric.cpp
> index 741d42b..2a6773c 100644
> --- a/platformdrmgeneric.cpp
> +++ b/platformdrmgeneric.cpp
> @@ -25,7 +25,7 @@
> #include <xf86drmMode.h>
>
> #include <cutils/log.h>
> -#include <gralloc_drm_handle.h>
> +#include <gralloc_handle.h>
> #include <hardware/gralloc.h>
> #include <EGL/eglext.h>
>
> @@ -85,23 +85,23 @@ uint32_t DrmGenericImporter::ConvertHalFormatToDrm(uint32_t hal_format) {
> }
>
> EGLImageKHR DrmGenericImporter::ImportImage(EGLDisplay egl_display, buffer_handle_t handle) {
> - gralloc_drm_handle_t *gr_handle = gralloc_drm_handle(handle);
> + gralloc_handle_t *gr_handle = gralloc_handle(handle);
> if (!gr_handle)
> return NULL;
> EGLint attr[] = {
> - EGL_WIDTH, gr_handle->width,
> - EGL_HEIGHT, gr_handle->height,
> + EGL_WIDTH, (EGLint)gr_handle->width,
> + EGL_HEIGHT, (EGLint)gr_handle->height,
> EGL_LINUX_DRM_FOURCC_EXT, (EGLint)ConvertHalFormatToDrm(gr_handle->format),
> EGL_DMA_BUF_PLANE0_FD_EXT, gr_handle->prime_fd,
> EGL_DMA_BUF_PLANE0_OFFSET_EXT, 0,
> - EGL_DMA_BUF_PLANE0_PITCH_EXT, gr_handle->stride,
> + EGL_DMA_BUF_PLANE0_PITCH_EXT, (EGLint)gr_handle->stride,
> EGL_NONE,
> };
> return eglCreateImageKHR(egl_display, EGL_NO_CONTEXT, EGL_LINUX_DMA_BUF_EXT, NULL, attr);
> }
>
> int DrmGenericImporter::ImportBuffer(buffer_handle_t handle, hwc_drm_bo_t *bo) {
> - gralloc_drm_handle_t *gr_handle = gralloc_drm_handle(handle);
> + gralloc_handle_t *gr_handle = gralloc_handle(handle);
> if (!gr_handle)
> return -EINVAL;
>
>
More information about the dri-devel
mailing list