[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