with a fallback to GLES2 headers if available.
HAVE_GL=no
HAVE_GLES2=no
+HAVE_GLES3_H=no
HAVE_WAYLAND_EGL=no
HAVE_EGL_RPI=no
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)
# 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>
else
AC_MSG_WARN([Disabling GL|ES 2.0 support])
HAVE_GLES2=no
+ HAVE_GLES3_H=no
fi
])
CFLAGS="$save_CFLAGS"
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
# 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
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
# 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>
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