[Bf-blender-cvs] SVN commit: /data/svn/bf-blender [25708] trunk/blender/source/blender/gpu: Added OpenGL debugging function to print state information, was using this as

Brecht Van Lommel brecht at blender.org
Mon Jan 4 17:28:59 CET 2010


Revision: 25708
          http://projects.blender.org/plugins/scmsvn/viewcvs.php?view=rev&root=bf-blender&revision=25708
Author:   blendix
Date:     2010-01-04 17:28:59 +0100 (Mon, 04 Jan 2010)

Log Message:
-----------
Added OpenGL debugging function to print state information, was using this as
a patch here for a while but might as well commit it.

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

Modified: trunk/blender/source/blender/gpu/GPU_draw.h
===================================================================
--- trunk/blender/source/blender/gpu/GPU_draw.h	2010-01-04 16:26:07 UTC (rev 25707)
+++ trunk/blender/source/blender/gpu/GPU_draw.h	2010-01-04 16:28:59 UTC (rev 25708)
@@ -57,6 +57,10 @@
 
 void GPU_state_init(void);
 
+/* Debugging */
+
+void GPU_state_print(void);
+
 /* Material drawing
  * - first the state is initialized by a particular object and
  *   it's materials

Modified: trunk/blender/source/blender/gpu/intern/gpu_draw.c
===================================================================
--- trunk/blender/source/blender/gpu/intern/gpu_draw.c	2010-01-04 16:26:07 UTC (rev 25707)
+++ trunk/blender/source/blender/gpu/intern/gpu_draw.c	2010-01-04 16:28:59 UTC (rev 25708)
@@ -1315,3 +1315,366 @@
 	glDisable(GL_CULL_FACE);
 }
 
+/* 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);
+	gpu_get_print("GL_MAP1_GRID_DOMAIN", GL_MAP1_GRID_DOMAIN);
+	gpu_get_print("GL_MAP1_GRID_SEGMENTS", GL_MAP1_GRID_SEGMENTS);
+	gpu_get_print("GL_MAP1_INDEX", GL_MAP1_INDEX);
+	gpu_get_print("GL_MAP1_NORMAL", GL_MAP1_NORMAL);
+	gpu_get_print("GL_MAP1_TEXTURE_COORD_1", GL_MAP1_TEXTURE_COORD_1);
+	gpu_get_print("GL_MAP1_TEXTURE_COORD_2", GL_MAP1_TEXTURE_COORD_2);
+	gpu_get_print("GL_MAP1_TEXTURE_COORD_3", GL_MAP1_TEXTURE_COORD_3);
+	gpu_get_print("GL_MAP1_TEXTURE_COORD_4", GL_MAP1_TEXTURE_COORD_4);
+	gpu_get_print("GL_MAP1_VERTEX_3", GL_MAP1_VERTEX_3);
+	gpu_get_print("GL_MAP1_VERTEX_4", GL_MAP1_VERTEX_4);
+	gpu_get_print("GL_MAP2_COLOR_4", GL_MAP2_COLOR_4);
+	gpu_get_print("GL_MAP2_GRID_DOMAIN", GL_MAP2_GRID_DOMAIN);
+	gpu_get_print("GL_MAP2_GRID_SEGMENTS", GL_MAP2_GRID_SEGMENTS);
+	gpu_get_print("GL_MAP2_INDEX", GL_MAP2_INDEX);
+	gpu_get_print("GL_MAP2_NORMAL", GL_MAP2_NORMAL);
+	gpu_get_print("GL_MAP2_TEXTURE_COORD_1", GL_MAP2_TEXTURE_COORD_1);
+	gpu_get_print("GL_MAP2_TEXTURE_COORD_2", GL_MAP2_TEXTURE_COORD_2);
+	gpu_get_print("GL_MAP2_TEXTURE_COORD_3", GL_MAP2_TEXTURE_COORD_3);
+	gpu_get_print("GL_MAP2_TEXTURE_COORD_4", GL_MAP2_TEXTURE_COORD_4);

@@ Diff output truncated at 10240 characters. @@




More information about the Bf-blender-cvs mailing list