mirror of
https://gitlab.freedesktop.org/mesa/mesa.git
synced 2026-05-05 05:18:08 +02:00
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:
parent
a9afdcc3a1
commit
b52a530ce2
9 changed files with 28 additions and 55 deletions
|
|
@ -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_ */
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue