wlroots-hyprland/render/meson.build
Simon Ser 756dedae20 Add a new renderer API
Goals:

- Extensibility: we need to be able to add new params to the calls
  to render a texture/rect. For instance we'll need to add fences to
  the render texture operation for explicit sync purposes.
- No implicit state: no more bind_buffer, begin, end.
- No matrices: these hurt Pixman and we don't need them.
- Clip regions for optimized damage repainting.

Closes: https://gitlab.freedesktop.org/wlroots/wlroots/-/issues/3188
2023-04-25 17:25:10 +02:00

41 lines
960 B
Meson

renderers = get_option('renderers')
if 'auto' in renderers and get_option('auto_features').enabled()
renderers = ['gles2', 'vulkan']
elif 'auto' in renderers and get_option('auto_features').disabled()
renderers = []
endif
wlr_files += files(
'dmabuf.c',
'drm_format_set.c',
'pass.c',
'pixel_format.c',
'swapchain.c',
'wlr_renderer.c',
'wlr_texture.c',
)
if cc.has_header('linux/dma-buf.h') and target_machine.system() == 'linux'
wlr_files += files('dmabuf_linux.c')
else
wlr_files += files('dmabuf_fallback.c')
endif
if 'gles2' in renderers or 'auto' in renderers
egl = dependency('egl', required: 'gles2' in renderers)
gbm = dependency('gbm', required: 'gles2' in renderers)
if egl.found() and gbm.found()
wlr_deps += [egl, gbm]
wlr_files += files('egl.c')
internal_features += { 'egl': true }
endif
subdir('gles2')
endif
if 'vulkan' in renderers or 'auto' in renderers
subdir('vulkan')
endif
subdir('pixman')
subdir('allocator')