radv: only flush scalar cache for SSBO writes with ACO on GFX8+
authorDaniel Schürmann <daniel@schuermann.dev>
Mon, 18 Nov 2019 10:15:06 +0000 (11:15 +0100)
committerDaniel Schürmann <daniel@schuermann.dev>
Sat, 7 Dec 2019 10:23:11 +0000 (11:23 +0100)
Reviewed-by: Rhys Perry <pendingchaos02@gmail.com>
src/amd/vulkan/radv_cmd_buffer.c

index efa60dcbdb878f20df4c7031ced64c5b03464cbe..d655f6e2313a0812feab7e83b6d46f0159f09c18 100644 (file)
@@ -2866,7 +2866,8 @@ radv_dst_access_flush(struct radv_cmd_buffer *cmd_buffer,
                        flush_bits |= RADV_CMD_FLAG_INV_VCACHE;
                        /* Unlike LLVM, ACO uses SMEM for SSBOs and we have to
                         * invalidate the scalar cache. */
-                       if (cmd_buffer->device->physical_device->use_aco)
+                       if (cmd_buffer->device->physical_device->use_aco &&
+                           cmd_buffer->device->physical_device->rad_info.chip_class >= GFX8)
                                flush_bits |= RADV_CMD_FLAG_INV_SCACHE;
 
                        if (!image_is_coherent)