glprototypes: add sync function definitions
authorMatthew Waters <matthew@centricular.com>
Fri, 17 Oct 2014 13:08:29 +0000 (15:08 +0200)
committerMatthew Waters <matthew@centricular.com>
Thu, 27 Nov 2014 22:14:25 +0000 (09:14 +1100)
gst-libs/gst/gl/glprototypes/Makefile.am
gst-libs/gst/gl/glprototypes/all_functions.h
gst-libs/gst/gl/glprototypes/sync.h [new file with mode: 0644]

index a6d81998456722022e918d322d17c838a56a6002..fa4d1b8ccdf4519ec7ffee3d57df2d42eae1b125 100644 (file)
@@ -13,5 +13,6 @@ prototype_HEADERS = \
        gstgl_compat.h \
        gstgl_gles2compat.h \
        debug.h \
-       vao.h
+       vao.h \
+       sync.h
 
index ec700d5fafd5e06a98f67543334ec89e48adf15e..e2cb6da9276512ab229aa1891e0eb7de9c13ddd4 100644 (file)
@@ -28,3 +28,4 @@
 #include "shaders.h"
 #include "debug.h"
 #include "vao.h"
+#include "sync.h"
diff --git a/gst-libs/gst/gl/glprototypes/sync.h b/gst-libs/gst/gl/glprototypes/sync.h
new file mode 100644 (file)
index 0000000..48cab69
--- /dev/null
@@ -0,0 +1,47 @@
+/*
+ * GStreamer
+ * Copyright (C) 2014 Matthew Waters <matthew@centricular.com>
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Library General Public
+ * License as published by the Free Software Foundation; either
+ * version 2 of the License, or (at your option) any later version.
+ *
+ * This library 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
+ * Library General Public License for more details.
+ *
+ * You should have received a copy of the GNU Library General Public
+ * License along with this library; if not, write to the
+ * Free Software Foundation, Inc., 51 Franklin St, Fifth Floor,
+ * Boston, MA 02110-1301, USA.
+ */
+
+GST_GL_EXT_BEGIN (sync,
+                  GST_GL_API_OPENGL3,
+                  3, 2,
+                  3, 0,
+/* FIXME: the extension depends on GL 3.1 */
+                  "",
+                  "")
+GST_GL_EXT_FUNCTION (GLsync, FenceSync,
+                     (GLenum condition,
+                      GLbitfield flags))
+GST_GL_EXT_FUNCTION (GLboolean, IsSync,
+                     (GLsync sync))
+GST_GL_EXT_FUNCTION (void, DeleteSync,
+                     (GLsync sync))
+GST_GL_EXT_FUNCTION (GLenum, ClientWaitSync,
+                     (GLsync sync,
+                      GLbitfield flags,
+                      GLuint64 timeout))
+GST_GL_EXT_FUNCTION (void, WaitSync,
+                     (GLsync sync,
+                      GLbitfield flags,
+                      GLuint64 timeout))
+GST_GL_EXT_FUNCTION (void, GetSynciv,
+                     (GLsync sync,
+                      GLenum flags,
+                      GLuint64 timeout))
+GST_GL_EXT_END ()