From ec3845fa9f9604eb17650ac2de69a2feb530f4f2 Mon Sep 17 00:00:00 2001 From: raysan5 Date: Thu, 24 Dec 2020 19:09:05 +0100 Subject: [PATCH] Review some RPI4 tracelogs --- src/core.c | 65 ++++++++++++++++++------------------------------------ 1 file changed, 21 insertions(+), 44 deletions(-) diff --git a/src/core.c b/src/core.c index 2377f60c..e6d27e5f 100644 --- a/src/core.c +++ b/src/core.c @@ -3616,7 +3616,7 @@ static bool InitGraphicsDevice(int width, int height) PFNEGLGETPLATFORMDISPLAYEXTPROC eglGetPlatformDisplayEXT = (PFNEGLGETPLATFORMDISPLAYEXTPROC)(eglGetProcAddress("eglGetPlatformDisplayEXT")); if (!eglGetPlatformDisplayEXT) { - TRACELOG(LOG_WARNING, "DISPLAY: Failed to get function eglGetPlatformDisplayEXT"); + TRACELOG(LOG_WARNING, "DISPLAY: Failed to get function pointer: eglGetPlatformDisplayEXT()"); return false; } @@ -3762,7 +3762,7 @@ static bool InitGraphicsDevice(int width, int height) return false; } - TRACELOG(LOG_TRACE, "DISPLAY: %d EGL configs available", numConfigs); + TRACELOG(LOG_TRACE, "DISPLAY: EGL configs available: %d", numConfigs); EGLConfig *configs = calloc(numConfigs, sizeof(*configs)); if (!configs) @@ -3779,7 +3779,7 @@ static bool InitGraphicsDevice(int width, int height) return false; } - TRACELOG(LOG_TRACE, "DISPLAY: %d matching EGL configs available", matchingNumConfigs); + TRACELOG(LOG_TRACE, "DISPLAY: EGL matching configs available: %d", matchingNumConfigs); if (!eglChooseConfig(CORE.Window.device, framebufferAttribs, configs, numConfigs, &matchingNumConfigs)) { @@ -3801,7 +3801,7 @@ static bool InitGraphicsDevice(int width, int height) if (GBM_FORMAT_ARGB8888 == id) { - TRACELOG(LOG_TRACE, "DISPLAY: using EGL config %d", i); + TRACELOG(LOG_TRACE, "DISPLAY: Using EGL config: %d", i); CORE.Window.config = configs[i]; found = 1; break; @@ -4435,14 +4435,14 @@ static void SwapBuffers(void) #if defined(PLATFORM_DRM) if (!CORE.Window.gbmSurface || (-1 == CORE.Window.fd) || !CORE.Window.connector || !CORE.Window.crtc) { - TRACELOG(LOG_ERROR, "DRM initialization failed, can't swap"); + TRACELOG(LOG_ERROR, "DISPLAY: DRM initialization failed to swap"); abort(); } struct gbm_bo *bo = gbm_surface_lock_front_buffer(CORE.Window.gbmSurface); if (!bo) { - TRACELOG(LOG_ERROR, "GBM failed to lock front buffer"); + TRACELOG(LOG_ERROR, "DISPLAY: Failed GBM to lock front buffer"); abort(); } @@ -4451,7 +4451,7 @@ static void SwapBuffers(void) 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, "drmModeAddFB failed with %d", result); + TRACELOG(LOG_ERROR, "DISPLAY: drmModeAddFB() failed with result: %d", result); abort(); } @@ -4459,7 +4459,7 @@ static void SwapBuffers(void) &CORE.Window.connector->connector_id, 1, &CORE.Window.connector->modes[CORE.Window.modeIndex]); if (0 != result) { - TRACELOG(LOG_ERROR, "drmModeSetCrtc failed with %d", result); + TRACELOG(LOG_ERROR, "DISPLAY: drmModeSetCrtc() failed with result: %d", result); abort(); } @@ -4468,7 +4468,7 @@ static void SwapBuffers(void) result = drmModeRmFB(CORE.Window.fd, CORE.Window.prevFB); if (0 != result) { - TRACELOG(LOG_ERROR, "drmModeRmFB failed with %d", result); + TRACELOG(LOG_ERROR, "DISPLAY: drmModeRmFB() failed with result: %d", result); abort(); } } @@ -6115,14 +6115,10 @@ static int FindMatchingConnectorMode(const drmModeConnector *connector, const dr for (size_t i = 0; i < connector->count_modes; i++) { - TRACELOG(LOG_TRACE, "mode %d %ux%u@%u %s", i, connector->modes[i].hdisplay, connector->modes[i].vdisplay, + TRACELOG(LOG_TRACE, "DISPLAY: DRM mode: %d %ux%u@%u %s", i, connector->modes[i].hdisplay, connector->modes[i].vdisplay, connector->modes[i].vrefresh, (connector->modes[i].flags & DRM_MODE_FLAG_INTERLACE) ? "interlaced" : "progressive"); - if (0 == BINCMP(&CORE.Window.crtc->mode, &CORE.Window.connector->modes[i])) - { - TRACELOG(LOG_TRACE, "above mode selected"); - return i; - } + if (0 == BINCMP(&CORE.Window.crtc->mode, &CORE.Window.connector->modes[i])) return i; } return -1; @@ -6133,7 +6129,7 @@ static int FindMatchingConnectorMode(const drmModeConnector *connector, const dr // Search exactly matching DRM connector mode in connector's list static int FindExactConnectorMode(const drmModeConnector *connector, uint width, uint height, uint fps, bool allowInterlaced) { - TRACELOG(LOG_TRACE, "searching exact connector mode for %ux%u@%u, selecting an interlaced mode is allowed: %s", width, height, fps, allowInterlaced ? "yes" : "no"); + TRACELOG(LOG_TRACE, "DISPLAY: Searching exact connector mode for %ux%u@%u, selecting an interlaced mode is allowed: %s", width, height, fps, allowInterlaced ? "yes" : "no"); if (NULL == connector) return -1; @@ -6141,29 +6137,21 @@ static int FindExactConnectorMode(const drmModeConnector *connector, uint width, { const drmModeModeInfo *const mode = &CORE.Window.connector->modes[i]; - TRACELOG(LOG_TRACE, "mode %d %ux%u@%u %s", i, mode->hdisplay, mode->vdisplay, mode->vrefresh, (mode->flags & DRM_MODE_FLAG_INTERLACE) ? "interlaced" : "progressive"); + TRACELOG(LOG_TRACE, "DISPLAY: DRM Mode %d %ux%u@%u %s", i, mode->hdisplay, mode->vdisplay, mode->vrefresh, (mode->flags & DRM_MODE_FLAG_INTERLACE) ? "interlaced" : "progressive"); - if ((mode->flags & DRM_MODE_FLAG_INTERLACE) && (!allowInterlaced)) - { - TRACELOG(LOG_TRACE, "but shouldn't choose an interlaced mode"); - continue; - } + if ((mode->flags & DRM_MODE_FLAG_INTERLACE) && (!allowInterlaced)) continue; - if ((mode->hdisplay == width) && (mode->vdisplay == height) && (mode->vrefresh == fps)) - { - TRACELOG(LOG_TRACE, "mode selected"); - return i; - } + if ((mode->hdisplay == width) && (mode->vdisplay == height) && (mode->vrefresh == fps)) return i; } - TRACELOG(LOG_TRACE, "no exact matching mode found"); + TRACELOG(LOG_TRACE, "DISPLAY: No DRM exact matching mode found"); return -1; } // Search the nearest matching DRM connector mode in connector's list static int FindNearestConnectorMode(const drmModeConnector *connector, uint width, uint height, uint fps, bool allowInterlaced) { - TRACELOG(LOG_TRACE, "searching nearest connector mode for %ux%u@%u, selecting an interlaced mode is allowed: %s", width, height, fps, allowInterlaced ? "yes" : "no"); + TRACELOG(LOG_TRACE, "DISPLAY: Searching nearest connector mode for %ux%u@%u, selecting an interlaced mode is allowed: %s", width, height, fps, allowInterlaced ? "yes" : "no"); if (NULL == connector) return -1; @@ -6172,18 +6160,18 @@ static int FindNearestConnectorMode(const drmModeConnector *connector, uint widt { const drmModeModeInfo *const mode = &CORE.Window.connector->modes[i]; - TRACELOG(LOG_TRACE, "mode %d %ux%u@%u %s", i, mode->hdisplay, mode->vdisplay, mode->vrefresh, + TRACELOG(LOG_TRACE, "DISPLAY: DRM mode: %d %ux%u@%u %s", i, mode->hdisplay, mode->vdisplay, mode->vrefresh, (mode->flags & DRM_MODE_FLAG_INTERLACE) ? "interlaced" : "progressive"); if ((mode->hdisplay < width) || (mode->vdisplay < height) | (mode->vrefresh < fps)) { - TRACELOG(LOG_TRACE, "mode is too small"); + TRACELOG(LOG_TRACE, "DISPLAY: DRM mode is too small"); continue; } if ((mode->flags & DRM_MODE_FLAG_INTERLACE) && (!allowInterlaced)) { - TRACELOG(LOG_TRACE, "shouldn't choose an interlaced mode"); + TRACELOG(LOG_TRACE, "DISPLAY: DRM shouldn't choose an interlaced mode"); continue; } @@ -6195,7 +6183,6 @@ static int FindNearestConnectorMode(const drmModeConnector *connector, uint widt if (nearestIndex < 0) { - TRACELOG(LOG_TRACE, "first suitable mode"); nearestIndex = i; continue; } @@ -6204,20 +6191,10 @@ static int FindNearestConnectorMode(const drmModeConnector *connector, uint widt const int nearestHeightDiff = CORE.Window.connector->modes[nearestIndex].vdisplay - height; const int nearestFpsDiff = CORE.Window.connector->modes[nearestIndex].vrefresh - fps; - if ((widthDiff < nearestWidthDiff) || (heightDiff < nearestHeightDiff) || (fpsDiff < nearestFpsDiff)) - { - TRACELOG(LOG_TRACE, "mode is nearer than the previous one"); - nearestIndex = i; - } - else - { - TRACELOG(LOG_TRACE, "mode is not nearer"); - } + if ((widthDiff < nearestWidthDiff) || (heightDiff < nearestHeightDiff) || (fpsDiff < nearestFpsDiff)) nearestIndex = i; } } - TRACELOG(LOG_TRACE, "returning nearest mode: %d", nearestIndex); - return nearestIndex; } #endif