aboutsummaryrefslogtreecommitdiff
path: root/backend/backend.c
diff options
context:
space:
mode:
Diffstat (limited to 'backend/backend.c')
-rw-r--r--backend/backend.c11
1 files changed, 8 insertions, 3 deletions
diff --git a/backend/backend.c b/backend/backend.c
index 8163e203..7e299f9d 100644
--- a/backend/backend.c
+++ b/backend/backend.c
@@ -150,11 +150,16 @@ static struct wlr_backend *attempt_noop_backend(struct wl_display *display) {
static struct wlr_backend *attempt_drm_backend(struct wl_display *display,
struct wlr_backend *backend, struct wlr_session *session) {
struct wlr_device *gpus[8];
- size_t num_gpus = wlr_session_find_gpus(session, 8, gpus);
- struct wlr_backend *primary_drm = NULL;
+ ssize_t num_gpus = wlr_session_find_gpus(session, 8, gpus);
+ if (num_gpus < 0) {
+ wlr_log(WLR_ERROR, "Failed to find GPUs");
+ return NULL;
+ }
+
wlr_log(WLR_INFO, "Found %zu GPUs", num_gpus);
- for (size_t i = 0; i < num_gpus; ++i) {
+ struct wlr_backend *primary_drm = NULL;
+ for (size_t i = 0; i < (size_t)num_gpus; ++i) {
struct wlr_backend *drm = wlr_drm_backend_create(display, session,
gpus[i], primary_drm);
if (!drm) {