radv: Add flag for enabling binning.
authorBas Nieuwenhuizen <bas@basnieuwenhuizen.nl>
Sat, 30 Dec 2017 16:31:15 +0000 (17:31 +0100)
committerBas Nieuwenhuizen <bas@basnieuwenhuizen.nl>
Sun, 31 Dec 2017 12:47:51 +0000 (13:47 +0100)
Letting it be disabled by default.

Reviewed-by: Dave Airlie <airlied@redhat.com>
src/amd/vulkan/radv_debug.h
src/amd/vulkan/radv_device.c

index af07564833ecd3c051d72aab144206dbd88752c6..5b37bfe0847d87f6a23fca2cc6cded3ef96bbf35 100644 (file)
@@ -48,6 +48,7 @@ enum {
        RADV_PERFTEST_NO_BATCHCHAIN  =   0x1,
        RADV_PERFTEST_SISCHED        =   0x2,
        RADV_PERFTEST_LOCAL_BOS      =   0x4,
+       RADV_PERFTEST_BINNING     =   0x8,
 };
 
 bool
index 130b4222bcdc7820dffaf448ba6e24dd09e166c7..ed46692cefb4b9b855e3b569a32c00be150eb745 100644 (file)
@@ -344,6 +344,7 @@ static const struct debug_control radv_perftest_options[] = {
        {"nobatchchain", RADV_PERFTEST_NO_BATCHCHAIN},
        {"sisched", RADV_PERFTEST_SISCHED},
        {"localbos", RADV_PERFTEST_LOCAL_BOS},
+       {"binning", RADV_PERFTEST_BINNING},
        {NULL, 0}
 };
 
@@ -1080,6 +1081,13 @@ VkResult radv_CreateDevice(
                }
        }
 
+       device->pbb_allowed = device->physical_device->rad_info.chip_class >= GFX9 &&
+                             (device->instance->perftest_flags & RADV_PERFTEST_BINNING);
+
+       /* Disabled and not implemented for now. */
+       device->dfsm_allowed = device->pbb_allowed && false;
+
+
 #if HAVE_LLVM < 0x0400
        device->llvm_supports_spill = false;
 #else