From 811f4b21daf498daecb421fc7e26f531b96d3b02 Mon Sep 17 00:00:00 2001 From: Anuj Phogat Date: Wed, 17 Feb 2021 14:24:20 -0800 Subject: [PATCH] intel/anv: Fix condition for planar yuv surface Test the sampler->conversion for NULL pointer before dereferencing it. Fixes: Regressions in VulkanCTS. Fixes: 226316116cd "intel/anv: Fix condition to set MipModeFilter for YUV surface" Signed-off-by: Anuj Phogat Reviewed-by: Kenneth Graunke Reviewed-by: Jason Ekstrand (cherry picked from commit 69e94e8939f79041b9cc21f03286b24166a0d746) --- .pick_status.json | 2 +- src/intel/vulkan/genX_state.c | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/.pick_status.json b/.pick_status.json index bf1fef78a15..6d8430081e2 100644 --- a/.pick_status.json +++ b/.pick_status.json @@ -310,7 +310,7 @@ "description": "intel/anv: Fix condition for planar yuv surface", "nominated": true, "nomination_type": 1, - "resolution": 0, + "resolution": 1, "master_sha": null, "because_sha": "226316116cd1e48a8f0734aa58669f98294d3d19" }, diff --git a/src/intel/vulkan/genX_state.c b/src/intel/vulkan/genX_state.c index 0c7905b6bcd..ffcbacd31a9 100644 --- a/src/intel/vulkan/genX_state.c +++ b/src/intel/vulkan/genX_state.c @@ -504,12 +504,12 @@ VkResult genX(CreateSampler)( /* From Broadwell PRM, SAMPLER_STATE: * "Mip Mode Filter must be set to MIPFILTER_NONE for Planar YUV surfaces." */ - const bool isl_format_is_planar_yuv = + const bool isl_format_is_planar_yuv = sampler->conversion && isl_format_is_yuv(sampler->conversion->format->planes[0].isl_format) && isl_format_is_planar(sampler->conversion->format->planes[0].isl_format); const uint32_t mip_filter_mode = - (sampler->conversion && isl_format_is_planar_yuv) ? + isl_format_is_planar_yuv ? MIPFILTER_NONE : vk_to_gen_mipmap_mode[pCreateInfo->mipmapMode]; struct GENX(SAMPLER_STATE) sampler_state = {