Mesa (staging/21.0): intel/anv: Fix condition for planar yuv surface

GitLab Mirror gitlab-mirror at kemper.freedesktop.org
Thu Feb 18 22:42:29 UTC 2021


Module: Mesa
Branch: staging/21.0
Commit: 811f4b21daf498daecb421fc7e26f531b96d3b02
URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=811f4b21daf498daecb421fc7e26f531b96d3b02

Author: Anuj Phogat <anuj.phogat at gmail.com>
Date:   Wed Feb 17 14:24:20 2021 -0800

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 <anuj.phogat at gmail.com>
Reviewed-by: Kenneth Graunke <kenneth at whitecape.org>
Reviewed-by: Jason Ekstrand <jason at jlekstrand.net>
(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 = {



More information about the mesa-commit mailing list