drm/qxl: Do not cause spice-server to clean our objects
authorFrediano Ziglio <fziglio@redhat.com>
Wed, 3 Jun 2015 11:09:09 +0000 (12:09 +0100)
committerDave Airlie <airlied@redhat.com>
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 <fziglio@redhat.com>
Cc: stable@vger.kernel.org
Reviewed-by: Dave Airlie <airlied@redhat.com>
Signed-off-by: Dave Airlie <airlied@redhat.com>
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;