Subversion Repositories Kolibri OS

Rev

Go to most recent revision | Blame | Last modification | View Log | RSS feed

  1. /*
  2.  * Mesa 3-D graphics library
  3.  *
  4.  * Copyright (C) 1999-2005  Brian Paul   All Rights Reserved.
  5.  *
  6.  * Permission is hereby granted, free of charge, to any person obtaining a
  7.  * copy of this software and associated documentation files (the "Software"),
  8.  * to deal in the Software without restriction, including without limitation
  9.  * the rights to use, copy, modify, merge, publish, distribute, sublicense,
  10.  * and/or sell copies of the Software, and to permit persons to whom the
  11.  * Software is furnished to do so, subject to the following conditions:
  12.  *
  13.  * The above copyright notice and this permission notice shall be included
  14.  * in all copies or substantial portions of the Software.
  15.  *
  16.  * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
  17.  * OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
  18.  * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.  IN NO EVENT SHALL
  19.  * THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR
  20.  * OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE,
  21.  * ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
  22.  * OTHER DEALINGS IN THE SOFTWARE.
  23.  */
  24.  
  25.  
  26. #ifndef RENDERBUFFER_H
  27. #define RENDERBUFFER_H
  28.  
  29. #include "glheader.h"
  30. #include "mtypes.h"
  31.  
  32. #ifdef __cplusplus
  33. extern "C" {
  34. #endif
  35.  
  36. struct gl_context;
  37. struct gl_framebuffer;
  38. struct gl_renderbuffer;
  39.  
  40. extern void
  41. _mesa_init_renderbuffer(struct gl_renderbuffer *rb, GLuint name);
  42.  
  43. extern struct gl_renderbuffer *
  44. _mesa_new_renderbuffer(struct gl_context *ctx, GLuint name);
  45.  
  46. extern void
  47. _mesa_delete_renderbuffer(struct gl_context *ctx, struct gl_renderbuffer *rb);
  48.  
  49. extern void
  50. _mesa_add_renderbuffer(struct gl_framebuffer *fb,
  51.                        gl_buffer_index bufferName, struct gl_renderbuffer *rb);
  52.  
  53. extern void
  54. _mesa_remove_renderbuffer(struct gl_framebuffer *fb,
  55.                           gl_buffer_index bufferName);
  56.  
  57. extern void
  58. _mesa_reference_renderbuffer_(struct gl_renderbuffer **ptr,
  59.                               struct gl_renderbuffer *rb);
  60.  
  61. static inline void
  62. _mesa_reference_renderbuffer(struct gl_renderbuffer **ptr,
  63.                              struct gl_renderbuffer *rb)
  64. {
  65.    if (*ptr != rb)
  66.       _mesa_reference_renderbuffer_(ptr, rb);
  67. }
  68.      
  69. #ifdef __cplusplus
  70. }
  71. #endif
  72.  
  73. #endif /* RENDERBUFFER_H */
  74.