Mesa (7.10): st/mesa: fix changing internal format via RenderbufferStorage
Marek Olšák
mareko at kemper.freedesktop.org
Wed Jun 1 00:21:04 UTC 2011
Module: Mesa
Branch: 7.10
Commit: 23d9baa5a1979deab20f312c78533ab09c5cf976
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=23d9baa5a1979deab20f312c78533ab09c5cf976
Author: Marek Olšák <maraeo at gmail.com>
Date: Wed Jun 1 01:39:36 2011 +0200
st/mesa: fix changing internal format via RenderbufferStorage
The problem is: The second time the function is called with a new
internal format, strb->format is usually not PIPE_FORMAT_NONE.
RenderbufferStorage(... GL_RGBA8 ...);
RenderbufferStorage(... GL_RGBA16 ...); // had no effect on the format
Broken with: fd6f2d6e5783d8810d0ab88e1c470958fd5eb2eb
Test: piglit/fbo-storage-completeness
NOTE: This is a candidate for the 7.10 branch.
(if fd6f2d6e5783d8810d0ab88e1c470958fd5eb2eb is cherry-picked as well)
Reviewed-by: Brian Paul <brianp at vmware.com>
(cherry picked from commit 49d4e803d369e0faedfa44063fb7f6232faa8175)
Conflicts:
src/mesa/state_tracker/st_cb_fbo.c
---
src/mesa/state_tracker/st_cb_fbo.c | 8 +++-----
1 files changed, 3 insertions(+), 5 deletions(-)
diff --git a/src/mesa/state_tracker/st_cb_fbo.c b/src/mesa/state_tracker/st_cb_fbo.c
index 2ecda93..4f43411 100644
--- a/src/mesa/state_tracker/st_cb_fbo.c
+++ b/src/mesa/state_tracker/st_cb_fbo.c
@@ -72,11 +72,9 @@ st_renderbuffer_alloc_storage(struct gl_context * ctx, struct gl_renderbuffer *r
enum pipe_format format;
struct pipe_surface surf_tmpl;
- if (strb->format != PIPE_FORMAT_NONE)
- format = strb->format;
- else
- format = st_choose_renderbuffer_format(screen, internalFormat, rb->NumSamples);
-
+ format = st_choose_renderbuffer_format(screen, internalFormat,
+ rb->NumSamples);
+
if (format == PIPE_FORMAT_NONE) {
return FALSE;
}
More information about the mesa-commit
mailing list