mirror of
https://gitlab.freedesktop.org/wayland/weston
synced 2024-10-07 04:34:54 +00:00
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>
This commit is contained in:
parent
6093772f45
commit
0a4f6e7d6d
|
@ -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…
Reference in a new issue