[Bf-blender-cvs] SVN commit: /data/svn/bf-blender [57889] trunk/blender/source/blender/gpu/ intern/gpu_draw.c: opengl debug info, make GPU_state_print() only show values in arrays that are set.

Campbell Barton ideasman42 at gmail.com
Mon Jul 1 01:30:21 CEST 2013


Revision: 57889
          http://projects.blender.org/scm/viewvc.php?view=rev&root=bf-blender&revision=57889
Author:   campbellbarton
Date:     2013-06-30 23:30:21 +0000 (Sun, 30 Jun 2013)
Log Message:
-----------
opengl debug info, make GPU_state_print() only show values in arrays that are set. (was print 32 values every time)

Modified Paths:
--------------
    trunk/blender/source/blender/gpu/intern/gpu_draw.c

Modified: trunk/blender/source/blender/gpu/intern/gpu_draw.c
===================================================================
--- trunk/blender/source/blender/gpu/intern/gpu_draw.c	2013-06-30 22:04:03 UTC (rev 57888)
+++ trunk/blender/source/blender/gpu/intern/gpu_draw.c	2013-06-30 23:30:21 UTC (rev 57889)
@@ -1891,15 +1891,21 @@
 /* debugging aid */
 static void gpu_get_print(const char *name, GLenum type)
 {
+	const unsigned char err_mark[4] = {0xff, 0xff, 0xff, 0xff};
+
 	float value[32];
 	int a;
-	
-	memset(value, 0, sizeof(value));
+
+	memset(value, 0xff, sizeof(value));
 	glGetFloatv(type, value);
 
 	printf("%s: ", name);
-	for (a = 0; a < 32; a++)
+	for (a = 0; a < 32; a++) {
+		if (memcmp(&value[a], err_mark, sizeof(value[a])) == 0) {
+			break;
+		}
 		printf("%.2f ", value[a]);
+	}
 	printf("\n");
 }
 




More information about the Bf-blender-cvs mailing list