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:fd6f2d6e57Test: piglit/fbo-storage-completeness NOTE: This is a candidate for the 7.10 branch. (iffd6f2d6e57is cherry-picked as well) Reviewed-by: Brian Paul <brianp@vmware.com>
This commit is contained in:
@@ -74,11 +74,8 @@ st_renderbuffer_alloc_storage(struct gl_context * ctx,
|
||||
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;
|
||||
|
||||
Reference in New Issue
Block a user