diff options
| author | gdkchan <gab.dark.100@gmail.com> | 2020-05-29 05:51:10 -0300 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2020-05-29 10:51:10 +0200 |
| commit | 44d7fcff399888d311f61772a53146d924ee5b62 (patch) | |
| tree | b79faa532e47b3a4e688939691e5cbf4b6efd21f /Ryujinx.Graphics.Gpu/Engine/MethodReport.cs | |
| parent | 12cfaf56f083cdf250381c3525eaf4ecf5ee9257 (diff) | |
Implement FIFO semaphore (#1286)
* Implement FIFO semaphore
* New enum for FIFO semaphore operation
Diffstat (limited to 'Ryujinx.Graphics.Gpu/Engine/MethodReport.cs')
| -rw-r--r-- | Ryujinx.Graphics.Gpu/Engine/MethodReport.cs | 13 |
1 files changed, 6 insertions, 7 deletions
diff --git a/Ryujinx.Graphics.Gpu/Engine/MethodReport.cs b/Ryujinx.Graphics.Gpu/Engine/MethodReport.cs index e8efddea..224a4da1 100644 --- a/Ryujinx.Graphics.Gpu/Engine/MethodReport.cs +++ b/Ryujinx.Graphics.Gpu/Engine/MethodReport.cs @@ -21,14 +21,13 @@ namespace Ryujinx.Graphics.Gpu.Engine /// <param name="argument">Method call argument</param> private void Report(GpuState state, int argument) { - ReportMode mode = (ReportMode)(argument & 3); - + SemaphoreOperation op = (SemaphoreOperation)(argument & 3); ReportCounterType type = (ReportCounterType)((argument >> 23) & 0x1f); - switch (mode) + switch (op) { - case ReportMode.Release: ReleaseSemaphore(state); break; - case ReportMode.Counter: ReportCounter(state, type); break; + case SemaphoreOperation.Release: ReleaseSemaphore(state); break; + case SemaphoreOperation.Counter: ReportCounter(state, type); break; } } @@ -38,7 +37,7 @@ namespace Ryujinx.Graphics.Gpu.Engine /// <param name="state">Current GPU state</param> private void ReleaseSemaphore(GpuState state) { - var rs = state.Get<ReportState>(MethodOffset.ReportState); + var rs = state.Get<SemaphoreState>(MethodOffset.ReportState); _context.MemoryAccessor.Write(rs.Address.Pack(), rs.Payload); @@ -64,7 +63,7 @@ namespace Ryujinx.Graphics.Gpu.Engine { CounterData counterData = new CounterData(); - var rs = state.Get<ReportState>(MethodOffset.ReportState); + var rs = state.Get<SemaphoreState>(MethodOffset.ReportState); ulong gpuVa = rs.Address.Pack(); |
