Compare commits
4 Commits
Author | SHA1 | Date | |
---|---|---|---|
|
99f46e22e2 | ||
|
22fb8c9d4f | ||
|
2f93ae9a19 | ||
|
3224ddeeb4 |
@@ -42,7 +42,7 @@
|
|||||||
<PackageVersion Include="Silk.NET.Vulkan" Version="2.16.0" />
|
<PackageVersion Include="Silk.NET.Vulkan" Version="2.16.0" />
|
||||||
<PackageVersion Include="Silk.NET.Vulkan.Extensions.EXT" Version="2.16.0" />
|
<PackageVersion Include="Silk.NET.Vulkan.Extensions.EXT" Version="2.16.0" />
|
||||||
<PackageVersion Include="Silk.NET.Vulkan.Extensions.KHR" Version="2.16.0" />
|
<PackageVersion Include="Silk.NET.Vulkan.Extensions.KHR" Version="2.16.0" />
|
||||||
<PackageVersion Include="SixLabors.ImageSharp" Version="2.1.7" />
|
<PackageVersion Include="SixLabors.ImageSharp" Version="2.1.8" />
|
||||||
<PackageVersion Include="SixLabors.ImageSharp.Drawing" Version="1.0.0" />
|
<PackageVersion Include="SixLabors.ImageSharp.Drawing" Version="1.0.0" />
|
||||||
<PackageVersion Include="SPB" Version="0.0.4-build32" />
|
<PackageVersion Include="SPB" Version="0.0.4-build32" />
|
||||||
<PackageVersion Include="System.IO.Hashing" Version="8.0.0" />
|
<PackageVersion Include="System.IO.Hashing" Version="8.0.0" />
|
||||||
|
@@ -770,7 +770,7 @@ namespace Ryujinx.Graphics.Gpu.Image
|
|||||||
? _channel.BufferManager.GetComputeUniformBufferAddress(textureBufferIndex)
|
? _channel.BufferManager.GetComputeUniformBufferAddress(textureBufferIndex)
|
||||||
: _channel.BufferManager.GetGraphicsUniformBufferAddress(stageIndex, textureBufferIndex);
|
: _channel.BufferManager.GetGraphicsUniformBufferAddress(stageIndex, textureBufferIndex);
|
||||||
|
|
||||||
int handle = textureBufferAddress != 0
|
int handle = textureBufferAddress != MemoryManager.PteUnmapped
|
||||||
? _channel.MemoryManager.Physical.Read<int>(textureBufferAddress + (uint)textureWordOffset * 4)
|
? _channel.MemoryManager.Physical.Read<int>(textureBufferAddress + (uint)textureWordOffset * 4)
|
||||||
: 0;
|
: 0;
|
||||||
|
|
||||||
@@ -790,7 +790,7 @@ namespace Ryujinx.Graphics.Gpu.Image
|
|||||||
? _channel.BufferManager.GetComputeUniformBufferAddress(samplerBufferIndex)
|
? _channel.BufferManager.GetComputeUniformBufferAddress(samplerBufferIndex)
|
||||||
: _channel.BufferManager.GetGraphicsUniformBufferAddress(stageIndex, samplerBufferIndex);
|
: _channel.BufferManager.GetGraphicsUniformBufferAddress(stageIndex, samplerBufferIndex);
|
||||||
|
|
||||||
samplerHandle = samplerBufferAddress != 0
|
samplerHandle = samplerBufferAddress != MemoryManager.PteUnmapped
|
||||||
? _channel.MemoryManager.Physical.Read<int>(samplerBufferAddress + (uint)samplerWordOffset * 4)
|
? _channel.MemoryManager.Physical.Read<int>(samplerBufferAddress + (uint)samplerWordOffset * 4)
|
||||||
: 0;
|
: 0;
|
||||||
}
|
}
|
||||||
|
@@ -302,12 +302,12 @@ namespace Ryujinx.Graphics.Vulkan
|
|||||||
SubmitInfo sInfo = new()
|
SubmitInfo sInfo = new()
|
||||||
{
|
{
|
||||||
SType = StructureType.SubmitInfo,
|
SType = StructureType.SubmitInfo,
|
||||||
WaitSemaphoreCount = waitSemaphores != null ? (uint)waitSemaphores.Length : 0,
|
WaitSemaphoreCount = !waitSemaphores.IsEmpty ? (uint)waitSemaphores.Length : 0,
|
||||||
PWaitSemaphores = pWaitSemaphores,
|
PWaitSemaphores = pWaitSemaphores,
|
||||||
PWaitDstStageMask = pWaitDstStageMask,
|
PWaitDstStageMask = pWaitDstStageMask,
|
||||||
CommandBufferCount = 1,
|
CommandBufferCount = 1,
|
||||||
PCommandBuffers = &commandBuffer,
|
PCommandBuffers = &commandBuffer,
|
||||||
SignalSemaphoreCount = signalSemaphores != null ? (uint)signalSemaphores.Length : 0,
|
SignalSemaphoreCount = !signalSemaphores.IsEmpty ? (uint)signalSemaphores.Length : 0,
|
||||||
PSignalSemaphores = pSignalSemaphores,
|
PSignalSemaphores = pSignalSemaphores,
|
||||||
};
|
};
|
||||||
|
|
||||||
|
@@ -60,7 +60,7 @@ namespace Ryujinx.HLE.HOS.Services.Fatal
|
|||||||
errorReport.AppendLine($"\tResultCode: {((int)resultCode & 0x1FF) + 2000}-{((int)resultCode >> 9) & 0x3FFF:d4}");
|
errorReport.AppendLine($"\tResultCode: {((int)resultCode & 0x1FF) + 2000}-{((int)resultCode >> 9) & 0x3FFF:d4}");
|
||||||
errorReport.AppendLine($"\tFatalPolicy: {fatalPolicy}");
|
errorReport.AppendLine($"\tFatalPolicy: {fatalPolicy}");
|
||||||
|
|
||||||
if (cpuContext != null)
|
if (!cpuContext.IsEmpty)
|
||||||
{
|
{
|
||||||
errorReport.AppendLine("CPU Context:");
|
errorReport.AppendLine("CPU Context:");
|
||||||
|
|
||||||
|
@@ -143,7 +143,7 @@ namespace Ryujinx.HLE.HOS
|
|||||||
|
|
||||||
try
|
try
|
||||||
{
|
{
|
||||||
ControllerKeys pressedKeys = (ControllerKeys)Thread.VolatileRead(ref _pressedKeys);
|
ControllerKeys pressedKeys = (ControllerKeys)Volatile.Read(ref _pressedKeys);
|
||||||
program.Process.TamperedCodeMemory = false;
|
program.Process.TamperedCodeMemory = false;
|
||||||
program.Execute(pressedKeys);
|
program.Execute(pressedKeys);
|
||||||
|
|
||||||
@@ -175,14 +175,14 @@ namespace Ryujinx.HLE.HOS
|
|||||||
{
|
{
|
||||||
if (input.PlayerId == PlayerIndex.Player1 || input.PlayerId == PlayerIndex.Handheld)
|
if (input.PlayerId == PlayerIndex.Player1 || input.PlayerId == PlayerIndex.Handheld)
|
||||||
{
|
{
|
||||||
Thread.VolatileWrite(ref _pressedKeys, (long)input.Buttons);
|
Volatile.Write(ref _pressedKeys, (long)input.Buttons);
|
||||||
|
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
// Clear the input because player one is not conected.
|
// Clear the input because player one is not conected.
|
||||||
Thread.VolatileWrite(ref _pressedKeys, 0);
|
Volatile.Write(ref _pressedKeys, 0);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@@ -388,14 +388,14 @@ namespace Ryujinx.Tests.Memory
|
|||||||
{
|
{
|
||||||
rwLock.AcquireReaderLock();
|
rwLock.AcquireReaderLock();
|
||||||
|
|
||||||
int originalValue = Thread.VolatileRead(ref value);
|
int originalValue = Volatile.Read(ref value);
|
||||||
|
|
||||||
count++;
|
count++;
|
||||||
|
|
||||||
// Spin a bit.
|
// Spin a bit.
|
||||||
for (int i = 0; i < 100; i++)
|
for (int i = 0; i < 100; i++)
|
||||||
{
|
{
|
||||||
if (Thread.VolatileRead(ref readersAllowed) == 0)
|
if (Volatile.Read(ref readersAllowed) == 0)
|
||||||
{
|
{
|
||||||
error = true;
|
error = true;
|
||||||
running = false;
|
running = false;
|
||||||
@@ -403,7 +403,7 @@ namespace Ryujinx.Tests.Memory
|
|||||||
}
|
}
|
||||||
|
|
||||||
// Should not change while the lock is held.
|
// Should not change while the lock is held.
|
||||||
if (Thread.VolatileRead(ref value) != originalValue)
|
if (Volatile.Read(ref value) != originalValue)
|
||||||
{
|
{
|
||||||
error = true;
|
error = true;
|
||||||
running = false;
|
running = false;
|
||||||
|
Reference in New Issue
Block a user