display: Remove extra parameters from create_canvas_for_surface

Get them from the surface

Acked-by: Pavel Grunt <pgrunt@redhat.com>
This commit is contained in:
Marc-André Lureau 2015-11-25 08:58:25 +01:00 committed by Frediano Ziglio
parent 4e35645fb0
commit 7d38c28a0a

View File

@ -1538,16 +1538,14 @@ static void send_create_surface(DisplayChannel *display, int surface_id, int ima
}
static SpiceCanvas*
create_canvas_for_surface(DisplayChannel *display, RedSurface *surface,
uint32_t renderer, uint32_t width, uint32_t height,
int32_t stride, uint32_t format, void *line_0)
create_canvas_for_surface(DisplayChannel *display, RedSurface *surface, uint32_t renderer)
{
SpiceCanvas *canvas;
switch (renderer) {
case RED_RENDERER_SW:
canvas = canvas_create_for_data(width, height, format,
line_0, stride,
canvas = canvas_create_for_data(surface->context.width, surface->context.height, surface->context.format,
surface->context.line_0, surface->context.stride,
&display->image_cache.base,
&display->image_surfaces, NULL, NULL, NULL);
surface->context.top_down = TRUE;
@ -1590,9 +1588,7 @@ void display_channel_create_surface(DisplayChannel *display, uint32_t surface_id
region_init(&surface->draw_dirty_region);
surface->refs = 1;
if (display->renderer != RED_RENDERER_INVALID) {
surface->context.canvas = create_canvas_for_surface(display, surface, display->renderer,
width, height, stride,
surface->context.format, line_0);
surface->context.canvas = create_canvas_for_surface(display, surface, display->renderer);
if (!surface->context.canvas) {
spice_critical("drawing canvas creating failed - can`t create same type canvas");
}
@ -1603,9 +1599,7 @@ void display_channel_create_surface(DisplayChannel *display, uint32_t surface_id
}
for (i = 0; i < display->num_renderers; i++) {
surface->context.canvas = create_canvas_for_surface(display, surface, display->renderers[i],
width, height, stride,
surface->context.format, line_0);
surface->context.canvas = create_canvas_for_surface(display, surface, display->renderers[i]);
if (surface->context.canvas) { //no need canvas check
display->renderer = display->renderers[i];
if (send_client)