Implement Surface Flinger shared layers.
Co-authored-by: Alula <6276139+alula@users.noreply.github.com>
This commit is contained in:
@@ -114,6 +114,7 @@ namespace Ryujinx.HLE.HOS.Services.Am.AppletAE.AllSystemAppletProxiesService.Sys
|
||||
}
|
||||
|
||||
[CommandCmif(26)]
|
||||
|
||||
// AcquireCallerAppletCaptureSharedBuffer() -> (b8, u32)
|
||||
public ResultCode AcquireCallerAppletCaptureSharedBuffer(ServiceCtx context)
|
||||
{
|
||||
@@ -123,5 +124,12 @@ namespace Ryujinx.HLE.HOS.Services.Am.AppletAE.AllSystemAppletProxiesService.Sys
|
||||
|
||||
return ResultCode.Success;
|
||||
}
|
||||
|
||||
[CommandCmif(27)]
|
||||
public ResultCode ReleaseCallerAppletCaptureSharedBuffer(ServiceCtx context)
|
||||
{
|
||||
context.ResponseData.Write(2);
|
||||
return ResultCode.Success;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -225,7 +225,6 @@ namespace Ryujinx.HLE.HOS.Services.Am.AppletAE.AllSystemAppletProxiesService.Sys
|
||||
public ResultCode CreateManagedDisplayLayer(ServiceCtx context)
|
||||
{
|
||||
context.Device.System.SurfaceFlinger.CreateLayer(out long layerId, _pid);
|
||||
context.Device.System.SurfaceFlinger.SetRenderLayer(layerId);
|
||||
|
||||
context.ResponseData.Write(layerId);
|
||||
|
||||
@@ -236,9 +235,7 @@ namespace Ryujinx.HLE.HOS.Services.Am.AppletAE.AllSystemAppletProxiesService.Sys
|
||||
// IsSystemBufferSharingEnabled()
|
||||
public ResultCode IsSystemBufferSharingEnabled(ServiceCtx context)
|
||||
{
|
||||
// NOTE: Service checks a private field and return an error if the SystemBufferSharing is disabled.
|
||||
|
||||
// todo check if we're not an AppletId.Application
|
||||
// TODO: Implement this once we have a way to check if we're not an AppletId.Application
|
||||
return ResultCode.Success;
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user