}
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 = {
.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;
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;
__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);