15821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)// Copyright (c) 2012 The Chromium Authors. All rights reserved.
25821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)// Use of this source code is governed by a BSD-style license that can be
35821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)// found in the LICENSE file.
45821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)
55821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#include "ui/gl/egl_util.h"
65821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)
75821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#if defined(OS_ANDROID)
85821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#include <EGL/egl.h>
95821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#else
10a93a17c8d99d686bd4a1511e5504e5e6cc9fcadfTorne (Richard Coles)#include "third_party/khronos/EGL/egl.h"
115821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#endif
125821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)
135821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)// This needs to be after the EGL includes
145821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#include "ui/gl/gl_bindings.h"
155821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)
165821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)namespace ui {
175821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)
185821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)// Returns the last EGL error as a string.
195821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)const char* GetLastEGLErrorString() {
205821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)  EGLint error = eglGetError();
215821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)  switch (error) {
225821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)    case EGL_SUCCESS:
235821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)      return "EGL_SUCCESS";
245821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)    case EGL_BAD_ACCESS:
255821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)      return "EGL_BAD_ACCESS";
265821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)    case EGL_BAD_ALLOC:
275821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)      return "EGL_BAD_ALLOC";
285821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)    case EGL_BAD_ATTRIBUTE:
295821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)      return "EGL_BAD_ATTRIBUTE";
305821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)    case EGL_BAD_CONTEXT:
315821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)      return "EGL_BAD_CONTEXT";
325821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)    case EGL_BAD_CONFIG:
335821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)      return "EGL_BAD_CONFIG";
345821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)    case EGL_BAD_CURRENT_SURFACE:
355821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)      return "EGL_BAD_CURRENT_SURFACE";
365821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)    case EGL_BAD_DISPLAY:
375821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)      return "EGL_BAD_DISPLAY";
385821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)    case EGL_BAD_SURFACE:
395821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)      return "EGL_BAD_SURFACE";
405821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)    case EGL_BAD_MATCH:
415821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)      return "EGL_BAD_MATCH";
425821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)    case EGL_BAD_PARAMETER:
435821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)      return "EGL_BAD_PARAMETER";
445821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)    case EGL_BAD_NATIVE_PIXMAP:
455821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)      return "EGL_BAD_NATIVE_PIXMAP";
465821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)    case EGL_BAD_NATIVE_WINDOW:
475821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)      return "EGL_BAD_NATIVE_WINDOW";
485821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)    default:
495821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)      return "UNKNOWN";
505821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)  }
515821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)}
525821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)
535821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)}  // namespace ui
54