Support wl_shm pixel formats in gles2 renderer

This commit is contained in:
Drew DeVault 2017-06-23 14:25:55 -04:00
parent 2aafb5dd19
commit 5a2796266f
9 changed files with 101 additions and 38 deletions

View file

@ -63,8 +63,9 @@ struct wlr_surface {
* Attaches a pixel buffer to this surface. The buffer may be discarded after
* calling this function.
*/
bool wlr_surface_attach_pixels(struct wlr_surface *surf, uint32_t format,
int width, int height, const unsigned char *pixels);
bool wlr_surface_attach_pixels(struct wlr_surface *surf,
enum wl_shm_format format, int width, int height,
const unsigned char *pixels);
/**
* Attaches pixels from a wl_shm_buffer to this surface. The shm buffer may be
* invalidated after calling this function.

View file

@ -32,8 +32,9 @@ struct wlr_renderer *wlr_renderer_init(struct wlr_renderer_state *state,
struct wlr_renderer_impl *impl);
struct wlr_surface_impl {
bool (*attach_pixels)(struct wlr_surface_state *state, uint32_t format,
int width, int height, const unsigned char *pixels);
bool (*attach_pixels)(struct wlr_surface_state *state,
enum wl_shm_format format, int width, int height,
const unsigned char *pixels);
bool (*attach_shm)(struct wlr_surface_state *state, uint32_t format,
struct wl_shm_buffer *shm);
// TODO: egl