Module: Mesa Branch: master Commit: b52a530ce2aada1967bc8fefa83ab53e6a737dae URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=b52a530ce2aada1967bc8fefa83ab53e6a737dae
Author: Emil Velikov <[email protected]> Date: Sat May 10 03:41:44 2014 +0100 gallium/egl: st_profiles are build time decision, treat them as such 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 <[email protected]> (v1) Signed-off-by: Emil Velikov <[email protected]> --- src/gallium/state_trackers/egl/Android.mk | 5 +++- src/gallium/state_trackers/egl/SConscript | 12 ++++++++ src/gallium/state_trackers/egl/common/egl_g3d.c | 20 ++++++++------ .../state_trackers/egl/common/egl_g3d_loader.h | 1 - src/gallium/targets/egl-static/Android.mk | 2 -- src/gallium/targets/egl-static/SConscript | 6 ---- src/gallium/targets/egl-static/egl.c | 5 ---- src/gallium/targets/egl-static/egl_st.c | 29 -------------------- src/gallium/targets/egl-static/egl_st.h | 3 -- 9 files changed, 28 insertions(+), 55 deletions(-) diff --git a/src/gallium/state_trackers/egl/Android.mk b/src/gallium/state_trackers/egl/Android.mk index b27e14b..7c4c936 100644 --- a/src/gallium/state_trackers/egl/Android.mk +++ b/src/gallium/state_trackers/egl/Android.mk @@ -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 \ diff --git a/src/gallium/state_trackers/egl/SConscript b/src/gallium/state_trackers/egl/SConscript index 3ddf0bc..3727fb2 100644 --- a/src/gallium/state_trackers/egl/SConscript +++ b/src/gallium/state_trackers/egl/SConscript @@ -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')) diff --git a/src/gallium/state_trackers/egl/common/egl_g3d.c b/src/gallium/state_trackers/egl/common/egl_g3d.c index 7cc4e8f..d3f5e92 100644 --- a/src/gallium/state_trackers/egl/common/egl_g3d.c +++ b/src/gallium/state_trackers/egl/common/egl_g3d.c @@ -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) { diff --git a/src/gallium/state_trackers/egl/common/egl_g3d_loader.h b/src/gallium/state_trackers/egl/common/egl_g3d_loader.h index 51b4d19..03db153 100644 --- a/src/gallium/state_trackers/egl/common/egl_g3d_loader.h +++ b/src/gallium/state_trackers/egl/common/egl_g3d_loader.h @@ -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); diff --git a/src/gallium/targets/egl-static/Android.mk b/src/gallium/targets/egl-static/Android.mk index 37244b5..01408a7 100644 --- a/src/gallium/targets/egl-static/Android.mk +++ b/src/gallium/targets/egl-static/Android.mk @@ -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 := \ diff --git a/src/gallium/targets/egl-static/SConscript b/src/gallium/targets/egl-static/SConscript index 83937fe..f879cc3 100644 --- a/src/gallium/targets/egl-static/SConscript +++ b/src/gallium/targets/egl-static/SConscript @@ -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' diff --git a/src/gallium/targets/egl-static/egl.c b/src/gallium/targets/egl-static/egl.c index f19f024..552fae2 100644 --- a/src/gallium/targets/egl-static/egl.c +++ b/src/gallium/targets/egl-static/egl.c @@ -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; diff --git a/src/gallium/targets/egl-static/egl_st.c b/src/gallium/targets/egl-static/egl_st.c index da0cd5b..656135b 100644 --- a/src/gallium/targets/egl-static/egl_st.c +++ b/src/gallium/targets/egl-static/egl_st.c @@ -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; -} diff --git a/src/gallium/targets/egl-static/egl_st.h b/src/gallium/targets/egl-static/egl_st.h index f17e85b..1d947b2 100644 --- a/src/gallium/targets/egl-static/egl_st.h +++ b/src/gallium/targets/egl-static/egl_st.h @@ -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_ */ _______________________________________________ mesa-commit mailing list [email protected] http://lists.freedesktop.org/mailman/listinfo/mesa-commit
