[Mesa-dev] [PATCH 1/7] i965/fs_surface_builder: Explicitly handle FORMAT_NONE in num_image_coordinates

Chad Versace chad.versace at intel.com
Mon Nov 9 12:22:05 PST 2015


On Wed 04 Nov 2015, Jason Ekstrand wrote:
> Previously, we were relying on has_matching_typed_format returning true for
> MESA_FORMAT_NONE which, in turn, relied on _mesa_get_format_bytes returning
> 1 for MESA_FORMAT_NONE.  All of this is extremely non-obvious.  Instead,
> this commit makes us handle it explicitly.
> ---
>  src/mesa/drivers/dri/i965/brw_fs_surface_builder.cpp | 1 +
>  1 file changed, 1 insertion(+)
> 
> diff --git a/src/mesa/drivers/dri/i965/brw_fs_surface_builder.cpp b/src/mesa/drivers/dri/i965/brw_fs_surface_builder.cpp
> index 534d849..31ecb5b 100644
> --- a/src/mesa/drivers/dri/i965/brw_fs_surface_builder.cpp
> +++ b/src/mesa/drivers/dri/i965/brw_fs_surface_builder.cpp
> @@ -409,6 +409,7 @@ namespace {
>            * reads want the array index to be at the Z component.
>            */
>           const bool array_index_at_z =
> +            format != MESA_FORMAT_NONE &&
>              !image_format_info::has_matching_typed_format(
>                 bld.shader->devinfo, format);
>           const unsigned zero_dims =


Knowing nothing about the implicit assumptions you discovered that
relied on _mesa_get_format_bytes(MESA_FORMAT_NONE) => 1, the patch is
still looks like an improvement to me.

Acked-by: Chad Versace <chad.versace at intel.com>


More information about the mesa-dev mailing list