Age | Commit message (Collapse) | Author |
|
Commit 706a44abb3aa ("Update to latest pybind11") removed the crtcs and
encoders properties from the Card class. Add them back by wrapping the
associated C++ methods manually due to a limitation of pybind11.
Fixes: 706a44abb3aa ("Update to latest pybind11")
Signed-off-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
Signed-off-by: Tomi Valkeinen <tomi.valkeinen@ti.com>
|
|
The method returns an std::vector of DRMObject, which isn't supported by
the latest pybind11 as explained in commit 706a44abb3aa. Fix it by
wrapping the method manually.
Fixes: 706a44abb3aa ("Update to latest pybind11")
Signed-off-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
Signed-off-by: Tomi Valkeinen <tomi.valkeinen@ti.com>
|
|
|
|
|
|
Update to latest pybind11 HEAD. We can't use the latest tag (v2.2.0) as
it has a regression.
There were two problems when updating:
1) Difficulty in managing DrmObject derived classes
Most of the DrmObjects are owned by Card, and can't be allocated or
freed, but a few of them are allocated and freed by the user. For the
former, we need to use unique_ptr with py::nodelete, but that prevents
the latter from working.
The solution was to not tell the python that the latter classes derive
from DrmObject.
This seems to be missing feature in pybind11, but I think we can live
with it.
2) DrmObjects in STL containers
vector<T> where T is a DrmObject derived class doesn't work. We need to
have a manual wrapper to return vector<unique_ptr<T, py::nodelete>>
instead.
This also seems to be a pybind11 missing feature.
Signed-off-by: Tomi Valkeinen <tomi.valkeinen@ti.com>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Drop (I)MappedFramebuffer, as it doesn't really provide any value, and
have most of the methods be present in IFramebuffer with default
exception throwing implementation.
This gives us simpler way to use the framebuffers, as almost always we
can just use a pointer to IFramebuffer.
|
|
|
|
|
|
|
|
Unfortunately the nice event handler added previously doesn't work: we
may get multiple page-flip events, which would lead to unref'ing the
passed python object multiple times, leading to memory corruption.
I guess it's only possible to pass a plain int as user data to commit()
and page_flip().
|
|
DRM sends page flips for each crtc in a commit. kmstest expected to get
a single flip event for a single commit, which caused --sync not to work
with two displays.
Fix this by making kmstest skip the first flip event.
|
|
|
|
|
|
Signed-off-by: Tomi Valkeinen <tomi.valkeinen@ti.com>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Add a test tool for rotation
Signed-off-by: Tomi Valkeinen <tomi.valkeinen@ti.com>
|
|
Add TILER rotation support for omapframebuffer.
Signed-off-by: Tomi Valkeinen <tomi.valkeinen@ti.com>
|
|
|
|
|
|
Signed-off-by: Tomi Valkeinen <tomi.valkeinen@ti.com>
|
|
Signed-off-by: Tomi Valkeinen <tomi.valkeinen@ti.com>
|
|
Signed-off-by: Tomi Valkeinen <tomi.valkeinen@ti.com>
|
|
The test uses Atomic Mode Setting only and moves one horizontal bar
up/down in the framebuffer - which stretches through all connected
displays.
The flip mode can be selected with --flipmode <single, separate> :
single: Page flip on all displays with one request (default)
separate: Separate page flip on the displays
Signed-off-by: Peter Ujfalusi <peter.ujfalusi@ti.com>
Signed-off-by: Tomi Valkeinen <tomi.valkeinen@ti.com>
|
|
|
|
Signed-off-by: Tomi Valkeinen <tomi.valkeinen@ti.com>
|