diff options
author | Drew DeVault <sir@cmpwn.com> | 2017-06-23 14:25:55 -0400 |
---|---|---|
committer | Drew DeVault <sir@cmpwn.com> | 2017-06-23 14:25:55 -0400 |
commit | 5a2796266f6f88464396a9cd255dd9d0dedba749 (patch) | |
tree | 27b1036ed11709332c2fb359f02eade319790cf9 /include/render | |
parent | 2aafb5dd19f8a3e3436f8843071fa2076a6d2716 (diff) |
Support wl_shm pixel formats in gles2 renderer
Diffstat (limited to 'include/render')
-rw-r--r-- | include/render/gles2.h | 23 |
1 files changed, 21 insertions, 2 deletions
diff --git a/include/render/gles2.h b/include/render/gles2.h index bd0106b3..7b835209 100644 --- a/include/render/gles2.h +++ b/include/render/gles2.h @@ -6,19 +6,38 @@ #include <GLES2/gl2.h> #include <wlr/render.h> +struct pixel_format { + uint32_t wl_format; + GLint gl_format, gl_type; + int depth, bpp; + GLuint *shader; +}; + struct wlr_surface_state { struct wlr_surface *wlr_surface; GLuint tex_id; + const struct pixel_format *pixel_format; +}; + +struct shaders { + bool initialized; + GLuint rgba, rgbx; + GLuint quad; + GLuint ellipse; }; +extern struct shaders shaders; + +const struct pixel_format *gl_format_for_wl_format(enum wl_shm_format fmt); + struct wlr_surface *gles2_surface_init(); extern const GLchar quad_vertex_src[]; extern const GLchar quad_fragment_src[]; extern const GLchar ellipse_fragment_src[]; extern const GLchar vertex_src[]; -extern const GLchar fragment_src_RGB[]; -extern const GLchar fragment_src_RGBA[]; +extern const GLchar fragment_src_rgba[]; +extern const GLchar fragment_src_rgbx[]; bool _gles2_flush_errors(const char *file, int line); #define gles2_flush_errors(...) \ |