[Spice-devel] [spice-protocol PATCH 17/46] qxlhw: qxl_surface: use qxlhw_push_drawable
Alon Levy
alevy at redhat.com
Tue Apr 10 04:50:13 PDT 2012
---
src/qxl_surface.c | 21 +++++++++------------
1 file changed, 9 insertions(+), 12 deletions(-)
diff --git a/src/qxl_surface.c b/src/qxl_surface.c
index 1ce6fe5..73a44b3 100644
--- a/src/qxl_surface.c
+++ b/src/qxl_surface.c
@@ -431,10 +431,9 @@ make_drawable (qxl_screen_t *qxl, int surface, uint8_t type,
}
static void
-push_drawable (qxl_screen_t *qxl, struct QXLDrawable *drawable)
+push_drawable (qxl_screen_t *qxl, struct QXLDrawable *drawable,
+ struct QXLImage *image)
{
- struct QXLCommand cmd;
-
/* When someone runs "init 3", the device will be
* switched into VGA mode and there is nothing we
* can do about it. We get no notification.
@@ -446,10 +445,7 @@ push_drawable (qxl_screen_t *qxl, struct QXLDrawable *drawable)
*/
if (qxl->pScrn->vtSema)
{
- cmd.type = QXL_CMD_DRAW;
- cmd.data = physical_address (qxl, drawable, qxl->main_mem_slot);
-
- qxl_ring_push (qxl->command_ring, &cmd);
+ qxlhw_push_drawable (qxl->hw, drawable, image);
}
}
@@ -469,7 +465,7 @@ submit_fill (qxl_screen_t *qxl, int id,
drawable->u.fill.mask.pos.y = 0;
drawable->u.fill.mask.bitmap = 0;
- push_drawable (qxl, drawable);
+ push_drawable (qxl, drawable, NULL);
}
static qxl_surface_t *
@@ -904,7 +900,7 @@ real_upload_box (qxl_surface_t *surface, int x1, int y1, int x2, int y2)
drawable->u.copy.src_bitmap =
physical_address (qxl, image, qxl->main_mem_slot);
- push_drawable (qxl, drawable);
+ push_drawable (qxl, drawable, image);
}
#define TILE_WIDTH 512
@@ -1156,6 +1152,7 @@ qxl_surface_copy (qxl_surface_t *dest,
qxl_screen_t *qxl = dest->cache->qxl;
struct QXLDrawable *drawable;
struct QXLRect qrect;
+ struct QXLImage *image = NULL;
#ifdef DEBUG_REGIONS
print_region (" copy src", &(dest->u.copy_src->access_region));
@@ -1176,7 +1173,7 @@ qxl_surface_copy (qxl_surface_t *dest,
}
else
{
- struct QXLImage *image = qxl_allocnf (qxl, sizeof *image);
+ image = qxl_allocnf (qxl, sizeof *image);
dest->u.copy_src->ref_count++;
@@ -1216,7 +1213,7 @@ qxl_surface_copy (qxl_surface_t *dest,
assert (height <= pixman_image_get_height (dest->u.copy_src->host_image));
}
- push_drawable (qxl, drawable);
+ push_drawable (qxl, drawable, image);
}
Bool
@@ -1254,7 +1251,7 @@ qxl_surface_put_image (qxl_surface_t *dest,
drawable->u.copy.src_bitmap =
physical_address (qxl, image, qxl->main_mem_slot);
- push_drawable (qxl, drawable);
+ push_drawable (qxl, drawable, image);
return TRUE;
}
--
1.7.9.3
More information about the Spice-devel
mailing list