From ba9b2785c69c1b8c6d2b4103267b5281815f9f23 Mon Sep 17 00:00:00 2001 From: Jay Kwak <82421531+jkwak-work@users.noreply.github.com> Date: Thu, 30 Jan 2025 00:59:49 -0800 Subject: Support cooperative vector (#6223) * Support cooperative vector without Vulkan-header update Adding a Slang support for cooperative vector. But this commit doesn't have Vulkan-header update. --- source/slang/slang-ast-type.cpp | 23 +++++++++++++++++++++++ 1 file changed, 23 insertions(+) (limited to 'source/slang/slang-ast-type.cpp') diff --git a/source/slang/slang-ast-type.cpp b/source/slang/slang-ast-type.cpp index 23d89957a..29a52a93a 100644 --- a/source/slang/slang-ast-type.cpp +++ b/source/slang/slang-ast-type.cpp @@ -355,6 +355,29 @@ Type* AtomicType::getElementType() return as(_getGenericTypeArg(this, 0)); } +// !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! CoopVectorExpressionType !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! + +Type* CoopVectorExpressionType::getElementType() +{ + return as(_getGenericTypeArg(this, 0)); +} + +IntVal* CoopVectorExpressionType::getElementCount() +{ + return as(_getGenericTypeArg(this, 1)); +} + +void CoopVectorExpressionType::_toTextOverride(StringBuilder& out) +{ + out << toSlice("CoopVector<") << getElementType() << toSlice(",") << getElementCount() + << toSlice(">"); +} + +BasicExpressionType* CoopVectorExpressionType::_getScalarTypeOverride() +{ + return as(getElementType()); +} + // !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! TypeType !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! void TypeType::_toTextOverride(StringBuilder& out) -- cgit v1.2.3