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>
$(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 \
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'))
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) {
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);
egl_st.c
LOCAL_CFLAGS := \
- -DFEATURE_ES1=1 \
- -DFEATURE_ES2=1 \
-D_EGL_MAIN=_eglBuiltInDriverGALLIUM
LOCAL_C_INCLUDES := \
# 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'
# 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'
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;
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;
-}
void
egl_st_destroy_api(struct st_api *stapi);
-uint
-egl_st_get_profile_mask(enum st_api_type api);
-
#endif /* _EGL_ST_H_ */