mirror of
https://git.ryujinx.app/projects/Kenji-NX.git
synced 2026-10-08 14:19:29 +02:00
Snapdragon 8 Elite (& Adreno 8xx) Fixes
See merge request kenji-nx/ryujinx!20
This commit is contained in:
@@ -398,6 +398,9 @@ namespace Ryujinx.HLE.HOS.Services.Nv.NvDrvServices.NvHostAsGpu
|
||||
return NvInternalResult.Success;
|
||||
}
|
||||
|
||||
public override void Close() { }
|
||||
public override void Close()
|
||||
{
|
||||
_asContext.Close();
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
+11
@@ -123,6 +123,17 @@ namespace Ryujinx.HLE.HOS.Services.Nv.NvDrvServices.NvHostAsGpu.Types
|
||||
return _reservations.Remove(gpuVa);
|
||||
}
|
||||
|
||||
public void Close()
|
||||
{
|
||||
foreach (var map in _maps.Values)
|
||||
{
|
||||
Gmm.Unmap(map.Start, map.End - map.Start);
|
||||
}
|
||||
|
||||
_maps.Clear();
|
||||
_reservations.Clear();
|
||||
}
|
||||
|
||||
private Range BinarySearch(SortedList<ulong, Range> list, ulong address)
|
||||
{
|
||||
int left = 0;
|
||||
|
||||
@@ -32,7 +32,7 @@ namespace Ryujinx.HLE.HOS.Services.Nv.NvDrvServices.NvHostCtrl
|
||||
/// Max failing count until waiting on CPU.
|
||||
/// FIXME: This seems enough for most of the cases, reduce if needed.
|
||||
/// </summary>
|
||||
private const uint FailingCountMax = 2;
|
||||
private const uint FailingCountMax = 10;
|
||||
|
||||
public NvHostEvent(NvHostSyncpt syncpointManager, uint eventId, Horizon system)
|
||||
{
|
||||
|
||||
@@ -368,7 +368,16 @@ namespace Ryujinx.HLE.HOS.Services
|
||||
_requestDataReader,
|
||||
_responseDataWriter);
|
||||
|
||||
GetSessionObj(serverSessionHandle).CallCmifMethod(context);
|
||||
try
|
||||
{
|
||||
GetSessionObj(serverSessionHandle).CallCmifMethod(context);
|
||||
}
|
||||
catch (Ryujinx.HLE.Exceptions.GuestBrokeExecutionException)
|
||||
{
|
||||
Logger.Warning?.Print(LogClass.Kernel, "Guest broke execution in service call. Thread exiting.");
|
||||
_selfThread.Exit();
|
||||
return false;
|
||||
}
|
||||
|
||||
response.RawData = _responseDataStream.ToArray();
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user