summaryrefslogtreecommitdiffstats
path: root/meta-raspberrypi/recipes-graphics/userland/userland/0012-implement-buffer-wrapping-interface-for-dispmanx.patch
diff options
context:
space:
mode:
Diffstat (limited to 'meta-raspberrypi/recipes-graphics/userland/userland/0012-implement-buffer-wrapping-interface-for-dispmanx.patch')
-rw-r--r--meta-raspberrypi/recipes-graphics/userland/userland/0012-implement-buffer-wrapping-interface-for-dispmanx.patch92
1 files changed, 0 insertions, 92 deletions
diff --git a/meta-raspberrypi/recipes-graphics/userland/userland/0012-implement-buffer-wrapping-interface-for-dispmanx.patch b/meta-raspberrypi/recipes-graphics/userland/userland/0012-implement-buffer-wrapping-interface-for-dispmanx.patch
deleted file mode 100644
index 28a5fc6d8..000000000
--- a/meta-raspberrypi/recipes-graphics/userland/userland/0012-implement-buffer-wrapping-interface-for-dispmanx.patch
+++ /dev/null
@@ -1,92 +0,0 @@
-From df8b9633a45069bdd1bf256d974636ef11aa39cb Mon Sep 17 00:00:00 2001
-From: Khem Raj <raj.khem@gmail.com>
-Date: Sat, 2 Apr 2016 10:54:59 -0700
-Subject: [PATCH 12/16] implement buffer wrapping interface for dispmanx
-
-Courtesy: Zan Dobersek
-
-Signed-off-by: Khem Raj <raj.khem@gmail.com>
----
- interface/khronos/ext/egl_wayland.c | 42 +++++++++++++++++++++++++++++++++++++
- interface/wayland/dispmanx.xml | 10 +++++++++
- 2 files changed, 52 insertions(+)
-
-diff --git a/interface/khronos/ext/egl_wayland.c b/interface/khronos/ext/egl_wayland.c
-index 5730743..9ef89cd 100644
---- a/interface/khronos/ext/egl_wayland.c
-+++ b/interface/khronos/ext/egl_wayland.c
-@@ -133,8 +133,50 @@ dispmanx_create_buffer(struct wl_client *client, struct wl_resource *resource,
- buffer->handle);
- }
-
-+static void
-+dispmanx_wrap_buffer(struct wl_client *client, struct wl_resource *resource,
-+ uint32_t id, uint32_t handle, int32_t width, int32_t height,
-+ uint32_t stride, uint32_t buffer_height, uint32_t format)
-+{
-+ struct wl_dispmanx_server_buffer *buffer;
-+ VC_IMAGE_TYPE_T vc_format = get_vc_format(format);
-+ uint32_t dummy;
-+
-+ if(vc_format == VC_IMAGE_MIN) {
-+ wl_resource_post_error(resource,
-+ WL_DISPMANX_ERROR_INVALID_FORMAT,
-+ "invalid format");
-+ return;
-+ }
-+
-+ buffer = calloc(1, sizeof *buffer);
-+ if (buffer == NULL) {
-+ wl_resource_post_no_memory(resource);
-+ return;
-+ }
-+
-+ buffer->handle = handle;
-+ buffer->width = width;
-+ buffer->height = height;
-+ buffer->format = format;
-+
-+ buffer->resource = wl_resource_create(resource->client, &wl_buffer_interface,
-+ 1, id);
-+ if (!buffer->resource) {
-+ wl_resource_post_no_memory(resource);
-+ vc_dispmanx_resource_delete(buffer->handle);
-+ free(buffer);
-+ return;
-+ }
-+
-+ wl_resource_set_implementation(buffer->resource,
-+ (void (**)(void)) &dispmanx_buffer_interface,
-+ buffer, destroy_buffer);
-+}
-+
- static const struct wl_dispmanx_interface dispmanx_interface = {
- dispmanx_create_buffer,
-+ dispmanx_wrap_buffer,
- };
-
- static void
-diff --git a/interface/wayland/dispmanx.xml b/interface/wayland/dispmanx.xml
-index c18626d..11ed1ef 100644
---- a/interface/wayland/dispmanx.xml
-+++ b/interface/wayland/dispmanx.xml
-@@ -118,6 +118,16 @@
- <arg name="buffer" type="object" interface="wl_buffer"/>
- <arg name="handle" type="uint"/>
- </event>
-+
-+ <request name="wrap_buffer">
-+ <arg name="id" type="new_id" interface="wl_buffer"/>
-+ <arg name="handle" type="uint"/>
-+ <arg name="width" type="int"/>
-+ <arg name="height" type="int"/>
-+ <arg name="stride" type="uint"/>
-+ <arg name="buffer_height" type="uint"/>
-+ <arg name="format" type="uint"/>
-+ </request>
- </interface>
-
- </protocol>
---
-2.16.1
-
OpenPOWER on IntegriCloud