aboutsummaryrefslogtreecommitdiff
path: root/src/Ryujinx.HLE/HOS/Services/Vi/RootService/IApplicationDisplayService.cs
diff options
context:
space:
mode:
authorTSRBerry <20988865+TSRBerry@users.noreply.github.com>2023-07-16 19:31:14 +0200
committerGitHub <noreply@github.com>2023-07-16 19:31:14 +0200
commit326749498bed4360e5a4b11fc67d5ec7cb9a3076 (patch)
treeae21fb26f99b401ca4e9efaab72b679a81c22369 /src/Ryujinx.HLE/HOS/Services/Vi/RootService/IApplicationDisplayService.cs
parentfec8291c17fa106c28f58b56419e90d49a41a1ea (diff)
[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>
Diffstat (limited to 'src/Ryujinx.HLE/HOS/Services/Vi/RootService/IApplicationDisplayService.cs')
-rw-r--r--src/Ryujinx.HLE/HOS/Services/Vi/RootService/IApplicationDisplayService.cs75
1 files changed, 40 insertions, 35 deletions
diff --git a/src/Ryujinx.HLE/HOS/Services/Vi/RootService/IApplicationDisplayService.cs b/src/Ryujinx.HLE/HOS/Services/Vi/RootService/IApplicationDisplayService.cs
index 89eed5b5..3fbd7d20 100644
--- a/src/Ryujinx.HLE/HOS/Services/Vi/RootService/IApplicationDisplayService.cs
+++ b/src/Ryujinx.HLE/HOS/Services/Vi/RootService/IApplicationDisplayService.cs
@@ -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);