|
|
@ -2845,7 +2845,6 @@ weston_output_init(struct weston_output *output, struct weston_compositor *c, |
|
|
|
output->mm_width = width; |
|
|
|
output->mm_width = width; |
|
|
|
output->mm_height = height; |
|
|
|
output->mm_height = height; |
|
|
|
output->dirty = 1; |
|
|
|
output->dirty = 1; |
|
|
|
wl_list_init(&output->read_pixels_list); |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
weston_output_init_zoom(output); |
|
|
|
weston_output_init_zoom(output); |
|
|
|
|
|
|
|
|
|
|
@ -2865,22 +2864,6 @@ weston_output_init(struct weston_output *output, struct weston_compositor *c, |
|
|
|
output, bind_output); |
|
|
|
output, bind_output); |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
WL_EXPORT void |
|
|
|
|
|
|
|
weston_output_do_read_pixels(struct weston_output *output) |
|
|
|
|
|
|
|
{ |
|
|
|
|
|
|
|
struct weston_read_pixels *r, *next; |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
wl_signal_emit(&output->frame_signal, &output->frame_time); |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
glPixelStorei(GL_PACK_ALIGNMENT, 1); |
|
|
|
|
|
|
|
wl_list_for_each_safe(r, next, &output->read_pixels_list, link) { |
|
|
|
|
|
|
|
glReadPixels(r->x, r->y, r->width, r->height, |
|
|
|
|
|
|
|
output->compositor->read_format, |
|
|
|
|
|
|
|
GL_UNSIGNED_BYTE, r->data); |
|
|
|
|
|
|
|
r->done(r, output); |
|
|
|
|
|
|
|
} |
|
|
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
static void |
|
|
|
static void |
|
|
|
compositor_bind(struct wl_client *client, |
|
|
|
compositor_bind(struct wl_client *client, |
|
|
|
void *data, uint32_t version, uint32_t id) |
|
|
|
void *data, uint32_t version, uint32_t id) |
|
|
|