Mesa (master): gbm: cleanup __DRI*extension handling

Emil Velikov evelikov at kemper.freedesktop.org
Mon Apr 28 18:12:56 UTC 2014


Module: Mesa
Branch: master
Commit: 5457caa58c048e2df71c7ebc036d5ca010d576b6
URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=5457caa58c048e2df71c7ebc036d5ca010d576b6

Author: Emil Velikov <emil.l.velikov at gmail.com>
Date:   Sun Mar 16 00:26:53 2014 +0000

gbm: cleanup __DRI*extension handling

Use designated initialisers, store all extension pointers as const and use
a const __DRIextensions array over assigning each element individually.

Signed-off-by: Emil Velikov <emil.l.velikov at gmail.com>
Reviewed-by: Ian Romanick <ian.d.romanick at intel.com>

---

 src/gbm/backends/dri/gbm_dri.c    |   20 ++++++++++++--------
 src/gbm/backends/dri/gbm_driint.h |   12 ++++++------
 2 files changed, 18 insertions(+), 14 deletions(-)

diff --git a/src/gbm/backends/dri/gbm_dri.c b/src/gbm/backends/dri/gbm_dri.c
index 9d08a97..cec12d1 100644
--- a/src/gbm/backends/dri/gbm_dri.c
+++ b/src/gbm/backends/dri/gbm_dri.c
@@ -125,12 +125,13 @@ image_get_buffers(__DRIdrawable *driDrawable,
 }
 
 static const __DRIuseInvalidateExtension use_invalidate = {
-   { __DRI_USE_INVALIDATE, 1 }
+   .base = { __DRI_USE_INVALIDATE, 1 }
 };
 
 static const __DRIimageLookupExtension image_lookup_extension = {
-   { __DRI_IMAGE_LOOKUP, 1 },
-   dri_lookup_egl_image
+   .base = { __DRI_IMAGE_LOOKUP, 1 },
+
+   .lookupEGLImage          = dri_lookup_egl_image
 };
 
 static const __DRIdri2LoaderExtension dri2_loader_extension = {
@@ -148,6 +149,13 @@ static const __DRIimageLoaderExtension image_loader_extension = {
    .flushFrontBuffer    = dri_flush_front_buffer,
 };
 
+static const __DRIextension *gbm_dri_screen_extensions[] = {
+   &image_lookup_extension.base,
+   &use_invalidate.base,
+   &dri2_loader_extension.base,
+   &image_loader_extension.base,
+   NULL,
+};
 
 struct dri_extension_match {
    const char *name;
@@ -285,11 +293,7 @@ dri_screen_create(struct gbm_dri_device *dri)
       return ret;
    };
 
-   dri->extensions[0] = &image_lookup_extension.base;
-   dri->extensions[1] = &use_invalidate.base;
-   dri->extensions[2] = &dri2_loader_extension.base;
-   dri->extensions[3] = &image_loader_extension.base;
-   dri->extensions[4] = NULL;
+   dri->extensions = gbm_dri_screen_extensions;
 
    if (dri->dri2 == NULL)
       return -1;
diff --git a/src/gbm/backends/dri/gbm_driint.h b/src/gbm/backends/dri/gbm_driint.h
index fdf694d..9c4392d 100644
--- a/src/gbm/backends/dri/gbm_driint.h
+++ b/src/gbm/backends/dri/gbm_driint.h
@@ -44,14 +44,14 @@ struct gbm_dri_device {
 
    __DRIscreen *screen;
 
-   __DRIcoreExtension   *core;
-   __DRIdri2Extension   *dri2;
-   __DRIimageExtension  *image;
-   __DRI2flushExtension *flush;
-   __DRIdri2LoaderExtension *loader;
+   const __DRIcoreExtension   *core;
+   const __DRIdri2Extension   *dri2;
+   const __DRIimageExtension  *image;
+   const __DRI2flushExtension *flush;
+   const __DRIdri2LoaderExtension *loader;
 
    const __DRIconfig   **driver_configs;
-   const __DRIextension *extensions[5];
+   const __DRIextension **extensions;
    const __DRIextension **driver_extensions;
 
    __DRIimage *(*lookup_image)(__DRIscreen *screen, void *image, void *data);




More information about the mesa-commit mailing list