NvServices refactoring (#120)
* Initial implementation of NvMap/NvHostCtrl
* More work on NvHostCtrl
* Refactoring of nvservices, move GPU Vmm, make Vmm per-process, refactor most gpu devices, move Gpu to Core, fix CbBind
* Implement GetGpuTime, support CancelSynchronization, fix issue on InsertWaitingMutex, proper double buffering support (again, not working properly for commercial games, only hb)
* Try to fix perf regression reading/writing textures, moved syncpts and events to a UserCtx class, delete global state when the process exits, other minor tweaks
* Remove now unused code, add comment about probably wrong result codes
2018-05-07 20:53:23 +02:00
|
|
|
namespace Ryujinx.Core.Gpu
|
2018-04-08 21:17:35 +02:00
|
|
|
{
|
|
|
|
enum NvGpuEngine3dReg
|
|
|
|
{
|
|
|
|
FrameBufferNAddress = 0x200,
|
|
|
|
FrameBufferNWidth = 0x202,
|
|
|
|
FrameBufferNHeight = 0x203,
|
|
|
|
FrameBufferNFormat = 0x204,
|
2018-04-14 05:39:24 +02:00
|
|
|
ViewportScaleX = 0x280,
|
|
|
|
ViewportScaleY = 0x281,
|
|
|
|
ViewportScaleZ = 0x282,
|
|
|
|
ViewportTranslateX = 0x283,
|
|
|
|
ViewportTranslateY = 0x284,
|
|
|
|
ViewportTranslateZ = 0x285,
|
2018-04-26 04:11:26 +02:00
|
|
|
VertexArrayFirst = 0x35d,
|
|
|
|
VertexArrayCount = 0x35e,
|
2018-04-08 21:17:35 +02:00
|
|
|
VertexAttribNFormat = 0x458,
|
2018-04-13 20:12:58 +02:00
|
|
|
IBlendEnable = 0x4b9,
|
2018-04-08 21:17:35 +02:00
|
|
|
BlendSeparateAlpha = 0x4cf,
|
|
|
|
BlendEquationRgb = 0x4d0,
|
|
|
|
BlendFuncSrcRgb = 0x4d1,
|
|
|
|
BlendFuncDstRgb = 0x4d2,
|
|
|
|
BlendEquationAlpha = 0x4d3,
|
|
|
|
BlendFuncSrcAlpha = 0x4d4,
|
|
|
|
BlendFuncDstAlpha = 0x4d6,
|
|
|
|
BlendEnableMaster = 0x4d7,
|
2018-04-14 03:42:55 +02:00
|
|
|
IBlendNEnable = 0x4d8,
|
2018-04-08 21:17:35 +02:00
|
|
|
VertexArrayElemBase = 0x50d,
|
|
|
|
TexHeaderPoolOffset = 0x55d,
|
|
|
|
TexSamplerPoolOffset = 0x557,
|
|
|
|
ShaderAddress = 0x582,
|
|
|
|
VertexBeginGl = 0x586,
|
|
|
|
IndexArrayAddress = 0x5f2,
|
|
|
|
IndexArrayEndAddr = 0x5f4,
|
|
|
|
IndexArrayFormat = 0x5f6,
|
|
|
|
IndexBatchFirst = 0x5f7,
|
|
|
|
IndexBatchCount = 0x5f8,
|
|
|
|
QueryAddress = 0x6c0,
|
|
|
|
QuerySequence = 0x6c2,
|
|
|
|
QueryControl = 0x6c3,
|
|
|
|
VertexArrayNControl = 0x700,
|
|
|
|
VertexArrayNAddress = 0x701,
|
|
|
|
VertexArrayNDivisor = 0x703,
|
2018-04-13 20:12:58 +02:00
|
|
|
IBlendNSeparateAlpha = 0x780,
|
|
|
|
IBlendNEquationRgb = 0x781,
|
|
|
|
IBlendNFuncSrcRgb = 0x782,
|
|
|
|
IBlendNFuncDstRgb = 0x783,
|
|
|
|
IBlendNEquationAlpha = 0x784,
|
|
|
|
IBlendNFuncSrcAlpha = 0x785,
|
|
|
|
IBlendNFuncDstAlpha = 0x786,
|
2018-04-08 21:17:35 +02:00
|
|
|
VertexArrayNEndAddr = 0x7c0,
|
|
|
|
ShaderNControl = 0x800,
|
|
|
|
ShaderNOffset = 0x801,
|
|
|
|
ShaderNMaxGprs = 0x803,
|
|
|
|
ShaderNType = 0x804,
|
NvServices refactoring (#120)
* Initial implementation of NvMap/NvHostCtrl
* More work on NvHostCtrl
* Refactoring of nvservices, move GPU Vmm, make Vmm per-process, refactor most gpu devices, move Gpu to Core, fix CbBind
* Implement GetGpuTime, support CancelSynchronization, fix issue on InsertWaitingMutex, proper double buffering support (again, not working properly for commercial games, only hb)
* Try to fix perf regression reading/writing textures, moved syncpts and events to a UserCtx class, delete global state when the process exits, other minor tweaks
* Remove now unused code, add comment about probably wrong result codes
2018-05-07 20:53:23 +02:00
|
|
|
ConstBufferSize = 0x8e0,
|
|
|
|
ConstBufferAddress = 0x8e1,
|
|
|
|
ConstBufferOffset = 0x8e3,
|
2018-04-08 21:17:35 +02:00
|
|
|
TextureCbIndex = 0x982
|
|
|
|
}
|
|
|
|
}
|