nvk, nil: Force equal tile size across chroma and luma planes for video usage
What does this MR do and why?
For multiplanar YUV images, the video decode engine needs the block (tile) size to be the same across chroma and luma planes. Currently, we create each plane independently and set tiling based on format and dimensions, which leads to a mismatch in tile size in some cases. This MR works around this limitation by gathering all the info for NIL early and passing it all in. Then if video usage is detected, NIL looks into the info for each plane to calculate and force the smallest tile size for all planes.
Tested dEQP-VK.ycbcr.*
(with the usage bit set for ycbcr in general not just video usage):
Test run totals:
Passed: 35033/56039 (62.5%)
Failed: 0/56039 (0.0%)
Not supported: 21006/56039 (37.5%)
Warnings: 0/56039 (0.0%)
Waived: 0/56039 (0.0%)
cc @dwlsalmeida