summaryrefslogtreecommitdiffstats
path: root/src/gbm/backends/dri/gbm_driint.h
diff options
context:
space:
mode:
Diffstat (limited to 'src/gbm/backends/dri/gbm_driint.h')
-rw-r--r--src/gbm/backends/dri/gbm_driint.h15
1 files changed, 15 insertions, 0 deletions
diff --git a/src/gbm/backends/dri/gbm_driint.h b/src/gbm/backends/dri/gbm_driint.h
index d801a081375..514b5a620c1 100644
--- a/src/gbm/backends/dri/gbm_driint.h
+++ b/src/gbm/backends/dri/gbm_driint.h
@@ -61,6 +61,15 @@ struct gbm_dri_bo {
__DRIimage *image;
};
+struct gbm_dri_surface {
+ struct gbm_surface base;
+
+ __DRIbuffer *(*get_front_buffer)(struct gbm_dri_surface *, void *);
+ void (*release_buffer)(struct gbm_dri_surface *, __DRIbuffer *, void *);
+ int (*has_free_buffers)(void *);
+ void *dri_private;
+};
+
static inline struct gbm_dri_device *
gbm_dri_device(struct gbm_device *gbm)
{
@@ -73,6 +82,12 @@ gbm_dri_bo(struct gbm_bo *bo)
return (struct gbm_dri_bo *) bo;
}
+static inline struct gbm_dri_surface *
+gbm_dri_surface(struct gbm_surface *surface)
+{
+ return (struct gbm_dri_surface *) surface;
+}
+
char *
dri_fd_get_driver_name(int fd);