clients: drop simple-dmabuf-drm

This client contains driver-specific code to allocate buffers. However clients
shouldn't contain driver-specific code and should rely on e.g. mesa to allocate
buffers via standard interfaces.

Additionally, because the build system always tries to enable all features, some
experimental drivers and drivers that aren't included in amd64 distribution
packages were required. Users would need to manually disable some drivers.
Releasers would need to install libdrm from source (because the release process
forbids adding custom build flags). Dropping simple-dmabuf-drm simplifies both
building and releasing.

The functionality previously tested via simple-dmabuf-drm can now be tested with
simple-dmabuf-egl.

Signed-off-by: Simon Ser <contact@emersion.fr>
dev
Simon Ser 5 years ago
parent 6093772f45
commit 0a4f6e7d6d
No known key found for this signature in database
GPG Key ID: 0FDE7BE0E88F5E48
  1. 2
      .gitlab-ci.yml
  2. 8
      README.md
  3. 45
      clients/meson.build
  4. 1032
      clients/simple-dmabuf-drm.c
  5. 7
      meson_options.txt

@ -67,7 +67,6 @@ container_prep:
build-native-meson-default-options:
variables:
MESON_OPTIONS: >
-Dsimple-dmabuf-drm=intel
-Dwerror=true
-Ddoc=true
extends: .build-native-meson
@ -75,7 +74,6 @@ build-native-meson-default-options:
build-native-meson-no-gl-renderer:
variables:
MESON_OPTIONS: >
-Dsimple-dmabuf-drm=intel
-Dsimple-clients=damage,im,shm,touch,dmabuf-v4l
-Drenderer-gl=false
-Dremoting=false

@ -62,14 +62,12 @@ several features if you want to avoid certain dependencies.
The `meson` command populates the build directory. This step can
fail due to missing dependencies. Any build options you want can be added on
that line, e.g. `meson build/ --prefix=... -Dsimple-dmabuf-drm=intel`.
All the build options can be found in the file
[meson_options.txt](meson_options.txt).
that line, e.g. `meson build/ --prefix=... -Ddemo-clients=false`. All the build
options can be found in the file [meson_options.txt](meson_options.txt).
Once the build directory has been successfully populated, you can inspect the
configuration with `meson configure build/`. If you need to change an
option, you can do e.g.
`meson configure build/ -Dsimple-dmabuf-drm=intel`.
option, you can do e.g. `meson configure build/ -Ddemo-clients=false`.
Every push to the Weston master repository and its forks is built using GitLab
CI. [Reading the configuration](.gitlab-ci.yml) may provide a useful example of

@ -311,51 +311,6 @@ if get_option('demo-clients')
endforeach
endif
simple_dmabuf_drm_opts = get_option('simple-dmabuf-drm')
simple_dmabuf_drm_deps = []
foreach driver : [ 'etnaviv', 'intel', 'freedreno' ]
if simple_dmabuf_drm_opts.contains(driver)
required = true
enabled = true
elif simple_dmabuf_drm_opts.contains('auto')
required = get_option('auto_features').enabled()
enabled = not get_option('auto_features').disabled()
else
enabled = false
endif
if enabled
dep = dependency('libdrm_' + driver, required: false)
if dep.found()
simple_dmabuf_drm_deps += dep
config_h.set('HAVE_LIBDRM_' + driver.to_upper(), 1)
elif required
error('simple-dmabuf-drm is configured to use @0@ but it was not found. Or, you can remove @1@ from \'-Dsimple-dmabuf-drm\' list.'.format('libdrm_' + driver, driver))
endif
endif
endforeach
if simple_dmabuf_drm_deps.length() > 0
executable(
'weston-simple-dmabuf-drm',
'simple-dmabuf-drm.c',
xdg_shell_client_protocol_h,
xdg_shell_protocol_c,
fullscreen_shell_unstable_v1_client_protocol_h,
fullscreen_shell_unstable_v1_protocol_c,
linux_dmabuf_unstable_v1_client_protocol_h,
linux_dmabuf_unstable_v1_protocol_c,
weston_direct_display_client_protocol_h,
weston_direct_display_protocol_c,
include_directories: common_inc,
dependencies: [
dep_wayland_client,
dep_libdrm,
simple_dmabuf_drm_deps
],
install: true
)
endif
if get_option('shell-desktop')
exe_keyboard = executable(
'weston-keyboard',

File diff suppressed because it is too large Load Diff

@ -171,13 +171,6 @@ option(
choices: [ 'calibrator', 'debug', 'info', 'terminal', 'touch-calibrator' ],
description: 'List of accessory clients to build and install'
)
option(
'simple-dmabuf-drm',
type: 'array',
choices: [ 'auto', 'intel', 'freedreno', 'etnaviv' ],
value: [ 'intel', 'freedreno', 'etnaviv' ],
description: 'List of DRM drivers to be supported by weston-simple-dmabuf-drm'
)
option(
'demo-clients',
type: 'boolean',

Loading…
Cancel
Save