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: <mesa-stable@lists.freedesktop.org> Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com> Reviewed-by: Anuj Phogat <anuj.phogat@gmail.com>
This commit is contained in:
parent
ded2c202d5
commit
629806b55b
|
@ -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;
|
||||
|
|
Loading…
Reference in New Issue