[PATCH 0/3] Support fast framebuffer panning for i.MX6
On Thu, Jul 14, 2016 at 05:11:38PM +0200, Stefan Christ wrote: > Hi Daniel, > > On Wed, Jul 13, 2016 at 12:00:07PM +0200, Daniel Vetter wrote: > > On Wed, Jul 13, 2016 at 10:11:45AM +0200, Stefan Christ wrote: > > > Hi, > > > > > > im currently working on supporting double/tripple buffering for the > > > framebuffer > > > emulation on the i.MX6. While working on it I noticed that the mainline > > > kernel > > > does not support some features in the generic drm framebuffer emulation > > > for > > > framebuffer panning and vsync synchronisation. They are needed for simple > > > framebuffer applications and some OpenGL libraries using double buffering > > > with > > > FBIOPUT_VSCREENINFO, FBIO_WAITFORVSYNC and FBIOPAN_DISPLAY. > > > > > > Any comments? > > > > Don't ever do OpenGL on fbdev. Ever. The fbdev emulation we have is to > > support boot splashs, kernel console, oopses and legacy applications that > > just love fbdev too much and don't support native kms dumb buffers. > > > > Anything that goes beyond kms dumb buffers (like displaying buffers > > rendered through opengl) is imo a complete no-go. Yes Android loves to do > > that, but for upstream we need a proper drm render driver, buffer sharing > > through prime and the userspace hwcomposer needs to use native drm kms > > ioctls. Also, userspace (especially the opengl part) needs to be open > > source for upstream. > > Yeah, these closed libraries are kind of ugly, but implementing these features > maybe interesting for legacy framebuffer applications that do double buffering > via panning. > > Thanks for the comments. I totally overlooked the dpms/blank and locking > issue. > I will work through them and send v2 patches. In case it wasn't obvious: Don't sell this with "makes blob opengl drivers work". Find some old userspace that uses raw fbdev, sell this patch series using that one ;-) -Daniel > > Mit freundlichen GrüÃen / Kind regards, > Stefan Christ > > > > > Thanks, Daniel > > > > > > Kind regards, > > > Stefan Christ > > > > > > Stefan Christ (2): > > > drm: fb_helper: implement ioctl FBIO_WAITFORVSYNC > > > drm/imx: ipuv3-crtc: implement fast path mode_set_base > > > > > > Xinliang Liu (1): > > > drm/cma-helper: Add multi buffer support for cma fbdev > > > > > > drivers/gpu/drm/Kconfig | 8 +++ > > > drivers/gpu/drm/drm_fb_cma_helper.c | 9 +++- > > > drivers/gpu/drm/drm_fb_helper.c | 43 > > > + > > > drivers/gpu/drm/imx/ipuv3-crtc.c| 10 + > > > include/drm/drm_fb_helper.h | 2 ++ > > > 5 files changed, 71 insertions(+), 1 deletion(-) > > > > > > -- > > > 1.9.1 > > > > > > ___ > > > dri-devel mailing list > > > dri-devel at lists.freedesktop.org > > > https://lists.freedesktop.org/mailman/listinfo/dri-devel > > > > -- > > Daniel Vetter > > Software Engineer, Intel Corporation > > http://blog.ffwll.ch -- Daniel Vetter Software Engineer, Intel Corporation http://blog.ffwll.ch
[PATCH 0/3] Support fast framebuffer panning for i.MX6
Hi Daniel, On Wed, Jul 13, 2016 at 12:00:07PM +0200, Daniel Vetter wrote: > On Wed, Jul 13, 2016 at 10:11:45AM +0200, Stefan Christ wrote: > > Hi, > > > > im currently working on supporting double/tripple buffering for the > > framebuffer > > emulation on the i.MX6. While working on it I noticed that the mainline > > kernel > > does not support some features in the generic drm framebuffer emulation for > > framebuffer panning and vsync synchronisation. They are needed for simple > > framebuffer applications and some OpenGL libraries using double buffering > > with > > FBIOPUT_VSCREENINFO, FBIO_WAITFORVSYNC and FBIOPAN_DISPLAY. > > > > Any comments? > > Don't ever do OpenGL on fbdev. Ever. The fbdev emulation we have is to > support boot splashs, kernel console, oopses and legacy applications that > just love fbdev too much and don't support native kms dumb buffers. > > Anything that goes beyond kms dumb buffers (like displaying buffers > rendered through opengl) is imo a complete no-go. Yes Android loves to do > that, but for upstream we need a proper drm render driver, buffer sharing > through prime and the userspace hwcomposer needs to use native drm kms > ioctls. Also, userspace (especially the opengl part) needs to be open > source for upstream. Yeah, these closed libraries are kind of ugly, but implementing these features maybe interesting for legacy framebuffer applications that do double buffering via panning. Thanks for the comments. I totally overlooked the dpms/blank and locking issue. I will work through them and send v2 patches. Mit freundlichen GrüÃen / Kind regards, Stefan Christ > > Thanks, Daniel > > > > Kind regards, > > Stefan Christ > > > > Stefan Christ (2): > > drm: fb_helper: implement ioctl FBIO_WAITFORVSYNC > > drm/imx: ipuv3-crtc: implement fast path mode_set_base > > > > Xinliang Liu (1): > > drm/cma-helper: Add multi buffer support for cma fbdev > > > > drivers/gpu/drm/Kconfig | 8 +++ > > drivers/gpu/drm/drm_fb_cma_helper.c | 9 +++- > > drivers/gpu/drm/drm_fb_helper.c | 43 > > + > > drivers/gpu/drm/imx/ipuv3-crtc.c| 10 + > > include/drm/drm_fb_helper.h | 2 ++ > > 5 files changed, 71 insertions(+), 1 deletion(-) > > > > -- > > 1.9.1 > > > > ___ > > dri-devel mailing list > > dri-devel at lists.freedesktop.org > > https://lists.freedesktop.org/mailman/listinfo/dri-devel > > -- > Daniel Vetter > Software Engineer, Intel Corporation > http://blog.ffwll.ch
[PATCH 0/3] Support fast framebuffer panning for i.MX6
On Wed, Jul 13, 2016 at 10:11:45AM +0200, Stefan Christ wrote: > Hi, > > im currently working on supporting double/tripple buffering for the > framebuffer > emulation on the i.MX6. While working on it I noticed that the mainline > kernel > does not support some features in the generic drm framebuffer emulation for > framebuffer panning and vsync synchronisation. They are needed for simple > framebuffer applications and some OpenGL libraries using double buffering with > FBIOPUT_VSCREENINFO, FBIO_WAITFORVSYNC and FBIOPAN_DISPLAY. > > Any comments? Don't ever do OpenGL on fbdev. Ever. The fbdev emulation we have is to support boot splashs, kernel console, oopses and legacy applications that just love fbdev too much and don't support native kms dumb buffers. Anything that goes beyond kms dumb buffers (like displaying buffers rendered through opengl) is imo a complete no-go. Yes Android loves to do that, but for upstream we need a proper drm render driver, buffer sharing through prime and the userspace hwcomposer needs to use native drm kms ioctls. Also, userspace (especially the opengl part) needs to be open source for upstream. Thanks, Daniel > > Kind regards, > Stefan Christ > > Stefan Christ (2): > drm: fb_helper: implement ioctl FBIO_WAITFORVSYNC > drm/imx: ipuv3-crtc: implement fast path mode_set_base > > Xinliang Liu (1): > drm/cma-helper: Add multi buffer support for cma fbdev > > drivers/gpu/drm/Kconfig | 8 +++ > drivers/gpu/drm/drm_fb_cma_helper.c | 9 +++- > drivers/gpu/drm/drm_fb_helper.c | 43 > + > drivers/gpu/drm/imx/ipuv3-crtc.c| 10 + > include/drm/drm_fb_helper.h | 2 ++ > 5 files changed, 71 insertions(+), 1 deletion(-) > > -- > 1.9.1 > > ___ > dri-devel mailing list > dri-devel at lists.freedesktop.org > https://lists.freedesktop.org/mailman/listinfo/dri-devel -- Daniel Vetter Software Engineer, Intel Corporation http://blog.ffwll.ch
[PATCH 0/3] Support fast framebuffer panning for i.MX6
Hi, im currently working on supporting double/tripple buffering for the framebuffer emulation on the i.MX6. While working on it I noticed that the mainline kernel does not support some features in the generic drm framebuffer emulation for framebuffer panning and vsync synchronisation. They are needed for simple framebuffer applications and some OpenGL libraries using double buffering with FBIOPUT_VSCREENINFO, FBIO_WAITFORVSYNC and FBIOPAN_DISPLAY. Any comments? Kind regards, Stefan Christ Stefan Christ (2): drm: fb_helper: implement ioctl FBIO_WAITFORVSYNC drm/imx: ipuv3-crtc: implement fast path mode_set_base Xinliang Liu (1): drm/cma-helper: Add multi buffer support for cma fbdev drivers/gpu/drm/Kconfig | 8 +++ drivers/gpu/drm/drm_fb_cma_helper.c | 9 +++- drivers/gpu/drm/drm_fb_helper.c | 43 + drivers/gpu/drm/imx/ipuv3-crtc.c| 10 + include/drm/drm_fb_helper.h | 2 ++ 5 files changed, 71 insertions(+), 1 deletion(-) -- 1.9.1