summaryrefslogtreecommitdiff
path: root/src/lib/ecore_drm2
diff options
context:
space:
mode:
authorDerek Foreman <derekf@osg.samsung.com>2017-08-11 14:48:41 -0500
committerDerek Foreman <derekf@osg.samsung.com>2017-08-11 17:11:12 -0500
commiteec565cc0fe9eca6aea73fc8963f0ebbb2bbc154 (patch)
tree3133a39c55450cf2030713a9a3f49466dc1cc91b /src/lib/ecore_drm2
parent8dbb8944b3c9980f5cb79b8c47dc9bb43fc5fdaf (diff)
ecore_drm2: Add query for pending pageflip
We've been tracking this in ecore_evas, but ecore_evas isn't the only caller, and it doesn't know about flips initiated by the evas engines.
Diffstat (limited to 'src/lib/ecore_drm2')
-rw-r--r--src/lib/ecore_drm2/Ecore_Drm2.h12
-rw-r--r--src/lib/ecore_drm2/ecore_drm2_outputs.c10
2 files changed, 22 insertions, 0 deletions
diff --git a/src/lib/ecore_drm2/Ecore_Drm2.h b/src/lib/ecore_drm2/Ecore_Drm2.h
index 031a3dac88..e1609adac2 100644
--- a/src/lib/ecore_drm2/Ecore_Drm2.h
+++ b/src/lib/ecore_drm2/Ecore_Drm2.h
@@ -1059,6 +1059,18 @@ EAPI Eina_Bool ecore_drm2_output_blanktime_get(Ecore_Drm2_Output *output, int se
1059 1059
1060EAPI int ecore_drm2_device_fd_get(Ecore_Drm2_Device *device); 1060EAPI int ecore_drm2_device_fd_get(Ecore_Drm2_Device *device);
1061 1061
1062/**
1063 * Check if there's a pageflip in progress for an output
1064 *
1065 * Checks whether an output has submit a flip but not yet had
1066 * a callback completion event for that flip yet.
1067 *
1068 * @param output
1069 * @return Whether there's a flip in progress or not
1070 * @since 1.20
1071 */
1072EAPI Eina_Bool ecore_drm2_output_pending_get(Ecore_Drm2_Output *output);
1073
1062# endif 1074# endif
1063 1075
1064#endif 1076#endif
diff --git a/src/lib/ecore_drm2/ecore_drm2_outputs.c b/src/lib/ecore_drm2/ecore_drm2_outputs.c
index 29e26c80bc..1f52953ffb 100644
--- a/src/lib/ecore_drm2/ecore_drm2_outputs.c
+++ b/src/lib/ecore_drm2/ecore_drm2_outputs.c
@@ -1637,3 +1637,13 @@ ecore_drm2_output_info_get(Ecore_Drm2_Output *output, int *x, int *y, int *w, in
1637 if (x) *x = output->x; 1637 if (x) *x = output->x;
1638 if (y) *y = output->y; 1638 if (y) *y = output->y;
1639} 1639}
1640
1641EAPI Eina_Bool
1642ecore_drm2_output_pending_get(Ecore_Drm2_Output *output)
1643{
1644 EINA_SAFETY_ON_NULL_RETURN_VAL(output, EINA_FALSE);
1645
1646 if (output->pending.fb) return EINA_TRUE;
1647
1648 return EINA_FALSE;
1649}