forked from 12to11/12to11
![]() * compositor.h (struct _RoleFuncs): Get rid of note_desync_child and co. * frame_clock.c (StartFrame): Fix typo. * subsurface.c (struct _Subsurface): New field `should_be_desync'. (NoteDesyncChild, NoteChildSynced): Delete functions. (IsParentSynchronous): New function. (SetSync1, NoteSubsurfaceDesynchronous, NoteSubsurfaceTeardown): New functions. (SetSync): Make all children synchronous when required. (SetDesync): Desynchronize all children if possible; otherwise, keep the surface synchronous but set the `should_be_desync' flag. (EarlyCommit): Merge pending state if required. (Setup): Call SetSync1 to make children synchronous. (Teardown): Call NoteSubsurfaceTeardown to make children desynchronous as required. (GetSubsurface): Stop setting note_child_synced/note_desync_child. * surface.c (InternalCommit1): New function. (InternalCommit): Move state merging logic to InternalCommit1. (XLSurfaceMergeCachedState): New function. * xdg_surface.c (struct _XdgRole): Remove `n_desync_children'. (UpdateFrameRefreshPrediction): Resort to counting the number of children on each frame instead. (Setup, NoteFrame, NoteChildSynced, NoteDesyncChild, HandleFreeze) (XLGetXdgSurface): Stop counting sync/desync children. * tests/subsurface_test.c (enum test_kind, test_names): Add SUBSURFACE_DESYNC_KIND. (LAST_TEST): Set to SUBSURFACE_DESYNC_KIND. (test_single_step): Implement SUBSURFACE_DESYNC_KIND. |
||
---|---|---|
.. | ||
basic_damage.png | ||
basic_test_card.png | ||
big.png | ||
blue.png | ||
buffer_scale_1_1.dump | ||
buffer_scale_1_2.dump | ||
buffer_scale_1_2_1.dump | ||
buffer_scale_1_2_2.dump | ||
buffer_scale_2_1.dump | ||
buffer_scale_2_2.dump | ||
buffer_scale_2_2_1.dump | ||
buffer_scale_2_2_2.dump | ||
cow_transparent.png | ||
damage_test.c | ||
damage_test_1.dump | ||
damage_test_2.dump | ||
gradient.png | ||
Imakefile | ||
imgview.c | ||
README | ||
run_tests.sh | ||
scale.png | ||
scale_damage.png | ||
scale_test.c | ||
simple_test.c | ||
simple_test.dump | ||
small.png | ||
subsurface_1.png | ||
subsurface_1_damaged.png | ||
subsurface_base.png | ||
subsurface_damage.png | ||
subsurface_test.c | ||
subsurface_test_1.dump | ||
subsurface_test_2.dump | ||
subsurface_test_3.dump | ||
subsurface_test_4.dump | ||
subsurface_test_5.dump | ||
subsurface_test_6.dump | ||
subsurface_test_7.dump | ||
subsurface_test_8.dump | ||
subsurface_test_9.dump | ||
subsurface_test_10.dump | ||
subsurface_test_11.dump | ||
subsurface_test_12.dump | ||
subsurface_test_13.dump | ||
subsurface_test_14.dump | ||
subsurface_test_15.dump | ||
subsurface_test_16.dump | ||
subsurface_test_17.dump | ||
subsurface_test_18.dump | ||
subsurface_test_19.dump | ||
subsurface_transparency.png | ||
svnignore.txt | ||
test_harness.c | ||
test_harness.h | ||
tiny.png | ||
transform_test.c | ||
transform_test_90_1.dump | ||
transform_test_90_2.dump | ||
transform_test_180_1.dump | ||
transform_test_180_2.dump | ||
transform_test_270_1.dump | ||
transform_test_270_2.dump | ||
transform_test_flipped_1.dump | ||
transform_test_flipped_2.dump | ||
transform_test_flipped_90_1.dump | ||
transform_test_flipped_90_2.dump | ||
transform_test_flipped_180_1.dump | ||
transform_test_flipped_180_2.dump | ||
transform_test_flipped_270_1.dump | ||
transform_test_flipped_270_2.dump | ||
viewport_dest_200_150_1.dump | ||
viewport_dest_200_150_2.dump | ||
viewport_src_50_50_200_200_1.dump | ||
viewport_src_50_50_200_200_2.dump | ||
viewport_src_50_50_200_200_dest_50_75_1.dump | ||
viewport_src_50_50_200_200_dest_50_75_2.dump | ||
viewport_src_50_50_200_200_dest_500_500_1.dump | ||
viewport_src_50_50_200_200_dest_500_500_2.dump | ||
viewport_src_250_50_200_200_dest_50_75_90cw_1.dump | ||
viewport_src_250_50_200_200_dest_50_75_90cw_2.dump | ||
viewporter_test.c | ||
viewporter_test.png | ||
viewporter_test_1.png |
This directory holds some work-in-progress code for testing the protocol translator. The current test suite is nowhere near comprehensive. Each test must be individually run on a system with an a8r8g8b8 visual, GLOBAL_SCALE and OUTPUT_SCALE set to 1. They also rely on reference data; if some legitimate changes are made that affect test results, then the tests should be run with TEST_WRITE_REFERENCE=1, which will make the test binaries write out reference data to disk. When tests are being run, the tester must be very careful to not interfere with the test operation by moving or resizing the test window. A compositing manager should be running along with the test. These tests are supposed to test the functionality of the protocol translator by connecting to a running instance and validating the results of various high-level requests. In modern parlance, they would be ``integration tests''. Most likely, you do not want to run these tests manually, as the `run_tests.sh' script does all the setup for you. Please note that the EGL renderer currently does not pass the viewporter test, which is expected behavior.