radv: adjust the CmdUpdateBuffer threshold for optimal performance
authorSamuel Pitoiset <samuel.pitoiset@gmail.com>
Wed, 26 Sep 2018 09:10:58 +0000 (11:10 +0200)
committerSamuel Pitoiset <samuel.pitoiset@gmail.com>
Fri, 28 Sep 2018 07:08:44 +0000 (09:08 +0200)
According to my benchmark results, it appears that we should
reduce the threshold to 1024.

BEFORE:
1 KB: 68.656000 ms
2 KB: 118.368000 ms

AFTER:
1 KB: 31.760000 ms
2 KB: 29.840000 ms

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

index f1887e3318379fbed36a016906e8a6d7cfdd267f..8726d36f5fa09ca123ad88e367693b2b715c27af 100644 (file)
@@ -513,7 +513,7 @@ void radv_CmdUpdateBuffer(
        if (!dataSize)
                return;
 
-       if (dataSize < RADV_BUFFER_OPS_CS_THRESHOLD) {
+       if (dataSize < RADV_BUFFER_UPDATE_THRESHOLD) {
                si_emit_cache_flush(cmd_buffer);
 
                radv_cs_add_buffer(cmd_buffer->device->ws, cmd_buffer->cs, dst_buffer->bo);
index a649835959d3f02e8b73e13f3ed1524ab6f3066e..15a66bdc1b1a502137d8c19942470c6bc9ce49c9 100644 (file)
@@ -108,6 +108,8 @@ typedef uint32_t xcb_window_t;
  */
 #define RADV_BUFFER_OPS_CS_THRESHOLD 4096
 
+#define RADV_BUFFER_UPDATE_THRESHOLD 1024
+
 enum radv_mem_heap {
        RADV_MEM_HEAP_VRAM,
        RADV_MEM_HEAP_VRAM_CPU_ACCESS,