diff options
Diffstat (limited to 'src/gbm/main')
-rw-r--r-- | src/gbm/main/gbm.c | 16 | ||||
-rw-r--r-- | src/gbm/main/gbmint.h | 3 |
2 files changed, 19 insertions, 0 deletions
diff --git a/src/gbm/main/gbm.c b/src/gbm/main/gbm.c index 0bf2922bacd..d301661b48e 100644 --- a/src/gbm/main/gbm.c +++ b/src/gbm/main/gbm.c @@ -695,3 +695,19 @@ gbm_surface_has_free_buffers(struct gbm_surface *surf) { return surf->gbm->surface_has_free_buffers(surf); } + +/* The two GBM_BO_FORMAT_[XA]RGB8888 formats alias the GBM_FORMAT_* + * formats of the same name. We want to accept them whenever someone + * has a GBM format, but never return them to the user. */ +uint32_t +gbm_format_canonicalize(uint32_t gbm_format) +{ + switch (gbm_format) { + case GBM_BO_FORMAT_XRGB8888: + return GBM_FORMAT_XRGB8888; + case GBM_BO_FORMAT_ARGB8888: + return GBM_FORMAT_ARGB8888; + default: + return gbm_format; + } +} diff --git a/src/gbm/main/gbmint.h b/src/gbm/main/gbmint.h index 9220a4ae87d..192577431e2 100644 --- a/src/gbm/main/gbmint.h +++ b/src/gbm/main/gbmint.h @@ -133,4 +133,7 @@ struct gbm_backend { struct gbm_device *(*create_device)(int fd); }; +uint32_t +gbm_format_canonicalize(uint32_t gbm_format); + #endif |