mirror of
https://gitlab.freedesktop.org/mesa/drm.git
synced 2026-01-06 12:00:25 +01:00
Don't shortcut the info syscall for drmBOBusy on nonshareable objects.
This broke the results when you're trying to check if a buffer you dispatched some time ago is done being rendered from.
This commit is contained in:
parent
63fd6f284d
commit
eedf3fa2f0
1 changed files with 9 additions and 14 deletions
|
|
@ -2799,23 +2799,18 @@ int drmBOWaitIdle(int fd, drmBO *buf, unsigned hint)
|
|||
}
|
||||
return 0;
|
||||
}
|
||||
|
||||
|
||||
int drmBOBusy(int fd, drmBO *buf, int *busy)
|
||||
{
|
||||
if (!(buf->flags & DRM_BO_FLAG_SHAREABLE) &&
|
||||
!(buf->replyFlags & DRM_BO_REP_BUSY)) {
|
||||
*busy = 0;
|
||||
return 0;
|
||||
}
|
||||
else {
|
||||
int ret = drmBOInfo(fd, buf);
|
||||
if (ret)
|
||||
return ret;
|
||||
*busy = (buf->replyFlags & DRM_BO_REP_BUSY);
|
||||
return 0;
|
||||
}
|
||||
int ret = drmBOInfo(fd, buf);
|
||||
|
||||
if (ret)
|
||||
return ret;
|
||||
|
||||
*busy = (buf->replyFlags & DRM_BO_REP_BUSY);
|
||||
return 0;
|
||||
}
|
||||
|
||||
|
||||
int drmMMInit(int fd, unsigned long pOffset, unsigned long pSize,
|
||||
unsigned memType)
|
||||
{
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue