card: Add support for writeback connectors
authorLaurent Pinchart <laurent.pinchart@ideasonboard.com>
Sun, 16 Jun 2019 23:31:28 +0000 (02:31 +0300)
committerLaurent Pinchart <laurent.pinchart@ideasonboard.com>
Sat, 4 Sep 2021 21:54:49 +0000 (00:54 +0300)
commit70ed259ba057e629ad22ac93168a438dbd93113f
tree91df416b0d08c6231975e94a96da84a9c0df4ebc
parent77eedf7574809ce5edf4d4ea6aa55542b3045c02
card: Add support for writeback connectors

Enable enumeration of writeback connectors if both libdrm and the device
support it. The new Card::has_writeback() method report if the card
support writeback connectors.

Existing code that expect all connectors to model an output may be
confused by the sudden availability of new connectors. To handle this
issue,

- add a KMSXX_DISABLE_WRITEBACK_CONNECTORS environment variable to
  disable enumeration of writeback connectors, similarly to universal
  planes ; and

- ignore writeback connectors where no specific connector is requested
  (Card::get_first_connected_connector(),
  ResourceManager::reserve_connector() if no connector name is
  specified, and applications that use all connected outputs).

Signed-off-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
kms++/inc/kms++/card.h
kms++/src/card.cpp
kms++/src/connector.cpp
kms++util/meson.build
kms++util/src/resourcemanager.cpp
py/pykms/pykmsbase.cpp
utils/kmsblank.cpp
utils/kmstest.cpp
utils/meson.build