Pass surface directly calling display_channel_current_flush

Signed-off-by: Frediano Ziglio <fziglio@redhat.com>
Acked-by: Victor Toso <victortoso@redhat.com>
This commit is contained in:
Frediano Ziglio 2016-09-27 22:18:06 +01:00 committed by Frediano Ziglio
parent 58a612a039
commit 5a5d1e21b5
3 changed files with 8 additions and 8 deletions

View File

@ -272,7 +272,7 @@ static void add_drawable_surface_images(DisplayChannelClient *dcc, Drawable *dra
continue;
}
dcc_create_surface(dcc, surface_id);
display_channel_current_flush(display, surface_id);
display_channel_current_flush(display, surface);
dcc_push_surface_image(dcc, surface_id);
}
}
@ -282,7 +282,7 @@ static void add_drawable_surface_images(DisplayChannelClient *dcc, Drawable *dra
}
dcc_create_surface(dcc, drawable->surface->id);
display_channel_current_flush(display, drawable->surface->id);
display_channel_current_flush(display, drawable->surface);
dcc_push_surface_image(dcc, drawable->surface->id);
}
@ -414,7 +414,7 @@ void dcc_start(DisplayChannelClient *dcc)
red::shared_ptr<DisplayChannelClient> self(dcc);
dcc->ack_zero_messages_window();
if (display->priv->surfaces[0].context.canvas) {
display_channel_current_flush(display, 0);
display_channel_current_flush(display, &display->priv->surfaces[0]);
dcc->pipe_add_type(RED_PIPE_ITEM_TYPE_INVAL_PALETTE_CACHE);
dcc_create_surface(dcc, 0);
dcc_push_surface_image(dcc, 0);

View File

@ -177,7 +177,7 @@ void display_channel_draw_until(DisplayChannel *display,
GArray* display_channel_get_video_codecs(DisplayChannel *display);
int display_channel_get_stream_video(DisplayChannel *display);
void display_channel_current_flush(DisplayChannel *display,
int surface_id);
RedSurface *surface);
uint32_t display_channel_generate_uid(DisplayChannel *display);
int display_channel_get_video_stream_id(DisplayChannel *display, VideoStream *stream);

View File

@ -1424,7 +1424,7 @@ void display_channel_flush_all_surfaces(DisplayChannel *display)
for (x = 0; x < NUM_SURFACES; ++x) {
if (display->priv->surfaces[x].context.canvas) {
display_channel_current_flush(display, x);
display_channel_current_flush(display, &display->priv->surfaces[x]);
}
}
}
@ -1473,12 +1473,12 @@ static bool free_one_drawable(DisplayChannel *display, int force_glz_free)
return TRUE;
}
void display_channel_current_flush(DisplayChannel *display, int surface_id)
void display_channel_current_flush(DisplayChannel *display, RedSurface *surface)
{
while (!ring_is_empty(&display->priv->surfaces[surface_id].current_list)) {
while (!ring_is_empty(&surface->current_list)) {
free_one_drawable(display, FALSE);
}
current_remove_all(display, &display->priv->surfaces[surface_id]);
current_remove_all(display, surface);
}
void display_channel_free_some(DisplayChannel *display)