123456789101112131415161718192021222324252627282930313233343536373839404142 |
- From 799e67eeeb7d6984df65fa17ce9374416de5f61c 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] 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 bd8a80c..2aa9c7c 100644
- --- a/src/gbm/backends/dri/gbm_dri.c
- +++ b/src/gbm/backends/dri/gbm_dri.c
- @@ -1245,8 +1245,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,
- @@ -1374,8 +1377,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,
|