diff options
author | Derek Foreman <derekf@osg.samsung.com> | 2017-05-04 16:28:10 -0500 |
---|---|---|
committer | Derek Foreman <derekf@osg.samsung.com> | 2017-05-05 12:53:25 -0500 |
commit | c722466a602794002b374ef0f84de0a92d9cd531 (patch) | |
tree | 51c5a8b1a9d66356b7fb260fac8cc1186b2f4936 /src/lib/ecore_drm2/ecore_drm2_private.h | |
parent | 1071c9f3a8731e37e4e83d024519a44cd56a44f2 (diff) |
ecore_drm2: Replace plane state release flag with plane dead flag
The release flag is actually less useful than the existing in_use flag
for determining if a plane is unused. If a new plane is assigned before
the next flip cleans up released planes, then it can point to a released
plane state, and both it and the previous user will be freed on the next
commit, leaking a plane.
Putting the flag in the plane structure fixes this while still allowing us
to keep released planes around to ensure a recently released plane is
cleared from atomic state.
Diffstat (limited to 'src/lib/ecore_drm2/ecore_drm2_private.h')
-rw-r--r-- | src/lib/ecore_drm2/ecore_drm2_private.h | 3 |
1 files changed, 2 insertions, 1 deletions
diff --git a/src/lib/ecore_drm2/ecore_drm2_private.h b/src/lib/ecore_drm2/ecore_drm2_private.h index f73f8bcb49..860bb70c66 100644 --- a/src/lib/ecore_drm2/ecore_drm2_private.h +++ b/src/lib/ecore_drm2/ecore_drm2_private.h | |||
@@ -652,7 +652,7 @@ typedef struct _Ecore_Drm2_Plane_State | |||
652 | uint32_t num_formats; | 652 | uint32_t num_formats; |
653 | uint32_t *formats; | 653 | uint32_t *formats; |
654 | 654 | ||
655 | Eina_Bool in_use, release; | 655 | Eina_Bool in_use; |
656 | } Ecore_Drm2_Plane_State; | 656 | } Ecore_Drm2_Plane_State; |
657 | 657 | ||
658 | struct _Ecore_Drm2_Atomic_State | 658 | struct _Ecore_Drm2_Atomic_State |
@@ -712,6 +712,7 @@ struct _Ecore_Drm2_Plane | |||
712 | int type; | 712 | int type; |
713 | Ecore_Drm2_Plane_State *state; | 713 | Ecore_Drm2_Plane_State *state; |
714 | Ecore_Drm2_Output *output; | 714 | Ecore_Drm2_Output *output; |
715 | Eina_Bool dead; | ||
715 | }; | 716 | }; |
716 | 717 | ||
717 | struct _Ecore_Drm2_Output_Mode | 718 | struct _Ecore_Drm2_Output_Mode |