Skip to content

vulkan, util: Add new 10-bit and 12-bit formats

Valentine Burley requested to merge Valentine/mesa:10_12bits into main

What does this MR do and why?

Some hardware have native 10-bit and 12-bit formats. In order to be able to support them, we need to translate these VK_FORMATs to new padded pipe formats instead of regular 16-bit formats.

This requires auditing every driver to make sure they work with these new formats.

  • RADV (Unchanged)
  • lavapipe (Unchanged)
  • NVK (Works)
  • asahi (Untested, but probably works)
  • turnip (10-bit support not included here, losing these "fake" formats is fine)
  • powervr (Unaffected. Doesn't support YCbCr yet)
  • panvk (Unaffected. Doesn't support YCbCr yet)
  • dozen (Unaffected. Doesn't support YCbCr yet)
  • v3dv (Unaffected. Doesn't support these formats yet)
  • ANV (Unaffected. Anv doesn't call vk_format_to_pipe_format)
Edited by Valentine Burley

Merge request reports