kolibrios/contrib/sdk/sources/eglut/render.h
Sergey Semyonov (Serge) 88ffef6c2e Mesa: Makefiles
git-svn-id: svn://kolibrios.org@4768 a494cfbc-eb01-0410-851d-a64ba20cac60
2014-04-04 21:41:12 +00:00

47 lines
1001 B
C

#ifndef __GL_RENDER_H__
#define __GL_RENDER_H__
#define EGL_EGLEXT_PROTOTYPES
#define GL_GLEXT_PROTOTYPES
#include "EGL/egl.h"
#include "EGL/eglext.h"
#include "GL/gl.h"
enum px_buffer
{
PX_FRONT = 0,
PX_BACK = 1
};
struct render
{
int fd;
EGLDisplay dpy;
EGLContext context;
EGLint dx, dy;
EGLint width, height;
EGLint scr_width, scr_height;
GLuint framebuffer;
EGLImageKHR screen, front, back;
GLuint tx_buffers[2];
GLuint tx_screen;
GLuint tx_mask;
GLuint mask_handle;
GLuint mask_name;
void *mask_buffer;
EGLImageKHR mask_image;
int back_buffer;
GLuint blit_prog;
GLint sampler, sm_mask;
float vertices[8],tc_src[8],tc_mask[8];
};
struct render* create_render(EGLDisplay dpy, EGLSurface surface, int dx, int dy);
void render_blit(struct render *render, enum px_buffer buffer);
void render_swap_and_blit(struct render *render);
#endif /* __GL_RENDER_H__ */