summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorChristopher Michael <cp.michael@samsung.com>2019-03-05 13:32:14 -0500
committerCedric BAIL <cedric.bail@free.fr>2019-03-06 11:34:51 -0800
commitf5fed8764df832fed9b7bb2c2a872223a983a00b (patch)
treef21997ac70149b9eec2cb169b4b92b4e9a7e9b96
parent1f7d7d06065e1865f32bbb499efe7ed1037520ae (diff)
evas-gl-drm: Fix issue of rotation not actually rotating
When we call evas_outbuf_reconfigure (when rotation changes), we need to update the Outbuf with new values for width, height, rotation, etc. Failing to do this here causes any rotations applied to the engine to fail. ref T7690 @fix Reviewed-by: Cedric BAIL <cedric.bail@free.fr> Differential Revision: https://phab.enlightenment.org/D8109
-rw-r--r--src/modules/evas/engines/gl_drm/evas_outbuf.c10
1 files changed, 7 insertions, 3 deletions
diff --git a/src/modules/evas/engines/gl_drm/evas_outbuf.c b/src/modules/evas/engines/gl_drm/evas_outbuf.c
index 4f8aa10669..e8fb312d65 100644
--- a/src/modules/evas/engines/gl_drm/evas_outbuf.c
+++ b/src/modules/evas/engines/gl_drm/evas_outbuf.c
@@ -550,14 +550,18 @@ evas_outbuf_reconfigure(Outbuf *ob, int w, int h, int rot, Outbuf_Depth depth)
550 550
551 while (ecore_drm2_fb_release(ob->priv.output, EINA_TRUE)); 551 while (ecore_drm2_fb_release(ob->priv.output, EINA_TRUE));
552 552
553 ob->w = w;
554 ob->h = h;
555 ob->rotation = rot;
556
553 _evas_outbuf_gbm_surface_destroy(ob); 557 _evas_outbuf_gbm_surface_destroy(ob);
558
554 if ((ob->rotation == 0) || (ob->rotation == 180)) 559 if ((ob->rotation == 0) || (ob->rotation == 180))
555 _evas_outbuf_gbm_surface_create(ob, w, h); 560 _evas_outbuf_gbm_surface_create(ob, w, h);
556 else if ((ob->rotation == 90) || (ob->rotation == 270)) 561 else if ((ob->rotation == 90) || (ob->rotation == 270))
557 _evas_outbuf_gbm_surface_create(ob, h, w); 562 _evas_outbuf_gbm_surface_create(ob, h, w);
558 _evas_outbuf_egl_setup(ob);
559 563
560 glsym_evas_gl_common_context_resize(ob->gl_context, w, h, rot); 564 _evas_outbuf_egl_setup(ob);
561} 565}
562 566
563Render_Output_Swap_Mode 567Render_Output_Swap_Mode
@@ -622,7 +626,7 @@ evas_outbuf_update_region_first_rect(Outbuf *ob)
622 626
623 if (!_re_wincheck(ob)) return EINA_TRUE; 627 if (!_re_wincheck(ob)) return EINA_TRUE;
624 628
625 /* glsym_evas_gl_common_context_resize(ob->gl_context, ob->w, ob->h, ob->rotation); */ 629 glsym_evas_gl_common_context_resize(ob->gl_context, ob->w, ob->h, ob->rotation);
626 glsym_evas_gl_common_context_flush(ob->gl_context); 630 glsym_evas_gl_common_context_flush(ob->gl_context);
627 glsym_evas_gl_common_context_newframe(ob->gl_context); 631 glsym_evas_gl_common_context_newframe(ob->gl_context);
628 632