aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorNanley Chery <[email protected]>2019-04-30 14:49:10 -0700
committerNanley Chery <[email protected]>2019-05-16 20:54:53 +0000
commit629806b55bccd7f3e5b7b753820c4442fdb30bbe (patch)
tree01ea2173381affe9350f5bf9d8cdc561b7c507f1
parentded2c202d5f5da6065d4cef19d8deedae6a8c307 (diff)
anv: Fix some depth buffer sampling cases on ICL+
Don't attempt sampling with HiZ if the sampler lacks support for it. On ICL, the HW docs state that sampling with HiZ is not supported and that instances of AUX_HIZ in the RENDER_SURFACE_STATE object will be interpreted as AUX_NONE. Cc: <[email protected]> Reviewed-by: Lionel Landwerlin <[email protected]> Reviewed-by: Anuj Phogat <[email protected]>
-rw-r--r--src/intel/vulkan/anv_private.h8
1 files changed, 7 insertions, 1 deletions
diff --git a/src/intel/vulkan/anv_private.h b/src/intel/vulkan/anv_private.h
index 4e247bed7ac..2bc4d4a05b6 100644
--- a/src/intel/vulkan/anv_private.h
+++ b/src/intel/vulkan/anv_private.h
@@ -3187,7 +3187,13 @@ anv_can_sample_with_hiz(const struct gen_device_info * const devinfo,
if (!(image->aspects & VK_IMAGE_ASPECT_DEPTH_BIT))
return false;
- if (devinfo->gen < 8)
+ /* Allow this feature on BDW even though it is disabled in the BDW devinfo
+ * struct. There's documentation which suggests that this feature actually
+ * reduces performance on BDW, but it has only been observed to help so
+ * far. Sampling fast-cleared blocks on BDW must also be handled with care
+ * (see depth_stencil_attachment_compute_aux_usage() for more info).
+ */
+ if (devinfo->gen != 8 && !devinfo->has_sample_with_hiz)
return false;
return image->samples == 1;