compositor: Scanout client buffers even if they're not map_fullscreen

dev
Kristian Høgsberg 15 years ago
parent 7981d00a59
commit 4d07a1c213
  1. 4
      compositor/compositor-drm.c
  2. 6
      compositor/compositor.c

@ -144,7 +144,9 @@ drm_output_prepare_scanout_surface(struct wlsc_output *output_base,
int ret; int ret;
uint32_t fb_id = 0; uint32_t fb_id = 0;
if (es->width != output->base.width || if (es->x != output->base.x ||
es->y != output->base.y ||
es->width != output->base.width ||
es->height != output->base.height || es->height != output->base.height ||
es->image == EGL_NO_IMAGE_KHR) es->image == EGL_NO_IMAGE_KHR)
return -1; return -1;

@ -703,9 +703,8 @@ wlsc_output_repaint(struct wlsc_output *output)
using_hardware_cursor = 0; using_hardware_cursor = 0;
es = container_of(ec->surface_list.next, struct wlsc_surface, link); es = container_of(ec->surface_list.next, struct wlsc_surface, link);
if (es->fullscreen_output == output) {
if (es->visual == &ec->compositor.rgb_visual && if (es->visual == &ec->compositor.rgb_visual && using_hardware_cursor) {
using_hardware_cursor) {
if (output->prepare_scanout_surface(output, es) == 0) { if (output->prepare_scanout_surface(output, es) == 0) {
/* We're drawing nothing now, /* We're drawing nothing now,
* draw the damaged regions later. */ * draw the damaged regions later. */
@ -716,6 +715,7 @@ wlsc_output_repaint(struct wlsc_output *output)
} }
} }
if (es->fullscreen_output == output) {
if (es->width < output->width || if (es->width < output->width ||
es->height < output->height) es->height < output->height)
glClear(GL_COLOR_BUFFER_BIT); glClear(GL_COLOR_BUFFER_BIT);

Loading…
Cancel
Save