From 9dfe81770a8337a7a469eb3bac0ae9599cc0f61c Mon Sep 17 00:00:00 2001 From: gdkchan <gab.dark.100@gmail.com> Date: Thu, 29 Dec 2022 12:09:34 -0300 Subject: Use vector outputs for texture operations (#3939) * Change AggregateType to include vector type counts * Replace VariableType uses with AggregateType and delete VariableType * Support new local vector types on SPIR-V and GLSL * Start using vector outputs for texture operations * Use vectors on more texture operations * Use vector output for ImageLoad operations * Replace all uses of single destination texture constructors with multi destination ones * Update textureGatherOffsets replacement to split vector operations * Shader cache version bump Co-authored-by: Ac_K <Acoustik666@gmail.com> --- Ryujinx.Graphics.Shader/StructuredIr/AstOperand.cs | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) (limited to 'Ryujinx.Graphics.Shader/StructuredIr/AstOperand.cs') diff --git a/Ryujinx.Graphics.Shader/StructuredIr/AstOperand.cs b/Ryujinx.Graphics.Shader/StructuredIr/AstOperand.cs index 97ff3ca9..1fc0035f 100644 --- a/Ryujinx.Graphics.Shader/StructuredIr/AstOperand.cs +++ b/Ryujinx.Graphics.Shader/StructuredIr/AstOperand.cs @@ -1,4 +1,5 @@ using Ryujinx.Graphics.Shader.IntermediateRepresentation; +using Ryujinx.Graphics.Shader.Translation; using System.Collections.Generic; namespace Ryujinx.Graphics.Shader.StructuredIr @@ -10,7 +11,7 @@ namespace Ryujinx.Graphics.Shader.StructuredIr public OperandType Type { get; } - public VariableType VarType { get; set; } + public AggregateType VarType { get; set; } public int Value { get; } @@ -22,7 +23,7 @@ namespace Ryujinx.Graphics.Shader.StructuredIr Defs = new HashSet<IAstNode>(); Uses = new HashSet<IAstNode>(); - VarType = VariableType.S32; + VarType = AggregateType.S32; } public AstOperand(Operand operand) : this() -- cgit v1.2.3-70-g09d2