panfrost: Add backend targeting the DRM driver
authorTomeu Vizoso <tomeu.vizoso@collabora.com>
Fri, 8 Mar 2019 09:27:07 +0000 (10:27 +0100)
committerAlyssa Rosenzweig <alyssa@rosenzweig.io>
Sun, 10 Mar 2019 19:09:23 +0000 (19:09 +0000)
commit756f7b99895404bc7d7ce0cfcd84044cc21a799f
tree10eb58e22224f67c6c904aa7243404e6aada1fe3
parentd4dc79df72e05346b4dd40d19e346ada9e4af98c
panfrost: Add backend targeting the DRM driver

This backend interacts with the new DRM driver for Midgard GPUs which is
currently in development.

When using this backend, Panfrost has roughly on-par functionality as
when using the non-DRM driver from Arm.

Alyssa Rosenzweig: To do so, we implement additional routines for
runtime GPU version detection and fencing. We cleanup some duplicate
code interfering with the new driver. We fix a long-standing memory leak
which is aggravated on the new driver. Finally, we implement BO
import/export in a way compatible with the new driver. These changes are
squashed to preserve bisectability given the hard-to-track ABI shifts in
the nondrm module

Signed-off-by: Tomeu Vizoso <tomeu.vizoso@collabora.com>
Reviewed-by: Alyssa Rosenzweig <alyssa@rosenzweig.io>
include/drm-uapi/panfrost_drm.h [new file with mode: 0644]
src/gallium/drivers/panfrost/pan_allocate.c
src/gallium/drivers/panfrost/pan_context.c
src/gallium/drivers/panfrost/pan_context.h
src/gallium/drivers/panfrost/pan_drm.c
src/gallium/drivers/panfrost/pan_resource.c
src/gallium/drivers/panfrost/pan_screen.c
src/gallium/drivers/panfrost/pan_screen.h
src/gallium/drivers/panfrost/pan_wallpaper.c