From f114433debfba67cbe1db239b6e92278d41ed438 Mon Sep 17 00:00:00 2001 From: Yong He Date: Fri, 19 Jul 2024 11:49:42 -0700 Subject: Support parameter block in metal shader objects. (#4671) * Support parameter block in metal shader objects. * Ingore parameter block tests on devices without tier2 argument buffer. * Fix warning. * Fix texture subscript test. --------- Co-authored-by: Yong He --- tools/gfx/metal/metal-shader-object-layout.cpp | 10 ++++++++++ 1 file changed, 10 insertions(+) (limited to 'tools/gfx/metal/metal-shader-object-layout.cpp') diff --git a/tools/gfx/metal/metal-shader-object-layout.cpp b/tools/gfx/metal/metal-shader-object-layout.cpp index abde03b54..94bcb6db6 100644 --- a/tools/gfx/metal/metal-shader-object-layout.cpp +++ b/tools/gfx/metal/metal-shader-object-layout.cpp @@ -219,6 +219,16 @@ SlangResult ShaderObjectLayoutImpl::Builder::build(ShaderObjectLayoutImpl** outL return SLANG_OK; } +slang::TypeLayoutReflection* ShaderObjectLayoutImpl::getParameterBlockTypeLayout() +{ + if (!m_parameterBlockTypeLayout) + { + m_parameterBlockTypeLayout = m_slangSession->getTypeLayout( + m_elementTypeLayout->getType(), 0, slang::LayoutRules::MetalArgumentBufferTier2); + } + return m_parameterBlockTypeLayout; +} + Result ShaderObjectLayoutImpl::createForElementType( RendererBase* renderer, slang::ISession* session, -- cgit v1.2.3