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