From 68c365e2f040cb61266d6ef1309fb22d064ab0d0 Mon Sep 17 00:00:00 2001 From: Antony Riakiotakis Date: Fri, 8 Jun 2012 13:06:06 +0000 Subject: Index: source/blender/gpu/intern/gpu_draw.c =================================================================== --- source/blender/gpu/intern/gpu_draw.c (revision 47568) +++ source/blender/gpu/intern/gpu_draw.c (working copy) @@ -230,11 +230,12 @@ Image *ima, *curima; int domipmap, linearmipmap; + int texpaint; /* store this so that new images created while texture painting won't be set to mipmapped */ int alphablend; float anisotropic; MTFace *lasttface; -} GTS = {0, 0, 0, 0, 0, 0, 0, 0, NULL, NULL, 1, 0, -1, 1.f, NULL}; +} GTS = {0, 0, 0, 0, 0, 0, 0, 0, NULL, NULL, 1, 0, 0, -1, 1.f, NULL}; /* Mipmap settings */ @@ -256,7 +257,7 @@ static int gpu_get_mipmap(void) { - return GTS.domipmap; + return GTS.domipmap && !GTS.texpaint; } static GLenum gpu_get_mipmap_filter(int mag) @@ -730,6 +731,8 @@ if (!GTS.domipmap) return; + GTS.texpaint = !mipmap; + if (mipmap) { for (ima=G.main->image.first; ima; ima=ima->id.next) { if (ima->bindcode) { --- source/blender/gpu/intern/gpu_draw.c | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) (limited to 'source/blender/gpu') diff --git a/source/blender/gpu/intern/gpu_draw.c b/source/blender/gpu/intern/gpu_draw.c index 7ae4aa550f9..3e53f2f3836 100644 --- a/source/blender/gpu/intern/gpu_draw.c +++ b/source/blender/gpu/intern/gpu_draw.c @@ -230,11 +230,12 @@ static struct GPUTextureState { Image *ima, *curima; int domipmap, linearmipmap; + int texpaint; /* store this so that new images created while texture painting won't be set to mipmapped */ int alphablend; float anisotropic; MTFace *lasttface; -} GTS = {0, 0, 0, 0, 0, 0, 0, 0, NULL, NULL, 1, 0, -1, 1.f, NULL}; +} GTS = {0, 0, 0, 0, 0, 0, 0, 0, NULL, NULL, 1, 0, 0, -1, 1.f, NULL}; /* Mipmap settings */ @@ -256,7 +257,7 @@ void GPU_set_linear_mipmap(int linear) static int gpu_get_mipmap(void) { - return GTS.domipmap; + return GTS.domipmap && !GTS.texpaint; } static GLenum gpu_get_mipmap_filter(int mag) @@ -730,6 +731,8 @@ void GPU_paint_set_mipmap(int mipmap) if (!GTS.domipmap) return; + GTS.texpaint = !mipmap; + if (mipmap) { for (ima=G.main->image.first; ima; ima=ima->id.next) { if (ima->bindcode) { -- cgit v1.2.3