diff options
author | Emil Velikov <emil.velikov@collabora.com> | 2016-08-24 23:32:27 +0100 |
---|---|---|
committer | Emil Velikov <emil.l.velikov@gmail.com> | 2016-10-14 12:42:22 +0100 |
commit | f871946594129500a67c05a6d9fe99db54b4bb64 (patch) | |
tree | d608d3b7429b4b2328ea7843a884f238ba5f268c /src/egl/drivers/dri2/platform_android.c | |
parent | f7b8108289fbef03ec465cf3b418eb65ff18d80d (diff) | |
download | external_mesa3d-f871946594129500a67c05a6d9fe99db54b4bb64.zip external_mesa3d-f871946594129500a67c05a6d9fe99db54b4bb64.tar.gz external_mesa3d-f871946594129500a67c05a6d9fe99db54b4bb64.tar.bz2 |
egl/dri2: rework dri2_egl_display::extensions storage
Remove the error prone fixed size array.
While we're here also rename to loader_extensions like in the GLX code.
v2: Rebase. Keep image_loader_extension within the wayland_drm
dri2_loader_extensions list.
Signed-off-by: Emil Velikov <emil.velikov@collabora.com>
Reviewed-by: Eric Engestrom <eric@engestrom.ch>
Diffstat (limited to 'src/egl/drivers/dri2/platform_android.c')
-rw-r--r-- | src/egl/drivers/dri2/platform_android.c | 27 |
1 files changed, 18 insertions, 9 deletions
diff --git a/src/egl/drivers/dri2/platform_android.c b/src/egl/drivers/dri2/platform_android.c index 4f09b26..83ffa23 100644 --- a/src/egl/drivers/dri2/platform_android.c +++ b/src/egl/drivers/dri2/platform_android.c @@ -898,6 +898,20 @@ static const __DRIimageLoaderExtension droid_image_loader_extension = { .flushFrontBuffer = droid_flush_front_buffer, }; +static const __DRIextension *droid_dri2_loader_extensions[] = { + &droid_dri2_loader_extension.base, + &image_lookup_extension.base, + &use_invalidate.base, + NULL, +}; + +static const __DRIextension *droid_image_loader_extensions[] = { + &droid_image_loader_extension.base, + &image_lookup_extension.base, + &use_invalidate.base, + NULL, +}; + EGLBoolean dri2_initialize_android(_EGLDriver *drv, _EGLDisplay *dpy) { @@ -935,15 +949,10 @@ dri2_initialize_android(_EGLDriver *drv, _EGLDisplay *dpy) /* render nodes cannot use Gem names, and thus do not support * the __DRI_DRI2_LOADER extension */ - if (!dri2_dpy->is_render_node) { - dri2_dpy->extensions[0] = &droid_dri2_loader_extension.base; - } else { - dri2_dpy->extensions[0] = &droid_image_loader_extension.base; - } - dri2_dpy->extensions[1] = &use_invalidate.base; - dri2_dpy->extensions[2] = &image_lookup_extension.base; - dri2_dpy->extensions[3] = NULL; - + if (!dri2_dpy->is_render_node) + dri2_dpy->loader_extensions = droid_dri2_loader_extensions; + else + dri2_dpy->loader_extensions = droid_image_loader_extensions; if (!dri2_create_screen(dpy)) { err = "DRI2: failed to create screen"; |