From a405ba5afeb7ba89aabcd0db69cf340dd7dbd1a9 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jos=C3=A9=20Exp=C3=B3sito?= Date: Thu, 27 Jun 2024 13:07:11 +0200 Subject: [PATCH] llvmpipe: Init eglQueryDmaBufModifiersEXT num_modifiers MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Initialize the number of modifiers when `max` is 0 as documented [1]: If is 0, no formats are returned, but the total number of formats is returned in , and no error is generated. [1] https://registry.khronos.org/EGL/extensions/EXT/EGL_EXT_image_dma_buf_import_modifiers.txt Fixes: d74ea2c117fe ("llvmpipe: Implement dmabuf handling") Reported-by: Michal Odehnal Tested-by: Michal Odehnal Reviewed-by: Lucas Fryzek Signed-off-by: José Expósito Part-of: (cherry picked from commit 1ef3b38ff84e60f35251813493e212ff31bb019d) --- .pick_status.json | 2 +- src/gallium/drivers/llvmpipe/lp_texture.c | 6 +++--- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/.pick_status.json b/.pick_status.json index 7fc24099163..b570b1009bf 100644 --- a/.pick_status.json +++ b/.pick_status.json @@ -254,7 +254,7 @@ "description": "llvmpipe: Init eglQueryDmaBufModifiersEXT num_modifiers", "nominated": true, "nomination_type": 1, - "resolution": 0, + "resolution": 1, "main_sha": null, "because_sha": "d74ea2c117fe96e527471e572336f931c3c77da1", "notes": null diff --git a/src/gallium/drivers/llvmpipe/lp_texture.c b/src/gallium/drivers/llvmpipe/lp_texture.c index 6e86a6da06c..fc3c79ab8fe 100644 --- a/src/gallium/drivers/llvmpipe/lp_texture.c +++ b/src/gallium/drivers/llvmpipe/lp_texture.c @@ -1454,10 +1454,10 @@ llvmpipe_resource_get_param(struct pipe_screen *screen, static void llvmpipe_query_dmabuf_modifiers(struct pipe_screen *pscreen, enum pipe_format format, int max, uint64_t *modifiers, unsigned int *external_only, int *count) { - if (max) { - *count = 1; + *count = 1; + + if (max) *modifiers = DRM_FORMAT_MOD_LINEAR; - } } static bool