mirror of
https://github.com/Ryujinx/Ryujinx.git
synced 2024-09-10 13:43:17 +02:00
Remove artificial call count limit for EndGl (#357)
This commit is contained in:
parent
6e1a6c5b2b
commit
182d716867
@ -1,4 +1,3 @@
|
||||
using Ryujinx.HLE.Gpu.Exceptions;
|
||||
using Ryujinx.HLE.Gpu.Memory;
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
@ -7,10 +6,6 @@ namespace Ryujinx.HLE.Gpu.Engines
|
||||
{
|
||||
class MacroInterpreter
|
||||
{
|
||||
private const int MaxCallCountPerRun = 500;
|
||||
|
||||
private int CallCount;
|
||||
|
||||
private enum AssignmentOperation
|
||||
{
|
||||
IgnoreAndFetch = 0,
|
||||
@ -102,8 +97,6 @@ namespace Ryujinx.HLE.Gpu.Engines
|
||||
MethIncr = 0;
|
||||
|
||||
Carry = false;
|
||||
|
||||
CallCount = 0;
|
||||
}
|
||||
|
||||
private bool Step(NvGpuVmm Vmm, int[] Mme)
|
||||
@ -415,15 +408,6 @@ namespace Ryujinx.HLE.Gpu.Engines
|
||||
|
||||
private void Send(NvGpuVmm Vmm, int Value)
|
||||
{
|
||||
//This is an artificial limit that prevents excessive calls
|
||||
//to VertexEndGl since that triggers rendering, and in the
|
||||
//case that something is bugged and causes an absurd amount of
|
||||
//draw calls, this prevents the system from freezing (and throws instead).
|
||||
if (MethAddr == 0x585 && ++CallCount > MaxCallCountPerRun)
|
||||
{
|
||||
GpuExceptionHelper.ThrowCallCoundExceeded();
|
||||
}
|
||||
|
||||
NvGpuPBEntry PBEntry = new NvGpuPBEntry(MethAddr, 0, Value);
|
||||
|
||||
Engine.CallMethod(Vmm, PBEntry);
|
||||
|
@ -1,11 +0,0 @@
|
||||
using System;
|
||||
|
||||
namespace Ryujinx.HLE.Gpu.Exceptions
|
||||
{
|
||||
class GpuException : Exception
|
||||
{
|
||||
public GpuException() : base() { }
|
||||
|
||||
public GpuException(string ExMsg) : base(ExMsg) { }
|
||||
}
|
||||
}
|
@ -1,12 +0,0 @@
|
||||
namespace Ryujinx.HLE.Gpu.Exceptions
|
||||
{
|
||||
static class GpuExceptionHelper
|
||||
{
|
||||
private const string CallCountExceeded = "Method call count exceeded the limit allowed per run!";
|
||||
|
||||
public static void ThrowCallCoundExceeded()
|
||||
{
|
||||
throw new GpuException(CallCountExceeded);
|
||||
}
|
||||
}
|
||||
}
|
Loading…
Reference in New Issue
Block a user