summaryrefslogtreecommitdiffhomepage
path: root/src
diff options
context:
space:
mode:
authorRay <[email protected]>2022-04-25 21:00:17 +0200
committerRay <[email protected]>2022-04-25 21:00:17 +0200
commit38a3523f5907803ecbb0ed9b90cb00a8817c1548 (patch)
tree25485a0119da934970e76b43056db9b40ba0c3b5 /src
parentbdfa256ceaa440ccb16428900cb7e75aa2edb2b1 (diff)
downloadraylib-38a3523f5907803ecbb0ed9b90cb00a8817c1548.tar.gz
raylib-38a3523f5907803ecbb0ed9b90cb00a8817c1548.zip
REVIEWED: `SwapScreenBuffers()` for `PLATFORM_DRM`
Avoid calling `abort()`, `LOG_ERROR` already manages it. Code looks cleaner now.
Diffstat (limited to 'src')
-rw-r--r--src/rcore.c44
1 files changed, 11 insertions, 33 deletions
diff --git a/src/rcore.c b/src/rcore.c
index 30100c28..9ce36972 100644
--- a/src/rcore.c
+++ b/src/rcore.c
@@ -4857,53 +4857,31 @@ void SwapScreenBuffer(void)
eglSwapBuffers(CORE.Window.device, CORE.Window.surface);
#if defined(PLATFORM_DRM)
- if (!CORE.Window.gbmSurface || (-1 == CORE.Window.fd) || !CORE.Window.connector || !CORE.Window.crtc)
- {
- TRACELOG(LOG_ERROR, "DISPLAY: DRM initialization failed to swap");
- abort();
- }
+
+ if (!CORE.Window.gbmSurface || (-1 == CORE.Window.fd) || !CORE.Window.connector || !CORE.Window.crtc) TRACELOG(LOG_ERROR, "DISPLAY: DRM initialization failed to swap");
struct gbm_bo *bo = gbm_surface_lock_front_buffer(CORE.Window.gbmSurface);
- if (!bo)
- {
- TRACELOG(LOG_ERROR, "DISPLAY: Failed GBM to lock front buffer");
- abort();
- }
+ if (!bo) TRACELOG(LOG_ERROR, "DISPLAY: Failed GBM to lock front buffer");
uint32_t fb = 0;
- int result = drmModeAddFB(CORE.Window.fd, CORE.Window.connector->modes[CORE.Window.modeIndex].hdisplay,
- CORE.Window.connector->modes[CORE.Window.modeIndex].vdisplay, 24, 32, gbm_bo_get_stride(bo), gbm_bo_get_handle(bo).u32, &fb);
- if (0 != result)
- {
- TRACELOG(LOG_ERROR, "DISPLAY: drmModeAddFB() failed with result: %d", result);
- abort();
- }
+ int result = drmModeAddFB(CORE.Window.fd, CORE.Window.connector->modes[CORE.Window.modeIndex].hdisplay, CORE.Window.connector->modes[CORE.Window.modeIndex].vdisplay, 24, 32, gbm_bo_get_stride(bo), gbm_bo_get_handle(bo).u32, &fb);
+ if (result != 0) TRACELOG(LOG_ERROR, "DISPLAY: drmModeAddFB() failed with result: %d", result);
- result = drmModeSetCrtc(CORE.Window.fd, CORE.Window.crtc->crtc_id, fb, 0, 0,
- &CORE.Window.connector->connector_id, 1, &CORE.Window.connector->modes[CORE.Window.modeIndex]);
- if (0 != result)
- {
- TRACELOG(LOG_ERROR, "DISPLAY: drmModeSetCrtc() failed with result: %d", result);
- abort();
- }
+ result = drmModeSetCrtc(CORE.Window.fd, CORE.Window.crtc->crtc_id, fb, 0, 0, &CORE.Window.connector->connector_id, 1, &CORE.Window.connector->modes[CORE.Window.modeIndex]);
+ if (result != 0) TRACELOG(LOG_ERROR, "DISPLAY: drmModeSetCrtc() failed with result: %d", result);
if (CORE.Window.prevFB)
{
result = drmModeRmFB(CORE.Window.fd, CORE.Window.prevFB);
- if (0 != result)
- {
- TRACELOG(LOG_ERROR, "DISPLAY: drmModeRmFB() failed with result: %d", result);
- abort();
- }
+ if (result != 0) TRACELOG(LOG_ERROR, "DISPLAY: drmModeRmFB() failed with result: %d", result);
}
+
CORE.Window.prevFB = fb;
- if (CORE.Window.prevBO)
- {
- gbm_surface_release_buffer(CORE.Window.gbmSurface, CORE.Window.prevBO);
- }
+ if (CORE.Window.prevBO) gbm_surface_release_buffer(CORE.Window.gbmSurface, CORE.Window.prevBO);
CORE.Window.prevBO = bo;
+
#endif // PLATFORM_DRM
#endif // PLATFORM_ANDROID || PLATFORM_RPI || PLATFORM_DRM
}