From 2699f78eb5e491da19d88765793ef79b75733f30 Mon Sep 17 00:00:00 2001 From: Simon Farnsworth Date: Thu, 29 Sep 2011 11:10:24 +0100 Subject: [PATCH] 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 --- 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);*/ -- 1.7.6