[Bf-blender-cvs] SVN commit: /data/svn/bf-blender [48326] branches/soc-2012-swiss_cheese/ source/blender/gpu: moved debug print of GPU state to separate file for better reporting ( also makes a clean place to put debugging functions)

Jason Wilkins Jason.A.Wilkins at gmail.com
Wed Jun 27 07:35:35 CEST 2012


Revision: 48326
          http://projects.blender.org/scm/viewvc.php?view=rev&root=bf-blender&revision=48326
Author:   jwilkins
Date:     2012-06-27 05:35:33 +0000 (Wed, 27 Jun 2012)
Log Message:
-----------
moved debug print of GPU state to separate file for better reporting (also makes a clean place to put debugging functions)

Modified Paths:
--------------
    branches/soc-2012-swiss_cheese/source/blender/gpu/CMakeLists.txt
    branches/soc-2012-swiss_cheese/source/blender/gpu/intern/gpu_draw.c

Added Paths:
-----------
    branches/soc-2012-swiss_cheese/source/blender/gpu/intern/gpu_debug.c

Modified: branches/soc-2012-swiss_cheese/source/blender/gpu/CMakeLists.txt
===================================================================
--- branches/soc-2012-swiss_cheese/source/blender/gpu/CMakeLists.txt	2012-06-27 05:33:39 UTC (rev 48325)
+++ branches/soc-2012-swiss_cheese/source/blender/gpu/CMakeLists.txt	2012-06-27 05:35:33 UTC (rev 48326)
@@ -47,6 +47,7 @@
 set(SRC
 	intern/gpu_buffers.c
 	intern/gpu_codegen.c
+    intern/gpu_debug.c
 	intern/gpu_draw.c
 	intern/gpu_extensions.c
 	intern/gpu_immediate.c

Added: branches/soc-2012-swiss_cheese/source/blender/gpu/intern/gpu_debug.c
===================================================================
--- branches/soc-2012-swiss_cheese/source/blender/gpu/intern/gpu_debug.c	                        (rev 0)
+++ branches/soc-2012-swiss_cheese/source/blender/gpu/intern/gpu_debug.c	2012-06-27 05:35:33 UTC (rev 48326)
@@ -0,0 +1,399 @@
+/*
+ * ***** BEGIN GPL LICENSE BLOCK *****
+ *
+ * This program is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU General Public License
+ * as published by the Free Software Foundation; either version 2
+ * of the License, or (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
+ *
+ * The Original Code is Copyright (C) 2005 Blender Foundation.
+ * All rights reserved.
+ *
+ * The Original Code is: all of this file.
+ *
+ * Contributor(s): Brecht Van Lommel.
+ *
+ * ***** END GPL LICENSE BLOCK *****
+ */
+
+/** \file blender/gpu/intern/gpu_debug.c
+ *  \ingroup gpu
+ */
+
+
+#include <stdio.h>
+#include <string.h>
+#include <GL/glew.h>
+
+/* debugging aid */
+static void gpu_get_print(const char *name, GLenum type)
+{
+	float value[16];
+	int a;
+	
+	memset(value, 0, sizeof(value));
+	glGetFloatv(type, value);
+
+	printf("%s: ", name);
+	for (a=0; a<16; a++)
+		printf("%.2f ", value[a]);
+	printf("\n");
+}
+
+void GPU_state_print(void)
+{
+	gpu_get_print("GL_ACCUM_ALPHA_BITS", GL_ACCUM_ALPHA_BITS);
+	gpu_get_print("GL_ACCUM_BLUE_BITS", GL_ACCUM_BLUE_BITS);
+	gpu_get_print("GL_ACCUM_CLEAR_VALUE", GL_ACCUM_CLEAR_VALUE);
+	gpu_get_print("GL_ACCUM_GREEN_BITS", GL_ACCUM_GREEN_BITS);
+	gpu_get_print("GL_ACCUM_RED_BITS", GL_ACCUM_RED_BITS);
+	gpu_get_print("GL_ACTIVE_TEXTURE", GL_ACTIVE_TEXTURE);
+	gpu_get_print("GL_ALIASED_POINT_SIZE_RANGE", GL_ALIASED_POINT_SIZE_RANGE);
+	gpu_get_print("GL_ALIASED_LINE_WIDTH_RANGE", GL_ALIASED_LINE_WIDTH_RANGE);
+	gpu_get_print("GL_ALPHA_BIAS", GL_ALPHA_BIAS);
+	gpu_get_print("GL_ALPHA_BITS", GL_ALPHA_BITS);
+	gpu_get_print("GL_ALPHA_SCALE", GL_ALPHA_SCALE);
+	gpu_get_print("GL_ALPHA_TEST", GL_ALPHA_TEST);
+	gpu_get_print("GL_ALPHA_TEST_FUNC", GL_ALPHA_TEST_FUNC);
+	gpu_get_print("GL_ALPHA_TEST_REF", GL_ALPHA_TEST_REF);
+	gpu_get_print("GL_ARRAY_BUFFER_BINDING", GL_ARRAY_BUFFER_BINDING);
+	gpu_get_print("GL_ATTRIB_STACK_DEPTH", GL_ATTRIB_STACK_DEPTH);
+	gpu_get_print("GL_AUTO_NORMAL", GL_AUTO_NORMAL);
+	gpu_get_print("GL_AUX_BUFFERS", GL_AUX_BUFFERS);
+	gpu_get_print("GL_BLEND", GL_BLEND);
+	gpu_get_print("GL_BLEND_COLOR", GL_BLEND_COLOR);
+	gpu_get_print("GL_BLEND_DST_ALPHA", GL_BLEND_DST_ALPHA);
+	gpu_get_print("GL_BLEND_DST_RGB", GL_BLEND_DST_RGB);
+	gpu_get_print("GL_BLEND_EQUATION_RGB", GL_BLEND_EQUATION_RGB);
+	gpu_get_print("GL_BLEND_EQUATION_ALPHA", GL_BLEND_EQUATION_ALPHA);
+	gpu_get_print("GL_BLEND_SRC_ALPHA", GL_BLEND_SRC_ALPHA);
+	gpu_get_print("GL_BLEND_SRC_RGB", GL_BLEND_SRC_RGB);
+	gpu_get_print("GL_BLUE_BIAS", GL_BLUE_BIAS);
+	gpu_get_print("GL_BLUE_BITS", GL_BLUE_BITS);
+	gpu_get_print("GL_BLUE_SCALE", GL_BLUE_SCALE);
+	gpu_get_print("GL_CLIENT_ACTIVE_TEXTURE", GL_CLIENT_ACTIVE_TEXTURE);
+	gpu_get_print("GL_CLIENT_ATTRIB_STACK_DEPTH", GL_CLIENT_ATTRIB_STACK_DEPTH);
+	gpu_get_print("GL_CLIP_PLANE0", GL_CLIP_PLANE0);
+	gpu_get_print("GL_COLOR_ARRAY", GL_COLOR_ARRAY);
+	gpu_get_print("GL_COLOR_ARRAY_BUFFER_BINDING", GL_COLOR_ARRAY_BUFFER_BINDING);
+	gpu_get_print("GL_COLOR_ARRAY_SIZE", GL_COLOR_ARRAY_SIZE);
+	gpu_get_print("GL_COLOR_ARRAY_STRIDE", GL_COLOR_ARRAY_STRIDE);
+	gpu_get_print("GL_COLOR_ARRAY_TYPE", GL_COLOR_ARRAY_TYPE);
+	gpu_get_print("GL_COLOR_CLEAR_VALUE", GL_COLOR_CLEAR_VALUE);
+	gpu_get_print("GL_COLOR_LOGIC_OP", GL_COLOR_LOGIC_OP);
+	gpu_get_print("GL_COLOR_MATERIAL", GL_COLOR_MATERIAL);
+	gpu_get_print("GL_COLOR_MATERIAL_FACE", GL_COLOR_MATERIAL_FACE);
+	gpu_get_print("GL_COLOR_MATERIAL_PARAMETER", GL_COLOR_MATERIAL_PARAMETER);
+	gpu_get_print("GL_COLOR_MATRIX", GL_COLOR_MATRIX);
+	gpu_get_print("GL_COLOR_MATRIX_STACK_DEPTH", GL_COLOR_MATRIX_STACK_DEPTH);
+	gpu_get_print("GL_COLOR_SUM", GL_COLOR_SUM);
+	gpu_get_print("GL_COLOR_TABLE", GL_COLOR_TABLE);
+	gpu_get_print("GL_COLOR_WRITEMASK", GL_COLOR_WRITEMASK);
+	gpu_get_print("GL_COMPRESSED_TEXTURE_FORMATS", GL_COMPRESSED_TEXTURE_FORMATS);
+	gpu_get_print("GL_CONVOLUTION_1D", GL_CONVOLUTION_1D);
+	gpu_get_print("GL_CONVOLUTION_2D", GL_CONVOLUTION_2D);
+	gpu_get_print("GL_CULL_FACE", GL_CULL_FACE);
+	gpu_get_print("GL_CULL_FACE_MODE", GL_CULL_FACE_MODE);
+	gpu_get_print("GL_CURRENT_COLOR", GL_CURRENT_COLOR);
+	gpu_get_print("GL_CURRENT_FOG_COORD", GL_CURRENT_FOG_COORD);
+	gpu_get_print("GL_CURRENT_INDEX", GL_CURRENT_INDEX);
+	gpu_get_print("GL_CURRENT_NORMAL", GL_CURRENT_NORMAL);
+	gpu_get_print("GL_CURRENT_PROGRAM", GL_CURRENT_PROGRAM);
+	gpu_get_print("GL_CURRENT_RASTER_COLOR", GL_CURRENT_RASTER_COLOR);
+	gpu_get_print("GL_CURRENT_RASTER_DISTANCE", GL_CURRENT_RASTER_DISTANCE);
+	gpu_get_print("GL_CURRENT_RASTER_INDEX", GL_CURRENT_RASTER_INDEX);
+	gpu_get_print("GL_CURRENT_RASTER_POSITION", GL_CURRENT_RASTER_POSITION);
+	gpu_get_print("GL_CURRENT_RASTER_POSITION_VALID", GL_CURRENT_RASTER_POSITION_VALID);
+	gpu_get_print("GL_CURRENT_RASTER_SECONDARY_COLOR", GL_CURRENT_RASTER_SECONDARY_COLOR);
+	gpu_get_print("GL_CURRENT_RASTER_TEXTURE_COORDS", GL_CURRENT_RASTER_TEXTURE_COORDS);
+	gpu_get_print("GL_CURRENT_SECONDARY_COLOR", GL_CURRENT_SECONDARY_COLOR);
+	gpu_get_print("GL_CURRENT_TEXTURE_COORDS", GL_CURRENT_TEXTURE_COORDS);
+	gpu_get_print("GL_DEPTH_BIAS", GL_DEPTH_BIAS);
+	gpu_get_print("GL_DEPTH_BITS", GL_DEPTH_BITS);
+	gpu_get_print("GL_DEPTH_CLEAR_VALUE", GL_DEPTH_CLEAR_VALUE);
+	gpu_get_print("GL_DEPTH_FUNC", GL_DEPTH_FUNC);
+	gpu_get_print("GL_DEPTH_RANGE", GL_DEPTH_RANGE);
+	gpu_get_print("GL_DEPTH_SCALE", GL_DEPTH_SCALE);
+	gpu_get_print("GL_DEPTH_TEST", GL_DEPTH_TEST);
+	gpu_get_print("GL_DEPTH_WRITEMASK", GL_DEPTH_WRITEMASK);
+	gpu_get_print("GL_DITHER", GL_DITHER);
+	gpu_get_print("GL_DOUBLEBUFFER", GL_DOUBLEBUFFER);
+	gpu_get_print("GL_DRAW_BUFFER", GL_DRAW_BUFFER);
+	gpu_get_print("GL_DRAW_BUFFER0", GL_DRAW_BUFFER0);
+	gpu_get_print("GL_EDGE_FLAG", GL_EDGE_FLAG);
+	gpu_get_print("GL_EDGE_FLAG_ARRAY", GL_EDGE_FLAG_ARRAY);
+	gpu_get_print("GL_EDGE_FLAG_ARRAY_BUFFER_BINDING", GL_EDGE_FLAG_ARRAY_BUFFER_BINDING);
+	gpu_get_print("GL_EDGE_FLAG_ARRAY_STRIDE", GL_EDGE_FLAG_ARRAY_STRIDE);
+	gpu_get_print("GL_ELEMENT_ARRAY_BUFFER_BINDING", GL_ELEMENT_ARRAY_BUFFER_BINDING);
+	gpu_get_print("GL_FEEDBACK_BUFFER_SIZE", GL_FEEDBACK_BUFFER_SIZE);
+	gpu_get_print("GL_FEEDBACK_BUFFER_TYPE", GL_FEEDBACK_BUFFER_TYPE);
+	gpu_get_print("GL_FOG", GL_FOG);
+	gpu_get_print("GL_FOG_COORD_ARRAY", GL_FOG_COORD_ARRAY);
+	gpu_get_print("GL_FOG_COORD_ARRAY_BUFFER_BINDING", GL_FOG_COORD_ARRAY_BUFFER_BINDING);
+	gpu_get_print("GL_FOG_COORD_ARRAY_STRIDE", GL_FOG_COORD_ARRAY_STRIDE);
+	gpu_get_print("GL_FOG_COORD_ARRAY_TYPE", GL_FOG_COORD_ARRAY_TYPE);
+	gpu_get_print("GL_FOG_COORD_SRC", GL_FOG_COORD_SRC);
+	gpu_get_print("GL_FOG_COLOR", GL_FOG_COLOR);
+	gpu_get_print("GL_FOG_DENSITY", GL_FOG_DENSITY);
+	gpu_get_print("GL_FOG_END", GL_FOG_END);
+	gpu_get_print("GL_FOG_HINT", GL_FOG_HINT);
+	gpu_get_print("GL_FOG_INDEX", GL_FOG_INDEX);
+	gpu_get_print("GL_FOG_MODE", GL_FOG_MODE);
+	gpu_get_print("GL_FOG_START", GL_FOG_START);
+	gpu_get_print("GL_FRAGMENT_SHADER_DERIVATIVE_HINT", GL_FRAGMENT_SHADER_DERIVATIVE_HINT);
+	gpu_get_print("GL_FRONT_FACE", GL_FRONT_FACE);
+	gpu_get_print("GL_GENERATE_MIPMAP_HINT", GL_GENERATE_MIPMAP_HINT);
+	gpu_get_print("GL_GREEN_BIAS", GL_GREEN_BIAS);
+	gpu_get_print("GL_GREEN_BITS", GL_GREEN_BITS);
+	gpu_get_print("GL_GREEN_SCALE", GL_GREEN_SCALE);
+	gpu_get_print("GL_HISTOGRAM", GL_HISTOGRAM);
+	gpu_get_print("GL_INDEX_ARRAY", GL_INDEX_ARRAY);
+	gpu_get_print("GL_INDEX_ARRAY_BUFFER_BINDING", GL_INDEX_ARRAY_BUFFER_BINDING);
+	gpu_get_print("GL_INDEX_ARRAY_STRIDE", GL_INDEX_ARRAY_STRIDE);
+	gpu_get_print("GL_INDEX_ARRAY_TYPE", GL_INDEX_ARRAY_TYPE);
+	gpu_get_print("GL_INDEX_BITS", GL_INDEX_BITS);
+	gpu_get_print("GL_INDEX_CLEAR_VALUE", GL_INDEX_CLEAR_VALUE);
+	gpu_get_print("GL_INDEX_LOGIC_OP", GL_INDEX_LOGIC_OP);
+	gpu_get_print("GL_INDEX_MODE", GL_INDEX_MODE);
+	gpu_get_print("GL_INDEX_OFFSET", GL_INDEX_OFFSET);
+	gpu_get_print("GL_INDEX_SHIFT", GL_INDEX_SHIFT);
+	gpu_get_print("GL_INDEX_WRITEMASK", GL_INDEX_WRITEMASK);
+	gpu_get_print("GL_LIGHT0", GL_LIGHT0);
+	gpu_get_print("GL_LIGHTING", GL_LIGHTING);
+	gpu_get_print("GL_LIGHT_MODEL_AMBIENT", GL_LIGHT_MODEL_AMBIENT);
+	gpu_get_print("GL_LIGHT_MODEL_COLOR_CONTROL", GL_LIGHT_MODEL_COLOR_CONTROL);
+	gpu_get_print("GL_LIGHT_MODEL_LOCAL_VIEWER", GL_LIGHT_MODEL_LOCAL_VIEWER);
+	gpu_get_print("GL_LIGHT_MODEL_TWO_SIDE", GL_LIGHT_MODEL_TWO_SIDE);
+	gpu_get_print("GL_LINE_SMOOTH", GL_LINE_SMOOTH);
+	gpu_get_print("GL_LINE_SMOOTH_HINT", GL_LINE_SMOOTH_HINT);
+	gpu_get_print("GL_LINE_STIPPLE", GL_LINE_STIPPLE);
+	gpu_get_print("GL_LINE_STIPPLE_PATTERN", GL_LINE_STIPPLE_PATTERN);
+	gpu_get_print("GL_LINE_STIPPLE_REPEAT", GL_LINE_STIPPLE_REPEAT);
+	gpu_get_print("GL_LINE_WIDTH", GL_LINE_WIDTH);
+	gpu_get_print("GL_LINE_WIDTH_GRANULARITY", GL_LINE_WIDTH_GRANULARITY);
+	gpu_get_print("GL_LINE_WIDTH_RANGE", GL_LINE_WIDTH_RANGE);
+	gpu_get_print("GL_LIST_BASE", GL_LIST_BASE);
+	gpu_get_print("GL_LIST_INDEX", GL_LIST_INDEX);
+	gpu_get_print("GL_LIST_MODE", GL_LIST_MODE);
+	gpu_get_print("GL_LOGIC_OP_MODE", GL_LOGIC_OP_MODE);
+	gpu_get_print("GL_MAP1_COLOR_4", GL_MAP1_COLOR_4);

@@ Diff output truncated at 10240 characters. @@



More information about the Bf-blender-cvs mailing list