diff options
author | Chad Versace <[email protected]> | 2016-10-06 15:21:53 -0700 |
---|---|---|
committer | Nanley Chery <[email protected]> | 2016-10-07 12:54:18 -0700 |
commit | 78d074b87a75d599e65ef34f5b866da577b80de3 (patch) | |
tree | 425c628c837c9b3199bf34a11ef8c30c6ca50056 /src/intel/vulkan/gen8_cmd_buffer.c | |
parent | 134d181be1e3023b0ca36ccaa777105e37e23a82 (diff) |
anv/cmd_buffer: Enable rendering to HiZ
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.
Signed-off-by: Nanley Chery <[email protected]>
Reviewed-by: Chad Versace <[email protected]>
Reviewed-by: Jason Ekstrand <[email protected]>
Diffstat (limited to 'src/intel/vulkan/gen8_cmd_buffer.c')
-rw-r--r-- | src/intel/vulkan/gen8_cmd_buffer.c | 4 |
1 files changed, 4 insertions, 0 deletions
diff --git a/src/intel/vulkan/gen8_cmd_buffer.c b/src/intel/vulkan/gen8_cmd_buffer.c index e50f1a51e26..e6a3c3dd171 100644 --- a/src/intel/vulkan/gen8_cmd_buffer.c +++ b/src/intel/vulkan/gen8_cmd_buffer.c @@ -417,6 +417,10 @@ genX(cmd_buffer_emit_hz_op)(struct anv_cmd_buffer *cmd_buffer, if (iview == NULL || !anv_image_has_hiz(iview->image)) return; + /* FINISHME: Implement multi-subpass HiZ */ + if (cmd_buffer->state.pass->subpass_count > 1) + return; + const uint32_t ds = cmd_state->subpass->depth_stencil_attachment; /* Section 7.4. of the Vulkan 1.0.27 spec states: |