gallium/egl: st_profiles are build time decision, treat them as such
authorEmil Velikov <emil.l.velikov@gmail.com>
Sat, 10 May 2014 02:41:44 +0000 (03:41 +0100)
committerEmil Velikov <emil.l.velikov@gmail.com>
Sun, 25 May 2014 22:21:46 +0000 (23:21 +0100)
The profiles are present depending on the defines at build time.
Drop the extra functions and feed the defines directly into the
state-tracker at build time.

v2: Drop unused variable i.

Acked-by: Chia-I Wu <olvaffe@gmail.com> (v1)
Signed-off-by: Emil Velikov <emil.l.velikov@gmail.com>
src/gallium/state_trackers/egl/Android.mk
src/gallium/state_trackers/egl/SConscript
src/gallium/state_trackers/egl/common/egl_g3d.c
src/gallium/state_trackers/egl/common/egl_g3d_loader.h
src/gallium/targets/egl-static/Android.mk
src/gallium/targets/egl-static/SConscript
src/gallium/targets/egl-static/egl.c
src/gallium/targets/egl-static/egl_st.c
src/gallium/targets/egl-static/egl_st.h

index b27e14b1f06e4ef3921834fec8c5cc4612ae661c..7c4c93669c11f828cb2ce5c4385865d424d33894 100644 (file)
@@ -32,7 +32,10 @@ LOCAL_SRC_FILES := \
        $(common_FILES) \
        $(android_FILES)
 
-LOCAL_CFLAGS := -DHAVE_ANDROID_BACKEND
+LOCAL_CFLAGS := \
+       -DFEATURE_ES1=1 \
+       -DFEATURE_ES2=1 \
+       -DHAVE_ANDROID_BACKEND
 
 LOCAL_C_INCLUDES := \
        $(GALLIUM_TOP)/state_trackers/egl \
index 3ddf0bca48996c87a061acfd317c8b486c1a6a18..3727fb2b047da1eddef95dc4545b8b1dbf2aa33b 100644 (file)
@@ -14,6 +14,18 @@ env.Append(CPPPATH = [
 
 sources = env.ParseSourceList('Makefile.sources', 'common_FILES')
 
+# OpenGL ES and OpenGL
+if env['gles']:
+    env.Append(CPPDEFINES = [
+        'FEATURE_GL=1',
+        'FEATURE_ES1=1',
+        'FEATURE_ES2=1'
+    ])
+
+# OpenVG
+if True:
+    env.Append(CPPDEFINES = ['FEATURE_VG=1'])
+
 if env['platform'] == 'windows':
     env.Append(CPPDEFINES = ['HAVE_GDI_BACKEND'])
     sources.append(env.ParseSourceList('Makefile.sources', 'gdi_FILES'))
index 7cc4e8f6cba4be90829a65758f27ddc885d1dce6..d3f5e929d19577eaee8b70dea1f43c4ff15889de 100644 (file)
@@ -548,14 +548,18 @@ egl_g3d_initialize(_EGLDriver *drv, _EGLDisplay *dpy)
       goto fail;
    }
 
-   if (gdpy->loader->profile_masks[ST_API_OPENGL] & ST_PROFILE_DEFAULT_MASK)
-      dpy->ClientAPIs |= EGL_OPENGL_BIT;
-   if (gdpy->loader->profile_masks[ST_API_OPENGL] & ST_PROFILE_OPENGL_ES1_MASK)
-      dpy->ClientAPIs |= EGL_OPENGL_ES_BIT;
-   if (gdpy->loader->profile_masks[ST_API_OPENGL] & ST_PROFILE_OPENGL_ES2_MASK)
-      dpy->ClientAPIs |= EGL_OPENGL_ES2_BIT;
-   if (gdpy->loader->profile_masks[ST_API_OPENVG] & ST_PROFILE_DEFAULT_MASK)
-      dpy->ClientAPIs |= EGL_OPENVG_BIT;
+#if FEATURE_GL
+   dpy->ClientAPIs |= EGL_OPENGL_BIT;
+#endif
+#if FEATURE_ES1
+   dpy->ClientAPIs |= EGL_OPENGL_ES_BIT;
+#endif
+#if FEATURE_ES2
+   dpy->ClientAPIs |= EGL_OPENGL_ES2_BIT;
+#endif
+#if FEATURE_VG
+   dpy->ClientAPIs |= EGL_OPENVG_BIT;
+#endif
 
    gdpy->smapi = egl_g3d_create_st_manager(dpy);
    if (!gdpy->smapi) {
index 51b4d19e0c85b28810f41aea72c1ecf0db08c9a2..03db15321ba6fe1a161cc026f24eb46854b2b43a 100644 (file)
@@ -36,7 +36,6 @@ struct pipe_screen;
 struct sw_winsys;
 
 struct egl_g3d_loader {
-   uint profile_masks[ST_API_COUNT];
    struct st_api *(*get_st_api)(enum st_api_type api);
 
    struct pipe_screen *(*create_drm_screen)(const char *name, int fd);
index 37244b5443a4145de5c7100cd783038c2ae98176..01408a7cb186a8d737b879a67f5108929348c8b7 100644 (file)
@@ -31,8 +31,6 @@ LOCAL_SRC_FILES := \
        egl_st.c
 
 LOCAL_CFLAGS := \
-       -DFEATURE_ES1=1 \
-       -DFEATURE_ES2=1 \
        -D_EGL_MAIN=_eglBuiltInDriverGALLIUM
 
 LOCAL_C_INCLUDES := \
index 83937fe61aded7695976b99ca13bad9fd7d41430..f879cc36de4da1160c79ba9ecd90e34bf2f9233f 100644 (file)
@@ -63,11 +63,6 @@ if env['platform'] == 'windows':
 
 # OpenGL ES and OpenGL
 if env['gles']:
-    env.Append(CPPDEFINES = [
-        'FEATURE_GL=1',
-        'FEATURE_ES1=1',
-        'FEATURE_ES2=1'
-    ])
     env.Prepend(LIBPATH = [shared_glapi.dir])
     # manually add LIBPREFIX on windows
     glapi_name = 'glapi' if env['platform'] != 'windows' else 'libglapi'
@@ -75,7 +70,6 @@ if env['gles']:
 
 # OpenVG
 if True:
-    env.Append(CPPDEFINES = ['FEATURE_VG=1'])
     env.Prepend(LIBPATH = [openvg.dir])
     # manually add LIBPREFIX on windows
     openvg_name = 'OpenVG' if env['platform'] != 'windows' else 'libOpenVG'
index f19f024b93b052c7a473830c4ce35acf9dd5a681..552fae2f9cec88bb933f82d7710abbea159df647 100644 (file)
@@ -87,11 +87,6 @@ create_sw_screen(struct sw_winsys *ws)
 static const struct egl_g3d_loader *
 loader_init(void)
 {
-   int i;
-
-   for (i = 0; i < ST_API_COUNT; i++)
-      egl_g3d_loader.profile_masks[i] = egl_st_get_profile_mask(i);
-
    egl_g3d_loader.get_st_api = get_st_api;
    egl_g3d_loader.create_drm_screen = create_drm_screen;
    egl_g3d_loader.create_sw_screen = create_sw_screen;
index da0cd5b8bbf49c5decc8584d77dc29e76e07c056..656135b05aa179ca27052ccce196f2888cc9076f 100644 (file)
@@ -165,32 +165,3 @@ egl_st_destroy_api(struct st_api *stapi)
    stapi->destroy(stapi);
 #endif
 }
-
-uint
-egl_st_get_profile_mask(enum st_api_type api)
-{
-   uint mask = 0x0;
-
-   switch (api) {
-   case ST_API_OPENGL:
-#if FEATURE_GL
-      mask |= ST_PROFILE_DEFAULT_MASK;
-#endif
-#if FEATURE_ES1
-      mask |= ST_PROFILE_OPENGL_ES1_MASK;
-#endif
-#if FEATURE_ES2
-      mask |= ST_PROFILE_OPENGL_ES2_MASK;
-#endif
-      break;
-   case ST_API_OPENVG:
-#if FEATURE_VG
-      mask |= ST_PROFILE_DEFAULT_MASK;
-#endif
-      break;
-   default:
-      break;
-   }
-
-   return mask;
-}
index f17e85b19ff66a637f489956d345ca10e75ca4c7..1d947b221643d9194f4a281fe75f333b98793b79 100644 (file)
@@ -36,7 +36,4 @@ egl_st_create_api(enum st_api_type api);
 void
 egl_st_destroy_api(struct st_api *stapi);
 
-uint
-egl_st_get_profile_mask(enum st_api_type api);
-
 #endif /* _EGL_ST_H_ */