diff options
| author | Maria Lisina <sekoohaka.sarisan@gmail.com> | 2026-07-21 18:05:34 +0300 |
|---|---|---|
| committer | Maria Lisina <sekoohaka.sarisan@gmail.com> | 2026-07-21 18:05:34 +0300 |
| commit | 7025c8be1fe227ea3ab36bc8566c787d51919b1f (patch) | |
| tree | 5c7a41c2d47f4a7bd7b9b97101d82fa56a50b761 /src/utils.c | |
| parent | 5b6633bebe2610b110fdbb5f756279dfa68ca0f2 (diff) | |
| parent | 7baf5e25f9ea9adc3a685f6512a516b25e61dfeb (diff) | |
Merge tag '5.15.2' of https://repo.dec05eba.com/gpu-screen-recorder into debian
Diffstat (limited to 'src/utils.c')
| -rw-r--r-- | src/utils.c | 33 |
1 files changed, 14 insertions, 19 deletions
diff --git a/src/utils.c b/src/utils.c index 9010064..31853e2 100644 --- a/src/utils.c +++ b/src/utils.c @@ -358,53 +358,48 @@ bool drm_monitor_get_display_server_data(const gsr_window *window, const gsr_mon bool gl_get_gpu_info(gsr_egl *egl, gsr_gpu_info *info) { const char *software_renderers[] = { "llvmpipe", "SWR", "softpipe", NULL }; - bool supported = true; - const unsigned char *gl_vendor = egl->glGetString(GL_VENDOR); - const unsigned char *gl_renderer = egl->glGetString(GL_RENDERER); + const char *gl_vendor = (const char*)egl->glGetString(GL_VENDOR); + const char *gl_renderer = (const char*)egl->glGetString(GL_RENDERER); info->gpu_version = 0; info->is_steam_deck = false; if(!gl_vendor) { fprintf(stderr, "gsr error: failed to get gpu vendor\n"); - supported = false; - goto end; + return false; } if(gl_renderer) { for(int i = 0; software_renderers[i]; ++i) { - if(strstr((const char*)gl_renderer, software_renderers[i])) { + if(strstr(gl_renderer, software_renderers[i])) { fprintf(stderr, "gsr error: your opengl environment is not properly setup. It's using %s (software rendering) for opengl instead of your graphics card. Please make sure your graphics driver is properly installed\n", software_renderers[i]); - supported = false; - goto end; + return false; } } } - if(strstr((const char*)gl_vendor, "AMD")) + if(strstr(gl_vendor, "AMD")) info->vendor = GSR_GPU_VENDOR_AMD; - else if(strstr((const char*)gl_vendor, "Mesa") && gl_renderer && strstr((const char*)gl_renderer, "AMD")) + else if(strstr(gl_vendor, "Mesa") && gl_renderer && strstr(gl_renderer, "AMD")) info->vendor = GSR_GPU_VENDOR_AMD; - else if(strstr((const char*)gl_vendor, "Intel")) + else if(strstr(gl_vendor, "Intel")) info->vendor = GSR_GPU_VENDOR_INTEL; - else if(strstr((const char*)gl_vendor, "NVIDIA")) + else if(strstr(gl_vendor, "NVIDIA")) info->vendor = GSR_GPU_VENDOR_NVIDIA; - else if(strstr((const char*)gl_vendor, "Broadcom")) + else if(strstr(gl_vendor, "Broadcom")) info->vendor = GSR_GPU_VENDOR_BROADCOM; else { fprintf(stderr, "gsr error: unknown gpu vendor: %s\n", gl_vendor); - supported = false; - goto end; + return false; } if(gl_renderer) { if(info->vendor == GSR_GPU_VENDOR_NVIDIA) - sscanf((const char*)gl_renderer, "%*s %*s %*s %d", &info->gpu_version); - info->is_steam_deck = strstr((const char*)gl_renderer, "vangogh") != NULL; + sscanf(gl_renderer, "%*s %*s %*s %d", &info->gpu_version); + info->is_steam_deck = strstr(gl_renderer, "vangogh") != NULL; } - end: - return supported; + return true; } bool try_card_has_valid_plane(const char *card_path) { |
