mirror of
https://github.com/fastfetch-cli/fastfetch.git
synced 2026-10-29 08:13:44 +01:00
OpenGL: print used ogl library
This commit is contained in:
@@ -8,6 +8,7 @@ typedef struct FFOpenGLResult
|
||||
FFstrbuf renderer;
|
||||
FFstrbuf vendor;
|
||||
FFstrbuf slv;
|
||||
const char* library;
|
||||
} FFOpenGLResult;
|
||||
|
||||
const char* ffDetectOpenGL(FFOpenGLOptions* options, FFOpenGLResult* result);
|
||||
|
||||
@@ -12,6 +12,7 @@ static const char* glHandleResult(FFOpenGLResult* result)
|
||||
ffStrbufAppendS(&result->renderer, (const char*) glGetString(GL_RENDERER));
|
||||
ffStrbufAppendS(&result->vendor, (const char*) glGetString(GL_VENDOR));
|
||||
ffStrbufAppendS(&result->slv, (const char*) glGetString(GL_SHADING_LANGUAGE_VERSION));
|
||||
result->library = "CGL";
|
||||
return NULL;
|
||||
}
|
||||
|
||||
|
||||
@@ -18,12 +18,13 @@ typedef struct GLData
|
||||
FF_LIBRARY_SYMBOL(glGetString)
|
||||
} GLData;
|
||||
|
||||
static const char* glHandleResult(FFOpenGLResult* result, const GLData* data)
|
||||
static const char* glHandleResult(FFOpenGLResult* result, const GLData* data, const char* library)
|
||||
{
|
||||
ffStrbufAppendS(&result->version, (const char*) data->ffglGetString(GL_VERSION));
|
||||
ffStrbufAppendS(&result->renderer, (const char*) data->ffglGetString(GL_RENDERER));
|
||||
ffStrbufAppendS(&result->vendor, (const char*) data->ffglGetString(GL_VENDOR));
|
||||
ffStrbufAppendS(&result->slv, (const char*) data->ffglGetString(GL_SHADING_LANGUAGE_VERSION));
|
||||
result->library = library;
|
||||
return NULL;
|
||||
}
|
||||
|
||||
@@ -61,7 +62,7 @@ static const char* eglHandleContext(FFOpenGLResult* result, EGLData* data)
|
||||
if(data->ffeglMakeCurrent(data->display, data->surface, data->surface, data->context) != EGL_TRUE)
|
||||
return "eglMakeCurrent returned EGL_FALSE";
|
||||
|
||||
return glHandleResult(result, &data->glData);
|
||||
return glHandleResult(result, &data->glData, "EGL");
|
||||
}
|
||||
|
||||
static const char* eglHandleSurface(FFOpenGLResult* result, EGLData* data)
|
||||
@@ -173,7 +174,7 @@ static const char* glxHandleContext(FFOpenGLResult* result, GLXData* data)
|
||||
if(data->ffglXMakeCurrent(data->display, data->glxPixmap, data->context) != True)
|
||||
return "glXMakeCurrent returned False";
|
||||
|
||||
return glHandleResult(result, &data->glData);
|
||||
return glHandleResult(result, &data->glData, "GLX");
|
||||
}
|
||||
|
||||
static const char* glxHandleGLXPixmap(FFOpenGLResult* result, GLXData* data)
|
||||
@@ -284,7 +285,7 @@ static const char* osMesaHandleContext(FFOpenGLResult* result, OSMesaData* data)
|
||||
if(data->ffOSMesaMakeCurrent(data->context, buffer, GL_UNSIGNED_BYTE, FF_OPENGL_BUFFER_WIDTH, FF_OPENGL_BUFFER_HEIGHT) != GL_TRUE)
|
||||
return "OSMesaMakeCurrent returned GL_FALSE";
|
||||
|
||||
return glHandleResult(result, &data->glData);
|
||||
return glHandleResult(result, &data->glData, "OSMesa");
|
||||
}
|
||||
|
||||
static const char* osMesaHandleData(FFOpenGLResult* result, OSMesaData* data)
|
||||
|
||||
@@ -25,6 +25,7 @@ static const char* glHandleResult(WGLData* wglData)
|
||||
ffStrbufAppendS(&wglData->result->renderer, (const char*) wglData->ffglGetString(GL_RENDERER));
|
||||
ffStrbufAppendS(&wglData->result->vendor, (const char*) wglData->ffglGetString(GL_VENDOR));
|
||||
ffStrbufAppendS(&wglData->result->slv, (const char*) wglData->ffglGetString(GL_SHADING_LANGUAGE_VERSION));
|
||||
wglData->result->library = "WGL";
|
||||
return NULL;
|
||||
}
|
||||
|
||||
|
||||
@@ -4,7 +4,7 @@
|
||||
#include "modules/opengl/opengl.h"
|
||||
#include "util/stringUtils.h"
|
||||
|
||||
#define FF_OPENGL_NUM_FORMAT_ARGS 4
|
||||
#define FF_OPENGL_NUM_FORMAT_ARGS 5
|
||||
|
||||
void ffPrintOpenGL(FFOpenGLOptions* options)
|
||||
{
|
||||
@@ -13,6 +13,7 @@ void ffPrintOpenGL(FFOpenGLOptions* options)
|
||||
ffStrbufInit(&result.renderer);
|
||||
ffStrbufInit(&result.vendor);
|
||||
ffStrbufInit(&result.slv);
|
||||
result.library = "Unknown";
|
||||
|
||||
const char* error = ffDetectOpenGL(options, &result);
|
||||
if(error)
|
||||
@@ -33,6 +34,7 @@ void ffPrintOpenGL(FFOpenGLOptions* options)
|
||||
{FF_FORMAT_ARG_TYPE_STRBUF, &result.renderer, "renderer"},
|
||||
{FF_FORMAT_ARG_TYPE_STRBUF, &result.vendor, "vendor"},
|
||||
{FF_FORMAT_ARG_TYPE_STRBUF, &result.slv, "slv"},
|
||||
{FF_FORMAT_ARG_TYPE_STRING, result.library, "library"},
|
||||
}));
|
||||
}
|
||||
|
||||
@@ -150,6 +152,7 @@ void ffGenerateOpenGLJsonResult(FF_MAYBE_UNUSED FFOpenGLOptions* options, yyjson
|
||||
yyjson_mut_obj_add_strbuf(doc, obj, "renderer", &result.renderer);
|
||||
yyjson_mut_obj_add_strbuf(doc, obj, "vendor", &result.vendor);
|
||||
yyjson_mut_obj_add_strbuf(doc, obj, "slv", &result.slv);
|
||||
yyjson_mut_obj_add_str(doc, obj, "library", result.library);
|
||||
}
|
||||
|
||||
ffStrbufDestroy(&result.version);
|
||||
@@ -164,7 +167,8 @@ void ffPrintOpenGLHelpFormat(void)
|
||||
"version - version",
|
||||
"renderer - renderer",
|
||||
"vendor - vendor",
|
||||
"shading language version - slv"
|
||||
"shading language version - slv",
|
||||
"ogl library used - library",
|
||||
}));
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user