diff options
author | Chris Michael <cp.michael@samsung.com> | 2017-05-30 11:00:20 -0400 |
---|---|---|
committer | Chris Michael <cp.michael@samsung.com> | 2017-05-30 11:00:20 -0400 |
commit | ba4042da1e25ee8ff0f95be242b5a865a0141669 (patch) | |
tree | 36fe872acfa6c48d8b6c4112d57b6a27561b86a0 | |
parent | ac2c82b87116a11aaac2e200cdfb60b716059171 (diff) | |
download | efl-ba4042da1e25ee8ff0f95be242b5a865a0141669.tar.gz |
ecore-drm2: Don't fill output atomic states if not using atomic
If atomic support is not enabled (kernel or env var), then we should
not be filling in output atomic state
@fix
Signed-off-by: Chris Michael <cp.michael@samsung.com>
-rw-r--r-- | src/lib/ecore_drm2/ecore_drm2_outputs.c | 22 |
1 files changed, 14 insertions, 8 deletions
diff --git a/src/lib/ecore_drm2/ecore_drm2_outputs.c b/src/lib/ecore_drm2/ecore_drm2_outputs.c index ae1a0c9654..3173165aa5 100644 --- a/src/lib/ecore_drm2/ecore_drm2_outputs.c +++ b/src/lib/ecore_drm2/ecore_drm2_outputs.c @@ -766,12 +766,15 @@ _output_create(Ecore_Drm2_Device *dev, const drmModeRes *res, const drmModeConne output->ocrtc = sym_drmModeGetCrtc(dev->fd, output->crtc_id); - output->crtc_state = - _output_crtc_state_get(dev->state, output->crtc_id); - output->conn_state = - _output_conn_state_get(dev->state, output->conn_id); - output->plane_states = - _output_plane_states_get(dev->state, output->crtc_id, output->pipe); + if (_ecore_drm2_use_atomic) + { + output->crtc_state = + _output_crtc_state_get(dev->state, output->crtc_id); + output->conn_state = + _output_conn_state_get(dev->state, output->conn_id); + output->plane_states = + _output_plane_states_get(dev->state, output->crtc_id, output->pipe); + } output->dpms = _output_dpms_property_get(dev->fd, conn); @@ -926,8 +929,11 @@ _output_destroy(Ecore_Drm2_Device *dev, Ecore_Drm2_Output *output) EINA_LIST_FREE(output->planes, plane) free(plane); - free(output->conn_state); - free(output->crtc_state); + if (_ecore_drm2_use_atomic) + { + free(output->conn_state); + free(output->crtc_state); + } EINA_LIST_FREE(output->modes, mode) { |