Now that the DRM backend no longer depends on GBM, we can make it optional. The GLES2 renderer still depends on it because of our EGL device selection. This is useful for compositors with their own renderers, and for compositors using the Vulkan renderer.
parent
d483dd2f4c
commit
bb2946f737
@ -1,9 +1,25 @@
|
|||||||
|
allocators = get_option('allocators')
|
||||||
|
if 'auto' in allocators and get_option('auto_features').enabled()
|
||||||
|
allocators = ['gbm']
|
||||||
|
elif 'auto' in renderers and get_option('auto_features').disabled()
|
||||||
|
allocators = []
|
||||||
|
endif
|
||||||
|
|
||||||
wlr_files += files(
|
wlr_files += files(
|
||||||
'allocator.c',
|
'allocator.c',
|
||||||
'gbm.c',
|
|
||||||
'shm.c',
|
'shm.c',
|
||||||
'drm_dumb.c',
|
'drm_dumb.c',
|
||||||
)
|
)
|
||||||
|
|
||||||
has = cc.has_function('gbm_bo_get_fd_for_plane', dependencies: [gbm])
|
gbm = disabler()
|
||||||
add_project_arguments('-DHAS_GBM_BO_GET_FD_FOR_PLANE=@0@'.format(has.to_int()), language: 'c')
|
if 'gbm' in allocators or 'auto' in allocators
|
||||||
|
gbm = dependency('gbm', version: '>=17.1.0', required: 'gbm' in allocators)
|
||||||
|
endif
|
||||||
|
if gbm.found()
|
||||||
|
wlr_files += files('gbm.c')
|
||||||
|
wlr_deps += gbm
|
||||||
|
features += { 'gbm-allocator': true }
|
||||||
|
|
||||||
|
has = cc.has_function('gbm_bo_get_fd_for_plane', dependencies: [gbm])
|
||||||
|
add_project_arguments('-DHAS_GBM_BO_GET_FD_FOR_PLANE=@0@'.format(has.to_int()), language: 'c')
|
||||||
|
endif
|
||||||
|
Loading…
Reference in new issue