From 291b34ef0c31f84cfb73596d90b5c782ab7e1806 Mon Sep 17 00:00:00 2001 From: Anuj Phogat Date: Thu, 11 Feb 2021 17:44:32 -0800 Subject: [PATCH] intel/anv: Fix condition to set MipModeFilter for YUV surface Mip Mode Filter must be set to MIPFILTER_NONE for Planar YUV surfaces. Add the missing condition to check for planar format. Fixes: b24b93d5843 "anv: enable VK_KHR_sampler_ycbcr_conversion" Signed-off-by: Anuj Phogat Reviewed-by: Lionel Landwerlin Reviewed-by: Jason Ekstrand (cherry picked from commit 226316116cd1e48a8f0734aa58669f98294d3d19) --- .pick_status.json | 2 +- src/intel/vulkan/genX_state.c | 7 +++++-- 2 files changed, 6 insertions(+), 3 deletions(-) diff --git a/.pick_status.json b/.pick_status.json index dc1222fe5a2..7aa4dfe0b37 100644 --- a/.pick_status.json +++ b/.pick_status.json @@ -436,7 +436,7 @@ "description": "intel/anv: Fix condition to set MipModeFilter for YUV surface", "nominated": true, "nomination_type": 1, - "resolution": 0, + "resolution": 1, "master_sha": null, "because_sha": "b24b93d58431a4349eecddb07304f6eda648e997" }, diff --git a/src/intel/vulkan/genX_state.c b/src/intel/vulkan/genX_state.c index e490c40f07c..0c7905b6bcd 100644 --- a/src/intel/vulkan/genX_state.c +++ b/src/intel/vulkan/genX_state.c @@ -504,9 +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 = + 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_yuv(sampler->conversion->format->planes[0].isl_format)) ? + (sampler->conversion && isl_format_is_planar_yuv) ? MIPFILTER_NONE : vk_to_gen_mipmap_mode[pCreateInfo->mipmapMode]; struct GENX(SAMPLER_STATE) sampler_state = {