Mesa (master): gallium: Set renderbuffer' s InternalFormat when rendering to texture

Brian Paul brianp at kemper.freedesktop.org
Thu Sep 29 19:47:51 UTC 2011


Module: Mesa
Branch: master
Commit: c6f9d80ad2d11b44c38098cd0ae2eb91d31b86d9
URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=c6f9d80ad2d11b44c38098cd0ae2eb91d31b86d9

Author: Simon Farnsworth <simon.farnsworth at onelan.co.uk>
Date:   Thu Sep 29 14:51:41 2011 +0100

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 <simon.farnsworth at onelan.co.uk>
Signed-off-by: Brian Paul <brianp at vmware.com>

---

 src/mesa/state_tracker/st_cb_fbo.c |    1 +
 1 files changed, 1 insertions(+), 0 deletions(-)

diff --git a/src/mesa/state_tracker/st_cb_fbo.c b/src/mesa/state_tracker/st_cb_fbo.c
index 05139ec..4d32158 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);*/




More information about the mesa-commit mailing list