aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorGerd Hoffmann <kraxel@redhat.com>2019-11-29 06:53:36 +0100
committerGerd Hoffmann <kraxel@redhat.com>2019-12-05 09:34:59 +0100
commit63a7f2e9180b98bd1cdc1dacadd99e4baee75510 (patch)
tree3791ede92abd69fc1fcdf5e5272a4049b67ee0cf
parent55ffb5d53069ecaae348cafb1909b6bec8cc006f (diff)
downloadvirtio-spec-63a7f2e9180b98bd1cdc1dacadd99e4baee75510.tar.gz
virtio-gpu: add 3d command overview
Add 3d commands to the command enumeration. Add a section with a very short overview. Signed-off-by: Gerd Hoffmann <kraxel@redhat.com>
-rw-r--r--virtio-gpu.tex35
1 files changed, 35 insertions, 0 deletions
diff --git a/virtio-gpu.tex b/virtio-gpu.tex
index 15dbf9f..ccae624 100644
--- a/virtio-gpu.tex
+++ b/virtio-gpu.tex
@@ -187,6 +187,16 @@ enum virtio_gpu_ctrl_type {
VIRTIO_GPU_CMD_GET_CAPSET,
VIRTIO_GPU_CMD_GET_EDID,
+ /* 3d commands (OpenGL) */
+ VIRTIO_GPU_CMD_CTX_CREATE = 0x0200,
+ VIRTIO_GPU_CMD_CTX_DESTROY,
+ VIRTIO_GPU_CMD_CTX_ATTACH_RESOURCE,
+ VIRTIO_GPU_CMD_CTX_DETACH_RESOURCE,
+ VIRTIO_GPU_CMD_RESOURCE_CREATE_3D,
+ VIRTIO_GPU_CMD_TRANSFER_TO_HOST_3D,
+ VIRTIO_GPU_CMD_TRANSFER_FROM_HOST_3D,
+ VIRTIO_GPU_CMD_SUBMIT_3D,
+
/* cursor commands */
VIRTIO_GPU_CMD_UPDATE_CURSOR = 0x0300,
VIRTIO_GPU_CMD_MOVE_CURSOR,
@@ -461,6 +471,31 @@ guest swapping or object destruction.
\end{description}
+\subsubsection{Device Operation: controlq (3d)}\label{sec:Device Types / GPU Device / Device Operation / Device Operation: controlq (3d)}
+
+These commands are supported by the device if the VIRTIO_GPU_F_VIRGL
+feature flag is set.
+
+\begin{description}
+
+\item[VIRTIO_GPU_CMD_CTX_CREATE]
+\item[VIRTIO_GPU_CMD_CTX_DESTROY]
+\item[VIRTIO_GPU_CMD_CTX_ATTACH_RESOURCE]
+\item[VIRTIO_GPU_CMD_CTX_DETACH_RESOURCE]
+ Manage OpenGL contexts.
+
+\item[VIRTIO_GPU_CMD_RESOURCE_CREATE_3D]
+ Create OpenGL resources.
+
+\item[VIRTIO_GPU_CMD_TRANSFER_TO_HOST_3D]
+\item[VIRTIO_GPU_CMD_TRANSFER_FROM_HOST_3D]
+ Transfer data from and to OpenGL resources.
+
+\item[VIRTIO_GPU_CMD_SUBMIT_3D]
+ Submit rendering commands (mesa gallium command stream).
+
+\end{description}
+
\subsubsection{Device Operation: cursorq}\label{sec:Device Types / GPU Device / Device Operation / Device Operation: cursorq}
Both cursorq commands use the same command struct.