diff options
Diffstat (limited to 'src/mesa/swrast/s_texrender.c')
-rw-r--r-- | src/mesa/swrast/s_texrender.c | 102 |
1 files changed, 0 insertions, 102 deletions
diff --git a/src/mesa/swrast/s_texrender.c b/src/mesa/swrast/s_texrender.c deleted file mode 100644 index 4e41b3b72a8..00000000000 --- a/src/mesa/swrast/s_texrender.c +++ /dev/null @@ -1,102 +0,0 @@ - -#include "main/context.h" -#include "main/fbobject.h" -#include "main/macros.h" -#include "main/teximage.h" -#include "main/renderbuffer.h" -#include "swrast/swrast.h" -#include "swrast/s_context.h" -#include "swrast/s_texfetch.h" - - -/* - * Render-to-texture code for GL_EXT_framebuffer_object - */ - - -static void -delete_texture_wrapper(struct gl_context *ctx, struct gl_renderbuffer *rb) -{ - assert(rb->RefCount == 0); - free(rb); -} - -/** - * Update the renderbuffer wrapper for rendering to a texture. - * For example, update the width, height of the RB based on the texture size, - * update the internal format info, etc. - */ -static void -update_wrapper(struct gl_context *ctx, struct gl_renderbuffer_attachment *att) -{ - struct gl_renderbuffer *rb = att->Renderbuffer; - struct swrast_renderbuffer *srb = swrast_renderbuffer(rb); - struct swrast_texture_image *swImage; - mesa_format format; - GLuint zOffset; - - (void) ctx; - - swImage = swrast_texture_image(rb->TexImage); - assert(swImage); - - format = swImage->Base.TexFormat; - - if (att->Texture->Target == GL_TEXTURE_1D_ARRAY_EXT) { - zOffset = 0; - } - else { - zOffset = att->Zoffset; - } - - /* Want to store linear values, not sRGB */ - rb->Format = _mesa_get_srgb_format_linear(format); - - srb->Buffer = swImage->ImageSlices[zOffset]; -} - - - -/** - * Called when rendering to a texture image begins, or when changing - * the dest mipmap level, cube face, etc. - * This is a fallback routine for software render-to-texture. - * - * Called via the glRenderbufferTexture1D/2D/3D() functions - * and elsewhere (such as glTexImage2D). - * - * The image we're rendering into is - * att->Texture->Image[att->CubeMapFace][att->TextureLevel]; - * It'll never be NULL. - * - * \param fb the framebuffer object the texture is being bound to - * \param att the fb attachment point of the texture - * - * \sa _mesa_FramebufferRenderbuffer_sw - */ -void -_swrast_render_texture(struct gl_context *ctx, - struct gl_framebuffer *fb, - struct gl_renderbuffer_attachment *att) -{ - struct gl_renderbuffer *rb = att->Renderbuffer; - (void) fb; - - /* plug in our texture_renderbuffer-specific functions */ - rb->Delete = delete_texture_wrapper; - - update_wrapper(ctx, att); -} - - -void -_swrast_finish_render_texture(struct gl_context *ctx, - struct gl_renderbuffer *rb) -{ - /* do nothing */ - /* The renderbuffer texture wrapper will get deleted by the - * normal mechanism for deleting renderbuffers. - */ - (void) ctx; - (void) rb; -} |