vrend: add new protocol for transfers

Like inline write, but uses resource's iovecs.

Reviewed-by: Gert Wollny <gert.wollny@collabora.com>
macos/master
Gurchetan Singh 6 years ago committed by Gert Wollny
parent 1a810f344c
commit 5a6c9404b4
  1. 1
      src/virgl_hw.h
  2. 11
      src/virgl_protocol.h

@ -238,6 +238,7 @@ enum virgl_formats {
#define VIRGL_CAP_GUEST_MAY_INIT_LOG (1 << 14) #define VIRGL_CAP_GUEST_MAY_INIT_LOG (1 << 14)
#define VIRGL_CAP_SRGB_WRITE_CONTROL (1 << 15) #define VIRGL_CAP_SRGB_WRITE_CONTROL (1 << 15)
#define VIRGL_CAP_QBO (1 << 16) #define VIRGL_CAP_QBO (1 << 16)
#define VIRGL_CAP_TRANSFER (1 << 17)
/* virgl bind flags - these are compatible with mesa 10.5 gallium. /* virgl bind flags - these are compatible with mesa 10.5 gallium.
* but are fixed, no other should be passed to virgl either. * but are fixed, no other should be passed to virgl either.

@ -98,6 +98,8 @@ enum virgl_context_cmd {
VIRGL_CCMD_SET_ATOMIC_BUFFERS, VIRGL_CCMD_SET_ATOMIC_BUFFERS,
VIRGL_CCMD_SET_DEBUG_FLAGS, VIRGL_CCMD_SET_DEBUG_FLAGS,
VIRGL_CCMD_GET_QUERY_RESULT_QBO, VIRGL_CCMD_GET_QUERY_RESULT_QBO,
VIRGL_CCMD_TRANSFER3D,
VIRGL_CCMD_END_TRANSFERS,
VIRGL_MAX_COMMANDS VIRGL_MAX_COMMANDS
}; };
@ -573,4 +575,13 @@ enum virgl_context_cmd {
#define VIRGL_QUERY_RESULT_QBO_OFFSET 5 #define VIRGL_QUERY_RESULT_QBO_OFFSET 5
#define VIRGL_QUERY_RESULT_QBO_INDEX 6 #define VIRGL_QUERY_RESULT_QBO_INDEX 6
#define VIRGL_TRANSFER_TO_HOST 1
#define VIRGL_TRANSFER_FROM_HOST 2
/* Transfer */
#define VIRGL_TRANSFER3D_SIZE 13
/* The first 11 dwords are the same as VIRGL_RESOURCE_IW_* */
#define VIRGL_TRANSFER3D_DATA_OFFSET 12
#define VIRGL_TRANSFER3D_DIRECTION 13
#endif #endif

Loading…
Cancel
Save