[Mesa-dev] [PATCH 1/2] st/mesa: fix texture buffer objects

Brian Paul brianp at vmware.com
Wed Feb 13 07:03:52 PST 2013


On 02/12/2013 06:11 PM, Marek Olšák wrote:
> Broken by 624528834f53f54c7a934f929769b7e6b230a0b1.
> ---
>   src/mesa/state_tracker/st_atom_texture.c |   14 ++++++++++----
>   1 file changed, 10 insertions(+), 4 deletions(-)
>
> diff --git a/src/mesa/state_tracker/st_atom_texture.c b/src/mesa/state_tracker/st_atom_texture.c
> index 28327bc..fc2d690 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;

For buffer objects, isn't the stObj->pt->format field set like an 
ordinary texture?


> -   /* 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 */

Thanks for fixing this.

Reviewed-by: Brian Paul <brianp at vmware.com>



More information about the mesa-dev mailing list