gbm: add API to to import FD with modifier
authorLucas Stach <l.stach@pengutronix.de>
Thu, 8 Jun 2017 18:56:16 +0000 (20:56 +0200)
committerEmil Velikov <emil.l.velikov@gmail.com>
Thu, 15 Jun 2017 09:43:23 +0000 (10:43 +0100)
This allows to import an FD with an explicit modifier passed through
userspace protocols.

Signed-off-by: Lucas Stach <l.stach@pengutronix.de>
Tested-by: Robert Foss <robert.foss@collabora.com>
Reviewed-by: Daniel Stone <daniels@collabora.com>
src/gbm/main/gbm.h

index b52137ed01d4cd7d1443b926c48b10be6aad2812..6a9bf1fc2a802746c1e9d3e18b39871a28794aab 100644 (file)
@@ -252,6 +252,7 @@ gbm_bo_create_with_modifiers(struct gbm_device *gbm,
 #define GBM_BO_IMPORT_WL_BUFFER         0x5501
 #define GBM_BO_IMPORT_EGL_IMAGE         0x5502
 #define GBM_BO_IMPORT_FD                0x5503
+#define GBM_BO_IMPORT_FD_MODIFIER       0x5504
 
 struct gbm_import_fd_data {
    int fd;
@@ -261,6 +262,17 @@ struct gbm_import_fd_data {
    uint32_t format;
 };
 
+struct gbm_import_fd_modifier_data {
+   uint32_t width;
+   uint32_t height;
+   uint32_t format;
+   uint32_t num_fds;
+   int fds[4];
+   int strides[4];
+   int offsets[4];
+   uint64_t modifier;
+};
+
 struct gbm_bo *
 gbm_bo_import(struct gbm_device *gbm, uint32_t type,
               void *buffer, uint32_t usage);