forked from unom/punktfunk
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:
@@ -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,
|
||||
|
||||
Reference in New Issue
Block a user