summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorLoren Huang <b02279@freescale.com>2014-07-15 15:43:30 +0800
committerMax Krummenacher <max.krummenacher@toradex.com>2014-09-04 15:21:07 +0200
commitc3d35af3456b5b6ff0ae0b4ca5eb22ba702c2e56 (patch)
tree0da6c7fc77d3779a2d41ab2b6a7fa4d3733a25e7
parentd94cd604f71c8984ed6dc1c4482f56fb91f9c5be (diff)
ENGR00300876 [#ccc] Fix flick issue in GAL2D compositor
Move wl_surface_commit to work thread. Fix memory leak in wl_egl_window_resize. Date: Jul 10, 2014 Signed-off-by Yong Gan <yong.gan@freescale.com> Acked-by: Jason Liu (cherry picked from commit c114ec8a4c74fc2a2d0f64c60031c66d2225ff83) (cherry picked from commit dac46dcf913585956a0e7a838e6f4b7465f00f57)
-rw-r--r--drivers/mxc/gpu-viv/hal/kernel/inc/gc_hal_eglplatform.h17
1 files changed, 14 insertions, 3 deletions
diff --git a/drivers/mxc/gpu-viv/hal/kernel/inc/gc_hal_eglplatform.h b/drivers/mxc/gpu-viv/hal/kernel/inc/gc_hal_eglplatform.h
index c4347e1e0bbc..7a62d3fec89c 100644
--- a/drivers/mxc/gpu-viv/hal/kernel/inc/gc_hal_eglplatform.h
+++ b/drivers/mxc/gpu-viv/hal/kernel/inc/gc_hal_eglplatform.h
@@ -55,18 +55,21 @@ typedef struct _DFBPixmap * HALNativePixmapType;
#include "wayland-server.h"
#include <wayland-egl.h>
-#define WL_EGL_NUM_BACKBUFFERS 2
+#define WL_EGL_NUM_BACKBUFFERS 3
typedef struct _gcsWL_VIV_BUFFER
{
- struct wl_buffer wl_buffer;
+ struct wl_resource *wl_buffer;
gcoSURF surface;
+ gctINT32 width, height;
} gcsWL_VIV_BUFFER;
typedef struct _gcsWL_EGL_DISPLAY
{
struct wl_display* wl_display;
struct wl_viv* wl_viv;
+ struct wl_registry *registry;
+ struct wl_event_queue *wl_queue;
} gcsWL_EGL_DISPLAY;
typedef struct _gcsWL_EGL_BUFFER_INFO
@@ -79,6 +82,9 @@ typedef struct _gcsWL_EGL_BUFFER_INFO
gcePOOL pool;
gctUINT bytes;
gcoSURF surface;
+ gcoSURF attached_surface;
+ gctINT32 invalidate;
+ gctBOOL locked;
} gcsWL_EGL_BUFFER_INFO;
typedef struct _gcsWL_EGL_BUFFER
@@ -89,19 +95,24 @@ typedef struct _gcsWL_EGL_BUFFER
typedef struct _gcsWL_EGL_WINDOW_INFO
{
+ gctINT32 dx;
+ gctINT32 dy;
gctUINT width;
gctUINT height;
+ gctINT32 attached_width;
+ gctINT32 attached_height;
gceSURF_FORMAT format;
gctUINT bpp;
} gcsWL_EGL_WINDOW_INFO;
struct wl_egl_window
{
+ gcsWL_EGL_DISPLAY* display;
gcsWL_EGL_BUFFER backbuffers[WL_EGL_NUM_BACKBUFFERS];
gcsWL_EGL_WINDOW_INFO info;
gctUINT current;
struct wl_surface* surface;
- struct wl_callback* pending;
+ struct wl_callback* frame_callback;
};
typedef void* HALNativeDisplayType;