compositor: Scanout client buffers even if they're not map_fullscreen
This commit is contained in:
@@ -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);
|
||||||
|
|||||||
Reference in New Issue
Block a user