1// Copyright (c) 2012 The Chromium Authors. All rights reserved.
2// Use of this source code is governed by a BSD-style license that can be
3// found in the LICENSE file.
4
5#include "ui/gl/egl_util.h"
6
7#if defined(OS_ANDROID)
8#include <EGL/egl.h>
9#else
10#include "third_party/khronos/EGL/egl.h"
11#endif
12
13// This needs to be after the EGL includes
14#include "ui/gl/gl_bindings.h"
15
16namespace ui {
17
18// Returns the last EGL error as a string.
19const char* GetLastEGLErrorString() {
20  EGLint error = eglGetError();
21  switch (error) {
22    case EGL_SUCCESS:
23      return "EGL_SUCCESS";
24    case EGL_BAD_ACCESS:
25      return "EGL_BAD_ACCESS";
26    case EGL_BAD_ALLOC:
27      return "EGL_BAD_ALLOC";
28    case EGL_BAD_ATTRIBUTE:
29      return "EGL_BAD_ATTRIBUTE";
30    case EGL_BAD_CONTEXT:
31      return "EGL_BAD_CONTEXT";
32    case EGL_BAD_CONFIG:
33      return "EGL_BAD_CONFIG";
34    case EGL_BAD_CURRENT_SURFACE:
35      return "EGL_BAD_CURRENT_SURFACE";
36    case EGL_BAD_DISPLAY:
37      return "EGL_BAD_DISPLAY";
38    case EGL_BAD_SURFACE:
39      return "EGL_BAD_SURFACE";
40    case EGL_BAD_MATCH:
41      return "EGL_BAD_MATCH";
42    case EGL_BAD_PARAMETER:
43      return "EGL_BAD_PARAMETER";
44    case EGL_BAD_NATIVE_PIXMAP:
45      return "EGL_BAD_NATIVE_PIXMAP";
46    case EGL_BAD_NATIVE_WINDOW:
47      return "EGL_BAD_NATIVE_WINDOW";
48    default:
49      return "UNKNOWN";
50  }
51}
52
53}  // namespace ui
54