From: Will Dyson Date: Tue, 25 May 2010 05:10:21 +0000 (-0400) Subject: Enable hardware mipmap generation for radeon. X-Git-Url: https://git.libre-soc.org/?a=commitdiff_plain;h=055750fafba58fd2ee0f5611b566a71ab0f22984;p=mesa.git Enable hardware mipmap generation for radeon. Use _mesa_meta_GenerateMipmap. It is Fast Enough(tm). Signed-off-by: Maciej Cencora Signed-off-by: Alex Deucher --- diff --git a/src/mesa/drivers/dri/radeon/radeon_texture.c b/src/mesa/drivers/dri/radeon/radeon_texture.c index 5cb33a4751d..bcac125baf4 100644 --- a/src/mesa/drivers/dri/radeon/radeon_texture.c +++ b/src/mesa/drivers/dri/radeon/radeon_texture.c @@ -39,6 +39,7 @@ #include "main/texstore.h" #include "main/teximage.h" #include "main/texobj.h" +#include "drivers/common/meta.h" #include "xmlpool.h" /* for symbolic values of enum-type options */ @@ -294,9 +295,13 @@ void radeonGenerateMipmap(GLcontext* ctx, GLenum target, struct gl_texture_objec radeon_firevertices(rmesa); } - radeon_teximage_map(baseimage, GL_FALSE); - radeon_generate_mipmap(ctx, target, texObj); - radeon_teximage_unmap(baseimage); + if (_mesa_meta_check_generate_mipmap_fallback(ctx, target, texObj)) { + radeon_teximage_map(baseimage, GL_FALSE); + radeon_generate_mipmap(ctx, target, texObj); + radeon_teximage_unmap(baseimage); + } else { + _mesa_meta_GenerateMipmap(ctx, target, texObj); + } }