Fix issues with buffer aging when more than one dma buffer is discarded in
a cmdbuf, which could lead to hangs. Submitted by: Aapo Tahkolamain
parent
942545721f
commit
1cc1f49825
|
@ -623,7 +623,7 @@ static void r300_discard_buffer(drm_device_t * dev, drm_buf_t * buf)
|
|||
drm_radeon_private_t *dev_priv = dev->dev_private;
|
||||
drm_radeon_buf_priv_t *buf_priv = buf->dev_private;
|
||||
|
||||
buf_priv->age = dev_priv->sarea_priv->last_dispatch+1;
|
||||
buf_priv->age = ++dev_priv->sarea_priv->last_dispatch;
|
||||
buf->pending = 1;
|
||||
buf->used = 0;
|
||||
}
|
||||
|
@ -788,8 +788,6 @@ cleanup:
|
|||
if (emit_dispatch_age) {
|
||||
RING_LOCALS;
|
||||
|
||||
dev_priv->sarea_priv->last_dispatch++;
|
||||
|
||||
/* Emit the vertex buffer age */
|
||||
BEGIN_RING(2);
|
||||
RADEON_DISPATCH_AGE(dev_priv->sarea_priv->last_dispatch);
|
||||
|
|
Loading…
Reference in New Issue