backends/drm: give the commit threads names

That makes them easier to identify in backtraces
master
Xaver Hugl 12 months ago
parent f8012f580b
commit 25728c1240

@ -21,7 +21,7 @@ namespace KWin
// committing takes about 800µs, the rest is accounting for sleep not being accurate enough
static constexpr auto s_safetyMargin = 1800us;
DrmCommitThread::DrmCommitThread()
DrmCommitThread::DrmCommitThread(const QString &name)
{
m_thread.reset(QThread::create([this]() {
gainRealTime();
@ -80,6 +80,7 @@ DrmCommitThread::DrmCommitThread()
}
}
}));
m_thread->setObjectName(name);
m_thread->start();
}

@ -26,7 +26,7 @@ class DrmCommitThread : public QObject
{
Q_OBJECT
public:
explicit DrmCommitThread();
explicit DrmCommitThread(const QString &name);
~DrmCommitThread();
void addCommit(std::unique_ptr<DrmAtomicCommit> &&commit);

@ -136,8 +136,8 @@ DrmConnector::DrmConnector(DrmGpu *gpu, uint32_t connectorId)
QByteArrayLiteral("BT2020_RGB"),
QByteArrayLiteral("BT2020_YCC"),
})
, m_pipeline(std::make_unique<DrmPipeline>(this))
, m_conn(drmModeGetConnector(gpu->fd(), connectorId))
, m_pipeline(m_conn ? std::make_unique<DrmPipeline>(this) : nullptr)
{
if (m_conn) {
for (int i = 0; i < m_conn->count_encoders; ++i) {

@ -138,8 +138,8 @@ private:
QList<std::shared_ptr<DrmConnectorMode>> generateCommonModes();
std::shared_ptr<DrmConnectorMode> generateMode(const QSize &size, float refreshRate);
std::unique_ptr<DrmPipeline> m_pipeline;
DrmUniquePtr<drmModeConnector> m_conn;
std::unique_ptr<DrmPipeline> m_pipeline;
Edid m_edid;
QSize m_physicalSize = QSize(-1, -1);
QList<std::shared_ptr<DrmConnectorMode>> m_driverModes;

@ -39,7 +39,7 @@ static const QMap<uint32_t, QVector<uint64_t>> legacyCursorFormats = {{DRM_FORMA
DrmPipeline::DrmPipeline(DrmConnector *conn)
: m_connector(conn)
, m_commitThread(std::make_unique<DrmCommitThread>())
, m_commitThread(std::make_unique<DrmCommitThread>(conn->connectorName()))
{
QObject::connect(m_commitThread.get(), &DrmCommitThread::commitFailed, [this]() {
if (m_output) {

Loading…
Cancel
Save