2018-08-16 19:47:36 -04:00
|
|
|
namespace Ryujinx.HLE.HOS.Services.Nv.NvGpuGpu
|
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 14:53:23 -04:00
|
|
|
{
|
|
|
|
struct NvGpuGpuGetCharacteristics
|
|
|
|
{
|
|
|
|
public long BufferSize;
|
|
|
|
public long BufferAddress;
|
|
|
|
public int Arch;
|
|
|
|
public int Impl;
|
|
|
|
public int Rev;
|
|
|
|
public int NumGpc;
|
|
|
|
public long L2CacheSize;
|
|
|
|
public long OnBoardVideoMemorySize;
|
|
|
|
public int NumTpcPerGpc;
|
|
|
|
public int BusType;
|
|
|
|
public int BigPageSize;
|
|
|
|
public int CompressionPageSize;
|
|
|
|
public int PdeCoverageBitCount;
|
|
|
|
public int AvailableBigPageSizes;
|
|
|
|
public int GpcMask;
|
|
|
|
public int SmArchSmVersion;
|
|
|
|
public int SmArchSpaVersion;
|
|
|
|
public int SmArchWarpCount;
|
|
|
|
public int GpuVaBitCount;
|
|
|
|
public int Reserved;
|
|
|
|
public long Flags;
|
|
|
|
public int TwodClass;
|
|
|
|
public int ThreedClass;
|
|
|
|
public int ComputeClass;
|
|
|
|
public int GpfifoClass;
|
|
|
|
public int InlineToMemoryClass;
|
|
|
|
public int DmaCopyClass;
|
|
|
|
public int MaxFbpsCount;
|
|
|
|
public int FbpEnMask;
|
|
|
|
public int MaxLtcPerFbp;
|
|
|
|
public int MaxLtsPerLtc;
|
|
|
|
public int MaxTexPerTpc;
|
|
|
|
public int MaxGpcCount;
|
|
|
|
public int RopL2EnMask0;
|
|
|
|
public int RopL2EnMask1;
|
|
|
|
public long ChipName;
|
|
|
|
public long GrCompbitStoreBaseHw;
|
|
|
|
}
|
|
|
|
}
|