Reviewed-by: Roland Scheidegger <srol...@vmware.com>

Am 25.01.2018 um 00:19 schrieb Brian Paul:
> To aid in debugging gallium surface format selection issues.
> ---
>  src/mesa/state_tracker/st_format.c | 23 ++++++++++++++++++-----
>  1 file changed, 18 insertions(+), 5 deletions(-)
> 
> diff --git a/src/mesa/state_tracker/st_format.c 
> b/src/mesa/state_tracker/st_format.c
> index 3f7e55e..cc72ba4 100644
> --- a/src/mesa/state_tracker/st_format.c
> +++ b/src/mesa/state_tracker/st_format.c
> @@ -2128,8 +2128,9 @@ st_choose_format(struct st_context *st, GLenum 
> internalFormat,
>     pf = find_exact_format(internalFormat, format, type);
>     if (pf != PIPE_FORMAT_NONE &&
>         screen->is_format_supported(screen, pf,
> -                                   target, sample_count, bindings))
> -      return pf;
> +                                   target, sample_count, bindings)) {
> +      goto success;
> +   }
>  
>     /* search table for internalFormat */
>     for (i = 0; i < ARRAY_SIZE(format_map); i++) {
> @@ -2139,15 +2140,27 @@ st_choose_format(struct st_context *st, GLenum 
> internalFormat,
>              /* Found the desired internal format.  Find first pipe format
>               * which is supported by the driver.
>               */
> -            return find_supported_format(screen, mapping->pipeFormats,
> -                                         target, sample_count, bindings,
> -                                         allow_dxt);
> +            pf = find_supported_format(screen, mapping->pipeFormats,
> +                                       target, sample_count, bindings,
> +                                       allow_dxt);
> +            goto success;
>           }
>        }
>     }
>  
>     _mesa_problem(NULL, "unhandled format!\n");
>     return PIPE_FORMAT_NONE;
> +
> +success:
> +   if (0) {
> +      debug_printf("%s(fmt=%s, type=%s, intFmt=%s) = %s\n",
> +                   __FUNCTION__,
> +                   _mesa_enum_to_string(format),
> +                   _mesa_enum_to_string(type),
> +                   _mesa_enum_to_string(internalFormat),
> +                   util_format_name(pf));
> +   }
> +   return pf;
>  }
>  
>  
> 

_______________________________________________
mesa-dev mailing list
mesa-dev@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/mesa-dev

Reply via email to