aboutsummaryrefslogtreecommitdiff
path: root/Ryujinx.HLE/Gpu/Engines
diff options
context:
space:
mode:
Diffstat (limited to 'Ryujinx.HLE/Gpu/Engines')
-rw-r--r--Ryujinx.HLE/Gpu/Engines/NvGpuEngine3d.cs10
1 files changed, 6 insertions, 4 deletions
diff --git a/Ryujinx.HLE/Gpu/Engines/NvGpuEngine3d.cs b/Ryujinx.HLE/Gpu/Engines/NvGpuEngine3d.cs
index 2bacd71b..5c474ab0 100644
--- a/Ryujinx.HLE/Gpu/Engines/NvGpuEngine3d.cs
+++ b/Ryujinx.HLE/Gpu/Engines/NvGpuEngine3d.cs
@@ -172,6 +172,8 @@ namespace Ryujinx.HLE.Gpu.Engines
for (; Index < 6; Index++)
{
+ GalShaderType Type = GetTypeFromProgram(Index);
+
int Control = ReadRegister(NvGpuEngine3dReg.ShaderNControl + Index * 0x10);
int Offset = ReadRegister(NvGpuEngine3dReg.ShaderNOffset + Index * 0x10);
@@ -180,16 +182,16 @@ namespace Ryujinx.HLE.Gpu.Engines
if (!Enable)
{
+ Gpu.Renderer.Shader.Unbind(Type);
+
continue;
}
long Key = BasePosition + (uint)Offset;
- GalShaderType ShaderType = GetTypeFromProgram(Index);
-
- Keys[(int)ShaderType] = Key;
+ Keys[(int)Type] = Key;
- Gpu.Renderer.Shader.Create(Vmm, Key, ShaderType);
+ Gpu.Renderer.Shader.Create(Vmm, Key, Type);
Gpu.Renderer.Shader.Bind(Key);
}