diff options
| author | Yong He <yonghe@outlook.com> | 2024-07-19 11:49:42 -0700 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2024-07-19 11:49:42 -0700 |
| commit | f114433debfba67cbe1db239b6e92278d41ed438 (patch) | |
| tree | 3a8ff78deb657d203c87bd22bc2ee83575e834f6 /tools/gfx/metal/metal-shader-object-layout.cpp | |
| parent | adf758c8c4032afcd96d995840bd697d2adef34c (diff) | |
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 <yhe@nvidia.com>
Diffstat (limited to 'tools/gfx/metal/metal-shader-object-layout.cpp')
| -rw-r--r-- | tools/gfx/metal/metal-shader-object-layout.cpp | 10 |
1 files changed, 10 insertions, 0 deletions
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, |
