Revert "RendererGL: Limit warning output to 5 per message type."
This reverts commit 7c37ca1836402b654dbbf5f00007e09bdf2a7051.
Reason for revert: Causes crashes on Android.
Original change's description:
> RendererGL: Limit warning output to 5 per message type.
>
> BUG=768943
>
> Change-Id: I8ed69c70d1914b56145c52ffe26f13193fb55e9e
> Reviewed-on: https://chromium-review.googlesource.com/685278
> Commit-Queue: Geoff Lang <geofflang@chromium.org>
> Reviewed-by: Corentin Wallez <cwallez@chromium.org>
TBR=geofflang@chromium.org,cwallez@chromium.org
Change-Id: I641ac5d508d238e275eaeef4fac4033d9015960d
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Bug: 768943
Reviewed-on: https://chromium-review.googlesource.com/1115658
Commit-Queue: Geoff Lang <geofflang@chromium.org>
Reviewed-by: Geoff Lang <geofflang@chromium.org>
diff --git a/src/libANGLE/renderer/gl/RendererGL.cpp b/src/libANGLE/renderer/gl/RendererGL.cpp
index 09524f8..6d9de89 100644
--- a/src/libANGLE/renderer/gl/RendererGL.cpp
+++ b/src/libANGLE/renderer/gl/RendererGL.cpp
@@ -65,9 +65,100 @@
const GLchar *message,
const void *userParam)
{
- ASSERT(userParam != nullptr);
- rx::RendererGL *renderer = static_cast<rx::RendererGL *>(const_cast<void *>(userParam));
- renderer->onDebugMessage(source, type, id, severity, length, message);
+ std::string sourceText;
+ switch (source)
+ {
+ case GL_DEBUG_SOURCE_API:
+ sourceText = "OpenGL";
+ break;
+ case GL_DEBUG_SOURCE_WINDOW_SYSTEM:
+ sourceText = "Windows";
+ break;
+ case GL_DEBUG_SOURCE_SHADER_COMPILER:
+ sourceText = "Shader Compiler";
+ break;
+ case GL_DEBUG_SOURCE_THIRD_PARTY:
+ sourceText = "Third Party";
+ break;
+ case GL_DEBUG_SOURCE_APPLICATION:
+ sourceText = "Application";
+ break;
+ case GL_DEBUG_SOURCE_OTHER:
+ sourceText = "Other";
+ break;
+ default:
+ sourceText = "UNKNOWN";
+ break;
+ }
+
+ std::string typeText;
+ switch (type)
+ {
+ case GL_DEBUG_TYPE_ERROR:
+ typeText = "Error";
+ break;
+ case GL_DEBUG_TYPE_DEPRECATED_BEHAVIOR:
+ typeText = "Deprecated behavior";
+ break;
+ case GL_DEBUG_TYPE_UNDEFINED_BEHAVIOR:
+ typeText = "Undefined behavior";
+ break;
+ case GL_DEBUG_TYPE_PORTABILITY:
+ typeText = "Portability";
+ break;
+ case GL_DEBUG_TYPE_PERFORMANCE:
+ typeText = "Performance";
+ break;
+ case GL_DEBUG_TYPE_OTHER:
+ typeText = "Other";
+ break;
+ case GL_DEBUG_TYPE_MARKER:
+ typeText = "Marker";
+ break;
+ default:
+ typeText = "UNKNOWN";
+ break;
+ }
+
+ std::string severityText;
+ switch (severity)
+ {
+ case GL_DEBUG_SEVERITY_HIGH:
+ severityText = "High";
+ break;
+ case GL_DEBUG_SEVERITY_MEDIUM:
+ severityText = "Medium";
+ break;
+ case GL_DEBUG_SEVERITY_LOW:
+ severityText = "Low";
+ break;
+ case GL_DEBUG_SEVERITY_NOTIFICATION:
+ severityText = "Notification";
+ break;
+ default:
+ severityText = "UNKNOWN";
+ break;
+ }
+
+ if (type == GL_DEBUG_TYPE_ERROR)
+ {
+ ERR() << std::endl
+ << "\tSource: " << sourceText << std::endl
+ << "\tType: " << typeText << std::endl
+ << "\tID: " << gl::Error(id) << std::endl
+ << "\tSeverity: " << severityText << std::endl
+ << "\tMessage: " << message;
+ }
+ else
+ {
+ // TODO(ynovikov): filter into WARN and INFO if INFO is ever implemented
+ WARN() << std::endl
+ << "\tSource: " << sourceText << std::endl
+ << "\tType: " << typeText << std::endl
+ << "\tID: " << gl::Error(id) << std::endl
+ << "\tSeverity: " << severityText << std::endl
+ << "\tMessage: " << message;
+ }
}
namespace rx
@@ -108,7 +199,7 @@
nullptr, GL_FALSE);
mFunctions->debugMessageControl(GL_DONT_CARE, GL_DONT_CARE, GL_DEBUG_SEVERITY_NOTIFICATION,
0, nullptr, GL_FALSE);
- mFunctions->debugMessageCallback(&LogGLDebugMessage, this);
+ mFunctions->debugMessageCallback(&LogGLDebugMessage, nullptr);
}
if (mWorkarounds.initializeCurrentVertexAttributes)
@@ -612,27 +703,4 @@
return gl::NoError();
}
-void RendererGL::onDebugMessage(GLenum source,
- GLenum type,
- GLuint id,
- GLenum severity,
- GLsizei length,
- const GLchar *message)
-{
- constexpr size_t kMaxDebugMessagesPerNonErrorType = 5;
- const std::string formattedMessage =
- nativegl::FormatDebugMessage(source, type, id, severity, length, message);
- if (type == GL_DEBUG_TYPE_ERROR)
- {
- ERR() << std::endl << formattedMessage;
- }
- else if (mDebugMessageCounts[id] < kMaxDebugMessagesPerNonErrorType)
- {
- // TODO(ynovikov): filter into WARN and INFO if INFO is ever implemented
- WARN() << std::endl << formattedMessage;
- }
-
- mDebugMessageCounts[id]++;
-}
-
} // namespace rx