virgl: add protocol for resource transfers
Mostly similar to VIRGL_CCMD_RESOURCE_INLINE_WRITE. However, this uses the resource's already attached iovecs rather than the command buffer to transfer the data. v2: Used (1 << 16) not (1 << 15) [@gerddie] Reviewed-by: Gert Wollny <gert.wollny@collabora.com>
This commit is contained in:
parent
168c3ffce3
commit
0fcd48bac5
|
@ -234,6 +234,7 @@ enum virgl_formats {
|
|||
#define VIRGL_CAP_GUEST_MAY_INIT_LOG (1 << 14)
|
||||
#define VIRGL_CAP_SRGB_WRITE_CONTROL (1 << 15)
|
||||
#define VIRGL_CAP_QBO (1 << 16)
|
||||
#define VIRGL_CAP_TRANSFER (1 << 17)
|
||||
|
||||
/* virgl bind flags - these are compatible with mesa 10.5 gallium.
|
||||
* but are fixed, no other should be passed to virgl either.
|
||||
|
|
|
@ -94,6 +94,8 @@ enum virgl_context_cmd {
|
|||
VIRGL_CCMD_SET_ATOMIC_BUFFERS,
|
||||
VIRGL_CCMD_SET_DEBUG_FLAGS,
|
||||
VIRGL_CCMD_GET_QUERY_RESULT_QBO,
|
||||
VIRGL_CCMD_TRANSFER3D,
|
||||
VIRGL_CCMD_END_TRANSFERS,
|
||||
};
|
||||
|
||||
/*
|
||||
|
@ -565,4 +567,13 @@ enum virgl_context_cmd {
|
|||
#define VIRGL_QUERY_RESULT_QBO_OFFSET 5
|
||||
#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
|
||||
|
|
Loading…
Reference in New Issue