radv: re-enable fast depth clears for 16-bit surfaces on VI
authorSamuel Pitoiset <samuel.pitoiset@gmail.com>
Mon, 28 Jan 2019 16:41:07 +0000 (17:41 +0100)
committerSamuel Pitoiset <samuel.pitoiset@gmail.com>
Tue, 29 Jan 2019 14:20:55 +0000 (15:20 +0100)
This has been disabled some months ago because it introduced
rendering issues with Shadow Of Warrier II (DXVK). This game is
no longer affected, I wonder if 824cfc1ee5e ("radv: rework the
TC-compat HTILE hardware bug with COND_EXEC") fixed the problem.
I checked The Forest on my Polaris, and it renders fine too.

According to Phillip, this gives +5.5% with Rise Of The Tomb
Raider and DXVK. This is because DXVK  uses 16-bit depth surfaces
while the native port from Feral uses 32-bit depth surfaces.

Unfortunately, Shadow Of The Tomb Raider isn't affected because
it clears each layer of a D16 array texture individually. So it
doesn't hit the fast clear path.

Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Reviewed-by: Bas Nieuwenhuizen <bas@basnieuwenhuizen.nl>
src/amd/vulkan/radv_meta_clear.c

index b61345b9241bf14c306fec475753a967da3d7baf..8805f0435e1d84322380fa27ab7bac9f070a4d04 100644 (file)
@@ -899,14 +899,6 @@ radv_image_can_fast_clear(struct radv_device *device,  struct radv_image *image)
        } else {
                if (!radv_image_has_htile(image))
                        return false;
-
-               /* GFX8 only supports 32-bit depth surfaces but we can enable
-                * TC-compat HTILE for 16-bit surfaces if no Z planes are
-                * compressed. Though, fast HTILE clears don't seem to work.
-                */
-               if (device->physical_device->rad_info.chip_class == VI &&
-                   image->vk_format == VK_FORMAT_D16_UNORM)
-                       return false;
        }
 
        /* Do not fast clears 3D images. */