summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorLoren Huang <b02279@freescale.com>2014-07-15 15:43:30 +0800
committerLoren Huang <b02279@freescale.com>2014-07-15 17:40:44 +0800
commit159ecf6bd4b37e108e47635cc29a7e85502f6eb6 (patch)
tree029de5bc5afc0392a00cbdfe71665f6d7fa535af
parent6478b54802c62e32fe6b23a6e3a656d3ef6a6089 (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)
-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;