[Mesa-dev] [PATCH 1/2] st: fix st_choose_matching_format to ignore intensity

Brian Paul brianp at vmware.com
Sat Mar 29 04:36:05 PDT 2014


On 03/28/2014 05:02 PM, Chris Forbes wrote:
> _mesa_format_matches_format_and_type() returns true for
> GL_RED/GL_RED_INTEGER (with an appropriate type) into an intensity
> mesa_format.
>
> We want the `red`-based format instead, regardless of the order we find
> them in our walk of the mesa formats list.
>
> Signed-off-by: Chris Forbes <chrisf at ijw.co.nz>
> ---
>   src/mesa/state_tracker/st_format.c | 5 +++++
>   1 file changed, 5 insertions(+)
>
> diff --git a/src/mesa/state_tracker/st_format.c b/src/mesa/state_tracker/st_format.c
> index cd6b466..62cee1c 100644
> --- a/src/mesa/state_tracker/st_format.c
> +++ b/src/mesa/state_tracker/st_format.c
> @@ -1750,6 +1750,11 @@ st_choose_matching_format(struct pipe_screen *screen, unsigned bind,
>         if (_mesa_get_format_color_encoding(mesa_format) == GL_SRGB) {
>            continue;
>         }
> +      if (_mesa_get_format_bits(mesa_format, GL_TEXTURE_INTENSITY_SIZE) > 0) {
> +         /* if `format` is GL_RED/GL_RED_INTEGER, then we might match some
> +          * intensity formats, which we don't want. */

Let's put that closing */ on the next line to match the format of other 
comments.

> +         continue;
> +      }
>
>         if (_mesa_format_matches_format_and_type(mesa_format, format, type,
>                                                  swapBytes)) {
>

For both, Reviewed-by: Brian Paul <brianp at vmware.com>   However, have 
you retested piglit with softpipe just to be safe?  I could do that on 
Monday otherwise.

-Brian





More information about the mesa-dev mailing list