Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.
Comment: Updates to GPU 3D

...

   
REQ-TBD: * The implementation shall support feature flag VIRTIO_GPU_F_EDID as described in [VIRTIO]

REQ-TBD: * The device must implement support for the VIRTIO_GPU_CMD_RESOURCE_CREATE_V2 as described in [VIRTIO-FUTURE]

...

3D mode will offload rendering operations to the host gpu and therefore requires a gpu with 3D support on the host machine. The guest side requires additional software in order to convert OpenGL commands to the raw graphics stack state (Gallium state) and channel them through virtio-gpu to the host. Currently the 'mesa' library is used for this purpose. The backend then receives the raw graphics stack state and interprets it using the virglrenderer library from the raw state into an OpenGL form, which can be executed as entirely normal OpenGL on the host machine. The host also translates shaders from the TGSI format used by Gallium into the GLSL format used by OpenGL.


(warning) These requirements are likely to change as VIRTIO-VULKAN is introduced.  We expect the virtual platform interface to be VULKAN based without relation to OpenGL (which will exist only in the layers above).


        Device ID.

(lightbulb) REQ-1:   The device ID MUST be set according to the requirement in chapter 5.7.1 in [VIRTIO-GPU].

...

(lightbulb) REQ-5:   The implementation MUST suport support the device operation concept (the command set and the operation flow) according to chapter 5.7.6 in [VIRTIO-GPU].

(lightbulb)      REQ-5.1: The implementation MUST support scatter-gather operations to fulfil the to fulfill the requirement in chapter 5.7.6.1 in [VIRTIO-GPU].

...

(lightbulb)      REQ-5.6: The implementation MUST SHOULD be capable  to perform DMA operations to and from client's attached resources to fulfil the requirement in chapter 5.7.6.1 in [VIRTIO-GPU] and in 'Virtio-GPU | Virgl3D commands' in [VIRTIO-VIRGL].

...

NOTE: The current specification draft looks quite neat except the fact that it marks many requirements as SHO

Discussion:


ULD SHOULD or MAY and leaves it for an implementation. Here I try to provide more strict rules when it is applicable.

...