From: Will Dyson Date: Tue, 25 May 2010 05:10:19 +0000 (-0400) Subject: Fallback to software render if there is no miptree for an image X-Git-Url: https://git.libre-soc.org/?a=commitdiff_plain;h=f49da110a81cc964100efa6a09e0fcdc7a35a935;p=mesa.git Fallback to software render if there is no miptree for an image This can happen when checking if a software fallback for a higher level operation (such as GenerateMipmap) is needed. Signed-off-by: Maciej Cencora Signed-off-by: Alex Deucher --- diff --git a/src/mesa/drivers/dri/radeon/radeon_fbo.c b/src/mesa/drivers/dri/radeon/radeon_fbo.c index 63986058356..517485091a2 100644 --- a/src/mesa/drivers/dri/radeon/radeon_fbo.c +++ b/src/mesa/drivers/dri/radeon/radeon_fbo.c @@ -506,9 +506,10 @@ radeon_render_texture(GLcontext * ctx, ASSERT(newImage); - if (newImage->Border != 0) { - /* Fallback on drawing to a texture with a border, which won't have a - * miptree. + radeon_image = (radeon_texture_image *)newImage; + + if (!radeon_image->mt || newImage->Border != 0) { + /* Fallback on drawing to a texture without a miptree. */ _mesa_reference_renderbuffer(&att->Renderbuffer, NULL); _mesa_render_texture(ctx, fb, att); @@ -539,7 +540,6 @@ radeon_render_texture(GLcontext * ctx, rrb->base.RefCount); /* point the renderbufer's region to the texture image region */ - radeon_image = (radeon_texture_image *)newImage; if (rrb->bo != radeon_image->mt->bo) { if (rrb->bo) radeon_bo_unref(rrb->bo);