aboutsummaryrefslogtreecommitdiff
path: root/src/Ryujinx.Common/GraphicsDriver/DriverUtilities.cs
diff options
context:
space:
mode:
Diffstat (limited to 'src/Ryujinx.Common/GraphicsDriver/DriverUtilities.cs')
-rw-r--r--src/Ryujinx.Common/GraphicsDriver/DriverUtilities.cs24
1 files changed, 22 insertions, 2 deletions
diff --git a/src/Ryujinx.Common/GraphicsDriver/DriverUtilities.cs b/src/Ryujinx.Common/GraphicsDriver/DriverUtilities.cs
index 7fe2a4f02..a9163f348 100644
--- a/src/Ryujinx.Common/GraphicsDriver/DriverUtilities.cs
+++ b/src/Ryujinx.Common/GraphicsDriver/DriverUtilities.cs
@@ -1,13 +1,33 @@
1using Ryujinx.Common.Utilities;
1using System; 2using System;
2 3
3namespace Ryujinx.Common.GraphicsDriver 4namespace Ryujinx.Common.GraphicsDriver
4{ 5{
5 public static class DriverUtilities 6 public static class DriverUtilities
6 { 7 {
8 private static void AddMesaFlags(string envVar, string newFlags)
9 {
10 string existingFlags = Environment.GetEnvironmentVariable(envVar);
11
12 string flags = existingFlags == null ? newFlags : $"{existingFlags},{newFlags}";
13
14 OsUtils.SetEnvironmentVariableNoCaching(envVar, flags);
15 }
16
17 public static void InitDriverConfig(bool oglThreading)
18 {
19 if (OperatingSystem.IsLinux())
20 {
21 AddMesaFlags("RADV_DEBUG", "nodcc");
22 }
23
24 ToggleOGLThreading(oglThreading);
25 }
26
7 public static void ToggleOGLThreading(bool enabled) 27 public static void ToggleOGLThreading(bool enabled)
8 { 28 {
9 Environment.SetEnvironmentVariable("mesa_glthread", enabled.ToString().ToLower()); 29 OsUtils.SetEnvironmentVariableNoCaching("mesa_glthread", enabled.ToString().ToLower());
10 Environment.SetEnvironmentVariable("__GL_THREADED_OPTIMIZATIONS", enabled ? "1" : "0"); 30 OsUtils.SetEnvironmentVariableNoCaching("__GL_THREADED_OPTIMIZATIONS", enabled ? "1" : "0");
11 31
12 try 32 try
13 { 33 {