7d02bc17d6
Pending buffers for drm planes and crtcs are no longer tracked in the planes and crtcs themselves, but instead in a DrmCommit object that is used as the user data for the pageflip handler. This way multiple commits can be pending at the same time without causing conflicts, and the handling of pending buffers is simplified as well.
61 lines
2 KiB
CMake
61 lines
2 KiB
CMake
set(mockDRM_SRCS
|
|
mock_drm.cpp
|
|
../../src/backends/drm/drm_abstract_output.cpp
|
|
../../src/backends/drm/drm_backend.cpp
|
|
../../src/backends/drm/drm_blob.cpp
|
|
../../src/backends/drm/drm_buffer.cpp
|
|
../../src/backends/drm/drm_commit.cpp
|
|
../../src/backends/drm/drm_commit_thread.cpp
|
|
../../src/backends/drm/drm_connector.cpp
|
|
../../src/backends/drm/drm_crtc.cpp
|
|
../../src/backends/drm/drm_dmabuf_feedback.cpp
|
|
../../src/backends/drm/drm_egl_backend.cpp
|
|
../../src/backends/drm/drm_egl_cursor_layer.cpp
|
|
../../src/backends/drm/drm_egl_layer.cpp
|
|
../../src/backends/drm/drm_egl_layer_surface.cpp
|
|
../../src/backends/drm/drm_gpu.cpp
|
|
../../src/backends/drm/drm_layer.cpp
|
|
../../src/backends/drm/drm_logging.cpp
|
|
../../src/backends/drm/drm_object.cpp
|
|
../../src/backends/drm/drm_output.cpp
|
|
../../src/backends/drm/drm_pipeline.cpp
|
|
../../src/backends/drm/drm_pipeline_legacy.cpp
|
|
../../src/backends/drm/drm_plane.cpp
|
|
../../src/backends/drm/drm_property.cpp
|
|
../../src/backends/drm/drm_qpainter_backend.cpp
|
|
../../src/backends/drm/drm_qpainter_layer.cpp
|
|
../../src/backends/drm/drm_virtual_egl_layer.cpp
|
|
../../src/backends/drm/drm_virtual_output.cpp
|
|
)
|
|
|
|
include_directories(${Libdrm_INCLUDE_DIRS})
|
|
|
|
add_library(LibDrmTest STATIC ${mockDRM_SRCS})
|
|
target_link_libraries(LibDrmTest
|
|
Qt::Gui
|
|
Qt::Widgets
|
|
KF6::ConfigCore
|
|
KF6::WindowSystem
|
|
KF6::CoreAddons
|
|
KF6::I18n
|
|
XCB::XCB
|
|
PkgConfig::Libxcvt
|
|
gbm::gbm
|
|
Libdrm::Libdrm
|
|
kwin
|
|
)
|
|
target_include_directories(LibDrmTest
|
|
PUBLIC
|
|
../../src
|
|
../../src/platformsupport/scenes/opengl
|
|
../../src/platformsupport/scenes/qpainter
|
|
../../src/backends/drm/
|
|
)
|
|
|
|
########################################################
|
|
# Tests
|
|
########################################################
|
|
add_executable(testDrm drmTest.cpp)
|
|
target_link_libraries(testDrm LibDrmTest Qt::Test)
|
|
add_test(NAME kwin-testDrm COMMAND testDrm)
|
|
ecm_mark_as_test(testDrm)
|