drm/qxl: Do not cause spice-server to clean our objects
authorFrediano Ziglio <[email protected]>
Wed, 3 Jun 2015 11:09:09 +0000 (12:09 +0100)
committerDave Airlie <[email protected]>
Fri, 5 Jun 2015 01:00:27 +0000 (11:00 +1000)
If objects are moved back from system memory to VRAM (and spice id
created again) memory is already initialized so we need to set flag
to not clear memory.
If you don't do it after a while using desktop many images turns to
black or transparents.

Signed-off-by: Frediano Ziglio <[email protected]>
Cc: [email protected]
Reviewed-by: Dave Airlie <[email protected]>
Signed-off-by: Dave Airlie <[email protected]>
drivers/gpu/drm/qxl/qxl_cmd.c

index 97823644d34743a285d025c810a5168ed8c8f142..f33251d67914cfcd42722ecc3b5bf2760f4256ff 100644 (file)
@@ -505,6 +505,7 @@ int qxl_hw_surface_alloc(struct qxl_device *qdev,
 
        cmd = (struct qxl_surface_cmd *)qxl_release_map(qdev, release);
        cmd->type = QXL_SURFACE_CMD_CREATE;
+       cmd->flags = QXL_SURF_FLAG_KEEP_DATA;
        cmd->u.surface_create.format = surf->surf.format;
        cmd->u.surface_create.width = surf->surf.width;
        cmd->u.surface_create.height = surf->surf.height;