diff --git a/src/opengl/egldisplay.cpp b/src/opengl/egldisplay.cpp index fb9dd383ab..b4e9a54b97 100644 --- a/src/opengl/egldisplay.cpp +++ b/src/opengl/egldisplay.cpp @@ -308,7 +308,11 @@ QHash EglDisplay::queryImportFormats() cons if (!drmFormatInfo.allModifiers.empty()) { if (!drmFormatInfo.allModifiers.contains(DRM_FORMAT_MOD_INVALID)) { drmFormatInfo.allModifiers.push_back(DRM_FORMAT_MOD_INVALID); - drmFormatInfo.nonExternalOnlyModifiers.push_back(DRM_FORMAT_MOD_INVALID); + if (!drmFormatInfo.nonExternalOnlyModifiers.empty()) { + drmFormatInfo.nonExternalOnlyModifiers.push_back(DRM_FORMAT_MOD_INVALID); + } else { + drmFormatInfo.externalOnlyModifiers.push_back(DRM_FORMAT_MOD_INVALID); + } } ret.insert(format, drmFormatInfo); }