aboutsummaryrefslogtreecommitdiff
path: root/render/gles2/surface.c
diff options
context:
space:
mode:
authorScott Anderson <ascent12@hotmail.com>2017-06-26 17:34:15 +1200
committerScott Anderson <ascent12@hotmail.com>2017-06-26 17:34:15 +1200
commit0cd94f0cf0dd104cee9837dc2961536a078d089e (patch)
tree798abd248cf605f2a82ef732c0bed0a1812704c7 /render/gles2/surface.c
parentf252c5a79214a3d3cd7ab3f239050b234e4ae9e2 (diff)
Added software cursor fallback
Diffstat (limited to 'render/gles2/surface.c')
-rw-r--r--render/gles2/surface.c5
1 files changed, 4 insertions, 1 deletions
diff --git a/render/gles2/surface.c b/render/gles2/surface.c
index 278b3dc3..c9be6ac2 100644
--- a/render/gles2/surface.c
+++ b/render/gles2/surface.c
@@ -2,6 +2,7 @@
#include <stdlib.h>
#include <assert.h>
#include <GLES2/gl2.h>
+#include <GLES2/gl2ext.h>
#include <wayland-util.h>
#include <wayland-server-protocol.h>
#include <wlr/render.h>
@@ -10,15 +11,17 @@
#include "render/gles2.h"
static bool gles2_surface_attach_pixels(struct wlr_surface_state *surface,
- uint32_t format, int width, int height, const unsigned char *pixels) {
+ uint32_t format, int stride, int width, int height, const unsigned char *pixels) {
assert(surface);
surface->wlr_surface->width = width;
surface->wlr_surface->height = height;
surface->wlr_surface->format = format;
GL_CALL(glGenTextures(1, &surface->tex_id));
GL_CALL(glBindTexture(GL_TEXTURE_2D, surface->tex_id));
+ GL_CALL(glPixelStorei(GL_UNPACK_ROW_LENGTH_EXT, stride));
GL_CALL(glTexImage2D(GL_TEXTURE_2D, 0, format, width, height, 0,
format, GL_UNSIGNED_BYTE, pixels));
+ GL_CALL(glPixelStorei(GL_UNPACK_ROW_LENGTH_EXT, 0));
surface->wlr_surface->valid = true;
return true;
}