summaryrefslogtreecommitdiff
path: root/src/amd/vulkan/radv_device.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/amd/vulkan/radv_device.c')
-rw-r--r--src/amd/vulkan/radv_device.c20
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