[Bf-blender-cvs] SVN commit: /data/svn/bf-blender [54502] trunk/blender/source/blender: Bug fix #34213 (2)

Ton Roosendaal ton at blender.org
Tue Feb 12 16:51:05 CET 2013


Revision: 54502
          http://projects.blender.org/scm/viewvc.php?view=rev&root=bf-blender&revision=54502
Author:   ton
Date:     2013-02-12 15:51:05 +0000 (Tue, 12 Feb 2013)
Log Message:
-----------
Bug fix #34213 (2)

Adding non-RGBA float buffers as texture crashes MipMap code.
Images with less than 4 channels not supported (yet). Not sure
if we ever should even... normals, Z, vectors, UV, Index, all
don't like downsampling.

Modified Paths:
--------------
    trunk/blender/source/blender/imbuf/intern/filter.c
    trunk/blender/source/blender/render/intern/source/imagetexture.c

Modified: trunk/blender/source/blender/imbuf/intern/filter.c
===================================================================
--- trunk/blender/source/blender/imbuf/intern/filter.c	2013-02-12 15:49:48 UTC (rev 54501)
+++ trunk/blender/source/blender/imbuf/intern/filter.c	2013-02-12 15:51:05 UTC (rev 54502)
@@ -506,6 +506,10 @@
 
 	imb_freemipmapImBuf(ibuf);
 	
+	/* no mipmap for non RGBA images */
+	if (ibuf->rect_float && ibuf->channels < 4)
+		return;
+	
 	ibuf->miptot = 1;
 
 	while (curmap < IB_MIPMAP_LEVELS) {

Modified: trunk/blender/source/blender/render/intern/source/imagetexture.c
===================================================================
--- trunk/blender/source/blender/render/intern/source/imagetexture.c	2013-02-12 15:49:48 UTC (rev 54501)
+++ trunk/blender/source/blender/render/intern/source/imagetexture.c	2013-02-12 15:51:05 UTC (rev 54502)
@@ -1042,6 +1042,9 @@
 					IMB_makemipmap(ibuf, tex->imaflag & TEX_GAUSS_MIP);
 				BLI_unlock_thread(LOCK_IMAGE);
 			}
+			/* if no mipmap could be made, fall back on non-mipmap render */
+			if (ibuf->mipmap[0] == NULL)
+				if (tex->imaflag &= ~TEX_MIPMAP);
 		}
 	}
 	




More information about the Bf-blender-cvs mailing list