From: Simon Farnsworth Date: Thu, 29 Sep 2011 13:51:41 +0000 (+0100) Subject: gallium: Set renderbuffer's InternalFormat when rendering to texture X-Git-Url: https://git.libre-soc.org/?a=commitdiff_plain;h=c6f9d80ad2d11b44c38098cd0ae2eb91d31b86d9;p=mesa.git gallium: Set renderbuffer's InternalFormat when rendering to texture When an FBO is rendering to a texture (rather than a renderbuffer), Gallium sets up an internal renderbuffer to handle the rendering, and copies over enough texture state to make this work. InternalFormat was missed out, causing glTexCopyImage to take a slow path unnecessarily. Fixes https://bugs.freedesktop.org/show_bug.cgi?id=41263 Signed-off-by: Simon Farnsworth Signed-off-by: Brian Paul --- diff --git a/src/mesa/state_tracker/st_cb_fbo.c b/src/mesa/state_tracker/st_cb_fbo.c index 05139ec5aab..4d321587fc8 100644 --- a/src/mesa/state_tracker/st_cb_fbo.c +++ b/src/mesa/state_tracker/st_cb_fbo.c @@ -381,6 +381,7 @@ st_render_texture(struct gl_context *ctx, rb->Width = texImage->Width2; rb->Height = texImage->Height2; rb->_BaseFormat = texImage->_BaseFormat; + rb->InternalFormat = texImage->InternalFormat; /*printf("***** render to texture level %d: %d x %d\n", att->TextureLevel, rb->Width, rb->Height);*/ /*printf("***** pipe texture %d x %d\n", pt->width0, pt->height0);*/