radeon/r200/r300: fix missing dma buffer validation

this make gnome shell run
This commit is contained in:
Dave Airlie 2009-04-07 15:05:53 +10:00
parent 23478f1c03
commit 86556f8bda
4 changed files with 9 additions and 4 deletions

View file

@ -2308,6 +2308,9 @@ static GLboolean r200ValidateBuffers(GLcontext *ctx)
RADEON_GEM_DOMAIN_GTT | RADEON_GEM_DOMAIN_VRAM, 0);
}
if (rmesa->radeon.dma.current)
radeon_validate_bo(&rmesa->radeon, rmesa->radeon.dma.current, RADEON_GEM_DOMAIN_GTT, 0);
return radeon_revalidate_bos(ctx);
}

View file

@ -313,6 +313,8 @@ GLboolean r300ValidateBuffers(GLcontext * ctx)
radeon_validate_bo(&rmesa->radeon, t->mt->bo,
RADEON_GEM_DOMAIN_GTT | RADEON_GEM_DOMAIN_VRAM, 0);
}
if (rmesa->radeon.dma.current)
radeon_validate_bo(&rmesa->radeon, rmesa->radeon.dma.current, RADEON_GEM_DOMAIN_GTT, 0);
return radeon_revalidate_bos(ctx);
}

View file

@ -789,14 +789,10 @@ void radeon_draw_buffer(GLcontext *ctx, struct gl_framebuffer *fb)
*/
void radeonDrawBuffer( GLcontext *ctx, GLenum mode )
{
radeonContextPtr radeon = RADEON_CONTEXT(ctx);
if (RADEON_DEBUG & DEBUG_DRI)
fprintf(stderr, "%s %s\n", __FUNCTION__,
_mesa_lookup_enum_by_nr( mode ));
radeon_firevertices(radeon); /* don't pipeline cliprect changes */
radeon_draw_buffer(ctx, ctx->DrawBuffer);
}

View file

@ -2082,6 +2082,10 @@ static GLboolean r100ValidateBuffers(GLcontext *ctx)
RADEON_GEM_DOMAIN_GTT | RADEON_GEM_DOMAIN_VRAM, 0);
}
if (rmesa->radeon.dma.current)
radeon_validate_bo(&rmesa->radeon, rmesa->radeon.dma.current,
RADEON_GEM_DOMAIN_GTT, 0);
return radeon_revalidate_bos(ctx);
}