Re: [Mesa-dev] [PATCH 1/2] anv/format: handle unsupported formats properly
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
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
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
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
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