17117f1b4Smrg/** 27117f1b4Smrg * \file buffers.h 37117f1b4Smrg * Frame buffer management functions declarations. 47117f1b4Smrg */ 57117f1b4Smrg 67117f1b4Smrg/* 77117f1b4Smrg * Mesa 3-D graphics library 87117f1b4Smrg * 9c1f859d4Smrg * Copyright (C) 1999-2007 Brian Paul All Rights Reserved. 107117f1b4Smrg * 117117f1b4Smrg * Permission is hereby granted, free of charge, to any person obtaining a 127117f1b4Smrg * copy of this software and associated documentation files (the "Software"), 137117f1b4Smrg * to deal in the Software without restriction, including without limitation 147117f1b4Smrg * the rights to use, copy, modify, merge, publish, distribute, sublicense, 157117f1b4Smrg * and/or sell copies of the Software, and to permit persons to whom the 167117f1b4Smrg * Software is furnished to do so, subject to the following conditions: 177117f1b4Smrg * 187117f1b4Smrg * The above copyright notice and this permission notice shall be included 197117f1b4Smrg * in all copies or substantial portions of the Software. 207117f1b4Smrg * 217117f1b4Smrg * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS 227117f1b4Smrg * OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 237117f1b4Smrg * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL 24af69d88dSmrg * THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR 25af69d88dSmrg * OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, 26af69d88dSmrg * ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR 27af69d88dSmrg * OTHER DEALINGS IN THE SOFTWARE. 287117f1b4Smrg */ 297117f1b4Smrg 307117f1b4Smrg 317117f1b4Smrg 327117f1b4Smrg#ifndef BUFFERS_H 337117f1b4Smrg#define BUFFERS_H 347117f1b4Smrg 357117f1b4Smrg 363464ebd5Sriastradh#include "glheader.h" 3701e04c3fSmrg#include "menums.h" 387117f1b4Smrg 393464ebd5Sriastradhstruct gl_context; 4001e04c3fSmrgstruct gl_framebuffer; 4101e04c3fSmrg 4201e04c3fSmrg 4301e04c3fSmrgvoid GLAPIENTRY 4401e04c3fSmrg_mesa_DrawBuffer_no_error(GLenum mode); 457117f1b4Smrg 467117f1b4Smrgextern void GLAPIENTRY 477117f1b4Smrg_mesa_DrawBuffer( GLenum mode ); 487117f1b4Smrg 4901e04c3fSmrgvoid GLAPIENTRY 5001e04c3fSmrg_mesa_NamedFramebufferDrawBuffer_no_error(GLuint framebuffer, GLenum buf); 5101e04c3fSmrg 5201e04c3fSmrgextern void GLAPIENTRY 5301e04c3fSmrg_mesa_NamedFramebufferDrawBuffer(GLuint framebuffer, GLenum buf); 5401e04c3fSmrg 5501e04c3fSmrgvoid GLAPIENTRY 5601e04c3fSmrg_mesa_DrawBuffers_no_error(GLsizei n, const GLenum *buffers); 5701e04c3fSmrg 587117f1b4Smrgextern void GLAPIENTRY 59af69d88dSmrg_mesa_DrawBuffers(GLsizei n, const GLenum *buffers); 607117f1b4Smrg 6101e04c3fSmrgvoid GLAPIENTRY 6201e04c3fSmrg_mesa_NamedFramebufferDrawBuffers_no_error(GLuint framebuffer, GLsizei n, 6301e04c3fSmrg const GLenum *bufs); 6401e04c3fSmrg 6501e04c3fSmrgextern void GLAPIENTRY 6601e04c3fSmrg_mesa_NamedFramebufferDrawBuffers(GLuint framebuffer, GLsizei n, 6701e04c3fSmrg const GLenum *bufs); 6801e04c3fSmrg 697117f1b4Smrgextern void 7001e04c3fSmrg_mesa_drawbuffers(struct gl_context *ctx, struct gl_framebuffer *fb, 7101e04c3fSmrg GLuint n, const GLenum16 *buffers, 727117f1b4Smrg const GLbitfield *destMask); 737117f1b4Smrg 74c1f859d4Smrgextern void 7501e04c3fSmrg_mesa_readbuffer(struct gl_context *ctx, struct gl_framebuffer *fb, 7601e04c3fSmrg GLenum buffer, gl_buffer_index bufferIndex); 773464ebd5Sriastradh 783464ebd5Sriastradhextern void 793464ebd5Sriastradh_mesa_update_draw_buffers(struct gl_context *ctx); 803464ebd5Sriastradh 817ec681f3Smrgextern GLenum 827ec681f3Smrg_mesa_back_to_front_if_single_buffered(const struct gl_framebuffer *fb, 837ec681f3Smrg GLenum buffer); 847ec681f3Smrg 8501e04c3fSmrgvoid GLAPIENTRY 8601e04c3fSmrg_mesa_ReadBuffer_no_error(GLenum mode); 877117f1b4Smrg 887117f1b4Smrgextern void GLAPIENTRY 89c1f859d4Smrg_mesa_ReadBuffer( GLenum mode ); 907117f1b4Smrg 9101e04c3fSmrgvoid GLAPIENTRY 9201e04c3fSmrg_mesa_NamedFramebufferReadBuffer_no_error(GLuint framebuffer, GLenum src); 9301e04c3fSmrg 9401e04c3fSmrgextern void GLAPIENTRY 9501e04c3fSmrg_mesa_NamedFramebufferReadBuffer(GLuint framebuffer, GLenum src); 9601e04c3fSmrg 977ec681f3Smrgextern void GLAPIENTRY 987ec681f3Smrg_mesa_FramebufferDrawBufferEXT(GLuint framebuffer, GLenum buf); 997117f1b4Smrg 1007ec681f3Smrgextern void GLAPIENTRY 1017ec681f3Smrg_mesa_FramebufferReadBufferEXT(GLuint framebuffer, GLenum buf); 1027ec681f3Smrg 1037ec681f3Smrgextern void GLAPIENTRY 1047ec681f3Smrg_mesa_FramebufferDrawBuffersEXT(GLuint framebuffer, GLsizei n, 1057ec681f3Smrg const GLenum *bufs); 1067117f1b4Smrg#endif 107