devilhorns pushed a commit to branch master.

http://git.enlightenment.org/core/enlightenment.git/commit/?id=cf80e5d2b21018b073aebd4bcebcb82a24a0ce1f

commit cf80e5d2b21018b073aebd4bcebcb82a24a0ce1f
Author: Chris Michael <[email protected]>
Date:   Fri Dec 15 11:41:14 2017 -0500

    Revert "wl-drm: Enable all degrees of screen rotation"
    
    Reverting this as it has issues still, and when multi-output support
    for wayland lands this is not going to work anyway.
    
    This reverts commit 8f5299be088acbc2baf823ba01defc96f8743b13.
---
 src/modules/wl_drm/e_mod_main.c | 47 +++++++++++++++++++++++++++++------------
 1 file changed, 33 insertions(+), 14 deletions(-)

diff --git a/src/modules/wl_drm/e_mod_main.c b/src/modules/wl_drm/e_mod_main.c
index f3c466a21..51ea01280 100644
--- a/src/modules/wl_drm/e_mod_main.c
+++ b/src/modules/wl_drm/e_mod_main.c
@@ -413,10 +413,24 @@ _drm2_randr_create(void)
                          s->config.geom.w, s->config.geom.h);
                }
 
-             s->info.can_rot_0 = EINA_TRUE;
-             s->info.can_rot_90 = EINA_TRUE;
-             s->info.can_rot_180 = EINA_TRUE;
-             s->info.can_rot_270 = EINA_TRUE;
+             s->info.can_rot_0 = EINA_FALSE;
+             s->info.can_rot_90 = EINA_FALSE;
+             s->info.can_rot_180 = EINA_FALSE;
+             s->info.can_rot_270 = EINA_FALSE;
+
+             int rotations;
+
+             rotations =
+               ecore_drm2_output_supported_rotations_get(output);
+
+             if (rotations & ECORE_DRM2_ROTATION_NORMAL)
+               s->info.can_rot_0 = EINA_TRUE;
+             if (rotations & ECORE_DRM2_ROTATION_90)
+               s->info.can_rot_90 = EINA_TRUE;
+             if (rotations & ECORE_DRM2_ROTATION_180)
+               s->info.can_rot_180 = EINA_TRUE;
+             if (rotations & ECORE_DRM2_ROTATION_270)
+               s->info.can_rot_270 = EINA_TRUE;
 
              if (cs)
                {
@@ -575,12 +589,25 @@ _drm2_randr_apply(void)
         ecore_drm2_output_mode_set(output, mode, s->config.geom.x,
                                    s->config.geom.y);
 
-        ecore_drm2_output_enabled_set(output, s->config.enabled);
+        /* TODO: cannot support rotations until we support planes
+         * and we cannot support planes until Atomic support is in */
+        int orient = 0;
+
+        if (s->config.rotation == 0)
+          orient = ECORE_DRM2_ROTATION_NORMAL;
+        else if (s->config.rotation == 90)
+          orient = ECORE_DRM2_ROTATION_90;
+        else if (s->config.rotation == 180)
+          orient = ECORE_DRM2_ROTATION_180;
+        else if (s->config.rotation == 270)
+          orient = ECORE_DRM2_ROTATION_270;
+
+        ecore_drm2_output_rotation_set(output, orient);
 
         if (s->config.priority == top_priority)
           _drm2_output_primary_set(outputs, output);
 
-        if (!s->config.enabled) continue;
+        ecore_drm2_output_enabled_set(output, s->config.enabled);
 
         printf("\tDRM2 RRR: Mode\n");
         printf("\t\tDRM2 RRR: Geom: %d %d %dx%d\n",
@@ -592,15 +619,7 @@ _drm2_randr_apply(void)
         printf("\tDRM2 RRR: Relative Mode: %d\n", s->config.relative.mode);
         printf("\tDRM2 RRR: Relative To: %s\n", s->config.relative.to);
         printf("\tDRM2 RRR: Align: %f\n", s->config.relative.align);
-
-        ecore_evas_rotation_with_resize_set(e_comp->ee, s->config.rotation);
-
-        /* TODO: rotate e_comp pointer to match screen ?? */
-        /* ecore_drm2_device_pointer_rotation_set(dev, s->config.rotation); */
      }
-
-   ecore_drm2_device_calibrate(dev, vw, vh);
-   ecore_drm2_device_pointer_max_set(dev, vw, vh);
 }
 
 static void

-- 


Reply via email to