st/egl: Make api_OpenGL support OpenGL ES.
authorChia-I Wu <olv@lunarg.com>
Wed, 23 Jun 2010 09:45:06 +0000 (17:45 +0800)
committerChia-I Wu <olv@lunarg.com>
Tue, 29 Jun 2010 09:16:19 +0000 (17:16 +0800)
This allows api_OpenGL.so to support OpenGL ES.

src/gallium/targets/egl-apis/Makefile
src/gallium/targets/egl-apis/api_GL.c
src/gallium/targets/egl-apis/api_GLESv1_CM.c
src/gallium/targets/egl-apis/api_GLESv2.c
src/gallium/targets/egl-apis/api_OpenVG.c

index 88915bfc5ec8cdbb064b6e7b28d5c484cf434c0c..1275cc79b245be7065f9f5f22d10f5879f0ab045 100644 (file)
@@ -15,6 +15,12 @@ GLESv1_CM_INCLUDES := $(GL_INCLUDES)
 GLESv2_INCLUDES := $(GL_INCLUDES)
 OpenVG_INCLUDES := -I$(TOP)/src/gallium/state_trackers/vega -I$(TOP)/src/gallium/include
 
+# cflags
+GL_CFLAGS := $(API_DEFINES)
+GLESv1_CM_CFLAGS :=
+GLESv2_CFLAGS :=
+OpenVG_CFLAGS :=
+
 # system libs
 GL_SYS := -lpthread -lm -L$(TOP)/$(LIB_DIR) -l$(GL_LIB)
 GLESv1_CM_SYS := -lpthread -lm -L$(TOP)/$(LIB_DIR) -l$(GLESv1_CM_LIB)
@@ -46,7 +52,7 @@ OpenVG_OBJECTS := api_OpenVG.o
 default: $(OUTPUTS)
 
 api_%.o: api_%.c
-       $(CC) -c -o $@ $< $($*_INCLUDES) $(DEFINES) $(CFLAGS)
+       $(CC) -c -o $@ $< $($*_INCLUDES) $($*_CFLAGS) $(DEFINES) $(CFLAGS)
 
 define mklib
 $(MKLIB) -o $(notdir $@) -noprefix -linker '$(CC)' -ldflags '$(LDFLAGS)' \
index 6d172745c0112f16242d06312a178dee40ca46d2..676300b0cc1558bd1ad227bf069a3a3dffc0d51f 100644 (file)
@@ -1,7 +1,25 @@
 #include "state_tracker/st_gl_api.h"
 
+#if FEATURE_GL
 PUBLIC struct st_api *
-st_api_create_OpenGL()
+st_api_create_OpenGL(void)
 {
    return st_gl_api_create();
 }
+#endif
+
+#if FEATURE_ES1
+PUBLIC struct st_api *
+st_api_create_OpenGL_ES1(void)
+{
+   return st_gl_api_create_es1();
+}
+#endif
+
+#if FEATURE_ES2
+PUBLIC struct st_api *
+st_api_create_OpenGL_ES2(void)
+{
+   return st_gl_api_create_es2();
+}
+#endif
index 825fdac215041eba1716715c15ee875626a5c510..0c8de8992f3603d62022c2ec8d50295175c25a97 100644 (file)
@@ -1,7 +1,7 @@
 #include "state_tracker/st_gl_api.h"
 
 PUBLIC struct st_api *
-st_api_create_OpenGL_ES1()
+st_api_create_OpenGL_ES1(void)
 {
-   return st_gl_api_create();
+   return st_gl_api_create_es1();
 }
index 5c773aaf93b1fe15bc1f73971e2035a92dac7b27..87b3e65e2397a471a7dd86ad510fd5c2b67cb5ff 100644 (file)
@@ -1,8 +1,7 @@
 #include "state_tracker/st_gl_api.h"
 
 PUBLIC struct st_api *
-st_api_create_OpenGL_ES2()
+st_api_create_OpenGL_ES2(void)
 {
-   /* linker magic creates different versions */
-   return st_gl_api_create();
+   return st_gl_api_create_es2();
 }
index f85ebea8a1ca61f094875d0324e80ffa5955e3d8..e29a237479259b132f6c7257a9be6f56c22894de 100644 (file)
@@ -2,7 +2,7 @@
 #include "vg_api.h"
 
 PUBLIC struct st_api *
-st_api_create_OpenVG()
+st_api_create_OpenVG(void)
 {
    return (struct st_api *) vg_api_get();
 }