From f457f7a31c03f218cdcb31108fefb343d6be14a8 Mon Sep 17 00:00:00 2001 From: Chia-I Wu Date: Tue, 27 Oct 2009 16:15:54 +0800 Subject: egl_android: Decide image config by matching the native pixmap. --- src/egl/drivers/android/droid_loader.c | 52 ++-------------------------------- 1 file changed, 3 insertions(+), 49 deletions(-) (limited to 'src/egl/drivers/android/droid_loader.c') diff --git a/src/egl/drivers/android/droid_loader.c b/src/egl/drivers/android/droid_loader.c index 00b08a5960..7832885d1d 100644 --- a/src/egl/drivers/android/droid_loader.c +++ b/src/egl/drivers/android/droid_loader.c @@ -209,48 +209,6 @@ droid_backend_destroy(struct droid_backend *backend) backend->destroy(backend); } -static void -screen_find_image_configs(struct droid_screen *screen) -{ - struct droid_loader *loader = screen->loader; - int depth, i; - - for (depth = 0; depth < DROID_MAX_IMAGE_DEPTH + 1; depth++) { - for (i = 0; i < screen->num_dri_configs; i++) { - const __DRIconfig *conf = screen->dri_configs[i]; - _EGLConfig egl_conf; - EGLint rgba, val; - - droid_screen_convert_config(screen, conf, &egl_conf); - - val = GET_CONFIG_ATTRIB(&egl_conf, EGL_CONFIG_CAVEAT); - if (val == EGL_SLOW_CONFIG) - continue; - - rgba = GET_CONFIG_ATTRIB(&egl_conf, EGL_RED_SIZE); - rgba += GET_CONFIG_ATTRIB(&egl_conf, EGL_GREEN_SIZE); - rgba += GET_CONFIG_ATTRIB(&egl_conf, EGL_BLUE_SIZE); - rgba += GET_CONFIG_ATTRIB(&egl_conf, EGL_ALPHA_SIZE); - if (depth != rgba) - continue; - - if (depth == 32) { - val = GET_CONFIG_ATTRIB(&egl_conf, EGL_BIND_TO_TEXTURE_RGBA); - if (val) { - screen->image_configs[depth] = conf; - break; - } - } - - val = GET_CONFIG_ATTRIB(&egl_conf, EGL_BIND_TO_TEXTURE_RGB); - if (val) { - screen->image_configs[depth] = conf; - break; - } - } - } -} - struct droid_screen * droid_screen_create(struct droid_backend *backend) { @@ -313,8 +271,6 @@ droid_screen_create(struct droid_backend *backend) ; screen->num_dri_configs = i; - screen_find_image_configs(screen); - return screen; fail: @@ -480,11 +436,9 @@ droid_screen_get_drawable_data(struct droid_screen *screen, img->magic = __DRI_EGL_IMAGE_MAGIC; img->drawable = drawable->dri_drawable; img->level = 0; - if (drawable->dri_config == screen->image_configs[32] && - loader->core->getConfigAttrib(drawable->dri_config, - __DRI_ATTRIB_BIND_TO_TEXTURE_RGBA, - &val)) - img->texture_format_rgba = val; + if (loader->core->getConfigAttrib(drawable->dri_config, + __DRI_ATTRIB_ALPHA_SIZE, &val)) + img->texture_format_rgba = (val > 0); drawable->dri_image = img; } -- cgit v1.2.3