Subversion Repositories Kolibri OS

Rev

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