gbm: Create hooks for dri2_loader_extension in dri backend
[mesa.git] / src / gbm / backends / dri / gbm_driint.h
index 514b5a620c1e9e379d110f1e67d51aa55a468f57..3b7db65ce9ffe0452136782e0acf8198ef006e87 100644 (file)
@@ -36,6 +36,8 @@
 #include <GL/gl.h> /* dri_interface needs GL types */
 #include "GL/internal/dri_interface.h"
 
+struct gbm_dri_surface;
+
 struct gbm_dri_device {
    struct gbm_drm_device base;
 
@@ -47,12 +49,23 @@ struct gbm_dri_device {
    __DRIdri2Extension   *dri2;
    __DRIimageExtension  *image;
    __DRI2flushExtension *flush;
+   __DRIdri2LoaderExtension *loader;
 
    const __DRIconfig   **driver_configs;
-   const __DRIextension *extensions[3];
+   const __DRIextension *extensions[4];
 
    __DRIimage *(*lookup_image)(__DRIscreen *screen, void *image, void *data);
    void *lookup_user_data;
+
+   __DRIbuffer *(*get_buffers)(__DRIdrawable * driDrawable,
+                               int *width, int *height,
+                               unsigned int *attachments, int count,
+                               int *out_count, void *data);
+   void (*flush_front_buffer)(__DRIdrawable * driDrawable, void *data);
+   __DRIbuffer *(*get_buffers_with_format)(__DRIdrawable * driDrawable,
+                            int *width, int *height,
+                            unsigned int *attachments, int count,
+                            int *out_count, void *data);
 };
 
 struct gbm_dri_bo {