Skip to content

Iris: kmsro support [v5]

tina zhang requested to merge tina/mesa:iris-kmsro into main

This patch-set tries to enable iris kmsro support. With this patch-set, iris GPU can work with other display controller for display. In virtualization environment, there's a requirement to provide a passed-though GPU, which may work in headless mode, with capability to show a guest desktop on the host display. This patch leverages the kmsro framework to enable this support. This patch-set has been tested in a guest virtualization environment (with MESA_LOADER_DRIVER_OVERRIDE=pl111) where the rendering workloads are handled by a passed-through GPU and the display work is passed to a virtio-gpu.

v5:

v4:

  • In resource_get_handle(), when screen->ro is true, return renderonly_get_handle() even if the return value might be NULL.

  • Remove the redundant modifier checking logic.

  • Restrict iris_resource_create_renderonly() invoking logic.

    Suggested-by: Simon Ser contact@emersion.fr

v3:

  • Add modifiers support to iris renderonly mode.

  • Add dep_valgrind dependency to meson.build.

  • When a scan-out buffer cannot be allocated successfully through the kms node, let it be allocated through the render node.

    Suggested-by: Dongwon dongwon.kim@intel.com

v2:

  • Add iris_resource_create_renderonly() helper function.

  • Fix coding style comments.

    Suggested-by: Kenneth Graunke kenneth@whitecape.org

  • Don't check screen->ro before free it.

    Suggested-by: Marcin Ślusarz marcin.slusarz@intel.com

  • Let kmsro_drm_screen_create() be invoked by the kmsro driver.

Edited by tina zhang

Merge request reports