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

2016-11-14 Thread Iago Toral
On Mon, 2016-11-14 at 09:29 -0800, Jason Ekstrand wrote:
> On Mon, Nov 14, 2016 at 5:23 AM, Iago Toral Quiroga  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 
>  
> >     /* 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@lists.freedesktop.org
> > https://lists.freedesktop.org/mailman/listinfo/mesa-dev
> > 
___
mesa-dev mailing list
mesa-dev@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/mesa-dev


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

2016-11-14 Thread Jason Ekstrand
Also, please Cc stable

On Mon, Nov 14, 2016 at 9:29 AM, Jason Ekstrand 
wrote:

> On Mon, Nov 14, 2016 at 5:23 AM, Iago Toral Quiroga 
> 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.
>
> Reviewed-by: Jason Ekstrand 
>
>
>> /* 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@lists.freedesktop.org
>> https://lists.freedesktop.org/mailman/listinfo/mesa-dev
>>
>
>
___
mesa-dev mailing list
mesa-dev@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/mesa-dev


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

2016-11-14 Thread Jason Ekstrand
On Mon, Nov 14, 2016 at 5:23 AM, Iago Toral Quiroga 
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.

Reviewed-by: Jason Ekstrand 


> /* 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@lists.freedesktop.org
> https://lists.freedesktop.org/mailman/listinfo/mesa-dev
>
___
mesa-dev mailing list
mesa-dev@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/mesa-dev


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

2016-11-14 Thread Lionel Landwerlin

Thanks for Spotting this.

Reviewed-by: Lionel Landwerlin 

On 14/11/16 13:23, Iago Toral Quiroga 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;
+
 /* 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



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


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

2016-11-14 Thread Iago Toral Quiroga
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;
+
/* 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@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/mesa-dev