diff options
Diffstat (limited to 'src/amd/vulkan/radv_device.c')
-rw-r--r-- | src/amd/vulkan/radv_device.c | 20 |
1 files changed, 20 insertions, 0 deletions
diff --git a/src/amd/vulkan/radv_device.c b/src/amd/vulkan/radv_device.c index 471cecdd6ab..50dbe061d50 100644 --- a/src/amd/vulkan/radv_device.c +++ b/src/amd/vulkan/radv_device.c @@ -341,6 +341,24 @@ radv_get_perftest_option_name(int id) return radv_perftest_options[id].string; } +static void +radv_handle_per_app_options(struct radv_instance *instance, + const VkApplicationInfo *info) +{ + const char *name = info ? info->pApplicationName : NULL; + + if (!name) + return; + + if (!strcmp(name, "Talos - Linux - 32bit") || + !strcmp(name, "Talos - Linux - 64bit")) { + /* Force enable LLVM sisched for Talos because it looks safe + * and it gives few more FPS. + */ + instance->perftest_flags |= RADV_PERFTEST_SISCHED; + } +} + VkResult radv_CreateInstance( const VkInstanceCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, @@ -398,6 +416,8 @@ VkResult radv_CreateInstance( instance->perftest_flags = parse_debug_string(getenv("RADV_PERFTEST"), radv_perftest_options); + radv_handle_per_app_options(instance, pCreateInfo->pApplicationInfo); + if (instance->debug_flags & RADV_DEBUG_NO_SISCHED) { /* Disable sisched when the user requests it, this is mostly * useful when the driver force-enable sisched for the given |