mirror of
https://gitlab.freedesktop.org/gstreamer/gstreamer.git
synced 2024-07-02 20:55:55 +00:00
gl: add support for building against GLES3 headers
with a fallback to GLES2 headers if available.
This commit is contained in:
parent
9ea15579ec
commit
9e40dd7d40
14
configure.ac
14
configure.ac
|
@ -682,6 +682,7 @@ save_LIBS="$LIBS"
|
|||
|
||||
HAVE_GL=no
|
||||
HAVE_GLES2=no
|
||||
HAVE_GLES3_H=no
|
||||
HAVE_WAYLAND_EGL=no
|
||||
|
||||
HAVE_EGL_RPI=no
|
||||
|
@ -708,6 +709,7 @@ case $host in
|
|||
if test "x$HAVE_GLES2" != "xyes"; then
|
||||
AG_GST_CHECK_LIBHEADER(GLES2, GLESv2, glTexImage2D,, GLES2/gl2.h)
|
||||
fi
|
||||
AC_CHECK_HEADER([GLES3/gl3.h], [HAVE_GLES3_H=yes])
|
||||
fi
|
||||
if test "x$NEED_EGL" != "xno"; then
|
||||
AG_GST_PKG_CHECK_MODULES(EGL, egl)
|
||||
|
@ -872,6 +874,10 @@ if test "x$HAVE_GL" = "xyes" -a "x$HAVE_GLES2" = "xyes"; then
|
|||
# else
|
||||
# include <GLES2/gl2.h>
|
||||
# include <GLES2/gl2ext.h>
|
||||
# if $HAVE_GLES3_H
|
||||
# include <GLES3/gl3.h>
|
||||
# include <GLES3/gl3ext.h>
|
||||
# endif
|
||||
# endif
|
||||
# ifdef __APPLE__
|
||||
# include <OpenGL/OpenGL.h>
|
||||
|
@ -907,6 +913,7 @@ int main (int argc, char **argv) { return 0; }
|
|||
else
|
||||
AC_MSG_WARN([Disabling GL|ES 2.0 support])
|
||||
HAVE_GLES2=no
|
||||
HAVE_GLES3_H=no
|
||||
fi
|
||||
])
|
||||
CFLAGS="$save_CFLAGS"
|
||||
|
@ -1150,6 +1157,9 @@ fi
|
|||
if test "x$USE_GLES2" = "xyes"; then
|
||||
GL_APIS="gles2 $GL_APIS"
|
||||
GST_GL_HAVE_GLES2=1
|
||||
if test "x$HAVE_GLES3_H" = "xyes"; then
|
||||
GST_GL_HAVE_GLES3=1
|
||||
fi
|
||||
fi
|
||||
|
||||
GL_CONFIG_DEFINES="$GL_CONFIG_DEFINES
|
||||
|
@ -1321,6 +1331,10 @@ if test "x$USE_GLES2" = "xyes"; then
|
|||
# else
|
||||
# include <GLES2/gl2.h>
|
||||
# include <GLES2/gl2ext.h>
|
||||
# if GST_GL_HAVE_GLES3
|
||||
# include <GLES3/gl3.h>
|
||||
# include <GLES3/gl3ext.h>
|
||||
# endif
|
||||
# endif
|
||||
"
|
||||
fi
|
||||
|
|
|
@ -27,23 +27,30 @@
|
|||
|
||||
G_BEGIN_DECLS
|
||||
|
||||
/* SUPPORTED */
|
||||
//FIXME:
|
||||
#ifndef GL_RGB16
|
||||
#define GL_RGB16 GL_RGB565
|
||||
#endif
|
||||
#ifndef GL_RGB8
|
||||
#define GL_RGB8 GL_RGB
|
||||
//END FIXME
|
||||
#endif
|
||||
|
||||
/* UNSUPPORTED */
|
||||
|
||||
#define GL_COLOR_ATTACHMENT1 0
|
||||
#define GL_COLOR_ATTACHMENT2 0
|
||||
#ifndef GL_COLOR_ATTACHMENT1
|
||||
#define GL_COLOR_ATTACHMENT1 0x8CE1
|
||||
#endif
|
||||
#ifndef GL_COLOR_ATTACHMENT2
|
||||
#define GL_COLOR_ATTACHMENT2 0x8CE2
|
||||
#endif
|
||||
#ifndef GL_TEXTURE_ENV
|
||||
#define GL_TEXTURE_ENV 0
|
||||
#endif
|
||||
#ifndef GL_TEXTURE_ENV_MODE
|
||||
#define GL_TEXTURE_ENV_MODE 0
|
||||
#endif
|
||||
#define GL_DEPTH24_STENCIL8 0
|
||||
#ifndef GL_DEPTH24_STENCIL8
|
||||
#define GL_DEPTH24_STENCIL8 0x88F0
|
||||
#endif
|
||||
|
||||
G_END_DECLS
|
||||
|
||||
|
|
|
@ -41,6 +41,10 @@
|
|||
# else
|
||||
# include <GLES2/gl2.h>
|
||||
# include <GLES2/gl2ext.h>
|
||||
# if GST_GL_HAVE_GLES3
|
||||
# include <GLES3/gl3.h>
|
||||
# include <GLES3/gl3ext.h>
|
||||
# endif
|
||||
# endif
|
||||
# if !GST_GL_HAVE_OPENGL
|
||||
# include <gst/gl/glprototypes/gstgl_gles2compat.h>
|
||||
|
|
|
@ -132,10 +132,6 @@ load_self_module (gpointer user_data)
|
|||
return NULL;
|
||||
}
|
||||
|
||||
#if GST_GL_HAVE_GLES3
|
||||
#error "Add module loading support for GLES3"
|
||||
#endif
|
||||
|
||||
/* Context sharedness is tracked by a refcounted pointer stored in each context
|
||||
* object to track complex creation/deletion scenarios. As a result,
|
||||
* sharedness can only be successfully validated between two GstGLContext's
|
||||
|
|
Loading…
Reference in a new issue