[Mesa-dev] [PATCH 00/12] anv: Implement HiZ for simple render passes

Nanley Chery nanleychery at gmail.com
Thu Sep 1 03:29:46 UTC 2016


This series enables Hierarchical depth buffer rendering and fast depth clears
for render passes with a single subpass running on platforms BDW+. Platforms
pre-BDW can test this feature with an environment variable. The FPS of some
demos are roughly estimated to increase by as much as ~50% on a SKL GT2.

This feature was partially implemented by Chad and Jason. Where applicable,
I've tried to accurately note the modifications I've made to their patches
without being too verbose. I've also tried to maintain the authorship of their
patches when the core of their work remained.

The only patch which wasn't retained due to the core of the work being lost
was a patch to create a HiZ surface. This was replaced with my patch to update
an existing function which does so. This diverged enough for me to feel at
risk of misrepresenting the original author's work.

Any suggestions with respect to my annotating method, notices of incorrectly
attributed credit, or general comments are welcome.


Chad Versace (4):
  anv: Add anv_image::hiz_surface
  anv: Add func anv_image_has_hiz()
  anv: Allocate hiz surface
  genX/cmd_buffer: Enable rendering to HiZ

Jason Ekstrand (3):
  anv: Move BindImageMemory to anv_image.c
  anv/image: Memset hiz surfaces to 0 when binding memory
  anv/cmd_buffer: Add code for performing HZ operations

Nanley Chery (5):
  isl: Correct a comment in the isl_format enum
  isl: Update isl_surf_get_hiz_surf()
  isl: Make MSAA pixel scaling function public
  genX/cmd_buffer: Enable fast depth clears
  anv/TODO: Update the HiZ task

 src/intel/isl/isl.c                |  41 ++++++++++--
 src/intel/isl/isl.h                |   6 +-
 src/intel/vulkan/TODO              |   2 +-
 src/intel/vulkan/anv_device.c      |  20 ------
 src/intel/vulkan/anv_genX.h        |   3 +
 src/intel/vulkan/anv_image.c       |  67 ++++++++++++++++++-
 src/intel/vulkan/anv_pass.c        |  11 +++
 src/intel/vulkan/anv_private.h     |  18 +++++
 src/intel/vulkan/gen7_cmd_buffer.c |   5 ++
 src/intel/vulkan/gen8_cmd_buffer.c | 134 +++++++++++++++++++++++++++++++++++++
 src/intel/vulkan/genX_cmd_buffer.c |  45 +++++++++++--
 11 files changed, 313 insertions(+), 39 deletions(-)

-- 
2.9.3



More information about the mesa-dev mailing list