Hi all, This series implements KHR_sampler_ycbcr_conversion (and KHR_bind_memory2 as requirement) for the Anv driver. Apologies for this series which is a bit invasive as it needs to introduce the concept of planes in core parts of the driver. I've tried to split up format/descriptor/image changes, but the latter remains pretty dense :(
This series is available on github at : https://github.com/djdeath/mesa/tree/wip/djdeath/ycbcr_conversion Cheers, Lionel Landwerlin (15): vulkan: update headers & registry to VK 1.0.61 vulkan: enum generator: align function declarations/prototypes vulkan: enum generator: sort enums by names vulkan: enum generator: make registry more flexible vulkan: enum generator: generate extension number defines vulkan: util: add macros to extract extension/offset number from enums anv: add support for VK_KHR_bind_memory2 isl: make format layout channels accessible by index isl: add surface layout for yuv formats anv: modify the internal concept of format to express multiple planes anv: add new formats KHR_sampler_ycbcr_conversion anv: add descriptor support for multiplanar image/sampler anv: add nir lowering pass for ycrcb textures anv: enable multiple planes per image/imageView anv: enable VK_KHR_sampler_ycbcr_conversion include/vulkan/vulkan.h | 518 ++++++++++++++-- src/intel/Makefile.sources | 1 + src/intel/isl/isl.h | 21 +- src/intel/isl/isl_format_layout.csv | 4 + src/intel/vulkan/anv_blorp.c | 355 +++++++---- src/intel/vulkan/anv_descriptor_set.c | 107 +++- src/intel/vulkan/anv_device.c | 83 ++- src/intel/vulkan/anv_dump.c | 17 +- src/intel/vulkan/anv_extensions.py | 2 + src/intel/vulkan/anv_formats.c | 721 ++++++++++++++------- src/intel/vulkan/anv_image.c | 757 +++++++++++++++-------- src/intel/vulkan/anv_intel.c | 4 +- src/intel/vulkan/anv_nir.h | 3 + src/intel/vulkan/anv_nir_apply_pipeline_layout.c | 106 +++- src/intel/vulkan/anv_nir_lower_ycbcr_textures.c | 471 ++++++++++++++ src/intel/vulkan/anv_pipeline.c | 2 + src/intel/vulkan/anv_private.h | 332 ++++++++-- src/intel/vulkan/anv_wsi.c | 8 +- src/intel/vulkan/gen8_cmd_buffer.c | 2 +- src/intel/vulkan/genX_cmd_buffer.c | 326 +++++----- src/intel/vulkan/genX_pipeline.c | 14 +- src/intel/vulkan/genX_state.c | 122 ++-- src/intel/vulkan/vk_format_info.h | 27 + src/vulkan/registry/vk.xml | 540 +++++++++++++--- src/vulkan/util/gen_enum_to_str.py | 68 +- src/vulkan/util/vk_util.h | 7 + 26 files changed, 3512 insertions(+), 1106 deletions(-) create mode 100644 src/intel/vulkan/anv_nir_lower_ycbcr_textures.c -- 2.14.1 _______________________________________________ mesa-dev mailing list mesa-dev@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/mesa-dev