Subversion Repositories Kolibri OS

Rev

Rev 5371 | Rev 6137 | Go to most recent revision | Blame | Compare with Previous | Last modification | View Log | RSS feed

  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 "EGL/eglmesaext.h"
  10. #include "GL/gl.h"
  11.  
  12. struct bitmap
  13. {
  14.     uint32_t    width;
  15.     uint32_t    height;
  16.     uint32_t    pitch;
  17.     void       *buffer;
  18.     GLuint      tex;
  19.     GLuint      handle;
  20.     GLuint      name;
  21.     EGLImageKHR image;
  22. };
  23.  
  24. struct planar
  25. {
  26.     uint32_t    width;
  27.     uint32_t    height;
  28.     GLuint      name;
  29.     EGLImageKHR planar_image;
  30.     EGLImageKHR image[3];
  31.     GLuint      offset[3];
  32.     GLuint      pitch[3];
  33.     GLuint      tex[3];
  34. };
  35.  
  36. enum
  37. {
  38.     TEX_SCREEN = 0,
  39.     TEX_MASK   = 1
  40. };
  41.  
  42. struct render
  43. {
  44.     int fd;
  45.     EGLDisplay dpy;
  46.     EGLContext context;
  47.     EGLint dx;
  48.     EGLint dy;
  49.     EGLint width;
  50.     EGLint height;
  51.     EGLint scr_width;
  52.     EGLint scr_height;
  53.     GLuint texture[2];
  54.     GLuint framebuffer;
  55.     EGLImageKHR screen;
  56.     struct bitmap mask;
  57.  
  58.     int    mask_size;
  59.  
  60.     GLuint blit_prog;
  61.     GLint sampler, sm_mask;
  62.     float vertices[8],tc_src[8];
  63. };
  64.  
  65. int egl_initialize(EGLDisplay *dpy, EGLConfig *config, EGLContext *context);
  66. void egl_destroy(EGLDisplay dpy, EGLContext context);
  67.  
  68. #define ENTER()   printf("enter %s\n",__FUNCTION__)
  69. #define LEAVE()   printf("leave %s\n",__FUNCTION__)
  70. #define FAIL()    printf("fail %s\n",__FUNCTION__)
  71.  
  72. #ifdef DEBUG
  73. #define DBG(...) do {                   \
  74.     fprintf(stderr, __VA_ARGS__);       \
  75. } while (0)
  76. #else
  77. #define DBG(...)
  78. #endif
  79.  
  80. #endif  /* __GL_RENDER_H__ */
  81.