[Mesa-dev] [PATCH 00/13] anv: Implement input attachments

Jason Ekstrand jason at jlekstrand.net
Wed Nov 16 19:31:32 UTC 2016


This series adds input attachment support to the Intel Vulkan driver.  It
applies on top of my series to implement CCS.  It can be found here:

https://cgit.freedesktop.org/~jekstrand/mesa/log/?h=review/anv-input-att

Jason Ekstrand (13):
  compiler: Add the rest of the subpassInput types
  spirv: Handle the InputAttachmentIndex decoration
  spirv: Stop warning about input attachments
  nir: Add a layer_id system value intrinsic
  i965/fs: Implement load_layer_id for fragment shaders
  anv/pipeline: Move gather_info further down the compilation process
  anv: Add an input attachment lowering pass
  anv/pass: Calculate the combined image usage of attachments
  anv/pipeline: Add a input_attachment_index to the bindings
  anv/cmd_buffer: Fix pipeline barriers for input attachments
  anv: Use pass attachment information to insert flushes
  anv/pipeline: Handle depth/stencil self-dependencies
  anv: Set up binding tables and surface states for input attachments

 src/compiler/builtin_type_macros.h                 |   7 +-
 src/compiler/glsl_types.cpp                        |  20 ++-
 src/compiler/glsl_types.h                          |   1 +
 src/compiler/nir/nir_intrinsics.h                  |   1 +
 src/compiler/spirv/spirv_to_nir.c                  |   2 +-
 src/compiler/spirv/vtn_private.h                   |   1 +
 src/compiler/spirv/vtn_variables.c                 |   4 +
 src/intel/vulkan/Makefile.sources                  |   1 +
 src/intel/vulkan/anv_blorp.c                       |  60 +++++++++
 src/intel/vulkan/anv_descriptor_set.c              |   5 +-
 src/intel/vulkan/anv_image.c                       |   9 +-
 src/intel/vulkan/anv_nir.h                         |   2 +
 src/intel/vulkan/anv_nir_apply_pipeline_layout.c   |  27 ++++
 src/intel/vulkan/anv_nir_lower_input_attachments.c | 141 +++++++++++++++++++++
 src/intel/vulkan/anv_pass.c                        |  16 ++-
 src/intel/vulkan/anv_pipeline.c                    |   7 +-
 src/intel/vulkan/anv_private.h                     |   8 ++
 src/intel/vulkan/genX_cmd_buffer.c                 |  71 ++++++++++-
 src/intel/vulkan/genX_pipeline.c                   |  30 ++++-
 src/intel/vulkan/vk_format_info.h                  |   7 +
 src/mesa/drivers/dri/i965/brw_fs_nir.cpp           |   5 +
 src/mesa/program/prog_to_nir.c                     |   1 +
 22 files changed, 403 insertions(+), 23 deletions(-)
 create mode 100644 src/intel/vulkan/anv_nir_lower_input_attachments.c

-- 
2.5.0.400.gff86faf



More information about the mesa-dev mailing list