if (is_buffer_shared(surface)) {
return;
}
- if (!qxl->guest_primary.data) {
- trace_qxl_render_blit_guest_primary_initialized();
- qxl->guest_primary.data = memory_region_get_ram_ptr(&qxl->vga.vram);
- }
trace_qxl_render_blit(qxl->guest_primary.qxl_stride,
rect->left, rect->right, rect->top, rect->bottom);
src = qxl->guest_primary.data;
if (qxl->guest_primary.resized) {
qxl->guest_primary.resized = 0;
- qxl->guest_primary.data = memory_region_get_ram_ptr(&qxl->vga.vram);
+ qxl->guest_primary.data = qxl_phys2virt(qxl,
+ qxl->guest_primary.surface.mem,
+ MEMSLOT_GROUP_GUEST);
+ if (!qxl->guest_primary.data) {
+ return;
+ }
qxl_set_rect_to_surface(qxl, &qxl->dirty[0]);
qxl->num_dirty_rects = 1;
trace_qxl_render_guest_primary_resized(
}
dpy_gfx_replace_surface(vga->con, surface);
}
+
+ if (!qxl->guest_primary.data) {
+ return;
+ }
for (i = 0; i < qxl->num_dirty_rects; i++) {
if (qemu_spice_rect_is_empty(qxl->dirty+i)) {
break;