[Mesa-dev] [PATCH 00/15] anv: implement KHR_sampler_ycbcr_conversion

Lionel Landwerlin lionel.g.landwerlin at intel.com
Fri Sep 15 14:10:52 UTC 2017


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


More information about the mesa-dev mailing list