summaryrefslogtreecommitdiff
path: root/py
AgeCommit message (Collapse)Author
2017-12-08Fix Python bindings for Connector::get_possible_crtcs() methodLaurent Pinchart
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>
2017-11-24pykms: keep Card alive until Blob is goneTomi Valkeinen
2017-11-24Update to latest pybind11Tomi Valkeinen
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>
2017-11-22kmstest: use resmanTomi Valkeinen
2017-10-20Crtc: add set_mode() which doesn't take a fbTomi Valkeinen
2017-10-03Rework framebuffer classesTomi Valkeinen
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.
2017-09-05py: drop the fancy event handlingTomi Valkeinen
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().
2017-06-02Merge branch 'color-features' of git://github.com/jsarha/kmsxxTomi Valkeinen
2017-05-31plane_csc.py: Test for different YCbCr encodingsJyri Sarha
2017-05-31Add DrmPropObject.get_prop() and Property.enums to pykmsbase.cpp.Jyri Sarha
2017-05-31Add different YCbCr encodings.Jyri Sarha
2017-05-31Add Crtc::disable_mode() to pykmsbase.cpp.Jyri Sarha
2017-05-31Add ctm_test.py test for testing CRTC's CTM color matrix property.Jyri Sarha
2017-05-31cam.py: fix initial modesetTomi Valkeinen
2017-05-30omapfb: add flags for memory allocTomi Valkeinen
2017-05-30omapfb: add enum Flags for OmapFBTomi Valkeinen
2017-05-30py: move Rotation enum to __init__.pyTomi Valkeinen
2017-05-24py: add rottest.pyTomi Valkeinen
Add a test tool for rotation Signed-off-by: Tomi Valkeinen <tomi.valkeinen@ti.com>
2017-05-24omapfb: add TILER supportTomi Valkeinen
Add TILER rotation support for omapframebuffer. Signed-off-by: Tomi Valkeinen <tomi.valkeinen@ti.com>
2017-05-17pykms: add videomode related featuresTomi Valkeinen
Signed-off-by: Tomi Valkeinen <tomi.valkeinen@ti.com>
2017-05-17pykmsutil: add draw_text()Tomi Valkeinen
Signed-off-by: Tomi Valkeinen <tomi.valkeinen@ti.com>
2017-05-09py: tests: Double buffered one big buffer on all connected screensPeter Ujfalusi
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>
2017-04-27py: omapfb: add missing propertiesTomi Valkeinen
2017-04-26Add Connector.connected to pykmsbasePeter Ujfalusi
It can be used to check if the connector is connected or not Signed-off-by: Peter Ujfalusi <peter.ujfalusi@ti.com> Signed-off-by: Tomi Valkeinen <tomi.valkeinen@ti.com>
2017-04-21py: Add in fence test using swsyncLaurent Pinchart
Signed-off-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com> Signed-off-by: Tomi Valkeinen <tomi.valkeinen@ti.com>
2017-04-10test.py: use atomic modesettingTomi Valkeinen
Signed-off-by: Tomi Valkeinen <tomi.valkeinen@ti.com>
2017-04-07trans-test.py: fix use of colorsTomi Valkeinen
Signed-off-by: Tomi Valkeinen <tomi.valkeinen@ti.com>
2017-03-20Add plane_hog.pyJyri Sarha
plane_hog.py gets all possible planes for default connector's crtc, enables them one by one, enables hdmi connector's crtc (if available) and moves the planes there on by one.
2017-03-20pykms/pykmsutil.cpp: Add binding for reserve_generic_plane()Jyri Sarha
2017-03-17Add modeset_event.pyJyri Sarha
modeset_event.py tests committing a full mode set asynchronously and receiving a flip event about it. Signed-off-by: Tomi Valkeinen <tomi.valkeinen@ti.com>
2017-03-17Add a simple and hackish plane scaling test.Jyri Sarha
Signed-off-by: Tomi Valkeinen <tomi.valkeinen@ti.com>
2017-03-17py: add DrmObject.idxTomi Valkeinen
2017-03-16Add color format related methods and memebers to pykmsbase.Jyri Sarha
Signed-off-by: Tomi Valkeinen <tomi.valkeinen@ti.com>
2017-03-16Add Videomode::to_blob method to pykmsbase.Jyri Sarha
Signed-off-by: Tomi Valkeinen <tomi.valkeinen@ti.com>
2017-03-13py: fix AtomicReq.commit() return valueTomi Valkeinen
2017-03-13db.py: remove old codeTomi Valkeinen
2017-03-08New event handlingTomi Valkeinen
The current event handling relies on the PageFlipHandlerBase class which has to be implemented on the python side. This patch implements a more versatile event handling, where any python object can be passed as data to the commit or page flip, and it's up to the python implementation to decide what to do with that data when receiving the event. Note that when doing the commit or page_flip, the ref count of the given python object is incremented to keep it alive. The ref count is decremented when reading the events with the new helper method card.read_events(). This helper _has_ to be used to ensure the objects get released properly. Signed-off-by: Tomi Valkeinen <tomi.valkeinen@ti.com>
2017-03-03py: db.py: Add command line argument to specify connectorLaurent Pinchart
When a command line argument is present, its value is used as a connector name that the script will try to use. Signed-off-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com> Signed-off-by: Tomi Valkeinen <tomi.valkeinen@ti.com>
2017-02-13py: Expose AtomicReq::add(std::map<>) methodLaurent Pinchart
Only the AtomiqReq::add version that takes a single property is currently exposed through the Python bindings. Expose the add method that takes a list of properties as well. Signed-off-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com> Signed-off-by: Tomi Valkeinen <tomi.valkeinen@ti.com>
2017-02-10test.py: add dmabuf & omap optionsTomi Valkeinen
2017-02-10py: add ExtFramebufferTomi Valkeinen
2017-02-10omapfb: add constructor with fourccTomi Valkeinen
2017-02-10py: add DumbFb propertiesTomi Valkeinen
2017-02-10use reserve_connector from ResourceManagerTomi Valkeinen
2017-02-06Support python2 based pykms bindingAlejandro Hernandez
Previously only binding with python3 was supported, this patch allows compilation of pykms with python3 or python2. When compiling with python2 some of the python scripts located in the py/test will not work since they import python3 only modules Signed-off-by: Alejandro Hernandez <ajhernandez@ti.com> Signed-off-by: Tomi Valkeinen <tomi.valkeinen@ti.com>
2017-01-27py/tests: hpd testTomi Valkeinen
Signed-off-by: Tomi Valkeinen <tomi.valkeinen@ti.com>
2017-01-25Add refresh() to connector, crtc and encoderTomi Valkeinen
Signed-off-by: Tomi Valkeinen <tomi.valkeinen@ti.com>
2017-01-24pykms: add Videomode.__repr__Tomi Valkeinen
2017-01-03py: db.py: Print frame rate at 5s intervalsLaurent Pinchart
Print both the number of vsyncs (as reported by the driver in flip events) and the number of flip events. This is useful to debug frame rate related issues. Signed-off-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
2017-01-03py: db.py: Rename argument to event handlers to avoid shadowingLaurent Pinchart
The first argument to the key event handlers bears the same name as the global variable that identifies the connector. Rename it to fileobj which, in addition to being more descriptive, avoids shadowing the global variable. Signed-off-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>