From b126987c59964d81ae3705ad7ad6c0ace8714e19 Mon Sep 17 00:00:00 2001
From: ReinUsesLisp <reinuseslisp@airmail.cc>
Date: Wed, 14 Apr 2021 01:04:59 -0300
Subject: shader: Implement transform feedbacks and define file format

---
 src/shader_recompiler/frontend/ir/attribute.cpp | 7 +++++++
 1 file changed, 7 insertions(+)

(limited to 'src/shader_recompiler/frontend/ir/attribute.cpp')

diff --git a/src/shader_recompiler/frontend/ir/attribute.cpp b/src/shader_recompiler/frontend/ir/attribute.cpp
index 7993e5c436..4d0b8b8e5c 100644
--- a/src/shader_recompiler/frontend/ir/attribute.cpp
+++ b/src/shader_recompiler/frontend/ir/attribute.cpp
@@ -20,6 +20,13 @@ u32 GenericAttributeIndex(Attribute attribute) {
     return (static_cast<u32>(attribute) - static_cast<u32>(Attribute::Generic0X)) / 4u;
 }
 
+u32 GenericAttributeElement(Attribute attribute) {
+    if (!IsGeneric(attribute)) {
+        throw InvalidArgument("Attribute is not generic {}", attribute);
+    }
+    return static_cast<u32>(attribute) % 4;
+}
+
 std::string NameOf(Attribute attribute) {
     switch (attribute) {
     case Attribute::PrimitiveId:
-- 
cgit v1.2.3-70-g09d2