gbm: Create a gbm_device getter for stride
[mesa.git] / src / gbm / main / gbmint.h
index ab23f0af073aacdfa5348d16e5e8c17a82c6ca5f..26d18bab6bf48e7fba8f483c24769284d080fe9b 100644 (file)
@@ -32,7 +32,7 @@
 #include <sys/stat.h>
 
 /* GCC visibility */
-#if defined(__GNUC__) && __GNUC__ >= 4
+#if defined(__GNUC__)
 #define GBM_EXPORT __attribute__ ((visibility("default")))
 #else
 #define GBM_EXPORT
@@ -68,7 +68,17 @@ struct gbm_device {
                                uint32_t usage);
    struct gbm_bo *(*bo_import)(struct gbm_device *gbm, uint32_t type,
                                void *buffer, uint32_t usage);
+   void *(*bo_map)(struct gbm_bo *bo,
+                               uint32_t x, uint32_t y,
+                               uint32_t width, uint32_t height,
+                               uint32_t flags, uint32_t *stride,
+                               void **map_data);
+   void (*bo_unmap)(struct gbm_bo *bo, void *map_data);
    int (*bo_write)(struct gbm_bo *bo, const void *buf, size_t data);
+   int (*bo_get_fd)(struct gbm_bo *bo);
+   int (*bo_get_planes)(struct gbm_bo *bo);
+   union gbm_bo_handle (*bo_get_handle)(struct gbm_bo *bo, int plane);
+   uint32_t (*bo_get_stride)(struct gbm_bo *bo, int plane);
    void (*bo_destroy)(struct gbm_bo *bo);
 
    struct gbm_surface *(*surface_create)(struct gbm_device *gbm,
@@ -90,7 +100,7 @@ struct gbm_bo {
    struct gbm_device *gbm;
    uint32_t width;
    uint32_t height;
-   uint32_t pitch;
+   uint32_t stride;
    uint32_t format;
    union gbm_bo_handle  handle;
    void *user_data;
@@ -110,7 +120,4 @@ struct gbm_backend {
    struct gbm_device *(*create_device)(int fd);
 };
 
-GBM_EXPORT struct gbm_device *
-_gbm_mesa_get_device(int fd);
-
 #endif