From 2741093c9757e5c3c268f30c594516a5180848e4 Mon Sep 17 00:00:00 2001
From: Matthew Waters <matthew@centricular.com>
Date: Wed, 10 Jun 2015 16:23:36 +1000
Subject: [PATCH] gl/prototypes: add some buffer function prototypes

---
 gst-libs/gst/gl/glprototypes/Makefile.am     |  3 +-
 gst-libs/gst/gl/glprototypes/all_functions.h |  1 +
 gst-libs/gst/gl/glprototypes/buffers.h       | 48 ++++++++++++++++++++
 3 files changed, 51 insertions(+), 1 deletion(-)
 create mode 100644 gst-libs/gst/gl/glprototypes/buffers.h

diff --git a/gst-libs/gst/gl/glprototypes/Makefile.am b/gst-libs/gst/gl/glprototypes/Makefile.am
index fa4d1b8ccdf..6ea90db3125 100644
--- a/gst-libs/gst/gl/glprototypes/Makefile.am
+++ b/gst-libs/gst/gl/glprototypes/Makefile.am
@@ -14,5 +14,6 @@ prototype_HEADERS = \
 	gstgl_gles2compat.h \
 	debug.h \
 	vao.h \
-	sync.h
+	sync.h \
+	buffers.h
 
diff --git a/gst-libs/gst/gl/glprototypes/all_functions.h b/gst-libs/gst/gl/glprototypes/all_functions.h
index e2cb6da9276..c6af4154823 100644
--- a/gst-libs/gst/gl/glprototypes/all_functions.h
+++ b/gst-libs/gst/gl/glprototypes/all_functions.h
@@ -29,3 +29,4 @@
 #include "debug.h"
 #include "vao.h"
 #include "sync.h"
+#include "buffers.h"
diff --git a/gst-libs/gst/gl/glprototypes/buffers.h b/gst-libs/gst/gl/glprototypes/buffers.h
new file mode 100644
index 00000000000..5e73c624fef
--- /dev/null
+++ b/gst-libs/gst/gl/glprototypes/buffers.h
@@ -0,0 +1,48 @@
+/*
+ * GStreamer
+ * Copyright (C) 2015 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 (buffer_copy_sub_data,
+                  GST_GL_API_OPENGL3 |
+                  GST_GL_API_GLES2,
+                  3, 1,
+                  3, 0,
+                  /* extension is available in GL 3.0 */
+                  "\0",
+                  "\0")
+GST_GL_EXT_FUNCTION (void, CopyBufferSubData,
+                     (GLenum                readTarget,
+                      GLenum                writeTarget,
+                      GLintptr              readOffset,
+                      GLintptr              writeOffset,
+                      GLsizeiptr            size))
+GST_GL_EXT_END ()
+
+GST_GL_EXT_BEGIN (get_buffer_sub_data,
+                  GST_GL_API_OPENGL3,
+                  1, 5,
+                  255, 255,
+                  "\0",
+                  "\0")
+GST_GL_EXT_FUNCTION (void, GetBufferSubData,
+                     (GLenum                target,
+                      GLintptr              offset,
+                      GLsizeiptr            size,
+                      void *                data))
+GST_GL_EXT_END ()