mirror of
https://gitlab.freedesktop.org/emersion/libliftoff.git
synced 2024-12-25 21:59:11 +01:00
8272b61150
This is a pretty basic benchmark measuring the time spent in liftoff_display_apply. The current behaviour tries to reproduce the worst case scenario: layers don't intersect and one plane is incompatible with all layers.
67 lines
1.3 KiB
Meson
67 lines
1.3 KiB
Meson
test_inc = include_directories('include')
|
|
|
|
# This mock library will replace libdrm
|
|
mock_drm_lib = shared_library(
|
|
'drm',
|
|
files('libdrm_mock.c'),
|
|
include_directories: [test_inc],
|
|
dependencies: drm.partial_dependency(compile_args: true),
|
|
soversion: drm.version().split('.')[0], # TODO: get it from the real dep
|
|
)
|
|
|
|
mock_liftoff = declare_dependency(
|
|
link_with: [mock_drm_lib, liftoff_lib],
|
|
include_directories: [liftoff_inc, test_inc],
|
|
dependencies: drm.partial_dependency(compile_args: true),
|
|
)
|
|
|
|
bench_exe = executable(
|
|
'bench',
|
|
files('bench.c'),
|
|
dependencies: mock_liftoff,
|
|
)
|
|
|
|
tests = {
|
|
'alloc': [
|
|
'basic',
|
|
'simple-1x',
|
|
'simple-1x-fail',
|
|
'simple-3x',
|
|
'zpos-3x',
|
|
'zpos-3x-intersect-fail',
|
|
'zpos-3x-intersect-partial',
|
|
'zpos-3x-disjoint-partial',
|
|
'zpos-3x-disjoint',
|
|
'zpos-4x-intersect-partial',
|
|
'zpos-4x-disjoint',
|
|
'zpos-4x-disjoint-alt',
|
|
'zpos-4x-domino-fail',
|
|
'zpos-4x-domino-partial',
|
|
'composition-3x',
|
|
'composition-3x-fail',
|
|
'composition-3x-partial',
|
|
],
|
|
'dynamic': [
|
|
'same',
|
|
'fb',
|
|
'new-layer',
|
|
],
|
|
'priority': [
|
|
#'basic',
|
|
],
|
|
}
|
|
|
|
foreach test_name, subtests : tests
|
|
test_exe = executable(
|
|
'test-' + test_name,
|
|
files('test_' + test_name + '.c'),
|
|
dependencies: mock_liftoff,
|
|
)
|
|
foreach subtest_name : subtests
|
|
test(
|
|
test_name + '@' + subtest_name,
|
|
test_exe,
|
|
args: [subtest_name],
|
|
)
|
|
endforeach
|
|
endforeach
|