[Spice-devel] [PATCH 16/16] worker: rename process_commands process_display
Frediano Ziglio
fziglio at redhat.com
Fri Nov 27 01:16:59 PST 2015
And move a function from a line to another on same file.
I'll revert the move.
Does this change (the rename) sounds good ?
I don't know to me would sound good to move all display
processing to display-channel.c (with the generation field too).
Frediano
>
> From: Marc-André Lureau <marcandre.lureau at gmail.com>
>
> ---
> server/red_worker.c | 53
> ++++++++++++++++++++++++++---------------------------
> 1 file changed, 26 insertions(+), 27 deletions(-)
>
> diff --git a/server/red_worker.c b/server/red_worker.c
> index 5175839..d9b98d5 100644
> --- a/server/red_worker.c
> +++ b/server/red_worker.c
> @@ -87,7 +87,7 @@ struct RedWorker {
> spice_wan_compression_t jpeg_state;
> spice_wan_compression_t zlib_glz_state;
>
> - uint32_t process_commands_generation;
> + uint32_t process_display_generation;
> #ifdef RED_STATISTICS
> StatNodeRef stat;
> uint64_t *wakeup_counter;
> @@ -165,26 +165,6 @@ void red_drawable_unref(RedWorker *worker, RedDrawable
> *red_drawable,
> free(red_drawable);
> }
>
> -static void red_process_draw(RedWorker *worker, RedDrawable *red_drawable,
> - uint32_t group_id)
> -{
> - DisplayChannel *display = worker->display_channel;
> - Drawable *drawable;
> - bool success = FALSE;
> -
> - drawable = display_channel_drawable_try_new(display, group_id,
> -
> worker->process_commands_generation);
> - if (!drawable) {
> - return;
> - }
> -
> - success = display_channel_add_drawable(worker->display_channel,
> drawable, red_drawable);
> - spice_warn_if_fail(success);
> -
> - display_channel_drawable_unref(display, drawable);
> -}
> -
> -
> static int red_process_cursor(RedWorker *worker, uint32_t max_pipe_size, int
> *ring_is_empty)
> {
> QXLCommandExt ext_cmd;
> @@ -244,7 +224,26 @@ static RedDrawable *red_drawable_new(RedWorker *worker)
> return red;
> }
>
> -static int red_process_commands(RedWorker *worker, uint32_t max_pipe_size,
> int *ring_is_empty)
> +static void red_process_draw(RedWorker *worker, RedDrawable *red_drawable,
> + uint32_t group_id)
> +{
> + DisplayChannel *display = worker->display_channel;
> + Drawable *drawable;
> + bool success = FALSE;
> +
> + drawable = display_channel_drawable_try_new(display, group_id,
> +
> worker->process_display_generation);
> + if (!drawable) {
> + return;
> + }
> +
> + success = display_channel_add_drawable(worker->display_channel,
> drawable, red_drawable);
> + spice_warn_if_fail(success);
> +
> + display_channel_drawable_unref(display, drawable);
> +}
> +
> +static int red_process_display(RedWorker *worker, uint32_t max_pipe_size,
> int *ring_is_empty)
> {
> QXLCommandExt ext_cmd;
> int n = 0;
> @@ -255,7 +254,7 @@ static int red_process_commands(RedWorker *worker,
> uint32_t max_pipe_size, int *
> return n;
> }
>
> - worker->process_commands_generation++;
> + worker->process_display_generation++;
> *ring_is_empty = FALSE;
> while (!display_is_connected(worker) ||
> // TODO: change to average pipe size?
> @@ -386,12 +385,12 @@ static void flush_display_commands(RedWorker *worker)
> uint64_t end_time;
> int ring_is_empty;
>
> - red_process_commands(worker, MAX_PIPE_SIZE, &ring_is_empty);
> + red_process_display(worker, MAX_PIPE_SIZE, &ring_is_empty);
> if (ring_is_empty) {
> break;
> }
>
> - while (red_process_commands(worker, MAX_PIPE_SIZE, &ring_is_empty))
> {
> + while (red_process_display(worker, MAX_PIPE_SIZE, &ring_is_empty)) {
> red_channel_push(RED_CHANNEL(worker->display_channel));
> }
>
> @@ -1004,7 +1003,7 @@ static void handle_dev_oom(void *opaque, void *payload)
> display->glz_drawable_count,
> display->current_size,
> red_channel_sum_pipes_size(display_red_channel));
> - while (red_process_commands(worker, MAX_PIPE_SIZE, &ring_is_empty)) {
> + while (red_process_display(worker, MAX_PIPE_SIZE, &ring_is_empty)) {
> red_channel_push(display_red_channel);
> }
> if (worker->qxl->st->qif->flush_resources(worker->qxl) == 0) {
> @@ -1681,7 +1680,7 @@ SPICE_GNUC_NORETURN static void *red_worker_main(void
> *arg)
> if (worker->running) {
> int ring_is_empty;
> red_process_cursor(worker, MAX_PIPE_SIZE, &ring_is_empty);
> - red_process_commands(worker, MAX_PIPE_SIZE, &ring_is_empty);
> + red_process_display(worker, MAX_PIPE_SIZE, &ring_is_empty);
> }
> red_push(worker);
> }
More information about the Spice-devel
mailing list