1 /* libs/opengles/state.h
2 **
3 ** Copyright 2006, The Android Open Source Project
4 **
5 ** Licensed under the Apache License, Version 2.0 (the "License");
6 ** you may not use this file except in compliance with the License.
7 ** You may obtain a copy of the License at
8 **
9 **     http://www.apache.org/licenses/LICENSE-2.0
10 **
11 ** Unless required by applicable law or agreed to in writing, software
12 ** distributed under the License is distributed on an "AS IS" BASIS,
13 ** WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14 ** See the License for the specific language governing permissions and
15 ** limitations under the License.
16 */
17 
18 #ifndef ANDROID_OPENGLES_STATE_H
19 #define ANDROID_OPENGLES_STATE_H
20 
21 #include <stdint.h>
22 #include <stddef.h>
23 #include <sys/types.h>
24 
25 #include <private/pixelflinger/ggl_context.h>
26 
27 #include <GLES/gl.h>
28 
29 #include <stdio.h>
30 
31 namespace android {
32 
33 ogles_context_t *ogles_init(size_t extra);
34 void ogles_uninit(ogles_context_t* c);
35 void _ogles_error(ogles_context_t* c, GLenum error);
36 
37 #ifndef TRACE_GL_ERRORS
38 #define TRACE_GL_ERRORS 0
39 #endif
40 
41 #if TRACE_GL_ERRORS
42 #define ogles_error(c, error) \
43 do { \
44   printf("ogles_error at file %s line %d\n", __FILE__, __LINE__); \
45   _ogles_error(c, error); \
46 } while (0)
47 #else /* !TRACE_GL_ERRORS */
48 #define ogles_error(c, error) _ogles_error((c), (error))
49 #endif
50 
51 }; // namespace android
52 
53 #endif // ANDROID_OPENGLES_STATE_H
54 
55