[Mesa-dev] [PATCH 18/18] anv/image: Allow HiZ on input attachment-capable depth/stencil images
Nanley Chery
nanleychery at gmail.com
Tue Feb 28 01:20:26 UTC 2017
While an input attachment may only take on one of those two layouts,
other depth/stencil attachments that use the same image may have
HiZ-enabled layouts. Improves the average frame rate on a release
candidate of a proprietary Vulkan benchmark by 9.94% over 3 runs on my
SKL GT4.
This causes the following buggy CTS tests to fail:
* dEQP-VK.renderpass.attachment_allocation.input_output.93
* dEQP-VK.renderpass.attachment_allocation.input_output.92
Upstream is currently evaluating a bug fix for the tests.
Signed-off-by: Nanley Chery <nanley.g.chery at intel.com>
---
Thanks to Eero, for pointing out the anv FINISHME that is displayed when
running the benchmark.
src/intel/vulkan/anv_image.c | 14 --------------
1 file changed, 14 deletions(-)
diff --git a/src/intel/vulkan/anv_image.c b/src/intel/vulkan/anv_image.c
index 1487ba0c33..fd61389167 100644
--- a/src/intel/vulkan/anv_image.c
+++ b/src/intel/vulkan/anv_image.c
@@ -190,20 +190,6 @@ make_surface(const struct anv_device *dev,
*/
if (!(image->usage & VK_IMAGE_USAGE_DEPTH_STENCIL_ATTACHMENT_BIT)) {
/* It will never be used as an attachment, HiZ is pointless. */
- } else if (image->usage & VK_IMAGE_USAGE_INPUT_ATTACHMENT_BIT) {
- /* From the 1.0.37 spec:
- *
- * "An attachment used as an input attachment and depth/stencil
- * attachment must be in either VK_IMAGE_LAYOUT_GENERAL or
- * VK_IMAGE_LAYOUT_DEPTH_STENCIL_READ_ONLY_OPTIMAL."
- *
- * It will never have a layout of
- * VK_IMAGE_LAYOUT_DEPTH_STENCIL_ATTACHMENT_OPTIMAL, so HiZ is
- * currently pointless. If transfer operations learn to use the HiZ
- * buffer, we can enable HiZ for VK_IMAGE_LAYOUT_GENERAL and support
- * input attachments.
- */
- anv_finishme("Implement HiZ for input attachments");
} else if (!env_var_as_boolean("INTEL_VK_HIZ", dev->info.gen >= 8)) {
anv_finishme("Implement gen7 HiZ");
} else if (vk_info->mipLevels > 1) {
--
2.11.1
More information about the mesa-dev
mailing list