On 13 April 2017 at 19:22, Ben Widawsky <b...@bwidawsk.net> wrote: > --- > common.c | 13 ++++++++----- > common.h | 11 ++++++++++- > kmscube.c | 14 +++++++++++--- > 3 files changed, 29 insertions(+), 9 deletions(-) > > diff --git a/common.c b/common.c > index e63bb39..eaaa9a4 100644 > --- a/common.c > +++ b/common.c > @@ -31,9 +31,6 @@ > > static struct gbm gbm; > > -#ifndef DRM_FORMAT_MOD_LINEAR > -#define DRM_FORMAT_MOD_LINEAR 0 > -#endif > static int > get_modifiers(uint64_t **mods) > { > @@ -43,7 +40,7 @@ get_modifiers(uint64_t **mods) > return 1; > } > > -const struct gbm * init_gbm(int drm_fd, int w, int h) > +const struct gbm * init_gbm(int drm_fd, int w, int h, uint64_t modifier) > { > gbm.dev = gbm_create_device(drm_fd); > > @@ -57,7 +54,13 @@ const struct gbm * init_gbm(int drm_fd, int w, int h) > } > #else > uint64_t *mods; > - int count = get_modifiers(&mods); > + int count; > + if (modifier != DRM_FORMAT_MOD_INVALID) { > + count = 1; > + mods = &modifier; > + } else { > + count = get_modifiers(&mods); > + } > gbm.surface = gbm_surface_create_with_modifiers(gbm.dev, w, h, > GBM_FORMAT_XRGB8888, mods, count); > #endif > diff --git a/common.h b/common.h > index f3d9d32..03634cc 100644 > --- a/common.h > +++ b/common.h > @@ -36,6 +36,14 @@ > #include "config.h" > #endif > > +#ifndef DRM_FORMAT_MOD_LINEAR > +#define DRM_FORMAT_MOD_LINEAR 0 > +#endif > + > +#ifndef DRM_FORMAT_MOD_INVALID > +#define DRM_FORMAT_MOD_INVALID ((((__u64)0) << 56) | ((1ULL << 56) - 1)) > +#endif > + > #ifndef EGL_KHR_platform_gbm > #define EGL_KHR_platform_gbm 1 > #define EGL_PLATFORM_GBM_KHR 0x31D7 > @@ -57,9 +65,10 @@ struct gbm { > struct gbm_device *dev; > struct gbm_surface *surface; > int width, height; > + uint64_t forced_modifier; Seems used. Drop for now?
With my trivial suggestions the series is Reviewed-by: Emil Velikov <emil.veli...@collabora.com> -Emil _______________________________________________ mesa-dev mailing list mesa-dev@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/mesa-dev