Subversion Repositories Kolibri OS

Rev

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__ */