X-Git-Url: https://git.libre-soc.org/?a=blobdiff_plain;f=src%2Fmesa%2Fmain%2Ffbobject.h;h=b6154719abc5d1a39127123ea3a72ac5a34dc58f;hb=989edea40913de9347908488db8978eb2efaba63;hp=8b5fd5d1fc2617d3f0a2b9af5c93558f35a6965c;hpb=1864c7d79a0ef0bda54c503bad15977b62e0ed57;p=mesa.git diff --git a/src/mesa/main/fbobject.h b/src/mesa/main/fbobject.h index 8b5fd5d1fc2..b6154719abc 100644 --- a/src/mesa/main/fbobject.h +++ b/src/mesa/main/fbobject.h @@ -1,8 +1,8 @@ /* * Mesa 3-D graphics library - * Version: 6.3 + * Version: 7.1 * - * Copyright (C) 1999-2005 Brian Paul All Rights Reserved. + * Copyright (C) 1999-2008 Brian Paul All Rights Reserved. * * Permission is hereby granted, free of charge, to any person obtaining a * copy of this software and associated documentation files (the "Software"), @@ -27,39 +27,45 @@ #define FBOBJECT_H -struct gl_render_buffer_object -{ - GLint RefCount; - GLuint Name; - GLuint Width, Height; - GLenum InternalFormat; - GLvoid *Data; -}; +extern void +_mesa_init_fbobjects(GLcontext *ctx); +extern struct gl_renderbuffer * +_mesa_lookup_renderbuffer(GLcontext *ctx, GLuint id); -struct gl_render_buffer_attachment -{ - GLenum Type; /* GL_NONE or GL_TEXTURE or GL_RENDERBUFFER_EXT */ - /* IF Type == GL_RENDERBUFFER_EXT: */ - struct gl_render_buffer_object *Renderbuffer; - /* IF Type == GL_TEXTURE: */ - struct gl_texture_object *Texture; - GLuint TextureLevel; - GLuint CubeMapFace; /* 0 .. 5, for Cube map textures */ - GLuint Zoffset; /* for 3D textures */ -}; +extern struct gl_framebuffer * +_mesa_lookup_framebuffer(GLcontext *ctx, GLuint id); +extern struct gl_renderbuffer_attachment * +_mesa_get_attachment(GLcontext *ctx, struct gl_framebuffer *fb, + GLenum attachment); -struct gl_frame_buffer_object -{ - GLint RefCount; - GLuint Name; - struct gl_render_buffer_attachment ColorAttachment[MAX_COLOR_ATTACHMENTS]; - struct gl_render_buffer_attachment DepthAttachment; - struct gl_render_buffer_attachment StencilAttachment; -}; +extern void +_mesa_remove_attachment(GLcontext *ctx, + struct gl_renderbuffer_attachment *att); +extern void +_mesa_set_texture_attachment(GLcontext *ctx, + struct gl_framebuffer *fb, + struct gl_renderbuffer_attachment *att, + struct gl_texture_object *texObj, + GLenum texTarget, GLuint level, GLuint zoffset); + +extern void +_mesa_set_renderbuffer_attachment(GLcontext *ctx, + struct gl_renderbuffer_attachment *att, + struct gl_renderbuffer *rb); + +extern void +_mesa_framebuffer_renderbuffer(GLcontext *ctx, struct gl_framebuffer *fb, + GLenum attachment, struct gl_renderbuffer *rb); + +extern void +_mesa_test_framebuffer_completeness(GLcontext *ctx, struct gl_framebuffer *fb); + +extern GLenum +_mesa_base_fbo_format(GLcontext *ctx, GLenum internalFormat); extern GLboolean GLAPIENTRY _mesa_IsRenderbufferEXT(GLuint renderbuffer); @@ -78,7 +84,8 @@ _mesa_RenderbufferStorageEXT(GLenum target, GLenum internalformat, GLsizei width, GLsizei height); extern void GLAPIENTRY -_mesa_GetRenderbufferParameterivEXT(GLenum target, GLenum pname, GLint *params); +_mesa_GetRenderbufferParameterivEXT(GLenum target, GLenum pname, + GLint *params); extern GLboolean GLAPIENTRY _mesa_IsFramebufferEXT(GLuint framebuffer); @@ -108,6 +115,10 @@ _mesa_FramebufferTexture3DEXT(GLenum target, GLenum attachment, GLenum textarget, GLuint texture, GLint level, GLint zoffset); +extern void GLAPIENTRY +_mesa_FramebufferTextureLayerEXT(GLenum target, GLenum attachment, + GLuint texture, GLint level, GLint layer); + extern void GLAPIENTRY _mesa_FramebufferRenderbufferEXT(GLenum target, GLenum attachment, GLenum renderbuffertarget, @@ -121,4 +132,10 @@ extern void GLAPIENTRY _mesa_GenerateMipmapEXT(GLenum target); +extern void GLAPIENTRY +_mesa_BlitFramebufferEXT(GLint srcX0, GLint srcY0, GLint srcX1, GLint srcY1, + GLint dstX0, GLint dstY0, GLint dstX1, GLint dstY1, + GLbitfield mask, GLenum filter); + + #endif /* FBOBJECT_H */