Browse Source

misc: chore: Fix object creation in Gpu project

Evan Husted 1 year ago
parent
commit
929a16dd26

+ 2 - 2
src/Ryujinx.Graphics.Gpu/Engine/Dma/DmaClass.cs

@@ -245,7 +245,7 @@ namespace Ryujinx.Graphics.Gpu.Engine.Dma
                 int srcStride = (int)_state.State.PitchIn;
                 int dstStride = (int)_state.State.PitchOut;
 
-                OffsetCalculator srcCalculator = new OffsetCalculator(
+                OffsetCalculator srcCalculator = new(
                     src.Width,
                     src.Height,
                     srcStride,
@@ -254,7 +254,7 @@ namespace Ryujinx.Graphics.Gpu.Engine.Dma
                     src.MemoryLayout.UnpackGobBlocksInZ(),
                     srcBpp);
 
-                OffsetCalculator dstCalculator = new OffsetCalculator(
+                OffsetCalculator dstCalculator = new(
                     dst.Width,
                     dst.Height,
                     dstStride,

+ 1 - 1
src/Ryujinx.Graphics.Gpu/Engine/InlineToMemory/InlineToMemoryClass.cs

@@ -208,7 +208,7 @@ namespace Ryujinx.Graphics.Gpu.Engine.InlineToMemory
                     }
                 }
 
-                OffsetCalculator dstCalculator = new OffsetCalculator(
+                OffsetCalculator dstCalculator = new(
                     _dstWidth,
                     _dstHeight,
                     _dstStride,

+ 200 - 200
src/Ryujinx.Graphics.Gpu/Engine/Threed/Blender/AdvancedBlendFunctions.cs

@@ -10,206 +10,206 @@ namespace Ryujinx.Graphics.Gpu.Engine.Threed.Blender
     {
         public static readonly AdvancedBlendUcode[] Table = new AdvancedBlendUcode[]
         {
-            new AdvancedBlendUcode(AdvancedBlendOp.PlusClamped,      AdvancedBlendOverlap.Uncorrelated, true,  GenUncorrelatedPlusClampedPremul),
-            new AdvancedBlendUcode(AdvancedBlendOp.PlusClampedAlpha, AdvancedBlendOverlap.Uncorrelated, true,  GenUncorrelatedPlusClampedAlphaPremul),
-            new AdvancedBlendUcode(AdvancedBlendOp.PlusDarker,       AdvancedBlendOverlap.Uncorrelated, true,  GenUncorrelatedPlusDarkerPremul),
-            new AdvancedBlendUcode(AdvancedBlendOp.Multiply,         AdvancedBlendOverlap.Uncorrelated, true,  GenUncorrelatedMultiplyPremul),
-            new AdvancedBlendUcode(AdvancedBlendOp.Screen,           AdvancedBlendOverlap.Uncorrelated, true,  GenUncorrelatedScreenPremul),
-            new AdvancedBlendUcode(AdvancedBlendOp.Overlay,          AdvancedBlendOverlap.Uncorrelated, true,  GenUncorrelatedOverlayPremul),
-            new AdvancedBlendUcode(AdvancedBlendOp.Darken,           AdvancedBlendOverlap.Uncorrelated, true,  GenUncorrelatedDarkenPremul),
-            new AdvancedBlendUcode(AdvancedBlendOp.Lighten,          AdvancedBlendOverlap.Uncorrelated, true,  GenUncorrelatedLightenPremul),
-            new AdvancedBlendUcode(AdvancedBlendOp.ColorDodge,       AdvancedBlendOverlap.Uncorrelated, true,  GenUncorrelatedColorDodgePremul),
-            new AdvancedBlendUcode(AdvancedBlendOp.ColorBurn,        AdvancedBlendOverlap.Uncorrelated, true,  GenUncorrelatedColorBurnPremul),
-            new AdvancedBlendUcode(AdvancedBlendOp.HardLight,        AdvancedBlendOverlap.Uncorrelated, true,  GenUncorrelatedHardLightPremul),
-            new AdvancedBlendUcode(AdvancedBlendOp.SoftLight,        AdvancedBlendOverlap.Uncorrelated, true,  GenUncorrelatedSoftLightPremul),
-            new AdvancedBlendUcode(AdvancedBlendOp.Difference,       AdvancedBlendOverlap.Uncorrelated, true,  GenUncorrelatedDifferencePremul),
-            new AdvancedBlendUcode(AdvancedBlendOp.Minus,            AdvancedBlendOverlap.Uncorrelated, true,  GenUncorrelatedMinusPremul),
-            new AdvancedBlendUcode(AdvancedBlendOp.MinusClamped,     AdvancedBlendOverlap.Uncorrelated, true,  GenUncorrelatedMinusClampedPremul),
-            new AdvancedBlendUcode(AdvancedBlendOp.Exclusion,        AdvancedBlendOverlap.Uncorrelated, true,  GenUncorrelatedExclusionPremul),
-            new AdvancedBlendUcode(AdvancedBlendOp.Contrast,         AdvancedBlendOverlap.Uncorrelated, true,  GenUncorrelatedContrastPremul),
-            new AdvancedBlendUcode(AdvancedBlendOp.Invert,           AdvancedBlendOverlap.Uncorrelated, true,  GenUncorrelatedInvertPremul),
-            new AdvancedBlendUcode(AdvancedBlendOp.InvertRGB,        AdvancedBlendOverlap.Uncorrelated, true,  GenUncorrelatedInvertRGBPremul),
-            new AdvancedBlendUcode(AdvancedBlendOp.InvertOvg,        AdvancedBlendOverlap.Uncorrelated, true,  GenUncorrelatedInvertOvgPremul),
-            new AdvancedBlendUcode(AdvancedBlendOp.LinearDodge,      AdvancedBlendOverlap.Uncorrelated, true,  GenUncorrelatedLinearDodgePremul),
-            new AdvancedBlendUcode(AdvancedBlendOp.LinearBurn,       AdvancedBlendOverlap.Uncorrelated, true,  GenUncorrelatedLinearBurnPremul),
-            new AdvancedBlendUcode(AdvancedBlendOp.VividLight,       AdvancedBlendOverlap.Uncorrelated, true,  GenUncorrelatedVividLightPremul),
-            new AdvancedBlendUcode(AdvancedBlendOp.LinearLight,      AdvancedBlendOverlap.Uncorrelated, true,  GenUncorrelatedLinearLightPremul),
-            new AdvancedBlendUcode(AdvancedBlendOp.PinLight,         AdvancedBlendOverlap.Uncorrelated, true,  GenUncorrelatedPinLightPremul),
-            new AdvancedBlendUcode(AdvancedBlendOp.HardMix,          AdvancedBlendOverlap.Uncorrelated, true,  GenUncorrelatedHardMixPremul),
-            new AdvancedBlendUcode(AdvancedBlendOp.Red,              AdvancedBlendOverlap.Uncorrelated, true,  GenUncorrelatedRedPremul),
-            new AdvancedBlendUcode(AdvancedBlendOp.Green,            AdvancedBlendOverlap.Uncorrelated, true,  GenUncorrelatedGreenPremul),
-            new AdvancedBlendUcode(AdvancedBlendOp.Blue,             AdvancedBlendOverlap.Uncorrelated, true,  GenUncorrelatedBluePremul),
-            new AdvancedBlendUcode(AdvancedBlendOp.HslHue,           AdvancedBlendOverlap.Uncorrelated, true,  GenUncorrelatedHslHuePremul),
-            new AdvancedBlendUcode(AdvancedBlendOp.HslSaturation,    AdvancedBlendOverlap.Uncorrelated, true,  GenUncorrelatedHslSaturationPremul),
-            new AdvancedBlendUcode(AdvancedBlendOp.HslColor,         AdvancedBlendOverlap.Uncorrelated, true,  GenUncorrelatedHslColorPremul),
-            new AdvancedBlendUcode(AdvancedBlendOp.HslLuminosity,    AdvancedBlendOverlap.Uncorrelated, true,  GenUncorrelatedHslLuminosityPremul),
-            new AdvancedBlendUcode(AdvancedBlendOp.Src,              AdvancedBlendOverlap.Disjoint,     true,  GenDisjointSrcPremul),
-            new AdvancedBlendUcode(AdvancedBlendOp.Dst,              AdvancedBlendOverlap.Disjoint,     true,  GenDisjointDstPremul),
-            new AdvancedBlendUcode(AdvancedBlendOp.SrcOver,          AdvancedBlendOverlap.Disjoint,     true,  GenDisjointSrcOverPremul),
-            new AdvancedBlendUcode(AdvancedBlendOp.DstOver,          AdvancedBlendOverlap.Disjoint,     true,  GenDisjointDstOverPremul),
-            new AdvancedBlendUcode(AdvancedBlendOp.SrcIn,            AdvancedBlendOverlap.Disjoint,     true,  GenDisjointSrcInPremul),
-            new AdvancedBlendUcode(AdvancedBlendOp.DstIn,            AdvancedBlendOverlap.Disjoint,     true,  GenDisjointDstInPremul),
-            new AdvancedBlendUcode(AdvancedBlendOp.SrcOut,           AdvancedBlendOverlap.Disjoint,     true,  GenDisjointSrcOutPremul),
-            new AdvancedBlendUcode(AdvancedBlendOp.DstOut,           AdvancedBlendOverlap.Disjoint,     true,  GenDisjointDstOutPremul),
-            new AdvancedBlendUcode(AdvancedBlendOp.SrcAtop,          AdvancedBlendOverlap.Disjoint,     true,  GenDisjointSrcAtopPremul),
-            new AdvancedBlendUcode(AdvancedBlendOp.DstAtop,          AdvancedBlendOverlap.Disjoint,     true,  GenDisjointDstAtopPremul),
-            new AdvancedBlendUcode(AdvancedBlendOp.Xor,              AdvancedBlendOverlap.Disjoint,     true,  GenDisjointXorPremul),
-            new AdvancedBlendUcode(AdvancedBlendOp.Plus,             AdvancedBlendOverlap.Disjoint,     true,  GenDisjointPlusPremul),
-            new AdvancedBlendUcode(AdvancedBlendOp.Multiply,         AdvancedBlendOverlap.Disjoint,     true,  GenDisjointMultiplyPremul),
-            new AdvancedBlendUcode(AdvancedBlendOp.Screen,           AdvancedBlendOverlap.Disjoint,     true,  GenDisjointScreenPremul),
-            new AdvancedBlendUcode(AdvancedBlendOp.Overlay,          AdvancedBlendOverlap.Disjoint,     true,  GenDisjointOverlayPremul),
-            new AdvancedBlendUcode(AdvancedBlendOp.Darken,           AdvancedBlendOverlap.Disjoint,     true,  GenDisjointDarkenPremul),
-            new AdvancedBlendUcode(AdvancedBlendOp.Lighten,          AdvancedBlendOverlap.Disjoint,     true,  GenDisjointLightenPremul),
-            new AdvancedBlendUcode(AdvancedBlendOp.ColorDodge,       AdvancedBlendOverlap.Disjoint,     true,  GenDisjointColorDodgePremul),
-            new AdvancedBlendUcode(AdvancedBlendOp.ColorBurn,        AdvancedBlendOverlap.Disjoint,     true,  GenDisjointColorBurnPremul),
-            new AdvancedBlendUcode(AdvancedBlendOp.HardLight,        AdvancedBlendOverlap.Disjoint,     true,  GenDisjointHardLightPremul),
-            new AdvancedBlendUcode(AdvancedBlendOp.SoftLight,        AdvancedBlendOverlap.Disjoint,     true,  GenDisjointSoftLightPremul),
-            new AdvancedBlendUcode(AdvancedBlendOp.Difference,       AdvancedBlendOverlap.Disjoint,     true,  GenDisjointDifferencePremul),
-            new AdvancedBlendUcode(AdvancedBlendOp.Exclusion,        AdvancedBlendOverlap.Disjoint,     true,  GenDisjointExclusionPremul),
-            new AdvancedBlendUcode(AdvancedBlendOp.Invert,           AdvancedBlendOverlap.Disjoint,     true,  GenDisjointInvertPremul),
-            new AdvancedBlendUcode(AdvancedBlendOp.InvertRGB,        AdvancedBlendOverlap.Disjoint,     true,  GenDisjointInvertRGBPremul),
-            new AdvancedBlendUcode(AdvancedBlendOp.LinearDodge,      AdvancedBlendOverlap.Disjoint,     true,  GenDisjointLinearDodgePremul),
-            new AdvancedBlendUcode(AdvancedBlendOp.LinearBurn,       AdvancedBlendOverlap.Disjoint,     true,  GenDisjointLinearBurnPremul),
-            new AdvancedBlendUcode(AdvancedBlendOp.VividLight,       AdvancedBlendOverlap.Disjoint,     true,  GenDisjointVividLightPremul),
-            new AdvancedBlendUcode(AdvancedBlendOp.LinearLight,      AdvancedBlendOverlap.Disjoint,     true,  GenDisjointLinearLightPremul),
-            new AdvancedBlendUcode(AdvancedBlendOp.PinLight,         AdvancedBlendOverlap.Disjoint,     true,  GenDisjointPinLightPremul),
-            new AdvancedBlendUcode(AdvancedBlendOp.HardMix,          AdvancedBlendOverlap.Disjoint,     true,  GenDisjointHardMixPremul),
-            new AdvancedBlendUcode(AdvancedBlendOp.HslHue,           AdvancedBlendOverlap.Disjoint,     true,  GenDisjointHslHuePremul),
-            new AdvancedBlendUcode(AdvancedBlendOp.HslSaturation,    AdvancedBlendOverlap.Disjoint,     true,  GenDisjointHslSaturationPremul),
-            new AdvancedBlendUcode(AdvancedBlendOp.HslColor,         AdvancedBlendOverlap.Disjoint,     true,  GenDisjointHslColorPremul),
-            new AdvancedBlendUcode(AdvancedBlendOp.HslLuminosity,    AdvancedBlendOverlap.Disjoint,     true,  GenDisjointHslLuminosityPremul),
-            new AdvancedBlendUcode(AdvancedBlendOp.Src,              AdvancedBlendOverlap.Conjoint,     true,  GenConjointSrcPremul),
-            new AdvancedBlendUcode(AdvancedBlendOp.Dst,              AdvancedBlendOverlap.Conjoint,     true,  GenConjointDstPremul),
-            new AdvancedBlendUcode(AdvancedBlendOp.SrcOver,          AdvancedBlendOverlap.Conjoint,     true,  GenConjointSrcOverPremul),
-            new AdvancedBlendUcode(AdvancedBlendOp.DstOver,          AdvancedBlendOverlap.Conjoint,     true,  GenConjointDstOverPremul),
-            new AdvancedBlendUcode(AdvancedBlendOp.SrcIn,            AdvancedBlendOverlap.Conjoint,     true,  GenConjointSrcInPremul),
-            new AdvancedBlendUcode(AdvancedBlendOp.DstIn,            AdvancedBlendOverlap.Conjoint,     true,  GenConjointDstInPremul),
-            new AdvancedBlendUcode(AdvancedBlendOp.SrcOut,           AdvancedBlendOverlap.Conjoint,     true,  GenConjointSrcOutPremul),
-            new AdvancedBlendUcode(AdvancedBlendOp.DstOut,           AdvancedBlendOverlap.Conjoint,     true,  GenConjointDstOutPremul),
-            new AdvancedBlendUcode(AdvancedBlendOp.SrcAtop,          AdvancedBlendOverlap.Conjoint,     true,  GenConjointSrcAtopPremul),
-            new AdvancedBlendUcode(AdvancedBlendOp.DstAtop,          AdvancedBlendOverlap.Conjoint,     true,  GenConjointDstAtopPremul),
-            new AdvancedBlendUcode(AdvancedBlendOp.Xor,              AdvancedBlendOverlap.Conjoint,     true,  GenConjointXorPremul),
-            new AdvancedBlendUcode(AdvancedBlendOp.Multiply,         AdvancedBlendOverlap.Conjoint,     true,  GenConjointMultiplyPremul),
-            new AdvancedBlendUcode(AdvancedBlendOp.Screen,           AdvancedBlendOverlap.Conjoint,     true,  GenConjointScreenPremul),
-            new AdvancedBlendUcode(AdvancedBlendOp.Overlay,          AdvancedBlendOverlap.Conjoint,     true,  GenConjointOverlayPremul),
-            new AdvancedBlendUcode(AdvancedBlendOp.Darken,           AdvancedBlendOverlap.Conjoint,     true,  GenConjointDarkenPremul),
-            new AdvancedBlendUcode(AdvancedBlendOp.Lighten,          AdvancedBlendOverlap.Conjoint,     true,  GenConjointLightenPremul),
-            new AdvancedBlendUcode(AdvancedBlendOp.ColorDodge,       AdvancedBlendOverlap.Conjoint,     true,  GenConjointColorDodgePremul),
-            new AdvancedBlendUcode(AdvancedBlendOp.ColorBurn,        AdvancedBlendOverlap.Conjoint,     true,  GenConjointColorBurnPremul),
-            new AdvancedBlendUcode(AdvancedBlendOp.HardLight,        AdvancedBlendOverlap.Conjoint,     true,  GenConjointHardLightPremul),
-            new AdvancedBlendUcode(AdvancedBlendOp.SoftLight,        AdvancedBlendOverlap.Conjoint,     true,  GenConjointSoftLightPremul),
-            new AdvancedBlendUcode(AdvancedBlendOp.Difference,       AdvancedBlendOverlap.Conjoint,     true,  GenConjointDifferencePremul),
-            new AdvancedBlendUcode(AdvancedBlendOp.Exclusion,        AdvancedBlendOverlap.Conjoint,     true,  GenConjointExclusionPremul),
-            new AdvancedBlendUcode(AdvancedBlendOp.Invert,           AdvancedBlendOverlap.Conjoint,     true,  GenConjointInvertPremul),
-            new AdvancedBlendUcode(AdvancedBlendOp.InvertRGB,        AdvancedBlendOverlap.Conjoint,     true,  GenConjointInvertRGBPremul),
-            new AdvancedBlendUcode(AdvancedBlendOp.LinearDodge,      AdvancedBlendOverlap.Conjoint,     true,  GenConjointLinearDodgePremul),
-            new AdvancedBlendUcode(AdvancedBlendOp.LinearBurn,       AdvancedBlendOverlap.Conjoint,     true,  GenConjointLinearBurnPremul),
-            new AdvancedBlendUcode(AdvancedBlendOp.VividLight,       AdvancedBlendOverlap.Conjoint,     true,  GenConjointVividLightPremul),
-            new AdvancedBlendUcode(AdvancedBlendOp.LinearLight,      AdvancedBlendOverlap.Conjoint,     true,  GenConjointLinearLightPremul),
-            new AdvancedBlendUcode(AdvancedBlendOp.PinLight,         AdvancedBlendOverlap.Conjoint,     true,  GenConjointPinLightPremul),
-            new AdvancedBlendUcode(AdvancedBlendOp.HardMix,          AdvancedBlendOverlap.Conjoint,     true,  GenConjointHardMixPremul),
-            new AdvancedBlendUcode(AdvancedBlendOp.HslHue,           AdvancedBlendOverlap.Conjoint,     true,  GenConjointHslHuePremul),
-            new AdvancedBlendUcode(AdvancedBlendOp.HslSaturation,    AdvancedBlendOverlap.Conjoint,     true,  GenConjointHslSaturationPremul),
-            new AdvancedBlendUcode(AdvancedBlendOp.HslColor,         AdvancedBlendOverlap.Conjoint,     true,  GenConjointHslColorPremul),
-            new AdvancedBlendUcode(AdvancedBlendOp.HslLuminosity,    AdvancedBlendOverlap.Conjoint,     true,  GenConjointHslLuminosityPremul),
-            new AdvancedBlendUcode(AdvancedBlendOp.DstOver,          AdvancedBlendOverlap.Uncorrelated, false, GenUncorrelatedDstOver),
-            new AdvancedBlendUcode(AdvancedBlendOp.SrcIn,            AdvancedBlendOverlap.Uncorrelated, false, GenUncorrelatedSrcIn),
-            new AdvancedBlendUcode(AdvancedBlendOp.SrcOut,           AdvancedBlendOverlap.Uncorrelated, false, GenUncorrelatedSrcOut),
-            new AdvancedBlendUcode(AdvancedBlendOp.SrcAtop,          AdvancedBlendOverlap.Uncorrelated, false, GenUncorrelatedSrcAtop),
-            new AdvancedBlendUcode(AdvancedBlendOp.DstAtop,          AdvancedBlendOverlap.Uncorrelated, false, GenUncorrelatedDstAtop),
-            new AdvancedBlendUcode(AdvancedBlendOp.Xor,              AdvancedBlendOverlap.Uncorrelated, false, GenUncorrelatedXor),
-            new AdvancedBlendUcode(AdvancedBlendOp.PlusClamped,      AdvancedBlendOverlap.Uncorrelated, false, GenUncorrelatedPlusClamped),
-            new AdvancedBlendUcode(AdvancedBlendOp.PlusClampedAlpha, AdvancedBlendOverlap.Uncorrelated, false, GenUncorrelatedPlusClampedAlpha),
-            new AdvancedBlendUcode(AdvancedBlendOp.PlusDarker,       AdvancedBlendOverlap.Uncorrelated, false, GenUncorrelatedPlusDarker),
-            new AdvancedBlendUcode(AdvancedBlendOp.Multiply,         AdvancedBlendOverlap.Uncorrelated, false, GenUncorrelatedMultiply),
-            new AdvancedBlendUcode(AdvancedBlendOp.Screen,           AdvancedBlendOverlap.Uncorrelated, false, GenUncorrelatedScreen),
-            new AdvancedBlendUcode(AdvancedBlendOp.Overlay,          AdvancedBlendOverlap.Uncorrelated, false, GenUncorrelatedOverlay),
-            new AdvancedBlendUcode(AdvancedBlendOp.Darken,           AdvancedBlendOverlap.Uncorrelated, false, GenUncorrelatedDarken),
-            new AdvancedBlendUcode(AdvancedBlendOp.Lighten,          AdvancedBlendOverlap.Uncorrelated, false, GenUncorrelatedLighten),
-            new AdvancedBlendUcode(AdvancedBlendOp.ColorDodge,       AdvancedBlendOverlap.Uncorrelated, false, GenUncorrelatedColorDodge),
-            new AdvancedBlendUcode(AdvancedBlendOp.ColorBurn,        AdvancedBlendOverlap.Uncorrelated, false, GenUncorrelatedColorBurn),
-            new AdvancedBlendUcode(AdvancedBlendOp.HardLight,        AdvancedBlendOverlap.Uncorrelated, false, GenUncorrelatedHardLight),
-            new AdvancedBlendUcode(AdvancedBlendOp.SoftLight,        AdvancedBlendOverlap.Uncorrelated, false, GenUncorrelatedSoftLight),
-            new AdvancedBlendUcode(AdvancedBlendOp.Difference,       AdvancedBlendOverlap.Uncorrelated, false, GenUncorrelatedDifference),
-            new AdvancedBlendUcode(AdvancedBlendOp.Minus,            AdvancedBlendOverlap.Uncorrelated, false, GenUncorrelatedMinus),
-            new AdvancedBlendUcode(AdvancedBlendOp.MinusClamped,     AdvancedBlendOverlap.Uncorrelated, false, GenUncorrelatedMinusClamped),
-            new AdvancedBlendUcode(AdvancedBlendOp.Exclusion,        AdvancedBlendOverlap.Uncorrelated, false, GenUncorrelatedExclusion),
-            new AdvancedBlendUcode(AdvancedBlendOp.Contrast,         AdvancedBlendOverlap.Uncorrelated, false, GenUncorrelatedContrast),
-            new AdvancedBlendUcode(AdvancedBlendOp.InvertRGB,        AdvancedBlendOverlap.Uncorrelated, false, GenUncorrelatedInvertRGB),
-            new AdvancedBlendUcode(AdvancedBlendOp.LinearDodge,      AdvancedBlendOverlap.Uncorrelated, false, GenUncorrelatedLinearDodge),
-            new AdvancedBlendUcode(AdvancedBlendOp.LinearBurn,       AdvancedBlendOverlap.Uncorrelated, false, GenUncorrelatedLinearBurn),
-            new AdvancedBlendUcode(AdvancedBlendOp.VividLight,       AdvancedBlendOverlap.Uncorrelated, false, GenUncorrelatedVividLight),
-            new AdvancedBlendUcode(AdvancedBlendOp.LinearLight,      AdvancedBlendOverlap.Uncorrelated, false, GenUncorrelatedLinearLight),
-            new AdvancedBlendUcode(AdvancedBlendOp.PinLight,         AdvancedBlendOverlap.Uncorrelated, false, GenUncorrelatedPinLight),
-            new AdvancedBlendUcode(AdvancedBlendOp.HardMix,          AdvancedBlendOverlap.Uncorrelated, false, GenUncorrelatedHardMix),
-            new AdvancedBlendUcode(AdvancedBlendOp.Red,              AdvancedBlendOverlap.Uncorrelated, false, GenUncorrelatedRed),
-            new AdvancedBlendUcode(AdvancedBlendOp.Green,            AdvancedBlendOverlap.Uncorrelated, false, GenUncorrelatedGreen),
-            new AdvancedBlendUcode(AdvancedBlendOp.Blue,             AdvancedBlendOverlap.Uncorrelated, false, GenUncorrelatedBlue),
-            new AdvancedBlendUcode(AdvancedBlendOp.HslHue,           AdvancedBlendOverlap.Uncorrelated, false, GenUncorrelatedHslHue),
-            new AdvancedBlendUcode(AdvancedBlendOp.HslSaturation,    AdvancedBlendOverlap.Uncorrelated, false, GenUncorrelatedHslSaturation),
-            new AdvancedBlendUcode(AdvancedBlendOp.HslColor,         AdvancedBlendOverlap.Uncorrelated, false, GenUncorrelatedHslColor),
-            new AdvancedBlendUcode(AdvancedBlendOp.HslLuminosity,    AdvancedBlendOverlap.Uncorrelated, false, GenUncorrelatedHslLuminosity),
-            new AdvancedBlendUcode(AdvancedBlendOp.Src,              AdvancedBlendOverlap.Disjoint,     false, GenDisjointSrc),
-            new AdvancedBlendUcode(AdvancedBlendOp.SrcOver,          AdvancedBlendOverlap.Disjoint,     false, GenDisjointSrcOver),
-            new AdvancedBlendUcode(AdvancedBlendOp.DstOver,          AdvancedBlendOverlap.Disjoint,     false, GenDisjointDstOver),
-            new AdvancedBlendUcode(AdvancedBlendOp.SrcIn,            AdvancedBlendOverlap.Disjoint,     false, GenDisjointSrcIn),
-            new AdvancedBlendUcode(AdvancedBlendOp.SrcOut,           AdvancedBlendOverlap.Disjoint,     false, GenDisjointSrcOut),
-            new AdvancedBlendUcode(AdvancedBlendOp.SrcAtop,          AdvancedBlendOverlap.Disjoint,     false, GenDisjointSrcAtop),
-            new AdvancedBlendUcode(AdvancedBlendOp.DstAtop,          AdvancedBlendOverlap.Disjoint,     false, GenDisjointDstAtop),
-            new AdvancedBlendUcode(AdvancedBlendOp.Xor,              AdvancedBlendOverlap.Disjoint,     false, GenDisjointXor),
-            new AdvancedBlendUcode(AdvancedBlendOp.Plus,             AdvancedBlendOverlap.Disjoint,     false, GenDisjointPlus),
-            new AdvancedBlendUcode(AdvancedBlendOp.Multiply,         AdvancedBlendOverlap.Disjoint,     false, GenDisjointMultiply),
-            new AdvancedBlendUcode(AdvancedBlendOp.Screen,           AdvancedBlendOverlap.Disjoint,     false, GenDisjointScreen),
-            new AdvancedBlendUcode(AdvancedBlendOp.Overlay,          AdvancedBlendOverlap.Disjoint,     false, GenDisjointOverlay),
-            new AdvancedBlendUcode(AdvancedBlendOp.Darken,           AdvancedBlendOverlap.Disjoint,     false, GenDisjointDarken),
-            new AdvancedBlendUcode(AdvancedBlendOp.Lighten,          AdvancedBlendOverlap.Disjoint,     false, GenDisjointLighten),
-            new AdvancedBlendUcode(AdvancedBlendOp.ColorDodge,       AdvancedBlendOverlap.Disjoint,     false, GenDisjointColorDodge),
-            new AdvancedBlendUcode(AdvancedBlendOp.ColorBurn,        AdvancedBlendOverlap.Disjoint,     false, GenDisjointColorBurn),
-            new AdvancedBlendUcode(AdvancedBlendOp.HardLight,        AdvancedBlendOverlap.Disjoint,     false, GenDisjointHardLight),
-            new AdvancedBlendUcode(AdvancedBlendOp.SoftLight,        AdvancedBlendOverlap.Disjoint,     false, GenDisjointSoftLight),
-            new AdvancedBlendUcode(AdvancedBlendOp.Difference,       AdvancedBlendOverlap.Disjoint,     false, GenDisjointDifference),
-            new AdvancedBlendUcode(AdvancedBlendOp.Exclusion,        AdvancedBlendOverlap.Disjoint,     false, GenDisjointExclusion),
-            new AdvancedBlendUcode(AdvancedBlendOp.InvertRGB,        AdvancedBlendOverlap.Disjoint,     false, GenDisjointInvertRGB),
-            new AdvancedBlendUcode(AdvancedBlendOp.LinearDodge,      AdvancedBlendOverlap.Disjoint,     false, GenDisjointLinearDodge),
-            new AdvancedBlendUcode(AdvancedBlendOp.LinearBurn,       AdvancedBlendOverlap.Disjoint,     false, GenDisjointLinearBurn),
-            new AdvancedBlendUcode(AdvancedBlendOp.VividLight,       AdvancedBlendOverlap.Disjoint,     false, GenDisjointVividLight),
-            new AdvancedBlendUcode(AdvancedBlendOp.LinearLight,      AdvancedBlendOverlap.Disjoint,     false, GenDisjointLinearLight),
-            new AdvancedBlendUcode(AdvancedBlendOp.PinLight,         AdvancedBlendOverlap.Disjoint,     false, GenDisjointPinLight),
-            new AdvancedBlendUcode(AdvancedBlendOp.HardMix,          AdvancedBlendOverlap.Disjoint,     false, GenDisjointHardMix),
-            new AdvancedBlendUcode(AdvancedBlendOp.HslHue,           AdvancedBlendOverlap.Disjoint,     false, GenDisjointHslHue),
-            new AdvancedBlendUcode(AdvancedBlendOp.HslSaturation,    AdvancedBlendOverlap.Disjoint,     false, GenDisjointHslSaturation),
-            new AdvancedBlendUcode(AdvancedBlendOp.HslColor,         AdvancedBlendOverlap.Disjoint,     false, GenDisjointHslColor),
-            new AdvancedBlendUcode(AdvancedBlendOp.HslLuminosity,    AdvancedBlendOverlap.Disjoint,     false, GenDisjointHslLuminosity),
-            new AdvancedBlendUcode(AdvancedBlendOp.Src,              AdvancedBlendOverlap.Conjoint,     false, GenConjointSrc),
-            new AdvancedBlendUcode(AdvancedBlendOp.SrcOver,          AdvancedBlendOverlap.Conjoint,     false, GenConjointSrcOver),
-            new AdvancedBlendUcode(AdvancedBlendOp.DstOver,          AdvancedBlendOverlap.Conjoint,     false, GenConjointDstOver),
-            new AdvancedBlendUcode(AdvancedBlendOp.SrcIn,            AdvancedBlendOverlap.Conjoint,     false, GenConjointSrcIn),
-            new AdvancedBlendUcode(AdvancedBlendOp.SrcOut,           AdvancedBlendOverlap.Conjoint,     false, GenConjointSrcOut),
-            new AdvancedBlendUcode(AdvancedBlendOp.SrcAtop,          AdvancedBlendOverlap.Conjoint,     false, GenConjointSrcAtop),
-            new AdvancedBlendUcode(AdvancedBlendOp.DstAtop,          AdvancedBlendOverlap.Conjoint,     false, GenConjointDstAtop),
-            new AdvancedBlendUcode(AdvancedBlendOp.Xor,              AdvancedBlendOverlap.Conjoint,     false, GenConjointXor),
-            new AdvancedBlendUcode(AdvancedBlendOp.Multiply,         AdvancedBlendOverlap.Conjoint,     false, GenConjointMultiply),
-            new AdvancedBlendUcode(AdvancedBlendOp.Screen,           AdvancedBlendOverlap.Conjoint,     false, GenConjointScreen),
-            new AdvancedBlendUcode(AdvancedBlendOp.Overlay,          AdvancedBlendOverlap.Conjoint,     false, GenConjointOverlay),
-            new AdvancedBlendUcode(AdvancedBlendOp.Darken,           AdvancedBlendOverlap.Conjoint,     false, GenConjointDarken),
-            new AdvancedBlendUcode(AdvancedBlendOp.Lighten,          AdvancedBlendOverlap.Conjoint,     false, GenConjointLighten),
-            new AdvancedBlendUcode(AdvancedBlendOp.ColorDodge,       AdvancedBlendOverlap.Conjoint,     false, GenConjointColorDodge),
-            new AdvancedBlendUcode(AdvancedBlendOp.ColorBurn,        AdvancedBlendOverlap.Conjoint,     false, GenConjointColorBurn),
-            new AdvancedBlendUcode(AdvancedBlendOp.HardLight,        AdvancedBlendOverlap.Conjoint,     false, GenConjointHardLight),
-            new AdvancedBlendUcode(AdvancedBlendOp.SoftLight,        AdvancedBlendOverlap.Conjoint,     false, GenConjointSoftLight),
-            new AdvancedBlendUcode(AdvancedBlendOp.Difference,       AdvancedBlendOverlap.Conjoint,     false, GenConjointDifference),
-            new AdvancedBlendUcode(AdvancedBlendOp.Exclusion,        AdvancedBlendOverlap.Conjoint,     false, GenConjointExclusion),
-            new AdvancedBlendUcode(AdvancedBlendOp.InvertRGB,        AdvancedBlendOverlap.Conjoint,     false, GenConjointInvertRGB),
-            new AdvancedBlendUcode(AdvancedBlendOp.LinearDodge,      AdvancedBlendOverlap.Conjoint,     false, GenConjointLinearDodge),
-            new AdvancedBlendUcode(AdvancedBlendOp.LinearBurn,       AdvancedBlendOverlap.Conjoint,     false, GenConjointLinearBurn),
-            new AdvancedBlendUcode(AdvancedBlendOp.VividLight,       AdvancedBlendOverlap.Conjoint,     false, GenConjointVividLight),
-            new AdvancedBlendUcode(AdvancedBlendOp.LinearLight,      AdvancedBlendOverlap.Conjoint,     false, GenConjointLinearLight),
-            new AdvancedBlendUcode(AdvancedBlendOp.PinLight,         AdvancedBlendOverlap.Conjoint,     false, GenConjointPinLight),
-            new AdvancedBlendUcode(AdvancedBlendOp.HardMix,          AdvancedBlendOverlap.Conjoint,     false, GenConjointHardMix),
-            new AdvancedBlendUcode(AdvancedBlendOp.HslHue,           AdvancedBlendOverlap.Conjoint,     false, GenConjointHslHue),
-            new AdvancedBlendUcode(AdvancedBlendOp.HslSaturation,    AdvancedBlendOverlap.Conjoint,     false, GenConjointHslSaturation),
-            new AdvancedBlendUcode(AdvancedBlendOp.HslColor,         AdvancedBlendOverlap.Conjoint,     false, GenConjointHslColor),
-            new AdvancedBlendUcode(AdvancedBlendOp.HslLuminosity,    AdvancedBlendOverlap.Conjoint,     false, GenConjointHslLuminosity),
+            new(AdvancedBlendOp.PlusClamped,      AdvancedBlendOverlap.Uncorrelated, true,  GenUncorrelatedPlusClampedPremul),
+            new(AdvancedBlendOp.PlusClampedAlpha, AdvancedBlendOverlap.Uncorrelated, true,  GenUncorrelatedPlusClampedAlphaPremul),
+            new(AdvancedBlendOp.PlusDarker,       AdvancedBlendOverlap.Uncorrelated, true,  GenUncorrelatedPlusDarkerPremul),
+            new(AdvancedBlendOp.Multiply,         AdvancedBlendOverlap.Uncorrelated, true,  GenUncorrelatedMultiplyPremul),
+            new(AdvancedBlendOp.Screen,           AdvancedBlendOverlap.Uncorrelated, true,  GenUncorrelatedScreenPremul),
+            new(AdvancedBlendOp.Overlay,          AdvancedBlendOverlap.Uncorrelated, true,  GenUncorrelatedOverlayPremul),
+            new(AdvancedBlendOp.Darken,           AdvancedBlendOverlap.Uncorrelated, true,  GenUncorrelatedDarkenPremul),
+            new(AdvancedBlendOp.Lighten,          AdvancedBlendOverlap.Uncorrelated, true,  GenUncorrelatedLightenPremul),
+            new(AdvancedBlendOp.ColorDodge,       AdvancedBlendOverlap.Uncorrelated, true,  GenUncorrelatedColorDodgePremul),
+            new(AdvancedBlendOp.ColorBurn,        AdvancedBlendOverlap.Uncorrelated, true,  GenUncorrelatedColorBurnPremul),
+            new(AdvancedBlendOp.HardLight,        AdvancedBlendOverlap.Uncorrelated, true,  GenUncorrelatedHardLightPremul),
+            new(AdvancedBlendOp.SoftLight,        AdvancedBlendOverlap.Uncorrelated, true,  GenUncorrelatedSoftLightPremul),
+            new(AdvancedBlendOp.Difference,       AdvancedBlendOverlap.Uncorrelated, true,  GenUncorrelatedDifferencePremul),
+            new(AdvancedBlendOp.Minus,            AdvancedBlendOverlap.Uncorrelated, true,  GenUncorrelatedMinusPremul),
+            new(AdvancedBlendOp.MinusClamped,     AdvancedBlendOverlap.Uncorrelated, true,  GenUncorrelatedMinusClampedPremul),
+            new(AdvancedBlendOp.Exclusion,        AdvancedBlendOverlap.Uncorrelated, true,  GenUncorrelatedExclusionPremul),
+            new(AdvancedBlendOp.Contrast,         AdvancedBlendOverlap.Uncorrelated, true,  GenUncorrelatedContrastPremul),
+            new(AdvancedBlendOp.Invert,           AdvancedBlendOverlap.Uncorrelated, true,  GenUncorrelatedInvertPremul),
+            new(AdvancedBlendOp.InvertRGB,        AdvancedBlendOverlap.Uncorrelated, true,  GenUncorrelatedInvertRGBPremul),
+            new(AdvancedBlendOp.InvertOvg,        AdvancedBlendOverlap.Uncorrelated, true,  GenUncorrelatedInvertOvgPremul),
+            new(AdvancedBlendOp.LinearDodge,      AdvancedBlendOverlap.Uncorrelated, true,  GenUncorrelatedLinearDodgePremul),
+            new(AdvancedBlendOp.LinearBurn,       AdvancedBlendOverlap.Uncorrelated, true,  GenUncorrelatedLinearBurnPremul),
+            new(AdvancedBlendOp.VividLight,       AdvancedBlendOverlap.Uncorrelated, true,  GenUncorrelatedVividLightPremul),
+            new(AdvancedBlendOp.LinearLight,      AdvancedBlendOverlap.Uncorrelated, true,  GenUncorrelatedLinearLightPremul),
+            new(AdvancedBlendOp.PinLight,         AdvancedBlendOverlap.Uncorrelated, true,  GenUncorrelatedPinLightPremul),
+            new(AdvancedBlendOp.HardMix,          AdvancedBlendOverlap.Uncorrelated, true,  GenUncorrelatedHardMixPremul),
+            new(AdvancedBlendOp.Red,              AdvancedBlendOverlap.Uncorrelated, true,  GenUncorrelatedRedPremul),
+            new(AdvancedBlendOp.Green,            AdvancedBlendOverlap.Uncorrelated, true,  GenUncorrelatedGreenPremul),
+            new(AdvancedBlendOp.Blue,             AdvancedBlendOverlap.Uncorrelated, true,  GenUncorrelatedBluePremul),
+            new(AdvancedBlendOp.HslHue,           AdvancedBlendOverlap.Uncorrelated, true,  GenUncorrelatedHslHuePremul),
+            new(AdvancedBlendOp.HslSaturation,    AdvancedBlendOverlap.Uncorrelated, true,  GenUncorrelatedHslSaturationPremul),
+            new(AdvancedBlendOp.HslColor,         AdvancedBlendOverlap.Uncorrelated, true,  GenUncorrelatedHslColorPremul),
+            new(AdvancedBlendOp.HslLuminosity,    AdvancedBlendOverlap.Uncorrelated, true,  GenUncorrelatedHslLuminosityPremul),
+            new(AdvancedBlendOp.Src,              AdvancedBlendOverlap.Disjoint,     true,  GenDisjointSrcPremul),
+            new(AdvancedBlendOp.Dst,              AdvancedBlendOverlap.Disjoint,     true,  GenDisjointDstPremul),
+            new(AdvancedBlendOp.SrcOver,          AdvancedBlendOverlap.Disjoint,     true,  GenDisjointSrcOverPremul),
+            new(AdvancedBlendOp.DstOver,          AdvancedBlendOverlap.Disjoint,     true,  GenDisjointDstOverPremul),
+            new(AdvancedBlendOp.SrcIn,            AdvancedBlendOverlap.Disjoint,     true,  GenDisjointSrcInPremul),
+            new(AdvancedBlendOp.DstIn,            AdvancedBlendOverlap.Disjoint,     true,  GenDisjointDstInPremul),
+            new(AdvancedBlendOp.SrcOut,           AdvancedBlendOverlap.Disjoint,     true,  GenDisjointSrcOutPremul),
+            new(AdvancedBlendOp.DstOut,           AdvancedBlendOverlap.Disjoint,     true,  GenDisjointDstOutPremul),
+            new(AdvancedBlendOp.SrcAtop,          AdvancedBlendOverlap.Disjoint,     true,  GenDisjointSrcAtopPremul),
+            new(AdvancedBlendOp.DstAtop,          AdvancedBlendOverlap.Disjoint,     true,  GenDisjointDstAtopPremul),
+            new(AdvancedBlendOp.Xor,              AdvancedBlendOverlap.Disjoint,     true,  GenDisjointXorPremul),
+            new(AdvancedBlendOp.Plus,             AdvancedBlendOverlap.Disjoint,     true,  GenDisjointPlusPremul),
+            new(AdvancedBlendOp.Multiply,         AdvancedBlendOverlap.Disjoint,     true,  GenDisjointMultiplyPremul),
+            new(AdvancedBlendOp.Screen,           AdvancedBlendOverlap.Disjoint,     true,  GenDisjointScreenPremul),
+            new(AdvancedBlendOp.Overlay,          AdvancedBlendOverlap.Disjoint,     true,  GenDisjointOverlayPremul),
+            new(AdvancedBlendOp.Darken,           AdvancedBlendOverlap.Disjoint,     true,  GenDisjointDarkenPremul),
+            new(AdvancedBlendOp.Lighten,          AdvancedBlendOverlap.Disjoint,     true,  GenDisjointLightenPremul),
+            new(AdvancedBlendOp.ColorDodge,       AdvancedBlendOverlap.Disjoint,     true,  GenDisjointColorDodgePremul),
+            new(AdvancedBlendOp.ColorBurn,        AdvancedBlendOverlap.Disjoint,     true,  GenDisjointColorBurnPremul),
+            new(AdvancedBlendOp.HardLight,        AdvancedBlendOverlap.Disjoint,     true,  GenDisjointHardLightPremul),
+            new(AdvancedBlendOp.SoftLight,        AdvancedBlendOverlap.Disjoint,     true,  GenDisjointSoftLightPremul),
+            new(AdvancedBlendOp.Difference,       AdvancedBlendOverlap.Disjoint,     true,  GenDisjointDifferencePremul),
+            new(AdvancedBlendOp.Exclusion,        AdvancedBlendOverlap.Disjoint,     true,  GenDisjointExclusionPremul),
+            new(AdvancedBlendOp.Invert,           AdvancedBlendOverlap.Disjoint,     true,  GenDisjointInvertPremul),
+            new(AdvancedBlendOp.InvertRGB,        AdvancedBlendOverlap.Disjoint,     true,  GenDisjointInvertRGBPremul),
+            new(AdvancedBlendOp.LinearDodge,      AdvancedBlendOverlap.Disjoint,     true,  GenDisjointLinearDodgePremul),
+            new(AdvancedBlendOp.LinearBurn,       AdvancedBlendOverlap.Disjoint,     true,  GenDisjointLinearBurnPremul),
+            new(AdvancedBlendOp.VividLight,       AdvancedBlendOverlap.Disjoint,     true,  GenDisjointVividLightPremul),
+            new(AdvancedBlendOp.LinearLight,      AdvancedBlendOverlap.Disjoint,     true,  GenDisjointLinearLightPremul),
+            new(AdvancedBlendOp.PinLight,         AdvancedBlendOverlap.Disjoint,     true,  GenDisjointPinLightPremul),
+            new(AdvancedBlendOp.HardMix,          AdvancedBlendOverlap.Disjoint,     true,  GenDisjointHardMixPremul),
+            new(AdvancedBlendOp.HslHue,           AdvancedBlendOverlap.Disjoint,     true,  GenDisjointHslHuePremul),
+            new(AdvancedBlendOp.HslSaturation,    AdvancedBlendOverlap.Disjoint,     true,  GenDisjointHslSaturationPremul),
+            new(AdvancedBlendOp.HslColor,         AdvancedBlendOverlap.Disjoint,     true,  GenDisjointHslColorPremul),
+            new(AdvancedBlendOp.HslLuminosity,    AdvancedBlendOverlap.Disjoint,     true,  GenDisjointHslLuminosityPremul),
+            new(AdvancedBlendOp.Src,              AdvancedBlendOverlap.Conjoint,     true,  GenConjointSrcPremul),
+            new(AdvancedBlendOp.Dst,              AdvancedBlendOverlap.Conjoint,     true,  GenConjointDstPremul),
+            new(AdvancedBlendOp.SrcOver,          AdvancedBlendOverlap.Conjoint,     true,  GenConjointSrcOverPremul),
+            new(AdvancedBlendOp.DstOver,          AdvancedBlendOverlap.Conjoint,     true,  GenConjointDstOverPremul),
+            new(AdvancedBlendOp.SrcIn,            AdvancedBlendOverlap.Conjoint,     true,  GenConjointSrcInPremul),
+            new(AdvancedBlendOp.DstIn,            AdvancedBlendOverlap.Conjoint,     true,  GenConjointDstInPremul),
+            new(AdvancedBlendOp.SrcOut,           AdvancedBlendOverlap.Conjoint,     true,  GenConjointSrcOutPremul),
+            new(AdvancedBlendOp.DstOut,           AdvancedBlendOverlap.Conjoint,     true,  GenConjointDstOutPremul),
+            new(AdvancedBlendOp.SrcAtop,          AdvancedBlendOverlap.Conjoint,     true,  GenConjointSrcAtopPremul),
+            new(AdvancedBlendOp.DstAtop,          AdvancedBlendOverlap.Conjoint,     true,  GenConjointDstAtopPremul),
+            new(AdvancedBlendOp.Xor,              AdvancedBlendOverlap.Conjoint,     true,  GenConjointXorPremul),
+            new(AdvancedBlendOp.Multiply,         AdvancedBlendOverlap.Conjoint,     true,  GenConjointMultiplyPremul),
+            new(AdvancedBlendOp.Screen,           AdvancedBlendOverlap.Conjoint,     true,  GenConjointScreenPremul),
+            new(AdvancedBlendOp.Overlay,          AdvancedBlendOverlap.Conjoint,     true,  GenConjointOverlayPremul),
+            new(AdvancedBlendOp.Darken,           AdvancedBlendOverlap.Conjoint,     true,  GenConjointDarkenPremul),
+            new(AdvancedBlendOp.Lighten,          AdvancedBlendOverlap.Conjoint,     true,  GenConjointLightenPremul),
+            new(AdvancedBlendOp.ColorDodge,       AdvancedBlendOverlap.Conjoint,     true,  GenConjointColorDodgePremul),
+            new(AdvancedBlendOp.ColorBurn,        AdvancedBlendOverlap.Conjoint,     true,  GenConjointColorBurnPremul),
+            new(AdvancedBlendOp.HardLight,        AdvancedBlendOverlap.Conjoint,     true,  GenConjointHardLightPremul),
+            new(AdvancedBlendOp.SoftLight,        AdvancedBlendOverlap.Conjoint,     true,  GenConjointSoftLightPremul),
+            new(AdvancedBlendOp.Difference,       AdvancedBlendOverlap.Conjoint,     true,  GenConjointDifferencePremul),
+            new(AdvancedBlendOp.Exclusion,        AdvancedBlendOverlap.Conjoint,     true,  GenConjointExclusionPremul),
+            new(AdvancedBlendOp.Invert,           AdvancedBlendOverlap.Conjoint,     true,  GenConjointInvertPremul),
+            new(AdvancedBlendOp.InvertRGB,        AdvancedBlendOverlap.Conjoint,     true,  GenConjointInvertRGBPremul),
+            new(AdvancedBlendOp.LinearDodge,      AdvancedBlendOverlap.Conjoint,     true,  GenConjointLinearDodgePremul),
+            new(AdvancedBlendOp.LinearBurn,       AdvancedBlendOverlap.Conjoint,     true,  GenConjointLinearBurnPremul),
+            new(AdvancedBlendOp.VividLight,       AdvancedBlendOverlap.Conjoint,     true,  GenConjointVividLightPremul),
+            new(AdvancedBlendOp.LinearLight,      AdvancedBlendOverlap.Conjoint,     true,  GenConjointLinearLightPremul),
+            new(AdvancedBlendOp.PinLight,         AdvancedBlendOverlap.Conjoint,     true,  GenConjointPinLightPremul),
+            new(AdvancedBlendOp.HardMix,          AdvancedBlendOverlap.Conjoint,     true,  GenConjointHardMixPremul),
+            new(AdvancedBlendOp.HslHue,           AdvancedBlendOverlap.Conjoint,     true,  GenConjointHslHuePremul),
+            new(AdvancedBlendOp.HslSaturation,    AdvancedBlendOverlap.Conjoint,     true,  GenConjointHslSaturationPremul),
+            new(AdvancedBlendOp.HslColor,         AdvancedBlendOverlap.Conjoint,     true,  GenConjointHslColorPremul),
+            new(AdvancedBlendOp.HslLuminosity,    AdvancedBlendOverlap.Conjoint,     true,  GenConjointHslLuminosityPremul),
+            new(AdvancedBlendOp.DstOver,          AdvancedBlendOverlap.Uncorrelated, false, GenUncorrelatedDstOver),
+            new(AdvancedBlendOp.SrcIn,            AdvancedBlendOverlap.Uncorrelated, false, GenUncorrelatedSrcIn),
+            new(AdvancedBlendOp.SrcOut,           AdvancedBlendOverlap.Uncorrelated, false, GenUncorrelatedSrcOut),
+            new(AdvancedBlendOp.SrcAtop,          AdvancedBlendOverlap.Uncorrelated, false, GenUncorrelatedSrcAtop),
+            new(AdvancedBlendOp.DstAtop,          AdvancedBlendOverlap.Uncorrelated, false, GenUncorrelatedDstAtop),
+            new(AdvancedBlendOp.Xor,              AdvancedBlendOverlap.Uncorrelated, false, GenUncorrelatedXor),
+            new(AdvancedBlendOp.PlusClamped,      AdvancedBlendOverlap.Uncorrelated, false, GenUncorrelatedPlusClamped),
+            new(AdvancedBlendOp.PlusClampedAlpha, AdvancedBlendOverlap.Uncorrelated, false, GenUncorrelatedPlusClampedAlpha),
+            new(AdvancedBlendOp.PlusDarker,       AdvancedBlendOverlap.Uncorrelated, false, GenUncorrelatedPlusDarker),
+            new(AdvancedBlendOp.Multiply,         AdvancedBlendOverlap.Uncorrelated, false, GenUncorrelatedMultiply),
+            new(AdvancedBlendOp.Screen,           AdvancedBlendOverlap.Uncorrelated, false, GenUncorrelatedScreen),
+            new(AdvancedBlendOp.Overlay,          AdvancedBlendOverlap.Uncorrelated, false, GenUncorrelatedOverlay),
+            new(AdvancedBlendOp.Darken,           AdvancedBlendOverlap.Uncorrelated, false, GenUncorrelatedDarken),
+            new(AdvancedBlendOp.Lighten,          AdvancedBlendOverlap.Uncorrelated, false, GenUncorrelatedLighten),
+            new(AdvancedBlendOp.ColorDodge,       AdvancedBlendOverlap.Uncorrelated, false, GenUncorrelatedColorDodge),
+            new(AdvancedBlendOp.ColorBurn,        AdvancedBlendOverlap.Uncorrelated, false, GenUncorrelatedColorBurn),
+            new(AdvancedBlendOp.HardLight,        AdvancedBlendOverlap.Uncorrelated, false, GenUncorrelatedHardLight),
+            new(AdvancedBlendOp.SoftLight,        AdvancedBlendOverlap.Uncorrelated, false, GenUncorrelatedSoftLight),
+            new(AdvancedBlendOp.Difference,       AdvancedBlendOverlap.Uncorrelated, false, GenUncorrelatedDifference),
+            new(AdvancedBlendOp.Minus,            AdvancedBlendOverlap.Uncorrelated, false, GenUncorrelatedMinus),
+            new(AdvancedBlendOp.MinusClamped,     AdvancedBlendOverlap.Uncorrelated, false, GenUncorrelatedMinusClamped),
+            new(AdvancedBlendOp.Exclusion,        AdvancedBlendOverlap.Uncorrelated, false, GenUncorrelatedExclusion),
+            new(AdvancedBlendOp.Contrast,         AdvancedBlendOverlap.Uncorrelated, false, GenUncorrelatedContrast),
+            new(AdvancedBlendOp.InvertRGB,        AdvancedBlendOverlap.Uncorrelated, false, GenUncorrelatedInvertRGB),
+            new(AdvancedBlendOp.LinearDodge,      AdvancedBlendOverlap.Uncorrelated, false, GenUncorrelatedLinearDodge),
+            new(AdvancedBlendOp.LinearBurn,       AdvancedBlendOverlap.Uncorrelated, false, GenUncorrelatedLinearBurn),
+            new(AdvancedBlendOp.VividLight,       AdvancedBlendOverlap.Uncorrelated, false, GenUncorrelatedVividLight),
+            new(AdvancedBlendOp.LinearLight,      AdvancedBlendOverlap.Uncorrelated, false, GenUncorrelatedLinearLight),
+            new(AdvancedBlendOp.PinLight,         AdvancedBlendOverlap.Uncorrelated, false, GenUncorrelatedPinLight),
+            new(AdvancedBlendOp.HardMix,          AdvancedBlendOverlap.Uncorrelated, false, GenUncorrelatedHardMix),
+            new(AdvancedBlendOp.Red,              AdvancedBlendOverlap.Uncorrelated, false, GenUncorrelatedRed),
+            new(AdvancedBlendOp.Green,            AdvancedBlendOverlap.Uncorrelated, false, GenUncorrelatedGreen),
+            new(AdvancedBlendOp.Blue,             AdvancedBlendOverlap.Uncorrelated, false, GenUncorrelatedBlue),
+            new(AdvancedBlendOp.HslHue,           AdvancedBlendOverlap.Uncorrelated, false, GenUncorrelatedHslHue),
+            new(AdvancedBlendOp.HslSaturation,    AdvancedBlendOverlap.Uncorrelated, false, GenUncorrelatedHslSaturation),
+            new(AdvancedBlendOp.HslColor,         AdvancedBlendOverlap.Uncorrelated, false, GenUncorrelatedHslColor),
+            new(AdvancedBlendOp.HslLuminosity,    AdvancedBlendOverlap.Uncorrelated, false, GenUncorrelatedHslLuminosity),
+            new(AdvancedBlendOp.Src,              AdvancedBlendOverlap.Disjoint,     false, GenDisjointSrc),
+            new(AdvancedBlendOp.SrcOver,          AdvancedBlendOverlap.Disjoint,     false, GenDisjointSrcOver),
+            new(AdvancedBlendOp.DstOver,          AdvancedBlendOverlap.Disjoint,     false, GenDisjointDstOver),
+            new(AdvancedBlendOp.SrcIn,            AdvancedBlendOverlap.Disjoint,     false, GenDisjointSrcIn),
+            new(AdvancedBlendOp.SrcOut,           AdvancedBlendOverlap.Disjoint,     false, GenDisjointSrcOut),
+            new(AdvancedBlendOp.SrcAtop,          AdvancedBlendOverlap.Disjoint,     false, GenDisjointSrcAtop),
+            new(AdvancedBlendOp.DstAtop,          AdvancedBlendOverlap.Disjoint,     false, GenDisjointDstAtop),
+            new(AdvancedBlendOp.Xor,              AdvancedBlendOverlap.Disjoint,     false, GenDisjointXor),
+            new(AdvancedBlendOp.Plus,             AdvancedBlendOverlap.Disjoint,     false, GenDisjointPlus),
+            new(AdvancedBlendOp.Multiply,         AdvancedBlendOverlap.Disjoint,     false, GenDisjointMultiply),
+            new(AdvancedBlendOp.Screen,           AdvancedBlendOverlap.Disjoint,     false, GenDisjointScreen),
+            new(AdvancedBlendOp.Overlay,          AdvancedBlendOverlap.Disjoint,     false, GenDisjointOverlay),
+            new(AdvancedBlendOp.Darken,           AdvancedBlendOverlap.Disjoint,     false, GenDisjointDarken),
+            new(AdvancedBlendOp.Lighten,          AdvancedBlendOverlap.Disjoint,     false, GenDisjointLighten),
+            new(AdvancedBlendOp.ColorDodge,       AdvancedBlendOverlap.Disjoint,     false, GenDisjointColorDodge),
+            new(AdvancedBlendOp.ColorBurn,        AdvancedBlendOverlap.Disjoint,     false, GenDisjointColorBurn),
+            new(AdvancedBlendOp.HardLight,        AdvancedBlendOverlap.Disjoint,     false, GenDisjointHardLight),
+            new(AdvancedBlendOp.SoftLight,        AdvancedBlendOverlap.Disjoint,     false, GenDisjointSoftLight),
+            new(AdvancedBlendOp.Difference,       AdvancedBlendOverlap.Disjoint,     false, GenDisjointDifference),
+            new(AdvancedBlendOp.Exclusion,        AdvancedBlendOverlap.Disjoint,     false, GenDisjointExclusion),
+            new(AdvancedBlendOp.InvertRGB,        AdvancedBlendOverlap.Disjoint,     false, GenDisjointInvertRGB),
+            new(AdvancedBlendOp.LinearDodge,      AdvancedBlendOverlap.Disjoint,     false, GenDisjointLinearDodge),
+            new(AdvancedBlendOp.LinearBurn,       AdvancedBlendOverlap.Disjoint,     false, GenDisjointLinearBurn),
+            new(AdvancedBlendOp.VividLight,       AdvancedBlendOverlap.Disjoint,     false, GenDisjointVividLight),
+            new(AdvancedBlendOp.LinearLight,      AdvancedBlendOverlap.Disjoint,     false, GenDisjointLinearLight),
+            new(AdvancedBlendOp.PinLight,         AdvancedBlendOverlap.Disjoint,     false, GenDisjointPinLight),
+            new(AdvancedBlendOp.HardMix,          AdvancedBlendOverlap.Disjoint,     false, GenDisjointHardMix),
+            new(AdvancedBlendOp.HslHue,           AdvancedBlendOverlap.Disjoint,     false, GenDisjointHslHue),
+            new(AdvancedBlendOp.HslSaturation,    AdvancedBlendOverlap.Disjoint,     false, GenDisjointHslSaturation),
+            new(AdvancedBlendOp.HslColor,         AdvancedBlendOverlap.Disjoint,     false, GenDisjointHslColor),
+            new(AdvancedBlendOp.HslLuminosity,    AdvancedBlendOverlap.Disjoint,     false, GenDisjointHslLuminosity),
+            new(AdvancedBlendOp.Src,              AdvancedBlendOverlap.Conjoint,     false, GenConjointSrc),
+            new(AdvancedBlendOp.SrcOver,          AdvancedBlendOverlap.Conjoint,     false, GenConjointSrcOver),
+            new(AdvancedBlendOp.DstOver,          AdvancedBlendOverlap.Conjoint,     false, GenConjointDstOver),
+            new(AdvancedBlendOp.SrcIn,            AdvancedBlendOverlap.Conjoint,     false, GenConjointSrcIn),
+            new(AdvancedBlendOp.SrcOut,           AdvancedBlendOverlap.Conjoint,     false, GenConjointSrcOut),
+            new(AdvancedBlendOp.SrcAtop,          AdvancedBlendOverlap.Conjoint,     false, GenConjointSrcAtop),
+            new(AdvancedBlendOp.DstAtop,          AdvancedBlendOverlap.Conjoint,     false, GenConjointDstAtop),
+            new(AdvancedBlendOp.Xor,              AdvancedBlendOverlap.Conjoint,     false, GenConjointXor),
+            new(AdvancedBlendOp.Multiply,         AdvancedBlendOverlap.Conjoint,     false, GenConjointMultiply),
+            new(AdvancedBlendOp.Screen,           AdvancedBlendOverlap.Conjoint,     false, GenConjointScreen),
+            new(AdvancedBlendOp.Overlay,          AdvancedBlendOverlap.Conjoint,     false, GenConjointOverlay),
+            new(AdvancedBlendOp.Darken,           AdvancedBlendOverlap.Conjoint,     false, GenConjointDarken),
+            new(AdvancedBlendOp.Lighten,          AdvancedBlendOverlap.Conjoint,     false, GenConjointLighten),
+            new(AdvancedBlendOp.ColorDodge,       AdvancedBlendOverlap.Conjoint,     false, GenConjointColorDodge),
+            new(AdvancedBlendOp.ColorBurn,        AdvancedBlendOverlap.Conjoint,     false, GenConjointColorBurn),
+            new(AdvancedBlendOp.HardLight,        AdvancedBlendOverlap.Conjoint,     false, GenConjointHardLight),
+            new(AdvancedBlendOp.SoftLight,        AdvancedBlendOverlap.Conjoint,     false, GenConjointSoftLight),
+            new(AdvancedBlendOp.Difference,       AdvancedBlendOverlap.Conjoint,     false, GenConjointDifference),
+            new(AdvancedBlendOp.Exclusion,        AdvancedBlendOverlap.Conjoint,     false, GenConjointExclusion),
+            new(AdvancedBlendOp.InvertRGB,        AdvancedBlendOverlap.Conjoint,     false, GenConjointInvertRGB),
+            new(AdvancedBlendOp.LinearDodge,      AdvancedBlendOverlap.Conjoint,     false, GenConjointLinearDodge),
+            new(AdvancedBlendOp.LinearBurn,       AdvancedBlendOverlap.Conjoint,     false, GenConjointLinearBurn),
+            new(AdvancedBlendOp.VividLight,       AdvancedBlendOverlap.Conjoint,     false, GenConjointVividLight),
+            new(AdvancedBlendOp.LinearLight,      AdvancedBlendOverlap.Conjoint,     false, GenConjointLinearLight),
+            new(AdvancedBlendOp.PinLight,         AdvancedBlendOverlap.Conjoint,     false, GenConjointPinLight),
+            new(AdvancedBlendOp.HardMix,          AdvancedBlendOverlap.Conjoint,     false, GenConjointHardMix),
+            new(AdvancedBlendOp.HslHue,           AdvancedBlendOverlap.Conjoint,     false, GenConjointHslHue),
+            new(AdvancedBlendOp.HslSaturation,    AdvancedBlendOverlap.Conjoint,     false, GenConjointHslSaturation),
+            new(AdvancedBlendOp.HslColor,         AdvancedBlendOverlap.Conjoint,     false, GenConjointHslColor),
+            new(AdvancedBlendOp.HslLuminosity,    AdvancedBlendOverlap.Conjoint,     false, GenConjointHslLuminosity),
         };
 
         public static string GenTable()

+ 1 - 1
src/Ryujinx.Graphics.Gpu/Engine/Threed/StateUpdateTracker.cs

@@ -59,7 +59,7 @@ namespace Ryujinx.Graphics.Gpu.Engine.Threed
             _registerToGroupMapping = new byte[BlockSize];
             _callbacks = new Action[entries.Length];
 
-            Dictionary<string, int> fieldToDelegate = new Dictionary<string, int>();
+            Dictionary<string, int> fieldToDelegate = new();
 
             for (int entryIndex = 0; entryIndex < entries.Length; entryIndex++)
             {

+ 3 - 3
src/Ryujinx.Graphics.Gpu/Engine/Threed/StateUpdater.cs

@@ -740,7 +740,7 @@ namespace Ryujinx.Graphics.Gpu.Engine.Threed
                     ref ScreenScissorState scissor = ref _state.State.ScreenScissorState;
 
                     float rScale = _channel.TextureManager.RenderTargetScale;
-                    Rectangle<float> scissorRect = new Rectangle<float>(0, 0, (scissor.X + scissor.Width) * rScale, (scissor.Y + scissor.Height) * rScale);
+                    Rectangle<float> scissorRect = new(0, 0, (scissor.X + scissor.Width) * rScale, (scissor.Y + scissor.Height) * rScale);
 
                     viewports[index] = new Viewport(scissorRect, ViewportSwizzle.PositiveX, ViewportSwizzle.PositiveY, ViewportSwizzle.PositiveZ, ViewportSwizzle.PositiveW, 0, 1);
                     continue;
@@ -1281,7 +1281,7 @@ namespace Ryujinx.Graphics.Gpu.Engine.Threed
                     bool enable = _state.State.BlendEnable[index];
                     BlendState blend = _state.State.BlendState[index];
 
-                    BlendDescriptor descriptor = new BlendDescriptor(
+                    BlendDescriptor descriptor = new(
                         enable,
                         blendConstant,
                         blend.ColorOp,
@@ -1309,7 +1309,7 @@ namespace Ryujinx.Graphics.Gpu.Engine.Threed
                 bool enable = _state.State.BlendEnable[0];
                 BlendStateCommon blend = _state.State.BlendStateCommon;
 
-                BlendDescriptor descriptor = new BlendDescriptor(
+                BlendDescriptor descriptor = new(
                     enable,
                     blendConstant,
                     blend.ColorOp,

+ 2 - 2
src/Ryujinx.Graphics.Gpu/Engine/Threed/ThreedClass.cs

@@ -82,8 +82,8 @@ namespace Ryujinx.Graphics.Gpu.Engine.Threed
 
             _i2mClass = new InlineToMemoryClass(context, channel, initializeState: false);
 
-            SpecializationStateUpdater spec = new SpecializationStateUpdater(context);
-            DrawState drawState = new DrawState();
+            SpecializationStateUpdater spec = new(context);
+            DrawState drawState = new();
 
             _drawManager = new DrawManager(context, channel, _state, drawState, spec);
             _blendManager = new AdvancedBlendManager(_state);

+ 3 - 3
src/Ryujinx.Graphics.Gpu/Engine/Twod/TwodClass.cs

@@ -124,7 +124,7 @@ namespace Ryujinx.Graphics.Gpu.Engine.Twod
         /// <param name="bpp">Bytes per pixel</param>
         private void UnscaledFullCopy(TwodTexture src, TwodTexture dst, int w, int h, int bpp)
         {
-            OffsetCalculator srcCalculator = new OffsetCalculator(
+            OffsetCalculator srcCalculator = new(
                 w,
                 h,
                 src.Stride,
@@ -269,8 +269,8 @@ namespace Ryujinx.Graphics.Gpu.Engine.Twod
 
             // The source and destination textures should at least be as big as the region being requested.
             // The hints will only resize within alignment constraints, so out of bound copies won't resize in most cases.
-            Size srcHint = new Size(srcX2, srcY2, 1);
-            Size dstHint = new Size(dstX2, dstY2, 1);
+            Size srcHint = new(srcX2, srcY2, 1);
+            Size dstHint = new(dstX2, dstY2, 1);
 
             FormatInfo srcCopyTextureFormat = srcCopyTexture.Format.Convert();
 

+ 1 - 1
src/Ryujinx.Graphics.Gpu/GpuContext.cs

@@ -199,7 +199,7 @@ namespace Ryujinx.Graphics.Gpu
         /// <exception cref="ArgumentException">Thrown if <paramref name="pid"/> was already registered</exception>
         public void RegisterProcess(ulong pid, Cpu.IVirtualMemoryManagerTracked cpuMemory)
         {
-            PhysicalMemory physicalMemory = new PhysicalMemory(this, cpuMemory);
+            PhysicalMemory physicalMemory = new(this, cpuMemory);
             if (!PhysicalMemoryRegistry.TryAdd(pid, physicalMemory))
             {
                 throw new ArgumentException("The PID was already registered", nameof(pid));

+ 2 - 2
src/Ryujinx.Graphics.Gpu/Image/AutoDeleteCache.cs

@@ -277,7 +277,7 @@ namespace Ryujinx.Graphics.Gpu.Image
         /// <param name="descriptor">Last used texture descriptor</param>
         public void AddShortCache(Texture texture, ref TextureDescriptor descriptor)
         {
-            ShortTextureCacheEntry entry = new ShortTextureCacheEntry(descriptor, texture);
+            ShortTextureCacheEntry entry = new(descriptor, texture);
 
             _shortCacheBuilder.Add(entry);
             _shortCacheLookup.Add(entry.Descriptor, entry);
@@ -296,7 +296,7 @@ namespace Ryujinx.Graphics.Gpu.Image
         {
             if (texture.ShortCacheEntry != null)
             {
-                ShortTextureCacheEntry entry = new ShortTextureCacheEntry(texture);
+                ShortTextureCacheEntry entry = new(texture);
 
                 _shortCacheBuilder.Add(entry);
 

+ 2 - 2
src/Ryujinx.Graphics.Gpu/Image/TextureBindingsArrayCache.cs

@@ -992,7 +992,7 @@ namespace Ryujinx.Graphics.Gpu.Image
             bool isImage,
             out bool isNew)
         {
-            CacheEntryFromPoolKey key = new CacheEntryFromPoolKey(isImage, bindingInfo, texturePool, samplerPool);
+            CacheEntryFromPoolKey key = new(isImage, bindingInfo, texturePool, samplerPool);
 
             isNew = !_cacheFromPool.TryGetValue(key, out CacheEntry entry);
 
@@ -1035,7 +1035,7 @@ namespace Ryujinx.Graphics.Gpu.Image
             ref BufferBounds textureBufferBounds,
             out bool isNew)
         {
-            CacheEntryFromBufferKey key = new CacheEntryFromBufferKey(
+            CacheEntryFromBufferKey key = new(
                 isImage,
                 bindingInfo,
                 texturePool,

+ 1 - 1
src/Ryujinx.Graphics.Gpu/Image/TextureCache.cs

@@ -947,7 +947,7 @@ namespace Ryujinx.Graphics.Gpu.Image
                 bool hasLayerViews = false;
                 bool hasMipViews = false;
 
-                List<TextureIncompatibleOverlap> incompatibleOverlaps = new List<TextureIncompatibleOverlap>();
+                List<TextureIncompatibleOverlap> incompatibleOverlaps = new();
 
                 for (int index = 0; index < overlapsCount; index++)
                 {

+ 6 - 6
src/Ryujinx.Graphics.Gpu/Image/TextureGroup.cs

@@ -1019,7 +1019,7 @@ namespace Ryujinx.Graphics.Gpu.Image
             int endOffset = _allOffsets[viewEnd] + _sliceSizes[lastLevel];
             int size = endOffset - offset;
 
-            List<RegionHandle> result = new List<RegionHandle>();
+            List<RegionHandle> result = new();
 
             for (int i = 0; i < TextureRange.Count; i++)
             {
@@ -1053,7 +1053,7 @@ namespace Ryujinx.Graphics.Gpu.Image
             offset = _allOffsets[viewStart];
             ulong maxSize = Storage.Size - (ulong)offset;
 
-            TextureGroupHandle groupHandle = new TextureGroupHandle(
+            TextureGroupHandle groupHandle = new(
                 this,
                 offset,
                 Math.Min(maxSize, (ulong)size),
@@ -1337,7 +1337,7 @@ namespace Ryujinx.Graphics.Gpu.Image
                     Array.Resize(ref cpuRegionHandles, count);
                 }
 
-                TextureGroupHandle groupHandle = new TextureGroupHandle(this, 0, Storage.Size, _views, 0, 0, 0, _allOffsets.Length, cpuRegionHandles);
+                TextureGroupHandle groupHandle = new(this, 0, Storage.Size, _views, 0, 0, 0, _allOffsets.Length, cpuRegionHandles);
 
                 handles = new TextureGroupHandle[] { groupHandle };
             }
@@ -1355,7 +1355,7 @@ namespace Ryujinx.Graphics.Gpu.Image
 
                 if (_is3D)
                 {
-                    List<TextureGroupHandle> handlesList = new List<TextureGroupHandle>();
+                    List<TextureGroupHandle> handlesList = new();
 
                     for (int i = 0; i < levelHandles; i++)
                     {
@@ -1438,8 +1438,8 @@ namespace Ryujinx.Graphics.Gpu.Image
             // Get the location of each texture within its storage, so we can find the handles to apply the dependency to.
             // This can consist of multiple disjoint regions, for example if this is a mip slice of an array texture.
 
-            List<(int BaseHandle, int RegionCount)> targetRange = new List<(int BaseHandle, int RegionCount)>();
-            List<(int BaseHandle, int RegionCount)> otherRange = new List<(int BaseHandle, int RegionCount)>();
+            List<(int BaseHandle, int RegionCount)> targetRange = new();
+            List<(int BaseHandle, int RegionCount)> otherRange = new();
 
             EvaluateRelevantHandles(firstLayer, firstLevel, other.Info.GetSlices(), other.Info.Levels, (baseHandle, regionCount, split) => targetRange.Add((baseHandle, regionCount)));
             otherGroup.EvaluateRelevantHandles(other, (baseHandle, regionCount, split) => otherRange.Add((baseHandle, regionCount)));

+ 1 - 1
src/Ryujinx.Graphics.Gpu/Memory/BufferCache.cs

@@ -663,7 +663,7 @@ namespace Ryujinx.Graphics.Gpu.Memory
         /// <param name="overlapsCount">Total of overlaps</param>
         private void CreateBufferAligned(ulong address, ulong size, BufferStage stage, bool sparseCompatible, Buffer[] overlaps, int overlapsCount)
         {
-            Buffer newBuffer = new Buffer(_context, _physicalMemory, address, size, stage, sparseCompatible, overlaps.Take(overlapsCount));
+            Buffer newBuffer = new(_context, _physicalMemory, address, size, stage, sparseCompatible, overlaps.Take(overlapsCount));
 
             lock (_buffers)
             {

+ 1 - 1
src/Ryujinx.Graphics.Gpu/Memory/BufferModifiedRangeList.cs

@@ -431,7 +431,7 @@ namespace Ryujinx.Graphics.Gpu.Memory
 
                     BufferMigration oldMigration = ranges._source;
 
-                    BufferMigrationSpan span = new BufferMigrationSpan(ranges._parent, ranges._flushAction, oldMigration);
+                    BufferMigrationSpan span = new(ranges._parent, ranges._flushAction, oldMigration);
                     ranges._parent.IncrementReferenceCount();
 
                     if (_source == null)

+ 1 - 1
src/Ryujinx.Graphics.Gpu/Memory/BufferUpdater.cs

@@ -73,7 +73,7 @@ namespace Ryujinx.Graphics.Gpu.Memory
 
                     if (binding >= 0)
                     {
-                        BufferRange range = new BufferRange(_handle, 0, data.Length);
+                        BufferRange range = new(_handle, 0, data.Length);
                         _renderer.Pipeline.SetUniformBuffers(stackalloc[] { new BufferAssignment(0, range) });
                     }
                 };

+ 1 - 1
src/Ryujinx.Graphics.Gpu/Memory/MemoryManager.cs

@@ -458,7 +458,7 @@ namespace Ryujinx.Graphics.Gpu.Memory
 
             int pages = (int)((endVaRounded - va) / PageSize);
 
-            List<MemoryRange> regions = new List<MemoryRange>();
+            List<MemoryRange> regions = new();
 
             for (int page = 0; page < pages - 1; page++)
             {

+ 1 - 1
src/Ryujinx.Graphics.Gpu/Memory/SupportBufferUpdater.cs

@@ -19,7 +19,7 @@ namespace Ryujinx.Graphics.Gpu.Memory
         /// <param name="renderer">Renderer that the support buffer will be used with</param>
         public SupportBufferUpdater(IRenderer renderer) : base(renderer)
         {
-            Vector4<float> defaultScale = new Vector4<float> { X = 1f, Y = 0f, Z = 0f, W = 0f };
+            Vector4<float> defaultScale = new() { X = 1f, Y = 0f, Z = 0f, W = 0f };
             _data.RenderScale.AsSpan().Fill(defaultScale);
             DirtyRenderScale(0, SupportBuffer.RenderScaleMaxCount);
         }

+ 2 - 2
src/Ryujinx.Graphics.Gpu/Shader/CachedShaderBindings.cs

@@ -60,7 +60,7 @@ namespace Ryujinx.Graphics.Gpu.Shader
                 {
                     Target target = descriptor.Type != SamplerType.None ? ShaderTexture.GetTarget(descriptor.Type) : default;
 
-                    TextureBindingInfo result = new TextureBindingInfo(
+                    TextureBindingInfo result = new(
                         target,
                         descriptor.Set,
                         descriptor.Binding,
@@ -88,7 +88,7 @@ namespace Ryujinx.Graphics.Gpu.Shader
                     Target target = ShaderTexture.GetTarget(descriptor.Type);
                     FormatInfo formatInfo = ShaderTexture.GetFormatInfo(descriptor.Format);
 
-                    TextureBindingInfo result = new TextureBindingInfo(
+                    TextureBindingInfo result = new(
                         target,
                         formatInfo,
                         descriptor.Set,