Module: Mesa
Branch: main
Commit: 94e5b5d04952922217da899ca80c36d3e4c4f359
URL:    
http://cgit.freedesktop.org/mesa/mesa/commit/?id=94e5b5d04952922217da899ca80c36d3e4c4f359

Author: Nanley Chery <[email protected]>
Date:   Wed Dec 27 13:43:55 2023 -0500

isl: Handle MOD_INVALID in clear color plane check

In iris, if whandle->modifier is DRM_FORMAT_MOD_INVALID within
iris_resource_from_handle, isl_drm_modifier_plane_is_clear_color will
assert fail on non-existent modifier info. Update that function to
return early instead.

Fixes the assert failure when running the piglit test case:

   ext_image_dma_buf_import-sample_yuv -fmt=YVYU -auto

   ext_image_dma_buf_import-sample_yuv: ../../src/intel/isl/isl.h:2352:
      isl_drm_modifier_plane_is_clear_color: Assertion `mod_info' failed.

Fixes: 81d132d5ea9 ("iris: Use helpers for generic aux plane importing")
Reviewed-by: Lionel Landwerlin <[email protected]>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/26826>

---

 src/intel/isl/isl.h | 3 +++
 1 file changed, 3 insertions(+)

diff --git a/src/intel/isl/isl.h b/src/intel/isl/isl.h
index b50c6b96f68..fc449abb6b3 100644
--- a/src/intel/isl/isl.h
+++ b/src/intel/isl/isl.h
@@ -2347,6 +2347,9 @@ isl_drm_modifier_has_aux(uint64_t modifier)
 static inline bool
 isl_drm_modifier_plane_is_clear_color(uint64_t modifier, uint32_t plane)
 {
+   if (modifier == DRM_FORMAT_MOD_INVALID)
+      return false;
+
    ASSERTED const struct isl_drm_modifier_info *mod_info =
       isl_drm_modifier_get_info(modifier);
    assert(mod_info);

Reply via email to