Message ID | 1522727841-22086-1-git-send-email-john.stultz@linaro.org |
---|---|
State | New |
Headers | show |
Series | [RFC,v2] drm_hwcomposer: Rework platformdrmgeneric.cpp to use libdrm's gralloc handle | expand |
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@collabora.com> > Cc: Rob Herring <rob.herring@linaro.org> > Cc: Sean Paul <seanpaul@google.com> > Cc: Stefan Schake <stschake@gmail.com> > Signed-off-by: John Stultz <john.stultz@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; > >
On Wed, Apr 4, 2018 at 2:24 AM, Robert Foss <robert.foss@collabora.com> wrote: > Hey, > > Builds for hikey960, pushed upstream. > Much appreciated! Thanks so much! -john
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;
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@collabora.com> Cc: Rob Herring <rob.herring@linaro.org> Cc: Sean Paul <seanpaul@google.com> Cc: Stefan Schake <stschake@gmail.com> Signed-off-by: John Stultz <john.stultz@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(-) -- 2.7.4