1 /**
2  * \file buffers.h
3  * Frame buffer management functions declarations.
4  */
5 
6 /*
7  * Mesa 3-D graphics library
8  *
9  * Copyright (C) 1999-2007  Brian Paul   All Rights Reserved.
10  *
11  * Permission is hereby granted, free of charge, to any person obtaining a
12  * copy of this software and associated documentation files (the "Software"),
13  * to deal in the Software without restriction, including without limitation
14  * the rights to use, copy, modify, merge, publish, distribute, sublicense,
15  * and/or sell copies of the Software, and to permit persons to whom the
16  * Software is furnished to do so, subject to the following conditions:
17  *
18  * The above copyright notice and this permission notice shall be included
19  * in all copies or substantial portions of the Software.
20  *
21  * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
22  * OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
23  * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.  IN NO EVENT SHALL
24  * THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR
25  * OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE,
26  * ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
27  * OTHER DEALINGS IN THE SOFTWARE.
28  */
29 
30 
31 
32 #ifndef BUFFERS_H
33 #define BUFFERS_H
34 
35 
36 #include "glheader.h"
37 #include "menums.h"
38 
39 struct gl_context;
40 struct gl_framebuffer;
41 
42 
43 void GLAPIENTRY
44 _mesa_DrawBuffer_no_error(GLenum mode);
45 
46 extern void GLAPIENTRY
47 _mesa_DrawBuffer( GLenum mode );
48 
49 void GLAPIENTRY
50 _mesa_NamedFramebufferDrawBuffer_no_error(GLuint framebuffer, GLenum buf);
51 
52 extern void GLAPIENTRY
53 _mesa_NamedFramebufferDrawBuffer(GLuint framebuffer, GLenum buf);
54 
55 void GLAPIENTRY
56 _mesa_DrawBuffers_no_error(GLsizei n, const GLenum *buffers);
57 
58 extern void GLAPIENTRY
59 _mesa_DrawBuffers(GLsizei n, const GLenum *buffers);
60 
61 void GLAPIENTRY
62 _mesa_NamedFramebufferDrawBuffers_no_error(GLuint framebuffer, GLsizei n,
63                                            const GLenum *bufs);
64 
65 extern void GLAPIENTRY
66 _mesa_NamedFramebufferDrawBuffers(GLuint framebuffer, GLsizei n,
67                                   const GLenum *bufs);
68 
69 extern void
70 _mesa_drawbuffers(struct gl_context *ctx, struct gl_framebuffer *fb,
71                   GLuint n, const GLenum16 *buffers,
72                   const GLbitfield *destMask);
73 
74 extern void
75 _mesa_readbuffer(struct gl_context *ctx, struct gl_framebuffer *fb,
76                  GLenum buffer, gl_buffer_index bufferIndex);
77 
78 extern void
79 _mesa_update_draw_buffers(struct gl_context *ctx);
80 
81 extern GLenum
82 _mesa_back_to_front_if_single_buffered(const struct gl_framebuffer *fb,
83                                        GLenum buffer);
84 
85 void GLAPIENTRY
86 _mesa_ReadBuffer_no_error(GLenum mode);
87 
88 extern void GLAPIENTRY
89 _mesa_ReadBuffer( GLenum mode );
90 
91 void GLAPIENTRY
92 _mesa_NamedFramebufferReadBuffer_no_error(GLuint framebuffer, GLenum src);
93 
94 extern void GLAPIENTRY
95 _mesa_NamedFramebufferReadBuffer(GLuint framebuffer, GLenum src);
96 
97 extern void GLAPIENTRY
98 _mesa_FramebufferDrawBufferEXT(GLuint framebuffer, GLenum buf);
99 
100 extern void GLAPIENTRY
101 _mesa_FramebufferReadBufferEXT(GLuint framebuffer, GLenum buf);
102 
103 extern void GLAPIENTRY
104 _mesa_FramebufferDrawBuffersEXT(GLuint framebuffer, GLsizei n,
105                                 const GLenum *bufs);
106 #endif
107