summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--lib/libGL/Makefile52
-rw-r--r--lib/libGL/dri/Makefile2
-rw-r--r--lib/libGL/dri/Makefile.inc25
-rw-r--r--lib/libGL/dri/i915/Makefile3
-rw-r--r--lib/libGL/dri/i965/Makefile16
-rw-r--r--lib/libGL/dri/r200/Makefile11
-rw-r--r--lib/libGL/dri/r300/Makefile18
-rw-r--r--lib/libGL/dri/r600/Makefile20
-rw-r--r--lib/libGL/dri/radeon/Makefile8
-rw-r--r--lib/libGL/dri/swrast/Makefile5
-rw-r--r--lib/libGL/glsl/Makefile5
-rw-r--r--lib/libGL/glsl/Makefile.inc39
-rw-r--r--lib/libGL/glsl/apps/Makefile37
-rw-r--r--lib/libGL/glsl/cl/Makefile12
-rw-r--r--lib/libGL/glsl/glcpp/Makefile45
-rw-r--r--lib/libGL/glsl/glsl_compiler/Makefile55
-rw-r--r--lib/libGL/glsl/libglsl/Makefile138
-rw-r--r--lib/libGL/glsl/pp/Makefile26
-rw-r--r--lib/libGL/libmesa/Makefile119
-rw-r--r--lib/libGL/libmesa/_atexit.c12
-rw-r--r--lib/libGL/libmesa/generated/Makefile31
-rw-r--r--lib/libGL/libmesa/generated/api_exec_es1.c4821
-rw-r--r--lib/libGL/libmesa/generated/api_exec_es2.c2471
-rw-r--r--lib/libGL/libmesa/shader/slang/library/Makefile45
-rw-r--r--lib/libGL/shlib_version2
25 files changed, 7749 insertions, 269 deletions
diff --git a/lib/libGL/Makefile b/lib/libGL/Makefile
index 0f686b791..b54c0a335 100644
--- a/lib/libGL/Makefile
+++ b/lib/libGL/Makefile
@@ -1,21 +1,22 @@
-# $OpenBSD: Makefile,v 1.28 2010/06/22 20:04:22 matthieu Exp $
+# $OpenBSD: Makefile,v 1.29 2011/10/23 13:57:36 matthieu Exp $
.include <bsd.xconf.mk>
.if ${XENOCARA_BUILD_DRI:L} == "yes"
-SUBDIR=glsl libmesa/shader/slang/library libmesa dri
+SUBDIR=glsl libmesa dri
.endif
LIB= GL
MESA= ${.CURDIR}/../../dist/Mesa/src/mesa
-GL= ${.CURDIR}/../../dist/Mesa/src/GL
+MAPI= ${.CURDIR}/../../dist/Mesa/src/mapi
+GL= ${.CURDIR}/../../dist/Mesa/Mesa/src/GL
GLX= ${.CURDIR}/../../dist/Mesa/src/glx
MESA_INCLUDE= ${.CURDIR}/../../dist/Mesa/include
MESA_DRI= ${.CURDIR}/../../dist/Mesa/src/mesa/drivers/dri
MESA_MAJOR= 7
-MESA_MINOR= 8
-MESA_TINY= 2
+MESA_MINOR= 10
+MESA_TINY= 3
DRI_DRIVER_INSTALL_DIR= ${X11BASE}/lib/modules/dri
@@ -24,9 +25,10 @@ DRI_DRIVER_SEARCH_DIR= $(DRI_DRIVER_INSTALL_DIR)
INCSDIR= ${X11BASE}/include/GL
.if ${XENOCARA_BUILD_DRI:L} == "yes"
-LDADD= -L${X11BASE}/lib -lX11 -lXext -lXxf86vm -lXdamage -lXfixes -ldrm
+LDADD= -L${X11BASE}/lib -lX11 -lXext -lXxf86vm -lXdamage -lXfixes \
+ -ldrm -lstdc++ -lm -lc
.else
-LDADD= -L${X11BASE}/lib -lXext -lX11
+LDADD= -L${X11BASE}/lib -lX11 -lXext
.endif
CPP= cpp -notraditional
@@ -37,7 +39,8 @@ CPPFLAGS+= \
-I${MESA_INCLUDE} \
-I${MESA_INCLUDE}/GL/internal \
-I${MESA} \
- -I${MESA}/glapi \
+ -I${MAPI} \
+ -I${MAPI}/glapi \
-I${GLX} \
-I${X11BASE}/include \
-I/usr/include/dev/pci/drm \
@@ -47,7 +50,8 @@ CPPFLAGS+= \
-D_REENTRANT
.if ${XENOCARA_BUILD_DRI:L} == "yes"
-CPPFLAGS+= -DGLX_DIRECT_RENDERING -DXF86VIDMODE \
+CPPFLAGS+= -DMAPI_GLAPI_CURRENT \
+ -DGLX_DIRECT_RENDERING -DXF86VIDMODE \
-DDEFAULT_DRIVER_DIR=\"${DRI_DRIVER_INSTALL_DIR}\"
.endif
@@ -69,8 +73,8 @@ INCS= \
osmesa.h
GLAPI_SOURCES= \
- glapi.c \
glapi_dispatch.c \
+ glapi_entrypoint.c \
glapi_getproc.c \
glapi_nop.c \
glthread.c \
@@ -89,14 +93,15 @@ SPARC_API = glapi_sparc.S
.endif
GLX_SOURCES= \
- glcontextmodes.c \
clientattrib.c \
compsize.c \
glxeval.c \
+ glxconfig.c \
glxcmds.c \
glxcurrent.c \
glxext.c \
glxextensions.c \
+ indirect_glx.c \
indirect.c \
indirect_init.c \
indirect_size.c \
@@ -121,10 +126,24 @@ GLX_SOURCES= \
XF86dri.c \
glxhash.c \
dri2_glx.c \
- dri2.c
+ dri2.c \
+ applegl_glx.c
+
+MAPI_GLAPI_SOURCES = \
+ u_current.c \
+ u_execmem.c \
+ u_thread.c
+
+MAPI_SOURCES = \
+ entry.c \
+ mapi.c \
+ stub.c \
+ table.c \
+ $(MAPI_GLAPI_SOURCES)
SRCS = $(GLX_SOURCES) \
- $(GLAPI_SOURCES)
+ $(GLAPI_SOURCES) \
+ $(MAPI_GLAPI_SOURCES)
includes: _SUBDIRUSE
cd ${MESA_INCLUDE}/GL; for i in ${INCS}; do \
@@ -161,7 +180,7 @@ gl.pc: ${MESA}/gl.pc.in Makefile
sed -e 's,@INSTALL_DIR@,$(X11BASE),' \
-e 's,@INSTALL_LIB_DIR@,${LIBDIR},' \
-e 's,@INSTALL_INC_DIR@,${INCSDIR},' \
- -e 's,@GL_PC_REQ_PRIV@,libdrm >= 2.4.3 dri2proto >= 1.99.3 x11 xext xxf86vm xdamage xfixes,' \
+ -e 's,@GL_PC_REQ_PRIV@,libdrm >= 2.4.15 dri2proto >= 2.1 glproto >= 1.4.11 x11 xext xdamage xfixes xxf86vm,' \
-e 's,@GL_PC_LIB_PRIV@,-L${LIBDIR} -lXxf86vm -lXext -lXdamage -lXfixes -lX11 -lXau -lXdmcp,' \
-e 's,@GL_PC_CFLAGS@,-I${INCSDIR},' \
-e 's,@GL_LIB@,GL,' \
@@ -177,7 +196,7 @@ dri.pc: ${MESA_DRI}/dri.pc.in Makefile
-e 's,@INSTALL_INC_DIR@,${INCSDIR},' \
-e 's,@DRI_DRIVER_DIR@,${DRI_DRIVER_INSTALL_DIR},' \
-e 's,@VERSION@,$(MESA_MAJOR).$(MESA_MINOR).$(MESA_TINY),' \
- -e 's,@DRI_PC_REQ_PRIV@,,' \
+ -e 's,@DRI_PC_REQ_PRIV@,libdrm >= 2.4.15,' \
< ${MESA_DRI}/dri.pc.in > dri.pc
.endif
@@ -205,7 +224,8 @@ CLEANFILES+= gl.pc ${DRI_PC}
.PATH: ${MESA}/x86-64
.endif
.PATH: ${MESA}/main
-.PATH: ${MESA}/glapi
+.PATH: ${MAPI}/glapi
+.PATH: ${MAPI}/mapi
.PATH: ${GLX}
.include <bsd.subdir.mk>
diff --git a/lib/libGL/dri/Makefile b/lib/libGL/dri/Makefile
index e86cd674a..88f1776a7 100644
--- a/lib/libGL/dri/Makefile
+++ b/lib/libGL/dri/Makefile
@@ -1,4 +1,4 @@
-# $OpenBSD: Makefile,v 1.11 2011/05/30 21:52:42 oga Exp $
+# $OpenBSD: Makefile,v 1.12 2011/10/23 13:57:36 matthieu Exp $
SUBDIR= swrast
diff --git a/lib/libGL/dri/Makefile.inc b/lib/libGL/dri/Makefile.inc
index c6891058a..6cdbfc541 100644
--- a/lib/libGL/dri/Makefile.inc
+++ b/lib/libGL/dri/Makefile.inc
@@ -1,4 +1,4 @@
-# $OpenBSD: Makefile.inc,v 1.10 2010/05/22 20:14:14 matthieu Exp $
+# $OpenBSD: Makefile.inc,v 1.11 2011/10/23 13:57:36 matthieu Exp $
.include <bsd.xconf.mk>
MESA= ${.CURDIR}/../../../../dist/Mesa/src/mesa
@@ -25,16 +25,13 @@ CFLAGS+= -g -DIN_DRI_DRIVER -DGLX_DIRECT_RENDERING -DPTHREADS \
CFLAGS += -std=c99
.endif
-t:
- @echo x${COMPILER_VERSION:L:Mgcc[34]*}x
-
INCLUDES = \
-I$(TOP)/src/mesa/drivers/dri/common \
-I$(TOP)/include \
-I$(TOP)/include/GL/internal \
-I$(TOP)/src/mesa \
-I$(TOP)/src/mesa/main \
- -I$(TOP)/src/mesa/glapi \
+ -I$(TOP)/src/mapi \
-I$(TOP)/src/mesa/math \
-I$(TOP)/src/mesa/transform \
-I$(TOP)/src/mesa/shader \
@@ -56,18 +53,15 @@ CPPFLAGS += -DUSE_X86_64_ASM
.endif
LDADD= ../../libmesa/libmesa_pic.a \
- ../../glsl/pp/libglslpp_pic.a \
- ../../glsl/cl/libglslcl_pic.a \
- -L${X11BASE}/lib -lX11 -lexpat -ldrm -lm
-DPADD= ../../libmesa/libmesa_pic.a \
- ../../glsl/pp/libglslpp_pic.a \
- ../../glsl/cl/libglslcl_pic.a
+ ../../glsl/libglsl/libglsl_pic.a \
+ -L${X11BASE}/lib -lexpat -ldrm -lm -lstdc++ -lc
+DPADD= ../../libmesa/libmesa_pic.a
.PATH: ${MESA}/drivers/dri/common
.PATH: ${MESA}/drivers/common
.SUFFIXES:
-.SUFFIXES: .a .c .o .S .s .so
+.SUFFIXES: .a .c .cpp .o .S .s .so
.c.so:
@echo "${COMPILE.c} ${PICFLAG} -DPIC ${.IMPSRC} -o ${.TARGET}"
@@ -75,6 +69,13 @@ DPADD= ../../libmesa/libmesa_pic.a \
@${LD} -X -r ${.TARGET}.o -o ${.TARGET}
@rm -f ${.TARGET}.o
+.cpp.so:
+ @echo "${COMPILE.cc} ${PICFLAG} -DPIC ${.IMPSRC} -o ${.TARGET}"
+ @${COMPILE.cc} ${PICFLAG} -DPIC ${.IMPSRC} -o ${.TARGET}.o
+ @${LD} -X -r ${.TARGET}.o -o ${.TARGET}
+ @rm -f ${.TARGET}.o
+
+
all: ${LIB}
OBJS+= ${SRCS:N*.h:R:S/$/.so/g}
diff --git a/lib/libGL/dri/i915/Makefile b/lib/libGL/dri/i915/Makefile
index 130c759f5..f308e2afb 100644
--- a/lib/libGL/dri/i915/Makefile
+++ b/lib/libGL/dri/i915/Makefile
@@ -1,4 +1,4 @@
-# $OpenBSD: Makefile,v 1.6 2010/05/22 20:14:14 matthieu Exp $
+# $OpenBSD: Makefile,v 1.7 2011/10/23 13:57:36 matthieu Exp $
LIB= i915_dri.so
@@ -14,6 +14,7 @@ DRIVER_SOURCES = \
intel_batchbuffer.c \
intel_clear.c \
intel_extensions.c \
+ intel_extensions_es2.c \
intel_mipmap_tree.c \
intel_tex_layout.c \
intel_tex_image.c \
diff --git a/lib/libGL/dri/i965/Makefile b/lib/libGL/dri/i965/Makefile
index 431fbfff4..0c90446d5 100644
--- a/lib/libGL/dri/i965/Makefile
+++ b/lib/libGL/dri/i965/Makefile
@@ -1,4 +1,4 @@
-# $OpenBSD: Makefile,v 1.5 2010/05/22 20:14:14 matthieu Exp $
+# $OpenBSD: Makefile,v 1.6 2011/10/23 13:57:36 matthieu Exp $
LIB= i965_dri.so
@@ -11,6 +11,7 @@ DRIVER_SOURCES = \
intel_context.c \
intel_decode.c \
intel_extensions.c \
+ intel_extensions_es2.c \
intel_fbo.c \
intel_mipmap_tree.c \
intel_regions.c \
@@ -52,11 +53,13 @@ DRIVER_SOURCES = \
brw_gs_emit.c \
brw_gs_state.c \
brw_misc_state.c \
+ brw_optimize.c \
brw_program.c \
brw_queryobj.c \
brw_sf.c \
brw_sf_emit.c \
brw_sf_state.c \
+ brw_state.c \
brw_state_batch.c \
brw_state_cache.c \
brw_state_dump.c \
@@ -76,7 +79,6 @@ DRIVER_SOURCES = \
brw_wm_emit.c \
brw_wm_fp.c \
brw_wm_iz.c \
- brw_wm_glsl.c \
brw_wm_pass0.c \
brw_wm_pass1.c \
brw_wm_pass2.c \
@@ -95,10 +97,18 @@ DRIVER_SOURCES = \
gen6_vs_state.c \
gen6_wm_state.c
+CXX_SOURCES = \
+ brw_cubemap_normalize.cpp \
+ brw_fs.cpp \
+ brw_fs_channel_expressions.cpp \
+ brw_fs_reg_allocate.cpp \
+ brw_fs_vector_splitting.cpp
+
SRCS = \
$(COMMON_SOURCES) \
$(MINIGLX_SOURCES) \
- $(DRIVER_SOURCES)
+ $(DRIVER_SOURCES) \
+ $(CXX_SOURCES)
DRIVER_DEFINES = \
-I$(MESA)/drivers/dri/i965 \
diff --git a/lib/libGL/dri/r200/Makefile b/lib/libGL/dri/r200/Makefile
index ed0ccd81b..f8d972002 100644
--- a/lib/libGL/dri/r200/Makefile
+++ b/lib/libGL/dri/r200/Makefile
@@ -1,4 +1,4 @@
-# $OpenBSD: Makefile,v 1.2 2010/05/22 20:14:14 matthieu Exp $
+# $OpenBSD: Makefile,v 1.3 2011/10/23 13:57:36 matthieu Exp $
LIB= r200_dri.so
@@ -6,9 +6,10 @@ CS_SOURCES = \
radeon_cs_space_drm.c \
radeon_bo.c \
radeon_cs.c
-
+
RADEON_COMMON_SOURCES = \
radeon_bo_legacy.c \
+ radeon_buffer_objects.c \
radeon_common_context.c \
radeon_common.c \
radeon_cs_legacy.c \
@@ -17,17 +18,19 @@ RADEON_COMMON_SOURCES = \
radeon_fbo.c \
radeon_lock.c \
radeon_mipmap_tree.c \
+ radeon_pixel_read.c \
radeon_queryobj.c \
radeon_span.c \
radeon_texture.c \
- radeon_tex_copy.c
+ radeon_tex_copy.c \
+ radeon_tex_getimage.c \
+ radeon_tile.c
DRIVER_SOURCES = r200_context.c \
r200_ioctl.c \
r200_state.c \
r200_state_init.c \
r200_cmdbuf.c \
- r200_pixel.c \
r200_tex.c \
r200_texstate.c \
r200_tcl.c \
diff --git a/lib/libGL/dri/r300/Makefile b/lib/libGL/dri/r300/Makefile
index 6dedc9c23..e47d4f522 100644
--- a/lib/libGL/dri/r300/Makefile
+++ b/lib/libGL/dri/r300/Makefile
@@ -1,4 +1,4 @@
-# $OpenBSD: Makefile,v 1.4 2010/05/22 20:14:15 matthieu Exp $
+# $OpenBSD: Makefile,v 1.5 2011/10/23 13:57:36 matthieu Exp $
LIB= r300_dri.so
@@ -27,10 +27,13 @@ RADEON_COMMON_SOURCES = \
radeon_fbo.c \
radeon_lock.c \
radeon_mipmap_tree.c \
- radeon_span.c \
+ radeon_pixel_read.c \
radeon_queryobj.c \
+ radeon_span.c \
radeon_texture.c \
- radeon_tex_copy.c
+ radeon_tex_copy.c \
+ radeon_tex_getimage.c \
+ radeon_tile.c
DRIVER_SOURCES = \
radeon_screen.c \
@@ -55,17 +58,24 @@ DRIVER_SOURCES = \
COMPILER_SOURCES = \
radeon_code.c \
radeon_compiler.c \
+ radeon_compiler_util.c \
+ radeon_emulate_branches.c \
+ radeon_emulate_loops.c \
radeon_program.c \
radeon_program_print.c \
radeon_opcodes.c \
radeon_program_alu.c \
radeon_program_pair.c \
+ radeon_program_tex.c \
radeon_pair_translate.c \
radeon_pair_schedule.c \
radeon_pair_regalloc.c \
radeon_dataflow.c \
radeon_dataflow_deadcode.c \
radeon_dataflow_swizzles.c \
+ radeon_optimize.c \
+ radeon_remove_constants.c \
+ radeon_rename_regs.c \
r3xx_fragprog.c \
r300_fragprog.c \
r300_fragprog_swizzle.c \
@@ -88,6 +98,8 @@ DRIVER_DEFINES = -DRADEON_R300 \
.include <bsd.xorg.mk>
+LDADD+= -ldrm_radeon
+
.PATH: $(MESA)/drivers/dri/r300
.PATH: $(MESA)/drivers/dri/r300/compiler
.PATH: $(MESA)/drivers/dri/radeon
diff --git a/lib/libGL/dri/r600/Makefile b/lib/libGL/dri/r600/Makefile
index 6b1ab1f99..eebc8a32a 100644
--- a/lib/libGL/dri/r600/Makefile
+++ b/lib/libGL/dri/r600/Makefile
@@ -1,4 +1,4 @@
-# $OpenBSD: Makefile,v 1.2 2011/05/02 21:55:21 oga Exp $
+# $OpenBSD: Makefile,v 1.3 2011/10/23 13:57:36 matthieu Exp $
LIB= r600_dri.so
@@ -22,10 +22,13 @@ RADEON_COMMON_SOURCES = \
radeon_fbo.c \
radeon_lock.c \
radeon_mipmap_tree.c \
+ radeon_pixel_read.c \
+ radeon_queryobj.c \
radeon_span.c \
radeon_texture.c \
- radeon_queryobj.c \
- radeon_tex_copy.c
+ radeon_tex_copy.c \
+ radeon_tex_getimage.c \
+ radeon_tile.c
DRIVER_SOURCES = \
radeon_screen.c \
@@ -47,6 +50,16 @@ DRIVER_SOURCES = \
r600_texstate.c \
r600_blit.c \
r700_debug.c \
+ evergreen_context.c \
+ evergreen_state.c \
+ evergreen_tex.c \
+ evergreen_ioctl.c \
+ evergreen_render.c \
+ evergreen_chip.c \
+ evergreen_vertprog.c \
+ evergreen_fragprog.c \
+ evergreen_oglprog.c \
+ evergreen_blit.c \
$(RADEON_COMMON_SOURCES) \
$(EGL_SOURCES) \
$(CS_SOURCES)
@@ -59,6 +72,7 @@ DRIVER_DEFINES = -DRADEON_R600 \
-I$(MESA)/drivers/dri/radeon \
-I$(MESA)/drivers/dri/radeon/server
+
.include <bsd.xorg.mk>
LDADD+= -ldrm_radeon
diff --git a/lib/libGL/dri/radeon/Makefile b/lib/libGL/dri/radeon/Makefile
index 7fd5f85a3..e0aa4fca6 100644
--- a/lib/libGL/dri/radeon/Makefile
+++ b/lib/libGL/dri/radeon/Makefile
@@ -1,4 +1,4 @@
-# $OpenBSD: Makefile,v 1.2 2010/05/22 20:14:15 matthieu Exp $
+# $OpenBSD: Makefile,v 1.3 2011/10/23 13:57:36 matthieu Exp $
LIB= radeon_dri.so
@@ -9,6 +9,7 @@ CS_SOURCES = \
RADEON_COMMON_SOURCES = \
radeon_bo_legacy.c \
+ radeon_buffer_objects.c \
radeon_common_context.c \
radeon_common.c \
radeon_cs_legacy.c \
@@ -17,10 +18,13 @@ RADEON_COMMON_SOURCES = \
radeon_fbo.c \
radeon_lock.c \
radeon_mipmap_tree.c \
+ radeon_pixel_read.c \
radeon_queryobj.c \
radeon_span.c \
radeon_texture.c \
- radeon_tex_copy.c
+ radeon_tex_copy.c \
+ radeon_tex_getimage.c \
+ radeon_tile.c
DRIVER_SOURCES = \
radeon_context.c \
diff --git a/lib/libGL/dri/swrast/Makefile b/lib/libGL/dri/swrast/Makefile
index 3bde357ca..446278f3d 100644
--- a/lib/libGL/dri/swrast/Makefile
+++ b/lib/libGL/dri/swrast/Makefile
@@ -1,4 +1,4 @@
-# $OpenBSD: Makefile,v 1.3 2010/05/22 20:14:15 matthieu Exp $
+# $OpenBSD: Makefile,v 1.4 2011/10/23 13:57:36 matthieu Exp $
LIB= swrast_dri.so
@@ -9,7 +9,8 @@ PICFLAG = -fPIC
SWRAST_COMMON_SOURCES = \
driverfuncs.c \
- utils.c
+ utils.c \
+ drisw_util.c
DRIVER_SOURCES = \
swrast.c \
diff --git a/lib/libGL/glsl/Makefile b/lib/libGL/glsl/Makefile
index adb59c32e..4c191965f 100644
--- a/lib/libGL/glsl/Makefile
+++ b/lib/libGL/glsl/Makefile
@@ -1,6 +1,7 @@
-# $OpenBSD: Makefile,v 1.1 2010/05/22 20:14:15 matthieu Exp $
+# $OpenBSD: Makefile,v 1.2 2011/10/23 13:57:36 matthieu Exp $
-SUBDIR= pp cl apps
+SUBDIR= libglsl
+# glsl_compiler glcpp
build depend all install clean cleandir: _SUBDIRUSE
diff --git a/lib/libGL/glsl/Makefile.inc b/lib/libGL/glsl/Makefile.inc
deleted file mode 100644
index 9af73c621..000000000
--- a/lib/libGL/glsl/Makefile.inc
+++ /dev/null
@@ -1,39 +0,0 @@
-# $OpenBSD: Makefile.inc,v 1.2 2010/08/25 17:44:24 todd Exp $
-
-
-.if ${MACHINE_ARCH} == powerpc || ${MACHINE_ARCH} == sparc
-PICFLAG=-fPIC
-.endif
-
-OBJS = ${C_SOURCES:.c=.so}
-
-CPPFLAGS = \
- -I${.CURDIR} ${LIBRARY_INCLUDES}
-
-.if defined(LIB)
-all: ${LIB}_pic.a
-.endif
-
-${LIB}_pic.a: ${OBJS} $(DPADD)
- @rm -f ${LIB}_pic.a
- @${AR} cq ${LIB}_pic.a `${LORDER} ${OBJS} | tsort -q`
- ${RANLIB} ${LIB}_pic.a
-
-clean:
- rm -f ${LIB}_pic.a ${OBJS}
-
-cleandir: clean
-
-install:
- @echo "noting to install"
-
-.SUFFIXES:
-.SUFFIXES: .a .c .o .so
-
-.c.so:
- ${COMPILE.c} ${PICFLAG} -DPIC ${.IMPSRC} -o ${.TARGET}.o
- @${LD} -X -r ${.TARGET}.o -o ${.TARGET}
- @rm -f ${.TARGET}.o
-
-
-.include <bsd.dep.mk>
diff --git a/lib/libGL/glsl/apps/Makefile b/lib/libGL/glsl/apps/Makefile
deleted file mode 100644
index 389b7f26e..000000000
--- a/lib/libGL/glsl/apps/Makefile
+++ /dev/null
@@ -1,37 +0,0 @@
-# $OpenBSD: Makefile,v 1.1 2010/05/22 20:14:15 matthieu Exp $
-
-TOP= ${.CURDIR}/../../../../dist/Mesa
-
-LIBS = \
- ../pp/libglslpp_pic.a \
- ../cl/libglslcl_pic.a
-
-SOURCES = \
- compile.c \
- process.c \
- purify.c \
- tokenise.c \
- version.c
-
-APPS = $(SOURCES:%.c=%)
-
-CPPFLAGS = -I${.CURDIR}
-
-.SUFFIXES:
-.SUFFIXES: .c
-
-.c:
- ${CC} ${LDFLAGS} -o ${.TARGET} ${.IMPSRC} ${LIBS}
-
-all: ${APPS}
-
-install:
-
-clean:
- rm -f ${APPS}
-
-cleandir: clean
-
-.include <bsd.xorg.mk>
-
-.PATH: ${TOP}/src/glsl/apps
diff --git a/lib/libGL/glsl/cl/Makefile b/lib/libGL/glsl/cl/Makefile
deleted file mode 100644
index ab52ee53e..000000000
--- a/lib/libGL/glsl/cl/Makefile
+++ /dev/null
@@ -1,12 +0,0 @@
-# $OpenBSD: Makefile,v 1.2 2010/05/30 20:42:44 matthieu Exp $
-
-TOP= ${.CURDIR}/../../../../dist/Mesa
-
-C_SOURCES = \
- sl_cl_parse.c
-
-LIB= libglslcl
-
-.include <bsd.xorg.mk>
-
-.PATH: ${TOP}/src/glsl/cl
diff --git a/lib/libGL/glsl/glcpp/Makefile b/lib/libGL/glsl/glcpp/Makefile
new file mode 100644
index 000000000..2362c90a7
--- /dev/null
+++ b/lib/libGL/glsl/glcpp/Makefile
@@ -0,0 +1,45 @@
+# $OpenBSD: Makefile,v 1.1 2011/10/23 13:57:36 matthieu Exp $
+.include <bsd.xconf.mk>
+
+MESA= ${.CURDIR}/../../../../dist/Mesa/src/mesa
+MAPI= ${.CURDIR}/../../../../dist/Mesa/src/mapi
+GLSL= ${.CURDIR}/../../../../dist/Mesa/src/glsl
+
+MESA_INCLUDE= ${.CURDIR}/../../../../dist/Mesa/include
+
+
+GLCPP_SOURCES = \
+ hash_table.c \
+ glcpp.c
+
+INCLUDES= \
+ -I${X11BASE}/include/GL \
+ -I$(GLSL) \
+ -I$(GLSL)/glcpp \
+ -I$(MESA) \
+ -I$(MAPI) \
+ -I$(MESA_INCLUDE)
+
+CPPFLAGS+= $(INCLUDES) $(DEFINES)
+
+SRCS= $(GLCPP_SOURCES)
+
+OBJS= $(GLCPP_SOURCES:.c=.o) \
+
+PROG= glcpp
+
+LDADD= ../libglsl/libglsl.a
+
+all: ${PROG}
+
+clean:
+ rm -f ${OBJS} ${PROG}
+
+${PROG}: ${LIBCRT0} ${OBJS} ${LIBC} ${CRTBEGIN} ${CRTEND} ${DPADD}
+ ${CXX} ${LDFLAGS} ${LDSTATIC} -o ${.TARGET} ${OBJS} ${LDADD}
+
+.include <bsd.xorg.mk>
+
+.PATH: ${GLSL}
+.PATH: ${GLSL}/glcpp
+.PATH: ${MESA}/program
diff --git a/lib/libGL/glsl/glsl_compiler/Makefile b/lib/libGL/glsl/glsl_compiler/Makefile
new file mode 100644
index 000000000..080965511
--- /dev/null
+++ b/lib/libGL/glsl/glsl_compiler/Makefile
@@ -0,0 +1,55 @@
+# $OpenBSD: Makefile,v 1.1 2011/10/23 13:57:36 matthieu Exp $
+.include <bsd.xconf.mk>
+
+MESA= ${.CURDIR}/../../../../dist/Mesa/src/mesa
+MAPI= ${.CURDIR}/../../../../dist/Mesa/src/mapi
+GLSL= ${.CURDIR}/../../../../dist/Mesa/src/glsl
+
+MESA_INCLUDE= ${.CURDIR}/../../../../dist/Mesa/include
+
+GLSL2_C_SOURCES = \
+ hash_table.c \
+ symbol_table.c
+GLSL2_CXX_SOURCES = \
+ main.cpp
+
+INCLUDES= \
+ -I${X11BASE}/include/GL \
+ -I$(GLSL) \
+ -I$(GLSL)/glcpp \
+ -I$(MESA) \
+ -I$(MAPI) \
+ -I$(MESA_INCLUDE)
+
+CPPFLAGS+= $(INCLUDES) $(DEFINES)
+
+SRCS= $(GLSL2_C_SOURCES) \
+ $(GLSL2_CXX_SOURCES)
+
+OBJS= $(GLSL2_C_SOURCES:.c=.o) \
+ $(GLSL2_CXX_SOURCES:.cpp=.o)
+
+PROG= glsl_compiler
+
+LDADD= ../libglsl/libglsl.a
+
+all: ${PROG}
+
+clean:
+ rm -f ${OBJS} ${PROG}
+
+.SUFFIXES: .cpp
+
+.cpp.o:
+ @echo "${COMPILE.cc} ${.IMPSRC} -o ${.TARGET}"
+ @${COMPILE.cc} ${.IMPSRC} -o ${.TARGET}.o
+ @${LD} -X -r ${.TARGET}.o -o ${.TARGET}
+ @rm -f ${.TARGET}.o
+
+${PROG}: ${LIBCRT0} ${OBJS} ${LIBC} ${CRTBEGIN} ${CRTEND} ${DPADD}
+ ${CXX} ${LDFLAGS} ${LDSTATIC} -o ${.TARGET} ${OBJS} ${LDADD}
+
+.include <bsd.xorg.mk>
+
+.PATH: ${GLSL}
+.PATH: ${MESA}/program
diff --git a/lib/libGL/glsl/libglsl/Makefile b/lib/libGL/glsl/libglsl/Makefile
new file mode 100644
index 000000000..a138343f3
--- /dev/null
+++ b/lib/libGL/glsl/libglsl/Makefile
@@ -0,0 +1,138 @@
+# $OpenBSD: Makefile,v 1.1 2011/10/23 13:57:36 matthieu Exp $
+.include <bsd.xconf.mk>
+
+MESA= ${.CURDIR}/../../../../dist/Mesa/src/mesa
+MAPI= ${.CURDIR}/../../../../dist/Mesa/src/mapi
+GLSL= ${.CURDIR}/../../../../dist/Mesa/src/glsl
+
+MESA_INCLUDE= ${.CURDIR}/../../../../dist/Mesa/include
+
+
+LIBGLCPP_SOURCES = \
+ glcpp-lex.c \
+ glcpp-parse.c \
+ pp.c
+
+GLCPP_SOURCES = \
+ $(LIBGLCPP_SOURCES) \
+ glcpp.c
+
+C_SOURCES = \
+ strtod.c \
+ ralloc.c \
+ $(LIBGLCPP_SOURCES)
+
+CXX_SOURCES = \
+ ast_expr.cpp \
+ ast_function.cpp \
+ ast_to_hir.cpp \
+ ast_type.cpp \
+ builtin_function.cpp \
+ glsl_lexer.cpp \
+ glsl_parser.cpp \
+ glsl_parser_extras.cpp \
+ glsl_symbol_table.cpp \
+ glsl_types.cpp \
+ hir_field_selection.cpp \
+ ir.cpp \
+ ir_basic_block.cpp \
+ ir_clone.cpp \
+ ir_constant_expression.cpp \
+ ir_expression_flattening.cpp \
+ ir_function.cpp \
+ ir_function_can_inline.cpp \
+ ir_hierarchical_visitor.cpp \
+ ir_hv_accept.cpp \
+ ir_import_prototypes.cpp \
+ ir_print_visitor.cpp \
+ ir_reader.cpp \
+ ir_rvalue_visitor.cpp \
+ ir_set_program_inouts.cpp \
+ ir_validate.cpp \
+ ir_variable.cpp \
+ ir_variable_refcount.cpp \
+ link_functions.cpp \
+ linker.cpp \
+ loop_analysis.cpp \
+ loop_controls.cpp \
+ loop_unroll.cpp \
+ lower_discard.cpp \
+ lower_if_to_cond_assign.cpp \
+ lower_instructions.cpp \
+ lower_jumps.cpp \
+ lower_mat_op_to_vec.cpp \
+ lower_noise.cpp \
+ lower_texture_projection.cpp \
+ lower_variable_index_to_cond_assign.cpp \
+ lower_vec_index_to_cond_assign.cpp \
+ lower_vec_index_to_swizzle.cpp \
+ lower_vector.cpp \
+ main.cpp \
+ opt_algebraic.cpp \
+ opt_constant_folding.cpp \
+ opt_constant_propagation.cpp \
+ opt_constant_variable.cpp \
+ opt_copy_propagation.cpp \
+ opt_dead_code.cpp \
+ opt_dead_code_local.cpp \
+ opt_dead_functions.cpp \
+ opt_discard_simplification.cpp \
+ opt_function_inlining.cpp \
+ opt_if_simplification.cpp \
+ opt_noop_swizzle.cpp \
+ opt_redundant_jumps.cpp \
+ opt_structure_splitting.cpp \
+ opt_swizzle_swizzle.cpp \
+ opt_tree_grafting.cpp \
+ s_expression.cpp
+
+LIB= glsl
+
+SRCS= \
+ $(C_SOURCES) \
+ $(CXX_SOURCES)
+
+OBJS+= $(CXX_SOURCES:.cpp=.o)
+
+INCLUDES= \
+ -I${X11BASE}/include/GL \
+ -I$(GLSL) \
+ -I$(GLSL)/glcpp \
+ -I$(MESA) \
+ -I$(MAPI) \
+ -I$(MESA_INCLUDE)
+
+CPPFLAGS+= $(INCLUDES) $(DEFINES)
+
+NOPROFILE=
+
+obj: _xenocara_obj
+
+install:
+ @echo "Not installing libglsl"
+
+.include <bsd.lib.mk>
+
+# Tweak suffixes: only .cpp is used for C++,
+# ignore .l and .y to avoid rebuilding cpp-{lex,parse}.c
+# which need bison/recent flex.
+.SUFFIXES:
+.SUFFIXES: .out .o .go .po .so .S .s .c .cc .cpp .f .ln .m4 .m
+
+.cpp.o:
+ @echo "${COMPILE.cc} ${.IMPSRC} -o ${.TARGET}"
+ @${COMPILE.cc} ${.IMPSRC} -o ${.TARGET}.o
+ @${LD} -X -r ${.TARGET}.o -o ${.TARGET}
+ @rm -f ${.TARGET}.o
+
+.cpp.so:
+ @echo "${COMPILE.cc} ${PICFLAG} -DPIC ${.IMPSRC} -o ${.TARGET}"
+ @${COMPILE.cc} ${PICFLAG} -DPIC ${.IMPSRC} -o ${.TARGET}.o
+ @${LD} -X -r ${.TARGET}.o -o ${.TARGET}
+ @rm -f ${.TARGET}.o
+
+.include <bsd.xorg.mk>
+
+.PATH: ${GLSL}
+.PATH.cpp: ${GLSL}
+.PATH: ${GLSL}/glcpp
diff --git a/lib/libGL/glsl/pp/Makefile b/lib/libGL/glsl/pp/Makefile
deleted file mode 100644
index 2f06d09fc..000000000
--- a/lib/libGL/glsl/pp/Makefile
+++ /dev/null
@@ -1,26 +0,0 @@
-# $OpenBSD: Makefile,v 1.1 2010/05/22 20:14:15 matthieu Exp $
-
-TOP= ${.CURDIR}/../../../../dist/Mesa
-
-C_SOURCES= \
- sl_pp_context.c \
- sl_pp_define.c \
- sl_pp_dict.c \
- sl_pp_error.c \
- sl_pp_expression.c \
- sl_pp_extension.c \
- sl_pp_if.c \
- sl_pp_line.c \
- sl_pp_macro.c \
- sl_pp_pragma.c \
- sl_pp_process.c \
- sl_pp_purify.c \
- sl_pp_token.c \
- sl_pp_token_util.c \
- sl_pp_version.c
-
-LIB= libglslpp
-
-.include <bsd.xorg.mk>
-
-.PATH: ${TOP}/src/glsl/pp
diff --git a/lib/libGL/libmesa/Makefile b/lib/libGL/libmesa/Makefile
index bbfb88ce6..ef73b9787 100644
--- a/lib/libGL/libmesa/Makefile
+++ b/lib/libGL/libmesa/Makefile
@@ -1,24 +1,23 @@
-# $OpenBSD: Makefile,v 1.10 2010/05/22 20:14:15 matthieu Exp $
+# $OpenBSD: Makefile,v 1.11 2011/10/23 13:57:36 matthieu Exp $
MESA= ${.CURDIR}/../../../dist/Mesa/src/mesa
-MESA_INCLUDE= ${.CURDIR}/../../../dist/Mesa/include
+MAPI= ${.CURDIR}/../../../dist/Mesa/src/mapi
+GLSL= ${.CURDIR}/../../../dist/Mesa/src/glsl
-SUBDIR = shader/slang/library
+MESA_INCLUDE= ${.CURDIR}/../../../dist/Mesa/include
CPP= cpp -notraditional
CPPFLAGS+= \
-I. \
+ -I${MAPI} \
-I${MESA_INCLUDE} \
-I${MESA_INCLUDE}/GL/internal \
-I${MESA} \
-I${MESA}/main \
-I${MESA}/math \
- -I${MESA}/glapi \
-I${MESA}/tnl \
- -I${MESA}/shader \
- -I${MESA}/shader/grammar \
- -I${MESA}/shader/slang \
+ -I${GLSL} \
-I${.OBJDIR}/shader/slang \
-I${X11BASE}/include \
-I/usr/include/dev/pci/drm \
@@ -43,14 +42,21 @@ CPPFLAGS += \
-D__GLX_ALIGN64 -DUSE_X86_64_ASM
.endif
+# this is part of MAIN_SOURCES
+MAIN_ES_SOURCES = \
+ api_exec_es1.c \
+ api_exec_es2.c
+
# main
-MAIN_SOURCES= \
+MAIN_SOURCES = \
api_arrayelt.c \
api_exec.c \
api_loopback.c \
api_noop.c \
api_validate.c \
accum.c \
+ arbprogram.c \
+ atifragshader.c \
attrib.c \
arrayobj.c \
blend.c \
@@ -69,6 +75,7 @@ MAIN_SOURCES= \
dlist.c \
dlopen.c \
drawpix.c \
+ drawtex.c \
enable.c \
enums.c \
eval.c \
@@ -93,18 +100,22 @@ MAIN_SOURCES= \
mipmap.c \
mm.c \
multisample.c \
+ nvprogram.c \
+ pack.c \
pixel.c \
pixelstore.c \
+ pixeltransfer.c \
points.c \
polygon.c \
queryobj.c \
+ querymatrix.c \
rastpos.c \
- rbadaptors.c \
readpix.c \
remap.c \
renderbuffer.c \
scissor.c \
- shaders.c \
+ shaderapi.c \
+ shaderobj.c \
shared.c \
state.c \
stencil.c \
@@ -120,14 +131,18 @@ MAIN_SOURCES= \
texgetimage.c \
teximage.c \
texobj.c \
+ texpal.c \
texparam.c \
texrender.c \
texstate.c \
texstore.c \
+ transformfeedback.c \
+ uniforms.c \
varray.c \
version.c \
viewport.c \
- vtxfmt.c
+ vtxfmt.c \
+ $(MAIN_ES_SOURCES)
# math
MATH_SOURCES= \
@@ -137,7 +152,9 @@ MATH_SOURCES= \
m_eval.c \
m_matrix.c \
m_translate.c \
- m_vector.c \
+ m_vector.c
+
+MATH_XFORM_SOURCES = \
m_xform.c
# swrast
@@ -176,7 +193,7 @@ SWRAST_SETUP_SOURCES= \
ss_triangle.c
# tnl
-TNL_SOURCES= \
+TNL_SOURCES = \
t_context.c \
t_pipeline.c \
t_draw.c \
@@ -186,7 +203,6 @@ TNL_SOURCES= \
t_vb_texgen.c \
t_vb_texmat.c \
t_vb_vertex.c \
- t_vb_cull.c \
t_vb_fog.c \
t_vb_light.c \
t_vb_normals.c \
@@ -212,15 +228,11 @@ VBO_SOURCES = \
vbo_save_draw.c \
vbo_save_loopback.c
-# shader
-SHADER_SOURCES= \
+PROGRAM_SOURCES = \
arbprogparse.c \
- arbprogram.c \
- atifragshader.c \
hash_table.c \
lex.yy.c \
nvfragparse.c \
- nvprogram.c \
nvvertparse.c \
program.c \
program_parse.tab.c \
@@ -236,30 +248,12 @@ SHADER_SOURCES= \
prog_statevars.c \
prog_uniform.c \
programopt.c \
- symbol_table.c \
- shader_api.c
-
-# shader/slang
-SLANG_SOURCES= \
- slang_builtin.c \
- slang_codegen.c \
- slang_compile.c \
- slang_compile_function.c \
- slang_compile_operation.c \
- slang_compile_struct.c \
- slang_compile_variable.c \
- slang_emit.c \
- slang_ir.c \
- slang_label.c \
- slang_link.c \
- slang_log.c \
- slang_mem.c \
- slang_print.c \
- slang_simplify.c \
- slang_storage.c \
- slang_typeinfo.c \
- slang_vartable.c \
- slang_utility.c
+ register_allocate.c \
+ symbol_table.c
+
+SHADER_CXX_SOURCES = \
+ ir_to_mesa.cpp \
+ sampler.cpp
.if ${MACHINE_ARCH} == i386
ASM_C_SOURCES= \
@@ -315,36 +309,41 @@ COMMON_DRIVER_SOURCES = \
MESA_SOURCES = \
$(MAIN_SOURCES) \
$(MATH_SOURCES) \
+ $(MATH_XFORM_SOURCES) \
$(VBO_SOURCES) \
$(TNL_SOURCES) \
- $(SHADER_SOURCES) \
+ $(PROGRAM_SOURCES) \
$(SWRAST_SOURCES) \
$(SWRAST_SETUP_SOURCES) \
$(COMMON_DRIVER_SOURCES) \
- $(ASM_C_SOURCES) \
- $(SLANG_SOURCES)
+ $(ASM_C_SOURCES)
+
+MESA_CXX_SOURCES = \
+ $(SHADER_CXX_SOURCES)
SRCS= ${MESA_SOURCES} \
- ${ASM_SOURCES}
+ ${MESA_CXX_SOURCES} \
+ ${ASM_SOURCES} \
+ _atexit.c
OBJS+= ${SRCS:N*.h:R:S/$/.so/g}
LIB= libmesa
-all: _SUBDIRUSE ${LIB}_pic.a
+all: ${LIB}_pic.a
obj: _xenocara_obj
install:
@echo "Not installing libmesa"
-clean: _SUBDIRUSE
+clean:
rm -f ${LIB}_pic.a ${OBJS} $(CLEANFILES)
cleandir: clean
.SUFFIXES:
-.SUFFIXES: .a .c .o .S .s .so
+.SUFFIXES: .a .c .cpp .o .S .s .so
.c.so:
@echo "${COMPILE.c} ${PICFLAG} -DPIC ${.IMPSRC} -o ${.TARGET}"
@@ -352,6 +351,12 @@ cleandir: clean
@${LD} -X -r ${.TARGET}.o -o ${.TARGET}
@rm -f ${.TARGET}.o
+.cpp.so:
+ @echo "${COMPILE.cc} ${PICFLAG} -DPIC ${.IMPSRC} -o ${.TARGET}"
+ @${COMPILE.cc} ${PICFLAG} -DPIC ${.IMPSRC} -o ${.TARGET}.o
+ @${LD} -X -r ${.TARGET}.o -o ${.TARGET}
+ @rm -f ${.TARGET}.o
+
.S.so .s.so:
@echo "${CPP} -DPIC ${CPPFLAGS} ${CFLAGS:M-[ID]*} ${AINC} ${.IMPSRC} | \
${AS} ${ASPICFLAG} -o ${.TARGET}"
@@ -360,12 +365,12 @@ cleandir: clean
@${LD} -X -r ${.TARGET}.o -o ${.TARGET}
@rm -f ${.TARGET}.o
+
${LIB}_pic.a: ${OBJS} $(DPADD)
@rm -f ${LIB}_pic.a
@${AR} cq ${LIB}_pic.a `${LORDER} ${OBJS} | tsort -q`
${RANLIB} ${LIB}_pic.a
-
.if ${MACHINE_ARCH} == i386 || ${MACHINE_ARCH} == amd64
gen_matypes: gen_matypes.c
$(CC) $(CPPFLAGS) $(CFLAGS) ${MESA}/x86/gen_matypes.c -o gen_matypes
@@ -409,22 +414,16 @@ x86_xform4.so: matypes.h
.PATH: ${MESA}/x86-64
.PATH: ${MESA}/x86
.endif
-.PATH: ${MESA}/glapi
+.PATH: ${MAPI}/glapi
.PATH: ${MESA}/main
.PATH: ${MESA}/math
.PATH: ${MESA}/swrast
.PATH: ${MESA}/swrast_setup
.PATH: ${MESA}/tnl
-.PATH: ${MESA}/shader
-.PATH: ${MESA}/shader/grammar
-.PATH: ${MESA}/shader/slang
-.PATH: ${MESA}/shader/slang/MachineIndependent
-.PATH: ${MESA}/shader/slang/MachineIndependent/preprocessor
-.PATH: ${MESA}/shader/slang/OGLCompilersDLL
-.PATH: ${MESA}/shader/slang/OSDependent/Linux
+.PATH: ${MESA}/program
.PATH: ${MESA}/vbo
.PATH: ${MESA}/drivers/common
-
+.PATH: ${.CURDIR}/generated
.include <bsd.xorg.mk>
diff --git a/lib/libGL/libmesa/_atexit.c b/lib/libGL/libmesa/_atexit.c
new file mode 100644
index 000000000..5e2e7f03f
--- /dev/null
+++ b/lib/libGL/libmesa/_atexit.c
@@ -0,0 +1,12 @@
+/**
+ ** Hack for OpenBSD atexit
+ ** Author: Matthew Dempsky <matthew@dempsky.org>
+ **/
+extern int __cxa_atexit(void (*)(void *), void *, void *);
+extern void *__dso_handle;
+
+int __attribute__((visibility("hidden")))
+atexit(void (*fn)(void))
+{
+ return (__cxa_atexit((void (*)(void *))fn, 0, &__dso_handle));
+}
diff --git a/lib/libGL/libmesa/generated/Makefile b/lib/libGL/libmesa/generated/Makefile
new file mode 100644
index 000000000..431ff4d88
--- /dev/null
+++ b/lib/libGL/libmesa/generated/Makefile
@@ -0,0 +1,31 @@
+# $OpenBSD: Makefile,v 1.1 2011/10/23 13:57:36 matthieu Exp $
+
+MESA= ${.CURDIR}/../../../../dist/Mesa/src/mesa
+
+PYTHON= python${PYTHON_VERSION}
+PYTHON_FLAGS= -t -O -O
+
+GENERATED= api_exec_es1.c api_exec_es2.c
+
+all: ${GENERATED}
+
+obj:
+
+depend:
+
+install:
+
+clean distclean:
+ rm -f ${GENERATED}
+
+api_exec_es1.c: APIspec.xml es_generator.py APIspecutil.py APIspec.py
+ $(PYTHON) $(PYTHON_FLAGS) ${MESA}/main/es_generator.py -S ${MESA}/main/APIspec.xml -V GLES1.1 > $@
+
+api_exec_es2.c: APIspec.xml es_generator.py APIspecutil.py APIspec.py
+ $(PYTHON) $(PYTHON_FLAGS) ${MESA}/main/es_generator.py -S ${MESA}/main/APIspec.xml -V GLES2.0 > $@
+
+.SUFFIXES: .py .xml
+
+.PATH: ${MESA}/main
+
+.include <bsd.xorg.mk>
diff --git a/lib/libGL/libmesa/generated/api_exec_es1.c b/lib/libGL/libmesa/generated/api_exec_es1.c
new file mode 100644
index 000000000..54b3f0d62
--- /dev/null
+++ b/lib/libGL/libmesa/generated/api_exec_es1.c
@@ -0,0 +1,4821 @@
+/* DO NOT EDIT *************************************************
+ * THIS FILE AUTOMATICALLY GENERATED BY THE es_generator.py SCRIPT
+ * API specification file: /share/OpenBSD/xenocara/lib/libGL/libmesa/generated/../../../../dist/Mesa/src/mesa/main/APIspec.xml
+ * GLES version: GLES1.1
+ * date: 2011-05-15 15:41:33
+ */
+
+
+#include "GLES/gl.h"
+#include "GLES/glext.h"
+#include "main/mfeatures.h"
+
+#if FEATURE_ES1
+
+
+/* These types are needed for the Mesa veneer, but are not defined in
+ * the standard GLES headers.
+ */
+typedef double GLdouble;
+typedef double GLclampd;
+
+/* Mesa error handling requires these */
+extern void *_mesa_get_current_context(void);
+extern void _mesa_error(void *ctx, GLenum error, const char *fmtString, ... );
+
+#include "main/compiler.h"
+#include "main/api_exec.h"
+#include "main/remap.h"
+
+/* cannot include main/dispatch.h here */
+#ifdef IN_DRI_DRIVER
+#define _GLAPI_USE_REMAP_TABLE
+#endif
+/* glapi uses GLAPIENTRY while GLES headers define GL_APIENTRY */
+#ifndef GLAPIENTRY
+#define GLAPIENTRY GL_APIENTRY
+#endif
+#include "es1api/glapi/glapitable.h"
+#include "es1api/glapi/glapioffsets.h"
+#include "es1api/glapi/glapidispatch.h"
+
+#if FEATURE_remap_table
+
+#if !FEATURE_GL
+int driDispatchRemapTable[driDispatchRemapTable_size];
+#endif
+
+#define need_MESA_remap_table
+
+#include "es1api/main/remap_helper.h"
+
+void
+_mesa_init_remap_table_es1(void)
+{
+ _mesa_do_init_remap_table(_mesa_function_pool,
+ driDispatchRemapTable_size,
+ MESA_remap_table_functions);
+}
+
+void
+_mesa_map_static_functions_es1(void)
+{
+}
+
+#endif
+
+typedef void (*_glapi_proc)(void); /* generic function pointer */
+
+/*************************************************************
+ * Generated functions begin here
+ */
+
+extern void GL_APIENTRY _mesa_ActiveTextureARB(GLenum texture);
+static void GL_APIENTRY _es_ActiveTexture(GLenum texture)
+{
+ switch(texture) {
+ case GL_TEXTURE0:
+ case GL_TEXTURE1:
+ case GL_TEXTURE2:
+ case GL_TEXTURE3:
+ case GL_TEXTURE4:
+ case GL_TEXTURE5:
+ case GL_TEXTURE6:
+ case GL_TEXTURE7:
+ case GL_TEXTURE8:
+ case GL_TEXTURE9:
+ case GL_TEXTURE10:
+ case GL_TEXTURE11:
+ case GL_TEXTURE12:
+ case GL_TEXTURE13:
+ case GL_TEXTURE14:
+ case GL_TEXTURE15:
+ case GL_TEXTURE16:
+ case GL_TEXTURE17:
+ case GL_TEXTURE18:
+ case GL_TEXTURE19:
+ case GL_TEXTURE20:
+ case GL_TEXTURE21:
+ case GL_TEXTURE22:
+ case GL_TEXTURE23:
+ case GL_TEXTURE24:
+ case GL_TEXTURE25:
+ case GL_TEXTURE26:
+ case GL_TEXTURE27:
+ case GL_TEXTURE28:
+ case GL_TEXTURE29:
+ case GL_TEXTURE30:
+ case GL_TEXTURE31:
+ break;
+ default:
+ _mesa_error(_mesa_get_current_context(), GL_INVALID_ENUM, "glActiveTexture(texture=0x%x)", texture);
+ return;
+ }
+
+ _mesa_ActiveTextureARB(texture);
+}
+
+extern void GL_APIENTRY _mesa_AlphaFunc(GLenum func, GLclampf ref);
+static void GL_APIENTRY _es_AlphaFunc(GLenum func, GLclampf ref)
+{
+ switch(func) {
+ case GL_NEVER:
+ case GL_LESS:
+ case GL_EQUAL:
+ case GL_LEQUAL:
+ case GL_GREATER:
+ case GL_NOTEQUAL:
+ case GL_GEQUAL:
+ case GL_ALWAYS:
+ break;
+ default:
+ _mesa_error(_mesa_get_current_context(), GL_INVALID_ENUM, "glAlphaFunc(func=0x%x)", func);
+ return;
+ }
+
+ _mesa_AlphaFunc(func, ref);
+}
+
+extern void GL_APIENTRY _mesa_AlphaFunc(GLenum func, GLclampf ref);
+static void GL_APIENTRY _es_AlphaFuncx(GLenum func, GLclampx ref)
+{
+ GLclampf converted_ref;
+
+ switch(func) {
+ case GL_NEVER:
+ case GL_LESS:
+ case GL_EQUAL:
+ case GL_LEQUAL:
+ case GL_GREATER:
+ case GL_NOTEQUAL:
+ case GL_GEQUAL:
+ case GL_ALWAYS:
+ break;
+ default:
+ _mesa_error(_mesa_get_current_context(), GL_INVALID_ENUM, "glAlphaFuncx(func=0x%x)", func);
+ return;
+ }
+
+ converted_ref = (GLclampf) (ref / 65536.0f);
+
+ _mesa_AlphaFunc(func, converted_ref);
+}
+
+extern void GL_APIENTRY _mesa_BindBufferARB(GLenum target, GLuint buffer);
+static void GL_APIENTRY _es_BindBuffer(GLenum target, GLuint buffer)
+{
+ switch(target) {
+ case GL_ARRAY_BUFFER:
+ case GL_ELEMENT_ARRAY_BUFFER:
+ break;
+ default:
+ _mesa_error(_mesa_get_current_context(), GL_INVALID_ENUM, "glBindBuffer(target=0x%x)", target);
+ return;
+ }
+
+ _mesa_BindBufferARB(target, buffer);
+}
+
+extern void GL_APIENTRY _mesa_BindFramebufferEXT(GLenum target, GLuint framebuffer);
+static void GL_APIENTRY _es_BindFramebufferOES(GLenum target, GLuint framebuffer)
+{
+ switch(target) {
+ case GL_FRAMEBUFFER_OES:
+ break;
+ default:
+ _mesa_error(_mesa_get_current_context(), GL_INVALID_ENUM, "glBindFramebufferOES(target=0x%x)", target);
+ return;
+ }
+
+ _mesa_BindFramebufferEXT(target, framebuffer);
+}
+
+extern void GL_APIENTRY _mesa_BindRenderbufferEXT(GLenum target, GLuint renderbuffer);
+static void GL_APIENTRY _es_BindRenderbufferOES(GLenum target, GLuint renderbuffer)
+{
+ switch(target) {
+ case GL_RENDERBUFFER_OES:
+ break;
+ default:
+ _mesa_error(_mesa_get_current_context(), GL_INVALID_ENUM, "glBindRenderbufferOES(target=0x%x)", target);
+ return;
+ }
+
+ _mesa_BindRenderbufferEXT(target, renderbuffer);
+}
+
+extern void GL_APIENTRY _mesa_BindTexture(GLenum target, GLuint texture);
+static void GL_APIENTRY _es_BindTexture(GLenum target, GLuint texture)
+{
+ switch(target) {
+ case GL_TEXTURE_2D:
+ case GL_TEXTURE_CUBE_MAP_OES:
+ break;
+ default:
+ _mesa_error(_mesa_get_current_context(), GL_INVALID_ENUM, "glBindTexture(target=0x%x)", target);
+ return;
+ }
+
+ _mesa_BindTexture(target, texture);
+}
+
+extern void GL_APIENTRY _mesa_BlendEquation(GLenum mode);
+static void GL_APIENTRY _es_BlendEquationOES(GLenum mode)
+{
+ switch(mode) {
+ case GL_FUNC_ADD_OES:
+ case GL_FUNC_SUBTRACT_OES:
+ case GL_FUNC_REVERSE_SUBTRACT_OES:
+ case GL_MIN_EXT:
+ case GL_MAX_EXT:
+ break;
+ default:
+ _mesa_error(_mesa_get_current_context(), GL_INVALID_ENUM, "glBlendEquationOES(mode=0x%x)", mode);
+ return;
+ }
+
+ _mesa_BlendEquation(mode);
+}
+
+extern void GL_APIENTRY _mesa_BlendEquationSeparateEXT(GLenum modeRGB, GLenum modeAlpha);
+static void GL_APIENTRY _es_BlendEquationSeparateOES(GLenum modeRGB, GLenum modeAlpha)
+{
+ switch(modeRGB) {
+ case GL_FUNC_ADD_OES:
+ case GL_FUNC_SUBTRACT_OES:
+ case GL_FUNC_REVERSE_SUBTRACT_OES:
+ case GL_MIN_EXT:
+ case GL_MAX_EXT:
+ break;
+ default:
+ _mesa_error(_mesa_get_current_context(), GL_INVALID_ENUM, "glBlendEquationSeparateOES(modeRGB=0x%x)", modeRGB);
+ return;
+ }
+ switch(modeAlpha) {
+ case GL_FUNC_ADD_OES:
+ case GL_FUNC_SUBTRACT_OES:
+ case GL_FUNC_REVERSE_SUBTRACT_OES:
+ case GL_MIN_EXT:
+ case GL_MAX_EXT:
+ break;
+ default:
+ _mesa_error(_mesa_get_current_context(), GL_INVALID_ENUM, "glBlendEquationSeparateOES(modeAlpha=0x%x)", modeAlpha);
+ return;
+ }
+
+ _mesa_BlendEquationSeparateEXT(modeRGB, modeAlpha);
+}
+
+extern void GL_APIENTRY _mesa_BlendFunc(GLenum sfactor, GLenum dfactor);
+static void GL_APIENTRY _es_BlendFunc(GLenum sfactor, GLenum dfactor)
+{
+ switch(sfactor) {
+ case GL_ZERO:
+ case GL_ONE:
+ case GL_SRC_COLOR:
+ case GL_ONE_MINUS_SRC_COLOR:
+ case GL_SRC_ALPHA:
+ case GL_ONE_MINUS_SRC_ALPHA:
+ case GL_DST_ALPHA:
+ case GL_ONE_MINUS_DST_ALPHA:
+ case GL_DST_COLOR:
+ case GL_ONE_MINUS_DST_COLOR:
+ case GL_SRC_ALPHA_SATURATE:
+ break;
+ default:
+ _mesa_error(_mesa_get_current_context(), GL_INVALID_ENUM, "glBlendFunc(sfactor=0x%x)", sfactor);
+ return;
+ }
+ switch(dfactor) {
+ case GL_ZERO:
+ case GL_ONE:
+ case GL_SRC_COLOR:
+ case GL_ONE_MINUS_SRC_COLOR:
+ case GL_SRC_ALPHA:
+ case GL_ONE_MINUS_SRC_ALPHA:
+ case GL_DST_ALPHA:
+ case GL_ONE_MINUS_DST_ALPHA:
+ case GL_DST_COLOR:
+ case GL_ONE_MINUS_DST_COLOR:
+ break;
+ default:
+ _mesa_error(_mesa_get_current_context(), GL_INVALID_ENUM, "glBlendFunc(dfactor=0x%x)", dfactor);
+ return;
+ }
+
+ _mesa_BlendFunc(sfactor, dfactor);
+}
+
+extern void GL_APIENTRY _mesa_BlendFuncSeparateEXT(GLenum srcRGB, GLenum dstRGB, GLenum srcAlpha, GLenum dstAlpha);
+static void GL_APIENTRY _es_BlendFuncSeparateOES(GLenum srcRGB, GLenum dstRGB, GLenum srcAlpha, GLenum dstAlpha)
+{
+ switch(srcRGB) {
+ case GL_ZERO:
+ case GL_ONE:
+ case GL_SRC_COLOR:
+ case GL_ONE_MINUS_SRC_COLOR:
+ case GL_SRC_ALPHA:
+ case GL_ONE_MINUS_SRC_ALPHA:
+ case GL_DST_ALPHA:
+ case GL_ONE_MINUS_DST_ALPHA:
+ case GL_DST_COLOR:
+ case GL_ONE_MINUS_DST_COLOR:
+ case GL_SRC_ALPHA_SATURATE:
+ break;
+ default:
+ _mesa_error(_mesa_get_current_context(), GL_INVALID_ENUM, "glBlendFuncSeparateOES(srcRGB=0x%x)", srcRGB);
+ return;
+ }
+ switch(dstRGB) {
+ case GL_ZERO:
+ case GL_ONE:
+ case GL_SRC_COLOR:
+ case GL_ONE_MINUS_SRC_COLOR:
+ case GL_SRC_ALPHA:
+ case GL_ONE_MINUS_SRC_ALPHA:
+ case GL_DST_ALPHA:
+ case GL_ONE_MINUS_DST_ALPHA:
+ case GL_DST_COLOR:
+ case GL_ONE_MINUS_DST_COLOR:
+ break;
+ default:
+ _mesa_error(_mesa_get_current_context(), GL_INVALID_ENUM, "glBlendFuncSeparateOES(dstRGB=0x%x)", dstRGB);
+ return;
+ }
+ switch(srcAlpha) {
+ case GL_ZERO:
+ case GL_ONE:
+ case GL_SRC_COLOR:
+ case GL_ONE_MINUS_SRC_COLOR:
+ case GL_SRC_ALPHA:
+ case GL_ONE_MINUS_SRC_ALPHA:
+ case GL_DST_ALPHA:
+ case GL_ONE_MINUS_DST_ALPHA:
+ case GL_DST_COLOR:
+ case GL_ONE_MINUS_DST_COLOR:
+ case GL_SRC_ALPHA_SATURATE:
+ break;
+ default:
+ _mesa_error(_mesa_get_current_context(), GL_INVALID_ENUM, "glBlendFuncSeparateOES(srcAlpha=0x%x)", srcAlpha);
+ return;
+ }
+ switch(dstAlpha) {
+ case GL_ZERO:
+ case GL_ONE:
+ case GL_SRC_COLOR:
+ case GL_ONE_MINUS_SRC_COLOR:
+ case GL_SRC_ALPHA:
+ case GL_ONE_MINUS_SRC_ALPHA:
+ case GL_DST_ALPHA:
+ case GL_ONE_MINUS_DST_ALPHA:
+ case GL_DST_COLOR:
+ case GL_ONE_MINUS_DST_COLOR:
+ break;
+ default:
+ _mesa_error(_mesa_get_current_context(), GL_INVALID_ENUM, "glBlendFuncSeparateOES(dstAlpha=0x%x)", dstAlpha);
+ return;
+ }
+
+ _mesa_BlendFuncSeparateEXT(srcRGB, dstRGB, srcAlpha, dstAlpha);
+}
+
+extern void GL_APIENTRY _mesa_BufferDataARB(GLenum target, GLsizeiptr size, const GLvoid * data, GLenum usage);
+static void GL_APIENTRY _es_BufferData(GLenum target, GLsizeiptr size, const GLvoid *data, GLenum usage)
+{
+ switch(target) {
+ case GL_ARRAY_BUFFER:
+ case GL_ELEMENT_ARRAY_BUFFER:
+ break;
+ default:
+ _mesa_error(_mesa_get_current_context(), GL_INVALID_ENUM, "glBufferData(target=0x%x)", target);
+ return;
+ }
+ switch(usage) {
+ case GL_STATIC_DRAW:
+ case GL_DYNAMIC_DRAW:
+ break;
+ default:
+ _mesa_error(_mesa_get_current_context(), GL_INVALID_ENUM, "glBufferData(usage=0x%x)", usage);
+ return;
+ }
+
+ _mesa_BufferDataARB(target, size, data, usage);
+}
+
+extern void GL_APIENTRY _mesa_BufferSubDataARB(GLenum target, GLintptr offset, GLsizeiptr size, const GLvoid * data);
+static void GL_APIENTRY _es_BufferSubData(GLenum target, GLintptr offset, GLsizeiptr size, const GLvoid *data)
+{
+ switch(target) {
+ case GL_ARRAY_BUFFER:
+ case GL_ELEMENT_ARRAY_BUFFER:
+ break;
+ default:
+ _mesa_error(_mesa_get_current_context(), GL_INVALID_ENUM, "glBufferSubData(target=0x%x)", target);
+ return;
+ }
+
+ _mesa_BufferSubDataARB(target, offset, size, data);
+}
+
+extern GLenum GL_APIENTRY _mesa_CheckFramebufferStatusEXT(GLenum target);
+static GLenum GL_APIENTRY _es_CheckFramebufferStatusOES(GLenum target)
+{
+ switch(target) {
+ case GL_FRAMEBUFFER_OES:
+ break;
+ default:
+ _mesa_error(_mesa_get_current_context(), GL_INVALID_ENUM, "glCheckFramebufferStatusOES(target=0x%x)", target);
+ return (GLenum) 0;
+ }
+
+ return _mesa_CheckFramebufferStatusEXT(target);
+}
+
+extern void GL_APIENTRY _mesa_Clear(GLbitfield mask);
+static void GL_APIENTRY _es_Clear(GLbitfield mask)
+{
+ switch(mask) {
+ case 0:
+ case (GL_COLOR_BUFFER_BIT):
+ case (GL_DEPTH_BUFFER_BIT):
+ case (GL_STENCIL_BUFFER_BIT):
+ case (GL_COLOR_BUFFER_BIT|GL_DEPTH_BUFFER_BIT):
+ case (GL_COLOR_BUFFER_BIT|GL_STENCIL_BUFFER_BIT):
+ case (GL_DEPTH_BUFFER_BIT|GL_STENCIL_BUFFER_BIT):
+ case (GL_COLOR_BUFFER_BIT|GL_DEPTH_BUFFER_BIT|GL_STENCIL_BUFFER_BIT):
+ break;
+ default:
+ _mesa_error(_mesa_get_current_context(), GL_INVALID_VALUE, "glClear(mask=0x%x)", mask);
+ return;
+ }
+
+ _mesa_Clear(mask);
+}
+
+extern void GL_APIENTRY _mesa_ClearColor(GLclampf red, GLclampf green, GLclampf blue, GLclampf alpha);
+#define _es_ClearColor _mesa_ClearColor
+
+extern void GL_APIENTRY _mesa_ClearColor(GLclampf red, GLclampf green, GLclampf blue, GLclampf alpha);
+static void GL_APIENTRY _es_ClearColorx(GLclampx red, GLclampx green, GLclampx blue, GLclampx alpha)
+{
+ GLclampf converted_red;
+ GLclampf converted_green;
+ GLclampf converted_blue;
+ GLclampf converted_alpha;
+
+ converted_red = (GLclampf) (red / 65536.0f);
+ converted_green = (GLclampf) (green / 65536.0f);
+ converted_blue = (GLclampf) (blue / 65536.0f);
+ converted_alpha = (GLclampf) (alpha / 65536.0f);
+
+ _mesa_ClearColor(converted_red, converted_green, converted_blue, converted_alpha);
+}
+
+extern void GL_APIENTRY _mesa_ClearDepthf(GLclampf depth);
+#define _es_ClearDepthf _mesa_ClearDepthf
+
+extern void GL_APIENTRY _mesa_ClearDepthf(GLclampf depth);
+static void GL_APIENTRY _es_ClearDepthx(GLclampx depth)
+{
+ GLclampf converted_depth;
+
+ converted_depth = (GLclampf) (depth / 65536.0f);
+
+ _mesa_ClearDepthf(converted_depth);
+}
+
+extern void GL_APIENTRY _mesa_ClearStencil(GLint s);
+#define _es_ClearStencil _mesa_ClearStencil
+
+extern void GL_APIENTRY _mesa_ClientActiveTextureARB(GLenum texture);
+static void GL_APIENTRY _es_ClientActiveTexture(GLenum texture)
+{
+ switch(texture) {
+ case GL_TEXTURE0:
+ case GL_TEXTURE1:
+ case GL_TEXTURE2:
+ case GL_TEXTURE3:
+ case GL_TEXTURE4:
+ case GL_TEXTURE5:
+ case GL_TEXTURE6:
+ case GL_TEXTURE7:
+ case GL_TEXTURE8:
+ case GL_TEXTURE9:
+ case GL_TEXTURE10:
+ case GL_TEXTURE11:
+ case GL_TEXTURE12:
+ case GL_TEXTURE13:
+ case GL_TEXTURE14:
+ case GL_TEXTURE15:
+ case GL_TEXTURE16:
+ case GL_TEXTURE17:
+ case GL_TEXTURE18:
+ case GL_TEXTURE19:
+ case GL_TEXTURE20:
+ case GL_TEXTURE21:
+ case GL_TEXTURE22:
+ case GL_TEXTURE23:
+ case GL_TEXTURE24:
+ case GL_TEXTURE25:
+ case GL_TEXTURE26:
+ case GL_TEXTURE27:
+ case GL_TEXTURE28:
+ case GL_TEXTURE29:
+ case GL_TEXTURE30:
+ case GL_TEXTURE31:
+ break;
+ default:
+ _mesa_error(_mesa_get_current_context(), GL_INVALID_ENUM, "glClientActiveTexture(texture=0x%x)", texture);
+ return;
+ }
+
+ _mesa_ClientActiveTextureARB(texture);
+}
+
+extern void GL_APIENTRY _mesa_ClipPlane(GLenum plane, GLdouble const * equation);
+static void GL_APIENTRY _es_ClipPlanef(GLenum plane, const GLfloat *equation)
+{
+ register unsigned int i;
+ unsigned int n_equation = 4;
+ GLdouble converted_equation[4];
+
+ switch(plane) {
+ case GL_CLIP_PLANE0:
+ case GL_CLIP_PLANE1:
+ case GL_CLIP_PLANE2:
+ case GL_CLIP_PLANE3:
+ case GL_CLIP_PLANE4:
+ case GL_CLIP_PLANE5:
+ break;
+ default:
+ _mesa_error(_mesa_get_current_context(), GL_INVALID_ENUM, "glClipPlanef(plane=0x%x)", plane);
+ return;
+ }
+
+ for (i = 0; i < n_equation; i++) {
+ converted_equation[i] = (GLdouble) (equation[i]);
+ }
+
+ _mesa_ClipPlane(plane, converted_equation);
+}
+
+extern void GL_APIENTRY _mesa_ClipPlane(GLenum plane, GLdouble const * equation);
+static void GL_APIENTRY _es_ClipPlanex(GLenum plane, const GLfixed *equation)
+{
+ register unsigned int i;
+ unsigned int n_equation = 4;
+ GLdouble converted_equation[4];
+
+ switch(plane) {
+ case GL_CLIP_PLANE0:
+ case GL_CLIP_PLANE1:
+ case GL_CLIP_PLANE2:
+ case GL_CLIP_PLANE3:
+ case GL_CLIP_PLANE4:
+ case GL_CLIP_PLANE5:
+ break;
+ default:
+ _mesa_error(_mesa_get_current_context(), GL_INVALID_ENUM, "glClipPlanex(plane=0x%x)", plane);
+ return;
+ }
+
+ for (i = 0; i < n_equation; i++) {
+ converted_equation[i] = (GLdouble) (equation[i] / 65536.0);
+ }
+
+ _mesa_ClipPlane(plane, converted_equation);
+}
+
+extern void GL_APIENTRY _vbo_Color4f(GLfloat red, GLfloat green, GLfloat blue, GLfloat alpha);
+#define _es_Color4f _vbo_Color4f
+
+extern void GL_APIENTRY _vbo_Color4f(GLfloat red, GLfloat green, GLfloat blue, GLfloat alpha);
+static void GL_APIENTRY _es_Color4ub(GLubyte red, GLubyte green, GLubyte blue, GLubyte alpha)
+{
+ GLfloat converted_red;
+ GLfloat converted_green;
+ GLfloat converted_blue;
+ GLfloat converted_alpha;
+
+ converted_red = (GLfloat) (red / 255.0f);
+ converted_green = (GLfloat) (green / 255.0f);
+ converted_blue = (GLfloat) (blue / 255.0f);
+ converted_alpha = (GLfloat) (alpha / 255.0f);
+
+ _vbo_Color4f(converted_red, converted_green, converted_blue, converted_alpha);
+}
+
+extern void GL_APIENTRY _vbo_Color4f(GLfloat red, GLfloat green, GLfloat blue, GLfloat alpha);
+static void GL_APIENTRY _es_Color4x(GLfixed red, GLfixed green, GLfixed blue, GLfixed alpha)
+{
+ GLfloat converted_red;
+ GLfloat converted_green;
+ GLfloat converted_blue;
+ GLfloat converted_alpha;
+
+ converted_red = (GLfloat) (red / 65536.0f);
+ converted_green = (GLfloat) (green / 65536.0f);
+ converted_blue = (GLfloat) (blue / 65536.0f);
+ converted_alpha = (GLfloat) (alpha / 65536.0f);
+
+ _vbo_Color4f(converted_red, converted_green, converted_blue, converted_alpha);
+}
+
+extern void GL_APIENTRY _mesa_ColorMask(GLboolean red, GLboolean green, GLboolean blue, GLboolean alpha);
+#define _es_ColorMask _mesa_ColorMask
+
+extern void GL_APIENTRY _mesa_ColorPointer(GLint size, GLenum type, GLsizei stride, const GLvoid * pointer);
+static void GL_APIENTRY _es_ColorPointer(GLint size, GLenum type, GLsizei stride, const GLvoid *pointer)
+{
+ switch(size) {
+ case 4:
+ break;
+ default:
+ _mesa_error(_mesa_get_current_context(), GL_INVALID_VALUE, "glColorPointer(size=%d)", size);
+ return;
+ }
+ switch(type) {
+ case GL_UNSIGNED_BYTE:
+ case GL_FLOAT:
+ case GL_FIXED:
+ break;
+ default:
+ _mesa_error(_mesa_get_current_context(), GL_INVALID_ENUM, "glColorPointer(type=0x%x)", type);
+ return;
+ }
+
+ _mesa_ColorPointer(size, type, stride, pointer);
+}
+
+extern void GL_APIENTRY _mesa_CompressedTexImage2DARB(GLenum target, GLint level, GLenum internalFormat, GLsizei width, GLsizei height, GLint border, GLsizei imageSize, const GLvoid * data);
+static void GL_APIENTRY _es_CompressedTexImage2D(GLenum target, GLint level, GLenum internalFormat, GLsizei width, GLsizei height, GLint border, GLsizei imageSize, const GLvoid *data)
+{
+ switch(target) {
+ case GL_TEXTURE_2D:
+ case GL_TEXTURE_CUBE_MAP_POSITIVE_X_OES:
+ case GL_TEXTURE_CUBE_MAP_POSITIVE_Y_OES:
+ case GL_TEXTURE_CUBE_MAP_POSITIVE_Z_OES:
+ case GL_TEXTURE_CUBE_MAP_NEGATIVE_X_OES:
+ case GL_TEXTURE_CUBE_MAP_NEGATIVE_Y_OES:
+ case GL_TEXTURE_CUBE_MAP_NEGATIVE_Z_OES:
+ break;
+ default:
+ _mesa_error(_mesa_get_current_context(), GL_INVALID_ENUM, "glCompressedTexImage2D(target=0x%x)", target);
+ return;
+ }
+ switch(internalFormat) {
+ case GL_PALETTE4_RGB8_OES:
+ case GL_PALETTE4_RGBA8_OES:
+ case GL_PALETTE4_R5_G6_B5_OES:
+ case GL_PALETTE4_RGBA4_OES:
+ case GL_PALETTE4_RGB5_A1_OES:
+ case GL_PALETTE8_RGB8_OES:
+ case GL_PALETTE8_RGBA8_OES:
+ case GL_PALETTE8_R5_G6_B5_OES:
+ case GL_PALETTE8_RGBA4_OES:
+ case GL_PALETTE8_RGB5_A1_OES:
+ break;
+ default:
+ _mesa_error(_mesa_get_current_context(), GL_INVALID_ENUM, "glCompressedTexImage2D(internalFormat=0x%x)", internalFormat);
+ return;
+ }
+ switch(border) {
+ case 0:
+ break;
+ default:
+ _mesa_error(_mesa_get_current_context(), GL_INVALID_VALUE, "glCompressedTexImage2D(border=%d)", border);
+ return;
+ }
+
+ _mesa_CompressedTexImage2DARB(target, level, internalFormat, width, height, border, imageSize, data);
+}
+
+extern void GL_APIENTRY _mesa_CompressedTexSubImage2DARB(GLenum target, GLint level, GLint xoffset, GLint yoffset, GLsizei width, GLsizei height, GLenum format, GLsizei imageSize, const GLvoid * data);
+static void GL_APIENTRY _es_CompressedTexSubImage2D(GLenum target, GLint level, GLint xoffset, GLint yoffset, GLsizei width, GLsizei height, GLenum format, GLsizei imageSize, const GLvoid *data)
+{
+ switch(target) {
+ case GL_TEXTURE_2D:
+ case GL_TEXTURE_CUBE_MAP_POSITIVE_X_OES:
+ case GL_TEXTURE_CUBE_MAP_POSITIVE_Y_OES:
+ case GL_TEXTURE_CUBE_MAP_POSITIVE_Z_OES:
+ case GL_TEXTURE_CUBE_MAP_NEGATIVE_X_OES:
+ case GL_TEXTURE_CUBE_MAP_NEGATIVE_Y_OES:
+ case GL_TEXTURE_CUBE_MAP_NEGATIVE_Z_OES:
+ break;
+ default:
+ _mesa_error(_mesa_get_current_context(), GL_INVALID_ENUM, "glCompressedTexSubImage2D(target=0x%x)", target);
+ return;
+ }
+
+ _mesa_CompressedTexSubImage2DARB(target, level, xoffset, yoffset, width, height, format, imageSize, data);
+}
+
+extern void GL_APIENTRY _mesa_CopyTexImage2D(GLenum target, GLint level, GLenum internalFormat, GLint x, GLint y, GLsizei width, GLsizei height, GLint border);
+static void GL_APIENTRY _es_CopyTexImage2D(GLenum target, GLint level, GLenum internalFormat, GLint x, GLint y, GLsizei width, GLsizei height, GLint border)
+{
+ switch(target) {
+ case GL_TEXTURE_2D:
+ case GL_TEXTURE_CUBE_MAP_POSITIVE_X_OES:
+ case GL_TEXTURE_CUBE_MAP_POSITIVE_Y_OES:
+ case GL_TEXTURE_CUBE_MAP_POSITIVE_Z_OES:
+ case GL_TEXTURE_CUBE_MAP_NEGATIVE_X_OES:
+ case GL_TEXTURE_CUBE_MAP_NEGATIVE_Y_OES:
+ case GL_TEXTURE_CUBE_MAP_NEGATIVE_Z_OES:
+ break;
+ default:
+ _mesa_error(_mesa_get_current_context(), GL_INVALID_ENUM, "glCopyTexImage2D(target=0x%x)", target);
+ return;
+ }
+ switch(internalFormat) {
+ case GL_ALPHA:
+ case GL_RGB:
+ case GL_RGBA:
+ case GL_LUMINANCE:
+ case GL_LUMINANCE_ALPHA:
+ break;
+ default:
+ _mesa_error(_mesa_get_current_context(), GL_INVALID_VALUE, "glCopyTexImage2D(internalFormat=0x%x)", internalFormat);
+ return;
+ }
+ switch(border) {
+ case 0:
+ break;
+ default:
+ _mesa_error(_mesa_get_current_context(), GL_INVALID_VALUE, "glCopyTexImage2D(border=%d)", border);
+ return;
+ }
+
+ _mesa_CopyTexImage2D(target, level, internalFormat, x, y, width, height, border);
+}
+
+extern void GL_APIENTRY _mesa_CopyTexSubImage2D(GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint x, GLint y, GLsizei width, GLsizei height);
+static void GL_APIENTRY _es_CopyTexSubImage2D(GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint x, GLint y, GLsizei width, GLsizei height)
+{
+ switch(target) {
+ case GL_TEXTURE_2D:
+ case GL_TEXTURE_CUBE_MAP_POSITIVE_X_OES:
+ case GL_TEXTURE_CUBE_MAP_POSITIVE_Y_OES:
+ case GL_TEXTURE_CUBE_MAP_POSITIVE_Z_OES:
+ case GL_TEXTURE_CUBE_MAP_NEGATIVE_X_OES:
+ case GL_TEXTURE_CUBE_MAP_NEGATIVE_Y_OES:
+ case GL_TEXTURE_CUBE_MAP_NEGATIVE_Z_OES:
+ break;
+ default:
+ _mesa_error(_mesa_get_current_context(), GL_INVALID_ENUM, "glCopyTexSubImage2D(target=0x%x)", target);
+ return;
+ }
+
+ _mesa_CopyTexSubImage2D(target, level, xoffset, yoffset, x, y, width, height);
+}
+
+extern void GL_APIENTRY _mesa_CullFace(GLenum mode);
+static void GL_APIENTRY _es_CullFace(GLenum mode)
+{
+ switch(mode) {
+ case GL_FRONT:
+ case GL_BACK:
+ case GL_FRONT_AND_BACK:
+ break;
+ default:
+ _mesa_error(_mesa_get_current_context(), GL_INVALID_ENUM, "glCullFace(mode=0x%x)", mode);
+ return;
+ }
+
+ _mesa_CullFace(mode);
+}
+
+extern void GL_APIENTRY _mesa_DeleteBuffersARB(GLsizei n, const GLuint * buffer);
+#define _es_DeleteBuffers _mesa_DeleteBuffersARB
+
+extern void GL_APIENTRY _mesa_DeleteFramebuffersEXT(GLsizei n, const GLuint * framebuffers);
+#define _es_DeleteFramebuffersOES _mesa_DeleteFramebuffersEXT
+
+extern void GL_APIENTRY _mesa_DeleteRenderbuffersEXT(GLsizei n, const GLuint * renderbuffers);
+#define _es_DeleteRenderbuffersOES _mesa_DeleteRenderbuffersEXT
+
+extern void GL_APIENTRY _mesa_DeleteTextures(GLsizei n, const GLuint * textures);
+#define _es_DeleteTextures _mesa_DeleteTextures
+
+extern void GL_APIENTRY _mesa_DepthFunc(GLenum func);
+static void GL_APIENTRY _es_DepthFunc(GLenum func)
+{
+ switch(func) {
+ case GL_NEVER:
+ case GL_LESS:
+ case GL_EQUAL:
+ case GL_LEQUAL:
+ case GL_GREATER:
+ case GL_NOTEQUAL:
+ case GL_GEQUAL:
+ case GL_ALWAYS:
+ break;
+ default:
+ _mesa_error(_mesa_get_current_context(), GL_INVALID_ENUM, "glDepthFunc(func=0x%x)", func);
+ return;
+ }
+
+ _mesa_DepthFunc(func);
+}
+
+extern void GL_APIENTRY _mesa_DepthMask(GLboolean flag);
+#define _es_DepthMask _mesa_DepthMask
+
+extern void GL_APIENTRY _mesa_DepthRangef(GLclampf zNear, GLclampf zFar);
+#define _es_DepthRangef _mesa_DepthRangef
+
+extern void GL_APIENTRY _mesa_DepthRangef(GLclampf zNear, GLclampf zFar);
+static void GL_APIENTRY _es_DepthRangex(GLclampx zNear, GLclampx zFar)
+{
+ GLclampf converted_zNear;
+ GLclampf converted_zFar;
+
+ converted_zNear = (GLclampf) (zNear / 65536.0f);
+ converted_zFar = (GLclampf) (zFar / 65536.0f);
+
+ _mesa_DepthRangef(converted_zNear, converted_zFar);
+}
+
+extern void GL_APIENTRY _mesa_Disable(GLenum cap);
+static void GL_APIENTRY _es_Disable(GLenum cap)
+{
+ switch(cap) {
+ case GL_NORMALIZE:
+ case GL_RESCALE_NORMAL:
+ case GL_CLIP_PLANE0:
+ case GL_CLIP_PLANE1:
+ case GL_CLIP_PLANE2:
+ case GL_CLIP_PLANE3:
+ case GL_CLIP_PLANE4:
+ case GL_CLIP_PLANE5:
+ case GL_FOG:
+ case GL_LIGHTING:
+ case GL_COLOR_MATERIAL:
+ case GL_LIGHT0:
+ case GL_LIGHT1:
+ case GL_LIGHT2:
+ case GL_LIGHT3:
+ case GL_LIGHT4:
+ case GL_LIGHT5:
+ case GL_LIGHT6:
+ case GL_LIGHT7:
+ case GL_POINT_SMOOTH:
+ case GL_LINE_SMOOTH:
+ case GL_CULL_FACE:
+ case GL_POLYGON_OFFSET_FILL:
+ case GL_MULTISAMPLE:
+ case GL_SAMPLE_ALPHA_TO_COVERAGE:
+ case GL_SAMPLE_ALPHA_TO_ONE:
+ case GL_SAMPLE_COVERAGE:
+ case GL_TEXTURE_2D:
+ case GL_SCISSOR_TEST:
+ case GL_ALPHA_TEST:
+ case GL_STENCIL_TEST:
+ case GL_DEPTH_TEST:
+ case GL_BLEND:
+ case GL_DITHER:
+ case GL_COLOR_LOGIC_OP:
+ case GL_POINT_SPRITE_OES:
+ case GL_MATRIX_PALETTE_OES:
+ case GL_TEXTURE_CUBE_MAP_OES:
+ case GL_TEXTURE_GEN_STR_OES:
+ break;
+ default:
+ _mesa_error(_mesa_get_current_context(), GL_INVALID_ENUM, "glDisable(cap=0x%x)", cap);
+ return;
+ }
+
+ _mesa_Disable(cap);
+}
+
+extern void GL_APIENTRY _mesa_DisableClientState(GLenum array);
+static void GL_APIENTRY _es_DisableClientState(GLenum array)
+{
+ switch(array) {
+ case GL_VERTEX_ARRAY:
+ case GL_NORMAL_ARRAY:
+ case GL_COLOR_ARRAY:
+ case GL_TEXTURE_COORD_ARRAY:
+ case GL_MATRIX_INDEX_ARRAY_OES:
+ case GL_WEIGHT_ARRAY_OES:
+ case GL_POINT_SIZE_ARRAY_OES:
+ break;
+ default:
+ _mesa_error(_mesa_get_current_context(), GL_INVALID_ENUM, "glDisableClientState(array=0x%x)", array);
+ return;
+ }
+
+ _mesa_DisableClientState(array);
+}
+
+extern void GL_APIENTRY _mesa_DrawArrays(GLenum mode, GLint first, GLsizei count);
+static void GL_APIENTRY _es_DrawArrays(GLenum mode, GLint first, GLsizei count)
+{
+ switch(mode) {
+ case GL_POINTS:
+ case GL_LINES:
+ case GL_LINE_LOOP:
+ case GL_LINE_STRIP:
+ case GL_TRIANGLES:
+ case GL_TRIANGLE_STRIP:
+ case GL_TRIANGLE_FAN:
+ break;
+ default:
+ _mesa_error(_mesa_get_current_context(), GL_INVALID_ENUM, "glDrawArrays(mode=0x%x)", mode);
+ return;
+ }
+
+ _mesa_DrawArrays(mode, first, count);
+}
+
+extern void GL_APIENTRY _mesa_DrawElements(GLenum mode, GLsizei count, GLenum type, const GLvoid * indices);
+static void GL_APIENTRY _es_DrawElements(GLenum mode, GLsizei count, GLenum type, const GLvoid *indices)
+{
+ switch(mode) {
+ case GL_POINTS:
+ case GL_LINES:
+ case GL_LINE_LOOP:
+ case GL_LINE_STRIP:
+ case GL_TRIANGLES:
+ case GL_TRIANGLE_STRIP:
+ case GL_TRIANGLE_FAN:
+ break;
+ default:
+ _mesa_error(_mesa_get_current_context(), GL_INVALID_ENUM, "glDrawElements(mode=0x%x)", mode);
+ return;
+ }
+ switch(type) {
+ case GL_UNSIGNED_BYTE:
+ case GL_UNSIGNED_SHORT:
+ case GL_UNSIGNED_INT:
+ break;
+ default:
+ _mesa_error(_mesa_get_current_context(), GL_INVALID_ENUM, "glDrawElements(type=0x%x)", type);
+ return;
+ }
+
+ _mesa_DrawElements(mode, count, type, indices);
+}
+
+extern void GL_APIENTRY _mesa_DrawTexf(GLfloat x, GLfloat y, GLfloat z, GLfloat w, GLfloat h);
+#define _es_DrawTexfOES _mesa_DrawTexf
+
+extern void GL_APIENTRY _mesa_DrawTexfv(const GLfloat * coords);
+#define _es_DrawTexfvOES _mesa_DrawTexfv
+
+extern void GL_APIENTRY _mesa_DrawTexi(GLint x, GLint y, GLint z, GLint w, GLint h);
+#define _es_DrawTexiOES _mesa_DrawTexi
+
+extern void GL_APIENTRY _mesa_DrawTexiv(const GLint * coords);
+#define _es_DrawTexivOES _mesa_DrawTexiv
+
+extern void GL_APIENTRY _mesa_DrawTexs(GLshort x, GLshort y, GLshort z, GLshort w, GLshort h);
+#define _es_DrawTexsOES _mesa_DrawTexs
+
+extern void GL_APIENTRY _mesa_DrawTexsv(const GLshort * coords);
+#define _es_DrawTexsvOES _mesa_DrawTexsv
+
+extern void GL_APIENTRY _mesa_DrawTexf(GLfloat x, GLfloat y, GLfloat z, GLfloat w, GLfloat h);
+static void GL_APIENTRY _es_DrawTexxOES(GLfixed x, GLfixed y, GLfixed z, GLfixed w, GLfixed h)
+{
+ GLfloat converted_x;
+ GLfloat converted_y;
+ GLfloat converted_z;
+ GLfloat converted_w;
+ GLfloat converted_h;
+
+ converted_x = (GLfloat) (x / 65536.0f);
+ converted_y = (GLfloat) (y / 65536.0f);
+ converted_z = (GLfloat) (z / 65536.0f);
+ converted_w = (GLfloat) (w / 65536.0f);
+ converted_h = (GLfloat) (h / 65536.0f);
+
+ _mesa_DrawTexf(converted_x, converted_y, converted_z, converted_w, converted_h);
+}
+
+extern void GL_APIENTRY _mesa_DrawTexfv(GLfloat const * coords);
+static void GL_APIENTRY _es_DrawTexxvOES(const GLfixed *coords)
+{
+ register unsigned int i;
+ unsigned int n_coords = 5;
+ GLfloat converted_coords[5];
+
+ for (i = 0; i < n_coords; i++) {
+ converted_coords[i] = (GLfloat) (coords[i] / 65536.0f);
+ }
+
+ _mesa_DrawTexfv(converted_coords);
+}
+
+extern void GL_APIENTRY _mesa_EGLImageTargetRenderbufferStorageOES(GLenum target, GLeglImageOES image);
+static void GL_APIENTRY _es_EGLImageTargetRenderbufferStorageOES(GLenum target, GLeglImageOES image)
+{
+ switch(target) {
+ case GL_RENDERBUFFER_OES:
+ break;
+ default:
+ _mesa_error(_mesa_get_current_context(), GL_INVALID_ENUM, "glEGLImageTargetRenderbufferStorageOES(target=0x%x)", target);
+ return;
+ }
+
+ _mesa_EGLImageTargetRenderbufferStorageOES(target, image);
+}
+
+extern void GL_APIENTRY _mesa_EGLImageTargetTexture2DOES(GLenum target, GLeglImageOES image);
+static void GL_APIENTRY _es_EGLImageTargetTexture2DOES(GLenum target, GLeglImageOES image)
+{
+ switch(target) {
+ case GL_TEXTURE_2D:
+ break;
+ default:
+ _mesa_error(_mesa_get_current_context(), GL_INVALID_ENUM, "glEGLImageTargetTexture2DOES(target=0x%x)", target);
+ return;
+ }
+
+ _mesa_EGLImageTargetTexture2DOES(target, image);
+}
+
+extern void GL_APIENTRY _mesa_Enable(GLenum cap);
+static void GL_APIENTRY _es_Enable(GLenum cap)
+{
+ switch(cap) {
+ case GL_NORMALIZE:
+ case GL_RESCALE_NORMAL:
+ case GL_CLIP_PLANE0:
+ case GL_CLIP_PLANE1:
+ case GL_CLIP_PLANE2:
+ case GL_CLIP_PLANE3:
+ case GL_CLIP_PLANE4:
+ case GL_CLIP_PLANE5:
+ case GL_FOG:
+ case GL_LIGHTING:
+ case GL_COLOR_MATERIAL:
+ case GL_LIGHT0:
+ case GL_LIGHT1:
+ case GL_LIGHT2:
+ case GL_LIGHT3:
+ case GL_LIGHT4:
+ case GL_LIGHT5:
+ case GL_LIGHT6:
+ case GL_LIGHT7:
+ case GL_POINT_SMOOTH:
+ case GL_LINE_SMOOTH:
+ case GL_CULL_FACE:
+ case GL_POLYGON_OFFSET_FILL:
+ case GL_MULTISAMPLE:
+ case GL_SAMPLE_ALPHA_TO_COVERAGE:
+ case GL_SAMPLE_ALPHA_TO_ONE:
+ case GL_SAMPLE_COVERAGE:
+ case GL_TEXTURE_2D:
+ case GL_SCISSOR_TEST:
+ case GL_ALPHA_TEST:
+ case GL_STENCIL_TEST:
+ case GL_DEPTH_TEST:
+ case GL_BLEND:
+ case GL_DITHER:
+ case GL_COLOR_LOGIC_OP:
+ case GL_POINT_SPRITE_OES:
+ case GL_MATRIX_PALETTE_OES:
+ case GL_TEXTURE_CUBE_MAP_OES:
+ case GL_TEXTURE_GEN_STR_OES:
+ break;
+ default:
+ _mesa_error(_mesa_get_current_context(), GL_INVALID_ENUM, "glEnable(cap=0x%x)", cap);
+ return;
+ }
+
+ _mesa_Enable(cap);
+}
+
+extern void GL_APIENTRY _mesa_EnableClientState(GLenum array);
+static void GL_APIENTRY _es_EnableClientState(GLenum array)
+{
+ switch(array) {
+ case GL_VERTEX_ARRAY:
+ case GL_NORMAL_ARRAY:
+ case GL_COLOR_ARRAY:
+ case GL_TEXTURE_COORD_ARRAY:
+ case GL_MATRIX_INDEX_ARRAY_OES:
+ case GL_WEIGHT_ARRAY_OES:
+ case GL_POINT_SIZE_ARRAY_OES:
+ break;
+ default:
+ _mesa_error(_mesa_get_current_context(), GL_INVALID_ENUM, "glEnableClientState(array=0x%x)", array);
+ return;
+ }
+
+ _mesa_EnableClientState(array);
+}
+
+extern void GL_APIENTRY _mesa_Finish(void);
+#define _es_Finish _mesa_Finish
+
+extern void GL_APIENTRY _mesa_Flush(void);
+#define _es_Flush _mesa_Flush
+
+extern void GL_APIENTRY _mesa_Fogf(GLenum pname, GLfloat param);
+static void GL_APIENTRY _es_Fogf(GLenum pname, GLfloat param)
+{
+ switch(pname) {
+ case GL_FOG_MODE:
+ if (param != GL_EXP && param != GL_EXP2 && param != GL_LINEAR) {
+ _mesa_error(_mesa_get_current_context(), GL_INVALID_ENUM, "glFogf(pname=0x%x)", pname);
+ return;
+ }
+ break;
+ case GL_FOG_DENSITY:
+ case GL_FOG_START:
+ case GL_FOG_END:
+ break;
+ default:
+ _mesa_error(_mesa_get_current_context(), GL_INVALID_ENUM, "glFogf(pname=0x%x)", pname);
+ return;
+ }
+
+ _mesa_Fogf(pname, param);
+}
+
+extern void GL_APIENTRY _mesa_Fogfv(GLenum pname, const GLfloat * params);
+static void GL_APIENTRY _es_Fogfv(GLenum pname, const GLfloat *params)
+{
+ switch(pname) {
+ case GL_FOG_MODE: /* size 1 */
+ if (params[0] != GL_EXP && params[0] != GL_EXP2 && params[0] != GL_LINEAR) {
+ _mesa_error(_mesa_get_current_context(), GL_INVALID_ENUM, "glFogfv(pname=0x%x)", pname);
+ return;
+ }
+ break;
+ case GL_FOG_COLOR: /* size 4 */
+ case GL_FOG_DENSITY: /* size 1 */
+ case GL_FOG_START: /* size 1 */
+ case GL_FOG_END: /* size 1 */
+ break;
+ default:
+ _mesa_error(_mesa_get_current_context(), GL_INVALID_ENUM, "glFogfv(pname=0x%x)", pname);
+ return;
+ }
+
+ _mesa_Fogfv(pname, params);
+}
+
+extern void GL_APIENTRY _mesa_Fogf(GLenum pname, GLfloat param);
+static void GL_APIENTRY _es_Fogx(GLenum pname, GLfixed param)
+{
+ GLfloat converted_param;
+ int convert_param_value = 1;
+
+ switch(pname) {
+ case GL_FOG_MODE:
+ if (param != GL_EXP && param != GL_EXP2 && param != GL_LINEAR) {
+ _mesa_error(_mesa_get_current_context(), GL_INVALID_ENUM, "glFogx(pname=0x%x)", pname);
+ return;
+ }
+ convert_param_value = 0;
+ break;
+ case GL_FOG_DENSITY:
+ case GL_FOG_START:
+ case GL_FOG_END:
+ break;
+ default:
+ _mesa_error(_mesa_get_current_context(), GL_INVALID_ENUM, "glFogx(pname=0x%x)", pname);
+ return;
+ }
+
+ if (convert_param_value) {
+ converted_param = (GLfloat) (param / 65536.0f);
+ } else {
+ converted_param = (GLfloat) param;
+ }
+
+ _mesa_Fogf(pname, converted_param);
+}
+
+extern void GL_APIENTRY _mesa_Fogfv(GLenum pname, GLfloat const * params);
+static void GL_APIENTRY _es_Fogxv(GLenum pname, const GLfixed *params)
+{
+ register unsigned int i;
+ unsigned int n_params = 4;
+ GLfloat converted_params[4];
+ int convert_params_value = 1;
+
+ switch(pname) {
+ case GL_FOG_MODE:
+ if (params[0] != GL_EXP && params[0] != GL_EXP2 && params[0] != GL_LINEAR) {
+ _mesa_error(_mesa_get_current_context(), GL_INVALID_ENUM, "glFogxv(pname=0x%x)", pname);
+ return;
+ }
+ convert_params_value = 0;
+ n_params = 1;
+ break;
+ case GL_FOG_COLOR:
+ n_params = 4;
+ break;
+ case GL_FOG_DENSITY:
+ case GL_FOG_START:
+ case GL_FOG_END:
+ n_params = 1;
+ break;
+ default:
+ _mesa_error(_mesa_get_current_context(), GL_INVALID_ENUM, "glFogxv(pname=0x%x)", pname);
+ return;
+ }
+
+ if (convert_params_value) {
+ for (i = 0; i < n_params; i++) {
+ converted_params[i] = (GLfloat) (params[i] / 65536.0f);
+ }
+ } else {
+ for (i = 0; i < n_params; i++) {
+ converted_params[i] = (GLfloat) params[i];
+ }
+ }
+
+ _mesa_Fogfv(pname, converted_params);
+}
+
+extern void GL_APIENTRY _mesa_FramebufferRenderbufferEXT(GLenum target, GLenum attachment, GLenum renderbuffertarget, GLuint renderbuffer);
+static void GL_APIENTRY _es_FramebufferRenderbufferOES(GLenum target, GLenum attachment, GLenum renderbuffertarget, GLuint renderbuffer)
+{
+ switch(target) {
+ case GL_FRAMEBUFFER_OES:
+ break;
+ default:
+ _mesa_error(_mesa_get_current_context(), GL_INVALID_ENUM, "glFramebufferRenderbufferOES(target=0x%x)", target);
+ return;
+ }
+ switch(attachment) {
+ case GL_COLOR_ATTACHMENT0_OES:
+ case GL_DEPTH_ATTACHMENT_OES:
+ case GL_STENCIL_ATTACHMENT_OES:
+ break;
+ default:
+ _mesa_error(_mesa_get_current_context(), GL_INVALID_ENUM, "glFramebufferRenderbufferOES(attachment=0x%x)", attachment);
+ return;
+ }
+ switch(renderbuffertarget) {
+ case GL_RENDERBUFFER_OES:
+ break;
+ default:
+ _mesa_error(_mesa_get_current_context(), GL_INVALID_ENUM, "glFramebufferRenderbufferOES(renderbuffertarget=0x%x)", renderbuffertarget);
+ return;
+ }
+
+ _mesa_FramebufferRenderbufferEXT(target, attachment, renderbuffertarget, renderbuffer);
+}
+
+extern void GL_APIENTRY _mesa_FramebufferTexture2DEXT(GLenum target, GLenum attachment, GLenum textarget, GLuint texture, GLint level);
+static void GL_APIENTRY _es_FramebufferTexture2DOES(GLenum target, GLenum attachment, GLenum textarget, GLuint texture, GLint level)
+{
+ switch(target) {
+ case GL_FRAMEBUFFER_OES:
+ break;
+ default:
+ _mesa_error(_mesa_get_current_context(), GL_INVALID_ENUM, "glFramebufferTexture2DOES(target=0x%x)", target);
+ return;
+ }
+ switch(attachment) {
+ case GL_COLOR_ATTACHMENT0_OES:
+ case GL_DEPTH_ATTACHMENT_OES:
+ case GL_STENCIL_ATTACHMENT_OES:
+ break;
+ default:
+ _mesa_error(_mesa_get_current_context(), GL_INVALID_ENUM, "glFramebufferTexture2DOES(attachment=0x%x)", attachment);
+ return;
+ }
+ switch(textarget) {
+ case GL_TEXTURE_2D:
+ case GL_TEXTURE_CUBE_MAP_POSITIVE_X_OES:
+ case GL_TEXTURE_CUBE_MAP_POSITIVE_Y_OES:
+ case GL_TEXTURE_CUBE_MAP_POSITIVE_Z_OES:
+ case GL_TEXTURE_CUBE_MAP_NEGATIVE_X_OES:
+ case GL_TEXTURE_CUBE_MAP_NEGATIVE_Y_OES:
+ case GL_TEXTURE_CUBE_MAP_NEGATIVE_Z_OES:
+ break;
+ default:
+ _mesa_error(_mesa_get_current_context(), GL_INVALID_OPERATION, "glFramebufferTexture2DOES(textarget=0x%x)", textarget);
+ return;
+ }
+
+ _mesa_FramebufferTexture2DEXT(target, attachment, textarget, texture, level);
+}
+
+extern void GL_APIENTRY _mesa_FrontFace(GLenum mode);
+static void GL_APIENTRY _es_FrontFace(GLenum mode)
+{
+ switch(mode) {
+ case GL_CW:
+ case GL_CCW:
+ break;
+ default:
+ _mesa_error(_mesa_get_current_context(), GL_INVALID_ENUM, "glFrontFace(mode=0x%x)", mode);
+ return;
+ }
+
+ _mesa_FrontFace(mode);
+}
+
+extern void GL_APIENTRY _mesa_Frustum(GLdouble left, GLdouble right, GLdouble bottom, GLdouble top, GLdouble zNear, GLdouble zFar);
+static void GL_APIENTRY _es_Frustumf(GLfloat left, GLfloat right, GLfloat bottom, GLfloat top, GLfloat zNear, GLfloat zFar)
+{
+ GLdouble converted_left;
+ GLdouble converted_right;
+ GLdouble converted_bottom;
+ GLdouble converted_top;
+ GLdouble converted_zNear;
+ GLdouble converted_zFar;
+
+ converted_left = (GLdouble) (left);
+ converted_right = (GLdouble) (right);
+ converted_bottom = (GLdouble) (bottom);
+ converted_top = (GLdouble) (top);
+ converted_zNear = (GLdouble) (zNear);
+ converted_zFar = (GLdouble) (zFar);
+
+ _mesa_Frustum(converted_left, converted_right, converted_bottom, converted_top, converted_zNear, converted_zFar);
+}
+
+extern void GL_APIENTRY _mesa_Frustum(GLdouble left, GLdouble right, GLdouble bottom, GLdouble top, GLdouble zNear, GLdouble zFar);
+static void GL_APIENTRY _es_Frustumx(GLfixed left, GLfixed right, GLfixed bottom, GLfixed top, GLfixed zNear, GLfixed zFar)
+{
+ GLdouble converted_left;
+ GLdouble converted_right;
+ GLdouble converted_bottom;
+ GLdouble converted_top;
+ GLdouble converted_zNear;
+ GLdouble converted_zFar;
+
+ converted_left = (GLdouble) (left / 65536.0);
+ converted_right = (GLdouble) (right / 65536.0);
+ converted_bottom = (GLdouble) (bottom / 65536.0);
+ converted_top = (GLdouble) (top / 65536.0);
+ converted_zNear = (GLdouble) (zNear / 65536.0);
+ converted_zFar = (GLdouble) (zFar / 65536.0);
+
+ _mesa_Frustum(converted_left, converted_right, converted_bottom, converted_top, converted_zNear, converted_zFar);
+}
+
+extern void GL_APIENTRY _mesa_GenBuffersARB(GLsizei n, GLuint * buffer);
+#define _es_GenBuffers _mesa_GenBuffersARB
+
+extern void GL_APIENTRY _mesa_GenFramebuffersEXT(GLsizei n, GLuint * ids);
+#define _es_GenFramebuffersOES _mesa_GenFramebuffersEXT
+
+extern void GL_APIENTRY _mesa_GenRenderbuffersEXT(GLsizei n, GLuint * renderbuffers);
+#define _es_GenRenderbuffersOES _mesa_GenRenderbuffersEXT
+
+extern void GL_APIENTRY _mesa_GenTextures(GLsizei n, GLuint * textures);
+#define _es_GenTextures _mesa_GenTextures
+
+extern void GL_APIENTRY _mesa_GenerateMipmapEXT(GLenum target);
+static void GL_APIENTRY _es_GenerateMipmapOES(GLenum target)
+{
+ switch(target) {
+ case GL_TEXTURE_2D:
+ case GL_TEXTURE_CUBE_MAP_OES:
+ break;
+ default:
+ _mesa_error(_mesa_get_current_context(), GL_INVALID_ENUM, "glGenerateMipmapOES(target=0x%x)", target);
+ return;
+ }
+
+ _mesa_GenerateMipmapEXT(target);
+}
+
+extern void GL_APIENTRY _mesa_GetBooleanv(GLenum pname, GLboolean * params);
+#define _es_GetBooleanv _mesa_GetBooleanv
+
+extern void GL_APIENTRY _mesa_GetBufferParameterivARB(GLenum target, GLenum pname, GLint * params);
+static void GL_APIENTRY _es_GetBufferParameteriv(GLenum target, GLenum pname, GLint *params)
+{
+ switch(target) {
+ case GL_ARRAY_BUFFER:
+ case GL_ELEMENT_ARRAY_BUFFER:
+ break;
+ default:
+ _mesa_error(_mesa_get_current_context(), GL_INVALID_ENUM, "glGetBufferParameteriv(target=0x%x)", target);
+ return;
+ }
+ switch(pname) {
+ case GL_BUFFER_SIZE:
+ case GL_BUFFER_USAGE:
+ case GL_BUFFER_ACCESS_OES:
+ case GL_BUFFER_MAPPED_OES:
+ break;
+ default:
+ _mesa_error(_mesa_get_current_context(), GL_INVALID_ENUM, "glGetBufferParameteriv(pname=0x%x)", pname);
+ return;
+ }
+
+ _mesa_GetBufferParameterivARB(target, pname, params);
+}
+
+extern void GL_APIENTRY _mesa_GetBufferPointervARB(GLenum target, GLenum pname, GLvoid ** params);
+static void GL_APIENTRY _es_GetBufferPointervOES(GLenum target, GLenum pname, GLvoid **params)
+{
+ switch(target) {
+ case GL_ARRAY_BUFFER:
+ case GL_ELEMENT_ARRAY_BUFFER:
+ break;
+ default:
+ _mesa_error(_mesa_get_current_context(), GL_INVALID_ENUM, "glGetBufferPointervOES(target=0x%x)", target);
+ return;
+ }
+ switch(pname) {
+ case GL_BUFFER_MAP_POINTER_OES:
+ break;
+ default:
+ _mesa_error(_mesa_get_current_context(), GL_INVALID_ENUM, "glGetBufferPointervOES(pname=0x%x)", pname);
+ return;
+ }
+
+ _mesa_GetBufferPointervARB(target, pname, params);
+}
+
+extern void GL_APIENTRY _mesa_GetClipPlane(GLenum plane, GLdouble * equation);
+static void GL_APIENTRY _es_GetClipPlanef(GLenum plane, GLfloat *equation)
+{
+ register unsigned int i;
+ unsigned int n_equation = 4;
+ GLdouble converted_equation[4];
+
+ switch(plane) {
+ case GL_CLIP_PLANE0:
+ case GL_CLIP_PLANE1:
+ case GL_CLIP_PLANE2:
+ case GL_CLIP_PLANE3:
+ case GL_CLIP_PLANE4:
+ case GL_CLIP_PLANE5:
+ break;
+ default:
+ _mesa_error(_mesa_get_current_context(), GL_INVALID_ENUM, "glGetClipPlanef(plane=0x%x)", plane);
+ return;
+ }
+
+ _mesa_GetClipPlane(plane, converted_equation);
+ for (i = 0; i < n_equation; i++) {
+ equation[i] = (GLfloat) (converted_equation[i]);
+ }
+}
+
+extern void GL_APIENTRY _mesa_GetClipPlane(GLenum plane, GLdouble * equation);
+static void GL_APIENTRY _es_GetClipPlanex(GLenum plane, GLfixed *equation)
+{
+ register unsigned int i;
+ unsigned int n_equation = 4;
+ GLdouble converted_equation[4];
+
+ switch(plane) {
+ case GL_CLIP_PLANE0:
+ case GL_CLIP_PLANE1:
+ case GL_CLIP_PLANE2:
+ case GL_CLIP_PLANE3:
+ case GL_CLIP_PLANE4:
+ case GL_CLIP_PLANE5:
+ break;
+ default:
+ _mesa_error(_mesa_get_current_context(), GL_INVALID_ENUM, "glGetClipPlanex(plane=0x%x)", plane);
+ return;
+ }
+
+ _mesa_GetClipPlane(plane, converted_equation);
+ for (i = 0; i < n_equation; i++) {
+ equation[i] = (GLfixed) (converted_equation[i] * 65536);
+ }
+}
+
+extern GLenum GL_APIENTRY _mesa_GetError(void);
+#define _es_GetError _mesa_GetError
+
+extern void GL_APIENTRY _mesa_GetFixedv(GLenum pname, GLfixed * params);
+#define _es_GetFixedv _mesa_GetFixedv
+
+extern void GL_APIENTRY _mesa_GetFloatv(GLenum pname, GLfloat * params);
+#define _es_GetFloatv _mesa_GetFloatv
+
+extern void GL_APIENTRY _mesa_GetFramebufferAttachmentParameterivEXT(GLenum target, GLenum attachment, GLenum pname, GLint * params);
+static void GL_APIENTRY _es_GetFramebufferAttachmentParameterivOES(GLenum target, GLenum attachment, GLenum pname, GLint *params)
+{
+ switch(target) {
+ case GL_FRAMEBUFFER_OES:
+ break;
+ default:
+ _mesa_error(_mesa_get_current_context(), GL_INVALID_ENUM, "glGetFramebufferAttachmentParameterivOES(target=0x%x)", target);
+ return;
+ }
+ switch(pname) {
+ case GL_FRAMEBUFFER_ATTACHMENT_OBJECT_TYPE_OES: /* size 1 */
+ case GL_FRAMEBUFFER_ATTACHMENT_OBJECT_NAME_OES: /* size 1 */
+ case GL_FRAMEBUFFER_ATTACHMENT_TEXTURE_LEVEL_OES: /* size 1 */
+ case GL_FRAMEBUFFER_ATTACHMENT_TEXTURE_CUBE_MAP_FACE_OES: /* size 1 */
+ break;
+ default:
+ _mesa_error(_mesa_get_current_context(), GL_INVALID_ENUM, "glGetFramebufferAttachmentParameterivOES(pname=0x%x)", pname);
+ return;
+ }
+
+ _mesa_GetFramebufferAttachmentParameterivEXT(target, attachment, pname, params);
+}
+
+extern void GL_APIENTRY _mesa_GetIntegerv(GLenum pname, GLint * params);
+#define _es_GetIntegerv _mesa_GetIntegerv
+
+extern void GL_APIENTRY _mesa_GetLightfv(GLenum light, GLenum pname, GLfloat * params);
+static void GL_APIENTRY _es_GetLightfv(GLenum light, GLenum pname, GLfloat *params)
+{
+ switch(light) {
+ case GL_LIGHT0:
+ case GL_LIGHT1:
+ case GL_LIGHT2:
+ case GL_LIGHT3:
+ case GL_LIGHT4:
+ case GL_LIGHT5:
+ case GL_LIGHT6:
+ case GL_LIGHT7:
+ break;
+ default:
+ _mesa_error(_mesa_get_current_context(), GL_INVALID_ENUM, "glGetLightfv(light=0x%x)", light);
+ return;
+ }
+ switch(pname) {
+ case GL_AMBIENT: /* size 4 */
+ case GL_DIFFUSE: /* size 4 */
+ case GL_SPECULAR: /* size 4 */
+ case GL_POSITION: /* size 4 */
+ case GL_SPOT_DIRECTION: /* size 3 */
+ case GL_SPOT_EXPONENT: /* size 1 */
+ case GL_SPOT_CUTOFF: /* size 1 */
+ case GL_CONSTANT_ATTENUATION: /* size 1 */
+ case GL_LINEAR_ATTENUATION: /* size 1 */
+ case GL_QUADRATIC_ATTENUATION: /* size 1 */
+ break;
+ default:
+ _mesa_error(_mesa_get_current_context(), GL_INVALID_ENUM, "glGetLightfv(pname=0x%x)", pname);
+ return;
+ }
+
+ _mesa_GetLightfv(light, pname, params);
+}
+
+extern void GL_APIENTRY _mesa_GetLightfv(GLenum light, GLenum pname, GLfloat * params);
+static void GL_APIENTRY _es_GetLightxv(GLenum light, GLenum pname, GLfixed *params)
+{
+ register unsigned int i;
+ unsigned int n_params = 4;
+ GLfloat converted_params[4];
+
+ switch(light) {
+ case GL_LIGHT0:
+ case GL_LIGHT1:
+ case GL_LIGHT2:
+ case GL_LIGHT3:
+ case GL_LIGHT4:
+ case GL_LIGHT5:
+ case GL_LIGHT6:
+ case GL_LIGHT7:
+ break;
+ default:
+ _mesa_error(_mesa_get_current_context(), GL_INVALID_ENUM, "glGetLightxv(light=0x%x)", light);
+ return;
+ }
+ switch(pname) {
+ case GL_AMBIENT:
+ case GL_DIFFUSE:
+ case GL_SPECULAR:
+ case GL_POSITION:
+ n_params = 4;
+ break;
+ case GL_SPOT_DIRECTION:
+ n_params = 3;
+ break;
+ case GL_SPOT_EXPONENT:
+ case GL_SPOT_CUTOFF:
+ case GL_CONSTANT_ATTENUATION:
+ case GL_LINEAR_ATTENUATION:
+ case GL_QUADRATIC_ATTENUATION:
+ n_params = 1;
+ break;
+ default:
+ _mesa_error(_mesa_get_current_context(), GL_INVALID_ENUM, "glGetLightxv(pname=0x%x)", pname);
+ return;
+ }
+
+ _mesa_GetLightfv(light, pname, converted_params);
+ for (i = 0; i < n_params; i++) {
+ params[i] = (GLint) (converted_params[i] * 65536);
+ }
+}
+
+extern void GL_APIENTRY _mesa_GetMaterialfv(GLenum face, GLenum pname, GLfloat * params);
+static void GL_APIENTRY _es_GetMaterialfv(GLenum face, GLenum pname, GLfloat *params)
+{
+ switch(face) {
+ case GL_FRONT:
+ case GL_BACK:
+ break;
+ default:
+ _mesa_error(_mesa_get_current_context(), GL_INVALID_ENUM, "glGetMaterialfv(face=0x%x)", face);
+ return;
+ }
+ switch(pname) {
+ case GL_SHININESS: /* size 1 */
+ case GL_AMBIENT: /* size 4 */
+ case GL_DIFFUSE: /* size 4 */
+ case GL_AMBIENT_AND_DIFFUSE: /* size 4 */
+ case GL_SPECULAR: /* size 4 */
+ case GL_EMISSION: /* size 4 */
+ break;
+ default:
+ _mesa_error(_mesa_get_current_context(), GL_INVALID_ENUM, "glGetMaterialfv(pname=0x%x)", pname);
+ return;
+ }
+
+ _mesa_GetMaterialfv(face, pname, params);
+}
+
+extern void GL_APIENTRY _mesa_GetMaterialfv(GLenum face, GLenum pname, GLfloat * params);
+static void GL_APIENTRY _es_GetMaterialxv(GLenum face, GLenum pname, GLfixed *params)
+{
+ register unsigned int i;
+ unsigned int n_params = 4;
+ GLfloat converted_params[4];
+
+ switch(face) {
+ case GL_FRONT:
+ case GL_BACK:
+ break;
+ default:
+ _mesa_error(_mesa_get_current_context(), GL_INVALID_ENUM, "glGetMaterialxv(face=0x%x)", face);
+ return;
+ }
+ switch(pname) {
+ case GL_SHININESS:
+ n_params = 1;
+ break;
+ case GL_AMBIENT:
+ case GL_DIFFUSE:
+ case GL_AMBIENT_AND_DIFFUSE:
+ case GL_SPECULAR:
+ case GL_EMISSION:
+ n_params = 4;
+ break;
+ default:
+ _mesa_error(_mesa_get_current_context(), GL_INVALID_ENUM, "glGetMaterialxv(pname=0x%x)", pname);
+ return;
+ }
+
+ _mesa_GetMaterialfv(face, pname, converted_params);
+ for (i = 0; i < n_params; i++) {
+ params[i] = (GLint) (converted_params[i] * 65536);
+ }
+}
+
+extern void GL_APIENTRY _mesa_GetPointerv(GLenum pname, GLvoid ** params);
+static void GL_APIENTRY _es_GetPointerv(GLenum pname, GLvoid **params)
+{
+ switch(pname) {
+ case GL_VERTEX_ARRAY_POINTER:
+ case GL_NORMAL_ARRAY_POINTER:
+ case GL_COLOR_ARRAY_POINTER:
+ case GL_TEXTURE_COORD_ARRAY_POINTER:
+ case GL_MATRIX_INDEX_ARRAY_POINTER_OES:
+ case GL_WEIGHT_ARRAY_POINTER_OES:
+ case GL_POINT_SIZE_ARRAY_POINTER_OES:
+ break;
+ default:
+ _mesa_error(_mesa_get_current_context(), GL_INVALID_ENUM, "glGetPointerv(pname=0x%x)", pname);
+ return;
+ }
+
+ _mesa_GetPointerv(pname, params);
+}
+
+extern void GL_APIENTRY _mesa_GetRenderbufferParameterivEXT(GLenum target, GLenum pname, GLint * params);
+static void GL_APIENTRY _es_GetRenderbufferParameterivOES(GLenum target, GLenum pname, GLint *params)
+{
+ switch(target) {
+ case GL_RENDERBUFFER_OES:
+ break;
+ default:
+ _mesa_error(_mesa_get_current_context(), GL_INVALID_ENUM, "glGetRenderbufferParameterivOES(target=0x%x)", target);
+ return;
+ }
+ switch(pname) {
+ case GL_RENDERBUFFER_WIDTH_OES: /* size 1 */
+ case GL_RENDERBUFFER_HEIGHT_OES: /* size 1 */
+ case GL_RENDERBUFFER_INTERNAL_FORMAT_OES: /* size 1 */
+ case GL_RENDERBUFFER_RED_SIZE_OES: /* size 1 */
+ case GL_RENDERBUFFER_GREEN_SIZE_OES: /* size 1 */
+ case GL_RENDERBUFFER_BLUE_SIZE_OES: /* size 1 */
+ case GL_RENDERBUFFER_ALPHA_SIZE_OES: /* size 1 */
+ case GL_RENDERBUFFER_DEPTH_SIZE_OES: /* size 1 */
+ case GL_RENDERBUFFER_STENCIL_SIZE_OES: /* size 1 */
+ break;
+ default:
+ _mesa_error(_mesa_get_current_context(), GL_INVALID_ENUM, "glGetRenderbufferParameterivOES(pname=0x%x)", pname);
+ return;
+ }
+
+ _mesa_GetRenderbufferParameterivEXT(target, pname, params);
+}
+
+extern const GLubyte * GL_APIENTRY _mesa_GetString(GLenum name);
+static const GLubyte * GL_APIENTRY _es_GetString(GLenum name)
+{
+ switch(name) {
+ case GL_VENDOR:
+ case GL_RENDERER:
+ case GL_VERSION:
+ case GL_EXTENSIONS:
+ break;
+ default:
+ _mesa_error(_mesa_get_current_context(), GL_INVALID_ENUM, "glGetString(name=0x%x)", name);
+ return (const GLubyte *) 0;
+ }
+
+ return _mesa_GetString(name);
+}
+
+extern void GL_APIENTRY _mesa_GetTexEnvfv(GLenum target, GLenum pname, GLfloat * params);
+static void GL_APIENTRY _es_GetTexEnvfv(GLenum target, GLenum pname, GLfloat *params)
+{
+ switch(target) {
+ case GL_POINT_SPRITE_OES:
+ if (pname != GL_COORD_REPLACE_OES) {
+ _mesa_error(_mesa_get_current_context(), GL_INVALID_ENUM, "glGetTexEnvfv(target=0x%x)", target);
+ return;
+ }
+ break;
+ case GL_TEXTURE_FILTER_CONTROL_EXT:
+ if (pname != GL_TEXTURE_LOD_BIAS_EXT) {
+ _mesa_error(_mesa_get_current_context(), GL_INVALID_ENUM, "glGetTexEnvfv(target=0x%x)", target);
+ return;
+ }
+ break;
+ case GL_TEXTURE_ENV:
+ if (pname != GL_TEXTURE_ENV_COLOR && pname != GL_RGB_SCALE && pname != GL_ALPHA_SCALE && pname != GL_TEXTURE_ENV_MODE && pname != GL_COMBINE_RGB && pname != GL_COMBINE_ALPHA && pname != GL_SRC0_RGB && pname != GL_SRC1_RGB && pname != GL_SRC2_RGB && pname != GL_SRC0_ALPHA && pname != GL_SRC1_ALPHA && pname != GL_SRC2_ALPHA && pname != GL_OPERAND0_RGB && pname != GL_OPERAND1_RGB && pname != GL_OPERAND2_RGB && pname != GL_OPERAND0_ALPHA && pname != GL_OPERAND1_ALPHA && pname != GL_OPERAND2_ALPHA) {
+ _mesa_error(_mesa_get_current_context(), GL_INVALID_ENUM, "glGetTexEnvfv(target=0x%x)", target);
+ return;
+ }
+ break;
+ default:
+ _mesa_error(_mesa_get_current_context(), GL_INVALID_ENUM, "glGetTexEnvfv(target=0x%x)", target);
+ return;
+ }
+ switch(pname) {
+ case GL_COORD_REPLACE_OES: /* size 1 */
+ break;
+ case GL_TEXTURE_LOD_BIAS_EXT: /* size 1 */
+ case GL_TEXTURE_ENV_COLOR: /* size 4 */
+ case GL_RGB_SCALE: /* size 1 */
+ case GL_ALPHA_SCALE: /* size 1 */
+ break;
+ case GL_TEXTURE_ENV_MODE: /* size 1 */
+ case GL_COMBINE_RGB: /* size 1 */
+ case GL_COMBINE_ALPHA: /* size 1 */
+ case GL_SRC0_RGB: /* size 1 */
+ case GL_SRC1_RGB: /* size 1 */
+ case GL_SRC2_RGB: /* size 1 */
+ case GL_SRC0_ALPHA: /* size 1 */
+ case GL_SRC1_ALPHA: /* size 1 */
+ case GL_SRC2_ALPHA: /* size 1 */
+ case GL_OPERAND0_RGB: /* size 1 */
+ case GL_OPERAND1_RGB: /* size 1 */
+ case GL_OPERAND2_RGB: /* size 1 */
+ case GL_OPERAND0_ALPHA: /* size 1 */
+ case GL_OPERAND1_ALPHA: /* size 1 */
+ case GL_OPERAND2_ALPHA: /* size 1 */
+ break;
+ default:
+ _mesa_error(_mesa_get_current_context(), GL_INVALID_ENUM, "glGetTexEnvfv(pname=0x%x)", pname);
+ return;
+ }
+
+ _mesa_GetTexEnvfv(target, pname, params);
+}
+
+extern void GL_APIENTRY _mesa_GetTexEnviv(GLenum target, GLenum pname, GLint * params);
+static void GL_APIENTRY _es_GetTexEnviv(GLenum target, GLenum pname, GLint *params)
+{
+ switch(target) {
+ case GL_POINT_SPRITE_OES:
+ if (pname != GL_COORD_REPLACE_OES) {
+ _mesa_error(_mesa_get_current_context(), GL_INVALID_ENUM, "glGetTexEnviv(target=0x%x)", target);
+ return;
+ }
+ break;
+ case GL_TEXTURE_FILTER_CONTROL_EXT:
+ if (pname != GL_TEXTURE_LOD_BIAS_EXT) {
+ _mesa_error(_mesa_get_current_context(), GL_INVALID_ENUM, "glGetTexEnviv(target=0x%x)", target);
+ return;
+ }
+ break;
+ case GL_TEXTURE_ENV:
+ if (pname != GL_TEXTURE_ENV_COLOR && pname != GL_RGB_SCALE && pname != GL_ALPHA_SCALE && pname != GL_TEXTURE_ENV_MODE && pname != GL_COMBINE_RGB && pname != GL_COMBINE_ALPHA && pname != GL_SRC0_RGB && pname != GL_SRC1_RGB && pname != GL_SRC2_RGB && pname != GL_SRC0_ALPHA && pname != GL_SRC1_ALPHA && pname != GL_SRC2_ALPHA && pname != GL_OPERAND0_RGB && pname != GL_OPERAND1_RGB && pname != GL_OPERAND2_RGB && pname != GL_OPERAND0_ALPHA && pname != GL_OPERAND1_ALPHA && pname != GL_OPERAND2_ALPHA) {
+ _mesa_error(_mesa_get_current_context(), GL_INVALID_ENUM, "glGetTexEnviv(target=0x%x)", target);
+ return;
+ }
+ break;
+ default:
+ _mesa_error(_mesa_get_current_context(), GL_INVALID_ENUM, "glGetTexEnviv(target=0x%x)", target);
+ return;
+ }
+ switch(pname) {
+ case GL_COORD_REPLACE_OES: /* size 1 */
+ break;
+ case GL_TEXTURE_LOD_BIAS_EXT: /* size 1 */
+ case GL_TEXTURE_ENV_COLOR: /* size 4 */
+ case GL_RGB_SCALE: /* size 1 */
+ case GL_ALPHA_SCALE: /* size 1 */
+ break;
+ case GL_TEXTURE_ENV_MODE: /* size 1 */
+ case GL_COMBINE_RGB: /* size 1 */
+ case GL_COMBINE_ALPHA: /* size 1 */
+ case GL_SRC0_RGB: /* size 1 */
+ case GL_SRC1_RGB: /* size 1 */
+ case GL_SRC2_RGB: /* size 1 */
+ case GL_SRC0_ALPHA: /* size 1 */
+ case GL_SRC1_ALPHA: /* size 1 */
+ case GL_SRC2_ALPHA: /* size 1 */
+ case GL_OPERAND0_RGB: /* size 1 */
+ case GL_OPERAND1_RGB: /* size 1 */
+ case GL_OPERAND2_RGB: /* size 1 */
+ case GL_OPERAND0_ALPHA: /* size 1 */
+ case GL_OPERAND1_ALPHA: /* size 1 */
+ case GL_OPERAND2_ALPHA: /* size 1 */
+ break;
+ default:
+ _mesa_error(_mesa_get_current_context(), GL_INVALID_ENUM, "glGetTexEnviv(pname=0x%x)", pname);
+ return;
+ }
+
+ _mesa_GetTexEnviv(target, pname, params);
+}
+
+extern void GL_APIENTRY _mesa_GetTexEnvfv(GLenum target, GLenum pname, GLfloat * params);
+static void GL_APIENTRY _es_GetTexEnvxv(GLenum target, GLenum pname, GLfixed *params)
+{
+ register unsigned int i;
+ unsigned int n_params = 4;
+ GLfloat converted_params[4];
+ int convert_params_value = 1;
+
+ switch(target) {
+ case GL_POINT_SPRITE_OES:
+ if (pname != GL_COORD_REPLACE_OES) {
+ _mesa_error(_mesa_get_current_context(), GL_INVALID_ENUM, "glGetTexEnvxv(target=0x%x)", target);
+ return;
+ }
+ break;
+ case GL_TEXTURE_FILTER_CONTROL_EXT:
+ if (pname != GL_TEXTURE_LOD_BIAS_EXT) {
+ _mesa_error(_mesa_get_current_context(), GL_INVALID_ENUM, "glGetTexEnvxv(target=0x%x)", target);
+ return;
+ }
+ break;
+ case GL_TEXTURE_ENV:
+ if (pname != GL_TEXTURE_ENV_COLOR && pname != GL_RGB_SCALE && pname != GL_ALPHA_SCALE && pname != GL_TEXTURE_ENV_MODE && pname != GL_COMBINE_RGB && pname != GL_COMBINE_ALPHA && pname != GL_SRC0_RGB && pname != GL_SRC1_RGB && pname != GL_SRC2_RGB && pname != GL_SRC0_ALPHA && pname != GL_SRC1_ALPHA && pname != GL_SRC2_ALPHA && pname != GL_OPERAND0_RGB && pname != GL_OPERAND1_RGB && pname != GL_OPERAND2_RGB && pname != GL_OPERAND0_ALPHA && pname != GL_OPERAND1_ALPHA && pname != GL_OPERAND2_ALPHA) {
+ _mesa_error(_mesa_get_current_context(), GL_INVALID_ENUM, "glGetTexEnvxv(target=0x%x)", target);
+ return;
+ }
+ break;
+ default:
+ _mesa_error(_mesa_get_current_context(), GL_INVALID_ENUM, "glGetTexEnvxv(target=0x%x)", target);
+ return;
+ }
+ switch(pname) {
+ case GL_COORD_REPLACE_OES:
+ convert_params_value = 0;
+ n_params = 1;
+ break;
+ case GL_TEXTURE_LOD_BIAS_EXT:
+ n_params = 1;
+ break;
+ case GL_TEXTURE_ENV_COLOR:
+ n_params = 4;
+ break;
+ case GL_RGB_SCALE:
+ case GL_ALPHA_SCALE:
+ n_params = 1;
+ break;
+ case GL_TEXTURE_ENV_MODE:
+ case GL_COMBINE_RGB:
+ case GL_COMBINE_ALPHA:
+ case GL_SRC0_RGB:
+ case GL_SRC1_RGB:
+ case GL_SRC2_RGB:
+ case GL_SRC0_ALPHA:
+ case GL_SRC1_ALPHA:
+ case GL_SRC2_ALPHA:
+ case GL_OPERAND0_RGB:
+ case GL_OPERAND1_RGB:
+ case GL_OPERAND2_RGB:
+ case GL_OPERAND0_ALPHA:
+ case GL_OPERAND1_ALPHA:
+ case GL_OPERAND2_ALPHA:
+ convert_params_value = 0;
+ n_params = 1;
+ break;
+ default:
+ _mesa_error(_mesa_get_current_context(), GL_INVALID_ENUM, "glGetTexEnvxv(pname=0x%x)", pname);
+ return;
+ }
+
+ _mesa_GetTexEnvfv(target, pname, converted_params);
+ if (convert_params_value) {
+ for (i = 0; i < n_params; i++) {
+ params[i] = (GLint) (converted_params[i] * 65536);
+ }
+ } else {
+ for (i = 0; i < n_params; i++) {
+ params[i] = (GLfixed) converted_params[i];
+ }
+ }
+}
+
+/* this function is special and is defined elsewhere */
+extern void GL_APIENTRY _es_GetTexGenfv(GLenum coord, GLenum pname, GLfloat * params);
+static void GL_APIENTRY _check_GetTexGenfvOES(GLenum coord, GLenum pname, GLfloat *params)
+{
+ switch(coord) {
+ case GL_TEXTURE_GEN_STR_OES:
+ break;
+ default:
+ _mesa_error(_mesa_get_current_context(), GL_INVALID_ENUM, "glGetTexGenfvOES(coord=0x%x)", coord);
+ return;
+ }
+ switch(pname) {
+ case GL_TEXTURE_GEN_MODE_OES: /* size 1 */
+ break;
+ default:
+ _mesa_error(_mesa_get_current_context(), GL_INVALID_ENUM, "glGetTexGenfvOES(pname=0x%x)", pname);
+ return;
+ }
+
+ _es_GetTexGenfv(coord, pname, params);
+}
+
+/* this function is special and is defined elsewhere */
+extern void GL_APIENTRY _es_GetTexGenfv(GLenum coord, GLenum pname, GLfloat * params);
+static void GL_APIENTRY _check_GetTexGenivOES(GLenum coord, GLenum pname, GLint *params)
+{
+ register unsigned int i;
+ unsigned int n_params = 1;
+ GLfloat converted_params[1];
+
+ switch(coord) {
+ case GL_TEXTURE_GEN_STR_OES:
+ break;
+ default:
+ _mesa_error(_mesa_get_current_context(), GL_INVALID_ENUM, "glGetTexGenivOES(coord=0x%x)", coord);
+ return;
+ }
+ switch(pname) {
+ case GL_TEXTURE_GEN_MODE_OES:
+ n_params = 1;
+ break;
+ default:
+ _mesa_error(_mesa_get_current_context(), GL_INVALID_ENUM, "glGetTexGenivOES(pname=0x%x)", pname);
+ return;
+ }
+
+ _es_GetTexGenfv(coord, pname, converted_params);
+ for (i = 0; i < n_params; i++) {
+ params[i] = (GLfloat) converted_params[i];
+ }
+}
+
+/* this function is special and is defined elsewhere */
+extern void GL_APIENTRY _es_GetTexGenfv(GLenum coord, GLenum pname, GLfloat * params);
+static void GL_APIENTRY _check_GetTexGenxvOES(GLenum coord, GLenum pname, GLfixed *params)
+{
+ register unsigned int i;
+ unsigned int n_params = 1;
+ GLfloat converted_params[1];
+
+ switch(coord) {
+ case GL_TEXTURE_GEN_STR_OES:
+ break;
+ default:
+ _mesa_error(_mesa_get_current_context(), GL_INVALID_ENUM, "glGetTexGenxvOES(coord=0x%x)", coord);
+ return;
+ }
+ switch(pname) {
+ case GL_TEXTURE_GEN_MODE_OES:
+ n_params = 1;
+ break;
+ default:
+ _mesa_error(_mesa_get_current_context(), GL_INVALID_ENUM, "glGetTexGenxvOES(pname=0x%x)", pname);
+ return;
+ }
+
+ _es_GetTexGenfv(coord, pname, converted_params);
+ for (i = 0; i < n_params; i++) {
+ params[i] = (GLfloat) converted_params[i];
+ }
+}
+
+extern void GL_APIENTRY _mesa_GetTexParameterfv(GLenum target, GLenum pname, GLfloat * params);
+static void GL_APIENTRY _es_GetTexParameterfv(GLenum target, GLenum pname, GLfloat *params)
+{
+ switch(target) {
+ case GL_TEXTURE_2D:
+ case GL_TEXTURE_CUBE_MAP_OES:
+ break;
+ default:
+ _mesa_error(_mesa_get_current_context(), GL_INVALID_ENUM, "glGetTexParameterfv(target=0x%x)", target);
+ return;
+ }
+ switch(pname) {
+ case GL_TEXTURE_WRAP_S: /* size 1 */
+ case GL_TEXTURE_WRAP_T: /* size 1 */
+ case GL_TEXTURE_MIN_FILTER: /* size 1 */
+ case GL_TEXTURE_MAG_FILTER: /* size 1 */
+ case GL_GENERATE_MIPMAP: /* size 1 */
+ break;
+ case GL_TEXTURE_CROP_RECT_OES: /* size 4 */
+ break;
+ default:
+ _mesa_error(_mesa_get_current_context(), GL_INVALID_ENUM, "glGetTexParameterfv(pname=0x%x)", pname);
+ return;
+ }
+
+ _mesa_GetTexParameterfv(target, pname, params);
+}
+
+extern void GL_APIENTRY _mesa_GetTexParameteriv(GLenum target, GLenum pname, GLint * params);
+static void GL_APIENTRY _es_GetTexParameteriv(GLenum target, GLenum pname, GLint *params)
+{
+ switch(target) {
+ case GL_TEXTURE_2D:
+ case GL_TEXTURE_CUBE_MAP_OES:
+ break;
+ default:
+ _mesa_error(_mesa_get_current_context(), GL_INVALID_ENUM, "glGetTexParameteriv(target=0x%x)", target);
+ return;
+ }
+ switch(pname) {
+ case GL_TEXTURE_WRAP_S: /* size 1 */
+ case GL_TEXTURE_WRAP_T: /* size 1 */
+ case GL_TEXTURE_MIN_FILTER: /* size 1 */
+ case GL_TEXTURE_MAG_FILTER: /* size 1 */
+ case GL_GENERATE_MIPMAP: /* size 1 */
+ break;
+ case GL_TEXTURE_CROP_RECT_OES: /* size 4 */
+ break;
+ default:
+ _mesa_error(_mesa_get_current_context(), GL_INVALID_ENUM, "glGetTexParameteriv(pname=0x%x)", pname);
+ return;
+ }
+
+ _mesa_GetTexParameteriv(target, pname, params);
+}
+
+extern void GL_APIENTRY _mesa_GetTexParameterfv(GLenum target, GLenum pname, GLfloat * params);
+static void GL_APIENTRY _es_GetTexParameterxv(GLenum target, GLenum pname, GLfixed *params)
+{
+ register unsigned int i;
+ unsigned int n_params = 4;
+ GLfloat converted_params[4];
+ int convert_params_value = 1;
+
+ switch(target) {
+ case GL_TEXTURE_2D:
+ case GL_TEXTURE_CUBE_MAP_OES:
+ break;
+ default:
+ _mesa_error(_mesa_get_current_context(), GL_INVALID_ENUM, "glGetTexParameterxv(target=0x%x)", target);
+ return;
+ }
+ switch(pname) {
+ case GL_TEXTURE_WRAP_S:
+ case GL_TEXTURE_WRAP_T:
+ case GL_TEXTURE_MIN_FILTER:
+ case GL_TEXTURE_MAG_FILTER:
+ case GL_GENERATE_MIPMAP:
+ convert_params_value = 0;
+ n_params = 1;
+ break;
+ case GL_TEXTURE_CROP_RECT_OES:
+ n_params = 4;
+ break;
+ default:
+ _mesa_error(_mesa_get_current_context(), GL_INVALID_ENUM, "glGetTexParameterxv(pname=0x%x)", pname);
+ return;
+ }
+
+ _mesa_GetTexParameterfv(target, pname, converted_params);
+ if (convert_params_value) {
+ for (i = 0; i < n_params; i++) {
+ params[i] = (GLint) (converted_params[i] * 65536);
+ }
+ } else {
+ for (i = 0; i < n_params; i++) {
+ params[i] = (GLfixed) converted_params[i];
+ }
+ }
+}
+
+extern void GL_APIENTRY _mesa_Hint(GLenum target, GLenum mode);
+static void GL_APIENTRY _es_Hint(GLenum target, GLenum mode)
+{
+ switch(target) {
+ case GL_FOG_HINT:
+ case GL_LINE_SMOOTH_HINT:
+ case GL_PERSPECTIVE_CORRECTION_HINT:
+ case GL_POINT_SMOOTH_HINT:
+ case GL_GENERATE_MIPMAP_HINT:
+ break;
+ default:
+ _mesa_error(_mesa_get_current_context(), GL_INVALID_ENUM, "glHint(target=0x%x)", target);
+ return;
+ }
+ switch(mode) {
+ case GL_FASTEST:
+ case GL_NICEST:
+ case GL_DONT_CARE:
+ break;
+ default:
+ _mesa_error(_mesa_get_current_context(), GL_INVALID_ENUM, "glHint(mode=0x%x)", mode);
+ return;
+ }
+
+ _mesa_Hint(target, mode);
+}
+
+extern GLboolean GL_APIENTRY _mesa_IsBufferARB(GLuint buffer);
+#define _es_IsBuffer _mesa_IsBufferARB
+
+extern GLboolean GL_APIENTRY _mesa_IsEnabled(GLenum cap);
+static GLboolean GL_APIENTRY _es_IsEnabled(GLenum cap)
+{
+ switch(cap) {
+ case GL_NORMALIZE:
+ case GL_RESCALE_NORMAL:
+ case GL_CLIP_PLANE0:
+ case GL_CLIP_PLANE1:
+ case GL_CLIP_PLANE2:
+ case GL_CLIP_PLANE3:
+ case GL_CLIP_PLANE4:
+ case GL_CLIP_PLANE5:
+ case GL_FOG:
+ case GL_LIGHTING:
+ case GL_COLOR_MATERIAL:
+ case GL_LIGHT0:
+ case GL_LIGHT1:
+ case GL_LIGHT2:
+ case GL_LIGHT3:
+ case GL_LIGHT4:
+ case GL_LIGHT5:
+ case GL_LIGHT6:
+ case GL_LIGHT7:
+ case GL_POINT_SMOOTH:
+ case GL_LINE_SMOOTH:
+ case GL_CULL_FACE:
+ case GL_POLYGON_OFFSET_FILL:
+ case GL_MULTISAMPLE:
+ case GL_SAMPLE_ALPHA_TO_COVERAGE:
+ case GL_SAMPLE_ALPHA_TO_ONE:
+ case GL_SAMPLE_COVERAGE:
+ case GL_TEXTURE_2D:
+ case GL_SCISSOR_TEST:
+ case GL_ALPHA_TEST:
+ case GL_STENCIL_TEST:
+ case GL_DEPTH_TEST:
+ case GL_BLEND:
+ case GL_DITHER:
+ case GL_COLOR_LOGIC_OP:
+ case GL_POINT_SPRITE_OES:
+ case GL_TEXTURE_CUBE_MAP_OES:
+ case GL_TEXTURE_GEN_STR_OES:
+ case GL_VERTEX_ARRAY:
+ case GL_NORMAL_ARRAY:
+ case GL_COLOR_ARRAY:
+ case GL_TEXTURE_COORD_ARRAY:
+ case GL_MATRIX_INDEX_ARRAY_OES:
+ case GL_WEIGHT_ARRAY_OES:
+ case GL_POINT_SIZE_ARRAY_OES:
+ break;
+ default:
+ _mesa_error(_mesa_get_current_context(), GL_INVALID_ENUM, "glIsEnabled(cap=0x%x)", cap);
+ return GL_FALSE;
+ }
+
+ return _mesa_IsEnabled(cap);
+}
+
+extern GLboolean GL_APIENTRY _mesa_IsFramebufferEXT(GLuint framebuffer);
+#define _es_IsFramebufferOES _mesa_IsFramebufferEXT
+
+extern GLboolean GL_APIENTRY _mesa_IsRenderbufferEXT(GLuint renderbuffer);
+#define _es_IsRenderbufferOES _mesa_IsRenderbufferEXT
+
+extern GLboolean GL_APIENTRY _mesa_IsTexture(GLuint texture);
+#define _es_IsTexture _mesa_IsTexture
+
+extern void GL_APIENTRY _mesa_LightModelf(GLenum pname, GLfloat param);
+static void GL_APIENTRY _es_LightModelf(GLenum pname, GLfloat param)
+{
+ switch(pname) {
+ case GL_LIGHT_MODEL_TWO_SIDE:
+ if (param != GL_TRUE && param != GL_FALSE) {
+ _mesa_error(_mesa_get_current_context(), GL_INVALID_ENUM, "glLightModelf(pname=0x%x)", pname);
+ return;
+ }
+ break;
+ default:
+ _mesa_error(_mesa_get_current_context(), GL_INVALID_ENUM, "glLightModelf(pname=0x%x)", pname);
+ return;
+ }
+
+ _mesa_LightModelf(pname, param);
+}
+
+extern void GL_APIENTRY _mesa_LightModelfv(GLenum pname, const GLfloat * params);
+static void GL_APIENTRY _es_LightModelfv(GLenum pname, const GLfloat *params)
+{
+ switch(pname) {
+ case GL_LIGHT_MODEL_AMBIENT: /* size 4 */
+ break;
+ case GL_LIGHT_MODEL_TWO_SIDE: /* size 1 */
+ if (params[0] != GL_TRUE && params[0] != GL_FALSE) {
+ _mesa_error(_mesa_get_current_context(), GL_INVALID_ENUM, "glLightModelfv(pname=0x%x)", pname);
+ return;
+ }
+ break;
+ default:
+ _mesa_error(_mesa_get_current_context(), GL_INVALID_ENUM, "glLightModelfv(pname=0x%x)", pname);
+ return;
+ }
+
+ _mesa_LightModelfv(pname, params);
+}
+
+extern void GL_APIENTRY _mesa_LightModelf(GLenum pname, GLfloat param);
+static void GL_APIENTRY _es_LightModelx(GLenum pname, GLfixed param)
+{
+ GLfloat converted_param;
+
+ switch(pname) {
+ case GL_LIGHT_MODEL_TWO_SIDE:
+ if (param != GL_TRUE && param != GL_FALSE) {
+ _mesa_error(_mesa_get_current_context(), GL_INVALID_ENUM, "glLightModelx(pname=0x%x)", pname);
+ return;
+ }
+ break;
+ default:
+ _mesa_error(_mesa_get_current_context(), GL_INVALID_ENUM, "glLightModelx(pname=0x%x)", pname);
+ return;
+ }
+
+ converted_param = (GLfloat) param;
+
+ _mesa_LightModelf(pname, converted_param);
+}
+
+extern void GL_APIENTRY _mesa_LightModelfv(GLenum pname, GLfloat const * params);
+static void GL_APIENTRY _es_LightModelxv(GLenum pname, const GLfixed *params)
+{
+ register unsigned int i;
+ unsigned int n_params = 4;
+ GLfloat converted_params[4];
+ int convert_params_value = 1;
+
+ switch(pname) {
+ case GL_LIGHT_MODEL_AMBIENT:
+ n_params = 4;
+ break;
+ case GL_LIGHT_MODEL_TWO_SIDE:
+ if (params[0] != GL_TRUE && params[0] != GL_FALSE) {
+ _mesa_error(_mesa_get_current_context(), GL_INVALID_ENUM, "glLightModelxv(pname=0x%x)", pname);
+ return;
+ }
+ convert_params_value = 0;
+ n_params = 1;
+ break;
+ default:
+ _mesa_error(_mesa_get_current_context(), GL_INVALID_ENUM, "glLightModelxv(pname=0x%x)", pname);
+ return;
+ }
+
+ if (convert_params_value) {
+ for (i = 0; i < n_params; i++) {
+ converted_params[i] = (GLfloat) (params[i] / 65536.0f);
+ }
+ } else {
+ for (i = 0; i < n_params; i++) {
+ converted_params[i] = (GLfloat) params[i];
+ }
+ }
+
+ _mesa_LightModelfv(pname, converted_params);
+}
+
+extern void GL_APIENTRY _mesa_Lightf(GLenum light, GLenum pname, GLfloat param);
+static void GL_APIENTRY _es_Lightf(GLenum light, GLenum pname, GLfloat param)
+{
+ switch(light) {
+ case GL_LIGHT0:
+ case GL_LIGHT1:
+ case GL_LIGHT2:
+ case GL_LIGHT3:
+ case GL_LIGHT4:
+ case GL_LIGHT5:
+ case GL_LIGHT6:
+ case GL_LIGHT7:
+ break;
+ default:
+ _mesa_error(_mesa_get_current_context(), GL_INVALID_ENUM, "glLightf(light=0x%x)", light);
+ return;
+ }
+ switch(pname) {
+ case GL_SPOT_EXPONENT:
+ case GL_SPOT_CUTOFF:
+ case GL_CONSTANT_ATTENUATION:
+ case GL_LINEAR_ATTENUATION:
+ case GL_QUADRATIC_ATTENUATION:
+ break;
+ default:
+ _mesa_error(_mesa_get_current_context(), GL_INVALID_ENUM, "glLightf(pname=0x%x)", pname);
+ return;
+ }
+
+ _mesa_Lightf(light, pname, param);
+}
+
+extern void GL_APIENTRY _mesa_Lightfv(GLenum light, GLenum pname, const GLfloat * params);
+static void GL_APIENTRY _es_Lightfv(GLenum light, GLenum pname, const GLfloat *params)
+{
+ switch(light) {
+ case GL_LIGHT0:
+ case GL_LIGHT1:
+ case GL_LIGHT2:
+ case GL_LIGHT3:
+ case GL_LIGHT4:
+ case GL_LIGHT5:
+ case GL_LIGHT6:
+ case GL_LIGHT7:
+ break;
+ default:
+ _mesa_error(_mesa_get_current_context(), GL_INVALID_ENUM, "glLightfv(light=0x%x)", light);
+ return;
+ }
+ switch(pname) {
+ case GL_AMBIENT: /* size 4 */
+ case GL_DIFFUSE: /* size 4 */
+ case GL_SPECULAR: /* size 4 */
+ case GL_POSITION: /* size 4 */
+ case GL_SPOT_DIRECTION: /* size 3 */
+ case GL_SPOT_EXPONENT: /* size 1 */
+ case GL_SPOT_CUTOFF: /* size 1 */
+ case GL_CONSTANT_ATTENUATION: /* size 1 */
+ case GL_LINEAR_ATTENUATION: /* size 1 */
+ case GL_QUADRATIC_ATTENUATION: /* size 1 */
+ break;
+ default:
+ _mesa_error(_mesa_get_current_context(), GL_INVALID_ENUM, "glLightfv(pname=0x%x)", pname);
+ return;
+ }
+
+ _mesa_Lightfv(light, pname, params);
+}
+
+extern void GL_APIENTRY _mesa_Lightf(GLenum light, GLenum pname, GLfloat param);
+static void GL_APIENTRY _es_Lightx(GLenum light, GLenum pname, GLfixed param)
+{
+ GLfloat converted_param;
+
+ switch(light) {
+ case GL_LIGHT0:
+ case GL_LIGHT1:
+ case GL_LIGHT2:
+ case GL_LIGHT3:
+ case GL_LIGHT4:
+ case GL_LIGHT5:
+ case GL_LIGHT6:
+ case GL_LIGHT7:
+ break;
+ default:
+ _mesa_error(_mesa_get_current_context(), GL_INVALID_ENUM, "glLightx(light=0x%x)", light);
+ return;
+ }
+ switch(pname) {
+ case GL_SPOT_EXPONENT:
+ case GL_SPOT_CUTOFF:
+ case GL_CONSTANT_ATTENUATION:
+ case GL_LINEAR_ATTENUATION:
+ case GL_QUADRATIC_ATTENUATION:
+ break;
+ default:
+ _mesa_error(_mesa_get_current_context(), GL_INVALID_ENUM, "glLightx(pname=0x%x)", pname);
+ return;
+ }
+
+ converted_param = (GLfloat) (param / 65536.0f);
+
+ _mesa_Lightf(light, pname, converted_param);
+}
+
+extern void GL_APIENTRY _mesa_Lightfv(GLenum light, GLenum pname, GLfloat const * params);
+static void GL_APIENTRY _es_Lightxv(GLenum light, GLenum pname, const GLfixed *params)
+{
+ register unsigned int i;
+ unsigned int n_params = 4;
+ GLfloat converted_params[4];
+
+ switch(light) {
+ case GL_LIGHT0:
+ case GL_LIGHT1:
+ case GL_LIGHT2:
+ case GL_LIGHT3:
+ case GL_LIGHT4:
+ case GL_LIGHT5:
+ case GL_LIGHT6:
+ case GL_LIGHT7:
+ break;
+ default:
+ _mesa_error(_mesa_get_current_context(), GL_INVALID_ENUM, "glLightxv(light=0x%x)", light);
+ return;
+ }
+ switch(pname) {
+ case GL_AMBIENT:
+ case GL_DIFFUSE:
+ case GL_SPECULAR:
+ case GL_POSITION:
+ n_params = 4;
+ break;
+ case GL_SPOT_DIRECTION:
+ n_params = 3;
+ break;
+ case GL_SPOT_EXPONENT:
+ case GL_SPOT_CUTOFF:
+ case GL_CONSTANT_ATTENUATION:
+ case GL_LINEAR_ATTENUATION:
+ case GL_QUADRATIC_ATTENUATION:
+ n_params = 1;
+ break;
+ default:
+ _mesa_error(_mesa_get_current_context(), GL_INVALID_ENUM, "glLightxv(pname=0x%x)", pname);
+ return;
+ }
+
+ for (i = 0; i < n_params; i++) {
+ converted_params[i] = (GLfloat) (params[i] / 65536.0f);
+ }
+
+ _mesa_Lightfv(light, pname, converted_params);
+}
+
+extern void GL_APIENTRY _mesa_LineWidth(GLfloat width);
+#define _es_LineWidth _mesa_LineWidth
+
+extern void GL_APIENTRY _mesa_LineWidth(GLfloat width);
+static void GL_APIENTRY _es_LineWidthx(GLfixed width)
+{
+ GLfloat converted_width;
+
+ converted_width = (GLfloat) (width / 65536.0f);
+
+ _mesa_LineWidth(converted_width);
+}
+
+extern void GL_APIENTRY _mesa_LoadIdentity(void);
+#define _es_LoadIdentity _mesa_LoadIdentity
+
+extern void GL_APIENTRY _mesa_LoadMatrixf(const GLfloat * m);
+#define _es_LoadMatrixf _mesa_LoadMatrixf
+
+extern void GL_APIENTRY _mesa_LoadMatrixf(GLfloat const * m);
+static void GL_APIENTRY _es_LoadMatrixx(const GLfixed *m)
+{
+ register unsigned int i;
+ unsigned int n_m = 16;
+ GLfloat converted_m[16];
+
+ for (i = 0; i < n_m; i++) {
+ converted_m[i] = (GLfloat) (m[i] / 65536.0f);
+ }
+
+ _mesa_LoadMatrixf(converted_m);
+}
+
+extern void GL_APIENTRY _mesa_LogicOp(GLenum opcode);
+static void GL_APIENTRY _es_LogicOp(GLenum opcode)
+{
+ switch(opcode) {
+ case GL_CLEAR:
+ case GL_SET:
+ case GL_COPY:
+ case GL_COPY_INVERTED:
+ case GL_NOOP:
+ case GL_INVERT:
+ case GL_AND:
+ case GL_NAND:
+ case GL_OR:
+ case GL_NOR:
+ case GL_XOR:
+ case GL_EQUIV:
+ case GL_AND_REVERSE:
+ case GL_AND_INVERTED:
+ case GL_OR_REVERSE:
+ case GL_OR_INVERTED:
+ break;
+ default:
+ _mesa_error(_mesa_get_current_context(), GL_INVALID_ENUM, "glLogicOp(opcode=0x%x)", opcode);
+ return;
+ }
+
+ _mesa_LogicOp(opcode);
+}
+
+extern void * GL_APIENTRY _mesa_MapBufferARB(GLenum target, GLenum access);
+static void * GL_APIENTRY _es_MapBufferOES(GLenum target, GLenum access)
+{
+ switch(target) {
+ case GL_ARRAY_BUFFER:
+ case GL_ELEMENT_ARRAY_BUFFER:
+ break;
+ default:
+ _mesa_error(_mesa_get_current_context(), GL_INVALID_ENUM, "glMapBufferOES(target=0x%x)", target);
+ return (void *) 0;
+ }
+ switch(access) {
+ case GL_WRITE_ONLY_OES:
+ break;
+ default:
+ _mesa_error(_mesa_get_current_context(), GL_INVALID_ENUM, "glMapBufferOES(access=0x%x)", access);
+ return (void *) 0;
+ }
+
+ return _mesa_MapBufferARB(target, access);
+}
+
+extern void GL_APIENTRY _vbo_Materialf(GLenum face, GLenum pname, GLfloat param);
+static void GL_APIENTRY _es_Materialf(GLenum face, GLenum pname, GLfloat param)
+{
+ switch(face) {
+ case GL_FRONT_AND_BACK:
+ break;
+ default:
+ _mesa_error(_mesa_get_current_context(), GL_INVALID_ENUM, "glMaterialf(face=0x%x)", face);
+ return;
+ }
+ switch(pname) {
+ case GL_SHININESS:
+ break;
+ default:
+ _mesa_error(_mesa_get_current_context(), GL_INVALID_ENUM, "glMaterialf(pname=0x%x)", pname);
+ return;
+ }
+
+ _vbo_Materialf(face, pname, param);
+}
+
+extern void GL_APIENTRY _vbo_Materialfv(GLenum face, GLenum pname, const GLfloat * params);
+static void GL_APIENTRY _es_Materialfv(GLenum face, GLenum pname, const GLfloat *params)
+{
+ switch(face) {
+ case GL_FRONT_AND_BACK:
+ break;
+ default:
+ _mesa_error(_mesa_get_current_context(), GL_INVALID_ENUM, "glMaterialfv(face=0x%x)", face);
+ return;
+ }
+ switch(pname) {
+ case GL_AMBIENT: /* size 4 */
+ case GL_DIFFUSE: /* size 4 */
+ case GL_AMBIENT_AND_DIFFUSE: /* size 4 */
+ case GL_SPECULAR: /* size 4 */
+ case GL_EMISSION: /* size 4 */
+ case GL_SHININESS: /* size 1 */
+ break;
+ default:
+ _mesa_error(_mesa_get_current_context(), GL_INVALID_ENUM, "glMaterialfv(pname=0x%x)", pname);
+ return;
+ }
+
+ _vbo_Materialfv(face, pname, params);
+}
+
+extern void GL_APIENTRY _vbo_Materialf(GLenum face, GLenum pname, GLfloat param);
+static void GL_APIENTRY _es_Materialx(GLenum face, GLenum pname, GLfixed param)
+{
+ GLfloat converted_param;
+
+ switch(face) {
+ case GL_FRONT_AND_BACK:
+ break;
+ default:
+ _mesa_error(_mesa_get_current_context(), GL_INVALID_ENUM, "glMaterialx(face=0x%x)", face);
+ return;
+ }
+ switch(pname) {
+ case GL_SHININESS:
+ break;
+ default:
+ _mesa_error(_mesa_get_current_context(), GL_INVALID_ENUM, "glMaterialx(pname=0x%x)", pname);
+ return;
+ }
+
+ converted_param = (GLfloat) (param / 65536.0f);
+
+ _vbo_Materialf(face, pname, converted_param);
+}
+
+extern void GL_APIENTRY _vbo_Materialfv(GLenum face, GLenum pname, GLfloat const * params);
+static void GL_APIENTRY _es_Materialxv(GLenum face, GLenum pname, const GLfixed *params)
+{
+ register unsigned int i;
+ unsigned int n_params = 4;
+ GLfloat converted_params[4];
+
+ switch(face) {
+ case GL_FRONT_AND_BACK:
+ break;
+ default:
+ _mesa_error(_mesa_get_current_context(), GL_INVALID_ENUM, "glMaterialxv(face=0x%x)", face);
+ return;
+ }
+ switch(pname) {
+ case GL_AMBIENT:
+ case GL_DIFFUSE:
+ case GL_AMBIENT_AND_DIFFUSE:
+ case GL_SPECULAR:
+ case GL_EMISSION:
+ n_params = 4;
+ break;
+ case GL_SHININESS:
+ n_params = 1;
+ break;
+ default:
+ _mesa_error(_mesa_get_current_context(), GL_INVALID_ENUM, "glMaterialxv(pname=0x%x)", pname);
+ return;
+ }
+
+ for (i = 0; i < n_params; i++) {
+ converted_params[i] = (GLfloat) (params[i] / 65536.0f);
+ }
+
+ _vbo_Materialfv(face, pname, converted_params);
+}
+
+extern void GL_APIENTRY _mesa_MatrixMode(GLenum mode);
+static void GL_APIENTRY _es_MatrixMode(GLenum mode)
+{
+ switch(mode) {
+ case GL_MODELVIEW:
+ case GL_PROJECTION:
+ case GL_TEXTURE:
+ case GL_MATRIX_PALETTE_OES:
+ break;
+ default:
+ _mesa_error(_mesa_get_current_context(), GL_INVALID_ENUM, "glMatrixMode(mode=0x%x)", mode);
+ return;
+ }
+
+ _mesa_MatrixMode(mode);
+}
+
+extern void GL_APIENTRY _mesa_MultMatrixf(const GLfloat * m);
+#define _es_MultMatrixf _mesa_MultMatrixf
+
+extern void GL_APIENTRY _mesa_MultMatrixf(GLfloat const * m);
+static void GL_APIENTRY _es_MultMatrixx(const GLfixed *m)
+{
+ register unsigned int i;
+ unsigned int n_m = 16;
+ GLfloat converted_m[16];
+
+ for (i = 0; i < n_m; i++) {
+ converted_m[i] = (GLfloat) (m[i] / 65536.0f);
+ }
+
+ _mesa_MultMatrixf(converted_m);
+}
+
+extern void GL_APIENTRY _mesa_MultiDrawArraysEXT(GLenum mode, const GLint * first, const GLsizei * count, GLsizei primcount);
+static void GL_APIENTRY _es_MultiDrawArraysEXT(GLenum mode, const GLint *first, const GLsizei *count, GLsizei primcount)
+{
+ switch(mode) {
+ case GL_POINTS:
+ case GL_LINES:
+ case GL_LINE_LOOP:
+ case GL_LINE_STRIP:
+ case GL_TRIANGLES:
+ case GL_TRIANGLE_STRIP:
+ case GL_TRIANGLE_FAN:
+ break;
+ default:
+ _mesa_error(_mesa_get_current_context(), GL_INVALID_ENUM, "glMultiDrawArraysEXT(mode=0x%x)", mode);
+ return;
+ }
+
+ _mesa_MultiDrawArraysEXT(mode, first, count, primcount);
+}
+
+extern void GL_APIENTRY _mesa_MultiDrawElementsEXT(GLenum mode, const GLsizei * count, GLenum type, const GLvoid ** indices, GLsizei primcount);
+static void GL_APIENTRY _es_MultiDrawElementsEXT(GLenum mode, const GLsizei *count, GLenum type, const GLvoid **indices, GLsizei primcount)
+{
+ switch(mode) {
+ case GL_POINTS:
+ case GL_LINES:
+ case GL_LINE_LOOP:
+ case GL_LINE_STRIP:
+ case GL_TRIANGLES:
+ case GL_TRIANGLE_STRIP:
+ case GL_TRIANGLE_FAN:
+ break;
+ default:
+ _mesa_error(_mesa_get_current_context(), GL_INVALID_ENUM, "glMultiDrawElementsEXT(mode=0x%x)", mode);
+ return;
+ }
+ switch(type) {
+ case GL_UNSIGNED_BYTE:
+ case GL_UNSIGNED_SHORT:
+ case GL_UNSIGNED_INT:
+ break;
+ default:
+ _mesa_error(_mesa_get_current_context(), GL_INVALID_ENUM, "glMultiDrawElementsEXT(type=0x%x)", type);
+ return;
+ }
+
+ _mesa_MultiDrawElementsEXT(mode, count, type, indices, primcount);
+}
+
+extern void GL_APIENTRY _vbo_MultiTexCoord4f(GLenum texture, GLfloat s, GLfloat t, GLfloat r, GLfloat q);
+static void GL_APIENTRY _es_MultiTexCoord4f(GLenum texture, GLfloat s, GLfloat t, GLfloat r, GLfloat q)
+{
+ switch(texture) {
+ case GL_TEXTURE0:
+ case GL_TEXTURE1:
+ case GL_TEXTURE2:
+ case GL_TEXTURE3:
+ case GL_TEXTURE4:
+ case GL_TEXTURE5:
+ case GL_TEXTURE6:
+ case GL_TEXTURE7:
+ case GL_TEXTURE8:
+ case GL_TEXTURE9:
+ case GL_TEXTURE10:
+ case GL_TEXTURE11:
+ case GL_TEXTURE12:
+ case GL_TEXTURE13:
+ case GL_TEXTURE14:
+ case GL_TEXTURE15:
+ case GL_TEXTURE16:
+ case GL_TEXTURE17:
+ case GL_TEXTURE18:
+ case GL_TEXTURE19:
+ case GL_TEXTURE20:
+ case GL_TEXTURE21:
+ case GL_TEXTURE22:
+ case GL_TEXTURE23:
+ case GL_TEXTURE24:
+ case GL_TEXTURE25:
+ case GL_TEXTURE26:
+ case GL_TEXTURE27:
+ case GL_TEXTURE28:
+ case GL_TEXTURE29:
+ case GL_TEXTURE30:
+ case GL_TEXTURE31:
+ break;
+ default:
+ _mesa_error(_mesa_get_current_context(), GL_INVALID_ENUM, "glMultiTexCoord4f(texture=0x%x)", texture);
+ return;
+ }
+
+ _vbo_MultiTexCoord4f(texture, s, t, r, q);
+}
+
+extern void GL_APIENTRY _vbo_MultiTexCoord4f(GLenum texture, GLfloat s, GLfloat t, GLfloat r, GLfloat q);
+static void GL_APIENTRY _es_MultiTexCoord4x(GLenum texture, GLfixed s, GLfixed t, GLfixed r, GLfixed q)
+{
+ GLfloat converted_s;
+ GLfloat converted_t;
+ GLfloat converted_r;
+ GLfloat converted_q;
+
+ switch(texture) {
+ case GL_TEXTURE0:
+ case GL_TEXTURE1:
+ case GL_TEXTURE2:
+ case GL_TEXTURE3:
+ case GL_TEXTURE4:
+ case GL_TEXTURE5:
+ case GL_TEXTURE6:
+ case GL_TEXTURE7:
+ case GL_TEXTURE8:
+ case GL_TEXTURE9:
+ case GL_TEXTURE10:
+ case GL_TEXTURE11:
+ case GL_TEXTURE12:
+ case GL_TEXTURE13:
+ case GL_TEXTURE14:
+ case GL_TEXTURE15:
+ case GL_TEXTURE16:
+ case GL_TEXTURE17:
+ case GL_TEXTURE18:
+ case GL_TEXTURE19:
+ case GL_TEXTURE20:
+ case GL_TEXTURE21:
+ case GL_TEXTURE22:
+ case GL_TEXTURE23:
+ case GL_TEXTURE24:
+ case GL_TEXTURE25:
+ case GL_TEXTURE26:
+ case GL_TEXTURE27:
+ case GL_TEXTURE28:
+ case GL_TEXTURE29:
+ case GL_TEXTURE30:
+ case GL_TEXTURE31:
+ break;
+ default:
+ _mesa_error(_mesa_get_current_context(), GL_INVALID_ENUM, "glMultiTexCoord4x(texture=0x%x)", texture);
+ return;
+ }
+
+ converted_s = (GLfloat) (s / 65536.0f);
+ converted_t = (GLfloat) (t / 65536.0f);
+ converted_r = (GLfloat) (r / 65536.0f);
+ converted_q = (GLfloat) (q / 65536.0f);
+
+ _vbo_MultiTexCoord4f(texture, converted_s, converted_t, converted_r, converted_q);
+}
+
+extern void GL_APIENTRY _vbo_Normal3f(GLfloat nx, GLfloat ny, GLfloat nz);
+#define _es_Normal3f _vbo_Normal3f
+
+extern void GL_APIENTRY _vbo_Normal3f(GLfloat nx, GLfloat ny, GLfloat nz);
+static void GL_APIENTRY _es_Normal3x(GLfixed nx, GLfixed ny, GLfixed nz)
+{
+ GLfloat converted_nx;
+ GLfloat converted_ny;
+ GLfloat converted_nz;
+
+ converted_nx = (GLfloat) (nx / 65536.0f);
+ converted_ny = (GLfloat) (ny / 65536.0f);
+ converted_nz = (GLfloat) (nz / 65536.0f);
+
+ _vbo_Normal3f(converted_nx, converted_ny, converted_nz);
+}
+
+extern void GL_APIENTRY _mesa_NormalPointer(GLenum type, GLsizei stride, const GLvoid * pointer);
+static void GL_APIENTRY _es_NormalPointer(GLenum type, GLsizei stride, const GLvoid *pointer)
+{
+ switch(type) {
+ case GL_BYTE:
+ case GL_SHORT:
+ case GL_FLOAT:
+ case GL_FIXED:
+ break;
+ default:
+ _mesa_error(_mesa_get_current_context(), GL_INVALID_ENUM, "glNormalPointer(type=0x%x)", type);
+ return;
+ }
+
+ _mesa_NormalPointer(type, stride, pointer);
+}
+
+extern void GL_APIENTRY _mesa_Ortho(GLdouble left, GLdouble right, GLdouble bottom, GLdouble top, GLdouble zNear, GLdouble zFar);
+static void GL_APIENTRY _es_Orthof(GLfloat left, GLfloat right, GLfloat bottom, GLfloat top, GLfloat zNear, GLfloat zFar)
+{
+ GLdouble converted_left;
+ GLdouble converted_right;
+ GLdouble converted_bottom;
+ GLdouble converted_top;
+ GLdouble converted_zNear;
+ GLdouble converted_zFar;
+
+ converted_left = (GLdouble) (left);
+ converted_right = (GLdouble) (right);
+ converted_bottom = (GLdouble) (bottom);
+ converted_top = (GLdouble) (top);
+ converted_zNear = (GLdouble) (zNear);
+ converted_zFar = (GLdouble) (zFar);
+
+ _mesa_Ortho(converted_left, converted_right, converted_bottom, converted_top, converted_zNear, converted_zFar);
+}
+
+extern void GL_APIENTRY _mesa_Ortho(GLdouble left, GLdouble right, GLdouble bottom, GLdouble top, GLdouble zNear, GLdouble zFar);
+static void GL_APIENTRY _es_Orthox(GLfixed left, GLfixed right, GLfixed bottom, GLfixed top, GLfixed zNear, GLfixed zFar)
+{
+ GLdouble converted_left;
+ GLdouble converted_right;
+ GLdouble converted_bottom;
+ GLdouble converted_top;
+ GLdouble converted_zNear;
+ GLdouble converted_zFar;
+
+ converted_left = (GLdouble) (left / 65536.0);
+ converted_right = (GLdouble) (right / 65536.0);
+ converted_bottom = (GLdouble) (bottom / 65536.0);
+ converted_top = (GLdouble) (top / 65536.0);
+ converted_zNear = (GLdouble) (zNear / 65536.0);
+ converted_zFar = (GLdouble) (zFar / 65536.0);
+
+ _mesa_Ortho(converted_left, converted_right, converted_bottom, converted_top, converted_zNear, converted_zFar);
+}
+
+extern void GL_APIENTRY _mesa_PixelStorei(GLenum pname, GLint param);
+static void GL_APIENTRY _es_PixelStorei(GLenum pname, GLint param)
+{
+ switch(pname) {
+ case GL_PACK_ALIGNMENT:
+ case GL_UNPACK_ALIGNMENT:
+ break;
+ default:
+ _mesa_error(_mesa_get_current_context(), GL_INVALID_ENUM, "glPixelStorei(pname=0x%x)", pname);
+ return;
+ }
+ switch(param) {
+ case 1:
+ case 2:
+ case 4:
+ case 8:
+ break;
+ default:
+ _mesa_error(_mesa_get_current_context(), GL_INVALID_VALUE, "glPixelStorei(param=%d)", param);
+ return;
+ }
+
+ _mesa_PixelStorei(pname, param);
+}
+
+extern void GL_APIENTRY _mesa_PointParameterf(GLenum pname, GLfloat param);
+static void GL_APIENTRY _es_PointParameterf(GLenum pname, GLfloat param)
+{
+ switch(pname) {
+ case GL_POINT_SIZE_MIN:
+ case GL_POINT_SIZE_MAX:
+ case GL_POINT_FADE_THRESHOLD_SIZE:
+ break;
+ default:
+ _mesa_error(_mesa_get_current_context(), GL_INVALID_ENUM, "glPointParameterf(pname=0x%x)", pname);
+ return;
+ }
+
+ _mesa_PointParameterf(pname, param);
+}
+
+extern void GL_APIENTRY _mesa_PointParameterfv(GLenum pname, const GLfloat * params);
+static void GL_APIENTRY _es_PointParameterfv(GLenum pname, const GLfloat *params)
+{
+ switch(pname) {
+ case GL_POINT_SIZE_MIN: /* size 1 */
+ case GL_POINT_SIZE_MAX: /* size 1 */
+ case GL_POINT_FADE_THRESHOLD_SIZE: /* size 1 */
+ case GL_POINT_DISTANCE_ATTENUATION: /* size 3 */
+ break;
+ default:
+ _mesa_error(_mesa_get_current_context(), GL_INVALID_ENUM, "glPointParameterfv(pname=0x%x)", pname);
+ return;
+ }
+
+ _mesa_PointParameterfv(pname, params);
+}
+
+extern void GL_APIENTRY _mesa_PointParameterf(GLenum pname, GLfloat param);
+static void GL_APIENTRY _es_PointParameterx(GLenum pname, GLfixed param)
+{
+ GLfloat converted_param;
+
+ switch(pname) {
+ case GL_POINT_SIZE_MIN:
+ case GL_POINT_SIZE_MAX:
+ case GL_POINT_FADE_THRESHOLD_SIZE:
+ break;
+ default:
+ _mesa_error(_mesa_get_current_context(), GL_INVALID_ENUM, "glPointParameterx(pname=0x%x)", pname);
+ return;
+ }
+
+ converted_param = (GLfloat) (param / 65536.0f);
+
+ _mesa_PointParameterf(pname, converted_param);
+}
+
+extern void GL_APIENTRY _mesa_PointParameterfv(GLenum pname, GLfloat const * params);
+static void GL_APIENTRY _es_PointParameterxv(GLenum pname, const GLfixed *params)
+{
+ register unsigned int i;
+ unsigned int n_params = 3;
+ GLfloat converted_params[3];
+
+ switch(pname) {
+ case GL_POINT_SIZE_MIN:
+ case GL_POINT_SIZE_MAX:
+ case GL_POINT_FADE_THRESHOLD_SIZE:
+ n_params = 1;
+ break;
+ case GL_POINT_DISTANCE_ATTENUATION:
+ n_params = 3;
+ break;
+ default:
+ _mesa_error(_mesa_get_current_context(), GL_INVALID_ENUM, "glPointParameterxv(pname=0x%x)", pname);
+ return;
+ }
+
+ for (i = 0; i < n_params; i++) {
+ converted_params[i] = (GLfloat) (params[i] / 65536.0f);
+ }
+
+ _mesa_PointParameterfv(pname, converted_params);
+}
+
+extern void GL_APIENTRY _mesa_PointSize(GLfloat size);
+#define _es_PointSize _mesa_PointSize
+
+extern void GL_APIENTRY _mesa_PointSizePointer(GLenum type, GLsizei stride, const GLvoid * pointer);
+static void GL_APIENTRY _es_PointSizePointerOES(GLenum type, GLsizei stride, const GLvoid *pointer)
+{
+ switch(type) {
+ case GL_FLOAT:
+ case GL_FIXED:
+ break;
+ default:
+ _mesa_error(_mesa_get_current_context(), GL_INVALID_ENUM, "glPointSizePointerOES(type=0x%x)", type);
+ return;
+ }
+
+ _mesa_PointSizePointer(type, stride, pointer);
+}
+
+extern void GL_APIENTRY _mesa_PointSize(GLfloat size);
+static void GL_APIENTRY _es_PointSizex(GLfixed size)
+{
+ GLfloat converted_size;
+
+ converted_size = (GLfloat) (size / 65536.0f);
+
+ _mesa_PointSize(converted_size);
+}
+
+extern void GL_APIENTRY _mesa_PolygonOffset(GLfloat factor, GLfloat units);
+#define _es_PolygonOffset _mesa_PolygonOffset
+
+extern void GL_APIENTRY _mesa_PolygonOffset(GLfloat factor, GLfloat units);
+static void GL_APIENTRY _es_PolygonOffsetx(GLfixed factor, GLfixed units)
+{
+ GLfloat converted_factor;
+ GLfloat converted_units;
+
+ converted_factor = (GLfloat) (factor / 65536.0f);
+ converted_units = (GLfloat) (units / 65536.0f);
+
+ _mesa_PolygonOffset(converted_factor, converted_units);
+}
+
+extern void GL_APIENTRY _mesa_PopMatrix(void);
+#define _es_PopMatrix _mesa_PopMatrix
+
+extern void GL_APIENTRY _mesa_PushMatrix(void);
+#define _es_PushMatrix _mesa_PushMatrix
+
+/* this function is special and is defined elsewhere */
+extern GLbitfield GL_APIENTRY _es_QueryMatrixxOES(GLfixed * mantissa, GLint * exponent);
+#define _check_QueryMatrixxOES _es_QueryMatrixxOES
+
+extern void GL_APIENTRY _mesa_ReadPixels(GLint x, GLint y, GLsizei width, GLsizei height, GLenum format, GLenum type, GLvoid * pixels);
+static void GL_APIENTRY _es_ReadPixels(GLint x, GLint y, GLsizei width, GLsizei height, GLenum format, GLenum type, GLvoid *pixels)
+{
+ switch(format) {
+ case GL_ALPHA:
+ if (type != GL_UNSIGNED_BYTE) {
+ _mesa_error(_mesa_get_current_context(), GL_INVALID_OPERATION, "glReadPixels(format=0x%x)", format);
+ return;
+ }
+ break;
+ case GL_RGB:
+ if (type != GL_UNSIGNED_BYTE && type != GL_UNSIGNED_SHORT_5_6_5) {
+ _mesa_error(_mesa_get_current_context(), GL_INVALID_OPERATION, "glReadPixels(format=0x%x)", format);
+ return;
+ }
+ break;
+ case GL_RGBA:
+ if (type != GL_UNSIGNED_BYTE && type != GL_UNSIGNED_SHORT_4_4_4_4 && type != GL_UNSIGNED_SHORT_5_5_5_1) {
+ _mesa_error(_mesa_get_current_context(), GL_INVALID_OPERATION, "glReadPixels(format=0x%x)", format);
+ return;
+ }
+ break;
+ case GL_LUMINANCE:
+ case GL_LUMINANCE_ALPHA:
+ if (type != GL_UNSIGNED_BYTE) {
+ _mesa_error(_mesa_get_current_context(), GL_INVALID_OPERATION, "glReadPixels(format=0x%x)", format);
+ return;
+ }
+ break;
+ default:
+ _mesa_error(_mesa_get_current_context(), GL_INVALID_OPERATION, "glReadPixels(format=0x%x)", format);
+ return;
+ }
+
+ _mesa_ReadPixels(x, y, width, height, format, type, pixels);
+}
+
+/* this function is special and is defined elsewhere */
+extern void GL_APIENTRY _es_RenderbufferStorageEXT(GLenum target, GLenum internalFormat, GLsizei width, GLsizei height);
+static void GL_APIENTRY _check_RenderbufferStorageOES(GLenum target, GLenum internalFormat, GLsizei width, GLsizei height)
+{
+ switch(target) {
+ case GL_RENDERBUFFER_OES:
+ break;
+ default:
+ _mesa_error(_mesa_get_current_context(), GL_INVALID_ENUM, "glRenderbufferStorageOES(target=0x%x)", target);
+ return;
+ }
+ switch(internalFormat) {
+ case GL_DEPTH_COMPONENT16_OES:
+ case GL_RGBA4_OES:
+ case GL_RGB5_A1_OES:
+ case GL_RGB565_OES:
+ case GL_STENCIL_INDEX8_OES:
+ case GL_DEPTH_COMPONENT24_OES:
+ case GL_DEPTH_COMPONENT32_OES:
+ case GL_RGB8_OES:
+ case GL_RGBA8_OES:
+ case GL_STENCIL_INDEX1_OES:
+ case GL_STENCIL_INDEX4_OES:
+ break;
+ default:
+ _mesa_error(_mesa_get_current_context(), GL_INVALID_ENUM, "glRenderbufferStorageOES(internalFormat=0x%x)", internalFormat);
+ return;
+ }
+
+ _es_RenderbufferStorageEXT(target, internalFormat, width, height);
+}
+
+extern void GL_APIENTRY _mesa_Rotatef(GLfloat angle, GLfloat x, GLfloat y, GLfloat z);
+#define _es_Rotatef _mesa_Rotatef
+
+extern void GL_APIENTRY _mesa_Rotatef(GLfloat angle, GLfloat x, GLfloat y, GLfloat z);
+static void GL_APIENTRY _es_Rotatex(GLfixed angle, GLfixed x, GLfixed y, GLfixed z)
+{
+ GLfloat converted_angle;
+ GLfloat converted_x;
+ GLfloat converted_y;
+ GLfloat converted_z;
+
+ converted_angle = (GLfloat) (angle / 65536.0f);
+ converted_x = (GLfloat) (x / 65536.0f);
+ converted_y = (GLfloat) (y / 65536.0f);
+ converted_z = (GLfloat) (z / 65536.0f);
+
+ _mesa_Rotatef(converted_angle, converted_x, converted_y, converted_z);
+}
+
+extern void GL_APIENTRY _mesa_SampleCoverageARB(GLclampf value, GLboolean invert);
+#define _es_SampleCoverage _mesa_SampleCoverageARB
+
+extern void GL_APIENTRY _mesa_SampleCoverageARB(GLclampf value, GLboolean invert);
+static void GL_APIENTRY _es_SampleCoveragex(GLclampx value, GLboolean invert)
+{
+ GLclampf converted_value;
+
+ converted_value = (GLclampf) (value / 65536.0f);
+
+ _mesa_SampleCoverageARB(converted_value, invert);
+}
+
+extern void GL_APIENTRY _mesa_Scalef(GLfloat x, GLfloat y, GLfloat z);
+#define _es_Scalef _mesa_Scalef
+
+extern void GL_APIENTRY _mesa_Scalef(GLfloat x, GLfloat y, GLfloat z);
+static void GL_APIENTRY _es_Scalex(GLfixed x, GLfixed y, GLfixed z)
+{
+ GLfloat converted_x;
+ GLfloat converted_y;
+ GLfloat converted_z;
+
+ converted_x = (GLfloat) (x / 65536.0f);
+ converted_y = (GLfloat) (y / 65536.0f);
+ converted_z = (GLfloat) (z / 65536.0f);
+
+ _mesa_Scalef(converted_x, converted_y, converted_z);
+}
+
+extern void GL_APIENTRY _mesa_Scissor(GLint x, GLint y, GLsizei width, GLsizei height);
+#define _es_Scissor _mesa_Scissor
+
+extern void GL_APIENTRY _mesa_ShadeModel(GLenum mode);
+static void GL_APIENTRY _es_ShadeModel(GLenum mode)
+{
+ switch(mode) {
+ case GL_FLAT:
+ case GL_SMOOTH:
+ break;
+ default:
+ _mesa_error(_mesa_get_current_context(), GL_INVALID_ENUM, "glShadeModel(mode=0x%x)", mode);
+ return;
+ }
+
+ _mesa_ShadeModel(mode);
+}
+
+extern void GL_APIENTRY _mesa_StencilFunc(GLenum func, GLint ref, GLuint mask);
+static void GL_APIENTRY _es_StencilFunc(GLenum func, GLint ref, GLuint mask)
+{
+ switch(func) {
+ case GL_NEVER:
+ case GL_LESS:
+ case GL_LEQUAL:
+ case GL_GREATER:
+ case GL_GEQUAL:
+ case GL_EQUAL:
+ case GL_NOTEQUAL:
+ case GL_ALWAYS:
+ break;
+ default:
+ _mesa_error(_mesa_get_current_context(), GL_INVALID_ENUM, "glStencilFunc(func=0x%x)", func);
+ return;
+ }
+
+ _mesa_StencilFunc(func, ref, mask);
+}
+
+extern void GL_APIENTRY _mesa_StencilMask(GLuint mask);
+#define _es_StencilMask _mesa_StencilMask
+
+extern void GL_APIENTRY _mesa_StencilOp(GLenum fail, GLenum zfail, GLenum zpass);
+static void GL_APIENTRY _es_StencilOp(GLenum fail, GLenum zfail, GLenum zpass)
+{
+ switch(fail) {
+ case GL_KEEP:
+ case GL_ZERO:
+ case GL_REPLACE:
+ case GL_INCR:
+ case GL_DECR:
+ case GL_INVERT:
+ case GL_INCR_WRAP_OES:
+ case GL_DECR_WRAP_OES:
+ break;
+ default:
+ _mesa_error(_mesa_get_current_context(), GL_INVALID_ENUM, "glStencilOp(fail=0x%x)", fail);
+ return;
+ }
+ switch(zfail) {
+ case GL_KEEP:
+ case GL_ZERO:
+ case GL_REPLACE:
+ case GL_INCR:
+ case GL_DECR:
+ case GL_INVERT:
+ case GL_INCR_WRAP_OES:
+ case GL_DECR_WRAP_OES:
+ break;
+ default:
+ _mesa_error(_mesa_get_current_context(), GL_INVALID_ENUM, "glStencilOp(zfail=0x%x)", zfail);
+ return;
+ }
+ switch(zpass) {
+ case GL_KEEP:
+ case GL_ZERO:
+ case GL_REPLACE:
+ case GL_INCR:
+ case GL_DECR:
+ case GL_INVERT:
+ case GL_INCR_WRAP_OES:
+ case GL_DECR_WRAP_OES:
+ break;
+ default:
+ _mesa_error(_mesa_get_current_context(), GL_INVALID_ENUM, "glStencilOp(zpass=0x%x)", zpass);
+ return;
+ }
+
+ _mesa_StencilOp(fail, zfail, zpass);
+}
+
+extern void GL_APIENTRY _mesa_TexCoordPointer(GLint size, GLenum type, GLsizei stride, const GLvoid * pointer);
+static void GL_APIENTRY _es_TexCoordPointer(GLint size, GLenum type, GLsizei stride, const GLvoid *pointer)
+{
+ switch(size) {
+ case 2:
+ case 3:
+ case 4:
+ break;
+ default:
+ _mesa_error(_mesa_get_current_context(), GL_INVALID_VALUE, "glTexCoordPointer(size=%d)", size);
+ return;
+ }
+ switch(type) {
+ case GL_BYTE:
+ case GL_SHORT:
+ case GL_FLOAT:
+ case GL_FIXED:
+ break;
+ default:
+ _mesa_error(_mesa_get_current_context(), GL_INVALID_ENUM, "glTexCoordPointer(type=0x%x)", type);
+ return;
+ }
+
+ _mesa_TexCoordPointer(size, type, stride, pointer);
+}
+
+extern void GL_APIENTRY _mesa_TexEnvf(GLenum target, GLenum pname, GLfloat param);
+static void GL_APIENTRY _es_TexEnvf(GLenum target, GLenum pname, GLfloat param)
+{
+ switch(target) {
+ case GL_POINT_SPRITE_OES:
+ if (pname != GL_COORD_REPLACE_OES) {
+ _mesa_error(_mesa_get_current_context(), GL_INVALID_ENUM, "glTexEnvf(target=0x%x)", target);
+ return;
+ }
+ break;
+ case GL_TEXTURE_FILTER_CONTROL_EXT:
+ if (pname != GL_TEXTURE_LOD_BIAS_EXT) {
+ _mesa_error(_mesa_get_current_context(), GL_INVALID_ENUM, "glTexEnvf(target=0x%x)", target);
+ return;
+ }
+ break;
+ case GL_TEXTURE_ENV:
+ if (pname != GL_TEXTURE_ENV_MODE && pname != GL_COMBINE_RGB && pname != GL_COMBINE_ALPHA && pname != GL_RGB_SCALE && pname != GL_ALPHA_SCALE && pname != GL_SRC0_RGB && pname != GL_SRC1_RGB && pname != GL_SRC2_RGB && pname != GL_SRC0_ALPHA && pname != GL_SRC1_ALPHA && pname != GL_SRC2_ALPHA && pname != GL_OPERAND0_RGB && pname != GL_OPERAND1_RGB && pname != GL_OPERAND2_RGB && pname != GL_OPERAND0_ALPHA && pname != GL_OPERAND1_ALPHA && pname != GL_OPERAND2_ALPHA && pname != GL_TEXTURE_ENV_COLOR) {
+ _mesa_error(_mesa_get_current_context(), GL_INVALID_ENUM, "glTexEnvf(target=0x%x)", target);
+ return;
+ }
+ break;
+ default:
+ _mesa_error(_mesa_get_current_context(), GL_INVALID_ENUM, "glTexEnvf(target=0x%x)", target);
+ return;
+ }
+ switch(pname) {
+ case GL_COORD_REPLACE_OES:
+ if (param != GL_TRUE && param != GL_FALSE) {
+ _mesa_error(_mesa_get_current_context(), GL_INVALID_ENUM, "glTexEnvf(pname=0x%x)", pname);
+ return;
+ }
+ break;
+ case GL_TEXTURE_LOD_BIAS_EXT:
+ break;
+ case GL_TEXTURE_ENV_MODE:
+ if (param != GL_REPLACE && param != GL_MODULATE && param != GL_DECAL && param != GL_BLEND && param != GL_ADD && param != GL_COMBINE) {
+ _mesa_error(_mesa_get_current_context(), GL_INVALID_ENUM, "glTexEnvf(pname=0x%x)", pname);
+ return;
+ }
+ break;
+ case GL_COMBINE_RGB:
+ if (param != GL_REPLACE && param != GL_MODULATE && param != GL_ADD && param != GL_ADD_SIGNED && param != GL_INTERPOLATE && param != GL_SUBTRACT && param != GL_DOT3_RGB && param != GL_DOT3_RGBA) {
+ _mesa_error(_mesa_get_current_context(), GL_INVALID_ENUM, "glTexEnvf(pname=0x%x)", pname);
+ return;
+ }
+ break;
+ case GL_COMBINE_ALPHA:
+ if (param != GL_REPLACE && param != GL_MODULATE && param != GL_ADD && param != GL_ADD_SIGNED && param != GL_INTERPOLATE && param != GL_SUBTRACT) {
+ _mesa_error(_mesa_get_current_context(), GL_INVALID_ENUM, "glTexEnvf(pname=0x%x)", pname);
+ return;
+ }
+ break;
+ case GL_RGB_SCALE:
+ case GL_ALPHA_SCALE:
+ if (param != 1.0 && param != 2.0 && param != 4.0) {
+ _mesa_error(_mesa_get_current_context(), GL_INVALID_VALUE, "glTexEnvf(pname=0x%x)", pname);
+ return;
+ }
+ break;
+ case GL_SRC0_RGB:
+ case GL_SRC1_RGB:
+ case GL_SRC2_RGB:
+ case GL_SRC0_ALPHA:
+ case GL_SRC1_ALPHA:
+ case GL_SRC2_ALPHA:
+ if (param != GL_TEXTURE && param != GL_CONSTANT && param != GL_PRIMARY_COLOR && param != GL_PREVIOUS && param != GL_TEXTURE0 && param != GL_TEXTURE1 && param != GL_TEXTURE2 && param != GL_TEXTURE3 && param != GL_TEXTURE4 && param != GL_TEXTURE5 && param != GL_TEXTURE6 && param != GL_TEXTURE7 && param != GL_TEXTURE8 && param != GL_TEXTURE9 && param != GL_TEXTURE10 && param != GL_TEXTURE11 && param != GL_TEXTURE12 && param != GL_TEXTURE13 && param != GL_TEXTURE14 && param != GL_TEXTURE15 && param != GL_TEXTURE16 && param != GL_TEXTURE17 && param != GL_TEXTURE18 && param != GL_TEXTURE19 && param != GL_TEXTURE20 && param != GL_TEXTURE21 && param != GL_TEXTURE22 && param != GL_TEXTURE23 && param != GL_TEXTURE24 && param != GL_TEXTURE25 && param != GL_TEXTURE26 && param != GL_TEXTURE27 && param != GL_TEXTURE28 && param != GL_TEXTURE29 && param != GL_TEXTURE30 && param != GL_TEXTURE31) {
+ _mesa_error(_mesa_get_current_context(), GL_INVALID_ENUM, "glTexEnvf(pname=0x%x)", pname);
+ return;
+ }
+ break;
+ case GL_OPERAND0_RGB:
+ case GL_OPERAND1_RGB:
+ case GL_OPERAND2_RGB:
+ if (param != GL_SRC_COLOR && param != GL_ONE_MINUS_SRC_COLOR && param != GL_SRC_ALPHA && param != GL_ONE_MINUS_SRC_ALPHA) {
+ _mesa_error(_mesa_get_current_context(), GL_INVALID_ENUM, "glTexEnvf(pname=0x%x)", pname);
+ return;
+ }
+ break;
+ case GL_OPERAND0_ALPHA:
+ case GL_OPERAND1_ALPHA:
+ case GL_OPERAND2_ALPHA:
+ if (param != GL_SRC_ALPHA && param != GL_ONE_MINUS_SRC_ALPHA) {
+ _mesa_error(_mesa_get_current_context(), GL_INVALID_ENUM, "glTexEnvf(pname=0x%x)", pname);
+ return;
+ }
+ break;
+ default:
+ _mesa_error(_mesa_get_current_context(), GL_INVALID_ENUM, "glTexEnvf(pname=0x%x)", pname);
+ return;
+ }
+
+ _mesa_TexEnvf(target, pname, param);
+}
+
+extern void GL_APIENTRY _mesa_TexEnvfv(GLenum target, GLenum pname, const GLfloat * params);
+static void GL_APIENTRY _es_TexEnvfv(GLenum target, GLenum pname, const GLfloat *params)
+{
+ switch(target) {
+ case GL_POINT_SPRITE_OES:
+ if (pname != GL_COORD_REPLACE_OES) {
+ _mesa_error(_mesa_get_current_context(), GL_INVALID_ENUM, "glTexEnvfv(target=0x%x)", target);
+ return;
+ }
+ break;
+ case GL_TEXTURE_FILTER_CONTROL_EXT:
+ if (pname != GL_TEXTURE_LOD_BIAS_EXT) {
+ _mesa_error(_mesa_get_current_context(), GL_INVALID_ENUM, "glTexEnvfv(target=0x%x)", target);
+ return;
+ }
+ break;
+ case GL_TEXTURE_ENV:
+ if (pname != GL_TEXTURE_ENV_MODE && pname != GL_COMBINE_RGB && pname != GL_COMBINE_ALPHA && pname != GL_RGB_SCALE && pname != GL_ALPHA_SCALE && pname != GL_SRC0_RGB && pname != GL_SRC1_RGB && pname != GL_SRC2_RGB && pname != GL_SRC0_ALPHA && pname != GL_SRC1_ALPHA && pname != GL_SRC2_ALPHA && pname != GL_OPERAND0_RGB && pname != GL_OPERAND1_RGB && pname != GL_OPERAND2_RGB && pname != GL_OPERAND0_ALPHA && pname != GL_OPERAND1_ALPHA && pname != GL_OPERAND2_ALPHA && pname != GL_TEXTURE_ENV_COLOR) {
+ _mesa_error(_mesa_get_current_context(), GL_INVALID_ENUM, "glTexEnvfv(target=0x%x)", target);
+ return;
+ }
+ break;
+ default:
+ _mesa_error(_mesa_get_current_context(), GL_INVALID_ENUM, "glTexEnvfv(target=0x%x)", target);
+ return;
+ }
+ switch(pname) {
+ case GL_COORD_REPLACE_OES: /* size 1 */
+ if (params[0] != GL_TRUE && params[0] != GL_FALSE) {
+ _mesa_error(_mesa_get_current_context(), GL_INVALID_ENUM, "glTexEnvfv(pname=0x%x)", pname);
+ return;
+ }
+ break;
+ case GL_TEXTURE_LOD_BIAS_EXT: /* size 1 */
+ break;
+ case GL_TEXTURE_ENV_MODE: /* size 1 */
+ if (params[0] != GL_REPLACE && params[0] != GL_MODULATE && params[0] != GL_DECAL && params[0] != GL_BLEND && params[0] != GL_ADD && params[0] != GL_COMBINE) {
+ _mesa_error(_mesa_get_current_context(), GL_INVALID_ENUM, "glTexEnvfv(pname=0x%x)", pname);
+ return;
+ }
+ break;
+ case GL_COMBINE_RGB: /* size 1 */
+ if (params[0] != GL_REPLACE && params[0] != GL_MODULATE && params[0] != GL_ADD && params[0] != GL_ADD_SIGNED && params[0] != GL_INTERPOLATE && params[0] != GL_SUBTRACT && params[0] != GL_DOT3_RGB && params[0] != GL_DOT3_RGBA) {
+ _mesa_error(_mesa_get_current_context(), GL_INVALID_ENUM, "glTexEnvfv(pname=0x%x)", pname);
+ return;
+ }
+ break;
+ case GL_COMBINE_ALPHA: /* size 1 */
+ if (params[0] != GL_REPLACE && params[0] != GL_MODULATE && params[0] != GL_ADD && params[0] != GL_ADD_SIGNED && params[0] != GL_INTERPOLATE && params[0] != GL_SUBTRACT) {
+ _mesa_error(_mesa_get_current_context(), GL_INVALID_ENUM, "glTexEnvfv(pname=0x%x)", pname);
+ return;
+ }
+ break;
+ case GL_RGB_SCALE:
+ case GL_ALPHA_SCALE:
+ if (params[0] != 1.0 && params[0] != 2.0 && params[0] != 4.0) {
+ _mesa_error(_mesa_get_current_context(), GL_INVALID_VALUE, "glTexEnvfv(pname=0x%x)", pname);
+ return;
+ }
+ break;
+ case GL_SRC0_RGB: /* size 1 */
+ case GL_SRC1_RGB: /* size 1 */
+ case GL_SRC2_RGB: /* size 1 */
+ case GL_SRC0_ALPHA: /* size 1 */
+ case GL_SRC1_ALPHA: /* size 1 */
+ case GL_SRC2_ALPHA: /* size 1 */
+ if (params[0] != GL_TEXTURE && params[0] != GL_CONSTANT && params[0] != GL_PRIMARY_COLOR && params[0] != GL_PREVIOUS && params[0] != GL_TEXTURE0 && params[0] != GL_TEXTURE1 && params[0] != GL_TEXTURE2 && params[0] != GL_TEXTURE3 && params[0] != GL_TEXTURE4 && params[0] != GL_TEXTURE5 && params[0] != GL_TEXTURE6 && params[0] != GL_TEXTURE7 && params[0] != GL_TEXTURE8 && params[0] != GL_TEXTURE9 && params[0] != GL_TEXTURE10 && params[0] != GL_TEXTURE11 && params[0] != GL_TEXTURE12 && params[0] != GL_TEXTURE13 && params[0] != GL_TEXTURE14 && params[0] != GL_TEXTURE15 && params[0] != GL_TEXTURE16 && params[0] != GL_TEXTURE17 && params[0] != GL_TEXTURE18 && params[0] != GL_TEXTURE19 && params[0] != GL_TEXTURE20 && params[0] != GL_TEXTURE21 && params[0] != GL_TEXTURE22 && params[0] != GL_TEXTURE23 && params[0] != GL_TEXTURE24 && params[0] != GL_TEXTURE25 && params[0] != GL_TEXTURE26 && params[0] != GL_TEXTURE27 && params[0] != GL_TEXTURE28 && params[0] != GL_TEXTURE29 && params[0] != GL_TEXTURE30 && params[0] != GL_TEXTURE31) {
+ _mesa_error(_mesa_get_current_context(), GL_INVALID_ENUM, "glTexEnvfv(pname=0x%x)", pname);
+ return;
+ }
+ break;
+ case GL_OPERAND0_RGB: /* size 1 */
+ case GL_OPERAND1_RGB: /* size 1 */
+ case GL_OPERAND2_RGB: /* size 1 */
+ if (params[0] != GL_SRC_COLOR && params[0] != GL_ONE_MINUS_SRC_COLOR && params[0] != GL_SRC_ALPHA && params[0] != GL_ONE_MINUS_SRC_ALPHA) {
+ _mesa_error(_mesa_get_current_context(), GL_INVALID_ENUM, "glTexEnvfv(pname=0x%x)", pname);
+ return;
+ }
+ break;
+ case GL_OPERAND0_ALPHA: /* size 1 */
+ case GL_OPERAND1_ALPHA: /* size 1 */
+ case GL_OPERAND2_ALPHA: /* size 1 */
+ if (params[0] != GL_SRC_ALPHA && params[0] != GL_ONE_MINUS_SRC_ALPHA) {
+ _mesa_error(_mesa_get_current_context(), GL_INVALID_ENUM, "glTexEnvfv(pname=0x%x)", pname);
+ return;
+ }
+ break;
+ case GL_TEXTURE_ENV_COLOR: /* size 4 */
+ break;
+ default:
+ _mesa_error(_mesa_get_current_context(), GL_INVALID_ENUM, "glTexEnvfv(pname=0x%x)", pname);
+ return;
+ }
+
+ _mesa_TexEnvfv(target, pname, params);
+}
+
+extern void GL_APIENTRY _mesa_TexEnvi(GLenum target, GLenum pname, GLint param);
+static void GL_APIENTRY _es_TexEnvi(GLenum target, GLenum pname, GLint param)
+{
+ switch(target) {
+ case GL_POINT_SPRITE_OES:
+ if (pname != GL_COORD_REPLACE_OES) {
+ _mesa_error(_mesa_get_current_context(), GL_INVALID_ENUM, "glTexEnvi(target=0x%x)", target);
+ return;
+ }
+ break;
+ case GL_TEXTURE_FILTER_CONTROL_EXT:
+ if (pname != GL_TEXTURE_LOD_BIAS_EXT) {
+ _mesa_error(_mesa_get_current_context(), GL_INVALID_ENUM, "glTexEnvi(target=0x%x)", target);
+ return;
+ }
+ break;
+ case GL_TEXTURE_ENV:
+ if (pname != GL_TEXTURE_ENV_MODE && pname != GL_COMBINE_RGB && pname != GL_COMBINE_ALPHA && pname != GL_RGB_SCALE && pname != GL_ALPHA_SCALE && pname != GL_SRC0_RGB && pname != GL_SRC1_RGB && pname != GL_SRC2_RGB && pname != GL_SRC0_ALPHA && pname != GL_SRC1_ALPHA && pname != GL_SRC2_ALPHA && pname != GL_OPERAND0_RGB && pname != GL_OPERAND1_RGB && pname != GL_OPERAND2_RGB && pname != GL_OPERAND0_ALPHA && pname != GL_OPERAND1_ALPHA && pname != GL_OPERAND2_ALPHA && pname != GL_TEXTURE_ENV_COLOR) {
+ _mesa_error(_mesa_get_current_context(), GL_INVALID_ENUM, "glTexEnvi(target=0x%x)", target);
+ return;
+ }
+ break;
+ default:
+ _mesa_error(_mesa_get_current_context(), GL_INVALID_ENUM, "glTexEnvi(target=0x%x)", target);
+ return;
+ }
+ switch(pname) {
+ case GL_COORD_REPLACE_OES:
+ if (param != GL_TRUE && param != GL_FALSE) {
+ _mesa_error(_mesa_get_current_context(), GL_INVALID_ENUM, "glTexEnvi(pname=0x%x)", pname);
+ return;
+ }
+ break;
+ case GL_TEXTURE_LOD_BIAS_EXT:
+ break;
+ case GL_TEXTURE_ENV_MODE:
+ if (param != GL_REPLACE && param != GL_MODULATE && param != GL_DECAL && param != GL_BLEND && param != GL_ADD && param != GL_COMBINE) {
+ _mesa_error(_mesa_get_current_context(), GL_INVALID_ENUM, "glTexEnvi(pname=0x%x)", pname);
+ return;
+ }
+ break;
+ case GL_COMBINE_RGB:
+ if (param != GL_REPLACE && param != GL_MODULATE && param != GL_ADD && param != GL_ADD_SIGNED && param != GL_INTERPOLATE && param != GL_SUBTRACT && param != GL_DOT3_RGB && param != GL_DOT3_RGBA) {
+ _mesa_error(_mesa_get_current_context(), GL_INVALID_ENUM, "glTexEnvi(pname=0x%x)", pname);
+ return;
+ }
+ break;
+ case GL_COMBINE_ALPHA:
+ if (param != GL_REPLACE && param != GL_MODULATE && param != GL_ADD && param != GL_ADD_SIGNED && param != GL_INTERPOLATE && param != GL_SUBTRACT) {
+ _mesa_error(_mesa_get_current_context(), GL_INVALID_ENUM, "glTexEnvi(pname=0x%x)", pname);
+ return;
+ }
+ break;
+ case GL_RGB_SCALE:
+ case GL_ALPHA_SCALE:
+ if (param != 1.0 && param != 2.0 && param != 4.0) {
+ _mesa_error(_mesa_get_current_context(), GL_INVALID_VALUE, "glTexEnvi(pname=0x%x)", pname);
+ return;
+ }
+ break;
+ case GL_SRC0_RGB:
+ case GL_SRC1_RGB:
+ case GL_SRC2_RGB:
+ case GL_SRC0_ALPHA:
+ case GL_SRC1_ALPHA:
+ case GL_SRC2_ALPHA:
+ if (param != GL_TEXTURE && param != GL_CONSTANT && param != GL_PRIMARY_COLOR && param != GL_PREVIOUS && param != GL_TEXTURE0 && param != GL_TEXTURE1 && param != GL_TEXTURE2 && param != GL_TEXTURE3 && param != GL_TEXTURE4 && param != GL_TEXTURE5 && param != GL_TEXTURE6 && param != GL_TEXTURE7 && param != GL_TEXTURE8 && param != GL_TEXTURE9 && param != GL_TEXTURE10 && param != GL_TEXTURE11 && param != GL_TEXTURE12 && param != GL_TEXTURE13 && param != GL_TEXTURE14 && param != GL_TEXTURE15 && param != GL_TEXTURE16 && param != GL_TEXTURE17 && param != GL_TEXTURE18 && param != GL_TEXTURE19 && param != GL_TEXTURE20 && param != GL_TEXTURE21 && param != GL_TEXTURE22 && param != GL_TEXTURE23 && param != GL_TEXTURE24 && param != GL_TEXTURE25 && param != GL_TEXTURE26 && param != GL_TEXTURE27 && param != GL_TEXTURE28 && param != GL_TEXTURE29 && param != GL_TEXTURE30 && param != GL_TEXTURE31) {
+ _mesa_error(_mesa_get_current_context(), GL_INVALID_ENUM, "glTexEnvi(pname=0x%x)", pname);
+ return;
+ }
+ break;
+ case GL_OPERAND0_RGB:
+ case GL_OPERAND1_RGB:
+ case GL_OPERAND2_RGB:
+ if (param != GL_SRC_COLOR && param != GL_ONE_MINUS_SRC_COLOR && param != GL_SRC_ALPHA && param != GL_ONE_MINUS_SRC_ALPHA) {
+ _mesa_error(_mesa_get_current_context(), GL_INVALID_ENUM, "glTexEnvi(pname=0x%x)", pname);
+ return;
+ }
+ break;
+ case GL_OPERAND0_ALPHA:
+ case GL_OPERAND1_ALPHA:
+ case GL_OPERAND2_ALPHA:
+ if (param != GL_SRC_ALPHA && param != GL_ONE_MINUS_SRC_ALPHA) {
+ _mesa_error(_mesa_get_current_context(), GL_INVALID_ENUM, "glTexEnvi(pname=0x%x)", pname);
+ return;
+ }
+ break;
+ default:
+ _mesa_error(_mesa_get_current_context(), GL_INVALID_ENUM, "glTexEnvi(pname=0x%x)", pname);
+ return;
+ }
+
+ _mesa_TexEnvi(target, pname, param);
+}
+
+extern void GL_APIENTRY _mesa_TexEnviv(GLenum target, GLenum pname, const GLint * params);
+static void GL_APIENTRY _es_TexEnviv(GLenum target, GLenum pname, const GLint *params)
+{
+ switch(target) {
+ case GL_POINT_SPRITE_OES:
+ if (pname != GL_COORD_REPLACE_OES) {
+ _mesa_error(_mesa_get_current_context(), GL_INVALID_ENUM, "glTexEnviv(target=0x%x)", target);
+ return;
+ }
+ break;
+ case GL_TEXTURE_FILTER_CONTROL_EXT:
+ if (pname != GL_TEXTURE_LOD_BIAS_EXT) {
+ _mesa_error(_mesa_get_current_context(), GL_INVALID_ENUM, "glTexEnviv(target=0x%x)", target);
+ return;
+ }
+ break;
+ case GL_TEXTURE_ENV:
+ if (pname != GL_TEXTURE_ENV_MODE && pname != GL_COMBINE_RGB && pname != GL_COMBINE_ALPHA && pname != GL_RGB_SCALE && pname != GL_ALPHA_SCALE && pname != GL_SRC0_RGB && pname != GL_SRC1_RGB && pname != GL_SRC2_RGB && pname != GL_SRC0_ALPHA && pname != GL_SRC1_ALPHA && pname != GL_SRC2_ALPHA && pname != GL_OPERAND0_RGB && pname != GL_OPERAND1_RGB && pname != GL_OPERAND2_RGB && pname != GL_OPERAND0_ALPHA && pname != GL_OPERAND1_ALPHA && pname != GL_OPERAND2_ALPHA && pname != GL_TEXTURE_ENV_COLOR) {
+ _mesa_error(_mesa_get_current_context(), GL_INVALID_ENUM, "glTexEnviv(target=0x%x)", target);
+ return;
+ }
+ break;
+ default:
+ _mesa_error(_mesa_get_current_context(), GL_INVALID_ENUM, "glTexEnviv(target=0x%x)", target);
+ return;
+ }
+ switch(pname) {
+ case GL_COORD_REPLACE_OES: /* size 1 */
+ if (params[0] != GL_TRUE && params[0] != GL_FALSE) {
+ _mesa_error(_mesa_get_current_context(), GL_INVALID_ENUM, "glTexEnviv(pname=0x%x)", pname);
+ return;
+ }
+ break;
+ case GL_TEXTURE_LOD_BIAS_EXT: /* size 1 */
+ break;
+ case GL_TEXTURE_ENV_MODE: /* size 1 */
+ if (params[0] != GL_REPLACE && params[0] != GL_MODULATE && params[0] != GL_DECAL && params[0] != GL_BLEND && params[0] != GL_ADD && params[0] != GL_COMBINE) {
+ _mesa_error(_mesa_get_current_context(), GL_INVALID_ENUM, "glTexEnviv(pname=0x%x)", pname);
+ return;
+ }
+ break;
+ case GL_COMBINE_RGB: /* size 1 */
+ if (params[0] != GL_REPLACE && params[0] != GL_MODULATE && params[0] != GL_ADD && params[0] != GL_ADD_SIGNED && params[0] != GL_INTERPOLATE && params[0] != GL_SUBTRACT && params[0] != GL_DOT3_RGB && params[0] != GL_DOT3_RGBA) {
+ _mesa_error(_mesa_get_current_context(), GL_INVALID_ENUM, "glTexEnviv(pname=0x%x)", pname);
+ return;
+ }
+ break;
+ case GL_COMBINE_ALPHA: /* size 1 */
+ if (params[0] != GL_REPLACE && params[0] != GL_MODULATE && params[0] != GL_ADD && params[0] != GL_ADD_SIGNED && params[0] != GL_INTERPOLATE && params[0] != GL_SUBTRACT) {
+ _mesa_error(_mesa_get_current_context(), GL_INVALID_ENUM, "glTexEnviv(pname=0x%x)", pname);
+ return;
+ }
+ break;
+ case GL_RGB_SCALE:
+ case GL_ALPHA_SCALE:
+ if (params[0] != 1.0 && params[0] != 2.0 && params[0] != 4.0) {
+ _mesa_error(_mesa_get_current_context(), GL_INVALID_VALUE, "glTexEnviv(pname=0x%x)", pname);
+ return;
+ }
+ break;
+ case GL_SRC0_RGB: /* size 1 */
+ case GL_SRC1_RGB: /* size 1 */
+ case GL_SRC2_RGB: /* size 1 */
+ case GL_SRC0_ALPHA: /* size 1 */
+ case GL_SRC1_ALPHA: /* size 1 */
+ case GL_SRC2_ALPHA: /* size 1 */
+ if (params[0] != GL_TEXTURE && params[0] != GL_CONSTANT && params[0] != GL_PRIMARY_COLOR && params[0] != GL_PREVIOUS && params[0] != GL_TEXTURE0 && params[0] != GL_TEXTURE1 && params[0] != GL_TEXTURE2 && params[0] != GL_TEXTURE3 && params[0] != GL_TEXTURE4 && params[0] != GL_TEXTURE5 && params[0] != GL_TEXTURE6 && params[0] != GL_TEXTURE7 && params[0] != GL_TEXTURE8 && params[0] != GL_TEXTURE9 && params[0] != GL_TEXTURE10 && params[0] != GL_TEXTURE11 && params[0] != GL_TEXTURE12 && params[0] != GL_TEXTURE13 && params[0] != GL_TEXTURE14 && params[0] != GL_TEXTURE15 && params[0] != GL_TEXTURE16 && params[0] != GL_TEXTURE17 && params[0] != GL_TEXTURE18 && params[0] != GL_TEXTURE19 && params[0] != GL_TEXTURE20 && params[0] != GL_TEXTURE21 && params[0] != GL_TEXTURE22 && params[0] != GL_TEXTURE23 && params[0] != GL_TEXTURE24 && params[0] != GL_TEXTURE25 && params[0] != GL_TEXTURE26 && params[0] != GL_TEXTURE27 && params[0] != GL_TEXTURE28 && params[0] != GL_TEXTURE29 && params[0] != GL_TEXTURE30 && params[0] != GL_TEXTURE31) {
+ _mesa_error(_mesa_get_current_context(), GL_INVALID_ENUM, "glTexEnviv(pname=0x%x)", pname);
+ return;
+ }
+ break;
+ case GL_OPERAND0_RGB: /* size 1 */
+ case GL_OPERAND1_RGB: /* size 1 */
+ case GL_OPERAND2_RGB: /* size 1 */
+ if (params[0] != GL_SRC_COLOR && params[0] != GL_ONE_MINUS_SRC_COLOR && params[0] != GL_SRC_ALPHA && params[0] != GL_ONE_MINUS_SRC_ALPHA) {
+ _mesa_error(_mesa_get_current_context(), GL_INVALID_ENUM, "glTexEnviv(pname=0x%x)", pname);
+ return;
+ }
+ break;
+ case GL_OPERAND0_ALPHA: /* size 1 */
+ case GL_OPERAND1_ALPHA: /* size 1 */
+ case GL_OPERAND2_ALPHA: /* size 1 */
+ if (params[0] != GL_SRC_ALPHA && params[0] != GL_ONE_MINUS_SRC_ALPHA) {
+ _mesa_error(_mesa_get_current_context(), GL_INVALID_ENUM, "glTexEnviv(pname=0x%x)", pname);
+ return;
+ }
+ break;
+ case GL_TEXTURE_ENV_COLOR: /* size 4 */
+ break;
+ default:
+ _mesa_error(_mesa_get_current_context(), GL_INVALID_ENUM, "glTexEnviv(pname=0x%x)", pname);
+ return;
+ }
+
+ _mesa_TexEnviv(target, pname, params);
+}
+
+extern void GL_APIENTRY _mesa_TexEnvf(GLenum target, GLenum pname, GLfloat param);
+static void GL_APIENTRY _es_TexEnvx(GLenum target, GLenum pname, GLfixed param)
+{
+ GLfloat converted_param;
+ int convert_param_value = 1;
+
+ switch(target) {
+ case GL_POINT_SPRITE_OES:
+ if (pname != GL_COORD_REPLACE_OES) {
+ _mesa_error(_mesa_get_current_context(), GL_INVALID_ENUM, "glTexEnvx(target=0x%x)", target);
+ return;
+ }
+ break;
+ case GL_TEXTURE_FILTER_CONTROL_EXT:
+ if (pname != GL_TEXTURE_LOD_BIAS_EXT) {
+ _mesa_error(_mesa_get_current_context(), GL_INVALID_ENUM, "glTexEnvx(target=0x%x)", target);
+ return;
+ }
+ break;
+ case GL_TEXTURE_ENV:
+ if (pname != GL_TEXTURE_ENV_MODE && pname != GL_COMBINE_RGB && pname != GL_COMBINE_ALPHA && pname != GL_RGB_SCALE && pname != GL_ALPHA_SCALE && pname != GL_SRC0_RGB && pname != GL_SRC1_RGB && pname != GL_SRC2_RGB && pname != GL_SRC0_ALPHA && pname != GL_SRC1_ALPHA && pname != GL_SRC2_ALPHA && pname != GL_OPERAND0_RGB && pname != GL_OPERAND1_RGB && pname != GL_OPERAND2_RGB && pname != GL_OPERAND0_ALPHA && pname != GL_OPERAND1_ALPHA && pname != GL_OPERAND2_ALPHA && pname != GL_TEXTURE_ENV_COLOR) {
+ _mesa_error(_mesa_get_current_context(), GL_INVALID_ENUM, "glTexEnvx(target=0x%x)", target);
+ return;
+ }
+ break;
+ default:
+ _mesa_error(_mesa_get_current_context(), GL_INVALID_ENUM, "glTexEnvx(target=0x%x)", target);
+ return;
+ }
+ switch(pname) {
+ case GL_COORD_REPLACE_OES:
+ if (param != GL_TRUE && param != GL_FALSE) {
+ _mesa_error(_mesa_get_current_context(), GL_INVALID_ENUM, "glTexEnvx(pname=0x%x)", pname);
+ return;
+ }
+ convert_param_value = 0;
+ break;
+ case GL_TEXTURE_LOD_BIAS_EXT:
+ break;
+ case GL_TEXTURE_ENV_MODE:
+ if (param != GL_REPLACE && param != GL_MODULATE && param != GL_DECAL && param != GL_BLEND && param != GL_ADD && param != GL_COMBINE) {
+ _mesa_error(_mesa_get_current_context(), GL_INVALID_ENUM, "glTexEnvx(pname=0x%x)", pname);
+ return;
+ }
+ convert_param_value = 0;
+ break;
+ case GL_COMBINE_RGB:
+ if (param != GL_REPLACE && param != GL_MODULATE && param != GL_ADD && param != GL_ADD_SIGNED && param != GL_INTERPOLATE && param != GL_SUBTRACT && param != GL_DOT3_RGB && param != GL_DOT3_RGBA) {
+ _mesa_error(_mesa_get_current_context(), GL_INVALID_ENUM, "glTexEnvx(pname=0x%x)", pname);
+ return;
+ }
+ convert_param_value = 0;
+ break;
+ case GL_COMBINE_ALPHA:
+ if (param != GL_REPLACE && param != GL_MODULATE && param != GL_ADD && param != GL_ADD_SIGNED && param != GL_INTERPOLATE && param != GL_SUBTRACT) {
+ _mesa_error(_mesa_get_current_context(), GL_INVALID_ENUM, "glTexEnvx(pname=0x%x)", pname);
+ return;
+ }
+ convert_param_value = 0;
+ break;
+ case GL_RGB_SCALE:
+ case GL_ALPHA_SCALE:
+ if (param != 1.0 && param != 2.0 && param != 4.0) {
+ _mesa_error(_mesa_get_current_context(), GL_INVALID_VALUE, "glTexEnvx(pname=0x%x)", pname);
+ return;
+ }
+ break;
+ case GL_SRC0_RGB:
+ case GL_SRC1_RGB:
+ case GL_SRC2_RGB:
+ case GL_SRC0_ALPHA:
+ case GL_SRC1_ALPHA:
+ case GL_SRC2_ALPHA:
+ if (param != GL_TEXTURE && param != GL_CONSTANT && param != GL_PRIMARY_COLOR && param != GL_PREVIOUS && param != GL_TEXTURE0 && param != GL_TEXTURE1 && param != GL_TEXTURE2 && param != GL_TEXTURE3 && param != GL_TEXTURE4 && param != GL_TEXTURE5 && param != GL_TEXTURE6 && param != GL_TEXTURE7 && param != GL_TEXTURE8 && param != GL_TEXTURE9 && param != GL_TEXTURE10 && param != GL_TEXTURE11 && param != GL_TEXTURE12 && param != GL_TEXTURE13 && param != GL_TEXTURE14 && param != GL_TEXTURE15 && param != GL_TEXTURE16 && param != GL_TEXTURE17 && param != GL_TEXTURE18 && param != GL_TEXTURE19 && param != GL_TEXTURE20 && param != GL_TEXTURE21 && param != GL_TEXTURE22 && param != GL_TEXTURE23 && param != GL_TEXTURE24 && param != GL_TEXTURE25 && param != GL_TEXTURE26 && param != GL_TEXTURE27 && param != GL_TEXTURE28 && param != GL_TEXTURE29 && param != GL_TEXTURE30 && param != GL_TEXTURE31) {
+ _mesa_error(_mesa_get_current_context(), GL_INVALID_ENUM, "glTexEnvx(pname=0x%x)", pname);
+ return;
+ }
+ convert_param_value = 0;
+ break;
+ case GL_OPERAND0_RGB:
+ case GL_OPERAND1_RGB:
+ case GL_OPERAND2_RGB:
+ if (param != GL_SRC_COLOR && param != GL_ONE_MINUS_SRC_COLOR && param != GL_SRC_ALPHA && param != GL_ONE_MINUS_SRC_ALPHA) {
+ _mesa_error(_mesa_get_current_context(), GL_INVALID_ENUM, "glTexEnvx(pname=0x%x)", pname);
+ return;
+ }
+ convert_param_value = 0;
+ break;
+ case GL_OPERAND0_ALPHA:
+ case GL_OPERAND1_ALPHA:
+ case GL_OPERAND2_ALPHA:
+ if (param != GL_SRC_ALPHA && param != GL_ONE_MINUS_SRC_ALPHA) {
+ _mesa_error(_mesa_get_current_context(), GL_INVALID_ENUM, "glTexEnvx(pname=0x%x)", pname);
+ return;
+ }
+ convert_param_value = 0;
+ break;
+ default:
+ _mesa_error(_mesa_get_current_context(), GL_INVALID_ENUM, "glTexEnvx(pname=0x%x)", pname);
+ return;
+ }
+
+ if (convert_param_value) {
+ converted_param = (GLfloat) (param / 65536.0f);
+ } else {
+ converted_param = (GLfloat) param;
+ }
+
+ _mesa_TexEnvf(target, pname, converted_param);
+}
+
+extern void GL_APIENTRY _mesa_TexEnvfv(GLenum target, GLenum pname, GLfloat const * params);
+static void GL_APIENTRY _es_TexEnvxv(GLenum target, GLenum pname, const GLfixed *params)
+{
+ register unsigned int i;
+ unsigned int n_params = 4;
+ GLfloat converted_params[4];
+ int convert_params_value = 1;
+
+ switch(target) {
+ case GL_POINT_SPRITE_OES:
+ if (pname != GL_COORD_REPLACE_OES) {
+ _mesa_error(_mesa_get_current_context(), GL_INVALID_ENUM, "glTexEnvxv(target=0x%x)", target);
+ return;
+ }
+ break;
+ case GL_TEXTURE_FILTER_CONTROL_EXT:
+ if (pname != GL_TEXTURE_LOD_BIAS_EXT) {
+ _mesa_error(_mesa_get_current_context(), GL_INVALID_ENUM, "glTexEnvxv(target=0x%x)", target);
+ return;
+ }
+ break;
+ case GL_TEXTURE_ENV:
+ if (pname != GL_TEXTURE_ENV_MODE && pname != GL_COMBINE_RGB && pname != GL_COMBINE_ALPHA && pname != GL_RGB_SCALE && pname != GL_ALPHA_SCALE && pname != GL_SRC0_RGB && pname != GL_SRC1_RGB && pname != GL_SRC2_RGB && pname != GL_SRC0_ALPHA && pname != GL_SRC1_ALPHA && pname != GL_SRC2_ALPHA && pname != GL_OPERAND0_RGB && pname != GL_OPERAND1_RGB && pname != GL_OPERAND2_RGB && pname != GL_OPERAND0_ALPHA && pname != GL_OPERAND1_ALPHA && pname != GL_OPERAND2_ALPHA && pname != GL_TEXTURE_ENV_COLOR) {
+ _mesa_error(_mesa_get_current_context(), GL_INVALID_ENUM, "glTexEnvxv(target=0x%x)", target);
+ return;
+ }
+ break;
+ default:
+ _mesa_error(_mesa_get_current_context(), GL_INVALID_ENUM, "glTexEnvxv(target=0x%x)", target);
+ return;
+ }
+ switch(pname) {
+ case GL_COORD_REPLACE_OES:
+ if (params[0] != GL_TRUE && params[0] != GL_FALSE) {
+ _mesa_error(_mesa_get_current_context(), GL_INVALID_ENUM, "glTexEnvxv(pname=0x%x)", pname);
+ return;
+ }
+ convert_params_value = 0;
+ n_params = 1;
+ break;
+ case GL_TEXTURE_LOD_BIAS_EXT:
+ n_params = 1;
+ break;
+ case GL_TEXTURE_ENV_MODE:
+ if (params[0] != GL_REPLACE && params[0] != GL_MODULATE && params[0] != GL_DECAL && params[0] != GL_BLEND && params[0] != GL_ADD && params[0] != GL_COMBINE) {
+ _mesa_error(_mesa_get_current_context(), GL_INVALID_ENUM, "glTexEnvxv(pname=0x%x)", pname);
+ return;
+ }
+ convert_params_value = 0;
+ n_params = 1;
+ break;
+ case GL_COMBINE_RGB:
+ if (params[0] != GL_REPLACE && params[0] != GL_MODULATE && params[0] != GL_ADD && params[0] != GL_ADD_SIGNED && params[0] != GL_INTERPOLATE && params[0] != GL_SUBTRACT && params[0] != GL_DOT3_RGB && params[0] != GL_DOT3_RGBA) {
+ _mesa_error(_mesa_get_current_context(), GL_INVALID_ENUM, "glTexEnvxv(pname=0x%x)", pname);
+ return;
+ }
+ convert_params_value = 0;
+ n_params = 1;
+ break;
+ case GL_COMBINE_ALPHA:
+ if (params[0] != GL_REPLACE && params[0] != GL_MODULATE && params[0] != GL_ADD && params[0] != GL_ADD_SIGNED && params[0] != GL_INTERPOLATE && params[0] != GL_SUBTRACT) {
+ _mesa_error(_mesa_get_current_context(), GL_INVALID_ENUM, "glTexEnvxv(pname=0x%x)", pname);
+ return;
+ }
+ convert_params_value = 0;
+ n_params = 1;
+ break;
+ case GL_RGB_SCALE:
+ case GL_ALPHA_SCALE:
+ if (params[0] != 1.0 && params[0] != 2.0 && params[0] != 4.0) {
+ _mesa_error(_mesa_get_current_context(), GL_INVALID_VALUE, "glTexEnvxv(pname=0x%x)", pname);
+ return;
+ }
+ break;
+ case GL_SRC0_RGB:
+ case GL_SRC1_RGB:
+ case GL_SRC2_RGB:
+ case GL_SRC0_ALPHA:
+ case GL_SRC1_ALPHA:
+ case GL_SRC2_ALPHA:
+ if (params[0] != GL_TEXTURE && params[0] != GL_CONSTANT && params[0] != GL_PRIMARY_COLOR && params[0] != GL_PREVIOUS && params[0] != GL_TEXTURE0 && params[0] != GL_TEXTURE1 && params[0] != GL_TEXTURE2 && params[0] != GL_TEXTURE3 && params[0] != GL_TEXTURE4 && params[0] != GL_TEXTURE5 && params[0] != GL_TEXTURE6 && params[0] != GL_TEXTURE7 && params[0] != GL_TEXTURE8 && params[0] != GL_TEXTURE9 && params[0] != GL_TEXTURE10 && params[0] != GL_TEXTURE11 && params[0] != GL_TEXTURE12 && params[0] != GL_TEXTURE13 && params[0] != GL_TEXTURE14 && params[0] != GL_TEXTURE15 && params[0] != GL_TEXTURE16 && params[0] != GL_TEXTURE17 && params[0] != GL_TEXTURE18 && params[0] != GL_TEXTURE19 && params[0] != GL_TEXTURE20 && params[0] != GL_TEXTURE21 && params[0] != GL_TEXTURE22 && params[0] != GL_TEXTURE23 && params[0] != GL_TEXTURE24 && params[0] != GL_TEXTURE25 && params[0] != GL_TEXTURE26 && params[0] != GL_TEXTURE27 && params[0] != GL_TEXTURE28 && params[0] != GL_TEXTURE29 && params[0] != GL_TEXTURE30 && params[0] != GL_TEXTURE31) {
+ _mesa_error(_mesa_get_current_context(), GL_INVALID_ENUM, "glTexEnvxv(pname=0x%x)", pname);
+ return;
+ }
+ convert_params_value = 0;
+ n_params = 1;
+ break;
+ case GL_OPERAND0_RGB:
+ case GL_OPERAND1_RGB:
+ case GL_OPERAND2_RGB:
+ if (params[0] != GL_SRC_COLOR && params[0] != GL_ONE_MINUS_SRC_COLOR && params[0] != GL_SRC_ALPHA && params[0] != GL_ONE_MINUS_SRC_ALPHA) {
+ _mesa_error(_mesa_get_current_context(), GL_INVALID_ENUM, "glTexEnvxv(pname=0x%x)", pname);
+ return;
+ }
+ convert_params_value = 0;
+ n_params = 1;
+ break;
+ case GL_OPERAND0_ALPHA:
+ case GL_OPERAND1_ALPHA:
+ case GL_OPERAND2_ALPHA:
+ if (params[0] != GL_SRC_ALPHA && params[0] != GL_ONE_MINUS_SRC_ALPHA) {
+ _mesa_error(_mesa_get_current_context(), GL_INVALID_ENUM, "glTexEnvxv(pname=0x%x)", pname);
+ return;
+ }
+ convert_params_value = 0;
+ n_params = 1;
+ break;
+ case GL_TEXTURE_ENV_COLOR:
+ n_params = 4;
+ break;
+ default:
+ _mesa_error(_mesa_get_current_context(), GL_INVALID_ENUM, "glTexEnvxv(pname=0x%x)", pname);
+ return;
+ }
+
+ if (convert_params_value) {
+ for (i = 0; i < n_params; i++) {
+ converted_params[i] = (GLfloat) (params[i] / 65536.0f);
+ }
+ } else {
+ for (i = 0; i < n_params; i++) {
+ converted_params[i] = (GLfloat) params[i];
+ }
+ }
+
+ _mesa_TexEnvfv(target, pname, converted_params);
+}
+
+/* this function is special and is defined elsewhere */
+extern void GL_APIENTRY _es_TexGenf(GLenum coord, GLenum pname, GLfloat param);
+static void GL_APIENTRY _check_TexGenfOES(GLenum coord, GLenum pname, GLfloat param)
+{
+ switch(coord) {
+ case GL_TEXTURE_GEN_STR_OES:
+ break;
+ default:
+ _mesa_error(_mesa_get_current_context(), GL_INVALID_ENUM, "glTexGenfOES(coord=0x%x)", coord);
+ return;
+ }
+ switch(pname) {
+ case GL_TEXTURE_GEN_MODE_OES:
+ if (param != GL_NORMAL_MAP_OES && param != GL_REFLECTION_MAP_OES) {
+ _mesa_error(_mesa_get_current_context(), GL_INVALID_ENUM, "glTexGenfOES(pname=0x%x)", pname);
+ return;
+ }
+ break;
+ default:
+ _mesa_error(_mesa_get_current_context(), GL_INVALID_ENUM, "glTexGenfOES(pname=0x%x)", pname);
+ return;
+ }
+
+ _es_TexGenf(coord, pname, param);
+}
+
+/* this function is special and is defined elsewhere */
+extern void GL_APIENTRY _es_TexGenfv(GLenum coord, GLenum pname, const GLfloat * params);
+static void GL_APIENTRY _check_TexGenfvOES(GLenum coord, GLenum pname, const GLfloat *params)
+{
+ switch(coord) {
+ case GL_TEXTURE_GEN_STR_OES:
+ break;
+ default:
+ _mesa_error(_mesa_get_current_context(), GL_INVALID_ENUM, "glTexGenfvOES(coord=0x%x)", coord);
+ return;
+ }
+ switch(pname) {
+ case GL_TEXTURE_GEN_MODE_OES: /* size 1 */
+ if (params[0] != GL_NORMAL_MAP_OES && params[0] != GL_REFLECTION_MAP_OES) {
+ _mesa_error(_mesa_get_current_context(), GL_INVALID_ENUM, "glTexGenfvOES(pname=0x%x)", pname);
+ return;
+ }
+ break;
+ default:
+ _mesa_error(_mesa_get_current_context(), GL_INVALID_ENUM, "glTexGenfvOES(pname=0x%x)", pname);
+ return;
+ }
+
+ _es_TexGenfv(coord, pname, params);
+}
+
+/* this function is special and is defined elsewhere */
+extern void GL_APIENTRY _es_TexGenf(GLenum coord, GLenum pname, GLfloat param);
+static void GL_APIENTRY _check_TexGeniOES(GLenum coord, GLenum pname, GLint param)
+{
+ GLfloat converted_param;
+
+ switch(coord) {
+ case GL_TEXTURE_GEN_STR_OES:
+ break;
+ default:
+ _mesa_error(_mesa_get_current_context(), GL_INVALID_ENUM, "glTexGeniOES(coord=0x%x)", coord);
+ return;
+ }
+ switch(pname) {
+ case GL_TEXTURE_GEN_MODE_OES:
+ if (param != GL_NORMAL_MAP_OES && param != GL_REFLECTION_MAP_OES) {
+ _mesa_error(_mesa_get_current_context(), GL_INVALID_ENUM, "glTexGeniOES(pname=0x%x)", pname);
+ return;
+ }
+ break;
+ default:
+ _mesa_error(_mesa_get_current_context(), GL_INVALID_ENUM, "glTexGeniOES(pname=0x%x)", pname);
+ return;
+ }
+
+ converted_param = (GLfloat) param;
+
+ _es_TexGenf(coord, pname, converted_param);
+}
+
+/* this function is special and is defined elsewhere */
+extern void GL_APIENTRY _es_TexGenfv(GLenum coord, GLenum pname, GLfloat const * params);
+static void GL_APIENTRY _check_TexGenivOES(GLenum coord, GLenum pname, const GLint *params)
+{
+ register unsigned int i;
+ unsigned int n_params = 1;
+ GLfloat converted_params[1];
+
+ switch(coord) {
+ case GL_TEXTURE_GEN_STR_OES:
+ break;
+ default:
+ _mesa_error(_mesa_get_current_context(), GL_INVALID_ENUM, "glTexGenivOES(coord=0x%x)", coord);
+ return;
+ }
+ switch(pname) {
+ case GL_TEXTURE_GEN_MODE_OES:
+ if (params[0] != GL_NORMAL_MAP_OES && params[0] != GL_REFLECTION_MAP_OES) {
+ _mesa_error(_mesa_get_current_context(), GL_INVALID_ENUM, "glTexGenivOES(pname=0x%x)", pname);
+ return;
+ }
+ n_params = 1;
+ break;
+ default:
+ _mesa_error(_mesa_get_current_context(), GL_INVALID_ENUM, "glTexGenivOES(pname=0x%x)", pname);
+ return;
+ }
+
+ for (i = 0; i < n_params; i++) {
+ converted_params[i] = (GLfloat) params[i];
+ }
+
+ _es_TexGenfv(coord, pname, converted_params);
+}
+
+/* this function is special and is defined elsewhere */
+extern void GL_APIENTRY _es_TexGenf(GLenum coord, GLenum pname, GLfloat param);
+static void GL_APIENTRY _check_TexGenxOES(GLenum coord, GLenum pname, GLfixed param)
+{
+ GLfloat converted_param;
+
+ switch(coord) {
+ case GL_TEXTURE_GEN_STR_OES:
+ break;
+ default:
+ _mesa_error(_mesa_get_current_context(), GL_INVALID_ENUM, "glTexGenxOES(coord=0x%x)", coord);
+ return;
+ }
+ switch(pname) {
+ case GL_TEXTURE_GEN_MODE_OES:
+ if (param != GL_NORMAL_MAP_OES && param != GL_REFLECTION_MAP_OES) {
+ _mesa_error(_mesa_get_current_context(), GL_INVALID_ENUM, "glTexGenxOES(pname=0x%x)", pname);
+ return;
+ }
+ break;
+ default:
+ _mesa_error(_mesa_get_current_context(), GL_INVALID_ENUM, "glTexGenxOES(pname=0x%x)", pname);
+ return;
+ }
+
+ converted_param = (GLfloat) param;
+
+ _es_TexGenf(coord, pname, converted_param);
+}
+
+/* this function is special and is defined elsewhere */
+extern void GL_APIENTRY _es_TexGenfv(GLenum coord, GLenum pname, GLfloat const * params);
+static void GL_APIENTRY _check_TexGenxvOES(GLenum coord, GLenum pname, const GLfixed *params)
+{
+ register unsigned int i;
+ unsigned int n_params = 1;
+ GLfloat converted_params[1];
+
+ switch(coord) {
+ case GL_TEXTURE_GEN_STR_OES:
+ break;
+ default:
+ _mesa_error(_mesa_get_current_context(), GL_INVALID_ENUM, "glTexGenxvOES(coord=0x%x)", coord);
+ return;
+ }
+ switch(pname) {
+ case GL_TEXTURE_GEN_MODE_OES:
+ if (params[0] != GL_NORMAL_MAP_OES && params[0] != GL_REFLECTION_MAP_OES) {
+ _mesa_error(_mesa_get_current_context(), GL_INVALID_ENUM, "glTexGenxvOES(pname=0x%x)", pname);
+ return;
+ }
+ n_params = 1;
+ break;
+ default:
+ _mesa_error(_mesa_get_current_context(), GL_INVALID_ENUM, "glTexGenxvOES(pname=0x%x)", pname);
+ return;
+ }
+
+ for (i = 0; i < n_params; i++) {
+ converted_params[i] = (GLfloat) params[i];
+ }
+
+ _es_TexGenfv(coord, pname, converted_params);
+}
+
+extern void GL_APIENTRY _mesa_TexImage2D(GLenum target, GLint level, GLint internalFormat, GLsizei width, GLsizei height, GLint border, GLenum format, GLenum type, const GLvoid * pixels);
+static void GL_APIENTRY _es_TexImage2D(GLenum target, GLint level, GLint internalFormat, GLsizei width, GLsizei height, GLint border, GLenum format, GLenum type, const GLvoid *pixels)
+{
+ switch(target) {
+ case GL_TEXTURE_2D:
+ case GL_TEXTURE_CUBE_MAP_POSITIVE_X_OES:
+ case GL_TEXTURE_CUBE_MAP_POSITIVE_Y_OES:
+ case GL_TEXTURE_CUBE_MAP_POSITIVE_Z_OES:
+ case GL_TEXTURE_CUBE_MAP_NEGATIVE_X_OES:
+ case GL_TEXTURE_CUBE_MAP_NEGATIVE_Y_OES:
+ case GL_TEXTURE_CUBE_MAP_NEGATIVE_Z_OES:
+ break;
+ default:
+ _mesa_error(_mesa_get_current_context(), GL_INVALID_ENUM, "glTexImage2D(target=0x%x)", target);
+ return;
+ }
+ switch(internalFormat) {
+ case GL_ALPHA:
+ case GL_RGB:
+ case GL_RGBA:
+ case GL_LUMINANCE:
+ case GL_LUMINANCE_ALPHA:
+ break;
+ default:
+ _mesa_error(_mesa_get_current_context(), GL_INVALID_VALUE, "glTexImage2D(internalFormat=%d)", internalFormat);
+ return;
+ }
+ switch(border) {
+ case 0:
+ break;
+ default:
+ _mesa_error(_mesa_get_current_context(), GL_INVALID_VALUE, "glTexImage2D(border=%d)", border);
+ return;
+ }
+ switch(format) {
+ case GL_ALPHA:
+ if (type != GL_UNSIGNED_BYTE) {
+ _mesa_error(_mesa_get_current_context(), GL_INVALID_OPERATION, "glTexImage2D(format=0x%x)", format);
+ return;
+ }
+ break;
+ case GL_RGB:
+ if (type != GL_UNSIGNED_BYTE && type != GL_UNSIGNED_SHORT_5_6_5) {
+ _mesa_error(_mesa_get_current_context(), GL_INVALID_OPERATION, "glTexImage2D(format=0x%x)", format);
+ return;
+ }
+ break;
+ case GL_RGBA:
+ if (type != GL_UNSIGNED_BYTE && type != GL_UNSIGNED_SHORT_4_4_4_4 && type != GL_UNSIGNED_SHORT_5_5_5_1) {
+ _mesa_error(_mesa_get_current_context(), GL_INVALID_OPERATION, "glTexImage2D(format=0x%x)", format);
+ return;
+ }
+ break;
+ case GL_LUMINANCE:
+ case GL_LUMINANCE_ALPHA:
+ if (type != GL_UNSIGNED_BYTE) {
+ _mesa_error(_mesa_get_current_context(), GL_INVALID_OPERATION, "glTexImage2D(format=0x%x)", format);
+ return;
+ }
+ break;
+ default:
+ _mesa_error(_mesa_get_current_context(), GL_INVALID_OPERATION, "glTexImage2D(format=0x%x)", format);
+ return;
+ }
+
+ _mesa_TexImage2D(target, level, internalFormat, width, height, border, format, type, pixels);
+}
+
+extern void GL_APIENTRY _mesa_TexParameterf(GLenum target, GLenum pname, GLfloat param);
+static void GL_APIENTRY _es_TexParameterf(GLenum target, GLenum pname, GLfloat param)
+{
+ switch(target) {
+ case GL_TEXTURE_2D:
+ case GL_TEXTURE_CUBE_MAP_OES:
+ break;
+ default:
+ _mesa_error(_mesa_get_current_context(), GL_INVALID_ENUM, "glTexParameterf(target=0x%x)", target);
+ return;
+ }
+ switch(pname) {
+ case GL_TEXTURE_WRAP_S:
+ case GL_TEXTURE_WRAP_T:
+ if (param != GL_CLAMP_TO_EDGE && param != GL_REPEAT && param != GL_MIRRORED_REPEAT_OES) {
+ _mesa_error(_mesa_get_current_context(), GL_INVALID_ENUM, "glTexParameterf(pname=0x%x)", pname);
+ return;
+ }
+ break;
+ case GL_TEXTURE_MIN_FILTER:
+ if (param != GL_NEAREST && param != GL_LINEAR && param != GL_NEAREST_MIPMAP_NEAREST && param != GL_NEAREST_MIPMAP_LINEAR && param != GL_LINEAR_MIPMAP_NEAREST && param != GL_LINEAR_MIPMAP_LINEAR) {
+ _mesa_error(_mesa_get_current_context(), GL_INVALID_ENUM, "glTexParameterf(pname=0x%x)", pname);
+ return;
+ }
+ break;
+ case GL_TEXTURE_MAG_FILTER:
+ if (param != GL_NEAREST && param != GL_LINEAR) {
+ _mesa_error(_mesa_get_current_context(), GL_INVALID_ENUM, "glTexParameterf(pname=0x%x)", pname);
+ return;
+ }
+ break;
+ case GL_GENERATE_MIPMAP:
+ if (param != GL_TRUE && param != GL_FALSE) {
+ _mesa_error(_mesa_get_current_context(), GL_INVALID_ENUM, "glTexParameterf(pname=0x%x)", pname);
+ return;
+ }
+ break;
+ case GL_TEXTURE_MAX_ANISOTROPY_EXT:
+ break;
+ default:
+ _mesa_error(_mesa_get_current_context(), GL_INVALID_ENUM, "glTexParameterf(pname=0x%x)", pname);
+ return;
+ }
+
+ _mesa_TexParameterf(target, pname, param);
+}
+
+extern void GL_APIENTRY _mesa_TexParameterfv(GLenum target, GLenum pname, const GLfloat * params);
+static void GL_APIENTRY _es_TexParameterfv(GLenum target, GLenum pname, const GLfloat *params)
+{
+ switch(target) {
+ case GL_TEXTURE_2D:
+ case GL_TEXTURE_CUBE_MAP_OES:
+ break;
+ default:
+ _mesa_error(_mesa_get_current_context(), GL_INVALID_ENUM, "glTexParameterfv(target=0x%x)", target);
+ return;
+ }
+ switch(pname) {
+ case GL_TEXTURE_WRAP_S: /* size 1 */
+ case GL_TEXTURE_WRAP_T: /* size 1 */
+ if (params[0] != GL_CLAMP_TO_EDGE && params[0] != GL_REPEAT && params[0] != GL_MIRRORED_REPEAT_OES) {
+ _mesa_error(_mesa_get_current_context(), GL_INVALID_ENUM, "glTexParameterfv(pname=0x%x)", pname);
+ return;
+ }
+ break;
+ case GL_TEXTURE_MIN_FILTER: /* size 1 */
+ if (params[0] != GL_NEAREST && params[0] != GL_LINEAR && params[0] != GL_NEAREST_MIPMAP_NEAREST && params[0] != GL_NEAREST_MIPMAP_LINEAR && params[0] != GL_LINEAR_MIPMAP_NEAREST && params[0] != GL_LINEAR_MIPMAP_LINEAR) {
+ _mesa_error(_mesa_get_current_context(), GL_INVALID_ENUM, "glTexParameterfv(pname=0x%x)", pname);
+ return;
+ }
+ break;
+ case GL_TEXTURE_MAG_FILTER: /* size 1 */
+ if (params[0] != GL_NEAREST && params[0] != GL_LINEAR) {
+ _mesa_error(_mesa_get_current_context(), GL_INVALID_ENUM, "glTexParameterfv(pname=0x%x)", pname);
+ return;
+ }
+ break;
+ case GL_GENERATE_MIPMAP: /* size 1 */
+ if (params[0] != GL_TRUE && params[0] != GL_FALSE) {
+ _mesa_error(_mesa_get_current_context(), GL_INVALID_ENUM, "glTexParameterfv(pname=0x%x)", pname);
+ return;
+ }
+ break;
+ case GL_TEXTURE_MAX_ANISOTROPY_EXT: /* size 1 */
+ case GL_TEXTURE_CROP_RECT_OES: /* size 4 */
+ break;
+ default:
+ _mesa_error(_mesa_get_current_context(), GL_INVALID_ENUM, "glTexParameterfv(pname=0x%x)", pname);
+ return;
+ }
+
+ _mesa_TexParameterfv(target, pname, params);
+}
+
+extern void GL_APIENTRY _mesa_TexParameteri(GLenum target, GLenum pname, GLint param);
+static void GL_APIENTRY _es_TexParameteri(GLenum target, GLenum pname, GLint param)
+{
+ switch(target) {
+ case GL_TEXTURE_2D:
+ case GL_TEXTURE_CUBE_MAP_OES:
+ break;
+ default:
+ _mesa_error(_mesa_get_current_context(), GL_INVALID_ENUM, "glTexParameteri(target=0x%x)", target);
+ return;
+ }
+ switch(pname) {
+ case GL_TEXTURE_WRAP_S:
+ case GL_TEXTURE_WRAP_T:
+ if (param != GL_CLAMP_TO_EDGE && param != GL_REPEAT && param != GL_MIRRORED_REPEAT_OES) {
+ _mesa_error(_mesa_get_current_context(), GL_INVALID_ENUM, "glTexParameteri(pname=0x%x)", pname);
+ return;
+ }
+ break;
+ case GL_TEXTURE_MIN_FILTER:
+ if (param != GL_NEAREST && param != GL_LINEAR && param != GL_NEAREST_MIPMAP_NEAREST && param != GL_NEAREST_MIPMAP_LINEAR && param != GL_LINEAR_MIPMAP_NEAREST && param != GL_LINEAR_MIPMAP_LINEAR) {
+ _mesa_error(_mesa_get_current_context(), GL_INVALID_ENUM, "glTexParameteri(pname=0x%x)", pname);
+ return;
+ }
+ break;
+ case GL_TEXTURE_MAG_FILTER:
+ if (param != GL_NEAREST && param != GL_LINEAR) {
+ _mesa_error(_mesa_get_current_context(), GL_INVALID_ENUM, "glTexParameteri(pname=0x%x)", pname);
+ return;
+ }
+ break;
+ case GL_GENERATE_MIPMAP:
+ if (param != GL_TRUE && param != GL_FALSE) {
+ _mesa_error(_mesa_get_current_context(), GL_INVALID_ENUM, "glTexParameteri(pname=0x%x)", pname);
+ return;
+ }
+ break;
+ case GL_TEXTURE_MAX_ANISOTROPY_EXT:
+ break;
+ default:
+ _mesa_error(_mesa_get_current_context(), GL_INVALID_ENUM, "glTexParameteri(pname=0x%x)", pname);
+ return;
+ }
+
+ _mesa_TexParameteri(target, pname, param);
+}
+
+extern void GL_APIENTRY _mesa_TexParameteriv(GLenum target, GLenum pname, const GLint * params);
+static void GL_APIENTRY _es_TexParameteriv(GLenum target, GLenum pname, const GLint *params)
+{
+ switch(target) {
+ case GL_TEXTURE_2D:
+ case GL_TEXTURE_CUBE_MAP_OES:
+ break;
+ default:
+ _mesa_error(_mesa_get_current_context(), GL_INVALID_ENUM, "glTexParameteriv(target=0x%x)", target);
+ return;
+ }
+ switch(pname) {
+ case GL_TEXTURE_WRAP_S: /* size 1 */
+ case GL_TEXTURE_WRAP_T: /* size 1 */
+ if (params[0] != GL_CLAMP_TO_EDGE && params[0] != GL_REPEAT && params[0] != GL_MIRRORED_REPEAT_OES) {
+ _mesa_error(_mesa_get_current_context(), GL_INVALID_ENUM, "glTexParameteriv(pname=0x%x)", pname);
+ return;
+ }
+ break;
+ case GL_TEXTURE_MIN_FILTER: /* size 1 */
+ if (params[0] != GL_NEAREST && params[0] != GL_LINEAR && params[0] != GL_NEAREST_MIPMAP_NEAREST && params[0] != GL_NEAREST_MIPMAP_LINEAR && params[0] != GL_LINEAR_MIPMAP_NEAREST && params[0] != GL_LINEAR_MIPMAP_LINEAR) {
+ _mesa_error(_mesa_get_current_context(), GL_INVALID_ENUM, "glTexParameteriv(pname=0x%x)", pname);
+ return;
+ }
+ break;
+ case GL_TEXTURE_MAG_FILTER: /* size 1 */
+ if (params[0] != GL_NEAREST && params[0] != GL_LINEAR) {
+ _mesa_error(_mesa_get_current_context(), GL_INVALID_ENUM, "glTexParameteriv(pname=0x%x)", pname);
+ return;
+ }
+ break;
+ case GL_GENERATE_MIPMAP: /* size 1 */
+ if (params[0] != GL_TRUE && params[0] != GL_FALSE) {
+ _mesa_error(_mesa_get_current_context(), GL_INVALID_ENUM, "glTexParameteriv(pname=0x%x)", pname);
+ return;
+ }
+ break;
+ case GL_TEXTURE_MAX_ANISOTROPY_EXT: /* size 1 */
+ case GL_TEXTURE_CROP_RECT_OES: /* size 4 */
+ break;
+ default:
+ _mesa_error(_mesa_get_current_context(), GL_INVALID_ENUM, "glTexParameteriv(pname=0x%x)", pname);
+ return;
+ }
+
+ _mesa_TexParameteriv(target, pname, params);
+}
+
+extern void GL_APIENTRY _mesa_TexParameterf(GLenum target, GLenum pname, GLfloat param);
+static void GL_APIENTRY _es_TexParameterx(GLenum target, GLenum pname, GLfixed param)
+{
+ GLfloat converted_param;
+ int convert_param_value = 1;
+
+ switch(target) {
+ case GL_TEXTURE_2D:
+ case GL_TEXTURE_CUBE_MAP_OES:
+ break;
+ default:
+ _mesa_error(_mesa_get_current_context(), GL_INVALID_ENUM, "glTexParameterx(target=0x%x)", target);
+ return;
+ }
+ switch(pname) {
+ case GL_TEXTURE_WRAP_S:
+ case GL_TEXTURE_WRAP_T:
+ if (param != GL_CLAMP_TO_EDGE && param != GL_REPEAT && param != GL_MIRRORED_REPEAT_OES) {
+ _mesa_error(_mesa_get_current_context(), GL_INVALID_ENUM, "glTexParameterx(pname=0x%x)", pname);
+ return;
+ }
+ convert_param_value = 0;
+ break;
+ case GL_TEXTURE_MIN_FILTER:
+ if (param != GL_NEAREST && param != GL_LINEAR && param != GL_NEAREST_MIPMAP_NEAREST && param != GL_NEAREST_MIPMAP_LINEAR && param != GL_LINEAR_MIPMAP_NEAREST && param != GL_LINEAR_MIPMAP_LINEAR) {
+ _mesa_error(_mesa_get_current_context(), GL_INVALID_ENUM, "glTexParameterx(pname=0x%x)", pname);
+ return;
+ }
+ convert_param_value = 0;
+ break;
+ case GL_TEXTURE_MAG_FILTER:
+ if (param != GL_NEAREST && param != GL_LINEAR) {
+ _mesa_error(_mesa_get_current_context(), GL_INVALID_ENUM, "glTexParameterx(pname=0x%x)", pname);
+ return;
+ }
+ convert_param_value = 0;
+ break;
+ case GL_GENERATE_MIPMAP:
+ if (param != GL_TRUE && param != GL_FALSE) {
+ _mesa_error(_mesa_get_current_context(), GL_INVALID_ENUM, "glTexParameterx(pname=0x%x)", pname);
+ return;
+ }
+ convert_param_value = 0;
+ break;
+ case GL_TEXTURE_MAX_ANISOTROPY_EXT:
+ break;
+ default:
+ _mesa_error(_mesa_get_current_context(), GL_INVALID_ENUM, "glTexParameterx(pname=0x%x)", pname);
+ return;
+ }
+
+ if (convert_param_value) {
+ converted_param = (GLfloat) (param / 65536.0f);
+ } else {
+ converted_param = (GLfloat) param;
+ }
+
+ _mesa_TexParameterf(target, pname, converted_param);
+}
+
+extern void GL_APIENTRY _mesa_TexParameterfv(GLenum target, GLenum pname, GLfloat const * params);
+static void GL_APIENTRY _es_TexParameterxv(GLenum target, GLenum pname, const GLfixed *params)
+{
+ register unsigned int i;
+ unsigned int n_params = 4;
+ GLfloat converted_params[4];
+ int convert_params_value = 1;
+
+ switch(target) {
+ case GL_TEXTURE_2D:
+ case GL_TEXTURE_CUBE_MAP_OES:
+ break;
+ default:
+ _mesa_error(_mesa_get_current_context(), GL_INVALID_ENUM, "glTexParameterxv(target=0x%x)", target);
+ return;
+ }
+ switch(pname) {
+ case GL_TEXTURE_WRAP_S:
+ case GL_TEXTURE_WRAP_T:
+ if (params[0] != GL_CLAMP_TO_EDGE && params[0] != GL_REPEAT && params[0] != GL_MIRRORED_REPEAT_OES) {
+ _mesa_error(_mesa_get_current_context(), GL_INVALID_ENUM, "glTexParameterxv(pname=0x%x)", pname);
+ return;
+ }
+ convert_params_value = 0;
+ n_params = 1;
+ break;
+ case GL_TEXTURE_MIN_FILTER:
+ if (params[0] != GL_NEAREST && params[0] != GL_LINEAR && params[0] != GL_NEAREST_MIPMAP_NEAREST && params[0] != GL_NEAREST_MIPMAP_LINEAR && params[0] != GL_LINEAR_MIPMAP_NEAREST && params[0] != GL_LINEAR_MIPMAP_LINEAR) {
+ _mesa_error(_mesa_get_current_context(), GL_INVALID_ENUM, "glTexParameterxv(pname=0x%x)", pname);
+ return;
+ }
+ convert_params_value = 0;
+ n_params = 1;
+ break;
+ case GL_TEXTURE_MAG_FILTER:
+ if (params[0] != GL_NEAREST && params[0] != GL_LINEAR) {
+ _mesa_error(_mesa_get_current_context(), GL_INVALID_ENUM, "glTexParameterxv(pname=0x%x)", pname);
+ return;
+ }
+ convert_params_value = 0;
+ n_params = 1;
+ break;
+ case GL_GENERATE_MIPMAP:
+ if (params[0] != GL_TRUE && params[0] != GL_FALSE) {
+ _mesa_error(_mesa_get_current_context(), GL_INVALID_ENUM, "glTexParameterxv(pname=0x%x)", pname);
+ return;
+ }
+ convert_params_value = 0;
+ n_params = 1;
+ break;
+ case GL_TEXTURE_MAX_ANISOTROPY_EXT:
+ n_params = 1;
+ break;
+ case GL_TEXTURE_CROP_RECT_OES:
+ n_params = 4;
+ break;
+ default:
+ _mesa_error(_mesa_get_current_context(), GL_INVALID_ENUM, "glTexParameterxv(pname=0x%x)", pname);
+ return;
+ }
+
+ if (convert_params_value) {
+ for (i = 0; i < n_params; i++) {
+ converted_params[i] = (GLfloat) (params[i] / 65536.0f);
+ }
+ } else {
+ for (i = 0; i < n_params; i++) {
+ converted_params[i] = (GLfloat) params[i];
+ }
+ }
+
+ _mesa_TexParameterfv(target, pname, converted_params);
+}
+
+extern void GL_APIENTRY _mesa_TexSubImage2D(GLenum target, GLint level, GLint xoffset, GLint yoffset, GLsizei width, GLsizei height, GLenum format, GLenum type, const GLvoid * pixels);
+static void GL_APIENTRY _es_TexSubImage2D(GLenum target, GLint level, GLint xoffset, GLint yoffset, GLsizei width, GLsizei height, GLenum format, GLenum type, const GLvoid *pixels)
+{
+ switch(target) {
+ case GL_TEXTURE_2D:
+ case GL_TEXTURE_CUBE_MAP_POSITIVE_X_OES:
+ case GL_TEXTURE_CUBE_MAP_POSITIVE_Y_OES:
+ case GL_TEXTURE_CUBE_MAP_POSITIVE_Z_OES:
+ case GL_TEXTURE_CUBE_MAP_NEGATIVE_X_OES:
+ case GL_TEXTURE_CUBE_MAP_NEGATIVE_Y_OES:
+ case GL_TEXTURE_CUBE_MAP_NEGATIVE_Z_OES:
+ break;
+ default:
+ _mesa_error(_mesa_get_current_context(), GL_INVALID_ENUM, "glTexSubImage2D(target=0x%x)", target);
+ return;
+ }
+ switch(format) {
+ case GL_ALPHA:
+ if (type != GL_UNSIGNED_BYTE) {
+ _mesa_error(_mesa_get_current_context(), GL_INVALID_OPERATION, "glTexSubImage2D(format=0x%x)", format);
+ return;
+ }
+ break;
+ case GL_RGB:
+ if (type != GL_UNSIGNED_BYTE && type != GL_UNSIGNED_SHORT_5_6_5) {
+ _mesa_error(_mesa_get_current_context(), GL_INVALID_OPERATION, "glTexSubImage2D(format=0x%x)", format);
+ return;
+ }
+ break;
+ case GL_RGBA:
+ if (type != GL_UNSIGNED_BYTE && type != GL_UNSIGNED_SHORT_4_4_4_4 && type != GL_UNSIGNED_SHORT_5_5_5_1) {
+ _mesa_error(_mesa_get_current_context(), GL_INVALID_OPERATION, "glTexSubImage2D(format=0x%x)", format);
+ return;
+ }
+ break;
+ case GL_LUMINANCE:
+ case GL_LUMINANCE_ALPHA:
+ if (type != GL_UNSIGNED_BYTE) {
+ _mesa_error(_mesa_get_current_context(), GL_INVALID_OPERATION, "glTexSubImage2D(format=0x%x)", format);
+ return;
+ }
+ break;
+ default:
+ _mesa_error(_mesa_get_current_context(), GL_INVALID_OPERATION, "glTexSubImage2D(format=0x%x)", format);
+ return;
+ }
+
+ _mesa_TexSubImage2D(target, level, xoffset, yoffset, width, height, format, type, pixels);
+}
+
+extern void GL_APIENTRY _mesa_Translatef(GLfloat x, GLfloat y, GLfloat z);
+#define _es_Translatef _mesa_Translatef
+
+extern void GL_APIENTRY _mesa_Translatef(GLfloat x, GLfloat y, GLfloat z);
+static void GL_APIENTRY _es_Translatex(GLfixed x, GLfixed y, GLfixed z)
+{
+ GLfloat converted_x;
+ GLfloat converted_y;
+ GLfloat converted_z;
+
+ converted_x = (GLfloat) (x / 65536.0f);
+ converted_y = (GLfloat) (y / 65536.0f);
+ converted_z = (GLfloat) (z / 65536.0f);
+
+ _mesa_Translatef(converted_x, converted_y, converted_z);
+}
+
+extern GLboolean GL_APIENTRY _mesa_UnmapBufferARB(GLenum target);
+static GLboolean GL_APIENTRY _es_UnmapBufferOES(GLenum target)
+{
+ switch(target) {
+ case GL_ARRAY_BUFFER:
+ case GL_ELEMENT_ARRAY_BUFFER:
+ break;
+ default:
+ _mesa_error(_mesa_get_current_context(), GL_INVALID_ENUM, "glUnmapBufferOES(target=0x%x)", target);
+ return GL_FALSE;
+ }
+
+ return _mesa_UnmapBufferARB(target);
+}
+
+extern void GL_APIENTRY _mesa_VertexPointer(GLint size, GLenum type, GLsizei stride, const GLvoid * pointer);
+static void GL_APIENTRY _es_VertexPointer(GLint size, GLenum type, GLsizei stride, const GLvoid *pointer)
+{
+ switch(size) {
+ case 2:
+ case 3:
+ case 4:
+ break;
+ default:
+ _mesa_error(_mesa_get_current_context(), GL_INVALID_VALUE, "glVertexPointer(size=%d)", size);
+ return;
+ }
+ switch(type) {
+ case GL_BYTE:
+ case GL_SHORT:
+ case GL_FLOAT:
+ case GL_FIXED:
+ break;
+ default:
+ _mesa_error(_mesa_get_current_context(), GL_INVALID_ENUM, "glVertexPointer(type=0x%x)", type);
+ return;
+ }
+
+ _mesa_VertexPointer(size, type, stride, pointer);
+}
+
+extern void GL_APIENTRY _mesa_Viewport(GLint x, GLint y, GLsizei width, GLsizei height);
+#define _es_Viewport _mesa_Viewport
+
+
+struct _glapi_table *
+_mesa_create_exec_table_es1(void)
+{
+ struct _glapi_table *exec;
+ exec = _mesa_alloc_dispatch_table(sizeof *exec);
+ if (exec == NULL)
+ return NULL;
+
+
+ SET_ActiveTexture(exec, _es_ActiveTexture);
+ SET_AlphaFunc(exec, _es_AlphaFunc);
+ SET_AlphaFuncx(exec, _es_AlphaFuncx);
+ SET_BindBuffer(exec, _es_BindBuffer);
+ SET_BindFramebufferOES(exec, _es_BindFramebufferOES);
+ SET_BindRenderbufferOES(exec, _es_BindRenderbufferOES);
+ SET_BindTexture(exec, _es_BindTexture);
+ SET_BlendEquationOES(exec, _es_BlendEquationOES);
+ SET_BlendEquationSeparateOES(exec, _es_BlendEquationSeparateOES);
+ SET_BlendFunc(exec, _es_BlendFunc);
+ SET_BlendFuncSeparateOES(exec, _es_BlendFuncSeparateOES);
+ SET_BufferData(exec, _es_BufferData);
+ SET_BufferSubData(exec, _es_BufferSubData);
+ SET_CheckFramebufferStatusOES(exec, _es_CheckFramebufferStatusOES);
+ SET_Clear(exec, _es_Clear);
+ SET_ClearColor(exec, _es_ClearColor);
+ SET_ClearColorx(exec, _es_ClearColorx);
+ SET_ClearDepthf(exec, _es_ClearDepthf);
+ SET_ClearDepthx(exec, _es_ClearDepthx);
+ SET_ClearStencil(exec, _es_ClearStencil);
+ SET_ClientActiveTexture(exec, _es_ClientActiveTexture);
+ SET_ClipPlanef(exec, _es_ClipPlanef);
+ SET_ClipPlanex(exec, _es_ClipPlanex);
+ SET_Color4f(exec, _es_Color4f);
+ SET_Color4ub(exec, _es_Color4ub);
+ SET_Color4x(exec, _es_Color4x);
+ SET_ColorMask(exec, _es_ColorMask);
+ SET_ColorPointer(exec, _es_ColorPointer);
+ SET_CompressedTexImage2D(exec, _es_CompressedTexImage2D);
+ SET_CompressedTexSubImage2D(exec, _es_CompressedTexSubImage2D);
+ SET_CopyTexImage2D(exec, _es_CopyTexImage2D);
+ SET_CopyTexSubImage2D(exec, _es_CopyTexSubImage2D);
+ SET_CullFace(exec, _es_CullFace);
+ SET_DeleteBuffers(exec, _es_DeleteBuffers);
+ SET_DeleteFramebuffersOES(exec, _es_DeleteFramebuffersOES);
+ SET_DeleteRenderbuffersOES(exec, _es_DeleteRenderbuffersOES);
+ SET_DeleteTextures(exec, _es_DeleteTextures);
+ SET_DepthFunc(exec, _es_DepthFunc);
+ SET_DepthMask(exec, _es_DepthMask);
+ SET_DepthRangef(exec, _es_DepthRangef);
+ SET_DepthRangex(exec, _es_DepthRangex);
+ SET_Disable(exec, _es_Disable);
+ SET_DisableClientState(exec, _es_DisableClientState);
+ SET_DrawArrays(exec, _es_DrawArrays);
+ SET_DrawElements(exec, _es_DrawElements);
+ SET_DrawTexfOES(exec, _es_DrawTexfOES);
+ SET_DrawTexfvOES(exec, _es_DrawTexfvOES);
+ SET_DrawTexiOES(exec, _es_DrawTexiOES);
+ SET_DrawTexivOES(exec, _es_DrawTexivOES);
+ SET_DrawTexsOES(exec, _es_DrawTexsOES);
+ SET_DrawTexsvOES(exec, _es_DrawTexsvOES);
+ SET_DrawTexxOES(exec, _es_DrawTexxOES);
+ SET_DrawTexxvOES(exec, _es_DrawTexxvOES);
+ SET_EGLImageTargetRenderbufferStorageOES(exec, _es_EGLImageTargetRenderbufferStorageOES);
+ SET_EGLImageTargetTexture2DOES(exec, _es_EGLImageTargetTexture2DOES);
+ SET_Enable(exec, _es_Enable);
+ SET_EnableClientState(exec, _es_EnableClientState);
+ SET_Finish(exec, _es_Finish);
+ SET_Flush(exec, _es_Flush);
+ SET_Fogf(exec, _es_Fogf);
+ SET_Fogfv(exec, _es_Fogfv);
+ SET_Fogx(exec, _es_Fogx);
+ SET_Fogxv(exec, _es_Fogxv);
+ SET_FramebufferRenderbufferOES(exec, _es_FramebufferRenderbufferOES);
+ SET_FramebufferTexture2DOES(exec, _es_FramebufferTexture2DOES);
+ SET_FrontFace(exec, _es_FrontFace);
+ SET_Frustumf(exec, _es_Frustumf);
+ SET_Frustumx(exec, _es_Frustumx);
+ SET_GenBuffers(exec, _es_GenBuffers);
+ SET_GenFramebuffersOES(exec, _es_GenFramebuffersOES);
+ SET_GenRenderbuffersOES(exec, _es_GenRenderbuffersOES);
+ SET_GenTextures(exec, _es_GenTextures);
+ SET_GenerateMipmapOES(exec, _es_GenerateMipmapOES);
+ SET_GetBooleanv(exec, _es_GetBooleanv);
+ SET_GetBufferParameteriv(exec, _es_GetBufferParameteriv);
+ SET_GetBufferPointervOES(exec, _es_GetBufferPointervOES);
+ SET_GetClipPlanef(exec, _es_GetClipPlanef);
+ SET_GetClipPlanex(exec, _es_GetClipPlanex);
+ SET_GetError(exec, _es_GetError);
+ SET_GetFixedv(exec, _es_GetFixedv);
+ SET_GetFloatv(exec, _es_GetFloatv);
+ SET_GetFramebufferAttachmentParameterivOES(exec, _es_GetFramebufferAttachmentParameterivOES);
+ SET_GetIntegerv(exec, _es_GetIntegerv);
+ SET_GetLightfv(exec, _es_GetLightfv);
+ SET_GetLightxv(exec, _es_GetLightxv);
+ SET_GetMaterialfv(exec, _es_GetMaterialfv);
+ SET_GetMaterialxv(exec, _es_GetMaterialxv);
+ SET_GetPointerv(exec, _es_GetPointerv);
+ SET_GetRenderbufferParameterivOES(exec, _es_GetRenderbufferParameterivOES);
+ SET_GetString(exec, _es_GetString);
+ SET_GetTexEnvfv(exec, _es_GetTexEnvfv);
+ SET_GetTexEnviv(exec, _es_GetTexEnviv);
+ SET_GetTexEnvxv(exec, _es_GetTexEnvxv);
+ SET_GetTexGenfvOES(exec, _check_GetTexGenfvOES);
+ SET_GetTexGenivOES(exec, _check_GetTexGenivOES);
+ SET_GetTexGenxvOES(exec, _check_GetTexGenxvOES);
+ SET_GetTexParameterfv(exec, _es_GetTexParameterfv);
+ SET_GetTexParameteriv(exec, _es_GetTexParameteriv);
+ SET_GetTexParameterxv(exec, _es_GetTexParameterxv);
+ SET_Hint(exec, _es_Hint);
+ SET_IsBuffer(exec, _es_IsBuffer);
+ SET_IsEnabled(exec, _es_IsEnabled);
+ SET_IsFramebufferOES(exec, _es_IsFramebufferOES);
+ SET_IsRenderbufferOES(exec, _es_IsRenderbufferOES);
+ SET_IsTexture(exec, _es_IsTexture);
+ SET_LightModelf(exec, _es_LightModelf);
+ SET_LightModelfv(exec, _es_LightModelfv);
+ SET_LightModelx(exec, _es_LightModelx);
+ SET_LightModelxv(exec, _es_LightModelxv);
+ SET_Lightf(exec, _es_Lightf);
+ SET_Lightfv(exec, _es_Lightfv);
+ SET_Lightx(exec, _es_Lightx);
+ SET_Lightxv(exec, _es_Lightxv);
+ SET_LineWidth(exec, _es_LineWidth);
+ SET_LineWidthx(exec, _es_LineWidthx);
+ SET_LoadIdentity(exec, _es_LoadIdentity);
+ SET_LoadMatrixf(exec, _es_LoadMatrixf);
+ SET_LoadMatrixx(exec, _es_LoadMatrixx);
+ SET_LogicOp(exec, _es_LogicOp);
+ SET_MapBufferOES(exec, _es_MapBufferOES);
+ SET_Materialf(exec, _es_Materialf);
+ SET_Materialfv(exec, _es_Materialfv);
+ SET_Materialx(exec, _es_Materialx);
+ SET_Materialxv(exec, _es_Materialxv);
+ SET_MatrixMode(exec, _es_MatrixMode);
+ SET_MultMatrixf(exec, _es_MultMatrixf);
+ SET_MultMatrixx(exec, _es_MultMatrixx);
+ SET_MultiDrawArraysEXT(exec, _es_MultiDrawArraysEXT);
+ SET_MultiDrawElementsEXT(exec, _es_MultiDrawElementsEXT);
+ SET_MultiTexCoord4f(exec, _es_MultiTexCoord4f);
+ SET_MultiTexCoord4x(exec, _es_MultiTexCoord4x);
+ SET_Normal3f(exec, _es_Normal3f);
+ SET_Normal3x(exec, _es_Normal3x);
+ SET_NormalPointer(exec, _es_NormalPointer);
+ SET_Orthof(exec, _es_Orthof);
+ SET_Orthox(exec, _es_Orthox);
+ SET_PixelStorei(exec, _es_PixelStorei);
+ SET_PointParameterf(exec, _es_PointParameterf);
+ SET_PointParameterfv(exec, _es_PointParameterfv);
+ SET_PointParameterx(exec, _es_PointParameterx);
+ SET_PointParameterxv(exec, _es_PointParameterxv);
+ SET_PointSize(exec, _es_PointSize);
+ SET_PointSizePointerOES(exec, _es_PointSizePointerOES);
+ SET_PointSizex(exec, _es_PointSizex);
+ SET_PolygonOffset(exec, _es_PolygonOffset);
+ SET_PolygonOffsetx(exec, _es_PolygonOffsetx);
+ SET_PopMatrix(exec, _es_PopMatrix);
+ SET_PushMatrix(exec, _es_PushMatrix);
+ SET_QueryMatrixxOES(exec, _check_QueryMatrixxOES);
+ SET_ReadPixels(exec, _es_ReadPixels);
+ SET_RenderbufferStorageOES(exec, _check_RenderbufferStorageOES);
+ SET_Rotatef(exec, _es_Rotatef);
+ SET_Rotatex(exec, _es_Rotatex);
+ SET_SampleCoverage(exec, _es_SampleCoverage);
+ SET_SampleCoveragex(exec, _es_SampleCoveragex);
+ SET_Scalef(exec, _es_Scalef);
+ SET_Scalex(exec, _es_Scalex);
+ SET_Scissor(exec, _es_Scissor);
+ SET_ShadeModel(exec, _es_ShadeModel);
+ SET_StencilFunc(exec, _es_StencilFunc);
+ SET_StencilMask(exec, _es_StencilMask);
+ SET_StencilOp(exec, _es_StencilOp);
+ SET_TexCoordPointer(exec, _es_TexCoordPointer);
+ SET_TexEnvf(exec, _es_TexEnvf);
+ SET_TexEnvfv(exec, _es_TexEnvfv);
+ SET_TexEnvi(exec, _es_TexEnvi);
+ SET_TexEnviv(exec, _es_TexEnviv);
+ SET_TexEnvx(exec, _es_TexEnvx);
+ SET_TexEnvxv(exec, _es_TexEnvxv);
+ SET_TexGenfOES(exec, _check_TexGenfOES);
+ SET_TexGenfvOES(exec, _check_TexGenfvOES);
+ SET_TexGeniOES(exec, _check_TexGeniOES);
+ SET_TexGenivOES(exec, _check_TexGenivOES);
+ SET_TexGenxOES(exec, _check_TexGenxOES);
+ SET_TexGenxvOES(exec, _check_TexGenxvOES);
+ SET_TexImage2D(exec, _es_TexImage2D);
+ SET_TexParameterf(exec, _es_TexParameterf);
+ SET_TexParameterfv(exec, _es_TexParameterfv);
+ SET_TexParameteri(exec, _es_TexParameteri);
+ SET_TexParameteriv(exec, _es_TexParameteriv);
+ SET_TexParameterx(exec, _es_TexParameterx);
+ SET_TexParameterxv(exec, _es_TexParameterxv);
+ SET_TexSubImage2D(exec, _es_TexSubImage2D);
+ SET_Translatef(exec, _es_Translatef);
+ SET_Translatex(exec, _es_Translatex);
+ SET_UnmapBufferOES(exec, _es_UnmapBufferOES);
+ SET_VertexPointer(exec, _es_VertexPointer);
+ SET_Viewport(exec, _es_Viewport);
+
+ return exec;
+}
+
+#endif /* FEATURE_ES1 */
diff --git a/lib/libGL/libmesa/generated/api_exec_es2.c b/lib/libGL/libmesa/generated/api_exec_es2.c
new file mode 100644
index 000000000..d28291b0e
--- /dev/null
+++ b/lib/libGL/libmesa/generated/api_exec_es2.c
@@ -0,0 +1,2471 @@
+/* DO NOT EDIT *************************************************
+ * THIS FILE AUTOMATICALLY GENERATED BY THE es_generator.py SCRIPT
+ * API specification file: /share/OpenBSD/xenocara/lib/libGL/libmesa/generated/../../../../dist/Mesa/src/mesa/main/APIspec.xml
+ * GLES version: GLES2.0
+ * date: 2011-05-15 15:41:34
+ */
+
+
+#include "GLES2/gl2.h"
+#include "GLES2/gl2ext.h"
+#include "main/mfeatures.h"
+
+#if FEATURE_ES2
+
+
+/* These types are needed for the Mesa veneer, but are not defined in
+ * the standard GLES headers.
+ */
+typedef double GLdouble;
+typedef double GLclampd;
+
+/* Mesa error handling requires these */
+extern void *_mesa_get_current_context(void);
+extern void _mesa_error(void *ctx, GLenum error, const char *fmtString, ... );
+
+#include "main/compiler.h"
+#include "main/api_exec.h"
+#include "main/remap.h"
+
+/* cannot include main/dispatch.h here */
+#ifdef IN_DRI_DRIVER
+#define _GLAPI_USE_REMAP_TABLE
+#endif
+/* glapi uses GLAPIENTRY while GLES headers define GL_APIENTRY */
+#ifndef GLAPIENTRY
+#define GLAPIENTRY GL_APIENTRY
+#endif
+#include "es2api/glapi/glapitable.h"
+#include "es2api/glapi/glapioffsets.h"
+#include "es2api/glapi/glapidispatch.h"
+
+#if FEATURE_remap_table
+
+#if !FEATURE_GL
+int driDispatchRemapTable[driDispatchRemapTable_size];
+#endif
+
+#define need_MESA_remap_table
+
+#include "es2api/main/remap_helper.h"
+
+void
+_mesa_init_remap_table_es2(void)
+{
+ _mesa_do_init_remap_table(_mesa_function_pool,
+ driDispatchRemapTable_size,
+ MESA_remap_table_functions);
+}
+
+void
+_mesa_map_static_functions_es2(void)
+{
+}
+
+#endif
+
+typedef void (*_glapi_proc)(void); /* generic function pointer */
+
+/*************************************************************
+ * Generated functions begin here
+ */
+
+extern void GL_APIENTRY _mesa_ActiveTextureARB(GLenum texture);
+static void GL_APIENTRY _es_ActiveTexture(GLenum texture)
+{
+ switch(texture) {
+ case GL_TEXTURE0:
+ case GL_TEXTURE1:
+ case GL_TEXTURE2:
+ case GL_TEXTURE3:
+ case GL_TEXTURE4:
+ case GL_TEXTURE5:
+ case GL_TEXTURE6:
+ case GL_TEXTURE7:
+ case GL_TEXTURE8:
+ case GL_TEXTURE9:
+ case GL_TEXTURE10:
+ case GL_TEXTURE11:
+ case GL_TEXTURE12:
+ case GL_TEXTURE13:
+ case GL_TEXTURE14:
+ case GL_TEXTURE15:
+ case GL_TEXTURE16:
+ case GL_TEXTURE17:
+ case GL_TEXTURE18:
+ case GL_TEXTURE19:
+ case GL_TEXTURE20:
+ case GL_TEXTURE21:
+ case GL_TEXTURE22:
+ case GL_TEXTURE23:
+ case GL_TEXTURE24:
+ case GL_TEXTURE25:
+ case GL_TEXTURE26:
+ case GL_TEXTURE27:
+ case GL_TEXTURE28:
+ case GL_TEXTURE29:
+ case GL_TEXTURE30:
+ case GL_TEXTURE31:
+ break;
+ default:
+ _mesa_error(_mesa_get_current_context(), GL_INVALID_ENUM, "glActiveTexture(texture=0x%x)", texture);
+ return;
+ }
+
+ _mesa_ActiveTextureARB(texture);
+}
+
+extern void GL_APIENTRY _mesa_AttachShader(GLuint program, GLuint shader);
+#define _es_AttachShader _mesa_AttachShader
+
+extern void GL_APIENTRY _mesa_BindAttribLocationARB(GLuint program, GLuint index, const char * name);
+#define _es_BindAttribLocation _mesa_BindAttribLocationARB
+
+extern void GL_APIENTRY _mesa_BindBufferARB(GLenum target, GLuint buffer);
+static void GL_APIENTRY _es_BindBuffer(GLenum target, GLuint buffer)
+{
+ switch(target) {
+ case GL_ARRAY_BUFFER:
+ case GL_ELEMENT_ARRAY_BUFFER:
+ break;
+ default:
+ _mesa_error(_mesa_get_current_context(), GL_INVALID_ENUM, "glBindBuffer(target=0x%x)", target);
+ return;
+ }
+
+ _mesa_BindBufferARB(target, buffer);
+}
+
+extern void GL_APIENTRY _mesa_BindFramebufferEXT(GLenum target, GLuint framebuffer);
+static void GL_APIENTRY _es_BindFramebuffer(GLenum target, GLuint framebuffer)
+{
+ switch(target) {
+ case GL_FRAMEBUFFER:
+ break;
+ default:
+ _mesa_error(_mesa_get_current_context(), GL_INVALID_ENUM, "glBindFramebuffer(target=0x%x)", target);
+ return;
+ }
+
+ _mesa_BindFramebufferEXT(target, framebuffer);
+}
+
+extern void GL_APIENTRY _mesa_BindRenderbufferEXT(GLenum target, GLuint renderbuffer);
+static void GL_APIENTRY _es_BindRenderbuffer(GLenum target, GLuint renderbuffer)
+{
+ switch(target) {
+ case GL_RENDERBUFFER:
+ break;
+ default:
+ _mesa_error(_mesa_get_current_context(), GL_INVALID_ENUM, "glBindRenderbuffer(target=0x%x)", target);
+ return;
+ }
+
+ _mesa_BindRenderbufferEXT(target, renderbuffer);
+}
+
+extern void GL_APIENTRY _mesa_BindTexture(GLenum target, GLuint texture);
+static void GL_APIENTRY _es_BindTexture(GLenum target, GLuint texture)
+{
+ switch(target) {
+ case GL_TEXTURE_2D:
+ case GL_TEXTURE_CUBE_MAP:
+ case GL_TEXTURE_3D_OES:
+ break;
+ default:
+ _mesa_error(_mesa_get_current_context(), GL_INVALID_ENUM, "glBindTexture(target=0x%x)", target);
+ return;
+ }
+
+ _mesa_BindTexture(target, texture);
+}
+
+extern void GL_APIENTRY _mesa_BlendColor(GLclampf red, GLclampf green, GLclampf blue, GLclampf alpha);
+#define _es_BlendColor _mesa_BlendColor
+
+extern void GL_APIENTRY _mesa_BlendEquation(GLenum mode);
+static void GL_APIENTRY _es_BlendEquation(GLenum mode)
+{
+ switch(mode) {
+ case GL_FUNC_ADD:
+ case GL_FUNC_SUBTRACT:
+ case GL_FUNC_REVERSE_SUBTRACT:
+ case GL_MIN_EXT:
+ case GL_MAX_EXT:
+ break;
+ default:
+ _mesa_error(_mesa_get_current_context(), GL_INVALID_ENUM, "glBlendEquation(mode=0x%x)", mode);
+ return;
+ }
+
+ _mesa_BlendEquation(mode);
+}
+
+extern void GL_APIENTRY _mesa_BlendEquationSeparateEXT(GLenum modeRGB, GLenum modeAlpha);
+static void GL_APIENTRY _es_BlendEquationSeparate(GLenum modeRGB, GLenum modeAlpha)
+{
+ switch(modeRGB) {
+ case GL_FUNC_ADD:
+ case GL_FUNC_SUBTRACT:
+ case GL_FUNC_REVERSE_SUBTRACT:
+ case GL_MIN_EXT:
+ case GL_MAX_EXT:
+ break;
+ default:
+ _mesa_error(_mesa_get_current_context(), GL_INVALID_ENUM, "glBlendEquationSeparate(modeRGB=0x%x)", modeRGB);
+ return;
+ }
+ switch(modeAlpha) {
+ case GL_FUNC_ADD:
+ case GL_FUNC_SUBTRACT:
+ case GL_FUNC_REVERSE_SUBTRACT:
+ case GL_MIN_EXT:
+ case GL_MAX_EXT:
+ break;
+ default:
+ _mesa_error(_mesa_get_current_context(), GL_INVALID_ENUM, "glBlendEquationSeparate(modeAlpha=0x%x)", modeAlpha);
+ return;
+ }
+
+ _mesa_BlendEquationSeparateEXT(modeRGB, modeAlpha);
+}
+
+extern void GL_APIENTRY _mesa_BlendFunc(GLenum sfactor, GLenum dfactor);
+static void GL_APIENTRY _es_BlendFunc(GLenum sfactor, GLenum dfactor)
+{
+ switch(sfactor) {
+ case GL_ZERO:
+ case GL_ONE:
+ case GL_SRC_COLOR:
+ case GL_ONE_MINUS_SRC_COLOR:
+ case GL_SRC_ALPHA:
+ case GL_ONE_MINUS_SRC_ALPHA:
+ case GL_DST_ALPHA:
+ case GL_ONE_MINUS_DST_ALPHA:
+ case GL_DST_COLOR:
+ case GL_ONE_MINUS_DST_COLOR:
+ case GL_SRC_ALPHA_SATURATE:
+ case GL_CONSTANT_COLOR:
+ case GL_CONSTANT_ALPHA:
+ case GL_ONE_MINUS_CONSTANT_COLOR:
+ case GL_ONE_MINUS_CONSTANT_ALPHA:
+ break;
+ default:
+ _mesa_error(_mesa_get_current_context(), GL_INVALID_ENUM, "glBlendFunc(sfactor=0x%x)", sfactor);
+ return;
+ }
+ switch(dfactor) {
+ case GL_ZERO:
+ case GL_ONE:
+ case GL_SRC_COLOR:
+ case GL_ONE_MINUS_SRC_COLOR:
+ case GL_SRC_ALPHA:
+ case GL_ONE_MINUS_SRC_ALPHA:
+ case GL_DST_ALPHA:
+ case GL_ONE_MINUS_DST_ALPHA:
+ case GL_DST_COLOR:
+ case GL_ONE_MINUS_DST_COLOR:
+ case GL_CONSTANT_COLOR:
+ case GL_CONSTANT_ALPHA:
+ case GL_ONE_MINUS_CONSTANT_COLOR:
+ case GL_ONE_MINUS_CONSTANT_ALPHA:
+ break;
+ default:
+ _mesa_error(_mesa_get_current_context(), GL_INVALID_ENUM, "glBlendFunc(dfactor=0x%x)", dfactor);
+ return;
+ }
+
+ _mesa_BlendFunc(sfactor, dfactor);
+}
+
+extern void GL_APIENTRY _mesa_BlendFuncSeparateEXT(GLenum srcRGB, GLenum dstRGB, GLenum srcAlpha, GLenum dstAlpha);
+static void GL_APIENTRY _es_BlendFuncSeparate(GLenum srcRGB, GLenum dstRGB, GLenum srcAlpha, GLenum dstAlpha)
+{
+ switch(srcRGB) {
+ case GL_ZERO:
+ case GL_ONE:
+ case GL_SRC_COLOR:
+ case GL_ONE_MINUS_SRC_COLOR:
+ case GL_SRC_ALPHA:
+ case GL_ONE_MINUS_SRC_ALPHA:
+ case GL_DST_ALPHA:
+ case GL_ONE_MINUS_DST_ALPHA:
+ case GL_DST_COLOR:
+ case GL_ONE_MINUS_DST_COLOR:
+ case GL_SRC_ALPHA_SATURATE:
+ case GL_CONSTANT_COLOR:
+ case GL_ONE_MINUS_CONSTANT_COLOR:
+ case GL_CONSTANT_ALPHA:
+ case GL_ONE_MINUS_CONSTANT_ALPHA:
+ break;
+ default:
+ _mesa_error(_mesa_get_current_context(), GL_INVALID_ENUM, "glBlendFuncSeparate(srcRGB=0x%x)", srcRGB);
+ return;
+ }
+ switch(dstRGB) {
+ case GL_ZERO:
+ case GL_ONE:
+ case GL_SRC_COLOR:
+ case GL_ONE_MINUS_SRC_COLOR:
+ case GL_SRC_ALPHA:
+ case GL_ONE_MINUS_SRC_ALPHA:
+ case GL_DST_ALPHA:
+ case GL_ONE_MINUS_DST_ALPHA:
+ case GL_DST_COLOR:
+ case GL_ONE_MINUS_DST_COLOR:
+ case GL_CONSTANT_COLOR:
+ case GL_ONE_MINUS_CONSTANT_COLOR:
+ case GL_CONSTANT_ALPHA:
+ case GL_ONE_MINUS_CONSTANT_ALPHA:
+ break;
+ default:
+ _mesa_error(_mesa_get_current_context(), GL_INVALID_ENUM, "glBlendFuncSeparate(dstRGB=0x%x)", dstRGB);
+ return;
+ }
+ switch(srcAlpha) {
+ case GL_ZERO:
+ case GL_ONE:
+ case GL_SRC_COLOR:
+ case GL_ONE_MINUS_SRC_COLOR:
+ case GL_SRC_ALPHA:
+ case GL_ONE_MINUS_SRC_ALPHA:
+ case GL_DST_ALPHA:
+ case GL_ONE_MINUS_DST_ALPHA:
+ case GL_DST_COLOR:
+ case GL_ONE_MINUS_DST_COLOR:
+ case GL_SRC_ALPHA_SATURATE:
+ case GL_CONSTANT_COLOR:
+ case GL_ONE_MINUS_CONSTANT_COLOR:
+ case GL_CONSTANT_ALPHA:
+ case GL_ONE_MINUS_CONSTANT_ALPHA:
+ break;
+ default:
+ _mesa_error(_mesa_get_current_context(), GL_INVALID_ENUM, "glBlendFuncSeparate(srcAlpha=0x%x)", srcAlpha);
+ return;
+ }
+ switch(dstAlpha) {
+ case GL_ZERO:
+ case GL_ONE:
+ case GL_SRC_COLOR:
+ case GL_ONE_MINUS_SRC_COLOR:
+ case GL_SRC_ALPHA:
+ case GL_ONE_MINUS_SRC_ALPHA:
+ case GL_DST_ALPHA:
+ case GL_ONE_MINUS_DST_ALPHA:
+ case GL_DST_COLOR:
+ case GL_ONE_MINUS_DST_COLOR:
+ case GL_CONSTANT_COLOR:
+ case GL_ONE_MINUS_CONSTANT_COLOR:
+ case GL_CONSTANT_ALPHA:
+ case GL_ONE_MINUS_CONSTANT_ALPHA:
+ break;
+ default:
+ _mesa_error(_mesa_get_current_context(), GL_INVALID_ENUM, "glBlendFuncSeparate(dstAlpha=0x%x)", dstAlpha);
+ return;
+ }
+
+ _mesa_BlendFuncSeparateEXT(srcRGB, dstRGB, srcAlpha, dstAlpha);
+}
+
+extern void GL_APIENTRY _mesa_BufferDataARB(GLenum target, GLsizeiptr size, const GLvoid * data, GLenum usage);
+static void GL_APIENTRY _es_BufferData(GLenum target, GLsizeiptr size, const GLvoid *data, GLenum usage)
+{
+ switch(target) {
+ case GL_ARRAY_BUFFER:
+ case GL_ELEMENT_ARRAY_BUFFER:
+ break;
+ default:
+ _mesa_error(_mesa_get_current_context(), GL_INVALID_ENUM, "glBufferData(target=0x%x)", target);
+ return;
+ }
+ switch(usage) {
+ case GL_STATIC_DRAW:
+ case GL_DYNAMIC_DRAW:
+ case GL_STREAM_DRAW:
+ break;
+ default:
+ _mesa_error(_mesa_get_current_context(), GL_INVALID_ENUM, "glBufferData(usage=0x%x)", usage);
+ return;
+ }
+
+ _mesa_BufferDataARB(target, size, data, usage);
+}
+
+extern void GL_APIENTRY _mesa_BufferSubDataARB(GLenum target, GLintptr offset, GLsizeiptr size, const GLvoid * data);
+static void GL_APIENTRY _es_BufferSubData(GLenum target, GLintptr offset, GLsizeiptr size, const GLvoid *data)
+{
+ switch(target) {
+ case GL_ARRAY_BUFFER:
+ case GL_ELEMENT_ARRAY_BUFFER:
+ break;
+ default:
+ _mesa_error(_mesa_get_current_context(), GL_INVALID_ENUM, "glBufferSubData(target=0x%x)", target);
+ return;
+ }
+
+ _mesa_BufferSubDataARB(target, offset, size, data);
+}
+
+extern GLenum GL_APIENTRY _mesa_CheckFramebufferStatusEXT(GLenum target);
+static GLenum GL_APIENTRY _es_CheckFramebufferStatus(GLenum target)
+{
+ switch(target) {
+ case GL_FRAMEBUFFER:
+ break;
+ default:
+ _mesa_error(_mesa_get_current_context(), GL_INVALID_ENUM, "glCheckFramebufferStatus(target=0x%x)", target);
+ return (GLenum) 0;
+ }
+
+ return _mesa_CheckFramebufferStatusEXT(target);
+}
+
+extern void GL_APIENTRY _mesa_Clear(GLbitfield mask);
+static void GL_APIENTRY _es_Clear(GLbitfield mask)
+{
+ switch(mask) {
+ case 0:
+ case (GL_COLOR_BUFFER_BIT):
+ case (GL_DEPTH_BUFFER_BIT):
+ case (GL_STENCIL_BUFFER_BIT):
+ case (GL_COLOR_BUFFER_BIT|GL_DEPTH_BUFFER_BIT):
+ case (GL_COLOR_BUFFER_BIT|GL_STENCIL_BUFFER_BIT):
+ case (GL_DEPTH_BUFFER_BIT|GL_STENCIL_BUFFER_BIT):
+ case (GL_COLOR_BUFFER_BIT|GL_DEPTH_BUFFER_BIT|GL_STENCIL_BUFFER_BIT):
+ break;
+ default:
+ _mesa_error(_mesa_get_current_context(), GL_INVALID_VALUE, "glClear(mask=0x%x)", mask);
+ return;
+ }
+
+ _mesa_Clear(mask);
+}
+
+extern void GL_APIENTRY _mesa_ClearColor(GLclampf red, GLclampf green, GLclampf blue, GLclampf alpha);
+#define _es_ClearColor _mesa_ClearColor
+
+extern void GL_APIENTRY _mesa_ClearDepthf(GLclampf depth);
+#define _es_ClearDepthf _mesa_ClearDepthf
+
+extern void GL_APIENTRY _mesa_ClearStencil(GLint s);
+#define _es_ClearStencil _mesa_ClearStencil
+
+extern void GL_APIENTRY _mesa_ColorMask(GLboolean red, GLboolean green, GLboolean blue, GLboolean alpha);
+#define _es_ColorMask _mesa_ColorMask
+
+extern void GL_APIENTRY _mesa_CompileShaderARB(GLuint shader);
+#define _es_CompileShader _mesa_CompileShaderARB
+
+extern void GL_APIENTRY _mesa_CompressedTexImage2DARB(GLenum target, GLint level, GLenum internalFormat, GLsizei width, GLsizei height, GLint border, GLsizei imageSize, const GLvoid * data);
+static void GL_APIENTRY _es_CompressedTexImage2D(GLenum target, GLint level, GLenum internalFormat, GLsizei width, GLsizei height, GLint border, GLsizei imageSize, const GLvoid *data)
+{
+ switch(target) {
+ case GL_TEXTURE_2D:
+ case GL_TEXTURE_CUBE_MAP_POSITIVE_X:
+ case GL_TEXTURE_CUBE_MAP_POSITIVE_Y:
+ case GL_TEXTURE_CUBE_MAP_POSITIVE_Z:
+ case GL_TEXTURE_CUBE_MAP_NEGATIVE_X:
+ case GL_TEXTURE_CUBE_MAP_NEGATIVE_Y:
+ case GL_TEXTURE_CUBE_MAP_NEGATIVE_Z:
+ break;
+ default:
+ _mesa_error(_mesa_get_current_context(), GL_INVALID_ENUM, "glCompressedTexImage2D(target=0x%x)", target);
+ return;
+ }
+ switch(internalFormat) {
+ case GL_PALETTE4_RGB8_OES:
+ case GL_PALETTE4_RGBA8_OES:
+ case GL_PALETTE4_R5_G6_B5_OES:
+ case GL_PALETTE4_RGBA4_OES:
+ case GL_PALETTE4_RGB5_A1_OES:
+ case GL_PALETTE8_RGB8_OES:
+ case GL_PALETTE8_RGBA8_OES:
+ case GL_PALETTE8_R5_G6_B5_OES:
+ case GL_PALETTE8_RGBA4_OES:
+ case GL_PALETTE8_RGB5_A1_OES:
+ case GL_COMPRESSED_RGB_S3TC_DXT1_EXT:
+ case GL_COMPRESSED_RGBA_S3TC_DXT1_EXT:
+ break;
+ default:
+ _mesa_error(_mesa_get_current_context(), GL_INVALID_ENUM, "glCompressedTexImage2D(internalFormat=0x%x)", internalFormat);
+ return;
+ }
+ switch(border) {
+ case 0:
+ break;
+ default:
+ _mesa_error(_mesa_get_current_context(), GL_INVALID_VALUE, "glCompressedTexImage2D(border=%d)", border);
+ return;
+ }
+
+ _mesa_CompressedTexImage2DARB(target, level, internalFormat, width, height, border, imageSize, data);
+}
+
+extern void GL_APIENTRY _mesa_CompressedTexImage3DARB(GLenum target, GLint level, GLenum internalFormat, GLsizei width, GLsizei height, GLsizei depth, GLint border, GLsizei imagesize, const GLvoid * data);
+static void GL_APIENTRY _es_CompressedTexImage3DOES(GLenum target, GLint level, GLenum internalFormat, GLsizei width, GLsizei height, GLsizei depth, GLint border, GLsizei imagesize, const GLvoid *data)
+{
+ switch(target) {
+ case GL_TEXTURE_3D_OES:
+ break;
+ default:
+ _mesa_error(_mesa_get_current_context(), GL_INVALID_ENUM, "glCompressedTexImage3DOES(target=0x%x)", target);
+ return;
+ }
+
+ _mesa_CompressedTexImage3DARB(target, level, internalFormat, width, height, depth, border, imagesize, data);
+}
+
+extern void GL_APIENTRY _mesa_CompressedTexSubImage2DARB(GLenum target, GLint level, GLint xoffset, GLint yoffset, GLsizei width, GLsizei height, GLenum format, GLsizei imageSize, const GLvoid * data);
+static void GL_APIENTRY _es_CompressedTexSubImage2D(GLenum target, GLint level, GLint xoffset, GLint yoffset, GLsizei width, GLsizei height, GLenum format, GLsizei imageSize, const GLvoid *data)
+{
+ switch(target) {
+ case GL_TEXTURE_2D:
+ case GL_TEXTURE_CUBE_MAP_POSITIVE_X:
+ case GL_TEXTURE_CUBE_MAP_POSITIVE_Y:
+ case GL_TEXTURE_CUBE_MAP_POSITIVE_Z:
+ case GL_TEXTURE_CUBE_MAP_NEGATIVE_X:
+ case GL_TEXTURE_CUBE_MAP_NEGATIVE_Y:
+ case GL_TEXTURE_CUBE_MAP_NEGATIVE_Z:
+ break;
+ default:
+ _mesa_error(_mesa_get_current_context(), GL_INVALID_ENUM, "glCompressedTexSubImage2D(target=0x%x)", target);
+ return;
+ }
+ switch(format) {
+ case GL_COMPRESSED_RGB_S3TC_DXT1_EXT:
+ case GL_COMPRESSED_RGBA_S3TC_DXT1_EXT:
+ break;
+ default:
+ _mesa_error(_mesa_get_current_context(), GL_INVALID_ENUM, "glCompressedTexSubImage2D(format=0x%x)", format);
+ return;
+ }
+
+ _mesa_CompressedTexSubImage2DARB(target, level, xoffset, yoffset, width, height, format, imageSize, data);
+}
+
+extern void GL_APIENTRY _mesa_CompressedTexSubImage3DARB(GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLsizei width, GLsizei height, GLsizei depth, GLenum format, GLsizei imagesize, const GLvoid * data);
+static void GL_APIENTRY _es_CompressedTexSubImage3DOES(GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLsizei width, GLsizei height, GLsizei depth, GLenum format, GLsizei imagesize, const GLvoid *data)
+{
+ switch(target) {
+ case GL_TEXTURE_3D_OES:
+ break;
+ default:
+ _mesa_error(_mesa_get_current_context(), GL_INVALID_ENUM, "glCompressedTexSubImage3DOES(target=0x%x)", target);
+ return;
+ }
+
+ _mesa_CompressedTexSubImage3DARB(target, level, xoffset, yoffset, zoffset, width, height, depth, format, imagesize, data);
+}
+
+extern void GL_APIENTRY _mesa_CopyTexImage2D(GLenum target, GLint level, GLenum internalFormat, GLint x, GLint y, GLsizei width, GLsizei height, GLint border);
+static void GL_APIENTRY _es_CopyTexImage2D(GLenum target, GLint level, GLenum internalFormat, GLint x, GLint y, GLsizei width, GLsizei height, GLint border)
+{
+ switch(target) {
+ case GL_TEXTURE_2D:
+ case GL_TEXTURE_CUBE_MAP_POSITIVE_X:
+ case GL_TEXTURE_CUBE_MAP_POSITIVE_Y:
+ case GL_TEXTURE_CUBE_MAP_POSITIVE_Z:
+ case GL_TEXTURE_CUBE_MAP_NEGATIVE_X:
+ case GL_TEXTURE_CUBE_MAP_NEGATIVE_Y:
+ case GL_TEXTURE_CUBE_MAP_NEGATIVE_Z:
+ break;
+ default:
+ _mesa_error(_mesa_get_current_context(), GL_INVALID_ENUM, "glCopyTexImage2D(target=0x%x)", target);
+ return;
+ }
+ switch(internalFormat) {
+ case GL_ALPHA:
+ case GL_RGB:
+ case GL_RGBA:
+ case GL_LUMINANCE:
+ case GL_LUMINANCE_ALPHA:
+ break;
+ default:
+ _mesa_error(_mesa_get_current_context(), GL_INVALID_VALUE, "glCopyTexImage2D(internalFormat=0x%x)", internalFormat);
+ return;
+ }
+ switch(border) {
+ case 0:
+ break;
+ default:
+ _mesa_error(_mesa_get_current_context(), GL_INVALID_VALUE, "glCopyTexImage2D(border=%d)", border);
+ return;
+ }
+
+ _mesa_CopyTexImage2D(target, level, internalFormat, x, y, width, height, border);
+}
+
+extern void GL_APIENTRY _mesa_CopyTexSubImage2D(GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint x, GLint y, GLsizei width, GLsizei height);
+static void GL_APIENTRY _es_CopyTexSubImage2D(GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint x, GLint y, GLsizei width, GLsizei height)
+{
+ switch(target) {
+ case GL_TEXTURE_2D:
+ case GL_TEXTURE_CUBE_MAP_POSITIVE_X:
+ case GL_TEXTURE_CUBE_MAP_POSITIVE_Y:
+ case GL_TEXTURE_CUBE_MAP_POSITIVE_Z:
+ case GL_TEXTURE_CUBE_MAP_NEGATIVE_X:
+ case GL_TEXTURE_CUBE_MAP_NEGATIVE_Y:
+ case GL_TEXTURE_CUBE_MAP_NEGATIVE_Z:
+ break;
+ default:
+ _mesa_error(_mesa_get_current_context(), GL_INVALID_ENUM, "glCopyTexSubImage2D(target=0x%x)", target);
+ return;
+ }
+
+ _mesa_CopyTexSubImage2D(target, level, xoffset, yoffset, x, y, width, height);
+}
+
+extern void GL_APIENTRY _mesa_CopyTexSubImage3D(GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLint x, GLint y, GLsizei width, GLsizei height);
+static void GL_APIENTRY _es_CopyTexSubImage3DOES(GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLint x, GLint y, GLsizei width, GLsizei height)
+{
+ switch(target) {
+ case GL_TEXTURE_3D_OES:
+ break;
+ default:
+ _mesa_error(_mesa_get_current_context(), GL_INVALID_ENUM, "glCopyTexSubImage3DOES(target=0x%x)", target);
+ return;
+ }
+
+ _mesa_CopyTexSubImage3D(target, level, xoffset, yoffset, zoffset, x, y, width, height);
+}
+
+extern GLuint GL_APIENTRY _mesa_CreateProgram(void);
+#define _es_CreateProgram _mesa_CreateProgram
+
+extern GLuint GL_APIENTRY _mesa_CreateShader(GLenum type);
+static GLuint GL_APIENTRY _es_CreateShader(GLenum type)
+{
+ switch(type) {
+ case GL_VERTEX_SHADER:
+ case GL_FRAGMENT_SHADER:
+ break;
+ default:
+ _mesa_error(_mesa_get_current_context(), GL_INVALID_ENUM, "glCreateShader(type=0x%x)", type);
+ return (GLuint) 0;
+ }
+
+ return _mesa_CreateShader(type);
+}
+
+extern void GL_APIENTRY _mesa_CullFace(GLenum mode);
+static void GL_APIENTRY _es_CullFace(GLenum mode)
+{
+ switch(mode) {
+ case GL_FRONT:
+ case GL_BACK:
+ case GL_FRONT_AND_BACK:
+ break;
+ default:
+ _mesa_error(_mesa_get_current_context(), GL_INVALID_ENUM, "glCullFace(mode=0x%x)", mode);
+ return;
+ }
+
+ _mesa_CullFace(mode);
+}
+
+extern void GL_APIENTRY _mesa_DeleteBuffersARB(GLsizei n, const GLuint * buffer);
+#define _es_DeleteBuffers _mesa_DeleteBuffersARB
+
+extern void GL_APIENTRY _mesa_DeleteFramebuffersEXT(GLsizei n, const GLuint * framebuffers);
+#define _es_DeleteFramebuffers _mesa_DeleteFramebuffersEXT
+
+extern void GL_APIENTRY _mesa_DeleteProgram(GLuint program);
+#define _es_DeleteProgram _mesa_DeleteProgram
+
+extern void GL_APIENTRY _mesa_DeleteRenderbuffersEXT(GLsizei n, const GLuint * renderbuffers);
+#define _es_DeleteRenderbuffers _mesa_DeleteRenderbuffersEXT
+
+extern void GL_APIENTRY _mesa_DeleteShader(GLuint shader);
+#define _es_DeleteShader _mesa_DeleteShader
+
+extern void GL_APIENTRY _mesa_DeleteTextures(GLsizei n, const GLuint * textures);
+#define _es_DeleteTextures _mesa_DeleteTextures
+
+extern void GL_APIENTRY _mesa_DepthFunc(GLenum func);
+static void GL_APIENTRY _es_DepthFunc(GLenum func)
+{
+ switch(func) {
+ case GL_NEVER:
+ case GL_LESS:
+ case GL_EQUAL:
+ case GL_LEQUAL:
+ case GL_GREATER:
+ case GL_NOTEQUAL:
+ case GL_GEQUAL:
+ case GL_ALWAYS:
+ break;
+ default:
+ _mesa_error(_mesa_get_current_context(), GL_INVALID_ENUM, "glDepthFunc(func=0x%x)", func);
+ return;
+ }
+
+ _mesa_DepthFunc(func);
+}
+
+extern void GL_APIENTRY _mesa_DepthMask(GLboolean flag);
+#define _es_DepthMask _mesa_DepthMask
+
+extern void GL_APIENTRY _mesa_DepthRangef(GLclampf zNear, GLclampf zFar);
+#define _es_DepthRangef _mesa_DepthRangef
+
+extern void GL_APIENTRY _mesa_DetachShader(GLuint program, GLuint shader);
+#define _es_DetachShader _mesa_DetachShader
+
+extern void GL_APIENTRY _mesa_Disable(GLenum cap);
+static void GL_APIENTRY _es_Disable(GLenum cap)
+{
+ switch(cap) {
+ case GL_CULL_FACE:
+ case GL_SCISSOR_TEST:
+ case GL_POLYGON_OFFSET_FILL:
+ case GL_SAMPLE_ALPHA_TO_COVERAGE:
+ case GL_SAMPLE_COVERAGE:
+ case GL_STENCIL_TEST:
+ case GL_DEPTH_TEST:
+ case GL_DITHER:
+ case GL_BLEND:
+ break;
+ default:
+ _mesa_error(_mesa_get_current_context(), GL_INVALID_ENUM, "glDisable(cap=0x%x)", cap);
+ return;
+ }
+
+ _mesa_Disable(cap);
+}
+
+extern void GL_APIENTRY _mesa_DisableVertexAttribArrayARB(GLuint index);
+#define _es_DisableVertexAttribArray _mesa_DisableVertexAttribArrayARB
+
+extern void GL_APIENTRY _mesa_DrawArrays(GLenum mode, GLint first, GLsizei count);
+static void GL_APIENTRY _es_DrawArrays(GLenum mode, GLint first, GLsizei count)
+{
+ switch(mode) {
+ case GL_POINTS:
+ case GL_LINES:
+ case GL_LINE_LOOP:
+ case GL_LINE_STRIP:
+ case GL_TRIANGLES:
+ case GL_TRIANGLE_STRIP:
+ case GL_TRIANGLE_FAN:
+ break;
+ default:
+ _mesa_error(_mesa_get_current_context(), GL_INVALID_ENUM, "glDrawArrays(mode=0x%x)", mode);
+ return;
+ }
+
+ _mesa_DrawArrays(mode, first, count);
+}
+
+extern void GL_APIENTRY _mesa_DrawElements(GLenum mode, GLsizei count, GLenum type, const GLvoid * indices);
+static void GL_APIENTRY _es_DrawElements(GLenum mode, GLsizei count, GLenum type, const GLvoid *indices)
+{
+ switch(mode) {
+ case GL_POINTS:
+ case GL_LINES:
+ case GL_LINE_LOOP:
+ case GL_LINE_STRIP:
+ case GL_TRIANGLES:
+ case GL_TRIANGLE_STRIP:
+ case GL_TRIANGLE_FAN:
+ break;
+ default:
+ _mesa_error(_mesa_get_current_context(), GL_INVALID_ENUM, "glDrawElements(mode=0x%x)", mode);
+ return;
+ }
+ switch(type) {
+ case GL_UNSIGNED_BYTE:
+ case GL_UNSIGNED_SHORT:
+ case GL_UNSIGNED_INT:
+ break;
+ default:
+ _mesa_error(_mesa_get_current_context(), GL_INVALID_ENUM, "glDrawElements(type=0x%x)", type);
+ return;
+ }
+
+ _mesa_DrawElements(mode, count, type, indices);
+}
+
+extern void GL_APIENTRY _mesa_EGLImageTargetRenderbufferStorageOES(GLenum target, GLeglImageOES image);
+static void GL_APIENTRY _es_EGLImageTargetRenderbufferStorageOES(GLenum target, GLeglImageOES image)
+{
+ switch(target) {
+ case GL_RENDERBUFFER:
+ break;
+ default:
+ _mesa_error(_mesa_get_current_context(), GL_INVALID_ENUM, "glEGLImageTargetRenderbufferStorageOES(target=0x%x)", target);
+ return;
+ }
+
+ _mesa_EGLImageTargetRenderbufferStorageOES(target, image);
+}
+
+extern void GL_APIENTRY _mesa_EGLImageTargetTexture2DOES(GLenum target, GLeglImageOES image);
+static void GL_APIENTRY _es_EGLImageTargetTexture2DOES(GLenum target, GLeglImageOES image)
+{
+ switch(target) {
+ case GL_TEXTURE_2D:
+ break;
+ default:
+ _mesa_error(_mesa_get_current_context(), GL_INVALID_ENUM, "glEGLImageTargetTexture2DOES(target=0x%x)", target);
+ return;
+ }
+
+ _mesa_EGLImageTargetTexture2DOES(target, image);
+}
+
+extern void GL_APIENTRY _mesa_Enable(GLenum cap);
+static void GL_APIENTRY _es_Enable(GLenum cap)
+{
+ switch(cap) {
+ case GL_CULL_FACE:
+ case GL_SCISSOR_TEST:
+ case GL_POLYGON_OFFSET_FILL:
+ case GL_SAMPLE_ALPHA_TO_COVERAGE:
+ case GL_SAMPLE_COVERAGE:
+ case GL_STENCIL_TEST:
+ case GL_DEPTH_TEST:
+ case GL_DITHER:
+ case GL_BLEND:
+ break;
+ default:
+ _mesa_error(_mesa_get_current_context(), GL_INVALID_ENUM, "glEnable(cap=0x%x)", cap);
+ return;
+ }
+
+ _mesa_Enable(cap);
+}
+
+extern void GL_APIENTRY _mesa_EnableVertexAttribArrayARB(GLuint index);
+#define _es_EnableVertexAttribArray _mesa_EnableVertexAttribArrayARB
+
+extern void GL_APIENTRY _mesa_Finish(void);
+#define _es_Finish _mesa_Finish
+
+extern void GL_APIENTRY _mesa_Flush(void);
+#define _es_Flush _mesa_Flush
+
+extern void GL_APIENTRY _mesa_FramebufferRenderbufferEXT(GLenum target, GLenum attachment, GLenum renderbuffertarget, GLuint renderbuffer);
+static void GL_APIENTRY _es_FramebufferRenderbuffer(GLenum target, GLenum attachment, GLenum renderbuffertarget, GLuint renderbuffer)
+{
+ switch(target) {
+ case GL_FRAMEBUFFER:
+ break;
+ default:
+ _mesa_error(_mesa_get_current_context(), GL_INVALID_ENUM, "glFramebufferRenderbuffer(target=0x%x)", target);
+ return;
+ }
+ switch(attachment) {
+ case GL_COLOR_ATTACHMENT0:
+ case GL_DEPTH_ATTACHMENT:
+ case GL_STENCIL_ATTACHMENT:
+ break;
+ default:
+ _mesa_error(_mesa_get_current_context(), GL_INVALID_ENUM, "glFramebufferRenderbuffer(attachment=0x%x)", attachment);
+ return;
+ }
+ switch(renderbuffertarget) {
+ case GL_RENDERBUFFER:
+ break;
+ default:
+ _mesa_error(_mesa_get_current_context(), GL_INVALID_ENUM, "glFramebufferRenderbuffer(renderbuffertarget=0x%x)", renderbuffertarget);
+ return;
+ }
+
+ _mesa_FramebufferRenderbufferEXT(target, attachment, renderbuffertarget, renderbuffer);
+}
+
+extern void GL_APIENTRY _mesa_FramebufferTexture2DEXT(GLenum target, GLenum attachment, GLenum textarget, GLuint texture, GLint level);
+static void GL_APIENTRY _es_FramebufferTexture2D(GLenum target, GLenum attachment, GLenum textarget, GLuint texture, GLint level)
+{
+ switch(target) {
+ case GL_FRAMEBUFFER:
+ break;
+ default:
+ _mesa_error(_mesa_get_current_context(), GL_INVALID_ENUM, "glFramebufferTexture2D(target=0x%x)", target);
+ return;
+ }
+ switch(attachment) {
+ case GL_COLOR_ATTACHMENT0:
+ case GL_DEPTH_ATTACHMENT:
+ case GL_STENCIL_ATTACHMENT:
+ break;
+ default:
+ _mesa_error(_mesa_get_current_context(), GL_INVALID_ENUM, "glFramebufferTexture2D(attachment=0x%x)", attachment);
+ return;
+ }
+ switch(textarget) {
+ case GL_TEXTURE_2D:
+ case GL_TEXTURE_CUBE_MAP_POSITIVE_X:
+ case GL_TEXTURE_CUBE_MAP_POSITIVE_Y:
+ case GL_TEXTURE_CUBE_MAP_POSITIVE_Z:
+ case GL_TEXTURE_CUBE_MAP_NEGATIVE_X:
+ case GL_TEXTURE_CUBE_MAP_NEGATIVE_Y:
+ case GL_TEXTURE_CUBE_MAP_NEGATIVE_Z:
+ break;
+ default:
+ _mesa_error(_mesa_get_current_context(), GL_INVALID_OPERATION, "glFramebufferTexture2D(textarget=0x%x)", textarget);
+ return;
+ }
+
+ _mesa_FramebufferTexture2DEXT(target, attachment, textarget, texture, level);
+}
+
+extern void GL_APIENTRY _mesa_FramebufferTexture3DEXT(GLenum target, GLenum attachment, GLenum textarget, GLuint texture, GLint level, GLint zoffset);
+static void GL_APIENTRY _es_FramebufferTexture3DOES(GLenum target, GLenum attachment, GLenum textarget, GLuint texture, GLint level, GLint zoffset)
+{
+ switch(target) {
+ case GL_FRAMEBUFFER:
+ break;
+ default:
+ _mesa_error(_mesa_get_current_context(), GL_INVALID_ENUM, "glFramebufferTexture3DOES(target=0x%x)", target);
+ return;
+ }
+ switch(attachment) {
+ case GL_COLOR_ATTACHMENT0:
+ case GL_DEPTH_ATTACHMENT:
+ case GL_STENCIL_ATTACHMENT:
+ break;
+ default:
+ _mesa_error(_mesa_get_current_context(), GL_INVALID_ENUM, "glFramebufferTexture3DOES(attachment=0x%x)", attachment);
+ return;
+ }
+ switch(textarget) {
+ case GL_TEXTURE_3D_OES:
+ break;
+ default:
+ _mesa_error(_mesa_get_current_context(), GL_INVALID_OPERATION, "glFramebufferTexture3DOES(textarget=0x%x)", textarget);
+ return;
+ }
+
+ _mesa_FramebufferTexture3DEXT(target, attachment, textarget, texture, level, zoffset);
+}
+
+extern void GL_APIENTRY _mesa_FrontFace(GLenum mode);
+static void GL_APIENTRY _es_FrontFace(GLenum mode)
+{
+ switch(mode) {
+ case GL_CW:
+ case GL_CCW:
+ break;
+ default:
+ _mesa_error(_mesa_get_current_context(), GL_INVALID_ENUM, "glFrontFace(mode=0x%x)", mode);
+ return;
+ }
+
+ _mesa_FrontFace(mode);
+}
+
+extern void GL_APIENTRY _mesa_GenBuffersARB(GLsizei n, GLuint * buffer);
+#define _es_GenBuffers _mesa_GenBuffersARB
+
+extern void GL_APIENTRY _mesa_GenFramebuffersEXT(GLsizei n, GLuint * ids);
+#define _es_GenFramebuffers _mesa_GenFramebuffersEXT
+
+extern void GL_APIENTRY _mesa_GenRenderbuffersEXT(GLsizei n, GLuint * renderbuffers);
+#define _es_GenRenderbuffers _mesa_GenRenderbuffersEXT
+
+extern void GL_APIENTRY _mesa_GenTextures(GLsizei n, GLuint * textures);
+#define _es_GenTextures _mesa_GenTextures
+
+extern void GL_APIENTRY _mesa_GenerateMipmapEXT(GLenum target);
+static void GL_APIENTRY _es_GenerateMipmap(GLenum target)
+{
+ switch(target) {
+ case GL_TEXTURE_2D:
+ case GL_TEXTURE_CUBE_MAP:
+ case GL_TEXTURE_3D_OES:
+ break;
+ default:
+ _mesa_error(_mesa_get_current_context(), GL_INVALID_ENUM, "glGenerateMipmap(target=0x%x)", target);
+ return;
+ }
+
+ _mesa_GenerateMipmapEXT(target);
+}
+
+extern void GL_APIENTRY _mesa_GetActiveAttribARB(GLuint program, GLuint index, GLsizei bufSize, GLsizei * length, GLint * size, GLenum * type, GLchar * name);
+#define _es_GetActiveAttrib _mesa_GetActiveAttribARB
+
+extern void GL_APIENTRY _mesa_GetActiveUniformARB(GLuint program, GLuint index, GLsizei bufSize, GLsizei * length, GLint * size, GLenum * type, GLchar * name);
+#define _es_GetActiveUniform _mesa_GetActiveUniformARB
+
+extern void GL_APIENTRY _mesa_GetAttachedShaders(GLuint program, GLsizei maxCount, GLsizei * count, GLuint * shaders);
+#define _es_GetAttachedShaders _mesa_GetAttachedShaders
+
+extern GLint GL_APIENTRY _mesa_GetAttribLocationARB(GLuint program, const char * name);
+#define _es_GetAttribLocation _mesa_GetAttribLocationARB
+
+extern void GL_APIENTRY _mesa_GetBooleanv(GLenum pname, GLboolean * params);
+#define _es_GetBooleanv _mesa_GetBooleanv
+
+extern void GL_APIENTRY _mesa_GetBufferParameterivARB(GLenum target, GLenum pname, GLint * params);
+static void GL_APIENTRY _es_GetBufferParameteriv(GLenum target, GLenum pname, GLint *params)
+{
+ switch(target) {
+ case GL_ARRAY_BUFFER:
+ case GL_ELEMENT_ARRAY_BUFFER:
+ break;
+ default:
+ _mesa_error(_mesa_get_current_context(), GL_INVALID_ENUM, "glGetBufferParameteriv(target=0x%x)", target);
+ return;
+ }
+ switch(pname) {
+ case GL_BUFFER_SIZE:
+ case GL_BUFFER_USAGE:
+ case GL_BUFFER_ACCESS_OES:
+ case GL_BUFFER_MAPPED_OES:
+ break;
+ default:
+ _mesa_error(_mesa_get_current_context(), GL_INVALID_ENUM, "glGetBufferParameteriv(pname=0x%x)", pname);
+ return;
+ }
+
+ _mesa_GetBufferParameterivARB(target, pname, params);
+}
+
+extern void GL_APIENTRY _mesa_GetBufferPointervARB(GLenum target, GLenum pname, GLvoid ** params);
+static void GL_APIENTRY _es_GetBufferPointervOES(GLenum target, GLenum pname, GLvoid **params)
+{
+ switch(target) {
+ case GL_ARRAY_BUFFER:
+ case GL_ELEMENT_ARRAY_BUFFER:
+ break;
+ default:
+ _mesa_error(_mesa_get_current_context(), GL_INVALID_ENUM, "glGetBufferPointervOES(target=0x%x)", target);
+ return;
+ }
+ switch(pname) {
+ case GL_BUFFER_MAP_POINTER_OES:
+ break;
+ default:
+ _mesa_error(_mesa_get_current_context(), GL_INVALID_ENUM, "glGetBufferPointervOES(pname=0x%x)", pname);
+ return;
+ }
+
+ _mesa_GetBufferPointervARB(target, pname, params);
+}
+
+extern GLenum GL_APIENTRY _mesa_GetError(void);
+#define _es_GetError _mesa_GetError
+
+extern void GL_APIENTRY _mesa_GetFloatv(GLenum pname, GLfloat * params);
+#define _es_GetFloatv _mesa_GetFloatv
+
+extern void GL_APIENTRY _mesa_GetFramebufferAttachmentParameterivEXT(GLenum target, GLenum attachment, GLenum pname, GLint * params);
+static void GL_APIENTRY _es_GetFramebufferAttachmentParameteriv(GLenum target, GLenum attachment, GLenum pname, GLint *params)
+{
+ switch(target) {
+ case GL_FRAMEBUFFER:
+ break;
+ default:
+ _mesa_error(_mesa_get_current_context(), GL_INVALID_ENUM, "glGetFramebufferAttachmentParameteriv(target=0x%x)", target);
+ return;
+ }
+ switch(pname) {
+ case GL_FRAMEBUFFER_ATTACHMENT_OBJECT_TYPE: /* size 1 */
+ case GL_FRAMEBUFFER_ATTACHMENT_OBJECT_NAME: /* size 1 */
+ case GL_FRAMEBUFFER_ATTACHMENT_TEXTURE_LEVEL: /* size 1 */
+ case GL_FRAMEBUFFER_ATTACHMENT_TEXTURE_CUBE_MAP_FACE: /* size 1 */
+ case GL_FRAMEBUFFER_ATTACHMENT_TEXTURE_3D_ZOFFSET_OES: /* size 1 */
+ break;
+ default:
+ _mesa_error(_mesa_get_current_context(), GL_INVALID_ENUM, "glGetFramebufferAttachmentParameteriv(pname=0x%x)", pname);
+ return;
+ }
+
+ _mesa_GetFramebufferAttachmentParameterivEXT(target, attachment, pname, params);
+}
+
+extern void GL_APIENTRY _mesa_GetIntegerv(GLenum pname, GLint * params);
+#define _es_GetIntegerv _mesa_GetIntegerv
+
+extern void GL_APIENTRY _mesa_GetProgramInfoLog(GLuint program, GLsizei bufSize, GLsizei * length, GLchar * infoLog);
+#define _es_GetProgramInfoLog _mesa_GetProgramInfoLog
+
+extern void GL_APIENTRY _mesa_GetProgramiv(GLuint program, GLenum pname, GLint * params);
+static void GL_APIENTRY _es_GetProgramiv(GLuint program, GLenum pname, GLint *params)
+{
+ switch(pname) {
+ case GL_DELETE_STATUS:
+ case GL_LINK_STATUS:
+ case GL_VALIDATE_STATUS:
+ case GL_INFO_LOG_LENGTH:
+ case GL_ATTACHED_SHADERS:
+ case GL_ACTIVE_ATTRIBUTES:
+ case GL_ACTIVE_ATTRIBUTE_MAX_LENGTH:
+ case GL_ACTIVE_UNIFORMS:
+ case GL_ACTIVE_UNIFORM_MAX_LENGTH:
+ break;
+ default:
+ _mesa_error(_mesa_get_current_context(), GL_INVALID_ENUM, "glGetProgramiv(pname=0x%x)", pname);
+ return;
+ }
+
+ _mesa_GetProgramiv(program, pname, params);
+}
+
+extern void GL_APIENTRY _mesa_GetRenderbufferParameterivEXT(GLenum target, GLenum pname, GLint * params);
+static void GL_APIENTRY _es_GetRenderbufferParameteriv(GLenum target, GLenum pname, GLint *params)
+{
+ switch(target) {
+ case GL_RENDERBUFFER:
+ break;
+ default:
+ _mesa_error(_mesa_get_current_context(), GL_INVALID_ENUM, "glGetRenderbufferParameteriv(target=0x%x)", target);
+ return;
+ }
+ switch(pname) {
+ case GL_RENDERBUFFER_WIDTH: /* size 1 */
+ case GL_RENDERBUFFER_HEIGHT: /* size 1 */
+ case GL_RENDERBUFFER_INTERNAL_FORMAT: /* size 1 */
+ case GL_RENDERBUFFER_RED_SIZE: /* size 1 */
+ case GL_RENDERBUFFER_GREEN_SIZE: /* size 1 */
+ case GL_RENDERBUFFER_BLUE_SIZE: /* size 1 */
+ case GL_RENDERBUFFER_ALPHA_SIZE: /* size 1 */
+ case GL_RENDERBUFFER_DEPTH_SIZE: /* size 1 */
+ case GL_RENDERBUFFER_STENCIL_SIZE: /* size 1 */
+ break;
+ default:
+ _mesa_error(_mesa_get_current_context(), GL_INVALID_ENUM, "glGetRenderbufferParameteriv(pname=0x%x)", pname);
+ return;
+ }
+
+ _mesa_GetRenderbufferParameterivEXT(target, pname, params);
+}
+
+extern void GL_APIENTRY _mesa_GetShaderInfoLog(GLuint shader, GLsizei bufSize, GLsizei * length, GLchar * infoLog);
+#define _es_GetShaderInfoLog _mesa_GetShaderInfoLog
+
+extern void GL_APIENTRY _mesa_GetShaderPrecisionFormat(GLenum shadertype, GLenum precisiontype, GLint * range, GLint * precision);
+static void GL_APIENTRY _es_GetShaderPrecisionFormat(GLenum shadertype, GLenum precisiontype, GLint *range, GLint *precision)
+{
+ switch(shadertype) {
+ case GL_VERTEX_SHADER:
+ case GL_FRAGMENT_SHADER:
+ break;
+ default:
+ _mesa_error(_mesa_get_current_context(), GL_INVALID_ENUM, "glGetShaderPrecisionFormat(shadertype=0x%x)", shadertype);
+ return;
+ }
+ switch(precisiontype) {
+ case GL_LOW_FLOAT:
+ case GL_MEDIUM_FLOAT:
+ case GL_HIGH_FLOAT:
+ case GL_LOW_INT:
+ case GL_MEDIUM_INT:
+ case GL_HIGH_INT:
+ break;
+ default:
+ _mesa_error(_mesa_get_current_context(), GL_INVALID_ENUM, "glGetShaderPrecisionFormat(precisiontype=0x%x)", precisiontype);
+ return;
+ }
+
+ _mesa_GetShaderPrecisionFormat(shadertype, precisiontype, range, precision);
+}
+
+extern void GL_APIENTRY _mesa_GetShaderSourceARB(GLuint shader, GLsizei bufSize, GLsizei * length, GLchar * source);
+#define _es_GetShaderSource _mesa_GetShaderSourceARB
+
+extern void GL_APIENTRY _mesa_GetShaderiv(GLuint shader, GLenum pname, GLint * params);
+static void GL_APIENTRY _es_GetShaderiv(GLuint shader, GLenum pname, GLint *params)
+{
+ switch(pname) {
+ case GL_SHADER_TYPE:
+ case GL_COMPILE_STATUS:
+ case GL_DELETE_STATUS:
+ case GL_INFO_LOG_LENGTH:
+ case GL_SHADER_SOURCE_LENGTH:
+ break;
+ default:
+ _mesa_error(_mesa_get_current_context(), GL_INVALID_ENUM, "glGetShaderiv(pname=0x%x)", pname);
+ return;
+ }
+
+ _mesa_GetShaderiv(shader, pname, params);
+}
+
+extern const GLubyte * GL_APIENTRY _mesa_GetString(GLenum name);
+static const GLubyte * GL_APIENTRY _es_GetString(GLenum name)
+{
+ switch(name) {
+ case GL_VENDOR:
+ case GL_RENDERER:
+ case GL_VERSION:
+ case GL_EXTENSIONS:
+ case GL_SHADING_LANGUAGE_VERSION:
+ break;
+ default:
+ _mesa_error(_mesa_get_current_context(), GL_INVALID_ENUM, "glGetString(name=0x%x)", name);
+ return (const GLubyte *) 0;
+ }
+
+ return _mesa_GetString(name);
+}
+
+extern void GL_APIENTRY _mesa_GetTexParameterfv(GLenum target, GLenum pname, GLfloat * params);
+static void GL_APIENTRY _es_GetTexParameterfv(GLenum target, GLenum pname, GLfloat *params)
+{
+ switch(target) {
+ case GL_TEXTURE_2D:
+ case GL_TEXTURE_CUBE_MAP:
+ case GL_TEXTURE_3D_OES:
+ break;
+ default:
+ _mesa_error(_mesa_get_current_context(), GL_INVALID_ENUM, "glGetTexParameterfv(target=0x%x)", target);
+ return;
+ }
+ switch(pname) {
+ case GL_TEXTURE_WRAP_S: /* size 1 */
+ case GL_TEXTURE_WRAP_T: /* size 1 */
+ case GL_TEXTURE_WRAP_R_OES: /* size 1 */
+ case GL_TEXTURE_MIN_FILTER: /* size 1 */
+ case GL_TEXTURE_MAG_FILTER: /* size 1 */
+ break;
+ default:
+ _mesa_error(_mesa_get_current_context(), GL_INVALID_ENUM, "glGetTexParameterfv(pname=0x%x)", pname);
+ return;
+ }
+
+ _mesa_GetTexParameterfv(target, pname, params);
+}
+
+extern void GL_APIENTRY _mesa_GetTexParameteriv(GLenum target, GLenum pname, GLint * params);
+static void GL_APIENTRY _es_GetTexParameteriv(GLenum target, GLenum pname, GLint *params)
+{
+ switch(target) {
+ case GL_TEXTURE_2D:
+ case GL_TEXTURE_CUBE_MAP:
+ case GL_TEXTURE_3D_OES:
+ break;
+ default:
+ _mesa_error(_mesa_get_current_context(), GL_INVALID_ENUM, "glGetTexParameteriv(target=0x%x)", target);
+ return;
+ }
+ switch(pname) {
+ case GL_TEXTURE_WRAP_S: /* size 1 */
+ case GL_TEXTURE_WRAP_T: /* size 1 */
+ case GL_TEXTURE_WRAP_R_OES: /* size 1 */
+ case GL_TEXTURE_MIN_FILTER: /* size 1 */
+ case GL_TEXTURE_MAG_FILTER: /* size 1 */
+ break;
+ default:
+ _mesa_error(_mesa_get_current_context(), GL_INVALID_ENUM, "glGetTexParameteriv(pname=0x%x)", pname);
+ return;
+ }
+
+ _mesa_GetTexParameteriv(target, pname, params);
+}
+
+extern GLint GL_APIENTRY _mesa_GetUniformLocationARB(GLuint program, const char * name);
+#define _es_GetUniformLocation _mesa_GetUniformLocationARB
+
+extern void GL_APIENTRY _mesa_GetUniformfvARB(GLuint program, GLint location, GLfloat * params);
+#define _es_GetUniformfv _mesa_GetUniformfvARB
+
+extern void GL_APIENTRY _mesa_GetUniformivARB(GLuint program, GLint location, GLint * params);
+#define _es_GetUniformiv _mesa_GetUniformivARB
+
+extern void GL_APIENTRY _mesa_GetVertexAttribPointervARB(GLuint index, GLenum pname, GLvoid ** pointer);
+static void GL_APIENTRY _es_GetVertexAttribPointerv(GLuint index, GLenum pname, GLvoid **pointer)
+{
+ switch(pname) {
+ case GL_VERTEX_ATTRIB_ARRAY_POINTER:
+ break;
+ default:
+ _mesa_error(_mesa_get_current_context(), GL_INVALID_ENUM, "glGetVertexAttribPointerv(pname=0x%x)", pname);
+ return;
+ }
+
+ _mesa_GetVertexAttribPointervARB(index, pname, pointer);
+}
+
+extern void GL_APIENTRY _mesa_GetVertexAttribfvARB(GLuint index, GLenum pname, GLfloat * params);
+static void GL_APIENTRY _es_GetVertexAttribfv(GLuint index, GLenum pname, GLfloat *params)
+{
+ switch(pname) {
+ case GL_VERTEX_ATTRIB_ARRAY_ENABLED: /* size 1 */
+ case GL_VERTEX_ATTRIB_ARRAY_SIZE: /* size 1 */
+ case GL_VERTEX_ATTRIB_ARRAY_STRIDE: /* size 1 */
+ case GL_VERTEX_ATTRIB_ARRAY_TYPE: /* size 1 */
+ case GL_VERTEX_ATTRIB_ARRAY_NORMALIZED: /* size 1 */
+ case GL_VERTEX_ATTRIB_ARRAY_BUFFER_BINDING: /* size 1 */
+ case GL_CURRENT_VERTEX_ATTRIB: /* size 16? */
+ break;
+ default:
+ _mesa_error(_mesa_get_current_context(), GL_INVALID_ENUM, "glGetVertexAttribfv(pname=0x%x)", pname);
+ return;
+ }
+
+ _mesa_GetVertexAttribfvARB(index, pname, params);
+}
+
+extern void GL_APIENTRY _mesa_GetVertexAttribivARB(GLuint index, GLenum pname, GLint * params);
+static void GL_APIENTRY _es_GetVertexAttribiv(GLuint index, GLenum pname, GLint *params)
+{
+ switch(pname) {
+ case GL_VERTEX_ATTRIB_ARRAY_ENABLED: /* size 1 */
+ case GL_VERTEX_ATTRIB_ARRAY_SIZE: /* size 1 */
+ case GL_VERTEX_ATTRIB_ARRAY_STRIDE: /* size 1 */
+ case GL_VERTEX_ATTRIB_ARRAY_TYPE: /* size 1 */
+ case GL_VERTEX_ATTRIB_ARRAY_NORMALIZED: /* size 1 */
+ case GL_VERTEX_ATTRIB_ARRAY_BUFFER_BINDING: /* size 1 */
+ case GL_CURRENT_VERTEX_ATTRIB: /* size 16? */
+ break;
+ default:
+ _mesa_error(_mesa_get_current_context(), GL_INVALID_ENUM, "glGetVertexAttribiv(pname=0x%x)", pname);
+ return;
+ }
+
+ _mesa_GetVertexAttribivARB(index, pname, params);
+}
+
+extern void GL_APIENTRY _mesa_Hint(GLenum target, GLenum mode);
+static void GL_APIENTRY _es_Hint(GLenum target, GLenum mode)
+{
+ switch(target) {
+ case GL_FRAGMENT_SHADER_DERIVATIVE_HINT_OES:
+ case GL_GENERATE_MIPMAP_HINT:
+ break;
+ default:
+ _mesa_error(_mesa_get_current_context(), GL_INVALID_ENUM, "glHint(target=0x%x)", target);
+ return;
+ }
+ switch(mode) {
+ case GL_FASTEST:
+ case GL_NICEST:
+ case GL_DONT_CARE:
+ break;
+ default:
+ _mesa_error(_mesa_get_current_context(), GL_INVALID_ENUM, "glHint(mode=0x%x)", mode);
+ return;
+ }
+
+ _mesa_Hint(target, mode);
+}
+
+extern GLboolean GL_APIENTRY _mesa_IsBufferARB(GLuint buffer);
+#define _es_IsBuffer _mesa_IsBufferARB
+
+extern GLboolean GL_APIENTRY _mesa_IsEnabled(GLenum cap);
+static GLboolean GL_APIENTRY _es_IsEnabled(GLenum cap)
+{
+ switch(cap) {
+ case GL_CULL_FACE:
+ case GL_SCISSOR_TEST:
+ case GL_POLYGON_OFFSET_FILL:
+ case GL_SAMPLE_ALPHA_TO_COVERAGE:
+ case GL_SAMPLE_COVERAGE:
+ case GL_STENCIL_TEST:
+ case GL_DEPTH_TEST:
+ case GL_DITHER:
+ case GL_BLEND:
+ break;
+ default:
+ _mesa_error(_mesa_get_current_context(), GL_INVALID_ENUM, "glIsEnabled(cap=0x%x)", cap);
+ return GL_FALSE;
+ }
+
+ return _mesa_IsEnabled(cap);
+}
+
+extern GLboolean GL_APIENTRY _mesa_IsFramebufferEXT(GLuint framebuffer);
+#define _es_IsFramebuffer _mesa_IsFramebufferEXT
+
+extern GLboolean GL_APIENTRY _mesa_IsProgram(GLuint program);
+#define _es_IsProgram _mesa_IsProgram
+
+extern GLboolean GL_APIENTRY _mesa_IsRenderbufferEXT(GLuint renderbuffer);
+#define _es_IsRenderbuffer _mesa_IsRenderbufferEXT
+
+extern GLboolean GL_APIENTRY _mesa_IsShader(GLuint shader);
+#define _es_IsShader _mesa_IsShader
+
+extern GLboolean GL_APIENTRY _mesa_IsTexture(GLuint texture);
+#define _es_IsTexture _mesa_IsTexture
+
+extern void GL_APIENTRY _mesa_LineWidth(GLfloat width);
+#define _es_LineWidth _mesa_LineWidth
+
+extern void GL_APIENTRY _mesa_LinkProgramARB(GLuint program);
+#define _es_LinkProgram _mesa_LinkProgramARB
+
+extern void * GL_APIENTRY _mesa_MapBufferARB(GLenum target, GLenum access);
+static void * GL_APIENTRY _es_MapBufferOES(GLenum target, GLenum access)
+{
+ switch(target) {
+ case GL_ARRAY_BUFFER:
+ case GL_ELEMENT_ARRAY_BUFFER:
+ break;
+ default:
+ _mesa_error(_mesa_get_current_context(), GL_INVALID_ENUM, "glMapBufferOES(target=0x%x)", target);
+ return (void *) 0;
+ }
+ switch(access) {
+ case GL_WRITE_ONLY_OES:
+ break;
+ default:
+ _mesa_error(_mesa_get_current_context(), GL_INVALID_ENUM, "glMapBufferOES(access=0x%x)", access);
+ return (void *) 0;
+ }
+
+ return _mesa_MapBufferARB(target, access);
+}
+
+extern void GL_APIENTRY _mesa_MultiDrawArraysEXT(GLenum mode, const GLint * first, const GLsizei * count, GLsizei primcount);
+static void GL_APIENTRY _es_MultiDrawArraysEXT(GLenum mode, const GLint *first, const GLsizei *count, GLsizei primcount)
+{
+ switch(mode) {
+ case GL_POINTS:
+ case GL_LINES:
+ case GL_LINE_LOOP:
+ case GL_LINE_STRIP:
+ case GL_TRIANGLES:
+ case GL_TRIANGLE_STRIP:
+ case GL_TRIANGLE_FAN:
+ break;
+ default:
+ _mesa_error(_mesa_get_current_context(), GL_INVALID_ENUM, "glMultiDrawArraysEXT(mode=0x%x)", mode);
+ return;
+ }
+
+ _mesa_MultiDrawArraysEXT(mode, first, count, primcount);
+}
+
+extern void GL_APIENTRY _mesa_MultiDrawElementsEXT(GLenum mode, const GLsizei * count, GLenum type, const GLvoid ** indices, GLsizei primcount);
+static void GL_APIENTRY _es_MultiDrawElementsEXT(GLenum mode, const GLsizei *count, GLenum type, const GLvoid **indices, GLsizei primcount)
+{
+ switch(mode) {
+ case GL_POINTS:
+ case GL_LINES:
+ case GL_LINE_LOOP:
+ case GL_LINE_STRIP:
+ case GL_TRIANGLES:
+ case GL_TRIANGLE_STRIP:
+ case GL_TRIANGLE_FAN:
+ break;
+ default:
+ _mesa_error(_mesa_get_current_context(), GL_INVALID_ENUM, "glMultiDrawElementsEXT(mode=0x%x)", mode);
+ return;
+ }
+ switch(type) {
+ case GL_UNSIGNED_BYTE:
+ case GL_UNSIGNED_SHORT:
+ case GL_UNSIGNED_INT:
+ break;
+ default:
+ _mesa_error(_mesa_get_current_context(), GL_INVALID_ENUM, "glMultiDrawElementsEXT(type=0x%x)", type);
+ return;
+ }
+
+ _mesa_MultiDrawElementsEXT(mode, count, type, indices, primcount);
+}
+
+extern void GL_APIENTRY _mesa_PixelStorei(GLenum pname, GLint param);
+static void GL_APIENTRY _es_PixelStorei(GLenum pname, GLint param)
+{
+ switch(pname) {
+ case GL_PACK_ALIGNMENT:
+ case GL_UNPACK_ALIGNMENT:
+ break;
+ default:
+ _mesa_error(_mesa_get_current_context(), GL_INVALID_ENUM, "glPixelStorei(pname=0x%x)", pname);
+ return;
+ }
+ switch(param) {
+ case 1:
+ case 2:
+ case 4:
+ case 8:
+ break;
+ default:
+ _mesa_error(_mesa_get_current_context(), GL_INVALID_VALUE, "glPixelStorei(param=%d)", param);
+ return;
+ }
+
+ _mesa_PixelStorei(pname, param);
+}
+
+extern void GL_APIENTRY _mesa_PolygonOffset(GLfloat factor, GLfloat units);
+#define _es_PolygonOffset _mesa_PolygonOffset
+
+extern void GL_APIENTRY _mesa_ReadPixels(GLint x, GLint y, GLsizei width, GLsizei height, GLenum format, GLenum type, GLvoid * pixels);
+static void GL_APIENTRY _es_ReadPixels(GLint x, GLint y, GLsizei width, GLsizei height, GLenum format, GLenum type, GLvoid *pixels)
+{
+ switch(format) {
+ case GL_ALPHA:
+ if (type != GL_UNSIGNED_BYTE) {
+ _mesa_error(_mesa_get_current_context(), GL_INVALID_OPERATION, "glReadPixels(format=0x%x)", format);
+ return;
+ }
+ break;
+ case GL_RGB:
+ if (type != GL_UNSIGNED_BYTE && type != GL_UNSIGNED_SHORT_5_6_5) {
+ _mesa_error(_mesa_get_current_context(), GL_INVALID_OPERATION, "glReadPixels(format=0x%x)", format);
+ return;
+ }
+ break;
+ case GL_RGBA:
+ if (type != GL_UNSIGNED_BYTE && type != GL_UNSIGNED_SHORT_4_4_4_4 && type != GL_UNSIGNED_SHORT_5_5_5_1) {
+ _mesa_error(_mesa_get_current_context(), GL_INVALID_OPERATION, "glReadPixels(format=0x%x)", format);
+ return;
+ }
+ break;
+ case GL_LUMINANCE:
+ case GL_LUMINANCE_ALPHA:
+ if (type != GL_UNSIGNED_BYTE) {
+ _mesa_error(_mesa_get_current_context(), GL_INVALID_OPERATION, "glReadPixels(format=0x%x)", format);
+ return;
+ }
+ break;
+ default:
+ _mesa_error(_mesa_get_current_context(), GL_INVALID_OPERATION, "glReadPixels(format=0x%x)", format);
+ return;
+ }
+
+ _mesa_ReadPixels(x, y, width, height, format, type, pixels);
+}
+
+extern void GL_APIENTRY _mesa_ReleaseShaderCompiler(void);
+#define _es_ReleaseShaderCompiler _mesa_ReleaseShaderCompiler
+
+/* this function is special and is defined elsewhere */
+extern void GL_APIENTRY _es_RenderbufferStorageEXT(GLenum target, GLenum internalFormat, GLsizei width, GLsizei height);
+static void GL_APIENTRY _check_RenderbufferStorage(GLenum target, GLenum internalFormat, GLsizei width, GLsizei height)
+{
+ switch(target) {
+ case GL_RENDERBUFFER:
+ break;
+ default:
+ _mesa_error(_mesa_get_current_context(), GL_INVALID_ENUM, "glRenderbufferStorage(target=0x%x)", target);
+ return;
+ }
+ switch(internalFormat) {
+ case GL_DEPTH_COMPONENT16:
+ case GL_RGBA4:
+ case GL_RGB5_A1:
+ case GL_RGB565:
+ case GL_STENCIL_INDEX8:
+ case GL_DEPTH_COMPONENT24_OES:
+ case GL_DEPTH_COMPONENT32_OES:
+ case GL_RGB8_OES:
+ case GL_RGBA8_OES:
+ case GL_STENCIL_INDEX1_OES:
+ case GL_STENCIL_INDEX4_OES:
+ case GL_DEPTH24_STENCIL8_OES:
+ break;
+ default:
+ _mesa_error(_mesa_get_current_context(), GL_INVALID_ENUM, "glRenderbufferStorage(internalFormat=0x%x)", internalFormat);
+ return;
+ }
+
+ _es_RenderbufferStorageEXT(target, internalFormat, width, height);
+}
+
+extern void GL_APIENTRY _mesa_SampleCoverageARB(GLclampf value, GLboolean invert);
+#define _es_SampleCoverage _mesa_SampleCoverageARB
+
+extern void GL_APIENTRY _mesa_Scissor(GLint x, GLint y, GLsizei width, GLsizei height);
+#define _es_Scissor _mesa_Scissor
+
+extern void GL_APIENTRY _mesa_ShaderBinary(GLsizei n, const GLuint * shaders, GLenum binaryformat, const GLvoid * binary, GLsizei length);
+#define _es_ShaderBinary _mesa_ShaderBinary
+
+extern void GL_APIENTRY _mesa_ShaderSourceARB(GLuint shader, GLsizei count, const GLchar ** string, const int * length);
+#define _es_ShaderSource _mesa_ShaderSourceARB
+
+extern void GL_APIENTRY _mesa_StencilFunc(GLenum func, GLint ref, GLuint mask);
+static void GL_APIENTRY _es_StencilFunc(GLenum func, GLint ref, GLuint mask)
+{
+ switch(func) {
+ case GL_NEVER:
+ case GL_LESS:
+ case GL_LEQUAL:
+ case GL_GREATER:
+ case GL_GEQUAL:
+ case GL_EQUAL:
+ case GL_NOTEQUAL:
+ case GL_ALWAYS:
+ break;
+ default:
+ _mesa_error(_mesa_get_current_context(), GL_INVALID_ENUM, "glStencilFunc(func=0x%x)", func);
+ return;
+ }
+
+ _mesa_StencilFunc(func, ref, mask);
+}
+
+extern void GL_APIENTRY _mesa_StencilFuncSeparate(GLenum face, GLenum func, GLint ref, GLuint mask);
+static void GL_APIENTRY _es_StencilFuncSeparate(GLenum face, GLenum func, GLint ref, GLuint mask)
+{
+ switch(face) {
+ case GL_FRONT:
+ case GL_BACK:
+ case GL_FRONT_AND_BACK:
+ break;
+ default:
+ _mesa_error(_mesa_get_current_context(), GL_INVALID_ENUM, "glStencilFuncSeparate(face=0x%x)", face);
+ return;
+ }
+ switch(func) {
+ case GL_NEVER:
+ case GL_LESS:
+ case GL_LEQUAL:
+ case GL_GREATER:
+ case GL_GEQUAL:
+ case GL_EQUAL:
+ case GL_NOTEQUAL:
+ case GL_ALWAYS:
+ break;
+ default:
+ _mesa_error(_mesa_get_current_context(), GL_INVALID_ENUM, "glStencilFuncSeparate(func=0x%x)", func);
+ return;
+ }
+
+ _mesa_StencilFuncSeparate(face, func, ref, mask);
+}
+
+extern void GL_APIENTRY _mesa_StencilMask(GLuint mask);
+#define _es_StencilMask _mesa_StencilMask
+
+extern void GL_APIENTRY _mesa_StencilMaskSeparate(GLenum face, GLuint mask);
+static void GL_APIENTRY _es_StencilMaskSeparate(GLenum face, GLuint mask)
+{
+ switch(face) {
+ case GL_FRONT:
+ case GL_BACK:
+ case GL_FRONT_AND_BACK:
+ break;
+ default:
+ _mesa_error(_mesa_get_current_context(), GL_INVALID_ENUM, "glStencilMaskSeparate(face=0x%x)", face);
+ return;
+ }
+
+ _mesa_StencilMaskSeparate(face, mask);
+}
+
+extern void GL_APIENTRY _mesa_StencilOp(GLenum fail, GLenum zfail, GLenum zpass);
+static void GL_APIENTRY _es_StencilOp(GLenum fail, GLenum zfail, GLenum zpass)
+{
+ switch(fail) {
+ case GL_KEEP:
+ case GL_ZERO:
+ case GL_REPLACE:
+ case GL_INCR:
+ case GL_DECR:
+ case GL_INVERT:
+ case GL_INCR_WRAP:
+ case GL_DECR_WRAP:
+ break;
+ default:
+ _mesa_error(_mesa_get_current_context(), GL_INVALID_ENUM, "glStencilOp(fail=0x%x)", fail);
+ return;
+ }
+ switch(zfail) {
+ case GL_KEEP:
+ case GL_ZERO:
+ case GL_REPLACE:
+ case GL_INCR:
+ case GL_DECR:
+ case GL_INVERT:
+ case GL_INCR_WRAP:
+ case GL_DECR_WRAP:
+ break;
+ default:
+ _mesa_error(_mesa_get_current_context(), GL_INVALID_ENUM, "glStencilOp(zfail=0x%x)", zfail);
+ return;
+ }
+ switch(zpass) {
+ case GL_KEEP:
+ case GL_ZERO:
+ case GL_REPLACE:
+ case GL_INCR:
+ case GL_DECR:
+ case GL_INVERT:
+ case GL_INCR_WRAP:
+ case GL_DECR_WRAP:
+ break;
+ default:
+ _mesa_error(_mesa_get_current_context(), GL_INVALID_ENUM, "glStencilOp(zpass=0x%x)", zpass);
+ return;
+ }
+
+ _mesa_StencilOp(fail, zfail, zpass);
+}
+
+extern void GL_APIENTRY _mesa_StencilOpSeparate(GLenum face, GLenum fail, GLenum zfail, GLenum zpass);
+static void GL_APIENTRY _es_StencilOpSeparate(GLenum face, GLenum fail, GLenum zfail, GLenum zpass)
+{
+ switch(face) {
+ case GL_FRONT:
+ case GL_BACK:
+ case GL_FRONT_AND_BACK:
+ break;
+ default:
+ _mesa_error(_mesa_get_current_context(), GL_INVALID_ENUM, "glStencilOpSeparate(face=0x%x)", face);
+ return;
+ }
+ switch(fail) {
+ case GL_KEEP:
+ case GL_ZERO:
+ case GL_REPLACE:
+ case GL_INCR:
+ case GL_DECR:
+ case GL_INVERT:
+ case GL_INCR_WRAP:
+ case GL_DECR_WRAP:
+ break;
+ default:
+ _mesa_error(_mesa_get_current_context(), GL_INVALID_ENUM, "glStencilOpSeparate(fail=0x%x)", fail);
+ return;
+ }
+ switch(zfail) {
+ case GL_KEEP:
+ case GL_ZERO:
+ case GL_REPLACE:
+ case GL_INCR:
+ case GL_DECR:
+ case GL_INVERT:
+ case GL_INCR_WRAP:
+ case GL_DECR_WRAP:
+ break;
+ default:
+ _mesa_error(_mesa_get_current_context(), GL_INVALID_ENUM, "glStencilOpSeparate(zfail=0x%x)", zfail);
+ return;
+ }
+ switch(zpass) {
+ case GL_KEEP:
+ case GL_ZERO:
+ case GL_REPLACE:
+ case GL_INCR:
+ case GL_DECR:
+ case GL_INVERT:
+ case GL_INCR_WRAP:
+ case GL_DECR_WRAP:
+ break;
+ default:
+ _mesa_error(_mesa_get_current_context(), GL_INVALID_ENUM, "glStencilOpSeparate(zpass=0x%x)", zpass);
+ return;
+ }
+
+ _mesa_StencilOpSeparate(face, fail, zfail, zpass);
+}
+
+extern void GL_APIENTRY _mesa_TexImage2D(GLenum target, GLint level, GLint internalFormat, GLsizei width, GLsizei height, GLint border, GLenum format, GLenum type, const GLvoid * pixels);
+static void GL_APIENTRY _es_TexImage2D(GLenum target, GLint level, GLint internalFormat, GLsizei width, GLsizei height, GLint border, GLenum format, GLenum type, const GLvoid *pixels)
+{
+ switch(target) {
+ case GL_TEXTURE_2D:
+ case GL_TEXTURE_CUBE_MAP_POSITIVE_X:
+ case GL_TEXTURE_CUBE_MAP_POSITIVE_Y:
+ case GL_TEXTURE_CUBE_MAP_POSITIVE_Z:
+ case GL_TEXTURE_CUBE_MAP_NEGATIVE_X:
+ case GL_TEXTURE_CUBE_MAP_NEGATIVE_Y:
+ case GL_TEXTURE_CUBE_MAP_NEGATIVE_Z:
+ break;
+ default:
+ _mesa_error(_mesa_get_current_context(), GL_INVALID_ENUM, "glTexImage2D(target=0x%x)", target);
+ return;
+ }
+ switch(internalFormat) {
+ case GL_ALPHA:
+ case GL_RGB:
+ case GL_RGBA:
+ case GL_LUMINANCE:
+ case GL_LUMINANCE_ALPHA:
+ case GL_DEPTH_COMPONENT:
+ case GL_DEPTH_STENCIL_OES:
+ break;
+ default:
+ _mesa_error(_mesa_get_current_context(), GL_INVALID_VALUE, "glTexImage2D(internalFormat=%d)", internalFormat);
+ return;
+ }
+ switch(border) {
+ case 0:
+ break;
+ default:
+ _mesa_error(_mesa_get_current_context(), GL_INVALID_VALUE, "glTexImage2D(border=%d)", border);
+ return;
+ }
+ switch(format) {
+ case GL_ALPHA:
+ if (type != GL_UNSIGNED_BYTE) {
+ _mesa_error(_mesa_get_current_context(), GL_INVALID_OPERATION, "glTexImage2D(format=0x%x)", format);
+ return;
+ }
+ break;
+ case GL_RGB:
+ if (type != GL_UNSIGNED_BYTE && type != GL_UNSIGNED_SHORT_5_6_5) {
+ _mesa_error(_mesa_get_current_context(), GL_INVALID_OPERATION, "glTexImage2D(format=0x%x)", format);
+ return;
+ }
+ break;
+ case GL_RGBA:
+ if (type != GL_UNSIGNED_BYTE && type != GL_UNSIGNED_SHORT_4_4_4_4 && type != GL_UNSIGNED_SHORT_5_5_5_1 && type != GL_UNSIGNED_INT_2_10_10_10_REV_EXT) {
+ _mesa_error(_mesa_get_current_context(), GL_INVALID_OPERATION, "glTexImage2D(format=0x%x)", format);
+ return;
+ }
+ break;
+ case GL_LUMINANCE:
+ case GL_LUMINANCE_ALPHA:
+ if (type != GL_UNSIGNED_BYTE) {
+ _mesa_error(_mesa_get_current_context(), GL_INVALID_OPERATION, "glTexImage2D(format=0x%x)", format);
+ return;
+ }
+ break;
+ case GL_DEPTH_COMPONENT:
+ if (type != GL_UNSIGNED_SHORT && type != GL_UNSIGNED_INT) {
+ _mesa_error(_mesa_get_current_context(), GL_INVALID_OPERATION, "glTexImage2D(format=0x%x)", format);
+ return;
+ }
+ break;
+ case GL_DEPTH_STENCIL_OES:
+ if (type != GL_UNSIGNED_INT_24_8_OES) {
+ _mesa_error(_mesa_get_current_context(), GL_INVALID_OPERATION, "glTexImage2D(format=0x%x)", format);
+ return;
+ }
+ break;
+ default:
+ _mesa_error(_mesa_get_current_context(), GL_INVALID_OPERATION, "glTexImage2D(format=0x%x)", format);
+ return;
+ }
+
+ _mesa_TexImage2D(target, level, internalFormat, width, height, border, format, type, pixels);
+}
+
+extern void GL_APIENTRY _mesa_TexImage3D(GLenum target, GLint level, GLenum internalFormat, GLsizei width, GLsizei height, GLsizei depth, GLint border, GLenum format, GLenum type, const GLvoid * pixels);
+static void GL_APIENTRY _es_TexImage3DOES(GLenum target, GLint level, GLenum internalFormat, GLsizei width, GLsizei height, GLsizei depth, GLint border, GLenum format, GLenum type, const GLvoid *pixels)
+{
+ switch(target) {
+ case GL_TEXTURE_3D_OES:
+ break;
+ default:
+ _mesa_error(_mesa_get_current_context(), GL_INVALID_ENUM, "glTexImage3DOES(target=0x%x)", target);
+ return;
+ }
+ switch(internalFormat) {
+ case GL_ALPHA:
+ case GL_RGB:
+ case GL_RGBA:
+ case GL_LUMINANCE:
+ case GL_LUMINANCE_ALPHA:
+ break;
+ default:
+ _mesa_error(_mesa_get_current_context(), GL_INVALID_ENUM, "glTexImage3DOES(internalFormat=0x%x)", internalFormat);
+ return;
+ }
+ switch(format) {
+ case GL_ALPHA:
+ if (type != GL_UNSIGNED_BYTE) {
+ _mesa_error(_mesa_get_current_context(), GL_INVALID_OPERATION, "glTexImage3DOES(format=0x%x)", format);
+ return;
+ }
+ break;
+ case GL_RGB:
+ if (type != GL_UNSIGNED_BYTE && type != GL_UNSIGNED_SHORT_5_6_5) {
+ _mesa_error(_mesa_get_current_context(), GL_INVALID_OPERATION, "glTexImage3DOES(format=0x%x)", format);
+ return;
+ }
+ break;
+ case GL_RGBA:
+ if (type != GL_UNSIGNED_BYTE && type != GL_UNSIGNED_SHORT_4_4_4_4 && type != GL_UNSIGNED_SHORT_5_5_5_1 && type != GL_UNSIGNED_INT_2_10_10_10_REV_EXT) {
+ _mesa_error(_mesa_get_current_context(), GL_INVALID_OPERATION, "glTexImage3DOES(format=0x%x)", format);
+ return;
+ }
+ break;
+ case GL_LUMINANCE:
+ case GL_LUMINANCE_ALPHA:
+ if (type != GL_UNSIGNED_BYTE) {
+ _mesa_error(_mesa_get_current_context(), GL_INVALID_OPERATION, "glTexImage3DOES(format=0x%x)", format);
+ return;
+ }
+ break;
+ default:
+ _mesa_error(_mesa_get_current_context(), GL_INVALID_OPERATION, "glTexImage3DOES(format=0x%x)", format);
+ return;
+ }
+
+ _mesa_TexImage3D(target, level, internalFormat, width, height, depth, border, format, type, pixels);
+}
+
+extern void GL_APIENTRY _mesa_TexParameterf(GLenum target, GLenum pname, GLfloat param);
+static void GL_APIENTRY _es_TexParameterf(GLenum target, GLenum pname, GLfloat param)
+{
+ switch(target) {
+ case GL_TEXTURE_2D:
+ case GL_TEXTURE_CUBE_MAP:
+ case GL_TEXTURE_3D_OES:
+ break;
+ default:
+ _mesa_error(_mesa_get_current_context(), GL_INVALID_ENUM, "glTexParameterf(target=0x%x)", target);
+ return;
+ }
+ switch(pname) {
+ case GL_TEXTURE_WRAP_S:
+ case GL_TEXTURE_WRAP_T:
+ case GL_TEXTURE_WRAP_R_OES:
+ if (param != GL_CLAMP_TO_EDGE && param != GL_REPEAT && param != GL_MIRRORED_REPEAT) {
+ _mesa_error(_mesa_get_current_context(), GL_INVALID_ENUM, "glTexParameterf(pname=0x%x)", pname);
+ return;
+ }
+ break;
+ case GL_TEXTURE_MIN_FILTER:
+ if (param != GL_NEAREST && param != GL_LINEAR && param != GL_NEAREST_MIPMAP_NEAREST && param != GL_NEAREST_MIPMAP_LINEAR && param != GL_LINEAR_MIPMAP_NEAREST && param != GL_LINEAR_MIPMAP_LINEAR) {
+ _mesa_error(_mesa_get_current_context(), GL_INVALID_ENUM, "glTexParameterf(pname=0x%x)", pname);
+ return;
+ }
+ break;
+ case GL_TEXTURE_MAG_FILTER:
+ if (param != GL_NEAREST && param != GL_LINEAR) {
+ _mesa_error(_mesa_get_current_context(), GL_INVALID_ENUM, "glTexParameterf(pname=0x%x)", pname);
+ return;
+ }
+ break;
+ case GL_TEXTURE_MAX_ANISOTROPY_EXT:
+ break;
+ default:
+ _mesa_error(_mesa_get_current_context(), GL_INVALID_ENUM, "glTexParameterf(pname=0x%x)", pname);
+ return;
+ }
+
+ _mesa_TexParameterf(target, pname, param);
+}
+
+extern void GL_APIENTRY _mesa_TexParameterfv(GLenum target, GLenum pname, const GLfloat * params);
+static void GL_APIENTRY _es_TexParameterfv(GLenum target, GLenum pname, const GLfloat *params)
+{
+ switch(target) {
+ case GL_TEXTURE_2D:
+ case GL_TEXTURE_CUBE_MAP:
+ case GL_TEXTURE_3D_OES:
+ break;
+ default:
+ _mesa_error(_mesa_get_current_context(), GL_INVALID_ENUM, "glTexParameterfv(target=0x%x)", target);
+ return;
+ }
+ switch(pname) {
+ case GL_TEXTURE_WRAP_S: /* size 1 */
+ case GL_TEXTURE_WRAP_T: /* size 1 */
+ case GL_TEXTURE_WRAP_R_OES: /* size 1 */
+ if (params[0] != GL_CLAMP_TO_EDGE && params[0] != GL_REPEAT && params[0] != GL_MIRRORED_REPEAT) {
+ _mesa_error(_mesa_get_current_context(), GL_INVALID_ENUM, "glTexParameterfv(pname=0x%x)", pname);
+ return;
+ }
+ break;
+ case GL_TEXTURE_MIN_FILTER: /* size 1 */
+ if (params[0] != GL_NEAREST && params[0] != GL_LINEAR && params[0] != GL_NEAREST_MIPMAP_NEAREST && params[0] != GL_NEAREST_MIPMAP_LINEAR && params[0] != GL_LINEAR_MIPMAP_NEAREST && params[0] != GL_LINEAR_MIPMAP_LINEAR) {
+ _mesa_error(_mesa_get_current_context(), GL_INVALID_ENUM, "glTexParameterfv(pname=0x%x)", pname);
+ return;
+ }
+ break;
+ case GL_TEXTURE_MAG_FILTER: /* size 1 */
+ if (params[0] != GL_NEAREST && params[0] != GL_LINEAR) {
+ _mesa_error(_mesa_get_current_context(), GL_INVALID_ENUM, "glTexParameterfv(pname=0x%x)", pname);
+ return;
+ }
+ break;
+ case GL_TEXTURE_MAX_ANISOTROPY_EXT: /* size 1 */
+ break;
+ default:
+ _mesa_error(_mesa_get_current_context(), GL_INVALID_ENUM, "glTexParameterfv(pname=0x%x)", pname);
+ return;
+ }
+
+ _mesa_TexParameterfv(target, pname, params);
+}
+
+extern void GL_APIENTRY _mesa_TexParameteri(GLenum target, GLenum pname, GLint param);
+static void GL_APIENTRY _es_TexParameteri(GLenum target, GLenum pname, GLint param)
+{
+ switch(target) {
+ case GL_TEXTURE_2D:
+ case GL_TEXTURE_CUBE_MAP:
+ case GL_TEXTURE_3D_OES:
+ break;
+ default:
+ _mesa_error(_mesa_get_current_context(), GL_INVALID_ENUM, "glTexParameteri(target=0x%x)", target);
+ return;
+ }
+ switch(pname) {
+ case GL_TEXTURE_WRAP_S:
+ case GL_TEXTURE_WRAP_T:
+ case GL_TEXTURE_WRAP_R_OES:
+ if (param != GL_CLAMP_TO_EDGE && param != GL_REPEAT && param != GL_MIRRORED_REPEAT) {
+ _mesa_error(_mesa_get_current_context(), GL_INVALID_ENUM, "glTexParameteri(pname=0x%x)", pname);
+ return;
+ }
+ break;
+ case GL_TEXTURE_MIN_FILTER:
+ if (param != GL_NEAREST && param != GL_LINEAR && param != GL_NEAREST_MIPMAP_NEAREST && param != GL_NEAREST_MIPMAP_LINEAR && param != GL_LINEAR_MIPMAP_NEAREST && param != GL_LINEAR_MIPMAP_LINEAR) {
+ _mesa_error(_mesa_get_current_context(), GL_INVALID_ENUM, "glTexParameteri(pname=0x%x)", pname);
+ return;
+ }
+ break;
+ case GL_TEXTURE_MAG_FILTER:
+ if (param != GL_NEAREST && param != GL_LINEAR) {
+ _mesa_error(_mesa_get_current_context(), GL_INVALID_ENUM, "glTexParameteri(pname=0x%x)", pname);
+ return;
+ }
+ break;
+ case GL_TEXTURE_MAX_ANISOTROPY_EXT:
+ break;
+ default:
+ _mesa_error(_mesa_get_current_context(), GL_INVALID_ENUM, "glTexParameteri(pname=0x%x)", pname);
+ return;
+ }
+
+ _mesa_TexParameteri(target, pname, param);
+}
+
+extern void GL_APIENTRY _mesa_TexParameteriv(GLenum target, GLenum pname, const GLint * params);
+static void GL_APIENTRY _es_TexParameteriv(GLenum target, GLenum pname, const GLint *params)
+{
+ switch(target) {
+ case GL_TEXTURE_2D:
+ case GL_TEXTURE_CUBE_MAP:
+ case GL_TEXTURE_3D_OES:
+ break;
+ default:
+ _mesa_error(_mesa_get_current_context(), GL_INVALID_ENUM, "glTexParameteriv(target=0x%x)", target);
+ return;
+ }
+ switch(pname) {
+ case GL_TEXTURE_WRAP_S: /* size 1 */
+ case GL_TEXTURE_WRAP_T: /* size 1 */
+ case GL_TEXTURE_WRAP_R_OES: /* size 1 */
+ if (params[0] != GL_CLAMP_TO_EDGE && params[0] != GL_REPEAT && params[0] != GL_MIRRORED_REPEAT) {
+ _mesa_error(_mesa_get_current_context(), GL_INVALID_ENUM, "glTexParameteriv(pname=0x%x)", pname);
+ return;
+ }
+ break;
+ case GL_TEXTURE_MIN_FILTER: /* size 1 */
+ if (params[0] != GL_NEAREST && params[0] != GL_LINEAR && params[0] != GL_NEAREST_MIPMAP_NEAREST && params[0] != GL_NEAREST_MIPMAP_LINEAR && params[0] != GL_LINEAR_MIPMAP_NEAREST && params[0] != GL_LINEAR_MIPMAP_LINEAR) {
+ _mesa_error(_mesa_get_current_context(), GL_INVALID_ENUM, "glTexParameteriv(pname=0x%x)", pname);
+ return;
+ }
+ break;
+ case GL_TEXTURE_MAG_FILTER: /* size 1 */
+ if (params[0] != GL_NEAREST && params[0] != GL_LINEAR) {
+ _mesa_error(_mesa_get_current_context(), GL_INVALID_ENUM, "glTexParameteriv(pname=0x%x)", pname);
+ return;
+ }
+ break;
+ case GL_TEXTURE_MAX_ANISOTROPY_EXT: /* size 1 */
+ break;
+ default:
+ _mesa_error(_mesa_get_current_context(), GL_INVALID_ENUM, "glTexParameteriv(pname=0x%x)", pname);
+ return;
+ }
+
+ _mesa_TexParameteriv(target, pname, params);
+}
+
+extern void GL_APIENTRY _mesa_TexSubImage2D(GLenum target, GLint level, GLint xoffset, GLint yoffset, GLsizei width, GLsizei height, GLenum format, GLenum type, const GLvoid * pixels);
+static void GL_APIENTRY _es_TexSubImage2D(GLenum target, GLint level, GLint xoffset, GLint yoffset, GLsizei width, GLsizei height, GLenum format, GLenum type, const GLvoid *pixels)
+{
+ switch(target) {
+ case GL_TEXTURE_2D:
+ case GL_TEXTURE_CUBE_MAP_POSITIVE_X:
+ case GL_TEXTURE_CUBE_MAP_POSITIVE_Y:
+ case GL_TEXTURE_CUBE_MAP_POSITIVE_Z:
+ case GL_TEXTURE_CUBE_MAP_NEGATIVE_X:
+ case GL_TEXTURE_CUBE_MAP_NEGATIVE_Y:
+ case GL_TEXTURE_CUBE_MAP_NEGATIVE_Z:
+ break;
+ default:
+ _mesa_error(_mesa_get_current_context(), GL_INVALID_ENUM, "glTexSubImage2D(target=0x%x)", target);
+ return;
+ }
+ switch(format) {
+ case GL_ALPHA:
+ if (type != GL_UNSIGNED_BYTE) {
+ _mesa_error(_mesa_get_current_context(), GL_INVALID_OPERATION, "glTexSubImage2D(format=0x%x)", format);
+ return;
+ }
+ break;
+ case GL_RGB:
+ if (type != GL_UNSIGNED_BYTE && type != GL_UNSIGNED_SHORT_5_6_5) {
+ _mesa_error(_mesa_get_current_context(), GL_INVALID_OPERATION, "glTexSubImage2D(format=0x%x)", format);
+ return;
+ }
+ break;
+ case GL_RGBA:
+ if (type != GL_UNSIGNED_BYTE && type != GL_UNSIGNED_SHORT_4_4_4_4 && type != GL_UNSIGNED_SHORT_5_5_5_1 && type != GL_UNSIGNED_INT_2_10_10_10_REV_EXT) {
+ _mesa_error(_mesa_get_current_context(), GL_INVALID_OPERATION, "glTexSubImage2D(format=0x%x)", format);
+ return;
+ }
+ break;
+ case GL_LUMINANCE:
+ case GL_LUMINANCE_ALPHA:
+ if (type != GL_UNSIGNED_BYTE) {
+ _mesa_error(_mesa_get_current_context(), GL_INVALID_OPERATION, "glTexSubImage2D(format=0x%x)", format);
+ return;
+ }
+ break;
+ case GL_DEPTH_COMPONENT:
+ if (type != GL_UNSIGNED_SHORT && type != GL_UNSIGNED_INT) {
+ _mesa_error(_mesa_get_current_context(), GL_INVALID_OPERATION, "glTexSubImage2D(format=0x%x)", format);
+ return;
+ }
+ break;
+ case GL_DEPTH_STENCIL_OES:
+ if (type != GL_UNSIGNED_INT_24_8_OES) {
+ _mesa_error(_mesa_get_current_context(), GL_INVALID_OPERATION, "glTexSubImage2D(format=0x%x)", format);
+ return;
+ }
+ break;
+ default:
+ _mesa_error(_mesa_get_current_context(), GL_INVALID_OPERATION, "glTexSubImage2D(format=0x%x)", format);
+ return;
+ }
+
+ _mesa_TexSubImage2D(target, level, xoffset, yoffset, width, height, format, type, pixels);
+}
+
+extern void GL_APIENTRY _mesa_TexSubImage3D(GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLsizei width, GLsizei height, GLsizei depth, GLenum format, GLenum type, const GLvoid * pixels);
+static void GL_APIENTRY _es_TexSubImage3DOES(GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLsizei width, GLsizei height, GLsizei depth, GLenum format, GLenum type, const GLvoid *pixels)
+{
+ switch(target) {
+ case GL_TEXTURE_3D_OES:
+ break;
+ default:
+ _mesa_error(_mesa_get_current_context(), GL_INVALID_ENUM, "glTexSubImage3DOES(target=0x%x)", target);
+ return;
+ }
+ switch(format) {
+ case GL_ALPHA:
+ if (type != GL_UNSIGNED_BYTE) {
+ _mesa_error(_mesa_get_current_context(), GL_INVALID_OPERATION, "glTexSubImage3DOES(format=0x%x)", format);
+ return;
+ }
+ break;
+ case GL_RGB:
+ if (type != GL_UNSIGNED_BYTE && type != GL_UNSIGNED_SHORT_5_6_5) {
+ _mesa_error(_mesa_get_current_context(), GL_INVALID_OPERATION, "glTexSubImage3DOES(format=0x%x)", format);
+ return;
+ }
+ break;
+ case GL_RGBA:
+ if (type != GL_UNSIGNED_BYTE && type != GL_UNSIGNED_SHORT_4_4_4_4 && type != GL_UNSIGNED_SHORT_5_5_5_1 && type != GL_UNSIGNED_INT_2_10_10_10_REV_EXT) {
+ _mesa_error(_mesa_get_current_context(), GL_INVALID_OPERATION, "glTexSubImage3DOES(format=0x%x)", format);
+ return;
+ }
+ break;
+ case GL_LUMINANCE:
+ case GL_LUMINANCE_ALPHA:
+ if (type != GL_UNSIGNED_BYTE) {
+ _mesa_error(_mesa_get_current_context(), GL_INVALID_OPERATION, "glTexSubImage3DOES(format=0x%x)", format);
+ return;
+ }
+ break;
+ default:
+ _mesa_error(_mesa_get_current_context(), GL_INVALID_OPERATION, "glTexSubImage3DOES(format=0x%x)", format);
+ return;
+ }
+
+ _mesa_TexSubImage3D(target, level, xoffset, yoffset, zoffset, width, height, depth, format, type, pixels);
+}
+
+extern void GL_APIENTRY _mesa_Uniform1fARB(GLint location, GLfloat v0);
+#define _es_Uniform1f _mesa_Uniform1fARB
+
+extern void GL_APIENTRY _mesa_Uniform1fvARB(GLint location, GLsizei count, const GLfloat * values);
+#define _es_Uniform1fv _mesa_Uniform1fvARB
+
+extern void GL_APIENTRY _mesa_Uniform1iARB(GLint location, GLint v0);
+#define _es_Uniform1i _mesa_Uniform1iARB
+
+extern void GL_APIENTRY _mesa_Uniform1ivARB(GLint location, GLsizei count, const GLint * values);
+#define _es_Uniform1iv _mesa_Uniform1ivARB
+
+extern void GL_APIENTRY _mesa_Uniform2fARB(GLint location, GLfloat v0, GLfloat v1);
+#define _es_Uniform2f _mesa_Uniform2fARB
+
+extern void GL_APIENTRY _mesa_Uniform2fvARB(GLint location, GLsizei count, const GLfloat * values);
+#define _es_Uniform2fv _mesa_Uniform2fvARB
+
+extern void GL_APIENTRY _mesa_Uniform2iARB(GLint location, GLint v0, GLint v1);
+#define _es_Uniform2i _mesa_Uniform2iARB
+
+extern void GL_APIENTRY _mesa_Uniform2ivARB(GLint location, GLsizei count, const GLint * values);
+#define _es_Uniform2iv _mesa_Uniform2ivARB
+
+extern void GL_APIENTRY _mesa_Uniform3fARB(GLint location, GLfloat v0, GLfloat v1, GLfloat v2);
+#define _es_Uniform3f _mesa_Uniform3fARB
+
+extern void GL_APIENTRY _mesa_Uniform3fvARB(GLint location, GLsizei count, const GLfloat * values);
+#define _es_Uniform3fv _mesa_Uniform3fvARB
+
+extern void GL_APIENTRY _mesa_Uniform3iARB(GLint location, GLint v0, GLint v1, GLint v2);
+#define _es_Uniform3i _mesa_Uniform3iARB
+
+extern void GL_APIENTRY _mesa_Uniform3ivARB(GLint location, GLsizei count, const GLint * values);
+#define _es_Uniform3iv _mesa_Uniform3ivARB
+
+extern void GL_APIENTRY _mesa_Uniform4fARB(GLint location, GLfloat v0, GLfloat v1, GLfloat v2, GLfloat v3);
+#define _es_Uniform4f _mesa_Uniform4fARB
+
+extern void GL_APIENTRY _mesa_Uniform4fvARB(GLint location, GLsizei count, const GLfloat * values);
+#define _es_Uniform4fv _mesa_Uniform4fvARB
+
+extern void GL_APIENTRY _mesa_Uniform4iARB(GLint location, GLint v0, GLint v1, GLint v2, GLint v3);
+#define _es_Uniform4i _mesa_Uniform4iARB
+
+extern void GL_APIENTRY _mesa_Uniform4ivARB(GLint location, GLsizei count, const GLint * values);
+#define _es_Uniform4iv _mesa_Uniform4ivARB
+
+extern void GL_APIENTRY _mesa_UniformMatrix2fvARB(GLint location, GLsizei count, GLboolean transpose, const GLfloat * value);
+#define _es_UniformMatrix2fv _mesa_UniformMatrix2fvARB
+
+extern void GL_APIENTRY _mesa_UniformMatrix3fvARB(GLint location, GLsizei count, GLboolean transpose, const GLfloat * value);
+#define _es_UniformMatrix3fv _mesa_UniformMatrix3fvARB
+
+extern void GL_APIENTRY _mesa_UniformMatrix4fvARB(GLint location, GLsizei count, GLboolean transpose, const GLfloat * value);
+#define _es_UniformMatrix4fv _mesa_UniformMatrix4fvARB
+
+extern GLboolean GL_APIENTRY _mesa_UnmapBufferARB(GLenum target);
+static GLboolean GL_APIENTRY _es_UnmapBufferOES(GLenum target)
+{
+ switch(target) {
+ case GL_ARRAY_BUFFER:
+ case GL_ELEMENT_ARRAY_BUFFER:
+ break;
+ default:
+ _mesa_error(_mesa_get_current_context(), GL_INVALID_ENUM, "glUnmapBufferOES(target=0x%x)", target);
+ return GL_FALSE;
+ }
+
+ return _mesa_UnmapBufferARB(target);
+}
+
+extern void GL_APIENTRY _mesa_UseProgramObjectARB(GLuint program);
+#define _es_UseProgram _mesa_UseProgramObjectARB
+
+extern void GL_APIENTRY _mesa_ValidateProgramARB(GLuint program);
+#define _es_ValidateProgram _mesa_ValidateProgramARB
+
+extern void GL_APIENTRY _vbo_VertexAttrib1f(GLuint index, GLfloat x);
+#define _es_VertexAttrib1f _vbo_VertexAttrib1f
+
+extern void GL_APIENTRY _vbo_VertexAttrib1fv(GLuint index, const GLfloat * v);
+#define _es_VertexAttrib1fv _vbo_VertexAttrib1fv
+
+extern void GL_APIENTRY _vbo_VertexAttrib2f(GLuint index, GLfloat x, GLfloat y);
+#define _es_VertexAttrib2f _vbo_VertexAttrib2f
+
+extern void GL_APIENTRY _vbo_VertexAttrib2fv(GLuint index, const GLfloat * v);
+#define _es_VertexAttrib2fv _vbo_VertexAttrib2fv
+
+extern void GL_APIENTRY _vbo_VertexAttrib3f(GLuint index, GLfloat x, GLfloat y, GLfloat z);
+#define _es_VertexAttrib3f _vbo_VertexAttrib3f
+
+extern void GL_APIENTRY _vbo_VertexAttrib3fv(GLuint index, const GLfloat * v);
+#define _es_VertexAttrib3fv _vbo_VertexAttrib3fv
+
+extern void GL_APIENTRY _vbo_VertexAttrib4f(GLuint index, GLfloat x, GLfloat y, GLfloat z, GLfloat w);
+#define _es_VertexAttrib4f _vbo_VertexAttrib4f
+
+extern void GL_APIENTRY _vbo_VertexAttrib4fv(GLuint index, const GLfloat * v);
+#define _es_VertexAttrib4fv _vbo_VertexAttrib4fv
+
+extern void GL_APIENTRY _mesa_VertexAttribPointerARB(GLuint index, GLint size, GLenum type, GLboolean normalized, GLsizei stride, const GLvoid * pointer);
+static void GL_APIENTRY _es_VertexAttribPointer(GLuint index, GLint size, GLenum type, GLboolean normalized, GLsizei stride, const GLvoid *pointer)
+{
+ switch(size) {
+ case 1:
+ case 2:
+ case 3:
+ case 4:
+ break;
+ default:
+ _mesa_error(_mesa_get_current_context(), GL_INVALID_VALUE, "glVertexAttribPointer(size=%d)", size);
+ return;
+ }
+ switch(type) {
+ case GL_BYTE:
+ case GL_UNSIGNED_BYTE:
+ case GL_SHORT:
+ case GL_UNSIGNED_SHORT:
+ case GL_FLOAT:
+ case GL_FIXED:
+ break;
+ default:
+ _mesa_error(_mesa_get_current_context(), GL_INVALID_VALUE, "glVertexAttribPointer(type=0x%x)", type);
+ return;
+ }
+
+ _mesa_VertexAttribPointerARB(index, size, type, normalized, stride, pointer);
+}
+
+extern void GL_APIENTRY _mesa_Viewport(GLint x, GLint y, GLsizei width, GLsizei height);
+#define _es_Viewport _mesa_Viewport
+
+
+struct _glapi_table *
+_mesa_create_exec_table_es2(void)
+{
+ struct _glapi_table *exec;
+ exec = _mesa_alloc_dispatch_table(sizeof *exec);
+ if (exec == NULL)
+ return NULL;
+
+
+ SET_ActiveTexture(exec, _es_ActiveTexture);
+ SET_AttachShader(exec, _es_AttachShader);
+ SET_BindAttribLocation(exec, _es_BindAttribLocation);
+ SET_BindBuffer(exec, _es_BindBuffer);
+ SET_BindFramebuffer(exec, _es_BindFramebuffer);
+ SET_BindRenderbuffer(exec, _es_BindRenderbuffer);
+ SET_BindTexture(exec, _es_BindTexture);
+ SET_BlendColor(exec, _es_BlendColor);
+ SET_BlendEquation(exec, _es_BlendEquation);
+ SET_BlendEquationSeparate(exec, _es_BlendEquationSeparate);
+ SET_BlendFunc(exec, _es_BlendFunc);
+ SET_BlendFuncSeparate(exec, _es_BlendFuncSeparate);
+ SET_BufferData(exec, _es_BufferData);
+ SET_BufferSubData(exec, _es_BufferSubData);
+ SET_CheckFramebufferStatus(exec, _es_CheckFramebufferStatus);
+ SET_Clear(exec, _es_Clear);
+ SET_ClearColor(exec, _es_ClearColor);
+ SET_ClearDepthf(exec, _es_ClearDepthf);
+ SET_ClearStencil(exec, _es_ClearStencil);
+ SET_ColorMask(exec, _es_ColorMask);
+ SET_CompileShader(exec, _es_CompileShader);
+ SET_CompressedTexImage2D(exec, _es_CompressedTexImage2D);
+ SET_CompressedTexImage3DOES(exec, _es_CompressedTexImage3DOES);
+ SET_CompressedTexSubImage2D(exec, _es_CompressedTexSubImage2D);
+ SET_CompressedTexSubImage3DOES(exec, _es_CompressedTexSubImage3DOES);
+ SET_CopyTexImage2D(exec, _es_CopyTexImage2D);
+ SET_CopyTexSubImage2D(exec, _es_CopyTexSubImage2D);
+ SET_CopyTexSubImage3DOES(exec, _es_CopyTexSubImage3DOES);
+ SET_CreateProgram(exec, _es_CreateProgram);
+ SET_CreateShader(exec, _es_CreateShader);
+ SET_CullFace(exec, _es_CullFace);
+ SET_DeleteBuffers(exec, _es_DeleteBuffers);
+ SET_DeleteFramebuffers(exec, _es_DeleteFramebuffers);
+ SET_DeleteProgram(exec, _es_DeleteProgram);
+ SET_DeleteRenderbuffers(exec, _es_DeleteRenderbuffers);
+ SET_DeleteShader(exec, _es_DeleteShader);
+ SET_DeleteTextures(exec, _es_DeleteTextures);
+ SET_DepthFunc(exec, _es_DepthFunc);
+ SET_DepthMask(exec, _es_DepthMask);
+ SET_DepthRangef(exec, _es_DepthRangef);
+ SET_DetachShader(exec, _es_DetachShader);
+ SET_Disable(exec, _es_Disable);
+ SET_DisableVertexAttribArray(exec, _es_DisableVertexAttribArray);
+ SET_DrawArrays(exec, _es_DrawArrays);
+ SET_DrawElements(exec, _es_DrawElements);
+ SET_EGLImageTargetRenderbufferStorageOES(exec, _es_EGLImageTargetRenderbufferStorageOES);
+ SET_EGLImageTargetTexture2DOES(exec, _es_EGLImageTargetTexture2DOES);
+ SET_Enable(exec, _es_Enable);
+ SET_EnableVertexAttribArray(exec, _es_EnableVertexAttribArray);
+ SET_Finish(exec, _es_Finish);
+ SET_Flush(exec, _es_Flush);
+ SET_FramebufferRenderbuffer(exec, _es_FramebufferRenderbuffer);
+ SET_FramebufferTexture2D(exec, _es_FramebufferTexture2D);
+ SET_FramebufferTexture3DOES(exec, _es_FramebufferTexture3DOES);
+ SET_FrontFace(exec, _es_FrontFace);
+ SET_GenBuffers(exec, _es_GenBuffers);
+ SET_GenFramebuffers(exec, _es_GenFramebuffers);
+ SET_GenRenderbuffers(exec, _es_GenRenderbuffers);
+ SET_GenTextures(exec, _es_GenTextures);
+ SET_GenerateMipmap(exec, _es_GenerateMipmap);
+ SET_GetActiveAttrib(exec, _es_GetActiveAttrib);
+ SET_GetActiveUniform(exec, _es_GetActiveUniform);
+ SET_GetAttachedShaders(exec, _es_GetAttachedShaders);
+ SET_GetAttribLocation(exec, _es_GetAttribLocation);
+ SET_GetBooleanv(exec, _es_GetBooleanv);
+ SET_GetBufferParameteriv(exec, _es_GetBufferParameteriv);
+ SET_GetBufferPointervOES(exec, _es_GetBufferPointervOES);
+ SET_GetError(exec, _es_GetError);
+ SET_GetFloatv(exec, _es_GetFloatv);
+ SET_GetFramebufferAttachmentParameteriv(exec, _es_GetFramebufferAttachmentParameteriv);
+ SET_GetIntegerv(exec, _es_GetIntegerv);
+ SET_GetProgramInfoLog(exec, _es_GetProgramInfoLog);
+ SET_GetProgramiv(exec, _es_GetProgramiv);
+ SET_GetRenderbufferParameteriv(exec, _es_GetRenderbufferParameteriv);
+ SET_GetShaderInfoLog(exec, _es_GetShaderInfoLog);
+ SET_GetShaderPrecisionFormat(exec, _es_GetShaderPrecisionFormat);
+ SET_GetShaderSource(exec, _es_GetShaderSource);
+ SET_GetShaderiv(exec, _es_GetShaderiv);
+ SET_GetString(exec, _es_GetString);
+ SET_GetTexParameterfv(exec, _es_GetTexParameterfv);
+ SET_GetTexParameteriv(exec, _es_GetTexParameteriv);
+ SET_GetUniformLocation(exec, _es_GetUniformLocation);
+ SET_GetUniformfv(exec, _es_GetUniformfv);
+ SET_GetUniformiv(exec, _es_GetUniformiv);
+ SET_GetVertexAttribPointerv(exec, _es_GetVertexAttribPointerv);
+ SET_GetVertexAttribfv(exec, _es_GetVertexAttribfv);
+ SET_GetVertexAttribiv(exec, _es_GetVertexAttribiv);
+ SET_Hint(exec, _es_Hint);
+ SET_IsBuffer(exec, _es_IsBuffer);
+ SET_IsEnabled(exec, _es_IsEnabled);
+ SET_IsFramebuffer(exec, _es_IsFramebuffer);
+ SET_IsProgram(exec, _es_IsProgram);
+ SET_IsRenderbuffer(exec, _es_IsRenderbuffer);
+ SET_IsShader(exec, _es_IsShader);
+ SET_IsTexture(exec, _es_IsTexture);
+ SET_LineWidth(exec, _es_LineWidth);
+ SET_LinkProgram(exec, _es_LinkProgram);
+ SET_MapBufferOES(exec, _es_MapBufferOES);
+ SET_MultiDrawArraysEXT(exec, _es_MultiDrawArraysEXT);
+ SET_MultiDrawElementsEXT(exec, _es_MultiDrawElementsEXT);
+ SET_PixelStorei(exec, _es_PixelStorei);
+ SET_PolygonOffset(exec, _es_PolygonOffset);
+ SET_ReadPixels(exec, _es_ReadPixels);
+ SET_ReleaseShaderCompiler(exec, _es_ReleaseShaderCompiler);
+ SET_RenderbufferStorage(exec, _check_RenderbufferStorage);
+ SET_SampleCoverage(exec, _es_SampleCoverage);
+ SET_Scissor(exec, _es_Scissor);
+ SET_ShaderBinary(exec, _es_ShaderBinary);
+ SET_ShaderSource(exec, _es_ShaderSource);
+ SET_StencilFunc(exec, _es_StencilFunc);
+ SET_StencilFuncSeparate(exec, _es_StencilFuncSeparate);
+ SET_StencilMask(exec, _es_StencilMask);
+ SET_StencilMaskSeparate(exec, _es_StencilMaskSeparate);
+ SET_StencilOp(exec, _es_StencilOp);
+ SET_StencilOpSeparate(exec, _es_StencilOpSeparate);
+ SET_TexImage2D(exec, _es_TexImage2D);
+ SET_TexImage3DOES(exec, _es_TexImage3DOES);
+ SET_TexParameterf(exec, _es_TexParameterf);
+ SET_TexParameterfv(exec, _es_TexParameterfv);
+ SET_TexParameteri(exec, _es_TexParameteri);
+ SET_TexParameteriv(exec, _es_TexParameteriv);
+ SET_TexSubImage2D(exec, _es_TexSubImage2D);
+ SET_TexSubImage3DOES(exec, _es_TexSubImage3DOES);
+ SET_Uniform1f(exec, _es_Uniform1f);
+ SET_Uniform1fv(exec, _es_Uniform1fv);
+ SET_Uniform1i(exec, _es_Uniform1i);
+ SET_Uniform1iv(exec, _es_Uniform1iv);
+ SET_Uniform2f(exec, _es_Uniform2f);
+ SET_Uniform2fv(exec, _es_Uniform2fv);
+ SET_Uniform2i(exec, _es_Uniform2i);
+ SET_Uniform2iv(exec, _es_Uniform2iv);
+ SET_Uniform3f(exec, _es_Uniform3f);
+ SET_Uniform3fv(exec, _es_Uniform3fv);
+ SET_Uniform3i(exec, _es_Uniform3i);
+ SET_Uniform3iv(exec, _es_Uniform3iv);
+ SET_Uniform4f(exec, _es_Uniform4f);
+ SET_Uniform4fv(exec, _es_Uniform4fv);
+ SET_Uniform4i(exec, _es_Uniform4i);
+ SET_Uniform4iv(exec, _es_Uniform4iv);
+ SET_UniformMatrix2fv(exec, _es_UniformMatrix2fv);
+ SET_UniformMatrix3fv(exec, _es_UniformMatrix3fv);
+ SET_UniformMatrix4fv(exec, _es_UniformMatrix4fv);
+ SET_UnmapBufferOES(exec, _es_UnmapBufferOES);
+ SET_UseProgram(exec, _es_UseProgram);
+ SET_ValidateProgram(exec, _es_ValidateProgram);
+ SET_VertexAttrib1f(exec, _es_VertexAttrib1f);
+ SET_VertexAttrib1fv(exec, _es_VertexAttrib1fv);
+ SET_VertexAttrib2f(exec, _es_VertexAttrib2f);
+ SET_VertexAttrib2fv(exec, _es_VertexAttrib2fv);
+ SET_VertexAttrib3f(exec, _es_VertexAttrib3f);
+ SET_VertexAttrib3fv(exec, _es_VertexAttrib3fv);
+ SET_VertexAttrib4f(exec, _es_VertexAttrib4f);
+ SET_VertexAttrib4fv(exec, _es_VertexAttrib4fv);
+ SET_VertexAttribPointer(exec, _es_VertexAttribPointer);
+ SET_Viewport(exec, _es_Viewport);
+
+ return exec;
+}
+
+#endif /* FEATURE_ES2 */
diff --git a/lib/libGL/libmesa/shader/slang/library/Makefile b/lib/libGL/libmesa/shader/slang/library/Makefile
deleted file mode 100644
index 3b637c1b9..000000000
--- a/lib/libGL/libmesa/shader/slang/library/Makefile
+++ /dev/null
@@ -1,45 +0,0 @@
-# $OpenBSD: Makefile,v 1.1 2010/05/22 20:14:15 matthieu Exp $
-
-TOP = ${.CURDIR}/../../../../../../dist/Mesa
-
-GLSL_CL = ../../../../glsl/apps/compile
-d = ${TOP}/src/mesa/shader/slang/library
-
-#
-# builtin library sources
-#
-
-BUILTIN = slang_common_builtin_gc.h slang_core_gc.h slang_fragment_builtin_gc.h slang_vertex_builtin_gc.h
-
-BUILTIN += slang_120_core_gc.h slang_builtin_120_common_gc.h slang_builtin_120_fragment_gc.h
-
-
-
-all: ${BUILTIN}
-
-clean:
- rm -f *_gc.h
-
-install:
-
-slang_120_core_gc.h: ${d}/slang_120_core.gc
- $(GLSL_CL) fragment ${d}/slang_120_core.gc slang_120_core_gc.h
-
-slang_builtin_120_common_gc.h: ${d}/slang_builtin_120_common.gc
- $(GLSL_CL) fragment ${d}/slang_builtin_120_common.gc slang_builtin_120_common_gc.h
-
-slang_builtin_120_fragment_gc.h: ${d}/slang_builtin_120_fragment.gc
- $(GLSL_CL) fragment ${d}/slang_builtin_120_fragment.gc slang_builtin_120_fragment_gc.h
-
-slang_common_builtin_gc.h: ${d}/slang_common_builtin.gc
- $(GLSL_CL) fragment ${d}/slang_common_builtin.gc slang_common_builtin_gc.h
-
-slang_core_gc.h: ${d}/slang_core.gc
- $(GLSL_CL) fragment ${d}/slang_core.gc slang_core_gc.h
-
-slang_fragment_builtin_gc.h: ${d}/slang_fragment_builtin.gc
- $(GLSL_CL) fragment ${d}/slang_fragment_builtin.gc slang_fragment_builtin_gc.h
-
-slang_vertex_builtin_gc.h: ${d}/slang_vertex_builtin.gc
- $(GLSL_CL) vertex ${d}/slang_vertex_builtin.gc slang_vertex_builtin_gc.h
-.include <bsd.xorg.mk>
diff --git a/lib/libGL/shlib_version b/lib/libGL/shlib_version
index c10074d52..56246d02b 100644
--- a/lib/libGL/shlib_version
+++ b/lib/libGL/shlib_version
@@ -1,2 +1,2 @@
-major=10
+major=12
minor=0