diff --git a/src/Ryujinx.Graphics.Shader/CodeGen/Glsl/Instructions/InstGenMemory.cs b/src/Ryujinx.Graphics.Shader/CodeGen/Glsl/Instructions/InstGenMemory.cs index 2eeaaa9bc..634f9364a 100644 --- a/src/Ryujinx.Graphics.Shader/CodeGen/Glsl/Instructions/InstGenMemory.cs +++ b/src/Ryujinx.Graphics.Shader/CodeGen/Glsl/Instructions/InstGenMemory.cs @@ -16,7 +16,7 @@ namespace Ryujinx.Graphics.Shader.CodeGen.Glsl.Instructions bool isArray = (texOp.Type & SamplerType.Array) != 0; - StringBuilder texCallBuilder = new StringBuilder(); + StringBuilder texCallBuilder = new(); if (texOp.Inst == Instruction.ImageAtomic) { diff --git a/src/Ryujinx.Graphics.Shader/CodeGen/Msl/Instructions/InstGenMemory.cs b/src/Ryujinx.Graphics.Shader/CodeGen/Msl/Instructions/InstGenMemory.cs index 2cdee1478..b3a995c6a 100644 --- a/src/Ryujinx.Graphics.Shader/CodeGen/Msl/Instructions/InstGenMemory.cs +++ b/src/Ryujinx.Graphics.Shader/CodeGen/Msl/Instructions/InstGenMemory.cs @@ -157,7 +157,7 @@ namespace Ryujinx.Graphics.Shader.CodeGen.Msl.Instructions bool isArray = (texOp.Type & SamplerType.Array) != 0; - StringBuilder texCallBuilder = new StringBuilder(); + StringBuilder texCallBuilder = new(); int srcIndex = 0; @@ -194,7 +194,7 @@ namespace Ryujinx.Graphics.Shader.CodeGen.Msl.Instructions texCallBuilder.Append('('); - StringBuilder coordsBuilder = new StringBuilder(); + StringBuilder coordsBuilder = new(); int coordsCount = texOp.Type.GetDimensions(); @@ -352,7 +352,7 @@ namespace Ryujinx.Graphics.Shader.CodeGen.Msl.Instructions bool isArray = (texOp.Type & SamplerType.Array) != 0; bool isShadow = (texOp.Type & SamplerType.Shadow) != 0; - StringBuilder texCallBuilder = new StringBuilder(); + StringBuilder texCallBuilder = new(); bool colorIsVector = isGather || !isShadow; @@ -589,7 +589,7 @@ namespace Ryujinx.Graphics.Shader.CodeGen.Msl.Instructions { AstTextureOperation texOp = (AstTextureOperation)operation; - StringBuilder texCallBuilder = new StringBuilder(); + StringBuilder texCallBuilder = new(); int srcIndex = 0; diff --git a/src/Ryujinx.Graphics.Shader/CodeGen/Msl/MslGenerator.cs b/src/Ryujinx.Graphics.Shader/CodeGen/Msl/MslGenerator.cs index ddb013c05..bc38ea26b 100644 --- a/src/Ryujinx.Graphics.Shader/CodeGen/Msl/MslGenerator.cs +++ b/src/Ryujinx.Graphics.Shader/CodeGen/Msl/MslGenerator.cs @@ -176,7 +176,7 @@ namespace Ryujinx.Graphics.Shader.CodeGen.Msl } string funcPrefix = $"{funcKeyword} {returnType} {funcName ?? function.Name}("; - string indent = new string(' ', funcPrefix.Length); + string indent = new(' ', funcPrefix.Length); return $"{funcPrefix}{string.Join($", \n{indent}", args)})"; } diff --git a/src/Ryujinx.Graphics.Shader/CodeGen/Spirv/CodeGenContext.cs b/src/Ryujinx.Graphics.Shader/CodeGen/Spirv/CodeGenContext.cs index d573fe39a..f623f2451 100644 --- a/src/Ryujinx.Graphics.Shader/CodeGen/Spirv/CodeGenContext.cs +++ b/src/Ryujinx.Graphics.Shader/CodeGen/Spirv/CodeGenContext.cs @@ -147,7 +147,7 @@ namespace Ryujinx.Graphics.Shader.CodeGen.Spirv public Instruction[] GetMainInterface() { - List mainInterface = new List(); + List mainInterface = new(); mainInterface.AddRange(Inputs.Values); mainInterface.AddRange(Outputs.Values); diff --git a/src/Ryujinx.Graphics.Shader/CodeGen/Spirv/Instructions.cs b/src/Ryujinx.Graphics.Shader/CodeGen/Spirv/Instructions.cs index 7796bccbe..9b00f7edb 100644 --- a/src/Ryujinx.Graphics.Shader/CodeGen/Spirv/Instructions.cs +++ b/src/Ryujinx.Graphics.Shader/CodeGen/Spirv/Instructions.cs @@ -1327,7 +1327,7 @@ namespace Ryujinx.Graphics.Shader.CodeGen.Spirv compIdx = Src(AggregateType.S32); } - List operandsList = new List(); + List operandsList = new(); ImageOperandsMask operandsMask = ImageOperandsMask.MaskNone; if (hasLodBias) @@ -1754,7 +1754,7 @@ namespace Ryujinx.Graphics.Shader.CodeGen.Spirv storageClass = isOutput ? StorageClass.Output : StorageClass.Input; - IoDefinition ioDefinition = new IoDefinition(storageKind, ioVariable, location, component); + IoDefinition ioDefinition = new(storageKind, ioVariable, location, component); Dictionary dict = isPerPatch ? (isOutput ? context.OutputsPerPatch : context.InputsPerPatch) : (isOutput ? context.Outputs : context.Inputs); @@ -1843,7 +1843,7 @@ namespace Ryujinx.Graphics.Shader.CodeGen.Spirv (_, AggregateType varType) = IoMap.GetSpirvBuiltIn(ioVariable); varType &= AggregateType.ElementTypeMask; - IoDefinition ioDefinition = new IoDefinition(StorageKind.Input, ioVariable); + IoDefinition ioDefinition = new(StorageKind.Input, ioVariable); return context.Load(context.GetType(varType), context.Inputs[ioDefinition]); } diff --git a/src/Ryujinx.Graphics.Shader/CodeGen/Spirv/SpirvGenerator.cs b/src/Ryujinx.Graphics.Shader/CodeGen/Spirv/SpirvGenerator.cs index 73af3b850..db4de586a 100644 --- a/src/Ryujinx.Graphics.Shader/CodeGen/Spirv/SpirvGenerator.cs +++ b/src/Ryujinx.Graphics.Shader/CodeGen/Spirv/SpirvGenerator.cs @@ -307,7 +307,7 @@ namespace Ryujinx.Graphics.Shader.CodeGen.Spirv { AstBlockVisitor visitor = new(block); - Dictionary loopTargets = new Dictionary(); + Dictionary loopTargets = new(); context.LoopTargets = loopTargets; diff --git a/src/Ryujinx.Graphics.Shader/Instructions/AttributeMap.cs b/src/Ryujinx.Graphics.Shader/Instructions/AttributeMap.cs index b4ecf9abe..572cc513d 100644 --- a/src/Ryujinx.Graphics.Shader/Instructions/AttributeMap.cs +++ b/src/Ryujinx.Graphics.Shader/Instructions/AttributeMap.cs @@ -57,7 +57,7 @@ namespace Ryujinx.Graphics.Shader.Instructions private static IReadOnlyDictionary CreateMap() { - Dictionary map = new Dictionary(); + Dictionary map = new(); Add(map, 0x060, AggregateType.S32, IoVariable.PrimitiveId, StagesMask.TessellationGeometryFragment, StagesMask.Geometry); Add(map, 0x064, AggregateType.S32, IoVariable.Layer, StagesMask.Fragment, StagesMask.VertexTessellationGeometry); @@ -84,7 +84,7 @@ namespace Ryujinx.Graphics.Shader.Instructions private static IReadOnlyDictionary CreatePerPatchMap() { - Dictionary map = new Dictionary(); + Dictionary map = new(); Add(map, 0x000, AggregateType.Vector4 | AggregateType.FP32, IoVariable.TessellationLevelOuter, StagesMask.TessellationEvaluation, StagesMask.TessellationControl); Add(map, 0x010, AggregateType.Vector2 | AggregateType.FP32, IoVariable.TessellationLevelInner, StagesMask.TessellationEvaluation, StagesMask.TessellationControl); diff --git a/src/Ryujinx.Graphics.Shader/Translation/ResourceManager.cs b/src/Ryujinx.Graphics.Shader/Translation/ResourceManager.cs index c733e5b55..dee5174f2 100644 --- a/src/Ryujinx.Graphics.Shader/Translation/ResourceManager.cs +++ b/src/Ryujinx.Graphics.Shader/Translation/ResourceManager.cs @@ -103,7 +103,7 @@ namespace Ryujinx.Graphics.Shader.Translation size = DefaultLocalMemorySize; } - MemoryDefinition lmem = new MemoryDefinition("local_memory", AggregateType.Array | AggregateType.U32, BitUtils.DivRoundUp(size, sizeof(uint))); + MemoryDefinition lmem = new("local_memory", AggregateType.Array | AggregateType.U32, BitUtils.DivRoundUp(size, sizeof(uint))); LocalMemoryId = Properties.AddLocalMemory(lmem); } @@ -122,7 +122,7 @@ namespace Ryujinx.Graphics.Shader.Translation size = DefaultSharedMemorySize; } - MemoryDefinition smem = new MemoryDefinition("shared_memory", AggregateType.Array | AggregateType.U32, BitUtils.DivRoundUp(size, sizeof(uint))); + MemoryDefinition smem = new("shared_memory", AggregateType.Array | AggregateType.U32, BitUtils.DivRoundUp(size, sizeof(uint))); SharedMemoryId = Properties.AddSharedMemory(smem); } @@ -315,8 +315,8 @@ namespace Ryujinx.Graphics.Shader.Translation // For array textures, we also want to use type as key, // since we may have texture handles stores in the same buffer, but for textures with different types. SamplerType keyType = arrayLength > 1 ? type : SamplerType.None; - TextureInfo info = new TextureInfo(cbufSlot, handle, arrayLength, separate, keyType, format); - TextureMeta meta = new TextureMeta() + TextureInfo info = new(cbufSlot, handle, arrayLength, separate, keyType, format); + TextureMeta meta = new() { AccurateType = accurateType, Type = type, @@ -383,7 +383,7 @@ namespace Ryujinx.Graphics.Shader.Translation nameSuffix = cbufSlot < 0 ? $"{prefix}_tcb_{handle:X}" : $"{prefix}_cb{cbufSlot}_{handle:X}"; } - TextureDefinition definition = new TextureDefinition( + TextureDefinition definition = new( setIndex, binding, arrayLength, diff --git a/src/Ryujinx.Graphics.Shader/Translation/ShaderDefinitions.cs b/src/Ryujinx.Graphics.Shader/Translation/ShaderDefinitions.cs index 5cb900df7..656ad6c5e 100644 --- a/src/Ryujinx.Graphics.Shader/Translation/ShaderDefinitions.cs +++ b/src/Ryujinx.Graphics.Shader/Translation/ShaderDefinitions.cs @@ -192,7 +192,7 @@ namespace Ryujinx.Graphics.Shader.Translation component = subIndex; } - TransformFeedbackVariable transformFeedbackVariable = new TransformFeedbackVariable(ioVariable, location, component); + TransformFeedbackVariable transformFeedbackVariable = new(ioVariable, location, component); _transformFeedbackDefinitions.TryAdd(transformFeedbackVariable, transformFeedbackOutputs[wordOffset]); } } @@ -219,7 +219,7 @@ namespace Ryujinx.Graphics.Shader.Translation return false; } - TransformFeedbackVariable transformFeedbackVariable = new TransformFeedbackVariable(ioVariable, location, component); + TransformFeedbackVariable transformFeedbackVariable = new(ioVariable, location, component); return _transformFeedbackDefinitions.TryGetValue(transformFeedbackVariable, out transformFeedbackOutput); } diff --git a/src/Ryujinx.Graphics.Shader/Translation/TranslatorContext.cs b/src/Ryujinx.Graphics.Shader/Translation/TranslatorContext.cs index 40cf62231..441d1f77a 100644 --- a/src/Ryujinx.Graphics.Shader/Translation/TranslatorContext.cs +++ b/src/Ryujinx.Graphics.Shader/Translation/TranslatorContext.cs @@ -342,7 +342,7 @@ namespace Ryujinx.Graphics.Shader.Translation _ => 1 }; - ShaderProgramInfo info = new ShaderProgramInfo( + ShaderProgramInfo info = new( resourceManager.GetConstantBufferDescriptors(), resourceManager.GetStorageBufferDescriptors(), resourceManager.GetTextureDescriptors(), @@ -358,7 +358,7 @@ namespace Ryujinx.Graphics.Shader.Translation clipDistancesWritten, originalDefinitions.OmapTargets); - HostCapabilities hostCapabilities = new HostCapabilities( + HostCapabilities hostCapabilities = new( GpuAccessor.QueryHostReducedPrecision(), GpuAccessor.QueryHostSupportsFragmentShaderInterlock(), GpuAccessor.QueryHostSupportsFragmentShaderOrderingIntel(), @@ -369,7 +369,7 @@ namespace Ryujinx.Graphics.Shader.Translation GpuAccessor.QueryHostSupportsTextureShadowLod(), GpuAccessor.QueryHostSupportsViewportMask()); - CodeGenParameters parameters = new CodeGenParameters(attributeUsage, definitions, resourceManager.Properties, hostCapabilities, GpuAccessor, Options.TargetApi); + CodeGenParameters parameters = new(attributeUsage, definitions, resourceManager.Properties, hostCapabilities, GpuAccessor, Options.TargetApi); return Options.TargetLanguage switch { @@ -388,7 +388,7 @@ namespace Ryujinx.Graphics.Shader.Translation { StructureType tfeDataStruct = new(new StructureField[] { - new StructureField(AggregateType.Array | AggregateType.U32, "data", 0) + new(AggregateType.Array | AggregateType.U32, "data", 0) }); for (int i = 0; i < ResourceReservations.TfeBuffersCount; i++) @@ -407,7 +407,7 @@ namespace Ryujinx.Graphics.Shader.Translation StructureType vertexOutputStruct = new(new StructureField[] { - new StructureField(AggregateType.Array | AggregateType.FP32, "data", 0) + new(AggregateType.Array | AggregateType.FP32, "data", 0) }); int vertexOutputSbBinding = resourceManager.Reservations.VertexOutputStorageBufferBinding; @@ -444,7 +444,7 @@ namespace Ryujinx.Graphics.Shader.Translation StructureType geometryIbOutputStruct = new(new StructureField[] { - new StructureField(AggregateType.Array | AggregateType.U32, "data", 0) + new(AggregateType.Array | AggregateType.U32, "data", 0) }); int geometryIbOutputSbBinding = resourceManager.Reservations.GeometryIndexOutputStorageBufferBinding; @@ -494,8 +494,8 @@ namespace Ryujinx.Graphics.Shader.Translation public (ShaderProgram, ShaderProgramInfo) GenerateVertexPassthroughForCompute() { - AttributeUsage attributeUsage = new AttributeUsage(GpuAccessor); - ResourceManager resourceManager = new ResourceManager(ShaderStage.Vertex, GpuAccessor); + AttributeUsage attributeUsage = new(GpuAccessor); + ResourceManager resourceManager = new(ShaderStage.Vertex, GpuAccessor); ResourceReservations reservations = GetResourceReservations(); @@ -509,14 +509,14 @@ namespace Ryujinx.Graphics.Shader.Translation StructureType vertexInputStruct = new(new StructureField[] { - new StructureField(AggregateType.Array | AggregateType.FP32, "data", 0) + new(AggregateType.Array | AggregateType.FP32, "data", 0) }); int vertexDataSbBinding = reservations.VertexOutputStorageBufferBinding; BufferDefinition vertexOutputBuffer = new(BufferLayout.Std430, 1, vertexDataSbBinding, "vb_input", vertexInputStruct); resourceManager.AddVertexAsComputeStorageBuffer(vertexOutputBuffer); - EmitterContext context = new EmitterContext(); + EmitterContext context = new(); Operand vertexIndex = Options.TargetApi == TargetApi.OpenGL ? context.Load(StorageKind.Input, IoVariable.VertexId) @@ -563,11 +563,11 @@ namespace Ryujinx.Graphics.Shader.Translation Operation[] operations = context.GetOperations(); ControlFlowGraph cfg = ControlFlowGraph.Create(operations); - Function function = new Function(cfg.Blocks, "main", false, 0, 0); + Function function = new(cfg.Blocks, "main", false, 0, 0); TransformFeedbackOutput[] transformFeedbackOutputs = GetTransformFeedbackOutputs(GpuAccessor, out ulong transformFeedbackVecMap); - ShaderDefinitions definitions = new ShaderDefinitions(ShaderStage.Vertex, transformFeedbackVecMap, transformFeedbackOutputs) + ShaderDefinitions definitions = new(ShaderStage.Vertex, transformFeedbackVecMap, transformFeedbackOutputs) { LastInVertexPipeline = true }; @@ -612,10 +612,10 @@ namespace Ryujinx.Graphics.Shader.Translation break; } - AttributeUsage attributeUsage = new AttributeUsage(GpuAccessor); - ResourceManager resourceManager = new ResourceManager(ShaderStage.Geometry, GpuAccessor); + AttributeUsage attributeUsage = new(GpuAccessor); + ResourceManager resourceManager = new(ShaderStage.Geometry, GpuAccessor); - EmitterContext context = new EmitterContext(); + EmitterContext context = new(); for (int v = 0; v < maxOutputVertices; v++) { @@ -658,9 +658,9 @@ namespace Ryujinx.Graphics.Shader.Translation Operation[] operations = context.GetOperations(); ControlFlowGraph cfg = ControlFlowGraph.Create(operations); - Function function = new Function(cfg.Blocks, "main", false, 0, 0); + Function function = new(cfg.Blocks, "main", false, 0, 0); - ShaderDefinitions definitions = new ShaderDefinitions( + ShaderDefinitions definitions = new( ShaderStage.Geometry, GpuAccessor.QueryGraphicsState(), false,