Use enum wl_shm_format for gles2 texture formats

Also rephrase the write_pixels comment.
This commit is contained in:
nyorain 2018-10-16 09:35:28 +02:00
parent cd28637187
commit cb03a41a3b
3 changed files with 7 additions and 8 deletions

View file

@ -19,7 +19,7 @@
extern PFNGLEGLIMAGETARGETTEXTURE2DOESPROC glEGLImageTargetTexture2DOES; extern PFNGLEGLIMAGETARGETTEXTURE2DOESPROC glEGLImageTargetTexture2DOES;
struct wlr_gles2_pixel_format { struct wlr_gles2_pixel_format {
uint32_t wl_format; enum wl_shm_format wl_format;
GLint gl_format, gl_type; GLint gl_format, gl_type;
int depth, bpp; int depth, bpp;
bool has_alpha; bool has_alpha;
@ -72,7 +72,7 @@ struct wlr_gles2_texture {
enum wlr_gles2_texture_type type; enum wlr_gles2_texture_type type;
int width, height; int width, height;
bool has_alpha; bool has_alpha;
uint32_t wl_format; // used to interpret upload data enum wl_shm_format wl_format; // used to interpret upload data
bool inverted_y; bool inverted_y;
// Not set if WLR_GLES2_TEXTURE_GLTEX // Not set if WLR_GLES2_TEXTURE_GLTEX

View file

@ -54,10 +54,9 @@ void wlr_texture_get_size(struct wlr_texture *texture, int *width, int *height);
bool wlr_texture_is_opaque(struct wlr_texture *texture); bool wlr_texture_is_opaque(struct wlr_texture *texture);
/** /**
* Update a texture with raw pixels. The texture must be mutable. * Update a texture with raw pixels. The texture must be mutable, and the input
* The given data is interpreted as being in the format the * data must have the same pixel format that the texture was created with.
* texture was created with. */
*/
bool wlr_texture_write_pixels(struct wlr_texture *texture, bool wlr_texture_write_pixels(struct wlr_texture *texture,
uint32_t stride, uint32_t width, uint32_t height, uint32_t stride, uint32_t width, uint32_t height,
uint32_t src_x, uint32_t src_y, uint32_t dst_x, uint32_t dst_y, uint32_t src_x, uint32_t src_y, uint32_t dst_x, uint32_t dst_y,

View file

@ -55,8 +55,8 @@ static bool gles2_texture_write_pixels(struct wlr_texture *wlr_texture,
return false; return false;
} }
const struct wlr_gles2_pixel_format *fmt = get_gles2_format_from_wl( const struct wlr_gles2_pixel_format *fmt =
texture->wl_format); get_gles2_format_from_wl(texture->wl_format);
assert(fmt); assert(fmt);
// TODO: what if the unpack subimage extension isn't supported? // TODO: what if the unpack subimage extension isn't supported?