Rev 4517 | Go to most recent revision | Details | Compare with Previous | 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; |
||
4517 | Serge | 26 | EGLImageKHR screen, front, back, mask; |
4502 | Serge | 27 | GLuint tx_buffers[2]; |
28 | GLuint tx_screen; |
||
4517 | Serge | 29 | GLuint tx_mask; |
4523 | Serge | 30 | GLuint mask_handle; |
4517 | Serge | 31 | void *mask_buffer; |
4502 | Serge | 32 | int back_buffer; |
33 | GLuint blit_prog; |
||
4523 | Serge | 34 | GLint sampler, sm_mask; |
35 | float vertices[8],tc_src[8],tc_mask[8]; |
||
4502 | Serge | 36 | }; |
37 | |||
38 | struct render* create_render(EGLDisplay dpy, EGLSurface surface, int dx, int dy); |
||
39 | void render_blit(struct render *render, enum px_buffer buffer); |
||
40 | void render_swap_and_blit(struct render *render); |
||
41 | |||
42 | #endif /* __GL_RENDER_H__ */ |