From 7f8a9994d0bd99a171a1daa0bce46d92c02ccffd Mon Sep 17 00:00:00 2001 From: Yong He Date: Fri, 21 May 2021 16:38:33 -0700 Subject: [gfx] Support StructuredBuffer. (#1851) Co-authored-by: T. Foley --- tools/gfx-util/shader-cursor.cpp | 13 ++++++++++++- 1 file changed, 12 insertions(+), 1 deletion(-) (limited to 'tools/gfx-util/shader-cursor.cpp') diff --git a/tools/gfx-util/shader-cursor.cpp b/tools/gfx-util/shader-cursor.cpp index b188901ec..afb1540d5 100644 --- a/tools/gfx-util/shader-cursor.cpp +++ b/tools/gfx-util/shader-cursor.cpp @@ -144,7 +144,18 @@ Result ShaderCursor::getField(const char* name, const char* nameEnd, ShaderCurso ShaderCursor ShaderCursor::getElement(SlangInt index) const { - // TODO: need to auto-dereference various buffer types... + if (m_containerType != ShaderObjectContainerType::None) + { + ShaderCursor elementCursor; + elementCursor.m_baseObject = m_baseObject; + elementCursor.m_typeLayout = m_typeLayout->getElementTypeLayout(); + elementCursor.m_containerType = m_containerType; + elementCursor.m_offset.uniformOffset = index * m_typeLayout->getStride(); + elementCursor.m_offset.bindingRangeIndex = 0; + elementCursor.m_offset.bindingArrayIndex = index; + return elementCursor; + } + switch( m_typeLayout->getKind() ) { case slang::TypeReflection::Kind::Array: -- cgit v1.2.3