Re: [PATCH 3.9/12] Move pipe item enumerations out of red_worker.h

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



> 
> From: Marc-André Lureau <marcandre.lureau@xxxxxxxxx>
> 
> Move the cursor-specific pipe item types to cursor-channel.h, and the
> display-specific types to red_worker.c. Only leave the common
> definitions in red_worker.h. This prepares for splitting the display
> channel into a separate file.
> 
> Signed-off-by: Jonathon Jongsma <jjongsma@xxxxxxxxxx>
> ---
>  server/cursor-channel.h |  6 ++++++
>  server/red_worker.c     | 17 +++++++++++++++++
>  server/red_worker.h     | 21 +++------------------
>  3 files changed, 26 insertions(+), 18 deletions(-)
> 
> diff --git a/server/cursor-channel.h b/server/cursor-channel.h
> index 9a22c19..1bdf236 100644
> --- a/server/cursor-channel.h
> +++ b/server/cursor-channel.h
> @@ -32,6 +32,12 @@
>  #define CURSOR_CACHE_HASH_MASK (CURSOR_CACHE_HASH_SIZE - 1)
>  #define CURSOR_CACHE_HASH_KEY(id) ((id) & CURSOR_CACHE_HASH_MASK)
>  
> +enum {
> +    PIPE_ITEM_TYPE_CURSOR = PIPE_ITEM_TYPE_COMMON_LAST,
> +    PIPE_ITEM_TYPE_CURSOR_INIT,
> +    PIPE_ITEM_TYPE_INVAL_CURSOR_CACHE,
> +};
> +
>  typedef struct CursorItem {
>      QXLInstance *qxl;
>      uint32_t group_id;
> diff --git a/server/red_worker.c b/server/red_worker.c
> index 495e452..2428daf 100644
> --- a/server/red_worker.c
> +++ b/server/red_worker.c
> @@ -265,6 +265,23 @@ struct SpiceWatch {
>      void *watch_func_opaque;
>  };
>  
> +enum {
> +    PIPE_ITEM_TYPE_DRAW = PIPE_ITEM_TYPE_COMMON_LAST,
> +    PIPE_ITEM_TYPE_IMAGE,
> +    PIPE_ITEM_TYPE_STREAM_CREATE,
> +    PIPE_ITEM_TYPE_STREAM_CLIP,
> +    PIPE_ITEM_TYPE_STREAM_DESTROY,
> +    PIPE_ITEM_TYPE_UPGRADE,
> +    PIPE_ITEM_TYPE_MIGRATE_DATA,
> +    PIPE_ITEM_TYPE_PIXMAP_SYNC,
> +    PIPE_ITEM_TYPE_PIXMAP_RESET,
> +    PIPE_ITEM_TYPE_INVAL_PALETTE_CACHE,
> +    PIPE_ITEM_TYPE_CREATE_SURFACE,
> +    PIPE_ITEM_TYPE_DESTROY_SURFACE,
> +    PIPE_ITEM_TYPE_MONITORS_CONFIG,
> +    PIPE_ITEM_TYPE_STREAM_ACTIVATE_REPORT,
> +};
> +
>  #define MAX_LZ_ENCODERS MAX_CACHE_CLIENTS
>  
>  typedef struct SurfaceCreateItem {
> diff --git a/server/red_worker.h b/server/red_worker.h
> index 76502b6..aa97707 100644
> --- a/server/red_worker.h
> +++ b/server/red_worker.h
> @@ -48,25 +48,10 @@ typedef struct CommonChannel {
>  } CommonChannel;
>  
>  enum {
> -    PIPE_ITEM_TYPE_DRAW = PIPE_ITEM_TYPE_CHANNEL_BASE,
> +    PIPE_ITEM_TYPE_VERB = PIPE_ITEM_TYPE_CHANNEL_BASE,
>      PIPE_ITEM_TYPE_INVAL_ONE,
> -    PIPE_ITEM_TYPE_CURSOR,
> -    PIPE_ITEM_TYPE_CURSOR_INIT,
> -    PIPE_ITEM_TYPE_IMAGE,
> -    PIPE_ITEM_TYPE_STREAM_CREATE,
> -    PIPE_ITEM_TYPE_STREAM_CLIP,
> -    PIPE_ITEM_TYPE_STREAM_DESTROY,
> -    PIPE_ITEM_TYPE_UPGRADE,
> -    PIPE_ITEM_TYPE_VERB,
> -    PIPE_ITEM_TYPE_MIGRATE_DATA,
> -    PIPE_ITEM_TYPE_PIXMAP_SYNC,
> -    PIPE_ITEM_TYPE_PIXMAP_RESET,
> -    PIPE_ITEM_TYPE_INVAL_CURSOR_CACHE,
> -    PIPE_ITEM_TYPE_INVAL_PALETTE_CACHE,
> -    PIPE_ITEM_TYPE_CREATE_SURFACE,
> -    PIPE_ITEM_TYPE_DESTROY_SURFACE,
> -    PIPE_ITEM_TYPE_MONITORS_CONFIG,
> -    PIPE_ITEM_TYPE_STREAM_ACTIVATE_REPORT,
> +
> +    PIPE_ITEM_TYPE_COMMON_LAST
>  };
>  
>  typedef struct VerbItem {
> --
> 2.4.3

Acked

OT: I started wondering if all these Pipe stuff would be better implemented with callbacks instead
of lot of switches here and there. I'll write something on my notes.

Frediano

_______________________________________________
Spice-devel mailing list
Spice-devel@xxxxxxxxxxxxxxxxxxxxx
http://lists.freedesktop.org/mailman/listinfo/spice-devel




[Index of Archives]     [Linux ARM Kernel]     [Linux ARM]     [Linux Omap]     [Fedora ARM]     [IETF Annouce]     [Security]     [Bugtraq]     [Linux]     [Linux OMAP]     [Linux MIPS]     [ECOS]     [Asterisk Internet PBX]     [Linux API]     [Monitors]