summaryrefslogtreecommitdiffstats
path: root/src/gbm/main
diff options
context:
space:
mode:
authorEric Anholt <[email protected]>2018-11-08 09:57:32 -0800
committerEric Anholt <[email protected]>2018-11-12 15:20:23 -0800
commitee7f848c000112a98e9614f42921b176be473792 (patch)
treeaeecb528e97e82f5bb2e28f3e3552cd2ce914763 /src/gbm/main
parent4eab98b66e7dc495f26ac3b0e356e405c0796b74 (diff)
gbm: Move gbm_format_canonicalize() to the core.
I want it for the format name debugging code. Reviewed-by: Eric Engestrom <[email protected]> Reviewed-by: Daniel Stone <[email protected]>
Diffstat (limited to 'src/gbm/main')
-rw-r--r--src/gbm/main/gbm.c16
-rw-r--r--src/gbm/main/gbmint.h3
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