diff --git a/src/plugins/platforms/drm/drm_pipeline.cpp b/src/plugins/platforms/drm/drm_pipeline.cpp index eaa2a9c109..0b81bd4028 100644 --- a/src/plugins/platforms/drm/drm_pipeline.cpp +++ b/src/plugins/platforms/drm/drm_pipeline.cpp @@ -279,8 +279,9 @@ bool DrmPipeline::checkTestBuffer() QSharedPointer buffer; // try to re-use buffers if possible. const auto &checkBuffer = [this, backend, &buffer](const QSharedPointer &buf){ + const auto &mods = supportedModifiers(buf->format()); if (buf->format() == backend->drmFormat() - && (!m_gpu->atomicModeSetting() || supportedModifiers(buf->format()).contains(buf->modifier())) + && (mods.isEmpty() || mods.contains(buf->modifier())) && buf->size() == sourceSize()) { buffer = buf; }