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