Mesa (gles3): Add es3api
Matt Turner
mattst88 at kemper.freedesktop.org
Fri Aug 31 17:58:57 UTC 2012
Module: Mesa
Branch: gles3
Commit: d1f50c17bbad725b742ed978ee4a239a50d0e648
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=d1f50c17bbad725b742ed978ee4a239a50d0e648
Author: Matt Turner <mattst88 at gmail.com>
Date: Tue Aug 28 12:08:43 2012 -0700
Add es3api
---
configure.ac | 23 ++++++++++++++--
src/mapi/es3api/.gitignore | 2 +
src/mapi/es3api/Makefile.am | 60 ++++++++++++++++++++++++++++++++++++++++++
src/mapi/es3api/glesv3.pc.in | 12 ++++++++
4 files changed, 94 insertions(+), 3 deletions(-)
diff --git a/configure.ac b/configure.ac
index e9d4e79..7eca9ba 100644
--- a/configure.ac
+++ b/configure.ac
@@ -535,6 +535,11 @@ AC_ARG_ENABLE([gles2],
[enable support for OpenGL ES 2.x API @<:@default=no@:>@])],
[enable_gles2="$enableval"],
[enable_gles2=no])
+AC_ARG_ENABLE([gles3],
+ [AS_HELP_STRING([--enable-gles3],
+ [enable support for OpenGL ES 3.x API @<:@default=no@:>@])],
+ [enable_gles3="$enableval"],
+ [enable_gles3=no])
AC_ARG_ENABLE([openvg],
[AS_HELP_STRING([--enable-openvg],
[enable support for OpenVG API @<:@default=no@:>@])],
@@ -656,6 +661,7 @@ esac
if test "x$enable_opengl" = xno -a \
"x$enable_gles1" = xno -a \
"x$enable_gles2" = xno -a \
+ "x$enable_gles3" = xno -a \
"x$enable_openvg" = xno -a \
"x$enable_xorg" = xno -a \
"x$enable_xa" = xno -a \
@@ -750,8 +756,13 @@ if test "x$enable_gles2" = xyes; then
CORE_DIRS="$CORE_DIRS mapi/es2api"
fi
+# build es3api if OpenGL ES 2.x is enabled
+if test "x$enable_gles3" = xyes; then
+ CORE_DIRS="$CORE_DIRS mapi/es3api"
+fi
+
# build glsl and mesa if OpenGL or OpenGL ES is enabled
-case "x$enable_opengl$enable_gles1$enable_gles2" in
+case "x$enable_opengl$enable_gles1$enable_gles2$enable_gles3" in
x*yes*)
CORE_DIRS="mapi/glapi/gen $CORE_DIRS glsl mesa"
;;
@@ -901,6 +912,8 @@ GLESv1_CM_LIB_DEPS="$LIBDRM_LIBS -lm -lpthread $DLOPEN_LIBS"
GLESv1_CM_PC_LIB_PRIV="-lm -lpthread $DLOPEN_LIBS"
GLESv2_LIB_DEPS="$LIBDRM_LIBS -lm -lpthread $DLOPEN_LIBS"
GLESv2_PC_LIB_PRIV="-lm -lpthread $DLOPEN_LIBS"
+GLESv3_LIB_DEPS="$LIBDRM_LIBS -lm -lpthread $DLOPEN_LIBS"
+GLESv3_PC_LIB_PRIV="-lm -lpthread $DLOPEN_LIBS"
AC_SUBST([GL_LIB_DEPS])
AC_SUBST([GL_PC_REQ_PRIV])
@@ -911,6 +924,8 @@ AC_SUBST([GLESv1_CM_LIB_DEPS])
AC_SUBST([GLESv1_CM_PC_LIB_PRIV])
AC_SUBST([GLESv2_LIB_DEPS])
AC_SUBST([GLESv2_PC_LIB_PRIV])
+AC_SUBST([GLESv3_LIB_DEPS])
+AC_SUBST([GLESv3_PC_LIB_PRIV])
GLAPI_LIB_DEPS="-lpthread $SELINUX_LIBS"
AC_SUBST([GLAPI_LIB_DEPS])
@@ -1536,7 +1551,7 @@ AC_SUBST([LLVM_INCLUDEDIR])
AC_SUBST([LLVM_VERSION])
AC_SUBST([CLANG_RESOURCE_DIR])
-case "x$enable_opengl$enable_gles1$enable_gles2" in
+case "x$enable_opengl$enable_gles1$enable_gles2$enable_gles3" in
x*yes*)
EGL_CLIENT_APIS="$EGL_CLIENT_APIS "'$(GL_LIB)'
;;
@@ -2028,6 +2043,8 @@ AC_CONFIG_FILES([configs/current
src/mapi/es1api/glesv1_cm.pc
src/mapi/es2api/Makefile
src/mapi/es2api/glesv2.pc
+ src/mapi/es3api/Makefile
+ src/mapi/es3api/glesv3.pc
src/mapi/glapi/Makefile
src/mapi/glapi/gen/Makefile
src/mapi/shared-glapi/Makefile
@@ -2074,7 +2091,7 @@ echo " includedir: $includedir"
dnl API info
echo ""
-echo " OpenGL: $enable_opengl (ES1: $enable_gles1 ES2: $enable_gles2)"
+echo " OpenGL: $enable_opengl (ES1: $enable_gles1 ES2: $enable_gles2 ES3: $enable_gles3)"
echo " OpenVG: $enable_openvg"
dnl Driver info
diff --git a/src/mapi/es3api/.gitignore b/src/mapi/es3api/.gitignore
new file mode 100644
index 0000000..39b0e7c
--- /dev/null
+++ b/src/mapi/es3api/.gitignore
@@ -0,0 +1,2 @@
+glapi_mapi_tmp.h
+Makefile
diff --git a/src/mapi/es3api/Makefile.am b/src/mapi/es3api/Makefile.am
new file mode 100644
index 0000000..7e5e20e
--- /dev/null
+++ b/src/mapi/es3api/Makefile.am
@@ -0,0 +1,60 @@
+# Copyright © 2012 Intel Corporation
+#
+# Permission is hereby granted, free of charge, to any person obtaining a
+# copy of this software and associated documentation files (the "Software"),
+# to deal in the Software without restriction, including without limitation
+# the rights to use, copy, modify, merge, publish, distribute, sublicense,
+# and/or sell copies of the Software, and to permit persons to whom the
+# Software is furnished to do so, subject to the following conditions:
+#
+# The above copyright notice and this permission notice (including the next
+# paragraph) shall be included in all copies or substantial portions of the
+# Software.
+#
+# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+# IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+# FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
+# THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+# LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
+# FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS
+# IN THE SOFTWARE.
+
+AM_CPPFLAGS = \
+ $(DEFINES) \
+ -I$(top_srcdir)/include \
+ -I$(top_srcdir)/src/mapi \
+ -DMAPI_MODE_BRIDGE \
+ -DMAPI_ABI_HEADER=\"glapi_mapi_tmp.h\"
+
+AM_CFLAGS = $(VISIBILITY_CFLAGS)
+
+pkgconfigdir = $(libdir)/pkgconfig
+pkgconfig_DATA = glesv3.pc
+
+GLES_includedir = $(includedir)/GLES
+GLES_include_HEADERS = \
+ $(top_srcdir)/include/GLES/egl.h \
+ $(top_srcdir)/include/GLES/gl.h \
+ $(top_srcdir)/include/GLES/glext.h \
+ $(top_srcdir)/include/GLES/glplatform.h
+
+lib_LTLIBRARIES = libGLESv3.la
+
+libGLESv3_la_SOURCES = ../mapi/entry.c glapi_mapi_tmp.h
+libGLESv3_la_LIBADD = $(GLESv3_LIB_DEPS)
+libGLESv3_la_LDFLAGS = -version-number 3 -no-undefined
+
+include ../glapi/gen/glapi_gen.mk
+glapi_mapi_tmp.h: ../glapi/gen/gl_and_es_API.xml $(glapi_gen_mapi_deps)
+ $(call glapi_gen_mapi,$<,es3api)
+
+BUILT_SOURCES = glapi_mapi_tmp.h
+CLEANFILES = $(BUILT_SOURCES)
+
+# Provide compatibility with scripts for the old Mesa build system for
+# a while by putting a link to the driver into /lib of the build tree.
+all-local: libGLESv3.la
+ $(MKDIR_P) $(top_builddir)/$(LIB_DIR);
+ ln -f .libs/libGLESv3.so $(top_builddir)/$(LIB_DIR)/libGLESv3.so
+ ln -f .libs/libGLESv3.so.3 $(top_builddir)/$(LIB_DIR)/libGLESv3.so.3
+ ln -f .libs/libGLESv3.so.3.0.0 $(top_builddir)/$(LIB_DIR)/libGLESv3.so.3.0.0
diff --git a/src/mapi/es3api/glesv3.pc.in b/src/mapi/es3api/glesv3.pc.in
new file mode 100644
index 0000000..e5bf12f
--- /dev/null
+++ b/src/mapi/es3api/glesv3.pc.in
@@ -0,0 +1,12 @@
+prefix=@prefix@
+exec_prefix=${prefix}
+libdir=@libdir@
+includedir=@includedir@
+
+Name: glesv2
+Description: Mesa OpenGL ES 2.0 library
+Requires.private:
+Version: @VERSION@
+Libs: -L${libdir} -lGLESv2
+Libs.private: @GLESv2_PC_LIB_PRIV@
+Cflags: -I${includedir}
More information about the mesa-commit
mailing list