From c9add22b5e0a893f4899119ff3047e7b14485969 Mon Sep 17 00:00:00 2001 From: Campbell Barton Date: Sun, 30 Jun 2013 23:30:21 +0000 Subject: opengl debug info, make GPU_state_print() only show values in arrays that are set. (was print 32 values every time) --- source/blender/gpu/intern/gpu_draw.c | 12 +++++++++--- 1 file changed, 9 insertions(+), 3 deletions(-) (limited to 'source/blender/gpu/intern/gpu_draw.c') diff --git a/source/blender/gpu/intern/gpu_draw.c b/source/blender/gpu/intern/gpu_draw.c index cfdbf87785e..c3f78f8c28e 100644 --- a/source/blender/gpu/intern/gpu_draw.c +++ b/source/blender/gpu/intern/gpu_draw.c @@ -1891,15 +1891,21 @@ void GPU_state_init(void) /* 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"); } -- cgit v1.2.3