summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--spice.proto24
-rw-r--r--spice/enums.h9
-rw-r--r--spice/protocol.h1
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 {