diff options
author | Lucas Stach <l.stach@pengutronix.de> | 2017-05-02 16:39:34 +0200 |
---|---|---|
committer | Daniel Stone <daniels@collabora.com> | 2017-05-02 19:08:30 +0100 |
commit | ac7e6c720873e36e3700f927073d528793bf6308 (patch) | |
tree | 02602bc7a1b076020b5e4a7c7d96d8887f48445d /drm-atomic.c | |
parent | 83d33948c172ccef1ce5b91bf1ace21da8628973 (diff) | |
download | kmscube-ac7e6c720873e36e3700f927073d528793bf6308.tar.gz |
drm-atomic: check for valid GBM BO
With the modifier support it is possible to force a modifier which isn't
compatible with any of the GPU targets. In that case the EGL platform will
be unable to allocate the back buffers.
Provide an error message in that case, instead of crashing.
Signed-off-by: Lucas Stach <l.stach@pengutronix.de>
Reviewed-by: Daniel Stone <daniels@collabora.com>
Diffstat (limited to 'drm-atomic.c')
-rw-r--r-- | drm-atomic.c | 4 |
1 files changed, 4 insertions, 0 deletions
diff --git a/drm-atomic.c b/drm-atomic.c index 7219623..bd4f3a8 100644 --- a/drm-atomic.c +++ b/drm-atomic.c @@ -227,6 +227,10 @@ static int atomic_run(const struct gbm *gbm, const struct egl *egl) assert(drm.kms_in_fence_fd != -1); next_bo = gbm_surface_lock_front_buffer(gbm->surface); + if (!next_bo) { + printf("Failed to lock frontbuffer\n"); + return -1; + } fb = drm_fb_get_from_bo(next_bo); if (!fb) { printf("Failed to get a new framebuffer BO\n"); |