diff --git a/src/modules/evas/engines/drm/evas_drm.c b/src/modules/evas/engines/drm/evas_drm.c index 0f63badcf2..3fc952f83a 100644 --- a/src/modules/evas/engines/drm/evas_drm.c +++ b/src/modules/evas/engines/drm/evas_drm.c @@ -469,7 +469,6 @@ evas_drm_outbuf_setup(Outbuf *ob) drmModePlaneResPtr pres; int i = 0; uint64_t dumb; - unsigned int fb; /* check for valid Output buffer */ if ((!ob) || (ob->priv.fd < 0)) return EINA_FALSE; @@ -539,7 +538,7 @@ evas_drm_outbuf_setup(Outbuf *ob) ob->priv.crtc = crtc; /* get the current framebuffer */ - fb = _evas_drm_crtc_buffer_get(ob->priv.fd, crtc); + ob->priv.fb = _evas_drm_crtc_buffer_get(ob->priv.fd, crtc); /* spew out connector properties for testing */ /* drmModePropertyPtr props; */ @@ -576,7 +575,7 @@ evas_drm_outbuf_setup(Outbuf *ob) (ob->priv.mode.vdisplay != conn->modes[0].vdisplay)) { /* set new crtc mode */ - drmModeSetCrtc(ob->priv.fd, ob->priv.crtc, fb, 0, 0, + drmModeSetCrtc(ob->priv.fd, ob->priv.crtc, ob->priv.fb, 0, 0, &ob->priv.conn, 1, &ob->priv.mode); } diff --git a/src/modules/evas/engines/drm/evas_engine.h b/src/modules/evas/engines/drm/evas_engine.h index 3d7eff8921..0487ad616a 100644 --- a/src/modules/evas/engines/drm/evas_engine.h +++ b/src/modules/evas/engines/drm/evas_engine.h @@ -108,7 +108,7 @@ struct _Outbuf struct { int fd; - unsigned int conn, crtc; + unsigned int conn, crtc, fb; Buffer buffer[NUM_BUFFERS]; int curr, num; diff --git a/src/modules/evas/engines/drm/evas_outbuf.c b/src/modules/evas/engines/drm/evas_outbuf.c index 8cafcf242a..5a1fcea815 100644 --- a/src/modules/evas/engines/drm/evas_outbuf.c +++ b/src/modules/evas/engines/drm/evas_outbuf.c @@ -97,6 +97,8 @@ evas_outbuf_setup(Evas_Engine_Info_Drm *info, int w, int h) return NULL; } + info->info.output = ob->priv.fb; + ob->priv.num = NUM_BUFFERS; /* check for buffer override */