Rev 4517 | Go to most recent revision | Details | Last modification | View Log | RSS feed
Rev | Author | Line No. | Line |
---|---|---|---|
4502 | Serge | 1 | #ifndef __GL_RENDER_H__ |
2 | #define __GL_RENDER_H__ |
||
3 | |||
4 | #define EGL_EGLEXT_PROTOTYPES |
||
5 | #define GL_GLEXT_PROTOTYPES |
||
6 | |||
7 | #include "EGL/egl.h" |
||
8 | #include "EGL/eglext.h" |
||
9 | #include "GL/gl.h" |
||
10 | |||
11 | enum px_buffer |
||
12 | { |
||
13 | PX_FRONT = 0, |
||
14 | PX_BACK = 1 |
||
15 | }; |
||
16 | |||
17 | struct render |
||
18 | { |
||
19 | int fd; |
||
20 | EGLDisplay dpy; |
||
21 | EGLContext context; |
||
22 | EGLint dx, dy; |
||
23 | EGLint width, height; |
||
24 | EGLint scr_width, scr_height; |
||
25 | GLuint framebuffer; |
||
26 | EGLImageKHR front, back, screen; |
||
27 | GLuint tx_buffers[2]; |
||
28 | GLuint tx_screen; |
||
29 | int back_buffer; |
||
30 | GLuint blit_prog; |
||
31 | GLint sampler; |
||
32 | float vertices[8], texcoords[8]; |
||
33 | }; |
||
34 | |||
35 | struct render* create_render(EGLDisplay dpy, EGLSurface surface, int dx, int dy); |
||
36 | void render_blit(struct render *render, enum px_buffer buffer); |
||
37 | void render_swap_and_blit(struct render *render); |
||
38 | |||
39 | #endif /* __GL_RENDER_H__ */ |