compositor: Drop broken opaque repaint optimization for now
This commit is contained in:
+1
-21
@@ -675,7 +675,7 @@ wlsc_output_repaint(struct wlsc_output *output)
|
|||||||
struct wlsc_compositor *ec = output->compositor;
|
struct wlsc_compositor *ec = output->compositor;
|
||||||
struct wlsc_surface *es;
|
struct wlsc_surface *es;
|
||||||
struct wlsc_input_device *eid;
|
struct wlsc_input_device *eid;
|
||||||
pixman_region32_t new_damage, total_damage, repaint;
|
pixman_region32_t new_damage, total_damage;
|
||||||
int using_hardware_cursor = 1;
|
int using_hardware_cursor = 1;
|
||||||
|
|
||||||
output->prepare_render(output);
|
output->prepare_render(output);
|
||||||
@@ -724,18 +724,6 @@ wlsc_output_repaint(struct wlsc_output *output)
|
|||||||
glClear(GL_COLOR_BUFFER_BIT);
|
glClear(GL_COLOR_BUFFER_BIT);
|
||||||
wlsc_surface_draw(es, output, &total_damage);
|
wlsc_surface_draw(es, output, &total_damage);
|
||||||
} else {
|
} else {
|
||||||
wl_list_for_each(es, &ec->surface_list, link) {
|
|
||||||
if (es->visual != &ec->compositor.rgb_visual)
|
|
||||||
continue;
|
|
||||||
|
|
||||||
pixman_region32_init_rect(&repaint,
|
|
||||||
es->x, es->y,
|
|
||||||
es->width, es->height);
|
|
||||||
wlsc_surface_draw(es, output, &total_damage);
|
|
||||||
pixman_region32_subtract(&total_damage,
|
|
||||||
&total_damage, &repaint);
|
|
||||||
}
|
|
||||||
|
|
||||||
if (output->background)
|
if (output->background)
|
||||||
wlsc_surface_draw(output->background,
|
wlsc_surface_draw(output->background,
|
||||||
output, &total_damage);
|
output, &total_damage);
|
||||||
@@ -747,14 +735,6 @@ wlsc_output_repaint(struct wlsc_output *output)
|
|||||||
if (ec->overlay == es)
|
if (ec->overlay == es)
|
||||||
continue;
|
continue;
|
||||||
|
|
||||||
if (es->visual == &ec->compositor.rgb_visual) {
|
|
||||||
pixman_region32_union_rect(&total_damage,
|
|
||||||
&total_damage,
|
|
||||||
es->x, es->y,
|
|
||||||
es->width, es->height);
|
|
||||||
continue;
|
|
||||||
}
|
|
||||||
|
|
||||||
wlsc_surface_draw(es, output, &total_damage);
|
wlsc_surface_draw(es, output, &total_damage);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user