summaryrefslogtreecommitdiff
path: root/src/egl/drivers/android/droid_loader.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/egl/drivers/android/droid_loader.c')
-rw-r--r--src/egl/drivers/android/droid_loader.c52
1 files changed, 3 insertions, 49 deletions
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;
}