From 278ad74fe060ab8ba21d21b675a40f6758edaeca Mon Sep 17 00:00:00 2001 From: Andre Maasikas Date: Fri, 22 Jan 2010 12:57:01 +0200 Subject: radeon/fbo: flush rendering before generating mipmaps or maybe should flush(also) in finish_render_texture... --- src/mesa/drivers/dri/radeon/radeon_texture.c | 7 +++++++ 1 file changed, 7 insertions(+) (limited to 'src/mesa/drivers/dri/radeon') diff --git a/src/mesa/drivers/dri/radeon/radeon_texture.c b/src/mesa/drivers/dri/radeon/radeon_texture.c index 20a27ad9a7..4538e74eea 100644 --- a/src/mesa/drivers/dri/radeon/radeon_texture.c +++ b/src/mesa/drivers/dri/radeon/radeon_texture.c @@ -233,8 +233,15 @@ static void radeon_generate_mipmap(GLcontext *ctx, GLenum target, void radeonGenerateMipmap(GLcontext* ctx, GLenum target, struct gl_texture_object *texObj) { + radeonContextPtr rmesa = RADEON_CONTEXT(ctx); + struct radeon_bo *bo; GLuint face = _mesa_tex_target_to_face(target); radeon_texture_image *baseimage = get_radeon_texture_image(texObj->Image[face][texObj->BaseLevel]); + bo = !baseimage->mt ? baseimage->bo : baseimage->mt->bo; + + if (bo && radeon_bo_is_referenced_by_cs(bo, rmesa->cmdbuf.cs)) { + radeon_firevertices(rmesa); + } radeon_teximage_map(baseimage, GL_FALSE); radeon_generate_mipmap(ctx, target, texObj); -- cgit v1.2.3