anv/blorp: Don't fast depth clear samplable HiZ buffers on BDW
authorNanley Chery <nanley.g.chery@intel.com>
Thu, 15 Dec 2016 17:57:48 +0000 (09:57 -0800)
committerNanley Chery <nanley.g.chery@intel.com>
Fri, 13 Jan 2017 04:52:21 +0000 (20:52 -0800)
Avoid the resolves that would be required if fast depth clears were
allowed for such buffers.

Signed-off-by: Nanley Chery <nanley.g.chery@intel.com>
Reviewed-by: Jason Ekstrand <jason@jlekstrand.net>
src/intel/vulkan/anv_blorp.c

index b161400db570dd3d11ef058a3178974b5f9c74ea..2edd0712c95a6324c2eaddd6a0a2ef1b7c6fcf1b 100644 (file)
@@ -1271,6 +1271,15 @@ anv_cmd_buffer_clear_subpass(struct anv_cmd_buffer *cmd_buffer)
                 * ANV_HZ_FC_VAL.
                 */
                clear_with_hiz = false;
+            } else if (gen == 8 &&
+                       anv_can_sample_with_hiz(cmd_buffer->device->info.gen,
+                                               iview->image->samples)) {
+               /* Only gen9+ supports returning ANV_HZ_FC_VAL when sampling a
+                * fast-cleared portion of a HiZ buffer. Testing has revealed
+                * that Gen8 only supports returning 0.0f. Gens prior to gen8 do
+                * not support this feature at all.
+                */
+               clear_with_hiz = false;
             }
          }