1ddc82eefca591f0ee93d3a77e1268571629a6d5cBrian Paul/* 2ddc82eefca591f0ee93d3a77e1268571629a6d5cBrian Paul * Mesa 3-D graphics library 33dc6591a7c85b6a05551ce91b69e57d23148bf57Brian Paul * Version: 7.1 4ddc82eefca591f0ee93d3a77e1268571629a6d5cBrian Paul * 53dc6591a7c85b6a05551ce91b69e57d23148bf57Brian Paul * Copyright (C) 1999-2008 Brian Paul All Rights Reserved. 6ddc82eefca591f0ee93d3a77e1268571629a6d5cBrian Paul * 7ddc82eefca591f0ee93d3a77e1268571629a6d5cBrian Paul * Permission is hereby granted, free of charge, to any person obtaining a 8ddc82eefca591f0ee93d3a77e1268571629a6d5cBrian Paul * copy of this software and associated documentation files (the "Software"), 9ddc82eefca591f0ee93d3a77e1268571629a6d5cBrian Paul * to deal in the Software without restriction, including without limitation 10ddc82eefca591f0ee93d3a77e1268571629a6d5cBrian Paul * the rights to use, copy, modify, merge, publish, distribute, sublicense, 11ddc82eefca591f0ee93d3a77e1268571629a6d5cBrian Paul * and/or sell copies of the Software, and to permit persons to whom the 12ddc82eefca591f0ee93d3a77e1268571629a6d5cBrian Paul * Software is furnished to do so, subject to the following conditions: 13ddc82eefca591f0ee93d3a77e1268571629a6d5cBrian Paul * 14ddc82eefca591f0ee93d3a77e1268571629a6d5cBrian Paul * The above copyright notice and this permission notice shall be included 15ddc82eefca591f0ee93d3a77e1268571629a6d5cBrian Paul * in all copies or substantial portions of the Software. 16ddc82eefca591f0ee93d3a77e1268571629a6d5cBrian Paul * 17ddc82eefca591f0ee93d3a77e1268571629a6d5cBrian Paul * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS 18ddc82eefca591f0ee93d3a77e1268571629a6d5cBrian Paul * OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 19ddc82eefca591f0ee93d3a77e1268571629a6d5cBrian Paul * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL 20ddc82eefca591f0ee93d3a77e1268571629a6d5cBrian Paul * BRIAN PAUL BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN 21ddc82eefca591f0ee93d3a77e1268571629a6d5cBrian Paul * AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN 22ddc82eefca591f0ee93d3a77e1268571629a6d5cBrian Paul * CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. 23ddc82eefca591f0ee93d3a77e1268571629a6d5cBrian Paul */ 24ddc82eefca591f0ee93d3a77e1268571629a6d5cBrian Paul 25ddc82eefca591f0ee93d3a77e1268571629a6d5cBrian Paul 26ddc82eefca591f0ee93d3a77e1268571629a6d5cBrian Paul#ifndef FBOBJECT_H 27ddc82eefca591f0ee93d3a77e1268571629a6d5cBrian Paul#define FBOBJECT_H 28ddc82eefca591f0ee93d3a77e1268571629a6d5cBrian Paul 29db0f9e701d59dcfcd3b50f4d245897692f27fec9Brian Paul#include "compiler.h" 306121730e74ed4ff80569cfa496721afbf8ee7d22Vinson Lee#include "glheader.h" 316121730e74ed4ff80569cfa496721afbf8ee7d22Vinson Lee 326121730e74ed4ff80569cfa496721afbf8ee7d22Vinson Leestruct gl_context; 336121730e74ed4ff80569cfa496721afbf8ee7d22Vinson Leestruct gl_texture_object; 34ddc82eefca591f0ee93d3a77e1268571629a6d5cBrian Paul 3536ede89687fe2de213f2637ab7acfb80cfd856cdBrian Paul 3636ede89687fe2de213f2637ab7acfb80cfd856cdBrian Paul/** 3736ede89687fe2de213f2637ab7acfb80cfd856cdBrian Paul * Is the given FBO a user-created FBO? 3836ede89687fe2de213f2637ab7acfb80cfd856cdBrian Paul */ 3936ede89687fe2de213f2637ab7acfb80cfd856cdBrian Paulstatic inline GLboolean 4036ede89687fe2de213f2637ab7acfb80cfd856cdBrian Paul_mesa_is_user_fbo(const struct gl_framebuffer *fb) 4136ede89687fe2de213f2637ab7acfb80cfd856cdBrian Paul{ 4236ede89687fe2de213f2637ab7acfb80cfd856cdBrian Paul return fb->Name != 0; 4336ede89687fe2de213f2637ab7acfb80cfd856cdBrian Paul} 4436ede89687fe2de213f2637ab7acfb80cfd856cdBrian Paul 4536ede89687fe2de213f2637ab7acfb80cfd856cdBrian Paul 4636ede89687fe2de213f2637ab7acfb80cfd856cdBrian Paul/** 4736ede89687fe2de213f2637ab7acfb80cfd856cdBrian Paul * Is the given FBO a window system FBO (like an X window)? 4836ede89687fe2de213f2637ab7acfb80cfd856cdBrian Paul */ 4936ede89687fe2de213f2637ab7acfb80cfd856cdBrian Paulstatic inline GLboolean 5036ede89687fe2de213f2637ab7acfb80cfd856cdBrian Paul_mesa_is_winsys_fbo(const struct gl_framebuffer *fb) 5136ede89687fe2de213f2637ab7acfb80cfd856cdBrian Paul{ 5236ede89687fe2de213f2637ab7acfb80cfd856cdBrian Paul return fb->Name == 0; 5336ede89687fe2de213f2637ab7acfb80cfd856cdBrian Paul} 5436ede89687fe2de213f2637ab7acfb80cfd856cdBrian Paul 5536ede89687fe2de213f2637ab7acfb80cfd856cdBrian Paul 5636ede89687fe2de213f2637ab7acfb80cfd856cdBrian Paul 573dc6591a7c85b6a05551ce91b69e57d23148bf57Brian Paulextern void 58f9995b30756140724f41daf963fa06167912be7fKristian Høgsberg_mesa_init_fbobjects(struct gl_context *ctx); 593dc6591a7c85b6a05551ce91b69e57d23148bf57Brian Paul 609456e22c7a8803bed1146a89e7581badf0ae8064Kristian Høgsbergextern struct gl_framebuffer * 619456e22c7a8803bed1146a89e7581badf0ae8064Kristian Høgsberg_mesa_get_incomplete_framebuffer(void); 629456e22c7a8803bed1146a89e7581badf0ae8064Kristian Høgsberg 63ea4fe661d7f3a95d9db17e1475076f1badf8e1a6Brian Paulextern struct gl_renderbuffer * 64f9995b30756140724f41daf963fa06167912be7fKristian Høgsberg_mesa_lookup_renderbuffer(struct gl_context *ctx, GLuint id); 65ea4fe661d7f3a95d9db17e1475076f1badf8e1a6Brian Paul 66ea4fe661d7f3a95d9db17e1475076f1badf8e1a6Brian Paulextern struct gl_framebuffer * 67f9995b30756140724f41daf963fa06167912be7fKristian Høgsberg_mesa_lookup_framebuffer(struct gl_context *ctx, GLuint id); 68ea4fe661d7f3a95d9db17e1475076f1badf8e1a6Brian Paul 69847160466cb7d1af55f294578c328b01fb3fd3d3Brian Paulextern struct gl_renderbuffer_attachment * 70f9995b30756140724f41daf963fa06167912be7fKristian Høgsberg_mesa_get_attachment(struct gl_context *ctx, struct gl_framebuffer *fb, 71847160466cb7d1af55f294578c328b01fb3fd3d3Brian Paul GLenum attachment); 72847160466cb7d1af55f294578c328b01fb3fd3d3Brian Paul 73847160466cb7d1af55f294578c328b01fb3fd3d3Brian Paul 74db0f9e701d59dcfcd3b50f4d245897692f27fec9Brian Paul/** Return the texture image for a renderbuffer attachment */ 759520f483b8f1e45fa474674b415554988de5d8d3Brian Paulstatic inline struct gl_texture_image * 76db0f9e701d59dcfcd3b50f4d245897692f27fec9Brian Paul_mesa_get_attachment_teximage(struct gl_renderbuffer_attachment *att) 77db0f9e701d59dcfcd3b50f4d245897692f27fec9Brian Paul{ 78db0f9e701d59dcfcd3b50f4d245897692f27fec9Brian Paul assert(att->Type == GL_TEXTURE); 79db0f9e701d59dcfcd3b50f4d245897692f27fec9Brian Paul return att->Texture->Image[att->CubeMapFace][att->TextureLevel]; 80db0f9e701d59dcfcd3b50f4d245897692f27fec9Brian Paul} 81db0f9e701d59dcfcd3b50f4d245897692f27fec9Brian Paul 82db0f9e701d59dcfcd3b50f4d245897692f27fec9Brian Paul 83db0f9e701d59dcfcd3b50f4d245897692f27fec9Brian Paul/** Return the (const) texture image for a renderbuffer attachment */ 849520f483b8f1e45fa474674b415554988de5d8d3Brian Paulstatic inline const struct gl_texture_image * 85db0f9e701d59dcfcd3b50f4d245897692f27fec9Brian Paul_mesa_get_attachment_teximage_const(const struct gl_renderbuffer_attachment *att) 86db0f9e701d59dcfcd3b50f4d245897692f27fec9Brian Paul{ 87db0f9e701d59dcfcd3b50f4d245897692f27fec9Brian Paul assert(att->Type == GL_TEXTURE); 88db0f9e701d59dcfcd3b50f4d245897692f27fec9Brian Paul return att->Texture->Image[att->CubeMapFace][att->TextureLevel]; 89db0f9e701d59dcfcd3b50f4d245897692f27fec9Brian Paul} 90db0f9e701d59dcfcd3b50f4d245897692f27fec9Brian Paul 91db0f9e701d59dcfcd3b50f4d245897692f27fec9Brian Paul 92e4b2356c07d31fbeeabb13b2fb47db703b473080Brian Paulextern void 93f9995b30756140724f41daf963fa06167912be7fKristian Høgsberg_mesa_remove_attachment(struct gl_context *ctx, 94e4b2356c07d31fbeeabb13b2fb47db703b473080Brian Paul struct gl_renderbuffer_attachment *att); 952c6f911e10761c0946261d494bf149b19072821dBrian Paul 962c6f911e10761c0946261d494bf149b19072821dBrian Paulextern void 97f9995b30756140724f41daf963fa06167912be7fKristian Høgsberg_mesa_set_texture_attachment(struct gl_context *ctx, 98519b23b21f9cd6945fd17cdb26e7a6f531cdeec0Brian Paul struct gl_framebuffer *fb, 99e4b2356c07d31fbeeabb13b2fb47db703b473080Brian Paul struct gl_renderbuffer_attachment *att, 100e4b2356c07d31fbeeabb13b2fb47db703b473080Brian Paul struct gl_texture_object *texObj, 101e4b2356c07d31fbeeabb13b2fb47db703b473080Brian Paul GLenum texTarget, GLuint level, GLuint zoffset); 1022c6f911e10761c0946261d494bf149b19072821dBrian Paul 103e4b2356c07d31fbeeabb13b2fb47db703b473080Brian Paulextern void 104f9995b30756140724f41daf963fa06167912be7fKristian Høgsberg_mesa_set_renderbuffer_attachment(struct gl_context *ctx, 105e4b2356c07d31fbeeabb13b2fb47db703b473080Brian Paul struct gl_renderbuffer_attachment *att, 106e4b2356c07d31fbeeabb13b2fb47db703b473080Brian Paul struct gl_renderbuffer *rb); 1072c6f911e10761c0946261d494bf149b19072821dBrian Paul 1082c6f911e10761c0946261d494bf149b19072821dBrian Paulextern void 109e9375cd0e895ac2c3e7ff17f18da7a7f8cd3a82dBrian Paul_mesa_framebuffer_renderbuffer(struct gl_context *ctx, 110e9375cd0e895ac2c3e7ff17f18da7a7f8cd3a82dBrian Paul struct gl_framebuffer *fb, 111847160466cb7d1af55f294578c328b01fb3fd3d3Brian Paul GLenum attachment, struct gl_renderbuffer *rb); 1122c6f911e10761c0946261d494bf149b19072821dBrian Paul 113e4b2356c07d31fbeeabb13b2fb47db703b473080Brian Paulextern void 11462c66b34303303e6786652efa611a100ae64439aBrian Paul_mesa_validate_framebuffer(struct gl_context *ctx, struct gl_framebuffer *fb); 11562c66b34303303e6786652efa611a100ae64439aBrian Paul 11662c66b34303303e6786652efa611a100ae64439aBrian Paulextern void 117e9375cd0e895ac2c3e7ff17f18da7a7f8cd3a82dBrian Paul_mesa_test_framebuffer_completeness(struct gl_context *ctx, 118e9375cd0e895ac2c3e7ff17f18da7a7f8cd3a82dBrian Paul struct gl_framebuffer *fb); 1192c6f911e10761c0946261d494bf149b19072821dBrian Paul 120059cca92a819e20e0d834605a3a7d277eaf88d9fEric Anholtextern GLboolean 121059cca92a819e20e0d834605a3a7d277eaf88d9fEric Anholt_mesa_is_legal_color_format(const struct gl_context *ctx, GLenum baseFormat); 122059cca92a819e20e0d834605a3a7d277eaf88d9fEric Anholt 12359e0faaa5c601ace51608c6d03c57d17498f796bBrian Paulextern GLenum 124f9995b30756140724f41daf963fa06167912be7fKristian Høgsberg_mesa_base_fbo_format(struct gl_context *ctx, GLenum internalFormat); 12559e0faaa5c601ace51608c6d03c57d17498f796bBrian Paul 1261864c7d79a0ef0bda54c503bad15977b62e0ed57Brian Paulextern GLboolean GLAPIENTRY 127ddc82eefca591f0ee93d3a77e1268571629a6d5cBrian Paul_mesa_IsRenderbufferEXT(GLuint renderbuffer); 128ddc82eefca591f0ee93d3a77e1268571629a6d5cBrian Paul 1291864c7d79a0ef0bda54c503bad15977b62e0ed57Brian Paulextern void GLAPIENTRY 130ddc82eefca591f0ee93d3a77e1268571629a6d5cBrian Paul_mesa_BindRenderbufferEXT(GLenum target, GLuint renderbuffer); 131ddc82eefca591f0ee93d3a77e1268571629a6d5cBrian Paul 1321864c7d79a0ef0bda54c503bad15977b62e0ed57Brian Paulextern void GLAPIENTRY 133ddc82eefca591f0ee93d3a77e1268571629a6d5cBrian Paul_mesa_DeleteRenderbuffersEXT(GLsizei n, const GLuint *renderbuffers); 134ddc82eefca591f0ee93d3a77e1268571629a6d5cBrian Paul 1351864c7d79a0ef0bda54c503bad15977b62e0ed57Brian Paulextern void GLAPIENTRY 136ddc82eefca591f0ee93d3a77e1268571629a6d5cBrian Paul_mesa_GenRenderbuffersEXT(GLsizei n, GLuint *renderbuffers); 137ddc82eefca591f0ee93d3a77e1268571629a6d5cBrian Paul 1381864c7d79a0ef0bda54c503bad15977b62e0ed57Brian Paulextern void GLAPIENTRY 139ddc82eefca591f0ee93d3a77e1268571629a6d5cBrian Paul_mesa_RenderbufferStorageEXT(GLenum target, GLenum internalformat, 140ddc82eefca591f0ee93d3a77e1268571629a6d5cBrian Paul GLsizei width, GLsizei height); 141ddc82eefca591f0ee93d3a77e1268571629a6d5cBrian Paul 142da46db60a04da87da1277b4316e30bfe4b2c7d8aTom Fogalextern void GLAPIENTRY 143777a2efc7768de659fbc2e9a7541c9cbb3fc1d8bBrian Paul_mesa_RenderbufferStorageMultisample(GLenum target, GLsizei samples, 144777a2efc7768de659fbc2e9a7541c9cbb3fc1d8bBrian Paul GLenum internalformat, 145777a2efc7768de659fbc2e9a7541c9cbb3fc1d8bBrian Paul GLsizei width, GLsizei height); 146777a2efc7768de659fbc2e9a7541c9cbb3fc1d8bBrian Paul 1471864c7d79a0ef0bda54c503bad15977b62e0ed57Brian Paulextern void GLAPIENTRY 14861d94dd207459e0c42d98c9d6eb7df5eabdfd8a4Kristian Høgsberg_es_RenderbufferStorageEXT(GLenum target, GLenum internalFormat, 14961d94dd207459e0c42d98c9d6eb7df5eabdfd8a4Kristian Høgsberg GLsizei width, GLsizei height); 15061d94dd207459e0c42d98c9d6eb7df5eabdfd8a4Kristian Høgsberg 15161d94dd207459e0c42d98c9d6eb7df5eabdfd8a4Kristian Høgsbergextern void GLAPIENTRY 152d1dc5b124e133379be5bb57b68733c09c0e04f71Kristian Høgsberg_mesa_EGLImageTargetRenderbufferStorageOES(GLenum target, GLeglImageOES image); 153d1dc5b124e133379be5bb57b68733c09c0e04f71Kristian Høgsberg 154d1dc5b124e133379be5bb57b68733c09c0e04f71Kristian Høgsbergextern void GLAPIENTRY 1552c6f911e10761c0946261d494bf149b19072821dBrian Paul_mesa_GetRenderbufferParameterivEXT(GLenum target, GLenum pname, 1562c6f911e10761c0946261d494bf149b19072821dBrian Paul GLint *params); 157ddc82eefca591f0ee93d3a77e1268571629a6d5cBrian Paul 1581864c7d79a0ef0bda54c503bad15977b62e0ed57Brian Paulextern GLboolean GLAPIENTRY 159ddc82eefca591f0ee93d3a77e1268571629a6d5cBrian Paul_mesa_IsFramebufferEXT(GLuint framebuffer); 160ddc82eefca591f0ee93d3a77e1268571629a6d5cBrian Paul 1611864c7d79a0ef0bda54c503bad15977b62e0ed57Brian Paulextern void GLAPIENTRY 162ddc82eefca591f0ee93d3a77e1268571629a6d5cBrian Paul_mesa_BindFramebufferEXT(GLenum target, GLuint framebuffer); 163ddc82eefca591f0ee93d3a77e1268571629a6d5cBrian Paul 1641864c7d79a0ef0bda54c503bad15977b62e0ed57Brian Paulextern void GLAPIENTRY 165ddc82eefca591f0ee93d3a77e1268571629a6d5cBrian Paul_mesa_DeleteFramebuffersEXT(GLsizei n, const GLuint *framebuffers); 166ddc82eefca591f0ee93d3a77e1268571629a6d5cBrian Paul 1671864c7d79a0ef0bda54c503bad15977b62e0ed57Brian Paulextern void GLAPIENTRY 168ddc82eefca591f0ee93d3a77e1268571629a6d5cBrian Paul_mesa_GenFramebuffersEXT(GLsizei n, GLuint *framebuffers); 169ddc82eefca591f0ee93d3a77e1268571629a6d5cBrian Paul 1701864c7d79a0ef0bda54c503bad15977b62e0ed57Brian Paulextern GLenum GLAPIENTRY 171ddc82eefca591f0ee93d3a77e1268571629a6d5cBrian Paul_mesa_CheckFramebufferStatusEXT(GLenum target); 172ddc82eefca591f0ee93d3a77e1268571629a6d5cBrian Paul 1731864c7d79a0ef0bda54c503bad15977b62e0ed57Brian Paulextern void GLAPIENTRY 174ddc82eefca591f0ee93d3a77e1268571629a6d5cBrian Paul_mesa_FramebufferTexture1DEXT(GLenum target, GLenum attachment, 175ddc82eefca591f0ee93d3a77e1268571629a6d5cBrian Paul GLenum textarget, GLuint texture, GLint level); 176ddc82eefca591f0ee93d3a77e1268571629a6d5cBrian Paul 1771864c7d79a0ef0bda54c503bad15977b62e0ed57Brian Paulextern void GLAPIENTRY 178ddc82eefca591f0ee93d3a77e1268571629a6d5cBrian Paul_mesa_FramebufferTexture2DEXT(GLenum target, GLenum attachment, 179ddc82eefca591f0ee93d3a77e1268571629a6d5cBrian Paul GLenum textarget, GLuint texture, GLint level); 180ddc82eefca591f0ee93d3a77e1268571629a6d5cBrian Paul 1811864c7d79a0ef0bda54c503bad15977b62e0ed57Brian Paulextern void GLAPIENTRY 182ddc82eefca591f0ee93d3a77e1268571629a6d5cBrian Paul_mesa_FramebufferTexture3DEXT(GLenum target, GLenum attachment, 183ddc82eefca591f0ee93d3a77e1268571629a6d5cBrian Paul GLenum textarget, GLuint texture, 184ddc82eefca591f0ee93d3a77e1268571629a6d5cBrian Paul GLint level, GLint zoffset); 185ddc82eefca591f0ee93d3a77e1268571629a6d5cBrian Paul 1861864c7d79a0ef0bda54c503bad15977b62e0ed57Brian Paulextern void GLAPIENTRY 187bb372f1c9bc08e8b0dca983cb4ba36b2f2f039fbIan Romanick_mesa_FramebufferTextureLayerEXT(GLenum target, GLenum attachment, 188bb372f1c9bc08e8b0dca983cb4ba36b2f2f039fbIan Romanick GLuint texture, GLint level, GLint layer); 189bb372f1c9bc08e8b0dca983cb4ba36b2f2f039fbIan Romanick 190bb372f1c9bc08e8b0dca983cb4ba36b2f2f039fbIan Romanickextern void GLAPIENTRY 191ddc82eefca591f0ee93d3a77e1268571629a6d5cBrian Paul_mesa_FramebufferRenderbufferEXT(GLenum target, GLenum attachment, 192ddc82eefca591f0ee93d3a77e1268571629a6d5cBrian Paul GLenum renderbuffertarget, 193ddc82eefca591f0ee93d3a77e1268571629a6d5cBrian Paul GLuint renderbuffer); 194ddc82eefca591f0ee93d3a77e1268571629a6d5cBrian Paul 1951864c7d79a0ef0bda54c503bad15977b62e0ed57Brian Paulextern void GLAPIENTRY 196ddc82eefca591f0ee93d3a77e1268571629a6d5cBrian Paul_mesa_GetFramebufferAttachmentParameterivEXT(GLenum target, GLenum attachment, 197ddc82eefca591f0ee93d3a77e1268571629a6d5cBrian Paul GLenum pname, GLint *params); 198ddc82eefca591f0ee93d3a77e1268571629a6d5cBrian Paul 1991864c7d79a0ef0bda54c503bad15977b62e0ed57Brian Paulextern void GLAPIENTRY 200ddc82eefca591f0ee93d3a77e1268571629a6d5cBrian Paul_mesa_GenerateMipmapEXT(GLenum target); 201ddc82eefca591f0ee93d3a77e1268571629a6d5cBrian Paul 202ddc82eefca591f0ee93d3a77e1268571629a6d5cBrian Paul 2030bffb1192a599b11af11604ad590f6a50c054bf1Brian Paulextern void GLAPIENTRY 2040bffb1192a599b11af11604ad590f6a50c054bf1Brian Paul_mesa_BlitFramebufferEXT(GLint srcX0, GLint srcY0, GLint srcX1, GLint srcY1, 2050bffb1192a599b11af11604ad590f6a50c054bf1Brian Paul GLint dstX0, GLint dstY0, GLint dstX1, GLint dstY1, 2060bffb1192a599b11af11604ad590f6a50c054bf1Brian Paul GLbitfield mask, GLenum filter); 2070bffb1192a599b11af11604ad590f6a50c054bf1Brian Paul 208da7bd6a90e1fee5c16327338fd251c0f6be34e36Zack Rusinextern void GLAPIENTRY 209da7bd6a90e1fee5c16327338fd251c0f6be34e36Zack Rusin_mesa_FramebufferTextureARB(GLenum target, GLenum attachment, 210da7bd6a90e1fee5c16327338fd251c0f6be34e36Zack Rusin GLuint texture, GLint level); 211da7bd6a90e1fee5c16327338fd251c0f6be34e36Zack Rusin 212da7bd6a90e1fee5c16327338fd251c0f6be34e36Zack Rusinextern void GLAPIENTRY 213da7bd6a90e1fee5c16327338fd251c0f6be34e36Zack Rusin_mesa_FramebufferTextureFaceARB(GLenum target, GLenum attachment, 214da7bd6a90e1fee5c16327338fd251c0f6be34e36Zack Rusin GLuint texture, GLint level, GLenum face); 215da7bd6a90e1fee5c16327338fd251c0f6be34e36Zack Rusin 2160bffb1192a599b11af11604ad590f6a50c054bf1Brian Paul 217342be8aa88819446220bba680d8e0b628078156fIan Romanickextern void GLAPIENTRY 218342be8aa88819446220bba680d8e0b628078156fIan Romanick_mesa_InvalidateSubFramebuffer(GLenum target, GLsizei numAttachments, 219342be8aa88819446220bba680d8e0b628078156fIan Romanick const GLenum *attachments, GLint x, GLint y, 220342be8aa88819446220bba680d8e0b628078156fIan Romanick GLsizei width, GLsizei height); 221342be8aa88819446220bba680d8e0b628078156fIan Romanick 222342be8aa88819446220bba680d8e0b628078156fIan Romanickextern void GLAPIENTRY 223342be8aa88819446220bba680d8e0b628078156fIan Romanick_mesa_InvalidateFramebuffer(GLenum target, GLsizei numAttachments, 224342be8aa88819446220bba680d8e0b628078156fIan Romanick const GLenum *attachments); 225342be8aa88819446220bba680d8e0b628078156fIan Romanick 226ddc82eefca591f0ee93d3a77e1268571629a6d5cBrian Paul#endif /* FBOBJECT_H */ 227