c50e5ba7a5
Cherry-pick from http://192.168.110.45/sdk/buildroot/-/commit/ed70e2b79cbc7a504792899e2cd3577777fd54bd
45 lines
1.6 KiB
Diff
45 lines
1.6 KiB
Diff
From 5ed87bbc92b8034b14060d5170c3d82bfce54fb7 Mon Sep 17 00:00:00 2001
|
|
From: Brendan King <Brendan.King@imgtec.com>
|
|
Date: Fri, 1 Dec 2017 08:31:15 +0000
|
|
Subject: [PATCH 26/50] gbm: don't assert if DRI context creation fails
|
|
|
|
If the DRI backend fails to create a DRI context, return an error,
|
|
rather than asserting.
|
|
---
|
|
src/gbm/backends/dri/gbm_dri.c | 10 ++++++++--
|
|
1 file changed, 8 insertions(+), 2 deletions(-)
|
|
|
|
diff --git a/src/gbm/backends/dri/gbm_dri.c b/src/gbm/backends/dri/gbm_dri.c
|
|
index ca865f4df9c..f9adbc5c001 100644
|
|
--- a/src/gbm/backends/dri/gbm_dri.c
|
|
+++ b/src/gbm/backends/dri/gbm_dri.c
|
|
@@ -1224,8 +1224,11 @@ gbm_dri_bo_map(struct gbm_bo *_bo,
|
|
if (!dri->context)
|
|
dri->context = dri->dri2->createNewContext(dri->screen, NULL,
|
|
NULL, NULL);
|
|
- assert(dri->context);
|
|
mtx_unlock(&dri->mutex);
|
|
+ if (!dri->context) {
|
|
+ errno = ENOSYS;
|
|
+ return NULL;
|
|
+ }
|
|
|
|
/* GBM flags and DRI flags are the same, so just pass them on */
|
|
return dri->image->mapImage(dri->context, bo->image, x, y,
|
|
@@ -1353,8 +1356,11 @@ gbm_dri_bo_blit(struct gbm_bo *_dst_bo, struct gbm_bo *_src_bo,
|
|
if (!dri->context)
|
|
dri->context = dri->dri2->createNewContext(dri->screen, NULL,
|
|
NULL, NULL);
|
|
- assert(dri->context);
|
|
mtx_unlock(&dri->mutex);
|
|
+ if (!dri->context) {
|
|
+ errno = ENOSYS;
|
|
+ return 0;
|
|
+ }
|
|
|
|
/* GBM flags and DRI flags are the same, so just pass them on */
|
|
dri->image->blitImage(dri->context, dst_bo->image, src_bo->image,
|
|
--
|
|
2.17.1
|
|
|