filename | src/pvr2/glutil.h |
changeset | 1150:1038800cecd8 |
prev | 1140:7dc1c71ece76 |
next | 1159:580436b01b6c |
author | nkeynes |
date | Wed Jan 19 12:50:48 2011 +1000 (13 years ago) |
permissions | -rw-r--r-- |
last change | Rip out force_vsync - this didn't work even if it was turned on, which it wasn't |
view | annotate | diff | log | raw |
1 /**
2 * $Id$
3 *
4 * GL-based support functions
5 *
6 * Copyright (c) 2005 Nathan Keynes.
7 *
8 * This program is free software; you can redistribute it and/or modify
9 * it under the terms of the GNU General Public License as published by
10 * the Free Software Foundation; either version 2 of the License, or
11 * (at your option) any later version.
12 *
13 * This program is distributed in the hope that it will be useful,
14 * but WITHOUT ANY WARRANTY; without even the implied warranty of
15 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
16 * GNU General Public License for more details.
17 */
19 #ifndef lxdream_glutil_H
20 #define lxdream_glutil_H
22 #include <stdio.h>
23 #include "display.h"
24 #include "pvr2/shaders.h"
26 #ifdef __cplusplus
27 extern "C" {
28 #endif
30 /**
31 * Test if a specific extension is supported. From opengl.org
32 * @param extension extension name to check for
33 * @return TRUE if supported, otherwise FALSE.
34 */
35 gboolean isGLExtensionSupported( const char *extension );
37 /**
38 * Dump GL information to the output stream, usually for debugging purposes
39 */
40 void glPrintInfo( FILE *out );
42 /**
43 * Check for a GL error and print a message if there is one
44 * @param context If not null, a string to be printed along side an error message
45 * @return TRUE if there was an error, otherwise FALSE
46 */
47 gboolean gl_check_error( const char *context );
48 /**
49 * Test if secondary color (GL_COLOR_SUM) is supported.
50 */
51 gboolean isGLSecondaryColorSupported();
53 gboolean isGLVertexBufferSupported();
54 gboolean isGLVertexRangeSupported();
55 gboolean isGLPixelBufferSupported();
56 gboolean isGLMultitextureSupported();
57 gboolean isGLMirroredTextureSupported();
59 /****** Shader handling (gl_sl.c) *****/
60 gboolean glsl_is_supported(void);
61 const char *glsl_get_version(void);
62 gboolean glsl_load_shaders( );
63 void glsl_unload_shaders(void);
64 gboolean glsl_set_shader( unsigned program_id );
65 void glsl_clear_shader();
66 GLint glsl_get_uniform_location( unsigned program, const char *name );
67 void glsl_set_uniform_int( unsigned program, const char *name, GLint value );
69 /* Convenience formatting function for driver use */
70 void fprint_extensions( FILE *out, const char *extensions );
72 #ifdef __cplusplus
73 }
74 #endif
76 #endif /* !lxdream_glutil_H */
.