diff --git a/Ryujinx.Graphics.Gpu/GpuContext.cs b/Ryujinx.Graphics.Gpu/GpuContext.cs
index 66077c3bf6..67edd84278 100644
--- a/Ryujinx.Graphics.Gpu/GpuContext.cs
+++ b/Ryujinx.Graphics.Gpu/GpuContext.cs
@@ -82,27 +82,13 @@ namespace Ryujinx.Graphics.Gpu
///
/// Host hardware capabilities.
///
- internal ref Capabilities Capabilities
- {
- get
- {
- if (!_capsLoaded)
- {
- _caps = Renderer.GetCapabilities();
- _capsLoaded = true;
- }
-
- return ref _caps;
- }
- }
+ internal Capabilities Capabilities { get; private set; }
///
/// Event for signalling shader cache loading progress.
///
public event Action ShaderCacheStateChanged;
- private bool _capsLoaded;
- private Capabilities _caps;
private Thread _gpuThread;
///
@@ -254,6 +240,8 @@ namespace Ryujinx.Graphics.Gpu
public void SetGpuThread()
{
_gpuThread = Thread.CurrentThread;
+
+ Capabilities = Renderer.GetCapabilities();
}
///
diff --git a/Ryujinx.Headless.SDL2/WindowBase.cs b/Ryujinx.Headless.SDL2/WindowBase.cs
index 74eb0d31ae..c7c4559627 100644
--- a/Ryujinx.Headless.SDL2/WindowBase.cs
+++ b/Ryujinx.Headless.SDL2/WindowBase.cs
@@ -164,6 +164,7 @@ namespace Ryujinx.Headless.SDL2
Device.Gpu.Renderer.RunLoop(() =>
{
+ Device.Gpu.SetGpuThread();
Device.Gpu.InitializeShaderCache(_gpuCancellationTokenSource.Token);
Translator.IsReadyForTranslation.Set();