aboutsummaryrefslogtreecommitdiffstatshomepage
path: root/libraries/evas/src/modules/engines/psl1ght
diff options
context:
space:
mode:
authorDavid Walter Seikel2012-01-04 18:41:13 +1000
committerDavid Walter Seikel2012-01-04 18:41:13 +1000
commitdd7595a3475407a7fa96a97393bae8c5220e8762 (patch)
treee341e911d7eb911a51684a7412ef7f7c7605d28e /libraries/evas/src/modules/engines/psl1ght
parentAdd the skeleton. (diff)
downloadSledjHamr-dd7595a3475407a7fa96a97393bae8c5220e8762.zip
SledjHamr-dd7595a3475407a7fa96a97393bae8c5220e8762.tar.gz
SledjHamr-dd7595a3475407a7fa96a97393bae8c5220e8762.tar.bz2
SledjHamr-dd7595a3475407a7fa96a97393bae8c5220e8762.tar.xz
Add the base Enlightenment Foundation Libraries - eina, eet, evas, ecore, embryo, and edje.
Note that embryo wont be used, but I'm not sure yet if you can build edje without it.
Diffstat (limited to 'libraries/evas/src/modules/engines/psl1ght')
-rw-r--r--libraries/evas/src/modules/engines/psl1ght/Evas_Engine_PSL1GHT.h16
-rw-r--r--libraries/evas/src/modules/engines/psl1ght/Makefile.am47
-rw-r--r--libraries/evas/src/modules/engines/psl1ght/Makefile.in810
-rw-r--r--libraries/evas/src/modules/engines/psl1ght/evas_engine.c511
-rw-r--r--libraries/evas/src/modules/engines/psl1ght/evas_engine.h30
-rw-r--r--libraries/evas/src/modules/engines/psl1ght/rsxutil.c275
-rw-r--r--libraries/evas/src/modules/engines/psl1ght/rsxutil.h43
7 files changed, 1732 insertions, 0 deletions
diff --git a/libraries/evas/src/modules/engines/psl1ght/Evas_Engine_PSL1GHT.h b/libraries/evas/src/modules/engines/psl1ght/Evas_Engine_PSL1GHT.h
new file mode 100644
index 0000000..f1d5636
--- /dev/null
+++ b/libraries/evas/src/modules/engines/psl1ght/Evas_Engine_PSL1GHT.h
@@ -0,0 +1,16 @@
1#ifndef _EVAS_ENGINE_PSL1GHT_H
2#define _EVAS_ENGINE_PSL1GHT_H
3
4typedef struct _Evas_Engine_Info_PSL1GHT Evas_Engine_Info_PSL1GHT;
5
6struct _Evas_Engine_Info_PSL1GHT
7{
8 /* PRIVATE - don't mess with this baby or evas will poke its tongue out */
9 /* at you and make nasty noises */
10 Evas_Engine_Info magic;
11
12 /* non-blocking or blocking mode */
13 Evas_Engine_Render_Mode render_mode;
14};
15#endif
16
diff --git a/libraries/evas/src/modules/engines/psl1ght/Makefile.am b/libraries/evas/src/modules/engines/psl1ght/Makefile.am
new file mode 100644
index 0000000..92ccea7
--- /dev/null
+++ b/libraries/evas/src/modules/engines/psl1ght/Makefile.am
@@ -0,0 +1,47 @@
1
2MAINTAINERCLEANFILES = Makefile.in
3
4AM_CPPFLAGS = \
5-I. \
6-I$(top_srcdir)/src/lib \
7-I$(top_srcdir)/src/lib/include \
8-I$(top_srcdir)/src/modules/engines \
9@FREETYPE_CFLAGS@ \
10@PIXMAN_CFLAGS@ \
11@EINA_CFLAGS@ \
12@evas_engine_psl1ght_cflags@
13
14if BUILD_ENGINE_PSL1GHT
15
16PSL1GHT_SOURCES = \
17evas_engine.c \
18rsxutil.c
19
20PSL1GHT_LIBADD = @evas_engine_psl1ght_libs@
21
22
23includes_HEADERS = Evas_Engine_PSL1GHT.h
24includesdir = $(includedir)/evas-@VMAJ@
25
26if !EVAS_STATIC_BUILD_PSL1GHT
27
28pkgdir = $(libdir)/evas/modules/engines/psl1ght/$(MODULE_ARCH)
29pkg_LTLIBRARIES = module.la
30module_la_SOURCES = $(PSL1GHT_SOURCES)
31module_la_LIBADD = @EINA_LIBS@ $(PSL1GHT_LIBADD) $(top_builddir)/src/lib/libevas.la
32module_la_LDFLAGS = -module -avoid-version
33module_la_LIBTOOLFLAGS = --tag=disable-static
34
35else
36
37noinst_LTLIBRARIES = libevas_engine_psl1ght.la
38
39libevas_engine_psl1ght_la_SOURCES = $(PSL1GHT_SOURCES)
40libevas_engine_psl1ght_la_LIBADD = $(PSL1GHT_LIBADD)
41
42endif
43endif
44
45EXTRA_DIST = \
46evas_engine.h \
47rsxutil.h
diff --git a/libraries/evas/src/modules/engines/psl1ght/Makefile.in b/libraries/evas/src/modules/engines/psl1ght/Makefile.in
new file mode 100644
index 0000000..6b553ac
--- /dev/null
+++ b/libraries/evas/src/modules/engines/psl1ght/Makefile.in
@@ -0,0 +1,810 @@
1# Makefile.in generated by automake 1.11.1 from Makefile.am.
2# @configure_input@
3
4# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
5# 2003, 2004, 2005, 2006, 2007, 2008, 2009 Free Software Foundation,
6# Inc.
7# This Makefile.in is free software; the Free Software Foundation
8# gives unlimited permission to copy and/or distribute it,
9# with or without modifications, as long as this notice is preserved.
10
11# This program is distributed in the hope that it will be useful,
12# but WITHOUT ANY WARRANTY, to the extent permitted by law; without
13# even the implied warranty of MERCHANTABILITY or FITNESS FOR A
14# PARTICULAR PURPOSE.
15
16@SET_MAKE@
17
18
19VPATH = @srcdir@
20pkgdatadir = $(datadir)/@PACKAGE@
21pkgincludedir = $(includedir)/@PACKAGE@
22pkglibdir = $(libdir)/@PACKAGE@
23pkglibexecdir = $(libexecdir)/@PACKAGE@
24am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd
25install_sh_DATA = $(install_sh) -c -m 644
26install_sh_PROGRAM = $(install_sh) -c
27install_sh_SCRIPT = $(install_sh) -c
28INSTALL_HEADER = $(INSTALL_DATA)
29transform = $(program_transform_name)
30NORMAL_INSTALL = :
31PRE_INSTALL = :
32POST_INSTALL = :
33NORMAL_UNINSTALL = :
34PRE_UNINSTALL = :
35POST_UNINSTALL = :
36build_triplet = @build@
37host_triplet = @host@
38subdir = src/modules/engines/psl1ght
39DIST_COMMON = $(am__includes_HEADERS_DIST) $(srcdir)/Makefile.am \
40 $(srcdir)/Makefile.in
41ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
42am__aclocal_m4_deps = $(top_srcdir)/m4/efl_attribute.m4 \
43 $(top_srcdir)/m4/efl_coverage.m4 \
44 $(top_srcdir)/m4/efl_doxygen.m4 \
45 $(top_srcdir)/m4/efl_fnmatch.m4 \
46 $(top_srcdir)/m4/efl_path_max.m4 $(top_srcdir)/m4/efl_tests.m4 \
47 $(top_srcdir)/m4/evas_check_engine.m4 \
48 $(top_srcdir)/m4/evas_check_loader.m4 \
49 $(top_srcdir)/m4/evas_converter.m4 \
50 $(top_srcdir)/m4/evas_dither.m4 \
51 $(top_srcdir)/m4/evas_scaler.m4 $(top_srcdir)/m4/libtool.m4 \
52 $(top_srcdir)/m4/ltoptions.m4 $(top_srcdir)/m4/ltsugar.m4 \
53 $(top_srcdir)/m4/ltversion.m4 $(top_srcdir)/m4/lt~obsolete.m4 \
54 $(top_srcdir)/configure.ac
55am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
56 $(ACLOCAL_M4)
57mkinstalldirs = $(install_sh) -d
58CONFIG_HEADER = $(top_builddir)/config.h
59CONFIG_CLEAN_FILES =
60CONFIG_CLEAN_VPATH_FILES =
61am__vpath_adj_setup = srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`;
62am__vpath_adj = case $$p in \
63 $(srcdir)/*) f=`echo "$$p" | sed "s|^$$srcdirstrip/||"`;; \
64 *) f=$$p;; \
65 esac;
66am__strip_dir = f=`echo $$p | sed -e 's|^.*/||'`;
67am__install_max = 40
68am__nobase_strip_setup = \
69 srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*|]/\\\\&/g'`
70am__nobase_strip = \
71 for p in $$list; do echo "$$p"; done | sed -e "s|$$srcdirstrip/||"
72am__nobase_list = $(am__nobase_strip_setup); \
73 for p in $$list; do echo "$$p $$p"; done | \
74 sed "s| $$srcdirstrip/| |;"' / .*\//!s/ .*/ ./; s,\( .*\)/[^/]*$$,\1,' | \
75 $(AWK) 'BEGIN { files["."] = "" } { files[$$2] = files[$$2] " " $$1; \
76 if (++n[$$2] == $(am__install_max)) \
77 { print $$2, files[$$2]; n[$$2] = 0; files[$$2] = "" } } \
78 END { for (dir in files) print dir, files[dir] }'
79am__base_list = \
80 sed '$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;s/\n/ /g' | \
81 sed '$$!N;$$!N;$$!N;$$!N;s/\n/ /g'
82am__installdirs = "$(DESTDIR)$(pkgdir)" "$(DESTDIR)$(includesdir)"
83LTLIBRARIES = $(noinst_LTLIBRARIES) $(pkg_LTLIBRARIES)
84am__DEPENDENCIES_1 =
85@BUILD_ENGINE_PSL1GHT_TRUE@@EVAS_STATIC_BUILD_PSL1GHT_TRUE@libevas_engine_psl1ght_la_DEPENDENCIES = $(am__DEPENDENCIES_1)
86am__libevas_engine_psl1ght_la_SOURCES_DIST = evas_engine.c rsxutil.c
87@BUILD_ENGINE_PSL1GHT_TRUE@am__objects_1 = evas_engine.lo rsxutil.lo
88@BUILD_ENGINE_PSL1GHT_TRUE@@EVAS_STATIC_BUILD_PSL1GHT_TRUE@am_libevas_engine_psl1ght_la_OBJECTS = $(am__objects_1)
89libevas_engine_psl1ght_la_OBJECTS = \
90 $(am_libevas_engine_psl1ght_la_OBJECTS)
91AM_V_lt = $(am__v_lt_$(V))
92am__v_lt_ = $(am__v_lt_$(AM_DEFAULT_VERBOSITY))
93am__v_lt_0 = --silent
94@BUILD_ENGINE_PSL1GHT_TRUE@@EVAS_STATIC_BUILD_PSL1GHT_TRUE@am_libevas_engine_psl1ght_la_rpath =
95@BUILD_ENGINE_PSL1GHT_TRUE@@EVAS_STATIC_BUILD_PSL1GHT_FALSE@module_la_DEPENDENCIES = $(am__DEPENDENCIES_1) \
96@BUILD_ENGINE_PSL1GHT_TRUE@@EVAS_STATIC_BUILD_PSL1GHT_FALSE@ $(top_builddir)/src/lib/libevas.la
97am__module_la_SOURCES_DIST = evas_engine.c rsxutil.c
98@BUILD_ENGINE_PSL1GHT_TRUE@am__objects_2 = module_la-evas_engine.lo \
99@BUILD_ENGINE_PSL1GHT_TRUE@ module_la-rsxutil.lo
100@BUILD_ENGINE_PSL1GHT_TRUE@@EVAS_STATIC_BUILD_PSL1GHT_FALSE@am_module_la_OBJECTS = $(am__objects_2)
101module_la_OBJECTS = $(am_module_la_OBJECTS)
102module_la_LINK = $(LIBTOOL) $(AM_V_lt) --tag=CC \
103 $(module_la_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=link $(CCLD) \
104 $(AM_CFLAGS) $(CFLAGS) $(module_la_LDFLAGS) $(LDFLAGS) -o $@
105@BUILD_ENGINE_PSL1GHT_TRUE@@EVAS_STATIC_BUILD_PSL1GHT_FALSE@am_module_la_rpath = -rpath \
106@BUILD_ENGINE_PSL1GHT_TRUE@@EVAS_STATIC_BUILD_PSL1GHT_FALSE@ $(pkgdir)
107DEFAULT_INCLUDES = -I.@am__isrc@ -I$(top_builddir)
108depcomp = $(SHELL) $(top_srcdir)/depcomp
109am__depfiles_maybe = depfiles
110am__mv = mv -f
111COMPILE = $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) \
112 $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS)
113LTCOMPILE = $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) \
114 $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) \
115 $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) \
116 $(AM_CFLAGS) $(CFLAGS)
117AM_V_CC = $(am__v_CC_$(V))
118am__v_CC_ = $(am__v_CC_$(AM_DEFAULT_VERBOSITY))
119am__v_CC_0 = @echo " CC " $@;
120AM_V_at = $(am__v_at_$(V))
121am__v_at_ = $(am__v_at_$(AM_DEFAULT_VERBOSITY))
122am__v_at_0 = @
123CCLD = $(CC)
124LINK = $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) \
125 $(LIBTOOLFLAGS) --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) \
126 $(AM_LDFLAGS) $(LDFLAGS) -o $@
127AM_V_CCLD = $(am__v_CCLD_$(V))
128am__v_CCLD_ = $(am__v_CCLD_$(AM_DEFAULT_VERBOSITY))
129am__v_CCLD_0 = @echo " CCLD " $@;
130AM_V_GEN = $(am__v_GEN_$(V))
131am__v_GEN_ = $(am__v_GEN_$(AM_DEFAULT_VERBOSITY))
132am__v_GEN_0 = @echo " GEN " $@;
133SOURCES = $(libevas_engine_psl1ght_la_SOURCES) $(module_la_SOURCES)
134DIST_SOURCES = $(am__libevas_engine_psl1ght_la_SOURCES_DIST) \
135 $(am__module_la_SOURCES_DIST)
136am__includes_HEADERS_DIST = Evas_Engine_PSL1GHT.h
137HEADERS = $(includes_HEADERS)
138ETAGS = etags
139CTAGS = ctags
140DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
141ACLOCAL = @ACLOCAL@
142ALLOCA = @ALLOCA@
143AMTAR = @AMTAR@
144AM_DEFAULT_VERBOSITY = @AM_DEFAULT_VERBOSITY@
145AR = @AR@
146AS = @AS@
147AUTOCONF = @AUTOCONF@
148AUTOHEADER = @AUTOHEADER@
149AUTOMAKE = @AUTOMAKE@
150AWK = @AWK@
151CC = @CC@
152CCDEPMODE = @CCDEPMODE@
153CFLAGS = @CFLAGS@
154CHECK_CFLAGS = @CHECK_CFLAGS@
155CHECK_LIBS = @CHECK_LIBS@
156CPP = @CPP@
157CPPFLAGS = @CPPFLAGS@
158CXX = @CXX@
159CXXCPP = @CXXCPP@
160CXXDEPMODE = @CXXDEPMODE@
161CXXFLAGS = @CXXFLAGS@
162CYGPATH_W = @CYGPATH_W@
163DEFS = @DEFS@
164DEPDIR = @DEPDIR@
165DIRECTFB_CFLAGS = @DIRECTFB_CFLAGS@
166DIRECTFB_LIBS = @DIRECTFB_LIBS@
167DLLTOOL = @DLLTOOL@
168DSYMUTIL = @DSYMUTIL@
169DUMPBIN = @DUMPBIN@
170ECHO_C = @ECHO_C@
171ECHO_N = @ECHO_N@
172ECHO_T = @ECHO_T@
173ECORE_EVAS_CFLAGS = @ECORE_EVAS_CFLAGS@
174ECORE_EVAS_LIBS = @ECORE_EVAS_LIBS@
175EDB_CFLAGS = @EDB_CFLAGS@
176EDB_LIBS = @EDB_LIBS@
177EDJE_CFLAGS = @EDJE_CFLAGS@
178EDJE_LIBS = @EDJE_LIBS@
179EET_CFLAGS = @EET_CFLAGS@
180EET_LIBS = @EET_LIBS@
181EFL_COVERAGE_CFLAGS = @EFL_COVERAGE_CFLAGS@
182EFL_COVERAGE_LIBS = @EFL_COVERAGE_LIBS@
183EFL_FNMATCH_LIBS = @EFL_FNMATCH_LIBS@
184EGREP = @EGREP@
185EINA_CFLAGS = @EINA_CFLAGS@
186EINA_LIBS = @EINA_LIBS@
187EVAS_CFLAGS = @EVAS_CFLAGS@
188EVAS_LIBS = @EVAS_LIBS@
189EVAS_SSE3_CFLAGS = @EVAS_SSE3_CFLAGS@
190EVIL_CFLAGS = @EVIL_CFLAGS@
191EVIL_LIBS = @EVIL_LIBS@
192EXEEXT = @EXEEXT@
193FGREP = @FGREP@
194FONTCONFIG_CFLAGS = @FONTCONFIG_CFLAGS@
195FONTCONFIG_LIBS = @FONTCONFIG_LIBS@
196FREETYPE_CFLAGS = @FREETYPE_CFLAGS@
197FREETYPE_LIBS = @FREETYPE_LIBS@
198FRIBIDI_CFLAGS = @FRIBIDI_CFLAGS@
199FRIBIDI_LIBS = @FRIBIDI_LIBS@
200GL_EET_CFLAGS = @GL_EET_CFLAGS@
201GL_EET_LIBS = @GL_EET_LIBS@
202GREP = @GREP@
203HARFBUZZ_CFLAGS = @HARFBUZZ_CFLAGS@
204HARFBUZZ_LIBS = @HARFBUZZ_LIBS@
205INSTALL = @INSTALL@
206INSTALL_DATA = @INSTALL_DATA@
207INSTALL_PROGRAM = @INSTALL_PROGRAM@
208INSTALL_SCRIPT = @INSTALL_SCRIPT@
209INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@
210LD = @LD@
211LDFLAGS = @LDFLAGS@
212LIBOBJS = @LIBOBJS@
213LIBS = @LIBS@
214LIBTOOL = @LIBTOOL@
215LINEBREAK_CFLAGS = @LINEBREAK_CFLAGS@
216LINEBREAK_LIBS = @LINEBREAK_LIBS@
217LIPO = @LIPO@
218LN_S = @LN_S@
219LTLIBOBJS = @LTLIBOBJS@
220MAKEINFO = @MAKEINFO@
221MKDIR_P = @MKDIR_P@
222MODULE_ARCH = @MODULE_ARCH@
223NM = @NM@
224NMEDIT = @NMEDIT@
225OBJC = @OBJC@
226OBJCDEPMODE = @OBJCDEPMODE@
227OBJCFLAGS = @OBJCFLAGS@
228OBJDUMP = @OBJDUMP@
229OBJEXT = @OBJEXT@
230OTOOL = @OTOOL@
231OTOOL64 = @OTOOL64@
232PACKAGE = @PACKAGE@
233PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@
234PACKAGE_NAME = @PACKAGE_NAME@
235PACKAGE_STRING = @PACKAGE_STRING@
236PACKAGE_TARNAME = @PACKAGE_TARNAME@
237PACKAGE_URL = @PACKAGE_URL@
238PACKAGE_VERSION = @PACKAGE_VERSION@
239PATH_SEPARATOR = @PATH_SEPARATOR@
240PIXMAN_CFLAGS = @PIXMAN_CFLAGS@
241PIXMAN_LIBS = @PIXMAN_LIBS@
242PKG_CONFIG = @PKG_CONFIG@
243PKG_CONFIG_LIBDIR = @PKG_CONFIG_LIBDIR@
244PKG_CONFIG_PATH = @PKG_CONFIG_PATH@
245PNG_CFLAGS = @PNG_CFLAGS@
246PNG_LIBS = @PNG_LIBS@
247RANLIB = @RANLIB@
248SDL_CFLAGS = @SDL_CFLAGS@
249SDL_LIBS = @SDL_LIBS@
250SED = @SED@
251SET_MAKE = @SET_MAKE@
252SHELL = @SHELL@
253SHM_OPEN_LINK = @SHM_OPEN_LINK@
254STRIP = @STRIP@
255SVG_CFLAGS = @SVG_CFLAGS@
256SVG_LIBS = @SVG_LIBS@
257VALGRIND_CFLAGS = @VALGRIND_CFLAGS@
258VALGRIND_LIBS = @VALGRIND_LIBS@
259VERSION = @VERSION@
260VMAJ = @VMAJ@
261WIN32_CFLAGS = @WIN32_CFLAGS@
262WIN32_CPPFLAGS = @WIN32_CPPFLAGS@
263XCB_CFLAGS = @XCB_CFLAGS@
264XCB_GL_CFLAGS = @XCB_GL_CFLAGS@
265XCB_GL_LIBS = @XCB_GL_LIBS@
266XCB_LIBS = @XCB_LIBS@
267XEXT_CFLAGS = @XEXT_CFLAGS@
268XEXT_LIBS = @XEXT_LIBS@
269XMKMF = @XMKMF@
270X_CFLAGS = @X_CFLAGS@
271X_EXTRA_LIBS = @X_EXTRA_LIBS@
272X_LIBS = @X_LIBS@
273X_PRE_LIBS = @X_PRE_LIBS@
274abs_builddir = @abs_builddir@
275abs_srcdir = @abs_srcdir@
276abs_top_builddir = @abs_top_builddir@
277abs_top_srcdir = @abs_top_srcdir@
278ac_ct_CC = @ac_ct_CC@
279ac_ct_CXX = @ac_ct_CXX@
280ac_ct_DUMPBIN = @ac_ct_DUMPBIN@
281ac_ct_OBJC = @ac_ct_OBJC@
282altivec_cflags = @altivec_cflags@
283am__include = @am__include@
284am__leading_dot = @am__leading_dot@
285am__quote = @am__quote@
286am__tar = @am__tar@
287am__untar = @am__untar@
288bindir = @bindir@
289build = @build@
290build_alias = @build_alias@
291build_cpu = @build_cpu@
292build_os = @build_os@
293build_vendor = @build_vendor@
294builddir = @builddir@
295datadir = @datadir@
296datarootdir = @datarootdir@
297dlopen_libs = @dlopen_libs@
298docdir = @docdir@
299dvidir = @dvidir@
300edje_cc = @edje_cc@
301efl_doxygen = @efl_doxygen@
302efl_have_doxygen = @efl_have_doxygen@
303evas_engine_buffer_cflags = @evas_engine_buffer_cflags@
304evas_engine_buffer_libs = @evas_engine_buffer_libs@
305evas_engine_direct3d_cflags = @evas_engine_direct3d_cflags@
306evas_engine_direct3d_libs = @evas_engine_direct3d_libs@
307evas_engine_directfb_cflags = @evas_engine_directfb_cflags@
308evas_engine_directfb_libs = @evas_engine_directfb_libs@
309evas_engine_fb_cflags = @evas_engine_fb_cflags@
310evas_engine_fb_libs = @evas_engine_fb_libs@
311evas_engine_gl_cocoa_cflags = @evas_engine_gl_cocoa_cflags@
312evas_engine_gl_cocoa_libs = @evas_engine_gl_cocoa_libs@
313evas_engine_gl_common_libs = @evas_engine_gl_common_libs@
314evas_engine_gl_sdl_cflags = @evas_engine_gl_sdl_cflags@
315evas_engine_gl_sdl_libs = @evas_engine_gl_sdl_libs@
316evas_engine_gl_xcb_cflags = @evas_engine_gl_xcb_cflags@
317evas_engine_gl_xcb_libs = @evas_engine_gl_xcb_libs@
318evas_engine_gl_xlib_cflags = @evas_engine_gl_xlib_cflags@
319evas_engine_gl_xlib_libs = @evas_engine_gl_xlib_libs@
320evas_engine_psl1ght_cflags = @evas_engine_psl1ght_cflags@
321evas_engine_psl1ght_libs = @evas_engine_psl1ght_libs@
322evas_engine_software_16_ddraw_cflags = @evas_engine_software_16_ddraw_cflags@
323evas_engine_software_16_ddraw_libs = @evas_engine_software_16_ddraw_libs@
324evas_engine_software_16_sdl_cflags = @evas_engine_software_16_sdl_cflags@
325evas_engine_software_16_sdl_libs = @evas_engine_software_16_sdl_libs@
326evas_engine_software_16_wince_cflags = @evas_engine_software_16_wince_cflags@
327evas_engine_software_16_wince_libs = @evas_engine_software_16_wince_libs@
328evas_engine_software_16_x11_cflags = @evas_engine_software_16_x11_cflags@
329evas_engine_software_16_x11_libs = @evas_engine_software_16_x11_libs@
330evas_engine_software_8_x11_cflags = @evas_engine_software_8_x11_cflags@
331evas_engine_software_8_x11_libs = @evas_engine_software_8_x11_libs@
332evas_engine_software_ddraw_cflags = @evas_engine_software_ddraw_cflags@
333evas_engine_software_ddraw_libs = @evas_engine_software_ddraw_libs@
334evas_engine_software_gdi_cflags = @evas_engine_software_gdi_cflags@
335evas_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@
339evas_engine_software_xcb_libs = @evas_engine_software_xcb_libs@
340evas_engine_software_xlib_cflags = @evas_engine_software_xlib_cflags@
341evas_engine_software_xlib_libs = @evas_engine_software_xlib_libs@
342evas_image_loader_bmp_cflags = @evas_image_loader_bmp_cflags@
343evas_image_loader_bmp_libs = @evas_image_loader_bmp_libs@
344evas_image_loader_edb_cflags = @evas_image_loader_edb_cflags@
345evas_image_loader_edb_libs = @evas_image_loader_edb_libs@
346evas_image_loader_eet_cflags = @evas_image_loader_eet_cflags@
347evas_image_loader_eet_libs = @evas_image_loader_eet_libs@
348evas_image_loader_generic_cflags = @evas_image_loader_generic_cflags@
349evas_image_loader_generic_libs = @evas_image_loader_generic_libs@
350evas_image_loader_gif_cflags = @evas_image_loader_gif_cflags@
351evas_image_loader_gif_libs = @evas_image_loader_gif_libs@
352evas_image_loader_ico_cflags = @evas_image_loader_ico_cflags@
353evas_image_loader_ico_libs = @evas_image_loader_ico_libs@
354evas_image_loader_jpeg_cflags = @evas_image_loader_jpeg_cflags@
355evas_image_loader_jpeg_libs = @evas_image_loader_jpeg_libs@
356evas_image_loader_pmaps_cflags = @evas_image_loader_pmaps_cflags@
357evas_image_loader_pmaps_libs = @evas_image_loader_pmaps_libs@
358evas_image_loader_png_cflags = @evas_image_loader_png_cflags@
359evas_image_loader_png_libs = @evas_image_loader_png_libs@
360evas_image_loader_psd_cflags = @evas_image_loader_psd_cflags@
361evas_image_loader_psd_libs = @evas_image_loader_psd_libs@
362evas_image_loader_svg_cflags = @evas_image_loader_svg_cflags@
363evas_image_loader_svg_libs = @evas_image_loader_svg_libs@
364evas_image_loader_tga_cflags = @evas_image_loader_tga_cflags@
365evas_image_loader_tga_libs = @evas_image_loader_tga_libs@
366evas_image_loader_tiff_cflags = @evas_image_loader_tiff_cflags@
367evas_image_loader_tiff_libs = @evas_image_loader_tiff_libs@
368evas_image_loader_wbmp_cflags = @evas_image_loader_wbmp_cflags@
369evas_image_loader_wbmp_libs = @evas_image_loader_wbmp_libs@
370evas_image_loader_xpm_cflags = @evas_image_loader_xpm_cflags@
371evas_image_loader_xpm_libs = @evas_image_loader_xpm_libs@
372exec_prefix = @exec_prefix@
373have_evas_engine_gl_x11 = @have_evas_engine_gl_x11@
374have_evas_engine_gl_xcb = @have_evas_engine_gl_xcb@
375have_evas_engine_gl_xlib = @have_evas_engine_gl_xlib@
376have_evas_engine_software_x11 = @have_evas_engine_software_x11@
377have_evas_engine_software_xcb = @have_evas_engine_software_xcb@
378have_evas_engine_software_xlib = @have_evas_engine_software_xlib@
379have_lcov = @have_lcov@
380host = @host@
381host_alias = @host_alias@
382host_cpu = @host_cpu@
383host_os = @host_os@
384host_vendor = @host_vendor@
385htmldir = @htmldir@
386includedir = @includedir@
387infodir = @infodir@
388install_sh = @install_sh@
389libdir = @libdir@
390libexecdir = @libexecdir@
391localedir = @localedir@
392localstatedir = @localstatedir@
393lt_ECHO = @lt_ECHO@
394lt_enable_auto_import = @lt_enable_auto_import@
395mandir = @mandir@
396mkdir_p = @mkdir_p@
397oldincludedir = @oldincludedir@
398pdfdir = @pdfdir@
399pkgconfig_requires_private = @pkgconfig_requires_private@
400prefix = @prefix@
401program_transform_name = @program_transform_name@
402psdir = @psdir@
403pthread_cflags = @pthread_cflags@
404pthread_libs = @pthread_libs@
405release_info = @release_info@
406requirement_evas = @requirement_evas@
407sbindir = @sbindir@
408sharedstatedir = @sharedstatedir@
409srcdir = @srcdir@
410sysconfdir = @sysconfdir@
411target_alias = @target_alias@
412top_build_prefix = @top_build_prefix@
413top_builddir = @top_builddir@
414top_srcdir = @top_srcdir@
415version_info = @version_info@
416MAINTAINERCLEANFILES = Makefile.in
417AM_CPPFLAGS = \
418-I. \
419-I$(top_srcdir)/src/lib \
420-I$(top_srcdir)/src/lib/include \
421-I$(top_srcdir)/src/modules/engines \
422@FREETYPE_CFLAGS@ \
423@PIXMAN_CFLAGS@ \
424@EINA_CFLAGS@ \
425@evas_engine_psl1ght_cflags@
426
427@BUILD_ENGINE_PSL1GHT_TRUE@PSL1GHT_SOURCES = \
428@BUILD_ENGINE_PSL1GHT_TRUE@evas_engine.c \
429@BUILD_ENGINE_PSL1GHT_TRUE@rsxutil.c
430
431@BUILD_ENGINE_PSL1GHT_TRUE@PSL1GHT_LIBADD = @evas_engine_psl1ght_libs@
432@BUILD_ENGINE_PSL1GHT_TRUE@includes_HEADERS = Evas_Engine_PSL1GHT.h
433@BUILD_ENGINE_PSL1GHT_TRUE@includesdir = $(includedir)/evas-@VMAJ@
434@BUILD_ENGINE_PSL1GHT_TRUE@@EVAS_STATIC_BUILD_PSL1GHT_FALSE@pkgdir = $(libdir)/evas/modules/engines/psl1ght/$(MODULE_ARCH)
435@BUILD_ENGINE_PSL1GHT_TRUE@@EVAS_STATIC_BUILD_PSL1GHT_FALSE@pkg_LTLIBRARIES = module.la
436@BUILD_ENGINE_PSL1GHT_TRUE@@EVAS_STATIC_BUILD_PSL1GHT_FALSE@module_la_SOURCES = $(PSL1GHT_SOURCES)
437@BUILD_ENGINE_PSL1GHT_TRUE@@EVAS_STATIC_BUILD_PSL1GHT_FALSE@module_la_LIBADD = @EINA_LIBS@ $(PSL1GHT_LIBADD) $(top_builddir)/src/lib/libevas.la
438@BUILD_ENGINE_PSL1GHT_TRUE@@EVAS_STATIC_BUILD_PSL1GHT_FALSE@module_la_LDFLAGS = -module -avoid-version
439@BUILD_ENGINE_PSL1GHT_TRUE@@EVAS_STATIC_BUILD_PSL1GHT_FALSE@module_la_LIBTOOLFLAGS = --tag=disable-static
440@BUILD_ENGINE_PSL1GHT_TRUE@@EVAS_STATIC_BUILD_PSL1GHT_TRUE@noinst_LTLIBRARIES = libevas_engine_psl1ght.la
441@BUILD_ENGINE_PSL1GHT_TRUE@@EVAS_STATIC_BUILD_PSL1GHT_TRUE@libevas_engine_psl1ght_la_SOURCES = $(PSL1GHT_SOURCES)
442@BUILD_ENGINE_PSL1GHT_TRUE@@EVAS_STATIC_BUILD_PSL1GHT_TRUE@libevas_engine_psl1ght_la_LIBADD = $(PSL1GHT_LIBADD)
443EXTRA_DIST = \
444evas_engine.h \
445rsxutil.h
446
447all: all-am
448
449.SUFFIXES:
450.SUFFIXES: .c .lo .o .obj
451$(srcdir)/Makefile.in: $(srcdir)/Makefile.am $(am__configure_deps)
452 @for dep in $?; do \
453 case '$(am__configure_deps)' in \
454 *$$dep*) \
455 ( cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh ) \
456 && { if test -f $@; then exit 0; else break; fi; }; \
457 exit 1;; \
458 esac; \
459 done; \
460 echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu src/modules/engines/psl1ght/Makefile'; \
461 $(am__cd) $(top_srcdir) && \
462 $(AUTOMAKE) --gnu src/modules/engines/psl1ght/Makefile
463.PRECIOUS: Makefile
464Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
465 @case '$?' in \
466 *config.status*) \
467 cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \
468 *) \
469 echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \
470 cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \
471 esac;
472
473$(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES)
474 cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
475
476$(top_srcdir)/configure: $(am__configure_deps)
477 cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
478$(ACLOCAL_M4): $(am__aclocal_m4_deps)
479 cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
480$(am__aclocal_m4_deps):
481
482clean-noinstLTLIBRARIES:
483 -test -z "$(noinst_LTLIBRARIES)" || rm -f $(noinst_LTLIBRARIES)
484 @list='$(noinst_LTLIBRARIES)'; for p in $$list; do \
485 dir="`echo $$p | sed -e 's|/[^/]*$$||'`"; \
486 test "$$dir" != "$$p" || dir=.; \
487 echo "rm -f \"$${dir}/so_locations\""; \
488 rm -f "$${dir}/so_locations"; \
489 done
490install-pkgLTLIBRARIES: $(pkg_LTLIBRARIES)
491 @$(NORMAL_INSTALL)
492 test -z "$(pkgdir)" || $(MKDIR_P) "$(DESTDIR)$(pkgdir)"
493 @list='$(pkg_LTLIBRARIES)'; test -n "$(pkgdir)" || list=; \
494 list2=; for p in $$list; do \
495 if test -f $$p; then \
496 list2="$$list2 $$p"; \
497 else :; fi; \
498 done; \
499 test -z "$$list2" || { \
500 echo " $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=install $(INSTALL) $(INSTALL_STRIP_FLAG) $$list2 '$(DESTDIR)$(pkgdir)'"; \
501 $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=install $(INSTALL) $(INSTALL_STRIP_FLAG) $$list2 "$(DESTDIR)$(pkgdir)"; \
502 }
503
504uninstall-pkgLTLIBRARIES:
505 @$(NORMAL_UNINSTALL)
506 @list='$(pkg_LTLIBRARIES)'; test -n "$(pkgdir)" || list=; \
507 for p in $$list; do \
508 $(am__strip_dir) \
509 echo " $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=uninstall rm -f '$(DESTDIR)$(pkgdir)/$$f'"; \
510 $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=uninstall rm -f "$(DESTDIR)$(pkgdir)/$$f"; \
511 done
512
513clean-pkgLTLIBRARIES:
514 -test -z "$(pkg_LTLIBRARIES)" || rm -f $(pkg_LTLIBRARIES)
515 @list='$(pkg_LTLIBRARIES)'; for p in $$list; do \
516 dir="`echo $$p | sed -e 's|/[^/]*$$||'`"; \
517 test "$$dir" != "$$p" || dir=.; \
518 echo "rm -f \"$${dir}/so_locations\""; \
519 rm -f "$${dir}/so_locations"; \
520 done
521libevas_engine_psl1ght.la: $(libevas_engine_psl1ght_la_OBJECTS) $(libevas_engine_psl1ght_la_DEPENDENCIES)
522 $(AM_V_CCLD)$(LINK) $(am_libevas_engine_psl1ght_la_rpath) $(libevas_engine_psl1ght_la_OBJECTS) $(libevas_engine_psl1ght_la_LIBADD) $(LIBS)
523module.la: $(module_la_OBJECTS) $(module_la_DEPENDENCIES)
524 $(AM_V_CCLD)$(module_la_LINK) $(am_module_la_rpath) $(module_la_OBJECTS) $(module_la_LIBADD) $(LIBS)
525
526mostlyclean-compile:
527 -rm -f *.$(OBJEXT)
528
529distclean-compile:
530 -rm -f *.tab.c
531
532@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/evas_engine.Plo@am__quote@
533@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/module_la-evas_engine.Plo@am__quote@
534@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/module_la-rsxutil.Plo@am__quote@
535@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/rsxutil.Plo@am__quote@
536
537.c.o:
538@am__fastdepCC_TRUE@ $(AM_V_CC)$(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $<
539@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po
540@am__fastdepCC_FALSE@ $(AM_V_CC) @AM_BACKSLASH@
541@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
542@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
543@am__fastdepCC_FALSE@ $(COMPILE) -c $<
544
545.c.obj:
546@am__fastdepCC_TRUE@ $(AM_V_CC)$(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ `$(CYGPATH_W) '$<'`
547@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po
548@am__fastdepCC_FALSE@ $(AM_V_CC) @AM_BACKSLASH@
549@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
550@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
551@am__fastdepCC_FALSE@ $(COMPILE) -c `$(CYGPATH_W) '$<'`
552
553.c.lo:
554@am__fastdepCC_TRUE@ $(AM_V_CC)$(LTCOMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $<
555@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Plo
556@am__fastdepCC_FALSE@ $(AM_V_CC) @AM_BACKSLASH@
557@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$<' object='$@' libtool=yes @AMDEPBACKSLASH@
558@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
559@am__fastdepCC_FALSE@ $(LTCOMPILE) -c -o $@ $<
560
561module_la-evas_engine.lo: evas_engine.c
562@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
563@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/module_la-evas_engine.Tpo $(DEPDIR)/module_la-evas_engine.Plo
564@am__fastdepCC_FALSE@ $(AM_V_CC) @AM_BACKSLASH@
565@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='evas_engine.c' object='module_la-evas_engine.lo' libtool=yes @AMDEPBACKSLASH@
566@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
567@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
568
569module_la-rsxutil.lo: rsxutil.c
570@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-rsxutil.lo -MD -MP -MF $(DEPDIR)/module_la-rsxutil.Tpo -c -o module_la-rsxutil.lo `test -f 'rsxutil.c' || echo '$(srcdir)/'`rsxutil.c
571@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/module_la-rsxutil.Tpo $(DEPDIR)/module_la-rsxutil.Plo
572@am__fastdepCC_FALSE@ $(AM_V_CC) @AM_BACKSLASH@
573@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='rsxutil.c' object='module_la-rsxutil.lo' libtool=yes @AMDEPBACKSLASH@
574@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
575@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-rsxutil.lo `test -f 'rsxutil.c' || echo '$(srcdir)/'`rsxutil.c
576
577mostlyclean-libtool:
578 -rm -f *.lo
579
580clean-libtool:
581 -rm -rf .libs _libs
582install-includesHEADERS: $(includes_HEADERS)
583 @$(NORMAL_INSTALL)
584 test -z "$(includesdir)" || $(MKDIR_P) "$(DESTDIR)$(includesdir)"
585 @list='$(includes_HEADERS)'; test -n "$(includesdir)" || list=; \
586 for p in $$list; do \
587 if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \
588 echo "$$d$$p"; \
589 done | $(am__base_list) | \
590 while read files; do \
591 echo " $(INSTALL_HEADER) $$files '$(DESTDIR)$(includesdir)'"; \
592 $(INSTALL_HEADER) $$files "$(DESTDIR)$(includesdir)" || exit $$?; \
593 done
594
595uninstall-includesHEADERS:
596 @$(NORMAL_UNINSTALL)
597 @list='$(includes_HEADERS)'; test -n "$(includesdir)" || list=; \
598 files=`for p in $$list; do echo $$p; done | sed -e 's|^.*/||'`; \
599 test -n "$$files" || exit 0; \
600 echo " ( cd '$(DESTDIR)$(includesdir)' && rm -f" $$files ")"; \
601 cd "$(DESTDIR)$(includesdir)" && rm -f $$files
602
603ID: $(HEADERS) $(SOURCES) $(LISP) $(TAGS_FILES)
604 list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
605 unique=`for i in $$list; do \
606 if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
607 done | \
608 $(AWK) '{ files[$$0] = 1; nonempty = 1; } \
609 END { if (nonempty) { for (i in files) print i; }; }'`; \
610 mkid -fID $$unique
611tags: TAGS
612
613TAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \
614 $(TAGS_FILES) $(LISP)
615 set x; \
616 here=`pwd`; \
617 list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
618 unique=`for i in $$list; do \
619 if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
620 done | \
621 $(AWK) '{ files[$$0] = 1; nonempty = 1; } \
622 END { if (nonempty) { for (i in files) print i; }; }'`; \
623 shift; \
624 if test -z "$(ETAGS_ARGS)$$*$$unique"; then :; else \
625 test -n "$$unique" || unique=$$empty_fix; \
626 if test $$# -gt 0; then \
627 $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
628 "$$@" $$unique; \
629 else \
630 $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
631 $$unique; \
632 fi; \
633 fi
634ctags: CTAGS
635CTAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \
636 $(TAGS_FILES) $(LISP)
637 list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
638 unique=`for i in $$list; do \
639 if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
640 done | \
641 $(AWK) '{ files[$$0] = 1; nonempty = 1; } \
642 END { if (nonempty) { for (i in files) print i; }; }'`; \
643 test -z "$(CTAGS_ARGS)$$unique" \
644 || $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \
645 $$unique
646
647GTAGS:
648 here=`$(am__cd) $(top_builddir) && pwd` \
649 && $(am__cd) $(top_srcdir) \
650 && gtags -i $(GTAGS_ARGS) "$$here"
651
652distclean-tags:
653 -rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags
654
655distdir: $(DISTFILES)
656 @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
657 topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
658 list='$(DISTFILES)'; \
659 dist_files=`for file in $$list; do echo $$file; done | \
660 sed -e "s|^$$srcdirstrip/||;t" \
661 -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \
662 case $$dist_files in \
663 */*) $(MKDIR_P) `echo "$$dist_files" | \
664 sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \
665 sort -u` ;; \
666 esac; \
667 for file in $$dist_files; do \
668 if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \
669 if test -d $$d/$$file; then \
670 dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \
671 if test -d "$(distdir)/$$file"; then \
672 find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
673 fi; \
674 if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \
675 cp -fpR $(srcdir)/$$file "$(distdir)$$dir" || exit 1; \
676 find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
677 fi; \
678 cp -fpR $$d/$$file "$(distdir)$$dir" || exit 1; \
679 else \
680 test -f "$(distdir)/$$file" \
681 || cp -p $$d/$$file "$(distdir)/$$file" \
682 || exit 1; \
683 fi; \
684 done
685check-am: all-am
686check: check-am
687all-am: Makefile $(LTLIBRARIES) $(HEADERS)
688installdirs:
689 for dir in "$(DESTDIR)$(pkgdir)" "$(DESTDIR)$(includesdir)"; do \
690 test -z "$$dir" || $(MKDIR_P) "$$dir"; \
691 done
692install: install-am
693install-exec: install-exec-am
694install-data: install-data-am
695uninstall: uninstall-am
696
697install-am: all-am
698 @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am
699
700installcheck: installcheck-am
701install-strip:
702 $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
703 install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
704 `test -z '$(STRIP)' || \
705 echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install
706mostlyclean-generic:
707
708clean-generic:
709
710distclean-generic:
711 -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES)
712 -test . = "$(srcdir)" || test -z "$(CONFIG_CLEAN_VPATH_FILES)" || rm -f $(CONFIG_CLEAN_VPATH_FILES)
713
714maintainer-clean-generic:
715 @echo "This command is intended for maintainers to use"
716 @echo "it deletes files that may require special tools to rebuild."
717 -test -z "$(MAINTAINERCLEANFILES)" || rm -f $(MAINTAINERCLEANFILES)
718clean: clean-am
719
720clean-am: clean-generic clean-libtool clean-noinstLTLIBRARIES \
721 clean-pkgLTLIBRARIES mostlyclean-am
722
723distclean: distclean-am
724 -rm -rf ./$(DEPDIR)
725 -rm -f Makefile
726distclean-am: clean-am distclean-compile distclean-generic \
727 distclean-tags
728
729dvi: dvi-am
730
731dvi-am:
732
733html: html-am
734
735html-am:
736
737info: info-am
738
739info-am:
740
741install-data-am: install-includesHEADERS install-pkgLTLIBRARIES
742
743install-dvi: install-dvi-am
744
745install-dvi-am:
746
747install-exec-am:
748
749install-html: install-html-am
750
751install-html-am:
752
753install-info: install-info-am
754
755install-info-am:
756
757install-man:
758
759install-pdf: install-pdf-am
760
761install-pdf-am:
762
763install-ps: install-ps-am
764
765install-ps-am:
766
767installcheck-am:
768
769maintainer-clean: maintainer-clean-am
770 -rm -rf ./$(DEPDIR)
771 -rm -f Makefile
772maintainer-clean-am: distclean-am maintainer-clean-generic
773
774mostlyclean: mostlyclean-am
775
776mostlyclean-am: mostlyclean-compile mostlyclean-generic \
777 mostlyclean-libtool
778
779pdf: pdf-am
780
781pdf-am:
782
783ps: ps-am
784
785ps-am:
786
787uninstall-am: uninstall-includesHEADERS uninstall-pkgLTLIBRARIES
788
789.MAKE: install-am install-strip
790
791.PHONY: CTAGS GTAGS all all-am check check-am clean clean-generic \
792 clean-libtool clean-noinstLTLIBRARIES clean-pkgLTLIBRARIES \
793 ctags distclean distclean-compile distclean-generic \
794 distclean-libtool distclean-tags distdir dvi dvi-am html \
795 html-am info info-am install install-am install-data \
796 install-data-am install-dvi install-dvi-am install-exec \
797 install-exec-am install-html install-html-am \
798 install-includesHEADERS install-info install-info-am \
799 install-man install-pdf install-pdf-am install-pkgLTLIBRARIES \
800 install-ps install-ps-am install-strip installcheck \
801 installcheck-am installdirs maintainer-clean \
802 maintainer-clean-generic mostlyclean mostlyclean-compile \
803 mostlyclean-generic mostlyclean-libtool pdf pdf-am ps ps-am \
804 tags uninstall uninstall-am uninstall-includesHEADERS \
805 uninstall-pkgLTLIBRARIES
806
807
808# Tell versions [3.59,3.63) of GNU make to not export all variables.
809# Otherwise a system limit (for SysV at least) may be exceeded.
810.NOEXPORT:
diff --git a/libraries/evas/src/modules/engines/psl1ght/evas_engine.c b/libraries/evas/src/modules/engines/psl1ght/evas_engine.c
new file mode 100644
index 0000000..750c098
--- /dev/null
+++ b/libraries/evas/src/modules/engines/psl1ght/evas_engine.c
@@ -0,0 +1,511 @@
1#include "evas_common.h"
2#include "evas_private.h"
3#include "evas_engine.h"
4#include "rsxutil.h"
5#include "Evas_Engine_PSL1GHT.h"
6
7#include <malloc.h>
8
9int _evas_engine_psl1ght_log_dom = -1;
10
11/* function tables - filled in later (func and parent func) */
12static Evas_Func func, pfunc;
13
14/* engine struct data */
15typedef struct _Render_Engine Render_Engine;
16
17#define MAX_BUFFERS 2
18
19struct _Render_Engine
20{
21 Tilebuf *tb;
22 Tilebuf_Rect *rects;
23 Eina_Inlist *cur_rect;
24
25 /* RSX device context */
26 gcmContextData *context;
27 void *host_addr;
28
29 /* The buffers we will be drawing into. */
30 rsxBuffer buffers[MAX_BUFFERS];
31 int currentBuffer;
32 int width;
33 int height;
34 RGBA_Image *rgba_image;
35 uint32_t rgba_image_offset;
36
37 int end : 1;
38};
39
40/* prototypes we will use here */
41static void *_output_setup(int w, int h);
42
43static void *eng_info(Evas *e);
44static void
45 eng_info_free(Evas *e, void *info);
46static int
47 eng_setup(Evas *e, void *info);
48static void
49 eng_output_free(void *data);
50static void
51 eng_output_resize(void *data, int w, int h);
52static void
53 eng_output_tile_size_set(void *data, int w, int h);
54static void
55 eng_output_redraws_rect_add(void *data, int x, int y, int w, int h);
56static void
57 eng_output_redraws_rect_del(void *data, int x, int y, int w, int h);
58static void
59 eng_output_redraws_clear(void *data);
60static void *eng_output_redraws_next_update_get(void *data, int *x, int *y, int *w, int *h, int *cx, int *cy, int *cw, int *ch);
61static void
62 eng_output_redraws_next_update_push(void *data, void *surface, int x, int y, int w, int h);
63static void
64 eng_output_flush(void *data);
65static void
66 eng_output_idle_flush(void *data);
67
68/* internal engine routines */
69static void *
70_output_setup(int w, int h)
71{
72 Render_Engine *re;
73 int i;
74 u16 width, height;
75 DATA32 *image_data = NULL;
76 int image_size;
77
78 printf ("_output_setup called : %dx%d\n", w, h);
79 re = calloc(1, sizeof(Render_Engine));
80 if (!re)
81 return NULL;
82
83 /* Allocate a 1Mb buffer, alligned to a 1Mb boundary
84 * to be our shared IO memory with the RSX. */
85 re->host_addr = memalign (1024 * 1024, HOST_SIZE);
86 if (re->host_addr == NULL)
87 {
88 free (re);
89 return NULL;
90 }
91 re->context = initScreen (re->host_addr, HOST_SIZE);
92 if (re->context == NULL)
93 {
94 free (re->host_addr);
95 free (re);
96 return NULL;
97 }
98 width = w;
99 height = h;
100 setResolution (re->context, &width, &height);
101 re->currentBuffer = 0;
102 re->width = width;
103 re->height = height;
104
105 for (i = 0; i < MAX_BUFFERS; i++)
106 makeBuffer (&re->buffers[i], width, height, i);
107
108 flipBuffer(re->context, MAX_BUFFERS - 1);
109
110 /* if we haven't initialized - init (automatic abort if already done) */
111 evas_common_cpu_init();
112 evas_common_blend_init();
113 evas_common_image_init();
114 evas_common_convert_init();
115 evas_common_scale_init();
116 evas_common_rectangle_init();
117 evas_common_polygon_init();
118 evas_common_line_init();
119 evas_common_font_init();
120 evas_common_draw_init();
121 evas_common_tilebuf_init();
122
123 re->tb = evas_common_tilebuf_new(w, h);
124
125 /* in preliminary tests 16x16 gave highest framerates */
126 evas_common_tilebuf_set_tile_size(re->tb, TILESIZE, TILESIZE);
127
128 /* Allocate our memaligned backbuffer */
129 image_size = ((w * h * sizeof(u32)) + 0xfffff) & - 0x100000;
130 image_data = memalign (1024 * 1024, image_size);
131 re->rgba_image = (RGBA_Image *)evas_cache_image_data(evas_common_image_cache_get(),
132 w, h, image_data, 1, EVAS_COLORSPACE_ARGB8888);
133 gcmMapMainMemory(image_data, image_size, &re->rgba_image_offset);
134
135 return re;
136}
137
138/* engine api this module provides */
139static void *
140eng_info(Evas *e)
141{
142 Evas_Engine_Info_PSL1GHT *info;
143
144 printf ("eng_info called\n");
145 info = calloc(1, sizeof(Evas_Engine_Info_PSL1GHT));
146 if (!info)
147 return NULL;
148
149 info->magic.magic = rand();
150 info->render_mode = EVAS_RENDER_MODE_BLOCKING;
151
152 return info;
153}
154
155static void
156eng_info_free(Evas *e __UNUSED__, void *info)
157{
158 Evas_Engine_Info_PSL1GHT *in;
159
160 printf ("eng_info_free called\n");
161 in = (Evas_Engine_Info_PSL1GHT *)info;
162 free(in);
163}
164
165static int
166eng_setup(Evas *e, void *in)
167{
168 Evas_Engine_Info_PSL1GHT *info;
169
170 printf ("eng_setup called\n");
171 info = (Evas_Engine_Info_PSL1GHT *)in;
172
173 e->engine.data.output = _output_setup(e->output.w, e->output.h);
174 if (!e->engine.data.output)
175 return 0;
176
177 e->engine.func = &func;
178 e->engine.data.context = e->engine.func->context_new(e->engine.data.output);
179
180 return 1;
181}
182
183static void
184eng_output_free(void *data)
185{
186 Render_Engine *re;
187 int i;
188
189 printf ("eng_output_free called\n");
190 re = (Render_Engine *)data;
191
192 gcmSetWaitFlip(re->context);
193 for (i = 0; i < MAX_BUFFERS; i++)
194 rsxFree (re->buffers[i].ptr);
195
196 if (re->rgba_image)
197 {
198 DATA32 *image_data;
199
200 image_data = re->rgba_image->image.data;
201 evas_cache_image_drop(&re->rgba_image->cache_entry);
202 free (image_data);
203 }
204
205 freeScreen (re->context);
206 free (re->host_addr);
207
208 evas_common_tilebuf_free(re->tb);
209 if (re->rects)
210 evas_common_tilebuf_free_render_rects(re->rects);
211
212 free(re);
213
214 evas_common_font_shutdown();
215 evas_common_image_shutdown();
216}
217
218static void
219eng_output_resize(void *data, int w, int h)
220{
221 Render_Engine *re;
222 int i;
223 u16 width, height;
224 DATA32 *image_data;
225 int image_size;
226
227 printf ("eng_output_resize called : %dx%d\n", w, h);
228 re = (Render_Engine *)data;
229
230 width = w;
231 height = h;
232 if (setResolution (re->context, &width, &height))
233 {
234 re->width = width;
235 re->height = height;
236
237 gcmSetWaitFlip(re->context);
238 for (i = 0; i < MAX_BUFFERS; i++) {
239 rsxFree (re->buffers[i].ptr);
240 makeBuffer (&re->buffers[i], width, height, i);
241 }
242
243 flipBuffer(re->context, MAX_BUFFERS - 1);
244
245 evas_common_tilebuf_free(re->tb);
246 re->tb = evas_common_tilebuf_new(w, h);
247 evas_common_tilebuf_set_tile_size(re->tb, TILESIZE, TILESIZE);
248
249 /* Realloc our backbuf image */
250 if (re->rgba_image)
251 {
252 image_data = re->rgba_image->image.data;
253 evas_cache_image_drop(&re->rgba_image->cache_entry);
254 free (image_data);
255 }
256 image_size = ((w * h * sizeof(u32)) + 0xfffff) & - 0x100000;
257 image_data = memalign (1024 * 1024, image_size);
258 re->rgba_image = (RGBA_Image *)evas_cache_image_data(evas_common_image_cache_get(),
259 w, h, image_data, 1, EVAS_COLORSPACE_ARGB8888);
260 gcmMapMainMemory(image_data, image_size, &re->rgba_image_offset);
261 }
262}
263
264static void
265eng_output_tile_size_set(void *data, int w, int h)
266{
267 Render_Engine *re;
268
269 printf ("eng_output_tile_size_set called : %dx%d\n", w, h);
270 re = (Render_Engine *)data;
271 evas_common_tilebuf_set_tile_size(re->tb, w, h);
272}
273
274static void
275eng_output_redraws_rect_add(void *data, int x, int y, int w, int h)
276{
277 Render_Engine *re;
278
279 //printf ("eng_output_redraws_rect_add called : %d,%d %dx%d\n", x, y, w, h);
280 re = (Render_Engine *)data;
281 evas_common_tilebuf_add_redraw(re->tb, x, y, w, h);
282}
283
284static void
285eng_output_redraws_rect_del(void *data, int x, int y, int w, int h)
286{
287 Render_Engine *re;
288
289 //printf ("eng_output_redraws_rect_del called : %d,%d %dx%d\n", x, y, w, h);
290 re = (Render_Engine *)data;
291 evas_common_tilebuf_del_redraw(re->tb, x, y, w, h);
292}
293
294static void
295eng_output_redraws_clear(void *data)
296{
297 Render_Engine *re;
298
299 //printf ("eng_output_redraws_clear called\n");
300 re = (Render_Engine *)data;
301 evas_common_tilebuf_clear(re->tb);
302}
303
304static void *
305eng_output_redraws_next_update_get(void *data, int *x, int *y, int *w, int *h, int *cx, int *cy, int *cw, int *ch)
306{
307 Render_Engine *re;
308 Tilebuf_Rect *rect;
309 int ux, uy, uw, uh;
310
311 re = (Render_Engine *)data;
312 /*printf ("eng_output_redraws_next_update_get called : %d,%d %dx%d -- %d,%d %dx%d\n",
313 *x, *y, *w, *h, *cx, *cy, *cw, *ch);*/
314 if (re->end)
315 {
316 re->end = 0;
317 return NULL;
318 }
319 if (!re->rects)
320 {
321 re->rects = evas_common_tilebuf_get_render_rects(re->tb);
322 re->cur_rect = EINA_INLIST_GET(re->rects);
323 }
324 if (!re->cur_rect)
325 return NULL;
326
327 rect = (Tilebuf_Rect *)re->cur_rect;
328 ux = rect->x; uy = rect->y; uw = rect->w; uh = rect->h;
329 re->cur_rect = re->cur_rect->next;
330 if (!re->cur_rect)
331 {
332 evas_common_tilebuf_free_render_rects(re->rects);
333 re->rects = NULL;
334 re->end = 1;
335 }
336
337 *x = *cx = ux;
338 *y = *cy = uy;
339 *w = *cw = uw;
340 *h = *ch = uh;
341 /*printf ("eng_output_redraws_next_update_get returning : %d,%d %dx%d -- %d,%d %dx%d\n",
342 *x, *y, *w, *h, *cx, *cy, *cw, *ch);*/
343
344 return re->rgba_image;
345}
346
347static void
348eng_output_redraws_next_update_push(void *data, void *surface, int x, int y, int w, int h)
349{
350 /* Don't do anything, we'll just coy the whole buffer when it's time to flush */
351}
352
353static void
354eng_output_flush(void *data)
355{
356 Render_Engine *re;
357 rsxBuffer *buffer;
358 int width;
359 int height;
360
361 //printf ("eng_output_flush called\n");
362 re = (Render_Engine *)data;
363 buffer = &re->buffers[re->currentBuffer];
364 width = re->rgba_image->cache_entry.w;
365 height = re->rgba_image->cache_entry.h;
366
367 /* Wait for the flip before copying the buffer */
368 waitFlip ();
369
370 if (re->width == width &&
371 re->height == height)
372 {
373 /* DMA the back buffer into the rsx buffer */
374 rsxSetTransferImage (re->context,
375 GCM_TRANSFER_MAIN_TO_LOCAL,
376 buffer->offset, buffer->width * sizeof(u32),
377 0, 0,
378 re->rgba_image_offset, re->width * sizeof(u32),
379 0, 0, re->width, re->height, sizeof(u32));
380 }
381 else
382 {
383 gcmTransferScale gcm_scale;
384 gcmTransferSurface gcm_surface;
385
386 gcm_surface.format = GCM_TRANSFER_SURFACE_FORMAT_A8R8G8B8;
387 gcm_surface.pitch = buffer->width * sizeof(u32);
388 gcm_surface._pad0[0] = gcm_surface._pad0[1] = 0;
389 gcm_surface.offset = buffer->offset;
390
391 gcm_scale.interp = GCM_TRANSFER_INTERPOLATOR_LINEAR;
392 gcm_scale.conversion = GCM_TRANSFER_CONVERSION_TRUNCATE;
393 gcm_scale.format = GCM_TRANSFER_SCALE_FORMAT_A8R8G8B8;
394 gcm_scale.origin = GCM_TRANSFER_ORIGIN_CORNER;
395 gcm_scale.operation = GCM_TRANSFER_OPERATION_SRCCOPY;
396 gcm_scale.offset = re->rgba_image_offset;
397 gcm_scale.clipX = 0;
398 gcm_scale.clipY = 0;
399 gcm_scale.clipW = re->width;
400 gcm_scale.clipH = re->height;
401 gcm_scale.outX = 0;
402 gcm_scale.outY = 0;
403 gcm_scale.outW = re->width;
404 gcm_scale.outH = re->height;
405 gcm_scale.ratioX = rsxGetFixedSint32 ((float)width / (float)re->width);
406 gcm_scale.ratioY = rsxGetFixedSint32 ((float)height / (float)re->height);
407 gcm_scale.inX = 0;
408 gcm_scale.inY = 0;
409 gcm_scale.inW = (width & ~1); // Width must be a multiple of 2
410 gcm_scale.inH = height;
411 if (gcm_scale.inW < 2) // Minimum inW value is 2
412 gcm_scale.inW = 2;
413 if (gcm_scale.inW > 2046) // Maximum inW value is 2046
414 gcm_scale.inW = 2046;
415 if (gcm_scale.inH < 1) // Minimum inH value is 1
416 gcm_scale.inH = 1;
417 if (gcm_scale.inH > 2047) // Maximum inW value is 2047
418 gcm_scale.inH = 2047;
419 gcm_scale.pitch = sizeof(u32) * width;
420
421 rsxSetTransferScaleMode (re->context, GCM_TRANSFER_MAIN_TO_LOCAL, GCM_TRANSFER_SURFACE);
422 rsxSetTransferScaleSurface (re->context, &gcm_scale, &gcm_surface);
423 }
424 /* Wait for the DMA to finish */
425 flushRSX (re->context);
426
427 /* Flip buffer onto screen */
428 flipBuffer (re->context, re->currentBuffer);
429 re->currentBuffer = (re->currentBuffer + 1) % MAX_BUFFERS;
430}
431
432static void
433eng_output_idle_flush(void *data)
434{
435 Render_Engine *re;
436
437 printf ("eng_output_idle_flush called\n");
438 re = (Render_Engine *)data;
439}
440
441static Eina_Bool
442eng_canvas_alpha_get(void *data, void *context __UNUSED__)
443{
444 Render_Engine *re;
445
446 // printf ("eng_output_alpha_get called\n");
447 re = (Render_Engine *)data;
448 return EINA_TRUE;
449}
450
451/* module advertising code */
452static int
453module_open(Evas_Module *em)
454{
455 if (!em) return 0;
456 /* get whatever engine module we inherit from */
457 if (!_evas_module_engine_inherit(&pfunc, "software_generic")) return 0;
458 _evas_engine_psl1ght_log_dom = eina_log_domain_register
459 ("evas-psl1ght", EVAS_DEFAULT_LOG_COLOR);
460 if (_evas_engine_psl1ght_log_dom < 0)
461 {
462 EINA_LOG_ERR("Can not create a module log domain.");
463 return 0;
464 }
465
466 /* store it for later use */
467 func = pfunc;
468 /* now to override methods */
469#define ORD(f) EVAS_API_OVERRIDE(f, &func, eng_)
470 ORD(info);
471 ORD(info_free);
472 ORD(setup);
473 ORD(canvas_alpha_get);
474 ORD(output_free);
475 ORD(output_resize);
476 ORD(output_tile_size_set);
477 ORD(output_redraws_rect_add);
478 ORD(output_redraws_rect_del);
479 ORD(output_redraws_clear);
480 ORD(output_redraws_next_update_get);
481 ORD(output_redraws_next_update_push);
482 ORD(output_flush);
483 ORD(output_idle_flush);
484
485 /* now advertise out own api */
486 em->functions = (void *)(&func);
487 return 1;
488}
489
490static void
491module_close(Evas_Module *em __UNUSED__)
492{
493 eina_log_domain_unregister(_evas_engine_psl1ght_log_dom);
494}
495
496static Evas_Module_Api evas_modapi =
497{
498 EVAS_MODULE_API_VERSION,
499 "psl1ght",
500 "none",
501 {
502 module_open,
503 module_close
504 }
505};
506
507EVAS_MODULE_DEFINE(EVAS_MODULE_TYPE_ENGINE, engine, psl1ght);
508
509#ifndef EVAS_STATIC_BUILD_PSL1GHT
510EVAS_EINA_MODULE_DEFINE(engine, psl1ght);
511#endif
diff --git a/libraries/evas/src/modules/engines/psl1ght/evas_engine.h b/libraries/evas/src/modules/engines/psl1ght/evas_engine.h
new file mode 100644
index 0000000..0ea6cb1
--- /dev/null
+++ b/libraries/evas/src/modules/engines/psl1ght/evas_engine.h
@@ -0,0 +1,30 @@
1#ifndef EVAS_ENGINE_H
2#define EVAS_ENGINE_H
3
4extern int _evas_engine_psl1ght_log_dom;
5#ifdef ERR
6# undef ERR
7#endif
8#define ERR(...) EINA_LOG_DOM_ERR(_evas_engine_psl1ght_log_dom, __VA_ARGS__)
9
10#ifdef DBG
11# undef DBG
12#endif
13#define DBG(...) EINA_LOG_DOM_DBG(_evas_engine_psl1ght_log_dom, __VA_ARGS__)
14
15#ifdef INF
16# undef INF
17#endif
18#define INF(...) EINA_LOG_DOM_INFO(_evas_engine_psl1ght_log_dom, __VA_ARGS__)
19
20#ifdef WRN
21# undef WRN
22#endif
23#define WRN(...) EINA_LOG_DOM_WARN(_evas_engine_psl1ght_log_dom, __VA_ARGS__)
24
25#ifdef CRIT
26# undef CRIT
27#endif
28#define CRIT(...) EINA_LOG_DOM_CRIT(_evas_engine_psl1ght_log_dom, __VA_ARGS__)
29
30#endif
diff --git a/libraries/evas/src/modules/engines/psl1ght/rsxutil.c b/libraries/evas/src/modules/engines/psl1ght/rsxutil.c
new file mode 100644
index 0000000..7567a8c
--- /dev/null
+++ b/libraries/evas/src/modules/engines/psl1ght/rsxutil.c
@@ -0,0 +1,275 @@
1/*
2 * This software is distributed under the terms of the MIT License
3 */
4
5#include <ppu-lv2.h>
6#include <stdio.h>
7#include <malloc.h>
8#include <string.h>
9#include <unistd.h>
10#include <sysutil/video.h>
11#include <rsx/gcm_sys.h>
12#include <rsx/rsx.h>
13#include <io/pad.h>
14#include <time.h>
15#include <cairo/cairo.h>
16#include <math.h>
17
18#include "rsxutil.h"
19
20#define GCM_LABEL_INDEX 255
21
22static void
23waitRSXIdle(gcmContextData *context);
24
25static int flipped = FALSE;
26
27void
28waitFlip()
29{
30 if (flipped)
31 {
32 while (gcmGetFlipStatus () != 0)
33 usleep (200); /* Sleep, to not stress the cpu. */
34 gcmResetFlipStatus ();
35 flipped = FALSE;
36 }
37}
38
39int
40flipBuffer(gcmContextData *context, s32 buffer)
41{
42 if (gcmSetFlip (context, buffer) == 0)
43 {
44 rsxFlushBuffer (context);
45 // Prevent the RSX from continuing until the flip has finished.
46 gcmSetWaitFlip (context);
47
48 flipped = TRUE;
49 return TRUE;
50 }
51 return FALSE;
52}
53
54int
55makeBuffer(rsxBuffer *buffer, u16 width, u16 height, int id)
56{
57 int depth = sizeof(u32);
58 int pitch = depth * width;
59 int size = depth * width * height;
60
61 buffer->ptr = (uint32_t *)rsxMemalign (64, size);
62
63 if (buffer->ptr == NULL)
64 goto error;
65
66 if (rsxAddressToOffset (buffer->ptr, &buffer->offset) != 0)
67 goto error;
68
69 /* Register the display buffer with the RSX */
70 if (gcmSetDisplayBuffer (id, buffer->offset, pitch, width, height) != 0)
71 goto error;
72
73 buffer->width = width;
74 buffer->height = height;
75 buffer->id = id;
76
77 return TRUE;
78
79error:
80 if (buffer->ptr != NULL)
81 rsxFree (buffer->ptr);
82
83 return FALSE;
84}
85
86int
87copyBuffer(gcmContextData *context, rsxBuffer *source, rsxBuffer *destination)
88{
89 rsxSetTransferData(context, GCM_TRANSFER_LOCAL_TO_LOCAL,
90 destination->offset,
91 destination->width * sizeof(u32),
92 source->offset,
93 source->width * sizeof(u32),
94 source->width * sizeof(u32),
95 source->height);
96}
97
98int
99getResolution(u16 *width, u16 *height)
100{
101 videoState state;
102 videoResolution resolution;
103
104 /* Get the state of the display */
105 if (videoGetState (0, 0, &state) == 0 &&
106 videoGetResolution (state.displayMode.resolution, &resolution) == 0)
107 {
108 if (width)
109 *width = resolution.width;
110 if (height)
111 *height = resolution.height;
112
113 return TRUE;
114 }
115 return FALSE;
116}
117
118static u8
119getPreferredResolution(u16 width, u16 height)
120{
121 videoDeviceInfo info;
122 videoResolution res;
123 int area = width * height;
124 int mode_area;
125 int min_area_diff = abs (area - (720 * 480));
126 int area_diff;
127 u8 resolution = VIDEO_RESOLUTION_480;
128 int i;
129
130 videoGetDeviceInfo(0, 0, &info);
131
132 for (i = 0; i < info.availableModeCount; i++) {
133 videoGetResolution (info.availableModes[i].resolution, &res);
134 mode_area = res.width * res.height;
135 area_diff = abs (area - mode_area);
136 if (area_diff < min_area_diff)
137 {
138 min_area_diff = area_diff;
139 resolution = info.availableModes[i].resolution;
140 }
141 }
142
143 return resolution;
144}
145
146int
147setResolution(gcmContextData *context, u16 *width, u16 *height)
148{
149 videoState state;
150 videoConfiguration vconfig;
151 videoResolution res;
152 u8 resolution;
153
154 resolution = getPreferredResolution (*width, *height);
155
156 /* Get the state of the display */
157 if (videoGetState (0, 0, &state) != 0)
158 return FALSE;
159
160 /* Make sure display is enabled */
161 if (state.state != 0)
162 return FALSE;
163
164 if (videoGetResolution (resolution, &res) != 0)
165 return FALSE;
166
167 /* Configure the buffer format to xRGB */
168 memset (&vconfig, 0, sizeof(videoConfiguration));
169 vconfig.resolution = resolution;
170 vconfig.format = VIDEO_BUFFER_FORMAT_XRGB;
171 vconfig.pitch = res.width * sizeof(u32);
172 vconfig.aspect = VIDEO_ASPECT_AUTO;
173
174 flushRSX(context);
175
176 if (videoConfigure (0, &vconfig, NULL, 0) != 0)
177 return FALSE;
178
179 *width = res.width;
180 *height = res.height;
181
182 return TRUE;
183}
184
185gcmContextData *
186initScreen(void *host_addr, u32 size)
187{
188 gcmContextData *context = NULL; /* Context to keep track of the RSX buffer. */
189 videoState state;
190 videoConfiguration vconfig;
191 videoResolution res; /* Screen Resolution */
192
193 /* Initilise Reality, which sets up the command buffer and shared IO memory */
194 context = rsxInit (CB_SIZE, size, host_addr);
195 if (context == NULL)
196 goto error;
197
198 /* Get the state of the display */
199 if (videoGetState (0, 0, &state) != 0)
200 goto error;
201
202 /* Make sure display is enabled */
203 if (state.state != 0)
204 goto error;
205
206 /* Get the current resolution */
207 if (videoGetResolution (state.displayMode.resolution, &res) != 0)
208 goto error;
209
210 /* Configure the buffer format to xRGB */
211 memset (&vconfig, 0, sizeof(videoConfiguration));
212 vconfig.resolution = state.displayMode.resolution;
213 vconfig.format = VIDEO_BUFFER_FORMAT_XRGB;
214 vconfig.pitch = res.width * sizeof(u32);
215 vconfig.aspect = state.displayMode.aspect;
216
217 flushRSX(context);
218
219 if (videoConfigure (0, &vconfig, NULL, 0) != 0)
220 goto error;
221
222 if (videoGetState (0, 0, &state) != 0)
223 goto error;
224
225 gcmSetFlipMode (GCM_FLIP_VSYNC); // Wait for VSYNC to flip
226
227 gcmResetFlipStatus();
228
229 return context;
230
231error:
232 if (context)
233 rsxFinish (context, 0);
234
235 return NULL;
236}
237
238void
239freeScreen(gcmContextData *context)
240{
241 rsxFinish (context, 0);
242}
243
244static void
245waitFinish(gcmContextData *context, u32 sLabelVal)
246{
247 rsxSetWriteBackendLabel (context, GCM_LABEL_INDEX, sLabelVal);
248
249 rsxFlushBuffer (context);
250
251 while (*(vu32 *)gcmGetLabelAddress (GCM_LABEL_INDEX) != sLabelVal)
252 usleep(30);
253}
254
255static void
256waitRSXIdle(gcmContextData *context)
257{
258 static u32 sLabelVal = 1;
259
260 rsxSetWriteBackendLabel (context, GCM_LABEL_INDEX, sLabelVal);
261 rsxSetWaitLabel (context, GCM_LABEL_INDEX, sLabelVal);
262
263 sLabelVal++;
264
265 waitFinish(context, sLabelVal++);
266}
267
268void
269flushRSX(gcmContextData *context)
270{
271 if (flipped)
272 waitFlip ();
273 waitRSXIdle(context);
274}
275
diff --git a/libraries/evas/src/modules/engines/psl1ght/rsxutil.h b/libraries/evas/src/modules/engines/psl1ght/rsxutil.h
new file mode 100644
index 0000000..838a751
--- /dev/null
+++ b/libraries/evas/src/modules/engines/psl1ght/rsxutil.h
@@ -0,0 +1,43 @@
1/*
2 * This software is distributed under the terms of the MIT License
3 */
4
5#ifndef __RSXUTIL_H__
6#define __RSXUTIL_H__
7
8#include <rsx/rsx.h>
9#include <ppu-types.h>
10
11#define CB_SIZE 0x100000
12#define HOST_SIZE (32 * 1024 * 1024)
13
14typedef struct
15{
16 int height;
17 int width;
18 int id;
19 uint32_t *ptr;
20 // Internal stuff
21 uint32_t offset;
22} rsxBuffer;
23
24/* Initilize the RSX properly. Returns NULL on error */
25gcmContextData *initScreen(void *host_addr, u32 size);
26/* Block the PPU thread untill the previous flip operation has finished. */
27void waitFlip(void);
28/* Flip a buffer onto the screen. Returns TRUE on success */
29int flipBuffer(gcmContextData *context, s32 buffer);
30/* Create a buffer to draw into and assign it to @id. Returns NULL on error */
31int makeBuffer(rsxBuffer *buffer, u16 width, u16 height, int id);
32/* Copy the contents of a buffer to another buffer */
33int copyBuffer(gcmContextData *context, rsxBuffer *source, rsxBuffer *destination);
34/* Get current screen resolution. returns TRUE on success */
35int getResolution(u16 *width, u16 *height);
36/* Set screen resolution to closest matching and. returns TRUE on success */
37int setResolution(gcmContextData *context, u16 *width, u16 *height);
38/* Initilize the RSX properly. Returns NULL on error */
39void freeScreen(gcmContextData *context);
40/* Flush the RSX pipeline (any commands and wait for flip) */
41void flushRSX(gcmContextData *context);
42
43#endif /* __RSXUTIL_H__ */