radv: enable DCC stores on RDNA2
authorSamuel Pitoiset <samuel.pitoiset@gmail.com>
Mon, 26 Apr 2021 11:46:58 +0000 (13:46 +0200)
committerMarge Bot <eric+marge@anholt.net>
Wed, 19 May 2021 07:17:29 +0000 (07:17 +0000)
It seems this gives 2-3% improvements most of the time. This also
enables DCC for concurrent images.

Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Reviewed-by: Bas Nieuwenhuizen <bas@basnieuwenhuizen.nl>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/10454>

docs/envvars.rst
src/amd/vulkan/radv_debug.h
src/amd/vulkan/radv_device.c
src/amd/vulkan/radv_image.c

index 1cd8958..d95e791 100644 (file)
@@ -633,8 +633,6 @@ RADV driver environment variables
       enable wave32 for compute shaders (GFX10+)
    ``dccmsaa``
       enable DCC for MSAA images
-   ``dccstores``
-      enable DCC for storage images (for performance testing on GFX10.3 only)
    ``dfsm``
       enable DFSM
    ``gewave32``
index 27b8214..7d01d5b 100644 (file)
@@ -74,7 +74,6 @@ enum {
    RADV_PERFTEST_DFSM = 1u << 6,
    RADV_PERFTEST_NO_SAM = 1u << 7,
    RADV_PERFTEST_SAM = 1u << 8,
-   RADV_PERFTEST_DCC_STORES = 1u << 9,
 };
 
 bool radv_init_trace(struct radv_device *device);
index 3ea17e8..101d3be 100644 (file)
@@ -816,7 +816,7 @@ static const struct debug_control radv_perftest_options[] = {
    {"cswave32", RADV_PERFTEST_CS_WAVE_32},  {"pswave32", RADV_PERFTEST_PS_WAVE_32},
    {"gewave32", RADV_PERFTEST_GE_WAVE_32},  {"dfsm", RADV_PERFTEST_DFSM},
    {"nosam", RADV_PERFTEST_NO_SAM},         {"sam", RADV_PERFTEST_SAM},
-   {"dccstores", RADV_PERFTEST_DCC_STORES}, {NULL, 0}};
+   {NULL, 0}};
 
 const char *
 radv_get_perftest_option_name(int id)
index 039cc84..0165889 100644 (file)
@@ -276,14 +276,7 @@ radv_use_dcc_for_image(struct radv_device *device, const struct radv_image *imag
 bool
 radv_image_use_dcc_image_stores(const struct radv_device *device, const struct radv_image *image)
 {
-   /*
-    * TODO: Enable on more HW. DIMGREY and VANGOGH need a workaround and
-    * we need more perf analysis.
-    * https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/6796#note_643853
-    */
-   return device->physical_device->rad_info.chip_class == GFX10 ||
-          (device->physical_device->rad_info.chip_class == GFX10_3 &&
-           (device->instance->perftest_flags & RADV_PERFTEST_DCC_STORES));
+   return device->physical_device->rad_info.chip_class >= GFX10;
 }
 
 /*