Subversion Repositories Kolibri OS

Rev

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

Rev Author Line No. Line
1901 serge 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 */