Rather than the VkFormatFeatureFlagBits enum
Unified · Split
| @@ -298,8 +298,12 @@ static int vkfmt_from_pixfmt2(AVHWDeviceContext *dev_ctx, enum AVPixelFormat p, · 297 unmodified lines | |||
| 298 | 298 | ||
| 299 | for (int i = 0; i < nb_vk_formats_list; i++) { | 299 | for (int i = 0; i < nb_vk_formats_list; i++) { |
| 300 | if (vk_formats_list[i].pixfmt == p) { | 300 | if (vk_formats_list[i].pixfmt == p) { |
| 301 | VkFormatProperties3 fprops = { | ||
| 302 | .sType = VK_STRUCTURE_TYPE_FORMAT_PROPERTIES_3, | ||
| 303 | }; | ||
| 301 | VkFormatProperties2 prop = { | 304 | VkFormatProperties2 prop = { |
| 302 | .sType = VK_STRUCTURE_TYPE_FORMAT_PROPERTIES_2, | 305 | .sType = VK_STRUCTURE_TYPE_FORMAT_PROPERTIES_2, |
| 306 | .pNext = &fprops, | ||
| 303 | }; | 307 | }; |
| 304 | VkFormatFeatureFlagBits2 feats_primary, feats_secondary; | 308 | VkFormatFeatureFlagBits2 feats_primary, feats_secondary; |
| 305 | int basics_primary = 0, basics_secondary = 0; | 309 | int basics_primary = 0, basics_secondary = 0; |
| @@ -310,8 +314,7 @@ static int vkfmt_from_pixfmt2(AVHWDeviceContext *dev_ctx, enum AVPixelFormat p, · 4 unmodified lines | |||
| 310 | &prop); | 314 | &prop); |
| 311 | 315 | ||
| 312 | feats_primary = tiling == VK_IMAGE_TILING_LINEAR ? | 316 | feats_primary = tiling == VK_IMAGE_TILING_LINEAR ? |
| 313 | prop.formatProperties.linearTilingFeatures : | 317 | fprops.linearTilingFeatures : fprops.optimalTilingFeatures; |
| 314 | prop.formatProperties.optimalTilingFeatures; | ||
| 315 | basics_primary = (feats_primary & basic_flags) == basic_flags; | 318 | basics_primary = (feats_primary & basic_flags) == basic_flags; |
| 316 | storage_primary = !!(feats_primary & VK_FORMAT_FEATURE_2_STORAGE_IMAGE_BIT); | 319 | storage_primary = !!(feats_primary & VK_FORMAT_FEATURE_2_STORAGE_IMAGE_BIT); |
| 317 | 320 | ||
| @@ -320,8 +323,7 @@ static int vkfmt_from_pixfmt2(AVHWDeviceContext *dev_ctx, enum AVPixelFormat p, · 2 unmodified lines | |||
| 320 | vk_formats_list[i].fallback[0], | 323 | vk_formats_list[i].fallback[0], |
| 321 | &prop); | 324 | &prop); |
| 322 | feats_secondary = tiling == VK_IMAGE_TILING_LINEAR ? | 325 | feats_secondary = tiling == VK_IMAGE_TILING_LINEAR ? |
| 323 | prop.formatProperties.linearTilingFeatures : | 326 | fprops.linearTilingFeatures : fprops.optimalTilingFeatures; |
| 324 | prop.formatProperties.optimalTilingFeatures; | ||
| 325 | basics_secondary = (feats_secondary & basic_flags) == basic_flags; | 327 | basics_secondary = (feats_secondary & basic_flags) == basic_flags; |
| 326 | storage_secondary = !!(feats_secondary & VK_FORMAT_FEATURE_2_STORAGE_IMAGE_BIT); | 328 | storage_secondary = !!(feats_secondary & VK_FORMAT_FEATURE_2_STORAGE_IMAGE_BIT); |
| 327 | } else { | 329 | } else { |