[mutter/wip/xtoglsync: 5/5] debug output
- From: Rui Matos <rtcm src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [mutter/wip/xtoglsync: 5/5] debug output
- Date: Wed, 4 Jun 2014 08:58:23 +0000 (UTC)
commit 3ac563307ef033553a0d666797c40ef7c1770cff
Author: Rui Matos <tiagomatos gmail com>
Date: Wed Jun 4 10:52:56 2014 +0200
debug output
src/compositor/meta-sync-ring.c | 48 +++++++++++++++++++++++++++++++++++++++
1 files changed, 48 insertions(+), 0 deletions(-)
---
diff --git a/src/compositor/meta-sync-ring.c b/src/compositor/meta-sync-ring.c
index d29d13e..648c4e4 100644
--- a/src/compositor/meta-sync-ring.c
+++ b/src/compositor/meta-sync-ring.c
@@ -115,6 +115,9 @@ static GLsync (*meta_gl_import_sync) (GLenum external_sync_type,
GLintptr external_sync,
GLbitfield flags);
+static GLenum (*meta_gl_get_error) (void);
+static GLboolean (*meta_gl_is_sync) (GLsync sync);
+
static MetaSyncRing *
meta_sync_ring_get (void)
{
@@ -192,12 +195,53 @@ load_required_symbols (void)
if (!load_gl_symbol ("glImportSyncEXT", (void **) &meta_gl_import_sync))
goto out;
+ if (!load_gl_symbol ("glGetError", (void **) &meta_gl_get_error))
+ goto out;
+ if (!load_gl_symbol ("glIsSync", (void **) &meta_gl_is_sync))
+ goto out;
+
success = TRUE;
out:
return success;
}
static void
+print_gl_error (void)
+{
+ GLenum e;
+ switch (e = meta_gl_get_error ())
+ {
+ case GL_NO_ERROR:
+ meta_warning ("GL_NO_ERROR\n");
+ break;
+ case GL_INVALID_ENUM:
+ meta_warning ("GL_INVALID_ENUM\n");
+ break;
+ case GL_INVALID_VALUE:
+ meta_warning ("GL_INVALID_VALUE\n");
+ break;
+ case GL_INVALID_OPERATION:
+ meta_warning ("GL_INVALID_OPERATION\n");
+ break;
+ case GL_INVALID_FRAMEBUFFER_OPERATION:
+ meta_warning ("GL_INVALID_FRAMEBUFFER_OPERATION\n");
+ break;
+ case GL_OUT_OF_MEMORY:
+ meta_warning ("GL_OUT_OF_MEMORY\n");
+ break;
+ case GL_STACK_OVERFLOW:
+ meta_warning ("GL_STACK_OVERFLOW\n");
+ break;
+ case GL_STACK_UNDERFLOW:
+ meta_warning ("GL_STACK_UNDERFLOW\n");
+ break;
+ default:
+ meta_warning ("GL error 0x%x\n", e);
+ break;
+ }
+}
+
+static void
meta_sync_insert (MetaSync *self)
{
g_return_if_fail (self->state == META_SYNC_STATE_READY);
@@ -279,7 +323,9 @@ meta_sync_new (Display *xdisplay)
self->xdisplay = xdisplay;
self->xfence = XSyncCreateFence (xdisplay, DefaultRootWindow (xdisplay), FALSE);
+ meta_warning ("created X fence 0x%x\n", self->xfence);
self->glsync = meta_gl_import_sync (GL_SYNC_X11_FENCE_EXT, self->xfence, 0);
+ print_gl_error ();
self->xcounter = XSyncCreateCounter (xdisplay, SYNC_VALUE_ZERO);
@@ -379,6 +425,8 @@ meta_sync_ring_init (MetaDisplay *display)
if (!meta_display_has_sync (display))
return FALSE;
+ print_gl_error ();
+
XSyncIntToValue (&SYNC_VALUE_ZERO, 0);
XSyncIntToValue (&SYNC_VALUE_ONE, 1);
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]