Module: Mesa Branch: master Commit: 12583174c53b23be6db1fb1cfa3dd1e8dbbd3c15 URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=12583174c53b23be6db1fb1cfa3dd1e8dbbd3c15
Author: Chia-I Wu <o...@lunarg.com> Date: Fri Jan 7 17:24:16 2011 +0800 mesa: Remove GLES overlay. With core mesa doing runtime API checks, GLES overlay is no longer needed. Make --enable-gles-overlay equivalent to --enable-gles[12]. There may still be places where compile-time checks are done. They could be fixed case by case. --- configs/autoconf.in | 1 - configure.ac | 33 +++++-------- docs/egl.html | 11 ----- docs/opengles.html | 4 +- src/gallium/targets/egl/Makefile | 24 +--------- src/gallium/targets/egl/egl.c | 14 +----- src/gallium/targets/egl/st_GLESv1_CM.c | 8 --- src/gallium/targets/egl/st_GLESv2.c | 8 --- src/mesa/Makefile | 77 +------------------------------- 9 files changed, 18 insertions(+), 162 deletions(-) diff --git a/configs/autoconf.in b/configs/autoconf.in index e2d70c6..3dceb1a 100644 --- a/configs/autoconf.in +++ b/configs/autoconf.in @@ -15,7 +15,6 @@ ASM_FLAGS = @ASM_FLAGS@ PIC_FLAGS = @PIC_FLAGS@ DEFINES = @DEFINES@ API_DEFINES = @API_DEFINES@ -GLES_OVERLAY = @GLES_OVERLAY@ CFLAGS = @CPPFLAGS@ @CFLAGS@ \ $(OPT_FLAGS) $(PIC_FLAGS) $(ARCH_FLAGS) $(ASM_FLAGS) $(DEFINES) CXXFLAGS = @CPPFLAGS@ @CXXFLAGS@ \ diff --git a/configure.ac b/configure.ac index 08a8b61..c00ecd0 100644 --- a/configure.ac +++ b/configure.ac @@ -483,9 +483,9 @@ AC_ARG_ENABLE([gles2], [enable_gles2=no]) AC_ARG_ENABLE([gles-overlay], [AS_HELP_STRING([--enable-gles-overlay], - [build separate OpenGL ES only libraries @<:@default=no@:>@])], - [enable_gles_overlay="$enableval"], - [enable_gles_overlay=no]) + [DEPRECATED. Same as --enable-gles1 and --enable-gles2])], + [enable_gles1="$enableval"; enable_gles2="$enableval"], + []) AC_ARG_ENABLE([openvg], [AS_HELP_STRING([--enable-openvg], @@ -506,13 +506,11 @@ fi if test "x$enable_opengl" = xno -a \ "x$enable_gles1" = xno -a \ "x$enable_gles2" = xno -a \ - "x$enable_gles_overlay" = xno -a \ "x$enable_openvg" = xno; then AC_MSG_ERROR([at least one API should be enabled]) fi API_DEFINES="" -GLES_OVERLAY=0 if test "x$enable_opengl" = xno; then API_DEFINES="$API_DEFINES -DFEATURE_GL=0" else @@ -524,11 +522,7 @@ fi if test "x$enable_gles2" = xyes; then API_DEFINES="$API_DEFINES -DFEATURE_ES2=1" fi -if test "x$enable_gles_overlay" = xyes; then - GLES_OVERLAY=1 -fi AC_SUBST([API_DEFINES]) -AC_SUBST([GLES_OVERLAY]) dnl dnl Driver configuration. Options are xlib, dri and osmesa right now. @@ -596,12 +590,15 @@ if test "x$enable_opengl" = xyes; then CORE_DIRS="$CORE_DIRS mapi/glapi" fi -# build es1api and es2api if OpenGL ES is enabled -case "x$enable_gles1$enable_gles2$enable_gles_overlay" in -x*yes*) - CORE_DIRS="$CORE_DIRS mapi/es1api mapi/es2api" - ;; -esac +# build es1api if OpenGL ES 1.x is enabled +if test "x$enable_gles1" = xyes; then + CORE_DIRS="$CORE_DIRS mapi/es1api" +fi + +# build es2api if OpenGL ES 2.x is enabled +if test "x$enable_gles2" = xyes; then + CORE_DIRS="$CORE_DIRS mapi/es2api" +fi # build vgapi if OpenVG is enabled if test "x$enable_openvg" = xyes; then @@ -609,7 +606,7 @@ if test "x$enable_openvg" = xyes; then fi # build glsl and mesa if OpenGL or OpenGL ES is enabled -case "x$enable_opengl$enable_gles1$enable_gles2$enable_gles_overlay" in +case "x$enable_opengl$enable_gles1$enable_gles2" in x*yes*) CORE_DIRS="$CORE_DIRS glsl mesa" ;; @@ -1451,9 +1448,6 @@ x*yes*) EGL_CLIENT_APIS="$EGL_CLIENT_APIS "'$(GL_LIB)' ;; esac -if test "x$enable_gles_overlay" = xyes; then - EGL_CLIENT_APIS="$EGL_CLIENT_APIS "'$(GLESv1_CM_LIB) $(GLESv2_LIB)' -fi if test "x$enable_openvg" = xyes; then EGL_CLIENT_APIS="$EGL_CLIENT_APIS "'$(VG_LIB)' VG_LIB_DEPS="$VG_LIB_DEPS -lpthread" @@ -1746,7 +1740,6 @@ echo " includedir: $includedir" dnl API info echo "" echo " OpenGL: $enable_opengl (ES1: $enable_gles1 ES2: $enable_gles2)" -echo " GLES overlay: $enable_gles_overlay" echo " OpenVG: $enable_openvg" dnl Driver info diff --git a/docs/egl.html b/docs/egl.html index a92f9d1..fb15086 100644 --- a/docs/egl.html +++ b/docs/egl.html @@ -88,17 +88,6 @@ internal library that supports multiple APIs.</p> </li> -<li><code>--enable-gles-overlay</code> - -<p>This option enables OpenGL ES as separate internal libraries. This is an -alternative approach to enable OpenGL ES.</p> - -<p>This is only supported by <code>egl_gallium</code>. For systems using DRI -drivers, <code>--enable-gles1</code> and <code>--enable-gles2</code> are -suggested instead as all drivers will benefit.</p> - -</li> - <li><code>--enable-openvg</code> <p>OpenVG must be explicitly enabled by this option.</p> diff --git a/docs/opengles.html b/docs/opengles.html index 63cc114..742182e 100644 --- a/docs/opengles.html +++ b/docs/opengles.html @@ -17,7 +17,7 @@ target="_parent"> http://www.khronos.org/opengles/</a>.</p> <h2>Build the Libraries</h2> <ol> -<li>Run <code>configure</code> with <code>--enable-gles-overlay</code> and enable the Gallium driver for your hardware.</li> +<li>Run <code>configure</code> with <code>--enable-gles1 --enable-gles2</code> and enable the Gallium driver for your hardware.</li> <li>Build and install Mesa as usual.</li> </ol> @@ -53,8 +53,6 @@ your build. For example,</p> <tr><td>Library Name</td><td>Used By</td><td>Enabled</td><td>OpenGL</td><td>OpenGL ES 1.x</td><td>OpenGL ES 2.x</td></tr> <tr><td><code>libmesa.a</td><td>Classic DRI drivers</td><td>y</td><td>y</td><td>--enable-gles1</td><td>--enable-gles2</td></tr> <tr><td><code>libmesagallium.a</td><td>Gallium EGL and DRI drivers</td><td>y</td><td>y</td><td>--enable-gles1</td><td>--enable-gles2</td></tr> - <tr><td><code>libes1gallium.a</td><td>Gallium EGL drivers</td><td>--enable-gles-overlay</td><td>n</td><td>y</td><td>n</td></tr> - <tr><td><code>libes2gallium.a</td><td>Gallium EGL drivers</td><td>--enable-gles-overlay</td><td>n</td><td>n</td><td>y</td></tr> </table> <h3>Dispatch Table</h3> diff --git a/src/gallium/targets/egl/Makefile b/src/gallium/targets/egl/Makefile index bb0edb9..3e36000 100644 --- a/src/gallium/targets/egl/Makefile +++ b/src/gallium/targets/egl/Makefile @@ -57,12 +57,6 @@ endif ifneq ($(filter $(GL_LIB), $(EGL_CLIENT_APIS)),) egl_CPPFLAGS += $(API_DEFINES) endif -ifneq ($(filter $(GLESv1_CM_LIB), $(EGL_CLIENT_APIS)),) -egl_CPPFLAGS += -DFEATURE_ES1=1 -endif -ifneq ($(filter $(GLESv2_LIB), $(EGL_CLIENT_APIS)),) -egl_CPPFLAGS += -DFEATURE_ES2=1 -endif ifneq ($(filter $(VG_LIB), $(EGL_CLIENT_APIS)),) egl_CPPFLAGS += -DFEATURE_VG=1 endif @@ -128,20 +122,10 @@ endif # OpenGL state tracker GL_CPPFLAGS := -I$(TOP)/src/mesa $(API_DEFINES) -# do not link to $(GL_LIB) as the it supports GLES too +# cannot not link to $(GL_LIB) as the app might want GLES GL_SYS := $(DRI_LIB_DEPS) GL_LIBS := $(TOP)/src/mesa/libmesagallium.a -# OpenGL ES 1.x state tracker -GLESv1_CM_CPPFLAGS := -I$(TOP)/src/mesa -GLESv1_CM_SYS := $(DRI_LIB_DEPS) -l$(GLESv1_CM_LIB) -GLESv1_CM_LIBS := $(TOP)/src/mesa/libes1gallium.a - -# OpenGL ES 2.x state tracker -GLESv2_CPPFLAGS := -I$(TOP)/src/mesa -GLESv2_SYS := $(DRI_LIB_DEPS) -l$(GLESv2_LIB) -GLESv2_LIBS := $(TOP)/src/mesa/libes2gallium.a - # OpenVG state tracker OpenVG_CPPFLAGS := -I$(TOP)/src/gallium/state_trackers/vega OpenVG_SYS := -lm -l$(VG_LIB) @@ -226,12 +210,6 @@ $(OUTPUT_PATH)/$(PIPE_PREFIX)swrast.so: pipe_swrast.o $(swrast_LIBS) $(OUTPUT_PATH)/$(ST_PREFIX)$(GL_LIB).so: st_GL.o $(GL_LIBS) $(call mklib-cxx,GL) -$(OUTPUT_PATH)/$(ST_PREFIX)$(GLESv1_CM_LIB).so: st_GLESv1_CM.o $(GLESv1_CM_LIBS) - $(call mklib-cxx,GLESv1_CM) - -$(OUTPUT_PATH)/$(ST_PREFIX)$(GLESv2_LIB).so: st_GLESv2.o $(GLESv2_LIBS) - $(call mklib-cxx,GLESv2) - $(OUTPUT_PATH)/$(ST_PREFIX)$(VG_LIB).so: st_OpenVG.o $(OpenVG_LIBS) $(call mklib,OpenVG) diff --git a/src/gallium/targets/egl/egl.c b/src/gallium/targets/egl/egl.c index bb182ba..61fe506 100644 --- a/src/gallium/targets/egl/egl.c +++ b/src/gallium/targets/egl/egl.c @@ -205,19 +205,7 @@ get_st_api_full(enum st_api_type api, enum st_profile_type profile) switch (api) { case ST_API_OPENGL: symbol = ST_CREATE_OPENGL_SYMBOL; - switch (profile) { - case ST_PROFILE_OPENGL_ES1: - names[count++] = "GLESv1_CM"; - names[count++] = "GL"; - break; - case ST_PROFILE_OPENGL_ES2: - names[count++] = "GLESv2"; - names[count++] = "GL"; - break; - default: - names[count++] = "GL"; - break; - } + names[count++] = "GL"; break; case ST_API_OPENVG: symbol = ST_CREATE_OPENVG_SYMBOL; diff --git a/src/gallium/targets/egl/st_GLESv1_CM.c b/src/gallium/targets/egl/st_GLESv1_CM.c deleted file mode 100644 index c1df844..0000000 --- a/src/gallium/targets/egl/st_GLESv1_CM.c +++ /dev/null @@ -1,8 +0,0 @@ -#include "state_tracker/st_gl_api.h" -#include "egl.h" - -PUBLIC struct st_api * -st_api_create_OpenGL(void) -{ - return st_gl_api_create(); -} diff --git a/src/gallium/targets/egl/st_GLESv2.c b/src/gallium/targets/egl/st_GLESv2.c deleted file mode 100644 index c1df844..0000000 --- a/src/gallium/targets/egl/st_GLESv2.c +++ /dev/null @@ -1,8 +0,0 @@ -#include "state_tracker/st_gl_api.h" -#include "egl.h" - -PUBLIC struct st_api * -st_api_create_OpenGL(void) -{ - return st_gl_api_create(); -} diff --git a/src/mesa/Makefile b/src/mesa/Makefile index 8b0756b..0d1da01 100644 --- a/src/mesa/Makefile +++ b/src/mesa/Makefile @@ -6,37 +6,20 @@ include $(TOP)/configs/current MESA_LIBS := libmesa.a libmesagallium.a DEPENDS := depend -ifeq ($(GLES_OVERLAY),1) -ES1_LIBS := libes1gallium.a -ES2_LIBS := libes2gallium.a -DEPENDS += depend.es1 depend.es2 -endif - MESA_OBJ_DIR := . -ES1_OBJ_DIR := objs-es1 -ES2_OBJ_DIR := objs-es2 include sources.mak # adjust object dirs -ES1_OBJECTS := $(addprefix $(ES1_OBJ_DIR)/, $(MESA_OBJECTS)) -ES2_OBJECTS := $(addprefix $(ES2_OBJ_DIR)/, $(MESA_OBJECTS)) MESA_OBJECTS := $(addprefix $(MESA_OBJ_DIR)/, $(MESA_OBJECTS)) - -ES1_GALLIUM_OBJECTS := $(addprefix $(ES1_OBJ_DIR)/, $(MESA_GALLIUM_OBJECTS)) -ES2_GALLIUM_OBJECTS := $(addprefix $(ES2_OBJ_DIR)/, $(MESA_GALLIUM_OBJECTS)) MESA_GALLIUM_OBJECTS := $(addprefix $(MESA_OBJ_DIR)/, $(MESA_GALLIUM_OBJECTS)) # define preprocessor flags MESA_CPPFLAGS := $(API_DEFINES) $(DEFINES) -ES1_CPPFLAGS := -DFEATURE_ES1=1 $(DEFINES) -ES2_CPPFLAGS := -DFEATURE_ES2=1 $(DEFINES) # append include dirs MESA_CPPFLAGS += $(INCLUDE_DIRS) $(TALLOC_CFLAGS) -ES1_CPPFLAGS += -I$(TOP)/src/mapi/es1api $(INCLUDE_DIRS) $(TALLOC_CFLAGS) -ES2_CPPFLAGS += -I$(TOP)/src/mapi/es2api $(INCLUDE_DIRS) $(TALLOC_CFLAGS) # tidy compiler flags CFLAGS := $(filter-out $(DEFINES), $(CFLAGS)) @@ -44,8 +27,6 @@ CXXFLAGS := $(filter-out $(DEFINES), $(CXXFLAGS)) # LLVM is needed for the state tracker MESA_CFLAGS := $(LLVM_CFLAGS) -ES1_CFLAGS := $(LLVM_CFLAGS) -ES2_CFLAGS := $(LLVM_CFLAGS) define mesa-cc-c @mkdir -p $(dir $@) @@ -66,29 +47,9 @@ $(MESA_OBJ_DIR)/%.o: %.cpp $(MESA_OBJ_DIR)/%.o: %.S $(call mesa-cc-c,MESA) -$(ES1_OBJ_DIR)/%.o: %.c - $(call mesa-cc-c,ES1) - -$(ES1_OBJ_DIR)/%.o: %.cpp - $(call mesa-cxx-c,ES1) - -$(ES1_OBJ_DIR)/%.o: %.S - $(call mesa-cc-c,ES1) - -$(ES2_OBJ_DIR)/%.o: %.c - $(call mesa-cc-c,ES2) - -$(ES2_OBJ_DIR)/%.o: %.cpp - $(call mesa-cxx-c,ES2) - -$(ES2_OBJ_DIR)/%.o: %.S - $(call mesa-cc-c,ES2) - - # Default: build dependencies, then asm_subdirs, GLSL built-in lib, # then convenience libs (.a) and finally the device drivers: -default: $(DEPENDS) asm_subdirs \ - $(MESA_LIBS) $(ES1_LIBS) $(ES2_LIBS) driver_subdirs +default: $(DEPENDS) asm_subdirs $(MESA_LIBS) driver_subdirs main/api_exec_es1.c: main/APIspec.xml main/es_generator.py main/APIspecutil.py main/APIspec.py $(PYTHON2) $(PYTHON_FLAGS) main/es_generator.py -S main/APIspec.xml -V GLES1.1 > $@ @@ -103,22 +64,10 @@ main/api_exec_es2.c: main/APIspec.xml main/es_generator.py main/APIspecutil.py m libmesa.a: $(MESA_OBJECTS) $(GLSL_LIBS) @ $(MKLIB) -o mesa -static $(MESA_OBJECTS) $(GLSL_LIBS) -libes1.a: $(ES1_OBJECTS) $(GLSL_LIBS) - @$(MKLIB) -o es1 -static $(ES1_OBJECTS) $(GLSL_LIBS) - -libes2.a: $(ES2_OBJECTS) $(GLSL_LIBS) - @$(MKLIB) -o es2 -static $(ES2_OBJECTS) $(GLSL_LIBS) - # Make archive of subset of core mesa object files for gallium libmesagallium.a: $(MESA_GALLIUM_OBJECTS) $(GLSL_LIBS) @ $(MKLIB) -o mesagallium -static $(MESA_GALLIUM_OBJECTS) $(GLSL_LIBS) -libes1gallium.a: $(ES1_GALLIUM_OBJECTS) $(GLSL_LIBS) - @$(MKLIB) -o es1gallium -static $(ES1_GALLIUM_OBJECTS) $(GLSL_LIBS) - -libes2gallium.a: $(ES2_GALLIUM_OBJECTS) $(GLSL_LIBS) - @$(MKLIB) -o es2gallium -static $(ES2_GALLIUM_OBJECTS) $(GLSL_LIBS) - ###################################################################### # Device drivers driver_subdirs: $(MESA_LIBS) @@ -146,18 +95,6 @@ depend: $(ALL_SOURCES) @$(MKDEP) $(MKDEP_OPTIONS) -p$(MESA_OBJ_DIR)/ $(MESA_CPPFLAGS) \ $(ALL_SOURCES) > /dev/null 2>/dev/null -depend.es1: $(ALL_SOURCES) - @echo "running $(MKDEP) for ES1" - @touch $@ - @$(MKDEP) $(MKDEP_OPTIONS) -f$@ -p$(ES1_OBJ_DIR)/ $(ES1_CPPFLAGS) \ - $(ALL_SOURCES) > /dev/null 2>/dev/null - -depend.es2: $(ALL_SOURCES) - @echo "running $(MKDEP) for ES2" - @touch $@ - @$(MKDEP) $(MKDEP_OPTIONS) -f$@ -p$(ES2_OBJ_DIR)/ $(ES2_CPPFLAGS) \ - $(ALL_SOURCES) > /dev/null 2>/dev/null - ###################################################################### # Installation rules @@ -234,17 +171,7 @@ install-dri: default tags: etags `find . -name \*.[ch]` $(TOP)/include/GL/*.h -clean-es1: - -rm -f $(ES1_LIBS) - -rm -rf $(ES1_OBJ_DIR) - -rm -f depend.es1 depend.es1.bak - -clean-es2: - -rm -f $(ES2_LIBS) - -rm -rf $(ES2_OBJ_DIR) - -rm -f depend.es2 depend.es2.bak - -clean: clean-es1 clean-es2 +clean: -rm -f */*.o -rm -f */*/*.o -rm -f depend depend.bak libmesa.a libmesagallium.a _______________________________________________ mesa-commit mailing list mesa-commit@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/mesa-commit