[Mesa-dev] [RFC PATCH v1 06/30] anv: Fix get_image_format_properties() - ASTC

Lionel Landwerlin lionel.g.landwerlin at intel.com
Tue Nov 7 15:32:11 UTC 2017


Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin at intel.com>

On 07/11/17 14:47, Chad Versace wrote:
> Teach it to calculate the format features for ASTC.
>
> The goal is to incrementally fix get_image_format_properties() to return
> a correct result.  Currently, it returns incorrect VkFormatFeatureFlags
> which the caller must clean up.
>
> v2: New commit message
>
> Reviewed-by: Jason Ekstrand <jason at jlekstrand.net> (v1)
> ---
>   src/intel/vulkan/anv_formats.c | 9 +++++----
>   1 file changed, 5 insertions(+), 4 deletions(-)
>
> diff --git a/src/intel/vulkan/anv_formats.c b/src/intel/vulkan/anv_formats.c
> index 8c9f5a46d2c..eaf6093a4f8 100644
> --- a/src/intel/vulkan/anv_formats.c
> +++ b/src/intel/vulkan/anv_formats.c
> @@ -497,6 +497,11 @@ get_image_format_properties(const struct gen_device_info *devinfo,
>         return flags;
>      }
>   
> +   /* ASTC textures must be in Y-tiled memory */
> +   if (vk_tiling == VK_IMAGE_TILING_LINEAR &&
> +       isl_format_get_layout(format.isl_format)->txc == ISL_TXC_ASTC)
> +      return 0;
> +
>      if (isl_format_supports_sampling(devinfo, format.isl_format)) {
>         flags |= VK_FORMAT_FEATURE_SAMPLED_IMAGE_BIT |
>                  VK_FORMAT_FEATURE_BLIT_SRC_BIT;
> @@ -615,10 +620,6 @@ anv_physical_device_get_format_properties(struct anv_physical_device *physical_d
>            tiled &= ~VK_FORMAT_FEATURE_COLOR_ATTACHMENT_BIT &
>                     ~VK_FORMAT_FEATURE_BLIT_DST_BIT;
>         }
> -
> -      /* ASTC textures must be in Y-tiled memory */
> -      if (isl_format_get_layout(linear_fmt.isl_format)->txc == ISL_TXC_ASTC)
> -         linear = 0;
>      }
>   
>      if (format && format->can_ycbcr) {




More information about the mesa-dev mailing list