[Spice-devel,spice-common] support multiple monitors in single display channel

Submitted by Alon Levy on July 12, 2012, 4:52 p.m.

Details

Message ID 1342111967-26071-1-git-send-email-alevy@redhat.com
State Accepted
Commit 7eba850ad562f3c5a29621af09d93535a76ff99c
Headers show

Not browsing as part of any series.

Commit Message

Alon Levy July 12, 2012, 4:52 p.m.
See spice-protocol commit for details:
 da908f89b581fd4725da997fdaea209f8e6548f6
 support multiple monitors on a single display channel
---
 common/messages.h |   16 ++++++++++++++++
 spice-protocol    |    2 +-
 spice.proto       |   16 ++++++++++++++++
 3 files changed, 33 insertions(+), 1 deletion(-)

Patch hide | download patch | download mbox

diff --git a/common/messages.h b/common/messages.h
index e3677d1..2b6d68a 100644
--- a/common/messages.h
+++ b/common/messages.h
@@ -558,6 +558,22 @@  typedef struct SpiceMsgcSmartcard {
 } SpiceMsgcSmartcard;
 #endif
 
+typedef struct SpiceMsgDisplayHead {
+    uint32_t id;
+    uint32_t surface_id;
+    uint32_t width;
+    uint32_t height;
+    uint32_t x;
+    uint32_t y;
+    uint32_t flags;
+} SpiceHead;
+
+typedef struct SpiceMsgDisplayMonitorsConfig {
+    uint16_t count;
+    uint16_t max_allowed;
+    SpiceHead heads[0];
+} SpiceMsgDisplayMonitorsConfig;
+
 SPICE_END_DECLS
 
 #endif /* _H_SPICE_PROTOCOL */
diff --git a/spice-protocol b/spice-protocol
index 86eb1a3..da908f8 160000
--- a/spice-protocol
+++ b/spice-protocol
@@ -1 +1 @@ 
-Subproject commit 86eb1a334ebef63a43df9a267cfa42e4128966ae
+Subproject commit da908f89b581fd4725da997fdaea209f8e6548f6
diff --git a/spice.proto b/spice.proto
index a86bfa7..1fdead9 100644
--- a/spice.proto
+++ b/spice.proto
@@ -596,6 +596,16 @@  struct StreamDataHeader {
 	uint32 multi_media_time;
 };
 
+struct Head {
+    uint32 id;
+    uint32 surface_id;
+    uint32 width;
+    uint32 height;
+    uint32 x;
+    uint32 y;
+    uint32 flags;
+};
+
 channel DisplayChannel : BaseChannel {
  server:
     message {
@@ -798,6 +808,12 @@  channel DisplayChannel : BaseChannel {
 	uint8 data[data_size] @end @nomarshal;
     } stream_data_sized;
 
+    message {
+	uint16 count;
+    uint16 max_allowed;
+	Head heads[count] @end;
+    } monitors_config;
+
  client:
     message {
 	uint8 pixmap_cache_id;

Comments

ack

On Thu, Jul 12, 2012 at 6:52 PM, Alon Levy <alevy@redhat.com> wrote:
> See spice-protocol commit for details:
>  da908f89b581fd4725da997fdaea209f8e6548f6
>  support multiple monitors on a single display channel
> ---
>  common/messages.h |   16 ++++++++++++++++
>  spice-protocol    |    2 +-
>  spice.proto       |   16 ++++++++++++++++
>  3 files changed, 33 insertions(+), 1 deletion(-)
>
> diff --git a/common/messages.h b/common/messages.h
> index e3677d1..2b6d68a 100644
> --- a/common/messages.h
> +++ b/common/messages.h
> @@ -558,6 +558,22 @@ typedef struct SpiceMsgcSmartcard {
>  } SpiceMsgcSmartcard;
>  #endif
>
> +typedef struct SpiceMsgDisplayHead {
> +    uint32_t id;
> +    uint32_t surface_id;
> +    uint32_t width;
> +    uint32_t height;
> +    uint32_t x;
> +    uint32_t y;
> +    uint32_t flags;
> +} SpiceHead;
> +
> +typedef struct SpiceMsgDisplayMonitorsConfig {
> +    uint16_t count;
> +    uint16_t max_allowed;
> +    SpiceHead heads[0];
> +} SpiceMsgDisplayMonitorsConfig;
> +
>  SPICE_END_DECLS
>
>  #endif /* _H_SPICE_PROTOCOL */
> diff --git a/spice-protocol b/spice-protocol
> index 86eb1a3..da908f8 160000
> --- a/spice-protocol
> +++ b/spice-protocol
> @@ -1 +1 @@
> -Subproject commit 86eb1a334ebef63a43df9a267cfa42e4128966ae
> +Subproject commit da908f89b581fd4725da997fdaea209f8e6548f6
> diff --git a/spice.proto b/spice.proto
> index a86bfa7..1fdead9 100644
> --- a/spice.proto
> +++ b/spice.proto
> @@ -596,6 +596,16 @@ struct StreamDataHeader {
>         uint32 multi_media_time;
>  };
>
> +struct Head {
> +    uint32 id;
> +    uint32 surface_id;
> +    uint32 width;
> +    uint32 height;
> +    uint32 x;
> +    uint32 y;
> +    uint32 flags;
> +};
> +
>  channel DisplayChannel : BaseChannel {
>   server:
>      message {
> @@ -798,6 +808,12 @@ channel DisplayChannel : BaseChannel {
>         uint8 data[data_size] @end @nomarshal;
>      } stream_data_sized;
>
> +    message {
> +       uint16 count;
> +    uint16 max_allowed;
> +       Head heads[count] @end;
> +    } monitors_config;
> +
>   client:
>      message {
>         uint8 pixmap_cache_id;
> --
> 1.7.10.1
>
> _______________________________________________
> Spice-devel mailing list
> Spice-devel@lists.freedesktop.org
> http://lists.freedesktop.org/mailman/listinfo/spice-devel