[Mesa-dev] [PATCH 0/4] Common KMS renderonly support

Qiang Yu yuq825 at gmail.com
Sat Jan 26 03:00:08 UTC 2019


Thanks Rob, I'm OK with this kmsro approach.

But I have to point out that this will break XServer AIGLX:
1. modesetting DDX will report the display drm driver name like meson
  as DRI2 driver name
2. libglx.so used by xserver will look after meson_dri.so for dlopen
3. then dlsym __driDriverGetExtensions_meson for init

With this serial applied, 2&3 will not be true any more. This may need
the fix in modesetting or libglx.so.

But as AIGLX is mostly not used, so I'm OK for this serial
go into mesa first, just a remind for somebody who cares.

Regards,
Qiang

On Fri, Jan 25, 2019 at 6:36 AM Rob Herring <robh at kernel.org> wrote:
>
> This series aims to make supporting new platforms containing
> renderonly GPUs easier with less copy-n-paste. This hasn't been a big
> issue so far as the current renderonly drivers (vc4 and etnaviv) only
> exists on a few platforms. This is changing with i.MX+freedreno,
> armada+etnaviv and a slew of platforms using Mali lima and panfrost
> drivers.
>
> I've taken the kmsro winsys from Eric, extended the pipe-loader to
> fall back to kmsro, added etnaviv support, and switched imx to use
> kmsro.
>
> I've tested this with the panfrost tree. Help testing on i.MX would be
> nice. A git branch is here[1].
>
> Rob
>
> [1] https://github.com/robherring/mesa winsys-renderonly
>
> Eric Anholt (1):
>   pl111: Rename the pl111 driver to "kmsro".
>
> Rob Herring (3):
>   pipe-loader: Fallback to kmsro driver when no matching driver name
>     found
>   kmsro: Add etnaviv renderonly support
>   Switch imx to kmsro and remove the imx winsys
>
>  .travis.yml                                   |  2 +-
>  Android.mk                                    |  7 ++-
>  Makefile.am                                   |  2 +-
>  configure.ac                                  | 28 ++++-------
>  meson.build                                   | 12 ++---
>  meson_options.txt                             |  4 +-
>  src/gallium/Android.mk                        |  3 +-
>  src/gallium/Makefile.am                       |  8 +--
>  .../auxiliary/pipe-loader/pipe_loader_drm.c   | 18 +++----
>  .../auxiliary/target-helpers/drm_helper.h     | 35 +++----------
>  .../target-helpers/drm_helper_public.h        |  2 +-
>  src/gallium/drivers/imx/Automake.inc          |  9 ----
>  .../drivers/{pl111 => kmsro}/Android.mk       |  6 +--
>  src/gallium/drivers/kmsro/Automake.inc        |  9 ++++
>  .../drivers/{imx => kmsro}/Makefile.am        |  4 +-
>  .../drivers/{pl111 => kmsro}/Makefile.sources |  0
>  src/gallium/drivers/pl111/Automake.inc        |  9 ----
>  src/gallium/drivers/pl111/Makefile.am         |  8 ---
>  src/gallium/meson.build                       | 23 ++++-----
>  src/gallium/targets/dri/Makefile.am           |  3 +-
>  src/gallium/targets/dri/meson.build           |  8 +--
>  src/gallium/targets/dri/target.c              |  2 +-
>  src/gallium/winsys/imx/drm/Android.mk         | 40 ---------------
>  src/gallium/winsys/imx/drm/Makefile.am        | 35 -------------
>  src/gallium/winsys/imx/drm/Makefile.sources   |  3 --
>  src/gallium/winsys/imx/drm/imx_drm_public.h   | 34 -------------
>  src/gallium/winsys/imx/drm/imx_drm_winsys.c   | 50 -------------------
>  src/gallium/winsys/imx/drm/meson.build        | 33 ------------
>  .../winsys/{pl111 => kmsro}/drm/Android.mk    |  2 +-
>  .../winsys/{pl111 => kmsro}/drm/Makefile.am   | 12 ++++-
>  src/gallium/winsys/kmsro/drm/Makefile.sources |  3 ++
>  .../drm/kmsro_drm_public.h}                   |  8 +--
>  .../drm/kmsro_drm_winsys.c}                   | 42 +++++++++++-----
>  .../winsys/{pl111 => kmsro}/drm/meson.build   | 23 ++++++---
>  src/gallium/winsys/pl111/drm/Makefile.sources |  3 --
>  35 files changed, 130 insertions(+), 360 deletions(-)
>  delete mode 100644 src/gallium/drivers/imx/Automake.inc
>  rename src/gallium/drivers/{pl111 => kmsro}/Android.mk (91%)
>  create mode 100644 src/gallium/drivers/kmsro/Automake.inc
>  rename src/gallium/drivers/{imx => kmsro}/Makefile.am (55%)
>  rename src/gallium/drivers/{pl111 => kmsro}/Makefile.sources (100%)
>  delete mode 100644 src/gallium/drivers/pl111/Automake.inc
>  delete mode 100644 src/gallium/drivers/pl111/Makefile.am
>  delete mode 100644 src/gallium/winsys/imx/drm/Android.mk
>  delete mode 100644 src/gallium/winsys/imx/drm/Makefile.am
>  delete mode 100644 src/gallium/winsys/imx/drm/Makefile.sources
>  delete mode 100644 src/gallium/winsys/imx/drm/imx_drm_public.h
>  delete mode 100644 src/gallium/winsys/imx/drm/imx_drm_winsys.c
>  delete mode 100644 src/gallium/winsys/imx/drm/meson.build
>  rename src/gallium/winsys/{pl111 => kmsro}/drm/Android.mk (97%)
>  rename src/gallium/winsys/{pl111 => kmsro}/drm/Makefile.am (87%)
>  create mode 100644 src/gallium/winsys/kmsro/drm/Makefile.sources
>  rename src/gallium/winsys/{pl111/drm/pl111_drm_public.h => kmsro/drm/kmsro_drm_public.h} (89%)
>  rename src/gallium/winsys/{pl111/drm/pl111_drm_winsys.c => kmsro/drm/kmsro_drm_winsys.c} (63%)
>  rename src/gallium/winsys/{pl111 => kmsro}/drm/meson.build (76%)
>  delete mode 100644 src/gallium/winsys/pl111/drm/Makefile.sources
>
> --
> 2.19.1
>


More information about the mesa-dev mailing list