[Mesa-dev] [PATCH 1/2] st: fix st_choose_matching_format to ignore intensity
Marek Olšák
maraeo at gmail.com
Sat Mar 29 04:50:31 PDT 2014
On Sat, Mar 29, 2014 at 12:02 AM, Chris Forbes <chrisf at ijw.co.nz> 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. */
> + continue;
> + }
Why is this needed?
Marek
More information about the mesa-dev
mailing list