1 /*
2  * Mesa 3-D graphics library
3  * Version:  6.1
4  *
5  * Copyright (C) 1999-2004  Brian Paul   All Rights Reserved.
6  *
7  * Permission is hereby granted, free of charge, to any person obtaining a
8  * copy of this software and associated documentation files (the "Software"),
9  * to deal in the Software without restriction, including without limitation
10  * the rights to use, copy, modify, merge, publish, distribute, sublicense,
11  * and/or sell copies of the Software, and to permit persons to whom the
12  * Software is furnished to do so, subject to the following conditions:
13  *
14  * The above copyright notice and this permission notice shall be included
15  * in all copies or substantial portions of the Software.
16  *
17  * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
18  * OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
19  * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.  IN NO EVENT SHALL
20  * BRIAN PAUL BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN
21  * AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
22  * CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
23  */
24 
25 /**
26  * \file debug.h
27  * Debugging functions.
28  *
29  * \if subset
30  * (No-op)
31  *
32  * \endif
33  */
34 
35 
36 #ifndef _DEBUG_H
37 #define _DEBUG_H
38 
39 #include "glheader.h"
40 #include "mfeatures.h"
41 
42 struct gl_context;
43 struct gl_texture_image;
44 
45 #if _HAVE_FULL_GL
46 
47 extern void _mesa_print_tri_caps( const char *name, GLuint flags );
48 extern void _mesa_print_enable_flags( const char *msg, GLuint flags );
49 extern void _mesa_print_state( const char *msg, GLuint state );
50 extern void _mesa_print_info( void );
51 extern void _mesa_init_debug( struct gl_context *ctx );
52 
53 #else
54 
55 /** No-op */
56 #define _mesa_print_state( m, s ) ((void)0)
57 
58 /** No-op */
59 #define _mesa_print_info() ((void)0)
60 
61 /** No-op */
62 #define _mesa_init_debug( c ) ((void)0)
63 
64 #endif
65 
66 extern void
67 _mesa_write_renderbuffer_image(const struct gl_renderbuffer *rb);
68 
69 extern void
70 _mesa_dump_texture(GLuint texture, GLuint writeImages);
71 
72 extern void
73 _mesa_dump_textures(GLuint writeImages);
74 
75 extern void
76 _mesa_dump_renderbuffers(GLboolean writeImages);
77 
78 extern void
79 _mesa_dump_color_buffer(const char *filename);
80 
81 extern void
82 _mesa_dump_depth_buffer(const char *filename);
83 
84 extern void
85 _mesa_dump_stencil_buffer(const char *filename);
86 
87 extern void
88 _mesa_dump_image(const char *filename, const void *image, GLuint w, GLuint h,
89                  GLenum format, GLenum type);
90 
91 extern void
92 _mesa_print_texture(struct gl_context *ctx, struct gl_texture_image *img);
93 
94 #endif
95