Fix NV stubs
This commit is contained in:
parent
0979426e63
commit
0f8e94024c
5 changed files with 75 additions and 0 deletions
|
@ -0,0 +1,8 @@
|
||||||
|
namespace Ryujinx.Core.OsHle.Services.Nv.NvGpuGpu
|
||||||
|
{
|
||||||
|
struct NvGpuGpuGetActiveSlotMask
|
||||||
|
{
|
||||||
|
public int Slot;
|
||||||
|
public int Mask;
|
||||||
|
}
|
||||||
|
}
|
|
@ -0,0 +1,10 @@
|
||||||
|
namespace Ryujinx.Core.OsHle.Services.Nv.NvGpuGpu
|
||||||
|
{
|
||||||
|
struct NvGpuGpuGetTpcMasks
|
||||||
|
{
|
||||||
|
public int MaskBufferSize;
|
||||||
|
public int Reserved;
|
||||||
|
public long MaskBufferAddress;
|
||||||
|
public long Unk;
|
||||||
|
}
|
||||||
|
}
|
|
@ -41,6 +41,12 @@ namespace Ryujinx.Core.OsHle.Services.Nv.NvGpuGpu
|
||||||
long InputPosition = Context.Request.GetBufferType0x21Position();
|
long InputPosition = Context.Request.GetBufferType0x21Position();
|
||||||
long OutputPosition = Context.Request.GetBufferType0x22Position();
|
long OutputPosition = Context.Request.GetBufferType0x22Position();
|
||||||
|
|
||||||
|
NvGpuGpuZcullGetCtxSize Args = AMemoryHelper.Read<NvGpuGpuZcullGetCtxSize>(Context.Memory, InputPosition);
|
||||||
|
|
||||||
|
Args.Size = 0x1;
|
||||||
|
|
||||||
|
AMemoryHelper.Write(Context.Memory, OutputPosition, Args);
|
||||||
|
|
||||||
Context.Ns.Log.PrintStub(LogClass.ServiceNv, "Stubbed.");
|
Context.Ns.Log.PrintStub(LogClass.ServiceNv, "Stubbed.");
|
||||||
|
|
||||||
return NvResult.Success;
|
return NvResult.Success;
|
||||||
|
@ -51,6 +57,21 @@ namespace Ryujinx.Core.OsHle.Services.Nv.NvGpuGpu
|
||||||
long InputPosition = Context.Request.GetBufferType0x21Position();
|
long InputPosition = Context.Request.GetBufferType0x21Position();
|
||||||
long OutputPosition = Context.Request.GetBufferType0x22Position();
|
long OutputPosition = Context.Request.GetBufferType0x22Position();
|
||||||
|
|
||||||
|
NvGpuGpuZcullGetInfo Args = AMemoryHelper.Read<NvGpuGpuZcullGetInfo>(Context.Memory, InputPosition);
|
||||||
|
|
||||||
|
Args.WidthAlignPixels = 0x20;
|
||||||
|
Args.HeightAlignPixels = 0x20;
|
||||||
|
Args.PixelSquaresByAliquots = 0x400;
|
||||||
|
Args.AliquotTotal = 0x800;
|
||||||
|
Args.RegionByteMultiplier = 0x20;
|
||||||
|
Args.RegionHeaderSize = 0x20;
|
||||||
|
Args.SubregionHeaderSize = 0xc0;
|
||||||
|
Args.SubregionWidthAlignPixels = 0x20;
|
||||||
|
Args.SubregionHeightAlignPixels = 0x40;
|
||||||
|
Args.SubregionCount = 0x10;
|
||||||
|
|
||||||
|
AMemoryHelper.Write(Context.Memory, OutputPosition, Args);
|
||||||
|
|
||||||
Context.Ns.Log.PrintStub(LogClass.ServiceNv, "Stubbed.");
|
Context.Ns.Log.PrintStub(LogClass.ServiceNv, "Stubbed.");
|
||||||
|
|
||||||
return NvResult.Success;
|
return NvResult.Success;
|
||||||
|
@ -121,6 +142,12 @@ namespace Ryujinx.Core.OsHle.Services.Nv.NvGpuGpu
|
||||||
long InputPosition = Context.Request.GetBufferType0x21Position();
|
long InputPosition = Context.Request.GetBufferType0x21Position();
|
||||||
long OutputPosition = Context.Request.GetBufferType0x22Position();
|
long OutputPosition = Context.Request.GetBufferType0x22Position();
|
||||||
|
|
||||||
|
NvGpuGpuGetTpcMasks Args = AMemoryHelper.Read<NvGpuGpuGetTpcMasks>(Context.Memory, InputPosition);
|
||||||
|
|
||||||
|
Args.Unk = 0xcafe;
|
||||||
|
|
||||||
|
AMemoryHelper.Write(Context.Memory, OutputPosition, Args);
|
||||||
|
|
||||||
Context.Ns.Log.PrintStub(LogClass.ServiceNv, "Stubbed.");
|
Context.Ns.Log.PrintStub(LogClass.ServiceNv, "Stubbed.");
|
||||||
|
|
||||||
return NvResult.Success;
|
return NvResult.Success;
|
||||||
|
@ -131,6 +158,13 @@ namespace Ryujinx.Core.OsHle.Services.Nv.NvGpuGpu
|
||||||
long InputPosition = Context.Request.GetBufferType0x21Position();
|
long InputPosition = Context.Request.GetBufferType0x21Position();
|
||||||
long OutputPosition = Context.Request.GetBufferType0x22Position();
|
long OutputPosition = Context.Request.GetBufferType0x22Position();
|
||||||
|
|
||||||
|
NvGpuGpuGetActiveSlotMask Args = AMemoryHelper.Read<NvGpuGpuGetActiveSlotMask>(Context.Memory, InputPosition);
|
||||||
|
|
||||||
|
Args.Slot = 0x07;
|
||||||
|
Args.Mask = 0x01;
|
||||||
|
|
||||||
|
AMemoryHelper.Write(Context.Memory, OutputPosition, Args);
|
||||||
|
|
||||||
Context.Ns.Log.PrintStub(LogClass.ServiceNv, "Stubbed.");
|
Context.Ns.Log.PrintStub(LogClass.ServiceNv, "Stubbed.");
|
||||||
|
|
||||||
return NvResult.Success;
|
return NvResult.Success;
|
||||||
|
|
|
@ -0,0 +1,7 @@
|
||||||
|
namespace Ryujinx.Core.OsHle.Services.Nv.NvGpuGpu
|
||||||
|
{
|
||||||
|
struct NvGpuGpuZcullGetCtxSize
|
||||||
|
{
|
||||||
|
public int Size;
|
||||||
|
}
|
||||||
|
}
|
|
@ -0,0 +1,16 @@
|
||||||
|
namespace Ryujinx.Core.OsHle.Services.Nv.NvGpuGpu
|
||||||
|
{
|
||||||
|
struct NvGpuGpuZcullGetInfo
|
||||||
|
{
|
||||||
|
public int WidthAlignPixels;
|
||||||
|
public int HeightAlignPixels;
|
||||||
|
public int PixelSquaresByAliquots;
|
||||||
|
public int AliquotTotal;
|
||||||
|
public int RegionByteMultiplier;
|
||||||
|
public int RegionHeaderSize;
|
||||||
|
public int SubregionHeaderSize;
|
||||||
|
public int SubregionWidthAlignPixels;
|
||||||
|
public int SubregionHeightAlignPixels;
|
||||||
|
public int SubregionCount;
|
||||||
|
}
|
||||||
|
}
|
Loading…
Add table
Add a link
Reference in a new issue