diag(vkdecode): log maxLevelIdc beside the decode flags

The Arc returned decode_flags=0b1100 = 12 with a fully populated base struct (15
DPB slots, 8192x8192 max extent). Neither COINCIDE (0x1) nor DISTINCT (0x2) is
set, and 0x4|0x8 are not defined for that field at all — but 12 IS
STD_VIDEO_H265_LEVEL_IDC_6_2, and VkVideoDecodeCapabilitiesKHR and
VkVideoDecodeH265CapabilitiesKHR have identical layouts (sType, pNext, one u32).

So the suspicion is that we are reading H.265's maxLevelIdc where the decode
flags belong. Logging both settles it: if max_level_idc comes back as 1 or 2 the
two structs are crossed, and the refusal is ours rather than the driver's.
This commit is contained in:
2026-08-07 14:55:27 +02:00
parent fb1a0a61e9
commit a183cac8aa
+2
View File
@@ -320,6 +320,8 @@ pub(crate) unsafe fn query_h265_caps(
codec = "H.265",
?capability_flags,
?decode_flags,
decode_flags_raw = decode_flags.as_raw(),
max_level_idc,
max_dpb_slots,
max_active_reference_pictures,
?min_coded_extent,