[Mesa-dev] [RFC PATCH v1 13/30] anv: Simplify anv_get_image_format_properties()

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


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

On 07/11/17 14:47, Chad Versace wrote:
> Now that get_image_format_features() has a VkImageTiling parameter, we
> can bypass anv_physical_device_get_format_properties() and call
> get_image_format_features() directly.
> ---
>   src/intel/vulkan/anv_formats.c | 17 +++--------------
>   1 file changed, 3 insertions(+), 14 deletions(-)
>
> diff --git a/src/intel/vulkan/anv_formats.c b/src/intel/vulkan/anv_formats.c
> index bd34e1ffabb..6ecd32b532e 100644
> --- a/src/intel/vulkan/anv_formats.c
> +++ b/src/intel/vulkan/anv_formats.c
> @@ -713,30 +713,19 @@ anv_get_image_format_properties(
>      VkImageFormatProperties *pImageFormatProperties,
>      VkSamplerYcbcrConversionImageFormatPropertiesKHR *pYcbcrImageFormatProperties)
>   {
> -   VkFormatProperties format_props;
>      VkFormatFeatureFlags format_feature_flags;
>      VkExtent3D maxExtent;
>      uint32_t maxMipLevels;
>      uint32_t maxArraySize;
>      VkSampleCountFlags sampleCounts = VK_SAMPLE_COUNT_1_BIT;
> +   const struct gen_device_info *devinfo = &physical_device->info;
>      const struct anv_format *format = anv_get_format(info->format);
>   
>      if (format == NULL)
>         goto unsupported;
>   
> -   anv_physical_device_get_format_properties(physical_device, info->format,
> -                                             &format_props);
> -
> -   /* Extract the VkFormatFeatureFlags that are relevant for the queried
> -    * tiling.
> -    */
> -   if (info->tiling == VK_IMAGE_TILING_LINEAR) {
> -      format_feature_flags = format_props.linearTilingFeatures;
> -   } else if (info->tiling == VK_IMAGE_TILING_OPTIMAL) {
> -      format_feature_flags = format_props.optimalTilingFeatures;
> -   } else {
> -      unreachable("bad VkImageTiling");
> -   }
> +   format_feature_flags = get_image_format_features(devinfo, info->format,
> +                                                    format, info->tiling);
>   
>      switch (info->type) {
>      default:




More information about the mesa-dev mailing list