Derzeit meine Funktion Ergebnis eglGetError()
sieht wie folgt zu konvertieren:Gibt es eine Standardmethode zum Abfragen der EGL-Fehlerzeichenfolge?
std::string eglErrorString(EGLint error)
{
switch(error)
{
case EGL_SUCCESS: return "No error";
case EGL_NOT_INITIALIZED: return "EGL not initialized or failed to initialize";
case EGL_BAD_ACCESS: return "Resource inaccessible";
case EGL_BAD_ALLOC: return "Cannot allocate resources";
case EGL_BAD_ATTRIBUTE: return "Unrecognized attribute or attribute value";
case EGL_BAD_CONTEXT: return "Invalid EGL context";
case EGL_BAD_CONFIG: return "Invalid EGL frame buffer configuration";
case EGL_BAD_CURRENT_SURFACE: return "Current surface is no longer valid";
case EGL_BAD_DISPLAY: return "Invalid EGL display";
case EGL_BAD_SURFACE: return "Invalid surface";
case EGL_BAD_MATCH: return "Inconsistent arguments";
case EGL_BAD_PARAMETER: return "Invalid argument";
case EGL_BAD_NATIVE_PIXMAP: return "Invalid native pixmap";
case EGL_BAD_NATIVE_WINDOW: return "Invalid native window";
case EGL_CONTEXT_LOST: return "Context lost";
}
return "Unknown error "+to_hex_string(int(error));
}
Aber für z.B. OpenGL selbst gibt es gluErrorString()
, die uns erspart, die Liste der Fehler manuell zu pflegen.
Gibt es so etwas wie gluErrorString()
für die EGL?
'gluErrorString' ist nur verfügbar, wenn Sie GLU verwenden. Für modernen Code ist das nicht relevant. Tatsächlich behandelt es nicht einige der neueren Fehler, die 'glGetError' zurückgeben kann, wie ungültige Framebuffer oder verlorene Kontexte. Es ist also besser, Fehler nur manuell zu bearbeiten. –
@NicolBolas Wenn Sie sich der Korrektheit Ihrer Wörter sicher sind, warum legen Sie sie nicht in eine Antwort? – Ruslan
Ihre Frage war, ob es eine Funktion wie 'gluErrorString' für EGL gibt. Mein Kommentar war zu sagen, dass Sie nicht stören sollten und nur Ihre eigenen beibehalten. Während das dein Problem löst, beantwortet es nicht wirklich die Frage, die du gestellt hast. Soweit ich weiß, könnte es da draußen eine Standard-'egluErrorString'-Funktion geben. Das wäre eine Antwort auf Ihre Frage. –