[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Gnash-commit] [SCM] Gnash branch, openvg, updated. 0e70385951cc848def30
From: |
Rob Savoye |
Subject: |
[Gnash-commit] [SCM] Gnash branch, openvg, updated. 0e70385951cc848def30068acb7fb51276b13ad0 |
Date: |
Thu, 16 Dec 2010 03:30:55 +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 0e70385951cc848def30068acb7fb51276b13ad0 (commit)
via db619907e41ab8adc02c2a48442bab3a2109ca54 (commit)
via bae1e32ad07267a847a22d965c9c843e5b6748a8 (commit)
via 9a4678b74ae87da2c17ed8c9237ff47b02e66418 (commit)
via a75d7fc286879179d2ee8a7e20146cb2cfba6836 (commit)
via 62c37fd569b0f19a4466c09afbfca286aca36452 (commit)
from 8dda236c7a9714629fb2cba541f9a65331b3f9c7 (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=0e70385951cc848def30068acb7fb51276b13ad0
commit 0e70385951cc848def30068acb7fb51276b13ad0
Author: Rob Savoye <address@hidden>
Date: Wed Dec 15 20:28:46 2010 -0700
diable libltdl for not causes problems on ltib
diff --git a/libbase/Makefile.am b/libbase/Makefile.am
index a80688f..c73384e 100644
--- a/libbase/Makefile.am
+++ b/libbase/Makefile.am
@@ -124,17 +124,16 @@ if USE_GIF
libgnashbase_la_SOURCES += GnashImageGif.cpp
endif
-if LIBLTDL1
-noinst_LTLIBRARIES = libltdlc.la
-libltdlc_la_CPPFLAGS = $(LTDLINCL) -I$(top_srcdir)/libltdl
-libltdlc_la_SOURCES = $(top_srcdir)/libltdl/ltdl.c
-libgnashbase_la_LIBADD += $(top_builddir)/libbase/libltdlc.la
-endif
-
-if LIBLTDL2
-libgnashbase_la_LIBADD += $(top_builddir)/libltdl/libltdlc.la
-endif
-
+# if LIBLTDL1
+# noinst_LTLIBRARIES = libltdlc.la
+# libltdlc_la_CPPFLAGS = $(LTDLINCL) -I$(top_srcdir)/libltdl
+# libltdlc_la_SOURCES = $(top_srcdir)/libltdl/ltdl.c
+# libgnashbase_la_LIBADD += $(top_builddir)/libbase/libltdlc.la
+# endif
+
+# if LIBLTDL2
+# libgnashbase_la_LIBADD += $(top_builddir)/libltdl/libltdlc.la
+# endif
if HAIKU
libgnashbase_la_LIBADD += $(HAIKU_LIBS)
http://git.savannah.gnu.org/cgit//commit/?id=db619907e41ab8adc02c2a48442bab3a2109ca54
commit db619907e41ab8adc02c2a48442bab3a2109ca54
Author: Rob Savoye <address@hidden>
Date: Wed Dec 15 20:27:41 2010 -0700
migrate libpng patch from master
diff --git a/libbase/GnashImagePng.cpp b/libbase/GnashImagePng.cpp
index 98352b0..1b3199f 100644
--- a/libbase/GnashImagePng.cpp
+++ b/libbase/GnashImagePng.cpp
@@ -161,7 +161,11 @@ PngInput::read()
// Convert less-than-8-bit greyscale to 8 bit.
if (type == PNG_COLOR_TYPE_GRAY && bitDepth < 8) {
log_debug("Setting grey bit depth(%d) to 8", bitDepth);
+#if PNG_LIBPNG_VER_MINOR < 4
+ png_set_gray_1_2_4_to_8(_pngPtr);
+#else
png_set_expand_gray_1_2_4_to_8(_pngPtr);
+#endif
}
// Apply the transparency block if it exists.
http://git.savannah.gnu.org/cgit//commit/?id=bae1e32ad07267a847a22d965c9c843e5b6748a8
commit bae1e32ad07267a847a22d965c9c843e5b6748a8
Author: Rob Savoye <address@hidden>
Date: Wed Dec 15 20:27:04 2010 -0700
rearrange headers for different OpenVG versions
diff --git a/librender/openvg/Renderer_ovg.cpp
b/librender/openvg/Renderer_ovg.cpp
index 6060951..89e2c8c 100644
--- a/librender/openvg/Renderer_ovg.cpp
+++ b/librender/openvg/Renderer_ovg.cpp
@@ -39,12 +39,19 @@
#include "utility.h"
#include "Range2d.h"
#include "SWFCxForm.h"
-#include "Renderer_ovg.h"
-#include "Renderer_ovg_bitmap.h"
+#include "openvg/Renderer_ovg.h"
+#include "openvg/Renderer_ovg_bitmap.h"
#include "SWFMatrix.h"
#include "swf/ShapeRecord.h"
#include "CachedBitmap.h"
+#include <VG/openvg.h>
+#include <VG/vgu.h>
+#ifdef OPENVG_VERSION_1_1
+# include <VG/ext.h>
+#else
+# include <VG/vgext.h>
+#endif
#define GNASH_IMAGE_QUALITY VG_IMAGE_QUALITY_FASTER
#define GNASH_RENDER_QUALITY VG_RENDERING_QUALITY_FASTER
@@ -437,11 +444,6 @@ Renderer_ovg::drawLine(const std::vector<point>& coords,
const rgba& fill,
int scount = 0;
int dcount = 0;
- if (!_device) {
- log_error("No Device specified for OpenVG to draw on!");
- return;
- }
-
if (coords.empty()) return;
eglScopeMatrix scope_mat(mat);
@@ -614,11 +616,11 @@ Renderer_ovg::apply_mask()
vgLoadMatrix(mat);
#ifdef OPENVG_VERSION_1_1
- vgMask(m_mask, VG_FILL_MASK, 0, 0, _display_width, _display_height); FIXME
+ vgMask(m_mask, VG_FILL_MASK, 0, 0, _display_width, _display_height); //
FIXME
#endif
// Call add_paths for each mask.
std::for_each(_masks.begin(), _masks.end(),
- boost::bind(&Renderer_ovg::add_paths, this, _1));
+ boost::bind(&Renderer_ovg::add_paths, this, _1));
vgSeti(VG_MASKING, VG_TRUE);
vgLoadMatrix (omat);
}
@@ -1169,9 +1171,9 @@ Renderer_ovg::draw_submask(const PathVec& path_vec,
}
#ifdef OPENVG_VERSION_1_1
- vgRenderToMask(vg_path, VG_FILL_PATH, VG_INTERSECT_MASK); FIXME
+ vgRenderToMask(vg_path, VG_FILL_PATH, VG_INTERSECT_MASK); //FIXME
#endif
-
vgDestroyPath(vg_path);
+ vgDestroyPath(vg_path);
}
// Drawing procedure:
@@ -1298,9 +1300,11 @@ Renderer_ovg::printVGParams()
case VG_MATRIX_STROKE_PAINT_TO_USER:
str = "VG_MATRIX_STROKE_PAINT_TO_USER";
break;
+#ifdef VG_MATRIX_MODE_FORCE_SIZE
case VG_MATRIX_MODE_FORCE_SIZE:
str = "VG_MATRIX_MODE_FORCE_SIZE";
break;
+#endif
default:
log_error("unsupported VG_MATRIX_MODE!");
}
@@ -1330,9 +1334,11 @@ Renderer_ovg::printVGParams()
case VG_IMAGE_QUALITY_BETTER:
str = "VG_IMAGE_QUALITY_BETTER";
break;
+#ifdef VG_MATRIX_MODE_FORCE_SIZE
case VG_IMAGE_QUALITY_FORCE_SIZE:
str = "VG_IMAGE_QUALITY_FORCE_SIZE";
break;
+#endif
default:
log_error("unsupported VG_IMAGE_QUALITY!");
}
@@ -1349,9 +1355,11 @@ Renderer_ovg::printVGParams()
case VG_RENDERING_QUALITY_BETTER:
str = "VG_RENDERING_QUALITY_BETTER";
break;
+#ifdef VG_MATRIX_MODE_FORCE_SIZE
case VG_RENDERING_QUALITY_FORCE_SIZE:
str = "VG_RENDERING_QUALITY_FORCE_SIZE";
break;
+#endif
default:
log_error("unsupported VG_RENDERING_QUALITY!");
}
@@ -1405,9 +1413,11 @@ Renderer_ovg::printVGParams()
case VG_DRAW_IMAGE_STENCIL:
str = "VG_DRAW_IMAGE_STENCIL";
break;
+#ifdef VG_MATRIX_MODE_FORCE_SIZE
case VG_IMAGE_MODE_FORCE_SIZE:
str = "VG_IMAGE_MODE_FORCE_SIZE";
break;
+#endif
default:
log_error("unsupported VG_IMAGE_MODE!");
}
@@ -1427,9 +1437,11 @@ Renderer_ovg::printVGParams()
case VG_CAP_SQUARE:
str = "VG_CAP_SQUARE";
break;
+#ifdef VG_MATRIX_MODE_FORCE_SIZE
case VG_CAP_STYLE_FORCE_SIZE:
str = "VG_CAP_STYLE_FORCE_SIZE";
break;
+#endif
default:
log_error("unsupported VG_STROKE_CAP_STYLE!");
}
@@ -1446,9 +1458,11 @@ Renderer_ovg::printVGParams()
case VG_JOIN_BEVEL:
str = "VG_JOIN_BEVEL";
break;
+#ifdef VG_MATRIX_MODE_FORCE_SIZE
case VG_JOIN_STYLE_FORCE_SIZE:
str = "VG_JOIN_STYLE_FORCE_SIZE";
break;
+#endif
default:
log_error("unsupported VG_STROKE_JOIN_STYLE!");
}
@@ -1476,9 +1490,11 @@ Renderer_ovg::printVGParams()
case VG_PIXEL_LAYOUT_BGR_HORIZONTAL:
str = "VG_PIXEL_LAYOUT_BGR_HORIZONTAL";
break;
+#ifdef VG_MATRIX_MODE_FORCE_SIZE
case VG_PIXEL_LAYOUT_FORCE_SIZE:
str = "VG_PIXEL_LAYOUT_FORCE_SIZE";
break;
+#endif
default:
log_error("unsupported VG_PIXEL_LAYOUT!");
}
@@ -1518,12 +1534,7 @@ Renderer_ovg::initTestBuffer(unsigned int width,
unsigned int height)
{
int size = width * height * getBitsPerPixel(); // FIXME was Bytes not bits
-#ifdef HAVE_GTK2
- // new surface
- // makeCurrentContext
-
-#else
-
+#if 0
// _testBuffer = static_cast<unsigned char *>(realloc(_testBuffer, size));
_testBuffer = new unsigned char[size];
memset(_testBuffer, 0, size);
diff --git a/librender/openvg/Renderer_ovg.h b/librender/openvg/Renderer_ovg.h
index 2a0e535..41ec028 100644
--- a/librender/openvg/Renderer_ovg.h
+++ b/librender/openvg/Renderer_ovg.h
@@ -23,19 +23,24 @@
#define GNASH_RENDER_HANDLER_OVG_H
#include <EGL/egl.h>
-#include <VG/openvg.h>
-#include <VG/vgu.h>
-#include <VG/vgext.h>
#include <vector>
#include <boost/scoped_array.hpp>
#include <boost/scoped_ptr.hpp>
#include "Geometry.h"
#include "Renderer.h"
-#include "egl/eglDevice.h"
-#include "directfb/DirectFBDevice.h"
+//#include "directfb/DirectFBDevice.h"
#include "GnashDevice.h"
#include "CachedBitmap.h"
+#include <VG/vgu.h>
+#ifdef OPENVG_VERSION_1_1
+# include <VG/ext.h>
+#else
+# include <VG/vgext.h>
+#endif
+#include <VG/openvg.h>
+#include "openvg/Renderer_ovg_bitmap.h"
+#include "egl/eglDevice.h"
namespace gnash {
diff --git a/librender/testr.cpp b/librender/testr.cpp
index f2b81a3..0426e47 100644
--- a/librender/testr.cpp
+++ b/librender/testr.cpp
@@ -37,6 +37,7 @@
#include "SWFMatrix.h"
#include "Renderer.h"
#include "Transform.h"
+#include "ShapeRecord.h"
#include "CachedBitmap.h"
#include "GnashVaapiImage.h"
#include "GnashVaapiImageProxy.h"
@@ -50,6 +51,9 @@
#endif
#ifdef RENDERER_OPENVG
#include "openvg/Renderer_ovg.h"
+//#include <VG/openvg.h>
+#include <VG/vgu.h>
+#include <VG/ext.h>
#endif
#ifdef RENDERER_GLES1
#include "opengles1/Renderer_gles1.h"
@@ -62,13 +66,12 @@
#endif
#ifdef HAVE_EGL_EGL_H
# include <EGL/egl.h>
-# include <eglDevice.h>
#else
# error "This file needs EGL"
#endif
#ifdef BUILD_EGL_DEVICE
-# include <eglDevice.h>
+# include <egl/eglDevice.h>
#endif
#ifdef BUILD_DIRECTFB_DEVICE
# include <directfb/directfb.h>
@@ -92,56 +95,6 @@ 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
@@ -194,17 +147,21 @@ main(int argc, char *argv[])
dbglogfile.setVerbosity();
const char *pixelformat = "RGB24";
-
+
#ifdef BUILD_X11_DEVICE
- EGLDevice egl(GnashDevice::OPENVG);
- // egl.initDevice(0,0);
- // egl.bindClient(GnashDevice::OPENVG);
+ // Setup EGL, OpenVG needs it
+ EGLDevice egl(argc, argv);
int vid = egl.getNativeVisual();
+
+ // Create an X11 device for the display. This is for libMesa
+ // where we can also run OpenVG on the desktop.
x11::X11Device x11(vid);
- // x11.initDevice(0, 0);
+ //x11.initDevice(argc, argv);
+ x11.createWindow("TestR", 0, 0, 640, 480);
+ egl.bindClient(GnashDevice::OPENVG);
- x11.createWindow("Foo", 0, 0, 640, 480);
- int win = x11.getDrawableWindow();
+ // This is the window that gets rendered in
+ Window win = x11.getDrawableWindow();
if (win) {
egl.attachWindow(win);
} else {
@@ -214,21 +171,25 @@ main(int argc, char *argv[])
// Set initial projection/viewing transformation.
// We can't be sure we'll get a ConfigureNotify event when the window
// first appears.
+#if 0
if (reshape) {
reshape(640, 480);
}
+#endif
x11.eventLoop(10);
std::cerr << "Hello World!" << std::endl;
x11.eventLoop(10);
#endif
+#if 0
#ifdef RENDERER_AGG
Timer tagg("AGG");
Renderer *renderer1 = create_Renderer_agg(pixelformat);
- if (renderer1) {
- test_device(renderer1, "EGL");
- test_device(renderer1, "DIRECTFB");
- test_device(renderer1, "X11");
- }
+ // The methods were moved to the glue API
+ // if (renderer1) {
+ // test_device(renderer1, "EGL");
+ // test_device(renderer1, "DIRECTFB");
+ // test_device(renderer1, "X11");
+ // }
if (renderer1) {
test_renderer(renderer1, "AGG");
test_geometry(renderer1, "AGG");
@@ -257,7 +218,7 @@ main(int argc, char *argv[])
cerr << "OpenVG tests took " << tovg.elapsed() << endl;
#endif
-#if 1
+#if 0
#ifdef RENDERER_GLES1
Timer tgles1("OpenGLES1");
Renderer *renderer3 = renderer::gles1::create_handler(pixelformat);
@@ -314,6 +275,7 @@ main(int argc, char *argv[])
cerr << "OpenGL tests took " << tgl.elapsed() << endl;
#endif
#endif
+#endif
}
// Each Renderer has an associated display device, currently EGL
@@ -329,13 +291,13 @@ test_device(Renderer *renderer, const std::string &type)
{
cout << "Testing " << type << " Device" << endl;
+#if 0
boost::shared_array<renderer::GnashDevice::dtype_t> devs =
renderer->probeDevices();
if (devs) {
runtest.pass("Renderer::probeDevices()");
} else {
runtest.fail("Renderer::probeDevices()");
}
-
// Be default, there should be no device associated with this
// renderer yet.
if (renderer->getDevice() == GnashDevice::NODEV) {
@@ -354,6 +316,7 @@ test_device(Renderer *renderer, const std::string &type)
// reset to the original value so we don't screw up future tests
renderer->resetDevice();
+#endif
}
void
@@ -477,12 +440,18 @@ test_renderer(Renderer *renderer, const std::string &type)
runtest.unresolved(std::string("drawPoly() ") + tdrawpoly.elapsed());
// SWF::ShapeRecord shape;
- // Transform xform;
-
-// Timer drawshape("drawShape");
-// renderer->drawShape(shape, xform);
- runtest.untested("drawShape()");
-// drawshape.stop();
+ SWFMatrix mat2(0x10000, 0x0, 0x0, 0x10000, 0x0, 0x0);
+ SWFCxForm cxform;
+ //(0x100, 0x100, 0x100, 0x100, 0x0, 0x0, 0x0, 0x0);
+ Transform xform(mat2, cxform);
+ SWF::ShapeRecord shape;
+ // _bounds = {0x80000000, 0x7fffffff,
+ // 0x80000000, 0x80000000,
+ // 0x80000000, 0x80000000}}
+ Timer drawshape("drawShape");
+ renderer->drawShape(shape, xform);
+ runtest.unresolved("drawShape()");
+ drawshape.stop();
// SWF::ShapeRecord rec;
// rgba color;
diff --git a/librender/testr_gtk.cpp b/librender/testr_gtk.cpp
index 9fc7776..6a4bb36 100644
--- a/librender/testr_gtk.cpp
+++ b/librender/testr_gtk.cpp
@@ -41,8 +41,9 @@
#endif
#ifdef RENDERER_OPENVG
#include "openvg/Renderer_ovg.h"
-#include <VG/openvg.h>
+//#include <VG/openvg.h>
#include <VG/vgu.h>
+#include <VG/ext.h>
#endif
#ifdef RENDERER_GLES1
#include "opengles1/Renderer_gles1.h"
@@ -54,6 +55,16 @@
#include "cairo/Renderer_cairo.h"
#endif
+#ifdef BUILD_EGL_DEVICE
+# include <egl/eglDevice.h>
+#endif
+#ifdef BUILD_DIRECTFB_DEVICE
+# include <directfb/directfb.h>
+#endif
+#ifdef BUILD_X11_DEVICE
+# include <x11/X11Device.h>
+#endif
+
#include "log.h"
#include "SWFMatrix.h"
#include "Renderer.h"
@@ -69,25 +80,11 @@ const VGfloat color[4] = {0.4, 0.1, 1.0, 1.0};
VGPath path;
VGPaint paint;
+VGPaint fill;
// The debug log used by all the gnash libraries.
static LogFile& dbglogfile = LogFile::getDefaultInstance();
-void on_window1_activate_default(GtkWindow *window, gpointer user_data);
-void on_canvas_realize (GtkWidget *widget, gpointer user_data);
-gboolean on_canvas_expose_event (GtkWidget *widget, GdkEventExpose *event,
- gpointer user_data);
-gboolean on_canvas_configure_event (GtkWidget *widget, GdkEventConfigure
*event,
- gpointer user_data);
-void on_canvas_size_allocate (GtkWidget *widget, GdkRectangle *allocation,
- gpointer user_data);
-gboolean on_window1_configure_event (GtkWidget *widget, GdkEventConfigure
*event,
- gpointer user_data);
-gboolean on_window1_expose_event (GtkWidget *widget, GdkEventExpose *event,
- gpointer user_data);
-void on_window1_realize (GtkWidget *widget, gpointer user_data);
-void on_window1_size_allocate (GtkWidget *widget, GdkRectangle *allocation,
- gpointer user_data);
static void
initVGDemo(void)
@@ -120,7 +117,7 @@ initVGDemo(void)
path = vgCreatePath(VG_PATH_FORMAT_STANDARD, VG_PATH_DATATYPE_F,
1.0f, 0.0f, 0, 0, VG_PATH_CAPABILITY_ALL);
-// vguArc(path, x, y, w, h, startAngle, angleExtent, (VGUArcType)arcType);
+ vguArc(path, x, y, w, h, startAngle, angleExtent, (VGUArcType)arcType);
vgSeti(VG_STROKE_CAP_STYLE, VG_CAP_BUTT);
vgSeti(VG_STROKE_JOIN_STYLE, VG_JOIN_BEVEL);
@@ -129,153 +126,46 @@ initVGDemo(void)
/* new window size or exposure */
static void
-reshape(int w, int h)
-{
- vgLoadIdentity();
-}
-
-static void
-draw(void)
-{
- vgClear(0, 0, 500, 500);
- vgDrawPath(path, VG_STROKE_PATH);
-
- vgFlush();
-}
-
-GtkWidget *
-create_GTK_window()
+init(void)
{
- // As gtk_init() wants the command line arguments, we have to create
- // fake ones, as we don't care about the X11 options at this point.
- int argc = 0;
- char **argv = 0;
- gtk_init(&argc, &argv);
-
- GtkWidget *window;
- GtkWidget *canvas;
-
- window = gtk_window_new(GTK_WINDOW_TOPLEVEL);
- gtk_container_set_border_width(GTK_CONTAINER(window), 10);
- gtk_window_set_title(GTK_WINDOW(window), "testR");
-
-#if 0
- gtk_widget_push_visual(gdk_rgb_get_visual());
- gtk_widget_push_colormap(gdk_rgb_get_cmap());
- gtk_widget_pop_colormap();
- gtk_widget_pop_visual();
-#endif
- canvas = gtk_drawing_area_new();
- gtk_widget_show(canvas);
- gtk_container_add (GTK_CONTAINER (window), canvas);
- // Disable double buffering, otherwise gtk tries to update widget
- // contents from its internal offscreen buffer at the end of expose event
- gtk_widget_set_double_buffered(canvas, FALSE);
-
- g_signal_connect(GTK_OBJECT(window), "delete_event",
- (GCallback)gtk_main_quit, NULL);
- g_signal_connect ((gpointer) window, "configure_event",
- G_CALLBACK (on_window1_configure_event), NULL);
- g_signal_connect ((gpointer) window, "expose_event",
- G_CALLBACK (on_window1_expose_event), NULL);
- g_signal_connect ((gpointer) window, "realize",
- G_CALLBACK (on_window1_realize), NULL);
- g_signal_connect ((gpointer) window, "size_allocate",
- G_CALLBACK (on_window1_size_allocate), NULL);
+ static const VGubyte sqrCmds[5] = {VG_MOVE_TO_ABS, VG_HLINE_TO_ABS,
+ VG_VLINE_TO_ABS, VG_HLINE_TO_ABS,
VG_CLOSE_PATH};
+ static const VGfloat sqrCoords[5] = {50.0f, 50.0f, 250.0f, 250.0f, 50.0f};
+ path = vgCreatePath(VG_PATH_FORMAT_STANDARD, VG_PATH_DATATYPE_F, 1, 0, 0,
0,
+ VG_PATH_CAPABILITY_APPEND_TO);
+ vgAppendPathData(path, 5, sqrCmds, sqrCoords);
- g_signal_connect ((gpointer) canvas, "realize",
- G_CALLBACK (on_canvas_realize), NULL);
- g_signal_connect ((gpointer) canvas, "expose_event",
- G_CALLBACK (on_canvas_expose_event), NULL);
- g_signal_connect ((gpointer) canvas, "configure_event",
- G_CALLBACK (on_canvas_configure_event), NULL);
- g_signal_connect ((gpointer) canvas, "size_allocate",
- G_CALLBACK (on_canvas_size_allocate), NULL);
-
- // Add the window frame and icons
- gtk_window_set_decorated(GTK_WINDOW(window), TRUE);
- gtk_window_set_default_size(GTK_WINDOW(window),500,500);
-
- gtk_window_set_skip_taskbar_hint(GTK_WINDOW(window), TRUE);
- gtk_window_set_skip_pager_hint(GTK_WINDOW(window), TRUE);
-
- // Open window at this location
- gtk_window_move(GTK_WINDOW(window), 100, 100);
-
- gtk_widget_show(window);
+ VGPaint fill = vgCreatePaint();
+ vgSetParameterfv(fill, VG_PAINT_COLOR, 4, color);
+ vgSetPaint(fill, VG_FILL_PATH);
- // Just do one iteration of the main loop
- gtk_main_iteration_do(true);
-
- return canvas;
-}
-
-void
-on_canvas_realize(GtkWidget *widget, gpointer user_data)
-{
- GNASH_REPORT_FUNCTION;
-}
-
-gboolean
-on_canvas_expose_event(GtkWidget *widget, GdkEventExpose *event,
- gpointer user_data)
-{
- GNASH_REPORT_FUNCTION;
+ vgSetfv(VG_CLEAR_COLOR, 4, white_color);
+ vgSetf(VG_STROKE_LINE_WIDTH, 10);
+ vgSeti(VG_STROKE_CAP_STYLE, VG_CAP_BUTT);
+ vgSeti(VG_STROKE_JOIN_STYLE, VG_JOIN_ROUND);
+ vgSetf(VG_STROKE_MITER_LIMIT, 4.0f);
- return FALSE;
-}
-
-gboolean
-on_canvas_configure_event(GtkWidget *widget, GdkEventConfigure *event,
- gpointer user_data)
-{
- GNASH_REPORT_FUNCTION;
-
- return FALSE;
-}
-
-
-void
-on_canvas_size_allocate(GtkWidget *widget, GdkRectangle *allocation,
- gpointer user_data)
-{
- GNASH_REPORT_FUNCTION;
+// printVGParams();
}
-// Window Events
-gboolean
-on_window1_configure_event(GtkWidget *widget, GdkEventConfigure *event,
- gpointer user_data)
+static void
+reshape(int w, int h)
{
- GNASH_REPORT_FUNCTION;
-
- return FALSE;
+ vgLoadIdentity();
}
-
-gboolean
-on_window1_expose_event(GtkWidget *widget, GdkEventExpose *event,
- gpointer user_data)
+static void
+draw(void)
{
- GNASH_REPORT_FUNCTION;
+ vgClear(0, 0, 640, 480);
+ vgSeti(VG_MATRIX_MODE, VG_MATRIX_STROKE_PAINT_TO_USER);
+ vgLoadIdentity();
+ vgScale(2.25, 2.25);
+ vgDrawPath(path, VG_STROKE_PATH);
- return FALSE;
+ vgFlush();
}
-void
-on_window1_realize(GtkWidget *widget, gpointer user_data)
-{
- GNASH_REPORT_FUNCTION;
-}
-
-void
-on_window1_size_allocate(GtkWidget *widget, GdkRectangle *allocation,
- gpointer user_data)
-{
- GNASH_REPORT_FUNCTION;
-}
-
-
// Local Variables:
// mode: C++
// indent-tabs-mode: nil
http://git.savannah.gnu.org/cgit//commit/?id=9a4678b74ae87da2c17ed8c9237ff47b02e66418
commit 9a4678b74ae87da2c17ed8c9237ff47b02e66418
Author: Rob Savoye <address@hidden>
Date: Wed Dec 15 18:39:22 2010 -0700
add OpenVG debug display at end. COmment out libltdl till we fix it right.
Limit the set of default devices to what the babbage board supports
diff --git a/configure.ac b/configure.ac
index 140b246..b025e3c 100644
--- a/configure.ac
+++ b/configure.ac
@@ -33,6 +33,9 @@ AC_PROG_CXX
AC_EXEEXT
AC_PROG_INSTALL
AM_COMPILER_LIB
+AC_C_BIGENDIAN
+AC_C_CONST
+AC_C_INLINE
dnl Set the default values for Flash Version. These are converted into
dnl various strings to make JavaScript or ActionScript detectors
@@ -282,44 +285,8 @@ dnl $CXXFLAGS="$CXXFLAGS -march=${with_cpu}"
cross_compiling=yes
fi
-AC_MSG_CHECKING([For the version of libtool])
-if test -d ${srcdir}/libltdl/libltdl; then
- ltver=2.x
-else
- ltver=1.x
-fi
-ltmajor=`echo $ltver | cut -d '.' -f 1`
-AC_MSG_RESULT([$ltver])
-AM_CONDITIONAL(LIBLTDL2, [test $ltmajor -eq 2])
-AM_CONDITIONAL(LIBLTDL1, [test $ltmajor -eq 1])
-if test $ltmajor -eq 1; then
- AC_LIBLTDL_CONVENIENCE
- AC_LIBTOOL_DLOPEN
- if test x"${windows}" = x"yes"; then
- dnl The following macro may be empty; the colon is necessary
- dnl in this case to avoid an empty if statement (which is a syntax error).
- AC_LIBTOOL_WIN32_DLL
- :
- fi
- AC_DISABLE_STATIC
-else
- LT_INIT([dlopen win32-dll disable-static])
- LTDL_INIT([convenience recursive])
-fi
AC_PROG_LIBTOOL
-
-AM_CONDITIONAL(CONVENIENCE_LTDL, test x"${enable_ltdl_convenience-no}" != xno)
-AM_CONDITIONAL(INSTALL_LTDL, test x"${enable_ltdl_install-no}" != xno)
-
-AC_C_BIGENDIAN
-AC_C_CONST
-AC_C_INLINE
AC_SUBST([LIBTOOL_DEPS])
-AC_LIB_LTDL
-
-AM_CONDITIONAL(ENABLE_SHARED, [test x"${enable_shared}" = xyes])
-AM_CONDITIONAL(ENABLE_STATIC, [test x"${enable_shared}" = xno])
-dnl -- AM_CONDITIONAL(STATIC_GUI, test x"${dynamic_gui}" = xno -o
x"${enable_shared}" = xno)
AC_PATH_PROG(DEJAGNU, runtest)
@@ -783,8 +750,8 @@ AC_ARG_ENABLE(sound,
dnl --------------------------------------------------------
dnl Media handler selection
dnl --------------------------------------------------------
-build_media_gst=yes
-build_media_ffmpeg=no
+build_media_gst=no
+build_media_ffmpeg=yes
build_media_none=no
AC_ARG_ENABLE(media,
AC_HELP_STRING([--enable-media=handler],
@@ -1138,12 +1105,12 @@ dnl instead of the OGL (OpenGL) one.
build_vaapi_device=no
build_openmax_device=no
+build_directfb_device=no
+build_x11_device=no
build_egl_device=yes
-build_directfb_device=yes
build_rawfb_device=yes
-build_x11_device=yes
-device_list="X11 EGL DirectFB"
-ndevice=3
+device_list="EGL RawFB"
+ndevice=2
AC_ARG_ENABLE(device,
AC_HELP_STRING([--enable-device], [Specify which hardware abstraction to use
to support to enable (none,openmax,egl,directfb,rawfb,x11,vaapi)]),
if test -z ${enableval}; then
@@ -1396,6 +1363,39 @@ AM_CONDITIONAL(BUILD_LIRC_EXT, [ test x$ext_lirc = xyes
])
AM_CONDITIONAL(BUILD_DBUS_EXT, [ test x$ext_dbus = xyes ])
AM_CONDITIONAL(BUILD_EXTENSIONS, [ test -n "$extensions_list"])
+dnl AC_MSG_CHECKING([For the version of libtool])
+dnl if test -d ${srcdir}/libltdl/libltdl; then
+dnl ltver=2.x
+dnl else
+dnl ltver=1.x
+dnl fi
+dnl ltmajor=`echo $ltver | cut -d '.' -f 1`
+dnl AC_MSG_RESULT([$ltver])
+ltmajor=0
+AM_CONDITIONAL(LIBLTDL2, [test $ltmajor -eq 2])
+AM_CONDITIONAL(LIBLTDL1, [test $ltmajor -eq 1])
+dnl if test $ltmajor -eq 1; then
+dnl AC_LIBLTDL_CONVENIENCE
+dnl AC_LIBTOOL_DLOPEN
+dnl if test x"${windows}" = x"yes"; then
+dnl dnl The following macro may be empty; the colon is necessary
+dnl dnl in this case to avoid an empty if statement (which is a syntax
error).
+dnl AC_LIBTOOL_WIN32_DLL
+dnl :
+dnl fi
+dnl AC_DISABLE_STATIC
+dnl else
+dnl LT_INIT([dlopen win32-dll disable-static])
+dnl LTDL_INIT([convenience recursive])
+dnl fi
+dnl AC_LIB_LTDL
+AM_CONDITIONAL(CONVENIENCE_LTDL, test x"${enable_ltdl_convenience-no}" != xno)
+AM_CONDITIONAL(INSTALL_LTDL, test x"${enable_ltdl_install-no}" != xno)
+
+AM_CONDITIONAL(ENABLE_SHARED, [test x"${enable_shared}" = xyes])
+AM_CONDITIONAL(ENABLE_STATIC, [test x"${enable_shared}" = xno])
+dnl -- AM_CONDITIONAL(STATIC_GUI, test x"${dynamic_gui}" = xno -o
x"${enable_shared}" = xno)
+
GNASH_PKG_CLASSFILE
dnl --------------------------------------------------------
@@ -2451,7 +2451,7 @@ if test x"${build_rawfb_device}" = xyes -a x"${linux}" =
xyes; then
fi
if test x"${build_directfb_device}" = xyes; then
- GNASH_PKG_FIND(directfb, [directfb/directfb.h], [DirectFB render library],
DirectFBCreate)
+ GNASH_PKG_FIND(directfb, [directfb.h], [DirectFB render library],
DirectFBCreate)
AC_DEFINE([BUILD_DIRECTFB_DEVICE], [1], [Use DirectFB device support])
fi
@@ -2467,7 +2467,7 @@ AM_CONDITIONAL(BUILD_RAWFB_DEVICE, [ test
x${build_rawfb_device} = xyes])
AM_CONDITIONAL(BUILD_X11_DEVICE, [test x$build_x11_device = xyes])
if test x"${build_ovg}" = xyes; then
- GNASH_PKG_FIND(OpenVG, [vg/openvg.h], [OpenVG library], vgDrawImage)
+ GNASH_PATH_OPENVG
fi
if test x"${build_ogl}" = xyes; then
@@ -3179,6 +3179,24 @@ else
echo " or .rpm users: yum install libpng-devel" >&5
fi
+if test x"${build_ovg}" = x"yes"; then
+ if test x"$OPENVG_LIBS" != x; then
+ if test x"$OPENVG_CFLAGS" != x; then
+ echo " OpenVG flags are: $OPENVG_CFLAGS"
+ else
+ echo " OpenVG flags are: default include path"
+ fi
+ echo " OpenVG libs are: $OPENVG_LIBS"
+ else
+ echo " ERROR: No OpenVG development package installed!" >&3
+ echo " You need to install the libmesa development
package" >&3
+ echo " or .deb users: apt-get install libopenvg1-mesa-dev"
>&3
+ echo " or .rpm users: yum install
mesa-libOpenVG-devel-7.8.1-7.fc13.i686" >&3
+ echo " or use a different renderer with
--enable-renderer=" >&3
+ fi
+fi
+
+
if test x"${build_ogl}" = x"yes"; then
if test x"$OPENGL_LIBS" != x; then
if test x"$OPENGL_CFLAGS" != x; then
http://git.savannah.gnu.org/cgit//commit/?id=a75d7fc286879179d2ee8a7e20146cb2cfba6836
commit a75d7fc286879179d2ee8a7e20146cb2cfba6836
Author: Rob Savoye <address@hidden>
Date: Wed Dec 15 18:38:17 2010 -0700
move openvg to it's own test, it now handles multiple OpenVG versions.
diff --git a/macros/openvg.m4 b/macros/openvg.m4
new file mode 100644
index 0000000..f3f8327
--- /dev/null
+++ b/macros/openvg.m4
@@ -0,0 +1,115 @@
+dnl
+dnl Copyright (C) 2005, 2006, 2007, 2008, 2009, 2010 Free Software Foundation,
Inc.
+dnl
+dnl This program is free software; you can redistribute it and/or modify
+dnl it under the terms of the GNU General Public License as published by
+dnl the Free Software Foundation; either version 3 of the License, or
+dnl (at your option) any later version.
+dnl
+dnl This program is distributed in the hope that it will be useful,
+dnl but WITHOUT ANY WARRANTY; without even the implied warranty of
+dnl MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+dnl GNU General Public License for more details.
+dnl You should have received a copy of the GNU General Public License
+dnl along with this program; if not, write to the Free Software
+dnl Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
+
+AC_DEFUN([GNASH_PATH_OPENVG],
+[
+ mesavg=no
+ dnl Look for the headers.
+ AC_ARG_WITH(openvg_includes, AC_HELP_STRING([--with-openvg-includes],
[directory where Openvg headers are]), with_openvg_includes=${withval})
+ AC_CACHE_VAL(ac_cv_path_openvg_includes,[
+ if test x"${with_openvg_includes}" != x; then
+ if test -f ${with_openvg_includes}/openvg.h; then
+ ac_cv_path_openvg_includes="`(cd ${with_openvg_includes}; pwd)`"
+ else
+ AC_MSG_ERROR([${with_openvg_includes} directory doesn't contain
VG/openvg.h])
+ fi
+ fi
+ ])
+
+ dnl If the include path hasn't been specified, go look for it.
+ if test x"${ac_cv_path_openvg_includes}" = x; then
+ AC_MSG_CHECKING([for Openvg headers])
+ for i in $incllist; do
+ if test -f $i/VG/openvg.h; then
+ dnl We have the libMesa version of OpenVG 1.0.1
+ if test -f $i/VG/vgext.h; then
+ mesavg=yes
+ fi
+ if test x"$i" != x"/usr/include"; then
+ ac_cv_path_openvg_includes="-I$i"
+ break
+ else
+ ac_cv_path_openvg_includes="default"
+ break
+ fi
+ fi
+ done
+ fi
+
+ if test x"${ac_cv_path_openvg_includes}" = x; then
+ AC_CHECK_HEADERS([VG/open.h], [ac_cv_path_openvg_includes=""])
+ fi
+
+ if test x"${ac_cv_path_openvg_includes}" != x -a
x"${ac_cv_path_openvg_includes}" != x"default"; then
+ if test x$mesavg = xyes; then
+ OPENVG_CFLAGS="${ac_cv_path_openvg_includes}"
+ AC_DEFINE(HAVE_VG_VGEXT_H, 1, [Have LibMESA OpenVG])
+ else
+ OPENVG_CFLAGS="-DOPENVG_STATIC_LIBRARY ${ac_cv_path_openvg_includes}"
+ AC_DEFINE(HAVE_VG_EXT_H, 1, [Have Freescale OpenVG])
+ fi
+ else
+ if test x$mesavg = xyes; then
+ OPENVG_CFLAGS=""
+ else
+ OPENVG_CFLAGS="-DOPENVG_STATIC_LIBRARY"
+ fi
+ fi
+ AC_MSG_RESULT(${ac_cv_path_openvg_includes})
+
+ dnl Look for the libraries.
+ AC_ARG_WITH(openvg_lib, AC_HELP_STRING([--with-openvg-lib], [directory where
Openvg libraries are]), with_openvg_lib=${withval})
+ AC_CACHE_VAL(ac_cv_path_openvg_lib,[
+ if test x"${with_openvg_lib}" != x ; then
+ if test -f ${with_openvg_lib}/libOpenVG.a -o -f
${with_openvg_lib}/libOpenVG.${shlibext}; then
+ ac_cv_path_openvg_lib="-L`(cd ${with_openvg_lib}; pwd)` -lOpenVG"
+ fi
+ fi
+ ])
+
+ if test x"${ac_cv_path_openvg_lib}" = x; then
+ for i in $libslist; do
+ if test -f $i/libOpenVG.${shlibext} -o -f $i/libOpenVG.a; then
+ if test ! x"$i" = x"/usr/lib" -a ! x"$i" = x"/usr/lib64"; then
+ ac_cv_path_openvg_lib="-L$i -lOpenVG"
+ break
+ else
+ ac_cv_path_openvg_lib="-lOpenVG"
+ break
+ fi
+ fi
+ done
+ fi
+ if test x"${ac_cv_path_openvg_lib}" = x; then
+ AC_CHECK_LIB([OpenVG], [vgClear], [ac_cv_path_openvg_lib="-lOpenVG"])
+ fi
+
+ if test x"${ac_cv_path_openvg_lib}" != x ; then
+ OPENVG_LIBS="${ac_cv_path_openvg_lib}"
+ has_openvg="yes"
+ else
+ OPENVG_LIBS=""
+ fi
+
+ AC_SUBST(OPENVG_CFLAGS)
+ AC_SUBST(OPENVG_LIBS)
+])
+
+# Local Variables:
+# c-basic-offset: 2
+# tab-width: 2
+# indent-tabs-mode: nil
+# End:
http://git.savannah.gnu.org/cgit//commit/?id=62c37fd569b0f19a4466c09afbfca286aca36452
commit 62c37fd569b0f19a4466c09afbfca286aca36452
Author: Rob Savoye <address@hidden>
Date: Wed Dec 15 16:07:56 2010 -0700
hack on the attributes to get it working with a 16bit depth on real HW with
no X11
diff --git a/libdevice/egl/eglDevice.cpp b/libdevice/egl/eglDevice.cpp
index a00f63b..46721f0 100644
--- a/libdevice/egl/eglDevice.cpp
+++ b/libdevice/egl/eglDevice.cpp
@@ -27,13 +27,7 @@
#include "log.h"
// #include "RunResources.h"
#include "Renderer.h"
-#include "openvg/Renderer_ovg.h"
#include "GnashException.h"
-#ifdef HAVE_GTK2
-#include "gdk/gdkx.h"
-#include "X11/Xlib.h"
-#include "X11/Xutil.h"
-#endif
#ifdef HAVE_EGL_EGL_H
# include <EGL/egl.h>
@@ -55,18 +49,18 @@ static const EGLint attrib32_list[] = {
EGL_BLUE_SIZE, 8,
// EGL_ALPHA_SIZE, 0,
// EGL_DEPTH_SIZE, 24,
-#ifdef RENDERER_GLES1
- EGL_RENDERABLE_TYPE, EGL_OPENGL_ES_BIT,
-#endif
-#ifdef RENDERER_GLES2
- EGL_RENDERABLE_TYPE, EGL_OPENGL_ES2_BIT,
-#endif
+// #ifdef RENDERER_GLES1
+// EGL_RENDERABLE_TYPE, EGL_OPENGL_ES_BIT,
+// #endif
+// #ifdef RENDERER_GLES2
+// EGL_RENDERABLE_TYPE, EGL_OPENGL_ES2_BIT,
+// #endif
#ifdef RENDERER_OPENVG
- EGL_RENDERABLE_TYPE, EGL_OPENVG_BIT,
+ EGL_RENDERABLE_TYPE, EGL_OPENVG_BIT,
// EGL_STENCIL_SIZE, 8,
#endif
- 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_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,
// FIXME: Single Buffering appears not to work on X11, you get no visual.
// EGL_RENDER_BUFFER, EGL_SINGLE_BUFFER,
@@ -78,19 +72,19 @@ static EGLint const attrib16_list[] = {
EGL_GREEN_SIZE, 6,
EGL_BLUE_SIZE, 5,
EGL_ALPHA_SIZE, 0,
-#ifdef RENDERER_GLES1
- EGL_RENDERABLE_TYPE, EGL_OPENGL_ES_BIT,
-#endif
-#ifdef RENDERER_GLES2
- EGL_RENDERABLE_TYPE, EGL_OPENGL_ES2_BIT,
-#endif
+// #ifdef RENDERER_GLES1
+// EGL_RENDERABLE_TYPE, EGL_OPENGL_ES_BIT,
+// #endif
+// #ifdef RENDERER_GLES2
+// EGL_RENDERABLE_TYPE, EGL_OPENGL_ES2_BIT,
+// #endif
+ EGL_LUMINANCE_SIZE, EGL_DONT_CARE,
+ EGL_SURFACE_TYPE, EGL_VG_COLORSPACE_LINEAR_BIT,
+ EGL_SAMPLES, 0,
#ifdef RENDERER_OPENVG
- EGL_RENDERABLE_TYPE, EGL_OPENVG_BIT,
- EGL_DEPTH_SIZE, 16,
- EGL_STENCIL_SIZE, 0,
+ EGL_RENDERABLE_TYPE, EGL_WINDOW_BIT|EGL_PBUFFER_BIT|EGL_PIXMAP_BIT,
+// EGL_DEPTH_SIZE, 16,
#endif
- EGL_SURFACE_TYPE, EGL_WINDOW_BIT,
- EGL_SAMPLE_BUFFERS, 0,
EGL_NONE
};
@@ -193,6 +187,8 @@ EGLDevice::EGLDevice(GnashDevice::rtype_t rtype)
_bpp(32)
{
GNASH_REPORT_FUNCTION;
+ dbglogfile.setVerbosity();
+
if (!initDevice(0, 0)) {
log_error("Couldn't initialize EGL device!");
}
@@ -249,21 +245,21 @@ EGLDevice::initDevice(int argc, char *argv[])
GNASH_REPORT_FUNCTION;
- EGLint major, minor;
// see egl_config.c for a list of supported configs, this looks for
// a 5650 (rgba) config, supporting OpenGL ES and windowed surfaces
// step 1 - get an EGL display
// This can be called multiple times, and always returns the same display
+// _eglDisplay = eglGetDisplay(XOpenDisplay(0)/* EGL_DEFAULT_DISPLAY */);
_eglDisplay = eglGetDisplay(EGL_DEFAULT_DISPLAY);
if (EGL_NO_DISPLAY == _eglDisplay) {
- log_error( "eglGetDisplay() failed (error 0x%x)", eglGetError() );
+ log_error( "eglGetDisplay() failed (error 0x%x)", eglGetError());
return false;
}
// This can be called multiple times safely
- if (EGL_FALSE == eglInitialize(_eglDisplay, &major, &minor)) {
+ if (EGL_FALSE == eglInitialize(_eglDisplay, 0, 0)) {
log_error( "eglInitialize() failed (error %s)",
getErrorString(eglGetError()));
return false;
@@ -276,20 +272,20 @@ EGLDevice::initDevice(int argc, char *argv[])
// step2 - bind to the wanted client API
/// This is done by bindClient() later on
- // bindClient(GnashDevice::OPENVG);
+ //bindClient(GnashDevice::OPENVG);
// step3 - find a suitable config
if (_bpp == 32) {
- if (EGL_FALSE == eglChooseConfig(_eglDisplay, attrib32_list,
&_eglConfig,
+ if (EGL_FALSE == eglChooseConfig(_eglDisplay, attrib16_list,
&_eglConfig,
1, &_eglNumOfConfigs)) {
- log_error("eglChooseConfig() failed (error %s)",
+ log_error("eglChooseConfig(32) failed (error %s)",
getErrorString(eglGetError()));
return false;
}
} else if (_bpp == 16) {
if (EGL_FALSE == eglChooseConfig(_eglDisplay, attrib16_list,
&_eglConfig,
1, &_eglNumOfConfigs)) {
- log_error("eglChooseConfig() failed (error %s)",
+ log_error("eglChooseConfig(16) failed (error %s)",
getErrorString(eglGetError()));
return false;
}
@@ -301,29 +297,16 @@ EGLDevice::initDevice(int argc, char *argv[])
log_error("eglChooseConfig() was unable to find a suitable config");
return false;
}
-
-#ifdef BUILD_X11_DEVICE
-#endif
- // printEGLConfig(_eglConfig);
-#if 0
if (!checkEGLConfig(_eglConfig)) {
log_error("EGL configuration doesn't match!");
-// return false;
+ return false;
} else {
- //printEGLConfig(_eglConfig);
+ printEGLConfig(_eglConfig);
}
-#endif
-
-#if 0
-#if 0
- eglSwapInterval(_eglDisplay, 0);
-#else
- eglSwapBuffers(_eglDisplay, _eglSurface);
-#endif
-// log_debug("Gnash EGL Frame width %d height %d bpp %d \n", _width,
_height, _bpp);
-#endif
+ // log_debug("Gnash EGL Frame width %d height %d bpp %d \n",
+ // _width, _height, _bpp);
return true;
}
@@ -356,9 +339,9 @@ EGLDevice::getNativeVisual()
if (!eglGetConfigAttrib(_eglDisplay, _eglConfig, EGL_NATIVE_VISUAL_ID,
&vid)) {
log_error("eglGetConfigAttrib() failed (error %s)",
getErrorString(eglGetError()));
- return false;
+ return 0;
} else {
- std::cerr << "EGL native visual is: " << vid << std::endl;
+ log_debug("EGL native visual is: %d", vid);
}
}
@@ -414,18 +397,19 @@ EGLDevice::bindClient(rtype_t rtype)
bool
EGLDevice::attachWindow(GnashDevice::native_window_t window)
{
+ GNASH_REPORT_FUNCTION;
+
if (!window) {
return false;
} else {
_nativeWindow = static_cast<EGLNativeWindowType>(window);
}
+#if 1
log_debug("Initializing EGL Surface");
- if (_nativeWindow && _eglDisplay && _eglConfig) {
+ if (_eglDisplay && _eglConfig) {
_eglSurface = eglCreateWindowSurface(_eglDisplay, _eglConfig,
- _nativeWindow, NULL);
- } else {
- log_error("No native window!");
+ window, NULL);
}
if (EGL_NO_SURFACE == _eglSurface) {
@@ -434,7 +418,8 @@ EGLDevice::attachWindow(GnashDevice::native_window_t window)
} else {
printEGLSurface(_eglSurface);
}
-
+#endif
+
// step5 - create a context
_eglContext = eglCreateContext(_eglDisplay, _eglConfig, EGL_NO_CONTEXT,
NULL);
if (EGL_NO_CONTEXT == _eglContext) {
@@ -513,7 +498,7 @@ EGLDevice::checkEGLConfig(EGLConfig config)
return false;
}
eglGetConfigAttrib(_eglDisplay, config, EGL_ALPHA_SIZE, &value);
- if (8 != value) {
+ if (0 != value) {
return false;
}
eglGetConfigAttrib(_eglDisplay, config, EGL_SAMPLES, &value);
@@ -587,7 +572,7 @@ EGLDevice::queryEGLConfig(EGLDisplay display)
return 0;
}
-#if 0
+#if 1
// This prints out all the configurations, so it can be quite large
for (int i=0; i<max_num_config; i++ ) {
std::cerr << "Config[" << i << "] is:" << i << std::endl;
diff --git a/libdevice/egl/test_egl.cpp b/libdevice/egl/test_egl.cpp
index de582e8..d69d406 100644
--- a/libdevice/egl/test_egl.cpp
+++ b/libdevice/egl/test_egl.cpp
@@ -213,7 +213,9 @@ test_egl(EGLDevice &egl, GnashDevice::rtype_t rtype, int
argc, char *argv[])
} else {
runtest.untested("EGLDevice::getHeigth()");
}
-
+
+#if 0
+ // these are the same as width and height
if (hwinit) {
if (egl.getVerticalRes()) {
runtest.pass("EGLDevice::getVerticalRes()");
@@ -223,6 +225,7 @@ test_egl(EGLDevice &egl, GnashDevice::rtype_t rtype, int
argc, char *argv[])
} else {
runtest.untested("EGLDevice::getVerticalRes()");
}
+
if (hwinit) {
if (egl.getHorzRes()) {
@@ -233,7 +236,8 @@ test_egl(EGLDevice &egl, GnashDevice::rtype_t rtype, int
argc, char *argv[])
} else {
runtest.untested("EGLDevice::getHorzRes()");
}
-
+#endif
+
if (hwinit) {
if (egl.isSingleBuffered() != egl.isBackBuffered()) {
runtest.pass("EGLDevice::is*Buffered()");
-----------------------------------------------------------------------
Summary of changes:
configure.ac | 106 ++++++++++++---------
libbase/GnashImagePng.cpp | 4 +
libbase/Makefile.am | 21 ++--
libdevice/egl/eglDevice.cpp | 103 +++++++++-----------
libdevice/egl/test_egl.cpp | 8 +-
librender/openvg/Renderer_ovg.cpp | 45 ++++++----
librender/openvg/Renderer_ovg.h | 15 ++-
librender/testr.cpp | 113 ++++++++--------------
librender/testr_gtk.cpp | 192 ++++++++-----------------------------
macros/openvg.m4 | 115 ++++++++++++++++++++++
10 files changed, 361 insertions(+), 361 deletions(-)
create mode 100644 macros/openvg.m4
hooks/post-receive
--
Gnash
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- [Gnash-commit] [SCM] Gnash branch, openvg, updated. 0e70385951cc848def30068acb7fb51276b13ad0,
Rob Savoye <=