diff options
author | Loren Huang <b02279@freescale.com> | 2014-07-15 15:43:30 +0800 |
---|---|---|
committer | Max Krummenacher <max.krummenacher@toradex.com> | 2014-09-04 15:21:07 +0200 |
commit | c3d35af3456b5b6ff0ae0b4ca5eb22ba702c2e56 (patch) | |
tree | 0da6c7fc77d3779a2d41ab2b6a7fa4d3733a25e7 /drivers | |
parent | d94cd604f71c8984ed6dc1c4482f56fb91f9c5be (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)
Diffstat (limited to 'drivers')
-rw-r--r-- | drivers/mxc/gpu-viv/hal/kernel/inc/gc_hal_eglplatform.h | 17 |
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; |