fix drm-introduce-drm_get_dmafd_from_view.patch 17/22117/5
authorVeeresh Kadasani <external.vkadasani@jp.adit-jv.com>
Wed, 7 Aug 2019 12:19:15 +0000 (21:19 +0900)
committerJan-Simon Moeller <jsmoeller@linuxfoundation.org>
Tue, 3 Sep 2019 13:34:34 +0000 (13:34 +0000)
Fix crashing transmitter when testing with weston 6.0 because
of unregistered API.

Bug-AGL: SPEC-2696

Change-Id: Ib7cc01a4305da9a656b933f295e745dd56131ff4
Signed-off-by: Veeresh Kadasani <external.vkadasani@jp.adit-jv.com>
meta-agl-profile-graphical/recipes-graphics/wayland/weston/0003-compositor-drm-introduce-drm_get_dmafd_from_view.patch

index f67f1c0..388e430 100644 (file)
@@ -1,24 +1,25 @@
-From 6bed527fe0a4101ef214abaf2cd82609b6c510e4 Mon Sep 17 00:00:00 2001
+From 2cb25adac6b968104bbfb276c684506607dfbff4 Mon Sep 17 00:00:00 2001
 From: Veeresh Kadasani <external.vkadasani@jp.adit-jv.com>
-Date: Tue, 30 Jul 2019 20:25:34 +0900
-Subject: [PATCH 2/2] compositor-drm: introduce drm_get_dmafd_from_view
+Date: Wed, 7 Aug 2019 21:05:11 +0900
+Subject: [PATCH 1/1] compositor-drm: introduce drm_get_dmafd_from_view
 
 This API enables to get dmafd from weston_view
 
 Signed-off-by: Veeresh Kadasani <external.vkadasani@jp.adit-jv.com>
 ---
- libweston/compositor-drm.c | 58 ++++++++++++++++++++++++++++++++++++++++++++++
+ libweston/compositor-drm.c | 59 ++++++++++++++++++++++++++++++++++++++++++++++
  libweston/compositor-drm.h |  7 ++++++
- 2 files changed, 65 insertions(+)
+ 2 files changed, 66 insertions(+)
 
 diff --git a/libweston/compositor-drm.c b/libweston/compositor-drm.c
-index b83459a..5cabfb5 100644
+index b83459a..98ad85c 100644
 --- a/libweston/compositor-drm.c
 +++ b/libweston/compositor-drm.c
-@@ -5849,6 +5849,64 @@ drm_output_set_seat(struct weston_output *base,
+@@ -5848,6 +5848,64 @@ drm_output_set_seat(struct weston_output *base,
+                                    seat ? seat : "");
  }
  
- static int
++ static int
 +drm_get_dma_fd_from_view(struct weston_output *base,
 +                         struct weston_view *ev, int *buf_stride)
 +{
@@ -27,7 +28,7 @@ index b83459a..5cabfb5 100644
 +      struct gbm_bo *bo;
 +      struct drm_fb *current;
 +      struct linux_dmabuf_buffer *dmabuf;
-+      bool is_opaque = drm_view_is_opaque(ev);
++      bool is_opaque = weston_view_is_opaque(ev,&ev->transform.boundingbox);
 +      uint32_t format;
 +      int fd, ret;
 +
@@ -76,12 +77,19 @@ index b83459a..5cabfb5 100644
 +      return fd;
 +}
 +
-+static int
+ static int
  drm_output_init_gamma_size(struct drm_output *output)
  {
-       struct drm_backend *backend = to_drm_backend(output->base.compositor);
+@@ -7396,6 +7454,7 @@ static const struct weston_drm_output_api api = {
+       drm_output_set_mode,
+       drm_output_set_gbm_format,
+       drm_output_set_seat,
++      drm_get_dma_fd_from_view
+ };
+ static const struct weston_drm_virtual_output_api virt_api = {
 diff --git a/libweston/compositor-drm.h b/libweston/compositor-drm.h
-index 71a306f..4f985d3 100644
+index 71a306f..a9379e4 100644
 --- a/libweston/compositor-drm.h
 +++ b/libweston/compositor-drm.h
 @@ -78,6 +78,13 @@ struct weston_drm_output_api {
@@ -89,9 +97,9 @@ index 71a306f..4f985d3 100644
        void (*set_seat)(struct weston_output *output,
                         const char *seat);
 +
-+        /** Get the dma fd from drm view.
++      /** Get the dma fd from drm view.
 +       *
-+         *  The dma fd is got from weston_view.
++       *  The dma fd is got from weston_view.
 +       *  Returns fd on success, -1 on failure.
 +       */
 +      int (*get_dma_fd_from_view)(struct weston_output *output, struct weston_view *view, int *buf_stride);