diff --git a/gbm.c b/gbm.c index b432b38..408fb98 100644 --- a/gbm.c +++ b/gbm.c @@ -86,11 +86,22 @@ PUBLIC struct gbm_surface *gbm_surface_create_with_modifiers(struct gbm_device * uint32_t height, uint32_t format, const uint64_t *modifiers, const unsigned int count) +{ + return gbm_surface_create_with_modifiers2(gbm, width, height, format, modifiers, count, 0); +} + +PUBLIC struct gbm_surface * +gbm_surface_create_with_modifiers2(struct gbm_device *gbm, uint32_t width, uint32_t height, + uint32_t format, const uint64_t *modifiers, + const unsigned int count, uint32_t flags) { if (count != 0 || modifiers != NULL) return NULL; - return gbm_surface_create(gbm, width, height, format, 0); + if (flags != 0) + return NULL; + + return gbm_surface_create(gbm, width, height, format, flags); } PUBLIC struct gbm_bo *gbm_surface_lock_front_buffer(struct gbm_surface *surface) @@ -160,9 +171,20 @@ PUBLIC struct gbm_bo *gbm_bo_create(struct gbm_device *gbm, uint32_t width, uint PUBLIC struct gbm_bo *gbm_bo_create_with_modifiers(struct gbm_device *gbm, uint32_t width, uint32_t height, uint32_t format, const uint64_t *modifiers, uint32_t count) +{ + return gbm_bo_create_with_modifiers2(gbm, width, height, format, modifiers, count, 0); +} + +PUBLIC struct gbm_bo *gbm_bo_create_with_modifiers2(struct gbm_device *gbm, uint32_t width, + uint32_t height, uint32_t format, + const uint64_t *modifiers, + const unsigned int count, uint32_t flags) { struct gbm_bo *bo; + if (flags != 0) + return NULL; + bo = gbm_bo_new(gbm, format); if (!bo) diff --git a/gbm.h b/gbm.h index ab614f7..8e32769 100644 --- a/gbm.h +++ b/gbm.h @@ -339,6 +339,16 @@ gbm_bo_create_with_modifiers(struct gbm_device *gbm, uint32_t format, const uint64_t *modifiers, const unsigned int count); + +struct gbm_bo * +gbm_bo_create_with_modifiers2(struct gbm_device *gbm, + uint32_t width, + uint32_t height, + uint32_t format, + const uint64_t *modifiers, + const unsigned int count, + uint32_t flags); + #define GBM_BO_IMPORT_WL_BUFFER 0x5501 #define GBM_BO_IMPORT_EGL_IMAGE 0x5502 #define GBM_BO_IMPORT_FD 0x5503 @@ -491,6 +501,15 @@ gbm_surface_create_with_modifiers(struct gbm_device *gbm, const uint64_t *modifiers, const unsigned int count); +struct gbm_surface * +gbm_surface_create_with_modifiers2(struct gbm_device *gbm, + uint32_t width, + uint32_t height, + uint32_t format, + const uint64_t *modifiers, + const unsigned int count, + uint32_t flags); + struct gbm_bo * gbm_surface_lock_front_buffer(struct gbm_surface *surface);