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@xxxxxxxxxxxxxxxxxxxxx http://lists.freedesktop.org/mailman/listinfo/spice-devel