gnash-commit
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Gnash-commit] [SCM] Gnash branch, openvg, updated. 5834d6c3eddac69e87a9


From: Rob Savoye
Subject: [Gnash-commit] [SCM] Gnash branch, openvg, updated. 5834d6c3eddac69e87a985194f4bb3d8ccec136f
Date: Wed, 08 Dec 2010 20:09:44 +0000

This is an automated email from the git hooks/post-receive script. It was
generated because a ref change was pushed to the repository containing
the project "Gnash".

The branch, openvg has been updated
       via  5834d6c3eddac69e87a985194f4bb3d8ccec136f (commit)
       via  5efef56e22a04127b4e469e22d0e24cf030b0394 (commit)
       via  e0a66232711e7795e04da998144bd52dac43f0b1 (commit)
       via  f8f9683667a631d09105d7187a30412d04c05568 (commit)
       via  1807535b188e880fb2494367d5f86d40e7fa8c3b (commit)
       via  adf273f79c3f70635a55676c082345c74f3e8ce9 (commit)
       via  5416fb5419afb7860266393be9ea3c70e711de4e (commit)
       via  2e6e63178e2d1942d7d1bc39f87aafac3c3689ec (commit)
       via  e858224ea66ae2dfcdf0d7b4d714b9da5973bff1 (commit)
       via  64f9b7c7569680aa4e124eb8df0fb2e7fb0614d1 (commit)
       via  62cbc142477472fbc8fe8915cf207c6651e22dbd (commit)
       via  dd9d7544af0c86ad990d73213c0392186bcb75e3 (commit)
       via  4926a3bc1770104f1720528c80ee1037ce96b8f4 (commit)
       via  506e22c90caef931a304d734278b6869bec0d594 (commit)
       via  e7faec1d94869e85cfac6850b5f8a888ee57e96f (commit)
       via  2134d86669a5904a2a0a46471ee4e5cba24e1956 (commit)
       via  c6188d3c2b552884b495b298d0ad4028abb37d00 (commit)
       via  c4cf96648c79ec803aa2944ebf5803ff15c03987 (commit)
       via  b6ffb6fa43347499654be9a056c09c9a38f9f462 (commit)
       via  b760de6f609e1f0fbf58ec42d3627e2757eac78c (commit)
       via  ae81bce630234b7894fe054285784202547d3cc7 (commit)
       via  d3a6d12a3c9fafaebf902d971a92a1155fedef93 (commit)
       via  28f3253d9f72efc1a95f9e6b5d677bc0a6f5be66 (commit)
       via  4924675e175f9e833f12b7d11428e9bda65adee3 (commit)
       via  8b7cfb1cd105b454876c8df692c3720fd603d808 (commit)
       via  a94c4b841603a8a43842889b558f0fd01dc102d7 (commit)
       via  644bff3cd7ea1273fd191cb2c730917cc4b26d72 (commit)
       via  f12fc74eb1a010a6907c0d50d4d2a7661dba8a87 (commit)
       via  660b97b6fb74e63050bab424732a23130769ca80 (commit)
       via  1e1d895d5e3b70b49110e1a2015c1117bb4f16b5 (commit)
       via  0e41023a1ce48ee9973c87a3ddf90fe625b3dde3 (commit)
      from  6db62f2e7dfba6268fc7949c47756fde9b573170 (commit)

Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.

- Log -----------------------------------------------------------------
http://git.savannah.gnu.org/cgit//commit/?id=5834d6c3eddac69e87a985194f4bb3d8ccec136f


commit 5834d6c3eddac69e87a985194f4bb3d8ccec136f
Author: Rob Savoye <address@hidden>
Date:   Tue Dec 7 17:50:36 2010 -0700

    recreate the old libvaapi Makefile as a fragment

diff --git a/libdevice/vaapi/vaapi.am b/libdevice/vaapi/vaapi.am
new file mode 100644
index 0000000..94b0b1d
--- /dev/null
+++ b/libdevice/vaapi/vaapi.am
@@ -0,0 +1,84 @@
+# 
+# Copyright (C) 2007, 2008, 2009, 2010 Free Software Foundation, Inc.
+# 
+# This program is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation; either version 3 of the License, or
+# (at your option) any later version.
+# 
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+# GNU General Public License for more details.
+# You should have received a copy of the GNU General Public License
+# along with this program; if not, write to the Free Software
+# Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA  02110-1301  USA
+
+SRCS = \
+       vaapi/vaapi_utils.cpp   \
+       vaapi/VaapiContext.cpp \
+       vaapi/VaapiDisplay.cpp \
+       vaapi/VaapiGlobalContext.cpp \
+       vaapi/VaapiImage.cpp \
+       vaapi/VaapiImageFormat.cpp \
+       vaapi/VaapiSubpicture.cpp \
+       vaapi/VaapiSurface.cpp \
+       vaapi/VaapiSurfaceProxy.cpp \
+       $(NULL)
+
+if USE_VAAPI
+pkglib_LTLIBRARIES += libgnashvaapi.la
+
+libgnashvaapi_la_CPPFLAGS = \
+       -I$(top_srcdir)/libbase \
+       $(BOOST_CFLAGS) \
+       $(FFMPEG_CFLAGS) \
+       $(LIBVA_CFLAGS) \
+       $(LIBVA_X11_CFLAGS) \
+       $(NULL)
+
+libgnashvaapi_la_LIBADD = \
+       $(X11_LIBS) \
+       $(BOOST_LIBS) \
+       $(PTHREAD_LIBS) \
+       $(FFMPEG_LIBS) \
+       $(LIBVA_LIBS) \
+       $(LIBVA_X11_LIBS) \
+       $(NULL)
+
+libgnashvaapi_la_SOURCES = $(SRCS)
+if HAVE_VAAPI_GLX
+libgnashvaapi_la_CPPFLAGS += \
+       $(LIBVA_GLX_CFLAGS) \
+       $(NULL)
+
+libgnashvaapi_la_LIBADD += \
+       $(LIBVA_GLX_LIBS) \
+       $(NULL)
+
+libgnashvaapi_la_SOURCES += \
+       vaapi/VaapiSurfaceGLX.cpp \
+       $(NULL)
+endif
+
+libgnashvaapi_la_LDFLAGS = -release $(VERSION)
+endif
+
+noinst_HEADERS += \
+       vaapi/vaapi_common.h \
+       vaapi/vaapi_utils.h \
+       vaapi/VaapiContext.h \
+       vaapi/VaapiDisplay.h \
+       vaapi/VaapiDisplayX11.h \
+       vaapi/VaapiDisplayGLX.h \
+       vaapi/VaapiException.h \
+       vaapi/VaapiGlobalContext.h \
+       vaapi/VaapiImage.h \
+       vaapi/VaapiImageFormat.h \
+       vaapi/VaapiSubpicture.h \
+       vaapi/VaapiSurface.h \
+       vaapi/VaapiSurfaceGLX.h \
+       vaapi/VaapiSurfaceProxy.h \
+       $(NULL)
+
+EXTRA_DIST = $(SRCS) $(noinst_HEADERS)

http://git.savannah.gnu.org/cgit//commit/?id=5efef56e22a04127b4e469e22d0e24cf030b0394


commit 5efef56e22a04127b4e469e22d0e24cf030b0394
Author: Rob Savoye <address@hidden>
Date:   Mon Dec 6 18:18:50 2010 -0700

    add headers to _SOURCES to make distcheck happy

diff --git a/librender/Makefile.am b/librender/Makefile.am
index 0841a4b..bad2d74 100644
--- a/librender/Makefile.am
+++ b/librender/Makefile.am
@@ -77,6 +77,8 @@ noinst_HEADERS = \
        opengl/Renderer_ogl.h \
        $(NULL)
 
+EXTRA_DIST = $(noinst_HEADERS)
+
 pkglib_LTLIBRARIES =  libgnashrender.la
 
 libgnashrender_la_CPPFLAGS = $(AM_CPPFLAGS)
@@ -90,34 +92,46 @@ libgnashrender_la_LDFLAGS =  -release $(VERSION)
 libgnashrender_la_SOURCES =
 
 if BUILD_OGL_RENDERER
-libgnashrender_la_SOURCES += opengl/Renderer_ogl.cpp
+libgnashrender_la_SOURCES += \
+       opengl/Renderer_ogl.cpp \
+       opengl/Renderer_ogl.h
 libgnashrender_la_LIBADD += $(OPENGL_LIBS)
 endif
 
 if  BUILD_AGG_RENDERER
-libgnashrender_la_SOURCES += agg/Renderer_agg.cpp 
+libgnashrender_la_SOURCES += \
+       agg/Renderer_agg.cpp \
+       agg/Renderer_agg.h
 libgnashrender_la_LIBADD += $(AGG_LIBS) $(LIBVA)
 endif
 
 if  BUILD_OVG_RENDERER
 libgnashrender_la_CPPFLAGS += $(OVG_CFLAGS)
-libgnashrender_la_SOURCES += openvg/Renderer_ovg.cpp 
+libgnashrender_la_SOURCES += \
+       openvg/Renderer_ovg.cpp \
+       openvg/Renderer_ovg.h
 libgnashrender_la_LIBADD += $(OPENVG_LIBS)
 endif
 
 if  BUILD_GLES1_RENDERER
-libgnashrender_la_SOURCES += opengles1/Renderer_gles1.cpp 
+libgnashrender_la_SOURCES += \
+       opengles1/Renderer_gles1.cpp \
+       opengles1/Renderer_gles1.h
 libgnashrender_la_LIBADD += $(GLES1_LIBS)
 endif
 
 if  BUILD_GLES2_RENDERER
-libgnashrender_la_SOURCES += opengles2/Renderer_gles2.cpp 
+libgnashrender_la_SOURCES += \
+       opengles2/Renderer_gles2.cpp \
+       opengles2/Renderer_gles2.h
 libgnashrender_la_LIBADD += $(GLES2_LIBS)
 endif
 
 if  BUILD_CAIRO_RENDERER
-libgnashrender_la_SOURCES += cairo/Renderer_cairo.cpp
-libgnashrender_la_SOURCES += cairo/PathParser.cpp
+libgnashrender_la_SOURCES += \
+       cairo/Renderer_cairo.cpp \
+       cairo/Renderer_cairo.h \
+       cairo/PathParser.cpp
 libgnashrender_la_LIBADD += $(CAIRO_LIBS)
 endif
 

http://git.savannah.gnu.org/cgit//commit/?id=e0a66232711e7795e04da998144bd52dac43f0b1


commit e0a66232711e7795e04da998144bd52dac43f0b1
Author: Rob Savoye <address@hidden>
Date:   Mon Dec 6 17:20:22 2010 -0700

    work towards surviving distcheck

diff --git a/Makefile.am b/Makefile.am
index 29fca89..bc0434f 100644
--- a/Makefile.am
+++ b/Makefile.am
@@ -72,7 +72,7 @@ LIBLTDLDIR = libltdl
 endif
 
 SUBDIRS = $(LIBLTDLDIR) $(STD_DIRS)
-DIST_SUBDIRS = $(STD_DIRS) cygnal extensions testsuite libltdl libvaapi
+DIST_SUBDIRS = $(STD_DIRS) cygnal extensions testsuite libltdl
 
 if TESTSUITE
 SUBDIRS += testsuite
diff --git a/gui/Makefile.am b/gui/Makefile.am
index 5056cd8..71128af 100644
--- a/gui/Makefile.am
+++ b/gui/Makefile.am
@@ -22,7 +22,7 @@
 
 AUTOMAKE_OPTIONS = -Wno-portability
 
-DIST_SUBDIRS = pythonmod fb
+DIST_SUBDIRS = pythonmod
 
 # If python support is enabled, built that too
 if HAS_PYTHON
diff --git a/gui/gtk/gtk.am b/gui/gtk/gtk.am
index 9188388..dd292e3 100644
--- a/gui/gtk/gtk.am
+++ b/gui/gtk/gtk.am
@@ -53,12 +53,12 @@ gtk_gnash_SOURCES   += gtk/gtk_glue_agg_vaapi.cpp
 gtk_gnash_CPPFLAGS     += \
        $(X11_CFLAGS) \
        $(LIBVA_X11_CFLAGS) \
-       -I$(top_srcdir)/libvaapi \
+       -I$(top_srcdir)/libdevice/vaapi \
        $(NULL)
 gtk_gnash_LDADD += \
        $(X11_LIBS) \
        $(LIBVA_X11_LIBS) \
-       $(top_builddir)/libvaapi/libgnashvaapi.la \
+       $(top_builddir)/libdevice/libgnashvaapi.la \
        $(NULL)
 endif   # USE_VAAPI
 endif  # BUILD_AGG_RENDERER
diff --git a/libdevice/Makefile.am b/libdevice/Makefile.am
index 47b40fe..fd3e0b8 100644
--- a/libdevice/Makefile.am
+++ b/libdevice/Makefile.am
@@ -58,6 +58,7 @@ GNASH_LIBS = \
 instdir = $(includedir)/gnash
 
 noinst_HEADERS = \
+       GnashDevice.h \
        $(NULL)
 
 pkglib_LTLIBRARIES =  libgnashdevice.la
@@ -73,13 +74,17 @@ libgnashdevice_la_SOURCES =
 
 if BUILD_EGL_DEVICE
 libgnashdevice_la_CPPFLAGS += $(EGL_CFLAGS)
-libgnashdevice_la_SOURCES += egl/eglDevice.cpp egl/eglDevice.h
+libgnashdevice_la_SOURCES += \
+       egl/eglDevice.cpp \
+       egl/eglDevice.h
 libgnashdevice_la_LIBADD += $(EGL_LIBS)
 endif
 
 if BUILD_DIRECTFB_DEVICE
 libgnashdevice_la_CPPFLAGS += $(DIRECTFB_CFLAGS)
-libgnashdevice_la_SOURCES += directfb/DirectFBDevice.cpp 
directfb/DirectFBDevice.h
+libgnashdevice_la_SOURCES += \
+       directfb/DirectFBDevice.cpp \
+       directfb/DirectFBDevice.h
 libgnashdevice_la_LIBADD += $(DIRECTFB_LIBS)
 endif
 
@@ -87,13 +92,15 @@ if BUILD_VAAPI_DEVICE
 libgnashdevice_la_CPPFLAGS += $(VAAPI_CFLAGS)
 libgnashdevice_la_SOURCES += \
        vaapi/VaapiDevice.cpp \
-       vaapi/VaapiSurface.cpp
+       vaapi/VaapiDevice.h
 libgnashdevice_la_LIBADD += $(VAAPI_LIBS)
 endif
 
 # if BUILD_X11_DEVICE
 libgnashdevice_la_CPPFLAGS += $(X11_CFLAGS)
-libgnashdevice_la_SOURCES += x11/X11Device.cpp
+libgnashdevice_la_SOURCES += \
+       x11/X11Device.cpp \
+       x11/X11Device.h
 libgnashdevice_la_LIBADD += $(X11_LIBS)
 # endif
 
@@ -154,3 +161,4 @@ test_x11_LDADD = \
        $(GNASH_LIBS)
 # endif
 
+include vaapi/vaapi.am
diff --git a/librender/Makefile.am b/librender/Makefile.am
index 4efa25e..0841a4b 100644
--- a/librender/Makefile.am
+++ b/librender/Makefile.am
@@ -61,17 +61,13 @@ GNASH_LIBS = \
 instdir = $(includedir)/gnash
 
 noinst_HEADERS = \
+       Renderer.h \
        agg/Renderer_agg.h \
        agg/Renderer_agg_bitmap.h \
        agg/Renderer_agg_style.h \
        cairo/Renderer_cairo.h \
        cairo/PathParser.h
-       GnashDevice.h \
-       eglDevice.h \
        opengl/tu_opengl_includes.h \
-       directfb/Renderer_DirectFB.h \
-       directfb/DirectFBDevice.h \
-       vaapi/VaapiDevice.h \
        opengl/Renderer_ogl.h \
        opengles1/Renderer_gles1.h \
        opengles1/render_handler_gles.h \

http://git.savannah.gnu.org/cgit//commit/?id=f8f9683667a631d09105d7187a30412d04c05568


commit f8f9683667a631d09105d7187a30412d04c05568
Author: Rob Savoye <address@hidden>
Date:   Mon Dec 6 17:08:39 2010 -0700

    test case for vaapi device

diff --git a/libdevice/vaapi/test_vaapi.cpp b/libdevice/vaapi/test_vaapi.cpp
new file mode 100644
index 0000000..c5259da
--- /dev/null
+++ b/libdevice/vaapi/test_vaapi.cpp
@@ -0,0 +1,129 @@
+// 
+//   Copyright (C) 2010 Free Software Foundation, Inc
+// 
+// This program is free software; you can redistribute it and/or modify
+// it under the terms of the GNU General Public License as published by
+// the Free Software Foundation; either version 3 of the License, or
+// (at your option) any later version.
+// 
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+// GNU General Public License for more details.
+//
+// You should have received a copy of the GNU General Public License
+// along with this program; if not, write to the Free Software
+// Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA  02110-1301  USA
+//
+
+#ifdef HAVE_CONFIG_H
+#include "gnashconfig.h"
+#endif
+
+#include <iostream>
+#include <string>
+#include <cstdlib>
+#include <vector>
+#include <map>
+#include <cassert>
+#include <regex.h>
+#include <boost/assign/list_of.hpp>
+
+#include "log.h"
+#include "dejagnu.h"
+#include "VaapiDevice.h"
+
+TestState runtest;
+
+using namespace gnash;
+using namespace std;
+using namespace renderer;
+
+// The debug log used by all the gnash libraries.
+static LogFile& dbglogfile = LogFile::getDefaultInstance();
+
+int
+main(int argc, char *argv[])
+{
+    // FIXME: for now, always run verbose till this supports command line args
+    dbglogfile.setVerbosity();
+
+    vaapi::VaapiDevice vfb;
+
+#if 0
+    string result = "The buffer is empty";
+    VFBResult code = DR_BUFFEREMPTY;
+    if (vfb.getErrorString(code) == result) {
+        runtest.pass("VaapiDevice::getErrorString()");
+    } else {
+        runtest.fail("VaapiDevice::getErrorString()");
+    }    
+#endif
+
+    if (vfb.initDevice(argc, argv)) {
+        runtest.pass("VaapiDevice:InitDevice()");
+    } else {
+        runtest.fail("VaapiDevice:InitDevice()");
+    }
+
+    if (vfb.getWidth()) {
+        runtest.pass("VaapiDevice::getWidth()");
+    } else {
+        runtest.fail("VaapiDevice::getWidth()");
+    }
+    
+    if (vfb.getHeigth()) {
+        runtest.pass("VaapiDevice::getHeigth()");
+    } else {
+        runtest.fail("VaapiDevice::getHeigth()");
+    }
+    
+    if (vfb.getVerticalRes()) {
+        runtest.pass("VaapiDevice::getVerticalRes()");
+    } else {
+        runtest.fail("VaapiDevice::getVerticalRes()");
+    }
+    
+    if (vfb.getHorzRes()) {
+        runtest.pass("VaapiDevice::getHorzRes()");
+    } else {
+        runtest.fail("VaapiDevice::getHorzRes()");
+    }    
+    
+    if (vfb.isSurfaceSingleBuffered() != vfb.isSurfaceBackBuffered()) {
+        runtest.pass("VaapiDevice::isSurface*Buffered()");
+    } else {
+        runtest.fail("VaapiDevice::isSurface*Buffered()");
+    }
+
+    if (vfb.isContextSingleBuffered() != vfb.isContextBackBuffered()) {
+        runtest.pass("VaapiDevice::iisContextBuffered()");
+    } else {
+        runtest.fail("VaapiDevice::isContextBuffered()");
+    }
+
+    // Context accessor tests
+    if (vfb.getContextID() >= 0) {
+        runtest.pass("VaapiDevice::getContextID()");
+    } else {
+        runtest.fail("VaapiDevice::getContextID()");
+    }    
+
+    if (vfb.getSurfaceID() >= 0) {
+        runtest.pass("VaapiDevice::getSurfaceID()");
+    } else {
+        runtest.fail("VaapiDevice::getSurfaceID()");
+    }
+
+    if (vfb.getDepth()) {
+        runtest.pass("VaapiDevice::getDepth()");
+    } else {
+        runtest.fail("VaapiDevice::getDepth()");
+    }    
+    
+}
+
+// Local Variables:
+// mode: C++
+// indent-tabs-mode: nil
+// End:

http://git.savannah.gnu.org/cgit//commit/?id=1807535b188e880fb2494367d5f86d40e7fa8c3b


commit 1807535b188e880fb2494367d5f86d40e7fa8c3b
Author: Rob Savoye <address@hidden>
Date:   Mon Dec 6 16:59:05 2010 -0700

    eglDevices.h is in libdevices/egl now

diff --git a/librender/opengles1/Renderer_gles1.h 
b/librender/opengles1/Renderer_gles1.h
index bbc4b1d..37411ff 100644
--- a/librender/opengles1/Renderer_gles1.h
+++ b/librender/opengles1/Renderer_gles1.h
@@ -35,7 +35,7 @@
 
 #include "Renderer.h"
 #include "Geometry.h"
-#include "eglDevice.h"
+#include "egl/eglDevice.h"
 
 #include <map>
 
diff --git a/librender/opengles2/Renderer_gles2.h 
b/librender/opengles2/Renderer_gles2.h
index a9a13b9..c679501 100644
--- a/librender/opengles2/Renderer_gles2.h
+++ b/librender/opengles2/Renderer_gles2.h
@@ -48,7 +48,7 @@
 
 #include "Renderer.h"
 #include "Geometry.h"
-#include "eglDevice.h"
+#include "egl/eglDevice.h"
 
 #include <map>
 

http://git.savannah.gnu.org/cgit//commit/?id=adf273f79c3f70635a55676c082345c74f3e8ce9


commit adf273f79c3f70635a55676c082345c74f3e8ce9
Author: Rob Savoye <address@hidden>
Date:   Mon Dec 6 16:54:11 2010 -0700

    start getting vaapi into the standad API

diff --git a/libdevice/vaapi/VaapiDevice.cpp b/libdevice/vaapi/VaapiDevice.cpp
new file mode 100644
index 0000000..a2204f7
--- /dev/null
+++ b/libdevice/vaapi/VaapiDevice.cpp
@@ -0,0 +1,70 @@
+//   Copyright (C) 2005, 2006, 2007, 2008, 2009, 2010 Free Software
+//   Foundation, Inc
+//
+// This program is free software; you can redistribute it and/or modify
+// it under the terms of the GNU General Public License as published by
+// the Free Software Foundation; either version 3 of the License, or
+// (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+// GNU General Public License for more details.
+// 
+// You should have received a copy of the GNU General Public License
+// along with this program; if not, write to the Free Software
+// Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA  02110-1301  USA
+
+#ifdef HAVE_CONFIG_H
+#include "gnashconfig.h"
+#endif
+
+#include <iostream>
+#include <cerrno>
+#include <exception>
+#include <sstream>
+
+#include "log.h"
+#include "Renderer.h"
+#include "GnashException.h"
+
+#include "VaapiDevice.h"
+
+namespace gnash {
+
+namespace renderer {
+
+namespace vaapi {
+    
+// The debug log used by all the gnash libraries.
+static LogFile&amp; dbglogfile = LogFile::getDefaultInstance();
+
+// FIXME: this font name shouldn't be hardcoded!
+const char *FONT = "/usr/share/fonts/truetype/freefont/FreeSerif.ttf";
+
+VaapiDevice::VaapiDevice()
+{
+    GNASH_REPORT_FUNCTION;
+}
+
+VaapiDevice::~VaapiDevice()
+{
+    // GNASH_REPORT_FUNCTION;
+}
+
+bool
+VaapiDevice::initDevice(int argc, char *argv[])
+{
+    GNASH_REPORT_FUNCTION;
+
+    return true;
+}
+
+} // namespace vaapi
+} // namespace renderer
+} // namespace gnash
+
+// local Variables:
+// mode: C++
+// indent-tabs-mode: nil
+// End:
diff --git a/libdevice/vaapi/VaapiDevice.h b/libdevice/vaapi/VaapiDevice.h
new file mode 100644
index 0000000..cb169e2
--- /dev/null
+++ b/libdevice/vaapi/VaapiDevice.h
@@ -0,0 +1,140 @@
+//   Copyright (C) 2005, 2006, 2007, 2008, 2009, 2010 Free Software
+//   Foundation, Inc
+//
+// This program is free software; you can redistribute it and/or modify
+// it under the terms of the GNU General Public License as published by
+// the Free Software Foundation; either version 3 of the License, or
+// (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+// GNU General Public License for more details.
+// 
+// You should have received a copy of the GNU General Public License
+// along with this program; if not, write to the Free Software
+// Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA  02110-1301  USA
+//
+
+#ifndef __VAAPI_DEVICE_H__
+#define __VAAPI_DEVICE_H__ 1
+
+#ifdef HAVE_CONFIG_H
+#include "gnashconfig.h"
+#endif
+
+#include <boost/scoped_array.hpp>
+#include <boost/scoped_ptr.hpp>
+
+#include <va/va.h>
+
+namespace gnash
+{
+
+namespace renderer {
+
+namespace vaapi {
+
+class VaapiDevice
+{
+  public:
+    VaapiDevice();
+    ~VaapiDevice();
+
+    // Initialize Vaapi Device layer
+    bool initDevice(int argc, char *argv[]);
+
+    // Initialize Vaapi Window layer
+    //    bool initVaapi(VaapiNativeWindowType window);
+    
+    // Utility methods not in the base class
+    /// Return a string with the error code as text, instead of a numeric value
+    const char *getErrorString(DFBResult error);    
+    
+    // Accessors for the settings needed by higher level code.
+    // Surface accessors
+    size_t getWidth() {
+        // return getWidth(_surface);
+    }
+    
+    size_t getWidth(IVaapiSurface *surface) {
+       return 0;
+    };
+    size_t getHeigth() {
+        // return getHeigth(_surface);
+    }
+    
+    size_t getHeigth(IVaapiSurface *surface) {
+       return 0;
+    }
+    size_t getVerticalRes() {
+        return getVerticalRes(_screen);
+    }
+    size_t getVerticalRes(IVaapiScreen *screen) {
+        return 0;
+    }
+    size_t getHorzRes() {
+        return getHorzRes(_screen);
+    }
+    size_t getHorzRes(IVaapiScreen *screen) {
+        return 0;
+    }
+
+    bool isSurfaceSingleBuffered() {
+        return true;
+    }
+    
+    bool isSurfaceBackBuffered() {
+        if (_surface) {
+            DFBSurfaceCapabilities caps;
+            _surface->GetCapabilities(_surface, &amp;caps);
+            if (caps &amp; DSCAPS_DOUBLE) {
+                return true;
+            }        
+            return false;
+        }
+    }
+    bool isBufferDestroyed() {
+        // return isBufferDestroyed(_vaapiSurface);
+        return false;
+    }
+    bool isBufferDestroyed(IVaapiSurface surface) {
+        return false;
+    }
+    bool isMultiSample() {
+        return false;
+    }
+    int getSurfaceID() {
+        return 0;
+    }
+
+    // Context accessors
+    int getContextID() {
+       return 0;
+    }
+
+    bool isContextSingleBuffered() {
+        return false;
+    }
+    bool isContextBackBuffered() {
+        return true;
+    }
+
+    int getDepth() {
+    }
+    int getDepth(DFBSurfacePixelFormat format);
+
+private:
+    
+};
+
+} // namespace vaapi
+} // namespace renderer
+} // namespace gnash
+
+#endif  // end of __VAAPI_DEVICE_H__
+
+// local Variables:
+// mode: C++
+// indent-tabs-mode: nil
+// End:

http://git.savannah.gnu.org/cgit//commit/?id=5416fb5419afb7860266393be9ea3c70e711de4e


commit 5416fb5419afb7860266393be9ea3c70e711de4e
Author: Rob Savoye <address@hidden>
Date:   Mon Dec 6 16:18:22 2010 -0700

    move libvaapi under libdevices

diff --git a/libvaapi/VaapiContext.cpp b/libdevice/vaapi/VaapiContext.cpp
similarity index 100%
rename from libvaapi/VaapiContext.cpp
rename to libdevice/vaapi/VaapiContext.cpp
diff --git a/libvaapi/VaapiContext.h b/libdevice/vaapi/VaapiContext.h
similarity index 100%
rename from libvaapi/VaapiContext.h
rename to libdevice/vaapi/VaapiContext.h
diff --git a/libvaapi/VaapiDisplay.cpp b/libdevice/vaapi/VaapiDisplay.cpp
similarity index 100%
rename from libvaapi/VaapiDisplay.cpp
rename to libdevice/vaapi/VaapiDisplay.cpp
diff --git a/libvaapi/VaapiDisplay.h b/libdevice/vaapi/VaapiDisplay.h
similarity index 100%
rename from libvaapi/VaapiDisplay.h
rename to libdevice/vaapi/VaapiDisplay.h
diff --git a/libvaapi/VaapiDisplayGLX.h b/libdevice/vaapi/VaapiDisplayGLX.h
similarity index 100%
rename from libvaapi/VaapiDisplayGLX.h
rename to libdevice/vaapi/VaapiDisplayGLX.h
diff --git a/libvaapi/VaapiDisplayX11.h b/libdevice/vaapi/VaapiDisplayX11.h
similarity index 100%
rename from libvaapi/VaapiDisplayX11.h
rename to libdevice/vaapi/VaapiDisplayX11.h
diff --git a/libvaapi/VaapiException.h b/libdevice/vaapi/VaapiException.h
similarity index 100%
rename from libvaapi/VaapiException.h
rename to libdevice/vaapi/VaapiException.h
diff --git a/libvaapi/VaapiGlobalContext.cpp 
b/libdevice/vaapi/VaapiGlobalContext.cpp
similarity index 100%
rename from libvaapi/VaapiGlobalContext.cpp
rename to libdevice/vaapi/VaapiGlobalContext.cpp
diff --git a/libvaapi/VaapiGlobalContext.h 
b/libdevice/vaapi/VaapiGlobalContext.h
similarity index 100%
rename from libvaapi/VaapiGlobalContext.h
rename to libdevice/vaapi/VaapiGlobalContext.h
diff --git a/libvaapi/VaapiImage.cpp b/libdevice/vaapi/VaapiImage.cpp
similarity index 100%
rename from libvaapi/VaapiImage.cpp
rename to libdevice/vaapi/VaapiImage.cpp
diff --git a/libvaapi/VaapiImage.h b/libdevice/vaapi/VaapiImage.h
similarity index 100%
rename from libvaapi/VaapiImage.h
rename to libdevice/vaapi/VaapiImage.h
diff --git a/libvaapi/VaapiImageFormat.cpp 
b/libdevice/vaapi/VaapiImageFormat.cpp
similarity index 100%
rename from libvaapi/VaapiImageFormat.cpp
rename to libdevice/vaapi/VaapiImageFormat.cpp
diff --git a/libvaapi/VaapiImageFormat.h b/libdevice/vaapi/VaapiImageFormat.h
similarity index 100%
rename from libvaapi/VaapiImageFormat.h
rename to libdevice/vaapi/VaapiImageFormat.h
diff --git a/libvaapi/VaapiSubpicture.cpp b/libdevice/vaapi/VaapiSubpicture.cpp
similarity index 100%
rename from libvaapi/VaapiSubpicture.cpp
rename to libdevice/vaapi/VaapiSubpicture.cpp
diff --git a/libvaapi/VaapiSubpicture.h b/libdevice/vaapi/VaapiSubpicture.h
similarity index 100%
rename from libvaapi/VaapiSubpicture.h
rename to libdevice/vaapi/VaapiSubpicture.h
diff --git a/libvaapi/VaapiSurface.cpp b/libdevice/vaapi/VaapiSurface.cpp
similarity index 100%
rename from libvaapi/VaapiSurface.cpp
rename to libdevice/vaapi/VaapiSurface.cpp
diff --git a/libvaapi/VaapiSurface.h b/libdevice/vaapi/VaapiSurface.h
similarity index 100%
rename from libvaapi/VaapiSurface.h
rename to libdevice/vaapi/VaapiSurface.h
diff --git a/libvaapi/VaapiSurfaceGLX.cpp b/libdevice/vaapi/VaapiSurfaceGLX.cpp
similarity index 100%
rename from libvaapi/VaapiSurfaceGLX.cpp
rename to libdevice/vaapi/VaapiSurfaceGLX.cpp
diff --git a/libvaapi/VaapiSurfaceGLX.h b/libdevice/vaapi/VaapiSurfaceGLX.h
similarity index 100%
rename from libvaapi/VaapiSurfaceGLX.h
rename to libdevice/vaapi/VaapiSurfaceGLX.h
diff --git a/libvaapi/VaapiSurfaceProxy.cpp 
b/libdevice/vaapi/VaapiSurfaceProxy.cpp
similarity index 100%
rename from libvaapi/VaapiSurfaceProxy.cpp
rename to libdevice/vaapi/VaapiSurfaceProxy.cpp
diff --git a/libvaapi/VaapiSurfaceProxy.h b/libdevice/vaapi/VaapiSurfaceProxy.h
similarity index 100%
rename from libvaapi/VaapiSurfaceProxy.h
rename to libdevice/vaapi/VaapiSurfaceProxy.h
diff --git a/libvaapi/vaapi_common.h b/libdevice/vaapi/vaapi_common.h
similarity index 100%
rename from libvaapi/vaapi_common.h
rename to libdevice/vaapi/vaapi_common.h
diff --git a/libvaapi/vaapi_utils.cpp b/libdevice/vaapi/vaapi_utils.cpp
similarity index 100%
rename from libvaapi/vaapi_utils.cpp
rename to libdevice/vaapi/vaapi_utils.cpp
diff --git a/libvaapi/vaapi_utils.h b/libdevice/vaapi/vaapi_utils.h
similarity index 100%
rename from libvaapi/vaapi_utils.h
rename to libdevice/vaapi/vaapi_utils.h
diff --git a/libvaapi/Makefile.am b/libvaapi/Makefile.am
deleted file mode 100644
index 19c3d5d..0000000
--- a/libvaapi/Makefile.am
+++ /dev/null
@@ -1,89 +0,0 @@
-# 
-# Copyright (C) 2007, 2008, 2009, 2010 Free Software Foundation, Inc.
-# 
-# This program is free software; you can redistribute it and/or modify
-# it under the terms of the GNU General Public License as published by
-# the Free Software Foundation; either version 3 of the License, or
-# (at your option) any later version.
-# 
-# This program is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-# GNU General Public License for more details.
-# You should have received a copy of the GNU General Public License
-# along with this program; if not, write to the Free Software
-# Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA  02110-1301  USA
-
-AUTOMAKE_OPTIONS = foreign
-
-pkglib_LTLIBRARIES = libgnashvaapi.la
-
-libgnashvaapi_la_CPPFLAGS = \
-       -I$(top_srcdir)/libbase \
-       $(BOOST_CFLAGS) \
-       $(FFMPEG_CFLAGS) \
-       $(LIBVA_CFLAGS) \
-       $(LIBVA_X11_CFLAGS) \
-       $(NULL)
-
-libgnashvaapi_la_LIBADD = \
-       $(X11_LIBS) \
-       $(BOOST_LIBS) \
-       $(PTHREAD_LIBS) \
-       $(FFMPEG_LIBS) \
-       $(LIBVA_LIBS) \
-       $(LIBVA_X11_LIBS) \
-       $(NULL)
-
-libgnashvaapi_la_SOURCES = \
-       vaapi_utils.cpp \
-       VaapiContext.cpp \
-       VaapiDisplay.cpp \
-       VaapiGlobalContext.cpp \
-       VaapiImage.cpp \
-       VaapiImageFormat.cpp \
-       VaapiSubpicture.cpp \
-       VaapiSurface.cpp \
-       VaapiSurfaceProxy.cpp \
-       $(NULL)
-
-noinst_HEADERS = \
-       vaapi_common.h \
-       vaapi_utils.h \
-       VaapiContext.h \
-       VaapiDisplay.h \
-       VaapiDisplayX11.h \
-       VaapiDisplayGLX.h \
-       VaapiException.h \
-       VaapiGlobalContext.h \
-       VaapiImage.h \
-       VaapiImageFormat.h \
-       VaapiSubpicture.h \
-       VaapiSurface.h \
-       VaapiSurfaceGLX.h \
-       VaapiSurfaceProxy.h \
-       $(NULL)
-
-if HAVE_VAAPI_GLX
-libgnashvaapi_la_CPPFLAGS += \
-       $(LIBVA_GLX_CFLAGS) \
-       $(NULL)
-
-libgnashvaapi_la_LIBADD += \
-       $(LIBVA_GLX_LIBS) \
-       $(NULL)
-
-libgnashvaapi_la_SOURCES += \
-       VaapiSurfaceGLX.cpp \
-       $(NULL)
-endif
-
-libgnashvaapi_la_LDFLAGS = -release $(VERSION)
-
-# Rebuild with GCC 4.x Mudflap support
-mudflap:
-       @echo "Rebuilding with GCC Mudflap support"
-       $(MAKE) CXXFLAGS="$(CXXFLAGS) -fmudflap" LDFLAGS="$(LDFLAGS) -lmudflap"
-
-clean-hook:
-       -rm -f core.* *.obj

http://git.savannah.gnu.org/cgit//commit/?id=2e6e63178e2d1942d7d1bc39f87aafac3c3689ec


commit 2e6e63178e2d1942d7d1bc39f87aafac3c3689ec
Author: Rob Savoye <address@hidden>
Date:   Mon Dec 6 16:17:06 2010 -0700

    libvaapi is now under libdevice/vaapi

diff --git a/Makefile.am b/Makefile.am
index db01eb3..29fca89 100644
--- a/Makefile.am
+++ b/Makefile.am
@@ -71,11 +71,7 @@ if LIBLTDL2
 LIBLTDLDIR = libltdl
 endif
 
-if HAVE_VAAPI
-VAAPI_DIR = libvaapi
-endif
-
-SUBDIRS = $(LIBLTDLDIR) $(VAAPI_DIR) $(STD_DIRS)
+SUBDIRS = $(LIBLTDLDIR) $(STD_DIRS)
 DIST_SUBDIRS = $(STD_DIRS) cygnal extensions testsuite libltdl libvaapi
 
 if TESTSUITE
diff --git a/configure.ac b/configure.ac
index 9ef3d89..83cf122 100644
--- a/configure.ac
+++ b/configure.ac
@@ -1207,7 +1207,6 @@ AC_ARG_ENABLE(device,
 )
 
 if test x"${have_ffmpeg_vaapi}" = x"yes" -a x"${build_vaapi_device}" = x"yes"; 
then
-  AC_OUTPUT(libvaapi/Makefile)
   use_libva=no
   use_libva_x11=no
   use_libva_glx=no

http://git.savannah.gnu.org/cgit//commit/?id=e858224ea66ae2dfcdf0d7b4d714b9da5973bff1


commit e858224ea66ae2dfcdf0d7b4d714b9da5973bff1
Author: Rob Savoye <address@hidden>
Date:   Mon Dec 6 16:01:36 2010 -0700

    rearrange files to make devices code in it's own dir

diff --git a/libdevice/Makefile.am~ b/libdevice/Makefile.am~
new file mode 100644
index 0000000..350d4ce
--- /dev/null
+++ b/libdevice/Makefile.am~
@@ -0,0 +1,239 @@
+# 
+#   Copyright (C) 2005, 2006, 2007, 2008, 2009, 2010 Free Software Foundation, 
Inc.
+#
+#   This program is free software; you can redistribute it and/or modify
+#   it under the terms of the GNU General Public License as published by
+#   the Free Software Foundation; either version 3 of the License, or
+#   (at your option) any later version.
+#
+#   This program is distributed in the hope that it will be useful,
+#   but WITHOUT ANY WARRANTY; without even the implied warranty of
+#   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+#   GNU General Public License for more details.
+#
+#   You should have received a copy of the GNU General Public License
+#   along with this program; if not, write to the Free Software
+#   Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA  02110-1301  USA
+#
+
+## Process this file with automake to generate Makefile.in
+
+AUTOMAKE_OPTIONS =
+
+# this is where Gnash plugins get installed
+pluginsdir = $(libdir)/gnash/plugins
+
+## WARNING: make sure GLIB_LIBS appears first
+## See: http://lists.gnu.org/archive/html/gnash-dev/2006-07/msg00076.html
+AM_CPPFLAGS = -I.. \
+       -I$(srcdir) \
+       -I$(top_srcdir) \
+       -I$(top_srcdir)/libcore \
+       -I$(top_srcdir)/libmedia \
+       -I$(top_srcdir)/libcore/parser \
+       -I$(top_srcdir)/libcore/swf \
+       -I$(top_srcdir)/libbase \
+       -I$(top_srcdir)/librender \
+       $(PTHREAD_CFLAGS) \
+       $(SDL_CFLAGS) \
+       $(PANGO_CFLAGS) \
+       $(GLIB_CFLAGS) \
+       $(GTK2_CFLAGS) \
+       $(ATK_CFLAGS) \
+       $(DMALLOC_CFLAGS) \
+       $(PNG_CFLAGS) \
+       $(JPEG_CFLAGS) \
+       $(OGG_CFLAGS) \
+       $(BOOST_CFLAGS) \
+       $(OPENGL_CFLAGS) \
+       $(AGG_CFLAGS) \
+       $(DIRECTFB_CFLAGS) \
+       $(CAIRO_CFLAGS) \
+       $(NULL)
+
+GNASH_LIBS = \
+       $(top_builddir)/libcore/libgnashcore.la \
+       $(top_builddir)/libmedia/libgnashmedia.la \
+       $(top_builddir)/libbase/libgnashbase.la \
+       $(NULL)
+
+instdir = $(includedir)/gnash
+
+noinst_HEADERS = \
+       agg/Renderer_agg.h \
+       agg/Renderer_agg_bitmap.h \
+       agg/Renderer_agg_style.h \
+       cairo/Renderer_cairo.h \
+       cairo/PathParser.h
+       GnashDevice.h \
+       eglDevice.h \
+       opengl/tu_opengl_includes.h \
+       directfb/Renderer_DirectFB.h \
+       directfb/DirectFBDevice.h \
+       vaapi/VaapiDevice.h \
+       opengl/Renderer_ogl.h \
+       opengles1/Renderer_gles1.h \
+       opengles1/render_handler_gles.h \
+       opengles2/Renderer_gles2.h \
+       openvg/Renderer_ovg.h \
+       openvg/Renderer_ovg_bitmap.h \
+       opengl/Renderer_ogl.h \
+       $(NULL)
+
+pkglib_LTLIBRARIES =  libgnashdevice.la libgnashrender.la
+
+libgnashrender_la_CPPFLAGS = $(AM_CPPFLAGS)
+libgnashrender_la_LIBADD = \
+       libgnashdevice.la \
+       $(LIBVA_LIBS) \
+       $(LIBVA_X11_LIBS) \
+       $(LIBVA_GLX_LIBS) \
+       $(GNASH_LIBS)
+libgnashrender_la_LDFLAGS =  -release $(VERSION) 
+libgnashrender_la_SOURCES =
+
+if BUILD_OGL_RENDERER
+libgnashrender_la_SOURCES += opengl/Renderer_ogl.cpp
+libgnashrender_la_LIBADD += $(OPENGL_LIBS)
+endif
+
+if  BUILD_AGG_RENDERER
+libgnashrender_la_SOURCES += agg/Renderer_agg.cpp 
+libgnashrender_la_LIBADD += $(AGG_LIBS) $(LIBVA)
+endif
+
+if  BUILD_OVG_RENDERER
+libgnashrender_la_CPPFLAGS += $(OVG_CFLAGS)
+libgnashrender_la_SOURCES += openvg/Renderer_ovg.cpp 
+libgnashrender_la_LIBADD += $(OPENVG_LIBS)
+endif
+
+if  BUILD_GLES1_RENDERER
+libgnashrender_la_SOURCES += opengles1/Renderer_gles1.cpp 
+libgnashrender_la_LIBADD += $(GLES1_LIBS)
+endif
+
+if  BUILD_GLES2_RENDERER
+libgnashrender_la_SOURCES += opengles2/Renderer_gles2.cpp 
+libgnashrender_la_LIBADD += $(GLES2_LIBS)
+endif
+
+if  BUILD_CAIRO_RENDERER
+libgnashrender_la_SOURCES += cairo/Renderer_cairo.cpp
+libgnashrender_la_SOURCES += cairo/PathParser.cpp
+libgnashrender_la_LIBADD += $(CAIRO_LIBS)
+endif
+
+libgnashdevice_la_CPPFLAGS = $(AM_CPPFLAGS)
+libgnashdevice_la_LIBADD = \
+       $(LIBVA_LIBS) \
+       $(LIBVA_X11_LIBS) \
+       $(LIBVA_GLX_LIBS) \
+       $(GNASH_LIBS)
+libgnashdevice_la_LDFLAGS =  -release $(VERSION) 
+libgnashdevice_la_SOURCES =
+
+if BUILD_EGL_DEVICE
+libgnashdevice_la_CPPFLAGS += $(EGL_CFLAGS)
+libgnashdevice_la_SOURCES += eglDevice.cpp
+libgnashdevice_la_LIBADD += $(EGL_LIBS)
+endif
+
+if BUILD_DIRECTFB_DEVICE
+libgnashdevice_la_CPPFLAGS += $(DIRECTFB_CFLAGS)
+libgnashdevice_la_SOURCES += directfb/DirectFBDevice.cpp
+libgnashdevice_la_LIBADD += $(DIRECTFB_LIBS)
+endif
+
+if BUILD_VAAPI_DEVICE
+libgnashdevice_la_CPPFLAGS += $(VAAPI_CFLAGS)
+libgnashdevice_la_SOURCES += \
+       vaapi/VaapiDevice.cpp \
+       vaapi/VaapiSurface.cpp
+libgnashdevice_la_LIBADD += $(VAAPI_LIBS)
+endif
+
+# if BUILD_X11_DEVICE
+libgnashdevice_la_CPPFLAGS += $(X11_CFLAGS)
+libgnashdevice_la_SOURCES += x11/X11Device.cpp
+libgnashdevice_la_LIBADD += $(X11_LIBS)
+# endif
+
+# Rebuild with GCC 4.x Mudflap support
+mudflap:
+       @echo "Rebuilding with GCC Mudflap support"
+       $(MAKE) CXXFLAGS="`$(CXXFLAGS) -fmudflap" LDFLAGS="$(LDFLAGS) -lmudflap"
+
+clean-hook:
+       -rm -f core.*
+
+if ENABLE_PCH
+AM_CXXFLAGS = $(PCH_FLAGS)
+endif
+
+if BUILD_OGL_RENDERER
+   libgnashrender_la_SOURCES += \
+       GnashTexture.cpp \
+       $(NULL)
+
+   noinst_HEADERS += \
+       GnashTexture.h \
+       $(NULL)
+endif
+
+# bin_PROGRAMS = testr
+check_PROGRAMS = testr
+
+if BUILD_EGL_DEVICE
+check_PROGRAMS += test_egl
+# this tests the low level EGL interface, used by OpenVG, OpenGLES1,
+# and OpenGLES2.
+test_egl_SOURCES = test_egl.cpp
+test_egl_CPPFLAGS = $(AM_CPPFLAGS)
+test_egl_LDADD = \
+       libgnashrender.la \
+       libgnashdevice.la \
+       $(EGL_LIBS) \
+       $(GNASH_LIBS)
+endif
+
+if BUILD_VAAPI_DEVICE
+check_PROGRAMS += test_vaapi
+test_vaapi_SOURCES = vaapi/test_vaapi.cpp
+test_vaapi_CPPFLAGS = $(AM_CPPFLAGS) $(VAAPI_CFLAGS)
+test_vaapi_LDADD = \
+       libgnashdevice.la \
+       $(VAAPI_LIBS) \
+       $(GNASH_LIBS)
+endif
+
+if BUILD_DIRECTFB_DEVICE
+check_PROGRAMS += test_dfb
+test_dfb_SOURCES = directfb/test_dfb.cpp
+test_dfb_CPPFLAGS = $(AM_CPPFLAGS) $(DIRECTFB_CFLAGS)
+test_dfb_LDADD = \
+       libgnashdevice.la \
+       $(DIRECTFB_LIBS) \
+       $(GNASH_LIBS)
+endif
+
+# if BUILD_X11_DEVICE
+check_PROGRAMS += test_x11
+test_x11_SOURCES = x11/test_x11.cpp
+test_x11_CPPFLAGS = $(AM_CPPFLAGS) $(X11_CFLAGS)
+test_x11_LDADD = \
+       libgnashdevice.la \
+       $(X11_LIBS) \
+       $(GNASH_LIBS)
+# endif
+
+testr_SOURCES = testr.cpp testr_gtk.cpp
+testr_CPPFLAGS = $(AM_CPPFLAGS) $(DIRECTFB_CFLAGS) # -DUSE_TESTSUITE
+testr_LDADD = \
+       libgnashrender.la \
+       libgnashdevice.la \
+       $(GNASH_LIBS) \
+       $(GTK2_LIBS) \
+       $(OPENVG_LIBS) \
+       $(GLES1_LIBS) \
+       $(GLES2_LIBS)
diff --git a/librender/directfb/DirectFBDevice.cpp 
b/libdevice/directfb/DirectFBDevice.cpp
similarity index 100%
rename from librender/directfb/DirectFBDevice.cpp
rename to libdevice/directfb/DirectFBDevice.cpp
diff --git a/librender/directfb/DirectFBDevice.h 
b/libdevice/directfb/DirectFBDevice.h
similarity index 100%
rename from librender/directfb/DirectFBDevice.h
rename to libdevice/directfb/DirectFBDevice.h
diff --git a/librender/directfb/Renderer_DirectFB.cpp 
b/libdevice/directfb/Renderer_DirectFB.cpp
similarity index 100%
rename from librender/directfb/Renderer_DirectFB.cpp
rename to libdevice/directfb/Renderer_DirectFB.cpp
diff --git a/librender/directfb/Renderer_DirectFB.h 
b/libdevice/directfb/Renderer_DirectFB.h
similarity index 100%
rename from librender/directfb/Renderer_DirectFB.h
rename to libdevice/directfb/Renderer_DirectFB.h
diff --git a/librender/directfb/test_dfb.cpp b/libdevice/directfb/test_dfb.cpp
similarity index 100%
rename from librender/directfb/test_dfb.cpp
rename to libdevice/directfb/test_dfb.cpp
diff --git a/librender/eglDevice.cpp b/libdevice/egl/eglDevice.cpp
similarity index 100%
rename from librender/eglDevice.cpp
rename to libdevice/egl/eglDevice.cpp
diff --git a/librender/eglDevice.h b/libdevice/egl/eglDevice.h
similarity index 100%
rename from librender/eglDevice.h
rename to libdevice/egl/eglDevice.h
diff --git a/librender/test_egl.cpp b/libdevice/egl/test_egl.cpp
similarity index 100%
rename from librender/test_egl.cpp
rename to libdevice/egl/test_egl.cpp
diff --git a/librender/x11/X11Device.cpp b/libdevice/x11/X11Device.cpp
similarity index 100%
rename from librender/x11/X11Device.cpp
rename to libdevice/x11/X11Device.cpp
diff --git a/librender/x11/X11Device.h b/libdevice/x11/X11Device.h
similarity index 100%
rename from librender/x11/X11Device.h
rename to libdevice/x11/X11Device.h
diff --git a/librender/vaapi/VaapiDevice.cpp b/librender/vaapi/VaapiDevice.cpp
deleted file mode 100644
index 3d831cf..0000000
--- a/librender/vaapi/VaapiDevice.cpp
+++ /dev/null
@@ -1,71 +0,0 @@
-//
-//   Copyright (C) 2005, 2006, 2007, 2008, 2009, 2010 Free Software
-//   Foundation, Inc
-//
-// This program is free software; you can redistribute it and/or modify
-// it under the terms of the GNU General Public License as published by
-// the Free Software Foundation; either version 3 of the License, or
-// (at your option) any later version.
-//
-// This program is distributed in the hope that it will be useful,
-// but WITHOUT ANY WARRANTY; without even the implied warranty of
-// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-// GNU General Public License for more details.
-// 
-// You should have received a copy of the GNU General Public License
-// along with this program; if not, write to the Free Software
-// Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA  02110-1301  USA
-
-#ifdef HAVE_CONFIG_H
-#include "gnashconfig.h"
-#endif
-
-#include <iostream>
-#include <cerrno>
-#include <exception>
-#include <sstream>
-
-#include "log.h"
-#include "Renderer.h"
-#include "GnashException.h"
-
-#include "VaapiDevice.h"
-
-namespace gnash {
-
-namespace renderer {
-
-namespace vaapi {
-    
-// The debug log used by all the gnash libraries.
-static LogFile& dbglogfile = LogFile::getDefaultInstance();
-
-// FIXME: this font name shouldn't be hardcoded!
-const char *FONT = "/usr/share/fonts/truetype/freefont/FreeSerif.ttf";
-
-VaapiDevice::VaapiDevice()
-{
-    GNASH_REPORT_FUNCTION;
-}
-
-VaapiDevice::~VaapiDevice()
-{
-    // GNASH_REPORT_FUNCTION;
-}
-
-bool
-VaapiDevice::initDevice(int argc, char *argv[])
-{
-    GNASH_REPORT_FUNCTION;
-
-    return true;
-}
-
-} // namespace vaapi
-} // namespace renderer
-} // namespace gnash
-
-// local Variables:
-// mode: C++
-// indent-tabs-mode: nil
-// End:
diff --git a/librender/vaapi/VaapiDevice.h b/librender/vaapi/VaapiDevice.h
deleted file mode 100644
index ca4a64d..0000000
--- a/librender/vaapi/VaapiDevice.h
+++ /dev/null
@@ -1,141 +0,0 @@
-//
-//   Copyright (C) 2005, 2006, 2007, 2008, 2009, 2010 Free Software
-//   Foundation, Inc
-//
-// This program is free software; you can redistribute it and/or modify
-// it under the terms of the GNU General Public License as published by
-// the Free Software Foundation; either version 3 of the License, or
-// (at your option) any later version.
-//
-// This program is distributed in the hope that it will be useful,
-// but WITHOUT ANY WARRANTY; without even the implied warranty of
-// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-// GNU General Public License for more details.
-// 
-// You should have received a copy of the GNU General Public License
-// along with this program; if not, write to the Free Software
-// Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA  02110-1301  USA
-//
-
-#ifndef __VAAPI_DEVICE_H__
-#define __VAAPI_DEVICE_H__ 1
-
-#ifdef HAVE_CONFIG_H
-#include "gnashconfig.h"
-#endif
-
-#include <boost/scoped_array.hpp>
-#include <boost/scoped_ptr.hpp>
-
-#include <va/va.h>
-
-namespace gnash
-{
-
-namespace renderer {
-
-namespace vaapi {
-
-class VaapiDevice
-{
-  public:
-    VaapiDevice();
-    ~VaapiDevice();
-
-    // Initialize Vaapi Device layer
-    bool initDevice(int argc, char *argv[]);
-
-    // Initialize Vaapi Window layer
-    //    bool initVaapi(VaapiNativeWindowType window);
-    
-    // Utility methods not in the base class
-    /// Return a string with the error code as text, instead of a numeric value
-    const char *getErrorString(DFBResult error);    
-    
-    // Accessors for the settings needed by higher level code.
-    // Surface accessors
-    size_t getWidth() {
-        // return getWidth(_surface);
-    }
-    
-    size_t getWidth(IVaapiSurface *surface) {
-       return 0;
-    };
-    size_t getHeigth() {
-        // return getHeigth(_surface);
-    }
-    
-    size_t getHeigth(IVaapiSurface *surface) {
-       return 0;
-    }
-    size_t getVerticalRes() {
-        return getVerticalRes(_screen);
-    }
-    size_t getVerticalRes(IVaapiScreen *screen) {
-        return 0;
-    }
-    size_t getHorzRes() {
-        return getHorzRes(_screen);
-    }
-    size_t getHorzRes(IVaapiScreen *screen) {
-        return 0;
-    }
-
-    bool isSurfaceSingleBuffered() {
-        return true;
-    }
-    
-    bool isSurfaceBackBuffered() {
-        if (_surface) {
-            DFBSurfaceCapabilities caps;
-            _surface->GetCapabilities(_surface, &caps);
-            if (caps & DSCAPS_DOUBLE) {
-                return true;
-            }        
-            return false;
-        }
-    }
-    bool isBufferDestroyed() {
-        // return isBufferDestroyed(_vaapiSurface);
-        return false;
-    }
-    bool isBufferDestroyed(IVaapiSurface surface) {
-        return false;
-    }
-    bool isMultiSample() {
-        return false;
-    }
-    int getSurfaceID() {
-        return 0;
-    }
-
-    // Context accessors
-    int getContextID() {
-       return 0;
-    }
-
-    bool isContextSingleBuffered() {
-        return false;
-    }
-    bool isContextBackBuffered() {
-        return true;
-    }
-
-    int getDepth() {
-    }
-    int getDepth(DFBSurfacePixelFormat format);
-
-private:
-    
-};
-
-} // namespace vaapi
-} // namespace renderer
-} // namespace gnash
-
-#endif  // end of __VAAPI_DEVICE_H__
-
-// local Variables:
-// mode: C++
-// indent-tabs-mode: nil
-// End:
diff --git a/librender/vaapi/test_vaapi.cpp b/librender/vaapi/test_vaapi.cpp
deleted file mode 100644
index c5259da..0000000
--- a/librender/vaapi/test_vaapi.cpp
+++ /dev/null
@@ -1,129 +0,0 @@
-// 
-//   Copyright (C) 2010 Free Software Foundation, Inc
-// 
-// This program is free software; you can redistribute it and/or modify
-// it under the terms of the GNU General Public License as published by
-// the Free Software Foundation; either version 3 of the License, or
-// (at your option) any later version.
-// 
-// This program is distributed in the hope that it will be useful,
-// but WITHOUT ANY WARRANTY; without even the implied warranty of
-// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-// GNU General Public License for more details.
-//
-// You should have received a copy of the GNU General Public License
-// along with this program; if not, write to the Free Software
-// Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA  02110-1301  USA
-//
-
-#ifdef HAVE_CONFIG_H
-#include "gnashconfig.h"
-#endif
-
-#include <iostream>
-#include <string>
-#include <cstdlib>
-#include <vector>
-#include <map>
-#include <cassert>
-#include <regex.h>
-#include <boost/assign/list_of.hpp>
-
-#include "log.h"
-#include "dejagnu.h"
-#include "VaapiDevice.h"
-
-TestState runtest;
-
-using namespace gnash;
-using namespace std;
-using namespace renderer;
-
-// The debug log used by all the gnash libraries.
-static LogFile& dbglogfile = LogFile::getDefaultInstance();
-
-int
-main(int argc, char *argv[])
-{
-    // FIXME: for now, always run verbose till this supports command line args
-    dbglogfile.setVerbosity();
-
-    vaapi::VaapiDevice vfb;
-
-#if 0
-    string result = "The buffer is empty";
-    VFBResult code = DR_BUFFEREMPTY;
-    if (vfb.getErrorString(code) == result) {
-        runtest.pass("VaapiDevice::getErrorString()");
-    } else {
-        runtest.fail("VaapiDevice::getErrorString()");
-    }    
-#endif
-
-    if (vfb.initDevice(argc, argv)) {
-        runtest.pass("VaapiDevice:InitDevice()");
-    } else {
-        runtest.fail("VaapiDevice:InitDevice()");
-    }
-
-    if (vfb.getWidth()) {
-        runtest.pass("VaapiDevice::getWidth()");
-    } else {
-        runtest.fail("VaapiDevice::getWidth()");
-    }
-    
-    if (vfb.getHeigth()) {
-        runtest.pass("VaapiDevice::getHeigth()");
-    } else {
-        runtest.fail("VaapiDevice::getHeigth()");
-    }
-    
-    if (vfb.getVerticalRes()) {
-        runtest.pass("VaapiDevice::getVerticalRes()");
-    } else {
-        runtest.fail("VaapiDevice::getVerticalRes()");
-    }
-    
-    if (vfb.getHorzRes()) {
-        runtest.pass("VaapiDevice::getHorzRes()");
-    } else {
-        runtest.fail("VaapiDevice::getHorzRes()");
-    }    
-    
-    if (vfb.isSurfaceSingleBuffered() != vfb.isSurfaceBackBuffered()) {
-        runtest.pass("VaapiDevice::isSurface*Buffered()");
-    } else {
-        runtest.fail("VaapiDevice::isSurface*Buffered()");
-    }
-
-    if (vfb.isContextSingleBuffered() != vfb.isContextBackBuffered()) {
-        runtest.pass("VaapiDevice::iisContextBuffered()");
-    } else {
-        runtest.fail("VaapiDevice::isContextBuffered()");
-    }
-
-    // Context accessor tests
-    if (vfb.getContextID() >= 0) {
-        runtest.pass("VaapiDevice::getContextID()");
-    } else {
-        runtest.fail("VaapiDevice::getContextID()");
-    }    
-
-    if (vfb.getSurfaceID() >= 0) {
-        runtest.pass("VaapiDevice::getSurfaceID()");
-    } else {
-        runtest.fail("VaapiDevice::getSurfaceID()");
-    }
-
-    if (vfb.getDepth()) {
-        runtest.pass("VaapiDevice::getDepth()");
-    } else {
-        runtest.fail("VaapiDevice::getDepth()");
-    }    
-    
-}
-
-// Local Variables:
-// mode: C++
-// indent-tabs-mode: nil
-// End:
diff --git a/librender/x11/test_x11.cpp b/librender/x11/test_x11.cpp
deleted file mode 100644
index 62a4ba9..0000000
--- a/librender/x11/test_x11.cpp
+++ /dev/null
@@ -1,125 +0,0 @@
-// 
-//   Copyright (C) 2010 Free Software Foundation, Inc
-// 
-// This program is free software; you can redistribute it and/or modify
-// it under the terms of the GNU General Public License as published by
-// the Free Software Foundation; either version 3 of the License, or
-// (at your option) any later version.
-// 
-// This program is distributed in the hope that it will be useful,
-// but WITHOUT ANY WARRANTY; without even the implied warranty of
-// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-// GNU General Public License for more details.
-//
-// You should have received a copy of the GNU General Public License
-// along with this program; if not, write to the Free Software
-// Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA  02110-1301  USA
-//
-
-#ifdef HAVE_CONFIG_H
-#include "gnashconfig.h"
-#endif
-
-#include <iostream>
-#include <string>
-#include <cstdlib>
-#include <vector>
-#include <map>
-#include <cassert>
-#include <regex.h>
-#include <boost/assign/list_of.hpp>
-
-#include "log.h"
-#include "dejagnu.h"
-#include "GnashDevice.h"
-#include "X11Device.h"
-
-#include <X11/X.h>
-
-TestState runtest;
-
-using namespace gnash;
-using namespace std;
-using namespace renderer;
-
-// The debug log used by all the gnash libraries.
-static LogFile& dbglogfile = LogFile::getDefaultInstance();
-
-int
-main(int argc, char *argv[])
-{
-    // FIXME: for now, always run verbose till this supports command line args
-    dbglogfile.setVerbosity();
-
-    x11::X11Device x11;
-
-    if (x11.initDevice(argc, argv)) {
-        runtest.pass("X11Device:InitDevice()");
-    } else {
-        runtest.fail("X11Device:InitDevice()");
-    }
-
-    string result = "BadDrawable (invalid Pixmap or Window parameter)";
-    int code = BadDrawable;
-    if (x11.getErrorString(code) == result) {
-        runtest.pass("X11Device::getErrorString()");
-    } else {
-        runtest.fail("X11Device::getErrorString()");
-    }    
-
-    if (x11.getDepth() > 0) {
-        runtest.pass("X11Device::getDepth()");
-    } else {
-        runtest.fail("X11Device::getDepth()");
-    }    
-
-    if (x11.getWidth()) {
-        runtest.pass("X11Device::getWidth()");
-    } else {
-        runtest.fail("X11Device::getWidth()");
-    }
-    
-    if (x11.getHeight()) {
-        runtest.pass("X11Device::getHeight()");
-    } else {
-        runtest.fail("X11Device::getHeight()");
-    }
-    
-    if (x11.isSingleBuffered() >= 0) {
-        runtest.pass("X11Device::isSingleBuffered()");
-    } else {
-        runtest.fail("X11Device::isSingleBuffered()");
-    }
-
-    // Context accessor tests
-    // std::cerr << "FIXME: " << x11.getContextID() << std::endl;
-
-    if (x11.getID() > 0) {
-        runtest.pass("X11Device::getID()");
-    } else {
-        runtest.fail("X11Device::getID()");
-    }    
-
-    if (x11.getRedSize() > 0) {
-        runtest.pass("X11Device::getRedSize()");
-    } else {
-        runtest.fail("X11Device::getRedSize()");
-    }    
-
-    if (x11.getGreenSize() > 0) {
-        runtest.pass("X11Device::getGreenSize()");
-    } else {
-        runtest.fail("X11Device::getGreenSize()");
-    }    
-    
-    if (x11.getBlueSize() > 0) {
-        runtest.pass("X11Device::getBlueSize()");
-    } else {
-        runtest.fail("X11Device::getBlueSize()");
-    }    
-}
-
-// Local Variables:
-// mode: C++
-// indent-tabs-mode: nil
-// End:

http://git.savannah.gnu.org/cgit//commit/?id=64f9b7c7569680aa4e124eb8df0fb2e7fb0614d1


commit 64f9b7c7569680aa4e124eb8df0fb2e7fb0614d1
Author: Rob Savoye <address@hidden>
Date:   Mon Dec 6 16:00:54 2010 -0700

    eglDevices.h is in libdevice now

diff --git a/librender/Renderer.h b/librender/Renderer.h
index 7c8f05e..d9128ab 100644
--- a/librender/Renderer.h
+++ b/librender/Renderer.h
@@ -16,9 +16,6 @@
 // along with this program; if not, write to the Free Software
 // Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA  02110-1301  USA
 
-// 
-//
-
 #ifndef RENDER_HANDLER_H
 #define RENDER_HANDLER_H
 
@@ -161,7 +158,7 @@
 #include "GnashDevice.h"
 
 #ifdef BUILD_EGL_DEVICE
-#include "eglDevice.h"
+#include "egl/eglDevice.h"
 #endif
 #ifdef BUILD_DIRECTFB_DEVICE
 #include "directfb/DirectFBDevice.h"
diff --git a/librender/openvg/Renderer_ovg.h b/librender/openvg/Renderer_ovg.h
index 647d19c..a7dd3be 100644
--- a/librender/openvg/Renderer_ovg.h
+++ b/librender/openvg/Renderer_ovg.h
@@ -32,7 +32,7 @@
 
 #include "Geometry.h"
 #include "Renderer.h"
-#include "eglDevice.h"
+#include "egl/eglDevice.h"
 #include "directfb/DirectFBDevice.h"
 #include "GnashDevice.h"
 #include "CachedBitmap.h"

http://git.savannah.gnu.org/cgit//commit/?id=62cbc142477472fbc8fe8915cf207c6651e22dbd


commit 62cbc142477472fbc8fe8915cf207c6651e22dbd
Author: Rob Savoye <address@hidden>
Date:   Mon Dec 6 16:00:15 2010 -0700

    add libdevices to CPP paths

diff --git a/libdevice/Makefile.am b/libdevice/Makefile.am
index 4148307..47b40fe 100644
--- a/libdevice/Makefile.am
+++ b/libdevice/Makefile.am
@@ -118,7 +118,7 @@ check_PROGRAMS += test_egl
 test_egl_SOURCES = egl/test_egl.cpp
 test_egl_CPPFLAGS = $(AM_CPPFLAGS)
 test_egl_LDADD = \
-       libgnashrender.la \
+       ../librender/libgnashrender.la \
        libgnashdevice.la \
        $(EGL_LIBS) \
        $(GNASH_LIBS)
diff --git a/librender/Makefile.am b/librender/Makefile.am
index 8af4223..4efa25e 100644
--- a/librender/Makefile.am
+++ b/librender/Makefile.am
@@ -34,6 +34,7 @@ AM_CPPFLAGS = -I.. \
        -I$(top_srcdir)/libcore/swf \
        -I$(top_srcdir)/libbase \
        -I$(top_srcdir)/librender \
+       -I$(top_srcdir)/libdevice \
        $(PTHREAD_CFLAGS) \
        $(SDL_CFLAGS) \
        $(PANGO_CFLAGS) \

http://git.savannah.gnu.org/cgit//commit/?id=dd9d7544af0c86ad990d73213c0392186bcb75e3


commit dd9d7544af0c86ad990d73213c0392186bcb75e3
Author: Rob Savoye <address@hidden>
Date:   Mon Dec 6 15:59:39 2010 -0700

    add libdevices to CPP paths

diff --git a/gui/Makefile.am b/gui/Makefile.am
index ce3cc77..5056cd8 100644
--- a/gui/Makefile.am
+++ b/gui/Makefile.am
@@ -58,6 +58,7 @@ AM_CPPFLAGS = \
        -I$(top_srcdir)/libcore/asobj \
        -I$(top_srcdir)/libltdl \
        -I$(top_srcdir)/libbase \
+       -I$(top_srcdir)/libdevice \
        -I$(top_srcdir)/librender \
        -I$(top_srcdir)/librender/agg \
        -I$(top_srcdir)/librender/cairo \
diff --git a/libcore/Makefile.am b/libcore/Makefile.am
index cdf8329..2b0a1ff 100644
--- a/libcore/Makefile.am
+++ b/libcore/Makefile.am
@@ -33,6 +33,7 @@ FREETYPE_SOURCES = FreetypeGlyphsProvider.h 
FreetypeGlyphsProvider.cpp
 # Only enable if we're configured with --enable-mp3
 AM_CPPFLAGS = \
        -I$(top_srcdir)/librender \
+       -I$(top_srcdir)/libdevice \
        -I$(top_srcdir)/libcore/swf \
        -I$(top_srcdir)/libcore/abc \
        -I$(top_srcdir)/libcore/asobj \
diff --git a/libcore/parser/Makefile.am b/libcore/parser/Makefile.am
index e1d83ac..9cbbaf8 100644
--- a/libcore/parser/Makefile.am
+++ b/libcore/parser/Makefile.am
@@ -27,6 +27,7 @@ noinst_LTLIBRARIES = libgnashparser.la
 #
 AM_CPPFLAGS = \
        -I$(top_srcdir)/librender \
+       -I$(top_srcdir)/libdevice \
        -I$(top_srcdir)/libcore \
        -I$(top_srcdir)/libcore/swf \
        -I$(top_srcdir)/libcore/abc \
diff --git a/libcore/vm/Makefile.am b/libcore/vm/Makefile.am
index 8fa36d9..f6c5c56 100644
--- a/libcore/vm/Makefile.am
+++ b/libcore/vm/Makefile.am
@@ -22,6 +22,7 @@ noinst_LTLIBRARIES = libgnashvm.la
 
 AM_CPPFLAGS = \
        -I$(top_srcdir)/librender \
+       -I$(top_srcdir)/libdevice \
        -I$(top_srcdir)/libcore \
        -I$(top_srcdir)/libcore/asobj \
        -I$(top_srcdir)/libcore/asobj/flash \
diff --git a/utilities/Makefile.am b/utilities/Makefile.am
index e1cf2b0..9ac216d 100644
--- a/utilities/Makefile.am
+++ b/utilities/Makefile.am
@@ -62,10 +62,11 @@ localedir = $(datadir)/locale
 
 AM_CPPFLAGS = \
         -I$(top_srcdir)/libbase \
+        -I$(top_srcdir)/libdevice \
         -I$(top_srcdir)/librender \
-               -I$(top_srcdir)/librender/agg \
-               -I$(top_srcdir)/librender/cairo \
-               -I$(top_srcdir)/librender/opengl \
+       -I$(top_srcdir)/librender/agg \
+       -I$(top_srcdir)/librender/cairo \
+       -I$(top_srcdir)/librender/opengl \
         -I$(top_srcdir)/libcore \
         -I$(top_srcdir)/libcore/asobj \
         -I$(top_srcdir)/libcore/swf \

http://git.savannah.gnu.org/cgit//commit/?id=4926a3bc1770104f1720528c80ee1037ce96b8f4


commit 4926a3bc1770104f1720528c80ee1037ce96b8f4
Author: Rob Savoye <address@hidden>
Date:   Mon Dec 6 15:57:56 2010 -0700

    don't configure optional directories unless enabled

diff --git a/Makefile.am b/Makefile.am
index 681a50f..db01eb3 100644
--- a/Makefile.am
+++ b/Makefile.am
@@ -48,12 +48,16 @@ if CYGNAL
 CYGNAL_DIR = cygnal
 endif
 
+if BUILD_DEVICES
+DEVICES_DIR = libdevice
+endif
+
 STD_DIRS = \
        libbase \
        libmedia \
        libsound \
        libcore \
-       libdevice \
+       $(DEVICES_DIR) \
        librender \
        gui \
        plugin \
diff --git a/configure.ac b/configure.ac
index 61eb2a6..9ef3d89 100644
--- a/configure.ac
+++ b/configure.ac
@@ -1141,8 +1141,8 @@ build_openmax_device=no
 build_egl_device=yes
 build_directfb_device=yes
 build_x11_device=yes
-device_list="X11"
-ndevice=1
+device_list="X11 EGL DirectFB"
+ndevice=3
 AC_ARG_ENABLE(device,
   AC_HELP_STRING([--enable-device], [Specify which hardware abstraction to use 
to support to enable (none,openmax,egl,directfb,x11,vaapi)]),
   if test -z ${enableval}; then
@@ -1207,6 +1207,7 @@ AC_ARG_ENABLE(device,
 )
 
 if test x"${have_ffmpeg_vaapi}" = x"yes" -a x"${build_vaapi_device}" = x"yes"; 
then
+  AC_OUTPUT(libvaapi/Makefile)
   use_libva=no
   use_libva_x11=no
   use_libva_glx=no
@@ -1256,6 +1257,10 @@ AM_CONDITIONAL(HAVE_VAAPI, test x"${found_libva_incl}" = 
xyes)
 AM_CONDITIONAL(HAVE_VAAPI_GLX, test x"${found_libva_glx_incl}" = xyes)
 AM_CONDITIONAL(HAVE_VAAPI_X11, test x"${found_libva_x11_incl}" = xyes)
 
+AM_CONDITIONAL(BUILD_DEVICES, test ${ndevice} -gt 0)
+if test ${ndevice} -gt 0; then
+  AC_OUTPUT(libdevice/Makefile)
+fi
 
 AC_PATH_PROG(PERL, perl)
 AM_CONDITIONAL(HAVE_PERL, test x"$PERL" != x)
@@ -1635,6 +1640,21 @@ AC_ARG_ENABLE(cygnal,
 esac],cygnal=no)
 AM_CONDITIONAL(CYGNAL, test x$cygnal = xyes)
 
+if test x$cygnal = xyes; then
+ AC_OUTPUT(cygnal/Makefile
+    cygnal/libnet/Makefile
+    cygnal/libamf/Makefile
+    cygnal/cgi-bin/Makefile
+    cygnal/cgi-bin/echo/Makefile
+    cygnal/cgi-bin/oflaDemo/Makefile
+    cygnal/cgi-bin/fitcDemo/Makefile
+    cygnal/testsuite/Makefile
+    cygnal/testsuite/libamf.all/Makefile
+    cygnal/testsuite/libnet.all/Makefile
+    cygnal/testsuite/cygnal.all/Makefile
+)
+fi
+
 dnl --------------------------------------------------------
 dnl Build the cgibins server if specified.
 dnl --------------------------------------------------------
@@ -2882,8 +2902,6 @@ libbase/Makefile
 libcore/Makefile
 libcore/vm/Makefile
 libcore/parser/Makefile
-libvaapi/Makefile
-libdevice/Makefile
 librender/Makefile
 utilities/Makefile
 doc/Makefile
@@ -2927,17 +2945,6 @@ plugin/klash/Makefile
 plugin/klash4/Makefile
 plugin/win32/Makefile
 plugin/aos4/Makefile
-cygnal/Makefile
-cygnal/libnet/Makefile
-cygnal/libamf/Makefile
-cygnal/cgi-bin/Makefile
-cygnal/cgi-bin/echo/Makefile
-cygnal/cgi-bin/oflaDemo/Makefile
-cygnal/cgi-bin/fitcDemo/Makefile
-cygnal/testsuite/Makefile
-cygnal/testsuite/libamf.all/Makefile
-cygnal/testsuite/libnet.all/Makefile
-cygnal/testsuite/cygnal.all/Makefile
 )
 
 ###

http://git.savannah.gnu.org/cgit//commit/?id=506e22c90caef931a304d734278b6869bec0d594


commit 506e22c90caef931a304d734278b6869bec0d594
Author: Rob Savoye <address@hidden>
Date:   Mon Dec 6 15:56:54 2010 -0700

    elinate compiler warning

diff --git a/gui/fb/TouchDevice.cpp b/gui/fb/TouchDevice.cpp
index e21af6c..abcd1b9 100644
--- a/gui/fb/TouchDevice.cpp
+++ b/gui/fb/TouchDevice.cpp
@@ -284,8 +284,8 @@ TouchDevice::scanForDevices(Gui *gui)
     };
 
     struct ts_types touch[] = {
-        InputDevice::TOUCHSCREEN, "/dev/ts",
-        InputDevice::UNKNOWN, 0
+        {InputDevice::TOUCHSCREEN, "/dev/ts"},
+        {InputDevice::UNKNOWN, 0}
     };
 
     int i = 0;

http://git.savannah.gnu.org/cgit//commit/?id=e7faec1d94869e85cfac6850b5f8a888ee57e96f


commit e7faec1d94869e85cfac6850b5f8a888ee57e96f
Author: Rob Savoye <address@hidden>
Date:   Mon Dec 6 14:46:01 2010 -0700

    moved from librender

diff --git a/libdevice/GnashDevice.h b/libdevice/GnashDevice.h
new file mode 100644
index 0000000..306c66c
--- /dev/null
+++ b/libdevice/GnashDevice.h
@@ -0,0 +1,125 @@
+//
+//   Copyright (C) 2005, 2006, 2007, 2008, 2009, 2010 Free Software
+//   Foundation, Inc
+//
+// This program is free software; you can redistribute it and/or modify
+// it under the terms of the GNU General Public License as published by
+// the Free Software Foundation; either version 3 of the License, or
+// (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+// GNU General Public License for more details.
+// 
+// You should have received a copy of the GNU General Public License
+// along with this program; if not, write to the Free Software
+// Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA  02110-1301  USA
+//
+
+#ifndef __GNASH_DEVICE_H__
+#define __GNASH_DEVICE_H__ 1
+
+#ifdef HAVE_CONFIG_H
+#include "gnashconfig.h"
+#endif
+
+#include <boost/scoped_array.hpp>
+
+#include "Geometry.h"
+
+/// @note This file is the base class for all low level rendering and display
+/// devices. These devices must be probed and initialized first, before any
+/// renderering or window creation happens.
+/// The derived classes for this base class are then used by the renderer to
+/// determine functionality.
+namespace gnash {
+
+namespace renderer {
+
+struct GnashDevice
+{
+    typedef std::vector<const Path*> PathRefs;
+    typedef std::vector<Path> PathVec;
+    typedef std::vector<geometry::Range2d<int> > ClipBounds;
+    typedef std::vector<const Path*> PathPtrVec;
+    
+    /// Handle multiple window types. The derived classes will cast this to
+    /// the proper data type.
+    typedef long native_window_t;
+    
+    /// The list of supported renders that use devices
+    typedef enum {OPENVG, OPENGL, OPENGLES1, OPENGLES2, XORG, VAAPI} rtype_t;
+    /// The list of supported device types
+    typedef enum {NODEV, EGL, DIRECTFB, X11} dtype_t;
+    
+    GnashDevice(int argc, char *argv[]);
+    GnashDevice() { GNASH_REPORT_FUNCTION; };
+    
+    virtual ~GnashDevice() { GNASH_REPORT_FUNCTION; };
+
+    /// Get the type of the instatiated device. Since the
+    /// renderer has a single value for the supported device,
+    /// this is used to see which device has been loaded.
+    virtual dtype_t getType() = 0;
+    
+    /// Initialize GNASH Device layer. This mostly just
+    /// initializes all the private data.
+    virtual bool initDevice(int argc, char *argv[]) = 0;
+
+    /// Attach Native Window to device. This connects a
+    /// Native Window to the device so surfaces can be created.
+    virtual bool attachWindow(native_window_t window) = 0;
+    
+    // Utility methods not in the base class
+    
+    /// Return a string with the error code as text, instead of a numeric value
+    virtual const char *getErrorString(int error) = 0;
+    
+    /// Query the system for all supported configs
+    // int queryGNASHConfig() { return queryGNASHConfig(_gnashDisplay); };
+    // int queryGNASHConfig(GNASHDisplay display);
+
+    /// Get the width of the device
+    virtual size_t getWidth() = 0;
+
+    /// Get the Height of the device
+    virtual size_t getHeight() = 0;
+
+    /// Get the depth of the device
+    virtual int getDepth() = 0;
+
+    /// Get the size of the Red pixel
+    virtual int getRedSize() = 0;
+
+    /// Get the size of the Green pixel
+    virtual int getGreenSize() = 0;
+
+    /// Get the size of the Blue pixel
+    virtual int getBlueSize() = 0;
+
+    /// Is this device single buffered
+    virtual bool isSingleBuffered() = 0;
+
+    /// Are buffers destroyed ?
+    virtual bool isBufferDestroyed() = 0;
+
+    /// Get the window ID handle
+    virtual int getID() = 0;
+
+    /// Is the specified renderer supported by this hardware ?
+    virtual bool supportsRenderer(rtype_t rtype) = 0;
+
+    /// Is this renderering natively
+    virtual bool isNativeRender() = 0;
+};
+
+} // namespace renderer
+} // namespace gnash
+
+#endif  // end of __GNASH_DEVICE_H__
+
+// local Variables:
+// mode: C++
+// indent-tabs-mode: nil
+// End:

http://git.savannah.gnu.org/cgit//commit/?id=2134d86669a5904a2a0a46471ee4e5cba24e1956


commit 2134d86669a5904a2a0a46471ee4e5cba24e1956
Author: Rob Savoye <address@hidden>
Date:   Mon Dec 6 14:45:31 2010 -0700

    don't use the red pixel size test yet

diff --git a/libdevice/x11/test_x11.cpp b/libdevice/x11/test_x11.cpp
new file mode 100644
index 0000000..14aeb16
--- /dev/null
+++ b/libdevice/x11/test_x11.cpp
@@ -0,0 +1,127 @@
+// 
+//   Copyright (C) 2010 Free Software Foundation, Inc
+// 
+// This program is free software; you can redistribute it and/or modify
+// it under the terms of the GNU General Public License as published by
+// the Free Software Foundation; either version 3 of the License, or
+// (at your option) any later version.
+// 
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+// GNU General Public License for more details.
+//
+// You should have received a copy of the GNU General Public License
+// along with this program; if not, write to the Free Software
+// Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA  02110-1301  USA
+//
+
+#ifdef HAVE_CONFIG_H
+#include "gnashconfig.h"
+#endif
+
+#include <iostream>
+#include <string>
+#include <cstdlib>
+#include <vector>
+#include <map>
+#include <cassert>
+#include <regex.h>
+#include <boost/assign/list_of.hpp>
+
+#include "log.h"
+#include "dejagnu.h"
+#include "GnashDevice.h"
+#include "X11Device.h"
+
+#include <X11/X.h>
+
+TestState runtest;
+
+using namespace gnash;
+using namespace std;
+using namespace renderer;
+
+// The debug log used by all the gnash libraries.
+static LogFile& dbglogfile = LogFile::getDefaultInstance();
+
+int
+main(int argc, char *argv[])
+{
+    // FIXME: for now, always run verbose till this supports command line args
+    dbglogfile.setVerbosity();
+
+    x11::X11Device x11;
+
+    if (x11.initDevice(argc, argv)) {
+        runtest.pass("X11Device:InitDevice()");
+    } else {
+        runtest.fail("X11Device:InitDevice()");
+    }
+
+    string result = "BadDrawable (invalid Pixmap or Window parameter)";
+    int code = BadDrawable;
+    if (x11.getErrorString(code) == result) {
+        runtest.pass("X11Device::getErrorString()");
+    } else {
+        runtest.fail("X11Device::getErrorString()");
+    }    
+
+    if (x11.getDepth() > 0) {
+        runtest.pass("X11Device::getDepth()");
+    } else {
+        runtest.fail("X11Device::getDepth()");
+    }    
+
+    if (x11.getWidth()) {
+        runtest.pass("X11Device::getWidth()");
+    } else {
+        runtest.fail("X11Device::getWidth()");
+    }
+    
+    if (x11.getHeight()) {
+        runtest.pass("X11Device::getHeight()");
+    } else {
+        runtest.fail("X11Device::getHeight()");
+    }
+    
+    if (x11.isSingleBuffered() >= 0) {
+        runtest.pass("X11Device::isSingleBuffered()");
+    } else {
+        runtest.fail("X11Device::isSingleBuffered()");
+    }
+
+    // Context accessor tests
+    // std::cerr << "FIXME: " << x11.getContextID() << std::endl;
+
+    if (x11.getID() > 0) {
+        runtest.pass("X11Device::getID()");
+    } else {
+        runtest.fail("X11Device::getID()");
+    }    
+
+#if 0
+    if (x11.getRedSize() > 0) {
+        runtest.pass("X11Device::getRedSize()");
+    } else {
+        runtest.fail("X11Device::getRedSize()");
+    }    
+
+    if (x11.getGreenSize() > 0) {
+        runtest.pass("X11Device::getGreenSize()");
+    } else {
+        runtest.fail("X11Device::getGreenSize()");
+    }    
+    
+    if (x11.getBlueSize() > 0) {
+        runtest.pass("X11Device::getBlueSize()");
+    } else {
+        runtest.fail("X11Device::getBlueSize()");
+    }    
+#endif
+}
+
+// Local Variables:
+// mode: C++
+// indent-tabs-mode: nil
+// End:

http://git.savannah.gnu.org/cgit//commit/?id=c6188d3c2b552884b495b298d0ad4028abb37d00


commit c6188d3c2b552884b495b298d0ad4028abb37d00
Author: Rob Savoye <address@hidden>
Date:   Mon Dec 6 14:44:56 2010 -0700

    add some libcore paths to CPFLAGS, remove all librender references

diff --git a/libdevice/Makefile.am b/libdevice/Makefile.am
new file mode 100644
index 0000000..4148307
--- /dev/null
+++ b/libdevice/Makefile.am
@@ -0,0 +1,156 @@
+# 
+#   Copyright (C) 2005, 2006, 2007, 2008, 2009, 2010 Free Software Foundation, 
Inc.
+#
+#   This program is free software; you can redistribute it and/or modify
+#   it under the terms of the GNU General Public License as published by
+#   the Free Software Foundation; either version 3 of the License, or
+#   (at your option) any later version.
+#
+#   This program is distributed in the hope that it will be useful,
+#   but WITHOUT ANY WARRANTY; without even the implied warranty of
+#   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+#   GNU General Public License for more details.
+#
+#   You should have received a copy of the GNU General Public License
+#   along with this program; if not, write to the Free Software
+#   Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA  02110-1301  USA
+#
+
+## Process this file with automake to generate Makefile.in
+
+AUTOMAKE_OPTIONS =
+
+# this is where Gnash plugins get installed
+pluginsdir = $(libdir)/gnash/plugins
+
+## WARNING: make sure GLIB_LIBS appears first
+## See: http://lists.gnu.org/archive/html/gnash-dev/2006-07/msg00076.html
+AM_CPPFLAGS = -I.. \
+       -I$(srcdir) \
+       -I$(top_srcdir) \
+       -I$(top_srcdir)/libmedia \
+       -I$(top_srcdir)/libbase \
+       -I$(top_srcdir)/librender \
+       -I$(top_srcdir)/libcore \
+       -I$(top_srcdir)/libcore/swf \
+       $(PTHREAD_CFLAGS) \
+       $(SDL_CFLAGS) \
+       $(PANGO_CFLAGS) \
+       $(GLIB_CFLAGS) \
+       $(GTK2_CFLAGS) \
+       $(ATK_CFLAGS) \
+       $(DMALLOC_CFLAGS) \
+       $(PNG_CFLAGS) \
+       $(JPEG_CFLAGS) \
+       $(OGG_CFLAGS) \
+       $(BOOST_CFLAGS) \
+       $(OPENGL_CFLAGS) \
+       $(AGG_CFLAGS) \
+       $(DIRECTFB_CFLAGS) \
+       $(CAIRO_CFLAGS) \
+       $(NULL)
+
+GNASH_LIBS = \
+       $(top_builddir)/libmedia/libgnashmedia.la \
+       $(top_builddir)/libbase/libgnashbase.la \
+       $(NULL)
+
+instdir = $(includedir)/gnash
+
+noinst_HEADERS = \
+       $(NULL)
+
+pkglib_LTLIBRARIES =  libgnashdevice.la
+
+libgnashdevice_la_CPPFLAGS = $(AM_CPPFLAGS)
+libgnashdevice_la_LIBADD = \
+       $(LIBVA_LIBS) \
+       $(LIBVA_X11_LIBS) \
+       $(LIBVA_GLX_LIBS) \
+       $(GNASH_LIBS)
+libgnashdevice_la_LDFLAGS =  -release $(VERSION) 
+libgnashdevice_la_SOURCES =
+
+if BUILD_EGL_DEVICE
+libgnashdevice_la_CPPFLAGS += $(EGL_CFLAGS)
+libgnashdevice_la_SOURCES += egl/eglDevice.cpp egl/eglDevice.h
+libgnashdevice_la_LIBADD += $(EGL_LIBS)
+endif
+
+if BUILD_DIRECTFB_DEVICE
+libgnashdevice_la_CPPFLAGS += $(DIRECTFB_CFLAGS)
+libgnashdevice_la_SOURCES += directfb/DirectFBDevice.cpp 
directfb/DirectFBDevice.h
+libgnashdevice_la_LIBADD += $(DIRECTFB_LIBS)
+endif
+
+if BUILD_VAAPI_DEVICE
+libgnashdevice_la_CPPFLAGS += $(VAAPI_CFLAGS)
+libgnashdevice_la_SOURCES += \
+       vaapi/VaapiDevice.cpp \
+       vaapi/VaapiSurface.cpp
+libgnashdevice_la_LIBADD += $(VAAPI_LIBS)
+endif
+
+# if BUILD_X11_DEVICE
+libgnashdevice_la_CPPFLAGS += $(X11_CFLAGS)
+libgnashdevice_la_SOURCES += x11/X11Device.cpp
+libgnashdevice_la_LIBADD += $(X11_LIBS)
+# endif
+
+# Rebuild with GCC 4.x Mudflap support
+mudflap:
+       @echo "Rebuilding with GCC Mudflap support"
+       $(MAKE) CXXFLAGS="`$(CXXFLAGS) -fmudflap" LDFLAGS="$(LDFLAGS) -lmudflap"
+
+clean-hook:
+       -rm -f core.*
+
+if ENABLE_PCH
+AM_CXXFLAGS = $(PCH_FLAGS)
+endif
+
+check_PROGRAMS =
+
+if BUILD_EGL_DEVICE
+check_PROGRAMS += test_egl
+# this tests the low level EGL interface, used by OpenVG, OpenGLES1,
+# and OpenGLES2.
+test_egl_SOURCES = egl/test_egl.cpp
+test_egl_CPPFLAGS = $(AM_CPPFLAGS)
+test_egl_LDADD = \
+       libgnashrender.la \
+       libgnashdevice.la \
+       $(EGL_LIBS) \
+       $(GNASH_LIBS)
+endif
+
+if BUILD_VAAPI_DEVICE
+check_PROGRAMS += test_vaapi
+test_vaapi_SOURCES = vaapi/test_vaapi.cpp
+test_vaapi_CPPFLAGS = $(AM_CPPFLAGS) $(VAAPI_CFLAGS)
+test_vaapi_LDADD = \
+       libgnashdevice.la \
+       $(VAAPI_LIBS) \
+       $(GNASH_LIBS)
+endif
+
+if BUILD_DIRECTFB_DEVICE
+check_PROGRAMS += test_dfb
+test_dfb_SOURCES = directfb/test_dfb.cpp
+test_dfb_CPPFLAGS = $(AM_CPPFLAGS) $(DIRECTFB_CFLAGS)
+test_dfb_LDADD = \
+       libgnashdevice.la \
+       $(DIRECTFB_LIBS) \
+       $(GNASH_LIBS)
+endif
+
+# if BUILD_X11_DEVICE
+check_PROGRAMS += test_x11
+test_x11_SOURCES = x11/test_x11.cpp
+test_x11_CPPFLAGS = $(AM_CPPFLAGS) $(X11_CFLAGS)
+test_x11_LDADD = \
+       libgnashdevice.la \
+       $(X11_LIBS) \
+       $(GNASH_LIBS)
+# endif
+

http://git.savannah.gnu.org/cgit//commit/?id=c4cf96648c79ec803aa2944ebf5803ff15c03987


commit c4cf96648c79ec803aa2944ebf5803ff15c03987
Author: Rob Savoye <address@hidden>
Date:   Mon Dec 6 14:44:13 2010 -0700

    moved to libdevice

diff --git a/librender/GnashDevice.h b/librender/GnashDevice.h
deleted file mode 100644
index 306c66c..0000000
--- a/librender/GnashDevice.h
+++ /dev/null
@@ -1,125 +0,0 @@
-//
-//   Copyright (C) 2005, 2006, 2007, 2008, 2009, 2010 Free Software
-//   Foundation, Inc
-//
-// This program is free software; you can redistribute it and/or modify
-// it under the terms of the GNU General Public License as published by
-// the Free Software Foundation; either version 3 of the License, or
-// (at your option) any later version.
-//
-// This program is distributed in the hope that it will be useful,
-// but WITHOUT ANY WARRANTY; without even the implied warranty of
-// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-// GNU General Public License for more details.
-// 
-// You should have received a copy of the GNU General Public License
-// along with this program; if not, write to the Free Software
-// Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA  02110-1301  USA
-//
-
-#ifndef __GNASH_DEVICE_H__
-#define __GNASH_DEVICE_H__ 1
-
-#ifdef HAVE_CONFIG_H
-#include "gnashconfig.h"
-#endif
-
-#include <boost/scoped_array.hpp>
-
-#include "Geometry.h"
-
-/// @note This file is the base class for all low level rendering and display
-/// devices. These devices must be probed and initialized first, before any
-/// renderering or window creation happens.
-/// The derived classes for this base class are then used by the renderer to
-/// determine functionality.
-namespace gnash {
-
-namespace renderer {
-
-struct GnashDevice
-{
-    typedef std::vector<const Path*> PathRefs;
-    typedef std::vector<Path> PathVec;
-    typedef std::vector<geometry::Range2d<int> > ClipBounds;
-    typedef std::vector<const Path*> PathPtrVec;
-    
-    /// Handle multiple window types. The derived classes will cast this to
-    /// the proper data type.
-    typedef long native_window_t;
-    
-    /// The list of supported renders that use devices
-    typedef enum {OPENVG, OPENGL, OPENGLES1, OPENGLES2, XORG, VAAPI} rtype_t;
-    /// The list of supported device types
-    typedef enum {NODEV, EGL, DIRECTFB, X11} dtype_t;
-    
-    GnashDevice(int argc, char *argv[]);
-    GnashDevice() { GNASH_REPORT_FUNCTION; };
-    
-    virtual ~GnashDevice() { GNASH_REPORT_FUNCTION; };
-
-    /// Get the type of the instatiated device. Since the
-    /// renderer has a single value for the supported device,
-    /// this is used to see which device has been loaded.
-    virtual dtype_t getType() = 0;
-    
-    /// Initialize GNASH Device layer. This mostly just
-    /// initializes all the private data.
-    virtual bool initDevice(int argc, char *argv[]) = 0;
-
-    /// Attach Native Window to device. This connects a
-    /// Native Window to the device so surfaces can be created.
-    virtual bool attachWindow(native_window_t window) = 0;
-    
-    // Utility methods not in the base class
-    
-    /// Return a string with the error code as text, instead of a numeric value
-    virtual const char *getErrorString(int error) = 0;
-    
-    /// Query the system for all supported configs
-    // int queryGNASHConfig() { return queryGNASHConfig(_gnashDisplay); };
-    // int queryGNASHConfig(GNASHDisplay display);
-
-    /// Get the width of the device
-    virtual size_t getWidth() = 0;
-
-    /// Get the Height of the device
-    virtual size_t getHeight() = 0;
-
-    /// Get the depth of the device
-    virtual int getDepth() = 0;
-
-    /// Get the size of the Red pixel
-    virtual int getRedSize() = 0;
-
-    /// Get the size of the Green pixel
-    virtual int getGreenSize() = 0;
-
-    /// Get the size of the Blue pixel
-    virtual int getBlueSize() = 0;
-
-    /// Is this device single buffered
-    virtual bool isSingleBuffered() = 0;
-
-    /// Are buffers destroyed ?
-    virtual bool isBufferDestroyed() = 0;
-
-    /// Get the window ID handle
-    virtual int getID() = 0;
-
-    /// Is the specified renderer supported by this hardware ?
-    virtual bool supportsRenderer(rtype_t rtype) = 0;
-
-    /// Is this renderering natively
-    virtual bool isNativeRender() = 0;
-};
-
-} // namespace renderer
-} // namespace gnash
-
-#endif  // end of __GNASH_DEVICE_H__
-
-// local Variables:
-// mode: C++
-// indent-tabs-mode: nil
-// End:

http://git.savannah.gnu.org/cgit//commit/?id=b6ffb6fa43347499654be9a056c09c9a38f9f462


commit b6ffb6fa43347499654be9a056c09c9a38f9f462
Author: Rob Savoye <address@hidden>
Date:   Mon Dec 6 14:43:28 2010 -0700

    remove al the device code, it's now in it's own libdevice directory

diff --git a/librender/Makefile.am b/librender/Makefile.am
index 350d4ce..8af4223 100644
--- a/librender/Makefile.am
+++ b/librender/Makefile.am
@@ -80,11 +80,11 @@ noinst_HEADERS = \
        opengl/Renderer_ogl.h \
        $(NULL)
 
-pkglib_LTLIBRARIES =  libgnashdevice.la libgnashrender.la
+pkglib_LTLIBRARIES =  libgnashrender.la
 
 libgnashrender_la_CPPFLAGS = $(AM_CPPFLAGS)
 libgnashrender_la_LIBADD = \
-       libgnashdevice.la \
+       ../libdevice/libgnashdevice.la \
        $(LIBVA_LIBS) \
        $(LIBVA_X11_LIBS) \
        $(LIBVA_GLX_LIBS) \
@@ -124,39 +124,39 @@ libgnashrender_la_SOURCES += cairo/PathParser.cpp
 libgnashrender_la_LIBADD += $(CAIRO_LIBS)
 endif
 
-libgnashdevice_la_CPPFLAGS = $(AM_CPPFLAGS)
-libgnashdevice_la_LIBADD = \
-       $(LIBVA_LIBS) \
-       $(LIBVA_X11_LIBS) \
-       $(LIBVA_GLX_LIBS) \
-       $(GNASH_LIBS)
-libgnashdevice_la_LDFLAGS =  -release $(VERSION) 
-libgnashdevice_la_SOURCES =
-
-if BUILD_EGL_DEVICE
-libgnashdevice_la_CPPFLAGS += $(EGL_CFLAGS)
-libgnashdevice_la_SOURCES += eglDevice.cpp
-libgnashdevice_la_LIBADD += $(EGL_LIBS)
-endif
+# libgnashdevice_la_CPPFLAGS = $(AM_CPPFLAGS)
+# libgnashdevice_la_LIBADD = \
+#      $(LIBVA_LIBS) \
+#      $(LIBVA_X11_LIBS) \
+#      $(LIBVA_GLX_LIBS) \
+#      $(GNASH_LIBS)
+# libgnashdevice_la_LDFLAGS =  -release $(VERSION) 
+# libgnashdevice_la_SOURCES =
+
+# if BUILD_EGL_DEVICE
+# libgnashdevice_la_CPPFLAGS += $(EGL_CFLAGS)
+# libgnashdevice_la_SOURCES += eglDevice.cpp
+# libgnashdevice_la_LIBADD += $(EGL_LIBS)
+# endif
 
-if BUILD_DIRECTFB_DEVICE
-libgnashdevice_la_CPPFLAGS += $(DIRECTFB_CFLAGS)
-libgnashdevice_la_SOURCES += directfb/DirectFBDevice.cpp
-libgnashdevice_la_LIBADD += $(DIRECTFB_LIBS)
-endif
+# if BUILD_DIRECTFB_DEVICE
+# libgnashdevice_la_CPPFLAGS += $(DIRECTFB_CFLAGS)
+# libgnashdevice_la_SOURCES += directfb/DirectFBDevice.cpp
+# libgnashdevice_la_LIBADD += $(DIRECTFB_LIBS)
+# endif
 
-if BUILD_VAAPI_DEVICE
-libgnashdevice_la_CPPFLAGS += $(VAAPI_CFLAGS)
-libgnashdevice_la_SOURCES += \
-       vaapi/VaapiDevice.cpp \
-       vaapi/VaapiSurface.cpp
-libgnashdevice_la_LIBADD += $(VAAPI_LIBS)
-endif
+# if BUILD_VAAPI_DEVICE
+# libgnashdevice_la_CPPFLAGS += $(VAAPI_CFLAGS)
+# libgnashdevice_la_SOURCES += \
+#      vaapi/VaapiDevice.cpp \
+#      vaapi/VaapiSurface.cpp
+# libgnashdevice_la_LIBADD += $(VAAPI_LIBS)
+# endif
 
-# if BUILD_X11_DEVICE
-libgnashdevice_la_CPPFLAGS += $(X11_CFLAGS)
-libgnashdevice_la_SOURCES += x11/X11Device.cpp
-libgnashdevice_la_LIBADD += $(X11_LIBS)
+# # if BUILD_X11_DEVICE
+# libgnashdevice_la_CPPFLAGS += $(X11_CFLAGS)
+# libgnashdevice_la_SOURCES += x11/X11Device.cpp
+# libgnashdevice_la_LIBADD += $(X11_LIBS)
 # endif
 
 # Rebuild with GCC 4.x Mudflap support
@@ -181,57 +181,13 @@ if BUILD_OGL_RENDERER
        $(NULL)
 endif
 
-# bin_PROGRAMS = testr
 check_PROGRAMS = testr
 
-if BUILD_EGL_DEVICE
-check_PROGRAMS += test_egl
-# this tests the low level EGL interface, used by OpenVG, OpenGLES1,
-# and OpenGLES2.
-test_egl_SOURCES = test_egl.cpp
-test_egl_CPPFLAGS = $(AM_CPPFLAGS)
-test_egl_LDADD = \
-       libgnashrender.la \
-       libgnashdevice.la \
-       $(EGL_LIBS) \
-       $(GNASH_LIBS)
-endif
-
-if BUILD_VAAPI_DEVICE
-check_PROGRAMS += test_vaapi
-test_vaapi_SOURCES = vaapi/test_vaapi.cpp
-test_vaapi_CPPFLAGS = $(AM_CPPFLAGS) $(VAAPI_CFLAGS)
-test_vaapi_LDADD = \
-       libgnashdevice.la \
-       $(VAAPI_LIBS) \
-       $(GNASH_LIBS)
-endif
-
-if BUILD_DIRECTFB_DEVICE
-check_PROGRAMS += test_dfb
-test_dfb_SOURCES = directfb/test_dfb.cpp
-test_dfb_CPPFLAGS = $(AM_CPPFLAGS) $(DIRECTFB_CFLAGS)
-test_dfb_LDADD = \
-       libgnashdevice.la \
-       $(DIRECTFB_LIBS) \
-       $(GNASH_LIBS)
-endif
-
-# if BUILD_X11_DEVICE
-check_PROGRAMS += test_x11
-test_x11_SOURCES = x11/test_x11.cpp
-test_x11_CPPFLAGS = $(AM_CPPFLAGS) $(X11_CFLAGS)
-test_x11_LDADD = \
-       libgnashdevice.la \
-       $(X11_LIBS) \
-       $(GNASH_LIBS)
-# endif
-
 testr_SOURCES = testr.cpp testr_gtk.cpp
 testr_CPPFLAGS = $(AM_CPPFLAGS) $(DIRECTFB_CFLAGS) # -DUSE_TESTSUITE
 testr_LDADD = \
        libgnashrender.la \
-       libgnashdevice.la \
+       ../libdevice/libgnashdevice.la \
        $(GNASH_LIBS) \
        $(GTK2_LIBS) \
        $(OPENVG_LIBS) \

http://git.savannah.gnu.org/cgit//commit/?id=b760de6f609e1f0fbf58ec42d3627e2757eac78c


commit b760de6f609e1f0fbf58ec42d3627e2757eac78c
Author: Rob Savoye <address@hidden>
Date:   Mon Dec 6 14:42:54 2010 -0700

    link in libgnashdevice

diff --git a/gui/Makefile.am b/gui/Makefile.am
index 6b3116f..ce3cc77 100644
--- a/gui/Makefile.am
+++ b/gui/Makefile.am
@@ -125,7 +125,7 @@ AM_LDFLAGS =  \
 
 GNASH_LIBS = \
        $(top_builddir)/libcore/libgnashcore.la \
-       $(top_builddir)/librender/libgnashdevice.la \
+       $(top_builddir)/libdevice/libgnashdevice.la \
        $(top_builddir)/librender/libgnashrender.la \
        $(top_builddir)/libsound/libgnashsound.la \
        $(top_builddir)/libmedia/libgnashmedia.la \

http://git.savannah.gnu.org/cgit//commit/?id=ae81bce630234b7894fe054285784202547d3cc7


commit ae81bce630234b7894fe054285784202547d3cc7
Author: Rob Savoye <address@hidden>
Date:   Mon Dec 6 14:42:17 2010 -0700

    add libdevice

diff --git a/Makefile.am b/Makefile.am
index d65ebb3..681a50f 100644
--- a/Makefile.am
+++ b/Makefile.am
@@ -53,6 +53,7 @@ STD_DIRS = \
        libmedia \
        libsound \
        libcore \
+       libdevice \
        librender \
        gui \
        plugin \
diff --git a/configure.ac b/configure.ac
index d9ec892..61eb2a6 100644
--- a/configure.ac
+++ b/configure.ac
@@ -2883,6 +2883,7 @@ libcore/Makefile
 libcore/vm/Makefile
 libcore/parser/Makefile
 libvaapi/Makefile
+libdevice/Makefile
 librender/Makefile
 utilities/Makefile
 doc/Makefile

http://git.savannah.gnu.org/cgit//commit/?id=d3a6d12a3c9fafaebf902d971a92a1155fedef93


commit d3a6d12a3c9fafaebf902d971a92a1155fedef93
Author: Rob Savoye <address@hidden>
Date:   Mon Dec 6 13:51:39 2010 -0700

    move OPenGL specific file to librender

diff --git a/libbase/GnashTexture.cpp b/librender/GnashTexture.cpp
similarity index 100%
rename from libbase/GnashTexture.cpp
rename to librender/GnashTexture.cpp
diff --git a/libbase/GnashTexture.h b/librender/GnashTexture.h
similarity index 100%
rename from libbase/GnashTexture.h
rename to librender/GnashTexture.h

http://git.savannah.gnu.org/cgit//commit/?id=28f3253d9f72efc1a95f9e6b5d677bc0a6f5be66


commit 28f3253d9f72efc1a95f9e6b5d677bc0a6f5be66
Author: Rob Savoye <address@hidden>
Date:   Mon Dec 6 13:50:46 2010 -0700

    improve the test for getRedSize()

diff --git a/librender/x11/X11Device.h b/librender/x11/X11Device.h
index 7a4e887..527d944 100644
--- a/librender/x11/X11Device.h
+++ b/librender/x11/X11Device.h
@@ -85,7 +85,7 @@ class X11Device : public GnashDevice
     int getID() { return static_cast<int>(_window); }
 
     // Get the size of the pixels, for X11 it's always 8 as far as I can tell
-    int getRedSize() { if (_vinfo) { return _vinfo[0].bits_per_rgb; } return 
0; };
+    int getRedSize() { return (_vinfo) ? _vinfo[0].bits_per_rgb : 0; };
     int getGreenSize() { return getRedSize(); };
     int getBlueSize() { return getRedSize(); };
     

http://git.savannah.gnu.org/cgit//commit/?id=4924675e175f9e833f12b7d11428e9bda65adee3


commit 4924675e175f9e833f12b7d11428e9bda65adee3
Author: Rob Savoye <address@hidden>
Date:   Mon Dec 6 13:49:40 2010 -0700

    add comment that on X11, you can only use double buffering

diff --git a/librender/eglDevice.cpp b/librender/eglDevice.cpp
index a44398d..a00f63b 100644
--- a/librender/eglDevice.cpp
+++ b/librender/eglDevice.cpp
@@ -68,7 +68,8 @@ static const EGLint attrib32_list[] = {
     EGL_RENDERABLE_TYPE, EGL_OPENVG_BIT|EGL_OPENGL_ES_BIT|EGL_OPENGL_ES2_BIT,
     EGL_SURFACE_TYPE,   EGL_WINDOW_BIT|EGL_PBUFFER_BIT|EGL_PIXMAP_BIT,
 //    EGL_SAMPLE_BUFFERS, 1,
-    // EGL_RENDER_BUFFER, EGL_SINGLE_BUFFER
+// FIXME: Single Buffering appears not to work on X11, you get no visual.
+//    EGL_RENDER_BUFFER, EGL_SINGLE_BUFFER,
     EGL_NONE
 };
 

http://git.savannah.gnu.org/cgit//commit/?id=8b7cfb1cd105b454876c8df692c3720fd603d808


commit 8b7cfb1cd105b454876c8df692c3720fd603d808
Author: Rob Savoye <address@hidden>
Date:   Mon Dec 6 13:45:29 2010 -0700

    GnashTexture moved fom libbase to libreander, as it's for OpenGL. Cleanup 
link lists.

diff --git a/libbase/Makefile.am b/libbase/Makefile.am
index 44ec61a..a80688f 100644
--- a/libbase/Makefile.am
+++ b/libbase/Makefile.am
@@ -229,16 +229,6 @@ inst_HEADERS += $(EXTENSIONS_API)
 libgnashbase_la_LDFLAGS = -release $(VERSION) 
 libgnashbase_la_DEPENDENCIES = $(LIBLTDLLIB)
 
-if BUILD_OGL_RENDERER
-   libgnashbase_la_SOURCES += \
-       GnashTexture.cpp \
-       $(NULL)
-
-   noinst_HEADERS += \
-       GnashTexture.h \
-       $(NULL)
-endif
-
 if HAVE_VAAPI
    libgnashbase_la_SOURCES += \
        GnashVaapiImage.cpp \
diff --git a/librender/Makefile.am b/librender/Makefile.am
index 0cccf05..350d4ce 100644
--- a/librender/Makefile.am
+++ b/librender/Makefile.am
@@ -80,10 +80,15 @@ noinst_HEADERS = \
        opengl/Renderer_ogl.h \
        $(NULL)
 
-pkglib_LTLIBRARIES = libgnashrender.la libgnashdevice.la
+pkglib_LTLIBRARIES =  libgnashdevice.la libgnashrender.la
 
 libgnashrender_la_CPPFLAGS = $(AM_CPPFLAGS)
-libgnashrender_la_LIBADD = $(LIBVA_LIBS) $(LIBVA_X11_LIBS) $(LIBVA_GLX_LIBS)
+libgnashrender_la_LIBADD = \
+       libgnashdevice.la \
+       $(LIBVA_LIBS) \
+       $(LIBVA_X11_LIBS) \
+       $(LIBVA_GLX_LIBS) \
+       $(GNASH_LIBS)
 libgnashrender_la_LDFLAGS =  -release $(VERSION) 
 libgnashrender_la_SOURCES =
 
@@ -119,22 +124,19 @@ libgnashrender_la_SOURCES += cairo/PathParser.cpp
 libgnashrender_la_LIBADD += $(CAIRO_LIBS)
 endif
 
-
 libgnashdevice_la_CPPFLAGS = $(AM_CPPFLAGS)
 libgnashdevice_la_LIBADD = \
-       libgnashrender.la \
        $(LIBVA_LIBS) \
        $(LIBVA_X11_LIBS) \
-       $(LIBVA_GLX_LIBS)
+       $(LIBVA_GLX_LIBS) \
+       $(GNASH_LIBS)
 libgnashdevice_la_LDFLAGS =  -release $(VERSION) 
 libgnashdevice_la_SOURCES =
 
 if BUILD_EGL_DEVICE
 libgnashdevice_la_CPPFLAGS += $(EGL_CFLAGS)
 libgnashdevice_la_SOURCES += eglDevice.cpp
-libgnashdevice_la_LIBADD += \
-       $(EGL_LIBS) \
-       $(GTK2_LIBS)
+libgnashdevice_la_LIBADD += $(EGL_LIBS)
 endif
 
 if BUILD_DIRECTFB_DEVICE
@@ -169,6 +171,16 @@ if ENABLE_PCH
 AM_CXXFLAGS = $(PCH_FLAGS)
 endif
 
+if BUILD_OGL_RENDERER
+   libgnashrender_la_SOURCES += \
+       GnashTexture.cpp \
+       $(NULL)
+
+   noinst_HEADERS += \
+       GnashTexture.h \
+       $(NULL)
+endif
+
 # bin_PROGRAMS = testr
 check_PROGRAMS = testr
 
@@ -179,6 +191,7 @@ check_PROGRAMS += test_egl
 test_egl_SOURCES = test_egl.cpp
 test_egl_CPPFLAGS = $(AM_CPPFLAGS)
 test_egl_LDADD = \
+       libgnashrender.la \
        libgnashdevice.la \
        $(EGL_LIBS) \
        $(GNASH_LIBS)
@@ -220,4 +233,7 @@ testr_LDADD = \
        libgnashrender.la \
        libgnashdevice.la \
        $(GNASH_LIBS) \
-       $(GTK2_LIBS)
+       $(GTK2_LIBS) \
+       $(OPENVG_LIBS) \
+       $(GLES1_LIBS) \
+       $(GLES2_LIBS)

http://git.savannah.gnu.org/cgit//commit/?id=a94c4b841603a8a43842889b558f0fd01dc102d7


commit a94c4b841603a8a43842889b558f0fd01dc102d7
Author: Rob Savoye <address@hidden>
Date:   Mon Dec 6 13:42:27 2010 -0700

    add BOOST_LIBS to the link list

diff --git a/gui/fb/fb.am b/gui/fb/fb.am
index 47568ee..37686e4 100644
--- a/gui/fb/fb.am
+++ b/gui/fb/fb.am
@@ -52,6 +52,7 @@ fb_gnash_CPPFLAGS = -DGUI_FB -DGUI_CONFIG=\"FB\" 
-DFAKEFB=\"$(FAKEFB)\" \
 fb_gnash_LDFLAGS = $(LIBLTDL) -export-dynamic $(AM_LDFLAGS)
 fb_gnash_LDADD = \
        $(top_builddir)/librender/libgnashrender.la \
+       $(BOOST_LIBS) \
        $(GNASH_LIBS) 
 
 # Build support for AntiGrain.
diff --git a/gui/gtk/gtk.am b/gui/gtk/gtk.am
index af219d6..9188388 100644
--- a/gui/gtk/gtk.am
+++ b/gui/gtk/gtk.am
@@ -29,8 +29,11 @@ gtk_gnash_SOURCES = $(GUI_SRCS) $(GTK_CANVAS) \
 gtk_gnash_CPPFLAGS = -DGUI_GTK -DGUI_CONFIG=\"GTK\" \
        $(AM_CPPFLAGS) $(GTK_CFLAGS) $(X11_CFLAGS)
 gtk_gnash_LDFLAGS = $(LIBLTDL) -export-dynamic $(AM_LDFLAGS)
-gtk_gnash_LDADD = $(top_builddir)/librender/libgnashrender.la \
-       $(GNASH_LIBS) $(GTK_LIBS)
+gtk_gnash_LDADD = \
+       $(top_builddir)/librender/libgnashrender.la \
+       $(GNASH_LIBS) \
+       $(GTK_LIBS) \
+       $(BOOST_LIBS)
 #gtk_gnash_DEPENDENCIES = .configline
 
 if BUILD_OGL_RENDERER

http://git.savannah.gnu.org/cgit//commit/?id=644bff3cd7ea1273fd191cb2c730917cc4b26d72


commit 644bff3cd7ea1273fd191cb2c730917cc4b26d72
Author: Rob Savoye <address@hidden>
Date:   Mon Dec 6 13:41:48 2010 -0700

    add libgnashdevice to the list

diff --git a/gui/Makefile.am b/gui/Makefile.am
index e36f850..6b3116f 100644
--- a/gui/Makefile.am
+++ b/gui/Makefile.am
@@ -125,6 +125,7 @@ AM_LDFLAGS =  \
 
 GNASH_LIBS = \
        $(top_builddir)/libcore/libgnashcore.la \
+       $(top_builddir)/librender/libgnashdevice.la \
        $(top_builddir)/librender/libgnashrender.la \
        $(top_builddir)/libsound/libgnashsound.la \
        $(top_builddir)/libmedia/libgnashmedia.la \

http://git.savannah.gnu.org/cgit//commit/?id=f12fc74eb1a010a6907c0d50d4d2a7661dba8a87


commit f12fc74eb1a010a6907c0d50d4d2a7661dba8a87
Author: Rob Savoye <address@hidden>
Date:   Mon Dec 6 12:05:12 2010 -0700

    remove gdk_exit(), it doesn't belong here.

diff --git a/librender/eglDevice.cpp b/librender/eglDevice.cpp
index 5e8bdd5..a44398d 100644
--- a/librender/eglDevice.cpp
+++ b/librender/eglDevice.cpp
@@ -223,11 +223,7 @@ EGLDevice::~EGLDevice()
         
         eglTerminate(_eglDisplay);
     }
-
     
-#ifdef HAVE_GTK2
-    gdk_exit (0);
-#endif
 }
 
 /// @note: There are a few steps required to initialize an EGL

http://git.savannah.gnu.org/cgit//commit/?id=660b97b6fb74e63050bab424732a23130769ca80


commit 660b97b6fb74e63050bab424732a23130769ca80
Author: Rob Savoye <address@hidden>
Date:   Mon Dec 6 11:23:39 2010 -0700

    build devices as libgnashdevice to get ready to move this to it's own 
subdirectory.

diff --git a/librender/Makefile.am b/librender/Makefile.am
index 74e8fb4..0cccf05 100644
--- a/librender/Makefile.am
+++ b/librender/Makefile.am
@@ -47,11 +47,13 @@ AM_CPPFLAGS = -I.. \
        $(BOOST_CFLAGS) \
        $(OPENGL_CFLAGS) \
        $(AGG_CFLAGS) \
+       $(DIRECTFB_CFLAGS) \
        $(CAIRO_CFLAGS) \
        $(NULL)
 
 GNASH_LIBS = \
        $(top_builddir)/libcore/libgnashcore.la \
+       $(top_builddir)/libmedia/libgnashmedia.la \
        $(top_builddir)/libbase/libgnashbase.la \
        $(NULL)
 
@@ -78,7 +80,7 @@ noinst_HEADERS = \
        opengl/Renderer_ogl.h \
        $(NULL)
 
-pkglib_LTLIBRARIES = libgnashrender.la
+pkglib_LTLIBRARIES = libgnashrender.la libgnashdevice.la
 
 libgnashrender_la_CPPFLAGS = $(AM_CPPFLAGS)
 libgnashrender_la_LIBADD = $(LIBVA_LIBS) $(LIBVA_X11_LIBS) $(LIBVA_GLX_LIBS)
@@ -117,33 +119,42 @@ libgnashrender_la_SOURCES += cairo/PathParser.cpp
 libgnashrender_la_LIBADD += $(CAIRO_LIBS)
 endif
 
+
+libgnashdevice_la_CPPFLAGS = $(AM_CPPFLAGS)
+libgnashdevice_la_LIBADD = \
+       libgnashrender.la \
+       $(LIBVA_LIBS) \
+       $(LIBVA_X11_LIBS) \
+       $(LIBVA_GLX_LIBS)
+libgnashdevice_la_LDFLAGS =  -release $(VERSION) 
+libgnashdevice_la_SOURCES =
+
 if BUILD_EGL_DEVICE
-libgnashrender_la_CPPFLAGS += $(EGL_CFLAGS)
-libgnashrender_la_SOURCES += eglDevice.cpp
-libgnashrender_la_LIBADD += $(EGL_LIBS) $(GTK2_LIBS)
+libgnashdevice_la_CPPFLAGS += $(EGL_CFLAGS)
+libgnashdevice_la_SOURCES += eglDevice.cpp
+libgnashdevice_la_LIBADD += \
+       $(EGL_LIBS) \
+       $(GTK2_LIBS)
 endif
 
 if BUILD_DIRECTFB_DEVICE
-libgnashrender_la_CPPFLAGS += $(DIRECTFB_CFLAGS)
-libgnashrender_la_SOURCES += \
-       directfb/Renderer_DirectFB.cpp \
-       directfb/DirectFBDevice.cpp
-libgnashrender_la_LIBADD += $(DIRECTFB_LIBS)
+libgnashdevice_la_CPPFLAGS += $(DIRECTFB_CFLAGS)
+libgnashdevice_la_SOURCES += directfb/DirectFBDevice.cpp
+libgnashdevice_la_LIBADD += $(DIRECTFB_LIBS)
 endif
 
 if BUILD_VAAPI_DEVICE
-libgnashrender_la_CPPFLAGS += $(VAAPI_CFLAGS)
-libgnashrender_la_SOURCES += \
+libgnashdevice_la_CPPFLAGS += $(VAAPI_CFLAGS)
+libgnashdevice_la_SOURCES += \
        vaapi/VaapiDevice.cpp \
        vaapi/VaapiSurface.cpp
-libgnashrender_la_LIBADD += $(VAAPI_LIBS)
+libgnashdevice_la_LIBADD += $(VAAPI_LIBS)
 endif
 
 # if BUILD_X11_DEVICE
-libgnashrender_la_CPPFLAGS += $(X11_CFLAGS)
-libgnashrender_la_SOURCES += \
-       x11/X11Device.cpp
-libgnashrender_la_LIBADD += $(X11_LIBS)
+libgnashdevice_la_CPPFLAGS += $(X11_CFLAGS)
+libgnashdevice_la_SOURCES += x11/X11Device.cpp
+libgnashdevice_la_LIBADD += $(X11_LIBS)
 # endif
 
 # Rebuild with GCC 4.x Mudflap support
@@ -158,8 +169,8 @@ if ENABLE_PCH
 AM_CXXFLAGS = $(PCH_FLAGS)
 endif
 
-bin_PROGRAMS = testr
-check_PROGRAMS =
+# bin_PROGRAMS = testr
+check_PROGRAMS = testr
 
 if BUILD_EGL_DEVICE
 check_PROGRAMS += test_egl
@@ -167,19 +178,18 @@ check_PROGRAMS += test_egl
 # and OpenGLES2.
 test_egl_SOURCES = test_egl.cpp
 test_egl_CPPFLAGS = $(AM_CPPFLAGS)
-test_egl_LDADD = ../libbase/libgnashbase.la \
-       libgnashrender.la \
+test_egl_LDADD = \
+       libgnashdevice.la \
        $(EGL_LIBS) \
-       $(GNASH_LIBS) \
-       $(GTK2_LIBS)
+       $(GNASH_LIBS)
 endif
 
 if BUILD_VAAPI_DEVICE
 check_PROGRAMS += test_vaapi
 test_vaapi_SOURCES = vaapi/test_vaapi.cpp
 test_vaapi_CPPFLAGS = $(AM_CPPFLAGS) $(VAAPI_CFLAGS)
-test_vaapi_LDADD = ../libbase/libgnashbase.la \
-       libgnashrender.la \
+test_vaapi_LDADD = \
+       libgnashdevice.la \
        $(VAAPI_LIBS) \
        $(GNASH_LIBS)
 endif
@@ -188,8 +198,8 @@ if BUILD_DIRECTFB_DEVICE
 check_PROGRAMS += test_dfb
 test_dfb_SOURCES = directfb/test_dfb.cpp
 test_dfb_CPPFLAGS = $(AM_CPPFLAGS) $(DIRECTFB_CFLAGS)
-test_dfb_LDADD = ../libbase/libgnashbase.la \
-       libgnashrender.la \
+test_dfb_LDADD = \
+       libgnashdevice.la \
        $(DIRECTFB_LIBS) \
        $(GNASH_LIBS)
 endif
@@ -198,17 +208,16 @@ endif
 check_PROGRAMS += test_x11
 test_x11_SOURCES = x11/test_x11.cpp
 test_x11_CPPFLAGS = $(AM_CPPFLAGS) $(X11_CFLAGS)
-test_x11_LDADD = ../libbase/libgnashbase.la \
-       libgnashrender.la \
+test_x11_LDADD = \
+       libgnashdevice.la \
        $(X11_LIBS) \
        $(GNASH_LIBS)
 # endif
 
 testr_SOURCES = testr.cpp testr_gtk.cpp
 testr_CPPFLAGS = $(AM_CPPFLAGS) $(DIRECTFB_CFLAGS) # -DUSE_TESTSUITE
-testr_LDADD = ../libbase/libgnashbase.la \
+testr_LDADD = \
        libgnashrender.la \
-       $(EGL_LIBS) \
+       libgnashdevice.la \
        $(GNASH_LIBS) \
        $(GTK2_LIBS)
-

http://git.savannah.gnu.org/cgit//commit/?id=1e1d895d5e3b70b49110e1a2015c1117bb4f16b5


commit 1e1d895d5e3b70b49110e1a2015c1117bb4f16b5
Author: Rob Savoye <address@hidden>
Date:   Sun Dec 5 09:54:45 2010 -0700

    see if we can render VG in our test window

diff --git a/librender/testr.cpp b/librender/testr.cpp
index cf2aa60..f2b81a3 100644
--- a/librender/testr.cpp
+++ b/librender/testr.cpp
@@ -92,6 +92,58 @@ void test_iterators(Renderer *renderer, const std::string 
&type);
 // The debug log used by all the gnash libraries.
 static LogFile& dbglogfile = LogFile::getDefaultInstance();
 
+//
+// Test drawing.
+//
+float red_color[4] = {1.0, 0.0, 0.0, 1.0};
+float blue_color[4] = {0.0, 0.0, 1.0, 1.0};
+
+#ifdef BUILD_X11_DEVICE
+static x11::init_func    init = 0;
+static x11::draw_func    draw = 0;
+static x11::reshape_func reshape = 0;
+static x11::key_func     keyPress = 0;
+static int width = 640, height = 480;
+
+#if 0
+static void
+init(void)
+{
+    GNASH_REPORT_FUNCTION;  
+}
+
+// new window size or exposure
+static void
+reshape(int /* width */, int /* height */)
+{
+    GNASH_REPORT_FUNCTION;
+    
+    vgLoadIdentity();
+}
+
+static void
+draw(void)
+{
+    GNASH_REPORT_FUNCTION;
+    
+    VGint scissor[4] = {100, 100, 25, 25};
+    vgSetfv(VG_CLEAR_COLOR, 4, red_color);
+    vgClear(0, 0, 640, 480);
+
+    vgSetfv(VG_CLEAR_COLOR, 4, blue_color);
+    vgClear(50, 50, 50, 50);
+
+    //vgSetiv(VG_SCISSOR_RECTS, 4, scissor);
+    //vgSeti(VG_SCISSORING, VG_TRUE);
+    vgCopyPixels(100, 100, 50, 50, 50, 50);
+    vgClear(150, 150, 50, 50);
+}
+#endif  // end of BUILD_X11_DEVICE
+
+#endif
+
+//------------------------------------------------------------
+
 // Simple class to do nanosecond based timing for performance analysis
 class Timer {
 public:
@@ -143,28 +195,31 @@ main(int argc, char *argv[])
 
     const char *pixelformat = "RGB24";
 
-#ifdef GTK_TEST_RENDER
-    GdkVisual *wvisual = gdk_drawable_get_visual(canvas);
-
-    GdkImage* tmpimage = gdk_image_new (GDK_IMAGE_FASTEST, wvisual, 1, 1);
-    const GdkVisual* visual = tmpimage->visual;
-
-    // FIXME: we use bpp instead of depth, because depth doesn't appear to
-    // include the padding byte(s) the GdkImage actually has.
-    pixelformat = agg_detect_pixel_format(
-        visual->red_shift, visual->red_prec,
-        visual->green_shift, visual->green_prec,
-        visual->blue_shift, visual->blue_prec,
-        tmpimage->bpp * 8);
-#endif  // end of GTK_TEST_RENDER
-
 #ifdef BUILD_X11_DEVICE
-    x11::X11Device x11;
-    x11.initDevice(0, 0);
+    EGLDevice egl(GnashDevice::OPENVG);
+    // egl.initDevice(0,0);
+    // egl.bindClient(GnashDevice::OPENVG);
+    int vid = egl.getNativeVisual();
+    x11::X11Device x11(vid);
+    // x11.initDevice(0, 0);
+    
     x11.createWindow("Foo", 0, 0, 640, 480);
-    x11.event_loop(10);
+    int win = x11.getDrawableWindow();
+    if (win) {
+        egl.attachWindow(win);
+    } else {
+        log_error("Couldn't get Drawable window from X11");
+        exit(1);
+    }    
+    // Set initial projection/viewing transformation.
+    // We can't be sure we'll get a ConfigureNotify event when the window
+    // first appears.
+    if (reshape) {
+        reshape(640, 480);
+    }
+    x11.eventLoop(10);
     std::cerr << "Hello World!" << std::endl;
-    x11.event_loop(10);
+    x11.eventLoop(10);
 #endif
 #ifdef RENDERER_AGG
     Timer tagg("AGG");

http://git.savannah.gnu.org/cgit//commit/?id=0e41023a1ce48ee9973c87a3ddf90fe625b3dde3


commit 0e41023a1ce48ee9973c87a3ddf90fe625b3dde3
Author: Rob Savoye <address@hidden>
Date:   Sat Dec 4 16:59:46 2010 -0700

    add doxygen style comments

diff --git a/librender/GnashDevice.h b/librender/GnashDevice.h
index 0927507..306c66c 100644
--- a/librender/GnashDevice.h
+++ b/librender/GnashDevice.h
@@ -28,6 +28,11 @@
 
 #include "Geometry.h"
 
+/// @note This file is the base class for all low level rendering and display
+/// devices. These devices must be probed and initialized first, before any
+/// renderering or window creation happens.
+/// The derived classes for this base class are then used by the renderer to
+/// determine functionality.
 namespace gnash {
 
 namespace renderer {
@@ -99,7 +104,7 @@ struct GnashDevice
     /// Are buffers destroyed ?
     virtual bool isBufferDestroyed() = 0;
 
-    // Get the window ID handle
+    /// Get the window ID handle
     virtual int getID() = 0;
 
     /// Is the specified renderer supported by this hardware ?

-----------------------------------------------------------------------

Summary of changes:
 Makefile.am                                        |   13 +-
 configure.ac                                       |   35 +++--
 gui/Makefile.am                                    |    4 +-
 gui/fb/TouchDevice.cpp                             |    4 +-
 gui/fb/fb.am                                       |    1 +
 gui/gtk/gtk.am                                     |   11 +-
 libbase/Makefile.am                                |   10 --
 libcore/Makefile.am                                |    1 +
 libcore/parser/Makefile.am                         |    1 +
 libcore/vm/Makefile.am                             |    1 +
 {librender => libdevice}/GnashDevice.h             |    7 +-
 {librender => libdevice}/Makefile.am               |  138 ++++++------------
 librender/Makefile.am => libdevice/Makefile.am~    |   89 +++++++----
 .../directfb/DirectFBDevice.cpp                    |    0
 {librender => libdevice}/directfb/DirectFBDevice.h |    0
 .../directfb/Renderer_DirectFB.cpp                 |    0
 .../directfb/Renderer_DirectFB.h                   |    0
 {librender => libdevice}/directfb/test_dfb.cpp     |    0
 {librender => libdevice/egl}/eglDevice.cpp         |    7 +-
 {librender => libdevice/egl}/eglDevice.h           |    0
 {librender => libdevice/egl}/test_egl.cpp          |    0
 {libvaapi => libdevice/vaapi}/VaapiContext.cpp     |    0
 {libvaapi => libdevice/vaapi}/VaapiContext.h       |    0
 {librender => libdevice}/vaapi/VaapiDevice.cpp     |    3 +-
 {librender => libdevice}/vaapi/VaapiDevice.h       |    5 +-
 {libvaapi => libdevice/vaapi}/VaapiDisplay.cpp     |    0
 {libvaapi => libdevice/vaapi}/VaapiDisplay.h       |    0
 {libvaapi => libdevice/vaapi}/VaapiDisplayGLX.h    |    0
 {libvaapi => libdevice/vaapi}/VaapiDisplayX11.h    |    0
 {libvaapi => libdevice/vaapi}/VaapiException.h     |    0
 .../vaapi}/VaapiGlobalContext.cpp                  |    0
 {libvaapi => libdevice/vaapi}/VaapiGlobalContext.h |    0
 {libvaapi => libdevice/vaapi}/VaapiImage.cpp       |    0
 {libvaapi => libdevice/vaapi}/VaapiImage.h         |    0
 {libvaapi => libdevice/vaapi}/VaapiImageFormat.cpp |    0
 {libvaapi => libdevice/vaapi}/VaapiImageFormat.h   |    0
 {libvaapi => libdevice/vaapi}/VaapiSubpicture.cpp  |    0
 {libvaapi => libdevice/vaapi}/VaapiSubpicture.h    |    0
 {libvaapi => libdevice/vaapi}/VaapiSurface.cpp     |    0
 {libvaapi => libdevice/vaapi}/VaapiSurface.h       |    0
 {libvaapi => libdevice/vaapi}/VaapiSurfaceGLX.cpp  |    0
 {libvaapi => libdevice/vaapi}/VaapiSurfaceGLX.h    |    0
 .../vaapi}/VaapiSurfaceProxy.cpp                   |    0
 {libvaapi => libdevice/vaapi}/VaapiSurfaceProxy.h  |    0
 {librender => libdevice}/vaapi/test_vaapi.cpp      |    0
 libvaapi/Makefile.am => libdevice/vaapi/vaapi.am   |   71 ++++-----
 {libvaapi => libdevice/vaapi}/vaapi_common.h       |    0
 {libvaapi => libdevice/vaapi}/vaapi_utils.cpp      |    0
 {libvaapi => libdevice/vaapi}/vaapi_utils.h        |    0
 {librender => libdevice}/x11/X11Device.cpp         |    0
 {librender => libdevice}/x11/X11Device.h           |    2 +-
 {librender => libdevice}/x11/test_x11.cpp          |    2 +
 {libbase => librender}/GnashTexture.cpp            |    0
 {libbase => librender}/GnashTexture.h              |    0
 librender/Makefile.am                              |  160 +++++++++----------
 librender/Renderer.h                               |    5 +-
 librender/opengles1/Renderer_gles1.h               |    2 +-
 librender/opengles2/Renderer_gles2.h               |    2 +-
 librender/openvg/Renderer_ovg.h                    |    2 +-
 librender/testr.cpp                                |   93 +++++++++---
 utilities/Makefile.am                              |    7 +-
 61 files changed, 350 insertions(+), 326 deletions(-)
 rename {librender => libdevice}/GnashDevice.h (91%)
 copy {librender => libdevice}/Makefile.am (50%)
 copy librender/Makefile.am => libdevice/Makefile.am~ (75%)
 rename {librender => libdevice}/directfb/DirectFBDevice.cpp (100%)
 rename {librender => libdevice}/directfb/DirectFBDevice.h (100%)
 rename {librender => libdevice}/directfb/Renderer_DirectFB.cpp (100%)
 rename {librender => libdevice}/directfb/Renderer_DirectFB.h (100%)
 rename {librender => libdevice}/directfb/test_dfb.cpp (100%)
 rename {librender => libdevice/egl}/eglDevice.cpp (99%)
 rename {librender => libdevice/egl}/eglDevice.h (100%)
 rename {librender => libdevice/egl}/test_egl.cpp (100%)
 rename {libvaapi => libdevice/vaapi}/VaapiContext.cpp (100%)
 rename {libvaapi => libdevice/vaapi}/VaapiContext.h (100%)
 rename {librender => libdevice}/vaapi/VaapiDevice.cpp (96%)
 rename {librender => libdevice}/vaapi/VaapiDevice.h (96%)
 rename {libvaapi => libdevice/vaapi}/VaapiDisplay.cpp (100%)
 rename {libvaapi => libdevice/vaapi}/VaapiDisplay.h (100%)
 rename {libvaapi => libdevice/vaapi}/VaapiDisplayGLX.h (100%)
 rename {libvaapi => libdevice/vaapi}/VaapiDisplayX11.h (100%)
 rename {libvaapi => libdevice/vaapi}/VaapiException.h (100%)
 rename {libvaapi => libdevice/vaapi}/VaapiGlobalContext.cpp (100%)
 rename {libvaapi => libdevice/vaapi}/VaapiGlobalContext.h (100%)
 rename {libvaapi => libdevice/vaapi}/VaapiImage.cpp (100%)
 rename {libvaapi => libdevice/vaapi}/VaapiImage.h (100%)
 rename {libvaapi => libdevice/vaapi}/VaapiImageFormat.cpp (100%)
 rename {libvaapi => libdevice/vaapi}/VaapiImageFormat.h (100%)
 rename {libvaapi => libdevice/vaapi}/VaapiSubpicture.cpp (100%)
 rename {libvaapi => libdevice/vaapi}/VaapiSubpicture.h (100%)
 rename {libvaapi => libdevice/vaapi}/VaapiSurface.cpp (100%)
 rename {libvaapi => libdevice/vaapi}/VaapiSurface.h (100%)
 rename {libvaapi => libdevice/vaapi}/VaapiSurfaceGLX.cpp (100%)
 rename {libvaapi => libdevice/vaapi}/VaapiSurfaceGLX.h (100%)
 rename {libvaapi => libdevice/vaapi}/VaapiSurfaceProxy.cpp (100%)
 rename {libvaapi => libdevice/vaapi}/VaapiSurfaceProxy.h (100%)
 rename {librender => libdevice}/vaapi/test_vaapi.cpp (100%)
 rename libvaapi/Makefile.am => libdevice/vaapi/vaapi.am (62%)
 rename {libvaapi => libdevice/vaapi}/vaapi_common.h (100%)
 rename {libvaapi => libdevice/vaapi}/vaapi_utils.cpp (100%)
 rename {libvaapi => libdevice/vaapi}/vaapi_utils.h (100%)
 rename {librender => libdevice}/x11/X11Device.cpp (100%)
 rename {librender => libdevice}/x11/X11Device.h (97%)
 rename {librender => libdevice}/x11/test_x11.cpp (99%)
 rename {libbase => librender}/GnashTexture.cpp (100%)
 rename {libbase => librender}/GnashTexture.h (100%)


hooks/post-receive
-- 
Gnash



reply via email to

[Prev in Thread] Current Thread [Next in Thread]