[Mesa-dev] [PATCH V2 09/11] genX/cmd_buffer: Enable rendering to HiZ

Chad Versace chadversary at chromium.org
Tue Sep 27 18:00:06 UTC 2016


On Mon 26 Sep 2016, Nanley Chery wrote:
> From: Chad Versace <chad.versace at intel.com>
> 
> Nanley Chery:
> (rebase)
>  - Resolve conflicts with new anv_batch_emit macro
> (amend)
>  - Handle a QPitch TODO
>  - Emit 3DSTATE_HIER_DEPTH_BUFFER on pre-BDW systems
>  - Only use HiZ for single-subpass renderpasses
>  - Emit the HiZ instruction before the stencil instruction to follow the
>    optimized clear sequence specified in the PRMs
>  - Don't modify clear params
>  - Enable resolves when a HiZ buffer is used to ensure depth buffer validity
> 
> Provides an FPS increase of ~15% on the Sascha triangle and multisampling
> demos.

Woo!

> Signed-off-by: Nanley Chery <nanley.g.chery at intel.com>
> 
> ---
> 
> v2: Emit zero'ed 3DSTATE_HIER_DEPTH_BUFFER when hiz is disabled
>     (Jason, Chad)
> 
>  src/intel/vulkan/gen8_cmd_buffer.c |  4 ++++
>  src/intel/vulkan/genX_cmd_buffer.c | 43 ++++++++++++++++++++++++++++++++++----
>  2 files changed, 43 insertions(+), 4 deletions(-)
> 
> diff --git a/src/intel/vulkan/gen8_cmd_buffer.c b/src/intel/vulkan/gen8_cmd_buffer.c
> index a13413c..14e6a7b 100644
> --- a/src/intel/vulkan/gen8_cmd_buffer.c
> +++ b/src/intel/vulkan/gen8_cmd_buffer.c
> @@ -417,6 +417,10 @@ genX(cmd_buffer_do_hz_op)(struct anv_cmd_buffer *cmd_buffer,
>     if (iview == NULL || !anv_image_has_hiz(iview->image))
>        return;
>  
> +   /* FIXME: Implement multi-subpass HiZ */

This should be a FINISHME, not a FIXME, as nothing is broken and there
is no bug. It's just disabled.

> +   if (cmd_buffer->state.pass->subpass_count > 1)
> +      return;
> +

Anyway, that's just a small nitpick.

Reviewed-by: Chad Versace <chadversary at chromium.org>


More information about the mesa-dev mailing list