[Mesa-dev] [PATCH 1/2] anv/format: handle unsupported formats properly

Iago Toral itoral at igalia.com
Tue Nov 15 07:41:34 UTC 2016


On Mon, 2016-11-14 at 09:29 -0800, Jason Ekstrand wrote:
> On Mon, Nov 14, 2016 at 5:23 AM, Iago Toral Quiroga <itoral at igalia.co
> m> wrote:
> > According to the spec for vkGetPhysicalDeviceImageFormatProperties:
> > 
> > "If format is not a supported image format, or if the combination
> > of format,
> >  type, tiling, usage, and flags is not supported for images, then
> >  vkGetPhysicalDeviceImageFormatProperties returns
> > VK_ERROR_FORMAT_NOT_SUPPORTED."
> > 
> > Makes the following Vulkan CTS tests report 'Not Supported' instead
> > of crashing:
> > 
> > dEQP-VK.api.image_clearing.clear_color_image.1d_b8g8r8_unorm
> > dEQP-VK.api.image_clearing.clear_color_image.1d_b8g8r8_snorm
> > dEQP-VK.api.image_clearing.clear_color_image.1d_b8g8r8_uscaled
> > dEQP-VK.api.image_clearing.clear_color_image.1d_b8g8r8_sscaled
> > dEQP-VK.api.image_clearing.clear_color_image.1d_b8g8r8_uint
> > dEQP-VK.api.image_clearing.clear_color_image.1d_b8g8r8_sint
> > dEQP-VK.api.image_clearing.clear_color_image.1d_b8g8r8_srgb
> > dEQP-VK.api.image_clearing.clear_color_image.1d_b8g8r8a8_unorm
> > dEQP-VK.api.image_clearing.clear_color_image.1d_b8g8r8a8_snorm
> > dEQP-VK.api.image_clearing.clear_color_image.1d_b8g8r8a8_uscaled
> > dEQP-VK.api.image_clearing.clear_color_image.1d_b8g8r8a8_sscaled
> > dEQP-VK.api.image_clearing.clear_color_image.1d_b8g8r8a8_uint
> > dEQP-VK.api.image_clearing.clear_color_image.1d_b8g8r8a8_sint
> > dEQP-VK.api.image_clearing.clear_color_image.1d_b8g8r8a8_srgb
> > dEQP-VK.api.image_clearing.clear_color_image.1d_r4g4_unorm_pack8
> > dEQP-VK.api.image_clearing.clear_color_image.1d_r8_srgb
> > dEQP-VK.api.image_clearing.clear_color_image.1d_r8g8_srgb
> > dEQP-VK.api.image_clearing.clear_color_image.1d_r8g8b8_srgb
> > dEQP-
> > VK.api.image_clearing.clear_color_image.1d_b5g5r5a1_unorm_pack16
> > ---
> >  src/intel/vulkan/anv_formats.c | 3 +++
> >  1 file changed, 3 insertions(+)
> > 
> > diff --git a/src/intel/vulkan/anv_formats.c
> > b/src/intel/vulkan/anv_formats.c
> > index 7497a38..bca9aeb 100644
> > --- a/src/intel/vulkan/anv_formats.c
> > +++ b/src/intel/vulkan/anv_formats.c
> > @@ -511,6 +511,9 @@ VkResult
> > anv_GetPhysicalDeviceImageFormatProperties(
> >        break;
> >     }
> > 
> > +   if (anv_formats[format].isl_format == ISL_FORMAT_UNSUPPORTED)
> > +      goto unsupported;
> > +
> Can we move this a bit higher up?  This is an early return so it
> makes sense to return as quickly as we can.
> 

Sorry I pushed this too fast, but yes, you're right that it makes sense
to do this earlier. I'll do the change and talk to Emil to include the
first patch in the next stable release.

Iago

> 
> Reviewed-by: Jason Ekstrand <jason at jlekstrand.net>
>  
> >     /* Our hardware doesn't support 1D compressed textures.
> >      *    From the SKL PRM, RENDER_SURFACE_STATE::SurfaceFormat:
> >      *    * This field cannot be a compressed (BC*, DXT*, FXT*,
> > ETC*, EAC*) format
> > --
> > 2.7.4
> > 
> > _______________________________________________
> > mesa-dev mailing list
> > mesa-dev at lists.freedesktop.org
> > https://lists.freedesktop.org/mailman/listinfo/mesa-dev
> > 


More information about the mesa-dev mailing list