On 04/18, Chris Wilson wrote:
> Quoting Rodrigo Siqueira (2019-04-18 15:01:49)
> > +bool kms_has_vblank(int fd)
> > +{
> > +       drmVBlank dummy_vbl;
> > +
> > +       memset(&dummy_vbl, 0, sizeof(drmVBlank));
> > +       dummy_vbl.request.type = DRM_VBLANK_RELATIVE;
> > +
> > +       drmWaitVBlank(fd, &dummy_vbl);
> > +       return (errno != EOPNOTSUPP);
> 
> errno is only set on error. It is conceivably that drmWaitVBlank()
> suceeed but errno is still set to EOPNOTSUPP from an earlier syscall.
> -Chris

Nice catch!

Before I send a V7, how about this fix:

bool kms_has_vblank(int fd)
{
  ...
  errno = 0;
  drmWaitVBlank(fd, &dummy_vbl);
  return (errno != EOPNOTSUPP);
}

--
Rodrigo Siqueira
https://siqueira.tech

Attachment: signature.asc
Description: PGP signature

_______________________________________________
Intel-gfx mailing list
Intel-gfx@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/intel-gfx

Reply via email to