From: Marek Olšák Date: Tue, 12 Feb 2013 20:00:43 +0000 (+0100) Subject: st/mesa: fix texture buffer objects X-Git-Url: https://git.libre-soc.org/?a=commitdiff_plain;h=60aa5f360a01ff56ba9566ac86c4e68543d829a5;p=mesa.git st/mesa: fix texture buffer objects Broken by 624528834f53f54c7a934f929769b7e6b230a0b1. Reviewed-by: Brian Paul --- diff --git a/src/mesa/state_tracker/st_atom_texture.c b/src/mesa/state_tracker/st_atom_texture.c index 28327bc14d9..fc2d69013ae 100644 --- a/src/mesa/state_tracker/st_atom_texture.c +++ b/src/mesa/state_tracker/st_atom_texture.c @@ -234,11 +234,17 @@ update_single_texture(struct st_context *st, } /* Determine the format of the texture sampler view */ - view_format = stObj->pt->format; + if (texObj->Target == GL_TEXTURE_BUFFER) { + view_format = + st_mesa_format_to_pipe_format(stObj->base._BufferObjectFormat); + } + else { + view_format = stObj->pt->format; - /* If sRGB decoding is off, use the linear format */ - if (samp->sRGBDecode == GL_SKIP_DECODE_EXT) { - view_format = util_format_linear(view_format); + /* If sRGB decoding is off, use the linear format */ + if (samp->sRGBDecode == GL_SKIP_DECODE_EXT) { + view_format = util_format_linear(view_format); + } } /* if sampler view has changed dereference it */