forked from enlightenment/efl
From: Alexander Kerner <alexander.kerner@googlemail.com>
Subject: [E-devel] 8bpp xcb evas engine Hi all, I've implemented the 8bpp grayscale evas engine. It is based on the 16bpp engine. It would be nice if someone could review the code and maybe commit into svn. The patches against evas and ecore are attached. SVN revision: 50560
This commit is contained in:
parent
d87ed6ac22
commit
0ec2a33a22
|
@ -30,6 +30,7 @@ evas-software-buffer.pc \
|
|||
evas-software-qtopia.pc \
|
||||
evas-software-x11.pc \
|
||||
evas-software-16-x11.pc \
|
||||
evas-software-8-x11.pc \
|
||||
evas-xrender-x11.pc \
|
||||
evas-xrender-xcb.pc \
|
||||
evas-software-gdi.pc \
|
||||
|
@ -69,6 +70,7 @@ evas-software-buffer.pc.in \
|
|||
evas-software-qtopia.pc.in \
|
||||
evas-software-x11.pc.in \
|
||||
evas-software-16-x11.pc.in \
|
||||
evas-software-8-x11.pc.in \
|
||||
evas-xrender-x11.pc.in \
|
||||
evas-xrender-xcb.pc.in \
|
||||
evas-software-gdi.pc.in \
|
||||
|
@ -90,6 +92,10 @@ if BUILD_ENGINE_SOFTWARE_16_X11
|
|||
pkgconfig_DATA += evas-software-16-x11.pc
|
||||
endif
|
||||
|
||||
if BUILD_ENGINE_SOFTWARE_8_X11
|
||||
pkgconfig_DATA += evas-software-8-x11.pc
|
||||
endif
|
||||
|
||||
if BUILD_ENGINE_DIRECTFB
|
||||
pkgconfig_DATA += evas-directfb.pc
|
||||
endif
|
||||
|
|
|
@ -106,6 +106,7 @@ want_evas_engine_software_sdl="no"
|
|||
want_evas_engine_fb="no"
|
||||
want_evas_engine_directfb="no"
|
||||
want_evas_engine_software_qtopia="no"
|
||||
want_evas_engine_software_8_x11="no"
|
||||
want_evas_engine_software_16_x11="no"
|
||||
want_evas_engine_software_16_ddraw="no"
|
||||
want_evas_engine_software_16_wince="no"
|
||||
|
@ -148,6 +149,7 @@ case "$host_os" in
|
|||
*)
|
||||
want_evas_engine_software_xlib="auto"
|
||||
want_evas_engine_xrender_x11="auto"
|
||||
want_evas_engine_software_8_x11="auto"
|
||||
want_evas_engine_software_16_x11="auto"
|
||||
;;
|
||||
esac
|
||||
|
@ -521,6 +523,8 @@ EVAS_CHECK_ENGINE([directfb], [${want_evas_engine_directfb}], [no], [DirectFB])
|
|||
# disable cairo engine for the release
|
||||
#EVAS_CHECK_ENGINE([software-qtopia], [${want_evas_engine_software_qtopia}], [no], [Qtopia])
|
||||
|
||||
EVAS_CHECK_ENGINE([software-8-x11], [${want_evas_engine_software_8_x11}], [yes], [Software X11 8 bits grayscale])
|
||||
|
||||
EVAS_CHECK_ENGINE([software-16-x11], [${want_evas_engine_software_16_x11}], [yes], [Software X11 16 bits])
|
||||
|
||||
EVAS_CHECK_ENGINE([software-16-ddraw], [${want_evas_engine_software_16_ddraw}], [no], [Software DirectDraw 16 bits])
|
||||
|
@ -659,6 +663,28 @@ if test "x${have_static_software_16}" = "xyes"; then
|
|||
AC_DEFINE(EVAS_STATIC_BUILD_SOFTWARE_16, [1], [Build software 16 engine as part of libevas])
|
||||
fi
|
||||
|
||||
# if software 8 x11 is enabled - build software_8 (the generic 8bit
|
||||
# engine).
|
||||
have_evas_engine_software_8="no"
|
||||
if test "x$have_evas_engine_software_8_x11" = "xyes" -o "x$have_evas_engine_software_8_x11" = "xstatic"; then
|
||||
have_evas_engine_software_8="yes"
|
||||
fi
|
||||
AM_CONDITIONAL(BUILD_ENGINE_SOFTWARE_8, test "x$have_evas_engine_software_8" = "xyes")
|
||||
|
||||
# if software 8 need to be build as part of libevas.so
|
||||
have_static_software_8="no"
|
||||
AC_ARG_ENABLE([static-software-8],
|
||||
[AC_HELP_STRING([--enable-static-software-8], [Build software 8 engine as part of libevas])],
|
||||
[have_static_software_8=${enableval}]
|
||||
)
|
||||
AC_MSG_CHECKING([Whether to build software 8 engine as part of libevas])
|
||||
AC_MSG_RESULT([${have_static_software_8}])
|
||||
|
||||
AM_CONDITIONAL(EVAS_STATIC_BUILD_SOFTWARE_8, test "x${have_static_software_8}" = "xyes")
|
||||
if test "x${have_static_software_8}" = "xyes"; then
|
||||
AC_DEFINE(EVAS_STATIC_BUILD_SOFTWARE_8, [1], [Build software 8 engine as part of libevas])
|
||||
fi
|
||||
|
||||
#####################################################################
|
||||
## Image loaders
|
||||
|
||||
|
@ -1409,6 +1435,7 @@ evas-opengl-sdl.pc
|
|||
evas-quartz.pc
|
||||
evas-software-buffer.pc
|
||||
evas-software-x11.pc
|
||||
evas-software-8-x11.pc
|
||||
evas-software-16-x11.pc
|
||||
evas-xrender-x11.pc
|
||||
evas-xrender-xcb.pc
|
||||
|
@ -1437,6 +1464,7 @@ src/lib/engines/common/evas_op_copy/Makefile
|
|||
src/lib/engines/common/evas_op_mask/Makefile
|
||||
src/lib/engines/common/evas_op_mul/Makefile
|
||||
src/lib/engines/common/evas_op_sub/Makefile
|
||||
src/lib/engines/common_8/Makefile
|
||||
src/lib/engines/common_16/Makefile
|
||||
src/modules/Makefile
|
||||
src/modules/engines/Makefile
|
||||
|
@ -1456,6 +1484,8 @@ src/modules/engines/gl_sdl/Makefile
|
|||
src/modules/engines/quartz/Makefile
|
||||
src/modules/engines/xrender_x11/Makefile
|
||||
src/modules/engines/software_sdl/Makefile
|
||||
src/modules/engines/software_8/Makefile
|
||||
src/modules/engines/software_8_x11/Makefile
|
||||
src/modules/engines/software_16/Makefile
|
||||
src/modules/engines/software_16_x11/Makefile
|
||||
src/modules/engines/software_16_ddraw/Makefile
|
||||
|
@ -1530,6 +1560,7 @@ fi
|
|||
echo " Software Framebuffer.......: $have_evas_engine_fb"
|
||||
echo " DirectFB...................: $have_evas_engine_directfb"
|
||||
#echo " Software Qtopia............: $have_evas_engine_software_qtopia"
|
||||
echo " Software 8bit grayscale....: $have_evas_engine_software_8"
|
||||
echo " Software 16bit ............: $have_evas_engine_software_16"
|
||||
echo " Software 16bit X11.........: $have_evas_engine_software_16_x11"
|
||||
echo " Software 16bit Directdraw..: $have_evas_engine_software_16_ddraw"
|
||||
|
|
|
@ -248,6 +248,8 @@ PKG_CHECK_MODULES([XCB],
|
|||
requirement="xcb xcb-shm xcb-image pixman-1"
|
||||
evas_engine_[]$1[]_cflags="${XCB_CFLAGS}"
|
||||
evas_engine_[]$1[]_libs="${XCB_LIBS}"
|
||||
],[
|
||||
have_dep="no"
|
||||
]
|
||||
)
|
||||
|
||||
|
@ -283,6 +285,8 @@ PKG_CHECK_MODULES([XCBRENDER],
|
|||
requirement="xcb xcb-shm xcb-render xcb-image pixman-1"
|
||||
evas_engine_[]$1[]_cflags="${XCBRENDER_CFLAGS}"
|
||||
evas_engine_[]$1[]_libs="${XCBRENDER_LIBS}"
|
||||
],[
|
||||
have_dep="no"
|
||||
]
|
||||
)
|
||||
|
||||
|
@ -655,6 +659,42 @@ fi
|
|||
|
||||
])
|
||||
|
||||
dnl use: EVAS_CHECK_ENGINE_DEP_SOFTWARE_8_X11(engine, simple, want_static[, ACTION-IF-FOUND[, ACTION-IF-NOT-FOUND]])
|
||||
|
||||
AC_DEFUN([EVAS_CHECK_ENGINE_DEP_SOFTWARE_8_X11],
|
||||
[
|
||||
|
||||
have_dep="no"
|
||||
evas_engine_[]$1[]_cflags=""
|
||||
evas_engine_[]$1[]_libs=""
|
||||
|
||||
PKG_CHECK_MODULES([XCB],
|
||||
[xcb xcb-shm xcb-image >= 0.2.1 pixman-1],
|
||||
[
|
||||
have_dep="yes"
|
||||
requirement="xcb xcb-shm xcb-image pixman-1"
|
||||
evas_engine_[]$1[]_cflags="${XCB_CFLAGS}"
|
||||
evas_engine_[]$1[]_libs="${XCB_LIBS}"
|
||||
],[
|
||||
have_dep="no"
|
||||
]
|
||||
)
|
||||
|
||||
AC_SUBST([evas_engine_$1_cflags])
|
||||
AC_SUBST([evas_engine_$1_libs])
|
||||
|
||||
if test "x$3" = "xstatic" ; then
|
||||
requirement_evas="${requirement} ${requirement_evas}"
|
||||
fi
|
||||
|
||||
if test "x${have_dep}" = "xyes" ; then
|
||||
m4_default([$4], [:])
|
||||
else
|
||||
m4_default([$5], [:])
|
||||
fi
|
||||
|
||||
])
|
||||
|
||||
dnl use: EVAS_CHECK_ENGINE_DEP_SOFTWARE_16_X11(engine, simple, want_static[, ACTION-IF-FOUND[, ACTION-IF-NOT-FOUND]])
|
||||
AC_DEFUN([EVAS_CHECK_ENGINE_DEP_SOFTWARE_16_X11],
|
||||
[
|
||||
|
|
|
@ -151,7 +151,8 @@ typedef enum _Evas_Colorspace
|
|||
/* these are not currently supported - but planned for the future */
|
||||
EVAS_COLORSPACE_YCBCR422P601_PL, /**< YCbCr 4:2:2 Planar, ITU.BT-601 specifications. The data poitned to is just an array of row pointer, pointing to the Y rows, then the Cb, then Cr rows */
|
||||
EVAS_COLORSPACE_YCBCR422P709_PL,/**< YCbCr 4:2:2 Planar, ITU.BT-709 specifications. The data poitned to is just an array of row pointer, pointing to the Y rows, then the Cb, then Cr rows */
|
||||
EVAS_COLORSPACE_RGB565_A5P /**< 16bit rgb565 + Alpha plane at end - 5 bits of the 8 being used per alpha byte */
|
||||
EVAS_COLORSPACE_RGB565_A5P, /**< 16bit rgb565 + Alpha plane at end - 5 bits of the 8 being used per alpha byte */
|
||||
EVAS_COLORSPACE_GRY8 /**< 8bit grayscale */
|
||||
} Evas_Colorspace; /**< Colorspaces for pixel data supported by Evas */
|
||||
|
||||
/**
|
||||
|
|
|
@ -67,6 +67,15 @@ SUBDIRS += ../modules/engines/software_16_x11/
|
|||
EVAS_STATIC_MODULE += ../modules/engines/software_16_x11/libevas_engine_software_16_x11.la
|
||||
EVAS_STATIC_LIBADD += @evas_engine_software_16_x11_libs@
|
||||
endif
|
||||
if EVAS_STATIC_BUILD_SOFTWARE_8
|
||||
SUBDIRS += ../modules/engines/software_8/
|
||||
EVAS_STATIC_MODULE += ../modules/engines/software_8/libevas_engine_software_8.la
|
||||
endif
|
||||
if EVAS_STATIC_BUILD_SOFTWARE_8_X11
|
||||
SUBDIRS += ../modules/engines/software_8_x11/
|
||||
EVAS_STATIC_MODULE += ../modules/engines/software_8_x11/libevas_engine_software_8_x11.la
|
||||
EVAS_STATIC_LIBADD += @evas_engine_software_8_x11_libs@
|
||||
endif
|
||||
if EVAS_STATIC_BUILD_SOFTWARE_SDL
|
||||
SUBDIRS += \
|
||||
../modules/engines/software_16_sdl/ \
|
||||
|
@ -220,6 +229,13 @@ libevas_la_DEPENDENCIES += engines/common_16/libevas_engine_common_16.la
|
|||
|
||||
endif
|
||||
|
||||
if BUILD_ENGINE_SOFTWARE_8
|
||||
|
||||
libevas_la_LIBADD += engines/common_8/libevas_engine_common_8.la
|
||||
libevas_la_DEPENDENCIES += engines/common_8/libevas_engine_common_8.la
|
||||
|
||||
endif
|
||||
|
||||
libevas_la_LDFLAGS = -no-undefined @lt_enable_auto_import@ -version-info @version_info@ @release_info@
|
||||
|
||||
DIST_SUBDIRS = canvas cache cserve file engines imaging include
|
||||
|
|
|
@ -8,3 +8,9 @@ if BUILD_ENGINE_SOFTWARE_16
|
|||
SUBDIRS += common_16
|
||||
|
||||
endif
|
||||
|
||||
if BUILD_ENGINE_SOFTWARE_8
|
||||
|
||||
SUBDIRS += common_8
|
||||
|
||||
endif
|
||||
|
|
|
@ -105,6 +105,8 @@ EVAS_EINA_STATIC_MODULE_DEFINE(engine, software_16_ddraw);
|
|||
EVAS_EINA_STATIC_MODULE_DEFINE(engine, software_16_sdl);
|
||||
EVAS_EINA_STATIC_MODULE_DEFINE(engine, software_16_wince);
|
||||
EVAS_EINA_STATIC_MODULE_DEFINE(engine, software_16_x11);
|
||||
EVAS_EINA_STATIC_MODULE_DEFINE(engine, software_8);
|
||||
EVAS_EINA_STATIC_MODULE_DEFINE(engine, software_8_x11);
|
||||
EVAS_EINA_STATIC_MODULE_DEFINE(engine, software_ddraw);
|
||||
EVAS_EINA_STATIC_MODULE_DEFINE(engine, software_gdi);
|
||||
EVAS_EINA_STATIC_MODULE_DEFINE(engine, software_generic);
|
||||
|
@ -176,6 +178,12 @@ static const struct {
|
|||
#ifdef EVAS_STATIC_BUILD_SOFTWARE_16_GDI
|
||||
EVAS_EINA_STATIC_MODULE_USE(engine, software_gdi),
|
||||
#endif
|
||||
#ifdef EVAS_STATIC_BUILD_SOFTWARE_8
|
||||
EVAS_EINA_STATIC_MODULE_USE(engine, software_8),
|
||||
#endif
|
||||
#ifdef EVAS_STATIC_BUILD_SOFTWARE_8_X11
|
||||
EVAS_EINA_STATIC_MODULE_USE(engine, software_8_x11),
|
||||
#endif
|
||||
#ifdef EVAS_STATIC_BUILD_SOFTWARE_GENERIC
|
||||
EVAS_EINA_STATIC_MODULE_USE(engine, software_generic),
|
||||
#endif
|
||||
|
|
|
@ -8,5 +8,6 @@ evas_options.h \
|
|||
evas_macros.h \
|
||||
evas_mmx.h \
|
||||
evas_common.h \
|
||||
evas_common_soft8.h \
|
||||
evas_common_soft16.h \
|
||||
evas_blend_ops.h
|
||||
|
|
|
@ -29,6 +29,12 @@ endif
|
|||
if !EVAS_STATIC_BUILD_QUARTZ
|
||||
SUBDIRS += quartz
|
||||
endif
|
||||
if !EVAS_STATIC_BUILD_SOFTWARE_8
|
||||
SUBDIRS += software_8
|
||||
endif
|
||||
if !EVAS_STATIC_BUILD_SOFTWARE_8_X11
|
||||
SUBDIRS += software_8_x11
|
||||
endif
|
||||
if !EVAS_STATIC_BUILD_SOFTWARE_16
|
||||
SUBDIRS += software_16
|
||||
endif
|
||||
|
|
Loading…
Reference in New Issue