nouveau: Add implicit pushbuf flush before gpuobj destruction.

It makes sure that GPU object destruction is executed in order with
respect to the previous FIFO commands.

Signed-off-by: Francisco Jerez <currojerez@riseup.net>
Acked-by: Ben Skeggs <bskeggs@redhat.com>
main
Francisco Jerez 2010-11-20 14:32:45 +01:00
parent 877b2ce15b
commit d17681d538
2 changed files with 4 additions and 0 deletions

View File

@ -99,6 +99,8 @@ nouveau_grobj_free(struct nouveau_grobj **grobj)
if (nvgrobj->base.grclass) {
struct drm_nouveau_gpuobj_free f;
FIRE_RING(&chan->base);
f.channel = chan->drm.channel;
f.handle = nvgrobj->base.handle;
drmCommandWrite(nvdev->fd, DRM_NOUVEAU_GPUOBJ_FREE,

View File

@ -80,6 +80,8 @@ nouveau_notifier_free(struct nouveau_notifier **notifier)
nvchan = nouveau_channel(nvnotify->base.channel);
nvdev = nouveau_device(nvchan->base.device);
FIRE_RING(&nvchan->base);
f.channel = nvchan->drm.channel;
f.handle = nvnotify->base.handle;
drmCommandWrite(nvdev->fd, DRM_NOUVEAU_GPUOBJ_FREE, &f, sizeof(f));