1e4aa95e3627226bcb0d8cc3e42dca6e4df8f421cChris Craik/*
2e4aa95e3627226bcb0d8cc3e42dca6e4df8f421cChris Craik * Copyright (C) 2014 The Android Open Source Project
3e4aa95e3627226bcb0d8cc3e42dca6e4df8f421cChris Craik *
4e4aa95e3627226bcb0d8cc3e42dca6e4df8f421cChris Craik * Licensed under the Apache License, Version 2.0 (the "License");
5e4aa95e3627226bcb0d8cc3e42dca6e4df8f421cChris Craik * you may not use this file except in compliance with the License.
6e4aa95e3627226bcb0d8cc3e42dca6e4df8f421cChris Craik * You may obtain a copy of the License at
7e4aa95e3627226bcb0d8cc3e42dca6e4df8f421cChris Craik *
8e4aa95e3627226bcb0d8cc3e42dca6e4df8f421cChris Craik *      http://www.apache.org/licenses/LICENSE-2.0
9e4aa95e3627226bcb0d8cc3e42dca6e4df8f421cChris Craik *
10e4aa95e3627226bcb0d8cc3e42dca6e4df8f421cChris Craik * Unless required by applicable law or agreed to in writing, software
11e4aa95e3627226bcb0d8cc3e42dca6e4df8f421cChris Craik * distributed under the License is distributed on an "AS IS" BASIS,
12e4aa95e3627226bcb0d8cc3e42dca6e4df8f421cChris Craik * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13e4aa95e3627226bcb0d8cc3e42dca6e4df8f421cChris Craik * See the License for the specific language governing permissions and
14e4aa95e3627226bcb0d8cc3e42dca6e4df8f421cChris Craik * limitations under the License.
15e4aa95e3627226bcb0d8cc3e42dca6e4df8f421cChris Craik */
16e4aa95e3627226bcb0d8cc3e42dca6e4df8f421cChris Craik
17e4aa95e3627226bcb0d8cc3e42dca6e4df8f421cChris Craik#define LOG_TAG "OpenGLRenderer"
18e4aa95e3627226bcb0d8cc3e42dca6e4df8f421cChris Craik
19e4aa95e3627226bcb0d8cc3e42dca6e4df8f421cChris Craik#include <GLES2/gl2.h>
20e4aa95e3627226bcb0d8cc3e42dca6e4df8f421cChris Craik#include <GLES2/gl2ext.h>
21e4aa95e3627226bcb0d8cc3e42dca6e4df8f421cChris Craik
22e4aa95e3627226bcb0d8cc3e42dca6e4df8f421cChris Craik#include <utils/Log.h>
23e4aa95e3627226bcb0d8cc3e42dca6e4df8f421cChris Craik
24e4aa95e3627226bcb0d8cc3e42dca6e4df8f421cChris Craik#include "GLUtils.h"
25e4aa95e3627226bcb0d8cc3e42dca6e4df8f421cChris Craik
26e4aa95e3627226bcb0d8cc3e42dca6e4df8f421cChris Craiknamespace android {
27e4aa95e3627226bcb0d8cc3e42dca6e4df8f421cChris Craiknamespace uirenderer {
28e4aa95e3627226bcb0d8cc3e42dca6e4df8f421cChris Craik
29e4aa95e3627226bcb0d8cc3e42dca6e4df8f421cChris Craikvoid GLUtils::dumpGLErrors() {
30e4aa95e3627226bcb0d8cc3e42dca6e4df8f421cChris Craik    GLenum status = GL_NO_ERROR;
31e4aa95e3627226bcb0d8cc3e42dca6e4df8f421cChris Craik    while ((status = glGetError()) != GL_NO_ERROR) {
32e4aa95e3627226bcb0d8cc3e42dca6e4df8f421cChris Craik        switch (status) {
33e4aa95e3627226bcb0d8cc3e42dca6e4df8f421cChris Craik        case GL_INVALID_ENUM:
34e4aa95e3627226bcb0d8cc3e42dca6e4df8f421cChris Craik            ALOGE("GL error:  GL_INVALID_ENUM");
35e4aa95e3627226bcb0d8cc3e42dca6e4df8f421cChris Craik            break;
36e4aa95e3627226bcb0d8cc3e42dca6e4df8f421cChris Craik        case GL_INVALID_VALUE:
37e4aa95e3627226bcb0d8cc3e42dca6e4df8f421cChris Craik            ALOGE("GL error:  GL_INVALID_VALUE");
38e4aa95e3627226bcb0d8cc3e42dca6e4df8f421cChris Craik            break;
39e4aa95e3627226bcb0d8cc3e42dca6e4df8f421cChris Craik        case GL_INVALID_OPERATION:
40e4aa95e3627226bcb0d8cc3e42dca6e4df8f421cChris Craik            ALOGE("GL error:  GL_INVALID_OPERATION");
41e4aa95e3627226bcb0d8cc3e42dca6e4df8f421cChris Craik            break;
42e4aa95e3627226bcb0d8cc3e42dca6e4df8f421cChris Craik        case GL_OUT_OF_MEMORY:
43e4aa95e3627226bcb0d8cc3e42dca6e4df8f421cChris Craik            ALOGE("GL error:  Out of memory!");
44e4aa95e3627226bcb0d8cc3e42dca6e4df8f421cChris Craik            break;
45e4aa95e3627226bcb0d8cc3e42dca6e4df8f421cChris Craik        default:
46e4aa95e3627226bcb0d8cc3e42dca6e4df8f421cChris Craik            ALOGE("GL error: 0x%x", status);
47e4aa95e3627226bcb0d8cc3e42dca6e4df8f421cChris Craik        }
48e4aa95e3627226bcb0d8cc3e42dca6e4df8f421cChris Craik    }
49e4aa95e3627226bcb0d8cc3e42dca6e4df8f421cChris Craik}
50e4aa95e3627226bcb0d8cc3e42dca6e4df8f421cChris Craik
51e4aa95e3627226bcb0d8cc3e42dca6e4df8f421cChris Craik}; // namespace uirenderer
52e4aa95e3627226bcb0d8cc3e42dca6e4df8f421cChris Craik}; // namespace android
53