diff options
-rw-r--r-- | spice.proto | 24 | ||||
-rw-r--r-- | spice/enums.h | 9 | ||||
-rw-r--r-- | spice/protocol.h | 1 |
3 files changed, 34 insertions, 0 deletions
diff --git a/spice.proto b/spice.proto index 3bca900..af970f2 100644 --- a/spice.proto +++ b/spice.proto @@ -678,6 +678,10 @@ struct Head { uint32 flags; }; +flags32 gl_scanout_flags { + Y0TOP +}; + channel DisplayChannel : BaseChannel { server: message { @@ -915,6 +919,23 @@ channel DisplayChannel : BaseChannel { uint32 timeout_ms; } stream_activate_report; + message { + unix_fd drm_dma_buf_fd; + uint32 width; + uint32 height; + uint32 stride; + /* specifies the format of drm_dma_buf_fd defined in drm_fourcc.h */ + uint32 drm_fourcc_format; + gl_scanout_flags flags; + } gl_scanout_unix; + + message { + uint32 x; + uint32 y; + uint32 w; + uint32 h; + } gl_draw; + client: message { uint8 pixmap_cache_id; @@ -937,6 +958,9 @@ channel DisplayChannel : BaseChannel { message { image_compression image_compression; } preferred_compression; + + message { + } gl_draw_done; }; flags16 keyboard_modifier_flags { diff --git a/spice/enums.h b/spice/enums.h index 16885ac..613db52 100644 --- a/spice/enums.h +++ b/spice/enums.h @@ -303,6 +303,12 @@ typedef enum SpiceResourceType { SPICE_RESOURCE_TYPE_ENUM_END } SpiceResourceType; +typedef enum SpiceGlScanoutFlags { + SPICE_GL_SCANOUT_FLAGS_Y0TOP = (1 << 0), + + SPICE_GL_SCANOUT_FLAGS_MASK = 0x1 +} SpiceGlScanoutFlags; + typedef enum SpiceKeyboardModifierFlags { SPICE_KEYBOARD_MODIFIER_FLAGS_SCROLL_LOCK = (1 << 0), SPICE_KEYBOARD_MODIFIER_FLAGS_NUM_LOCK = (1 << 1), @@ -503,6 +509,8 @@ enum { SPICE_MSG_DISPLAY_MONITORS_CONFIG, SPICE_MSG_DISPLAY_DRAW_COMPOSITE, SPICE_MSG_DISPLAY_STREAM_ACTIVATE_REPORT, + SPICE_MSG_DISPLAY_GL_SCANOUT_UNIX, + SPICE_MSG_DISPLAY_GL_DRAW, SPICE_MSG_END_DISPLAY }; @@ -511,6 +519,7 @@ enum { SPICE_MSGC_DISPLAY_INIT = 101, SPICE_MSGC_DISPLAY_STREAM_REPORT, SPICE_MSGC_DISPLAY_PREFERRED_COMPRESSION, + SPICE_MSGC_DISPLAY_GL_DRAW_DONE, SPICE_MSGC_END_DISPLAY }; diff --git a/spice/protocol.h b/spice/protocol.h index 0c265ee..3e6c624 100644 --- a/spice/protocol.h +++ b/spice/protocol.h @@ -136,6 +136,7 @@ enum { SPICE_DISPLAY_CAP_STREAM_REPORT, SPICE_DISPLAY_CAP_LZ4_COMPRESSION, SPICE_DISPLAY_CAP_PREF_COMPRESSION, + SPICE_DISPLAY_CAP_GL_SCANOUT, }; enum { |