aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorHorrorTroll <sonicvipduc@gmail.com>2020-03-25 04:54:09 +0700
committerGitHub <noreply@github.com>2020-03-24 22:54:09 +0100
commit17200214dfbd60ba075f106e558d4f563a1bbe98 (patch)
tree209bcf914b940f602358dde5de028566c3dac828
parent1de16f7653b1c5ef1c780fe8840c9c5819c08a3d (diff)
Add GPU name in status bar (#984)
* Add GPU name in status bar * Fixed like Ac_K suggest * Nit. * Minor fix * Minor change. * Nit. * Fixed for ATI vendor * Minor fix, again...
-rw-r--r--Ryujinx.Graphics.OpenGL/Renderer.cs14
-rw-r--r--Ryujinx/Ui/GLRenderer.cs9
-rw-r--r--Ryujinx/Ui/MainWindow.cs2
-rw-r--r--Ryujinx/Ui/MainWindow.glade29
-rw-r--r--Ryujinx/Ui/StatusUpdatedEventArgs.cs4
5 files changed, 50 insertions, 8 deletions
diff --git a/Ryujinx.Graphics.OpenGL/Renderer.cs b/Ryujinx.Graphics.OpenGL/Renderer.cs
index ccb53397..6ff3c36c 100644
--- a/Ryujinx.Graphics.OpenGL/Renderer.cs
+++ b/Ryujinx.Graphics.OpenGL/Renderer.cs
@@ -19,6 +19,12 @@ namespace Ryujinx.Graphics.OpenGL
internal TextureCopy TextureCopy { get; }
+ public string GpuVendor { get; private set; }
+
+ public string GpuRenderer { get; private set; }
+
+ public string GpuVersion { get; private set; }
+
public Renderer()
{
_pipeline = new Pipeline();
@@ -78,11 +84,11 @@ namespace Ryujinx.Graphics.OpenGL
private void PrintGpuInformation()
{
- string gpuVendor = GL.GetString(StringName.Vendor);
- string gpuRenderer = GL.GetString(StringName.Renderer);
- string gpuVersion = GL.GetString(StringName.Version);
+ GpuVendor = GL.GetString(StringName.Vendor);
+ GpuRenderer = GL.GetString(StringName.Renderer);
+ GpuVersion = GL.GetString(StringName.Version);
- Logger.PrintInfo(LogClass.Gpu, $"{gpuVendor} {gpuRenderer} ({gpuVersion})");
+ Logger.PrintInfo(LogClass.Gpu, $"{GpuVendor} {GpuRenderer} ({GpuVersion})");
}
public void ResetCounter(CounterType type)
diff --git a/Ryujinx/Ui/GLRenderer.cs b/Ryujinx/Ui/GLRenderer.cs
index 5d0d1908..160608eb 100644
--- a/Ryujinx/Ui/GLRenderer.cs
+++ b/Ryujinx/Ui/GLRenderer.cs
@@ -335,10 +335,17 @@ namespace Ryujinx.Ui
_device.Statistics.RecordSystemFrameTime();
+ string gpuVendor = "Unknown";
+
+ if (_renderer.GpuVendor.ToLower().Contains("nvidia")) gpuVendor = "NVIDIA";
+ if (_renderer.GpuVendor.ToLower().Contains("amd") || _renderer.GpuVendor.ToLower().Contains("ati")) gpuVendor = "AMD";
+ if (_renderer.GpuVendor.ToLower().Contains("intel")) gpuVendor = "Intel";
+
StatusUpdatedEvent?.Invoke(this, new StatusUpdatedEventArgs(
_device.EnableDeviceVsync,
$"Host: {_device.Statistics.GetSystemFrameRate():00.00} FPS",
- $"Game: {_device.Statistics.GetGameFrameRate():00.00} FPS"));
+ $"Game: {_device.Statistics.GetGameFrameRate():00.00} FPS",
+ $"GPU: {gpuVendor}"));
_device.System.SignalVsync();
diff --git a/Ryujinx/Ui/MainWindow.cs b/Ryujinx/Ui/MainWindow.cs
index eaa0a7cd..f658bea4 100644
--- a/Ryujinx/Ui/MainWindow.cs
+++ b/Ryujinx/Ui/MainWindow.cs
@@ -71,6 +71,7 @@ namespace Ryujinx.Ui
[GUI] TreeView _gameTable;
[GUI] ScrolledWindow _gameTableWindow;
[GUI] TreeSelection _gameTableSelection;
+ [GUI] Label _gpuName;
[GUI] Label _progressLabel;
[GUI] Label _firmwareVersionLabel;
[GUI] LevelBar _progressBar;
@@ -605,6 +606,7 @@ namespace Ryujinx.Ui
{
_hostStatus.Text = args.HostStatus;
_gameStatus.Text = args.GameStatus;
+ _gpuName.Text = args.GpuName;
if (args.VSyncEnabled)
{
diff --git a/Ryujinx/Ui/MainWindow.glade b/Ryujinx/Ui/MainWindow.glade
index f8b39529..931cd2a5 100644
--- a/Ryujinx/Ui/MainWindow.glade
+++ b/Ryujinx/Ui/MainWindow.glade
@@ -475,7 +475,7 @@
<property name="visible">True</property>
<property name="can_focus">False</property>
<property name="halign">start</property>
- <property name="margin_left">10</property>
+ <property name="margin_left">5</property>
<property name="margin_right">5</property>
<property name="label" translatable="yes">VSync</property>
</object>
@@ -527,13 +527,38 @@
<property name="can_focus">False</property>
<property name="halign">start</property>
<property name="margin_left">5</property>
+ <property name="margin_right">5</property>
</object>
<packing>
- <property name="expand">True</property>
+ <property name="expand">False</property>
<property name="fill">True</property>
<property name="position">4</property>
</packing>
</child>
+ <child>
+ <object class="GtkSeparator">
+ <property name="visible">True</property>
+ <property name="can_focus">False</property>
+ </object>
+ <packing>
+ <property name="expand">False</property>
+ <property name="fill">True</property>
+ <property name="position">5</property>
+ </packing>
+ </child>
+ <child>
+ <object class="GtkLabel" id="_gpuName">
+ <property name="visible">True</property>
+ <property name="can_focus">False</property>
+ <property name="halign">start</property>
+ <property name="margin_left">5</property>
+ </object>
+ <packing>
+ <property name="expand">True</property>
+ <property name="fill">True</property>
+ <property name="position">6</property>
+ </packing>
+ </child>
</object>
<packing>
<property name="expand">True</property>
diff --git a/Ryujinx/Ui/StatusUpdatedEventArgs.cs b/Ryujinx/Ui/StatusUpdatedEventArgs.cs
index 85093805..3d0cc300 100644
--- a/Ryujinx/Ui/StatusUpdatedEventArgs.cs
+++ b/Ryujinx/Ui/StatusUpdatedEventArgs.cs
@@ -7,12 +7,14 @@ namespace Ryujinx.Ui
public bool VSyncEnabled;
public string HostStatus;
public string GameStatus;
+ public string GpuName;
- public StatusUpdatedEventArgs(bool vSyncEnabled, string hostStatus, string gameStatus)
+ public StatusUpdatedEventArgs(bool vSyncEnabled, string hostStatus, string gameStatus, string gpuName)
{
VSyncEnabled = vSyncEnabled;
HostStatus = hostStatus;
GameStatus = gameStatus;
+ GpuName = gpuName;
}
}
} \ No newline at end of file