On Thu, Feb 26, 2015 at 07:00:19PM -0800, Matt Roper wrote: > We've been leaking the framebuffers that get created inside the > legacy -> universal cursor compatibility layer and nobody noticed. Add > an i-g-t test to check debugfs and ensure we end up the same number of > framebuffers we started with after performing cursor operations. > > + /* > + * Exercise both legacy and universal code paths. Note that legacy > + * handling in the kernel redirects through universal codepaths > + * internally, so that redirection is where we're most worried about > + * leaking. > + */ > + for (i = 0; i < 10; i++) { > + igt_plane_set_fb(cursor, &cursor_fb[i]); > + igt_display_commit2(display, COMMIT_UNIVERSAL); > + } > + for (i = 0; i < 10; i++) { > + igt_plane_set_fb(cursor, &cursor_fb[i]); > + igt_display_commit2(display, COMMIT_LEGACY); > + } Oh, magic igt. The comment had me searching for how COMMIT_UNIVERSAL triggered DRM_MODE_CURSOR_BO - it took me a while to spot you had two loops! I think it would be better to split these tests up (or at least mix the combinations of universal | legacy) to have finer grained tests in case something does go wrong again in the future. Another useful test (that maybe xfail for a while) is to check that the active cursor (and other planes) are cleared after close(fd). -Chris -- Chris Wilson, Intel Open Source Technology Centre _______________________________________________ Intel-gfx mailing list Intel-gfx@xxxxxxxxxxxxxxxxxxxxx http://lists.freedesktop.org/mailman/listinfo/intel-gfx