Ryujinx/Ryujinx.Graphics.Gpu/State
Thog 644de99e86
Implement GPU syncpoints (#980)
* Implement GPU syncpoints

This adds support for GPU syncpoints on the GPU backend & nvservices.

Everything that was implemented here is based on my researches,
hardware testing of the GM20B and reversing of nvservices (8.1.0).

Thanks to @fincs for the informations about some behaviours of the pusher
and for the initial informations about syncpoints.

* syncpoint: address gdkchan's comments

* Add some missing logic to handle SubmitGpfifo correctly

* Handle the NV event API correctly

* evnt => hostEvent

* Finish addressing gdkchan's comments

* nvservices: write the output buffer even when an error is returned

* dma pusher: Implemnet prefetch barrier

lso fix when the commands should be prefetch.

* Partially fix prefetch barrier

* Add a missing syncpoint check in QueryEvent of NvHostSyncPt

* Address Ac_K's comments and fix GetSyncpoint for ChannelResourcePolicy == Channel

* fix SyncptWait & SyncptWaitEx cmds logic

* Address ripinperi's comments

* Address gdkchan's comments

* Move user event management to the control channel

* Fix mm implementation, nvdec works again

* Address ripinperi's comments

* Address gdkchan's comments

* Implement nvhost-ctrl close accurately + make nvservices dispose channels when stopping the emulator

* Fix typo in MultiMediaOperationType
2020-04-19 11:25:57 +10:00
..
BlendState.cs
BlendStateCommon.cs
Boolean32.cs
ClearColors.cs
Condition.cs
ConditionState.cs
CopyBufferParams.cs
CopyBufferSwizzle.cs
CopyBufferTexture.cs
CopyRegion.cs
CopyTexture.cs
CopyTextureControl.cs
DepthBiasState.cs
FaceState.cs
FenceActionOperation.cs Implement GPU syncpoints (#980) 2020-04-19 11:25:57 +10:00
GpuState.cs Fix oversight in depth range initialization from PR #1093 (#1112) 2020-04-16 13:21:58 +10:00
GpuStateTable.cs Simple GPU fixes (#1093) 2020-04-07 19:19:45 +10:00
GpuVa.cs
IndexBufferState.cs
Inline2MemoryParams.cs
MemoryLayout.cs
MethodOffset.cs Implement GPU syncpoints (#980) 2020-04-19 11:25:57 +10:00
PoolState.cs
PrimitiveRestartState.cs
PrimitiveTopology.cs
ReportCounterType.cs
ReportMode.cs Implement GPU syncpoints (#980) 2020-04-19 11:25:57 +10:00
ReportState.cs
ResetCounterType.cs
RtColorMask.cs
RtColorState.cs
RtControl.cs
RtDepthStencilState.cs
RtFormat.cs
SamplerIndex.cs
ScissorState.cs Implement GPU scissors (#1058) 2020-03-29 14:02:58 +11:00
ShaderState.cs
ShaderType.cs
Size3D.cs
StencilBackMasks.cs
StencilBackTestState.cs
StencilTestState.cs
UniformBufferState.cs
VertexAttribState.cs Support constant attributes (with a value of zero) (#1066) 2020-03-30 13:11:24 +11:00
VertexBufferDrawState.cs
VertexBufferState.cs
ViewportExtents.cs
ViewportTransform.cs
ViewVolumeClipControl.cs Implement Depth Clamping (#1120) 2020-04-17 11:16:49 +10:00
YControl.cs Implement Depth Clamping (#1120) 2020-04-17 11:16:49 +10:00