Search
lxdream.org :: lxdream/src/drivers/gl_common.h
lxdream 0.9.1
released Jun 29
Download Now
filename src/drivers/gl_common.h
changeset 405:570d93abb5b7
prev352:f0df7a6d4703
next429:e581b90c3fb3
author nkeynes
date Fri Sep 28 07:24:14 2007 +0000 (12 years ago)
permissions -rw-r--r--
last change Add GLSL loader framework
view annotate diff log raw
     1 /**
     2  * $Id: gl_common.h,v 1.2 2007-09-28 07:24:14 nkeynes Exp $
     3  *
     4  * Parent for all X11 display drivers.
     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 video_gl_common_H
    20 #define video_gl_common_H
    22 #include "display.h"
    24 /**
    25  * Test if a specific extension is supported. From opengl.org
    26  * @param extension extension name to check for
    27  * @return TRUE if supported, otherwise FALSE.
    28  */
    29 gboolean isGLExtensionSupported( const char *extension );
    31 gboolean hasRequiredGLExtensions();
    33 /**
    34  * Generic GL routine to draw the given frame buffer in the display view.
    35  */
    36 gboolean gl_display_frame_buffer( frame_buffer_t frame );
    38 /**
    39  * Generic GL routine to blank the display view with the specified colour.
    40  */
    41 gboolean gl_display_blank( uint32_t colour );
    44 /**
    45  * Generic GL read_render_buffer. This function assumes that the caller
    46  * has already set the appropriate glReadBuffer(); in other words, unless
    47  * there's only one buffer this needs to be wrapped.
    48  */
    49 gboolean gl_read_render_buffer( render_buffer_t buffer, char *target );
    52 /****** FBO handling (gl_fbo.c) ******/
    53 gboolean gl_fbo_is_supported();
    54 void gl_fbo_shutdown();
    55 void gl_fbo_init( display_driver_t driver );
    57 /****** Shader handling (gl_sl.c) *****/
    58 gboolean glsl_is_supported(void);
    59 gboolean glsl_load_shaders( const char *vert_shader, const char *frag_shader );
    60 void glsl_unload_shaders(void);
    62 extern const char *glsl_vertex_shader_src;
    63 extern const char *glsl_fragment_shader_src;
    65 #endif /* !video_gl_common_H */
.