Again, I think it may be worthwhile to simply combine this commit with an earlier one. On Thu, 2015-08-13 at 16:25 +0100, Frediano Ziglio wrote: > From: Marc-André Lureau <marcandre.lureau@xxxxxxxxx> > > --- > server/red_record_qxl.c | 35 ++++++++++++++++++++++++++++------- > server/red_record_qxl.h | 18 +++--------------- > server/red_worker.c | 32 +++++--------------------------- > 3 files changed, 36 insertions(+), 49 deletions(-) > > diff --git a/server/red_record_qxl.c b/server/red_record_qxl.c > index a72a200..5c27311 100644 > --- a/server/red_record_qxl.c > +++ b/server/red_record_qxl.c > @@ -659,8 +659,8 @@ static void red_record_compat_drawable(FILE *fd, RedMemSlotInfo *slots, int grou > }; > } > > -void red_record_drawable(FILE *fd, RedMemSlotInfo *slots, int group_id, > - QXLPHYSICAL addr, uint32_t flags) > +static void red_record_drawable(FILE *fd, RedMemSlotInfo *slots, int group_id, > + QXLPHYSICAL addr, uint32_t flags) > { > fprintf(fd, "drawable\n"); > if (flags & QXL_COMMAND_FLAG_COMPAT) { > @@ -670,8 +670,8 @@ void red_record_drawable(FILE *fd, RedMemSlotInfo *slots, int group_id, > } > } > > -void red_record_update_cmd(FILE *fd, RedMemSlotInfo *slots, int group_id, > - QXLPHYSICAL addr) > +static void red_record_update_cmd(FILE *fd, RedMemSlotInfo *slots, int group_id, > + QXLPHYSICAL addr) > { > QXLUpdateCmd *qxl; > int error; > @@ -685,8 +685,8 @@ void red_record_update_cmd(FILE *fd, RedMemSlotInfo *slots, int group_id, > fprintf(fd, "surface_id %d\n", qxl->surface_id); > } > > -void red_record_message(FILE *fd, RedMemSlotInfo *slots, int group_id, > - QXLPHYSICAL addr) > +static void red_record_message(FILE *fd, RedMemSlotInfo *slots, int group_id, > + QXLPHYSICAL addr) > { > QXLMessage *qxl; > int error; > @@ -702,7 +702,7 @@ void red_record_message(FILE *fd, RedMemSlotInfo *slots, int group_id, > write_binary(fd, "message", strlen((char*)qxl->data), (uint8_t*)qxl->data); > } > > -void red_record_surface_cmd(FILE *fd, RedMemSlotInfo *slots, int group_id, > +static void red_record_surface_cmd(FILE *fd, RedMemSlotInfo *slots, int group_id, > QXLPHYSICAL addr) > { > QXLSurfaceCmd *qxl; > @@ -804,3 +804,24 @@ void red_record_event(FILE *fd, int what, uint32_t type, unsigned long ts) > // (that can be up to VGA_FRAMEBUFFER large) > fprintf(fd, "event %d %d %u %lu\n", counter++, what, type, ts); > } > + > +void red_record_qxl_command(FILE *fd, RedMemSlotInfo *slots, > + QXLCommandExt ext_cmd, unsigned long ts) > +{ > + red_record_event(fd, 0, ext_cmd.cmd.type, ts); > + > + switch (ext_cmd.cmd.type) { > + case QXL_CMD_DRAW: > + red_record_drawable(fd, slots, ext_cmd.group_id, ext_cmd.cmd.data, ext_cmd.flags); > + break; > + case QXL_CMD_UPDATE: > + red_record_update_cmd(fd, slots, ext_cmd.group_id, ext_cmd.cmd.data); > + break; > + case QXL_CMD_MESSAGE: > + red_record_message(fd, slots, ext_cmd.group_id, ext_cmd.cmd.data); > + break; > + case QXL_CMD_SURFACE: > + red_record_surface_cmd(fd, slots, ext_cmd.group_id, ext_cmd.cmd.data); > + break; > + } > +} > diff --git a/server/red_record_qxl.h b/server/red_record_qxl.h > index f7dcdc0..b737db8 100644 > --- a/server/red_record_qxl.h > +++ b/server/red_record_qxl.h > @@ -23,24 +23,12 @@ > #include "red_common.h" > #include "red_memslots.h" > > -void red_record_drawable(FILE *fd, RedMemSlotInfo *slots, int group_id, > - QXLPHYSICAL addr, uint32_t flags); > - > -void red_record_update_cmd(FILE *fd, RedMemSlotInfo *slots, int group_id, > - QXLPHYSICAL addr); > - > -void red_record_message(FILE *fd, RedMemSlotInfo *slots, int group_id, > - QXLPHYSICAL addr); > - > -void red_record_surface_cmd(FILE *fd, RedMemSlotInfo *slots, int group_id, > - QXLPHYSICAL addr); > - > -void red_record_cursor_cmd(FILE *fd, RedMemSlotInfo *slots, int group_id, > - QXLPHYSICAL addr); > - > void red_record_dev_input_primary_surface_create( > FILE *fd, QXLDevSurfaceCreate *surface, uint8_t *line_0); > > void red_record_event(FILE *fd, int what, uint32_t type, unsigned long ts); > > +void red_record_qxl_command(FILE *fd, RedMemSlotInfo *slots, > + QXLCommandExt ext_cmd, unsigned long ts); > + > #endif > diff --git a/server/red_worker.c b/server/red_worker.c > index 98a39dd..b47472a 100644 > --- a/server/red_worker.c > +++ b/server/red_worker.c > @@ -5019,30 +5019,6 @@ static RedDrawable *red_drawable_new(void) > return red; > } > > -static void red_record_command(RedWorker *worker, QXLCommandExt ext_cmd) > -{ > - red_record_event(worker->record_fd, 0, ext_cmd.cmd.type, stat_now()); > - > - switch (ext_cmd.cmd.type) { > - case QXL_CMD_DRAW: > - red_record_drawable(worker->record_fd, &worker->mem_slots, ext_cmd.group_id, > - ext_cmd.cmd.data, ext_cmd.flags); > - break; > - case QXL_CMD_UPDATE: > - red_record_update_cmd(worker->record_fd, &worker->mem_slots, ext_cmd.group_id, > - ext_cmd.cmd.data); > - break; > - case QXL_CMD_MESSAGE: > - red_record_message(worker->record_fd, &worker->mem_slots, ext_cmd.group_id, > - ext_cmd.cmd.data); > - break; > - case QXL_CMD_SURFACE: > - red_record_surface_cmd(worker->record_fd, &worker->mem_slots, ext_cmd.group_id, > - ext_cmd.cmd.data); > - break; > - } > -} > - > static int red_process_commands(RedWorker *worker, uint32_t max_pipe_size, int *ring_is_empty) > { > QXLCommandExt ext_cmd; > @@ -5073,9 +5049,11 @@ static int red_process_commands(RedWorker *worker, uint32_t max_pipe_size, int * > } > continue; > } > - if (worker->record_fd) { > - red_record_command(worker, ext_cmd); > - } > + > + if (worker->record_fd) > + red_record_qxl_command(worker->record_fd, &worker->mem_slots, ext_cmd, > + stat_now()); > + > stat_inc_counter(worker->command_counter, 1); > worker->repoll_cmd_ring = 0; > switch (ext_cmd.cmd.type) { _______________________________________________ Spice-devel mailing list Spice-devel@xxxxxxxxxxxxxxxxxxxxx http://lists.freedesktop.org/mailman/listinfo/spice-devel