summaryrefslogtreecommitdiff
path: root/tools/gfx-util/shader-cursor.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'tools/gfx-util/shader-cursor.cpp')
-rw-r--r--tools/gfx-util/shader-cursor.cpp13
1 files changed, 13 insertions, 0 deletions
diff --git a/tools/gfx-util/shader-cursor.cpp b/tools/gfx-util/shader-cursor.cpp
index afb1540d5..efdde44b8 100644
--- a/tools/gfx-util/shader-cursor.cpp
+++ b/tools/gfx-util/shader-cursor.cpp
@@ -195,6 +195,19 @@ ShaderCursor ShaderCursor::getElement(SlangInt index) const
return fieldCursor;
}
break;
+
+ case slang::TypeReflection::Kind::Vector:
+ case slang::TypeReflection::Kind::Matrix:
+ {
+ ShaderCursor fieldCursor;
+ fieldCursor.m_baseObject = m_baseObject;
+ fieldCursor.m_typeLayout = m_typeLayout->getElementTypeLayout();
+ fieldCursor.m_offset.uniformOffset = m_offset.uniformOffset + m_typeLayout->getElementStride(SLANG_PARAMETER_CATEGORY_UNIFORM) * index;
+ fieldCursor.m_offset.bindingRangeIndex = m_offset.bindingRangeIndex;
+ fieldCursor.m_offset.bindingArrayIndex = m_offset.bindingArrayIndex;
+ return fieldCursor;
+ }
+ break;
}
return ShaderCursor();