On Tue, Sep 13, 2016 at 6:07 PM, Kristian H. Kristensen <hoegsberg@xxxxxxxxx> wrote: > The only current user of this open codes the ioctl. Let's add an entry > point for this to libdrm. > > Signed-off-by: Kristian H. Kristensen <hoegsberg@xxxxxxxxxxxx> > --- > xf86drmMode.c | 21 +++++++++++++++++---- > xf86drmMode.h | 7 +++++++ > 2 files changed, 24 insertions(+), 4 deletions(-) > > diff --git a/xf86drmMode.c b/xf86drmMode.c > index f7b5948..2907c5c 100644 > --- a/xf86drmMode.c > +++ b/xf86drmMode.c > @@ -270,10 +270,10 @@ int drmModeAddFB(int fd, uint32_t width, uint32_t height, uint8_t depth, > return 0; > } > > -int drmModeAddFB2(int fd, uint32_t width, uint32_t height, > - uint32_t pixel_format, uint32_t bo_handles[4], > - uint32_t pitches[4], uint32_t offsets[4], > - uint32_t *buf_id, uint32_t flags) > +int drmModeAddFB2WithModifiers(int fd, uint32_t width, uint32_t height, > + uint32_t pixel_format, uint32_t bo_handles[4], > + uint32_t pitches[4], uint32_t offsets[4], > + uint64_t modifier[4], uint32_t *buf_id, uint32_t flags) > { > struct drm_mode_fb_cmd2 f; > int ret; > @@ -286,6 +286,8 @@ int drmModeAddFB2(int fd, uint32_t width, uint32_t height, > memcpy(f.handles, bo_handles, 4 * sizeof(bo_handles[0])); > memcpy(f.pitches, pitches, 4 * sizeof(pitches[0])); > memcpy(f.offsets, offsets, 4 * sizeof(offsets[0])); > + if (modifier) > + memcpy(f.modifier, modifier, 4 * sizeof(modifier[0])); I can't quite tell if it is my email client or not, but the whitespace/indentation here and below in drmModeAddFB2() looks funny.. other than that (and with that potentially fixed if needed), lgtm Reviewed-by: Rob Clark <robdclark@xxxxxxxxx> > if ((ret = DRM_IOCTL(fd, DRM_IOCTL_MODE_ADDFB2, &f))) > return ret; > @@ -294,6 +296,17 @@ int drmModeAddFB2(int fd, uint32_t width, uint32_t height, > return 0; > } > > +int drmModeAddFB2(int fd, uint32_t width, uint32_t height, > + uint32_t pixel_format, uint32_t bo_handles[4], > + uint32_t pitches[4], uint32_t offsets[4], > + uint32_t *buf_id, uint32_t flags) > +{ > + return drmModeAddFB2WithModifiers(fd, width, height, > + pixel_format, bo_handles, > + pitches, offsets, NULL, > + buf_id, flags); > +} > + > int drmModeRmFB(int fd, uint32_t bufferId) > { > return DRM_IOCTL(fd, DRM_IOCTL_MODE_RMFB, &bufferId); > diff --git a/xf86drmMode.h b/xf86drmMode.h > index 4de7bbb..02190ea 100644 > --- a/xf86drmMode.h > +++ b/xf86drmMode.h > @@ -369,6 +369,13 @@ extern int drmModeAddFB2(int fd, uint32_t width, uint32_t height, > uint32_t pixel_format, uint32_t bo_handles[4], > uint32_t pitches[4], uint32_t offsets[4], > uint32_t *buf_id, uint32_t flags); > + > +/* ...with format modifiers */ > +int drmModeAddFB2WithModifiers(int fd, uint32_t width, uint32_t height, > + uint32_t pixel_format, uint32_t bo_handles[4], > + uint32_t pitches[4], uint32_t offsets[4], > + uint64_t modifier[4], uint32_t *buf_id, uint32_t flags); > + > /** > * Destroies the given framebuffer. > */ > -- > 2.8.0.rc3.226.g39d4020 > > _______________________________________________ > dri-devel mailing list > dri-devel@xxxxxxxxxxxxxxxxxxxxx > https://lists.freedesktop.org/mailman/listinfo/dri-devel _______________________________________________ dri-devel mailing list dri-devel@xxxxxxxxxxxxxxxxxxxxx https://lists.freedesktop.org/mailman/listinfo/dri-devel