aboutsummaryrefslogtreecommitdiffstatshomepage
path: root/libraries/evas/src/modules/engines
diff options
context:
space:
mode:
Diffstat (limited to 'libraries/evas/src/modules/engines')
-rw-r--r--libraries/evas/src/modules/engines/Makefile.am3
-rw-r--r--libraries/evas/src/modules/engines/Makefile.in27
-rw-r--r--libraries/evas/src/modules/engines/buffer/Evas_Engine_Buffer.h3
-rw-r--r--libraries/evas/src/modules/engines/buffer/Makefile.am2
-rw-r--r--libraries/evas/src/modules/engines/buffer/Makefile.in9
-rw-r--r--libraries/evas/src/modules/engines/buffer/evas_engine.c69
-rw-r--r--libraries/evas/src/modules/engines/buffer/evas_engine.h8
-rw-r--r--libraries/evas/src/modules/engines/buffer/evas_outbuf.c31
-rw-r--r--libraries/evas/src/modules/engines/direct3d/Makefile.in8
-rw-r--r--libraries/evas/src/modules/engines/directfb/Makefile.am2
-rw-r--r--libraries/evas/src/modules/engines/directfb/Makefile.in9
-rw-r--r--libraries/evas/src/modules/engines/directfb/evas_engine.c3
-rw-r--r--libraries/evas/src/modules/engines/fb/Makefile.in8
-rw-r--r--libraries/evas/src/modules/engines/fb/evas_engine.c13
-rw-r--r--libraries/evas/src/modules/engines/fb/evas_outbuf.c7
-rw-r--r--libraries/evas/src/modules/engines/gl_cocoa/Makefile.in8
-rw-r--r--libraries/evas/src/modules/engines/gl_common/Makefile.in8
-rw-r--r--libraries/evas/src/modules/engines/gl_common/evas_gl_line.c5
-rw-r--r--libraries/evas/src/modules/engines/gl_common/shader/yuv_frag.h18
-rw-r--r--libraries/evas/src/modules/engines/gl_common/shader/yuv_frag.shd18
-rw-r--r--libraries/evas/src/modules/engines/gl_common/shader/yuv_nomul_frag.h18
-rw-r--r--libraries/evas/src/modules/engines/gl_common/shader/yuv_nomul_frag.shd18
-rw-r--r--libraries/evas/src/modules/engines/gl_sdl/Makefile.in8
-rw-r--r--libraries/evas/src/modules/engines/gl_x11/Makefile.in8
-rw-r--r--libraries/evas/src/modules/engines/gl_x11/evas_engine.c565
-rw-r--r--libraries/evas/src/modules/engines/psl1ght/Makefile.in8
-rw-r--r--libraries/evas/src/modules/engines/software_16/Makefile.am2
-rw-r--r--libraries/evas/src/modules/engines/software_16/Makefile.in9
-rw-r--r--libraries/evas/src/modules/engines/software_16_ddraw/Makefile.in8
-rw-r--r--libraries/evas/src/modules/engines/software_16_sdl/Makefile.am4
-rw-r--r--libraries/evas/src/modules/engines/software_16_sdl/Makefile.in50
-rw-r--r--libraries/evas/src/modules/engines/software_16_wince/Makefile.am1
-rw-r--r--libraries/evas/src/modules/engines/software_16_wince/Makefile.in25
-rw-r--r--libraries/evas/src/modules/engines/software_16_x11/Makefile.in8
-rw-r--r--libraries/evas/src/modules/engines/software_8/Makefile.am2
-rw-r--r--libraries/evas/src/modules/engines/software_8/Makefile.in9
-rw-r--r--libraries/evas/src/modules/engines/software_8_x11/Makefile.in8
-rw-r--r--libraries/evas/src/modules/engines/software_ddraw/Makefile.in8
-rw-r--r--libraries/evas/src/modules/engines/software_gdi/Makefile.in8
-rw-r--r--libraries/evas/src/modules/engines/software_generic/Makefile.am4
-rw-r--r--libraries/evas/src/modules/engines/software_generic/Makefile.in11
-rw-r--r--libraries/evas/src/modules/engines/software_generic/evas_engine.c24
-rw-r--r--libraries/evas/src/modules/engines/software_x11/Makefile.in8
-rw-r--r--libraries/evas/src/modules/engines/wayland_egl/Makefile.am2
-rw-r--r--libraries/evas/src/modules/engines/wayland_egl/Makefile.in10
-rw-r--r--libraries/evas/src/modules/engines/wayland_egl/evas_engine.c184
-rw-r--r--libraries/evas/src/modules/engines/wayland_egl/evas_wl_main.c4
-rw-r--r--libraries/evas/src/modules/engines/wayland_shm/Evas_Engine_Wayland_Shm.h3
-rw-r--r--libraries/evas/src/modules/engines/wayland_shm/Makefile.am3
-rw-r--r--libraries/evas/src/modules/engines/wayland_shm/Makefile.in11
-rw-r--r--libraries/evas/src/modules/engines/wayland_shm/evas_engine.c12
-rw-r--r--libraries/evas/src/modules/engines/wayland_shm/evas_engine.h3
-rw-r--r--libraries/evas/src/modules/engines/wayland_shm/evas_outbuf.c5
53 files changed, 819 insertions, 491 deletions
diff --git a/libraries/evas/src/modules/engines/Makefile.am b/libraries/evas/src/modules/engines/Makefile.am
index 42585cc..e29fb98 100644
--- a/libraries/evas/src/modules/engines/Makefile.am
+++ b/libraries/evas/src/modules/engines/Makefile.am
@@ -53,9 +53,6 @@ endif
53if !EVAS_STATIC_BUILD_SOFTWARE_16_X11 53if !EVAS_STATIC_BUILD_SOFTWARE_16_X11
54SUBDIRS += software_16_x11 54SUBDIRS += software_16_x11
55endif 55endif
56if !EVAS_STATIC_BUILD_SOFTWARE_SDL
57SUBDIRS += software_sdl
58endif
59if !EVAS_STATIC_BUILD_SOFTWARE_16_SDL 56if !EVAS_STATIC_BUILD_SOFTWARE_16_SDL
60SUBDIRS += software_16_sdl 57SUBDIRS += software_16_sdl
61endif 58endif
diff --git a/libraries/evas/src/modules/engines/Makefile.in b/libraries/evas/src/modules/engines/Makefile.in
index 5820026..7388a48 100644
--- a/libraries/evas/src/modules/engines/Makefile.in
+++ b/libraries/evas/src/modules/engines/Makefile.in
@@ -49,13 +49,12 @@ host_triplet = @host@
49@EVAS_STATIC_BUILD_SOFTWARE_16_DDRAW_FALSE@am__append_14 = software_16_ddraw 49@EVAS_STATIC_BUILD_SOFTWARE_16_DDRAW_FALSE@am__append_14 = software_16_ddraw
50@EVAS_STATIC_BUILD_SOFTWARE_16_WINCE_FALSE@am__append_15 = software_16_wince 50@EVAS_STATIC_BUILD_SOFTWARE_16_WINCE_FALSE@am__append_15 = software_16_wince
51@EVAS_STATIC_BUILD_SOFTWARE_16_X11_FALSE@am__append_16 = software_16_x11 51@EVAS_STATIC_BUILD_SOFTWARE_16_X11_FALSE@am__append_16 = software_16_x11
52@EVAS_STATIC_BUILD_SOFTWARE_SDL_FALSE@am__append_17 = software_sdl 52@EVAS_STATIC_BUILD_SOFTWARE_16_SDL_FALSE@am__append_17 = software_16_sdl
53@EVAS_STATIC_BUILD_SOFTWARE_16_SDL_FALSE@am__append_18 = software_16_sdl 53@EVAS_STATIC_BUILD_SOFTWARE_DDRAW_FALSE@am__append_18 = software_ddraw
54@EVAS_STATIC_BUILD_SOFTWARE_DDRAW_FALSE@am__append_19 = software_ddraw 54@EVAS_STATIC_BUILD_SOFTWARE_GDI_FALSE@am__append_19 = software_gdi
55@EVAS_STATIC_BUILD_SOFTWARE_GDI_FALSE@am__append_20 = software_gdi 55@EVAS_STATIC_BUILD_SOFTWARE_X11_FALSE@am__append_20 = software_x11
56@EVAS_STATIC_BUILD_SOFTWARE_X11_FALSE@am__append_21 = software_x11 56@EVAS_STATIC_BUILD_WAYLAND_SHM_FALSE@am__append_21 = wayland_shm
57@EVAS_STATIC_BUILD_WAYLAND_SHM_FALSE@am__append_22 = wayland_shm 57@EVAS_STATIC_BUILD_WAYLAND_EGL_FALSE@am__append_22 = wayland_egl
58@EVAS_STATIC_BUILD_WAYLAND_EGL_FALSE@am__append_23 = wayland_egl
59subdir = src/modules/engines 58subdir = src/modules/engines
60DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in 59DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in
61ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 60ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
@@ -103,8 +102,8 @@ CTAGS = ctags
103DIST_SUBDIRS = software_generic buffer direct3d directfb fb psl1ght \ 102DIST_SUBDIRS = software_generic buffer direct3d directfb fb psl1ght \
104 gl_common gl_x11 gl_sdl gl_cocoa software_8 software_8_x11 \ 103 gl_common gl_x11 gl_sdl gl_cocoa software_8 software_8_x11 \
105 software_16 software_16_ddraw software_16_wince \ 104 software_16 software_16_ddraw software_16_wince \
106 software_16_x11 software_sdl software_16_sdl software_ddraw \ 105 software_16_x11 software_16_sdl software_ddraw software_gdi \
107 software_gdi software_x11 wayland_shm wayland_egl 106 software_x11 wayland_shm wayland_egl
108DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) 107DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
109am__relativize = \ 108am__relativize = \
110 dir0=`pwd`; \ 109 dir0=`pwd`; \
@@ -183,6 +182,8 @@ EVAS_SSE3_CFLAGS = @EVAS_SSE3_CFLAGS@
183EVIL_CFLAGS = @EVIL_CFLAGS@ 182EVIL_CFLAGS = @EVIL_CFLAGS@
184EVIL_LIBS = @EVIL_LIBS@ 183EVIL_LIBS = @EVIL_LIBS@
185EXEEXT = @EXEEXT@ 184EXEEXT = @EXEEXT@
185EXOTIC_CFLAGS = @EXOTIC_CFLAGS@
186EXOTIC_LIBS = @EXOTIC_LIBS@
186FGREP = @FGREP@ 187FGREP = @FGREP@
187FONTCONFIG_CFLAGS = @FONTCONFIG_CFLAGS@ 188FONTCONFIG_CFLAGS = @FONTCONFIG_CFLAGS@
188FONTCONFIG_LIBS = @FONTCONFIG_LIBS@ 189FONTCONFIG_LIBS = @FONTCONFIG_LIBS@
@@ -233,6 +234,8 @@ PATH_SEPARATOR = @PATH_SEPARATOR@
233PIXMAN_CFLAGS = @PIXMAN_CFLAGS@ 234PIXMAN_CFLAGS = @PIXMAN_CFLAGS@
234PIXMAN_LIBS = @PIXMAN_LIBS@ 235PIXMAN_LIBS = @PIXMAN_LIBS@
235PKG_CONFIG = @PKG_CONFIG@ 236PKG_CONFIG = @PKG_CONFIG@
237PKG_CONFIG_LIBDIR = @PKG_CONFIG_LIBDIR@
238PKG_CONFIG_PATH = @PKG_CONFIG_PATH@
236PNG_CFLAGS = @PNG_CFLAGS@ 239PNG_CFLAGS = @PNG_CFLAGS@
237PNG_LIBS = @PNG_LIBS@ 240PNG_LIBS = @PNG_LIBS@
238RANLIB = @RANLIB@ 241RANLIB = @RANLIB@
@@ -251,8 +254,6 @@ VERSION = @VERSION@
251VMAJ = @VMAJ@ 254VMAJ = @VMAJ@
252WAYLAND_EGL_CFLAGS = @WAYLAND_EGL_CFLAGS@ 255WAYLAND_EGL_CFLAGS = @WAYLAND_EGL_CFLAGS@
253WAYLAND_EGL_LIBS = @WAYLAND_EGL_LIBS@ 256WAYLAND_EGL_LIBS = @WAYLAND_EGL_LIBS@
254WIN32_CFLAGS = @WIN32_CFLAGS@
255WIN32_CPPFLAGS = @WIN32_CPPFLAGS@
256XCB_CFLAGS = @XCB_CFLAGS@ 257XCB_CFLAGS = @XCB_CFLAGS@
257XCB_GL_CFLAGS = @XCB_GL_CFLAGS@ 258XCB_GL_CFLAGS = @XCB_GL_CFLAGS@
258XCB_GL_LIBS = @XCB_GL_LIBS@ 259XCB_GL_LIBS = @XCB_GL_LIBS@
@@ -326,8 +327,6 @@ evas_engine_software_ddraw_cflags = @evas_engine_software_ddraw_cflags@
326evas_engine_software_ddraw_libs = @evas_engine_software_ddraw_libs@ 327evas_engine_software_ddraw_libs = @evas_engine_software_ddraw_libs@
327evas_engine_software_gdi_cflags = @evas_engine_software_gdi_cflags@ 328evas_engine_software_gdi_cflags = @evas_engine_software_gdi_cflags@
328evas_engine_software_gdi_libs = @evas_engine_software_gdi_libs@ 329evas_engine_software_gdi_libs = @evas_engine_software_gdi_libs@
329evas_engine_software_sdl_cflags = @evas_engine_software_sdl_cflags@
330evas_engine_software_sdl_libs = @evas_engine_software_sdl_libs@
331evas_engine_software_xcb_cflags = @evas_engine_software_xcb_cflags@ 330evas_engine_software_xcb_cflags = @evas_engine_software_xcb_cflags@
332evas_engine_software_xcb_libs = @evas_engine_software_xcb_libs@ 331evas_engine_software_xcb_libs = @evas_engine_software_xcb_libs@
333evas_engine_software_xlib_cflags = @evas_engine_software_xlib_cflags@ 332evas_engine_software_xlib_cflags = @evas_engine_software_xlib_cflags@
@@ -418,7 +417,7 @@ SUBDIRS = $(am__append_1) $(am__append_2) $(am__append_3) \
418 $(am__append_13) $(am__append_14) $(am__append_15) \ 417 $(am__append_13) $(am__append_14) $(am__append_15) \
419 $(am__append_16) $(am__append_17) $(am__append_18) \ 418 $(am__append_16) $(am__append_17) $(am__append_18) \
420 $(am__append_19) $(am__append_20) $(am__append_21) \ 419 $(am__append_19) $(am__append_20) $(am__append_21) \
421 $(am__append_22) $(am__append_23) 420 $(am__append_22)
422all: all-recursive 421all: all-recursive
423 422
424.SUFFIXES: 423.SUFFIXES:
diff --git a/libraries/evas/src/modules/engines/buffer/Evas_Engine_Buffer.h b/libraries/evas/src/modules/engines/buffer/Evas_Engine_Buffer.h
index e6d11d1..a9cbbfb 100644
--- a/libraries/evas/src/modules/engines/buffer/Evas_Engine_Buffer.h
+++ b/libraries/evas/src/modules/engines/buffer/Evas_Engine_Buffer.h
@@ -29,7 +29,10 @@ struct _Evas_Engine_Info_Buffer
29 struct { 29 struct {
30 void * (*new_update_region) (int x, int y, int w, int h, int *row_bytes); 30 void * (*new_update_region) (int x, int y, int w, int h, int *row_bytes);
31 void (*free_update_region) (int x, int y, int w, int h, void *data); 31 void (*free_update_region) (int x, int y, int w, int h, void *data);
32 void * (*switch_buffer) (void *data, void *dest_buffer);
32 } func; 33 } func;
34
35 void *switch_data;
33 } info; 36 } info;
34 37
35 /* non-blocking or blocking mode */ 38 /* non-blocking or blocking mode */
diff --git a/libraries/evas/src/modules/engines/buffer/Makefile.am b/libraries/evas/src/modules/engines/buffer/Makefile.am
index 19ac5a7..4090b6f 100644
--- a/libraries/evas/src/modules/engines/buffer/Makefile.am
+++ b/libraries/evas/src/modules/engines/buffer/Makefile.am
@@ -10,8 +10,6 @@ AM_CPPFLAGS = \
10@FREETYPE_CFLAGS@ \ 10@FREETYPE_CFLAGS@ \
11@PIXMAN_CFLAGS@ 11@PIXMAN_CFLAGS@
12 12
13AM_CFLAGS = @WIN32_CFLAGS@
14
15if BUILD_ENGINE_BUFFER 13if BUILD_ENGINE_BUFFER
16 14
17BUFFER_SOURCES = \ 15BUFFER_SOURCES = \
diff --git a/libraries/evas/src/modules/engines/buffer/Makefile.in b/libraries/evas/src/modules/engines/buffer/Makefile.in
index ec9c0b8..bd9818e 100644
--- a/libraries/evas/src/modules/engines/buffer/Makefile.in
+++ b/libraries/evas/src/modules/engines/buffer/Makefile.in
@@ -190,6 +190,8 @@ EVAS_SSE3_CFLAGS = @EVAS_SSE3_CFLAGS@
190EVIL_CFLAGS = @EVIL_CFLAGS@ 190EVIL_CFLAGS = @EVIL_CFLAGS@
191EVIL_LIBS = @EVIL_LIBS@ 191EVIL_LIBS = @EVIL_LIBS@
192EXEEXT = @EXEEXT@ 192EXEEXT = @EXEEXT@
193EXOTIC_CFLAGS = @EXOTIC_CFLAGS@
194EXOTIC_LIBS = @EXOTIC_LIBS@
193FGREP = @FGREP@ 195FGREP = @FGREP@
194FONTCONFIG_CFLAGS = @FONTCONFIG_CFLAGS@ 196FONTCONFIG_CFLAGS = @FONTCONFIG_CFLAGS@
195FONTCONFIG_LIBS = @FONTCONFIG_LIBS@ 197FONTCONFIG_LIBS = @FONTCONFIG_LIBS@
@@ -240,6 +242,8 @@ PATH_SEPARATOR = @PATH_SEPARATOR@
240PIXMAN_CFLAGS = @PIXMAN_CFLAGS@ 242PIXMAN_CFLAGS = @PIXMAN_CFLAGS@
241PIXMAN_LIBS = @PIXMAN_LIBS@ 243PIXMAN_LIBS = @PIXMAN_LIBS@
242PKG_CONFIG = @PKG_CONFIG@ 244PKG_CONFIG = @PKG_CONFIG@
245PKG_CONFIG_LIBDIR = @PKG_CONFIG_LIBDIR@
246PKG_CONFIG_PATH = @PKG_CONFIG_PATH@
243PNG_CFLAGS = @PNG_CFLAGS@ 247PNG_CFLAGS = @PNG_CFLAGS@
244PNG_LIBS = @PNG_LIBS@ 248PNG_LIBS = @PNG_LIBS@
245RANLIB = @RANLIB@ 249RANLIB = @RANLIB@
@@ -258,8 +262,6 @@ VERSION = @VERSION@
258VMAJ = @VMAJ@ 262VMAJ = @VMAJ@
259WAYLAND_EGL_CFLAGS = @WAYLAND_EGL_CFLAGS@ 263WAYLAND_EGL_CFLAGS = @WAYLAND_EGL_CFLAGS@
260WAYLAND_EGL_LIBS = @WAYLAND_EGL_LIBS@ 264WAYLAND_EGL_LIBS = @WAYLAND_EGL_LIBS@
261WIN32_CFLAGS = @WIN32_CFLAGS@
262WIN32_CPPFLAGS = @WIN32_CPPFLAGS@
263XCB_CFLAGS = @XCB_CFLAGS@ 265XCB_CFLAGS = @XCB_CFLAGS@
264XCB_GL_CFLAGS = @XCB_GL_CFLAGS@ 266XCB_GL_CFLAGS = @XCB_GL_CFLAGS@
265XCB_GL_LIBS = @XCB_GL_LIBS@ 267XCB_GL_LIBS = @XCB_GL_LIBS@
@@ -333,8 +335,6 @@ evas_engine_software_ddraw_cflags = @evas_engine_software_ddraw_cflags@
333evas_engine_software_ddraw_libs = @evas_engine_software_ddraw_libs@ 335evas_engine_software_ddraw_libs = @evas_engine_software_ddraw_libs@
334evas_engine_software_gdi_cflags = @evas_engine_software_gdi_cflags@ 336evas_engine_software_gdi_cflags = @evas_engine_software_gdi_cflags@
335evas_engine_software_gdi_libs = @evas_engine_software_gdi_libs@ 337evas_engine_software_gdi_libs = @evas_engine_software_gdi_libs@
336evas_engine_software_sdl_cflags = @evas_engine_software_sdl_cflags@
337evas_engine_software_sdl_libs = @evas_engine_software_sdl_libs@
338evas_engine_software_xcb_cflags = @evas_engine_software_xcb_cflags@ 338evas_engine_software_xcb_cflags = @evas_engine_software_xcb_cflags@
339evas_engine_software_xcb_libs = @evas_engine_software_xcb_libs@ 339evas_engine_software_xcb_libs = @evas_engine_software_xcb_libs@
340evas_engine_software_xlib_cflags = @evas_engine_software_xlib_cflags@ 340evas_engine_software_xlib_cflags = @evas_engine_software_xlib_cflags@
@@ -427,7 +427,6 @@ AM_CPPFLAGS = \
427@FREETYPE_CFLAGS@ \ 427@FREETYPE_CFLAGS@ \
428@PIXMAN_CFLAGS@ 428@PIXMAN_CFLAGS@
429 429
430AM_CFLAGS = @WIN32_CFLAGS@
431@BUILD_ENGINE_BUFFER_TRUE@BUFFER_SOURCES = \ 430@BUILD_ENGINE_BUFFER_TRUE@BUFFER_SOURCES = \
432@BUILD_ENGINE_BUFFER_TRUE@evas_engine.c \ 431@BUILD_ENGINE_BUFFER_TRUE@evas_engine.c \
433@BUILD_ENGINE_BUFFER_TRUE@evas_outbuf.c 432@BUILD_ENGINE_BUFFER_TRUE@evas_outbuf.c
diff --git a/libraries/evas/src/modules/engines/buffer/evas_engine.c b/libraries/evas/src/modules/engines/buffer/evas_engine.c
index e8dff7a..758ef10 100644
--- a/libraries/evas/src/modules/engines/buffer/evas_engine.c
+++ b/libraries/evas/src/modules/engines/buffer/evas_engine.c
@@ -25,11 +25,12 @@ struct _Render_Engine
25 Outbuf *ob; 25 Outbuf *ob;
26 Tilebuf_Rect *rects; 26 Tilebuf_Rect *rects;
27 Eina_Inlist *cur_rect; 27 Eina_Inlist *cur_rect;
28 Eina_Inarray previous_rects;
28 int end : 1; 29 int end : 1;
29}; 30};
30 31
31/* prototypes we will use here */ 32/* prototypes we will use here */
32static void *_output_setup(int w, int h, void *dest_buffer, int dest_buffer_row_bytes, int depth_type, int use_color_key, int alpha_threshold, int color_key_r, int color_key_g, int color_key_b, void *(*new_update_region) (int x, int y, int w, int h, int *row_bytes), void (*free_update_region) (int x, int y, int w, int h, void *data)); 33static void *_output_setup(int w, int h, void *dest_buffer, int dest_buffer_row_bytes, int depth_type, int use_color_key, int alpha_threshold, int color_key_r, int color_key_g, int color_key_b, void *(*new_update_region) (int x, int y, int w, int h, int *row_bytes), void (*free_update_region) (int x, int y, int w, int h, void *data), void *(*switch_buffer) (void *data, void *dest_buffer), void *switch_data);
33 34
34static void *eng_info(Evas *e __UNUSED__); 35static void *eng_info(Evas *e __UNUSED__);
35static void eng_info_free(Evas *e __UNUSED__, void *info); 36static void eng_info_free(Evas *e __UNUSED__, void *info);
@@ -58,7 +59,9 @@ _output_setup(int w,
58 int color_key_g, 59 int color_key_g,
59 int color_key_b, 60 int color_key_b,
60 void *(*new_update_region) (int x, int y, int w, int h, int *row_bytes), 61 void *(*new_update_region) (int x, int y, int w, int h, int *row_bytes),
61 void (*free_update_region) (int x, int y, int w, int h, void *data) 62 void (*free_update_region) (int x, int y, int w, int h, void *data),
63 void *(*switch_buffer) (void *data, void *dest_buffer),
64 void *switch_data
62 ) 65 )
63{ 66{
64 Render_Engine *re; 67 Render_Engine *re;
@@ -81,7 +84,7 @@ _output_setup(int w,
81 evas_common_tilebuf_init(); 84 evas_common_tilebuf_init();
82 85
83 evas_buffer_outbuf_buf_init(); 86 evas_buffer_outbuf_buf_init();
84 87
85 { 88 {
86 Outbuf_Depth dep; 89 Outbuf_Depth dep;
87 DATA32 color_key = 0; 90 DATA32 color_key = 0;
@@ -110,10 +113,13 @@ _output_setup(int w,
110 color_key, 113 color_key,
111 alpha_threshold, 114 alpha_threshold,
112 new_update_region, 115 new_update_region,
113 free_update_region); 116 free_update_region,
117 switch_buffer,
118 switch_data);
114 } 119 }
115 re->tb = evas_common_tilebuf_new(w, h); 120 re->tb = evas_common_tilebuf_new(w, h);
116 evas_common_tilebuf_set_tile_size(re->tb, TILESIZE, TILESIZE); 121 evas_common_tilebuf_set_tile_size(re->tb, TILESIZE, TILESIZE);
122 eina_inarray_setup(&re->previous_rects, sizeof (Eina_Rectangle), 8);
117 return re; 123 return re;
118} 124}
119 125
@@ -155,7 +161,9 @@ eng_setup(Evas *e, void *in)
155 info->info.color_key_g, 161 info->info.color_key_g,
156 info->info.color_key_b, 162 info->info.color_key_b,
157 info->info.func.new_update_region, 163 info->info.func.new_update_region,
158 info->info.func.free_update_region); 164 info->info.func.free_update_region,
165 info->info.func.switch_buffer,
166 info->info.switch_data);
159 if (e->engine.data.output) 167 if (e->engine.data.output)
160 eng_output_free(e->engine.data.output); 168 eng_output_free(e->engine.data.output);
161 e->engine.data.output = re; 169 e->engine.data.output = re;
@@ -195,6 +203,8 @@ eng_output_resize(void *data, int w, int h)
195 char use_color_key; 203 char use_color_key;
196 void * (*new_update_region) (int x, int y, int w, int h, int *row_bytes); 204 void * (*new_update_region) (int x, int y, int w, int h, int *row_bytes);
197 void (*free_update_region) (int x, int y, int w, int h, void *data); 205 void (*free_update_region) (int x, int y, int w, int h, void *data);
206 void * (*switch_buffer) (void *switch_data, void *dest);
207 void *switch_data;
198 208
199 depth = re->ob->depth; 209 depth = re->ob->depth;
200 dest = re->ob->dest; 210 dest = re->ob->dest;
@@ -204,6 +214,8 @@ eng_output_resize(void *data, int w, int h)
204 use_color_key = re->ob->use_color_key; 214 use_color_key = re->ob->use_color_key;
205 new_update_region = re->ob->func.new_update_region; 215 new_update_region = re->ob->func.new_update_region;
206 free_update_region = re->ob->func.free_update_region; 216 free_update_region = re->ob->func.free_update_region;
217 switch_buffer = re->ob->func.switch_buffer;
218 switch_data = re->ob->switch_data;
207 evas_buffer_outbuf_buf_free(re->ob); 219 evas_buffer_outbuf_buf_free(re->ob);
208 re->ob = evas_buffer_outbuf_buf_setup_fb(w, 220 re->ob = evas_buffer_outbuf_buf_setup_fb(w,
209 h, 221 h,
@@ -214,7 +226,9 @@ eng_output_resize(void *data, int w, int h)
214 color_key, 226 color_key,
215 alpha_level, 227 alpha_level,
216 new_update_region, 228 new_update_region,
217 free_update_region); 229 free_update_region,
230 switch_buffer,
231 switch_data);
218 } 232 }
219 evas_common_tilebuf_free(re->tb); 233 evas_common_tilebuf_free(re->tb);
220 re->tb = evas_common_tilebuf_new(w, h); 234 re->tb = evas_common_tilebuf_new(w, h);
@@ -275,6 +289,37 @@ eng_output_redraws_next_update_get(void *data, int *x, int *y, int *w, int *h, i
275 if (!re->rects) 289 if (!re->rects)
276 { 290 {
277 re->rects = evas_common_tilebuf_get_render_rects(re->tb); 291 re->rects = evas_common_tilebuf_get_render_rects(re->tb);
292
293 /* handle double buffering */
294 if (re->ob->func.switch_buffer)
295 {
296 Eina_Rectangle *pushing;
297
298 if (re->ob->first_frame && !re->previous_rects.len)
299 {
300 evas_common_tilebuf_add_redraw(re->tb, 0, 0, re->ob->w, re->ob->h);
301 re->ob->first_frame = 0;
302 }
303
304 /* push previous frame */
305 EINA_INARRAY_FOREACH(&re->previous_rects, pushing)
306 evas_common_tilebuf_add_redraw(re->tb, pushing->x, pushing->y, pushing->w, pushing->h);
307 eina_inarray_flush(&re->previous_rects);
308
309 /* save current list of damage */
310 EINA_INLIST_FOREACH(re->rects, rect)
311 {
312 Eina_Rectangle local;
313
314 EINA_RECTANGLE_SET(&local, rect->x, rect->y, rect->w, rect->h);
315 eina_inarray_append(&re->previous_rects, &local);
316 }
317
318 /* and regenerate the damage list by tacking into account the damage over two frames */
319 evas_common_tilebuf_free_render_rects(re->rects);
320 re->rects = evas_common_tilebuf_get_render_rects(re->tb);
321 }
322
278 re->cur_rect = EINA_INLIST_GET(re->rects); 323 re->cur_rect = EINA_INLIST_GET(re->rects);
279 } 324 }
280 if (!re->cur_rect) return NULL; 325 if (!re->cur_rect) return NULL;
@@ -306,7 +351,7 @@ eng_output_redraws_next_update_push(void *data, void *surface, int x, int y, int
306 re = (Render_Engine *)data; 351 re = (Render_Engine *)data;
307#ifdef BUILD_PIPE_RENDER 352#ifdef BUILD_PIPE_RENDER
308 evas_common_pipe_map_begin(surface); 353 evas_common_pipe_map_begin(surface);
309#endif 354#endif
310 evas_buffer_outbuf_buf_push_updated_region(re->ob, surface, x, y, w, h); 355 evas_buffer_outbuf_buf_push_updated_region(re->ob, surface, x, y, w, h);
311 evas_buffer_outbuf_buf_free_region_for_update(re->ob, surface); 356 evas_buffer_outbuf_buf_free_region_for_update(re->ob, surface);
312 evas_common_cpu_end_opt(); 357 evas_common_cpu_end_opt();
@@ -315,17 +360,13 @@ eng_output_redraws_next_update_push(void *data, void *surface, int x, int y, int
315static void 360static void
316eng_output_flush(void *data) 361eng_output_flush(void *data)
317{ 362{
318 Render_Engine *re; 363 Render_Engine *re = (Render_Engine *)data;
319 364 evas_buffer_outbuf_buf_switch_buffer(re->ob);
320 re = (Render_Engine *)data;
321} 365}
322 366
323static void 367static void
324eng_output_idle_flush(void *data) 368eng_output_idle_flush(void *data __UNUSED__)
325{ 369{
326 Render_Engine *re;
327
328 re = (Render_Engine *)data;
329} 370}
330 371
331static Eina_Bool 372static Eina_Bool
diff --git a/libraries/evas/src/modules/engines/buffer/evas_engine.h b/libraries/evas/src/modules/engines/buffer/evas_engine.h
index 21c988c..af82477 100644
--- a/libraries/evas/src/modules/engines/buffer/evas_engine.h
+++ b/libraries/evas/src/modules/engines/buffer/evas_engine.h
@@ -52,14 +52,17 @@ struct _Outbuf
52 52
53 void *dest; 53 void *dest;
54 unsigned int dest_row_bytes; 54 unsigned int dest_row_bytes;
55 void *switch_data;
55 56
56 int alpha_level; 57 int alpha_level;
57 DATA32 color_key; 58 DATA32 color_key;
58 char use_color_key : 1; 59 char use_color_key : 1;
60 char first_frame : 1;
59 61
60 struct { 62 struct {
61 void * (*new_update_region) (int x, int y, int w, int h, int *row_bytes); 63 void * (*new_update_region) (int x, int y, int w, int h, int *row_bytes);
62 void (*free_update_region) (int x, int y, int w, int h, void *data); 64 void (*free_update_region) (int x, int y, int w, int h, void *data);
65 void * (*switch_buffer) (void *data, void *dest_buffer);
63 } func; 66 } func;
64 67
65 struct { 68 struct {
@@ -74,12 +77,15 @@ void evas_buffer_outbuf_buf_free (Outbuf *buf);
74 77
75Outbuf *evas_buffer_outbuf_buf_setup_fb (int w, int h, Outbuf_Depth depth, void *dest, int dest_row_bytes, int use_color_key, DATA32 color_key, int alpha_level, 78Outbuf *evas_buffer_outbuf_buf_setup_fb (int w, int h, Outbuf_Depth depth, void *dest, int dest_row_bytes, int use_color_key, DATA32 color_key, int alpha_level,
76 void * (*new_update_region) (int x, int y, int w, int h, int *row_bytes), 79 void * (*new_update_region) (int x, int y, int w, int h, int *row_bytes),
77 void (*free_update_region) (int x, int y, int w, int h, void *data)); 80 void (*free_update_region) (int x, int y, int w, int h, void *data),
81 void * (*switch_buffer)(void *switch_data, void *dest),
82 void *switch_data);
78 83
79 84
80RGBA_Image *evas_buffer_outbuf_buf_new_region_for_update (Outbuf *buf, int x, int y, int w, int h, int *cx, int *cy, int *cw, int *ch); 85RGBA_Image *evas_buffer_outbuf_buf_new_region_for_update (Outbuf *buf, int x, int y, int w, int h, int *cx, int *cy, int *cw, int *ch);
81void evas_buffer_outbuf_buf_free_region_for_update (Outbuf *buf, RGBA_Image *update); 86void evas_buffer_outbuf_buf_free_region_for_update (Outbuf *buf, RGBA_Image *update);
82void evas_buffer_outbuf_buf_push_updated_region (Outbuf *buf, RGBA_Image *update, int x, int y, int w, int h); 87void evas_buffer_outbuf_buf_push_updated_region (Outbuf *buf, RGBA_Image *update, int x, int y, int w, int h);
88void evas_buffer_outbuf_buf_switch_buffer (Outbuf *buf);
83 89
84#endif 90#endif
85 91
diff --git a/libraries/evas/src/modules/engines/buffer/evas_outbuf.c b/libraries/evas/src/modules/engines/buffer/evas_outbuf.c
index 27f7a2c..0fa1842 100644
--- a/libraries/evas/src/modules/engines/buffer/evas_outbuf.c
+++ b/libraries/evas/src/modules/engines/buffer/evas_outbuf.c
@@ -19,11 +19,12 @@ evas_buffer_outbuf_buf_free(Outbuf *buf)
19Outbuf * 19Outbuf *
20evas_buffer_outbuf_buf_setup_fb(int w, int h, Outbuf_Depth depth, void *dest, int dest_row_bytes, int use_color_key, DATA32 color_key, int alpha_level, 20evas_buffer_outbuf_buf_setup_fb(int w, int h, Outbuf_Depth depth, void *dest, int dest_row_bytes, int use_color_key, DATA32 color_key, int alpha_level,
21 void * (*new_update_region) (int x, int y, int w, int h, int *row_bytes), 21 void * (*new_update_region) (int x, int y, int w, int h, int *row_bytes),
22 void (*free_update_region) (int x, int y, int w, int h, void *data) 22 void (*free_update_region) (int x, int y, int w, int h, void *data),
23 void * (*switch_buffer) (void *data, void *dest_buffer),
24 void *switch_data
23 ) 25 )
24{ 26{
25 Outbuf *buf; 27 Outbuf *buf;
26 int bpp;
27 28
28 buf = calloc(1, sizeof(Outbuf)); 29 buf = calloc(1, sizeof(Outbuf));
29 if (!buf) return NULL; 30 if (!buf) return NULL;
@@ -38,14 +39,12 @@ evas_buffer_outbuf_buf_setup_fb(int w, int h, Outbuf_Depth depth, void *dest, in
38 buf->alpha_level = alpha_level; 39 buf->alpha_level = alpha_level;
39 buf->color_key = color_key; 40 buf->color_key = color_key;
40 buf->use_color_key = use_color_key; 41 buf->use_color_key = use_color_key;
42 buf->first_frame = 1;
41 43
42 buf->func.new_update_region = new_update_region; 44 buf->func.new_update_region = new_update_region;
43 buf->func.free_update_region = free_update_region; 45 buf->func.free_update_region = free_update_region;
44 46 buf->func.switch_buffer = switch_buffer;
45 bpp = sizeof(DATA32); 47 buf->switch_data = switch_data;
46 if ((buf->depth == OUTBUF_DEPTH_RGB_24BPP_888_888) ||
47 (buf->depth == OUTBUF_DEPTH_BGR_24BPP_888_888))
48 bpp = 3;
49 48
50 if ((buf->depth == OUTBUF_DEPTH_ARGB_32BPP_8888_8888) && 49 if ((buf->depth == OUTBUF_DEPTH_ARGB_32BPP_8888_8888) &&
51 (buf->dest) && (buf->dest_row_bytes == (buf->w * sizeof(DATA32)))) 50 (buf->dest) && (buf->dest_row_bytes == (buf->w * sizeof(DATA32))))
@@ -102,6 +101,24 @@ evas_buffer_outbuf_buf_free_region_for_update(Outbuf *buf, RGBA_Image *update)
102} 101}
103 102
104void 103void
104evas_buffer_outbuf_buf_switch_buffer(Outbuf *buf)
105{
106 if (buf->func.switch_buffer)
107 {
108 buf->dest = buf->func.switch_buffer(buf->switch_data, buf->dest);
109 if (buf->priv.back_buf)
110 {
111 evas_cache_image_drop(&buf->priv.back_buf->cache_entry);
112 buf->priv.back_buf = (RGBA_Image *) evas_cache_image_data(evas_common_image_cache_get(),
113 buf->w, buf->h,
114 buf->dest,
115 buf->depth == OUTBUF_DEPTH_ARGB_32BPP_8888_8888 ? 1 : 0,
116 EVAS_COLORSPACE_ARGB8888);
117 }
118 }
119}
120
121void
105evas_buffer_outbuf_buf_push_updated_region(Outbuf *buf, RGBA_Image *update, int x, int y, int w, int h) 122evas_buffer_outbuf_buf_push_updated_region(Outbuf *buf, RGBA_Image *update, int x, int y, int w, int h)
106{ 123{
107 /* copy update image to out buf & convert */ 124 /* copy update image to out buf & convert */
diff --git a/libraries/evas/src/modules/engines/direct3d/Makefile.in b/libraries/evas/src/modules/engines/direct3d/Makefile.in
index 85baff8..fe979a8 100644
--- a/libraries/evas/src/modules/engines/direct3d/Makefile.in
+++ b/libraries/evas/src/modules/engines/direct3d/Makefile.in
@@ -243,6 +243,8 @@ EVAS_SSE3_CFLAGS = @EVAS_SSE3_CFLAGS@
243EVIL_CFLAGS = @EVIL_CFLAGS@ 243EVIL_CFLAGS = @EVIL_CFLAGS@
244EVIL_LIBS = @EVIL_LIBS@ 244EVIL_LIBS = @EVIL_LIBS@
245EXEEXT = @EXEEXT@ 245EXEEXT = @EXEEXT@
246EXOTIC_CFLAGS = @EXOTIC_CFLAGS@
247EXOTIC_LIBS = @EXOTIC_LIBS@
246FGREP = @FGREP@ 248FGREP = @FGREP@
247FONTCONFIG_CFLAGS = @FONTCONFIG_CFLAGS@ 249FONTCONFIG_CFLAGS = @FONTCONFIG_CFLAGS@
248FONTCONFIG_LIBS = @FONTCONFIG_LIBS@ 250FONTCONFIG_LIBS = @FONTCONFIG_LIBS@
@@ -293,6 +295,8 @@ PATH_SEPARATOR = @PATH_SEPARATOR@
293PIXMAN_CFLAGS = @PIXMAN_CFLAGS@ 295PIXMAN_CFLAGS = @PIXMAN_CFLAGS@
294PIXMAN_LIBS = @PIXMAN_LIBS@ 296PIXMAN_LIBS = @PIXMAN_LIBS@
295PKG_CONFIG = @PKG_CONFIG@ 297PKG_CONFIG = @PKG_CONFIG@
298PKG_CONFIG_LIBDIR = @PKG_CONFIG_LIBDIR@
299PKG_CONFIG_PATH = @PKG_CONFIG_PATH@
296PNG_CFLAGS = @PNG_CFLAGS@ 300PNG_CFLAGS = @PNG_CFLAGS@
297PNG_LIBS = @PNG_LIBS@ 301PNG_LIBS = @PNG_LIBS@
298RANLIB = @RANLIB@ 302RANLIB = @RANLIB@
@@ -311,8 +315,6 @@ VERSION = @VERSION@
311VMAJ = @VMAJ@ 315VMAJ = @VMAJ@
312WAYLAND_EGL_CFLAGS = @WAYLAND_EGL_CFLAGS@ 316WAYLAND_EGL_CFLAGS = @WAYLAND_EGL_CFLAGS@
313WAYLAND_EGL_LIBS = @WAYLAND_EGL_LIBS@ 317WAYLAND_EGL_LIBS = @WAYLAND_EGL_LIBS@
314WIN32_CFLAGS = @WIN32_CFLAGS@
315WIN32_CPPFLAGS = @WIN32_CPPFLAGS@
316XCB_CFLAGS = @XCB_CFLAGS@ 318XCB_CFLAGS = @XCB_CFLAGS@
317XCB_GL_CFLAGS = @XCB_GL_CFLAGS@ 319XCB_GL_CFLAGS = @XCB_GL_CFLAGS@
318XCB_GL_LIBS = @XCB_GL_LIBS@ 320XCB_GL_LIBS = @XCB_GL_LIBS@
@@ -386,8 +388,6 @@ evas_engine_software_ddraw_cflags = @evas_engine_software_ddraw_cflags@
386evas_engine_software_ddraw_libs = @evas_engine_software_ddraw_libs@ 388evas_engine_software_ddraw_libs = @evas_engine_software_ddraw_libs@
387evas_engine_software_gdi_cflags = @evas_engine_software_gdi_cflags@ 389evas_engine_software_gdi_cflags = @evas_engine_software_gdi_cflags@
388evas_engine_software_gdi_libs = @evas_engine_software_gdi_libs@ 390evas_engine_software_gdi_libs = @evas_engine_software_gdi_libs@
389evas_engine_software_sdl_cflags = @evas_engine_software_sdl_cflags@
390evas_engine_software_sdl_libs = @evas_engine_software_sdl_libs@
391evas_engine_software_xcb_cflags = @evas_engine_software_xcb_cflags@ 391evas_engine_software_xcb_cflags = @evas_engine_software_xcb_cflags@
392evas_engine_software_xcb_libs = @evas_engine_software_xcb_libs@ 392evas_engine_software_xcb_libs = @evas_engine_software_xcb_libs@
393evas_engine_software_xlib_cflags = @evas_engine_software_xlib_cflags@ 393evas_engine_software_xlib_cflags = @evas_engine_software_xlib_cflags@
diff --git a/libraries/evas/src/modules/engines/directfb/Makefile.am b/libraries/evas/src/modules/engines/directfb/Makefile.am
index 5b00166..967e594 100644
--- a/libraries/evas/src/modules/engines/directfb/Makefile.am
+++ b/libraries/evas/src/modules/engines/directfb/Makefile.am
@@ -11,8 +11,6 @@ AM_CPPFLAGS = \
11@EINA_CFLAGS@ \ 11@EINA_CFLAGS@ \
12@evas_engine_directfb_cflags@ 12@evas_engine_directfb_cflags@
13 13
14AM_CFLAGS = @WIN32_CFLAGS@
15
16if BUILD_ENGINE_DIRECTFB 14if BUILD_ENGINE_DIRECTFB
17 15
18DIRECTFB_SOURCES = evas_engine.c polygon.c 16DIRECTFB_SOURCES = evas_engine.c polygon.c
diff --git a/libraries/evas/src/modules/engines/directfb/Makefile.in b/libraries/evas/src/modules/engines/directfb/Makefile.in
index df2f63b..7d642c9 100644
--- a/libraries/evas/src/modules/engines/directfb/Makefile.in
+++ b/libraries/evas/src/modules/engines/directfb/Makefile.in
@@ -190,6 +190,8 @@ EVAS_SSE3_CFLAGS = @EVAS_SSE3_CFLAGS@
190EVIL_CFLAGS = @EVIL_CFLAGS@ 190EVIL_CFLAGS = @EVIL_CFLAGS@
191EVIL_LIBS = @EVIL_LIBS@ 191EVIL_LIBS = @EVIL_LIBS@
192EXEEXT = @EXEEXT@ 192EXEEXT = @EXEEXT@
193EXOTIC_CFLAGS = @EXOTIC_CFLAGS@
194EXOTIC_LIBS = @EXOTIC_LIBS@
193FGREP = @FGREP@ 195FGREP = @FGREP@
194FONTCONFIG_CFLAGS = @FONTCONFIG_CFLAGS@ 196FONTCONFIG_CFLAGS = @FONTCONFIG_CFLAGS@
195FONTCONFIG_LIBS = @FONTCONFIG_LIBS@ 197FONTCONFIG_LIBS = @FONTCONFIG_LIBS@
@@ -240,6 +242,8 @@ PATH_SEPARATOR = @PATH_SEPARATOR@
240PIXMAN_CFLAGS = @PIXMAN_CFLAGS@ 242PIXMAN_CFLAGS = @PIXMAN_CFLAGS@
241PIXMAN_LIBS = @PIXMAN_LIBS@ 243PIXMAN_LIBS = @PIXMAN_LIBS@
242PKG_CONFIG = @PKG_CONFIG@ 244PKG_CONFIG = @PKG_CONFIG@
245PKG_CONFIG_LIBDIR = @PKG_CONFIG_LIBDIR@
246PKG_CONFIG_PATH = @PKG_CONFIG_PATH@
243PNG_CFLAGS = @PNG_CFLAGS@ 247PNG_CFLAGS = @PNG_CFLAGS@
244PNG_LIBS = @PNG_LIBS@ 248PNG_LIBS = @PNG_LIBS@
245RANLIB = @RANLIB@ 249RANLIB = @RANLIB@
@@ -258,8 +262,6 @@ VERSION = @VERSION@
258VMAJ = @VMAJ@ 262VMAJ = @VMAJ@
259WAYLAND_EGL_CFLAGS = @WAYLAND_EGL_CFLAGS@ 263WAYLAND_EGL_CFLAGS = @WAYLAND_EGL_CFLAGS@
260WAYLAND_EGL_LIBS = @WAYLAND_EGL_LIBS@ 264WAYLAND_EGL_LIBS = @WAYLAND_EGL_LIBS@
261WIN32_CFLAGS = @WIN32_CFLAGS@
262WIN32_CPPFLAGS = @WIN32_CPPFLAGS@
263XCB_CFLAGS = @XCB_CFLAGS@ 265XCB_CFLAGS = @XCB_CFLAGS@
264XCB_GL_CFLAGS = @XCB_GL_CFLAGS@ 266XCB_GL_CFLAGS = @XCB_GL_CFLAGS@
265XCB_GL_LIBS = @XCB_GL_LIBS@ 267XCB_GL_LIBS = @XCB_GL_LIBS@
@@ -333,8 +335,6 @@ evas_engine_software_ddraw_cflags = @evas_engine_software_ddraw_cflags@
333evas_engine_software_ddraw_libs = @evas_engine_software_ddraw_libs@ 335evas_engine_software_ddraw_libs = @evas_engine_software_ddraw_libs@
334evas_engine_software_gdi_cflags = @evas_engine_software_gdi_cflags@ 336evas_engine_software_gdi_cflags = @evas_engine_software_gdi_cflags@
335evas_engine_software_gdi_libs = @evas_engine_software_gdi_libs@ 337evas_engine_software_gdi_libs = @evas_engine_software_gdi_libs@
336evas_engine_software_sdl_cflags = @evas_engine_software_sdl_cflags@
337evas_engine_software_sdl_libs = @evas_engine_software_sdl_libs@
338evas_engine_software_xcb_cflags = @evas_engine_software_xcb_cflags@ 338evas_engine_software_xcb_cflags = @evas_engine_software_xcb_cflags@
339evas_engine_software_xcb_libs = @evas_engine_software_xcb_libs@ 339evas_engine_software_xcb_libs = @evas_engine_software_xcb_libs@
340evas_engine_software_xlib_cflags = @evas_engine_software_xlib_cflags@ 340evas_engine_software_xlib_cflags = @evas_engine_software_xlib_cflags@
@@ -428,7 +428,6 @@ AM_CPPFLAGS = \
428@EINA_CFLAGS@ \ 428@EINA_CFLAGS@ \
429@evas_engine_directfb_cflags@ 429@evas_engine_directfb_cflags@
430 430
431AM_CFLAGS = @WIN32_CFLAGS@
432@BUILD_ENGINE_DIRECTFB_TRUE@DIRECTFB_SOURCES = evas_engine.c polygon.c 431@BUILD_ENGINE_DIRECTFB_TRUE@DIRECTFB_SOURCES = evas_engine.c polygon.c
433@BUILD_ENGINE_DIRECTFB_TRUE@DIRECTFB_LIBADD = @evas_engine_directfb_libs@ 432@BUILD_ENGINE_DIRECTFB_TRUE@DIRECTFB_LIBADD = @evas_engine_directfb_libs@
434@BUILD_ENGINE_DIRECTFB_TRUE@includes_HEADERS = Evas_Engine_DirectFB.h 433@BUILD_ENGINE_DIRECTFB_TRUE@includes_HEADERS = Evas_Engine_DirectFB.h
diff --git a/libraries/evas/src/modules/engines/directfb/evas_engine.c b/libraries/evas/src/modules/engines/directfb/evas_engine.c
index 17914ab..5347d2d 100644
--- a/libraries/evas/src/modules/engines/directfb/evas_engine.c
+++ b/libraries/evas/src/modules/engines/directfb/evas_engine.c
@@ -1138,7 +1138,8 @@ evas_engine_dfb_rectangle_draw(void *data, void *context, void *surface, int x,
1138static void 1138static void
1139evas_engine_dfb_polygon_draw(void *data __UNUSED__, void *context, void *surface, void *polygon, int x, int y) 1139evas_engine_dfb_polygon_draw(void *data __UNUSED__, void *context, void *surface, void *polygon, int x, int y)
1140{ 1140{
1141 _dfb_polygon_draw(surface, context, polygon, x, y); 1141 DirectFB_Engine_Image_Entry *eim = surface;
1142 _dfb_polygon_draw(eim->surface, context, polygon, x, y);
1142} 1143}
1143#else 1144#else
1144static void 1145static void
diff --git a/libraries/evas/src/modules/engines/fb/Makefile.in b/libraries/evas/src/modules/engines/fb/Makefile.in
index 1e82b34..31d222a 100644
--- a/libraries/evas/src/modules/engines/fb/Makefile.in
+++ b/libraries/evas/src/modules/engines/fb/Makefile.in
@@ -194,6 +194,8 @@ EVAS_SSE3_CFLAGS = @EVAS_SSE3_CFLAGS@
194EVIL_CFLAGS = @EVIL_CFLAGS@ 194EVIL_CFLAGS = @EVIL_CFLAGS@
195EVIL_LIBS = @EVIL_LIBS@ 195EVIL_LIBS = @EVIL_LIBS@
196EXEEXT = @EXEEXT@ 196EXEEXT = @EXEEXT@
197EXOTIC_CFLAGS = @EXOTIC_CFLAGS@
198EXOTIC_LIBS = @EXOTIC_LIBS@
197FGREP = @FGREP@ 199FGREP = @FGREP@
198FONTCONFIG_CFLAGS = @FONTCONFIG_CFLAGS@ 200FONTCONFIG_CFLAGS = @FONTCONFIG_CFLAGS@
199FONTCONFIG_LIBS = @FONTCONFIG_LIBS@ 201FONTCONFIG_LIBS = @FONTCONFIG_LIBS@
@@ -244,6 +246,8 @@ PATH_SEPARATOR = @PATH_SEPARATOR@
244PIXMAN_CFLAGS = @PIXMAN_CFLAGS@ 246PIXMAN_CFLAGS = @PIXMAN_CFLAGS@
245PIXMAN_LIBS = @PIXMAN_LIBS@ 247PIXMAN_LIBS = @PIXMAN_LIBS@
246PKG_CONFIG = @PKG_CONFIG@ 248PKG_CONFIG = @PKG_CONFIG@
249PKG_CONFIG_LIBDIR = @PKG_CONFIG_LIBDIR@
250PKG_CONFIG_PATH = @PKG_CONFIG_PATH@
247PNG_CFLAGS = @PNG_CFLAGS@ 251PNG_CFLAGS = @PNG_CFLAGS@
248PNG_LIBS = @PNG_LIBS@ 252PNG_LIBS = @PNG_LIBS@
249RANLIB = @RANLIB@ 253RANLIB = @RANLIB@
@@ -262,8 +266,6 @@ VERSION = @VERSION@
262VMAJ = @VMAJ@ 266VMAJ = @VMAJ@
263WAYLAND_EGL_CFLAGS = @WAYLAND_EGL_CFLAGS@ 267WAYLAND_EGL_CFLAGS = @WAYLAND_EGL_CFLAGS@
264WAYLAND_EGL_LIBS = @WAYLAND_EGL_LIBS@ 268WAYLAND_EGL_LIBS = @WAYLAND_EGL_LIBS@
265WIN32_CFLAGS = @WIN32_CFLAGS@
266WIN32_CPPFLAGS = @WIN32_CPPFLAGS@
267XCB_CFLAGS = @XCB_CFLAGS@ 269XCB_CFLAGS = @XCB_CFLAGS@
268XCB_GL_CFLAGS = @XCB_GL_CFLAGS@ 270XCB_GL_CFLAGS = @XCB_GL_CFLAGS@
269XCB_GL_LIBS = @XCB_GL_LIBS@ 271XCB_GL_LIBS = @XCB_GL_LIBS@
@@ -337,8 +339,6 @@ evas_engine_software_ddraw_cflags = @evas_engine_software_ddraw_cflags@
337evas_engine_software_ddraw_libs = @evas_engine_software_ddraw_libs@ 339evas_engine_software_ddraw_libs = @evas_engine_software_ddraw_libs@
338evas_engine_software_gdi_cflags = @evas_engine_software_gdi_cflags@ 340evas_engine_software_gdi_cflags = @evas_engine_software_gdi_cflags@
339evas_engine_software_gdi_libs = @evas_engine_software_gdi_libs@ 341evas_engine_software_gdi_libs = @evas_engine_software_gdi_libs@
340evas_engine_software_sdl_cflags = @evas_engine_software_sdl_cflags@
341evas_engine_software_sdl_libs = @evas_engine_software_sdl_libs@
342evas_engine_software_xcb_cflags = @evas_engine_software_xcb_cflags@ 342evas_engine_software_xcb_cflags = @evas_engine_software_xcb_cflags@
343evas_engine_software_xcb_libs = @evas_engine_software_xcb_libs@ 343evas_engine_software_xcb_libs = @evas_engine_software_xcb_libs@
344evas_engine_software_xlib_cflags = @evas_engine_software_xlib_cflags@ 344evas_engine_software_xlib_cflags = @evas_engine_software_xlib_cflags@
diff --git a/libraries/evas/src/modules/engines/fb/evas_engine.c b/libraries/evas/src/modules/engines/fb/evas_engine.c
index 7681b00..e15c02b 100644
--- a/libraries/evas/src/modules/engines/fb/evas_engine.c
+++ b/libraries/evas/src/modules/engines/fb/evas_engine.c
@@ -74,7 +74,7 @@ _output_setup(int w, int h, int rot, int vt, int dev, int refresh)
74 74
75/* engine api this module provides */ 75/* engine api this module provides */
76static void * 76static void *
77eng_info(Evas *e) 77eng_info(Evas *e __UNUSED__)
78{ 78{
79 Evas_Engine_Info_FB *info; 79 Evas_Engine_Info_FB *info;
80 info = calloc(1, sizeof(Evas_Engine_Info_FB)); 80 info = calloc(1, sizeof(Evas_Engine_Info_FB));
@@ -82,7 +82,6 @@ eng_info(Evas *e)
82 info->magic.magic = rand(); 82 info->magic.magic = rand();
83 info->render_mode = EVAS_RENDER_MODE_BLOCKING; 83 info->render_mode = EVAS_RENDER_MODE_BLOCKING;
84 return info; 84 return info;
85 e = NULL;
86} 85}
87 86
88static void 87static void
@@ -231,19 +230,13 @@ eng_output_redraws_next_update_push(void *data, void *surface, int x, int y, int
231} 230}
232 231
233static void 232static void
234eng_output_flush(void *data) 233eng_output_flush(void *data __UNUSED__)
235{ 234{
236 Render_Engine *re;
237
238 re = (Render_Engine *)data;
239} 235}
240 236
241static void 237static void
242eng_output_idle_flush(void *data) 238eng_output_idle_flush(void *data __UNUSED__)
243{ 239{
244 Render_Engine *re;
245
246 re = (Render_Engine *)data;
247} 240}
248 241
249static Eina_Bool 242static Eina_Bool
diff --git a/libraries/evas/src/modules/engines/fb/evas_outbuf.c b/libraries/evas/src/modules/engines/fb/evas_outbuf.c
index 57cf7a6..7ae24c5 100644
--- a/libraries/evas/src/modules/engines/fb/evas_outbuf.c
+++ b/libraries/evas/src/modules/engines/fb/evas_outbuf.c
@@ -25,7 +25,7 @@ evas_fb_outbuf_fb_setup_fb(int w, int h, int rot, Outbuf_Depth depth, int vt_no,
25 /* setup window and/or fb */ 25 /* setup window and/or fb */
26 /* if (dithered) create backbuf */ 26 /* if (dithered) create backbuf */
27 Outbuf *buf; 27 Outbuf *buf;
28 int fb_fd = -1; 28 int fb_fd;
29 int fb_depth; 29 int fb_depth;
30 30
31 fb_depth = -1; 31 fb_depth = -1;
@@ -51,6 +51,11 @@ evas_fb_outbuf_fb_setup_fb(int w, int h, int rot, Outbuf_Depth depth, int vt_no,
51 return NULL; 51 return NULL;
52 } 52 }
53 fb_fd = fb_postinit(buf->priv.fb.fb); 53 fb_fd = fb_postinit(buf->priv.fb.fb);
54 if (fb_fd < 1)
55 {
56 free(buf);
57 return NULL;
58 }
54 59
55 if (rot == 0 || rot == 180) 60 if (rot == 0 || rot == 180)
56 { 61 {
diff --git a/libraries/evas/src/modules/engines/gl_cocoa/Makefile.in b/libraries/evas/src/modules/engines/gl_cocoa/Makefile.in
index 6e616f4..049acb2 100644
--- a/libraries/evas/src/modules/engines/gl_cocoa/Makefile.in
+++ b/libraries/evas/src/modules/engines/gl_cocoa/Makefile.in
@@ -208,6 +208,8 @@ EVAS_SSE3_CFLAGS = @EVAS_SSE3_CFLAGS@
208EVIL_CFLAGS = @EVIL_CFLAGS@ 208EVIL_CFLAGS = @EVIL_CFLAGS@
209EVIL_LIBS = @EVIL_LIBS@ 209EVIL_LIBS = @EVIL_LIBS@
210EXEEXT = @EXEEXT@ 210EXEEXT = @EXEEXT@
211EXOTIC_CFLAGS = @EXOTIC_CFLAGS@
212EXOTIC_LIBS = @EXOTIC_LIBS@
211FGREP = @FGREP@ 213FGREP = @FGREP@
212FONTCONFIG_CFLAGS = @FONTCONFIG_CFLAGS@ 214FONTCONFIG_CFLAGS = @FONTCONFIG_CFLAGS@
213FONTCONFIG_LIBS = @FONTCONFIG_LIBS@ 215FONTCONFIG_LIBS = @FONTCONFIG_LIBS@
@@ -258,6 +260,8 @@ PATH_SEPARATOR = @PATH_SEPARATOR@
258PIXMAN_CFLAGS = @PIXMAN_CFLAGS@ 260PIXMAN_CFLAGS = @PIXMAN_CFLAGS@
259PIXMAN_LIBS = @PIXMAN_LIBS@ 261PIXMAN_LIBS = @PIXMAN_LIBS@
260PKG_CONFIG = @PKG_CONFIG@ 262PKG_CONFIG = @PKG_CONFIG@
263PKG_CONFIG_LIBDIR = @PKG_CONFIG_LIBDIR@
264PKG_CONFIG_PATH = @PKG_CONFIG_PATH@
261PNG_CFLAGS = @PNG_CFLAGS@ 265PNG_CFLAGS = @PNG_CFLAGS@
262PNG_LIBS = @PNG_LIBS@ 266PNG_LIBS = @PNG_LIBS@
263RANLIB = @RANLIB@ 267RANLIB = @RANLIB@
@@ -276,8 +280,6 @@ VERSION = @VERSION@
276VMAJ = @VMAJ@ 280VMAJ = @VMAJ@
277WAYLAND_EGL_CFLAGS = @WAYLAND_EGL_CFLAGS@ 281WAYLAND_EGL_CFLAGS = @WAYLAND_EGL_CFLAGS@
278WAYLAND_EGL_LIBS = @WAYLAND_EGL_LIBS@ 282WAYLAND_EGL_LIBS = @WAYLAND_EGL_LIBS@
279WIN32_CFLAGS = @WIN32_CFLAGS@
280WIN32_CPPFLAGS = @WIN32_CPPFLAGS@
281XCB_CFLAGS = @XCB_CFLAGS@ 283XCB_CFLAGS = @XCB_CFLAGS@
282XCB_GL_CFLAGS = @XCB_GL_CFLAGS@ 284XCB_GL_CFLAGS = @XCB_GL_CFLAGS@
283XCB_GL_LIBS = @XCB_GL_LIBS@ 285XCB_GL_LIBS = @XCB_GL_LIBS@
@@ -351,8 +353,6 @@ evas_engine_software_ddraw_cflags = @evas_engine_software_ddraw_cflags@
351evas_engine_software_ddraw_libs = @evas_engine_software_ddraw_libs@ 353evas_engine_software_ddraw_libs = @evas_engine_software_ddraw_libs@
352evas_engine_software_gdi_cflags = @evas_engine_software_gdi_cflags@ 354evas_engine_software_gdi_cflags = @evas_engine_software_gdi_cflags@
353evas_engine_software_gdi_libs = @evas_engine_software_gdi_libs@ 355evas_engine_software_gdi_libs = @evas_engine_software_gdi_libs@
354evas_engine_software_sdl_cflags = @evas_engine_software_sdl_cflags@
355evas_engine_software_sdl_libs = @evas_engine_software_sdl_libs@
356evas_engine_software_xcb_cflags = @evas_engine_software_xcb_cflags@ 356evas_engine_software_xcb_cflags = @evas_engine_software_xcb_cflags@
357evas_engine_software_xcb_libs = @evas_engine_software_xcb_libs@ 357evas_engine_software_xcb_libs = @evas_engine_software_xcb_libs@
358evas_engine_software_xlib_cflags = @evas_engine_software_xlib_cflags@ 358evas_engine_software_xlib_cflags = @evas_engine_software_xlib_cflags@
diff --git a/libraries/evas/src/modules/engines/gl_common/Makefile.in b/libraries/evas/src/modules/engines/gl_common/Makefile.in
index 27284f9..5a9a1ef 100644
--- a/libraries/evas/src/modules/engines/gl_common/Makefile.in
+++ b/libraries/evas/src/modules/engines/gl_common/Makefile.in
@@ -195,6 +195,8 @@ EVAS_SSE3_CFLAGS = @EVAS_SSE3_CFLAGS@
195EVIL_CFLAGS = @EVIL_CFLAGS@ 195EVIL_CFLAGS = @EVIL_CFLAGS@
196EVIL_LIBS = @EVIL_LIBS@ 196EVIL_LIBS = @EVIL_LIBS@
197EXEEXT = @EXEEXT@ 197EXEEXT = @EXEEXT@
198EXOTIC_CFLAGS = @EXOTIC_CFLAGS@
199EXOTIC_LIBS = @EXOTIC_LIBS@
198FGREP = @FGREP@ 200FGREP = @FGREP@
199FONTCONFIG_CFLAGS = @FONTCONFIG_CFLAGS@ 201FONTCONFIG_CFLAGS = @FONTCONFIG_CFLAGS@
200FONTCONFIG_LIBS = @FONTCONFIG_LIBS@ 202FONTCONFIG_LIBS = @FONTCONFIG_LIBS@
@@ -245,6 +247,8 @@ PATH_SEPARATOR = @PATH_SEPARATOR@
245PIXMAN_CFLAGS = @PIXMAN_CFLAGS@ 247PIXMAN_CFLAGS = @PIXMAN_CFLAGS@
246PIXMAN_LIBS = @PIXMAN_LIBS@ 248PIXMAN_LIBS = @PIXMAN_LIBS@
247PKG_CONFIG = @PKG_CONFIG@ 249PKG_CONFIG = @PKG_CONFIG@
250PKG_CONFIG_LIBDIR = @PKG_CONFIG_LIBDIR@
251PKG_CONFIG_PATH = @PKG_CONFIG_PATH@
248PNG_CFLAGS = @PNG_CFLAGS@ 252PNG_CFLAGS = @PNG_CFLAGS@
249PNG_LIBS = @PNG_LIBS@ 253PNG_LIBS = @PNG_LIBS@
250RANLIB = @RANLIB@ 254RANLIB = @RANLIB@
@@ -263,8 +267,6 @@ VERSION = @VERSION@
263VMAJ = @VMAJ@ 267VMAJ = @VMAJ@
264WAYLAND_EGL_CFLAGS = @WAYLAND_EGL_CFLAGS@ 268WAYLAND_EGL_CFLAGS = @WAYLAND_EGL_CFLAGS@
265WAYLAND_EGL_LIBS = @WAYLAND_EGL_LIBS@ 269WAYLAND_EGL_LIBS = @WAYLAND_EGL_LIBS@
266WIN32_CFLAGS = @WIN32_CFLAGS@
267WIN32_CPPFLAGS = @WIN32_CPPFLAGS@
268XCB_CFLAGS = @XCB_CFLAGS@ 270XCB_CFLAGS = @XCB_CFLAGS@
269XCB_GL_CFLAGS = @XCB_GL_CFLAGS@ 271XCB_GL_CFLAGS = @XCB_GL_CFLAGS@
270XCB_GL_LIBS = @XCB_GL_LIBS@ 272XCB_GL_LIBS = @XCB_GL_LIBS@
@@ -338,8 +340,6 @@ evas_engine_software_ddraw_cflags = @evas_engine_software_ddraw_cflags@
338evas_engine_software_ddraw_libs = @evas_engine_software_ddraw_libs@ 340evas_engine_software_ddraw_libs = @evas_engine_software_ddraw_libs@
339evas_engine_software_gdi_cflags = @evas_engine_software_gdi_cflags@ 341evas_engine_software_gdi_cflags = @evas_engine_software_gdi_cflags@
340evas_engine_software_gdi_libs = @evas_engine_software_gdi_libs@ 342evas_engine_software_gdi_libs = @evas_engine_software_gdi_libs@
341evas_engine_software_sdl_cflags = @evas_engine_software_sdl_cflags@
342evas_engine_software_sdl_libs = @evas_engine_software_sdl_libs@
343evas_engine_software_xcb_cflags = @evas_engine_software_xcb_cflags@ 343evas_engine_software_xcb_cflags = @evas_engine_software_xcb_cflags@
344evas_engine_software_xcb_libs = @evas_engine_software_xcb_libs@ 344evas_engine_software_xcb_libs = @evas_engine_software_xcb_libs@
345evas_engine_software_xlib_cflags = @evas_engine_software_xlib_cflags@ 345evas_engine_software_xlib_cflags = @evas_engine_software_xlib_cflags@
diff --git a/libraries/evas/src/modules/engines/gl_common/evas_gl_line.c b/libraries/evas/src/modules/engines/gl_common/evas_gl_line.c
index 48499ea..f8ace2e 100644
--- a/libraries/evas/src/modules/engines/gl_common/evas_gl_line.c
+++ b/libraries/evas/src/modules/engines/gl_common/evas_gl_line.c
@@ -17,7 +17,10 @@ evas_gl_common_line_draw(Evas_Engine_GL_Context *gc, int x1, int y1, int x2, int
17 } 17 }
18 else 18 else
19 { 19 {
20 r = g = b = a = 255; 20 a = (dc->col.col >> 24) & 0xff;
21 r = (dc->col.col >> 16) & 0xff;
22 g = (dc->col.col >> 8 ) & 0xff;
23 b = (dc->col.col ) & 0xff;
21 } 24 }
22 25
23 glFlush(); 26 glFlush();
diff --git a/libraries/evas/src/modules/engines/gl_common/shader/yuv_frag.h b/libraries/evas/src/modules/engines/gl_common/shader/yuv_frag.h
index de9acf8..87f4095 100644
--- a/libraries/evas/src/modules/engines/gl_common/shader/yuv_frag.h
+++ b/libraries/evas/src/modules/engines/gl_common/shader/yuv_frag.h
@@ -10,11 +10,15 @@
10"varying vec2 tex_c, tex_c2, tex_c3;\n" 10"varying vec2 tex_c, tex_c2, tex_c3;\n"
11"void main()\n" 11"void main()\n"
12"{\n" 12"{\n"
13" const mat4 yuv2rgb = mat4( 1.16400, 1.16400, 1.16400, 0.00000,\n" 13" float r, g, b, y, u, v;\n"
14" 0.00000, -0.34410, 1.77200, 0.00000,\n" 14" y = texture2D(tex, tex_c.xy).r;\n"
15" 1.40200, -0.71410, 0.00000, 0.00000,\n" 15" u = texture2D(texu, tex_c2.xy).r;\n"
16" -0.77380, 0.45630, -0.95880, 1.00000);\n" 16" v = texture2D(texv, tex_c3.xy).r;\n"
17" gl_FragColor = (yuv2rgb * vec4(texture2D(tex, tex_c.xy).r,\n" 17" y = (y - 0.0625) * 1.164;\n"
18" texture2D(texu, tex_c2.xy).r,\n" 18" u = u - 0.5;\n"
19" texture2D(texv, tex_c3.xy).r, 1.0)) * col;\n" 19" v = v - 0.5;\n"
20" r = y + (1.402 * v);\n"
21" g = y - (0.34414 * u) - (0.71414 * v);\n"
22" b = y + (1.772 * u);\n"
23" gl_FragColor = vec4(r, g, b, 1.0) * col;\n"
20"}\n" 24"}\n"
diff --git a/libraries/evas/src/modules/engines/gl_common/shader/yuv_frag.shd b/libraries/evas/src/modules/engines/gl_common/shader/yuv_frag.shd
index 8e55d14..367fb55 100644
--- a/libraries/evas/src/modules/engines/gl_common/shader/yuv_frag.shd
+++ b/libraries/evas/src/modules/engines/gl_common/shader/yuv_frag.shd
@@ -10,11 +10,15 @@ varying vec4 col;
10varying vec2 tex_c, tex_c2, tex_c3; 10varying vec2 tex_c, tex_c2, tex_c3;
11void main() 11void main()
12{ 12{
13 const mat4 yuv2rgb = mat4( 1.16400, 1.16400, 1.16400, 0.00000, 13 float r, g, b, y, u, v;
14 0.00000, -0.34410, 1.77200, 0.00000, 14 y = texture2D(tex, tex_c.xy).r;
15 1.40200, -0.71410, 0.00000, 0.00000, 15 u = texture2D(texu, tex_c2.xy).r;
16 -0.77380, 0.45630, -0.95880, 1.00000); 16 v = texture2D(texv, tex_c3.xy).r;
17 gl_FragColor = (yuv2rgb * vec4(texture2D(tex, tex_c.xy).r, 17 y = (y - 0.0625) * 1.164;
18 texture2D(texu, tex_c2.xy).r, 18 u = u - 0.5;
19 texture2D(texv, tex_c3.xy).r, 1.0)) * col; 19 v = v - 0.5;
20 r = y + (1.402 * v);
21 g = y - (0.34414 * u) - (0.71414 * v);
22 b = y + (1.772 * u);
23 gl_FragColor = vec4(r, g, b, 1.0) * col;
20} 24}
diff --git a/libraries/evas/src/modules/engines/gl_common/shader/yuv_nomul_frag.h b/libraries/evas/src/modules/engines/gl_common/shader/yuv_nomul_frag.h
index ee5855c..0df4b97 100644
--- a/libraries/evas/src/modules/engines/gl_common/shader/yuv_nomul_frag.h
+++ b/libraries/evas/src/modules/engines/gl_common/shader/yuv_nomul_frag.h
@@ -9,11 +9,15 @@
9"varying vec2 tex_c, tex_c2, tex_c3;\n" 9"varying vec2 tex_c, tex_c2, tex_c3;\n"
10"void main()\n" 10"void main()\n"
11"{\n" 11"{\n"
12" const mat4 yuv2rgb = mat4( 1.16400, 1.16400, 1.16400, 0.00000,\n" 12" float r, g, b, y, u, v;\n"
13" 0.00000, -0.34410, 1.77200, 0.00000,\n" 13" y = texture2D(tex, tex_c.xy).r;\n"
14" 1.40200, -0.71410, 0.00000, 0.00000,\n" 14" u = texture2D(texu, tex_c2.xy).r;\n"
15" -0.77380, 0.45630, -0.95880, 1.00000);\n" 15" v = texture2D(texv, tex_c3.xy).r;\n"
16" gl_FragColor = yuv2rgb * vec4(texture2D(tex, tex_c.xy).r,\n" 16" y = (y - 0.0625) * 1.164;\n"
17" texture2D(texu, tex_c2.xy).r,\n" 17" u = u - 0.5;\n"
18" texture2D(texv, tex_c3.xy).r, 1.0);\n" 18" v = v - 0.5;\n"
19" r = y + (1.402 * v);\n"
20" g = y - (0.34414 * u) - (0.71414 * v);\n"
21" b = y + (1.772 * u);\n"
22" gl_FragColor = vec4(r, g, b, 1.0);\n"
19"}\n" 23"}\n"
diff --git a/libraries/evas/src/modules/engines/gl_common/shader/yuv_nomul_frag.shd b/libraries/evas/src/modules/engines/gl_common/shader/yuv_nomul_frag.shd
index 3ec4311..ce24622 100644
--- a/libraries/evas/src/modules/engines/gl_common/shader/yuv_nomul_frag.shd
+++ b/libraries/evas/src/modules/engines/gl_common/shader/yuv_nomul_frag.shd
@@ -9,11 +9,15 @@ uniform sampler2D tex, texu, texv;
9varying vec2 tex_c, tex_c2, tex_c3; 9varying vec2 tex_c, tex_c2, tex_c3;
10void main() 10void main()
11{ 11{
12 const mat4 yuv2rgb = mat4( 1.16400, 1.16400, 1.16400, 0.00000, 12 float r, g, b, y, u, v;
13 0.00000, -0.34410, 1.77200, 0.00000, 13 y = texture2D(tex, tex_c.xy).r;
14 1.40200, -0.71410, 0.00000, 0.00000, 14 u = texture2D(texu, tex_c2.xy).r;
15 -0.77380, 0.45630, -0.95880, 1.00000); 15 v = texture2D(texv, tex_c3.xy).r;
16 gl_FragColor = yuv2rgb * vec4(texture2D(tex, tex_c.xy).r, 16 y = (y - 0.0625) * 1.164;
17 texture2D(texu, tex_c2.xy).r, 17 u = u - 0.5;
18 texture2D(texv, tex_c3.xy).r, 1.0); 18 v = v - 0.5;
19 r = y + (1.402 * v);
20 g = y - (0.34414 * u) - (0.71414 * v);
21 b = y + (1.772 * u);
22 gl_FragColor = vec4(r, g, b, 1.0);
19} 23}
diff --git a/libraries/evas/src/modules/engines/gl_sdl/Makefile.in b/libraries/evas/src/modules/engines/gl_sdl/Makefile.in
index bfb29ac..4bc9d59 100644
--- a/libraries/evas/src/modules/engines/gl_sdl/Makefile.in
+++ b/libraries/evas/src/modules/engines/gl_sdl/Makefile.in
@@ -189,6 +189,8 @@ EVAS_SSE3_CFLAGS = @EVAS_SSE3_CFLAGS@
189EVIL_CFLAGS = @EVIL_CFLAGS@ 189EVIL_CFLAGS = @EVIL_CFLAGS@
190EVIL_LIBS = @EVIL_LIBS@ 190EVIL_LIBS = @EVIL_LIBS@
191EXEEXT = @EXEEXT@ 191EXEEXT = @EXEEXT@
192EXOTIC_CFLAGS = @EXOTIC_CFLAGS@
193EXOTIC_LIBS = @EXOTIC_LIBS@
192FGREP = @FGREP@ 194FGREP = @FGREP@
193FONTCONFIG_CFLAGS = @FONTCONFIG_CFLAGS@ 195FONTCONFIG_CFLAGS = @FONTCONFIG_CFLAGS@
194FONTCONFIG_LIBS = @FONTCONFIG_LIBS@ 196FONTCONFIG_LIBS = @FONTCONFIG_LIBS@
@@ -239,6 +241,8 @@ PATH_SEPARATOR = @PATH_SEPARATOR@
239PIXMAN_CFLAGS = @PIXMAN_CFLAGS@ 241PIXMAN_CFLAGS = @PIXMAN_CFLAGS@
240PIXMAN_LIBS = @PIXMAN_LIBS@ 242PIXMAN_LIBS = @PIXMAN_LIBS@
241PKG_CONFIG = @PKG_CONFIG@ 243PKG_CONFIG = @PKG_CONFIG@
244PKG_CONFIG_LIBDIR = @PKG_CONFIG_LIBDIR@
245PKG_CONFIG_PATH = @PKG_CONFIG_PATH@
242PNG_CFLAGS = @PNG_CFLAGS@ 246PNG_CFLAGS = @PNG_CFLAGS@
243PNG_LIBS = @PNG_LIBS@ 247PNG_LIBS = @PNG_LIBS@
244RANLIB = @RANLIB@ 248RANLIB = @RANLIB@
@@ -257,8 +261,6 @@ VERSION = @VERSION@
257VMAJ = @VMAJ@ 261VMAJ = @VMAJ@
258WAYLAND_EGL_CFLAGS = @WAYLAND_EGL_CFLAGS@ 262WAYLAND_EGL_CFLAGS = @WAYLAND_EGL_CFLAGS@
259WAYLAND_EGL_LIBS = @WAYLAND_EGL_LIBS@ 263WAYLAND_EGL_LIBS = @WAYLAND_EGL_LIBS@
260WIN32_CFLAGS = @WIN32_CFLAGS@
261WIN32_CPPFLAGS = @WIN32_CPPFLAGS@
262XCB_CFLAGS = @XCB_CFLAGS@ 264XCB_CFLAGS = @XCB_CFLAGS@
263XCB_GL_CFLAGS = @XCB_GL_CFLAGS@ 265XCB_GL_CFLAGS = @XCB_GL_CFLAGS@
264XCB_GL_LIBS = @XCB_GL_LIBS@ 266XCB_GL_LIBS = @XCB_GL_LIBS@
@@ -332,8 +334,6 @@ evas_engine_software_ddraw_cflags = @evas_engine_software_ddraw_cflags@
332evas_engine_software_ddraw_libs = @evas_engine_software_ddraw_libs@ 334evas_engine_software_ddraw_libs = @evas_engine_software_ddraw_libs@
333evas_engine_software_gdi_cflags = @evas_engine_software_gdi_cflags@ 335evas_engine_software_gdi_cflags = @evas_engine_software_gdi_cflags@
334evas_engine_software_gdi_libs = @evas_engine_software_gdi_libs@ 336evas_engine_software_gdi_libs = @evas_engine_software_gdi_libs@
335evas_engine_software_sdl_cflags = @evas_engine_software_sdl_cflags@
336evas_engine_software_sdl_libs = @evas_engine_software_sdl_libs@
337evas_engine_software_xcb_cflags = @evas_engine_software_xcb_cflags@ 337evas_engine_software_xcb_cflags = @evas_engine_software_xcb_cflags@
338evas_engine_software_xcb_libs = @evas_engine_software_xcb_libs@ 338evas_engine_software_xcb_libs = @evas_engine_software_xcb_libs@
339evas_engine_software_xlib_cflags = @evas_engine_software_xlib_cflags@ 339evas_engine_software_xlib_cflags = @evas_engine_software_xlib_cflags@
diff --git a/libraries/evas/src/modules/engines/gl_x11/Makefile.in b/libraries/evas/src/modules/engines/gl_x11/Makefile.in
index ad4944e..3ac8dff 100644
--- a/libraries/evas/src/modules/engines/gl_x11/Makefile.in
+++ b/libraries/evas/src/modules/engines/gl_x11/Makefile.in
@@ -192,6 +192,8 @@ EVAS_SSE3_CFLAGS = @EVAS_SSE3_CFLAGS@
192EVIL_CFLAGS = @EVIL_CFLAGS@ 192EVIL_CFLAGS = @EVIL_CFLAGS@
193EVIL_LIBS = @EVIL_LIBS@ 193EVIL_LIBS = @EVIL_LIBS@
194EXEEXT = @EXEEXT@ 194EXEEXT = @EXEEXT@
195EXOTIC_CFLAGS = @EXOTIC_CFLAGS@
196EXOTIC_LIBS = @EXOTIC_LIBS@
195FGREP = @FGREP@ 197FGREP = @FGREP@
196FONTCONFIG_CFLAGS = @FONTCONFIG_CFLAGS@ 198FONTCONFIG_CFLAGS = @FONTCONFIG_CFLAGS@
197FONTCONFIG_LIBS = @FONTCONFIG_LIBS@ 199FONTCONFIG_LIBS = @FONTCONFIG_LIBS@
@@ -242,6 +244,8 @@ PATH_SEPARATOR = @PATH_SEPARATOR@
242PIXMAN_CFLAGS = @PIXMAN_CFLAGS@ 244PIXMAN_CFLAGS = @PIXMAN_CFLAGS@
243PIXMAN_LIBS = @PIXMAN_LIBS@ 245PIXMAN_LIBS = @PIXMAN_LIBS@
244PKG_CONFIG = @PKG_CONFIG@ 246PKG_CONFIG = @PKG_CONFIG@
247PKG_CONFIG_LIBDIR = @PKG_CONFIG_LIBDIR@
248PKG_CONFIG_PATH = @PKG_CONFIG_PATH@
245PNG_CFLAGS = @PNG_CFLAGS@ 249PNG_CFLAGS = @PNG_CFLAGS@
246PNG_LIBS = @PNG_LIBS@ 250PNG_LIBS = @PNG_LIBS@
247RANLIB = @RANLIB@ 251RANLIB = @RANLIB@
@@ -260,8 +264,6 @@ VERSION = @VERSION@
260VMAJ = @VMAJ@ 264VMAJ = @VMAJ@
261WAYLAND_EGL_CFLAGS = @WAYLAND_EGL_CFLAGS@ 265WAYLAND_EGL_CFLAGS = @WAYLAND_EGL_CFLAGS@
262WAYLAND_EGL_LIBS = @WAYLAND_EGL_LIBS@ 266WAYLAND_EGL_LIBS = @WAYLAND_EGL_LIBS@
263WIN32_CFLAGS = @WIN32_CFLAGS@
264WIN32_CPPFLAGS = @WIN32_CPPFLAGS@
265XCB_CFLAGS = @XCB_CFLAGS@ 267XCB_CFLAGS = @XCB_CFLAGS@
266XCB_GL_CFLAGS = @XCB_GL_CFLAGS@ 268XCB_GL_CFLAGS = @XCB_GL_CFLAGS@
267XCB_GL_LIBS = @XCB_GL_LIBS@ 269XCB_GL_LIBS = @XCB_GL_LIBS@
@@ -335,8 +337,6 @@ evas_engine_software_ddraw_cflags = @evas_engine_software_ddraw_cflags@
335evas_engine_software_ddraw_libs = @evas_engine_software_ddraw_libs@ 337evas_engine_software_ddraw_libs = @evas_engine_software_ddraw_libs@
336evas_engine_software_gdi_cflags = @evas_engine_software_gdi_cflags@ 338evas_engine_software_gdi_cflags = @evas_engine_software_gdi_cflags@
337evas_engine_software_gdi_libs = @evas_engine_software_gdi_libs@ 339evas_engine_software_gdi_libs = @evas_engine_software_gdi_libs@
338evas_engine_software_sdl_cflags = @evas_engine_software_sdl_cflags@
339evas_engine_software_sdl_libs = @evas_engine_software_sdl_libs@
340evas_engine_software_xcb_cflags = @evas_engine_software_xcb_cflags@ 340evas_engine_software_xcb_cflags = @evas_engine_software_xcb_cflags@
341evas_engine_software_xcb_libs = @evas_engine_software_xcb_libs@ 341evas_engine_software_xcb_libs = @evas_engine_software_xcb_libs@
342evas_engine_software_xlib_cflags = @evas_engine_software_xlib_cflags@ 342evas_engine_software_xlib_cflags = @evas_engine_software_xlib_cflags@
diff --git a/libraries/evas/src/modules/engines/gl_x11/evas_engine.c b/libraries/evas/src/modules/engines/gl_x11/evas_engine.c
index fbbd1a2..06348b4 100644
--- a/libraries/evas/src/modules/engines/gl_x11/evas_engine.c
+++ b/libraries/evas/src/modules/engines/gl_x11/evas_engine.c
@@ -41,6 +41,17 @@ struct _Render_Engine
41 int w, h; 41 int w, h;
42 int vsync; 42 int vsync;
43 43
44 // Shader used for Evas_GL_Direct Optimization
45 GLuint df_program;
46 GLuint df_vtx_shader;
47 GLuint df_fgmt_shader;
48 GLuint df_col_attrib;
49 GLuint df_pos_attrib;
50
51 GLfloat df_clear_color[4];
52 GLfloat df_depth_value;
53
54 int df_initialized;
44}; 55};
45 56
46struct _Render_Engine_GL_Surface 57struct _Render_Engine_GL_Surface
@@ -51,6 +62,8 @@ struct _Render_Engine_GL_Surface
51 int depth_bits; 62 int depth_bits;
52 int stencil_bits; 63 int stencil_bits;
53 64
65 int direct_fb_opt;
66
54 // Render target texture/buffers 67 // Render target texture/buffers
55 GLuint rt_tex; 68 GLuint rt_tex;
56 GLint rt_internal_fmt; 69 GLint rt_internal_fmt;
@@ -60,6 +73,12 @@ struct _Render_Engine_GL_Surface
60 GLuint rb_stencil; 73 GLuint rb_stencil;
61 GLenum rb_stencil_fmt; 74 GLenum rb_stencil_fmt;
62 75
76#if defined (GLES_VARIETY_S3C6410) || defined (GLES_VARIETY_SGX)
77 EGLSurface direct_sfc;
78#else
79 Window direct_sfc;
80#endif
81
63 Render_Engine_GL_Context *current_ctx; 82 Render_Engine_GL_Context *current_ctx;
64}; 83};
65 84
@@ -74,6 +93,10 @@ struct _Render_Engine_GL_Context
74 GLuint context_fbo; 93 GLuint context_fbo;
75 GLuint current_fbo; 94 GLuint current_fbo;
76 95
96
97 int scissor_enabled;
98 int scissor_upated;
99
77 Render_Engine_GL_Surface *current_sfc; 100 Render_Engine_GL_Surface *current_sfc;
78}; 101};
79 102
@@ -99,8 +122,11 @@ struct _Extension_Entry
99 122
100static int initted = 0; 123static int initted = 0;
101static int gl_wins = 0; 124static int gl_wins = 0;
102static Render_Engine_GL_Context *current_evgl_ctx; 125static int gl_direct_override = 0;
103static Render_Engine *current_engine; 126static int gl_direct_enabled = 0;
127static Render_Engine_GL_Context *current_evgl_ctx = NULL;
128static Render_Engine *current_engine = NULL;
129static Evas_Object *gl_direct_img_obj = NULL;
104 130
105static char _gl_ext_string[1024]; 131static char _gl_ext_string[1024];
106static char _evasgl_ext_string[1024]; 132static char _evasgl_ext_string[1024];
@@ -2514,11 +2540,15 @@ eng_image_data_put(void *data, void *image, DATA32 *image_data)
2514 2540
2515 if (im->tex->pt->dyn.data == image_data) 2541 if (im->tex->pt->dyn.data == image_data)
2516 { 2542 {
2517 im->tex->pt->dyn.checked_out--; 2543 if (im->tex->pt->dyn.checked_out > 0)
2544 {
2545 im->tex->pt->dyn.checked_out--;
2518#if defined (GLES_VARIETY_S3C6410) || defined (GLES_VARIETY_SGX) 2546#if defined (GLES_VARIETY_S3C6410) || defined (GLES_VARIETY_SGX)
2519 if (im->tex->pt->dyn.checked_out == 0) 2547 if (im->tex->pt->dyn.checked_out == 0)
2520 glsym_eglUnmapImageSEC(re->win->egl_disp, im->tex->pt->dyn.img); 2548 glsym_eglUnmapImageSEC(re->win->egl_disp, im->tex->pt->dyn.img);
2521#endif 2549#endif
2550 }
2551
2522 return image; 2552 return image;
2523 } 2553 }
2524 2554
@@ -2605,13 +2635,22 @@ eng_image_draw(void *data, void *context, void *surface, void *image, int src_x,
2605 2635
2606 re = (Render_Engine *)data; 2636 re = (Render_Engine *)data;
2607 if (!image) return; 2637 if (!image) return;
2608 eng_window_use(re->win); 2638
2609 evas_gl_common_context_target_surface_set(re->win->gl_context, surface); 2639 if ((gl_direct_img_obj) && (gl_direct_enabled))
2610 re->win->gl_context->dc = context; 2640 {
2611 evas_gl_common_image_draw(re->win->gl_context, image, 2641 DBG("Rendering Directly to the window");
2612 src_x, src_y, src_w, src_h, 2642 evas_object_image_pixels_dirty_set(gl_direct_img_obj, EINA_TRUE);
2613 dst_x, dst_y, dst_w, dst_h, 2643 }
2614 smooth); 2644 else
2645 {
2646 eng_window_use(re->win);
2647 evas_gl_common_context_target_surface_set(re->win->gl_context, surface);
2648 re->win->gl_context->dc = context;
2649 evas_gl_common_image_draw(re->win->gl_context, image,
2650 src_x, src_y, src_w, src_h,
2651 dst_x, dst_y, dst_w, dst_h,
2652 smooth);
2653 }
2615} 2654}
2616 2655
2617static void 2656static void
@@ -2794,7 +2833,7 @@ static int
2794_set_internal_config(Render_Engine_GL_Surface *sfc, Evas_GL_Config *cfg) 2833_set_internal_config(Render_Engine_GL_Surface *sfc, Evas_GL_Config *cfg)
2795{ 2834{
2796 // Also initialize pixel format here as well... 2835 // Also initialize pixel format here as well...
2797 switch(cfg->color_format) 2836 switch((int)cfg->color_format)
2798 { 2837 {
2799 case EVAS_GL_RGB_888: 2838 case EVAS_GL_RGB_888:
2800 sfc->rt_fmt = GL_RGB; 2839 sfc->rt_fmt = GL_RGB;
@@ -2849,7 +2888,12 @@ _set_internal_config(Render_Engine_GL_Surface *sfc, Evas_GL_Config *cfg)
2849 return 0; 2888 return 0;
2850 } 2889 }
2851 2890
2852 // Do Packed Depth24_Stencil8 Later... 2891 if (cfg->options_bits)
2892 {
2893 if (cfg->options_bits & EVAS_GL_OPTIONS_DIRECT)
2894 sfc->direct_fb_opt = 1;
2895 // Add other options here...
2896 }
2853 2897
2854 return 1; 2898 return 1;
2855} 2899}
@@ -2954,6 +2998,11 @@ eng_gl_surface_create(void *data, void *config, int w, int h)
2954 sfc->rb_depth = 0; 2998 sfc->rb_depth = 0;
2955 sfc->rb_stencil = 0; 2999 sfc->rb_stencil = 0;
2956 3000
3001 /* Allow alpha for evas gl direct rendering */
3002 // FIXME!!!: A little out of place for for now...
3003 if (!gl_direct_override)
3004 if (getenv("EVAS_GL_DIRECT_OVERRIDE")) gl_direct_override = 1;
3005
2957 // Set the internal format based on the config 3006 // Set the internal format based on the config
2958 if (!_set_internal_config(sfc, cfg)) 3007 if (!_set_internal_config(sfc, cfg))
2959 { 3008 {
@@ -2962,6 +3011,16 @@ eng_gl_surface_create(void *data, void *config, int w, int h)
2962 return NULL; 3011 return NULL;
2963 } 3012 }
2964 3013
3014 if (sfc->direct_fb_opt)
3015 {
3016 DBG("Enabling Direct rendering to the Evas' window.");
3017#if defined (GLES_VARIETY_S3C6410) || defined (GLES_VARIETY_SGX)
3018 sfc->direct_sfc = re->win->egl_surface[0];
3019#else
3020 sfc->direct_sfc = re->win->win;
3021#endif
3022 }
3023
2965 // Create internal resource context if it hasn't been created already 3024 // Create internal resource context if it hasn't been created already
2966 if ((rsc = eina_tls_get(resource_key)) == NULL) 3025 if ((rsc = eina_tls_get(resource_key)) == NULL)
2967 { 3026 {
@@ -3039,6 +3098,17 @@ eng_gl_surface_destroy(void *data, void *surface)
3039 return 0; 3098 return 0;
3040 } 3099 }
3041 3100
3101 // Reset the Framebuffer binding point
3102 if ((current_evgl_ctx) && (current_evgl_ctx->current_fbo == current_evgl_ctx->context_fbo))
3103 {
3104 //glBindFramebuffer(GL_FRAMEBUFFER, 0);
3105 current_evgl_ctx->current_fbo = 0;
3106 current_evgl_ctx->current_sfc = NULL;
3107 }
3108
3109 // Clear direct rendering flag
3110 gl_direct_enabled = 0;
3111
3042 // Delete FBO/RBO and Texture here 3112 // Delete FBO/RBO and Texture here
3043 if (sfc->rt_tex) 3113 if (sfc->rt_tex)
3044 glDeleteTextures(1, &sfc->rt_tex); 3114 glDeleteTextures(1, &sfc->rt_tex);
@@ -3049,6 +3119,8 @@ eng_gl_surface_destroy(void *data, void *surface)
3049 if (sfc->rb_stencil) 3119 if (sfc->rb_stencil)
3050 glDeleteRenderbuffers(1, &sfc->rb_stencil); 3120 glDeleteRenderbuffers(1, &sfc->rb_stencil);
3051 3121
3122
3123
3052#if defined (GLES_VARIETY_S3C6410) || defined (GLES_VARIETY_SGX) 3124#if defined (GLES_VARIETY_S3C6410) || defined (GLES_VARIETY_SGX)
3053 ret = eglMakeCurrent(re->win->egl_disp, EGL_NO_SURFACE, EGL_NO_SURFACE, EGL_NO_CONTEXT); 3125 ret = eglMakeCurrent(re->win->egl_disp, EGL_NO_SURFACE, EGL_NO_SURFACE, EGL_NO_CONTEXT);
3054#else 3126#else
@@ -3158,7 +3230,7 @@ eng_gl_context_destroy(void *data, void *context)
3158 3230
3159 if ((rsc = eina_tls_get(resource_key)) == EINA_FALSE) return 0; 3231 if ((rsc = eina_tls_get(resource_key)) == EINA_FALSE) return 0;
3160 3232
3161 // 1. Do a make current with the given context 3233 // Do a make current with the given context
3162#if defined (GLES_VARIETY_S3C6410) || defined (GLES_VARIETY_SGX) 3234#if defined (GLES_VARIETY_S3C6410) || defined (GLES_VARIETY_SGX)
3163 ret = eglMakeCurrent(re->win->egl_disp, rsc->surface, 3235 ret = eglMakeCurrent(re->win->egl_disp, rsc->surface,
3164 rsc->surface, ctx->context); 3236 rsc->surface, ctx->context);
@@ -3172,11 +3244,11 @@ eng_gl_context_destroy(void *data, void *context)
3172 return 0; 3244 return 0;
3173 } 3245 }
3174 3246
3175 // 2. Delete the FBO 3247 // Delete the FBO
3176 if (ctx->context_fbo) 3248 if (ctx->context_fbo)
3177 glDeleteFramebuffers(1, &ctx->context_fbo); 3249 glDeleteFramebuffers(1, &ctx->context_fbo);
3178 3250
3179 // 3. Destroy the Context 3251 // Destroy the Context
3180#if defined (GLES_VARIETY_S3C6410) || defined (GLES_VARIETY_SGX) 3252#if defined (GLES_VARIETY_S3C6410) || defined (GLES_VARIETY_SGX)
3181 eglDestroyContext(re->win->egl_disp, ctx->context); 3253 eglDestroyContext(re->win->egl_disp, ctx->context);
3182 3254
@@ -3239,67 +3311,127 @@ eng_gl_make_current(void *data __UNUSED__, void *surface, void *context)
3239 return 1; 3311 return 1;
3240 } 3312 }
3241 3313
3242 // Do a make current only if it's not already current 3314 // Check if direct rendering is possible:
3243#if defined (GLES_VARIETY_S3C6410) || defined (GLES_VARIETY_SGX) 3315 // It's possible when direct_fb_opt is on and either current image
3244 if ((rsc = eina_tls_get(resource_key)) == EINA_FALSE) return 0; 3316 // object is valid or gl_direct_override is on. Override allows
3317 // rendering outside of pixel getter but it doesn't guarantee
3318 // correct rendering.
3319 if ((sfc->direct_fb_opt) && (gl_direct_img_obj || gl_direct_override))
3320 gl_direct_enabled = 1;
3321 else
3322 gl_direct_enabled = 0;
3245 3323
3246 if ((eglGetCurrentContext() != ctx->context) || 3324 if (gl_direct_enabled)
3247 (eglGetCurrentSurface(EGL_READ) != rsc->surface) ||
3248 (eglGetCurrentSurface(EGL_DRAW) != rsc->surface) )
3249 { 3325 {
3250 // Flush remainder of what's in Evas' pipeline 3326 // Do a make current only if it's not already current
3251 if (re->win) eng_window_use(NULL); 3327#if defined (GLES_VARIETY_S3C6410) || defined (GLES_VARIETY_SGX)
3328 if ((eglGetCurrentContext() != ctx->context) ||
3329 (eglGetCurrentSurface(EGL_READ) != sfc->direct_sfc) ||
3330 (eglGetCurrentSurface(EGL_DRAW) != sfc->direct_sfc) )
3331 {
3332 int curr_fbo = 0;
3333 DBG("Rendering Directly to the window\n");
3252 3334
3253 // Do a make current 3335 // Flush remainder of what's in Evas' pipeline
3254 ret = eglMakeCurrent(re->win->egl_disp, rsc->surface, 3336 if (re->win) eng_window_use(NULL);
3255 rsc->surface, ctx->context); 3337
3256 if (!ret) 3338 // Do a make current
3339 ret = eglMakeCurrent(re->win->egl_disp, sfc->direct_sfc,
3340 sfc->direct_sfc, ctx->context);
3341 if (!ret)
3342 {
3343 ERR("xxxMakeCurrent() failed! code=%#x", eglGetError());
3344 //ERR("xxxMakeCurrent() failed!");
3345 return 0;
3346 }
3347
3348 glGetIntegerv(GL_FRAMEBUFFER_BINDING, &curr_fbo);
3349 if (ctx->context_fbo == curr_fbo)
3350 {
3351 ctx->current_fbo = 0;
3352 glBindFramebuffer(GL_FRAMEBUFFER, 0);
3353 }
3354 }
3355#else
3356 if ((glXGetCurrentContext() != ctx->context))
3257 { 3357 {
3258 ERR("xxxMakeCurrent() failed!"); 3358 // Flush remainder of what's in Evas' pipeline
3259 return 0; 3359 if (re->win) eng_window_use(NULL);
3360
3361 // Do a make current
3362 ret = glXMakeCurrent(re->info->info.display, sfc->direct_sfc, ctx->context);
3363 if (!ret)
3364 {
3365 ERR("xxxMakeCurrent() failed!");
3366 return 0;
3367 }
3260 } 3368 }
3369#endif
3261 } 3370 }
3262#else 3371 else
3263 if ((glXGetCurrentContext() != ctx->context) ||
3264 (glXGetCurrentDrawable() != re->win->win) )
3265 { 3372 {
3266 // Flush remainder of what's in Evas' pipeline 3373 // Do a make current only if it's not already current
3267 if (re->win) eng_window_use(NULL); 3374#if defined (GLES_VARIETY_S3C6410) || defined (GLES_VARIETY_SGX)
3375 if ((rsc = eina_tls_get(resource_key)) == EINA_FALSE) return 0;
3268 3376
3269 // Do a make current 3377 if ((eglGetCurrentContext() != ctx->context) ||
3270 ret = glXMakeCurrent(re->info->info.display, re->win->win, ctx->context); 3378 (eglGetCurrentSurface(EGL_READ) != rsc->surface) ||
3271 if (!ret) 3379 (eglGetCurrentSurface(EGL_DRAW) != rsc->surface) )
3272 { 3380 {
3273 ERR("xxxMakeCurrent() failed!"); 3381 // Flush remainder of what's in Evas' pipeline
3274 return 0; 3382 if (re->win) eng_window_use(NULL);
3383
3384 // Do a make current
3385 ret = eglMakeCurrent(re->win->egl_disp, rsc->surface,
3386 rsc->surface, ctx->context);
3387 if (!ret)
3388 {
3389 ERR("xxxMakeCurrent() failed!");
3390 return 0;
3391 }
3275 } 3392 }
3276 } 3393#else
3277#endif 3394 if ((glXGetCurrentContext() != ctx->context) ||
3395 (glXGetCurrentDrawable() != re->win->win) )
3396 {
3397 // Flush remainder of what's in Evas' pipeline
3398 if (re->win) eng_window_use(NULL);
3278 3399
3279 // Create FBO if not already created 3400 // Do a make current
3280 if (!ctx->initialized) 3401 ret = glXMakeCurrent(re->info->info.display, re->win->win, ctx->context);
3281 { 3402 if (!ret)
3282 glGenFramebuffers(1, &ctx->context_fbo); 3403 {
3283 ctx->initialized = 1; 3404 ERR("xxxMakeCurrent() failed!");
3284 } 3405 return 0;
3406 }
3407 }
3408#endif
3285 3409
3286 // Attach FBO if it hasn't been attached or if surface changed 3410 // Create FBO if not already created
3287 if ((!sfc->fbo_attached) || (ctx->current_sfc != sfc)) 3411 if (!ctx->initialized)
3288 {
3289 if (!_attach_fbo_surface(re, sfc, ctx))
3290 { 3412 {
3291 ERR("_attach_fbo_surface() failed."); 3413 glGenFramebuffers(1, &ctx->context_fbo);
3292 return 0; 3414 ctx->initialized = 1;
3293 } 3415 }
3294 3416
3295 if (ctx->current_fbo) 3417 // Attach FBO if it hasn't been attached or if surface changed
3296 // Bind to the previously bound buffer 3418 if ((!sfc->fbo_attached) || (ctx->current_sfc != sfc))
3297 glBindFramebuffer(GL_FRAMEBUFFER, ctx->current_fbo); 3419 {
3298 else 3420 if (!_attach_fbo_surface(re, sfc, ctx))
3299 // Bind FBO 3421 {
3300 glBindFramebuffer(GL_FRAMEBUFFER, ctx->context_fbo); 3422 ERR("_attach_fbo_surface() failed.");
3423 return 0;
3424 }
3301 3425
3302 sfc->fbo_attached = 1; 3426 if (ctx->current_fbo)
3427 // Bind to the previously bound buffer
3428 glBindFramebuffer(GL_FRAMEBUFFER, ctx->current_fbo);
3429 else
3430 // Bind FBO
3431 glBindFramebuffer(GL_FRAMEBUFFER, ctx->context_fbo);
3432
3433 sfc->fbo_attached = 1;
3434 }
3303 } 3435 }
3304 3436
3305 // Set the current surface/context 3437 // Set the current surface/context
@@ -3345,13 +3477,28 @@ eng_gl_native_surface_get(void *data, void *surface, void *native_surface)
3345 sfc = (Render_Engine_GL_Surface*)surface; 3477 sfc = (Render_Engine_GL_Surface*)surface;
3346 ns = (Evas_Native_Surface*)native_surface; 3478 ns = (Evas_Native_Surface*)native_surface;
3347 3479
3348 ns->type = EVAS_NATIVE_SURFACE_OPENGL; 3480 if (sfc->direct_fb_opt)
3349 ns->version = EVAS_NATIVE_SURFACE_VERSION; 3481 {
3350 ns->data.opengl.texture_id = sfc->rt_tex; 3482 ns->type = EVAS_NATIVE_SURFACE_OPENGL;
3351 ns->data.opengl.x = 0; 3483 ns->version = EVAS_NATIVE_SURFACE_VERSION;
3352 ns->data.opengl.y = 0; 3484 ns->data.opengl.texture_id = sfc->rt_tex;
3353 ns->data.opengl.w = sfc->w; 3485 ns->data.opengl.framebuffer_id = 0;
3354 ns->data.opengl.h = sfc->h; 3486 ns->data.opengl.x = 0;
3487 ns->data.opengl.y = 0;
3488 ns->data.opengl.w = sfc->w;
3489 ns->data.opengl.h = sfc->h;
3490 }
3491 else
3492 {
3493 ns->type = EVAS_NATIVE_SURFACE_OPENGL;
3494 ns->version = EVAS_NATIVE_SURFACE_VERSION;
3495 ns->data.opengl.texture_id = sfc->rt_tex;
3496 ns->data.opengl.framebuffer_id = sfc->rt_tex;
3497 ns->data.opengl.x = 0;
3498 ns->data.opengl.y = 0;
3499 ns->data.opengl.w = sfc->w;
3500 ns->data.opengl.h = sfc->h;
3501 }
3355 3502
3356 return 1; 3503 return 1;
3357} 3504}
@@ -3371,22 +3518,27 @@ evgl_glBindFramebuffer(GLenum target, GLuint framebuffer)
3371{ 3518{
3372 Render_Engine_GL_Context *ctx = current_evgl_ctx; 3519 Render_Engine_GL_Context *ctx = current_evgl_ctx;
3373 3520
3521 if (!ctx)
3522 {
3523 ERR("No current context set.");
3524 return;
3525 }
3526
3374 // Take care of BindFramebuffer 0 issue 3527 // Take care of BindFramebuffer 0 issue
3375 if (framebuffer==0) 3528 if (framebuffer==0)
3376 { 3529 {
3377 if (ctx) 3530 if (gl_direct_enabled)
3378 { 3531 glBindFramebuffer(target, 0);
3379 glBindFramebuffer(target, ctx->context_fbo); 3532 else
3380 ctx->current_fbo = 0; 3533 glBindFramebuffer(target, ctx->context_fbo);
3381 } 3534 ctx->current_fbo = 0;
3382 } 3535 }
3383 else 3536 else
3384 { 3537 {
3385 glBindFramebuffer(target, framebuffer); 3538 glBindFramebuffer(target, framebuffer);
3386 3539
3387 // Save this for restore when doing make current 3540 // Save this for restore when doing make current
3388 if (ctx) 3541 ctx->current_fbo = framebuffer;
3389 ctx->current_fbo = framebuffer;
3390 } 3542 }
3391} 3543}
3392 3544
@@ -3398,6 +3550,225 @@ evgl_glBindRenderbuffer(GLenum target, GLuint renderbuffer)
3398 glBindRenderbuffer(target, renderbuffer); 3550 glBindRenderbuffer(target, renderbuffer);
3399} 3551}
3400 3552
3553// Transform from Evas Coordinat to GL Coordinate
3554// returns: oc[4] original image object dimension in gl coord
3555// returns: nc[4] tranformed (x, y, width, heigth) in gl coord
3556static void
3557compute_gl_coordinates(Evas_Object *obj, int rot, int clip,
3558 int x, int y, int width, int height,
3559 int imgc[4], int objc[4])
3560{
3561 if (rot == 0)
3562 {
3563 // oringinal image object coordinate in gl coordinate
3564 imgc[0] = obj->cur.geometry.x;
3565 imgc[1] = obj->layer->evas->output.h - obj->cur.geometry.y - obj->cur.geometry.h;
3566 imgc[2] = imgc[0] + obj->cur.geometry.w;
3567 imgc[3] = imgc[1] + obj->cur.geometry.h;
3568
3569 // transformed (x,y,width,height) in gl coordinate
3570 objc[0] = imgc[0] + x;
3571 objc[1] = imgc[1] + y;
3572 objc[2] = objc[0] + width;
3573 objc[3] = objc[1] + height;
3574 }
3575 else if (rot == 180)
3576 {
3577 // oringinal image object coordinate in gl coordinate
3578 imgc[0] = obj->layer->evas->output.w - obj->cur.geometry.x - obj->cur.geometry.w;
3579 imgc[1] = obj->cur.geometry.y;
3580 imgc[2] = imgc[0] + obj->cur.geometry.w;
3581 imgc[3] = imgc[1] + obj->cur.geometry.h;
3582
3583 // transformed (x,y,width,height) in gl coordinate
3584 objc[0] = imgc[0] + obj->cur.geometry.w - x - width;
3585 objc[1] = imgc[1] + obj->cur.geometry.h - y - height;
3586 objc[2] = objc[0] + width;
3587 objc[3] = objc[1] + height;
3588
3589 }
3590 else if (rot == 90)
3591 {
3592 // oringinal image object coordinate in gl coordinate
3593 imgc[0] = obj->cur.geometry.y;
3594 imgc[1] = obj->cur.geometry.x;
3595 imgc[2] = imgc[0] + obj->cur.geometry.h;
3596 imgc[3] = imgc[1] + obj->cur.geometry.w;
3597
3598 // transformed (x,y,width,height) in gl coordinate
3599 objc[0] = imgc[0] + obj->cur.geometry.h - y - height;
3600 objc[1] = imgc[1] + x;
3601 objc[2] = objc[0] + height;
3602 objc[3] = objc[1] + width;
3603 }
3604 else if (rot == 270)
3605 {
3606 // oringinal image object coordinate in gl coordinate
3607 imgc[0] = obj->layer->evas->output.h - obj->cur.geometry.y - obj->cur.geometry.h;
3608 imgc[1] = obj->layer->evas->output.w - obj->cur.geometry.x - obj->cur.geometry.w;
3609 imgc[2] = imgc[0] + obj->cur.geometry.h;
3610 imgc[3] = imgc[1] + obj->cur.geometry.w;
3611
3612 // transformed (x,y,width,height) in gl coordinate
3613 objc[0] = imgc[0] + y;
3614 objc[1] = imgc[1] + obj->cur.geometry.w - x - width;
3615 objc[2] = objc[0] + height;
3616 objc[3] = objc[1] + width;
3617 }
3618 else
3619 {
3620 ERR("Invalid rotation angle %d.", rot);
3621 return;
3622 }
3623
3624 if (clip)
3625 {
3626 // Clip against original image object
3627 if (objc[0] < imgc[0]) objc[0] = imgc[0];
3628 if (objc[0] > imgc[2]) objc[0] = 0;
3629
3630 if (objc[1] < imgc[1]) objc[1] = imgc[1];
3631 if (objc[1] > imgc[3]) objc[1] = 0;
3632
3633 if (objc[2] < imgc[0]) objc[0] = 0;
3634 if (objc[2] > imgc[2]) objc[2] = imgc[2];
3635
3636 if (objc[3] < imgc[1]) objc[1] = 0;
3637 if (objc[3] > imgc[3]) objc[3] = imgc[3];
3638 }
3639
3640 imgc[2] = imgc[2]-imgc[0]; // width
3641 imgc[3] = imgc[3]-imgc[1]; // height
3642
3643 objc[2] = objc[2]-objc[0]; // width
3644 objc[3] = objc[3]-objc[1]; // height
3645}
3646
3647static void
3648evgl_glClear(GLbitfield mask)
3649{
3650 Render_Engine_GL_Context *ctx = current_evgl_ctx;
3651 int rot = 0;
3652 int oc[4], nc[4];
3653
3654 if ((gl_direct_img_obj) && (gl_direct_enabled) && (ctx) && (!ctx->current_fbo))
3655 {
3656 if ((current_engine) && (current_engine->win) && (current_engine->win->gl_context))
3657 rot = current_engine->win->gl_context->rot;
3658 else
3659 ERR("Unable to retrieve rotation angle: %d", rot);
3660
3661 compute_gl_coordinates(gl_direct_img_obj, rot, 0, 0, 0, 0, 0, oc, nc);
3662 glScissor(oc[0], oc[1], oc[2], oc[3]);
3663 glClear(mask);
3664 }
3665 else
3666 glClear(mask);
3667}
3668
3669static void
3670evgl_glClearColor(GLclampf red, GLclampf green, GLclampf blue, GLclampf alpha)
3671{
3672 current_engine->df_clear_color[0] = red;
3673 current_engine->df_clear_color[1] = green;
3674 current_engine->df_clear_color[2] = blue;
3675 current_engine->df_clear_color[3] = alpha;
3676
3677 glClearColor(red, green, blue, alpha);
3678
3679}
3680
3681static void
3682evgl_glEnable(GLenum cap)
3683{
3684 Render_Engine_GL_Context *ctx = current_evgl_ctx;
3685
3686 if (cap == GL_SCISSOR_TEST)
3687 if (ctx) ctx->scissor_enabled = 1;
3688 glEnable(cap);
3689}
3690
3691static void
3692evgl_glDisable(GLenum cap)
3693{
3694 Render_Engine_GL_Context *ctx = current_evgl_ctx;
3695
3696 if (cap == GL_SCISSOR_TEST)
3697 if (ctx) ctx->scissor_enabled = 0;
3698 glDisable(cap);
3699}
3700
3701
3702static void
3703evgl_glReadPixels(GLint x, GLint y, GLsizei width, GLsizei height, GLenum format, GLenum type, void* pixels)
3704{
3705 Render_Engine_GL_Context *ctx = current_evgl_ctx;
3706 int rot = 0;
3707 int oc[4], nc[4];
3708
3709 if ((gl_direct_img_obj) && (gl_direct_enabled) && (ctx) && (!ctx->current_fbo))
3710 {
3711 if ((current_engine) && (current_engine->win) && (current_engine->win->gl_context))
3712 rot = current_engine->win->gl_context->rot;
3713 else
3714 ERR("Unable to retrieve rotation angle: %d", rot);
3715
3716 compute_gl_coordinates(gl_direct_img_obj, rot, 1, x, y, width, height, oc, nc);
3717 glReadPixels(nc[0], nc[1], nc[2], nc[3], format, type, pixels);
3718 }
3719 else
3720 glReadPixels(x, y, width, height, format, type, pixels);
3721}
3722
3723static void
3724evgl_glScissor(GLint x, GLint y, GLsizei width, GLsizei height)
3725{
3726 Render_Engine_GL_Context *ctx = current_evgl_ctx;
3727 int rot = 0;
3728 int oc[4], nc[4];
3729
3730 if ((gl_direct_img_obj) && (gl_direct_enabled) && (ctx) && (!ctx->current_fbo))
3731 {
3732 if ((current_engine) && (current_engine->win) && (current_engine->win->gl_context))
3733 rot = current_engine->win->gl_context->rot;
3734 else
3735 ERR("Unable to retrieve rotation angle: %d", rot);
3736
3737 compute_gl_coordinates(gl_direct_img_obj, rot, 1, x, y, width, height, oc, nc);
3738 glScissor(nc[0], nc[1], nc[2], nc[3]);
3739 ctx->scissor_upated = 1;
3740 }
3741 else
3742 glScissor(x, y, width, height);
3743}
3744
3745static void
3746evgl_glViewport(GLint x, GLint y, GLsizei width, GLsizei height)
3747{
3748 Render_Engine_GL_Context *ctx = current_evgl_ctx;
3749 int rot = 0;
3750 int oc[4], nc[4];
3751
3752 if ((gl_direct_img_obj) && (gl_direct_enabled) && (ctx) && (!ctx->current_fbo))
3753 {
3754 if ((current_engine) && (current_engine->win) && (current_engine->win->gl_context))
3755 rot = current_engine->win->gl_context->rot;
3756 else
3757 ERR("Unable to retrieve rotation angle: %d", rot);
3758
3759 compute_gl_coordinates(gl_direct_img_obj, rot, 0, x, y, width, height, oc, nc);
3760 glEnable(GL_SCISSOR_TEST);
3761 glScissor(oc[0], oc[1], oc[2], oc[3]);
3762 glViewport(nc[0], nc[1], nc[2], nc[3]);
3763 }
3764 else
3765 glViewport(x, y, width, height);
3766
3767}
3768
3769
3770//----------------------------------------------//
3771
3401static void 3772static void
3402evgl_glClearDepthf(GLclampf depth) 3773evgl_glClearDepthf(GLclampf depth)
3403{ 3774{
@@ -3531,8 +3902,8 @@ eng_gl_api_get(void *data)
3531 ORD(glBufferData); 3902 ORD(glBufferData);
3532 ORD(glBufferSubData); 3903 ORD(glBufferSubData);
3533 ORD(glCheckFramebufferStatus); 3904 ORD(glCheckFramebufferStatus);
3534 ORD(glClear); 3905// ORD(glClear);
3535 ORD(glClearColor); 3906// ORD(glClearColor);
3536// ORD(glClearDepthf); 3907// ORD(glClearDepthf);
3537 ORD(glClearStencil); 3908 ORD(glClearStencil);
3538 ORD(glColorMask); 3909 ORD(glColorMask);
@@ -3554,11 +3925,11 @@ eng_gl_api_get(void *data)
3554 ORD(glDepthMask); 3925 ORD(glDepthMask);
3555// ORD(glDepthRangef); 3926// ORD(glDepthRangef);
3556 ORD(glDetachShader); 3927 ORD(glDetachShader);
3557 ORD(glDisable); 3928// ORD(glDisable);
3558 ORD(glDisableVertexAttribArray); 3929 ORD(glDisableVertexAttribArray);
3559 ORD(glDrawArrays); 3930 ORD(glDrawArrays);
3560 ORD(glDrawElements); 3931 ORD(glDrawElements);
3561 ORD(glEnable); 3932// ORD(glEnable);
3562 ORD(glEnableVertexAttribArray); 3933 ORD(glEnableVertexAttribArray);
3563 ORD(glFinish); 3934 ORD(glFinish);
3564 ORD(glFlush); 3935 ORD(glFlush);
@@ -3612,7 +3983,7 @@ eng_gl_api_get(void *data)
3612// ORD(glReleaseShaderCompiler); 3983// ORD(glReleaseShaderCompiler);
3613 ORD(glRenderbufferStorage); 3984 ORD(glRenderbufferStorage);
3614 ORD(glSampleCoverage); 3985 ORD(glSampleCoverage);
3615 ORD(glScissor); 3986// ORD(glScissor);
3616// ORD(glShaderBinary); 3987// ORD(glShaderBinary);
3617 ORD(glShaderSource); 3988 ORD(glShaderSource);
3618 ORD(glStencilFunc); 3989 ORD(glStencilFunc);
@@ -3657,7 +4028,7 @@ eng_gl_api_get(void *data)
3657 ORD(glVertexAttrib4f); 4028 ORD(glVertexAttrib4f);
3658 ORD(glVertexAttrib4fv); 4029 ORD(glVertexAttrib4fv);
3659 ORD(glVertexAttribPointer); 4030 ORD(glVertexAttribPointer);
3660 ORD(glViewport); 4031// ORD(glViewport);
3661#undef ORD 4032#undef ORD
3662 4033
3663#define ORD(f) EVAS_API_OVERRIDE(f, &gl_funcs, glsym_) 4034#define ORD(f) EVAS_API_OVERRIDE(f, &gl_funcs, glsym_)
@@ -3717,6 +4088,14 @@ eng_gl_api_get(void *data)
3717 ORD(glBindFramebuffer); 4088 ORD(glBindFramebuffer);
3718 ORD(glBindRenderbuffer); 4089 ORD(glBindRenderbuffer);
3719 4090
4091 ORD(glClear);
4092 ORD(glClearColor);
4093 ORD(glEnable);
4094 ORD(glDisable);
4095 ORD(glReadPixels);
4096 ORD(glScissor);
4097 ORD(glViewport);
4098
3720 // GLES2.0 API compat on top of desktop gl 4099 // GLES2.0 API compat on top of desktop gl
3721 ORD(glClearDepthf); 4100 ORD(glClearDepthf);
3722 ORD(glDepthRangef); 4101 ORD(glDepthRangef);
@@ -3739,6 +4118,24 @@ eng_gl_api_get(void *data)
3739 return &gl_funcs; 4118 return &gl_funcs;
3740} 4119}
3741 4120
4121static void
4122eng_gl_img_obj_set(void *data, void *image, int has_alpha)
4123{
4124 Render_Engine *re = (Render_Engine *)data;
4125
4126 gl_direct_img_obj = NULL;
4127
4128 // Normally direct rendering isn't allowed if alpha is on and
4129 // rotation is not 0. BUT, if override is on, allow it.
4130 if ((has_alpha) || (re->win->gl_context->rot!=0))
4131 {
4132 if (gl_direct_override)
4133 gl_direct_img_obj = image;
4134 }
4135 else
4136 gl_direct_img_obj = image;
4137}
4138
3742static int 4139static int
3743eng_image_load_error_get(void *data __UNUSED__, void *image) 4140eng_image_load_error_get(void *data __UNUSED__, void *image)
3744{ 4141{
@@ -3877,6 +4274,9 @@ module_open(Evas_Module *em)
3877 EINA_LOG_ERR("Can not create a module log domain."); 4274 EINA_LOG_ERR("Can not create a module log domain.");
3878 return 0; 4275 return 0;
3879 } 4276 }
4277 /* Allow alpha for evas gl direct rendering */
4278 if (getenv("EVAS_GL_DIRECT_OVERRIDE")) gl_direct_override = 1;
4279
3880 /* store it for later use */ 4280 /* store it for later use */
3881 func = pfunc; 4281 func = pfunc;
3882 /* now to override methods */ 4282 /* now to override methods */
@@ -3961,6 +4361,7 @@ module_open(Evas_Module *em)
3961 ORD(gl_proc_address_get); 4361 ORD(gl_proc_address_get);
3962 ORD(gl_native_surface_get); 4362 ORD(gl_native_surface_get);
3963 ORD(gl_api_get); 4363 ORD(gl_api_get);
4364 ORD(gl_img_obj_set);
3964 4365
3965 ORD(image_load_error_get); 4366 ORD(image_load_error_get);
3966 4367
diff --git a/libraries/evas/src/modules/engines/psl1ght/Makefile.in b/libraries/evas/src/modules/engines/psl1ght/Makefile.in
index f8524a4..9593d02 100644
--- a/libraries/evas/src/modules/engines/psl1ght/Makefile.in
+++ b/libraries/evas/src/modules/engines/psl1ght/Makefile.in
@@ -190,6 +190,8 @@ EVAS_SSE3_CFLAGS = @EVAS_SSE3_CFLAGS@
190EVIL_CFLAGS = @EVIL_CFLAGS@ 190EVIL_CFLAGS = @EVIL_CFLAGS@
191EVIL_LIBS = @EVIL_LIBS@ 191EVIL_LIBS = @EVIL_LIBS@
192EXEEXT = @EXEEXT@ 192EXEEXT = @EXEEXT@
193EXOTIC_CFLAGS = @EXOTIC_CFLAGS@
194EXOTIC_LIBS = @EXOTIC_LIBS@
193FGREP = @FGREP@ 195FGREP = @FGREP@
194FONTCONFIG_CFLAGS = @FONTCONFIG_CFLAGS@ 196FONTCONFIG_CFLAGS = @FONTCONFIG_CFLAGS@
195FONTCONFIG_LIBS = @FONTCONFIG_LIBS@ 197FONTCONFIG_LIBS = @FONTCONFIG_LIBS@
@@ -240,6 +242,8 @@ PATH_SEPARATOR = @PATH_SEPARATOR@
240PIXMAN_CFLAGS = @PIXMAN_CFLAGS@ 242PIXMAN_CFLAGS = @PIXMAN_CFLAGS@
241PIXMAN_LIBS = @PIXMAN_LIBS@ 243PIXMAN_LIBS = @PIXMAN_LIBS@
242PKG_CONFIG = @PKG_CONFIG@ 244PKG_CONFIG = @PKG_CONFIG@
245PKG_CONFIG_LIBDIR = @PKG_CONFIG_LIBDIR@
246PKG_CONFIG_PATH = @PKG_CONFIG_PATH@
243PNG_CFLAGS = @PNG_CFLAGS@ 247PNG_CFLAGS = @PNG_CFLAGS@
244PNG_LIBS = @PNG_LIBS@ 248PNG_LIBS = @PNG_LIBS@
245RANLIB = @RANLIB@ 249RANLIB = @RANLIB@
@@ -258,8 +262,6 @@ VERSION = @VERSION@
258VMAJ = @VMAJ@ 262VMAJ = @VMAJ@
259WAYLAND_EGL_CFLAGS = @WAYLAND_EGL_CFLAGS@ 263WAYLAND_EGL_CFLAGS = @WAYLAND_EGL_CFLAGS@
260WAYLAND_EGL_LIBS = @WAYLAND_EGL_LIBS@ 264WAYLAND_EGL_LIBS = @WAYLAND_EGL_LIBS@
261WIN32_CFLAGS = @WIN32_CFLAGS@
262WIN32_CPPFLAGS = @WIN32_CPPFLAGS@
263XCB_CFLAGS = @XCB_CFLAGS@ 265XCB_CFLAGS = @XCB_CFLAGS@
264XCB_GL_CFLAGS = @XCB_GL_CFLAGS@ 266XCB_GL_CFLAGS = @XCB_GL_CFLAGS@
265XCB_GL_LIBS = @XCB_GL_LIBS@ 267XCB_GL_LIBS = @XCB_GL_LIBS@
@@ -333,8 +335,6 @@ evas_engine_software_ddraw_cflags = @evas_engine_software_ddraw_cflags@
333evas_engine_software_ddraw_libs = @evas_engine_software_ddraw_libs@ 335evas_engine_software_ddraw_libs = @evas_engine_software_ddraw_libs@
334evas_engine_software_gdi_cflags = @evas_engine_software_gdi_cflags@ 336evas_engine_software_gdi_cflags = @evas_engine_software_gdi_cflags@
335evas_engine_software_gdi_libs = @evas_engine_software_gdi_libs@ 337evas_engine_software_gdi_libs = @evas_engine_software_gdi_libs@
336evas_engine_software_sdl_cflags = @evas_engine_software_sdl_cflags@
337evas_engine_software_sdl_libs = @evas_engine_software_sdl_libs@
338evas_engine_software_xcb_cflags = @evas_engine_software_xcb_cflags@ 338evas_engine_software_xcb_cflags = @evas_engine_software_xcb_cflags@
339evas_engine_software_xcb_libs = @evas_engine_software_xcb_libs@ 339evas_engine_software_xcb_libs = @evas_engine_software_xcb_libs@
340evas_engine_software_xlib_cflags = @evas_engine_software_xlib_cflags@ 340evas_engine_software_xlib_cflags = @evas_engine_software_xlib_cflags@
diff --git a/libraries/evas/src/modules/engines/software_16/Makefile.am b/libraries/evas/src/modules/engines/software_16/Makefile.am
index 070d610..fec60ac 100644
--- a/libraries/evas/src/modules/engines/software_16/Makefile.am
+++ b/libraries/evas/src/modules/engines/software_16/Makefile.am
@@ -10,8 +10,6 @@ AM_CPPFLAGS = \
10@PIXMAN_CFLAGS@ \ 10@PIXMAN_CFLAGS@ \
11@EINA_CFLAGS@ 11@EINA_CFLAGS@
12 12
13AM_CFLAGS = @WIN32_CFLAGS@
14
15if BUILD_ENGINE_SOFTWARE_16 13if BUILD_ENGINE_SOFTWARE_16
16 14
17SOFTWARE_16_SOURCES = evas_engine.c 15SOFTWARE_16_SOURCES = evas_engine.c
diff --git a/libraries/evas/src/modules/engines/software_16/Makefile.in b/libraries/evas/src/modules/engines/software_16/Makefile.in
index 88164e1..bca2deb 100644
--- a/libraries/evas/src/modules/engines/software_16/Makefile.in
+++ b/libraries/evas/src/modules/engines/software_16/Makefile.in
@@ -185,6 +185,8 @@ EVAS_SSE3_CFLAGS = @EVAS_SSE3_CFLAGS@
185EVIL_CFLAGS = @EVIL_CFLAGS@ 185EVIL_CFLAGS = @EVIL_CFLAGS@
186EVIL_LIBS = @EVIL_LIBS@ 186EVIL_LIBS = @EVIL_LIBS@
187EXEEXT = @EXEEXT@ 187EXEEXT = @EXEEXT@
188EXOTIC_CFLAGS = @EXOTIC_CFLAGS@
189EXOTIC_LIBS = @EXOTIC_LIBS@
188FGREP = @FGREP@ 190FGREP = @FGREP@
189FONTCONFIG_CFLAGS = @FONTCONFIG_CFLAGS@ 191FONTCONFIG_CFLAGS = @FONTCONFIG_CFLAGS@
190FONTCONFIG_LIBS = @FONTCONFIG_LIBS@ 192FONTCONFIG_LIBS = @FONTCONFIG_LIBS@
@@ -235,6 +237,8 @@ PATH_SEPARATOR = @PATH_SEPARATOR@
235PIXMAN_CFLAGS = @PIXMAN_CFLAGS@ 237PIXMAN_CFLAGS = @PIXMAN_CFLAGS@
236PIXMAN_LIBS = @PIXMAN_LIBS@ 238PIXMAN_LIBS = @PIXMAN_LIBS@
237PKG_CONFIG = @PKG_CONFIG@ 239PKG_CONFIG = @PKG_CONFIG@
240PKG_CONFIG_LIBDIR = @PKG_CONFIG_LIBDIR@
241PKG_CONFIG_PATH = @PKG_CONFIG_PATH@
238PNG_CFLAGS = @PNG_CFLAGS@ 242PNG_CFLAGS = @PNG_CFLAGS@
239PNG_LIBS = @PNG_LIBS@ 243PNG_LIBS = @PNG_LIBS@
240RANLIB = @RANLIB@ 244RANLIB = @RANLIB@
@@ -253,8 +257,6 @@ VERSION = @VERSION@
253VMAJ = @VMAJ@ 257VMAJ = @VMAJ@
254WAYLAND_EGL_CFLAGS = @WAYLAND_EGL_CFLAGS@ 258WAYLAND_EGL_CFLAGS = @WAYLAND_EGL_CFLAGS@
255WAYLAND_EGL_LIBS = @WAYLAND_EGL_LIBS@ 259WAYLAND_EGL_LIBS = @WAYLAND_EGL_LIBS@
256WIN32_CFLAGS = @WIN32_CFLAGS@
257WIN32_CPPFLAGS = @WIN32_CPPFLAGS@
258XCB_CFLAGS = @XCB_CFLAGS@ 260XCB_CFLAGS = @XCB_CFLAGS@
259XCB_GL_CFLAGS = @XCB_GL_CFLAGS@ 261XCB_GL_CFLAGS = @XCB_GL_CFLAGS@
260XCB_GL_LIBS = @XCB_GL_LIBS@ 262XCB_GL_LIBS = @XCB_GL_LIBS@
@@ -328,8 +330,6 @@ evas_engine_software_ddraw_cflags = @evas_engine_software_ddraw_cflags@
328evas_engine_software_ddraw_libs = @evas_engine_software_ddraw_libs@ 330evas_engine_software_ddraw_libs = @evas_engine_software_ddraw_libs@
329evas_engine_software_gdi_cflags = @evas_engine_software_gdi_cflags@ 331evas_engine_software_gdi_cflags = @evas_engine_software_gdi_cflags@
330evas_engine_software_gdi_libs = @evas_engine_software_gdi_libs@ 332evas_engine_software_gdi_libs = @evas_engine_software_gdi_libs@
331evas_engine_software_sdl_cflags = @evas_engine_software_sdl_cflags@
332evas_engine_software_sdl_libs = @evas_engine_software_sdl_libs@
333evas_engine_software_xcb_cflags = @evas_engine_software_xcb_cflags@ 333evas_engine_software_xcb_cflags = @evas_engine_software_xcb_cflags@
334evas_engine_software_xcb_libs = @evas_engine_software_xcb_libs@ 334evas_engine_software_xcb_libs = @evas_engine_software_xcb_libs@
335evas_engine_software_xlib_cflags = @evas_engine_software_xlib_cflags@ 335evas_engine_software_xlib_cflags = @evas_engine_software_xlib_cflags@
@@ -422,7 +422,6 @@ AM_CPPFLAGS = \
422@PIXMAN_CFLAGS@ \ 422@PIXMAN_CFLAGS@ \
423@EINA_CFLAGS@ 423@EINA_CFLAGS@
424 424
425AM_CFLAGS = @WIN32_CFLAGS@
426@BUILD_ENGINE_SOFTWARE_16_TRUE@SOFTWARE_16_SOURCES = evas_engine.c 425@BUILD_ENGINE_SOFTWARE_16_TRUE@SOFTWARE_16_SOURCES = evas_engine.c
427@BUILD_ENGINE_SOFTWARE_16_TRUE@@EVAS_STATIC_BUILD_SOFTWARE_16_FALSE@pkgdir = $(libdir)/evas/modules/engines/software_16/$(MODULE_ARCH) 426@BUILD_ENGINE_SOFTWARE_16_TRUE@@EVAS_STATIC_BUILD_SOFTWARE_16_FALSE@pkgdir = $(libdir)/evas/modules/engines/software_16/$(MODULE_ARCH)
428@BUILD_ENGINE_SOFTWARE_16_TRUE@@EVAS_STATIC_BUILD_SOFTWARE_16_FALSE@pkg_LTLIBRARIES = module.la 427@BUILD_ENGINE_SOFTWARE_16_TRUE@@EVAS_STATIC_BUILD_SOFTWARE_16_FALSE@pkg_LTLIBRARIES = module.la
diff --git a/libraries/evas/src/modules/engines/software_16_ddraw/Makefile.in b/libraries/evas/src/modules/engines/software_16_ddraw/Makefile.in
index 0039410..014411c 100644
--- a/libraries/evas/src/modules/engines/software_16_ddraw/Makefile.in
+++ b/libraries/evas/src/modules/engines/software_16_ddraw/Makefile.in
@@ -215,6 +215,8 @@ EVAS_SSE3_CFLAGS = @EVAS_SSE3_CFLAGS@
215EVIL_CFLAGS = @EVIL_CFLAGS@ 215EVIL_CFLAGS = @EVIL_CFLAGS@
216EVIL_LIBS = @EVIL_LIBS@ 216EVIL_LIBS = @EVIL_LIBS@
217EXEEXT = @EXEEXT@ 217EXEEXT = @EXEEXT@
218EXOTIC_CFLAGS = @EXOTIC_CFLAGS@
219EXOTIC_LIBS = @EXOTIC_LIBS@
218FGREP = @FGREP@ 220FGREP = @FGREP@
219FONTCONFIG_CFLAGS = @FONTCONFIG_CFLAGS@ 221FONTCONFIG_CFLAGS = @FONTCONFIG_CFLAGS@
220FONTCONFIG_LIBS = @FONTCONFIG_LIBS@ 222FONTCONFIG_LIBS = @FONTCONFIG_LIBS@
@@ -265,6 +267,8 @@ PATH_SEPARATOR = @PATH_SEPARATOR@
265PIXMAN_CFLAGS = @PIXMAN_CFLAGS@ 267PIXMAN_CFLAGS = @PIXMAN_CFLAGS@
266PIXMAN_LIBS = @PIXMAN_LIBS@ 268PIXMAN_LIBS = @PIXMAN_LIBS@
267PKG_CONFIG = @PKG_CONFIG@ 269PKG_CONFIG = @PKG_CONFIG@
270PKG_CONFIG_LIBDIR = @PKG_CONFIG_LIBDIR@
271PKG_CONFIG_PATH = @PKG_CONFIG_PATH@
268PNG_CFLAGS = @PNG_CFLAGS@ 272PNG_CFLAGS = @PNG_CFLAGS@
269PNG_LIBS = @PNG_LIBS@ 273PNG_LIBS = @PNG_LIBS@
270RANLIB = @RANLIB@ 274RANLIB = @RANLIB@
@@ -283,8 +287,6 @@ VERSION = @VERSION@
283VMAJ = @VMAJ@ 287VMAJ = @VMAJ@
284WAYLAND_EGL_CFLAGS = @WAYLAND_EGL_CFLAGS@ 288WAYLAND_EGL_CFLAGS = @WAYLAND_EGL_CFLAGS@
285WAYLAND_EGL_LIBS = @WAYLAND_EGL_LIBS@ 289WAYLAND_EGL_LIBS = @WAYLAND_EGL_LIBS@
286WIN32_CFLAGS = @WIN32_CFLAGS@
287WIN32_CPPFLAGS = @WIN32_CPPFLAGS@
288XCB_CFLAGS = @XCB_CFLAGS@ 290XCB_CFLAGS = @XCB_CFLAGS@
289XCB_GL_CFLAGS = @XCB_GL_CFLAGS@ 291XCB_GL_CFLAGS = @XCB_GL_CFLAGS@
290XCB_GL_LIBS = @XCB_GL_LIBS@ 292XCB_GL_LIBS = @XCB_GL_LIBS@
@@ -358,8 +360,6 @@ evas_engine_software_ddraw_cflags = @evas_engine_software_ddraw_cflags@
358evas_engine_software_ddraw_libs = @evas_engine_software_ddraw_libs@ 360evas_engine_software_ddraw_libs = @evas_engine_software_ddraw_libs@
359evas_engine_software_gdi_cflags = @evas_engine_software_gdi_cflags@ 361evas_engine_software_gdi_cflags = @evas_engine_software_gdi_cflags@
360evas_engine_software_gdi_libs = @evas_engine_software_gdi_libs@ 362evas_engine_software_gdi_libs = @evas_engine_software_gdi_libs@
361evas_engine_software_sdl_cflags = @evas_engine_software_sdl_cflags@
362evas_engine_software_sdl_libs = @evas_engine_software_sdl_libs@
363evas_engine_software_xcb_cflags = @evas_engine_software_xcb_cflags@ 363evas_engine_software_xcb_cflags = @evas_engine_software_xcb_cflags@
364evas_engine_software_xcb_libs = @evas_engine_software_xcb_libs@ 364evas_engine_software_xcb_libs = @evas_engine_software_xcb_libs@
365evas_engine_software_xlib_cflags = @evas_engine_software_xlib_cflags@ 365evas_engine_software_xlib_cflags = @evas_engine_software_xlib_cflags@
diff --git a/libraries/evas/src/modules/engines/software_16_sdl/Makefile.am b/libraries/evas/src/modules/engines/software_16_sdl/Makefile.am
index af0197d..88204c0 100644
--- a/libraries/evas/src/modules/engines/software_16_sdl/Makefile.am
+++ b/libraries/evas/src/modules/engines/software_16_sdl/Makefile.am
@@ -4,7 +4,7 @@ MAINTAINERCLEANFILES = Makefile.in
4 4
5INCLUDES = -I. -I$(top_srcdir)/src/lib -I$(top_srcdir)/src/lib/include @FREETYPE_CFLAGS@ @PIXMAN_CFLAGS@ @SDL_CFLAGS@ @EINA_CFLAGS@ 5INCLUDES = -I. -I$(top_srcdir)/src/lib -I$(top_srcdir)/src/lib/include @FREETYPE_CFLAGS@ @PIXMAN_CFLAGS@ @SDL_CFLAGS@ @EINA_CFLAGS@
6 6
7if BUILD_ENGINE_SOFTWARE_SDL 7if BUILD_ENGINE_SOFTWARE_16_SDL
8 8
9SOFTWARE_SDL_SOURCES = \ 9SOFTWARE_SDL_SOURCES = \
10evas_engine.c \ 10evas_engine.c \
@@ -14,7 +14,7 @@ evas_engine.h
14includes_HEADERS = Evas_Engine_SDL_16.h 14includes_HEADERS = Evas_Engine_SDL_16.h
15includesdir = $(includedir)/evas-@VMAJ@ 15includesdir = $(includedir)/evas-@VMAJ@
16 16
17if !EVAS_STATIC_BUILD_SOFTWARE_SDL 17if !EVAS_STATIC_BUILD_SOFTWARE_16_SDL
18 18
19pkgdir = $(libdir)/evas/modules/engines/software_16_sdl/$(MODULE_ARCH) 19pkgdir = $(libdir)/evas/modules/engines/software_16_sdl/$(MODULE_ARCH)
20pkg_LTLIBRARIES = module.la 20pkg_LTLIBRARIES = module.la
diff --git a/libraries/evas/src/modules/engines/software_16_sdl/Makefile.in b/libraries/evas/src/modules/engines/software_16_sdl/Makefile.in
index 6ebf0db..a8f2cc9 100644
--- a/libraries/evas/src/modules/engines/software_16_sdl/Makefile.in
+++ b/libraries/evas/src/modules/engines/software_16_sdl/Makefile.in
@@ -84,23 +84,23 @@ LTLIBRARIES = $(noinst_LTLIBRARIES) $(pkg_LTLIBRARIES)
84libevas_engine_software_16_sdl_la_DEPENDENCIES = 84libevas_engine_software_16_sdl_la_DEPENDENCIES =
85am__libevas_engine_software_16_sdl_la_SOURCES_DIST = evas_engine.c \ 85am__libevas_engine_software_16_sdl_la_SOURCES_DIST = evas_engine.c \
86 evas_engine.h 86 evas_engine.h
87@BUILD_ENGINE_SOFTWARE_SDL_TRUE@am__objects_1 = evas_engine.lo 87@BUILD_ENGINE_SOFTWARE_16_SDL_TRUE@am__objects_1 = evas_engine.lo
88@BUILD_ENGINE_SOFTWARE_SDL_TRUE@@EVAS_STATIC_BUILD_SOFTWARE_SDL_TRUE@am_libevas_engine_software_16_sdl_la_OBJECTS = $(am__objects_1) 88@BUILD_ENGINE_SOFTWARE_16_SDL_TRUE@@EVAS_STATIC_BUILD_SOFTWARE_16_SDL_TRUE@am_libevas_engine_software_16_sdl_la_OBJECTS = $(am__objects_1)
89libevas_engine_software_16_sdl_la_OBJECTS = \ 89libevas_engine_software_16_sdl_la_OBJECTS = \
90 $(am_libevas_engine_software_16_sdl_la_OBJECTS) 90 $(am_libevas_engine_software_16_sdl_la_OBJECTS)
91AM_V_lt = $(am__v_lt_$(V)) 91AM_V_lt = $(am__v_lt_$(V))
92am__v_lt_ = $(am__v_lt_$(AM_DEFAULT_VERBOSITY)) 92am__v_lt_ = $(am__v_lt_$(AM_DEFAULT_VERBOSITY))
93am__v_lt_0 = --silent 93am__v_lt_0 = --silent
94@BUILD_ENGINE_SOFTWARE_SDL_TRUE@@EVAS_STATIC_BUILD_SOFTWARE_SDL_TRUE@am_libevas_engine_software_16_sdl_la_rpath = 94@BUILD_ENGINE_SOFTWARE_16_SDL_TRUE@@EVAS_STATIC_BUILD_SOFTWARE_16_SDL_TRUE@am_libevas_engine_software_16_sdl_la_rpath =
95@BUILD_ENGINE_SOFTWARE_SDL_TRUE@@EVAS_STATIC_BUILD_SOFTWARE_SDL_FALSE@module_la_DEPENDENCIES = $(top_builddir)/src/lib/libevas.la 95@BUILD_ENGINE_SOFTWARE_16_SDL_TRUE@@EVAS_STATIC_BUILD_SOFTWARE_16_SDL_FALSE@module_la_DEPENDENCIES = $(top_builddir)/src/lib/libevas.la
96am__module_la_SOURCES_DIST = evas_engine.c evas_engine.h 96am__module_la_SOURCES_DIST = evas_engine.c evas_engine.h
97@BUILD_ENGINE_SOFTWARE_SDL_TRUE@@EVAS_STATIC_BUILD_SOFTWARE_SDL_FALSE@am_module_la_OBJECTS = $(am__objects_1) 97@BUILD_ENGINE_SOFTWARE_16_SDL_TRUE@@EVAS_STATIC_BUILD_SOFTWARE_16_SDL_FALSE@am_module_la_OBJECTS = $(am__objects_1)
98module_la_OBJECTS = $(am_module_la_OBJECTS) 98module_la_OBJECTS = $(am_module_la_OBJECTS)
99module_la_LINK = $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) \ 99module_la_LINK = $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) \
100 $(LIBTOOLFLAGS) --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) \ 100 $(LIBTOOLFLAGS) --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) \
101 $(module_la_LDFLAGS) $(LDFLAGS) -o $@ 101 $(module_la_LDFLAGS) $(LDFLAGS) -o $@
102@BUILD_ENGINE_SOFTWARE_SDL_TRUE@@EVAS_STATIC_BUILD_SOFTWARE_SDL_FALSE@am_module_la_rpath = -rpath \ 102@BUILD_ENGINE_SOFTWARE_16_SDL_TRUE@@EVAS_STATIC_BUILD_SOFTWARE_16_SDL_FALSE@am_module_la_rpath = -rpath \
103@BUILD_ENGINE_SOFTWARE_SDL_TRUE@@EVAS_STATIC_BUILD_SOFTWARE_SDL_FALSE@ $(pkgdir) 103@BUILD_ENGINE_SOFTWARE_16_SDL_TRUE@@EVAS_STATIC_BUILD_SOFTWARE_16_SDL_FALSE@ $(pkgdir)
104DEFAULT_INCLUDES = -I.@am__isrc@ -I$(top_builddir) 104DEFAULT_INCLUDES = -I.@am__isrc@ -I$(top_builddir)
105depcomp = $(SHELL) $(top_srcdir)/depcomp 105depcomp = $(SHELL) $(top_srcdir)/depcomp
106am__depfiles_maybe = depfiles 106am__depfiles_maybe = depfiles
@@ -188,6 +188,8 @@ EVAS_SSE3_CFLAGS = @EVAS_SSE3_CFLAGS@
188EVIL_CFLAGS = @EVIL_CFLAGS@ 188EVIL_CFLAGS = @EVIL_CFLAGS@
189EVIL_LIBS = @EVIL_LIBS@ 189EVIL_LIBS = @EVIL_LIBS@
190EXEEXT = @EXEEXT@ 190EXEEXT = @EXEEXT@
191EXOTIC_CFLAGS = @EXOTIC_CFLAGS@
192EXOTIC_LIBS = @EXOTIC_LIBS@
191FGREP = @FGREP@ 193FGREP = @FGREP@
192FONTCONFIG_CFLAGS = @FONTCONFIG_CFLAGS@ 194FONTCONFIG_CFLAGS = @FONTCONFIG_CFLAGS@
193FONTCONFIG_LIBS = @FONTCONFIG_LIBS@ 195FONTCONFIG_LIBS = @FONTCONFIG_LIBS@
@@ -238,6 +240,8 @@ PATH_SEPARATOR = @PATH_SEPARATOR@
238PIXMAN_CFLAGS = @PIXMAN_CFLAGS@ 240PIXMAN_CFLAGS = @PIXMAN_CFLAGS@
239PIXMAN_LIBS = @PIXMAN_LIBS@ 241PIXMAN_LIBS = @PIXMAN_LIBS@
240PKG_CONFIG = @PKG_CONFIG@ 242PKG_CONFIG = @PKG_CONFIG@
243PKG_CONFIG_LIBDIR = @PKG_CONFIG_LIBDIR@
244PKG_CONFIG_PATH = @PKG_CONFIG_PATH@
241PNG_CFLAGS = @PNG_CFLAGS@ 245PNG_CFLAGS = @PNG_CFLAGS@
242PNG_LIBS = @PNG_LIBS@ 246PNG_LIBS = @PNG_LIBS@
243RANLIB = @RANLIB@ 247RANLIB = @RANLIB@
@@ -256,8 +260,6 @@ VERSION = @VERSION@
256VMAJ = @VMAJ@ 260VMAJ = @VMAJ@
257WAYLAND_EGL_CFLAGS = @WAYLAND_EGL_CFLAGS@ 261WAYLAND_EGL_CFLAGS = @WAYLAND_EGL_CFLAGS@
258WAYLAND_EGL_LIBS = @WAYLAND_EGL_LIBS@ 262WAYLAND_EGL_LIBS = @WAYLAND_EGL_LIBS@
259WIN32_CFLAGS = @WIN32_CFLAGS@
260WIN32_CPPFLAGS = @WIN32_CPPFLAGS@
261XCB_CFLAGS = @XCB_CFLAGS@ 263XCB_CFLAGS = @XCB_CFLAGS@
262XCB_GL_CFLAGS = @XCB_GL_CFLAGS@ 264XCB_GL_CFLAGS = @XCB_GL_CFLAGS@
263XCB_GL_LIBS = @XCB_GL_LIBS@ 265XCB_GL_LIBS = @XCB_GL_LIBS@
@@ -331,8 +333,6 @@ evas_engine_software_ddraw_cflags = @evas_engine_software_ddraw_cflags@
331evas_engine_software_ddraw_libs = @evas_engine_software_ddraw_libs@ 333evas_engine_software_ddraw_libs = @evas_engine_software_ddraw_libs@
332evas_engine_software_gdi_cflags = @evas_engine_software_gdi_cflags@ 334evas_engine_software_gdi_cflags = @evas_engine_software_gdi_cflags@
333evas_engine_software_gdi_libs = @evas_engine_software_gdi_libs@ 335evas_engine_software_gdi_libs = @evas_engine_software_gdi_libs@
334evas_engine_software_sdl_cflags = @evas_engine_software_sdl_cflags@
335evas_engine_software_sdl_libs = @evas_engine_software_sdl_libs@
336evas_engine_software_xcb_cflags = @evas_engine_software_xcb_cflags@ 336evas_engine_software_xcb_cflags = @evas_engine_software_xcb_cflags@
337evas_engine_software_xcb_libs = @evas_engine_software_xcb_libs@ 337evas_engine_software_xcb_libs = @evas_engine_software_xcb_libs@
338evas_engine_software_xlib_cflags = @evas_engine_software_xlib_cflags@ 338evas_engine_software_xlib_cflags = @evas_engine_software_xlib_cflags@
@@ -418,20 +418,20 @@ version_info = @version_info@
418AUTOMAKE_OPTIONS = 1.4 foreign 418AUTOMAKE_OPTIONS = 1.4 foreign
419MAINTAINERCLEANFILES = Makefile.in 419MAINTAINERCLEANFILES = Makefile.in
420INCLUDES = -I. -I$(top_srcdir)/src/lib -I$(top_srcdir)/src/lib/include @FREETYPE_CFLAGS@ @PIXMAN_CFLAGS@ @SDL_CFLAGS@ @EINA_CFLAGS@ 420INCLUDES = -I. -I$(top_srcdir)/src/lib -I$(top_srcdir)/src/lib/include @FREETYPE_CFLAGS@ @PIXMAN_CFLAGS@ @SDL_CFLAGS@ @EINA_CFLAGS@
421@BUILD_ENGINE_SOFTWARE_SDL_TRUE@SOFTWARE_SDL_SOURCES = \ 421@BUILD_ENGINE_SOFTWARE_16_SDL_TRUE@SOFTWARE_SDL_SOURCES = \
422@BUILD_ENGINE_SOFTWARE_SDL_TRUE@evas_engine.c \ 422@BUILD_ENGINE_SOFTWARE_16_SDL_TRUE@evas_engine.c \
423@BUILD_ENGINE_SOFTWARE_SDL_TRUE@evas_engine.h 423@BUILD_ENGINE_SOFTWARE_16_SDL_TRUE@evas_engine.h
424 424
425@BUILD_ENGINE_SOFTWARE_SDL_TRUE@includes_HEADERS = Evas_Engine_SDL_16.h 425@BUILD_ENGINE_SOFTWARE_16_SDL_TRUE@includes_HEADERS = Evas_Engine_SDL_16.h
426@BUILD_ENGINE_SOFTWARE_SDL_TRUE@includesdir = $(includedir)/evas-@VMAJ@ 426@BUILD_ENGINE_SOFTWARE_16_SDL_TRUE@includesdir = $(includedir)/evas-@VMAJ@
427@BUILD_ENGINE_SOFTWARE_SDL_TRUE@@EVAS_STATIC_BUILD_SOFTWARE_SDL_FALSE@pkgdir = $(libdir)/evas/modules/engines/software_16_sdl/$(MODULE_ARCH) 427@BUILD_ENGINE_SOFTWARE_16_SDL_TRUE@@EVAS_STATIC_BUILD_SOFTWARE_16_SDL_FALSE@pkgdir = $(libdir)/evas/modules/engines/software_16_sdl/$(MODULE_ARCH)
428@BUILD_ENGINE_SOFTWARE_SDL_TRUE@@EVAS_STATIC_BUILD_SOFTWARE_SDL_FALSE@pkg_LTLIBRARIES = module.la 428@BUILD_ENGINE_SOFTWARE_16_SDL_TRUE@@EVAS_STATIC_BUILD_SOFTWARE_16_SDL_FALSE@pkg_LTLIBRARIES = module.la
429@BUILD_ENGINE_SOFTWARE_SDL_TRUE@@EVAS_STATIC_BUILD_SOFTWARE_SDL_FALSE@module_la_SOURCES = $(SOFTWARE_SDL_SOURCES) 429@BUILD_ENGINE_SOFTWARE_16_SDL_TRUE@@EVAS_STATIC_BUILD_SOFTWARE_16_SDL_FALSE@module_la_SOURCES = $(SOFTWARE_SDL_SOURCES)
430@BUILD_ENGINE_SOFTWARE_SDL_TRUE@@EVAS_STATIC_BUILD_SOFTWARE_SDL_FALSE@module_la_LIBADD = @EINA_LIBS@ @SDL_LIBS@ $(top_builddir)/src/lib/libevas.la 430@BUILD_ENGINE_SOFTWARE_16_SDL_TRUE@@EVAS_STATIC_BUILD_SOFTWARE_16_SDL_FALSE@module_la_LIBADD = @EINA_LIBS@ @SDL_LIBS@ $(top_builddir)/src/lib/libevas.la
431@BUILD_ENGINE_SOFTWARE_SDL_TRUE@@EVAS_STATIC_BUILD_SOFTWARE_SDL_FALSE@module_la_LDFLAGS = -no-undefined -module -avoid-version -L$(top_builddir)/src/lib -L$(top_builddir)/src/lib/.libs 431@BUILD_ENGINE_SOFTWARE_16_SDL_TRUE@@EVAS_STATIC_BUILD_SOFTWARE_16_SDL_FALSE@module_la_LDFLAGS = -no-undefined -module -avoid-version -L$(top_builddir)/src/lib -L$(top_builddir)/src/lib/.libs
432@BUILD_ENGINE_SOFTWARE_SDL_TRUE@@EVAS_STATIC_BUILD_SOFTWARE_SDL_TRUE@noinst_LTLIBRARIES = libevas_engine_software_16_sdl.la 432@BUILD_ENGINE_SOFTWARE_16_SDL_TRUE@@EVAS_STATIC_BUILD_SOFTWARE_16_SDL_TRUE@noinst_LTLIBRARIES = libevas_engine_software_16_sdl.la
433@BUILD_ENGINE_SOFTWARE_SDL_TRUE@@EVAS_STATIC_BUILD_SOFTWARE_SDL_TRUE@libevas_engine_software_16_sdl_la_SOURCES = $(SOFTWARE_SDL_SOURCES) 433@BUILD_ENGINE_SOFTWARE_16_SDL_TRUE@@EVAS_STATIC_BUILD_SOFTWARE_16_SDL_TRUE@libevas_engine_software_16_sdl_la_SOURCES = $(SOFTWARE_SDL_SOURCES)
434@BUILD_ENGINE_SOFTWARE_SDL_TRUE@@EVAS_STATIC_BUILD_SOFTWARE_SDL_TRUE@libevas_engine_software_16_sdl_la_LIBADD = @SDL_LIBS@ 434@BUILD_ENGINE_SOFTWARE_16_SDL_TRUE@@EVAS_STATIC_BUILD_SOFTWARE_16_SDL_TRUE@libevas_engine_software_16_sdl_la_LIBADD = @SDL_LIBS@
435EXTRA_DIST = \ 435EXTRA_DIST = \
436evas_engine.c \ 436evas_engine.c \
437evas_engine.h \ 437evas_engine.h \
diff --git a/libraries/evas/src/modules/engines/software_16_wince/Makefile.am b/libraries/evas/src/modules/engines/software_16_wince/Makefile.am
index 7f0c666..fcd21b1 100644
--- a/libraries/evas/src/modules/engines/software_16_wince/Makefile.am
+++ b/libraries/evas/src/modules/engines/software_16_wince/Makefile.am
@@ -33,7 +33,6 @@ pkgdir = $(libdir)/evas/modules/engines/software_16_wince/$(MODULE_ARCH)
33pkg_LTLIBRARIES = module.la 33pkg_LTLIBRARIES = module.la
34 34
35module_la_SOURCES = $(SOFTWARE_16_WINCE_SOURCE) 35module_la_SOURCES = $(SOFTWARE_16_WINCE_SOURCE)
36module_la_CFLAGS = @WIN32_CFLAGS@
37module_la_CXXFLAGS = -fno-rtti -fno-exceptions 36module_la_CXXFLAGS = -fno-rtti -fno-exceptions
38module_la_LIBADD = @EINA_LIBS@ $(top_builddir)/src/lib/libevas.la $(SOFTWARE_16_WINCE_LIBADD) 37module_la_LIBADD = @EINA_LIBS@ $(top_builddir)/src/lib/libevas.la $(SOFTWARE_16_WINCE_LIBADD)
39module_la_LDFLAGS = -no-undefined @lt_enable_auto_import@ -module -avoid-version 38module_la_LDFLAGS = -no-undefined @lt_enable_auto_import@ -module -avoid-version
diff --git a/libraries/evas/src/modules/engines/software_16_wince/Makefile.in b/libraries/evas/src/modules/engines/software_16_wince/Makefile.in
index 95c484e..d371be5 100644
--- a/libraries/evas/src/modules/engines/software_16_wince/Makefile.in
+++ b/libraries/evas/src/modules/engines/software_16_wince/Makefile.in
@@ -221,6 +221,8 @@ EVAS_SSE3_CFLAGS = @EVAS_SSE3_CFLAGS@
221EVIL_CFLAGS = @EVIL_CFLAGS@ 221EVIL_CFLAGS = @EVIL_CFLAGS@
222EVIL_LIBS = @EVIL_LIBS@ 222EVIL_LIBS = @EVIL_LIBS@
223EXEEXT = @EXEEXT@ 223EXEEXT = @EXEEXT@
224EXOTIC_CFLAGS = @EXOTIC_CFLAGS@
225EXOTIC_LIBS = @EXOTIC_LIBS@
224FGREP = @FGREP@ 226FGREP = @FGREP@
225FONTCONFIG_CFLAGS = @FONTCONFIG_CFLAGS@ 227FONTCONFIG_CFLAGS = @FONTCONFIG_CFLAGS@
226FONTCONFIG_LIBS = @FONTCONFIG_LIBS@ 228FONTCONFIG_LIBS = @FONTCONFIG_LIBS@
@@ -271,6 +273,8 @@ PATH_SEPARATOR = @PATH_SEPARATOR@
271PIXMAN_CFLAGS = @PIXMAN_CFLAGS@ 273PIXMAN_CFLAGS = @PIXMAN_CFLAGS@
272PIXMAN_LIBS = @PIXMAN_LIBS@ 274PIXMAN_LIBS = @PIXMAN_LIBS@
273PKG_CONFIG = @PKG_CONFIG@ 275PKG_CONFIG = @PKG_CONFIG@
276PKG_CONFIG_LIBDIR = @PKG_CONFIG_LIBDIR@
277PKG_CONFIG_PATH = @PKG_CONFIG_PATH@
274PNG_CFLAGS = @PNG_CFLAGS@ 278PNG_CFLAGS = @PNG_CFLAGS@
275PNG_LIBS = @PNG_LIBS@ 279PNG_LIBS = @PNG_LIBS@
276RANLIB = @RANLIB@ 280RANLIB = @RANLIB@
@@ -289,8 +293,6 @@ VERSION = @VERSION@
289VMAJ = @VMAJ@ 293VMAJ = @VMAJ@
290WAYLAND_EGL_CFLAGS = @WAYLAND_EGL_CFLAGS@ 294WAYLAND_EGL_CFLAGS = @WAYLAND_EGL_CFLAGS@
291WAYLAND_EGL_LIBS = @WAYLAND_EGL_LIBS@ 295WAYLAND_EGL_LIBS = @WAYLAND_EGL_LIBS@
292WIN32_CFLAGS = @WIN32_CFLAGS@
293WIN32_CPPFLAGS = @WIN32_CPPFLAGS@
294XCB_CFLAGS = @XCB_CFLAGS@ 296XCB_CFLAGS = @XCB_CFLAGS@
295XCB_GL_CFLAGS = @XCB_GL_CFLAGS@ 297XCB_GL_CFLAGS = @XCB_GL_CFLAGS@
296XCB_GL_LIBS = @XCB_GL_LIBS@ 298XCB_GL_LIBS = @XCB_GL_LIBS@
@@ -364,8 +366,6 @@ evas_engine_software_ddraw_cflags = @evas_engine_software_ddraw_cflags@
364evas_engine_software_ddraw_libs = @evas_engine_software_ddraw_libs@ 366evas_engine_software_ddraw_libs = @evas_engine_software_ddraw_libs@
365evas_engine_software_gdi_cflags = @evas_engine_software_gdi_cflags@ 367evas_engine_software_gdi_cflags = @evas_engine_software_gdi_cflags@
366evas_engine_software_gdi_libs = @evas_engine_software_gdi_libs@ 368evas_engine_software_gdi_libs = @evas_engine_software_gdi_libs@
367evas_engine_software_sdl_cflags = @evas_engine_software_sdl_cflags@
368evas_engine_software_sdl_libs = @evas_engine_software_sdl_libs@
369evas_engine_software_xcb_cflags = @evas_engine_software_xcb_cflags@ 369evas_engine_software_xcb_cflags = @evas_engine_software_xcb_cflags@
370evas_engine_software_xcb_libs = @evas_engine_software_xcb_libs@ 370evas_engine_software_xcb_libs = @evas_engine_software_xcb_libs@
371evas_engine_software_xlib_cflags = @evas_engine_software_xlib_cflags@ 371evas_engine_software_xlib_cflags = @evas_engine_software_xlib_cflags@
@@ -473,7 +473,6 @@ AM_CPPFLAGS = \
473@BUILD_ENGINE_SOFTWARE_16_WINCE_TRUE@@EVAS_STATIC_BUILD_SOFTWARE_16_WINCE_FALSE@pkgdir = $(libdir)/evas/modules/engines/software_16_wince/$(MODULE_ARCH) 473@BUILD_ENGINE_SOFTWARE_16_WINCE_TRUE@@EVAS_STATIC_BUILD_SOFTWARE_16_WINCE_FALSE@pkgdir = $(libdir)/evas/modules/engines/software_16_wince/$(MODULE_ARCH)
474@BUILD_ENGINE_SOFTWARE_16_WINCE_TRUE@@EVAS_STATIC_BUILD_SOFTWARE_16_WINCE_FALSE@pkg_LTLIBRARIES = module.la 474@BUILD_ENGINE_SOFTWARE_16_WINCE_TRUE@@EVAS_STATIC_BUILD_SOFTWARE_16_WINCE_FALSE@pkg_LTLIBRARIES = module.la
475@BUILD_ENGINE_SOFTWARE_16_WINCE_TRUE@@EVAS_STATIC_BUILD_SOFTWARE_16_WINCE_FALSE@module_la_SOURCES = $(SOFTWARE_16_WINCE_SOURCE) 475@BUILD_ENGINE_SOFTWARE_16_WINCE_TRUE@@EVAS_STATIC_BUILD_SOFTWARE_16_WINCE_FALSE@module_la_SOURCES = $(SOFTWARE_16_WINCE_SOURCE)
476@BUILD_ENGINE_SOFTWARE_16_WINCE_TRUE@@EVAS_STATIC_BUILD_SOFTWARE_16_WINCE_FALSE@module_la_CFLAGS = @WIN32_CFLAGS@
477@BUILD_ENGINE_SOFTWARE_16_WINCE_TRUE@@EVAS_STATIC_BUILD_SOFTWARE_16_WINCE_FALSE@module_la_CXXFLAGS = -fno-rtti -fno-exceptions 476@BUILD_ENGINE_SOFTWARE_16_WINCE_TRUE@@EVAS_STATIC_BUILD_SOFTWARE_16_WINCE_FALSE@module_la_CXXFLAGS = -fno-rtti -fno-exceptions
478@BUILD_ENGINE_SOFTWARE_16_WINCE_TRUE@@EVAS_STATIC_BUILD_SOFTWARE_16_WINCE_FALSE@module_la_LIBADD = @EINA_LIBS@ $(top_builddir)/src/lib/libevas.la $(SOFTWARE_16_WINCE_LIBADD) 477@BUILD_ENGINE_SOFTWARE_16_WINCE_TRUE@@EVAS_STATIC_BUILD_SOFTWARE_16_WINCE_FALSE@module_la_LIBADD = @EINA_LIBS@ $(top_builddir)/src/lib/libevas.la $(SOFTWARE_16_WINCE_LIBADD)
479@BUILD_ENGINE_SOFTWARE_16_WINCE_TRUE@@EVAS_STATIC_BUILD_SOFTWARE_16_WINCE_FALSE@module_la_LDFLAGS = -no-undefined @lt_enable_auto_import@ -module -avoid-version 478@BUILD_ENGINE_SOFTWARE_16_WINCE_TRUE@@EVAS_STATIC_BUILD_SOFTWARE_16_WINCE_FALSE@module_la_LDFLAGS = -no-undefined @lt_enable_auto_import@ -module -avoid-version
@@ -603,36 +602,36 @@ distclean-compile:
603@am__fastdepCC_FALSE@ $(LTCOMPILE) -c -o $@ $< 602@am__fastdepCC_FALSE@ $(LTCOMPILE) -c -o $@ $<
604 603
605module_la-evas_engine.lo: evas_engine.c 604module_la-evas_engine.lo: evas_engine.c
606@am__fastdepCC_TRUE@ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(module_la_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(module_la_CFLAGS) $(CFLAGS) -MT module_la-evas_engine.lo -MD -MP -MF $(DEPDIR)/module_la-evas_engine.Tpo -c -o module_la-evas_engine.lo `test -f 'evas_engine.c' || echo '$(srcdir)/'`evas_engine.c 605@am__fastdepCC_TRUE@ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(module_la_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT module_la-evas_engine.lo -MD -MP -MF $(DEPDIR)/module_la-evas_engine.Tpo -c -o module_la-evas_engine.lo `test -f 'evas_engine.c' || echo '$(srcdir)/'`evas_engine.c
607@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/module_la-evas_engine.Tpo $(DEPDIR)/module_la-evas_engine.Plo 606@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/module_la-evas_engine.Tpo $(DEPDIR)/module_la-evas_engine.Plo
608@am__fastdepCC_FALSE@ $(AM_V_CC) @AM_BACKSLASH@ 607@am__fastdepCC_FALSE@ $(AM_V_CC) @AM_BACKSLASH@
609@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='evas_engine.c' object='module_la-evas_engine.lo' libtool=yes @AMDEPBACKSLASH@ 608@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='evas_engine.c' object='module_la-evas_engine.lo' libtool=yes @AMDEPBACKSLASH@
610@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ 609@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
611@am__fastdepCC_FALSE@ $(LIBTOOL) $(AM_V_lt) --tag=CC $(module_la_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(module_la_CFLAGS) $(CFLAGS) -c -o module_la-evas_engine.lo `test -f 'evas_engine.c' || echo '$(srcdir)/'`evas_engine.c 610@am__fastdepCC_FALSE@ $(LIBTOOL) $(AM_V_lt) --tag=CC $(module_la_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o module_la-evas_engine.lo `test -f 'evas_engine.c' || echo '$(srcdir)/'`evas_engine.c
612 611
613module_la-evas_wince_fb_buffer.lo: evas_wince_fb_buffer.c 612module_la-evas_wince_fb_buffer.lo: evas_wince_fb_buffer.c
614@am__fastdepCC_TRUE@ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(module_la_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(module_la_CFLAGS) $(CFLAGS) -MT module_la-evas_wince_fb_buffer.lo -MD -MP -MF $(DEPDIR)/module_la-evas_wince_fb_buffer.Tpo -c -o module_la-evas_wince_fb_buffer.lo `test -f 'evas_wince_fb_buffer.c' || echo '$(srcdir)/'`evas_wince_fb_buffer.c 613@am__fastdepCC_TRUE@ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(module_la_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT module_la-evas_wince_fb_buffer.lo -MD -MP -MF $(DEPDIR)/module_la-evas_wince_fb_buffer.Tpo -c -o module_la-evas_wince_fb_buffer.lo `test -f 'evas_wince_fb_buffer.c' || echo '$(srcdir)/'`evas_wince_fb_buffer.c
615@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/module_la-evas_wince_fb_buffer.Tpo $(DEPDIR)/module_la-evas_wince_fb_buffer.Plo 614@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/module_la-evas_wince_fb_buffer.Tpo $(DEPDIR)/module_la-evas_wince_fb_buffer.Plo
616@am__fastdepCC_FALSE@ $(AM_V_CC) @AM_BACKSLASH@ 615@am__fastdepCC_FALSE@ $(AM_V_CC) @AM_BACKSLASH@
617@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='evas_wince_fb_buffer.c' object='module_la-evas_wince_fb_buffer.lo' libtool=yes @AMDEPBACKSLASH@ 616@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='evas_wince_fb_buffer.c' object='module_la-evas_wince_fb_buffer.lo' libtool=yes @AMDEPBACKSLASH@
618@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ 617@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
619@am__fastdepCC_FALSE@ $(LIBTOOL) $(AM_V_lt) --tag=CC $(module_la_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(module_la_CFLAGS) $(CFLAGS) -c -o module_la-evas_wince_fb_buffer.lo `test -f 'evas_wince_fb_buffer.c' || echo '$(srcdir)/'`evas_wince_fb_buffer.c 618@am__fastdepCC_FALSE@ $(LIBTOOL) $(AM_V_lt) --tag=CC $(module_la_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o module_la-evas_wince_fb_buffer.lo `test -f 'evas_wince_fb_buffer.c' || echo '$(srcdir)/'`evas_wince_fb_buffer.c
620 619
621module_la-evas_wince_gapi_buffer.lo: evas_wince_gapi_buffer.c 620module_la-evas_wince_gapi_buffer.lo: evas_wince_gapi_buffer.c
622@am__fastdepCC_TRUE@ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(module_la_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(module_la_CFLAGS) $(CFLAGS) -MT module_la-evas_wince_gapi_buffer.lo -MD -MP -MF $(DEPDIR)/module_la-evas_wince_gapi_buffer.Tpo -c -o module_la-evas_wince_gapi_buffer.lo `test -f 'evas_wince_gapi_buffer.c' || echo '$(srcdir)/'`evas_wince_gapi_buffer.c 621@am__fastdepCC_TRUE@ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(module_la_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT module_la-evas_wince_gapi_buffer.lo -MD -MP -MF $(DEPDIR)/module_la-evas_wince_gapi_buffer.Tpo -c -o module_la-evas_wince_gapi_buffer.lo `test -f 'evas_wince_gapi_buffer.c' || echo '$(srcdir)/'`evas_wince_gapi_buffer.c
623@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/module_la-evas_wince_gapi_buffer.Tpo $(DEPDIR)/module_la-evas_wince_gapi_buffer.Plo 622@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/module_la-evas_wince_gapi_buffer.Tpo $(DEPDIR)/module_la-evas_wince_gapi_buffer.Plo
624@am__fastdepCC_FALSE@ $(AM_V_CC) @AM_BACKSLASH@ 623@am__fastdepCC_FALSE@ $(AM_V_CC) @AM_BACKSLASH@
625@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='evas_wince_gapi_buffer.c' object='module_la-evas_wince_gapi_buffer.lo' libtool=yes @AMDEPBACKSLASH@ 624@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='evas_wince_gapi_buffer.c' object='module_la-evas_wince_gapi_buffer.lo' libtool=yes @AMDEPBACKSLASH@
626@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ 625@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
627@am__fastdepCC_FALSE@ $(LIBTOOL) $(AM_V_lt) --tag=CC $(module_la_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(module_la_CFLAGS) $(CFLAGS) -c -o module_la-evas_wince_gapi_buffer.lo `test -f 'evas_wince_gapi_buffer.c' || echo '$(srcdir)/'`evas_wince_gapi_buffer.c 626@am__fastdepCC_FALSE@ $(LIBTOOL) $(AM_V_lt) --tag=CC $(module_la_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o module_la-evas_wince_gapi_buffer.lo `test -f 'evas_wince_gapi_buffer.c' || echo '$(srcdir)/'`evas_wince_gapi_buffer.c
628 627
629module_la-evas_wince_gdi_buffer.lo: evas_wince_gdi_buffer.c 628module_la-evas_wince_gdi_buffer.lo: evas_wince_gdi_buffer.c
630@am__fastdepCC_TRUE@ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(module_la_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(module_la_CFLAGS) $(CFLAGS) -MT module_la-evas_wince_gdi_buffer.lo -MD -MP -MF $(DEPDIR)/module_la-evas_wince_gdi_buffer.Tpo -c -o module_la-evas_wince_gdi_buffer.lo `test -f 'evas_wince_gdi_buffer.c' || echo '$(srcdir)/'`evas_wince_gdi_buffer.c 629@am__fastdepCC_TRUE@ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(module_la_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT module_la-evas_wince_gdi_buffer.lo -MD -MP -MF $(DEPDIR)/module_la-evas_wince_gdi_buffer.Tpo -c -o module_la-evas_wince_gdi_buffer.lo `test -f 'evas_wince_gdi_buffer.c' || echo '$(srcdir)/'`evas_wince_gdi_buffer.c
631@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/module_la-evas_wince_gdi_buffer.Tpo $(DEPDIR)/module_la-evas_wince_gdi_buffer.Plo 630@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/module_la-evas_wince_gdi_buffer.Tpo $(DEPDIR)/module_la-evas_wince_gdi_buffer.Plo
632@am__fastdepCC_FALSE@ $(AM_V_CC) @AM_BACKSLASH@ 631@am__fastdepCC_FALSE@ $(AM_V_CC) @AM_BACKSLASH@
633@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='evas_wince_gdi_buffer.c' object='module_la-evas_wince_gdi_buffer.lo' libtool=yes @AMDEPBACKSLASH@ 632@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='evas_wince_gdi_buffer.c' object='module_la-evas_wince_gdi_buffer.lo' libtool=yes @AMDEPBACKSLASH@
634@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ 633@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
635@am__fastdepCC_FALSE@ $(LIBTOOL) $(AM_V_lt) --tag=CC $(module_la_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(module_la_CFLAGS) $(CFLAGS) -c -o module_la-evas_wince_gdi_buffer.lo `test -f 'evas_wince_gdi_buffer.c' || echo '$(srcdir)/'`evas_wince_gdi_buffer.c 634@am__fastdepCC_FALSE@ $(LIBTOOL) $(AM_V_lt) --tag=CC $(module_la_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o module_la-evas_wince_gdi_buffer.lo `test -f 'evas_wince_gdi_buffer.c' || echo '$(srcdir)/'`evas_wince_gdi_buffer.c
636 635
637.cpp.o: 636.cpp.o:
638@am__fastdepCXX_TRUE@ $(AM_V_CXX)$(CXXCOMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $< 637@am__fastdepCXX_TRUE@ $(AM_V_CXX)$(CXXCOMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $<
diff --git a/libraries/evas/src/modules/engines/software_16_x11/Makefile.in b/libraries/evas/src/modules/engines/software_16_x11/Makefile.in
index 3232681..2ce18e6 100644
--- a/libraries/evas/src/modules/engines/software_16_x11/Makefile.in
+++ b/libraries/evas/src/modules/engines/software_16_x11/Makefile.in
@@ -194,6 +194,8 @@ EVAS_SSE3_CFLAGS = @EVAS_SSE3_CFLAGS@
194EVIL_CFLAGS = @EVIL_CFLAGS@ 194EVIL_CFLAGS = @EVIL_CFLAGS@
195EVIL_LIBS = @EVIL_LIBS@ 195EVIL_LIBS = @EVIL_LIBS@
196EXEEXT = @EXEEXT@ 196EXEEXT = @EXEEXT@
197EXOTIC_CFLAGS = @EXOTIC_CFLAGS@
198EXOTIC_LIBS = @EXOTIC_LIBS@
197FGREP = @FGREP@ 199FGREP = @FGREP@
198FONTCONFIG_CFLAGS = @FONTCONFIG_CFLAGS@ 200FONTCONFIG_CFLAGS = @FONTCONFIG_CFLAGS@
199FONTCONFIG_LIBS = @FONTCONFIG_LIBS@ 201FONTCONFIG_LIBS = @FONTCONFIG_LIBS@
@@ -244,6 +246,8 @@ PATH_SEPARATOR = @PATH_SEPARATOR@
244PIXMAN_CFLAGS = @PIXMAN_CFLAGS@ 246PIXMAN_CFLAGS = @PIXMAN_CFLAGS@
245PIXMAN_LIBS = @PIXMAN_LIBS@ 247PIXMAN_LIBS = @PIXMAN_LIBS@
246PKG_CONFIG = @PKG_CONFIG@ 248PKG_CONFIG = @PKG_CONFIG@
249PKG_CONFIG_LIBDIR = @PKG_CONFIG_LIBDIR@
250PKG_CONFIG_PATH = @PKG_CONFIG_PATH@
247PNG_CFLAGS = @PNG_CFLAGS@ 251PNG_CFLAGS = @PNG_CFLAGS@
248PNG_LIBS = @PNG_LIBS@ 252PNG_LIBS = @PNG_LIBS@
249RANLIB = @RANLIB@ 253RANLIB = @RANLIB@
@@ -262,8 +266,6 @@ VERSION = @VERSION@
262VMAJ = @VMAJ@ 266VMAJ = @VMAJ@
263WAYLAND_EGL_CFLAGS = @WAYLAND_EGL_CFLAGS@ 267WAYLAND_EGL_CFLAGS = @WAYLAND_EGL_CFLAGS@
264WAYLAND_EGL_LIBS = @WAYLAND_EGL_LIBS@ 268WAYLAND_EGL_LIBS = @WAYLAND_EGL_LIBS@
265WIN32_CFLAGS = @WIN32_CFLAGS@
266WIN32_CPPFLAGS = @WIN32_CPPFLAGS@
267XCB_CFLAGS = @XCB_CFLAGS@ 269XCB_CFLAGS = @XCB_CFLAGS@
268XCB_GL_CFLAGS = @XCB_GL_CFLAGS@ 270XCB_GL_CFLAGS = @XCB_GL_CFLAGS@
269XCB_GL_LIBS = @XCB_GL_LIBS@ 271XCB_GL_LIBS = @XCB_GL_LIBS@
@@ -337,8 +339,6 @@ evas_engine_software_ddraw_cflags = @evas_engine_software_ddraw_cflags@
337evas_engine_software_ddraw_libs = @evas_engine_software_ddraw_libs@ 339evas_engine_software_ddraw_libs = @evas_engine_software_ddraw_libs@
338evas_engine_software_gdi_cflags = @evas_engine_software_gdi_cflags@ 340evas_engine_software_gdi_cflags = @evas_engine_software_gdi_cflags@
339evas_engine_software_gdi_libs = @evas_engine_software_gdi_libs@ 341evas_engine_software_gdi_libs = @evas_engine_software_gdi_libs@
340evas_engine_software_sdl_cflags = @evas_engine_software_sdl_cflags@
341evas_engine_software_sdl_libs = @evas_engine_software_sdl_libs@
342evas_engine_software_xcb_cflags = @evas_engine_software_xcb_cflags@ 342evas_engine_software_xcb_cflags = @evas_engine_software_xcb_cflags@
343evas_engine_software_xcb_libs = @evas_engine_software_xcb_libs@ 343evas_engine_software_xcb_libs = @evas_engine_software_xcb_libs@
344evas_engine_software_xlib_cflags = @evas_engine_software_xlib_cflags@ 344evas_engine_software_xlib_cflags = @evas_engine_software_xlib_cflags@
diff --git a/libraries/evas/src/modules/engines/software_8/Makefile.am b/libraries/evas/src/modules/engines/software_8/Makefile.am
index 145b766..46637fb 100644
--- a/libraries/evas/src/modules/engines/software_8/Makefile.am
+++ b/libraries/evas/src/modules/engines/software_8/Makefile.am
@@ -10,8 +10,6 @@ AM_CPPFLAGS = \
10@PIXMAN_CFLAGS@ \ 10@PIXMAN_CFLAGS@ \
11@EINA_CFLAGS@ 11@EINA_CFLAGS@
12 12
13AM_CFLAGS = @WIN32_CFLAGS@
14
15if BUILD_ENGINE_SOFTWARE_8 13if BUILD_ENGINE_SOFTWARE_8
16 14
17SOFTWARE_8_SOURCES = evas_engine.c 15SOFTWARE_8_SOURCES = evas_engine.c
diff --git a/libraries/evas/src/modules/engines/software_8/Makefile.in b/libraries/evas/src/modules/engines/software_8/Makefile.in
index 3ee42fd..6da6bbb 100644
--- a/libraries/evas/src/modules/engines/software_8/Makefile.in
+++ b/libraries/evas/src/modules/engines/software_8/Makefile.in
@@ -184,6 +184,8 @@ EVAS_SSE3_CFLAGS = @EVAS_SSE3_CFLAGS@
184EVIL_CFLAGS = @EVIL_CFLAGS@ 184EVIL_CFLAGS = @EVIL_CFLAGS@
185EVIL_LIBS = @EVIL_LIBS@ 185EVIL_LIBS = @EVIL_LIBS@
186EXEEXT = @EXEEXT@ 186EXEEXT = @EXEEXT@
187EXOTIC_CFLAGS = @EXOTIC_CFLAGS@
188EXOTIC_LIBS = @EXOTIC_LIBS@
187FGREP = @FGREP@ 189FGREP = @FGREP@
188FONTCONFIG_CFLAGS = @FONTCONFIG_CFLAGS@ 190FONTCONFIG_CFLAGS = @FONTCONFIG_CFLAGS@
189FONTCONFIG_LIBS = @FONTCONFIG_LIBS@ 191FONTCONFIG_LIBS = @FONTCONFIG_LIBS@
@@ -234,6 +236,8 @@ PATH_SEPARATOR = @PATH_SEPARATOR@
234PIXMAN_CFLAGS = @PIXMAN_CFLAGS@ 236PIXMAN_CFLAGS = @PIXMAN_CFLAGS@
235PIXMAN_LIBS = @PIXMAN_LIBS@ 237PIXMAN_LIBS = @PIXMAN_LIBS@
236PKG_CONFIG = @PKG_CONFIG@ 238PKG_CONFIG = @PKG_CONFIG@
239PKG_CONFIG_LIBDIR = @PKG_CONFIG_LIBDIR@
240PKG_CONFIG_PATH = @PKG_CONFIG_PATH@
237PNG_CFLAGS = @PNG_CFLAGS@ 241PNG_CFLAGS = @PNG_CFLAGS@
238PNG_LIBS = @PNG_LIBS@ 242PNG_LIBS = @PNG_LIBS@
239RANLIB = @RANLIB@ 243RANLIB = @RANLIB@
@@ -252,8 +256,6 @@ VERSION = @VERSION@
252VMAJ = @VMAJ@ 256VMAJ = @VMAJ@
253WAYLAND_EGL_CFLAGS = @WAYLAND_EGL_CFLAGS@ 257WAYLAND_EGL_CFLAGS = @WAYLAND_EGL_CFLAGS@
254WAYLAND_EGL_LIBS = @WAYLAND_EGL_LIBS@ 258WAYLAND_EGL_LIBS = @WAYLAND_EGL_LIBS@
255WIN32_CFLAGS = @WIN32_CFLAGS@
256WIN32_CPPFLAGS = @WIN32_CPPFLAGS@
257XCB_CFLAGS = @XCB_CFLAGS@ 259XCB_CFLAGS = @XCB_CFLAGS@
258XCB_GL_CFLAGS = @XCB_GL_CFLAGS@ 260XCB_GL_CFLAGS = @XCB_GL_CFLAGS@
259XCB_GL_LIBS = @XCB_GL_LIBS@ 261XCB_GL_LIBS = @XCB_GL_LIBS@
@@ -327,8 +329,6 @@ evas_engine_software_ddraw_cflags = @evas_engine_software_ddraw_cflags@
327evas_engine_software_ddraw_libs = @evas_engine_software_ddraw_libs@ 329evas_engine_software_ddraw_libs = @evas_engine_software_ddraw_libs@
328evas_engine_software_gdi_cflags = @evas_engine_software_gdi_cflags@ 330evas_engine_software_gdi_cflags = @evas_engine_software_gdi_cflags@
329evas_engine_software_gdi_libs = @evas_engine_software_gdi_libs@ 331evas_engine_software_gdi_libs = @evas_engine_software_gdi_libs@
330evas_engine_software_sdl_cflags = @evas_engine_software_sdl_cflags@
331evas_engine_software_sdl_libs = @evas_engine_software_sdl_libs@
332evas_engine_software_xcb_cflags = @evas_engine_software_xcb_cflags@ 332evas_engine_software_xcb_cflags = @evas_engine_software_xcb_cflags@
333evas_engine_software_xcb_libs = @evas_engine_software_xcb_libs@ 333evas_engine_software_xcb_libs = @evas_engine_software_xcb_libs@
334evas_engine_software_xlib_cflags = @evas_engine_software_xlib_cflags@ 334evas_engine_software_xlib_cflags = @evas_engine_software_xlib_cflags@
@@ -421,7 +421,6 @@ AM_CPPFLAGS = \
421@PIXMAN_CFLAGS@ \ 421@PIXMAN_CFLAGS@ \
422@EINA_CFLAGS@ 422@EINA_CFLAGS@
423 423
424AM_CFLAGS = @WIN32_CFLAGS@
425@BUILD_ENGINE_SOFTWARE_8_TRUE@SOFTWARE_8_SOURCES = evas_engine.c 424@BUILD_ENGINE_SOFTWARE_8_TRUE@SOFTWARE_8_SOURCES = evas_engine.c
426@BUILD_ENGINE_SOFTWARE_8_TRUE@@EVAS_STATIC_BUILD_SOFTWARE_8_X11_FALSE@pkgdir = $(libdir)/evas/modules/engines/software_8/$(MODULE_ARCH) 425@BUILD_ENGINE_SOFTWARE_8_TRUE@@EVAS_STATIC_BUILD_SOFTWARE_8_X11_FALSE@pkgdir = $(libdir)/evas/modules/engines/software_8/$(MODULE_ARCH)
427@BUILD_ENGINE_SOFTWARE_8_TRUE@@EVAS_STATIC_BUILD_SOFTWARE_8_X11_FALSE@pkg_LTLIBRARIES = module.la 426@BUILD_ENGINE_SOFTWARE_8_TRUE@@EVAS_STATIC_BUILD_SOFTWARE_8_X11_FALSE@pkg_LTLIBRARIES = module.la
diff --git a/libraries/evas/src/modules/engines/software_8_x11/Makefile.in b/libraries/evas/src/modules/engines/software_8_x11/Makefile.in
index 22577af..3231fd1 100644
--- a/libraries/evas/src/modules/engines/software_8_x11/Makefile.in
+++ b/libraries/evas/src/modules/engines/software_8_x11/Makefile.in
@@ -194,6 +194,8 @@ EVAS_SSE3_CFLAGS = @EVAS_SSE3_CFLAGS@
194EVIL_CFLAGS = @EVIL_CFLAGS@ 194EVIL_CFLAGS = @EVIL_CFLAGS@
195EVIL_LIBS = @EVIL_LIBS@ 195EVIL_LIBS = @EVIL_LIBS@
196EXEEXT = @EXEEXT@ 196EXEEXT = @EXEEXT@
197EXOTIC_CFLAGS = @EXOTIC_CFLAGS@
198EXOTIC_LIBS = @EXOTIC_LIBS@
197FGREP = @FGREP@ 199FGREP = @FGREP@
198FONTCONFIG_CFLAGS = @FONTCONFIG_CFLAGS@ 200FONTCONFIG_CFLAGS = @FONTCONFIG_CFLAGS@
199FONTCONFIG_LIBS = @FONTCONFIG_LIBS@ 201FONTCONFIG_LIBS = @FONTCONFIG_LIBS@
@@ -244,6 +246,8 @@ PATH_SEPARATOR = @PATH_SEPARATOR@
244PIXMAN_CFLAGS = @PIXMAN_CFLAGS@ 246PIXMAN_CFLAGS = @PIXMAN_CFLAGS@
245PIXMAN_LIBS = @PIXMAN_LIBS@ 247PIXMAN_LIBS = @PIXMAN_LIBS@
246PKG_CONFIG = @PKG_CONFIG@ 248PKG_CONFIG = @PKG_CONFIG@
249PKG_CONFIG_LIBDIR = @PKG_CONFIG_LIBDIR@
250PKG_CONFIG_PATH = @PKG_CONFIG_PATH@
247PNG_CFLAGS = @PNG_CFLAGS@ 251PNG_CFLAGS = @PNG_CFLAGS@
248PNG_LIBS = @PNG_LIBS@ 252PNG_LIBS = @PNG_LIBS@
249RANLIB = @RANLIB@ 253RANLIB = @RANLIB@
@@ -262,8 +266,6 @@ VERSION = @VERSION@
262VMAJ = @VMAJ@ 266VMAJ = @VMAJ@
263WAYLAND_EGL_CFLAGS = @WAYLAND_EGL_CFLAGS@ 267WAYLAND_EGL_CFLAGS = @WAYLAND_EGL_CFLAGS@
264WAYLAND_EGL_LIBS = @WAYLAND_EGL_LIBS@ 268WAYLAND_EGL_LIBS = @WAYLAND_EGL_LIBS@
265WIN32_CFLAGS = @WIN32_CFLAGS@
266WIN32_CPPFLAGS = @WIN32_CPPFLAGS@
267XCB_CFLAGS = @XCB_CFLAGS@ 269XCB_CFLAGS = @XCB_CFLAGS@
268XCB_GL_CFLAGS = @XCB_GL_CFLAGS@ 270XCB_GL_CFLAGS = @XCB_GL_CFLAGS@
269XCB_GL_LIBS = @XCB_GL_LIBS@ 271XCB_GL_LIBS = @XCB_GL_LIBS@
@@ -337,8 +339,6 @@ evas_engine_software_ddraw_cflags = @evas_engine_software_ddraw_cflags@
337evas_engine_software_ddraw_libs = @evas_engine_software_ddraw_libs@ 339evas_engine_software_ddraw_libs = @evas_engine_software_ddraw_libs@
338evas_engine_software_gdi_cflags = @evas_engine_software_gdi_cflags@ 340evas_engine_software_gdi_cflags = @evas_engine_software_gdi_cflags@
339evas_engine_software_gdi_libs = @evas_engine_software_gdi_libs@ 341evas_engine_software_gdi_libs = @evas_engine_software_gdi_libs@
340evas_engine_software_sdl_cflags = @evas_engine_software_sdl_cflags@
341evas_engine_software_sdl_libs = @evas_engine_software_sdl_libs@
342evas_engine_software_xcb_cflags = @evas_engine_software_xcb_cflags@ 342evas_engine_software_xcb_cflags = @evas_engine_software_xcb_cflags@
343evas_engine_software_xcb_libs = @evas_engine_software_xcb_libs@ 343evas_engine_software_xcb_libs = @evas_engine_software_xcb_libs@
344evas_engine_software_xlib_cflags = @evas_engine_software_xlib_cflags@ 344evas_engine_software_xlib_cflags = @evas_engine_software_xlib_cflags@
diff --git a/libraries/evas/src/modules/engines/software_ddraw/Makefile.in b/libraries/evas/src/modules/engines/software_ddraw/Makefile.in
index da65f92..629b413 100644
--- a/libraries/evas/src/modules/engines/software_ddraw/Makefile.in
+++ b/libraries/evas/src/modules/engines/software_ddraw/Makefile.in
@@ -216,6 +216,8 @@ EVAS_SSE3_CFLAGS = @EVAS_SSE3_CFLAGS@
216EVIL_CFLAGS = @EVIL_CFLAGS@ 216EVIL_CFLAGS = @EVIL_CFLAGS@
217EVIL_LIBS = @EVIL_LIBS@ 217EVIL_LIBS = @EVIL_LIBS@
218EXEEXT = @EXEEXT@ 218EXEEXT = @EXEEXT@
219EXOTIC_CFLAGS = @EXOTIC_CFLAGS@
220EXOTIC_LIBS = @EXOTIC_LIBS@
219FGREP = @FGREP@ 221FGREP = @FGREP@
220FONTCONFIG_CFLAGS = @FONTCONFIG_CFLAGS@ 222FONTCONFIG_CFLAGS = @FONTCONFIG_CFLAGS@
221FONTCONFIG_LIBS = @FONTCONFIG_LIBS@ 223FONTCONFIG_LIBS = @FONTCONFIG_LIBS@
@@ -266,6 +268,8 @@ PATH_SEPARATOR = @PATH_SEPARATOR@
266PIXMAN_CFLAGS = @PIXMAN_CFLAGS@ 268PIXMAN_CFLAGS = @PIXMAN_CFLAGS@
267PIXMAN_LIBS = @PIXMAN_LIBS@ 269PIXMAN_LIBS = @PIXMAN_LIBS@
268PKG_CONFIG = @PKG_CONFIG@ 270PKG_CONFIG = @PKG_CONFIG@
271PKG_CONFIG_LIBDIR = @PKG_CONFIG_LIBDIR@
272PKG_CONFIG_PATH = @PKG_CONFIG_PATH@
269PNG_CFLAGS = @PNG_CFLAGS@ 273PNG_CFLAGS = @PNG_CFLAGS@
270PNG_LIBS = @PNG_LIBS@ 274PNG_LIBS = @PNG_LIBS@
271RANLIB = @RANLIB@ 275RANLIB = @RANLIB@
@@ -284,8 +288,6 @@ VERSION = @VERSION@
284VMAJ = @VMAJ@ 288VMAJ = @VMAJ@
285WAYLAND_EGL_CFLAGS = @WAYLAND_EGL_CFLAGS@ 289WAYLAND_EGL_CFLAGS = @WAYLAND_EGL_CFLAGS@
286WAYLAND_EGL_LIBS = @WAYLAND_EGL_LIBS@ 290WAYLAND_EGL_LIBS = @WAYLAND_EGL_LIBS@
287WIN32_CFLAGS = @WIN32_CFLAGS@
288WIN32_CPPFLAGS = @WIN32_CPPFLAGS@
289XCB_CFLAGS = @XCB_CFLAGS@ 291XCB_CFLAGS = @XCB_CFLAGS@
290XCB_GL_CFLAGS = @XCB_GL_CFLAGS@ 292XCB_GL_CFLAGS = @XCB_GL_CFLAGS@
291XCB_GL_LIBS = @XCB_GL_LIBS@ 293XCB_GL_LIBS = @XCB_GL_LIBS@
@@ -359,8 +361,6 @@ evas_engine_software_ddraw_cflags = @evas_engine_software_ddraw_cflags@
359evas_engine_software_ddraw_libs = @evas_engine_software_ddraw_libs@ 361evas_engine_software_ddraw_libs = @evas_engine_software_ddraw_libs@
360evas_engine_software_gdi_cflags = @evas_engine_software_gdi_cflags@ 362evas_engine_software_gdi_cflags = @evas_engine_software_gdi_cflags@
361evas_engine_software_gdi_libs = @evas_engine_software_gdi_libs@ 363evas_engine_software_gdi_libs = @evas_engine_software_gdi_libs@
362evas_engine_software_sdl_cflags = @evas_engine_software_sdl_cflags@
363evas_engine_software_sdl_libs = @evas_engine_software_sdl_libs@
364evas_engine_software_xcb_cflags = @evas_engine_software_xcb_cflags@ 364evas_engine_software_xcb_cflags = @evas_engine_software_xcb_cflags@
365evas_engine_software_xcb_libs = @evas_engine_software_xcb_libs@ 365evas_engine_software_xcb_libs = @evas_engine_software_xcb_libs@
366evas_engine_software_xlib_cflags = @evas_engine_software_xlib_cflags@ 366evas_engine_software_xlib_cflags = @evas_engine_software_xlib_cflags@
diff --git a/libraries/evas/src/modules/engines/software_gdi/Makefile.in b/libraries/evas/src/modules/engines/software_gdi/Makefile.in
index a2421ef..507926d 100644
--- a/libraries/evas/src/modules/engines/software_gdi/Makefile.in
+++ b/libraries/evas/src/modules/engines/software_gdi/Makefile.in
@@ -199,6 +199,8 @@ EVAS_SSE3_CFLAGS = @EVAS_SSE3_CFLAGS@
199EVIL_CFLAGS = @EVIL_CFLAGS@ 199EVIL_CFLAGS = @EVIL_CFLAGS@
200EVIL_LIBS = @EVIL_LIBS@ 200EVIL_LIBS = @EVIL_LIBS@
201EXEEXT = @EXEEXT@ 201EXEEXT = @EXEEXT@
202EXOTIC_CFLAGS = @EXOTIC_CFLAGS@
203EXOTIC_LIBS = @EXOTIC_LIBS@
202FGREP = @FGREP@ 204FGREP = @FGREP@
203FONTCONFIG_CFLAGS = @FONTCONFIG_CFLAGS@ 205FONTCONFIG_CFLAGS = @FONTCONFIG_CFLAGS@
204FONTCONFIG_LIBS = @FONTCONFIG_LIBS@ 206FONTCONFIG_LIBS = @FONTCONFIG_LIBS@
@@ -249,6 +251,8 @@ PATH_SEPARATOR = @PATH_SEPARATOR@
249PIXMAN_CFLAGS = @PIXMAN_CFLAGS@ 251PIXMAN_CFLAGS = @PIXMAN_CFLAGS@
250PIXMAN_LIBS = @PIXMAN_LIBS@ 252PIXMAN_LIBS = @PIXMAN_LIBS@
251PKG_CONFIG = @PKG_CONFIG@ 253PKG_CONFIG = @PKG_CONFIG@
254PKG_CONFIG_LIBDIR = @PKG_CONFIG_LIBDIR@
255PKG_CONFIG_PATH = @PKG_CONFIG_PATH@
252PNG_CFLAGS = @PNG_CFLAGS@ 256PNG_CFLAGS = @PNG_CFLAGS@
253PNG_LIBS = @PNG_LIBS@ 257PNG_LIBS = @PNG_LIBS@
254RANLIB = @RANLIB@ 258RANLIB = @RANLIB@
@@ -267,8 +271,6 @@ VERSION = @VERSION@
267VMAJ = @VMAJ@ 271VMAJ = @VMAJ@
268WAYLAND_EGL_CFLAGS = @WAYLAND_EGL_CFLAGS@ 272WAYLAND_EGL_CFLAGS = @WAYLAND_EGL_CFLAGS@
269WAYLAND_EGL_LIBS = @WAYLAND_EGL_LIBS@ 273WAYLAND_EGL_LIBS = @WAYLAND_EGL_LIBS@
270WIN32_CFLAGS = @WIN32_CFLAGS@
271WIN32_CPPFLAGS = @WIN32_CPPFLAGS@
272XCB_CFLAGS = @XCB_CFLAGS@ 274XCB_CFLAGS = @XCB_CFLAGS@
273XCB_GL_CFLAGS = @XCB_GL_CFLAGS@ 275XCB_GL_CFLAGS = @XCB_GL_CFLAGS@
274XCB_GL_LIBS = @XCB_GL_LIBS@ 276XCB_GL_LIBS = @XCB_GL_LIBS@
@@ -342,8 +344,6 @@ evas_engine_software_ddraw_cflags = @evas_engine_software_ddraw_cflags@
342evas_engine_software_ddraw_libs = @evas_engine_software_ddraw_libs@ 344evas_engine_software_ddraw_libs = @evas_engine_software_ddraw_libs@
343evas_engine_software_gdi_cflags = @evas_engine_software_gdi_cflags@ 345evas_engine_software_gdi_cflags = @evas_engine_software_gdi_cflags@
344evas_engine_software_gdi_libs = @evas_engine_software_gdi_libs@ 346evas_engine_software_gdi_libs = @evas_engine_software_gdi_libs@
345evas_engine_software_sdl_cflags = @evas_engine_software_sdl_cflags@
346evas_engine_software_sdl_libs = @evas_engine_software_sdl_libs@
347evas_engine_software_xcb_cflags = @evas_engine_software_xcb_cflags@ 347evas_engine_software_xcb_cflags = @evas_engine_software_xcb_cflags@
348evas_engine_software_xcb_libs = @evas_engine_software_xcb_libs@ 348evas_engine_software_xcb_libs = @evas_engine_software_xcb_libs@
349evas_engine_software_xlib_cflags = @evas_engine_software_xlib_cflags@ 349evas_engine_software_xlib_cflags = @evas_engine_software_xlib_cflags@
diff --git a/libraries/evas/src/modules/engines/software_generic/Makefile.am b/libraries/evas/src/modules/engines/software_generic/Makefile.am
index d7986f1..e605dac 100644
--- a/libraries/evas/src/modules/engines/software_generic/Makefile.am
+++ b/libraries/evas/src/modules/engines/software_generic/Makefile.am
@@ -10,8 +10,6 @@ AM_CPPFLAGS = \
10@FREETYPE_CFLAGS@ \ 10@FREETYPE_CFLAGS@ \
11@PIXMAN_CFLAGS@ 11@PIXMAN_CFLAGS@
12 12
13AM_CFLAGS = @WIN32_CFLAGS@
14
15SOFTWARE_GENERIC_SOURCES = evas_engine.c 13SOFTWARE_GENERIC_SOURCES = evas_engine.c
16 14
17 15
@@ -22,7 +20,7 @@ pkg_LTLIBRARIES = module.la
22 20
23module_la_SOURCES = $(SOFTWARE_GENERIC_SOURCES) 21module_la_SOURCES = $(SOFTWARE_GENERIC_SOURCES)
24 22
25module_la_LIBADD = @EINA_LIBS@ $(top_builddir)/src/lib/libevas.la 23module_la_LIBADD = @EINA_LIBS@ @dlopen_libs@ $(top_builddir)/src/lib/libevas.la
26module_la_LDFLAGS = -no-undefined @lt_enable_auto_import@ -module -avoid-version 24module_la_LDFLAGS = -no-undefined @lt_enable_auto_import@ -module -avoid-version
27module_la_LIBTOOLFLAGS = --tag=disable-static 25module_la_LIBTOOLFLAGS = --tag=disable-static
28 26
diff --git a/libraries/evas/src/modules/engines/software_generic/Makefile.in b/libraries/evas/src/modules/engines/software_generic/Makefile.in
index 4f66536..fe0ac3d 100644
--- a/libraries/evas/src/modules/engines/software_generic/Makefile.in
+++ b/libraries/evas/src/modules/engines/software_generic/Makefile.in
@@ -186,6 +186,8 @@ EVAS_SSE3_CFLAGS = @EVAS_SSE3_CFLAGS@
186EVIL_CFLAGS = @EVIL_CFLAGS@ 186EVIL_CFLAGS = @EVIL_CFLAGS@
187EVIL_LIBS = @EVIL_LIBS@ 187EVIL_LIBS = @EVIL_LIBS@
188EXEEXT = @EXEEXT@ 188EXEEXT = @EXEEXT@
189EXOTIC_CFLAGS = @EXOTIC_CFLAGS@
190EXOTIC_LIBS = @EXOTIC_LIBS@
189FGREP = @FGREP@ 191FGREP = @FGREP@
190FONTCONFIG_CFLAGS = @FONTCONFIG_CFLAGS@ 192FONTCONFIG_CFLAGS = @FONTCONFIG_CFLAGS@
191FONTCONFIG_LIBS = @FONTCONFIG_LIBS@ 193FONTCONFIG_LIBS = @FONTCONFIG_LIBS@
@@ -236,6 +238,8 @@ PATH_SEPARATOR = @PATH_SEPARATOR@
236PIXMAN_CFLAGS = @PIXMAN_CFLAGS@ 238PIXMAN_CFLAGS = @PIXMAN_CFLAGS@
237PIXMAN_LIBS = @PIXMAN_LIBS@ 239PIXMAN_LIBS = @PIXMAN_LIBS@
238PKG_CONFIG = @PKG_CONFIG@ 240PKG_CONFIG = @PKG_CONFIG@
241PKG_CONFIG_LIBDIR = @PKG_CONFIG_LIBDIR@
242PKG_CONFIG_PATH = @PKG_CONFIG_PATH@
239PNG_CFLAGS = @PNG_CFLAGS@ 243PNG_CFLAGS = @PNG_CFLAGS@
240PNG_LIBS = @PNG_LIBS@ 244PNG_LIBS = @PNG_LIBS@
241RANLIB = @RANLIB@ 245RANLIB = @RANLIB@
@@ -254,8 +258,6 @@ VERSION = @VERSION@
254VMAJ = @VMAJ@ 258VMAJ = @VMAJ@
255WAYLAND_EGL_CFLAGS = @WAYLAND_EGL_CFLAGS@ 259WAYLAND_EGL_CFLAGS = @WAYLAND_EGL_CFLAGS@
256WAYLAND_EGL_LIBS = @WAYLAND_EGL_LIBS@ 260WAYLAND_EGL_LIBS = @WAYLAND_EGL_LIBS@
257WIN32_CFLAGS = @WIN32_CFLAGS@
258WIN32_CPPFLAGS = @WIN32_CPPFLAGS@
259XCB_CFLAGS = @XCB_CFLAGS@ 261XCB_CFLAGS = @XCB_CFLAGS@
260XCB_GL_CFLAGS = @XCB_GL_CFLAGS@ 262XCB_GL_CFLAGS = @XCB_GL_CFLAGS@
261XCB_GL_LIBS = @XCB_GL_LIBS@ 263XCB_GL_LIBS = @XCB_GL_LIBS@
@@ -329,8 +331,6 @@ evas_engine_software_ddraw_cflags = @evas_engine_software_ddraw_cflags@
329evas_engine_software_ddraw_libs = @evas_engine_software_ddraw_libs@ 331evas_engine_software_ddraw_libs = @evas_engine_software_ddraw_libs@
330evas_engine_software_gdi_cflags = @evas_engine_software_gdi_cflags@ 332evas_engine_software_gdi_cflags = @evas_engine_software_gdi_cflags@
331evas_engine_software_gdi_libs = @evas_engine_software_gdi_libs@ 333evas_engine_software_gdi_libs = @evas_engine_software_gdi_libs@
332evas_engine_software_sdl_cflags = @evas_engine_software_sdl_cflags@
333evas_engine_software_sdl_libs = @evas_engine_software_sdl_libs@
334evas_engine_software_xcb_cflags = @evas_engine_software_xcb_cflags@ 334evas_engine_software_xcb_cflags = @evas_engine_software_xcb_cflags@
335evas_engine_software_xcb_libs = @evas_engine_software_xcb_libs@ 335evas_engine_software_xcb_libs = @evas_engine_software_xcb_libs@
336evas_engine_software_xlib_cflags = @evas_engine_software_xlib_cflags@ 336evas_engine_software_xlib_cflags = @evas_engine_software_xlib_cflags@
@@ -423,12 +423,11 @@ AM_CPPFLAGS = \
423@FREETYPE_CFLAGS@ \ 423@FREETYPE_CFLAGS@ \
424@PIXMAN_CFLAGS@ 424@PIXMAN_CFLAGS@
425 425
426AM_CFLAGS = @WIN32_CFLAGS@
427SOFTWARE_GENERIC_SOURCES = evas_engine.c 426SOFTWARE_GENERIC_SOURCES = evas_engine.c
428@EVAS_STATIC_BUILD_SOFTWARE_GENERIC_FALSE@pkgdir = $(libdir)/evas/modules/engines/software_generic/$(MODULE_ARCH) 427@EVAS_STATIC_BUILD_SOFTWARE_GENERIC_FALSE@pkgdir = $(libdir)/evas/modules/engines/software_generic/$(MODULE_ARCH)
429@EVAS_STATIC_BUILD_SOFTWARE_GENERIC_FALSE@pkg_LTLIBRARIES = module.la 428@EVAS_STATIC_BUILD_SOFTWARE_GENERIC_FALSE@pkg_LTLIBRARIES = module.la
430@EVAS_STATIC_BUILD_SOFTWARE_GENERIC_FALSE@module_la_SOURCES = $(SOFTWARE_GENERIC_SOURCES) 429@EVAS_STATIC_BUILD_SOFTWARE_GENERIC_FALSE@module_la_SOURCES = $(SOFTWARE_GENERIC_SOURCES)
431@EVAS_STATIC_BUILD_SOFTWARE_GENERIC_FALSE@module_la_LIBADD = @EINA_LIBS@ $(top_builddir)/src/lib/libevas.la 430@EVAS_STATIC_BUILD_SOFTWARE_GENERIC_FALSE@module_la_LIBADD = @EINA_LIBS@ @dlopen_libs@ $(top_builddir)/src/lib/libevas.la
432@EVAS_STATIC_BUILD_SOFTWARE_GENERIC_FALSE@module_la_LDFLAGS = -no-undefined @lt_enable_auto_import@ -module -avoid-version 431@EVAS_STATIC_BUILD_SOFTWARE_GENERIC_FALSE@module_la_LDFLAGS = -no-undefined @lt_enable_auto_import@ -module -avoid-version
433@EVAS_STATIC_BUILD_SOFTWARE_GENERIC_FALSE@module_la_LIBTOOLFLAGS = --tag=disable-static 432@EVAS_STATIC_BUILD_SOFTWARE_GENERIC_FALSE@module_la_LIBTOOLFLAGS = --tag=disable-static
434@EVAS_STATIC_BUILD_SOFTWARE_GENERIC_TRUE@noinst_LTLIBRARIES = libevas_engine_software_generic.la 433@EVAS_STATIC_BUILD_SOFTWARE_GENERIC_TRUE@noinst_LTLIBRARIES = libevas_engine_software_generic.la
diff --git a/libraries/evas/src/modules/engines/software_generic/evas_engine.c b/libraries/evas/src/modules/engines/software_generic/evas_engine.c
index 48944dd..4667f6b 100644
--- a/libraries/evas/src/modules/engines/software_generic/evas_engine.c
+++ b/libraries/evas/src/modules/engines/software_generic/evas_engine.c
@@ -591,11 +591,8 @@ eng_image_border_set(void *data __UNUSED__, void *image, int l __UNUSED__, int r
591} 591}
592 592
593static void 593static void
594eng_image_border_get(void *data __UNUSED__, void *image, int *l __UNUSED__, int *r __UNUSED__, int *t __UNUSED__, int *b __UNUSED__) 594eng_image_border_get(void *data __UNUSED__, void *image __UNUSED__, int *l __UNUSED__, int *r __UNUSED__, int *t __UNUSED__, int *b __UNUSED__)
595{ 595{
596 RGBA_Image *im;
597
598 im = image;
599} 596}
600 597
601static char * 598static char *
@@ -704,18 +701,16 @@ eng_image_size_get(void *data __UNUSED__, void *image, int *w, int *h)
704static void * 701static void *
705eng_image_size_set(void *data __UNUSED__, void *image, int w, int h) 702eng_image_size_set(void *data __UNUSED__, void *image, int w, int h)
706{ 703{
707 Image_Entry *im; 704 Image_Entry *im = image;
708 705 if (!im) return NULL;
709 im = image; 706 return evas_cache_image_size_set(im, w, h);
710 return evas_cache_image_size_set(image, w, h);
711} 707}
712 708
713static void * 709static void *
714eng_image_dirty_region(void *data __UNUSED__, void *image, int x, int y, int w, int h) 710eng_image_dirty_region(void *data __UNUSED__, void *image, int x, int y, int w, int h)
715{ 711{
716 Image_Entry *im = image; 712 Image_Entry *im = image;
717 713 if (!im) return NULL;
718 if (!image) return NULL;
719 return evas_cache_image_dirty(im, x, y, w, h); 714 return evas_cache_image_dirty(im, x, y, w, h);
720} 715}
721 716
@@ -931,11 +926,10 @@ static void *
931eng_image_map_surface_new(void *data __UNUSED__, int w, int h, int alpha) 926eng_image_map_surface_new(void *data __UNUSED__, int w, int h, int alpha)
932{ 927{
933 void *surface; 928 void *surface;
934 DATA32 *pixels;
935 surface = evas_cache_image_copied_data(evas_common_image_cache_get(), 929 surface = evas_cache_image_copied_data(evas_common_image_cache_get(),
936 w, h, NULL, alpha, 930 w, h, NULL, alpha,
937 EVAS_COLORSPACE_ARGB8888); 931 EVAS_COLORSPACE_ARGB8888);
938 pixels = evas_cache_image_pixels(surface); 932 evas_cache_image_pixels(surface);
939 return surface; 933 return surface;
940} 934}
941 935
@@ -1784,6 +1778,7 @@ static Evas_Func func =
1784 NULL, // need software mesa for gl rendering <- gl_proc_address_get 1778 NULL, // need software mesa for gl rendering <- gl_proc_address_get
1785 NULL, // need software mesa for gl rendering <- gl_native_surface_get 1779 NULL, // need software mesa for gl rendering <- gl_native_surface_get
1786 NULL, // need software mesa for gl rendering <- gl_api_get 1780 NULL, // need software mesa for gl rendering <- gl_api_get
1781 NULL, // need software mesa for gl rendering <- gl_img_obj_set
1787 eng_image_load_error_get, 1782 eng_image_load_error_get,
1788 eng_font_run_font_end_get, 1783 eng_font_run_font_end_get,
1789 eng_image_animated_get, 1784 eng_image_animated_get,
@@ -2519,7 +2514,7 @@ evgl_glShaderSource(GLuint shader, GLsizei count, const char** string, const GLi
2519 2514
2520 2515
2521static void 2516static void
2522evgl_glGetShaderPrecisionFormat(GLenum shadertype, GLenum precisiontype, GLint* range, GLint* precision) 2517evgl_glGetShaderPrecisionFormat(GLenum shadertype __UNUSED__, GLenum precisiontype __UNUSED__, GLint* range, GLint* precision)
2523{ 2518{
2524 if (range) 2519 if (range)
2525 { 2520 {
@@ -2531,7 +2526,6 @@ evgl_glGetShaderPrecisionFormat(GLenum shadertype, GLenum precisiontype, GLint*
2531 precision[0] = 24; // floor(-log2((1.0/16777218.0))); 2526 precision[0] = 24; // floor(-log2((1.0/16777218.0)));
2532 } 2527 }
2533 return; 2528 return;
2534 shadertype = precisiontype = 0;
2535} 2529}
2536 2530
2537static void 2531static void
@@ -2567,6 +2561,8 @@ override_gl_apis(Evas_GL_API *api)
2567 ORD(glAttachShader); 2561 ORD(glAttachShader);
2568 ORD(glBindAttribLocation); 2562 ORD(glBindAttribLocation);
2569 ORD(glBindBuffer); 2563 ORD(glBindBuffer);
2564 ORD(glBindFramebuffer);
2565 ORD(glBindRenderbuffer);
2570 ORD(glBindTexture); 2566 ORD(glBindTexture);
2571 ORD(glBlendColor); 2567 ORD(glBlendColor);
2572 ORD(glBlendEquation); 2568 ORD(glBlendEquation);
diff --git a/libraries/evas/src/modules/engines/software_x11/Makefile.in b/libraries/evas/src/modules/engines/software_x11/Makefile.in
index 5fd2971..caab918 100644
--- a/libraries/evas/src/modules/engines/software_x11/Makefile.in
+++ b/libraries/evas/src/modules/engines/software_x11/Makefile.in
@@ -232,6 +232,8 @@ EVAS_SSE3_CFLAGS = @EVAS_SSE3_CFLAGS@
232EVIL_CFLAGS = @EVIL_CFLAGS@ 232EVIL_CFLAGS = @EVIL_CFLAGS@
233EVIL_LIBS = @EVIL_LIBS@ 233EVIL_LIBS = @EVIL_LIBS@
234EXEEXT = @EXEEXT@ 234EXEEXT = @EXEEXT@
235EXOTIC_CFLAGS = @EXOTIC_CFLAGS@
236EXOTIC_LIBS = @EXOTIC_LIBS@
235FGREP = @FGREP@ 237FGREP = @FGREP@
236FONTCONFIG_CFLAGS = @FONTCONFIG_CFLAGS@ 238FONTCONFIG_CFLAGS = @FONTCONFIG_CFLAGS@
237FONTCONFIG_LIBS = @FONTCONFIG_LIBS@ 239FONTCONFIG_LIBS = @FONTCONFIG_LIBS@
@@ -282,6 +284,8 @@ PATH_SEPARATOR = @PATH_SEPARATOR@
282PIXMAN_CFLAGS = @PIXMAN_CFLAGS@ 284PIXMAN_CFLAGS = @PIXMAN_CFLAGS@
283PIXMAN_LIBS = @PIXMAN_LIBS@ 285PIXMAN_LIBS = @PIXMAN_LIBS@
284PKG_CONFIG = @PKG_CONFIG@ 286PKG_CONFIG = @PKG_CONFIG@
287PKG_CONFIG_LIBDIR = @PKG_CONFIG_LIBDIR@
288PKG_CONFIG_PATH = @PKG_CONFIG_PATH@
285PNG_CFLAGS = @PNG_CFLAGS@ 289PNG_CFLAGS = @PNG_CFLAGS@
286PNG_LIBS = @PNG_LIBS@ 290PNG_LIBS = @PNG_LIBS@
287RANLIB = @RANLIB@ 291RANLIB = @RANLIB@
@@ -300,8 +304,6 @@ VERSION = @VERSION@
300VMAJ = @VMAJ@ 304VMAJ = @VMAJ@
301WAYLAND_EGL_CFLAGS = @WAYLAND_EGL_CFLAGS@ 305WAYLAND_EGL_CFLAGS = @WAYLAND_EGL_CFLAGS@
302WAYLAND_EGL_LIBS = @WAYLAND_EGL_LIBS@ 306WAYLAND_EGL_LIBS = @WAYLAND_EGL_LIBS@
303WIN32_CFLAGS = @WIN32_CFLAGS@
304WIN32_CPPFLAGS = @WIN32_CPPFLAGS@
305XCB_CFLAGS = @XCB_CFLAGS@ 307XCB_CFLAGS = @XCB_CFLAGS@
306XCB_GL_CFLAGS = @XCB_GL_CFLAGS@ 308XCB_GL_CFLAGS = @XCB_GL_CFLAGS@
307XCB_GL_LIBS = @XCB_GL_LIBS@ 309XCB_GL_LIBS = @XCB_GL_LIBS@
@@ -375,8 +377,6 @@ evas_engine_software_ddraw_cflags = @evas_engine_software_ddraw_cflags@
375evas_engine_software_ddraw_libs = @evas_engine_software_ddraw_libs@ 377evas_engine_software_ddraw_libs = @evas_engine_software_ddraw_libs@
376evas_engine_software_gdi_cflags = @evas_engine_software_gdi_cflags@ 378evas_engine_software_gdi_cflags = @evas_engine_software_gdi_cflags@
377evas_engine_software_gdi_libs = @evas_engine_software_gdi_libs@ 379evas_engine_software_gdi_libs = @evas_engine_software_gdi_libs@
378evas_engine_software_sdl_cflags = @evas_engine_software_sdl_cflags@
379evas_engine_software_sdl_libs = @evas_engine_software_sdl_libs@
380evas_engine_software_xcb_cflags = @evas_engine_software_xcb_cflags@ 380evas_engine_software_xcb_cflags = @evas_engine_software_xcb_cflags@
381evas_engine_software_xcb_libs = @evas_engine_software_xcb_libs@ 381evas_engine_software_xcb_libs = @evas_engine_software_xcb_libs@
382evas_engine_software_xlib_cflags = @evas_engine_software_xlib_cflags@ 382evas_engine_software_xlib_cflags = @evas_engine_software_xlib_cflags@
diff --git a/libraries/evas/src/modules/engines/wayland_egl/Makefile.am b/libraries/evas/src/modules/engines/wayland_egl/Makefile.am
index 100614f..9234b33 100644
--- a/libraries/evas/src/modules/engines/wayland_egl/Makefile.am
+++ b/libraries/evas/src/modules/engines/wayland_egl/Makefile.am
@@ -18,7 +18,7 @@ WAYLAND_EGL_SOURCES = \
18evas_engine.c \ 18evas_engine.c \
19evas_wl_main.c 19evas_wl_main.c
20 20
21WAYLAND_EGL_LIBADD = @FREETYPE_LIBS@ @GL_EET_LIBS@ @EINA_LIBS@ @evas_engine_wayland_egl_libs@ $(top_builddir)/src/modules/engines/gl_common/libevas_engine_gl_common.la 21WAYLAND_EGL_LIBADD = @FREETYPE_LIBS@ @GL_EET_LIBS@ @EINA_LIBS@ @evas_engine_wayland_egl_libs@ @dlopen_libs@ $(top_builddir)/src/modules/engines/gl_common/libevas_engine_gl_common.la
22 22
23includes_HEADERS = Evas_Engine_Wayland_Egl.h 23includes_HEADERS = Evas_Engine_Wayland_Egl.h
24includesdir = $(includedir)/evas-@VMAJ@ 24includesdir = $(includedir)/evas-@VMAJ@
diff --git a/libraries/evas/src/modules/engines/wayland_egl/Makefile.in b/libraries/evas/src/modules/engines/wayland_egl/Makefile.in
index 0df0c63..90aa36b 100644
--- a/libraries/evas/src/modules/engines/wayland_egl/Makefile.in
+++ b/libraries/evas/src/modules/engines/wayland_egl/Makefile.in
@@ -194,6 +194,8 @@ EVAS_SSE3_CFLAGS = @EVAS_SSE3_CFLAGS@
194EVIL_CFLAGS = @EVIL_CFLAGS@ 194EVIL_CFLAGS = @EVIL_CFLAGS@
195EVIL_LIBS = @EVIL_LIBS@ 195EVIL_LIBS = @EVIL_LIBS@
196EXEEXT = @EXEEXT@ 196EXEEXT = @EXEEXT@
197EXOTIC_CFLAGS = @EXOTIC_CFLAGS@
198EXOTIC_LIBS = @EXOTIC_LIBS@
197FGREP = @FGREP@ 199FGREP = @FGREP@
198FONTCONFIG_CFLAGS = @FONTCONFIG_CFLAGS@ 200FONTCONFIG_CFLAGS = @FONTCONFIG_CFLAGS@
199FONTCONFIG_LIBS = @FONTCONFIG_LIBS@ 201FONTCONFIG_LIBS = @FONTCONFIG_LIBS@
@@ -244,6 +246,8 @@ PATH_SEPARATOR = @PATH_SEPARATOR@
244PIXMAN_CFLAGS = @PIXMAN_CFLAGS@ 246PIXMAN_CFLAGS = @PIXMAN_CFLAGS@
245PIXMAN_LIBS = @PIXMAN_LIBS@ 247PIXMAN_LIBS = @PIXMAN_LIBS@
246PKG_CONFIG = @PKG_CONFIG@ 248PKG_CONFIG = @PKG_CONFIG@
249PKG_CONFIG_LIBDIR = @PKG_CONFIG_LIBDIR@
250PKG_CONFIG_PATH = @PKG_CONFIG_PATH@
247PNG_CFLAGS = @PNG_CFLAGS@ 251PNG_CFLAGS = @PNG_CFLAGS@
248PNG_LIBS = @PNG_LIBS@ 252PNG_LIBS = @PNG_LIBS@
249RANLIB = @RANLIB@ 253RANLIB = @RANLIB@
@@ -262,8 +266,6 @@ VERSION = @VERSION@
262VMAJ = @VMAJ@ 266VMAJ = @VMAJ@
263WAYLAND_EGL_CFLAGS = @WAYLAND_EGL_CFLAGS@ 267WAYLAND_EGL_CFLAGS = @WAYLAND_EGL_CFLAGS@
264WAYLAND_EGL_LIBS = @WAYLAND_EGL_LIBS@ 268WAYLAND_EGL_LIBS = @WAYLAND_EGL_LIBS@
265WIN32_CFLAGS = @WIN32_CFLAGS@
266WIN32_CPPFLAGS = @WIN32_CPPFLAGS@
267XCB_CFLAGS = @XCB_CFLAGS@ 269XCB_CFLAGS = @XCB_CFLAGS@
268XCB_GL_CFLAGS = @XCB_GL_CFLAGS@ 270XCB_GL_CFLAGS = @XCB_GL_CFLAGS@
269XCB_GL_LIBS = @XCB_GL_LIBS@ 271XCB_GL_LIBS = @XCB_GL_LIBS@
@@ -337,8 +339,6 @@ evas_engine_software_ddraw_cflags = @evas_engine_software_ddraw_cflags@
337evas_engine_software_ddraw_libs = @evas_engine_software_ddraw_libs@ 339evas_engine_software_ddraw_libs = @evas_engine_software_ddraw_libs@
338evas_engine_software_gdi_cflags = @evas_engine_software_gdi_cflags@ 340evas_engine_software_gdi_cflags = @evas_engine_software_gdi_cflags@
339evas_engine_software_gdi_libs = @evas_engine_software_gdi_libs@ 341evas_engine_software_gdi_libs = @evas_engine_software_gdi_libs@
340evas_engine_software_sdl_cflags = @evas_engine_software_sdl_cflags@
341evas_engine_software_sdl_libs = @evas_engine_software_sdl_libs@
342evas_engine_software_xcb_cflags = @evas_engine_software_xcb_cflags@ 342evas_engine_software_xcb_cflags = @evas_engine_software_xcb_cflags@
343evas_engine_software_xcb_libs = @evas_engine_software_xcb_libs@ 343evas_engine_software_xcb_libs = @evas_engine_software_xcb_libs@
344evas_engine_software_xlib_cflags = @evas_engine_software_xlib_cflags@ 344evas_engine_software_xlib_cflags = @evas_engine_software_xlib_cflags@
@@ -437,7 +437,7 @@ AM_CPPFLAGS = \
437@BUILD_ENGINE_WAYLAND_EGL_TRUE@evas_engine.c \ 437@BUILD_ENGINE_WAYLAND_EGL_TRUE@evas_engine.c \
438@BUILD_ENGINE_WAYLAND_EGL_TRUE@evas_wl_main.c 438@BUILD_ENGINE_WAYLAND_EGL_TRUE@evas_wl_main.c
439 439
440@BUILD_ENGINE_WAYLAND_EGL_TRUE@WAYLAND_EGL_LIBADD = @FREETYPE_LIBS@ @GL_EET_LIBS@ @EINA_LIBS@ @evas_engine_wayland_egl_libs@ $(top_builddir)/src/modules/engines/gl_common/libevas_engine_gl_common.la 440@BUILD_ENGINE_WAYLAND_EGL_TRUE@WAYLAND_EGL_LIBADD = @FREETYPE_LIBS@ @GL_EET_LIBS@ @EINA_LIBS@ @evas_engine_wayland_egl_libs@ @dlopen_libs@ $(top_builddir)/src/modules/engines/gl_common/libevas_engine_gl_common.la
441@BUILD_ENGINE_WAYLAND_EGL_TRUE@includes_HEADERS = Evas_Engine_Wayland_Egl.h 441@BUILD_ENGINE_WAYLAND_EGL_TRUE@includes_HEADERS = Evas_Engine_Wayland_Egl.h
442@BUILD_ENGINE_WAYLAND_EGL_TRUE@includesdir = $(includedir)/evas-@VMAJ@ 442@BUILD_ENGINE_WAYLAND_EGL_TRUE@includesdir = $(includedir)/evas-@VMAJ@
443@BUILD_ENGINE_WAYLAND_EGL_TRUE@@EVAS_STATIC_BUILD_WAYLAND_EGL_FALSE@pkgdir = $(libdir)/evas/modules/engines/wayland_egl/$(MODULE_ARCH) 443@BUILD_ENGINE_WAYLAND_EGL_TRUE@@EVAS_STATIC_BUILD_WAYLAND_EGL_FALSE@pkgdir = $(libdir)/evas/modules/engines/wayland_egl/$(MODULE_ARCH)
diff --git a/libraries/evas/src/modules/engines/wayland_egl/evas_engine.c b/libraries/evas/src/modules/engines/wayland_egl/evas_engine.c
index d2a6a0d..4f5102e 100644
--- a/libraries/evas/src/modules/engines/wayland_egl/evas_engine.c
+++ b/libraries/evas/src/modules/engines/wayland_egl/evas_engine.c
@@ -25,7 +25,6 @@ struct _Render_Engine
25 int end; 25 int end;
26 int w, h; 26 int w, h;
27 int vsync; 27 int vsync;
28
29}; 28};
30 29
31struct _Render_Engine_GL_Surface 30struct _Render_Engine_GL_Surface
@@ -1320,76 +1319,6 @@ struct _Native
1320// 1319//
1321//#define GLX_TEX_PIXMAP_RECREATE 1 1320//#define GLX_TEX_PIXMAP_RECREATE 1
1322 1321
1323static void
1324_native_bind_cb(void *data, void *image)
1325{
1326 Evas_GL_Image *im = image;
1327 Native *n = im->native.data;
1328
1329 if (n->egl_surface)
1330 {
1331 if (glsym_glEGLImageTargetTexture2DOES)
1332 {
1333 glsym_glEGLImageTargetTexture2DOES(GL_TEXTURE_2D, n->egl_surface);
1334 if (eglGetError() != EGL_SUCCESS)
1335 ERR("glEGLImageTargetTexture2DOES() failed.");
1336 }
1337 else
1338 ERR("Try glEGLImageTargetTexture2DOES on EGL with no support");
1339 }
1340 return;
1341 data = NULL;
1342}
1343
1344static void
1345_native_unbind_cb(void *data, void *image)
1346{
1347 Evas_GL_Image *im = image;
1348 /* Native *n = im->native.data; */
1349
1350 /* if (n->ns.type == EVAS_NATIVE_SURFACE_X11) */
1351 /* { */
1352 /* // nothing */
1353 /* } */
1354 /* else if (n->ns.type == EVAS_NATIVE_SURFACE_OPENGL) */
1355 /* { */
1356 /* glBindTexture(GL_TEXTURE_2D, 0); */
1357 /* GLERR(__FUNCTION__, __FILE__, __LINE__, ""); */
1358 /* } */
1359 return;
1360 data = NULL;
1361}
1362
1363static void
1364_native_free_cb(void *data, void *image)
1365{
1366 Render_Engine *re = data;
1367 Evas_GL_Image *im = image;
1368 Native *n = im->native.data;
1369 uint32_t texid;
1370// uint32_t pmid, texid;
1371
1372 /* eina_hash_del(re->win->gl_context->shared->native_pm_hash, &pmid, im); */
1373 if (n->egl_surface)
1374 {
1375 if (glsym_eglDestroyImage)
1376 {
1377 glsym_eglDestroyImage(re->win->egl_disp, n->egl_surface);
1378 if (eglGetError() != EGL_SUCCESS)
1379 ERR("eglDestroyImage() failed.");
1380 }
1381 else
1382 ERR("Try eglDestroyImage on EGL with no support");
1383 }
1384
1385 im->native.data = NULL;
1386 im->native.func.data = NULL;
1387 im->native.func.bind = NULL;
1388 im->native.func.unbind = NULL;
1389 im->native.func.free = NULL;
1390 free(n);
1391}
1392
1393static void * 1322static void *
1394eng_image_native_set(void *data, void *image, void *native) 1323eng_image_native_set(void *data, void *image, void *native)
1395{ 1324{
@@ -1397,10 +1326,6 @@ eng_image_native_set(void *data, void *image, void *native)
1397 Evas_Native_Surface *ns = native; 1326 Evas_Native_Surface *ns = native;
1398 Evas_GL_Image *im = image, *im2 = NULL; 1327 Evas_GL_Image *im = image, *im2 = NULL;
1399 Native *n = NULL; 1328 Native *n = NULL;
1400// uint32_t pmid;
1401// uint32_t texid;
1402 unsigned int tex = 0;
1403 unsigned int fbo = 0;
1404 1329
1405 if (!im) 1330 if (!im)
1406 { 1331 {
@@ -1418,15 +1343,7 @@ eng_image_native_set(void *data, void *image, void *native)
1418 1343
1419 if (ns) 1344 if (ns)
1420 { 1345 {
1421 /* vis = ns->data.x11.visual; */ 1346 if (im->native.data) return im;
1422 /* pm = ns->data.x11.pixmap; */
1423 if (im->native.data)
1424 {
1425 Evas_Native_Surface *ens = im->native.data;
1426 /* if ((ens->data.x11.visual == vis) && */
1427 /* (ens->data.x11.pixmap == pm)) */
1428 return im;
1429 }
1430 } 1347 }
1431 if ((!ns) && (!im->native.data)) return im; 1348 if ((!ns) && (!im->native.data)) return im;
1432 1349
@@ -1441,94 +1358,35 @@ eng_image_native_set(void *data, void *image, void *native)
1441 1358
1442 if (!ns) return im; 1359 if (!ns) return im;
1443 1360
1444 /* if (ns->type == EVAS_NATIVE_SURFACE_X11) */ 1361 if (im2 == im) return im;
1445 /* { */ 1362 if (im2)
1446 /* pmid = pm; */ 1363 {
1447 /* im2 = eina_hash_find(re->win->gl_context->shared->native_pm_hash, &pmid); */ 1364 n = im2->native.data;
1448 if (im2 == im) return im; 1365 if (n)
1449 if (im2) 1366 {
1450 { 1367 evas_gl_common_image_ref(im2);
1451 n = im2->native.data; 1368 evas_gl_common_image_free(im);
1452 if (n) 1369 return im2;
1453 { 1370 }
1454 evas_gl_common_image_ref(im2); 1371 }
1455 evas_gl_common_image_free(im);
1456 return im2;
1457 }
1458 }
1459 1372
1460 im2 = evas_gl_common_image_new_from_data(re->win->gl_context, 1373 im2 = evas_gl_common_image_new_from_data(re->win->gl_context,
1461 im->w, im->h, NULL, im->alpha, 1374 im->w, im->h, NULL, im->alpha,
1462 EVAS_COLORSPACE_ARGB8888); 1375 EVAS_COLORSPACE_ARGB8888);
1463 evas_gl_common_image_free(im); 1376 evas_gl_common_image_free(im);
1464 im = im2; 1377 im = im2;
1465 /* if (native) */ 1378
1466 /* { */
1467 /* n = calloc(1, sizeof(Native)); */
1468 /* if (n) */
1469 /* { */
1470 /* EGLConfig egl_config; */
1471 /* int config_attrs[20]; */
1472 /* int num_config, i = 0; */
1473
1474 /* eina_hash_add(re->win->gl_context->shared->native_pm_hash, &pmid, im); */
1475
1476 /* config_attrs[i++] = EGL_RED_SIZE; */
1477 /* config_attrs[i++] = 8; */
1478 /* config_attrs[i++] = EGL_GREEN_SIZE; */
1479 /* config_attrs[i++] = 8; */
1480 /* config_attrs[i++] = EGL_BLUE_SIZE; */
1481 /* config_attrs[i++] = 8; */
1482 /* config_attrs[i++] = EGL_ALPHA_SIZE; */
1483 /* config_attrs[i++] = 8; */
1484 /* config_attrs[i++] = EGL_DEPTH_SIZE; */
1485 /* config_attrs[i++] = 0; */
1486 /* config_attrs[i++] = EGL_STENCIL_SIZE; */
1487 /* config_attrs[i++] = 0; */
1488 /* config_attrs[i++] = EGL_RENDERABLE_TYPE; */
1489 /* config_attrs[i++] = EGL_OPENGL_ES2_BIT; */
1490 /* config_attrs[i++] = EGL_SURFACE_TYPE; */
1491 /* config_attrs[i++] = EGL_PIXMAP_BIT; */
1492 /* config_attrs[i++] = EGL_NONE; */
1493
1494 /* if (!eglChooseConfig(re->win->egl_disp, config_attrs, */
1495 /* &egl_config, 1, &num_config)) */
1496 /* ERR("eglChooseConfig() failed for, num_config = %i", num_config); */
1497 /* memcpy(&(n->ns), ns, sizeof(Evas_Native_Surface)); */
1498 /* n->pixmap = pm; */
1499 /* if (glsym_eglCreateImage) */
1500 /* n->egl_surface = glsym_eglCreateImage(re->win->egl_disp, */
1501 /* EGL_NO_CONTEXT, */
1502 /* EGL_NATIVE_PIXMAP_KHR, */
1503 /* (void *)pm, */
1504 /* NULL); */
1505 /* else */
1506 /* ERR("Try eglCreateImage on EGL with no support"); */
1507 /* if (!n->egl_surface) */
1508 /* ERR("eglCreatePixmapSurface() for 0x%x failed", (unsigned int)pm); */
1509 /* im->native.yinvert = 1; */
1510 /* im->native.loose = 0; */
1511 /* im->native.data = n; */
1512 /* im->native.func.data = re; */
1513 /* im->native.func.bind = _native_bind_cb; */
1514 /* im->native.func.unbind = _native_unbind_cb; */
1515 /* im->native.func.free = _native_free_cb; */
1516 /* im->native.target = GL_TEXTURE_2D; */
1517 /* im->native.mipmap = 0; */
1518 /* evas_gl_common_image_native_enable(im); */
1519 /* } */
1520 /* } */
1521 return im; 1379 return im;
1522} 1380}
1523 1381
1524static void * 1382static void *
1525eng_image_native_get(void *data __UNUSED__, void *image) 1383eng_image_native_get(void *data __UNUSED__, void *image)
1526{ 1384{
1527 Evas_GL_Image *im = image; 1385 Evas_GL_Image *im;
1528 Native *n; 1386 Native *n;
1529 if (!im) return NULL; 1387
1530 n = im->native.data; 1388 if (!(im = image)) return NULL;
1531 if (!n) return NULL; 1389 if (!(n = im->native.data)) return NULL;
1532 return &(n->ns); 1390 return &(n->ns);
1533} 1391}
1534 1392
diff --git a/libraries/evas/src/modules/engines/wayland_egl/evas_wl_main.c b/libraries/evas/src/modules/engines/wayland_egl/evas_wl_main.c
index 537fcc6..60a2371 100644
--- a/libraries/evas/src/modules/engines/wayland_egl/evas_wl_main.c
+++ b/libraries/evas/src/modules/engines/wayland_egl/evas_wl_main.c
@@ -217,7 +217,9 @@ eng_window_free(Evas_GL_Wl_Window *gw)
217 { 217 {
218 if (context) eglDestroyContext(gw->egl_disp, context); 218 if (context) eglDestroyContext(gw->egl_disp, context);
219 context = EGL_NO_CONTEXT; 219 context = EGL_NO_CONTEXT;
220 eglTerminate(gw->egl_disp); 220 /* NB: This is causing an unknown hang when we run elm apps as
221 * wayland clients inside the weston compositor */
222 /* eglTerminate(gw->egl_disp); */
221 eglReleaseThread(); 223 eglReleaseThread();
222 } 224 }
223 free(gw); 225 free(gw);
diff --git a/libraries/evas/src/modules/engines/wayland_shm/Evas_Engine_Wayland_Shm.h b/libraries/evas/src/modules/engines/wayland_shm/Evas_Engine_Wayland_Shm.h
index b34b2c1..2b5c2c7 100644
--- a/libraries/evas/src/modules/engines/wayland_shm/Evas_Engine_Wayland_Shm.h
+++ b/libraries/evas/src/modules/engines/wayland_shm/Evas_Engine_Wayland_Shm.h
@@ -11,7 +11,8 @@ struct _Evas_Engine_Info_Wayland_Shm
11 void *dest; 11 void *dest;
12 int rotation; 12 int rotation;
13 13
14 unsigned char debug : 1; 14 Eina_Bool destination_alpha : 1;
15 Eina_Bool debug : 1;
15 } info; 16 } info;
16 17
17 Evas_Engine_Render_Mode render_mode; 18 Evas_Engine_Render_Mode render_mode;
diff --git a/libraries/evas/src/modules/engines/wayland_shm/Makefile.am b/libraries/evas/src/modules/engines/wayland_shm/Makefile.am
index 455b82c..2a5901f 100644
--- a/libraries/evas/src/modules/engines/wayland_shm/Makefile.am
+++ b/libraries/evas/src/modules/engines/wayland_shm/Makefile.am
@@ -7,6 +7,7 @@ AM_CPPFLAGS = \
7-I$(top_srcdir)/src/lib/include \ 7-I$(top_srcdir)/src/lib/include \
8-I$(top_srcdir)/src/modules/engines \ 8-I$(top_srcdir)/src/modules/engines \
9@FREETYPE_CFLAGS@ \ 9@FREETYPE_CFLAGS@ \
10@PIXMAN_CFLAGS@ \
10@EINA_CFLAGS@ \ 11@EINA_CFLAGS@ \
11@evas_engine_wayland_shm_cflags@ 12@evas_engine_wayland_shm_cflags@
12 13
@@ -16,7 +17,7 @@ WAYLAND_SHM_SOURCES = \
16evas_engine.c \ 17evas_engine.c \
17evas_outbuf.c 18evas_outbuf.c
18 19
19WAYLAND_SHM_LIBADD = @FREETYPE_LIBS@ @EINA_LIBS@ @evas_engine_wayland_shm_libs@ 20WAYLAND_SHM_LIBADD = @FREETYPE_LIBS@ @PIXMAN_LIBS@ @EINA_LIBS@ @evas_engine_wayland_shm_libs@
20 21
21includes_HEADERS = Evas_Engine_Wayland_Shm.h 22includes_HEADERS = Evas_Engine_Wayland_Shm.h
22includesdir = $(includedir)/evas-@VMAJ@ 23includesdir = $(includedir)/evas-@VMAJ@
diff --git a/libraries/evas/src/modules/engines/wayland_shm/Makefile.in b/libraries/evas/src/modules/engines/wayland_shm/Makefile.in
index 4d69209..e70210b 100644
--- a/libraries/evas/src/modules/engines/wayland_shm/Makefile.in
+++ b/libraries/evas/src/modules/engines/wayland_shm/Makefile.in
@@ -194,6 +194,8 @@ EVAS_SSE3_CFLAGS = @EVAS_SSE3_CFLAGS@
194EVIL_CFLAGS = @EVIL_CFLAGS@ 194EVIL_CFLAGS = @EVIL_CFLAGS@
195EVIL_LIBS = @EVIL_LIBS@ 195EVIL_LIBS = @EVIL_LIBS@
196EXEEXT = @EXEEXT@ 196EXEEXT = @EXEEXT@
197EXOTIC_CFLAGS = @EXOTIC_CFLAGS@
198EXOTIC_LIBS = @EXOTIC_LIBS@
197FGREP = @FGREP@ 199FGREP = @FGREP@
198FONTCONFIG_CFLAGS = @FONTCONFIG_CFLAGS@ 200FONTCONFIG_CFLAGS = @FONTCONFIG_CFLAGS@
199FONTCONFIG_LIBS = @FONTCONFIG_LIBS@ 201FONTCONFIG_LIBS = @FONTCONFIG_LIBS@
@@ -244,6 +246,8 @@ PATH_SEPARATOR = @PATH_SEPARATOR@
244PIXMAN_CFLAGS = @PIXMAN_CFLAGS@ 246PIXMAN_CFLAGS = @PIXMAN_CFLAGS@
245PIXMAN_LIBS = @PIXMAN_LIBS@ 247PIXMAN_LIBS = @PIXMAN_LIBS@
246PKG_CONFIG = @PKG_CONFIG@ 248PKG_CONFIG = @PKG_CONFIG@
249PKG_CONFIG_LIBDIR = @PKG_CONFIG_LIBDIR@
250PKG_CONFIG_PATH = @PKG_CONFIG_PATH@
247PNG_CFLAGS = @PNG_CFLAGS@ 251PNG_CFLAGS = @PNG_CFLAGS@
248PNG_LIBS = @PNG_LIBS@ 252PNG_LIBS = @PNG_LIBS@
249RANLIB = @RANLIB@ 253RANLIB = @RANLIB@
@@ -262,8 +266,6 @@ VERSION = @VERSION@
262VMAJ = @VMAJ@ 266VMAJ = @VMAJ@
263WAYLAND_EGL_CFLAGS = @WAYLAND_EGL_CFLAGS@ 267WAYLAND_EGL_CFLAGS = @WAYLAND_EGL_CFLAGS@
264WAYLAND_EGL_LIBS = @WAYLAND_EGL_LIBS@ 268WAYLAND_EGL_LIBS = @WAYLAND_EGL_LIBS@
265WIN32_CFLAGS = @WIN32_CFLAGS@
266WIN32_CPPFLAGS = @WIN32_CPPFLAGS@
267XCB_CFLAGS = @XCB_CFLAGS@ 269XCB_CFLAGS = @XCB_CFLAGS@
268XCB_GL_CFLAGS = @XCB_GL_CFLAGS@ 270XCB_GL_CFLAGS = @XCB_GL_CFLAGS@
269XCB_GL_LIBS = @XCB_GL_LIBS@ 271XCB_GL_LIBS = @XCB_GL_LIBS@
@@ -337,8 +339,6 @@ evas_engine_software_ddraw_cflags = @evas_engine_software_ddraw_cflags@
337evas_engine_software_ddraw_libs = @evas_engine_software_ddraw_libs@ 339evas_engine_software_ddraw_libs = @evas_engine_software_ddraw_libs@
338evas_engine_software_gdi_cflags = @evas_engine_software_gdi_cflags@ 340evas_engine_software_gdi_cflags = @evas_engine_software_gdi_cflags@
339evas_engine_software_gdi_libs = @evas_engine_software_gdi_libs@ 341evas_engine_software_gdi_libs = @evas_engine_software_gdi_libs@
340evas_engine_software_sdl_cflags = @evas_engine_software_sdl_cflags@
341evas_engine_software_sdl_libs = @evas_engine_software_sdl_libs@
342evas_engine_software_xcb_cflags = @evas_engine_software_xcb_cflags@ 342evas_engine_software_xcb_cflags = @evas_engine_software_xcb_cflags@
343evas_engine_software_xcb_libs = @evas_engine_software_xcb_libs@ 343evas_engine_software_xcb_libs = @evas_engine_software_xcb_libs@
344evas_engine_software_xlib_cflags = @evas_engine_software_xlib_cflags@ 344evas_engine_software_xlib_cflags = @evas_engine_software_xlib_cflags@
@@ -428,6 +428,7 @@ AM_CPPFLAGS = \
428-I$(top_srcdir)/src/lib/include \ 428-I$(top_srcdir)/src/lib/include \
429-I$(top_srcdir)/src/modules/engines \ 429-I$(top_srcdir)/src/modules/engines \
430@FREETYPE_CFLAGS@ \ 430@FREETYPE_CFLAGS@ \
431@PIXMAN_CFLAGS@ \
431@EINA_CFLAGS@ \ 432@EINA_CFLAGS@ \
432@evas_engine_wayland_shm_cflags@ 433@evas_engine_wayland_shm_cflags@
433 434
@@ -435,7 +436,7 @@ AM_CPPFLAGS = \
435@BUILD_ENGINE_WAYLAND_SHM_TRUE@evas_engine.c \ 436@BUILD_ENGINE_WAYLAND_SHM_TRUE@evas_engine.c \
436@BUILD_ENGINE_WAYLAND_SHM_TRUE@evas_outbuf.c 437@BUILD_ENGINE_WAYLAND_SHM_TRUE@evas_outbuf.c
437 438
438@BUILD_ENGINE_WAYLAND_SHM_TRUE@WAYLAND_SHM_LIBADD = @FREETYPE_LIBS@ @EINA_LIBS@ @evas_engine_wayland_shm_libs@ 439@BUILD_ENGINE_WAYLAND_SHM_TRUE@WAYLAND_SHM_LIBADD = @FREETYPE_LIBS@ @PIXMAN_LIBS@ @EINA_LIBS@ @evas_engine_wayland_shm_libs@
439@BUILD_ENGINE_WAYLAND_SHM_TRUE@includes_HEADERS = Evas_Engine_Wayland_Shm.h 440@BUILD_ENGINE_WAYLAND_SHM_TRUE@includes_HEADERS = Evas_Engine_Wayland_Shm.h
440@BUILD_ENGINE_WAYLAND_SHM_TRUE@includesdir = $(includedir)/evas-@VMAJ@ 441@BUILD_ENGINE_WAYLAND_SHM_TRUE@includesdir = $(includedir)/evas-@VMAJ@
441@BUILD_ENGINE_WAYLAND_SHM_TRUE@@EVAS_STATIC_BUILD_WAYLAND_SHM_FALSE@pkgdir = $(libdir)/evas/modules/engines/wayland_shm/$(MODULE_ARCH) 442@BUILD_ENGINE_WAYLAND_SHM_TRUE@@EVAS_STATIC_BUILD_WAYLAND_SHM_FALSE@pkgdir = $(libdir)/evas/modules/engines/wayland_shm/$(MODULE_ARCH)
diff --git a/libraries/evas/src/modules/engines/wayland_shm/evas_engine.c b/libraries/evas/src/modules/engines/wayland_shm/evas_engine.c
index 7c55517..17b17bf 100644
--- a/libraries/evas/src/modules/engines/wayland_shm/evas_engine.c
+++ b/libraries/evas/src/modules/engines/wayland_shm/evas_engine.c
@@ -28,7 +28,7 @@ static Evas_Func func, pfunc;
28int _evas_engine_way_shm_log_dom = -1; 28int _evas_engine_way_shm_log_dom = -1;
29 29
30/* local function prototypes */ 30/* local function prototypes */
31static void *_output_setup(int w, int h, int rotation, void *dest); 31static void *_output_setup(int w, int h, int rotation, Eina_Bool alpha, void *dest);
32 32
33/* engine function prototypes */ 33/* engine function prototypes */
34static void *eng_info(Evas *evas __UNUSED__); 34static void *eng_info(Evas *evas __UNUSED__);
@@ -48,7 +48,7 @@ static Eina_Bool eng_canvas_alpha_get(void *data, void *context __UNUSED__);
48 48
49/* local functions */ 49/* local functions */
50static void * 50static void *
51_output_setup(int w, int h, int rotation, void *dest) 51_output_setup(int w, int h, int rotation, Eina_Bool alpha, void *dest)
52{ 52{
53 Render_Engine *re = NULL; 53 Render_Engine *re = NULL;
54 54
@@ -56,7 +56,7 @@ _output_setup(int w, int h, int rotation, void *dest)
56 56
57 if (!(re = calloc(1, sizeof(Render_Engine)))) return NULL; 57 if (!(re = calloc(1, sizeof(Render_Engine)))) return NULL;
58 58
59 if (!(re->ob = evas_outbuf_setup(w, h, rotation, dest))) 59 if (!(re->ob = evas_outbuf_setup(w, h, rotation, alpha, dest)))
60 { 60 {
61 free(re); 61 free(re);
62 return NULL; 62 return NULL;
@@ -127,7 +127,8 @@ eng_setup(Evas *evas, void *info)
127 evas_common_tilebuf_init(); 127 evas_common_tilebuf_init();
128 128
129 re = _output_setup(evas->output.w, evas->output.h, 129 re = _output_setup(evas->output.w, evas->output.h,
130 in->info.rotation, in->info.dest); 130 in->info.rotation, in->info.destination_alpha,
131 in->info.dest);
131 if (!re) return 0; 132 if (!re) return 0;
132 133
133 re->outbuf_free = evas_outbuf_free; 134 re->outbuf_free = evas_outbuf_free;
@@ -141,7 +142,8 @@ eng_setup(Evas *evas, void *info)
141 if (!(re = evas->engine.data.output)) return 0; 142 if (!(re = evas->engine.data.output)) return 0;
142 if (re->ob) re->outbuf_free(re->ob); 143 if (re->ob) re->outbuf_free(re->ob);
143 re->ob = evas_outbuf_setup(evas->output.w, evas->output.h, 144 re->ob = evas_outbuf_setup(evas->output.w, evas->output.h,
144 in->info.rotation, in->info.dest); 145 in->info.rotation,
146 in->info.destination_alpha, in->info.dest);
145 if (re->tb) evas_common_tilebuf_free(re->tb); 147 if (re->tb) evas_common_tilebuf_free(re->tb);
146 if ((re->tb = evas_common_tilebuf_new(evas->output.w, evas->output.h))) 148 if ((re->tb = evas_common_tilebuf_new(evas->output.w, evas->output.h)))
147 evas_common_tilebuf_set_tile_size(re->tb, TILESIZE, TILESIZE); 149 evas_common_tilebuf_set_tile_size(re->tb, TILESIZE, TILESIZE);
diff --git a/libraries/evas/src/modules/engines/wayland_shm/evas_engine.h b/libraries/evas/src/modules/engines/wayland_shm/evas_engine.h
index 878851a..1869d16 100644
--- a/libraries/evas/src/modules/engines/wayland_shm/evas_engine.h
+++ b/libraries/evas/src/modules/engines/wayland_shm/evas_engine.h
@@ -47,12 +47,13 @@ struct _Outbuf
47 { 47 {
48 void *dest; 48 void *dest;
49 RGBA_Image *buffer; 49 RGBA_Image *buffer;
50 Eina_Bool destination_alpha : 1;
50 } priv; 51 } priv;
51}; 52};
52 53
53void evas_outbuf_free(Outbuf *ob); 54void evas_outbuf_free(Outbuf *ob);
54void evas_outbuf_resize(Outbuf *ob, int w, int h); 55void evas_outbuf_resize(Outbuf *ob, int w, int h);
55Outbuf *evas_outbuf_setup(int w, int h, int rot, void *dest); 56Outbuf *evas_outbuf_setup(int w, int h, int rot, Eina_Bool alpha, void *dest);
56RGBA_Image *evas_outbuf_new_region_for_update(Outbuf *ob, int x, int y, int w, int h, int *cx, int *cy, int *cw, int *ch); 57RGBA_Image *evas_outbuf_new_region_for_update(Outbuf *ob, int x, int y, int w, int h, int *cx, int *cy, int *cw, int *ch);
57void evas_outbuf_push_updated_region(Outbuf *ob, RGBA_Image *update, int x __UNUSED__, int y, int w, int h); 58void evas_outbuf_push_updated_region(Outbuf *ob, RGBA_Image *update, int x __UNUSED__, int y, int w, int h);
58void evas_outbuf_free_region_for_update(Outbuf *ob, RGBA_Image *update); 59void evas_outbuf_free_region_for_update(Outbuf *ob, RGBA_Image *update);
diff --git a/libraries/evas/src/modules/engines/wayland_shm/evas_outbuf.c b/libraries/evas/src/modules/engines/wayland_shm/evas_outbuf.c
index 490a978..4dee9a2 100644
--- a/libraries/evas/src/modules/engines/wayland_shm/evas_outbuf.c
+++ b/libraries/evas/src/modules/engines/wayland_shm/evas_outbuf.c
@@ -21,7 +21,7 @@ evas_outbuf_resize(Outbuf *ob, int w, int h)
21} 21}
22 22
23Outbuf * 23Outbuf *
24evas_outbuf_setup(int w, int h, int rot, void *dest) 24evas_outbuf_setup(int w, int h, int rot, Eina_Bool alpha, void *dest)
25{ 25{
26 Outbuf *ob = NULL; 26 Outbuf *ob = NULL;
27 27
@@ -31,6 +31,7 @@ evas_outbuf_setup(int w, int h, int rot, void *dest)
31 ob->h = h; 31 ob->h = h;
32 ob->rotation = rot; 32 ob->rotation = rot;
33 ob->priv.dest = dest; 33 ob->priv.dest = dest;
34 ob->priv.destination_alpha = alpha;
34 35
35 ob->priv.buffer = 36 ob->priv.buffer =
36 (RGBA_Image *)evas_cache_image_data(evas_common_image_cache_get(), 37 (RGBA_Image *)evas_cache_image_data(evas_common_image_cache_get(),
@@ -56,7 +57,7 @@ evas_outbuf_new_region_for_update(Outbuf *ob, int x, int y, int w, int h, int *c
56 im = (RGBA_Image *)evas_cache_image_empty(evas_common_image_cache_get()); 57 im = (RGBA_Image *)evas_cache_image_empty(evas_common_image_cache_get());
57 if (im) 58 if (im)
58 { 59 {
59 im->cache_entry.flags.alpha = 1; 60 im->cache_entry.flags.alpha = ob->priv.destination_alpha;
60 im = (RGBA_Image *)evas_cache_image_size_set(&im->cache_entry, w, h); 61 im = (RGBA_Image *)evas_cache_image_size_set(&im->cache_entry, w, h);
61 } 62 }
62 63