Subversion Repositories Kolibri OS

Rev

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

  1. /*
  2.  * Mesa 3-D graphics library
  3.  * Version:  6.5
  4.  *
  5.  * Copyright (C) 1999-2005  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. #ifndef RENDERBUFFER_H
  27. #define RENDERBUFFER_H
  28.  
  29. #include "glheader.h"
  30.  
  31. struct gl_context;
  32. struct gl_framebuffer;
  33. struct gl_renderbuffer;
  34.  
  35. extern void
  36. _mesa_init_renderbuffer(struct gl_renderbuffer *rb, GLuint name);
  37.  
  38. extern struct gl_renderbuffer *
  39. _mesa_new_renderbuffer(struct gl_context *ctx, GLuint name);
  40.  
  41. extern void
  42. _mesa_delete_renderbuffer(struct gl_renderbuffer *rb);
  43.  
  44.  
  45. extern struct gl_renderbuffer *
  46. _mesa_new_soft_renderbuffer(struct gl_context *ctx, GLuint name);
  47.  
  48.  
  49. extern GLboolean
  50. _mesa_soft_renderbuffer_storage(struct gl_context *ctx, struct gl_renderbuffer *rb,
  51.                                 GLenum internalFormat,
  52.                                 GLuint width, GLuint height);
  53.  
  54. extern GLboolean
  55. _mesa_add_color_renderbuffers(struct gl_context *ctx, struct gl_framebuffer *fb,
  56.                               GLuint rgbBits, GLuint alphaBits,
  57.                               GLboolean frontLeft, GLboolean backLeft,
  58.                               GLboolean frontRight, GLboolean backRight);
  59.  
  60. extern GLboolean
  61. _mesa_add_alpha_renderbuffers(struct gl_context *ctx, struct gl_framebuffer *fb,
  62.                               GLuint alphaBits,
  63.                               GLboolean frontLeft, GLboolean backLeft,
  64.                               GLboolean frontRight, GLboolean backRight);
  65.  
  66. extern void
  67. _mesa_copy_soft_alpha_renderbuffers(struct gl_context *ctx, struct gl_framebuffer *fb);
  68.  
  69. extern GLboolean
  70. _mesa_add_depth_renderbuffer(struct gl_context *ctx, struct gl_framebuffer *fb,
  71.                              GLuint depthBits);
  72.  
  73. extern GLboolean
  74. _mesa_add_stencil_renderbuffer(struct gl_context *ctx, struct gl_framebuffer *fb,
  75.                                GLuint stencilBits);
  76.  
  77.  
  78. extern GLboolean
  79. _mesa_add_accum_renderbuffer(struct gl_context *ctx, struct gl_framebuffer *fb,
  80.                              GLuint redBits, GLuint greenBits,
  81.                              GLuint blueBits, GLuint alphaBits);
  82.  
  83. extern GLboolean
  84. _mesa_add_aux_renderbuffers(struct gl_context *ctx, struct gl_framebuffer *fb,
  85.                             GLuint bits, GLuint numBuffers);
  86.  
  87. extern void
  88. _mesa_add_soft_renderbuffers(struct gl_framebuffer *fb,
  89.                              GLboolean color,
  90.                              GLboolean depth,
  91.                              GLboolean stencil,
  92.                              GLboolean accum,
  93.                              GLboolean alpha,
  94.                              GLboolean aux);
  95.  
  96. extern void
  97. _mesa_add_renderbuffer(struct gl_framebuffer *fb,
  98.                        GLuint bufferName, struct gl_renderbuffer *rb);
  99.  
  100. extern void
  101. _mesa_remove_renderbuffer(struct gl_framebuffer *fb, GLuint bufferName);
  102.  
  103. extern void
  104. _mesa_reference_renderbuffer(struct gl_renderbuffer **ptr,
  105.                              struct gl_renderbuffer *rb);
  106.  
  107. extern struct gl_renderbuffer *
  108. _mesa_new_depthstencil_renderbuffer(struct gl_context *ctx, GLuint name);
  109.  
  110.  
  111. #endif /* RENDERBUFFER_H */
  112.