mirror of
https://gitlab.freedesktop.org/wlroots/wlroots.git
synced 2026-06-15 14:33:01 -04:00
renderer/gles2: Allow to import textures
This allows to manipulate textures before feeding them to the render pass e.g. to greyscale them for a11y reasons or to blur them. Signed-off-by: Guido Günther <agx@sigxcpu.org>
This commit is contained in:
parent
e8c03e9ce9
commit
f62698cbeb
2 changed files with 24 additions and 0 deletions
|
|
@ -47,5 +47,7 @@ bool wlr_render_timer_is_gles2(const struct wlr_render_timer *timer);
|
||||||
bool wlr_texture_is_gles2(const struct wlr_texture *texture);
|
bool wlr_texture_is_gles2(const struct wlr_texture *texture);
|
||||||
void wlr_gles2_texture_get_attribs(struct wlr_texture *texture,
|
void wlr_gles2_texture_get_attribs(struct wlr_texture *texture,
|
||||||
struct wlr_gles2_texture_attribs *attribs);
|
struct wlr_gles2_texture_attribs *attribs);
|
||||||
|
struct wlr_texture *wlr_gles2_texture_from_attribs(struct wlr_renderer *wlr_renderer,
|
||||||
|
struct wlr_gles2_texture_attribs *attribs, int width, int height);
|
||||||
|
|
||||||
#endif
|
#endif
|
||||||
|
|
|
||||||
|
|
@ -461,3 +461,25 @@ void wlr_gles2_texture_get_attribs(struct wlr_texture *wlr_texture,
|
||||||
.has_alpha = texture->has_alpha,
|
.has_alpha = texture->has_alpha,
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|
||||||
|
struct wlr_texture *wlr_gles2_texture_from_attribs(struct wlr_renderer *wlr_renderer,
|
||||||
|
struct wlr_gles2_texture_attribs *attribs, int width, int height) {
|
||||||
|
struct wlr_gles2_renderer *renderer = gles2_get_renderer(wlr_renderer);
|
||||||
|
|
||||||
|
if (attribs->target != GL_TEXTURE_2D) {
|
||||||
|
return NULL;
|
||||||
|
}
|
||||||
|
|
||||||
|
struct wlr_gles2_texture *texture =
|
||||||
|
gles2_texture_create(renderer, width, height);
|
||||||
|
|
||||||
|
if (texture == NULL) {
|
||||||
|
return NULL;
|
||||||
|
}
|
||||||
|
|
||||||
|
texture->target = attribs->target;
|
||||||
|
texture->tex = attribs->tex;
|
||||||
|
texture->has_alpha = attribs->has_alpha;
|
||||||
|
|
||||||
|
return &texture->wlr_texture;
|
||||||
|
}
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue