diff --git a/render/gles2/pass.c b/render/gles2/pass.c index a70ea1320..cce989a5e 100644 --- a/render/gles2/pass.c +++ b/render/gles2/pass.c @@ -90,6 +90,10 @@ static void render(const struct wlr_box *box, const pixman_region32_t *clip, GLi return; } + glEnable(GL_SCISSOR_TEST); + glScissor(region.extents.x1, region.extents.y1, region.extents.x2 - region.extents.x1, + region.extents.y2 - region.extents.y1); + glEnableVertexAttribArray(attrib); for (int i = 0; i < rects_len;) { @@ -120,6 +124,7 @@ static void render(const struct wlr_box *box, const pixman_region32_t *clip, GLi } glDisableVertexAttribArray(attrib); + glDisable(GL_SCISSOR_TEST); pixman_region32_fini(®ion); }