mirror of
https://github.com/samsonjs/media.git
synced 2026-03-26 09:35:47 +00:00
Combine all native GL errors in a GlException instead of logging.
The native GL errors are in an arbitrary order according to
https://www.khronos.org/registry/OpenGL-Refpages/es2.0/xhtml/glGetError.xml
This means any of them could contain the most useful message
so it's better to use all for the GlException's message rather than
picking the last message and logging all others.
PiperOrigin-RevId: 454130460
(cherry picked from commit d6a6b44715)
This commit is contained in:
parent
56f234ea75
commit
0a42c702ca
1 changed files with 11 additions and 7 deletions
|
|
@ -302,18 +302,22 @@ public final class GlUtil {
|
|||
}
|
||||
|
||||
/**
|
||||
* Logs all OpenGL errors that occurred since this method was last called and throws a {@link
|
||||
* GlException} for the last error.
|
||||
* Collects all OpenGL errors that occurred since this method was last called and throws a {@link
|
||||
* GlException} with the combined error message.
|
||||
*/
|
||||
public static void checkGlError() throws GlException {
|
||||
int lastError = GLES20.GL_NO_ERROR;
|
||||
StringBuilder errorMessageBuilder = new StringBuilder();
|
||||
boolean foundError = false;
|
||||
int error;
|
||||
while ((error = GLES20.glGetError()) != GLES20.GL_NO_ERROR) {
|
||||
Log.e(TAG, "glError: " + gluErrorString(error));
|
||||
lastError = error;
|
||||
if (foundError) {
|
||||
errorMessageBuilder.append('\n');
|
||||
}
|
||||
errorMessageBuilder.append("glError: ").append(gluErrorString(error));
|
||||
foundError = true;
|
||||
}
|
||||
if (lastError != GLES20.GL_NO_ERROR) {
|
||||
throw new GlException("glError: " + gluErrorString(lastError));
|
||||
if (foundError) {
|
||||
throw new GlException(errorMessageBuilder.toString());
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
|||
Loading…
Reference in a new issue