Bladeren bron

linux-pipewire: Check format availablity against DRM only for dmabufs

Whe using a software renderer there will be no formats available for
using with dmabufs. We should only consider those formats wrt. to
modifiers and as such move this check after adding general support for
that format.

fixes #7985
columbarius 2 jaren geleden
bovenliggende
commit
d8b7906954
1 gewijzigde bestanden met toevoegingen van 3 en 5 verwijderingen
  1. 3 5
      plugins/linux-pipewire/pipewire.c

+ 3 - 5
plugins/linux-pipewire/pipewire.c

@@ -359,16 +359,14 @@ static void init_format_info(obs_pipewire_data *obs_pw)
 	for (size_t i = 0; i < N_SUPPORTED_FORMATS; i++) {
 		struct format_info *info;
 
-		if (!drm_format_available(supported_formats[i].drm_format,
-					  drm_formats, n_drm_formats))
-			continue;
-
 		info = da_push_back_new(obs_pw->format_info);
 		da_init(info->modifiers);
 		info->spa_format = supported_formats[i].spa_format;
 		info->drm_format = supported_formats[i].drm_format;
 
-		if (!capabilities_queried)
+		if (!capabilities_queried ||
+		    !drm_format_available(supported_formats[i].drm_format,
+					  drm_formats, n_drm_formats))
 			continue;
 
 		size_t n_modifiers;