[Ryujinx.HLE] Address dotnet-format issues (#5380)

* dotnet format style --severity info

Some changes were manually reverted.

* dotnet format analyzers --serverity info

Some changes have been minimally adapted.

* Restore a few unused methods and variables

* Silence dotnet format IDE0060 warnings

* Silence dotnet format IDE0052 warnings

* Address or silence dotnet format IDE1006 warnings

* Address dotnet format CA1816 warnings

* Address or silence dotnet format CA2208 warnings

* Address or silence dotnet format CA1806 and a few CA1854 warnings

* Address dotnet format CA2211 warnings

* Address dotnet format CA1822 warnings

* Address or silence dotnet format CA1069 warnings

* Make dotnet format succeed in style mode

* Address or silence dotnet format CA2211 warnings

* Address review comments

* Address dotnet format CA2208 warnings properly

* Make ProcessResult readonly

* Address most dotnet format whitespace warnings

* Apply dotnet format whitespace formatting

A few of them have been manually reverted and the corresponding warning was silenced

* Add previously silenced warnings back

I have no clue how these disappeared

* Revert formatting changes for while and for-loops

* Format if-blocks correctly

* Run dotnet format style after rebase

* Run dotnet format whitespace after rebase

* Run dotnet format style after rebase

* Run dotnet format analyzers after rebase

* Run dotnet format after rebase and remove unused usings

- analyzers
- style
- whitespace

* Disable 'prefer switch expression' rule

* Add comments to disabled warnings

* Fix a few disabled warnings

* Fix naming rule violation, Convert shader properties to auto-property and convert values to const

* Simplify properties and array initialization, Use const when possible, Remove trailing commas

* Start working on disabled warnings

* Fix and silence a few dotnet-format warnings again

* Run dotnet format after rebase

* Use using declaration instead of block syntax

* Address IDE0251 warnings

* Address a few disabled IDE0060 warnings

* Silence IDE0060 in .editorconfig

* Revert "Simplify properties and array initialization, Use const when possible, Remove trailing commas"

This reverts commit 9462e4136c0a2100dc28b20cf9542e06790aa67e.

* dotnet format whitespace after rebase

* First dotnet format pass

* Fix naming rule violations

* Fix typo

* Add trailing commas, use targeted new and use array initializer

* Fix build issues

* Fix remaining build issues

* Remove SuppressMessage for CA1069 where possible

* Address dotnet format issues

* Address formatting issues

Co-authored-by: Ac_K <acoustik666@gmail.com>

* Add GetHashCode implementation for RenderingSurfaceInfo

* Explicitly silence CA1822 for every affected method in Syscall

* Address formatting issues in Demangler.cs

* Address review feedback

Co-authored-by: Ac_K <acoustik666@gmail.com>

* Revert marking service methods as static

* Next dotnet format pass

* Address review feedback

---------

Co-authored-by: Ac_K <acoustik666@gmail.com>
This commit is contained in:
TSRBerry
2023-07-16 19:31:14 +02:00
committed by GitHub
parent fec8291c17
commit 326749498b
1015 changed files with 8173 additions and 7615 deletions

View File

@ -3,7 +3,6 @@ using Ryujinx.Common.Logging;
using Ryujinx.Common.Memory;
using Ryujinx.HLE.HOS.Applets;
using Ryujinx.HLE.HOS.Ipc;
using Ryujinx.HLE.HOS.Kernel.Common;
using Ryujinx.HLE.HOS.Services.SurfaceFlinger;
using Ryujinx.HLE.HOS.Services.Vi.RootService.ApplicationDisplayService;
using Ryujinx.HLE.HOS.Services.Vi.RootService.ApplicationDisplayService.Types;
@ -27,27 +26,27 @@ namespace Ryujinx.HLE.HOS.Services.Vi.RootService
public int RetrievedEventsCount;
}
private readonly List<DisplayInfo> _displayInfo;
private readonly List<DisplayInfo> _displayInfo;
private readonly Dictionary<ulong, DisplayState> _openDisplays;
private int _vsyncEventHandle;
public IApplicationDisplayService(ViServiceType serviceType)
{
_serviceType = serviceType;
_displayInfo = new List<DisplayInfo>();
_serviceType = serviceType;
_displayInfo = new List<DisplayInfo>();
_openDisplays = new Dictionary<ulong, DisplayState>();
void AddDisplayInfo(string name, bool layerLimitEnabled, ulong layerLimitMax, ulong width, ulong height)
{
DisplayInfo displayInfo = new DisplayInfo()
DisplayInfo displayInfo = new()
{
Name = new Array64<byte>(),
Name = new Array64<byte>(),
LayerLimitEnabled = layerLimitEnabled,
Padding = new Array7<byte>(),
LayerLimitMax = layerLimitMax,
Width = width,
Height = height
Padding = new Array7<byte>(),
LayerLimitMax = layerLimitMax,
Width = width,
Height = height,
};
Encoding.ASCII.GetBytes(name).AsSpan().CopyTo(displayInfo.Name.AsSpan());
@ -55,11 +54,11 @@ namespace Ryujinx.HLE.HOS.Services.Vi.RootService
_displayInfo.Add(displayInfo);
}
AddDisplayInfo("Default", true, 1, 1920, 1080);
AddDisplayInfo("External", true, 1, 1920, 1080);
AddDisplayInfo("Edid", true, 1, 0, 0);
AddDisplayInfo("Internal", true, 1, 1920, 1080);
AddDisplayInfo("Null", false, 0, 1920, 1080);
AddDisplayInfo("Default", true, 1, 1920, 1080);
AddDisplayInfo("External", true, 1, 1920, 1080);
AddDisplayInfo("Edid", true, 1, 0, 0);
AddDisplayInfo("Internal", true, 1, 1920, 1080);
AddDisplayInfo("Null", false, 0, 1920, 1080);
}
[CommandCmif(100)]
@ -232,10 +231,14 @@ namespace Ryujinx.HLE.HOS.Services.Vi.RootService
public ResultCode OpenLayer(ServiceCtx context)
{
// TODO: support multi display.
#pragma warning disable IDE0059 // Remove unnecessary value assignment
byte[] displayName = context.RequestData.ReadBytes(0x40);
#pragma warning restore IDE0059
long layerId = context.RequestData.ReadInt64();
long userId = context.RequestData.ReadInt64();
long layerId = context.RequestData.ReadInt64();
#pragma warning disable IDE0059 // Remove unnecessary value assignment
long userId = context.RequestData.ReadInt64();
#pragma warning restore IDE0059
ulong parcelPtr = context.Request.ReceiveBuff[0].Position;
ResultCode result = context.Device.System.SurfaceFlinger.OpenLayer(context.Request.HandleDesc.PId, layerId, out IBinder producer);
@ -247,7 +250,7 @@ namespace Ryujinx.HLE.HOS.Services.Vi.RootService
context.Device.System.SurfaceFlinger.SetRenderLayer(layerId);
Parcel parcel = new Parcel(0x28, 0x4);
Parcel parcel = new(0x28, 0x4);
parcel.WriteObject(producer, "dispdrv\0");
@ -273,8 +276,10 @@ namespace Ryujinx.HLE.HOS.Services.Vi.RootService
// CreateStrayLayer(u32, u64) -> (u64, u64, buffer<bytes, 6>)
public ResultCode CreateStrayLayer(ServiceCtx context)
{
#pragma warning disable IDE0059 // Remove unnecessary value assignment
long layerFlags = context.RequestData.ReadInt64();
long displayId = context.RequestData.ReadInt64();
long displayId = context.RequestData.ReadInt64();
#pragma warning restore IDE0059
ulong parcelPtr = context.Request.ReceiveBuff[0].Position;
@ -283,7 +288,7 @@ namespace Ryujinx.HLE.HOS.Services.Vi.RootService
context.Device.System.SurfaceFlinger.SetRenderLayer(layerId);
Parcel parcel = new Parcel(0x28, 0x4);
Parcel parcel = new(0x28, 0x4);
parcel.WriteObject(producer, "dispdrv\0");
@ -327,10 +332,10 @@ namespace Ryujinx.HLE.HOS.Services.Vi.RootService
DestinationScalingMode? convertedScalingMode = scalingMode switch
{
SourceScalingMode.None => DestinationScalingMode.None,
SourceScalingMode.Freeze => DestinationScalingMode.Freeze,
SourceScalingMode.ScaleAndCrop => DestinationScalingMode.ScaleAndCrop,
SourceScalingMode.ScaleToWindow => DestinationScalingMode.ScaleToWindow,
SourceScalingMode.None => DestinationScalingMode.None,
SourceScalingMode.Freeze => DestinationScalingMode.Freeze,
SourceScalingMode.ScaleAndCrop => DestinationScalingMode.ScaleAndCrop,
SourceScalingMode.ScaleToWindow => DestinationScalingMode.ScaleToWindow,
SourceScalingMode.PreserveAspectRatio => DestinationScalingMode.PreserveAspectRatio,
_ => null,
};
@ -354,13 +359,13 @@ namespace Ryujinx.HLE.HOS.Services.Vi.RootService
private ulong GetA8B8G8R8LayerSize(int width, int height, out int pitch, out int alignment)
{
const int DefaultAlignment = 0x1000;
const ulong DefaultSize = 0x20000;
const int DefaultAlignment = 0x1000;
const ulong DefaultSize = 0x20000;
alignment = DefaultAlignment;
pitch = BitUtils.AlignUp(BitUtils.DivRoundUp(width * 32, 8), 64);
pitch = BitUtils.AlignUp(BitUtils.DivRoundUp(width * 32, 8), 64);
int memorySize = pitch * BitUtils.AlignUp(height, 64);
int memorySize = pitch * BitUtils.AlignUp(height, 64);
ulong requiredMemorySize = (ulong)BitUtils.AlignUp(memorySize, alignment);
return (requiredMemorySize + DefaultSize - 1) / DefaultSize * DefaultSize;
@ -373,18 +378,18 @@ namespace Ryujinx.HLE.HOS.Services.Vi.RootService
// The size of the layer buffer should be an aligned multiple of width * height
// because it was created using GetIndirectLayerImageRequiredMemoryInfo as a guide.
long layerWidth = context.RequestData.ReadInt64();
long layerHeight = context.RequestData.ReadInt64();
long layerHandle = context.RequestData.ReadInt64();
long layerWidth = context.RequestData.ReadInt64();
long layerHeight = context.RequestData.ReadInt64();
long layerHandle = context.RequestData.ReadInt64();
ulong layerBuffPosition = context.Request.ReceiveBuff[0].Position;
ulong layerBuffSize = context.Request.ReceiveBuff[0].Size;
ulong layerBuffSize = context.Request.ReceiveBuff[0].Size;
// Get the pitch of the layer that is necessary to render correctly.
ulong size = GetA8B8G8R8LayerSize((int)layerWidth, (int)layerHeight, out int pitch, out _);
Debug.Assert(layerBuffSize == size);
RenderingSurfaceInfo surfaceInfo = new RenderingSurfaceInfo(ColorFormat.A8B8G8R8, (uint)layerWidth, (uint)layerHeight, (uint)pitch, (uint)layerBuffSize);
RenderingSurfaceInfo surfaceInfo = new(ColorFormat.A8B8G8R8, (uint)layerWidth, (uint)layerHeight, (uint)pitch, (uint)layerBuffSize);
// Get the applet associated with the handle.
object appletObject = context.Device.System.AppletState.IndirectLayerHandles.GetData((int)layerHandle);
@ -425,7 +430,7 @@ namespace Ryujinx.HLE.HOS.Services.Vi.RootService
}
*/
int width = (int)context.RequestData.ReadUInt64();
int width = (int)context.RequestData.ReadUInt64();
int height = (int)context.RequestData.ReadUInt64();
if (height < 0 || width < 0)
@ -445,7 +450,7 @@ namespace Ryujinx.HLE.HOS.Services.Vi.RootService
// NOTE: The official service setup a A8B8G8R8 texture with a linear layout and then query its size.
// As we don't need this texture on the emulator, we can just simplify this logic and directly
// do a linear layout size calculation. (stride * height * bytePerPixel)
ulong size = GetA8B8G8R8LayerSize(width, height, out int pitch, out int alignment);
ulong size = GetA8B8G8R8LayerSize(width, height, out _, out int alignment);
context.ResponseData.Write(size);
context.ResponseData.Write(alignment);