Mesa (main): kopper: add some error logging for pixmap->texture failure

GitLab Mirror gitlab-mirror at kemper.freedesktop.org
Thu Apr 28 18:35:48 UTC 2022


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

Author: Mike Blumenkrantz <michael.blumenkrantz at gmail.com>
Date:   Wed Apr 27 17:06:57 2022 -0400

kopper: add some error logging for pixmap->texture failure

Reviewed-by: Adam Jackson <ajax at redhat.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16190>

---

 src/gallium/frontends/dri/kopper.c | 16 +++++++++++-----
 1 file changed, 11 insertions(+), 5 deletions(-)

diff --git a/src/gallium/frontends/dri/kopper.c b/src/gallium/frontends/dri/kopper.c
index c54d71ff3c1..e95d371e1a2 100644
--- a/src/gallium/frontends/dri/kopper.c
+++ b/src/gallium/frontends/dri/kopper.c
@@ -25,6 +25,7 @@
 #include "util/u_memory.h"
 #include "util/u_inlines.h"
 #include "util/u_box.h"
+#include "util/log.h"
 #include "pipe/p_context.h"
 #include "pipe-loader/pipe_loader.h"
 #include "state_tracker/st_context.h"
@@ -429,12 +430,14 @@ kopper_get_pixmap_buffer(struct kopper_drawable *cdraw,
    if (kscreen->has_dmabuf) {
       xcb_dri3_buffers_from_pixmap_cookie_t bps_cookie;
       xcb_dri3_buffers_from_pixmap_reply_t *bps_reply;
+      xcb_generic_error_t *error;
 
       bps_cookie = xcb_dri3_buffers_from_pixmap(conn, pixmap);
-      bps_reply = xcb_dri3_buffers_from_pixmap_reply(conn, bps_cookie,
-                                                     NULL);
-      if (!bps_reply)
+      bps_reply = xcb_dri3_buffers_from_pixmap_reply(conn, bps_cookie, &error);
+      if (!bps_reply) {
+         mesa_loge("kopper: could not create texture from pixmap (%u)", error->error_code);
          return NULL;
+      }
       cdraw->image =
          dri3_create_image_from_buffers(conn, bps_reply, format,
                                         cur_screen, &driVkImageExtension,
@@ -447,11 +450,14 @@ kopper_get_pixmap_buffer(struct kopper_drawable *cdraw,
    {
       xcb_dri3_buffer_from_pixmap_cookie_t bp_cookie;
       xcb_dri3_buffer_from_pixmap_reply_t *bp_reply;
+      xcb_generic_error_t *error;
 
       bp_cookie = xcb_dri3_buffer_from_pixmap(conn, pixmap);
-      bp_reply = xcb_dri3_buffer_from_pixmap_reply(conn, bp_cookie, NULL);
-      if (!bp_reply)
+      bp_reply = xcb_dri3_buffer_from_pixmap_reply(conn, bp_cookie, &error);
+      if (!bp_reply) {
+         mesa_loge("kopper: could not create texture from pixmap (%u)", error->error_code);
          return NULL;
+      }
 
       cdraw->image = dri3_create_image(conn, bp_reply, format,
                                        cur_screen, &driVkImageExtension,



More information about the mesa-commit mailing list