mirror of
https://gitlab.uni-freiburg.de/opensourcevdi/spice
synced 2026-01-07 20:00:20 +00:00
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:
parent
4e35645fb0
commit
7d38c28a0a
@ -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)
|
||||
|
||||
Loading…
Reference in New Issue
Block a user