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 <olvaffe@gmail.com> (v1) Signed-off-by: Emil Velikov <emil.l.velikov@gmail.com>
This commit is contained in:
@@ -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 \
|
||||
|
||||
@@ -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'))
|
||||
|
||||
@@ -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) {
|
||||
|
||||
@@ -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);
|
||||
|
||||
@@ -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 := \
|
||||
|
||||
@@ -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'
|
||||
|
||||
@@ -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;
|
||||
|
||||
@@ -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;
|
||||
}
|
||||
|
||||
@@ -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_ */
|
||||
|
||||
Reference in New Issue
Block a user