diff options
author | Dave Barnish <dave.barnish@arm.com> | 2014-07-07 12:20:40 +0100 |
---|---|---|
committer | Dave Barnish <dave.barnish@arm.com> | 2014-07-08 15:37:20 +0100 |
commit | bbb82b80b47b52763fa8a58b68e2d9689d68cd71 (patch) | |
tree | 5f0a6f927272495bc7490428b6f3351f4e013190 /README | |
parent | f99604d33f315c0d192616f7c225778f01af7a1d (diff) |
Reviewed and revised bo reference counting.
Change-Id: I9d827678692207101565e235b44b62ffee756dc7
Diffstat (limited to 'README')
-rw-r--r-- | README | 23 |
1 files changed, 23 insertions, 0 deletions
@@ -25,3 +25,26 @@ You can also copy src/drmmode_template into src/drmmode_<yourdrivername> and bui $ ./configure --with-drmmode=<yourdrivername> +Summary of bo reference counting +-------------------------------- +The Screen takes a ref on the scanout bo in InitScreen and drops it in ScreenClose. When the scanout bo changes +(due to a flip or a modeset) the ref is moved from the old bo to the new one by set_scanout_bo. + +Pixmaps take a ref on their bo(s) when created in ARMSOCCreatePixmap2 and drop it in ARMSOCDestroyPixmap. +If ARMSOCModifyPixmapHeader points a pixmap at anything other than the scanout bo then the ref to +the existing bo (if any) is dropped. +If ARMSOCModifyPixmapHeader points a pixmap at the scanout bo the ref is moved from the old bo to the new +If ARMSOCModifyPixmapHeader changes the size of the pixmap's bo the ref is dropped, a new bo created and a +ref taken on that. + +resize_scanout_bo creates and takes a ref on the new bo and drops its ref when the new bo becomes the scanout bo and +the Screen has taken a ref. + +The swap chain takes a ref on the src and dst bos when a swap is scheduled in ARMSOCDRI2ScheduleSwap and drops them +in ARMSOCDRI2SwapComplete after the src becomes pARMSOC->scanout and the screen takes a ref. + +The cursor takes a ref on its bo in drmmode_cursor_init and drops it in drmmode_cursor_fini + + + + |