Hi Daniel, Thanks a lot for the reply. Could you please give little more details on how "atomic modesetting" will help this? As I have to pass field type with every buffer, are there any existing flags or can I add new flags in drm_mode_atomic struct? Regards, Satish On Mon, 17 Sep 2018 at 11:59, Daniel Stone <daniel@xxxxxxxxxxxxx> wrote: > > Hi Satish, > > On Fri, 7 Sep 2018 at 23:04, Satish Nagireddy > <satish.nagireddy1@xxxxxxxxx> wrote: > > The requirement is to render interlaced alternate buffers. In case of > > alternate, top field and bottom field are in two different buffers. > > > > The question is, can we pass existing flags DRM_MODE_PRESENT_TOP_FIELD > > and DRM_MODE_PRESENT_TOP_FIELD to DRM_IOCTL_MODE_SETPLANE ioctl? > > Yes, if the driver implements it. No in-tree driver implements it, and > the core does not pass along or even check the flags, so you would > have to modify the DRM core in order to implement this. This makes the > userspace depend on a specific driver, but this is already the case > for setplane, as the pre-atomic interface is hopelessly underspecified > wrt timing etc, which differs massively between drivers. We recommend > not using it. > > > But in case if urrent frame out of display range, application > > will invoke DRM_IOCTL_MODE_PAGE_FLIP ioctl. So, it is not guaranteed > > that application will always call setplane(), it may also call page_flip(). > > Then we will have to introduce two more flags to pass with page_flip() > > ioctl, which is complicating things. > > Yes, that's correct. > > > Background of DRM_IOCTL_MODE_DIRTYFB ioctl: This ioctl is defined, so > > that userspace can notify the driver that an area of framebuffer has > > changed and should be flushed to display hardware. > > > > The proposed solution is to introduce new dirty fb flags, so that userspace > > can pass them with every alternate field buffer and the same is reached > > display hardware. This patch adds new dirty framebuffer flags, so that > > application can pass interlaced alternate field information to driver. > > If you're adding two new flags anyway, why not just add them to > pageflip? DirtyFB is not required when pageflipping, and is mostly > only intended for single-buffered usecases, which this is not. It is > not required to be used in pageflipping pipelines, and making people > use DirtyFB in order to specify frame order is quite strange. > > Another place where you could specify the field order would be in > AddFB, which was discussed in this thread: > https://lists.freedesktop.org/archives/dri-devel/2016-March/thread.html#102161 > > In any case, I would very much recommend using atomic modesetting both > within your driver and also within GStreamer, as this solves many > other issues at the same time. > > Cheers, > Daniel _______________________________________________ dri-devel mailing list dri-devel@xxxxxxxxxxxxxxxxxxxxx https://lists.freedesktop.org/mailman/listinfo/dri-devel