Module: Mesa Branch: gles3 Commit: d1f50c17bbad725b742ed978ee4a239a50d0e648 URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=d1f50c17bbad725b742ed978ee4a239a50d0e648
Author: Matt Turner <[email protected]> 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} _______________________________________________ mesa-commit mailing list [email protected] http://lists.freedesktop.org/mailman/listinfo/mesa-commit
